rolandwalker / unicode-fonts

Configure Unicode fonts for Emacs
227 stars 28 forks source link

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

Open lebensterben opened 1 year ago

lebensterben commented 1 year ago

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

This happens on Emacs startup.

Very interestingly:

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 commented 1 year ago

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 commented 1 year ago

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

lebensterben commented 1 year ago

It's Emacs 28.1.

rolandwalker commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

@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 commented 1 year ago

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 https://github.com/doomemacs/doomemacs/issues/5671 .

NightMachinery commented 1 year ago

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 commented 1 year ago

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 commented 1 year ago

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

eatse21 commented 1 year ago

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 commented 1 year ago

Small note that https://github.com/rolandwalker/unicode-fonts/issues/36#issuecomment-1336049905 fixed the issue for me too. Thanks for that.

rolandwalker commented 1 year ago

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

taquangtrung commented 1 year ago

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)
zardoz03 commented 10 months ago

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

zardoz03 commented 10 months ago

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.