202_emacs lisp error提示

         完整的common lisp的学习集合整理如下:

         https://github.com/GreyZhang/g_lisp

         首先,看看我遇到的代码:

         其实,这种形式我们接触过Python的人很容易习惯,这个error的代码使用格式与Python的print函数十分相似。通过内置的帮助文档,看一下这个函数的用法:

         之前看了几个函数的帮助信息,函数或者变量都是在C代码中定义的。这一次看到的这个函数,是使用lisp代码定义的,并且是编译后的。编译的话,我们可以理解为也是为了针对这个机器进行速度上的优化。文档中提到了大家的一个约定,错误的信息一般是以大写字母开始的,但是不会以句号结束。同时,注意项也算是跟我熟悉的python狠不一样的地方,解析的时候不能够解析直接的数值,那么是需要解析变量?后面,这部分我会做一个测试。

         正好,一直对emacs的实现感到好奇,我直接看看这个函数的源代码,看看是啥样子。找到了一个代码文件,信息如下:

         看起来,从本质上讲,这个函数的基础是一个叫做signal的函数啊!还是很有意思的。

         接下来,验证下上面文档中提到的数值不会被解析是一个什么情况。测试代码如下:

         执行结果:

         这有点奇怪了,这样是可以直接解析出来的。那么,文档中的描述是一个什么含义呢?尝试做了两个修改:

         效果还是OK,看起来我英语或许需要补习了。或许,这句话的意思是,这个函数生成的提示中不会包含格式化的提示符,诸如%等吧?

         在我的配置中,增加一个error提示看看emacs启动时候的影响:

         启动效果如下:

         只看文本提示的话这个现象不是很明显,只有一个字符串的提示而已。其实,这里有一个更加有意思的现象:我的emacs的主题变化了!为什么呢?其实是因为error触发之后,后面的配置没有生效!

其他的lisp相关的学习笔记汇总,可以参考如下链接:

         https://github.com/GreyZhang/g_lisp

 

发布了812 篇原创文章 · 获赞 163 · 访问量 172万+

猜你喜欢

转载自blog.csdn.net/grey_csdn/article/details/104170167