From: Stefan Guath <stefan@automata.se>
To: 31656@debbugs.gnu.org
Subject: bug#31656: 26.1; `fill-paragraph' malformats in emacs-lisp-mode
Date: Wed, 30 May 2018 14:50:01 +0200 [thread overview]
Message-ID: <CAD__r--oG2Sw6kDBLxGpyv0yT0DeLkOsGy0p7b9q21_1_ksTSA@mail.gmail.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 2032 bytes --]
VERSION
GNU Emacs 26.1 (build 1, x86_64-apple-darwin14.5.0, NS appkit-1348.17
Version 10.10.5 (Build 14F2511)) of 2018-05-28
DESCRIPTION
`emacs-lisp-docstring-fill-column' shadows `fill-column' in too many cases
in emacs-lisp-mode. The documentation of `emacs-lisp-docstring-fill-column'
states: "Value of ‘fill-column’ to use when filling a docstring". But it
incorrectly seems to be used in a lot more cases than just in a docstring
(the only case that I've found where ‘fill-column’ is actually respected is
within comments). A work-around is to set
`emacs-lisp-docstring-fill-column' to nil, but it would be nice to have it
working properly instead.
I might be missing something, but think the incorrect behavior is to be
found in `lisp-fill-paragraph' that is invoked by `fill-paragraph' through
`fill-paragraph-function'. It seems like `lisp-fill-paragraph'
unconditionally sets `fill-column' to `emacs-lisp-docstring-fill-column'
without checking whether point is within a doc string first. The only
requirements for enable shadowing currently seems to be "(and (integerp
emacs-lisp-docstring-fill-column) (derived-mode-p 'emacs-lisp-mode))",
which doesn't seems sufficient.
TO REPRODUCE
* emacs -q
* C-x b <return> (i.e. switch to *scratch* buffer)
* M-x emacs-lisp-mode
* M-x column-number-mode (optional)
* (setq fill-column 80) ;used by `fill-paragraph'
* (setq emacs-lisp-docstring-fill-column 40) ;should override `fill-column'
in doc strings only!
* Paste in the line "word00 word01 word02 word03 word04 word05 word06
word07 word08 word09 word10 word11" (i.e. 12 words, 83 chars)
* M-x fill-paragraph (with point on pasted line above)
* The value of `emacs-lisp-docstring-fill-column' (40) is incorrectly used
when formatting. The value of `fill-column' (80) should have been used
instead, since the point is not in a doc string.
Note that the default value of `emacs-lisp-docstring-fill-column' is 65
(rather than nil), so this malformatting is enabled by default.
[-- Attachment #2: Type: text/html, Size: 2391 bytes --]
next reply other threads:[~2018-05-30 12:50 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-05-30 12:50 Stefan Guath [this message]
2018-06-01 9:20 ` bug#31656: 26.1; `fill-paragraph' malformats in emacs-lisp-mode Eli Zaretskii
2018-06-01 9:39 ` Noam Postavsky
2018-06-01 10:36 ` Stefan Guath
2018-06-01 12:52 ` Eli Zaretskii
2018-06-01 14:34 ` Stefan Guath
2018-06-01 15:10 ` Eli Zaretskii
2018-06-01 12:43 ` Eli Zaretskii
2018-06-02 1:45 ` Noam Postavsky
2018-06-02 6:41 ` Eli Zaretskii
2018-06-02 13:07 ` Noam Postavsky
2018-06-02 13:25 ` martin rudalics
2018-06-02 13:34 ` Noam Postavsky
2018-06-02 14:09 ` Eli Zaretskii
2018-06-03 12:51 ` Stefan Guath
2020-08-22 15:23 ` Lars Ingebrigtsen
2022-04-13 3:06 ` Lars Ingebrigtsen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAD__r--oG2Sw6kDBLxGpyv0yT0DeLkOsGy0p7b9q21_1_ksTSA@mail.gmail.com \
--to=stefan@automata.se \
--cc=31656@debbugs.gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).