我使用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-mode 中打开文件时,函数“my-python-hook-mode”被称为两次,并且有一条警告消息(到目前为止没有发现任何副作用):
关闭ropemacs-mode;更好地传递一个明确的论点。
有人遇到过这样的问题吗?感谢。
答案 0 :(得分:0)
从您的描述中可以看出,jython-mode
有自己的挂钩,在运行python-mode
的挂钩后运行。这也是M-x describe-function
jython-mode
所显示的内容。这个函数可能是通过这两个钩子执行的。
在文件的第一行输入注释以指示文件的模式应该有助于Emacs选择最适合您的主要模式,并停止警告。