问题描述
我使用ropemacs编写python源代码,这是.emacs的相关部分:
(defun my-python-hook-mode ()
(interactive)
(require 'pymacs)
(autoload 'pymacs-apply "pymacs")
(autoload 'pymacs-call "pymacs")
(autoload 'pymacs-eval "pymacs" nil t)
(autoload 'pymacs-exec "pymacs" nil t)
(autoload 'pymacs-load "pymacs" nil t)
(ac-ropemacs-setup)
(setq ropemacs-confirm-saving 'nil)
(ropemacs-mode t)
(define-key python-mode-map "\C-m" 'newline-and-indent)
)
(add-hook 'python-mode-hook 'my-python-hook-mode)
以上适用于以python-mode打开的文件。 但是由于某种原因(未知),emacs将以jython-mode处理一些.py文件。
每次在jython模式下打开文件时,函数“ my-python-hook-mode”都会被调用两次,并且会出现一条警告消息(到目前为止没有发现副作用):
切换ropemacs模式关闭; 最好传递一个明确的论点。
任何人遇到这样的问题? 谢谢。
1楼
从您的描述中可以看出, jython-mode
具有自己的钩子,这些钩子在运行python-mode
的钩子后运行。
这也是Mx describe-function
jython-mode
显示的。
此功能可能是通过这两个挂钩执行的。
在文件的第一行输入注释以指示文件的模式,应该可以帮助Emacs选择最适合您的主要模式,并停止警告。