Subject: 23.0.91; font-selection weirdness with `set-frame-attribute' of default face

From: Miles Bader <[email-masked]>
Date: Mon, 30 Mar 2009 21:48:57 +0900

Emacs seems to use different fonts to display ascii vs. non-ascii
characters when one uses `set-frame-attribute' to set the default font.

To reproduce (using X):

 (1) In a shell, evaluate the following commands:

       xrdb -remove
       echo '*Font: Dejavu Sans Mono-11' > /tmp/.Xdefaults
       echo '(set-face-attribute '\''default nil :family "Liberation Mono")' > /tmp/.emacs
       HOME=/tmp emacs -no-splash -eval '(insert "café")'&

 (2) Position the cursor over the "c" in "café", and use C-u C-x =

     Notice it says that the font used is "Liberation Mono", which is
     the correct default font.

 (3) Position the cursor over the "é" in "café", and use C-u C-x =

     Notice that it says the font used is "Dejavu Sans Mono", which is
     _not_ the correct default font, but rather was the startup font.

This problem only seems to occur if one uses `set-face-attribute' to set
the default font.  If one uses `set-frame-font' (etc), it seems to work
correctly; e.g., try using the shell command:

   echo '(set-frame-font "Liberation Mono")' > /tmp/.emacs

and then start emacs as in the original recipe; the "é" should
correctly be displayed using the current default font.

Thanks,

-Miles

In GNU Emacs 23.0.91.2 (x86_64-unknown-linux-gnu, GTK+ Version 2.16.0)
 of 2009-03-30 on catnip
Windowing system distributor `The X.Org Foundation', version 11.0.10599902
Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: en_US.UTF-8
  value of $XMODIFIERS: nil
  locale-coding-system: utf-8-unix
  default-enable-multibyte-characters: t

Major mode: Text

Minor modes in effect:
  rcirc-track-minor-mode: t
  tooltip-mode: t
  mouse-wheel-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  global-auto-composition-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Recent input:
<help-echo> C-x g C-x C-v . e m a c s <return> <escape> 
> C-x C-v . e m a SPC ? . SPC C-g C-x b a s d f <return> 
c a f e <backspace> C-x 8 ' e C-b C-u C-x = C-b C-u 
C-x = = <backspace> C-f C-n <return> <C-down-mouse-3> 
<options> <menu-set-font> C-p C-x = C-u C-x = <escape> 
x r e p o r SPC <return>

Recent messages:
Checking new news...done
Mark set
Making completion list... [2 times]
xding
Quit
Type C-x 1 to delete the help window.
Char: é (233, #o351, #xe9, file ...) point=4 of 4 (75%) column=3
Char: f (102, #o146, #x66) point=3 of 4 (50%) column=2
xding
Char: c (99, #o143, #x63) point=1 of 5 (0%) column=0 [2 times]

-- 
Brain, n. An apparatus with which we think we think.