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

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

bug#15337: 24.3.50; [PATCH] cd to directory name with french accent fail


From: Thierry Volpiatto
Subject: bug#15337: 24.3.50; [PATCH] cd to directory name with french accent fail from term/ansi-term
Date: Thu, 12 Sep 2013 07:11:00 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Eli Zaretskii <address@hidden> writes:

>> From: Thierry Volpiatto <address@hidden>
>> Cc: address@hidden
>> Date: Wed, 11 Sep 2013 16:12:28 +0200
>> 
>> > IOW, please dig deeper and tell where did the unibyte string in
>> > cd-path come from, because I don't see why would it be TRT to decode
>> > it where you suggest; perhaps I'm missing something.
>> 
>> I am using emacs -Q here and CDPATH is empty (I don't use it).
>> (getenv "CDPATH") => nil
>> env | grep CDPATH => empty too.
>> 
>> cd is working as expected from emacs itself, but when used from term,
>> the string "~/Téléchargement" is
>> "/home/thierry/T\303\251l\303\251chargements"
>> so `file-directory-p' fails on
>> "/home/thierry/T\303\251l\303\251chargements"
>> And the CDPATH error is called.
>> 
>> So the patch I send fix the problem but yes maybe the decoding should
>> occur somewhere in term.el instead when sending the string to `cd'.
>
> If you cannot figure out where does the unibyte string come from,
> please provide a test case starting from "emacs -Q".  Thanks.

So from emacs -Q

(I repeat my initial message)

M-x ansi-term
cd ~/Téléchargements/

Debugger entered--Lisp error: (error "No such directory found via CDPATH 
environment variable")
  signal(error ("No such directory found via CDPATH environment variable"))
  error("No such directory found via CDPATH environment variable")
  cd("/home/thierry/T\303\251l\303\251chargements")
  #[(string) "\306\232\203\307\207\310H\311U\2031\312\313\314#\312\313     
T#\314 O\315  T\nO!\fB\211,address@hidden" [string first-colon second-colon 
filename fileline term-pending-frame "" t 0 26 string-match ":" 1 
string-to-number 47 cd nil] 4]("//home/thierry/T\303\251l\303\251chargements")
  term-emulate-terminal(#<process *ansi-term*> 
"\n//home/thierry/T\303\251l\303\251chargements\n[01;address@hidden:[01;34m~/T\303\251l\303\251chargements[00m$
 ")

-- 
Thierry
Get my Gnupg key:
gpg --keyserver pgp.mit.edu --recv-keys 59F29997 






reply via email to

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