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: Glenn Morris <rgm <at> gnu.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#12077: closed (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 message dated Tue, 19 Feb 2013 12:08:34 -0500
with message-id <0cbobgut7x.fsf <at> fencepost.gnu.org>
and subject line Re: bug#12077: Abort in replace-regexp with an after-change-functions hook
has caused the debbugs.gnu.org bug report #12077,
regarding Abort in replace-regexp with an after-change-functions hook
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> 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: 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


[Message part 3 (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.


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.