caracteres do modo de texto emacs UTF-8

2

Não consigo obter o emacs (versão 24.4.1) no modo de texto ( -nw launch option) para exibir caracteres Unicode diretamente. Os resultados são apresentados na forma de escape, por ex. ä se torna 4 . Quando eu salvo o arquivo, ele é codificado como ISO-8859 , mesmo que a localidade do meu sistema seja en_US.UTF-8 .

O próprio terminal pode exibir caracteres Unicode fora do emacs; por exemplo, no bash, ä se torna ä . Ele também funciona no aplicativo emacs X (sem -nw ).

Estou executando xterm -u8 (mesmo resultado usando uxterm ) no Arch Linux 3.19.3-3 com o gnome-shell 3.16.0-2.

localectl output:

   System Locale: LANG=en_US.UTF-8
       VC Keymap: sv-latin1
      X11 Layout: se
       X11 Model: pc104

locale output:

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

Como a única área problemática é o emacs no modo terminal, estou supondo que é onde está o problema. Alguma idéia?

Atualização:

~/.emacs :

(prefer-coding-system       'utf-8)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)

(setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING))
(custom-set-variables
 ;; custom-set-variables was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(ansi-color-names-vector
   ["#2d3743" "#ff4242" "#74af68" "#dbdb95" "#34cae2" "#008b8b" "#00ede1" "#e1e1e0"])
 '(current-language-environment "UTF-8")
 '(custom-enabled-themes (quote (manoj-dark)))
 '(font-use-system-font t)
 '(inhibit-startup-screen t)
 '(tool-bar-mode nil))
(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 )

Eu tentei comentar todas as linhas do arquivo, mas o resultado foi o mesmo depois.

    
por dhag 13.04.2015 / 09:20

1 resposta

0

Depois de alguns mexer, descobri que era relacionado ao sistema e não ao emacs. Aparentemente, minhas configurações de localidade foram bagunçadas de alguma forma, como vimos no OP:

locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory

O que eu fiz para resolvê-lo:

Em /etc/locale.gen , descomente / adicione a linha que diz en_US.UTF-8 UTF-8 . Certifique-se de que seja a única linha não comentada. Ele deve funcionar com qualquer outra configuração de UTF-8 se você preferir usar uma delas. Um método de força bruta seria:

$ sudo bash -c 'echo en_US.UTF-8 UTF-8 > /etc/locale.gen'

Depois disso, geramos as configurações de localidade e as armazenamos na configuração do sistema:

$ sudo locale-gen
$ sudo bash -c 'locale > /etc/locale.conf'

Você pode atualizar as configurações sem reiniciar, mas não encontrei um jeito.

    
por 22.04.2015 / 17:47