summaryrefslogtreecommitdiff
path: root/Src/text.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2008-09-11 17:14:38 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2008-09-11 17:14:38 +0000
commitd37f9672cb2e29f7dd3b32c9164250d56549f4bc (patch)
treea3730f8eb050d58307ba5f27b417165aa15644c5 /Src/text.c
parentfb67cd46eafb1301844ed98f1c0e8d2cf8cbdee4 (diff)
downloadzsh-d37f9672cb2e29f7dd3b32c9164250d56549f4bc.tar.gz
zsh-d37f9672cb2e29f7dd3b32c9164250d56549f4bc.zip
25651: make getpermtext() output indentation more logical
Diffstat (limited to 'Src/text.c')
-rw-r--r--Src/text.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/Src/text.c b/Src/text.c
index eabb51268..074afe581 100644
--- a/Src/text.c
+++ b/Src/text.c
@@ -118,7 +118,7 @@ taddnl(void)
/**/
mod_export char *
-getpermtext(Eprog prog, Wordcode c)
+getpermtext(Eprog prog, Wordcode c, int start_indent)
{
struct estate s;
@@ -131,6 +131,7 @@ getpermtext(Eprog prog, Wordcode c)
s.pc = c;
s.strs = prog->strs;
+ tindent = start_indent;
tnewlins = 1;
tbuf = (char *)zalloc(tsiz = 32);
tptr = tbuf;
@@ -162,6 +163,7 @@ getjobtext(Eprog prog, Wordcode c)
s.pc = c;
s.strs = prog->strs;
+ tindent = 0;
tnewlins = 0;
tbuf = NULL;
tptr = jbuf;
@@ -245,16 +247,6 @@ gettext2(Estate state)
int stack = 0;
wordcode code;
- /*
- * Hack for parsing "simple" format of function definitions.
- * In this case there is no surrounding context so the initial
- * indent should be zero.
- */
- if (wc_code(*state->pc) == WC_FUNCDEF)
- tindent = 0;
- else
- tindent = 1;
-
while (1) {
if (stack) {
if (!(s = tstack))