¿Cómo deshabilitar el comando-h hide en Emacs Mac Port (railwaycat)?

7

Ejecuto Emacs en Mac OSX, intento cambiar de Emacs para Mac OSX a Emacs Mac Port . Tengo algunos problemas con mis combinaciones de teclas.

Por ejemplo, estoy tratando de vincular command-h a replace-string.

(setq mac-command-modifier 'super)
(define-key key-minor-mode-map (kbd "s-h") 'replace-string)

Esto no funcionó. Así que traté de vincularlo como hiper:

(define-hyper-key "h" 'replace-string)

pero eso tampoco funcionó.

Cambio de otras combinaciones de teclas parece funcionar ( s-o, s-p, etc.).

Esto puede estar relacionado: ¿Cómo vincular "Ocultar otros" a una clave "Msh" en railwaycat / emacs-mac-port?

command-h para replace-stringtrabajos en Emacs para Mac OSX, pero en Emacs Mac Port, solo oculta / minimiza la ventana de la aplicación. ¿Las combinaciones de teclas funcionan de manera diferente en Emacs Mac Port que en Emacs para Mac OSX? ¿Hay algunas combinaciones de teclas codificadas en el puerto Emacs Mac y, si es así, cómo puedo anularlas?

Actualización : Parece que otros están teniendo el mismo problema. https://github.com/railwaycat/emacs-mac-port/issues/78

hombre incandescente
fuente
¿ (define-key global-map [?\s-h] 'replace-string)(setq ns-command-modifier 'super)
Funcionan
No, mismo resultado.
incandescentman
Cambio de otras combinaciones de teclas parece funcionar ( s-o, s-p, etc.).
incandescentman
Si otras combinaciones de teclas funcionan, entonces, ¿qué hay de probar C-h k s-hy ver si se registra, o tal vez el OSX lo está interceptando?
abogados
Eso tampoco funciona. Parece que está siendo interceptado. Pero es algo acerca de la aplicación Emacs Mac Port y no de OSX en sí, ya que con Emacs para Mac OSX funciona.
incandescentman

Respuestas:

14

Encontré la respuesta.

En el puerto Emacs Mac, homite cualquier combinación de teclas de Emacs y, en su lugar, envía un mensaje de "pasar comando al sistema" a Mac OSX, que luego oculta toda la aplicación.

Este es un vestigio de comportamiento de los viejos Carbon Emacs. Para deshabilitarlo, use esto:

(setq mac-pass-command-to-system nil)

Fuente:

http://newsgroups.derkeiler.com/Archive/Comp/comp.emacs/2005-11/msg00091.html
http://comp.emacs.xemacs.narkive.com/dBRWEljn/apple-carbon-emacs-disable-cmd -h-hide

hombre incandescente
fuente