Claves muertas en emacs con ibus

13

Acabo de actualizar a 13.10 y me di cuenta de que las teclas muertas ya no funcionan en emacs (una pulsación de tecla 'lleva a emacs a mostrar en <dead-acute> is undefinedlugar de esperar a la siguiente tecla. Además, el uso de la tecla de composición conduce a <Multi_key> is undefinedy es imposible use combinaciones de teclas como <M-^>. Otras aplicaciones funcionan bien hasta donde puedo decir.

Una búsqueda en Internet breve sugiere (require 'iso-transl)a .emacs. Esto resuelve el primer problema, pero no los otros.

Otra posible solución que se ve en la web es lanzar emacs con una XMODIFIERSvariable vacía , ya que XMODIFIERS='' emacs, en lugar de lo XMODIFIERS= @im=ibusque parece ser el valor predeterminado en 13.10. Entonces todo funciona bien, pero parece un error. ¿Hay alguna manera de hacer que emacs funcione con ibus en este tema?

Actualización: Observo el mismo comportamiento en 14.04.

Actualización: contenido de .dmrclo solicitado en los comentarios:

[Desktop]
Session=xubuntu
Language=fr_FR
Layout=us       intl
Langlist=fr_FR:en
LCMess=fr_FR.UTF-8
Virgile
fuente
El nombre correcto del paquete es iso-transl(tenga en cuenta el guión.)
Lars Haugseth
@LarsHaugseth bien visto, gracias. He editado la pregunta en consecuencia.
Virgile
Uso emacs con las teclas AltGr Dead y funciona bien.
Charo
¿Qué versión de emacs tienes?
Charo
@Charo GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK + Versión 3.10.7) del 07/03/2014 en lamiak, modificado por Debian. Todavía tengo este problema en 14.04, actualizaré la pregunta en consecuencia
Virgile

Respuestas:

2

Aquí están las cosas que puedes probar.

Edite el archivo ~ / .dmrc y asegúrese de establecer estas líneas en él:

Language=en_US.utf8
Langlist=en_US:en
LCMess=en_US.UTF-8

Edite el archivo ~/.emacsy agregue estas líneas en lugar de (require 'iso-transl) :

(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(setq default-input-method "latin-1-prefix")
(defun my-set-default-input-method ()
  (set-input-method 'latin-1-prefix))
(add-hook 'text-mode-hook 'my-set-default-input-method)

Usted tendrá que añadir una línea similar a la anterior si utiliza las teclas muertas con otros modos en emacs (por ejemplo, latex-mode, tex-mode, html-mode...).

Cierre sesión y luego vuelva a iniciar sesión.

Aun así, si alguna vez le sucede que las claves muertas no funcionan dentro de emacs, intente escribir C-\y ver si funcionan.

Actualizar:

Si eso no funciona, lo único que se me ocurre es que defina dos distribuciones de teclado en la configuración de su sistema

  • Llaves muertas internacionales en inglés de EE. UU. (La que tienes)
  • Inglés EE. UU.

y agregue un selector de distribución de teclado de la manera explicada aquí:

¿Cómo cambiar la combinación de teclado de idioma?

Cuando trabaje con emacs, elija el diseño "English US". Si ha agregado a su .emacsarchivo las líneas que mencioné anteriormente, esto forzará a su teclado a comportarse como un "teclado de teclas muertas" dentro de emacs. Sé que esto puede ser molesto, pero es la única solución a su problema que se me ocurre.

Charo
fuente
He agregado las líneas en cuestión, pero esto no cambia nada. Tampoco `C-`. Gracias por las sugerencias de todos modos.
Virgile
Intente cambiar algunas líneas en su archivo ~ / .dmrc como se indica en mi respuesta.
Charo
Pero, ¿no significa esto que el idioma de mi sesión será el inglés?
Virgile
@Virgile: Pero veamos si de esa manera el problema desaparece. Después de intentarlo, siempre puede volver a su configuración regional francesa modificando su archivo ~ / .dmrc nuevamente. He leído eso aquí .
Charo
@Virgile: Vea la "Actualización" de mi respuesta.
Charo