GNU bug report logs - #12077
Abort in replace-regexp with an after-change-functions hook

Previous Next

Package: emacs;

Reported by: Rob Browning <rlb <at> defaultvalue.org>

Date: Sat, 28 Jul 2012 18:01:02 UTC

Severity: normal

Fixed in version 24.4

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Rob Browning <rlb <at> defaultvalue.org>
Subject: bug#12077: closed (Re: bug#12077: Abort in replace-regexp with an
 after-change-functions hook)
Date: Tue, 19 Feb 2013 17:10:01 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#12077: Abort in replace-regexp with an after-change-functions hook

which was filed against the emacs package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to 12077 <at> debbugs.gnu.org.

-- 
12077: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=12077
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Glenn Morris <rgm <at> gnu.org>
To: 12077-done <at> debbugs.gnu.org,
Subject: Re: bug#12077: Abort in replace-regexp with an after-change-functions
	hook
Date: Tue, 19 Feb 2013 12:08:34 -0500
Version: 24.4

Rob Browning wrote:

>> When this expression is evaluated, Emacs will abort.
>>
>>     (with-temp-buffer
>>       (insert "#\n*\n")
>>       (goto-char (point-min))
>>       (add-hook 'after-change-functions
>>                 (lambda (a b c) (re-search-forward "\n" nil t)))
>>       (replace-regexp "^\\*" " *"))

By experiment, this issue is present in at least 22.3 through 24.2.93,
but is fixed in the current trunk.

[Message part 3 (message/rfc822, inline)]
From: Rob Browning <rlb <at> defaultvalue.org>
To: bug-gnu-emacs <at> gnu.org
Cc: 682995-forwarded <at> bugs.debian.org,
	Christopher Wellons <mosquitopsu <at> gmail.com>, 682995 <at> bugs.debian.org
Subject: Abort in replace-regexp with an after-change-functions hook
Date: Sat, 28 Jul 2012 12:53:33 -0500
(If possible, please preserve the 682995-forwarded address in any replies.)

The following bug report was recently filed, and I've tried the example,
and saw the same abort.

You can find additional information here:

  http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=682995


Christopher Wellons <mosquitopsu <at> gmail.com> writes:

> Package: emacs24
> Version: 24.1+1-4
> Severity: normal
>
> When this expression is evaluated, Emacs will abort.
>
>     (with-temp-buffer
>       (insert "#\n*\n")
>       (goto-char (point-min))
>       (add-hook 'after-change-functions
>                 (lambda (a b c) (re-search-forward "\n" nil t)))
>       (replace-regexp "^\\*" " *"))
>
> It is also provided in an attached file, example.el, in order to make
> this easier to demonstrate.
>
>     emacs -q -l example.el
>
> The abort() occurs in the check at the beginning of
> buf_charpos_to_bytepos() in marker.c, because the point has left the
> buffer bounds. I ran into this bug while trying to perform this
> replace-regexp while in a third-party markdown-mode, and narrowed it
> down to this combination of events.
>
> This bug also appears in emacs23 in both squeeze and sid as well as
> upstream and non-Debian builds of Emacs.

Thanks
-- 
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4



This bug report was last modified 12 years and 154 days ago.

Previous Next


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