覆盖箭头(overlay arrow) 用于引导用户关注缓冲区中的特定行。 例如,在调试器交互模式中,覆盖箭头指示即将执行的代码行。 该功能与 覆盖层(overlays) 无关 (see 覆盖层)。
该变量保存用于标记特定行的显示字符串,
若未启用箭头功能则为 nil。
在图形化显示中,若左侧侧边栏可见,字符串内容将被忽略,
转而在显示区域左侧的侧边栏区域显示一个字形。
该变量保存一个标记,指示覆盖箭头的显示位置, 应指向行首。在非图形化显示或左侧侧边栏不可见时, 箭头文本会显示在该行开头,覆盖原本应出现的文本。 由于箭头通常较短且行首一般有缩进, 通常不会覆盖重要内容。
若缓冲区中 overlay-arrow-position 的值指向该缓冲区,
则会在该缓冲区显示覆盖箭头字符串。
因此可通过为 overlay-arrow-position 创建缓冲区局部绑定
显示多个覆盖箭头字符串。不过更简洁的方式是使用
overlay-arrow-variable-list 实现该效果。
也可以通过创建带有 before-string 属性的覆盖层实现类似效果。See 覆盖层属性。
可通过变量 overlay-arrow-variable-list 定义多个覆盖箭头。
该变量的值为变量列表,每个变量指定一个覆盖箭头的位置。
overlay-arrow-position 之所以具有常规含义,
是因为它在该列表中。
该列表中的每个变量可带有属性
overlay-arrow-string 和 overlay-arrow-bitmap,
分别指定在对应位置显示的覆盖箭头字符串
(用于文本终端或无左侧侧边栏的图形终端)
或侧边栏位图(用于带左侧侧边栏的图形终端)。
若未设置任一属性,则使用默认的
overlay-arrow-string 或 overlay-arrow 侧边栏指示器。