summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefan Kangas <stefankangas@gmail.com>2024-02-02 12:28:54 +0100
committerStefan Kangas <stefankangas@gmail.com>2024-02-02 13:33:35 +0100
commit72b1379f0795a5e2e9c57615c0b1d78c0b97cd1f (patch)
treec6554da237c86b8044bd2ead6a6a97f049dc1791
parentd89e427852a63dbeed3d5e03d9deb2ae9a8e3e1b (diff)
downloademacs-72b1379f0795a5e2e9c57615c0b1d78c0b97cd1f.tar.gz
Increase `emacs-lisp-docstring-fill-column` to 72
Monitors are wider now than when these defaults were first set, and it is useful to take better advantage of that, to fit text on fewer lines. Yet, it has repeatedly been shown that overly long lines reduce readability: "A reasonable guideline would be 55 to 75 characters per line."[1] We also don't want to disfavor narrow displays, like mobile phones; a more promising direction here might be to automatically word wrap docstrings and make their maximum width customizable. That might require a new docstring format, however. Bumping it by 7 characters, from 65 to 72, seems a reasonable compromise for now. Consideration was given to increasing it to 70 or 75, but 72 happens to be a commonly recommended maximum line width elsewhere (see Fortran 66, Python docstrings, commit message recommendations, etc.), and we might as well do the same. This change was discussed in: https://lists.gnu.org/r/emacs-devel/2022-07/msg00217.html [1] "Optimal Line Length in Reading — A Literature Review", Nanavati and Bias, Visible Language, Vol. 39 No. 2 (2005). https://journals.uc.edu/index.php/vl/article/view/5765 * lisp/emacs-lisp/lisp-mode.el (emacs-lisp-docstring-fill-column): * .dir-locals.el (fill-column, emacs-lisp-docstring-fill-column): Bump default to 72.
-rw-r--r--.dir-locals.el4
-rw-r--r--etc/NEWS5
-rw-r--r--lisp/emacs-lisp/lisp-mode.el5
3 files changed, 10 insertions, 4 deletions
diff --git a/.dir-locals.el b/.dir-locals.el
index ce7febca851..1f08c882e0b 100644
--- a/.dir-locals.el
+++ b/.dir-locals.el
@@ -3,8 +3,8 @@
((nil . ((tab-width . 8)
(sentence-end-double-space . t)
- (fill-column . 70)
- (emacs-lisp-docstring-fill-column . 65)
+ (fill-column . 72)
+ (emacs-lisp-docstring-fill-column . 72)
(vc-git-annotate-switches . "-w")
(bug-reference-url-format . "https://debbugs.gnu.org/%s")
(diff-add-log-use-relative-names . t)
diff --git a/etc/NEWS b/etc/NEWS
index 9bd4d0f631b..5b3d7dec8a6 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1170,6 +1170,11 @@ Previously, the '@' character, which normally has 'symbol' syntax,
would combine with a following Lisp symbol and interfere with symbol
searching.
+---
+*** 'emacs-lisp-docstring-fill-column' now defaults to 72.
+It was previously 65. The new default formats documentation strings to
+fit on fewer lines without negatively impacting readability.
+
** CPerl mode
---
diff --git a/lisp/emacs-lisp/lisp-mode.el b/lisp/emacs-lisp/lisp-mode.el
index ca207ff548d..ad0525e24be 100644
--- a/lisp/emacs-lisp/lisp-mode.el
+++ b/lisp/emacs-lisp/lisp-mode.el
@@ -1420,14 +1420,15 @@ A prefix argument specifies pretty-printing."
;;;; Lisp paragraph filling commands.
-(defcustom emacs-lisp-docstring-fill-column 65
+(defcustom emacs-lisp-docstring-fill-column 72
"Value of `fill-column' to use when filling a docstring.
Any non-integer value means do not use a different value of
`fill-column' when filling docstrings."
:type '(choice (integer)
(const :tag "Use the current `fill-column'" t))
:safe (lambda (x) (or (eq x t) (integerp x)))
- :group 'lisp)
+ :group 'lisp
+ :version "30.1")
(defun lisp-fill-paragraph (&optional justify)
"Like \\[fill-paragraph], but handle Emacs Lisp comments and docstrings.