Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(void-variable \.\.\.) #36

Open
lebensterben opened this issue Aug 15, 2022 · 17 comments
Open

(void-variable \.\.\.) #36

lebensterben opened this issue Aug 15, 2022 · 17 comments

Comments

@lebensterben
Copy link

void-variable error while calling (unicode-fonts-setup).

This happens on Emacs startup.

Very interestingly:

  • It only happens recently for unknown reason. (There's no Emacs upgrade or unicode-fonts package upgrade)
  • Even if I try to M-x unicode-fonts-setup, it may fail with the same error a few times before it succeed. It seems that the result of running this command is non-deterministic.

Below is the backtrace:

Debugger entered--Lisp error: (void-variable \.\.\.)
  (progn (set-fontset-font "fontset-default" nil (font-spec :name "Symbola:" :registry "iso10646-1")) (set-fontset-font "fontset-default" nil (font-spec :name "Quivira:" :registry "iso10646-1") nil 'append) (set-fontset-font "fontset-default" '(65792 . 65855) (font-spec :name "Noto Sans Symbols:" :registry "iso10646-1")) (set-fontset-font "fontset-default" '(65792 . 65855) (font-spec :name "Symbola:" :registry "iso10646-1") nil 'append) (set-fontset-font "fontset-default" '(65792 . 65855) (font-spec :name "Quivira:" :registry "iso10646-1") nil 'append) (set-fontset-font "fontset-default" '(128768 . 128895) (font-spec :name "Noto Sans Symbols:" :registry "iso10646-1")) (set-fontset-font "fontset-default" '(128768 . 128895) (font-spec :name "Symbola:" :registry "iso10646-1") nil 'append) (set-fontset-font "fontset-default" '(128768 . 128895) (font-spec :name "Quivira:" :registry "iso10646-1") nil 'append) (set-fontset-font "fontset-default" '(64256 . 64335) (font-spec :name "DejaVu Sans:width=condensed:" :registry "iso10646-1")) \.\.\.)
  eval((progn (set-fontset-font "fontset-default" nil (font-spec :name "Symbola:" :registry "iso10646-1")) (set-fontset-font "fontset-default" nil (font-spec :name "Quivira:" :registry "iso10646-1") nil 'append) (set-fontset-font "fontset-default" '(65792 . 65855) (font-spec :name "Noto Sans Symbols:" :registry "iso10646-1")) (set-fontset-font "fontset-default" '(65792 . 65855) (font-spec :name "Symbola:" :registry "iso10646-1") nil 'append) (set-fontset-font "fontset-default" '(65792 . 65855) (font-spec :name "Quivira:" :registry "iso10646-1") nil 'append) (set-fontset-font "fontset-default" '(128768 . 128895) (font-spec :name "Noto Sans Symbols:" :registry "iso10646-1")) (set-fontset-font "fontset-default" '(128768 . 128895) (font-spec :name "Symbola:" :registry "iso10646-1") nil 'append) (set-fontset-font "fontset-default" '(128768 . 128895) (font-spec :name "Quivira:" :registry "iso10646-1") nil 'append) (set-fontset-font "fontset-default" '(64256 . 64335) (font-spec :name "DejaVu Sans:width=condensed:" :registry "iso10646-1")) \.\.\.))(void-variable \.\.\.)
  unicode-fonts--setup-1("fontset-default" nil)
  unicode-fonts-setup()
  (display-graphic-p (unicode-fonts-setup))
  (if (display-graphic-p (unicode-fonts-setup)) (add-hook 'after-make-frame-functions #'unicode-fonts//setup-fonts))
  (progn (if (and (boundp 'unicode-fonts-force-multi-color-on-mac) unicode-fonts-force-multi-color-on-mac) (progn (warn "`unicode-fonts-force-multi-color-on-mac' is no lon..."))) (if (display-graphic-p (unicode-fonts-setup)) (add-hook 'after-make-frame-functions #'unicode-fonts//setup-fonts)) (run-hooks 'use-package--unicode-fonts--post-init-hook))
  (if (run-hook-with-args-until-failure 'use-package--unicode-fonts--pre-init-hook) (progn (if (and (boundp 'unicode-fonts-force-multi-color-on-mac) unicode-fonts-force-multi-color-on-mac) (progn (warn "`unicode-fonts-force-multi-color-on-mac' is no lon..."))) (if (display-graphic-p (unicode-fonts-setup)) (add-hook 'after-make-frame-functions #'unicode-fonts//setup-fonts)) (run-hooks 'use-package--unicode-fonts--post-init-hook)))
  (when (run-hook-with-args-until-failure 'use-package--unicode-fonts--pre-init-hook) (if (and (boundp 'unicode-fonts-force-multi-color-on-mac) unicode-fonts-force-multi-color-on-mac) (progn (warn "`unicode-fonts-force-multi-color-on-mac' is no lon..."))) (if (display-graphic-p (unicode-fonts-setup)) (add-hook 'after-make-frame-functions #'unicode-fonts//setup-fonts)) (run-hooks 'use-package--unicode-fonts--post-init-hook))
  (condition-case err (when (run-hook-with-args-until-failure 'use-package--unicode-fonts--pre-init-hook) (if (and (boundp 'unicode-fonts-force-multi-color-on-mac) unicode-fonts-force-multi-color-on-mac) (progn (warn "`unicode-fonts-force-multi-color-on-mac' is no lon..."))) (if (display-graphic-p (unicode-fonts-setup)) (add-hook 'after-make-frame-functions #'unicode-fonts//setup-fonts)) (run-hooks 'use-package--unicode-fonts--post-init-hook)) ((debug error) (funcall use-package--warning379 :init err)))
  (condition-case-unless-debug err (when (run-hook-with-args-until-failure 'use-package--unicode-fonts--pre-init-hook) (if (and (boundp 'unicode-fonts-force-multi-color-on-mac) unicode-fonts-force-multi-color-on-mac) (progn (warn "`unicode-fonts-force-multi-color-on-mac' is no lon..."))) (if (display-graphic-p (unicode-fonts-setup)) (add-hook 'after-make-frame-functions #'unicode-fonts//setup-fonts)) (run-hooks 'use-package--unicode-fonts--post-init-hook)) (error (funcall use-package--warning379 :init err)))
  (progn (condition-case-unless-debug err (when (run-hook-with-args-until-failure 'use-package--unicode-fonts--pre-init-hook) (if (and (boundp 'unicode-fonts-force-multi-color-on-mac) unicode-fonts-force-multi-color-on-mac) (progn (warn "`unicode-fonts-force-multi-color-on-mac' is no lon..."))) (if (display-graphic-p (unicode-fonts-setup)) (add-hook 'after-make-frame-functions #'unicode-fonts//setup-fonts)) (run-hooks 'use-package--unicode-fonts--post-init-hook)) (error (funcall use-package--warning379 :init err))) (let ((now (current-time))) (message "%s..." "Loading package unicode-fonts") (prog1 (if (not (require 'unicode-fonts nil t)) (display-warning 'use-package (format "Cannot load %s" 'unicode-fonts) :error) (let ((now (current-time))) (message "%s..." "Configuring package unicode-fonts") (prog1 (condition-case-unless-debug err (progn ... t) (error ...)) (let (...) (if ... ... ...))))) (let ((elapsed (float-time (time-subtract ... now)))) (if (> elapsed 0.1) (message "%s...done (%.3fs)" "Loading package unicode-fonts" elapsed) (message "%s...done" "Loading package unicode-fonts"))))))
  (condition-case err (progn (condition-case-unless-debug err (when (run-hook-with-args-until-failure 'use-package--unicode-fonts--pre-init-hook) (if (and (boundp 'unicode-fonts-force-multi-color-on-mac) unicode-fonts-force-multi-color-on-mac) (progn (warn "`unicode-fonts-force-multi-color-on-mac' is no lon..."))) (if (display-graphic-p (unicode-fonts-setup)) (add-hook 'after-make-frame-functions #'unicode-fonts//setup-fonts)) (run-hooks 'use-package--unicode-fonts--post-init-hook)) (error (funcall use-package--warning379 :init err))) (let ((now (current-time))) (message "%s..." "Loading package unicode-fonts") (prog1 (if (not (require 'unicode-fonts nil t)) (display-warning 'use-package (format "Cannot load %s" 'unicode-fonts) :error) (let ((now ...)) (message "%s..." "Configuring package unicode-fonts") (prog1 (condition-case-unless-debug err ... ...) (let ... ...)))) (let ((elapsed (float-time ...))) (if (> elapsed 0.1) (message "%s...done (%.3fs)" "Loading package unicode-fonts" elapsed) (message "%s...done" "Loading package unicode-fonts")))))) ((debug error) (funcall use-package--warning379 :catch err)))
  (condition-case-unless-debug err (progn (condition-case-unless-debug err (when (run-hook-with-args-until-failure 'use-package--unicode-fonts--pre-init-hook) (if (and (boundp 'unicode-fonts-force-multi-color-on-mac) unicode-fonts-force-multi-color-on-mac) (progn (warn "`unicode-fonts-force-multi-color-on-mac' is no lon..."))) (if (display-graphic-p (unicode-fonts-setup)) (add-hook 'after-make-frame-functions #'unicode-fonts//setup-fonts)) (run-hooks 'use-package--unicode-fonts--post-init-hook)) (error (funcall use-package--warning379 :init err))) (let ((now (current-time))) (message "%s..." "Loading package unicode-fonts") (prog1 (if (not (require 'unicode-fonts nil t)) (display-warning 'use-package (format "Cannot load %s" 'unicode-fonts) :error) (let ((now ...)) (message "%s..." "Configuring package unicode-fonts") (prog1 (condition-case-unless-debug err ... ...) (let ... ...)))) (let ((elapsed (float-time ...))) (if (> elapsed 0.1) (message "%s...done (%.3fs)" "Loading package unicode-fonts" elapsed) (message "%s...done" "Loading package unicode-fonts")))))) (error (funcall use-package--warning379 :catch err)))
  (progn (defvar use-package--warning379 #'(lambda (keyword err) (let ((msg (format "%s/%s: %s" ... keyword ...))) (display-warning 'use-package msg :error)))) (condition-case-unless-debug err (progn (condition-case-unless-debug err (when (run-hook-with-args-until-failure 'use-package--unicode-fonts--pre-init-hook) (if (and (boundp ...) unicode-fonts-force-multi-color-on-mac) (progn (warn "`unicode-fonts-force-multi-color-on-mac' is no lon..."))) (if (display-graphic-p (unicode-fonts-setup)) (add-hook 'after-make-frame-functions #'unicode-fonts//setup-fonts)) (run-hooks 'use-package--unicode-fonts--post-init-hook)) (error (funcall use-package--warning379 :init err))) (let ((now (current-time))) (message "%s..." "Loading package unicode-fonts") (prog1 (if (not (require ... nil t)) (display-warning 'use-package (format "Cannot load %s" ...) :error) (let (...) (message "%s..." "Configuring package unicode-fonts") (prog1 ... ...))) (let ((elapsed ...)) (if (> elapsed 0.1) (message "%s...done (%.3fs)" "Loading package unicode-fonts" elapsed) (message "%s...done" "Loading package unicode-fonts")))))) (error (funcall use-package--warning379 :catch err))))
  (use-package unicode-fonts :init (if (and (boundp 'unicode-fonts-force-multi-color-on-mac) unicode-fonts-force-multi-color-on-mac) (progn (warn "`unicode-fonts-force-multi-color-on-mac' is no lon..."))) (if (display-graphic-p (unicode-fonts-setup)) (add-hook 'after-make-frame-functions #'unicode-fonts//setup-fonts)))
  unicode-fonts/init-unicode-fonts()
  funcall(unicode-fonts/init-unicode-fonts)
  (let* ((pkg-name (eieio-oref pkg ':name)) (owner (car (eieio-oref pkg ':owners)))) (spacemacs-buffer/message (format "%S -> init (%S)..." pkg-name owner)) (funcall (intern (format "%S/init-%S" owner pkg-name))))
  configuration-layer//configure-package(#<cfgl-package cfgl-package-156ccf7af954>)
  mapc(configuration-layer//configure-package (#<cfgl-package cfgl-package-156ccf7b4f4c> #<cfgl-package cfgl-package-156ccf7b1e00> #<cfgl-package cfgl-package-156ccf7b1a78> #<cfgl-package cfgl-package-156ccf7b8480> #<cfgl-package cfgl-package-156ccf7b84a4> #<cfgl-package cfgl-package-156ccf7b63cc> #<cfgl-package cfgl-package-156ccf7b8ca8> #<cfgl-package cfgl-package-156ccf7ab4a0> #<cfgl-package cfgl-package-156ccf7b8ccc> #<cfgl-package cfgl-package-156ccf7b4f60> #<cfgl-package cfgl-package-156ccf7aac2c> #<cfgl-package cfgl-package-156ccf7ae5b4> #<cfgl-package cfgl-package-156ccf7ae0dc> #<cfgl-package cfgl-package-156ccf7b2628> #<cfgl-package cfgl-package-156ccf7af5a8> #<cfgl-package cfgl-package-156ccf7b22d8> #<cfgl-package cfgl-package-156ccf7b26d0> #<cfgl-package cfgl-package-156ccf7b84b8> #<cfgl-package cfgl-package-156ccf7b22c4> #<cfgl-package cfgl-package-156ccf7b4f84> #<cfgl-package cfgl-package-156ccf7b63e0> #<cfgl-package cfgl-package-156ccf7abc58> #<cfgl-package cfgl-package-156ccf7b4f98> #<cfgl-package cfgl-package-156ccf7a9bf0> #<cfgl-package cfgl-package-156ccf7b4fbc> #<cfgl-package cfgl-package-156ccf7b4ae4> #<cfgl-package cfgl-package-156ccf7ab024> #<cfgl-package cfgl-package-156ccf7ad110> #<cfgl-package cfgl-package-156ccf7ac864> #<cfgl-package cfgl-package-156ccf7b7fe0> #<cfgl-package cfgl-package-156ccf7ad134> #<cfgl-package cfgl-package-156ccf7b6404> #<cfgl-package cfgl-package-156ccf7aabd0> #<cfgl-package cfgl-package-156ccf7abc7c> #<cfgl-package cfgl-package-156ccf7a9400> #<cfgl-package cfgl-package-156ccf7b67a0> #<cfgl-package cfgl-package-156ccf7b4af8> #<cfgl-package cfgl-package-156ccf7af9d8> #<cfgl-package cfgl-package-156ccf7b2a7c> #<cfgl-package cfgl-package-156ccf7ab4c4> #<cfgl-package cfgl-package-156ccf7ae128> #<cfgl-package cfgl-package-156ccf7ad148> #<cfgl-package cfgl-package-156ccf7aabf4> #<cfgl-package cfgl-package-156ccf7ac480> #<cfgl-package cfgl-package-156ccf7ae114> #<cfgl-package cfgl-package-156ccf7b1e24> #<cfgl-package cfgl-package-156ccf7b1e5c> #<cfgl-package cfgl-package-156ccf7ae14c> #<cfgl-package cfgl-package-156ccf7ac878> #<cfgl-package cfgl-package-156ccf7ad8ec> ...))
  (let (packages-to-configure) (let ((--dolist-tail-- packages)) (while --dolist-tail-- (let ((pkg-name (car --dolist-tail--))) (let ((pkg (configuration-layer/get-package pkg-name))) (cond ((eieio-oref pkg ...) (spacemacs-buffer/message ...)) ((and ... ...) (spacemacs-buffer/message ...)) ((null ...) (spacemacs-buffer/message ...)) ((not ...) (spacemacs-buffer/message ...)) ((not ...) (spacemacs-buffer/message ...)) (t (let ... ...) (if ... nil ...) (cond ... ...)))) (setq --dolist-tail-- (cdr --dolist-tail--))))) (setq packages-to-configure (reverse packages-to-configure)) (mapc 'configuration-layer//configure-package packages-to-configure) (mapc 'configuration-layer//post-configure-package packages-to-configure))
  configuration-layer//configure-packages-2((abbrev ac-ispell ace-jump-helm-line ace-link ace-window add-node-modules-path aggressive-indent all-the-icons anaconda-mode ansi-colors arc-mode attrap auctex auctex-latexmk auth-source-pass auto-compile auto-complete auto-dictionary auto-highlight-symbol auto-yasnippet autorevert avy blacken bookmark browse-at-remote buffer-menu bug-reference buttercup cargo cc-mode ccls centered-cursor-mode clang-format clean-aindent-mode cmm-mode code-cells color-identifiers-mode column-enforce-mode comint common-lisp-snippets company company-anaconda company-auctex company-box company-c-headers company-cabal company-go company-math company-posframe company-quickhelp ...))
  configuration-layer//configure-packages((abbrev ac-ispell ace-jump-helm-line ace-link ace-window add-node-modules-path aggressive-indent all-the-icons anaconda-mode ansi-colors arc-mode async attrap auctex auctex-latexmk auth-source-pass auto-compile auto-complete auto-dictionary auto-highlight-symbol auto-yasnippet autorevert avy bind-key bind-map blacken bookmark browse-at-remote buffer-menu bug-reference buttercup cargo cc-mode ccls centered-cursor-mode clang-format clean-aindent-mode cmm-mode code-cells color-identifiers-mode column-enforce-mode comint common-lisp-snippets company company-anaconda company-auctex company-box company-c-headers company-cabal company-go ...))
  configuration-layer//load()
  (cond (changed-since-last-dump-p (configuration-layer//load) (if (spacemacs/emacs-with-pdumper-set-p) (progn (configuration-layer/message "Layer list has changed since last dump.") (configuration-layer//dump-emacs)))) (spacemacs-force-dump (configuration-layer//load) (if (spacemacs/emacs-with-pdumper-set-p) (progn (configuration-layer/message (concat "--force-dump passed on the command line or configu..." "been reloaded, forcing a redump.")) (configuration-layer//dump-emacs)))) ((spacemacs-is-dumping-p) (configuration-layer//load)) ((and (spacemacs/emacs-with-pdumper-set-p) (spacemacs-run-from-dump-p)) (configuration-layer/message "Running from a dumped file. Skipping the loading p...")) (t (configuration-layer//load) (if (spacemacs/emacs-with-pdumper-set-p) (progn (configuration-layer/message (concat "Layer list has not changed since last time. " "Skipping dumping process!"))))))
  configuration-layer/load()
  (let ((file-name-handler-alist nil)) (require 'core-spacemacs) (spacemacs/dump-restore-load-path) (configuration-layer/load-lock-file) (spacemacs/init) (configuration-layer/stable-elpa-init) (configuration-layer/load) (spacemacs-buffer/display-startup-note) (spacemacs/setup-startup-hook) (spacemacs/dump-eval-delayed-functions) (if (and dotspacemacs-enable-server (not (spacemacs-is-dumping-p))) (progn (require 'server) (if dotspacemacs-server-socket-dir (progn (setq server-socket-dir dotspacemacs-server-socket-dir))) (if (server-running-p) nil (message "Starting a server...") (server-start)))))
  (if (not (version<= spacemacs-emacs-min-version emacs-version)) (error (concat "Your version of Emacs (%s) is too old. " "Spacemacs requires Emacs version %s or above.") emacs-version spacemacs-emacs-min-version) (let ((file-name-handler-alist nil)) (require 'core-spacemacs) (spacemacs/dump-restore-load-path) (configuration-layer/load-lock-file) (spacemacs/init) (configuration-layer/stable-elpa-init) (configuration-layer/load) (spacemacs-buffer/display-startup-note) (spacemacs/setup-startup-hook) (spacemacs/dump-eval-delayed-functions) (if (and dotspacemacs-enable-server (not (spacemacs-is-dumping-p))) (progn (require 'server) (if dotspacemacs-server-socket-dir (progn (setq server-socket-dir dotspacemacs-server-socket-dir))) (if (server-running-p) nil (message "Starting a server...") (server-start))))))
  load-with-code-conversion("/home/lucius/.emacs.d/init.el" "/home/lucius/.emacs.d/init.el" t t)
  load("/home/lucius/.emacs.d/init" noerror nomessage)
  startup--load-user-init-file(#f(compiled-function () #<bytecode 0x4c9a6189c0281>) #f(compiled-function () #<bytecode -0x1f3c686ddc0cdc35>) t)
  command-line()
  normal-top-level()
@rolandwalker
Copy link
Owner

Hi!

Very interestingly:

Indeed, this is a fascinating error. It would seem that the ... elisions in an error message are being evaluated. The string ... occurs nowhere in the unicode-fonts repo.

For example, zeroing in on this snippet:

(defvar use-package--warning379 #'(lambda (keyword err) (let ((msg (format "%s/%s: %s" ... keyword ...))) (display-warning 'use-package msg :error))))

try this:

ESC : (format "%s/%s: %s" ... keyword ...) RET

to duplicate the error

(void-variable \.\.\.)

@rolandwalker
Copy link
Owner

I realize the version of Emacs did not change recently, but what version is it?

@lebensterben
Copy link
Author

It's Emacs 28.1.

@rolandwalker
Copy link
Owner

Scrolling to the right I now notice the \.\.\. as an argument to set-fontest-font.

  (progn (set-fontset-font "fontset-default" nil (font-spec :name "Symbola:" :registry "iso10646-1")) (set-fontset-font "fontset-default" nil (font-spec :name "Quivira:" :registry "iso10646-1") nil 'append) (set-fontset-font "fontset-default" '(65792 . 65855) (font-spec :name "Noto Sans Symbols:" :registry "iso10646-1")) (set-fontset-font "fontset-default" '(65792 . 65855) (font-spec :name "Symbola:" :registry "iso10646-1") nil 'append) (set-fontset-font "fontset-default" '(65792 . 65855) (font-spec :name "Quivira:" :registry "iso10646-1") nil 'append) (set-fontset-font "fontset-default" '(128768 . 128895) (font-spec :name "Noto Sans Symbols:" :registry "iso10646-1")) (set-fontset-font "fontset-default" '(128768 . 128895) (font-spec :name "Symbola:" :registry "iso10646-1") nil 'append) (set-fontset-font "fontset-default" '(128768 . 128895) (font-spec :name "Quivira:" :registry "iso10646-1") nil 'append) (set-fontset-font "fontset-default" '(64256 . 64335) (font-spec :name "DejaVu Sans:width=condensed:" :registry "iso10646-1")) \.\.\.)

28.1 makes sense because I have a hazy suspicion this is an interaction with native compilation.

@rolandwalker
Copy link
Owner

Couple of things that would be interesting to do. If you have rg installed it would be simple to search for the \.\.\. string in your ~/.emacs.d directory:

cd ~/.emacs.d
rg -l '\\\.\\\.\\\.'

And you might also try turning off unicode-fonts-use-persistent-storage in customize as a test. That makes startup slower. But the cache may be where the \.\.\. are hiding.

@lebensterben
Copy link
Author

@rolandwalker

Inside ~/.emacs.d/elpa,

𝛌> rg '\\\.\\\.\\\.'
28.1/develop/rtags-20211101.2149/rtags.el
3328:          ((string-match "\.\.\." str)

28.1/develop/web-mode-20220810.1453/web-mode.el
6992:                  (when (and (eq (get-text-property exp-beg 'tag-attr-beg) 4) (web-mode-looking-at-p "\.\.\." (1+ exp-beg)))

The problem seems to has disappeared after I rebooted my system...

@NightMachinery
Copy link

I also have this issue. The variable unicode-fonts--instructions contains these \... symbols.

unicode-fonts--instructions is a variable defined in unicode-fonts.el.

Value
(("fontset-default"
  (set-fontset-font "fontset-default" nil
                    (font-spec :name "Symbola:" :registry "iso10646-1"))
  (set-fontset-font "fontset-default"
                    '(65792 . 65855)
                    (font-spec :name "Symbola:" :registry "iso10646-1"))
  (set-fontset-font "fontset-default"
                    '(128768 . 128895)
                    (font-spec :name "Symbola:" :registry "iso10646-1"))
  (set-fontset-font "fontset-default"
                    '(64256 . 64335)
                    (font-spec :name "Arial Unicode MS:" :registry "iso10646-1"))
  (set-fontset-font "fontset-default"
                    '(119296 . 119375)
                    (font-spec :name "Symbola:" :registry "iso10646-1"))
  (set-fontset-font "fontset-default"
                    '(65856 . 65935)
                    (font-spec :name "Apple Symbols:" :registry "iso10646-1"))
  (set-fontset-font "fontset-default"
                    '(65856 . 65935)
                    (font-spec :name "Symbola:" :registry "iso10646-1")
                    nil 'append)
  (set-fontset-font "fontset-default"
                    '(65936 . 65999)
                    (font-spec :name "Symbola:" :registry "iso10646-1"))
  (set-fontset-font "fontset-default"
                    '(1536 . 1791)
                    (font-spec :name "Courier New:" :registry "iso10646-1"))
  \...))

Set

Documentation
Alist of code to set up fonts on a given system.

References
unicode-fonts--instructions is unused in unicode-fonts.el.

Find all references

Debugging
Forget

Source Code
;; Defined in ~/.emacs.d/.local/straight/repos/unicode-fonts/unicode-fonts.el
(defvar unicode-fonts--instructions           nil "Alist of code to set up fonts on a given system.")

Symbol Properties
variable-documentation
  "Alist of code to set up fonts on a given system."

See also doomemacs/doomemacs#5671 .

@NightMachinery
Copy link

I have it in this file .local/cache/pcache/unicode-fonts:

.local/cache/pcache/unicode-fonts
7:  :entries #s(hash-table size 65 test eql rehash-size 1.5 rehash-threshold 0.8125 data (checksum-f:fontset-default-w:ns-h:localhost-e:29.0.50-l:0.4.10 (pcache-entry "pcache-entry-599fe2b2" :timestamp 1669643622.72101 :ttl 7776000 :value "7f0bc2b84f32ccb156aefa6eb2d42164") instructions-f:fontset-default-w:ns-h:localhost-e:29.0.50-l:0.4.10 (pcache-entry "pcache-entry-599fe2ca" :timestamp 1669643622.723952 :ttl 7776000 :value '("fontset-default" (set-fontset-font "fontset-default" nil (font-spec :name "Symbola:" :registry "iso10646-1")) (set-fontset-font "fontset-default" '(65792 . 65855) (font-spec :name "Symbola:" :registry "iso10646-1")) (set-fontset-font "fontset-default" '(128768 . 128895) (font-spec :name "Symbola:" :registry "iso10646-1")) (set-fontset-font "fontset-default" '(64256 . 64335) (font-spec :name "Arial Unicode MS:" :registry "iso10646-1")) (set-fontset-font "fontset-default" '(119296 . 119375) (font-spec :name "Symbola:" :registry "iso10646-1")) (set-fontset-font "fontset-default" '(65856 . 65935) (font-spec :name "Apple Symbols:" :registry "iso10646-1")) (set-fontset-font "fontset-default" '(65856 . 65935) (font-spec :name "Symbola:" :registry "iso10646-1") nil 'append) (set-fontset-font "fontset-default" '(65936 . 65999) (font-spec :name "Symbola:" :registry "iso10646-1")) (set-fontset-font "fontset-default" '(1536 . 1791) (font-spec :name "Courier New:" :registry "iso10646-1")) \...)) checksum-f:fontset-startup-w:ns-h:localhost-e:29.0.50-l:0.4.10 (pcache-entry "pcache-entry-599fe2de" :timestamp 1669643622.863462 :ttl 7776000 :value "7f0bc2b84f32ccb156aefa6eb2d42164") instructions-f:fontset-startup-w:ns-h:localhost-e:29.0.50-l:0.4.10 (pcache-entry "pcache-entry-599fe2e2" :timestamp 1669643622.863474 :ttl 7776000 :value '("fontset-startup" (set-fontset-font "fontset-startup" nil (font-spec :name "Symbola:" :registry "iso10646-1")) (set-fontset-font "fontset-startup" '(65792 . 65855) (font-spec :name "Symbola:" :registry "iso10646-1")) (set-fontset-font "fontset-startup" '(128768 . 128895) (font-spec :name "Symbola:" :registry "iso10646-1")) (set-fontset-font "fontset-startup" '(64256 . 64335) (font-spec :name "Arial Unicode MS:" :registry "iso10646-1")) (set-fontset-font "fontset-startup" '(119296 . 119375) (font-spec :name "Symbola:" :registry "iso10646-1")) (set-fontset-font "fontset-startup" '(65856 . 65935) (font-spec :name "Apple Symbols:" :registry "iso10646-1")) (set-fontset-font "fontset-startup" '(65856 . 65935) (font-spec :name "Symbola:" :registry "iso10646-1") nil 'append) (set-fontset-font "fontset-startup" '(65936 . 65999) (font-spec :name "Symbola:" :registry "iso10646-1")) (set-fontset-font "fontset-startup" '(1536 . 1791) (font-spec :name "Courier New:" :registry "iso10646-1")) \...)) checksum-f:fontset-standard-w:ns-h:localhost-e:29.0.50-l:0.4.10 (pcache-entry "pcache-entry-599fe2f6" :timestamp 1669643623.005151 :ttl 7776000 :value "7f0bc2b84f32ccb156aefa6eb2d42164") instructions-f:fontset-standard-w:ns-h:localhost-e:29.0.50-l:0.4.10 (pcache-entry "pcache-entry-599fe8a8" :timestamp 1669643623.005166 :ttl 7776000 :value '("fontset-standard" (set-fontset-font "fontset-standard" nil (font-spec :name "Symbola:" :registry "iso10646-1")) (set-fontset-font "fontset-standard" '(65792 . 65855) (font-spec :name "Symbola:" :registry "iso10646-1")) (set-fontset-font "fontset-standard" '(128768 . 128895) (font-spec :name "Symbola:" :registry "iso10646-1")) (set-fontset-font "fontset-standard" '(64256 . 64335) (font-spec :name "Arial Unicode MS:" :registry "iso10646-1")) (set-fontset-font "fontset-standard" '(119296 . 119375) (font-spec :name "Symbola:" :registry "iso10646-1")) (set-fontset-font "fontset-standard" '(65856 . 65935) (font-spec :name "Apple Symbols:" :registry "iso10646-1")) (set-fontset-font "fontset-standard" '(65856 . 65935) (font-spec :name "Symbola:" :registry "iso10646-1") nil 'append) (set-fontset-font "fontset-standard" '(65936 . 65999) (font-spec :name "Symbola:" :registry "iso10646-1")) (set-fontset-font "fontset-standard" '(1536 . 1791) (font-spec :name "Courier New:" :registry "iso10646-1")) \...))))

@NightMachinery
Copy link

By deleting ~/.emacs.d/.local/cache/pcache/ and restarting emacs, I fixed the issue. I had to do this twice though, the first time the problematic file was just recreated.

@NightMachinery
Copy link

Perhaps this package should be installed with the native compilation disabled? (You can mention this in the readme as a warning.)

@eatse21
Copy link

eatse21 commented Dec 8, 2022

Hi,
I also had the same issue on Emacs 28.2 with native compilation, and I also fixed the issue by deleting the pcache/unicode-fonts file.
I wasn't able to reproduce the issue when debugging the regeneration, but this is what I can share to you :

Image_08_12_2022_12_03_collée-2
This is the diff between the old problematic cache and the new working one.

In the bad file, the function generating instructions-f:… data was just able to generate ~10 fonts before stopping the list and adding the problematic \.\.\. at the end.
In the new one, there are no less than 256 fonts (truncated in the diff)

Maybe this can help

@zeroDivisible
Copy link

Small note that #36 (comment) fixed the issue for me too. Thanks for that.

@rolandwalker
Copy link
Owner

Looking at this. Great feedback. Maybe https://www.gnu.org/software/emacs/manual/html_node/elisp/Declare-Form.html in the right spot.

@taquangtrung
Copy link

I'm using Doom Emacs and the issue of ... is caused by the setting that print-length is set to a non-nil value.

https://www.gnu.org/software/emacs/manual/html_node/elisp/Output-Variables.html#index-print_002dlength

Setting it to nil will resolve the issue:

(setq print-length nil)

hlissner added a commit to doomemacs/doomemacs that referenced this issue Jul 22, 2023
Seems to be a common issue, and unlikely to see a fix, unless
unicode-fonts gets a new maintainer.

Ref: rolandwalker/unicode-fonts#36
Ref: #7164
@zardoz03
Copy link
Contributor

I seem to have fixed it in #38,where I filter non-cons objects before the eval

@zardoz03
Copy link
Contributor

zardoz03 commented Sep 25, 2023

also @taquangtrung , setq print-length doesn't fix the problem on my end on 29.1. it doesn't change even with deleting the file and setting it.

@nameiwillforget
Copy link

I started having the same issue a few weeks ago on Emacs 31.0.50, tested just this day as occurring even if I start Emacs without an init and reinstalled unicode-fonts from MELPA. Deleting pcache/unicode-fonts seems to have solved it, but the exact path was ~/.emacs.d/var/pcache.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants