该钩子用于自动为缓冲区中的文本分配文本视觉样式。 它是即时锁定模式实现的一部分,供字体锁定模式使用。
该变量保存一组函数,Emacs 重绘时会在重绘前按需调用它们。
即使未启用字体锁定模式,这些函数依然会被调用。
启用字体锁定模式时,该变量通常只包含一个函数 jit-lock-function。
函数按列表顺序依次调用,参数为缓冲区位置 pos。 它们应共同为当前缓冲区中从 pos 开始的文本分配文本视觉样式。
函数应通过设置 face 属性来记录所分配的样式,
同时为所有已分配样式的文本添加非 nil 的 fontified 属性。
该属性告知重绘引擎这些文本已完成样式分配。
如果 pos 之后的字符已带有非 nil 的 fontified 属性,
函数最好不执行任何操作,但这并非强制要求。
若某个函数覆盖了前面函数的分配结果,
则以最后一个函数执行完毕后的属性为准。
为提升效率,建议编写这些函数时, 每次调用大致为 400 到 600 个字符分配样式。
注意,若缓冲区文本包含极长行,
这些函数的调用效果类似于在 with-restriction 形式中执行(see 范围限制),
带有 long-line-optimizations-in-fontification-functions 标记,
且缓冲区被缩小至 pos 附近区域。