unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#70989: 29.3; Calling isearch-forward when using Unifont throws error "Invalid font name"
@ 2024-05-16 18:39 Rodrigo Morales
  2024-05-16 19:31 ` Eli Zaretskii
  0 siblings, 1 reply; 17+ messages in thread
From: Rodrigo Morales @ 2024-05-16 18:39 UTC (permalink / raw)
  To: 70989


I used the font "Unifont" to reproduce this issue: I downloaded
the font from https://unifoundry.com/unifont/index.html . The file was
called =unifont-15.1.05.bdf.gz=. I decompressed the file using gunzip
and copied the file to ~/.fonts. Afterwards, I executed "fc-cache -f".

To reproduce this issue, I did not start Emacs using "emacs -Q", but I
deleted the file ~/.config/emacs/init.el and I only added the
following sexp to ~/.config/emacs/init.el

#+HEADER: :tangle ~/.config/emacs/init.el
#+BEGIN_SRC elisp
(add-to-list 'default-frame-alist '(font . "Unifont"))
#+END_SRC

I launched Emacs without the =-Q= flag so that the file
~/.config/emacs/init.el . When the Emacs window opened, the modeline
and the sentence "For information about GNU Emacs and the GNU system,
type C-h C-a" which is shown in the minibuffer was shown using
"Unifont" (the C-h C-a was shown using other font).

I pressed C-s and the following error was shown in the minibuffer:

#+BEGIN_SRC text
window-max-chars-per-line: Invalid font name: -GNU-Unifont-medium-normal-normal-Sans-Serif-16-*-*-*-c-80-iso10646-1
#+END_SRC

I enabled =toggle-debug-on-error= and the following was shown in the
buffer *Backtrace*:

#+BEGIN_SRC text
Debugger entered--Lisp error: (error "Invalid font name: -GNU-Unifont-medium-normal-norm...")
  window-font-width(nil nil)
  window-max-chars-per-line()
  isearch-update()
  isearch-mode(t nil nil nil)
  isearch-forward(nil 1)
  funcall-interactively(isearch-forward nil 1)
  command-execute(isearch-forward)
#+END_SRC

In GNU Emacs 29.3 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.41,
cairo version 1.18.0)
Windowing system distributor 'The X.Org Foundation', version 11.0.12101004
System Description: Ubuntu 22.04.4 LTS

Configured using:
 'configure
 CONFIG_SHELL=/gnu/store/v9p25q9l5nnaixkhpap5rnymmwbhf9rp-bash-minimal-5.1.16/bin/bash
 SHELL=/gnu/store/v9p25q9l5nnaixkhpap5rnymmwbhf9rp-bash-minimal-5.1.16/bin/bash
 --prefix=/gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3
 --enable-fast-install --with-cairo --with-modules
 --with-native-compilation=aot --disable-build-details'

Configured features:
ACL CAIRO DBUS FREETYPE GIF GLIB GMP GNUTLS GPM GSETTINGS HARFBUZZ JPEG
JSON LCMS2 LIBOTF LIBSELINUX LIBSYSTEMD LIBXML2 M17N_FLT MODULES
NATIVE_COMP NOTIFY INOTIFY PDUMPER PNG RSVG SECCOMP SOUND SQLITE3
THREADS TIFF TOOLKIT_SCROLL_BARS TREE_SITTER X11 XDBE XIM XINPUT2 XPM
GTK3 ZLIB

Important settings:
  value of $EMACSLOADPATH: /home/rodrigo/.guix-home/profile/share/emacs/site-lisp:/gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp:/gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp:/gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp
  value of $EMACSNATIVELOADPATH: /home/rodrigo/.guix-home/profile/lib/emacs/native-site-lisp
  value of $LC_MONETARY: en_US.UTF-8
  value of $LC_NUMERIC: en_US.UTF-8
  value of $LC_TIME: en_US.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=ibus
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  cl-old-struct-compat-mode: 1
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  blink-cursor-mode: t
  buffer-read-only: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
/gnu/store/v8r6az9568lv4p8srgamrmsm92krn130-emacs-transient-0.6.0/share/emacs/site-lisp/transient-0.6.0/transient hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/transient
/gnu/store/b3dv0m30c3aqjcf3qdvfl67faw3zp8fy-emacs-use-package-2.4.4/share/emacs/site-lisp/use-package-2.4.4/use-package-ensure hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/use-package/use-package-ensure
/gnu/store/b3dv0m30c3aqjcf3qdvfl67faw3zp8fy-emacs-use-package-2.4.4/share/emacs/site-lisp/use-package-2.4.4/use-package-core hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/use-package/use-package-core
/gnu/store/b3dv0m30c3aqjcf3qdvfl67faw3zp8fy-emacs-use-package-2.4.4/share/emacs/site-lisp/use-package-2.4.4/use-package-ensure-system-package hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/use-package/use-package-ensure-system-package
/gnu/store/b3dv0m30c3aqjcf3qdvfl67faw3zp8fy-emacs-use-package-2.4.4/share/emacs/site-lisp/use-package-2.4.4/use-package-delight hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/use-package/use-package-delight
/gnu/store/b3dv0m30c3aqjcf3qdvfl67faw3zp8fy-emacs-use-package-2.4.4/share/emacs/site-lisp/use-package-2.4.4/use-package-jump hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/use-package/use-package-jump
/gnu/store/b3dv0m30c3aqjcf3qdvfl67faw3zp8fy-emacs-use-package-2.4.4/share/emacs/site-lisp/use-package-2.4.4/use-package-bind-key hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/use-package/use-package-bind-key
/gnu/store/b3dv0m30c3aqjcf3qdvfl67faw3zp8fy-emacs-use-package-2.4.4/share/emacs/site-lisp/use-package-2.4.4/use-package-diminish hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/use-package/use-package-diminish
/gnu/store/b3dv0m30c3aqjcf3qdvfl67faw3zp8fy-emacs-use-package-2.4.4/share/emacs/site-lisp/use-package-2.4.4/use-package hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/use-package/use-package
/gnu/store/b3dv0m30c3aqjcf3qdvfl67faw3zp8fy-emacs-use-package-2.4.4/share/emacs/site-lisp/use-package-2.4.4/bind-key hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/use-package/bind-key
/gnu/store/b3dv0m30c3aqjcf3qdvfl67faw3zp8fy-emacs-use-package-2.4.4/share/emacs/site-lisp/use-package-2.4.4/use-package-lint hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/use-package/use-package-lint
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-forth hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-forth
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-cycle hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-cycle
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ol-bibtex hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ol-bibtex
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-sql hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-sql
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-R hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-R
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-macs hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-macs
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-js hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-js
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-tangle hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-tangle
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-faces hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-faces
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ol-doi hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ol-doi
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-python hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-python
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-mobile hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-mobile
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ox-odt hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ox-odt
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-refile hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-refile
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-clock hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-clock
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-sass hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-sass
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-lilypond hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-lilypond
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-keys hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-keys
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-core hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-core
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-loaddefs hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-loaddefs
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-fold hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-fold
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/oc-natbib hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/oc-natbib
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-scheme hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-scheme
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-org hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-org
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-table hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-table
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-sed hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-sed
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ol-rmail hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ol-rmail
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ol-mhe hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ol-mhe
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-fold-core hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-fold-core
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-compat hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-compat
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ox hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ox
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-attach-git hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-attach-git
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-indent hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-indent
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-makefile hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-makefile
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-protocol hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-protocol
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ox-icalendar hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ox-icalendar
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-css hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-css
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-src hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-src
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-footnote hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-footnote
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-sqlite hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-sqlite
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ol-eww hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ol-eww
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ox-man hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ox-man
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-ruby hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-ruby
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-element hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-element
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ox-beamer hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ox-beamer
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ol-w3m hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ol-w3m
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ox-md hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ox-md
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-habit hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-habit
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-eval hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-eval
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-latex hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-latex
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-inlinetask hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-inlinetask
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ox-ascii hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ox-ascii
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-screen hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-screen
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-crypt hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-crypt
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-capture hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-capture
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-entities hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-entities
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ox-org hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ox-org
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-tempo hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-tempo
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ox-publish hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ox-publish
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-julia hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-julia
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/oc-basic hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/oc-basic
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-java hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-java
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-goto hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-goto
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/oc hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/oc
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-matlab hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-matlab
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-macro hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-macro
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-dot hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-dot
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-ctags hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-ctags
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ol hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ol
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-lob hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-lob
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ol-docview hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ol-docview
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ol-info hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ol-info
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-archive hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-archive
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-ocaml hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-ocaml
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-timer hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-timer
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-emacs-lisp hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-emacs-lisp
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-table hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-table
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ol-man hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ol-man
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-perl hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-perl
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-clojure hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-clojure
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-shell hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-shell
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ol-bbdb hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ol-bbdb
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-id hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-id
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-lua hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-lua
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-calc hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-calc
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-datetree hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-datetree
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ox-html hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ox-html
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-colview hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-colview
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-mouse hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-mouse
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ol-irc hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ol-irc
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-ditaa hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-ditaa
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-processing hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-processing
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-eshell hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-eshell
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ol-gnus hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ol-gnus
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-pcomplete hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-pcomplete
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-plantuml hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-plantuml
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-fortran hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-fortran
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-num hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-num
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-groovy hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-groovy
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-list hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-list
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ox-latex hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ox-latex
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-lint hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-lint
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-version hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-version
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-comint hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-comint
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-lisp hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-lisp
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ox-koma-letter hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ox-koma-letter
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-plot hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-plot
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-attach hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-attach
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ox-texinfo hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ox-texinfo
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-ref hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-ref
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-awk hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-awk
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-feed hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-feed
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/oc-bibtex hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/oc-bibtex
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-persist hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-persist
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/oc-csl hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/oc-csl
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-maxima hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-maxima
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/oc-biblatex hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/oc-biblatex
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-C hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-C
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-haskell hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-haskell
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-exp hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-exp
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-agenda hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-agenda
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-octave hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-octave
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ol-eshell hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ol-eshell
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/org-duration hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/org-duration
/gnu/store/031352359pz52775hfcm6kr4qlckkrx1-emacs-org-9.6.28/share/emacs/site-lisp/org-9.6.28/ob-gnuplot hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/org/ob-gnuplot
/gnu/store/kkjkvl02mpbi1xb4f655wsfs8d35cyav-emacs-let-alist-1.0.6/share/emacs/site-lisp/let-alist-1.0.6/let-alist hides /gnu/store/bpalqnfh1y0hy1921lpxx5a6yr6b5ksi-emacs-29.3/share/emacs/29.3/lisp/emacs-lisp/let-alist

Features:
(shadow sort mail-extr emacsbug message mailcap yank-media puny dired
dired-loaddefs rfc822 mml mml-sec password-cache epa derived epg rfc6068
epg-config gnus-util text-property-search time-date subr-x mm-decode
mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils mailheader
sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
thingatpt misearch multi-isearch git-link-autoloads yaml-autoloads
treepy-autoloads let-alist-autoloads closql-autoloads forge-autoloads
tablist-autoloads pdf-tools-autoloads beacon-autoloads
deferred-autoloads request-autoloads expand-region-autoloads
magit-popup-autoloads geiser-guile-autoloads geiser-autoloads
edit-indirect-autoloads bui-autoloads guix-autoloads rx
notmuch-autoloads highlight-indentation-autoloads diminish-autoloads
use-package-autoloads sparql-mode-autoloads markdown-mode-autoloads
yaml-mode-autoloads org-tree-slide-autoloads
pulseaudio-control-autoloads all-the-icons-dired-autoloads
rainbow-mode-autoloads orderless-autoloads sqlite3-api-autoloads
pg-autoloads finalize-autoloads emacsql-autoloads org-roam-autoloads
orgit-autoloads ox-gfm-autoloads xelb-autoloads exwm-autoloads
shut-up-autoloads loop-autoloads list-utils-autoloads cl-loaddefs cl-lib
elisp-refs-autoloads helpful-autoloads marginalia-autoloads
transient-autoloads magit-autoloads subed-autoloads yasnippet-autoloads
pfuture-autoloads hydra-autoloads ht-autoloads ace-window-autoloads
treemacs-autoloads vterm-autoloads jq-mode-autoloads async-autoloads
helm-autoloads restclient-autoloads ob-restclient-autoloads
page-break-lines-autoloads dashboard-autoloads memoize-autoloads
s-autoloads f-autoloads all-the-icons-autoloads log4e-autoloads
gntp-autoloads alert-autoloads telega-contrib-autoloads
rainbow-identifiers-autoloads company-autoloads
visual-fill-column-autoloads telega-autoloads pinentry-autoloads
consult-autoloads avy-autoloads embark-autoloads adaptive-wrap-autoloads
emms-autoloads compat-autoloads vertico-autoloads
vertico-posframe-autoloads posframe-autoloads popup-autoloads
dash-autoloads rime-autoloads guix-emacs rmc iso-transl tooltip cconv
eldoc paren electric uniquify ediff-hook vc-hooks lisp-float-type
elisp-mode mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd
fontset image regexp-opt fringe tabulated-list replace newcomment
text-mode lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow
isearch easymenu timer select scroll-bar mouse jit-lock font-lock syntax
font-core term/tty-colors frame minibuffer nadvice seq simple cl-generic
indonesian philippine cham georgian utf-8-lang misc-lang vietnamese
tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek
romanian slovak czech european ethiopic indian cyrillic chinese
composite emoji-zwj charscript charprop case-table epa-hook
jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button loaddefs
theme-loaddefs faces cus-face macroexp files window text-properties
overlay sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads dbusbind inotify lcms2
dynamic-setting system-font-setting font-render-setting cairo
move-toolbar gtk x-toolkit xinput2 x multi-tty make-network-process
native-compile emacs)

Memory information:
((conses 16 67412 7697)
 (symbols 48 6795 0)
 (strings 32 19151 3107)
 (string-bytes 1 567913)
 (vectors 16 11964)
 (vector-slots 8 287178 9220)
 (floats 8 22 13)
 (intervals 56 450 0)
 (buffers 984 11))





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#70989: 29.3; Calling isearch-forward when using Unifont throws error "Invalid font name"
  2024-05-16 18:39 bug#70989: 29.3; Calling isearch-forward when using Unifont throws error "Invalid font name" Rodrigo Morales
@ 2024-05-16 19:31 ` Eli Zaretskii
  2024-05-16 20:09   ` Rodrigo Morales
  0 siblings, 1 reply; 17+ messages in thread
From: Eli Zaretskii @ 2024-05-16 19:31 UTC (permalink / raw)
  To: Rodrigo Morales; +Cc: 70989

> Date: Thu, 16 May 2024 13:39:26 -0500
> From: Rodrigo Morales <me@rodrigomorales.site>
> 
> 
> I used the font "Unifont" to reproduce this issue: I downloaded
> the font from https://unifoundry.com/unifont/index.html . The file was
> called =unifont-15.1.05.bdf.gz=. I decompressed the file using gunzip
> and copied the file to ~/.fonts. Afterwards, I executed "fc-cache -f".
> 
> To reproduce this issue, I did not start Emacs using "emacs -Q", but I
> deleted the file ~/.config/emacs/init.el and I only added the
> following sexp to ~/.config/emacs/init.el
> 
> #+HEADER: :tangle ~/.config/emacs/init.el
> #+BEGIN_SRC elisp
> (add-to-list 'default-frame-alist '(font . "Unifont"))
> #+END_SRC
> 
> I launched Emacs without the =-Q= flag so that the file
> ~/.config/emacs/init.el . When the Emacs window opened, the modeline
> and the sentence "For information about GNU Emacs and the GNU system,
> type C-h C-a" which is shown in the minibuffer was shown using
> "Unifont" (the C-h C-a was shown using other font).

What does the below show after you start Emacs?

  M-: (face-font 'default) RET





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#70989: 29.3; Calling isearch-forward when using Unifont throws error "Invalid font name"
  2024-05-16 19:31 ` Eli Zaretskii
@ 2024-05-16 20:09   ` Rodrigo Morales
  2024-05-17  6:13     ` Eli Zaretskii
  0 siblings, 1 reply; 17+ messages in thread
From: Rodrigo Morales @ 2024-05-16 20:09 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 70989

Eli Zaretskii <eliz@gnu.org> writes:

> What does the below show after you start Emacs?
>
>   M-: (face-font 'default) RET

"-GNU-Unifont-medium-normal-normal-Sans-Serif-16-*-*-*-c-80-iso10646-1"





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#70989: 29.3; Calling isearch-forward when using Unifont throws error "Invalid font name"
  2024-05-16 20:09   ` Rodrigo Morales
@ 2024-05-17  6:13     ` Eli Zaretskii
  2024-05-17 11:03       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 17+ messages in thread
From: Eli Zaretskii @ 2024-05-17  6:13 UTC (permalink / raw)
  To: Rodrigo Morales, Po Lu; +Cc: 70989

> From: Rodrigo Morales <me@rodrigomorales.site>
> CC: <70989@debbugs.gnu.org>
> Date: Thu, 16 May 2024 15:09:14 -0500
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > What does the below show after you start Emacs?
> >
> >   M-: (face-font 'default) RET
> 
> "-GNU-Unifont-medium-normal-normal-Sans-Serif-16-*-*-*-c-80-iso10646-1"

That "Sans-Serif" part is the problem: it shouldn't have the dash.

Po Lu, any idea where does that get appended to the font's name, and
why?





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#70989: 29.3; Calling isearch-forward when using Unifont throws error "Invalid font name"
  2024-05-17  6:13     ` Eli Zaretskii
@ 2024-05-17 11:03       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-05-17 15:14         ` Rodrigo Morales
  0 siblings, 1 reply; 17+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-05-17 11:03 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 70989, Rodrigo Morales

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Rodrigo Morales <me@rodrigomorales.site>
>> CC: <70989@debbugs.gnu.org>
>> Date: Thu, 16 May 2024 15:09:14 -0500
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> 
>> > What does the below show after you start Emacs?
>> >
>> >   M-: (face-font 'default) RET
>> 
>> "-GNU-Unifont-medium-normal-normal-Sans-Serif-16-*-*-*-c-80-iso10646-1"
>
> That "Sans-Serif" part is the problem: it shouldn't have the dash.
>
> Po Lu, any idea where does that get appended to the font's name, and
> why?

Rodrigo, would you please let us know which font driver this font is
loaded by?  Please type M-x describe-char RET with point on a character
in the default font, and respond with the output of the Help buffer.






^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#70989: 29.3; Calling isearch-forward when using Unifont throws error "Invalid font name"
  2024-05-17 11:03       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-05-17 15:14         ` Rodrigo Morales
  2024-05-18 12:25           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 17+ messages in thread
From: Rodrigo Morales @ 2024-05-17 15:14 UTC (permalink / raw)
  To: Po Lu, Eli Zaretskii; +Cc: 70989

Po Lu <luangruo@yahoo.com> writes:

> Rodrigo, would you please let us know which font driver this font is
> loaded by?  Please type M-x describe-char RET with point on a character
> in the default font, and respond with the output of the Help buffer.

I emptied the file =~/.config/emacs/init.el= and inserted the
following sexp.

#+HEADER: :tangle ~/.config/emacs/init.el
#+BEGIN_SRC elisp
(add-to-list 'default-frame-alist '(font . "Unifont"))
#+END_SRC

I launched emacs without using the =-Q= flag so that
=~/.config/emacs/init.el= is read. I switched to the buffer
=*scratch*= buffer because the buffer =*GNU Emacs*= used other
fonts. See [[http://web.archive.org/web/20240517150825/http://0x0.st/XPqZ.png][this screenshot]] (note that modeline uses =Unifont= but the
buffer =*GNU Emacs*= uses other fonts). The =*scratch*= buffer used
Unifont.

Here's the content of =*Help*= buffer which was opened when I run =M-x
describe-char= in the =;= which is shown as the first character in the
=*scratch*= buffer.

#+BEGIN_SRC text
             position: 1 of 145 (0%), column: 0
            character: ; (displayed as ;) (codepoint 59, #o73, #x3b)
              charset: ascii (ASCII (ISO646 IRV))
code point in charset: 0x3B
               script: latin
               syntax: < 	which means: comment
             category: .:Base, a:ASCII, l:Latin, r:Roman
             to input: type "C-x 8 RET 3b" or "C-x 8 RET SEMICOLON"
          buffer code: #x3B
            file code: #x3B (encoded by coding system utf-8-unix)
              display: by this font (glyph code):
    ftcrhb:-GNU-Unifont-medium-normal-normal-Sans-Serif-16-*-*-*-c-80-iso10646-1 (#x3C)

Character code properties: customize what to show
  name: SEMICOLON
  general-category: Po (Punctuation, Other)
  decomposition: (59) (';')

There are text properties here:
  face                 font-lock-comment-delimiter-face
  fontified            t

[back]
#+END_SRC

Feel free to ask for more information if needed.





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#70989: 29.3; Calling isearch-forward when using Unifont throws error "Invalid font name"
  2024-05-17 15:14         ` Rodrigo Morales
@ 2024-05-18 12:25           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-05-18 15:34             ` Eli Zaretskii
  0 siblings, 1 reply; 17+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-05-18 12:25 UTC (permalink / raw)
  To: Rodrigo Morales; +Cc: 70989, Eli Zaretskii

Rodrigo Morales <me@rodrigomorales.site> writes:

> #+BEGIN_SRC text
>              position: 1 of 145 (0%), column: 0
>             character: ; (displayed as ;) (codepoint 59, #o73, #x3b)
>               charset: ascii (ASCII (ISO646 IRV))
> code point in charset: 0x3B
>                script: latin
>                syntax: < 	which means: comment
>              category: .:Base, a:ASCII, l:Latin, r:Roman
>              to input: type "C-x 8 RET 3b" or "C-x 8 RET SEMICOLON"
>           buffer code: #x3B
>             file code: #x3B (encoded by coding system utf-8-unix)
>               display: by this font (glyph code):
>     ftcrhb:-GNU-Unifont-medium-normal-normal-Sans-Serif-16-*-*-*-c-80-iso10646-1 (#x3C)

Thanks.  The field in question is the adstyle produced from an
FcPattern's FC_STYLE attribute by get_adstyle_property in the ftfont
driver.  What are the chances that a font will define two adstyles that
collide when dashes (and other characters not representable in an XLFD)
in one are replaced with a substitute?  I expect that they are
negligible, and as such it should suffice to substitute some fixed
alternative for such characters where they appear in adstyles and
perhaps other fields also, if it should ever come to that.





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#70989: 29.3; Calling isearch-forward when using Unifont throws error "Invalid font name"
  2024-05-18 12:25           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-05-18 15:34             ` Eli Zaretskii
  2024-05-19  0:15               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 17+ messages in thread
From: Eli Zaretskii @ 2024-05-18 15:34 UTC (permalink / raw)
  To: Po Lu; +Cc: 70989, me

> From: Po Lu <luangruo@yahoo.com>
> Cc: Eli Zaretskii <eliz@gnu.org>,  <70989@debbugs.gnu.org>
> Date: Sat, 18 May 2024 20:25:06 +0800
> 
> Rodrigo Morales <me@rodrigomorales.site> writes:
> 
> > #+BEGIN_SRC text
> >              position: 1 of 145 (0%), column: 0
> >             character: ; (displayed as ;) (codepoint 59, #o73, #x3b)
> >               charset: ascii (ASCII (ISO646 IRV))
> > code point in charset: 0x3B
> >                script: latin
> >                syntax: < 	which means: comment
> >              category: .:Base, a:ASCII, l:Latin, r:Roman
> >              to input: type "C-x 8 RET 3b" or "C-x 8 RET SEMICOLON"
> >           buffer code: #x3B
> >             file code: #x3B (encoded by coding system utf-8-unix)
> >               display: by this font (glyph code):
> >     ftcrhb:-GNU-Unifont-medium-normal-normal-Sans-Serif-16-*-*-*-c-80-iso10646-1 (#x3C)
> 
> Thanks.  The field in question is the adstyle produced from an
> FcPattern's FC_STYLE attribute by get_adstyle_property in the ftfont
> driver.  What are the chances that a font will define two adstyles that
> collide when dashes (and other characters not representable in an XLFD)
> in one are replaced with a substitute?  I expect that they are
> negligible, and as such it should suffice to substitute some fixed
> alternative for such characters where they appear in adstyles and
> perhaps other fields also, if it should ever come to that.

Sorry, can you elaborate a bit, please?  Specifically:

  . which code in get_adstyle_property does this, and how?
  . what is your idea for a fix, which led you to ask about "the
    chances that a font will define two adstyles that collide"?





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#70989: 29.3; Calling isearch-forward when using Unifont throws error "Invalid font name"
  2024-05-18 15:34             ` Eli Zaretskii
@ 2024-05-19  0:15               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-05-19  6:05                 ` Eli Zaretskii
  0 siblings, 1 reply; 17+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-05-19  0:15 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 70989, me

Eli Zaretskii <eliz@gnu.org> writes:

> Sorry, can you elaborate a bit, please?  Specifically:
>
>   . which code in get_adstyle_property does this, and how?

Not "which code", but "the code", in that the function doesn't actively
generate adstyles inappropriate for XLFDs, but duly returns such
adstyles when Fontconfig reports the same.

>   . what is your idea for a fix, which led you to ask about "the
>     chances that a font will define two adstyles that collide"?

Replacing instances of "-" with "_" in adstyles.





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#70989: 29.3; Calling isearch-forward when using Unifont throws error "Invalid font name"
  2024-05-19  0:15               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-05-19  6:05                 ` Eli Zaretskii
  2024-05-19  7:37                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 17+ messages in thread
From: Eli Zaretskii @ 2024-05-19  6:05 UTC (permalink / raw)
  To: Po Lu; +Cc: 70989, me

> From: Po Lu <luangruo@yahoo.com>
> Cc: me@rodrigomorales.site,  70989@debbugs.gnu.org
> Date: Sun, 19 May 2024 08:15:14 +0800
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > Sorry, can you elaborate a bit, please?  Specifically:
> >
> >   . which code in get_adstyle_property does this, and how?
> 
> Not "which code", but "the code", in that the function doesn't actively
> generate adstyles inappropriate for XLFDs, but duly returns such
> adstyles when Fontconfig reports the same.

Sorry, I still don't understand what you are saying.  Could you please
talk me through the code in that function, and tell where does
"Sans-Serif" come from and how is it "injected" into the font's
attributes?

What I see there is the call to fond_intern_prop, and if the result is
accepted by font_style_to_value as a valid value of FONT_WIDTH_INDEX,
it is returned.  But "Sans-Serif" is not supposed to be a valid width
of a font, so I'm confused.

> >   . what is your idea for a fix, which led you to ask about "the
> >     chances that a font will define two adstyles that collide"?
> 
> Replacing instances of "-" with "_" in adstyles.

In what string or symbol name that is being processed in
get_adstyle_property?





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#70989: 29.3; Calling isearch-forward when using Unifont throws error "Invalid font name"
  2024-05-19  6:05                 ` Eli Zaretskii
@ 2024-05-19  7:37                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-05-19  7:49                     ` Eli Zaretskii
  0 siblings, 1 reply; 17+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-05-19  7:37 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 70989, me

Eli Zaretskii <eliz@gnu.org> writes:

> Sorry, I still don't understand what you are saying.  Could you please
> talk me through the code in that function, and tell where does
> "Sans-Serif" come from and how is it "injected" into the font's
> attributes?
>
> What I see there is the call to fond_intern_prop, and if the result is
> accepted by font_style_to_value as a valid value of FONT_WIDTH_INDEX,
> it is returned.  But "Sans-Serif" is not supposed to be a valid width
> of a font, so I'm confused.

Where does FONT_WIDTH_INDEX come into play?  The attribute responsible
is FONT_ADSTYLE_INDEX, which is set to "Sans-Serif" by:

	 font. */
      FT_Face ft_face;

      ASET (entity, FONT_ADSTYLE_INDEX, get_adstyle_property (p));
      if ((ft_library || FT_Init_FreeType (&ft_library) == 0)

in ftfont_pattern_entity.  The XLFD generated from a font with such an
adstyle is not parsable, the character `-' being the field separator in
XLFDs, and gives rise to parser errors such as Rodrigo encountered when
I-search, by proxy, attempted to deconstruct the XLFD back into a font
spec.

> In what string or symbol name that is being processed in
> get_adstyle_property?

Its return value.





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#70989: 29.3; Calling isearch-forward when using Unifont throws error "Invalid font name"
  2024-05-19  7:37                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-05-19  7:49                     ` Eli Zaretskii
  2024-05-19 11:13                       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 17+ messages in thread
From: Eli Zaretskii @ 2024-05-19  7:49 UTC (permalink / raw)
  To: Po Lu; +Cc: 70989, me

> From: Po Lu <luangruo@yahoo.com>
> Cc: me@rodrigomorales.site,  70989@debbugs.gnu.org
> Date: Sun, 19 May 2024 15:37:09 +0800
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > What I see there is the call to fond_intern_prop, and if the result is
> > accepted by font_style_to_value as a valid value of FONT_WIDTH_INDEX,
> > it is returned.  But "Sans-Serif" is not supposed to be a valid width
> > of a font, so I'm confused.
> 
> Where does FONT_WIDTH_INDEX come into play?

Inside get_adstyle_property:

  adstyle = font_intern_prop (str, end - str, 1);
  if (font_style_to_value (FONT_WIDTH_INDEX, adstyle, 0) >= 0)
    return Qnil;
  return adstyle;

> The attribute responsible is FONT_ADSTYLE_INDEX, which is set to
> "Sans-Serif" by:
> 
> 	 font. */
>       FT_Face ft_face;
> 
>       ASET (entity, FONT_ADSTYLE_INDEX, get_adstyle_property (p));
>       if ((ft_library || FT_Init_FreeType (&ft_library) == 0)
> 
> in ftfont_pattern_entity.  The XLFD generated from a font with such an
> adstyle is not parsable, the character `-' being the field separator in
> XLFDs, and gives rise to parser errors such as Rodrigo encountered when
> I-search, by proxy, attempted to deconstruct the XLFD back into a font
> spec.

Yes, I understand all that.  That was not my question.

So what is the patch you'd propose.





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#70989: 29.3; Calling isearch-forward when using Unifont throws error "Invalid font name"
  2024-05-19  7:49                     ` Eli Zaretskii
@ 2024-05-19 11:13                       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-05-19 11:42                         ` Eli Zaretskii
  0 siblings, 1 reply; 17+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-05-19 11:13 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 70989, me

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Po Lu <luangruo@yahoo.com>
>> Cc: me@rodrigomorales.site,  70989@debbugs.gnu.org
>> Date: Sun, 19 May 2024 15:37:09 +0800
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> 
>> > What I see there is the call to fond_intern_prop, and if the result is
>> > accepted by font_style_to_value as a valid value of FONT_WIDTH_INDEX,
>> > it is returned.  But "Sans-Serif" is not supposed to be a valid width
>> > of a font, so I'm confused.
>> 
>> Where does FONT_WIDTH_INDEX come into play?
>
> Inside get_adstyle_property:
>
>   adstyle = font_intern_prop (str, end - str, 1);
>   if (font_style_to_value (FONT_WIDTH_INDEX, adstyle, 0) >= 0)
>     return Qnil;
>   return adstyle;

This tests whether the adstyle duplicates information that the pattern
might provide as the font width, since if so, the adstyle is entirely
redundant.  You'll observe that font_style_to_value returning >= 0
indicates that the adstyle is a valid width, and therefore the function
rejects, and does not validate, width values.

>> The attribute responsible is FONT_ADSTYLE_INDEX, which is set to
>> "Sans-Serif" by:
>> 
>> 	 font. */
>>       FT_Face ft_face;
>> 
>>       ASET (entity, FONT_ADSTYLE_INDEX, get_adstyle_property (p));
>>       if ((ft_library || FT_Init_FreeType (&ft_library) == 0)
>> 
>> in ftfont_pattern_entity.  The XLFD generated from a font with such an
>> adstyle is not parsable, the character `-' being the field separator in
>> XLFDs, and gives rise to parser errors such as Rodrigo encountered when
>> I-search, by proxy, attempted to deconstruct the XLFD back into a font
>> spec.
>
> Yes, I understand all that.  That was not my question.
>
> So what is the patch you'd propose.

diff --git a/src/ftfont.c b/src/ftfont.c
index 2e37b62ea35..efb6bf668bb 100644
--- a/src/ftfont.c
+++ b/src/ftfont.c
@@ -149,7 +149,8 @@ matching_prefix (char const *str, ptrdiff_t len, char const *pat)
 get_adstyle_property (FcPattern *p)
 {
   FcChar8 *fcstr;
-  char *str, *end;
+  char *str, *end, *tmp;
+  size_t i;
   Lisp_Object adstyle;
 
 #ifdef FC_FONTFORMAT
@@ -168,7 +169,18 @@ get_adstyle_property (FcPattern *p)
       || matching_prefix (str, end - str, "Oblique")
       || matching_prefix (str, end - str, "Italic"))
     return Qnil;
-  adstyle = font_intern_prop (str, end - str, 1);
+  /* The characters `-', `?', `*', and `"' are not representable in XLFDs
+     and therefore must be replaced by substitutes.  (bug#70989) */
+  USE_SAFE_ALLOCA;
+  tmp = SAFE_ALLOCA (end - str);
+  for (i = 0; i < end - str; ++i)
+    tmp[i] = (str[i] == '-'
+	      ? '_' : ((str[i] != '?'
+			&& str[i] != '*'
+			&& str[i] != '"')
+		       ? str[i] : ' '));
+  adstyle = font_intern_prop (tmp, end - str, 1);
+  SAFE_FREE ();
   if (font_style_to_value (FONT_WIDTH_INDEX, adstyle, 0) >= 0)
     return Qnil;
   return adstyle;





^ permalink raw reply related	[flat|nested] 17+ messages in thread

* bug#70989: 29.3; Calling isearch-forward when using Unifont throws error "Invalid font name"
  2024-05-19 11:13                       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-05-19 11:42                         ` Eli Zaretskii
  2024-05-19 13:00                           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 17+ messages in thread
From: Eli Zaretskii @ 2024-05-19 11:42 UTC (permalink / raw)
  To: Po Lu; +Cc: 70989, me

> From: Po Lu <luangruo@yahoo.com>
> Cc: me@rodrigomorales.site,  70989@debbugs.gnu.org
> Date: Sun, 19 May 2024 19:13:32 +0800
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> From: Po Lu <luangruo@yahoo.com>
> >> Cc: me@rodrigomorales.site,  70989@debbugs.gnu.org
> >> Date: Sun, 19 May 2024 15:37:09 +0800
> >> 
> >> Eli Zaretskii <eliz@gnu.org> writes:
> >> 
> >> > What I see there is the call to fond_intern_prop, and if the result is
> >> > accepted by font_style_to_value as a valid value of FONT_WIDTH_INDEX,
> >> > it is returned.  But "Sans-Serif" is not supposed to be a valid width
> >> > of a font, so I'm confused.
> >> 
> >> Where does FONT_WIDTH_INDEX come into play?
> >
> > Inside get_adstyle_property:
> >
> >   adstyle = font_intern_prop (str, end - str, 1);
> >   if (font_style_to_value (FONT_WIDTH_INDEX, adstyle, 0) >= 0)
> >     return Qnil;
> >   return adstyle;
> 
> This tests whether the adstyle duplicates information that the pattern
> might provide as the font width, since if so, the adstyle is entirely
> redundant.  You'll observe that font_style_to_value returning >= 0
> indicates that the adstyle is a valid width, and therefore the function
> rejects, and does not validate, width values.

Thanks.

> >> The attribute responsible is FONT_ADSTYLE_INDEX, which is set to
> >> "Sans-Serif" by:
> >> 
> >> 	 font. */
> >>       FT_Face ft_face;
> >> 
> >>       ASET (entity, FONT_ADSTYLE_INDEX, get_adstyle_property (p));
> >>       if ((ft_library || FT_Init_FreeType (&ft_library) == 0)
> >> 
> >> in ftfont_pattern_entity.  The XLFD generated from a font with such an
> >> adstyle is not parsable, the character `-' being the field separator in
> >> XLFDs, and gives rise to parser errors such as Rodrigo encountered when
> >> I-search, by proxy, attempted to deconstruct the XLFD back into a font
> >> spec.
> >
> > Yes, I understand all that.  That was not my question.
> >
> > So what is the patch you'd propose.
> 
> diff --git a/src/ftfont.c b/src/ftfont.c
> index 2e37b62ea35..efb6bf668bb 100644
> --- a/src/ftfont.c
> +++ b/src/ftfont.c
> @@ -149,7 +149,8 @@ matching_prefix (char const *str, ptrdiff_t len, char const *pat)
>  get_adstyle_property (FcPattern *p)
>  {
>    FcChar8 *fcstr;
> -  char *str, *end;
> +  char *str, *end, *tmp;
> +  size_t i;
>    Lisp_Object adstyle;
>  
>  #ifdef FC_FONTFORMAT
> @@ -168,7 +169,18 @@ get_adstyle_property (FcPattern *p)
>        || matching_prefix (str, end - str, "Oblique")
>        || matching_prefix (str, end - str, "Italic"))
>      return Qnil;
> -  adstyle = font_intern_prop (str, end - str, 1);
> +  /* The characters `-', `?', `*', and `"' are not representable in XLFDs
> +     and therefore must be replaced by substitutes.  (bug#70989) */
> +  USE_SAFE_ALLOCA;
> +  tmp = SAFE_ALLOCA (end - str);
> +  for (i = 0; i < end - str; ++i)
> +    tmp[i] = (str[i] == '-'
> +	      ? '_' : ((str[i] != '?'
> +			&& str[i] != '*'
> +			&& str[i] != '"')
> +		       ? str[i] : ' '));
> +  adstyle = font_intern_prop (tmp, end - str, 1);
> +  SAFE_FREE ();
>    if (font_style_to_value (FONT_WIDTH_INDEX, adstyle, 0) >= 0)
>      return Qnil;
>    return adstyle;

Thanks, but why not replace all of those with a SPC?  It's simpler, I
think.





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#70989: 29.3; Calling isearch-forward when using Unifont throws error "Invalid font name"
  2024-05-19 11:42                         ` Eli Zaretskii
@ 2024-05-19 13:00                           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  2024-05-19 13:19                             ` Eli Zaretskii
  0 siblings, 1 reply; 17+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-05-19 13:00 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 70989, me

Eli Zaretskii <eliz@gnu.org> writes:

> Thanks, but why not replace all of those with a SPC?  It's simpler, I
> think.

No reason in particular, I simply thought it would be more elegant to
replace the other special characters with a different placeholder.





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#70989: 29.3; Calling isearch-forward when using Unifont throws error "Invalid font name"
  2024-05-19 13:00                           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2024-05-19 13:19                             ` Eli Zaretskii
  2024-05-20 13:03                               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 1 reply; 17+ messages in thread
From: Eli Zaretskii @ 2024-05-19 13:19 UTC (permalink / raw)
  To: Po Lu; +Cc: 70989, me

> From: Po Lu <luangruo@yahoo.com>
> Cc: me@rodrigomorales.site,  70989@debbugs.gnu.org
> Date: Sun, 19 May 2024 21:00:30 +0800
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> > Thanks, but why not replace all of those with a SPC?  It's simpler, I
> > think.
> 
> No reason in particular, I simply thought it would be more elegant to
> replace the other special characters with a different placeholder.

I'd prefer to replace all the characters we cannot use there with a
SPC, for consistency.

Otherwise, I'm okay with the patch; please feel free to install.





^ permalink raw reply	[flat|nested] 17+ messages in thread

* bug#70989: 29.3; Calling isearch-forward when using Unifont throws error "Invalid font name"
  2024-05-19 13:19                             ` Eli Zaretskii
@ 2024-05-20 13:03                               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
  0 siblings, 0 replies; 17+ messages in thread
From: Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2024-05-20 13:03 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: 70989, me

Eli Zaretskii <eliz@gnu.org> writes:

>> From: Po Lu <luangruo@yahoo.com>
>> Cc: me@rodrigomorales.site,  70989@debbugs.gnu.org
>> Date: Sun, 19 May 2024 21:00:30 +0800
>> 
>> Eli Zaretskii <eliz@gnu.org> writes:
>> 
>> > Thanks, but why not replace all of those with a SPC?  It's simpler, I
>> > think.
>> 
>> No reason in particular, I simply thought it would be more elegant to
>> replace the other special characters with a different placeholder.
>
> I'd prefer to replace all the characters we cannot use there with a
> SPC, for consistency.
>
> Otherwise, I'm okay with the patch; please feel free to install.

Now done.  Rodrigo, please test and ack, and thanks.





^ permalink raw reply	[flat|nested] 17+ messages in thread

end of thread, other threads:[~2024-05-20 13:03 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-05-16 18:39 bug#70989: 29.3; Calling isearch-forward when using Unifont throws error "Invalid font name" Rodrigo Morales
2024-05-16 19:31 ` Eli Zaretskii
2024-05-16 20:09   ` Rodrigo Morales
2024-05-17  6:13     ` Eli Zaretskii
2024-05-17 11:03       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-17 15:14         ` Rodrigo Morales
2024-05-18 12:25           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-18 15:34             ` Eli Zaretskii
2024-05-19  0:15               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-19  6:05                 ` Eli Zaretskii
2024-05-19  7:37                   ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-19  7:49                     ` Eli Zaretskii
2024-05-19 11:13                       ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-19 11:42                         ` Eli Zaretskii
2024-05-19 13:00                           ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2024-05-19 13:19                             ` Eli Zaretskii
2024-05-20 13:03                               ` Po Lu via Bug reports for GNU Emacs, the Swiss army knife of text editors

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).