Elisp严格模式

时间:2015-07-12 20:50:15

标签: emacs elisp strict

我是Emacs Lisp的新手,感觉就像它缺乏严格性(以及名称空间等等)。

为了更加舒服,我需要一个  如果我使用deprecatedobsolete函数或变量(甚至更好 - 隐藏它们),使解释器/字节编译器抱怨很多的方法。为什么这看起来不那么简单,删除相应的.el包不起作用是显而易见的 - 某些遗留代码可能需要它们。

此外,如果可能,关闭所有别名将是很好的。在我看来,他们只是为了向后兼容,我不需要。因为设置这个全局可以破坏某些东西,我希望在JavaScript中有类似use strict的东西,它可以应用于内部体,因此效果整齐地本地化。

不要误解我的意思,我认为Elisp的全局命名空间就像转储,如果它可以更清洁,为什么不呢?

用一句话来说:如何使Elisp全局命名空间过时且不可弃,尽可能轻薄

1 个答案:

答案 0 :(得分:3)

我不知道Emacs内置的Emacs Lisp linter。

我为自己的代码做了两件事,试图确保一定程度的清洁。

首先,我确保对代码进行字节编译并不会给出任何错误或警告。字节编译器会进行一定程度的检查。

其次,我启用了词法绑定。这使得字节编译器可以检测到更多可能的警告。

这是您使用内置工具可以做的最好的事情。如果你想要更进一步,你可以编写自己的树步行器来执行你喜欢的任何其他测试。