I've sent a message to the EFS mailing list, but got no answer.
Possibly I didn't do it right, so I'll reread the instructions
and send a more informative message as soon as I have the time
to do it.
De : Stephen J. Turnbull [mailto:turnbull＠sk.tsukuba.ac.jp]
Envoye : vendredi 22 juin 2001 01:49
A : Lionel Fourquaux
Cc : xemacs-beta(a)xemacs.org; mike(a)xemacs.org
Objet : forwarded message from Lionel Fourquaux
This will have to be fixed by the EFS maintainers. You should send
all bug reports concerning packages to the appropriate maintainers.
In many cases Lisp packages are externally maintained and we just
distribute the packages.) Forwarding to the leading maintainer, just
In this case we appreciate the report here too, since obviously it's a
generic problem with Lisp programs that any "expect"-type application
>>>>> "Lionel" == Lionel Fourquaux
Lionel> The problem seems to come from a localized message from
Lionel> ftp.exe (the one that comes with Windows 2000).
Is this message "localized" (ie, hard-coded) or "internationalized"
(using switchable catalogs, with the appropriate language -- English
-- available on your machine)?
Unfortunately, it is localized. (Messages are hard-coded in the
resource section of ftp.exe.) I understand that MS is increasingly
moving toward internationalization instead of localization, but
it's not the case yet.
That is, suppose you set the environment variable "LANG" to "C". Do
you then get the French message, or do you get English?
It's still in French. :-((
The "right" solution to this kind of problem (short of AI) is to make
the program speak the language that EFS expects. Emacs Lisp currently
doesn't provide appropriate facilities for this, but it should. In
the meantime, EFS can probably get away with temporarily setting
LANG=C in Emacs's environment, starting the FTP process, then
resetting it to whatever. (I don't know that the EFS maintainers will
choose that solution, that's just the one I suggest.)
In the long run, I think XEmacs should grab the user's locale out of
the environment, stash it somewhere for reference (eg, to set up input
methods), and then set its internal locale to "C" so that processes
will start in a known state.
It won't work for localized programs. However, I don't know
what can be done for this case. Let's hope they will disappear soon!