Subject: bug#11208: closed (Re: bug#11208: 23.4; shell-command-on-region does not {de,en}code as documented)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 09 Apr 2012 17:02:02 +0000

Your bug report

#11208: 23.4; shell-command-on-region does not {de,en}code as documented

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 [email-masked].

-- 
11208: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=11208
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: bug#11208: 23.4; shell-command-on-region does not {de,en}code as documented
From: Eli Zaretskii <[email-masked]>
To: Gustav Hållberg <[email-masked]>
Cc: [email-masked]
Date: Mon, 09 Apr 2012 19:58:50 +0300
List-Id: <debbugs-submit.debbugs.gnu.org>

> Date: Mon, 9 Apr 2012 13:09:07 +0200
> From: Gustav Hållberg <[email-masked]>
> 
> shell-command-on-region (M-|) does not do the {de,en}coding of I/O to the
> process as documented.
> 
> It says (if I read it correctly) that it will use buffer-file-coding-system
> (at least unless coding-system-for-{read,write} are set) for output to and
> input from (if doing substitution with a prefix argument) the process.
> 
> However, it "just" calls call-process-region which will use
> default-process-coding-system rather than buffer-file-coding-system.

Thanks, I made the doc string match the implementation.

The fix is committed as revision 107794 on the emacs-24 branch, and
will be in Emacs 24.1.

Subject: 23.4; shell-command-on-region does not {de,en}code as documented
From: Gustav Hållberg <[email-masked]>
To: [email-masked]
Date: Mon, 9 Apr 2012 13:09:07 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

shell-command-on-region (M-|) does not do the {de,en}coding of I/O to the
process as documented.

It says (if I read it correctly) that it will use buffer-file-coding-system
(at least unless coding-system-for-{read,write} are set) for output to and
input from (if doing substitution with a prefix argument) the process.

However, it "just" calls call-process-region which will use
default-process-coding-system rather than buffer-file-coding-system.

To try, 'emacs -q', switch to an empty buffer, and:

  C-x RET f iso-8859-7 RET C-SPC C-u M-| echo -e '\0245' RET

This does not insert a drachma sign.

However, if you run (setq default-process-coding-system '(iso-8859-7
iso-8859-7)) first, it does indeed produce a drachma.

Output encoding works the same way.

- Gustav