progn浏览经验丰富的Emacs用户的配置文件时,已经看到了很多使用情况。我找到了这个很好的解释progn,但是我真正好奇的是,使用此功能的好处是什么?以以下片段为例(摘自Sacha Chua的配置):
(use-package undo-tree
:defer t
:ensure t
:diminish undo-tree-mode
:config
(progn
(global-undo-tree-mode)
(setq undo-tree-visualizer-timestamps t)
(setq undo-tree-visualizer-diff t)))
上面的配置与此之间有什么主要区别吗?
(use-package undo-tree
:defer t
:ensure t
:diminish undo-tree-mode
:config
(global-undo-tree-mode)
(setq undo-tree-visualizer-timestamps t)
(setq undo-tree-visualizer-diff t))
我觉得第一个示例在某种程度上来说更干净,尽管它具有更多的语法,并且我的直觉是使用可能会带来某种性能提升progn,但是我不确定。感谢您的任何见解!
progn需要一个示例:emacs.stackexchange.com/questions/39172/…–
use-package包裹一个progn。尝试一下:您可以将指针放在a的末尾(use-package ...)并调用M-x pp-macroexpand-last-sexp以查看宏的扩展方式。您将看到这两个示例是相同的。