Closed tasmo closed 3 years ago
Stumbled over that as well. Any quick fix for this available?
I managed to fix it by commenting out the instances of "nano-colour-background" in the .el file, and replacing their value with "nil". This is what the top of my .el file now looks like:
;; (color-darken nano-color-background 5)
(defgroup mu4e-thread-folding '() "Group for mu4e thread folding options" :group 'mu4e)
(defface mu4e-thread-folding-root-unfolded-face `((t :extend t :overline nil ;; ,(color-darken nano-color-background 10) :underline nil :foreground nil :background nil ;;,(color-darken (nano-color-background 0)) )) "Face for the root node thread when it is unfolded." :group 'mu4e-thread-folding)
(defface mu4e-thread-folding-root-folded-face '((t :inherit nil :overline nil :underline nil :foreground nil :background nil)) "Face for the root node of a thread when it is folded." :group 'mu4e-thread-folding)
(defface mu4e-thread-folding-child-face `((t :extend t :overline nil :underline nil :foreground nil :background nil ;;,(color-darken (nano-color-background 0)) )) "Face for a thread when it is unfolded (child node)" :group 'mu4e-thread-folding)
Oups, sorry for that. I use it with nano and the nano color background comes from here. We should use the default face background instead. Can you make a PR?
Thanks for putting this together. I just followed the fix proposed by @jeslie0 and I am getting a progn: Wrong type argument: overlayp, nil [9 times]
warning.
Any ideas?
This was the incredibly verbose backtrace:
Debugger entered--Lisp error: (wrong-type-argument overlayp nil)
overlay-put(nil display "▸ ")
(progn (overlay-put root-prefix-overlay (quote display) root-folded-prefix) (overlay-put root-overlay (quote face) root-folded-face))
(if value (progn (overlay-put root-prefix-overlay (quote display) root-folded-prefix) (overlay-put root-overlay (quote face) root-folded-face)) (progn (overlay-put root-prefix-overlay (quote display) root-unfolded-prefix) (overlay-put root-overlay (quote face) root-unfolded-face)))
(progn (overlay-put root-overlay (quote folded) value) (if value (progn (overlay-put root-prefix-overlay (quote display) root-folded-prefix) (overlay-put root-overlay (quote face) root-folded-face)) (progn (overlay-put root-prefix-overlay (quote display) root-unfolded-prefix) (overlay-put root-overlay (quote face) root-unfolded-face))))
(if (or (not thread-id) (string= id thread-id)) (progn (overlay-put root-overlay (quote folded) value) (if value (progn (overlay-put root-prefix-overlay (quote display) root-folded-prefix) (overlay-put root-overlay (quote face) root-folded-face)) (progn (overlay-put root-prefix-overlay (quote display) root-unfolded-prefix) (overlay-put root-overlay (quote face) root-unfolded-face)))))
(let ((id (overlay-get local-root-overlay (quote thread-id))) (root-prefix-overlay (mu4e-headers-get-overlay (quote display) root-prefix-beg))) (setq root-overlay local-root-overlay) (if (or (not thread-id) (string= id thread-id)) (progn (overlay-put root-overlay (quote folded) value) (if value (progn (overlay-put root-prefix-overlay (quote display) root-folded-prefix) (overlay-put root-overlay (quote face) root-folded-face)) (progn (overlay-put root-prefix-overlay (quote display) root-unfolded-prefix) (overlay-put root-overlay (quote face) root-unfolded-face))))))
(if local-root-overlay (let ((id (overlay-get local-root-overlay (quote thread-id))) (root-prefix-overlay (mu4e-headers-get-overlay (quote display) root-prefix-beg))) (setq root-overlay local-root-overlay) (if (or (not thread-id) (string= id thread-id)) (progn (overlay-put root-overlay (quote folded) value) (if value (progn (overlay-put root-prefix-overlay (quote display) root-folded-prefix) (overlay-put root-overlay (quote face) root-folded-face)) (progn (overlay-put root-prefix-overlay (quote display) root-unfolded-prefix) (overlay-put root-overlay (quote face) root-unfolded-face)))))))
(let ((local-child-overlay (mu4e-headers-get-overlay (quote thread-child))) (local-root-overlay (mu4e-headers-get-overlay (quote thread-root)))) (if local-child-overlay (let ((id (overlay-get local-child-overlay (quote thread-id))) (unread (overlay-get local-child-overlay (quote unread)))) (setq child-overlay local-child-overlay) (if (or (not thread-id) (string= id thread-id)) (if unread (if root-overlay (overlay-put root-overlay (quote face) root-unfolded-face)) (overlay-put child-overlay (quote invisible) value))))) (if local-root-overlay (let ((id (overlay-get local-root-overlay (quote thread-id))) (root-prefix-overlay (mu4e-headers-get-overlay (quote display) root-prefix-beg))) (setq root-overlay local-root-overlay) (if (or (not thread-id) (string= id thread-id)) (progn (overlay-put root-overlay (quote folded) value) (if value (progn (overlay-put root-prefix-overlay ... root-folded-prefix) (overlay-put root-overlay ... root-folded-face)) (progn (overlay-put root-prefix-overlay ... root-unfolded-prefix) (overlay-put root-overlay ... root-unfolded-face))))))) (if (and (not local-child-overlay) (not local-root-overlay)) (setq root-overlay nil)) (forward-line 1))
(while (not (eobp)) (let ((local-child-overlay (mu4e-headers-get-overlay (quote thread-child))) (local-root-overlay (mu4e-headers-get-overlay (quote thread-root)))) (if local-child-overlay (let ((id (overlay-get local-child-overlay (quote thread-id))) (unread (overlay-get local-child-overlay (quote unread)))) (setq child-overlay local-child-overlay) (if (or (not thread-id) (string= id thread-id)) (if unread (if root-overlay (overlay-put root-overlay ... root-unfolded-face)) (overlay-put child-overlay (quote invisible) value))))) (if local-root-overlay (let ((id (overlay-get local-root-overlay (quote thread-id))) (root-prefix-overlay (mu4e-headers-get-overlay (quote display) root-prefix-beg))) (setq root-overlay local-root-overlay) (if (or (not thread-id) (string= id thread-id)) (progn (overlay-put root-overlay (quote folded) value) (if value (progn ... ...) (progn ... ...)))))) (if (and (not local-child-overlay) (not local-root-overlay)) (setq root-overlay nil)) (forward-line 1)))
(let ((root-overlay nil) (child-overlay nil) (root-prefix-beg (car mu4e-thread-folding-root-prefix-position)) (root-folded-face (quote mu4e-thread-folding-root-folded-face)) (root-unfolded-face (quote mu4e-thread-folding-root-unfolded-face)) (root-folded-prefix mu4e-thread-folding-root-folded-prefix-string) (root-unfolded-prefix mu4e-thread-folding-root-unfolded-prefix-string)) (while (not (eobp)) (let ((local-child-overlay (mu4e-headers-get-overlay (quote thread-child))) (local-root-overlay (mu4e-headers-get-overlay (quote thread-root)))) (if local-child-overlay (let ((id (overlay-get local-child-overlay ...)) (unread (overlay-get local-child-overlay ...))) (setq child-overlay local-child-overlay) (if (or (not thread-id) (string= id thread-id)) (if unread (if root-overlay ...) (overlay-put child-overlay ... value))))) (if local-root-overlay (let ((id (overlay-get local-root-overlay ...)) (root-prefix-overlay (mu4e-headers-get-overlay ... root-prefix-beg))) (setq root-overlay local-root-overlay) (if (or (not thread-id) (string= id thread-id)) (progn (overlay-put root-overlay ... value) (if value ... ...))))) (if (and (not local-child-overlay) (not local-root-overlay)) (setq root-overlay nil)) (forward-line 1))))
(save-excursion (goto-char (point-min)) (let ((root-overlay nil) (child-overlay nil) (root-prefix-beg (car mu4e-thread-folding-root-prefix-position)) (root-folded-face (quote mu4e-thread-folding-root-folded-face)) (root-unfolded-face (quote mu4e-thread-folding-root-unfolded-face)) (root-folded-prefix mu4e-thread-folding-root-folded-prefix-string) (root-unfolded-prefix mu4e-thread-folding-root-unfolded-prefix-string)) (while (not (eobp)) (let ((local-child-overlay (mu4e-headers-get-overlay (quote thread-child))) (local-root-overlay (mu4e-headers-get-overlay (quote thread-root)))) (if local-child-overlay (let ((id ...) (unread ...)) (setq child-overlay local-child-overlay) (if (or ... ...) (if unread ... ...)))) (if local-root-overlay (let ((id ...) (root-prefix-overlay ...)) (setq root-overlay local-root-overlay) (if (or ... ...) (progn ... ...)))) (if (and (not local-child-overlay) (not local-root-overlay)) (setq root-overlay nil)) (forward-line 1)))))
(save-current-buffer (set-buffer "*mu4e-headers*") (if thread-id nil (setq mu4e-thread-folding-all-folded (not value))) (save-excursion (goto-char (point-min)) (let ((root-overlay nil) (child-overlay nil) (root-prefix-beg (car mu4e-thread-folding-root-prefix-position)) (root-folded-face (quote mu4e-thread-folding-root-folded-face)) (root-unfolded-face (quote mu4e-thread-folding-root-unfolded-face)) (root-folded-prefix mu4e-thread-folding-root-folded-prefix-string) (root-unfolded-prefix mu4e-thread-folding-root-unfolded-prefix-string)) (while (not (eobp)) (let ((local-child-overlay (mu4e-headers-get-overlay ...)) (local-root-overlay (mu4e-headers-get-overlay ...))) (if local-child-overlay (let (... ...) (setq child-overlay local-child-overlay) (if ... ...))) (if local-root-overlay (let (... ...) (setq root-overlay local-root-overlay) (if ... ...))) (if (and (not local-child-overlay) (not local-root-overlay)) (setq root-overlay nil)) (forward-line 1))))))
(if (and (get-buffer "*mu4e-headers*") mu4e-headers-show-threads) (save-current-buffer (set-buffer "*mu4e-headers*") (if thread-id nil (setq mu4e-thread-folding-all-folded (not value))) (save-excursion (goto-char (point-min)) (let ((root-overlay nil) (child-overlay nil) (root-prefix-beg (car mu4e-thread-folding-root-prefix-position)) (root-folded-face (quote mu4e-thread-folding-root-folded-face)) (root-unfolded-face (quote mu4e-thread-folding-root-unfolded-face)) (root-folded-prefix mu4e-thread-folding-root-folded-prefix-string) (root-unfolded-prefix mu4e-thread-folding-root-unfolded-prefix-string)) (while (not (eobp)) (let ((local-child-overlay ...) (local-root-overlay ...)) (if local-child-overlay (let ... ... ...)) (if local-root-overlay (let ... ... ...)) (if (and ... ...) (setq root-overlay nil)) (forward-line 1)))))))
mu4e-headers-overlay-set-visibility(t "003")
(let ((id (overlay-get root-overlay (quote thread-id))) (folded (overlay-get root-overlay (quote folded)))) (mu4e-headers-overlay-set-visibility (not folded) id) (setq keep-searching nil))
(progn (let ((id (overlay-get root-overlay (quote thread-id))) (folded (overlay-get root-overlay (quote folded)))) (mu4e-headers-overlay-set-visibility (not folded) id) (setq keep-searching nil)))
(if root-overlay (progn (let ((id (overlay-get root-overlay (quote thread-id))) (folded (overlay-get root-overlay (quote folded)))) (mu4e-headers-overlay-set-visibility (not folded) id) (setq keep-searching nil))))
(let ((child-overlay (mu4e-headers-get-overlay (quote thread-child))) (root-overlay (mu4e-headers-get-overlay (quote thread-root)))) (if root-overlay (progn (let ((id (overlay-get root-overlay (quote thread-id))) (folded (overlay-get root-overlay (quote folded)))) (mu4e-headers-overlay-set-visibility (not folded) id) (setq keep-searching nil)))) (if (and (not child-overlay) (not root-overlay)) (setq keep-searching nil)) (forward-line -1))
(while keep-searching (if (bobp) (setq keep-searching nil)) (let ((child-overlay (mu4e-headers-get-overlay (quote thread-child))) (root-overlay (mu4e-headers-get-overlay (quote thread-root)))) (if root-overlay (progn (let ((id (overlay-get root-overlay ...)) (folded (overlay-get root-overlay ...))) (mu4e-headers-overlay-set-visibility (not folded) id) (setq keep-searching nil)))) (if (and (not child-overlay) (not root-overlay)) (setq keep-searching nil)) (forward-line -1)))
(let ((keep-searching t)) (while keep-searching (if (bobp) (setq keep-searching nil)) (let ((child-overlay (mu4e-headers-get-overlay (quote thread-child))) (root-overlay (mu4e-headers-get-overlay (quote thread-root)))) (if root-overlay (progn (let ((id ...) (folded ...)) (mu4e-headers-overlay-set-visibility (not folded) id) (setq keep-searching nil)))) (if (and (not child-overlay) (not root-overlay)) (setq keep-searching nil)) (forward-line -1))))
(save-excursion (let ((keep-searching t)) (while keep-searching (if (bobp) (setq keep-searching nil)) (let ((child-overlay (mu4e-headers-get-overlay (quote thread-child))) (root-overlay (mu4e-headers-get-overlay (quote thread-root)))) (if root-overlay (progn (let (... ...) (mu4e-headers-overlay-set-visibility ... id) (setq keep-searching nil)))) (if (and (not child-overlay) (not root-overlay)) (setq keep-searching nil)) (forward-line -1)))))
(save-current-buffer (set-buffer "*mu4e-headers*") (save-excursion (let ((keep-searching t)) (while keep-searching (if (bobp) (setq keep-searching nil)) (let ((child-overlay (mu4e-headers-get-overlay ...)) (root-overlay (mu4e-headers-get-overlay ...))) (if root-overlay (progn (let ... ... ...))) (if (and (not child-overlay) (not root-overlay)) (setq keep-searching nil)) (forward-line -1))))))
(if (get-buffer "*mu4e-headers*") (save-current-buffer (set-buffer "*mu4e-headers*") (save-excursion (let ((keep-searching t)) (while keep-searching (if (bobp) (setq keep-searching nil)) (let ((child-overlay ...) (root-overlay ...)) (if root-overlay (progn ...)) (if (and ... ...) (setq keep-searching nil)) (forward-line -1)))))))
mu4e-headers-toggle-at-point()
funcall-interactively(mu4e-headers-toggle-at-point)
call-interactively(mu4e-headers-toggle-at-point nil nil)
command-execute(mu4e-headers-toggle-at-point)
If I am reading this correctly (I am very new to elisp), it seems like on line 296 the variable root-prefix-overlay
is nil
. That variable is set on line 291:
(root-prefix-overlay (mu4e-headers-get-overlay 'display root-prefix-beg))
FYI - fairly new to emacs so not sure where to go from here in debugging. I am using spacemacs if that matters.
I think my last commit broke things, I'll try to fix it.
Can you try with latest (github) version ?
Fixed! Thank you!
(Or at least, the overlayp, nil error is fixed, the general branch still needs te nano colors commented out)
I've made a pull request which removes the nano-color
requirement and just uses color
.
Without using the nano theme Emacs gives the error: