217_emacs lisp创建目录
完整的common lisp的学习集合整理如下:
https://github.com/GreyZhang/g_lisp
继续分析spacemacs配置,代码如下:
上面代码中,有一个之前没有接触的函数make-directory。从名称上看,这个功能应该类似于mkdir之类的命令。查看一下内置的帮助信息如下:
这是一个特殊的命令,具有交互式的操作效果。之前分析spacemacs的过程中其实遇到过一个类似的功能是load。如果创建目录失败的时候,这个会报错。
看一下elisp文档:
这里有一个模式的参数,其实上面的帮助信息中也提到了。如果加了一个non-nil的参数,这个功能可以理解为:没有目录的时候创建目录。同时,这里也给出了一个别名,正好是我熟悉的mkdir。查看mkdir的帮助信息如下:
为什么开发者使用全名而不用这个别名呢?或许这更lisp,也具有更好的可读性吧!
做几个测试:
这是交互式命令的测试结果。
创建成功,返回信息位nil?
已经存在的文件,创建会有相应的提示。
其他的lisp相关的学习笔记汇总,可以参考如下链接: