about summary refs log tree commit diff
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.tar.xz
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))