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.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (Emacs bug Tracking System)
To: Chong Yidong <cyd <at> stupidchicken.com>
Subject: bug#956: marked as done (In CVS Emacs, replace-regexp doesn't 
 honor inhibit-read-only.)
[Message part 1 (text/plain, inline)]
Your message dated Wed, 10 Sep 2008 18:20:31 -0400
with message-id <873ak78wy8.fsf <at> cyd.mit.edu>
and subject line Re: In CVS Emacs, replace-regexp doesn't honor inhibit-read-only.
has caused the Emacs bug report #956,
regarding In CVS Emacs, replace-regexp doesn't honor inhibit-read-only.
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact don <at> donarmstrong.com
immediately.)


-- 
956: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=956
Emacs Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
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



[Message part 3 (message/rfc822, inline)]
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.


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

Previous Next


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