--- Begin Message ---
Subject: |
call-process behavior wrt. to read only buffers depends on coding system for read operations |
Date: |
Sun, 06 May 2012 11:06:26 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.4 (gnu/linux) |
(If possible, please preserve the 651420-forwarded address in any replies.)
It appears that depending on the LOCALE setting, Emacs 23.4 may or may
not signal a "buffer is read-only" error. At least here, this can be
demonstrated as follows.
Save to ./test.el:
(let ((buf (get-buffer-create "xxx")))
(with-current-buffer buf
(compilation-mode))
(let ((coding-system-for-read 'iso-latin-1-unix))
(condition-case err
(progn
(call-process "/bin/cat" "/proc/cpuinfo" buf t)
(message "iso-latin-1-unix: No call-process error"))
(error
(message "iso-latin-1-unix: call-process error: %s %s"
(car err) (cdr err)))))
(let ((coding-system-for-read 'utf-8-unix))
(condition-case err
(progn
(call-process "/bin/cat" "/proc/cpuinfo" buf t)
(message "utf-8-unix: No call-process error"))
(error
(message "utf-8-unix: call-process error: %s %s"
(car err) (cdr err))))))
Run:
emacs -q --no-site-file -batch -l ./test.el
which should produce something like this:
iso-latin-1-unix: call-process error: buffer-read-only (xxx)
utf-8-unix: No call-process error
Additional information may be found here:
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=651420
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
--- End Message ---
--- Begin Message ---
Subject: |
Re: bug#11421: call-process behavior wrt. to read only buffers depends on coding system for read operations |
Date: |
Fri, 17 Apr 2020 12:23:32 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux) |
Lars Ingebrigtsen <address@hidden> writes:
> Rob Browning <address@hidden> writes:
>
>> It appears that depending on the LOCALE setting, Emacs 23.4 may or may
>> not signal a "buffer is read-only" error. At least here, this can be
>> demonstrated as follows.
>>
>> Save to ./test.el:
>>
>> (let ((buf (get-buffer-create "xxx")))
>> (with-current-buffer buf
>> (compilation-mode))
>> (let ((coding-system-for-read 'iso-latin-1-unix))
>> (condition-case err
>> (progn
>> (call-process "/bin/cat" "/proc/cpuinfo" buf t)
>> (message "iso-latin-1-unix: No call-process error"))
>> (error
>> (message "iso-latin-1-unix: call-process error: %s %s"
>> (car err) (cdr err)))))
>> (let ((coding-system-for-read 'utf-8-unix))
>> (condition-case err
>> (progn
>> (call-process "/bin/cat" "/proc/cpuinfo" buf t)
>> (message "utf-8-unix: No call-process error"))
>> (error
>> (message "utf-8-unix: call-process error: %s %s"
>> (car err) (cdr err))))))
>
> [...]
>
>> which should produce something like this:
>>
>> iso-latin-1-unix: call-process error: buffer-read-only (xxx)
>> utf-8-unix: No call-process error
>
> When I try this in Emacs 27, I get:
>
> Waiting for process to die...done
> iso-latin-1-unix: call-process error: buffer-read-only (xxx)
> Waiting for process to die...done
> utf-8-unix: call-process error: buffer-read-only (xxx)
>
> Can you still reproduce this bug on modern Emacs versions?
More information was requested, but none was given within 28 weeks, so
I'm closing this bug. If this is still an issue, please reply to this
email (use "Reply to all" in your email client) and we can reopen the
bug report.
Best regards,
Stefan Kangas
--- End Message ---