此函数可让你直接比较缓冲区中文本的片段,无需先将其复制为字符串。
此函数可比较同一缓冲区或两个不同缓冲区中的两个子串。
前三个参数指定一个子串,给出一个缓冲区(或缓冲区名)及其内的两个位置。
后三个参数以相同方式指定另一个子串。
你可以对 buffer1、buffer2 或两者使用 nil,表示当前缓冲区。
若第一个子串更小,返回值为负数;若更大则为正数;相等则为零。 结果的绝对值为子串内首个不同字符的索引加一。
若 case-fold-search 非 nil,此函数在比较字符时忽略大小写。
它始终忽略文本属性。
假设当前缓冲区中包含文本 ‘foobarbar haha!rara!’,则在本例中两个子串分别为 ‘rbar ’ 与 ‘rara!’。 返回值为 2,因为第一个子串在第二个字符处更大。
(compare-buffer-substrings nil 6 11 nil 16 21)
⇒ 2