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

Re: GNU screen, emacs, eñes y acentos



On Fri, May 19, 2006 at 11:42:33PM -0300, Gabriel Parrondo wrote:
> Hola listeros, tengo un problema bastante molesto.
> 
> Cuando uso emacs a través de screen, este reconoce la pulsación de la 
> "ñ" como M-q (o sea, Alt+q) y los acentos no se como que, pero vuelve 
> atrás algunas lineas si hago 'a (para hacer una a con tilde) o cualquier 
> otra letra.
> El teclado está bien configurado como español, ya que todas las demás 
> teclas funcionan bien... y estas teclas "problemáticas" funcionan 
> perfectamente en otras aplicaciones.
> 
> Alguien sabe que tengo que tocar en la conf. de screen o emacs para que 
> funcione todo bien?

Esto es un poquito complicado: Por alguna razón que no he logrado
entender, emacs bajo screen supone que la terminal es una *muy* viejita
que solo envia caracteres ASCII, es decir < 128. Y supone que, como era
común en esas terminales, el 'high-bit' significa que presionaste la
tecla con 'meta'. O sea, el problema que estás viendo.

Entonces, lo que hay que hacer, es decirle a emacs que eso no es cierto.
Eso se hace configurando el 'input method'. Pero no es buena idea
simplemente cambiar el default, por que entonces pasan cosas raras
cuando lo usas bajo X.

Entoooonces, lo que hay que hacer es cambiar el _input method,_ *cuando
estamos en la consola.* Pero el mismo Emacs puede tener _frames_ en X y en
la consola. Entooooooonces, hay que cambiar el _input method_ sólo de
aquellos _frames_ que están en la consola.

¿Todavía conmigo? Pon en tu .emacs (.xemacs/init.el si usas xemacs)

------------------------------------------------------------------------
;; Función que pone el input method 'nil' si el frame actual está en
;; consola. El input method nil no interpreta el 'high-bit'
(defun vk-fix-xterm (&optional console)
  (set-input-mode (car (current-input-mode))
                  (nth 1 (current-input-mode))
                  0 nil console))

;; Ponemos la función anterior en el hook de creación de frames
(add-hook 'create-frame-hook 'vk-fix-xterm)
------------------------------------------------------------------------

Y cuentame si sirve, por que yo sólo lo he probado en xemacs :-)

Otra opción, por supuesto, sería cambiar el _termcap_ de screen, para
que reporte ser una terminal más moderna. Pero eso está completamente
más allá de mi alcance.

-- 
Rodrigo Gallardo
PGP Key ID:  ADC9BC28 
Fingerprint: 7C81 E60C 442E 8FBC D975  2F49 0199 8318 ADC9 BC28

Attachment: signature.asc
Description: Digital signature


Reply to: