3

我正在尝试创建一个函数,该函数通过将其替换为显示在同一帧上的 Tabbar 组中的选项卡的缓冲区列表来修改帧的缓冲区列表。

这是返回所选框架上显示的 Tabbar 组中的选项卡列表的片段:

(mapcar (lambda (tab)
  (buffer-name (tabbar-tab-value tab)))
    (tabbar-tabs (tabbar-current-tabset t)))

以下函数返回nil而不是所需的修改缓冲区列表。任何想法将不胜感激。

(defun new-buffer-list ()
(interactive)
  (message "Original Buffer List:  %s" (frame-parameter (selected-frame) 'buffer-list))
  (setq new-list
    (mapcar (lambda (tab)
      (buffer-name (tabbar-tab-value tab)))
        (tabbar-tabs (tabbar-current-tabset t))))

  (modify-frame-parameters (selected-frame) (list (cons 'buffer-list new-list)))
  (message "The variable \"new-list\":  %s" new-list)
  (message "Modified Buffer List:  %s" (frame-parameter (selected-frame) 'buffer-list)))
4

1 回答 1

2
(frame-parameter 'nil 'buffer-list)

返回缓冲区列表,而不是它们的名称;因此你可能想要替换

(lambda (tab) (buffer-name (tabbar-tab-value tab)))

'tabbar-tab-value

于 2013-08-07T19:56:16.957 回答