* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 @ 2022-06-24 16:17 Maxim Cournoyer 2022-06-25 11:53 ` Lars Ingebrigtsen 0 siblings, 1 reply; 22+ messages in thread From: Maxim Cournoyer @ 2022-06-24 16:17 UTC (permalink / raw) To: 56197 Hi, After updating from Emacs 27 to Emacs 28 via GNU Guix, I noticed the following change in behavior while attempting to indent a blob of text in a Guix package definition (Scheme source): ;; Emacs 27 (description "IBus-Anthy is an engine for the input bus \"IBus\"). It adds the Anthy Japanese language input method to IBus. Because most graphical applications allow text input via IBus, installing this package will enable Japanese language input in most graphical applications.") ;; Emacs 28 (description "IBus-Anthy is an engine for the input bus \"IBus\"). It adds the Anthy Japanese language input method to IBus. Because most graphical applications allow text input via IBus, installing this package will enable Japanese language input in most graphical applications.") I traced it down to commit 9bf367e1848: Improve filling of Emacs Lisp doc strings * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): When filling a Lisp string, try to avoid filling bits that follow it (bug#28937). Simply commenting out the newly added block, evaluating the defun and running it on my example reverts to the previous correct behavior. Thanks, Maxim --- In GNU Emacs 28.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.30, cairo version 1.16.0) Windowing system distributor 'The X.Org Foundation', version 11.0.12101002 System Description: Guix System Configured using: 'configure CONFIG_SHELL=/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash SHELL=/gnu/store/4y5m9lb8k3qkb1y9m02sw9w9a6hacd16-bash-minimal-5.1.8/bin/bash --prefix=/gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1 --enable-fast-install --with-modules --with-cairo --disable-build-details' Configured features: ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG JSON LIBOTF LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11 XDBE XIM XPM GTK3 ZLIB Important settings: value of $EMACSLOADPATH: /home/maxim/.guix-profile/share/emacs/site-lisp:/gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp value of $LANG: en_US.utf8 value of $XMODIFIERS: @im=ibus locale-coding-system: utf-8-unix Major mode: Debbugs Minor modes in effect: TeX-PDF-mode: t global-git-commit-mode: t magit-auto-revert-mode: t pyvenv-mode: t shell-dirtrack-mode: t yas-global-mode: t yas-minor-mode: t emms-mode-line-mode: t emms-playing-time-display-mode: t emms-playing-time-mode: t ws-butler-global-mode: t ws-butler-mode: t counsel-mode: t ivy-mode: t global-so-long-mode: t recentf-mode: t global-company-mode: t company-mode: t electric-pair-mode: t savehist-mode: t winner-mode: t display-time-mode: t global-eldoc-mode: t show-paren-mode: t electric-indent-mode: t mouse-wheel-mode: t menu-bar-mode: t file-name-shadow-mode: t global-font-lock-mode: t font-lock-mode: t blink-cursor-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t buffer-read-only: t size-indication-mode: t column-number-mode: t line-number-mode: t transient-mark-mode: t Load-path shadows: ~/.emacs.d/elisp/logview hides /gnu/store/bcbypx424n5xa6xlzlgz6zb3p6acpdcw-emacs-logview-0.14/share/emacs/site-lisp/logview-0.14/logview /gnu/store/wy0d51sns5ivqqxrrcrw5ycg4qqdjcza-emacs-transient-0.3.7/share/emacs/site-lisp/transient-0.3.7/transient hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/transient /gnu/store/r8vl0prsvj60c341il66ncavg0mvh9wc-emacs-xref-1.4.1/share/emacs/site-lisp/xref-1.4.1/xref hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/progmodes/xref /gnu/store/3nqi6i7lhwd972y9w3xvswjz01v346gp-emacs-project-0.8.1/share/emacs/site-lisp/project-0.8.1/project hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/progmodes/project /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ox-texinfo hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ox-texinfo /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ox hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ox /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ox-publish hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ox-publish /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ox-org hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ox-org /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ox-odt hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ox-odt /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ox-md hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ox-md /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ox-man hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ox-man /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ox-latex hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ox-latex /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ox-koma-letter hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ox-koma-letter /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ox-icalendar hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ox-icalendar /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ox-html hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ox-html /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ox-beamer hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ox-beamer /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ox-ascii hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ox-ascii /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-timer hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-timer /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-table hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-table /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-src hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-src /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-refile hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-refile /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-protocol hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-protocol /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-plot hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-plot /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-pcomplete hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-pcomplete /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-num hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-num /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-mouse hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-mouse /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-mobile hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-mobile /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-macs hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-macs /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-macro hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-macro /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-loaddefs hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-loaddefs /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-list hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-list /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-lint hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-lint /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-keys hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-keys /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-inlinetask hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-inlinetask /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-indent hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-indent /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-id hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-id /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-habit hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-habit /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-footnote hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-footnote /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-goto hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-goto /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-feed hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-feed /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-faces hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-faces /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-entities hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-entities /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-element hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-element /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-duration hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-duration /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-ctags hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-ctags /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-compat hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-compat /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-colview hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-colview /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-clock hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-clock /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-capture hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-capture /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-attach hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-attach /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-archive hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-archive /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-agenda hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-agenda /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ol hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ol /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ol-bibtex hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ol-bibtex /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ol-bbdb hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ol-bbdb /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/oc hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/oc /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/oc-csl hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/oc-csl /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/oc-basic hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/oc-basic /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-tangle hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-tangle /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-sql hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-sql /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-shell hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-shell /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-ruby hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-ruby /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-python hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-python /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-octave hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-octave /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-lua hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-lua /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-lilypond hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-lilypond /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-julia hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-julia /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-java hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-java /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-haskell hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-haskell /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-gnuplot hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-gnuplot /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-exp hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-exp /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-core hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-core /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-comint hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-comint /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-R hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-R /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-C hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-C /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-tempo hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-tempo /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-version hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-version /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-install hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-install /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-datetree hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-datetree /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-crypt hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-crypt /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/org-attach-git hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/org-attach-git /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ol-w3m hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ol-w3m /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ol-rmail hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ol-rmail /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ol-mhe hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ol-mhe /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ol-man hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ol-man /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ol-irc hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ol-irc /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ol-info hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ol-info /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ol-gnus hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ol-gnus /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ol-eww hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ol-eww /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ol-eshell hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ol-eshell /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ol-doi hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ol-doi /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ol-docview hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ol-docview /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/oc-natbib hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/oc-natbib /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/oc-biblatex hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/oc-biblatex /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-table hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-table /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-sqlite hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-sqlite /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-screen hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-screen /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-sed hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-sed /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-scheme hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-scheme /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-sass hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-sass /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-ref hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-ref /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-processing hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-processing /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-plantuml hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-plantuml /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-perl hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-perl /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-org hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-org /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-ocaml hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-ocaml /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-maxima hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-maxima /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-matlab hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-matlab /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-makefile hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-makefile /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-lob hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-lob /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-lisp hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-lisp /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-latex hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-latex /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-js hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-js /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-groovy hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-groovy /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-fortran hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-fortran /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-forth hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-forth /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-eval hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-eval /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-eshell hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-eshell /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-dot hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-dot /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-emacs-lisp hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-emacs-lisp /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-ditaa hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-ditaa /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-css hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-css /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-clojure hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-clojure /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-calc hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-calc /gnu/store/fw7xksf83zqxpsvpxmq1li3sc1qiwfsq-emacs-org-9.5.3/share/emacs/site-lisp/org-9.5.3/ob-awk hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/org/ob-awk /gnu/store/rpih6axr0g2sv1yz2q7gjby4df82wb47-emacs-soap-client-3.2.1/share/emacs/site-lisp/soap-client-3.2.1/soap-inspect hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/net/soap-inspect /gnu/store/rpih6axr0g2sv1yz2q7gjby4df82wb47-emacs-soap-client-3.2.1/share/emacs/site-lisp/soap-client-3.2.1/soap-client hides /gnu/store/q6x17s6zcgv52sdz3gh69b7g0d9712z8-emacs-28.1/share/emacs/28.1/lisp/net/soap-client Features: (shadow emacsbug whitespace elp edebug backtrace apropos gnus-kill perl-mode tramp-archive tramp-gvfs rst robot-mode align rect json-mode json-snatcher pulse nroff-mode markdown-mode php-mode mode-local cc-langs php-face php php-project projectile lisp-mnt ibuf-ext ibuffer ibuffer-loaddefs find-dired rng-cmpct rng-nxml rng-valid nxml-mode nxml-outln nxml-rap cus-start cl-print shortdoc nix-mode nix-repl nix-shell nix-store nix-instantiate nix-shebang nix-format nix log-view vc-annotate woman man novice font-latex plain-tex tex-buf latex latex-flymake tex-ispell tex-style tex-mode latexenc logview datetime extmap conf-mode time-stamp dabbrev sh-script executable ggtags mhtml-mode css-mode smie js cc-mode cc-fonts cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs sgml-mode facemenu tramp-cache tramp-adb arc-mode archive-mode magit-patch magit-subtree magit-ediff ediff ediff-merg ediff-mult ediff-wind ediff-diff ediff-help ediff-init ediff-util guix-build-log guix-scheme tex-info tex texmathp texinfo texinfo-loaddefs nndoc gnus-dup url-cache git-rebase bash-completion magit-gitignore autoconf autoconf-mode cal-move make-mode vc-mtn vc-hg vc-bzr vc-src vc-sccs vc-svn vc-cvs vc-rcs goto-addr bug-reference vc-git magit-extras copyright face-remap magit-bookmark magit-submodule magit-obsolete magit-popup magit-blame magit-stash magit-reflog magit-bisect magit-push magit-pull magit-fetch magit-clone magit-remote magit-commit magit-sequence magit-notes magit-worktree magit-tag magit-merge magit-branch magit-reset magit-files magit-refs magit-status magit magit-repos magit-apply magit-wip magit-log which-func imenu magit-diff smerge-mode diff git-commit log-edit pcvs-util magit-core magit-autorevert autorevert filenotify magit-margin magit-transient magit-process with-editor magit-mode magit-git magit-section magit-utils dired-aux gnus-dired misearch multi-isearch flow-fill guix-devel edit-indirect guix-misc guix-ui guix-ui-messages bui bui-list bui-info bui-entry bui-core bui-history bui-button guix-read guix-help-vars guix-repl guix-profiles guix-external guix-config guix-build-config guix-geiser geiser-mode geiser-xref guix-guile geiser-guile info-look info geiser geiser-repl geiser-compile geiser-debug transient geiser-image geiser-company geiser-doc geiser-menu geiser-edit geiser-completion geiser-autodoc geiser-eval geiser-connection geiser-syntax geiser-impl geiser-log geiser-popup view geiser-custom geiser-base guix-utils guix bui-utils dash scheme ol-eww eww url-queue mm-url ol-rmail ol-mhe ol-irc ol-info ol-gnus nnselect gnus-search eieio-opt speedbar ezimage dframe ol-docview ol-bibtex ol-bbdb ol-w3m ol-doi org-link-doi mule-util smtpmail mailalias sendmail bbdb-com crm bbdb bbdb-site smiley gnus-cite mm-archive mail-extr gnus-async gnus-bcklg qp gnus-ml disp-table nndraft nnmh utf-7 epa-file gnutls network-stream nnnil gnus-agent gnus-srvr gnus-score score-mode nnvirtual gnus-msg gnus-art mm-uu mml2015 mm-view mml-smime smime dig nntp gnus-cache gnus-sum shr kinsoku svg dom gnus-group gnus-undo gnus-start gnus-dbus dbus gnus-cloud nnimap nnmail mail-source utf7 netrc nnoo gnus-spec gnus-int gnus-range message rfc822 mml mml-sec mailabbrev gmm-utils mailheader gnus-win gnus nnheader gnus-util rmail rmail-loaddefs mail-utils bookmark server paredit diff-hl vc-dir ewoc vc vc-dispatcher flyspell ispell company-oddmuse company-keywords company-etags company-gtags company-dabbrev-code company-dabbrev company-files company-cmake company-xcode company-clang company-semantic company-eclim company-template company-bbdb htmlize ox-reveal ox-odt rng-loc rng-uri rng-parse rng-match rng-pttrn nxml-parse nxml-ns nxml-enc xmltok nxml-util ox-latex ox-icalendar org-agenda org-refile ox-html table ox-ascii ox-publish ox org-element avl-tree dired-x w3m doc-view jka-compr image-mode exif timezone w3m-hist w3m-fb bookmark-w3m w3m-ems w3m-favicon w3m-image tab-line w3m-proc w3m-util highlight-indentation flymake-proc flymake company-capf help-fns radix-tree elpy elpy-rpc pyvenv eshell esh-cmd esh-ext esh-opt esh-proc esh-io esh-arg esh-module esh-groups esh-util elpy-shell elpy-profile elpy-django s elpy-refactor diff-mode python tramp-sh tramp tramp-loaddefs trampver tramp-integration tramp-compat shell parse-time ls-lisp ido hideshow files-x etags fileloop generator cus-edit pp yasnippet-snippets yasnippet ffap debbugs-gnu add-log debbugs-compat debbugs soap-client mm-decode mm-bodies mm-encode url-http url-auth mail-parse rfc2231 rfc2047 rfc2045 mm-util ietf-drums mail-prsvr url-gw nsm rmc puny warnings rng-xsd rng-dt rng-util xsd-regexp emms-librefm-stream xml emms-librefm-scrobbler emms-playlist-limit emms-i18n emms-history emms-score emms-stream-info emms-metaplaylist-mode emms-bookmarks emms-cue emms-mode-line-icon emms-browser sort emms-volume emms-volume-sndioctl emms-volume-mixerctl emms-volume-pulse emms-volume-amixer emms-playlist-sort emms-last-played emms-player-xine emms-player-mpd tq emms-lyrics emms-url emms-streams emms-show-all emms-tag-editor emms-tag-tracktag emms-mode-line emms-cache emms-info-native bindat emms-info-exiftool emms-info-tinytag emms-info-opusinfo emms-info-ogginfo emms-info-mp3info emms-player-vlc emms-player-mpv emms-playing-time emms-player-mplayer emms-player-simple emms-playlist-mode emms-source-playlist emms-source-file thingatpt locate emms-mark emms-setup emms-info-metaflac emms-info emms-later-do emms emms-compat cal-china lunar solar cal-dst cal-bahai cal-islam cal-hebrew holidays hol-loaddefs appt diary-lib diary-loaddefs string-inflection org-clock org-tempo org ob ob-tangle ob-ref ob-lob ob-table ob-exp org-macro org-footnote org-src ob-comint org-pcomplete pcomplete org-list org-faces org-entities noutline outline org-version ob-emacs-lisp ob-core ob-eval org-table oc-basic bibtex iso8601 time-date ol org-keys oc org-compat org-macs org-loaddefs format-spec find-func cal-menu calendar cal-loaddefs tempo ws-butler epa derived epg rfc6068 epg-config grep-a-lot grep counsel xdg advice xref project dired dired-loaddefs compile text-property-search comint ansi-color swiper cl-extra help-mode ivy delsel ivy-faces ivy-overlay colir color easy-mmode robot-log-autoloads robot-log so-long recentf tree-widget wid-edit company edmacro kmacro pcase elec-pair savehist winner ring time cus-load feature-mode-autoloads clang-rename-autoloads clang-format-autoloads markup-faces-autoloads adoc-mode-autoloads yasnippet-snippets-autoloads yaml-mode-autoloads ws-butler-autoloads w3m-load string-inflection-autoloads sr-speedbar-autoloads rust-mode-autoloads rpm-spec-mode-autoloads robot-mode-autoloads loc-changes-autoloads load-relative-autoloads realgud-autoloads realgud-recursive-autoloads qml-mode-autoloads tablist-autoloads pdf-tools-autoloads epl-autoloads pkg-info-autoloads projectile-autoloads php-mode-autoloads paredit-autoloads org-reveal-autoloads org-autoloads mmm-mode-autoloads json-snatcher-autoloads json-mode-autoloads nix-mode-autoloads markdown-mode-autoloads async-autoloads with-editor-autoloads magit-autoloads extmap-autoloads datetime-autoloads logview-autoloads jenkinsfile-mode-autoloads htmlize-autoloads magit-popup-autoloads geiser-guile-autoloads transient-autoloads xref-autoloads project-autoloads geiser-autoloads edit-indirect-autoloads bui-autoloads guix-autoloads rx dash-autoloads groovy-modes-autoloads grep-a-lot-autoloads go-mode-autoloads xpm-autoloads ascii-art-to-unicode-autoloads gnugo-autoloads ggtags-autoloads emms-autoloads s-autoloads pyvenv-autoloads yasnippet-autoloads highlight-indentation-autoloads find-file-in-project-autoloads elpy-autoloads el-mock-autoloads diff-hl-autoloads soap-client-autoloads debbugs-autoloads csv-mode-autoloads counsel-bbdb-autoloads hydra-autoloads ivy-autoloads swiper-autoloads counsel-autoloads pos-tip-autoloads company-quickhelp-autoloads company-autoloads cmake-mode-autoloads bbdb-autoloads bash-completion-autoloads auctex-autoloads tex-site guix-emacs package browse-url url url-proxy url-privacy url-expand url-methods url-history url-cookie url-domsuf url-util mailcap url-handlers url-parse auth-source cl-seq eieio eieio-core cl-macs eieio-loaddefs password-cache json subr-x map url-vars seq byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib iso-transl tooltip eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe tabulated-list replace newcomment text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax font-core term/tty-colors frame minibuffer cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese composite emoji-zwj charscript charprop case-table epa-hook jka-cmpr-hook help simple abbrev obarray cl-preloaded nadvice button loaddefs faces cus-face macroexp files window text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote threads dbusbind inotify dynamic-setting system-font-setting font-render-setting cairo move-toolbar gtk x-toolkit x multi-tty make-network-process emacs) Memory information: ((conses 16 5047295 585780) (symbols 48 76444 4) (strings 32 532649 231222) (string-bytes 1 19695544) (vectors 16 216067) (vector-slots 8 3662568 496790) (floats 8 6626 1776) (intervals 56 446059 14706) (buffers 992 580)) ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2022-06-24 16:17 bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 Maxim Cournoyer @ 2022-06-25 11:53 ` Lars Ingebrigtsen 2022-06-25 12:42 ` Eli Zaretskii 2022-06-27 1:53 ` Maxim Cournoyer 0 siblings, 2 replies; 22+ messages in thread From: Lars Ingebrigtsen @ 2022-06-25 11:53 UTC (permalink / raw) To: Maxim Cournoyer; +Cc: 56197 Maxim Cournoyer <maxim.cournoyer@gmail.com> writes: > ;; Emacs 28 > (description "IBus-Anthy is an engine for the input bus \"IBus\"). It adds the Anthy > Japanese language input method to IBus. Because most graphical applications > allow text input via IBus, installing this package will enable Japanese > language input in most graphical applications.") [...] > Simply commenting out the newly added block, evaluating the defun and > running it on my example reverts to the previous correct behavior. I'm not sure the previous behaviour was any more correct. It's now filling that string as if it, well, is a string, so that if you insert it somewhere, the lines have similar lengths. The previous behaviour was to fill "what you see in the buffer", which is wrong in most contexts. So I don't know. Anybody have an opinion? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2022-06-25 11:53 ` Lars Ingebrigtsen @ 2022-06-25 12:42 ` Eli Zaretskii 2022-06-25 12:45 ` Lars Ingebrigtsen 2022-06-27 1:53 ` Maxim Cournoyer 1 sibling, 1 reply; 22+ messages in thread From: Eli Zaretskii @ 2022-06-25 12:42 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: 56197, maxim.cournoyer > Cc: 56197@debbugs.gnu.org > From: Lars Ingebrigtsen <larsi@gnus.org> > Date: Sat, 25 Jun 2022 13:53:44 +0200 > > Maxim Cournoyer <maxim.cournoyer@gmail.com> writes: > > > ;; Emacs 28 > > (description "IBus-Anthy is an engine for the input bus \"IBus\"). It adds the Anthy > > Japanese language input method to IBus. Because most graphical applications > > allow text input via IBus, installing this package will enable Japanese > > language input in most graphical applications.") > > [...] > > > Simply commenting out the newly added block, evaluating the defun and > > running it on my example reverts to the previous correct behavior. > > I'm not sure the previous behaviour was any more correct. It's now > filling that string as if it, well, is a string, so that if you insert > it somewhere, the lines have similar lengths. The previous behaviour > was to fill "what you see in the buffer", which is wrong in most > contexts. > > So I don't know. Anybody have an opinion? I actually don't understand what kind of "Lisp code" is the above snippet. It doesn't look to me as valid Lisp code. So there's no criteria for judging the correctness here, it seems. ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2022-06-25 12:42 ` Eli Zaretskii @ 2022-06-25 12:45 ` Lars Ingebrigtsen 2022-06-25 12:48 ` Lars Ingebrigtsen 0 siblings, 1 reply; 22+ messages in thread From: Lars Ingebrigtsen @ 2022-06-25 12:45 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 56197, maxim.cournoyer Eli Zaretskii <eliz@gnu.org> writes: > I actually don't understand what kind of "Lisp code" is the above > snippet. It doesn't look to me as valid Lisp code. So there's no > criteria for judging the correctness here, it seems. It's just (foo "... very long multiline string"). I was also confused, because the string looked very odd -- it has a ) inside the string, but no (, but that's not really relevant. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2022-06-25 12:45 ` Lars Ingebrigtsen @ 2022-06-25 12:48 ` Lars Ingebrigtsen 2022-06-25 13:00 ` Lars Ingebrigtsen 0 siblings, 1 reply; 22+ messages in thread From: Lars Ingebrigtsen @ 2022-06-25 12:48 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 56197, maxim.cournoyer Lars Ingebrigtsen <larsi@gnus.org> writes: > It's just (foo "... very long multiline string"). I was also confused, > because the string looked very odd -- it has a ) inside the string, but > no (, but that's not really relevant. Oh, hang on -- there definitely is a bug here. Here's a better test case: (foo-bar-zot-foo-bar-zot-foo-bar-zot-foo-bar-zot-foo-bar-zot "This is a very long line This is a very long line This is a very long line This is a very long line This is a very long line. And another long line.") `M-q' in the first line does nothing, and it should. I'll have a look. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2022-06-25 12:48 ` Lars Ingebrigtsen @ 2022-06-25 13:00 ` Lars Ingebrigtsen 2022-06-29 18:03 ` Stefan Kangas 0 siblings, 1 reply; 22+ messages in thread From: Lars Ingebrigtsen @ 2022-06-25 13:00 UTC (permalink / raw) To: Eli Zaretskii; +Cc: 56197, maxim.cournoyer Lars Ingebrigtsen <larsi@gnus.org> writes: > `M-q' in the first line does nothing, and it should. I'll have a look. I've now fixed that, but the question still remains -- should (foo-bar-zot-foo-bar-zot-foo-bar-zot-foo-bar-zot-foo-bar-zot "This is a very long line This is a very long line This is a very long line This") be filled as (foo-bar-zot-foo-bar-zot-foo-bar-zot-foo-bar-zot-foo-bar-zot "This is a very long line This is a very long line This is a very long line This") (i.e., fill the string using fill-column, or (foo-bar-zot-foo-bar-zot-foo-bar-zot-foo-bar-zot-foo-bar-zot "This is a very long line This is a very long line This is a very long line This") (i.e., fill the text as is in the buffer). -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2022-06-25 13:00 ` Lars Ingebrigtsen @ 2022-06-29 18:03 ` Stefan Kangas 2022-06-30 9:32 ` Lars Ingebrigtsen 2024-12-25 20:15 ` Felix Lechner via Bug reports for GNU Emacs, the Swiss army knife of text editors 0 siblings, 2 replies; 22+ messages in thread From: Stefan Kangas @ 2022-06-29 18:03 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: Eli Zaretskii, 56197, maxim.cournoyer Lars Ingebrigtsen <larsi@gnus.org> writes: > I've now fixed that, but the question still remains -- should > > (foo-bar-zot-foo-bar-zot-foo-bar-zot-foo-bar-zot-foo-bar-zot "This is a very long line This is a very long line This is a very long line This") > > be filled as > > (foo-bar-zot-foo-bar-zot-foo-bar-zot-foo-bar-zot-foo-bar-zot "This is a very long line This is a very long line This is a very > long line This") > > (i.e., fill the string using fill-column, or > > (foo-bar-zot-foo-bar-zot-foo-bar-zot-foo-bar-zot-foo-bar-zot "This is a > very long line This is a very long line This is a very long line This") > > (i.e., fill the text as is in the buffer). The former sounds more useful, IMO. I don't want to mess up my strings just to have pretty source code; I can make such adjustments manually when I need to. ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2022-06-29 18:03 ` Stefan Kangas @ 2022-06-30 9:32 ` Lars Ingebrigtsen 2022-06-30 9:33 ` Lars Ingebrigtsen 2022-06-30 11:31 ` Maxim Cournoyer 2024-12-25 20:15 ` Felix Lechner via Bug reports for GNU Emacs, the Swiss army knife of text editors 1 sibling, 2 replies; 22+ messages in thread From: Lars Ingebrigtsen @ 2022-06-30 9:32 UTC (permalink / raw) To: Stefan Kangas; +Cc: Eli Zaretskii, 56197, maxim.cournoyer Stefan Kangas <stefan@marxist.se> writes: > The former sounds more useful, IMO. I don't want to mess up my strings > just to have pretty source code; I can make such adjustments manually > when I need to. So the votes are in, and I guess we'll keep the current behaviour in Emacs 29, and I'm therefore closing this bug report. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2022-06-30 9:32 ` Lars Ingebrigtsen @ 2022-06-30 9:33 ` Lars Ingebrigtsen 2024-12-26 15:16 ` Stefan Kangas 2022-06-30 11:31 ` Maxim Cournoyer 1 sibling, 1 reply; 22+ messages in thread From: Lars Ingebrigtsen @ 2022-06-30 9:33 UTC (permalink / raw) To: Stefan Kangas; +Cc: Eli Zaretskii, 56197, maxim.cournoyer Lars Ingebrigtsen <larsi@gnus.org> writes: > So the votes are in, and I guess we'll keep the current behaviour in > Emacs 29, and I'm therefore closing this bug report. Or -- perhaps it should be backported to Emacs 28 -- but not right now, since the release is impending. So I'll keep this open until after Emacs 28.2, I think. -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2022-06-30 9:33 ` Lars Ingebrigtsen @ 2024-12-26 15:16 ` Stefan Kangas 2024-12-28 5:52 ` Maxim Cournoyer 0 siblings, 1 reply; 22+ messages in thread From: Stefan Kangas @ 2024-12-26 15:16 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: Eli Zaretskii, maxim.cournoyer, 56197-done Lars Ingebrigtsen <larsi@gnus.org> writes: > Lars Ingebrigtsen <larsi@gnus.org> writes: > >> So the votes are in, and I guess we'll keep the current behaviour in >> Emacs 29, and I'm therefore closing this bug report. > > Or -- perhaps it should be backported to Emacs 28 -- but not right now, > since the release is impending. So I'll keep this open until after > Emacs 28.2, I think. Emacs 28 was released on 2022-04-04, so I'm closing this bug now. ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2024-12-26 15:16 ` Stefan Kangas @ 2024-12-28 5:52 ` Maxim Cournoyer 2024-12-28 8:47 ` Eli Zaretskii 2024-12-28 8:52 ` Stefan Kangas 0 siblings, 2 replies; 22+ messages in thread From: Maxim Cournoyer @ 2024-12-28 5:52 UTC (permalink / raw) To: Stefan Kangas; +Cc: Lars Ingebrigtsen, Eli Zaretskii, 56197-done Hi Stefan, Stefan Kangas <stefankangas@gmail.com> writes: > Lars Ingebrigtsen <larsi@gnus.org> writes: > >> Lars Ingebrigtsen <larsi@gnus.org> writes: >> >>> So the votes are in, and I guess we'll keep the current behaviour in >>> Emacs 29, and I'm therefore closing this bug report. >> >> Or -- perhaps it should be backported to Emacs 28 -- but not right now, >> since the release is impending. So I'll keep this open until after >> Emacs 28.2, I think. > > Emacs 28 was released on 2022-04-04, so I'm closing this bug now. The issue says "regressed in", not "affects only", for what it's worth. The regression/change in behavior still applies to the current release of Emacs. -- Thanks, Maxim ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2024-12-28 5:52 ` Maxim Cournoyer @ 2024-12-28 8:47 ` Eli Zaretskii 2024-12-28 14:51 ` Maxim Cournoyer 2024-12-28 8:52 ` Stefan Kangas 1 sibling, 1 reply; 22+ messages in thread From: Eli Zaretskii @ 2024-12-28 8:47 UTC (permalink / raw) To: Maxim Cournoyer; +Cc: larsi, stefankangas, 56197 > From: Maxim Cournoyer <maxim.cournoyer@gmail.com> > Cc: Lars Ingebrigtsen <larsi@gnus.org>, Eli Zaretskii <eliz@gnu.org>, > 56197-done@debbugs.gnu.org > Date: Sat, 28 Dec 2024 14:52:52 +0900 > > Hi Stefan, > > Stefan Kangas <stefankangas@gmail.com> writes: > > > Lars Ingebrigtsen <larsi@gnus.org> writes: > > > >> Lars Ingebrigtsen <larsi@gnus.org> writes: > >> > >>> So the votes are in, and I guess we'll keep the current behaviour in > >>> Emacs 29, and I'm therefore closing this bug report. > >> > >> Or -- perhaps it should be backported to Emacs 28 -- but not right now, > >> since the release is impending. So I'll keep this open until after > >> Emacs 28.2, I think. > > > > Emacs 28 was released on 2022-04-04, so I'm closing this bug now. > > The issue says "regressed in", not "affects only", for what it's worth. > The regression/change in behavior still applies to the current release > of Emacs. We don't agree it's a regression, as shown in the discussion of this bug. ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2024-12-28 8:47 ` Eli Zaretskii @ 2024-12-28 14:51 ` Maxim Cournoyer 0 siblings, 0 replies; 22+ messages in thread From: Maxim Cournoyer @ 2024-12-28 14:51 UTC (permalink / raw) To: Eli Zaretskii; +Cc: larsi, stefankangas, 56197 Hello Eli, Eli Zaretskii <eliz@gnu.org> writes: [...] >> > Emacs 28 was released on 2022-04-04, so I'm closing this bug now. >> >> The issue says "regressed in", not "affects only", for what it's worth. >> The regression/change in behavior still applies to the current release >> of Emacs. > > We don't agree it's a regression, as shown in the discussion of this > bug. We can call it 'change in behavior'; I agree in most cases the new behavior is probably good. I don't see us being in disagreement; I think Felix and I are pointing that the change has impacted negatively at least one use case, and we're exploring ideas for a better solution to that than pasting the previous copy in a project's .dir-locals.el file (I'll explain in your other question why I see this as suboptimal). -- Thanks, Maxim ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2024-12-28 5:52 ` Maxim Cournoyer 2024-12-28 8:47 ` Eli Zaretskii @ 2024-12-28 8:52 ` Stefan Kangas 1 sibling, 0 replies; 22+ messages in thread From: Stefan Kangas @ 2024-12-28 8:52 UTC (permalink / raw) To: Maxim Cournoyer; +Cc: Lars Ingebrigtsen, Eli Zaretskii, 56197 reopen 56197 thanks Maxim Cournoyer <maxim.cournoyer@gmail.com> writes: > Hi Stefan, > > Stefan Kangas <stefankangas@gmail.com> writes: > >> Emacs 28 was released on 2022-04-04, so I'm closing this bug now. > > The issue says "regressed in", not "affects only", for what it's worth. > The regression/change in behavior still applies to the current release > of Emacs. Sorry for misunderstanding. I'm reopening the bug with this message. ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2022-06-30 9:32 ` Lars Ingebrigtsen 2022-06-30 9:33 ` Lars Ingebrigtsen @ 2022-06-30 11:31 ` Maxim Cournoyer 2022-07-01 9:05 ` Lars Ingebrigtsen 1 sibling, 1 reply; 22+ messages in thread From: Maxim Cournoyer @ 2022-06-30 11:31 UTC (permalink / raw) To: Lars Ingebrigtsen, Stefan Kangas; +Cc: Eli Zaretskii, 56197 On June 30, 2022 5:32:08 AM EDT, Lars Ingebrigtsen <larsi@gnus.org> wrote: >Stefan Kangas <stefan@marxist.se> writes: > >> The former sounds more useful, IMO. I don't want to mess up my strings >> just to have pretty source code; I can make such adjustments manually >> when I need to. > >So the votes are in, and I guess we'll keep the current behaviour in >Emacs 29, and I'm therefore closing this bug report. > Just to make sure, this means the paragraph filling behavior seen in the examples I shared would be unchanged, and different from that in Emacs 27 and earlier, correct? To me, the previous behavior was useful; is there a way to configure Emacs to behave that way with Emacs 28? Thank you! Maxim Hi, ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2022-06-30 11:31 ` Maxim Cournoyer @ 2022-07-01 9:05 ` Lars Ingebrigtsen 0 siblings, 0 replies; 22+ messages in thread From: Lars Ingebrigtsen @ 2022-07-01 9:05 UTC (permalink / raw) To: Maxim Cournoyer; +Cc: Eli Zaretskii, Stefan Kangas, 56197 Maxim Cournoyer <maxim.cournoyer@gmail.com> writes: > Just to make sure, this means the paragraph filling behavior seen in > the examples I shared would be unchanged, and different from that in > Emacs 27 and earlier, correct? Yup. > To me, the previous behavior was useful; is there a way to configure > Emacs to behave that way with Emacs 28? I guess you can set fill-paragraph-function to a function that does what you want? -- (domestic pets only, the antidote for overdose, milk.) bloggy blog: http://lars.ingebrigtsen.no ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2022-06-29 18:03 ` Stefan Kangas 2022-06-30 9:32 ` Lars Ingebrigtsen @ 2024-12-25 20:15 ` Felix Lechner via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-12-26 6:21 ` Eli Zaretskii 1 sibling, 1 reply; 22+ messages in thread From: Felix Lechner via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-25 20:15 UTC (permalink / raw) To: 56197; +Cc: Lars Ingebrigtsen, Eli Zaretskii, Stefan Kangas, Maxim Cournoyer Hi everyone, > fill the string using fill-column, or [...] fill the text as is in the > buffer > It's now filling that string as if it, well, is a string, so that if > you insert it somewhere, the lines have similar lengths. The previous > behaviour was to fill "what you see in the buffer" > The former sounds more useful, IMO. I don't want to mess up my strings > just to have pretty source code Filling strings in code would be useful, but isn't that a separate, don't-break-my-strings feature? Historically, the point of text justification is to make text fit on a screen. For example, the documentation for fill-region refers to columns, which are features of buffers: Column beyond which automatic line-wrapping should happen. Auto-fill-mode is consistent: inserting a space at a column beyond current-fill-column automatically breaks the line In a grand sweep, the manual explains what needs to fit where: “Filling” text means breaking it up into lines that fit a specified width. Section 26.6.2 ("Explicit Fill Commands") is even more, well, explicit: The command ‘M-q’ (‘fill-paragraph’) “fills” the current paragraph. It redistributes the line breaks within the paragraph, and deletes any excess space and tab characters occurring within the paragraph, in such a way that the lines end up fitting within a certain maximum width. How text shows on a screen is clearly a central feature. The manual continues: The maximum line width for filling is specified by the buffer-local variable ‘fill-column’. The default value (*note Locals::) is 70. The easiest way to set ‘fill-column’ in the current buffer is to use the command ‘C-x f’ (‘set-fill-column’). [...] Note that, by its very nature, ‘fill-column’ is measured in column units; the actual position of that column on a graphical display depends on the font being used. In particular, using variable-pitch fonts will cause the ‘fill-column’ occupy different horizontal positions on display in different lines. In my view, the string interpretation calls for a different, though related feature. Maybe there could be (setq fill-strings-instead-of-text t) ? Thanks! Kind regards Felix ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2024-12-25 20:15 ` Felix Lechner via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-12-26 6:21 ` Eli Zaretskii 2024-12-28 5:26 ` Maxim Cournoyer 0 siblings, 1 reply; 22+ messages in thread From: Eli Zaretskii @ 2024-12-26 6:21 UTC (permalink / raw) To: Felix Lechner; +Cc: larsi, 56197, maxim.cournoyer, stefankangas > From: Felix Lechner <felix.lechner@lease-up.com> > Cc: Maxim Cournoyer <maxim.cournoyer@gmail.com>, Stefan Kangas > <stefankangas@gmail.com>, Eli Zaretskii <eliz@gnu.org>, Lars Ingebrigtsen > <larsi@gnus.org> > Date: Wed, 25 Dec 2024 12:15:44 -0800 > > > fill the string using fill-column, or [...] fill the text as is in the > > buffer > > > It's now filling that string as if it, well, is a string, so that if > > you insert it somewhere, the lines have similar lengths. The previous > > behaviour was to fill "what you see in the buffer" > > > The former sounds more useful, IMO. I don't want to mess up my strings > > just to have pretty source code > > Filling strings in code would be useful, but isn't that a separate, > don't-break-my-strings feature? Not necessarily. I frequently fill stuff in my code, and don't want to use a separate command if the region I fill includes strings (or comments, or something other that needs special filling behavior). > Historically, the point of text justification is to make text fit on a > screen. For example, the documentation for fill-region refers to > columns, which are features of buffers: > > Column beyond which automatic line-wrapping should happen. > > Auto-fill-mode is consistent: > > inserting a space at a column beyond current-fill-column > automatically breaks the line > > In a grand sweep, the manual explains what needs to fit where: > > “Filling” text means breaking it up into lines that fit a specified > width. > > Section 26.6.2 ("Explicit Fill Commands") is even more, well, explicit: > > The command ‘M-q’ (‘fill-paragraph’) “fills” the current paragraph. > It redistributes the line breaks within the paragraph, and deletes > any excess space and tab characters occurring within the paragraph, > in such a way that the lines end up fitting within a certain maximum > width. > > How text shows on a screen is clearly a central feature. The manual > continues: > > The maximum line width for filling is specified by the buffer-local > variable ‘fill-column’. The default value (*note Locals::) is 70. > The easiest way to set ‘fill-column’ in the current buffer is to use > the command ‘C-x f’ (‘set-fill-column’). [...] Note that, by its > very nature, ‘fill-column’ is measured in column units; the actual > position of that column on a graphical display depends on the font > being used. In particular, using variable-pitch fonts will cause > the ‘fill-column’ occupy different horizontal positions on display > in different lines. > > In my view, the string interpretation calls for a different, though > related feature. You are quoting text which talks about the _default_ filling. The default filling is tailored to "uniform" text, i.e. really to Text mode and its descendants. However, Emacs lets major modes customize filling as appropriate for the mode, by defining mode-specific filling functions. Which is what happens in this case: lisp-mode.el defines a fill-paragraph function that is specific to Lisp modes. It is completely legitimate for such mode-specific functions to special-case strings inside code and do something special about that. So I don't see how what we do now is against the spirit of filling. (Btw, I think it's high time we closed that bug, since Emacs 28.2 was released long ago.) ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2024-12-26 6:21 ` Eli Zaretskii @ 2024-12-28 5:26 ` Maxim Cournoyer 2024-12-28 8:45 ` Eli Zaretskii 0 siblings, 1 reply; 22+ messages in thread From: Maxim Cournoyer @ 2024-12-28 5:26 UTC (permalink / raw) To: Eli Zaretskii; +Cc: larsi, 56197, Felix Lechner, stefankangas Hello, Eli Zaretskii <eliz@gnu.org> writes: [...] >> Filling strings in code would be useful, but isn't that a separate, >> don't-break-my-strings feature? > > Not necessarily. I frequently fill stuff in my code, and don't want > to use a separate command if the region I fill includes strings (or > comments, or something other that needs special filling behavior). I agree that having a single way to 'fill text/code/whatever' is nice. [...] > You are quoting text which talks about the _default_ filling. The > default filling is tailored to "uniform" text, i.e. really to Text > mode and its descendants. > > However, Emacs lets major modes customize filling as appropriate for > the mode, by defining mode-specific filling functions. Which is what > happens in this case: lisp-mode.el defines a fill-paragraph function > that is specific to Lisp modes. It is completely legitimate for such > mode-specific functions to special-case strings inside code and do > something special about that. > > So I don't see how what we do now is against the spirit of filling. Maybe it doesn't in general, but in the case of Guix packages, it's strikingly odd compared to the past behavior which was respecting the fill-column in a long multi-line string (refer to the original issue I had detailed in this thread for an example). > (Btw, I think it's high time we closed that bug, since Emacs 28.2 was > released long ago.) It's a change of behavior introduced in version 28 that apparently doesn't make unanimity (though perhaps noticed mostly by Guix developers, where the use of the multi-line strings for package descriptions makes this issue very visible and annoying); the GNU Guix project has been carrying this in its .dir-locals.el file, which simply reverts to the old behavior before commit 9bf367e1848: --8<---------------cut here---------------start------------->8--- ;; Emacs 28 changed the behavior of 'lisp-fill-paragraph', which causes the ;; first line of package descriptions to extrude past 'fill-column', and ;; somehow that is deemed more correct upstream (see: ;; https://issues.guix.gnu.org/56197). (eval . (progn (require 'lisp-mode) (defun emacs27-lisp-fill-paragraph (&optional justify) (interactive "P") (or (fill-comment-paragraph justify) (let ((paragraph-start (concat paragraph-start "\\|\\s-*\\([(;\"]\\|\\s-:\\|`(\\|#'(\\)")) (paragraph-separate (concat paragraph-separate "\\|\\s-*\".*[,\\.]$")) (fill-column (if (and (integerp emacs-lisp-docstring-fill-column) (derived-mode-p 'emacs-lisp-mode)) emacs-lisp-docstring-fill-column fill-column))) (fill-paragraph justify)) ;; Never return nil. t)) (setq-local fill-paragraph-function #'emacs27-lisp-fill-paragraph))) --8<---------------cut here---------------end--------------->8--- I can't say it feels very satisfactory; a switch like one imagined by Felix could be a step in the right direction; it'd be at least more concise in the project .dir-locals. Would a patch implementing that be welcome? Happy New Year, -- Maxim ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2024-12-28 5:26 ` Maxim Cournoyer @ 2024-12-28 8:45 ` Eli Zaretskii 2024-12-28 15:14 ` Maxim Cournoyer 0 siblings, 1 reply; 22+ messages in thread From: Eli Zaretskii @ 2024-12-28 8:45 UTC (permalink / raw) To: Maxim Cournoyer; +Cc: larsi, 56197, felix.lechner, stefankangas > From: Maxim Cournoyer <maxim.cournoyer@gmail.com> > Cc: Felix Lechner <felix.lechner@lease-up.com>, 56197@debbugs.gnu.org, > stefankangas@gmail.com, larsi@gnus.org > Date: Sat, 28 Dec 2024 14:26:32 +0900 > > I can't say it feels very satisfactory; a switch like one imagined by > Felix could be a step in the right direction; it'd be at least more > concise in the project .dir-locals. Would a patch implementing that be > welcome? I don't see how a user option to control this could be useful, since the preferred behavior is not only buffer-local, but also specific to certain syntactic constructs. But I won't object to having such an option. I also don't see what's wrong with the solution of having a special function in .dir-locals.el. We don't pretend that the default Emacs behavior should necessarily fit all the use cases, and provide ample opportunities for customizing Emacs behavior for that reason. Defining a custom fill-paragraph function is a perfectly valid solution, not very different from having a user option for the same purpose. So I'm not sure I understand why you prefer adding an option, when the Guix project has already solved the problem in a perfectly legitimate and clean way. ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2024-12-28 8:45 ` Eli Zaretskii @ 2024-12-28 15:14 ` Maxim Cournoyer 0 siblings, 0 replies; 22+ messages in thread From: Maxim Cournoyer @ 2024-12-28 15:14 UTC (permalink / raw) To: Eli Zaretskii; +Cc: larsi, 56197, felix.lechner, stefankangas Hello, Eli Zaretskii <eliz@gnu.org> writes: >> From: Maxim Cournoyer <maxim.cournoyer@gmail.com> >> Cc: Felix Lechner <felix.lechner@lease-up.com>, 56197@debbugs.gnu.org, >> stefankangas@gmail.com, larsi@gnus.org >> Date: Sat, 28 Dec 2024 14:26:32 +0900 >> >> I can't say it feels very satisfactory; a switch like one imagined by >> Felix could be a step in the right direction; it'd be at least more >> concise in the project .dir-locals. Would a patch implementing that be >> welcome? > > I don't see how a user option to control this could be useful, since > the preferred behavior is not only buffer-local, but also specific to > certain syntactic constructs. But I won't object to having such an > option. Having the behavior defined per-project or even globally (reverting to the the pre-Emacs 28 behavior) via a simple option seems like it'd simplify things, and make them discoverable. > I also don't see what's wrong with the solution of having a special > function in .dir-locals.el. We don't pretend that the default Emacs > behavior should necessarily fit all the use cases, and provide ample > opportunities for customizing Emacs behavior for that reason. > Defining a custom fill-paragraph function is a perfectly valid > solution, not very different from having a user option for the same > purpose. So I'm not sure I understand why you prefer adding an > option, when the Guix project has already solved the problem in a > perfectly legitimate and clean way. For one, having to put that largish piece of evaluated code in the .dir-locals.el of the project means each new developer is prompted to trust it, and it makes it more intimidating/pollutes their user conf file (being added to the 'safe-local-variable-values' value). It's also not discoverable; a customizable option would help in this regard. -- Thanks, Maxim ^ permalink raw reply [flat|nested] 22+ messages in thread
* bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 2022-06-25 11:53 ` Lars Ingebrigtsen 2022-06-25 12:42 ` Eli Zaretskii @ 2022-06-27 1:53 ` Maxim Cournoyer 1 sibling, 0 replies; 22+ messages in thread From: Maxim Cournoyer @ 2022-06-27 1:53 UTC (permalink / raw) To: Lars Ingebrigtsen; +Cc: 56197 Hello, Lars Ingebrigtsen <larsi@gnus.org> writes: > Maxim Cournoyer <maxim.cournoyer@gmail.com> writes: > >> ;; Emacs 28 >> (description "IBus-Anthy is an engine for the input bus \"IBus\"). It adds the Anthy >> Japanese language input method to IBus. Because most graphical applications >> allow text input via IBus, installing this package will enable Japanese >> language input in most graphical applications.") > > [...] > >> Simply commenting out the newly added block, evaluating the defun and >> running it on my example reverts to the previous correct behavior. > > I'm not sure the previous behaviour was any more correct. It's now > filling that string as if it, well, is a string, so that if you insert > it somewhere, the lines have similar lengths. The previous behaviour > was to fill "what you see in the buffer", which is wrong in most > contexts. > > So I don't know. Anybody have an opinion? Apologies if my previous example lacked too much context and confused more than helped. Here's another example, where I just experienced the problem after revamping the GNU Guix 'font-abattis-cantarrel' package definition: --8<---------------cut here---------------start------------->8--- (define-public font-abattis-cantarell (package (name "font-abattis-cantarell") (version "0.303") (source (origin (method git-fetch) (uri (git-reference (url "https://gitlab.gnome.org/GNOME/cantarell-fonts") (commit (string-append "v" version)))) (file-name (git-file-name name version)) (sha256 (base32 "1d1ay0fdqchk0wa5yqxis2c98imvzsbbd2kjv0x8sk4fm419847b")))) (build-system meson-build-system) (arguments (list #:configure-flags #~(list "-Dbuildstatics=true"))) (native-inputs (list gettext-minimal psautohint python python-cffsubr python-fontmath python-statmake python-ufo2ft)) (home-page "https://wiki.gnome.org/Projects/CantarellFonts") (synopsis "Cantarell sans-serif typeface") (description "The Cantarell font family is a contemporary Humanist sans-serif designed for on-screen reading. It is used by GNOME@tie{}3. This package contains both the non-variable as well as the variable versions of the font.") (license license:silofl1.1))) --8<---------------cut here---------------end--------------->8--- This is a Scheme sexp extracted from the (gnu packages fonts) Guile module. Hitting `lisp-fill-paragraph' (M-q) causes the above indentation, where the first line of the description extends past the `fill-column' value. I hope that helps, Thanks! Maxim ^ permalink raw reply [flat|nested] 22+ messages in thread
end of thread, other threads:[~2024-12-28 15:14 UTC | newest] Thread overview: 22+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-06-24 16:17 bug#56197: 28.1; lisp-fill-paragraph result regressed with Emacs 28 Maxim Cournoyer 2022-06-25 11:53 ` Lars Ingebrigtsen 2022-06-25 12:42 ` Eli Zaretskii 2022-06-25 12:45 ` Lars Ingebrigtsen 2022-06-25 12:48 ` Lars Ingebrigtsen 2022-06-25 13:00 ` Lars Ingebrigtsen 2022-06-29 18:03 ` Stefan Kangas 2022-06-30 9:32 ` Lars Ingebrigtsen 2022-06-30 9:33 ` Lars Ingebrigtsen 2024-12-26 15:16 ` Stefan Kangas 2024-12-28 5:52 ` Maxim Cournoyer 2024-12-28 8:47 ` Eli Zaretskii 2024-12-28 14:51 ` Maxim Cournoyer 2024-12-28 8:52 ` Stefan Kangas 2022-06-30 11:31 ` Maxim Cournoyer 2022-07-01 9:05 ` Lars Ingebrigtsen 2024-12-25 20:15 ` Felix Lechner via Bug reports for GNU Emacs, the Swiss army knife of text editors 2024-12-26 6:21 ` Eli Zaretskii 2024-12-28 5:26 ` Maxim Cournoyer 2024-12-28 8:45 ` Eli Zaretskii 2024-12-28 15:14 ` Maxim Cournoyer 2022-06-27 1:53 ` Maxim Cournoyer
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).