File joe-sigiot.patch of Package joe

Index: uformat.c
===================================================================
--- uformat.c.orig	2008-10-28 05:13:56.000000000 +0100
+++ uformat.c	2009-10-26 18:13:08.726241696 +0100
@@ -361,9 +361,10 @@ void wrapword(BW *bw, P *p, long int ind
 			if (!bw->o.autoindent) {
 				/* Don't indent second line of single-line paragraphs if autoindent is off */
 				int x = zlen(indents);
+				int start = x;
 				while (x && (indents[x - 1] == ' ' || indents[x - 1] == '\t'))
 					indents[--x] = 0;
-				if (x) {
+				if (x < start) {
 					indents[x++] = ' ';
 					indents[x] = 0;
 				}
@@ -430,7 +431,7 @@ void wrapword(BW *bw, P *p, long int ind
 	if (!pisbol(p) && piscol(p) > indent) {
 		/* Move q to two (or one if 'french' is set) spaces after end of previous
 		   word */
-		q = pdup(p, USTR "wrapword");
+		q = pdup(p, USTR "wrapword;");
 		while (!pisbol(q))
 			if (!joe_isblank(p->b->o.charmap, (c = prgetc(q)))) {
 				pgetc(q);
@@ -564,10 +565,12 @@ int uformat(BW *bw)
 		if (!bw->o.autoindent) {
 			/* Don't indent second line of single-line paragraphs if autoindent is off */
 			int x = zlen(indents);
+			int start = x;
 			while (x && (indents[x - 1] == ' ' || indents[x - 1] == '\t'))
 				indents[--x] = 0;
 			if (x) {
-				indents[x++] = ' ';
+				if(x < start)
+					indents[x++] = ' ';
 				indents[x] = 0;
 			}
 			indent = txtwidth1(bw->o.charmap, bw->o.tab, indents, x);
openSUSE Build Service is sponsored by