From 6e1d64ce2c3dfb3a0ff721aed80d35fd47f89522 Mon Sep 17 00:00:00 2001 From: Matthew White Date: Fri, 18 Jun 2021 16:15:45 +0200 Subject: persp-mode: properly restore header-line-format default value Do not use the buffer local value of 'header-line-format' when setting its default value upon disabling 'persp-mode'. This solves a weird behavior. Disabling 'persp-mode' sets the default value of 'header-line-format' to the buffer local value. i.e. turning off 'persp-mode' while in *Buffer List* will set the header of buffers which do not use a local value to the same header of *Buffer List*. --- perspective.el | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/perspective.el b/perspective.el index 9827f93..24649ee 100644 --- a/perspective.el +++ b/perspective.el @@ -1101,10 +1101,11 @@ named collections of buffers and window configurations." (setq read-buffer-function nil) (set-frame-parameter nil 'persp--hash nil) (setq global-mode-string (delete '(:eval (persp-mode-line)) global-mode-string)) - (set-default 'header-line-format (delete '(:eval (persp-mode-line)) header-line-format)) - (unless (delete "" header-line-format) - ;; need to set header-line-format to nil to completely remove the header from the buffer - (set-default 'header-line-format nil)))) + (let ((default-header-line-format (default-value 'header-line-format))) + (set-default 'header-line-format (delete '(:eval (persp-mode-line)) default-header-line-format)) + (unless (delete "" default-header-line-format) + ;; need to set header-line-format to nil to completely remove the header from the buffer + (set-default 'header-line-format nil))))) (defun persp-init-frame (frame) "Initialize the perspectives system in FRAME. -- cgit v1.0