mg: fix auto-indent-mode with custom tab widths
authorop <op@openbsd.org>
Mon, 8 Jul 2024 14:33:29 +0000 (14:33 +0000)
committerop <op@openbsd.org>
Mon, 8 Jul 2024 14:33:29 +0000 (14:33 +0000)
dointent() didn't know about set-tab-width so it was mis-indenting
the lines.  Diff from Mark Willson (mark dot willson at hydrus.org.uk),
with a tiny change by me.

usr.bin/mg/util.c

index dd42085..19b19a5 100644 (file)
@@ -1,4 +1,4 @@
-/*     $OpenBSD: util.c,v 1.50 2023/04/28 10:02:03 op Exp $    */
+/*     $OpenBSD: util.c,v 1.51 2024/07/08 14:33:29 op Exp $    */
 
 /* This file is in the public domain. */
 
@@ -354,9 +354,9 @@ doindent(int cols)
 
        if (curbp->b_flag & BFNOTAB)
                return (linsert(cols, ' '));
-       if ((n = cols / 8) != 0 && linsert(n, '\t') == FALSE)
+       if ((n = cols / curbp->b_tabw) != 0 && linsert(n, '\t') == FALSE)
                return (FALSE);
-       if ((n = cols % 8) != 0 && linsert(n, ' ') == FALSE)
+       if ((n = cols % curbp->b_tabw) != 0 && linsert(n, ' ') == FALSE)
                return (FALSE);
        return (TRUE);
 }