从Lisp调用组织内容不起作用

问题描述 投票:0回答:1

当我从活动缓冲区中调用组织内容时,我得到了想要的轮廓。但是,如果我在这样的lisp函数中使用它,则]

(split-window-right (truncate (* W 0.75)))
    (if (get-buffer "inbox.org")
        (set-window-buffer nil "inbox.org")
      (progn
        (find-file "~/Documents/GTD/inbox.org")
        (text-scale-set -1)))
    (org-content)

Windows分裂,正确的缓冲区被加载,但是组织内容位似乎没有任何作用。关于我做错什么的任何想法?

谢谢,

Jouke

elisp org-mode
1个回答
0
投票
这是一个可复制的示例,打开一个名为test.org的新缓冲区,并在*scratch*缓冲区中定义以下函数:

(defun test () (let ((buffer (get-buffer "test.org"))) (when buffer (set-window-buffer nil buffer) (message "%s" (current-buffer)))))

正在输出的消息是*scratch*,仅更改了与窗口关联的缓冲区,但是emacs认为当前缓冲区仍然是*scratch*

如果改为使用switch-to-buffer,如下所示,消息将显示所选的缓冲区:

(defun test () (let ((buffer (get-buffer "test.org"))) (when buffer (switch-to-buffer buffer) (message "%s" (current-buffer)))))

对代码应用相同的更改会使(org-content)感到高兴。
© www.soinside.com 2019 - 2024. All rights reserved.