我的.emacs
文件中有以下代码段来切换帧中给定Emacs窗口(即窗格)的最大化。在引入Emacs 24.3之前,这段代码很有用。
(defun toggle-maximize-buffer () "Maximize buffer"
(interactive)
(if (= 1 (length (window-list)))
(jump-to-register '_)
(progn
(set-register '_ (list (current-window-configuration)))
(delete-other-windows))))
(global-set-key (kbd "M-F") 'toggle-maximize-buffer)
当我现在使用M-F
最大化窗格时,它运行良好,但是当我取消最大化(再次使用M-F
)时,我收到错误:
Wrong type argument: integer-or-marker-p, nil
我不知道为什么会这样。这个新版本有什么重大变化吗?
答案 0 :(得分:1)
我不知道可能会有什么变化。但是,您不应该使用寄存器进行编程。以下代码使用变量而不是错误:
(defun toggle-maximize-buffer () "Maximize buffer"
(interactive)
(if (= 1 (length (window-list)))
(set-window-configuration my-saved-window-configuration)
(progn
(setq my-saved-window-configuration (current-window-configuration))
(delete-other-windows))))