Subject: 25.0.50; Some recent change in Emacs trunk spoiled font rendering

From: Mark Karpov <[email-masked]>
Date: Sat, 13 Jun 2015 00:46:32 +0600

***

I've recently re-built Emacs 25 (as I do regularly) to discover that
Greek characters are not rendered with font that I'm using. The font is
‘DejaVu Sans Mono’, and it has all the necessary characters for Greek
script.

I'm setting the font with code that amounts to something like:

  (set-face-attribute 'default nil :family "DejaVu Sans Mono")
  (set-face-attribute 'variable-pitch nil :family "DejaVu Sans Mono")

…and it worked fine until now. Presently, Greek characters are rendered
using this font:

-misc-fixed-medium-r-normal--14-130-75-75-c-140-jisx0208.1983-0

other Unicode characters are rendered with my font of choice.

I've taken a quick look at descriptions of the recent commits and
indeed, some work related to selection of fonts has been done. It would
be good if this regression could be fixed.

I'm absolutely sure that this is due to changes in Emacs trunk because
didn't upgrade/change anything else and it worked fine several minutes
ago on this machine.

***

In GNU Emacs 25.0.50.5 (x86_64-unknown-linux-gnu, GTK+ Version 3.16.3)
 of 2015-06-13 on arch
Windowing system distributor `The X.Org Foundation', version 11.0.11701000
Configured features:
XPM JPEG TIFF GIF PNG RSVG IMAGEMAGICK SOUND GPM DBUS GCONF GSETTINGS
NOTIFY ACL GNUTLS LIBXML2 FREETYPE M17N_FLT LIBOTF XFT ZLIB
TOOLKIT_SCROLL_BARS GTK3

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: iε

Minor modes in effect:
  diff-auto-refine-mode: t
  rainbow-delimiters-mode: t
  flycheck-mode: t
  flyspell-mode: t
  whitespace-mode: t
  yas-global-mode: t
  yas-minor-mode: t
  show-paren-mode: t
  minibuffer-electric-default-mode: t
  ido-vertical-mode: t
  ido-ubiquitous-mode: t
  ido-everywhere: t
  global-auto-revert-mode: t
  global-aggressive-indent-mode: t
  aggressive-indent-mode: t
  display-time-mode: t
  delete-selection-mode: t
  smartparens-global-mode: t
  smartparens-mode: t
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  column-number-mode: t
  line-number-mode: t
  auto-fill-function: do-auto-fill
  auto-fill-mode: 1

Recent messages:
Saturday, 13 June 2015
next-line: End of buffer [2 times]
Truncate long lines enabled
next-line: End of buffer [15 times]
scroll-down-command: Beginning of buffer [2 times]
previous-line: Beginning of buffer
next-line: End of buffer [2 times]
Truncate long lines enabled
nil
Undo! [2 times]
next-line: End of buffer [2 times]

Load-path shadows:
None found.

Features:
(shadow sort gnus-util mail-extr emacsbug message format-spec rfc822 mml
mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util
help-fns mail-prsvr mail-utils smex vc vc-dispatcher vc-git diff-mode
hl-line dired rainbow-delimiters flycheck-haskell haskell-cabal
haskell-utils flycheck find-func rx subr-x flyspell ispell whitespace
mk-visual solarized-dark-theme solarized mk-tex mk-slime slime-fancy
slime-trace-dialog slime-fontifying-fu slime-package-fu slime-references
slime-compiler-notes-tree slime-scratch slime-presentations bridge
slime-fuzzy slime-fancy-trace slime-fancy-inspector slime-c-p-c
slime-editing-commands slime-autodoc slime-repl slime-parse slime
compile etags xref eieio eieio-core arc-mode archive-mode noutline
outline pp comint ansi-color ring hyperspec browse-url slime-autoloads
cl-macs mk-scheme mk-python mk-prolog mk-org mk-markdown mk-man mk-magit
mk-haskell mk-gnus mk-erc mk-elisp mk-dired mk-diff mk-clojure
mk-calendar mk-c mk-bookmark mk-minor-modes common-lisp-snippets
yasnippet help-mode cl gv whole-line-or-region paren minibuf-eldef
ido-vertical-mode ido-ubiquitous ido-completing-read+ ido warnings
autorevert filenotify cl-seq aggressive-indent easy-mmode time delsel
smartparens-config smartparens byte-opt thingatpt dash mk-global edmacro
kmacro mk-utils mk-abbrev server finder-inf tex-site fix-word info
easymenu advice bytecomp byte-compile cl-extra seq cl-loaddefs pcase
cl-lib cconv package epg-config time-date mule-util tooltip eldoc
electric uniquify ediff-hook vc-hooks lisp-float-type mwheel x-win
term/common-win x-dnd tool-bar dnd fontset image regexp-opt fringe
tabulated-list newcomment elisp-mode lisp-mode prog-mode register page
menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock
syntax facemenu font-core 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 case-table epa-hook jka-cmpr-hook help simple abbrev
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 dbusbind gfilenotify
dynamic-setting system-font-setting font-render-setting move-toolbar gtk
x-toolkit x multi-tty make-network-process emacs)

Memory information:
((conses 16 277819 97775)
 (symbols 48 35949 0)
 (miscs 40 1615 341)
 (strings 32 66660 48195)
 (string-bytes 1 1858049)
 (vectors 16 37248)
 (vector-slots 8 1499554 201377)
 (floats 8 359 1074)
 (intervals 56 255 69)
 (buffers 976 12)
 (heap 1024 62057 8236))