以下是一些最近引入的函数的简要概述。
while重复评估表达式体的主体,只要体的第一个元素测试为真。然后返回nil。(仅为了其副作用而评估表达式。)
例如:
(let ((foo 2))
(while (> foo 0)
(insert (format "foo is %d.\n" foo))
(setq foo (1- foo))))
⇒ foo is 2.
foo is 1.
nil
(insert函数在光标处插入其参数;format函数根据其参数的方式返回一个字符串,就像message格式化其参数一样;\n产生一个新行。)
re-search-forward搜索模式,如果找到模式,则将光标移动到其后。
与search-forward相似,接受四个参数:
nil或错误消息。
let*在本地将一些变量绑定到特定值,然后评估其余参数,返回最后一个的值。在绑定本地变量时,使用先前绑定的变量的本地值(如果有)。
例如:
(let* ((foo 7)
(bar (* 3 foo)))
(message "`bar' is %d." bar))
⇒ ‘bar’ is 21.
match-beginning返回由上一次正则表达式搜索找到的文本的起始位置。
looking-at如果光标后的文本与参数匹配(应为正则表达式),则返回t为真。
eobp如果光标位于缓冲区的可访问部分的末尾,则返回t为真。如果缓冲区没有缩小,则可访问部分的末尾是缓冲区的末尾;如果缓冲区已经缩小,则可访问部分的末尾是缩小部分的末尾。