GNU bug report logs - #6762
23.2; Eshell bug in detecting read-only file (patch included)

Previous Next

Package: emacs;

Reported by: Leo <sdl.web <at> gmail.com>

Date: Fri, 30 Jul 2010 10:14:01 UTC

Severity: normal

Found in version 23.2

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 (GNU bug Tracking System)
To: Leo <sdl.web <at> gmail.com>
Subject: bug#6762: closed (Re: bug#6762: 23.2; Eshell bug in detecting
 read-only file (patch included))
Date: Fri, 30 Jul 2010 23:26:01 +0000
[Message part 1 (text/plain, inline)]
Your bug report

#6762: 23.2; Eshell bug in detecting read-only file (patch included)

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 6762 <at> debbugs.gnu.org.

-- 
6762: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6762
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Chong Yidong <cyd <at> stupidchicken.com>
To: John Wiegley <jwiegley <at> gmail.com>
Cc: Leo <sdl.web <at> gmail.com>, 6762-done <at> debbugs.gnu.org
Subject: Re: bug#6762: 23.2;
	Eshell bug in detecting read-only file (patch included)
Date: Fri, 30 Jul 2010 19:25:44 -0400
John Wiegley <jwiegley <at> gmail.com> writes:

> Looks like a great patch to me.

Checked in.  Thanks.

> On Jul 30, 2010, at 6:13 AM, Leo wrote:
>
>> I have diff-default-read-only set to t and this prevents eshell from
>> writing to diff files i.e.
>>
>>  ESHELL$ git diff x..y > file.diff
>>
>> fails due to its use of buffer-read-only, which doesn't necessary
>> reflects the read-only state of a file.
>>
>> The following patch tries to fix this.

[Message part 3 (message/rfc822, inline)]
From: Leo <sdl.web <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Cc: John Wiegley <jwiegley <at> gmail.com>
Subject: 23.2; Eshell bug in detecting read-only file (patch included)
Date: Fri, 30 Jul 2010 11:13:58 +0100
I have diff-default-read-only set to t and this prevents eshell from
writing to diff files i.e.

  ESHELL$ git diff x..y > file.diff

fails due to its use of buffer-read-only, which doesn't necessary
reflects the read-only state of a file.

The following patch tries to fix this.

Leo

commit b1dc6a427e43470981d4700b0c98aa21ecb03052
Author: sdl.web <at> gmail.com
Date:   Sat May 1 17:50:21 2010 +0100

    Better detection of read-only file in eshell-get-target

	Modified lisp/eshell/esh-io.el
diff --git a/lisp/eshell/esh-io.el b/lisp/eshell/esh-io.el
index 1bcfe2b..3aa785c 100644
--- a/lisp/eshell/esh-io.el
+++ b/lisp/eshell/esh-io.el
@@ -343,8 +343,9 @@ it defaults to `insert'."
 	(let* ((exists (get-file-buffer target))
 	       (buf (find-file-noselect target t)))
 	  (with-current-buffer buf
-	    (if buffer-read-only
+	    (if buffer-file-read-only
 		(error "Cannot write to read-only file `%s'" target))
+	    (setq buffer-read-only nil)
 	    (set (make-local-variable 'eshell-output-file-buffer)
 		 (if (eq exists buf) 0 t))
 	    (cond ((eq mode 'overwrite)




This bug report was last modified 15 years and 13 days ago.

Previous Next


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