emacs-devel
[Top][All Lists]
Advanced

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

Re: branch master segfault (2019-02-05)


From: Eli Zaretskii
Subject: Re: branch master segfault (2019-02-05)
Date: Wed, 06 Feb 2019 21:46:48 +0200

> From: Philippe Vaucher <address@hidden>
> Date: Wed, 6 Feb 2019 20:00:45 +0100
> Cc: Emacs developers <address@hidden>
> 
> address@hidden:~$ docker run -it --rm silex/emacs:master locale 
> LANG=
> LANGUAGE=
> LC_CTYPE="POSIX"
> LC_NUMERIC="POSIX"
> LC_TIME="POSIX"
> LC_COLLATE="POSIX"
> LC_MONETARY="POSIX"
> LC_MESSAGES="POSIX"
> LC_PAPER="POSIX"
> LC_NAME="POSIX"
> LC_ADDRESS="POSIX"
> LC_TELEPHONE="POSIX"
> LC_MEASUREMENT="POSIX"
> LC_IDENTIFICATION="POSIX"
> LC_ALL=
> ```

That's it: this is the "C" locale, without any codeset being declared
by any of these variables.

> Out of curiosity I might investigate why this happens, but maybe there lies 
> some unharmful bug in emacs
> there that went unnoticed for long because `safe_terminal_coding` just works.

There's no bug, AFAICT.  When Emacs finds that the locale's codeset
doesn't do any encoding, it uses safe_terminal_coding.  The comments
near the code which was segfaulting say that much.
safe_terminal_coding is a coding-system that can handle any character
"safely".

> Is all the detection happening in `setup_coding_system`?

Which detection did you have in mind?  There's no detection inside
setup_coding_system, but to answer your question more fully, I'd like
to understand what exactly are you asking about.  If you are asking
about where does Emacs take the terminal encoding, then this is set up
according to the locale, see set-locale-environment.  If you want to
look into this, I'd start by figuring out why you have the POSIX
(a.k.a. "C") locale in the docker.



reply via email to

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