Eu acho que o seu problema é que seu arquivo .emacs define algo como local-function-key-map
ou input-decode-map
, mas essas variáveis são locais de terminal, o que significa que todo "terminal" (sua GUI é um "terminal" e cada emacsclient conexão através de um texto-teminal será outro "terminal") recebe um valor diferente desta variável.
Então, você precisa reexecutar esse código para cada novo terminal. Você pode fazer isso a partir de after-make-frame-functions
, como sugerido por reza.safiyat, pois ele será executado com mais freqüência do que o necessário (uma vez por quadro, em vez de uma vez por terminal). Mas como isso provavelmente só é necessário para terminais "xterm", outra boa opção é fazer isso em terminal-init-xterm-hook
:
(defun my-text-terminal-keys ()
(define-key input-decode-map ...)
(define-key local-function-key-map ...))
(add-hook 'terminal-init-xterm-hook #'my-text-terminal-keys)
BTW, às vezes uma alternativa é usar function-key-map
, já que é uma variável global e se aplica igualmente a todos os terminais.