SHA256
1
0
forked from pool/joe
joe/joe-sigiot.patch
2009-10-27 15:33:33 +00:00

40 lines
1.4 KiB
Diff

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);