bug#9860: 24.0.90; no auto-fill in c-mode when line begins with #
Alan Mackenzie <[email protected]> Sun, 15 Oct 2023 11:11:17 +0000
| Newsgroups | gmane.emacs.cc-mode.general |
|---|---|
| Message-ID | <ZSvI1aXdfpI04B83__8446.97774607397$1697368328$gmane$org@ACM> |
Hello, Peter. Thank you for taking the trouble to submit this bug report all these years ago, and sorry it's taken so long to attend to it. The problem was a simple coding error, checking for a macro before checking whether or not we were in a comment. Your line of "#bla bla ...." was thus handled as a macro, and by the default setting of `c-ignore-auto-file' didn't get filled. I have now fixed this in the Emacs master branch, which will be getting released as Emacs-30.1 maybe in a year's time. I'm closing the bug with this post. If you would like to try out the fix yourself, here is the patch, which needs to be applied in directory lisp/progmodes in the Emacs source tree. diff -r 0e6ebd732cbe cc-cmds.el --- a/cc-cmds.el Sat Oct 14 18:56:50 2023 +0000 +++ b/cc-cmds.el Sun Oct 15 10:41:42 2023 +0000 @@ -4887,7 +4887,8 @@ (setq c-lit-limits (c-literal-limits nil nil t))) (unless c-lit-type (setq c-lit-type (c-literal-type c-lit-limits))) - (if (memq (cond ((c-query-and-set-macro-start) 'cpp) + (if (memq (cond ((memq c-lit-type '(c c++ string)) c-lit-type) + ((c-query-and-set-macro-start) 'cpp) ((null c-lit-type) 'code) (t c-lit-type)) c-ignore-auto-fill) On Mon, Oct 24, 2011 at 21:33:08 +0200, Peter M=FCnster wrote: > Hello, > With latest bzr-emacs: > - emacs -Q > - open "foo.c" > - turn on auto-fill (M-x auto-fill-mode) > - write the following comment: > --8<---------------cut here---------------start------------->8--- > /* > #bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla bla = bla > --8<---------------cut here---------------end--------------->8--- > - result: auto-fill does not work here > In GNU Emacs 24.0.90.2 (x86_64-suse-linux-gnu, GTK+ Version 2.22.1) > of 2011-10-23 on micropit > Windowing system distributor `The X.Org Foundation', version 11.0.10903000 > configured using `configure '--without-toolkit-scroll-bars'' > Important settings: > value of $LC_ALL: nil > value of $LC_COLLATE: nil > value of $LC_CTYPE: en_GB.utf8 > value of $LC_MESSAGES: nil > value of $LC_MONETARY: nil > value of $LC_NUMERIC: nil > value of $LC_TIME: nil > value of $LANG: nil > value of $XMODIFIERS: @im=3Dlocal > locale-coding-system: utf-8-unix > default enable-multibyte-characters: t > -- = > Peter -- = Alan Mackenzie (Nuremberg, Germany).