Subject: bug#35816: 26.2; set-frame-font cannot set some fonts which autocomplete suggests due to dashes in names. I.e. gnu-unifont

From: Vladimir Nikishkin <[email-masked]>
Date: Tue, 21 May 2019 09:56:51 +0800

It is not possible to set some XLFD fonts by just using Emacs
autocomplete.
How to reproduce:
1)Install GNU-Unifont (a free font supporting almost all Unicode)
2)M-x set-frame-font RET
3)- M-i , and make Emacs suggest the Unifont size 16
4)RET, and observe that Emacs canot set this font, because it thinks
that 'xlfd' has 15 elements rather than 14 (a hyphen in the font name
being interpreted as an xlfd separator)

This bug is also observed here:
https://emacs.stackexchange.com/questions/50234/why-cant-emacs-get-a-font-that-it-can-list-among-the-fonts

In GNU Emacs 26.2 (build 1, x86_64-slackware-linux-gnu, GTK+ Version 3.24.8)
 of 2019-04-13 built on hive64.slackware.lan
Windowing system distributor 'The X.Org Foundation', version 11.0.12004000
Recent messages:
Making completion list... [12 times]
set-face-attribute: Invalid font name: "-PfEd-HanWang SinSongThin-Gb5-normal-normal-condensed-*-*-*-*-*-*-0-iso10646-1"
Making completion list... [2 times]
scroll-down-command: Beginning of buffer
Overwrite mode enabled in current buffer
Overwrite mode disabled in current buffer
Saving file /home/lockywolf/.emacs...
Wrote /home/lockywolf/.emacs
((font . "-PfEd-HanWangHeiLight-normal-normal-normal-*-*-*-*-*-*-0-iso10646-1") (font . "DejaVu Sans Mono-12") (fullscreen . maximized))
completing-read-default: Command attempted to use minibuffer while in minibuffer
Quit
Configured using:
 'configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var
--program-prefix= --program-suffix= --mandir=/usr/man
--infodir=/usr/info --without-gconf --without-gsettings --with-x
--with-x-toolkit=gtk3 --build=x86_64-slackware-linux 'CFLAGS=-O2 -fPIC''

Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GLIB NOTIFY ACL
GNUTLS LIBXML2 FREETYPE XFT ZLIB TOOLKIT_SCROLL_BARS GTK3 X11 XDBE XIM
THREADS LCMS2

Important settings:
  value of $LC_COLLATE: C
  value of $LC_TIME: en_GB.UTF-8
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: @im=SCIM
  locale-coding-system: utf-8-unix

Major mode: Lisp Interaction

Minor modes in effect:
  shell-dirtrack-mode: t
  diff-auto-refine-mode: t
  global-flycheck-mode: t
  flycheck-mode: t
  global-auto-revert-mode: t
  electric-pair-mode: t
  global-display-line-numbers-mode: t
  display-line-numbers-mode: t
  global-hi-lock-mode: t
  hi-lock-mode: t
  desktop-save-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-layout-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  global-prettify-symbols-mode: t
  prettify-symbols-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  size-indication-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
None found.

Features:
(shadow sort emacsbug face-remap apropos doc-view image-mode vc
vc-dispatcher repeat iso-transl warnings compile autoload cus-edit
cus-start cus-load lisp-mnt pp descr-text mule-diag cl-print info-look
pcase url-file url-dired mm-archive message rfc822 mml mml-sec epa
derived mailabbrev gmm-utils mailheader mm-decode mm-bodies mm-encode
epg shr-color color network-stream url-http tls gnutls mail-parse
rfc2231 url-gw nsm rmc url-cache url-auth eww puny mm-url gnus nnheader
gnus-util rmail rmail-loaddefs wid-edit url-queue url url-proxy
url-privacy url-expand url-methods url-history url-cookie url-domsuf
url-util mailcap shr svg xml dom browse-url format-spec mail-extr
dired-aux dired dired-loaddefs imenu disp-table view woman man misearch
multi-isearch shell pcomplete comint ansi-color ring time-stamp tabify
rect table jka-compr sh-script smie executable eieio-opt speedbar
sb-image ezimage dframe help-fns radix-tree foldout noutline outline
conf-mode vc-git diff-mode easy-mmode flycheck-plantuml plantuml-mode
flycheck cl-extra json map find-func help-mode rx subr-x dash smtpmail
sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr mail-utils
starttls autorevert filenotify elec-pair keywiz gamegrid diary-lib
diary-loaddefs cal-menu calendar cal-loaddefs totd s
display-line-numbers hi-lock mic-paren ffap thingatpt edmacro kmacro
savehist desktop frameset geiser manoj-dark-theme finder-inf info
package easymenu epg-config url-handlers url-parse auth-source cl-seq
eieio eieio-core cl-macs eieio-loaddefs password-cache url-vars seq
byte-opt gv bytecomp byte-compile cconv cl-loaddefs cl-lib time-date
mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks
lisp-float-type 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 elisp-mode lisp-mode prog-mode register page menu-bar
rfn-eshadow isearch timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core term/tty-colors frame cl-generic 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 charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray minibuffer
cl-preloaded nadvice loaddefs button faces cus-face macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote threads dbusbind
inotify lcms2 dynamic-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 867113 87919)
 (symbols 48 54414 15)
 (miscs 40 4168 624)
 (strings 32 232203 28445)
 (string-bytes 1 11504103)
 (vectors 16 50293)
 (vector-slots 8 2173784 155796)
 (floats 8 386 1018)
 (intervals 56 57293 4535)
 (buffers 992 73))

-- 
--
Vladimir Nikishkin (MiEr, lockywolf)