GNU bug report logs - #956
In CVS Emacs, replace-regexp doesn't honor inhibit-read-only.

Previous Next

Package: emacs;

Reported by: Francis Litterio <flitterio <at> gmail.com>

Date: Wed, 10 Sep 2008 16:15:03 UTC

Severity: normal

Done: Chong Yidong <cyd <at> stupidchicken.com>

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 956 in the body.
You can then email your comments to 956 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-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#956; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Francis Litterio <flitterio <at> gmail.com>:
New bug report received and forwarded. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #5 received at submit <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Francis Litterio <flitterio <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: In CVS Emacs, replace-regexp doesn't honor inhibit-read-only.
Date: Wed, 10 Sep 2008 11:44:32 -0400
In CVS Emacs, replace-regexp doesn't honor inhibit-read-only.  To
reproduce, evaluate this form:

   (let ((inhibit-read-only t))
     (with-current-buffer (get-buffer-create "zzz")
       (insert "fooxxxbar")
       (replace-regexp "x+" "z" nil (point-min) (point-max))))

You will see this error: Buffer is read-only: #<buffer zzz>

This may be caused by this code in function perform-replace (in
lisp/replace.el):

   (let ((inhibit-read-only
          query-replace-skip-read-only))

The docstring for query-replace-skip-read-only says:

   *Non-nil means `query-replace' and friends ignore read-only matches.

which does not seem to match how it is used in that let form, especially
since replace-regexp is not interactive like query-replace.
--
Fran





Reply sent to Chong Yidong <cyd <at> stupidchicken.com>:
You have taken responsibility. Full text and rfc822 format available.

Notification sent to Francis Litterio <flitterio <at> gmail.com>:
bug acknowledged by developer. Full text and rfc822 format available.

Message #10 received at 956-done <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Chong Yidong <cyd <at> stupidchicken.com>
To: Francis Litterio <flitterio <at> gmail.com>
Cc: 956-done <at> debbugs.gnu.org
Subject: Re: In CVS Emacs, replace-regexp doesn't honor inhibit-read-only.
Date: Wed, 10 Sep 2008 18:20:31 -0400
> In CVS Emacs, replace-regexp doesn't honor inhibit-read-only.

Thanks for spotting this.  I've checked in a fix.




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#956; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Francis Litterio <flitterio <at> gmail.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #15 received at 956 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Francis Litterio <flitterio <at> gmail.com>
To: 956 <at> debbugs.gnu.org
Cc: Chong Yidong <cyd <at> stupidchicken.com>
Subject: Re: bug#956: In CVS Emacs, replace-regexp doesn't honor inhibit-read-only.
Date: Wed, 10 Sep 2008 21:43:16 -0400
I wrote:

> In CVS Emacs, replace-regexp doesn't honor inhibit-read-only.  To
> reproduce, evaluate this form:
>
>    (let ((inhibit-read-only t))
>      (with-current-buffer (get-buffer-create "zzz")
>        (insert "fooxxxbar")
>        (replace-regexp "x+" "z" nil (point-min) (point-max))))

Of course, that should have been:

     (let ((inhibit-read-only t))
       (with-current-buffer (get-buffer-create "zzz")

         (toggle-read-only 1)  ;; Forgot this in my original report!

         (insert "fooxxxbar")
         (replace-regexp "x+" "z" nil (point-min) (point-max))))

Chong Yidong wrote:

> Thanks for spotting this.  I've checked in a fix.

Thanks!
--
Fran




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#956; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Francis Litterio <flitterio <at> gmail.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #20 received at 956 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Francis Litterio <flitterio <at> gmail.com>
To: 956 <at> debbugs.gnu.org
Cc: Chong Yidong <cyd <at> stupidchicken.com>
Subject: Re: bug#956: In CVS Emacs, replace-regexp doesn't honor inhibit-read-only.
Date: Thu, 11 Sep 2008 15:33:00 -0400
Francis Litterio wrote:

> I wrote:
>
>> In CVS Emacs, replace-regexp doesn't honor inhibit-read-only.  To
>> reproduce, evaluate this form:

>      (let ((inhibit-read-only t))
>        (with-current-buffer (get-buffer-create "zzz")
>
>          (toggle-read-only 1)  ;; Forgot this in my original report!
>
>          (insert "fooxxxbar")
>          (replace-regexp "x+" "z" nil (point-min) (point-max))))
>
> Chong Yidong wrote:
>
>> Thanks for spotting this.  I've checked in a fix.
>
> Thanks!

I updated from CVS after seeing your above message, and the bug is still
there.  What file did you change?
--
Fran




Information forwarded to bug-submit-list <at> lists.donarmstrong.com, Emacs Bugs <bug-gnu-emacs <at> gnu.org>:
bug#956; Package emacs. Full text and rfc822 format available.

Acknowledgement sent to Chong Yidong <cyd <at> stupidchicken.com>:
Extra info received and forwarded to list. Copy sent to Emacs Bugs <bug-gnu-emacs <at> gnu.org>. Full text and rfc822 format available.

Message #25 received at 956 <at> emacsbugs.donarmstrong.com (full text, mbox):

From: Chong Yidong <cyd <at> stupidchicken.com>
To: Francis Litterio <flitterio <at> gmail.com>
Cc: 956 <at> debbugs.gnu.org
Subject: Re: bug#956: In CVS Emacs, replace-regexp doesn't honor inhibit-read-only.
Date: Thu, 11 Sep 2008 20:43:19 -0400
Francis Litterio <flitterio <at> gmail.com> writes:

> I updated from CVS after seeing your above message, and the bug is still
> there.  What file did you change?

I forgot to commit the file itself; please try again.




bug archived. Request was from Debbugs Internal Request <don <at> donarmstrong.com> to internal_control <at> emacsbugs.donarmstrong.com. (Fri, 10 Oct 2008 14:24:04 GMT) Full text and rfc822 format available.

This bug report was last modified 16 years and 314 days ago.

Previous Next


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