如何在 Emacs `org-mode` 中检查变量是否具有缓冲区本地值?

How can I check whether a variable has a buffer-local value in Emacs `org-mode`?

如何检查 org-drill-cram-hours 的值是否已在缓冲区 (emacs-org-mode) 中设置?

# Local Variables:
# org-drill-cram-hours: 0
# org-drill-hide-item-headings-p: t
# End:
  1. 我在 TOP OF MY 组织模式缓冲区中有以上内容。
  2. 添加这些值后,我使用 C-x C-v 重新打开了文件。
  3. 我不认为局部变量值已设置,因为当我 运行 org-drill-cram 时,它没有按预期执行(即遍历所有缓冲点)。

我想检查为 org-drill-cram-hours 设置的本地值,但是当我这样做时 C-h v org-drill-cram-hours,我没有看到缓冲区本地值。

org-drill-cram-hours is a variable defined in ‘org-drill.el’.
Its value is 12

我错过了什么?我不想使用 setqC-h v variable 来设置值。

P.S.
(但是,如果我通过 C-h v var 更改变量值,则 org-drill-cram 会按预期工作。)

只需使用 C-h v org-drill-cram-hours 缓冲区电流

这告诉您 (1) 缓冲区局部值(如果有)和 (2) 全局值。如果它没有指定缓冲区本地值,那么您还没有为该缓冲区定义一个值。


例如,如果缓冲区 foobar 具有缓冲区本地值,则 C-h v org-drill-cram-hours 显示如下:

org-drill-cram-hours is a variable defined in `org-drill.el'.
Its value is 0
Original value was 12
Local in buffer foobar; global value is 12