GNU bug report logs - #28937
26.0.60; Value after elisp docstring is filled (boundaries on forward-paragraph)

Previous Next

Package: emacs;

Reported by: Alex <agrambot <at> gmail.com>

Date: Sun, 22 Oct 2017 07:30:02 UTC

Severity: normal

Tags: confirmed, fixed

Found in version 26.0.60

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 28937 in the body.
You can then email your comments to 28937 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#28937; Package emacs. (Sun, 22 Oct 2017 07:30:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Alex <agrambot <at> gmail.com>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sun, 22 Oct 2017 07:30:03 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Alex <agrambot <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: 26.0.60; Value after elisp docstring is filled (boundaries on
 forward-paragraph)
Date: Sun, 22 Oct 2017 01:29:36 -0600
Consider:

(defun test ()
  "This is a test docstring.
Here is some more text."
  1
  2
  3
  4
  5)
  
In an Emacs Lisp/Lisp Interaction buffer press `M-q' anywhere in the
docstring to fill the above. Notice that 1 through 5 are all filled with
the docstring, when none of them should be. Now consider:

(defun test ()
  "This is a test docstring.
Here is some more text."
  1
  2
  (3)
  4
  5)

Now only 1 and 2 are filled. This is because forward-paragraph uses the
`paragraph-start' regexp to find the start of a new paragraph. This
regexp includes `(', which is why everything from (3) isn't filled.

What should likely be done is to find the end of the docstring when
filling it and stopping the search if it reaches the end.

forward-paragraph should accept an arbitrary point as a search limit to
accomplish the above.

Once this bug is fixed, the space+colon added in bug#24622 should be
removed.




Added tag(s) confirmed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Sun, 15 Apr 2018 19:12:01 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#28937; Package emacs. (Thu, 04 Feb 2021 15:15:02 GMT) Full text and rfc822 format available.

Message #10 received at 28937 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Alex <agrambot <at> gmail.com>
Cc: 28937 <at> debbugs.gnu.org
Subject: Re: bug#28937: 26.0.60; Value after elisp docstring is filled
 (boundaries on forward-paragraph)
Date: Thu, 04 Feb 2021 16:14:28 +0100
Alex <agrambot <at> gmail.com> writes:

> Consider:
>
> (defun test ()
>   "This is a test docstring.
> Here is some more text."
>   1
>   2
>   3
>   4
>   5)
>
> In an Emacs Lisp/Lisp Interaction buffer press `M-q' anywhere in the
> docstring to fill the above. Notice that 1 through 5 are all filled with
> the docstring, when none of them should be.

I've now changed this in Emacs 28 to narrow to the string before doing
the filling, which seems to fix this problem, and hopefully shouldn't
have any adverse effects (*cough*).

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Added tag(s) fixed. Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Thu, 04 Feb 2021 15:15:02 GMT) Full text and rfc822 format available.

bug marked as fixed in version 28.1, send any further explanations to 28937 <at> debbugs.gnu.org and Alex <agrambot <at> gmail.com> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Thu, 04 Feb 2021 15:15:02 GMT) Full text and rfc822 format available.

bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Fri, 05 Mar 2021 12:24:05 GMT) Full text and rfc822 format available.

bug unarchived. Request was from "Basil L. Contovounesios" <contovob <at> tcd.ie> to control <at> debbugs.gnu.org. (Fri, 05 Mar 2021 12:47:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#28937; Package emacs. (Fri, 05 Mar 2021 12:56:01 GMT) Full text and rfc822 format available.

Message #21 received at 28937 <at> debbugs.gnu.org (full text, mbox):

From: "Basil L. Contovounesios" <contovob <at> tcd.ie>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 28937 <at> debbugs.gnu.org, Alex <agrambot <at> gmail.com>
Subject: Re: bug#28937: 26.0.60; Value after elisp docstring is filled
 (boundaries on forward-paragraph)
Date: Fri, 05 Mar 2021 12:55:26 +0000
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

> I've now changed this in Emacs 28 to narrow to the string before doing
> the filling, which seems to fix this problem, and hopefully shouldn't
> have any adverse effects (*cough*).

(*cough*)

0. emacs -Q
1. (progn
     (insert "\n\n(defvar foo nil\n  \"First.\nSecond\n\nThird.\")\n")
     (end-of-line -2)
     (dotimes (_ 15)
       (insert " abcd")))
2. C-x C-e
3. M-q

Expected result: second paragraph filled, like in Emacs 27.
Actual result: second paragraph not filled.

(*cough* :)

Thanks,

-- 
Basil

In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit, cairo version 1.16.0, Xaw3d scroll bars)
 of 2021-03-05 built on tia
Repository revision: 77ec25122c9a7855657de564101c9fe763b91013
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12010000
System Description: Debian GNU/Linux bullseye/sid

Configured using:
 'configure 'CC=ccache gcc' 'CFLAGS=-O2 -march=native' --config-cache
 --prefix=/home/blc/.local --enable-checking=structs
 --with-x-toolkit=lucid --with-file-notification=yes --with-x'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES NOTIFY
INOTIFY PDUMPER PNG RSVG SOUND THREADS TIFF TOOLKIT_SCROLL_BARS X11
XAW3D XDBE XIM XPM LUCID ZLIB

Important settings:
  value of $LANG: en_IE.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-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
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
rfc822 mml mml-sec epa derived epg epg-config gnus-util rmail
rmail-loaddefs auth-source cl-seq eieio eieio-core cl-macs
eieio-loaddefs password-cache json map text-property-search time-date
subr-x seq byte-opt gv bytecomp byte-compile cconv mm-decode mm-bodies
mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader cl-loaddefs
cl-lib sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
iso-transl tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type 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 elisp-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 facemenu 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
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 lcms2 dynamic-setting system-font-setting
font-render-setting cairo x-toolkit x multi-tty make-network-process
emacs)




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#28937; Package emacs. (Fri, 05 Mar 2021 13:03:01 GMT) Full text and rfc822 format available.

Message #24 received at 28937 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: "Basil L. Contovounesios" <contovob <at> tcd.ie>
Cc: 28937 <at> debbugs.gnu.org, Alex <agrambot <at> gmail.com>
Subject: Re: bug#28937: 26.0.60; Value after elisp docstring is filled
 (boundaries on forward-paragraph)
Date: Fri, 05 Mar 2021 14:02:10 +0100
"Basil L. Contovounesios" <contovob <at> tcd.ie> writes:

>> I've now changed this in Emacs 28 to narrow to the string before doing
>> the filling, which seems to fix this problem, and hopefully shouldn't
>> have any adverse effects (*cough*).
>
> (*cough*)
>
> 0. emacs -Q
> 1. (progn
>      (insert "\n\n(defvar foo nil\n  \"First.\nSecond\n\nThird.\")\n")
>      (end-of-line -2)
>      (dotimes (_ 15)
>        (insert " abcd")))
> 2. C-x C-e
> 3. M-q

(*cough* *cough*)

I hope it's not catching!

This should be fixed now -- I forgot to preserve point after doing the
narrowing.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#28937; Package emacs. (Fri, 05 Mar 2021 13:38:01 GMT) Full text and rfc822 format available.

Message #27 received at 28937 <at> debbugs.gnu.org (full text, mbox):

From: "Basil L. Contovounesios" <contovob <at> tcd.ie>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 28937 <at> debbugs.gnu.org, Alex <agrambot <at> gmail.com>
Subject: Re: bug#28937: 26.0.60; Value after elisp docstring is filled
 (boundaries on forward-paragraph)
Date: Fri, 05 Mar 2021 13:36:58 +0000
Lars Ingebrigtsen <larsi <at> gnus.org> writes:

> "Basil L. Contovounesios" <contovob <at> tcd.ie> writes:
>
>>> I've now changed this in Emacs 28 to narrow to the string before doing
>>> the filling, which seems to fix this problem, and hopefully shouldn't
>>> have any adverse effects (*cough*).
>>
>> (*cough*)
>>
>> 0. emacs -Q
>> 1. (progn
>>      (insert "\n\n(defvar foo nil\n  \"First.\nSecond\n\nThird.\")\n")
>>      (end-of-line -2)
>>      (dotimes (_ 15)
>>        (insert " abcd")))
>> 2. C-x C-e
>> 3. M-q
>
> (*cough* *cough*)
>
> I hope it's not catching!

We may or may not want to expand M-x doctor.

> This should be fixed now

Yup, thanks!

-- 
Basil




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Sat, 03 Apr 2021 11:24:06 GMT) Full text and rfc822 format available.

This bug report was last modified 3 years and 17 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.