help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: on ESHELL, utf-8 and fossil command-line commit message


From: Wayne Harris
Subject: Re: on ESHELL, utf-8 and fossil command-line commit message
Date: Sat, 01 Oct 2022 15:29:58 -0300

Eli Zaretskii <eliz@gnu.org> writes:

>> Date: Sat, 01 Oct 2022 11:19:43 -0300
>> From:  Wayne Harris via Users list for the GNU Emacs text editor 
>> <help-gnu-emacs@gnu.org>
>> 
>> As far as I can tell in my GNU EMACS, all by buffers relevant to context
>> here are set to UTF-8.  I see the letter U in the first letter of the
>> modeline --- the GNU EMACS status bar.  (I'm on Windows, by the way.)
>
> Bad idea.  See below.
>
>> When I add an UTF-8 message through the command line in ESHELL, it
>> doesn't display properly when I say ``fossil timeline''.  Check it:
>> 
>> --8<---------------cut here---------------start------------->8---
>> %fs add encoding.txt 
>> ADDED  encoding.txt
>> 
>> %fs commit -m 'Naïve commit.'
>> Pull from https://mer@somewhere.edu/test
>> Round-trips: 1   Artifacts sent: 0  received: 0
>> Pull done, wire bytes sent: 442  received: 1959  ip: 5.161.138.46
>> New_Version: f4c20ecefc9d04d5fd2548eb4d3008d9ffb759a4deebedd595b222f81eef6b1f
>> Sync with https://mer@somewhere.edu/test
>> Round-trips: 1   Artifacts sent: 2  received: 0
>> Sync done, wire bytes sent: 2342  received: 309  ip: 5.161.138.46
>> 
>> %fs timeline
>> === 2022-10-01 ===
>> 14:03:28 [f4c20ecefc] *CURRENT* Naïve commit. (user: mer tags: trunk)
>> [...]
>> --8<---------------cut here---------------end--------------->8---
>> 
>> However, if instead of the command-line, I use a regular GNU EMACS
>> buffer, it works just fine.
>> 
>> --8<---------------cut here---------------start------------->8---
>> %echo kkk >> encoding.txt 
>> 
>> %fs commit
>> Pull from https://mer@somewhere.edu/test
>> Round-trips: 1   Artifacts sent: 0  received: 0
>> Pull done, wire bytes sent: 437  received: 2118  ip: 5.161.138.46
>> emacsclientw ./ci-comment-A2803F45F10B.txt
>> Waiting for Emacs...
>> Pull from https://mer@somewhere.edu/test
>> Round-trips: 1   Artifacts sent: 0  received: 0
>> Pull done, wire bytes sent: 441  received: 2118  ip: 5.161.138.46
>> New_Version: 09ea1b5d5b8d776d61a74bb412cd58bd8b6f82323c2f539a1eb0d915f7026f20
>> Sync with https://mer@somewhere.edu/test
>> Round-trips: 1   Artifacts sent: 2  received: 0
>> Sync done, wire bytes sent: 2496  received: 309  ip: 5.161.138.46
>> 
>> %fs timeline
>> === 2022-10-01 ===
>> 14:09:39 [09ea1b5d5b] *CURRENT* Naiveté. (user: mer tags: trunk)
>> --8<---------------cut here---------------end--------------->8---
>> 
>> Who is mangling my command-line arguments and why?  Thank you!
>
> You cannot use UTF-8 for encoding command-line arguments of
> subprocesses on MS-Windows.  Use your system's codepage instead.  This
> means make sure the Eshell buffer's value of buffer-file-coding-system
> is your system codepage, not UTF-8.

I'm glad I added that parenthesis about Windows.  (Thank you for the info!)

However, I still did not manage to get this right.  Could it be that I
don't know what my codepage is?  When I run ``chcp'', I get 850.

--8<---------------cut here---------------start------------->8---
C:\Users\mer>chcp
Active code page: 850
--8<---------------cut here---------------end--------------->8---

Then in ESHELL I type:

--8<---------------cut here---------------start------------->8---
%(setq buffer-file-coding-system 'cp850-dos)
cp850-dos

%echo naive >> encoding.txt 

%fs commit -m 'Naïve.'
[...]
Sync done, wire bytes sent: 2882  received: 309  ip: 5.161.138.46

%fs timeline
=== 2022-10-01 ===
18:26:22 [c7835d354b] *CURRENT* Naïve. (user: mer tags: trunk)
[...]
New_Version: c7835d354b[...]
%
--8<---------------cut here---------------end--------------->8---




reply via email to

[Prev in Thread] Current Thread [Next in Thread]