Open shackra opened 6 years ago
This is my current telephone-line configuration https://github.com/shackra/emacs/blob/master/configuracion.org#telephone-line
Could you try commenting out your segments (so you only run one at a time) to narrow it down?
If I comment all my segments (telephone-line-lhs
and telephone-line-rhs
have default values) the error happens anyway:
Loading /home/jorge/.emacs.d/configuracion.el (source)...
Loading /home/jorge/.emacs.d/custom.el (source)...done
Loading /home/jorge/.emacs.d/sane.el (source)...
Loading /home/jorge/.emacs.d/recentf...done
Cleaning up the recentf list...done (0 removed)
Loading /home/jorge/.emacs.d/sane.el (source)...done
Loading /home/jorge/.secret/circe-private.el (source)...done
Loading /home/jorge/.secret/org-gcal-private.el (source)...done
Loading /home/jorge/.secret/slack-private.el (source)...done
Reusing Dired buffers is now ON
Loading /home/jorge/.emacs.d/srcprecode.el (source)...done
Eshell virtualenv support initialized.
Loading /home/jorge/.emacs.d/elpa/pony-mode-20170807.822/pony-tpl.el (source)...done
ad-handle-definition: ‘vc-revert’ got redefined
Starting new Ispell process aspell with default dictionary...
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\304\300!\205I�\205I�\305 \204�\306 !\226\202;�
\307=\203(�\203$�\310\202;�\311\202;�
\312=\203:�\2036�\313\202;�\314\202;�\315\203F�\316\317\"\202G�\211\262\207" [evil-mode evil-state evil-visual-selection telephone-line-evil-use-short-tag boundp evil-visual-state-p symbol-name block "VB" "V-BLOCK" line "VL" "V-LINE" "VISUAL" seq-take 2] 5 "
(fn FACE)"])) telephone-line-cubed-hollow-left (quote evil))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-separator-render telephone-line-cubed-left (telephone-line-face-map (quote accent)) (telephone-line-face-map (quote evil)))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\301\302\"\207" [vc-mode telephone-line-raw t] 4 "
(fn FACE)"] #[257 "\301\302\300!\205,�\211\303\304\"\203�\305\306\307\211$\262\303\310\"\203*�\305\306\307\211$\266\202\202,�\262!\207" [erc-modified-channels-object telephone-line-raw boundp string-match "[
]+\\'" replace-match "" t "\\`[
]+"] 9 "
(fn FACE)"] #[257 "\301!\207" [mode-line-process telephone-line-raw] 3 "
(fn FACE)"])) telephone-line-cubed-hollow-left (quote accent))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-separator-render telephone-line-cubed-left (telephone-line-face-map (quote nil)) (telephone-line-face-map (quote accent)))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\300\301\302!\205�\303\302 \304\305\306\307\310\311\312\313\314\315\316\317\"&!\207" [telephone-line-raw fboundp projectile-project-name propertize face (:inherit) display (raise 0.0) help-echo "Switch project" mouse-face (:box 1) local-map make-mode-line-mouse-map mouse-1 #[0 "\300 \207" [projectile-switch-project] 1 nil nil]] 16 "
(fn FACE)"] #[257 "\301\302\303\304\305\306\307\310\"\257\207" [mode-line-buffer-identification "" mode-line-mule-info mode-line-modified mode-line-client mode-line-remote mode-line-frame-identification telephone-line-raw t] 10 "
(fn FACE)"])) telephone-line-cubed-hollow-left (quote nil))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\303\304\300!\205\344�\205\344� \305=\203H�
\203D�\306
!\307\236A\310\236A\204(�\211\203<�\311\312\313\2060�\314\2065�\314#\315\316#\202=�\317\266\202\262\202\215�\320\202\215� \321=\203R�\322\202\215� \323=\203\\�\324\202\215� \325=\203f�\326\202\215� \327=\203t�\311\330\315\331#\202\215� \332=\203\202�\311\333\315\334#\202\215� \335=\203\214�\336\202\215�\337\311\340 \305=\203\232�\341\202\327� \321=\203\244�\342\202\327� \323=\203\256�\343\202\327� \325=\203\270�\344\202\327� \327=\203\302�\345\202\327� \332=\203\314�\346\202\327� \335=\203\326�\347\202\327�\337\350\351\352\353\354\355\356\357\"& \262!\207" [flycheck-mode flycheck-last-status-change flycheck-current-errors telephone-line-raw boundp finished flycheck-count-errors error warning propertize format "Problems: %s/%s" 0 face (:foreground "orange") "" ":)" running "*" no-checker "-" not-checked "=" errored "!" (:foreground "tomato") interrupted "." (:foreground "tomato") suspicious "?" nil help-echo "Display errors found by Flycheck" "Running..." "No Checker" "Not Checked" "Error!" "Interrupted" "Suspicious?" display (raise 0.0) mouse-face (:box 1) local-map make-mode-line-mouse-map mouse-1 flycheck-list-errors] 15 "
(fn FACE)"] #[257 "\301\302\"\207" [mode-line-misc-info telephone-line-raw t] 4 "
(fn FACE)"])) telephone-line-cubed-hollow-right (quote nil))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-separator-render telephone-line-cubed-right (telephone-line-face-map (quote accent)) (telephone-line-face-map (quote nil)))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\301\302\303\304\305\257\302\306\304\307\310\311\312\305\257
\302\313\304\305\257E\207" [mode-line-major-mode-keymap "Recursive edit, type C-M-c to get out" :propertize "%[" help-echo face ("" mode-name) "Major mode
mouse-1: Display major mode menu
mouse-2: Show help for major mode
mouse-3: Toggle minor modes" mouse-face mode-line-highlight local-map "%]"] 13 "
(fn FACE)"])) telephone-line-cubed-hollow-right (quote accent))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-separator-render telephone-line-cubed-right (telephone-line-face-map (quote evil)) (telephone-line-face-map (quote accent)))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\304\300\203 �\300\202
�\305!\304\301\203�\301\202�\306!
\307=\203#�\310\311\"\202,�\312\313\314\315\260D\207" [nil nil major-mode mode-line-front-space number-to-string 4 3 paradox-menu-mode telephone-line-raw t (-3 "%p") " %" "l:%" "c"] 9 "
(fn FACE)"])) telephone-line-cubed-hollow-right (quote evil))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\303\304\300!\205\344�\205\344� \305=\203H�
\203D�\306
!\307\236A\310\236A\204(�\211\203<�\311\312\313\2060�\314\2065�\314#\315\316#\202=�\317\266\202\262\202\215�\320\202\215� \321=\203R�\322\202\215� \323=\203\\�\324\202\215� \325=\203f�\326\202\215� \327=\203t�\311\330\315\331#\202\215� \332=\203\202�\311\333\315\334#\202\215� \335=\203\214�\336\202\215�\337\311\340 \305=\203\232�\341\202\327� \321=\203\244�\342\202\327� \323=\203\256�\343\202\327� \325=\203\270�\344\202\327� \327=\203\302�\345\202\327� \332=\203\314�\346\202\327� \335=\203\326�\347\202\327�\337\350\351\352\353\354\355\356\357\"& \262!\207" [flycheck-mode flycheck-last-status-change flycheck-current-errors telephone-line-raw boundp finished flycheck-count-errors error warning propertize format "Problems: %s/%s" 0 face (:foreground "orange") "" ":)" running "*" no-checker "-" not-checked "=" errored "!" (:foreground "tomato") interrupted "." (:foreground "tomato") suspicious "?" nil help-echo "Display errors found by Flycheck" "Running..." "No Checker" "Not Checked" "Error!" "Interrupted" "Suspicious?" display (raise 0.0) mouse-face (:box 1) local-map make-mode-line-mouse-map mouse-1 flycheck-list-errors] 15 "
(fn FACE)"] #[257 "\301\302\"\207" [mode-line-misc-info telephone-line-raw t] 4 "
(fn FACE)"])) telephone-line-cubed-hollow-right (quote nil))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-separator-render telephone-line-cubed-right (telephone-line-face-map (quote accent)) (telephone-line-face-map (quote nil)))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\301\302\303\304\305\257\302\306\304\307\310\311\312\305\257
\302\313\304\305\257E\207" [mode-line-major-mode-keymap "Recursive edit, type C-M-c to get out" :propertize "%[" help-echo face ("" mode-name) "Major mode
mouse-1: Display major mode menu
mouse-2: Show help for major mode
mouse-3: Toggle minor modes" mouse-face mode-line-highlight local-map "%]"] 13 "
(fn FACE)"])) telephone-line-cubed-hollow-right (quote accent))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-separator-render telephone-line-cubed-right (telephone-line-face-map (quote evil)) (telephone-line-face-map (quote accent)))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\304\300\203 �\300\202
�\305!\304\301\203�\301\202�\306!
\307=\203#�\310\311\"\202,�\312\313\314\315\260D\207" [nil nil major-mode mode-line-front-space number-to-string 4 3 paradox-menu-mode telephone-line-raw t (-3 "%p") " %" "l:%" "c"] 9 "
(fn FACE)"])) telephone-line-cubed-hollow-right (quote evil))) signaled (wrong-type-argument sequencep unspecified)
Restoring clock data
Loading /home/jorge/.emacs.d/org-clock-save.el (source)...done
No event to add
Appointment reminders enabled (no diary file found)
Loading /home/jorge/.emacs.d/elpa/realgud-20180327.1634/realgud/common/custom...done
Loading /home/jorge/.emacs.d/configuracion.el (source)...done
Start up time 5.65s
[yas] Prepared just-in-time loading of snippets successfully.
Loading /home/jorge/.company-statistics-cache.el (source)...done
For information about GNU Emacs and the GNU system, type C-h C-a.
ad-handle-definition: ‘text-scale-increase’ got redefined
No event to add
I just tried with the following config (I added a dummy defun since I don't have one of your functions), I don't get any errors:
(use-package telephone-line
:init
;; define una nueva cara
(defface shackra-orange '((t (:foreground "black" :background "orange"))) "")
;; Cambia el estilo de los separadores
(setq telephone-line-primary-left-separator 'telephone-line-cubed-left
telephone-line-secondary-left-separator 'telephone-line-cubed-hollow-left
telephone-line-primary-right-separator 'telephone-line-cubed-right
telephone-line-secondary-right-separator 'telephone-line-cubed-hollow-right)
(setf telephone-line-height 40)
:config
;; Informa a telephone-line sobre la existencia de la nueva cara, llamada `orange'
(add-to-list 'telephone-line-faces '(accent-orange . (shackra-orange . telephone-line-accent-inactive)))
(telephone-line-defsegment shackra-line-buffer-segment ()
(telephone-line-raw mode-line-buffer-identification))
(defun shackra-vc-info () nil)
(telephone-line-defsegment shackra-vc-segment ()
(if (shackra-vc-info)
(telephone-line-raw (concat (shackra-buffer-vc-modified) " " (shackra-vc-info))))
(telephone-line-raw (shackra-buffer-vc-modified)))
(telephone-line-defsegment shackra-flycheck-status-segment ()
(telephone-line-raw (shackra-flycheck-status)))
(telephone-line-defsegment shackra-venv-segment ()
(shackra-virtualenv-name))
;(setf telephone-line-lhs
; '((accent . (shackra-line-buffer-segment))
; (nil . (shackra-vc-segment shackra-flycheck-status-segment))))
;(setf telephone-line-rhs '((nil . (telephone-line-misc-info-segment telephone-line-major-mode-segment))
; (accent-orange . (shackra-venv-segment))
; (accent . (telephone-line-position-segment))))
(telephone-line-mode 1))
I do see that the entire config uncommented is filling the message buffer, though, so I'll see if I can find out what's going on
Ok, looks like it's somewhere in (nil . (shackra-vc-segment shackra-flycheck-status-segment))
oh wait, sorry, I forgot like two other defun
s.
Yeah, I don't get any errors with that config... I'll add the actual definitions of those functions next
weird.
You can grab the defined functions from my configuration thou https://github.com/shackra/emacs/blob/master/configuracion.org#utilidades-1
In my case, as stated on previous comments, if I left telephone-line-* variables untouch the error stills happen, is weird that you don't catch anything.
Just redefine shackra-faicon-icon
if you don't happen to use all-the-icons
Just ran it with this config, no errors...
(use-package telephone-line
:init
;; define una nueva cara
(defface shackra-orange '((t (:foreground "black" :background "orange"))) "")
;; Cambia el estilo de los separadores
(setq telephone-line-primary-left-separator 'telephone-line-cubed-left
telephone-line-secondary-left-separator 'telephone-line-cubed-hollow-left
telephone-line-primary-right-separator 'telephone-line-cubed-right
telephone-line-secondary-right-separator 'telephone-line-cubed-hollow-right)
(setf telephone-line-height 40)
:config
(defvar shackra-vc-mode nil)
(make-variable-buffer-local 'shackra-vc-mode)
(require 'vc)
(defun shackra-vc-command-hook (&rest args)
(let ((file-name (buffer-file-name)))
(setq shackra-vc-mode (and file-name
(not (vc-registered file-name))
(ignore-errors
(vc-responsible-backend file-name))))))
(add-hook 'vc-post-command-functions #'shackra-vc-command-hook)
(add-hook 'find-file-hook #'shackra-vc-command-hook)
(defun shackra-faicon-icon (icon &optional color help-echo)
"Retorna una cadena de texto formateada con `propertize' de un icono de all-the-icons"
(propertize (all-the-icons-faicon icon) 'face `(:foreground ,(or color "white") :height 1.3 :family ,(all-the-icons-faicon-family))
'display '(raise -0.1) 'help-echo help-echo))
(defun shackra-flycheck-errors ()
"Retorna una cadena con errores y warnings de Flycheck"
(if flycheck-current-errors
(let* ((count (flycheck-count-errors flycheck-current-errors))
(warns (let-alist count
(or .warning 0)))
(errors (let-alist count
(or .error 0)))
(info (let-alist count
(or .info 0)))
(messages nil))
(when (> warns 0)
(push (propertize (format "Adv: %s" warns) 'face 'flycheck-error-list-warning) messages))
(when (> errors 0)
(push (propertize (format "Err: %s" errors) 'face 'flycheck-error-list-error) messages))
(when (> info 0)
(push (propertize (format "Inf: %s" info) 'face 'flycheck-error-list-info) messages))
(when (> (+ warns errors info) 0)
(string-join messages ", ")))
(propertize "Nada que reportar" 'face 'success)))
(defun shackra-vc-state ()
"Revisa el estado VC del buffer"
(if vc-mode
(vc-state (buffer-file-name (current-buffer)))
nil))
(defun shackra-buffer-vc-modified ()
"Retorna iconos de acuerdo al estado VCS del buffer actual"
(let ((vc-modified ""))
(if (buffer-modified-p)
(setf vc-modified (concat vc-modified (shackra-faicon-icon "exclamation-circle" "tomato" "Buffer modificado.")))
(setf vc-modified (concat vc-modified (shackra-faicon-icon "check-circle" "medium sea green" "Guardado."))))
(when (eq (shackra-vc-state) 'edited)
(setf vc-modified (concat vc-modified " " (shackra-faicon-icon "exclamation-triangle" "tomato" "Cambios sin registrar en VCS remoto."))))
(when (eq (shackra-vc-state) 'missing)
(setf vc-modified (concat vc-modified " " (shackra-faicon-icon "trash" nil "Archivo sólo existe en VCS, no en el disco duro."))))
(when (eq (shackra-vc-state) 'ignored)
(setf vc-modified (concat vc-modified " " (shackra-faicon-icon "ban" nil "Archivo ignorado"))))
(when (eq (shackra-vc-state) 'added)
(setf vc-modified (concat vc-modified " " (shackra-faicon-icon "plus" nil "Archivo será registrado en VCS en el siguiente commit."))))
(when (eq (shackra-vc-state) 'unregistered)
(setf vc-modified (concat vc-modified " " (shackra-faicon-icon "question" nil "Archivo sin registrar al VCS."))))
vc-modified))
(defun shackra-vc-info ()
"Icono del sistema VCS y rama actual"
(when vc-mode
(cond ((string-match "Git[:-]" vc-mode)
(let ((branch (mapconcat 'concat (cdr (split-string vc-mode "[:-]")) "-")))
(concat
(propertize (format " %s " (all-the-icons-faicon "git-square" :v-adjust -0.1)) 'face `(:foreground "orange" :height 1.3 :family ,(all-the-icons-octicon-family)))
(propertize (format "%s" branch) 'face `(:foreground "orange")))))
(t (format "%s" vc-mode)))))
(defun shackra-flycheck-status ()
"Estado de Flycheck"
(let* ((text (pcase flycheck-last-status-change
(`finished (shackra-flycheck-errors))
(`running (propertize "En ejecución" 'face `(:foreground "deep sky blue")))
(`no-checker (propertize "No existe revisor" 'face `(:foreground "dim grey")))
(`not-checked (propertize "Sin revisar" 'face `(:foreground "dim grey")))
(`errored (propertize "Error con Flycheck" 'face `(:foreground "tomato")))
(`interrupted (propertize "Interrumpido" 'face `(:foreground "tomato")))
(`suspicious (shackra-faicon-icon "question" "tomato")))))
(propertize (concat (propertize "!Flyc" 'face 'flycheck-error-list-error) (propertize "{" 'face 'flycheck-error-list-error) text (propertize "}" 'face 'flycheck-error-list-error))
'help-echo "Reporte de Flycheck para errores de alta y baja prioridad"
'local-map (make-mode-line-mouse-map
'mouse-1 (lambda () (interactive) (flycheck-list-errors))))))
(defun shackra-virtualenv-name ()
(when (boundp 'venv-current-name)
(if venv-current-name
(format "venv: %s" venv-current-name)
"venv: -")))
;; Informa a telephone-line sobre la existencia de la nueva cara, llamada `orange'
(add-to-list 'telephone-line-faces '(accent-orange . (shackra-orange . telephone-line-accent-inactive)))
(telephone-line-defsegment shackra-line-buffer-segment ()
(telephone-line-raw mode-line-buffer-identification))
(telephone-line-defsegment shackra-vc-segment ()
(if (shackra-vc-info)
(telephone-line-raw (concat (shackra-buffer-vc-modified) " " (shackra-vc-info))))
(telephone-line-raw (shackra-buffer-vc-modified)))
(telephone-line-defsegment shackra-flycheck-status-segment ()
(telephone-line-raw (shackra-flycheck-status)))
(telephone-line-defsegment shackra-venv-segment ()
(shackra-virtualenv-name))
(setf telephone-line-lhs
'((accent . (shackra-line-buffer-segment))
(nil . (shackra-vc-segment shackra-flycheck-status-segment))))
(setf telephone-line-rhs '((nil . (telephone-line-misc-info-segment telephone-line-major-mode-segment))
(accent-orange . (shackra-venv-segment))
(accent . (telephone-line-position-segment))))
(telephone-line-mode 1))
I guess I've gotta go into the less code-y questions:
When did this start happening? What version of Emacs are you using? What OS?
thats all I can think of at the moment...
Or maybe try clearing your elpa cache?
(Confusion) it's such a terrible shame. 🎶
And you ran it in such a way that that daemonp
returns nil
, right? because the bug don't reproduce if I run emacs as a daemon.
When did this start happening?
Hard to say since 90% of the time I use Emacs as a daemon and connect to it with emacsclient, such usage does not reproduce the bug, running Emacs normally does.
What version of Emacs are you using?
GNU Emacs 25.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.22.26) of 2018-02-08 :)
What OS?
GNU/Linux; Arch Linux to be more precise
Or maybe try clearing your elpa cache?
I feel really tempted to do that, actually. BRB.
(Confusion) it's such a terrible shame. 🎶
;)
And you ran it in such a way that that
daemonp
returnsnil
, right? because the bug don't reproduce if I run emacs as a daemon.
Oh, I missed that part of it, but no I don't usually run it as a daemon. Does it perhaps only happen if you run emacs normally while a daemon is already running?
...and I'm also on Arch, so no problems there :P
Just tried running your config, still not seeing anything... (although, damn, it took forever to install, you have a lot of packages :P)
I'm back!
After deleting ~/.emacs.d/elpa and starting Emacs the error stills happens:
Starting new Ispell process aspell with default dictionary...
Error during redisplay: (eval (telephone-line-add-subseparators (quote ((lambda (face) (telephone-line-raw (telephone-line-raw mode-line-buffer-identification))))) telephone-line-cubed-hollow-left (quote accent))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-separator-render telephone-line-cubed-left (telephone-line-face-map (quote nil)) (telephone-line-face-map (quote accent)))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote ((lambda (face) (telephone-line-raw (telephone-line-raw (shackra-buffer-vc-modified)))) (lambda (face) (telephone-line-raw (telephone-line-raw (shackra-flycheck-status)))))) telephone-line-cubed-hollow-left (quote nil))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\301\302\"\207" [mode-line-misc-info telephone-line-raw t] 4 "
(fn FACE)"] #[257 "\301\302\303\304\305\257\302\306\304\307\310\311\312\305\257
\302\313\304\305\257E\207" [mode-line-major-mode-keymap "Recursive edit, type C-M-c to get out" :propertize "%[" help-echo face ("" mode-name) "Major mode
mouse-1: Display major mode menu
mouse-2: Show help for major mode
mouse-3: Toggle minor modes" mouse-face mode-line-highlight local-map "%]"] 13 "
(fn FACE)"])) telephone-line-cubed-hollow-right (quote nil))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-separator-render telephone-line-cubed-right (telephone-line-face-map (quote accent-orange)) (telephone-line-face-map (quote nil)))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote ((lambda (face) (telephone-line-raw (shackra-virtualenv-name))))) telephone-line-cubed-hollow-right (quote accent-orange))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\303\304=\203� \202�
\305\"\207" [major-mode mode-line-front-space mode-line-position telephone-line-raw paradox-menu-mode t] 4 "
(fn FACE)"])) telephone-line-cubed-hollow-right (quote accent))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\301\302\"\207" [mode-line-misc-info telephone-line-raw t] 4 "
(fn FACE)"] #[257 "\301\302\303\304\305\257\302\306\304\307\310\311\312\305\257
\302\313\304\305\257E\207" [mode-line-major-mode-keymap "Recursive edit, type C-M-c to get out" :propertize "%[" help-echo face ("" mode-name) "Major mode
mouse-1: Display major mode menu
mouse-2: Show help for major mode
mouse-3: Toggle minor modes" mouse-face mode-line-highlight local-map "%]"] 13 "
(fn FACE)"])) telephone-line-cubed-hollow-right (quote nil))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-separator-render telephone-line-cubed-right (telephone-line-face-map (quote accent-orange)) (telephone-line-face-map (quote nil)))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote ((lambda (face) (telephone-line-raw (shackra-virtualenv-name))))) telephone-line-cubed-hollow-right (quote accent-orange))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\303\304=\203� \202�
\305\"\207" [major-mode mode-line-front-space mode-line-position telephone-line-raw paradox-menu-mode t] 4 "
(fn FACE)"])) telephone-line-cubed-hollow-right (quote accent))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote ((lambda (face) (telephone-line-raw (telephone-line-raw mode-line-buffer-identification))))) telephone-line-cubed-hollow-left (quote accent))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-separator-render telephone-line-cubed-left (telephone-line-face-map (quote nil)) (telephone-line-face-map (quote accent)))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote ((lambda (face) (telephone-line-raw (telephone-line-raw (shackra-buffer-vc-modified)))) (lambda (face) (telephone-line-raw (telephone-line-raw (shackra-flycheck-status)))))) telephone-line-cubed-hollow-left (quote nil))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\301\302\"\207" [mode-line-misc-info telephone-line-raw t] 4 "
(fn FACE)"] #[257 "\301\302\303\304\305\257\302\306\304\307\310\311\312\305\257
\302\313\304\305\257E\207" [mode-line-major-mode-keymap "Recursive edit, type C-M-c to get out" :propertize "%[" help-echo face ("" mode-name) "Major mode
mouse-1: Display major mode menu
mouse-2: Show help for major mode
mouse-3: Toggle minor modes" mouse-face mode-line-highlight local-map "%]"] 13 "
(fn FACE)"])) telephone-line-cubed-hollow-right (quote nil))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-separator-render telephone-line-cubed-right (telephone-line-face-map (quote accent-orange)) (telephone-line-face-map (quote nil)))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote ((lambda (face) (telephone-line-raw (shackra-virtualenv-name))))) telephone-line-cubed-hollow-right (quote accent-orange))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\303\304=\203� \202�
\305\"\207" [major-mode mode-line-front-space mode-line-position telephone-line-raw paradox-menu-mode t] 4 "
(fn FACE)"])) telephone-line-cubed-hollow-right (quote accent))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\301\302\"\207" [mode-line-misc-info telephone-line-raw t] 4 "
(fn FACE)"] #[257 "\301\302\303\304\305\257\302\306\304\307\310\311\312\305\257
\302\313\304\305\257E\207" [mode-line-major-mode-keymap "Recursive edit, type C-M-c to get out" :propertize "%[" help-echo face ("" mode-name) "Major mode
mouse-1: Display major mode menu
mouse-2: Show help for major mode
mouse-3: Toggle minor modes" mouse-face mode-line-highlight local-map "%]"] 13 "
(fn FACE)"])) telephone-line-cubed-hollow-right (quote nil))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-separator-render telephone-line-cubed-right (telephone-line-face-map (quote accent-orange)) (telephone-line-face-map (quote nil)))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote ((lambda (face) (telephone-line-raw (shackra-virtualenv-name))))) telephone-line-cubed-hollow-right (quote accent-orange))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\303\304=\203� \202�
\305\"\207" [major-mode mode-line-front-space mode-line-position telephone-line-raw paradox-menu-mode t] 4 "
(fn FACE)"])) telephone-line-cubed-hollow-right (quote accent))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote ((lambda (face) (telephone-line-raw (telephone-line-raw mode-line-buffer-identification))))) telephone-line-cubed-hollow-left (quote accent))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-separator-render telephone-line-cubed-left (telephone-line-face-map (quote nil)) (telephone-line-face-map (quote accent)))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote ((lambda (face) (telephone-line-raw (telephone-line-raw (shackra-buffer-vc-modified)))) (lambda (face) (telephone-line-raw (telephone-line-raw (shackra-flycheck-status)))))) telephone-line-cubed-hollow-left (quote nil))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\301\302\"\207" [mode-line-misc-info telephone-line-raw t] 4 "
(fn FACE)"] #[257 "\301\302\303\304\305\257\302\306\304\307\310\311\312\305\257
\302\313\304\305\257E\207" [mode-line-major-mode-keymap "Recursive edit, type C-M-c to get out" :propertize "%[" help-echo face ("" mode-name) "Major mode
mouse-1: Display major mode menu
mouse-2: Show help for major mode
mouse-3: Toggle minor modes" mouse-face mode-line-highlight local-map "%]"] 13 "
(fn FACE)"])) telephone-line-cubed-hollow-right (quote nil))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-separator-render telephone-line-cubed-right (telephone-line-face-map (quote accent-orange)) (telephone-line-face-map (quote nil)))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote ((lambda (face) (telephone-line-raw (shackra-virtualenv-name))))) telephone-line-cubed-hollow-right (quote accent-orange))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\303\304=\203� \202�
\305\"\207" [major-mode mode-line-front-space mode-line-position telephone-line-raw paradox-menu-mode t] 4 "
(fn FACE)"])) telephone-line-cubed-hollow-right (quote accent))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\301\302\"\207" [mode-line-misc-info telephone-line-raw t] 4 "
(fn FACE)"] #[257 "\301\302\303\304\305\257\302\306\304\307\310\311\312\305\257
\302\313\304\305\257E\207" [mode-line-major-mode-keymap "Recursive edit, type C-M-c to get out" :propertize "%[" help-echo face ("" mode-name) "Major mode
mouse-1: Display major mode menu
mouse-2: Show help for major mode
mouse-3: Toggle minor modes" mouse-face mode-line-highlight local-map "%]"] 13 "
(fn FACE)"])) telephone-line-cubed-hollow-right (quote nil))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-separator-render telephone-line-cubed-right (telephone-line-face-map (quote accent-orange)) (telephone-line-face-map (quote nil)))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote ((lambda (face) (telephone-line-raw (shackra-virtualenv-name))))) telephone-line-cubed-hollow-right (quote accent-orange))) signaled (wrong-type-argument sequencep unspecified)
Error during redisplay: (eval (telephone-line-add-subseparators (quote (#[257 "\303\304=\203� \202�
\305\"\207" [major-mode mode-line-front-space mode-line-position telephone-line-raw paradox-menu-mode t] 4 "
(fn FACE)"])) telephone-line-cubed-hollow-right (quote accent))) signaled (wrong-type-argument sequencep unspecified)
Restoring clock data
Does it perhaps only happen if you run emacs normally while a daemon is already running?
Well, this time the daemon was not running and the error popped anyway, so is safe to discard that.
Just tried running your config, still not seeing anything... (although, damn, it took forever to install, you have a lot of packages :P)
lol!
I was going to ask if trying to use a face not defined in Emacs could cause some sort of error in Emacs thus making telephone-line barf all over *Messages*, but since you report no issues with my exact same configuration on exactly the same flavor of GNU/Linux then we can discard that as root cause too.
I was going to suggest that maybe something was running in my conf when daemonp
was nil
but, welp, maybe we could discard that too.
Is there a way for telephone-line to report errors more precise? Like adding a function that can change some internals and upon executing such command we can get something on *Backtrace*? This may sound naive but I'm sure you cannot do much with something that looks almost like hexadecimal code.
BTW, this is how the mode-line looks at the right side when the error happens:
And this is how it looks when emacs is ran as a daemon, no error happens because of that and I connect to it with emacsclient:
Hm... If you try running one of the commands that errored out, what do you get? For instance, I just tried evaling (eval (telephone-line-separator-render telephone-line-cubed-left (telephone-line-face-map (quote nil)) (telephone-line-face-map (quote accent))))
, and I got good output.
Also, as for the spacing on the right, is it because the broken one is missing subseparators, perhaps? Is that gap at the end the same width as the missing subseparators?
If you try running one of the commands that errored out, what do you get?
I got this on emacsclient
and normal Emacs:
#(" " 0 2 (display (image :type pbm :data "P6 20 40 255 888888888888888888888888888888888888888888888888888888888IH>888888888888888888888888888888888888888888888888888>>:IH>IH>888888888888888888888888888888888888888888888888BB;IH>IH>IH>888888888888888888888888888888888888888888888DC<IH>IH>IH>IH>888888888888888888888888888888888888888888DC<IH>IH>IH>IH>IH>888888888888888888888888888888888888888BA;IH>IH>IH>IH>IH>IH>888888888888888888888888888888888888>=:IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888888888888HG=IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888888888A@;IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888888888IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888888>>:IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888888DC<IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888888HG=IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888::9IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888=<9IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888>>:IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888??:IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888@?:IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888@@;IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888@@;IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888@@;IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888@@;IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888@@;IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888A@;IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888BA;IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888DC<IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888FE=IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888888IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888=<9IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888BA;IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888888HG=IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888??:IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888888IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888888CB;IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888888?>:IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888888<<9IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888888<<9IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888888>>:IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>888BA;IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>IH>" :ascent center)))
is it because the broken one is missing subseparators, perhaps? Is that gap at the end the same width as the missing subseparators?
I... I don't know? it seems it is of the same size as a separator.
That command output is correct. That doesn't make any sense; when you run the command manually, it works, but when it runs on the modeline it doesn't work?
Maybe is when Emacs startups that it fails because the barfing of telephone-line occurs once instead every time redisplaying(? the mode-line is required, thus why the output is correct for me.
BTW, I cannot reproduce the bug on Windows with Emacs from MSYS2.
Could you try starting from a fresh .emacs.d
? I know you tried clearing the elpa cache before, but... i dunno, maybe something else is causing it?
This is really confounding at this point; the situation that causes this bug is really unclear...
With following minimal configuration I'm unable to reproduce the bug on Archlinux:
(package-initialize nil)
(setq package-enable-at-startup nil)
;; Ask package.el to not add (package-initialize) to .emacs.
(setq package--init-file-ensured t)
(setf package-archives '(("melpa" . "https://melpa.org/packages/")
("melpa-stable" . "https://stable.melpa.org/packages/")
("gnu" . "https://elpa.gnu.org/packages/")
("org" . "https://orgmode.org/elpa/")))
(setq package-pinned-packages '((auctex . "gnu")
(python . "gnu")
(use-package . "melpa-stable")))
(unless package-archive-contents
(package-refresh-contents))
(when (not (package-installed-p 'use-package))
(package-install 'use-package))
(setf use-package-always-ensure t)
(use-package all-the-icons)
(defvar shackra-vc-mode nil)
(make-variable-buffer-local 'shackra-vc-mode)
(require 'vc)
(defun shackra-vc-command-hook (&rest args)
(let ((file-name (buffer-file-name)))
(setq shackra-vc-mode (and file-name
(not (vc-registered file-name))
(ignore-errors
(vc-responsible-backend file-name))))))
(add-hook 'vc-post-command-functions #'shackra-vc-command-hook)
(add-hook 'find-file-hook #'shackra-vc-command-hook)
(defun shackra-faicon-icon (icon &optional color help-echo)
"Retorna una cadena de texto formateada con `propertize' de un icono de all-the-icons"
(propertize (all-the-icons-faicon icon) 'face `(:foreground ,(or color "white") :height 1.3 :family ,(all-the-icons-faicon-family))
'display '(raise -0.1) 'help-echo help-echo))
(defun shackra-flycheck-errors ()
"Retorna una cadena con errores y warnings de Flycheck"
(if flycheck-current-errors
(let* ((count (flycheck-count-errors flycheck-current-errors))
(warns (let-alist count
(or .warning 0)))
(errors (let-alist count
(or .error 0)))
(info (let-alist count
(or .info 0)))
(messages nil))
(when (> warns 0)
(push (propertize (format "Adv: %s" warns) 'face 'flycheck-error-list-warning) messages))
(when (> errors 0)
(push (propertize (format "Err: %s" errors) 'face 'flycheck-error-list-error) messages))
(when (> info 0)
(push (propertize (format "Inf: %s" info) 'face 'flycheck-error-list-info) messages))
(when (> (+ warns errors info) 0)
(string-join messages ", ")))
(propertize "Nada que reportar" 'face 'success)))
(defun shackra-vc-state ()
"Revisa el estado VC del buffer"
(if vc-mode
(vc-state (buffer-file-name (current-buffer)))
nil))
(defun shackra-buffer-vc-modified ()
"Retorna iconos de acuerdo al estado VCS del buffer actual"
(let ((vc-modified ""))
(if (buffer-modified-p)
(setf vc-modified (concat vc-modified (shackra-faicon-icon "exclamation-circle" "tomato" "Buffer modificado.")))
(setf vc-modified (concat vc-modified (shackra-faicon-icon "check-circle" "medium sea green" "Guardado."))))
(when (eq (shackra-vc-state) 'edited)
(setf vc-modified (concat vc-modified " " (shackra-faicon-icon "exclamation-triangle" "tomato" "Cambios sin registrar en VCS remoto."))))
(when (eq (shackra-vc-state) 'missing)
(setf vc-modified (concat vc-modified " " (shackra-faicon-icon "trash" nil "Archivo sólo existe en VCS, no en el disco duro."))))
(when (eq (shackra-vc-state) 'ignored)
(setf vc-modified (concat vc-modified " " (shackra-faicon-icon "ban" nil "Archivo ignorado"))))
(when (eq (shackra-vc-state) 'added)
(setf vc-modified (concat vc-modified " " (shackra-faicon-icon "plus" nil "Archivo será registrado en VCS en el siguiente commit."))))
(when (eq (shackra-vc-state) 'unregistered)
(setf vc-modified (concat vc-modified " " (shackra-faicon-icon "question" nil "Archivo sin registrar al VCS."))))
vc-modified))
(defun shackra-vc-info ()
"Icono del sistema VCS y rama actual"
(when vc-mode
(cond ((string-match "Git[:-]" vc-mode)
(let ((branch (mapconcat 'concat (cdr (split-string vc-mode "[:-]")) "-")))
(concat
(propertize (format " %s " (all-the-icons-faicon "git-square" :v-adjust -0.1)) 'face `(:foreground "orange" :height 1.3 :family ,(all-the-icons-octicon-family)))
(propertize (format "%s" branch) 'face `(:foreground "orange")))))
(t (format "%s" vc-mode)))))
(defun shackra-flycheck-status ()
"Estado de Flycheck"
(let* ((text (pcase flycheck-last-status-change
(`finished (shackra-flycheck-errors))
(`running (propertize "En ejecución" 'face `(:foreground "deep sky blue")))
(`no-checker (propertize "No existe revisor" 'face `(:foreground "dim grey")))
(`not-checked (propertize "Sin revisar" 'face `(:foreground "dim grey")))
(`errored (propertize "Error con Flycheck" 'face `(:foreground "tomato")))
(`interrupted (propertize "Interrumpido" 'face `(:foreground "tomato")))
(`suspicious (shackra-faicon-icon "question" "tomato")))))
(propertize (concat (propertize "!Flyc" 'face 'flycheck-error-list-error) (propertize "{" 'face 'flycheck-error-list-error) text (propertize "}" 'face 'flycheck-error-list-error))
'help-echo "Reporte de Flycheck para errores de alta y baja prioridad"
'local-map (make-mode-line-mouse-map
'mouse-1 (lambda () (interactive) (flycheck-list-errors))))))
(defun shackra-virtualenv-name ()
(when (boundp 'venv-current-name)
(if venv-current-name
(format "venv: %s" venv-current-name)
"venv: -")))
(setq-default mode-line-format
'("%e"
mode-line-front-space
mode-line-buffer-identification
" "
(:eval (concat
(shackra-buffer-vc-modified)
" "
(shackra-vc-info)
" "
(shackra-flycheck-status)
))
" "
mode-line-modes
mode-line-misc-info
mode-line-position))
(use-package telephone-line
:init
;; define una nueva cara
(defface shackra-orange '((t (:foreground "black" :background "orange"))) "")
;; Cambia el estilo de los separadores
(setq telephone-line-primary-left-separator 'telephone-line-cubed-left
telephone-line-secondary-left-separator 'telephone-line-cubed-hollow-left
telephone-line-primary-right-separator 'telephone-line-cubed-right
telephone-line-secondary-right-separator 'telephone-line-cubed-hollow-right)
(setf telephone-line-height 40)
:config
;; Informa a telephone-line sobre la existencia de la nueva cara, llamada `orange'
(add-to-list 'telephone-line-faces '(accent-orange . (shackra-orange . telephone-line-accent-inactive)))
(telephone-line-defsegment shackra-line-buffer-segment ()
(telephone-line-raw mode-line-buffer-identification))
(telephone-line-defsegment shackra-vc-segment ()
(if (shackra-vc-info)
(telephone-line-raw (concat (shackra-buffer-vc-modified) " " (shackra-vc-info))))
(telephone-line-raw (shackra-buffer-vc-modified)))
(telephone-line-defsegment shackra-flycheck-status-segment ()
(telephone-line-raw (shackra-flycheck-status)))
(telephone-line-defsegment shackra-venv-segment ()
(shackra-virtualenv-name))
(setf telephone-line-lhs
'((accent . (shackra-line-buffer-segment))
(nil . (shackra-vc-segment shackra-flycheck-status-segment))))
(setf telephone-line-rhs '((nil . (telephone-line-misc-info-segment telephone-line-major-mode-segment))
(accent-orange . (shackra-venv-segment))
(accent . (telephone-line-position-segment))))
(telephone-line-mode 1))
(use-package paredit
:diminish paredit-mode
:config
(add-hook 'emacs-lisp-mode-hook 'enable-paredit-mode)
(add-hook 'lisp-mode-hook 'enable-paredit-mode)
(add-hook 'lisp-interaction-mode-hook 'enable-paredit-mode))
(use-package flycheck-package :after (flycheck))
(use-package flycheck
:diminish flycheck-mode
:init
(setq-default flycheck-disabled-checkers '(emacs-lisp-checkdoc javascript-jshint))
(setf flycheck-indication-mode 'left-fringe)
(setf flycheck-display-errors-delay 5.0)
:config
(add-hook 'prog-mode-hook #'flycheck-mode))
(package-initialize)
This being the case, I may move my elisp to init.el
and use elisp-bug-hunter in order to catch whatever package is interfering with telephone-line.
I temporally moved my configuration into init.el
, removed the parts that are for untangling my configuration from an org-mode file and ran bug-hunter, there are the results:
Initial tests done. Hunting for the cause...
"/home/jorge/.emacs.d/init.el", line 2446 pos 0:
The assertion returned the following value here:
t
Caused by the following expression:
(use-package telephone-line :init
(defface shackra-orange
'((t
(:foreground "black" :background "orange")))
"")
(setq telephone-line-primary-left-separator 'telephone-line-cubed-left telephone-line-secondary-left-separator 'telephone-line-cubed-hollow-left telephone-line-primary-right-separator 'telephone-line-cubed-right telephone-line-secondary-right-separator 'telephone-line-cubed-hollow-right)
(setf telephone-line-height 40)
:config
(add-to-list 'telephone-line-faces
'(accent-orange shackra-orange . telephone-line-accent-inactive))
(telephone-line-defsegment shackra-line-buffer-segment nil
(telephone-line-raw mode-line-buffer-identification))
(telephone-line-defsegment shackra-vc-segment nil
(if
(shackra-vc-info)
(telephone-line-raw
(concat
(shackra-buffer-vc-modified)
" "
(shackra-vc-info))))
(telephone-line-raw
(shackra-buffer-vc-modified)))
(telephone-line-defsegment shackra-flycheck-status-segment nil
(telephone-line-raw
(shackra-flycheck-status)))
(telephone-line-defsegment shackra-venv-segment nil
(shackra-virtualenv-name))
(setf telephone-line-lhs
'((accent shackra-line-buffer-segment)
(nil shackra-vc-segment shackra-flycheck-status-segment)))
(setf telephone-line-rhs
'((nil telephone-line-misc-info-segment telephone-line-major-mode-segment)
(accent-orange shackra-venv-segment)
(accent telephone-line-position-segment)))
(telephone-line-mode 1))
But honestly this does not tell me anything useful, maybe you have better eye than me.
While using bug hunter on my configuration I notice my orange face in the separator at the same place the artifacts occurred as reported 8 days ago.
While at my bug hunt session, I was able to reproduce an error from the code (eval (telephone-line-separator-render telephone-line-cubed-left (telephone-line-face-map (quote nil)) (telephone-line-face-map (quote accent))))
Debugger entered--Lisp error: (wrong-type-argument sequencep unspecified)
#[771 "\211\300Q\301\302\303\"\"\206#\304\305\306\307!#!\302\303\"#\207" ["_" gethash eieio-oref image-cache puthash telephone-line-propertize-image telephone-line--create-pbm-image telephone-line-separator-create-body] 11 "Find cached pbm of OBJ in FOREGROUND and BACKGROUND.\nIf it doesn't exist, create and cache it.\n\n(fn OBJ FOREGROUND BACKGROUND)"]([eieio-class-tag--telephone-line-separator #[(x) "\301\302\"[\207" [x expt 3] 3] telephone-line-row-pattern nil unbound #s(hash-table size 10 test equal rehash-size 1.5 rehash-threshold 0.8 data ())] unspecified "grey22")
apply(#[771 "\211\300Q\301\302\303\"\"\206#\304\305\306\307!#!\302\303\"#\207" ["_" gethash eieio-oref image-cache puthash telephone-line-propertize-image telephone-line--create-pbm-image telephone-line-separator-create-body] 11 "Find cached pbm of OBJ in FOREGROUND and BACKGROUND.\nIf it doesn't exist, create and cache it.\n\n(fn OBJ FOREGROUND BACKGROUND)"] [eieio-class-tag--telephone-line-separator #[(x) "\301\302\"[\207" [x expt 3] 3] telephone-line-row-pattern nil unbound #s(hash-table size 10 test equal rehash-size 1.5 rehash-threshold 0.8 data ())] (unspecified "grey22"))
telephone-line-separator-render-image([eieio-class-tag--telephone-line-separator #[(x) "\301\302\"[\207" [x expt 3] 3] telephone-line-row-pattern nil unbound #s(hash-table size 10 test equal rehash-size 1.5 rehash-threshold 0.8 data ())] unspecified "grey22")
#[771 "\301!\301!\203\302#\202\303\304\305\"#\207" [window-system telephone-line-separator--arg-handler telephone-line-separator-render-image telephone-line-separator-render eieio-oref alt-separator] 9 "\n\n(fn OBJ FOREGROUND BACKGROUND)"]([eieio-class-tag--telephone-line-separator #[(x) "\301\302\"[\207" [x expt 3] 3] telephone-line-row-pattern nil unbound #s(hash-table size 10 test equal rehash-size 1.5 rehash-threshold 0.8 data ())] mode-line telephone-line-accent-active)
apply(#[771 "\301!\301!\203\302#\202\303\304\305\"#\207" [window-system telephone-line-separator--arg-handler telephone-line-separator-render-image telephone-line-separator-render eieio-oref alt-separator] 9 "\n\n(fn OBJ FOREGROUND BACKGROUND)"] [eieio-class-tag--telephone-line-separator #[(x) "\301\302\"[\207" [x expt 3] 3] telephone-line-row-pattern nil unbound #s(hash-table size 10 test equal rehash-size 1.5 rehash-threshold 0.8 data ())] (mode-line telephone-line-accent-active))
telephone-line-separator-render([eieio-class-tag--telephone-line-separator #[(x) "\301\302\"[\207" [x expt 3] 3] telephone-line-row-pattern nil unbound #s(hash-table size 10 test equal rehash-size 1.5 rehash-threshold 0.8 data ())] mode-line telephone-line-accent-active)
(eval (telephone-line-separator-render telephone-line-cubed-left (telephone-line-face-map (quote nil)) (telephone-line-face-map (quote accent))))
(if (eval (telephone-line-separator-render telephone-line-cubed-left (telephone-line-face-map (quote nil)) (telephone-line-face-map (quote accent)))) (progn nil))
(progn (if (eval (telephone-line-separator-render telephone-line-cubed-left (telephone-line-face-map (quote nil)) (telephone-line-face-map (quote accent)))) (progn nil)))
(if (and (fboundp (quote telephone-line-separator-render)) (boundp (quote telephone-line-cubed-left)) (fboundp (quote telephone-line-face-map))) (progn (if (eval (telephone-line-separator-render telephone-line-cubed-left (telephone-line-face-map (quote nil)) (telephone-line-face-map (quote accent)))) (progn nil))))
eval((if (and (fboundp (quote telephone-line-separator-render)) (boundp (quote telephone-line-cubed-left)) (fboundp (quote telephone-line-face-map))) (progn (if (eval (telephone-line-separator-render telephone-line-cubed-left (telephone-line-face-map (quote nil)) (telephone-line-face-map (quote accent)))) (progn nil)))) nil)
elisp--eval-last-sexp(nil)
eval-last-sexp(nil)
funcall-interactively(eval-last-sexp nil)
call-interactively(eval-last-sexp nil nil)
command-execute(eval-last-sexp)
Also, using the following assertion code:
(when (and (fboundp 'telephone-line-separator-render) (boundp 'telephone-line-cubed-left) (fboundp 'telephone-line-face-map))
(when (eval (telephone-line-separator-render
telephone-line-cubed-left (telephone-line-face-map (quote nil))
(telephone-line-face-map (quote accent))))
nil))
I ended with the exact same result.
If I comment one section of my custom.el
file I cannot reproduce the bug:
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(aw-leading-char-face ((t (:inherit ace-jump-face-foreground :height 3.0))))
;; '(mode-line ((t (:box nil))))
;; '(mode-line-highlight ((t (:box nil))))
;; '(mode-line-inactive ((t (:box nil))))
)
Having the bug reproduced despite the fact I comment the entire content of my (use-package telephone-line)
sentence minus the :config (telephone-line-mode 1)
cannot be explained other than an interference of the three lines I commented in my custom.el
file.
I still have the visual artifact at the right side of the frame though
EDIT: after getting rid of my custom-file
the visual artifact is gone too. You can close this issue if you want as for me is resolved :)
Ah, I can explain at least part of this -- the function that renders separators uses the :background
property on the mode-line
face whenever they're adjacent to a nil
segment, and that custom define setting mode-line
lacked a :background
property.
Clearly you still had an inherited background property, though, so maybe I'm not pulling the trait correctly? or maybe that custom was set incorrectly?
I can confirm this. I hit the same problem with my custom segment where the segment was assigned its face via a function. One of the faces that could be returned from this function did not have an explicit :background property (but it had an implicit via :inherits mode-line which did not help).
Once I explicitly set a :background property for all faces that could be returned from the function Messages buffer became quiet.
This is a bit anoying since then I can not color the segment with the same background color as the mode line but with a different foreground color. :( Is this possible to fix with a reasonable effort? E.g. checking if the face have a :background property and if not do something "intelligent"?
Note: My custom segment was between "ryo" and "accent" segments, thus NOT adjacent to a nil segment.
Forget the note. I mixed up faces definition with segment definition. :( My custom segment is indeed next to a nil segment.
may can you post the related code?
(defface fnord-telephone-line-base
'((t (foreground "black" :weight bold)))
"Meta-face.")
(defface fnord-telephone-line
'((t (:foreground "white" :inherit (mode-line fnord-telephone-line-base))))
"Fnord face.")
(defun fnord-telephone-line-modal-face (avtive)
"Select face to use based on ACTIVE value."
(cond ((not active) 'mode-line-inactive)
(t 'fnord-telephone-line)))
(telephone-line-defsegment fnord-telephone-line-segment ()
"Displays current fnord state."
(when (bound-and-true-p prog-mode)
(propertize "Fnord"
'face 'telephone-line-unimportant
'help-echo "Fnord!")
))
(setq telephone-line-faces (quote ((evil . telephone-line-modal-face)
(modal . telephone-line-modal-face)
(ryo . telephone-line-ryo-modal-face)
(accent . (telephone-line-accent-active . telephone-line-accent-inactive))
(fnord . fnord-telephone-line-modal-face)
(nil . (mode-line . mode-line-inactive)))))
(setq telephone-line-lhs (quote ((evil . (telephone-line-evil-tag-segment))
(accent . (telephone-line-vc-segment telephone-line-erc-modified-channels-segment telephone-line-process-segment))
(fnord . (fnord-telephone-line-segment))
(nil . (telephone-line-projectile-segment telephone-line-buffer-segment)))))
I'm seeing these messages on *Messages* buffer and I cannot figure out why the error. No messages are displayed when running emacsclient: