[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#13179: 24.2.90; fill-paragraph
From: |
Stefan Monnier |
Subject: |
bug#13179: 24.2.90; fill-paragraph |
Date: |
Wed, 30 Jan 2013 15:41:59 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux) |
> The expected behavior would be to keep looking like the first case with
> 4 space indentation.
Indeed.
> I have bisected the problem (with git) to this commit:
> Author: Stefan Monnier <monnier@iro.umontreal.ca>
> Date: Wed Sep 8 18:21:23 2010 +0200
> Misc cleanups and simplifications.
The problem was kind of nasty (disappears when you step through the
code, because it gets fixed by font-lock), but even now that
I understand clearly what was the problem, I don't see how it is related
to the above changes (maybe by setting parse-sexp-lookup-properties).
In any case, I've installed the patch below which should fix the problem
(maybe it should be fixed more generally in fill.el or in
back-to-indentation).
Stefan
--- lisp/progmodes/make-mode.el 2013-01-01 09:11:05 +0000
+++ lisp/progmodes/make-mode.el 2013-01-30 20:38:09 +0000
@@ -1307,6 +1307,12 @@
(save-restriction
(narrow-to-region beginning end)
(makefile-backslash-region (point-min) (point-max) t)
+ ;; Backslashed newlines are marked as puncutations, so when
+ ;; fill-delete-newlines turns the LF into SPC, we end up with spaces
+ ;; which back-to-indentation (called via fill-newline ->
+ ;; fill-indent-to-left-margin -> indent-line-to) thinks are real code
+ ;; (bug#13179).
+ (remove-text-properties (point-min) (point-max) '(syntax-table))
(let ((fill-paragraph-function nil)
;; Adjust fill-column to allow space for the backslash.
(fill-column (- fill-column 1)))