From: Alex <agrambot@gmail.com>
To: martin rudalics <rudalics@gmx.at>
Cc: Lars Ingebrigtsen <larsi@gnus.org>, 24622@debbugs.gnu.org
Subject: bug#24622: 26.0.50; lisp-fill-paragraph broken
Date: Thu, 12 Oct 2017 20:23:01 -0600 [thread overview]
Message-ID: <877evziy62.fsf@gmail.com> (raw)
In-Reply-To: <57F536BC.7060306@gmx.at> (martin rudalics's message of "Wed, 05 Oct 2016 19:22:04 +0200")
[-- Attachment #1: Type: text/plain, Size: 813 bytes --]
martin rudalics <rudalics@gmx.at> writes:
> This commit
>
> commit 866e3c050fe64fee81f29a335a50a11b2562422e
> Author: Lars Ingebrigtsen <larsi@gnus.org>
> Date: Thu Apr 28 12:05:15 2016 +0200
>
> Don't consider colons to be paragraphs starting chars in strings
>
> * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Don't
> consider colons to start paragraphs in (doc) strings
> (bug#7751).
>
> breaks filling doc-strings of defcustoms. As an example consider the
> defcustom of ‘window-min-height’ in window.el:
I've included a diff below that appears to solve both bug#7751 and this
one, though I can't guarantee that it doesn't blow something else up.
Does anyone have any complaints?
In any case, I think this bug should be solved before 26.1 is released.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: paragraph --]
[-- Type: text/x-diff, Size: 1620 bytes --]
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index fd12635d85..93435e1b4b 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -1267,7 +1267,8 @@ lisp-fill-paragraph
;; case). The `;' and `:' stop the paragraph being filled at following
;; comment lines and at keywords (e.g., in `defcustom'). Left parens are
;; escaped to keep font-locking, filling, & paren matching in the source
- ;; file happy.
+ ;; file happy. The `:' must be preceded by whitespace so that keywords
+ ;; inside of the docstring don't start new paragraphs (Bug#7751).
;;
;; `paragraph-separate': A clever regexp distinguishes the first line of
;; a docstring and identifies it as a paragraph separator, so that it
@@ -1280,13 +1281,7 @@ lisp-fill-paragraph
;; `emacs-lisp-docstring-fill-column' if that value is an integer.
(let ((paragraph-start
(concat paragraph-start
- (format "\\|\\s-*\\([(;%s\"]\\|`(\\|#'(\\)"
- ;; If we're inside a string (like the doc
- ;; string), don't consider a colon to be
- ;; a paragraph-start character.
- (if (nth 3 (syntax-ppss))
- ""
- ":"))))
+ "\\|\\s-*\\([(;\"]\\|\\s-:\\|`(\\|#'(\\)"))
(paragraph-separate
(concat paragraph-separate "\\|\\s-*\".*[,\\.]$"))
(fill-column (if (and (integerp emacs-lisp-docstring-fill-column)
next prev parent reply other threads:[~2017-10-13 2:23 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-05 17:22 bug#24622: 26.0.50; lisp-fill-paragraph broken martin rudalics
2017-10-13 2:23 ` Alex [this message]
2017-10-14 8:35 ` martin rudalics
2017-10-21 8:11 ` Eli Zaretskii
2017-10-22 8:10 ` Alex
2017-10-22 14:15 ` Eli Zaretskii
2017-10-22 19:11 ` Alex
2017-10-23 8:05 ` martin rudalics
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
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=877evziy62.fsf@gmail.com \
--to=agrambot@gmail.com \
--cc=24622@debbugs.gnu.org \
--cc=larsi@gnus.org \
--cc=rudalics@gmx.at \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.