带有关键字的Emacs Lisp内置缩进问题 起初的
比如说,我有一个这样的函数:带有关键字的Emacs Lisp内置缩进问题 起初的,emacs,elisp,keyword,code-formatting,indentation,Emacs,Elisp,Keyword,Code Formatting,Indentation,比如说,我有一个这样的函数: (defun my-function () "This is my function." :his-keyword xxx :her-keyword yyy (his-function) (her-function)) 在为Emacs Lisp应用Emacs内置缩进后,我得到: (defun my-function () "This is my function." :his-keyword xxx :her-keyword yy
(defun my-function ()
"This is my function."
:his-keyword xxx
:her-keyword yyy
(his-function)
(her-function))
在为Emacs Lisp应用Emacs内置缩进后,我得到:
(defun my-function ()
"This is my function."
:his-keyword xxx
:her-keyword yyy
(his-function)
(her-function))
当然,我希望它能保持原样,所以对我来说就像一只虫子。有人知道如何拦截这种行为吗?或者我应该提交一份bug报告?我在EMACS24.3上
更新
我想出来了 我一直在使用
elisp模式扩展emacs lisp模式
,以便添加更多语法突出显示:
...
(define-derived-mode elisp-mode
fundamental-mode
"EL"
"A major mode for Emacs Lisp."
(emacs-lisp-mode)
...)
(provide 'elisp)
然后在某个地方:
(require 'elisp)
(add-to-list
'auto-mode-alist
'("\\.el" . elisp-mode))
当elisp模式
成功加载时,结果是emacs-lisp模式
没有加载,即使我将(emacs-lisp模式)
放入elisp模式
初始化(见上文)
更改为后:
(define-derived-mode elisp-mode
emacs-lisp-mode
"EL"
"A major mode for Emacs Lisp."
...)
emacs lisp模式
正确打开,缩进最终按预期运行。这很微妙
尽管第二种变体看起来更自然、更正确,但有人能告诉我为什么第一种变体不起作用吗?原始问题
我无法使用emacs-q
和emacs lisp模式
再现此信息,因此您的设置有问题
您必须找出.emacs
中触发此行为的原因,然后报告错误(如果它与记录的行为相矛盾)
回复您的编辑
我认为区别或多或少类似于从另一个类继承的类:
(defclass c1 (c2))
并且具有该类字段:
(defclass c1 () ((a :type c2)))
另见
您可能还想问一个单独的问题。我使用的是24.2.1,但我没有看到这种行为。缩进行函数
在emacs lisp模式下具有值lisp缩进行
。缩进包含您发布的代码的区域时,indent region
将保持不变。@juan.facorro:刚刚更新,请查看。已更新,请查看。