FYI - This bug appears to be fixed in the Emacs 23 pretest (22.2.91).

Thanks very much.


> From: Drew Adams Sent: Thursday, August 07, 2008 10:38 AM
>
> This bug is marked fixed, but it has not been fixed.
> Jason marked it as fixed on 2008-05-08, with this note:
>
>   I've marked this as fixed, since the bug reported will
>   be fixed when font-backend is merged.
>   I will not close it at this time though, as valid points
>   about documentation were raised.
>
> Then, on 2008-06-12, I received a mail saying that it was
> closed. In any case, it is *not* fixed - I see the same
> thing in this recent build:
>
> GNU Emacs 23.0.60.1 (i386-mingw-nt5.1.2600)
>  of 2008-08-01 on LENNART-69DE564
> Windowing system distributor `Microsoft Corp.', version 5.1.2600
> configured using `configure --with-gcc (3.4) --no-opt --cflags
>  -Ic:/g/include -fno-crossjumping'
>
> There are two things that might be the problem:
>
> (1) `modify-frame-parameters' changes the `font' parameter behind your
> back from the value you provide `modify-frame-parameters':
>
> (modify-frame-parameters frame
>   (list (cons 'font "-outline-Lucida Console-normal-normal-\
> normal-mono-15-*-*-*-c-*-iso8859-1")))
>
> The `font' frame parameter is then:
>
> "-outline-Lucida Console-normal-normal-normal-mono-15-\
> *-*-*-c-*-fontset-auto8"
>
> IOW, iso8859-1 gets replaced by fontset-auto8.
>
> (2) `x-list-fonts' returns nil when passed such a font (i.e. with
> fontset-auto8).
>
> This breaks my code. Though the frame and the font appear normal,
> `x-list-fonts' does not recognize such a font. My code changes the
> font name to use a different size (e.g. changes 15 to 14), but it
> checks that `x-list-fonts' recognizes the font name before trying to
> use it. And `x-list-fonts' does not recognize the name (with
> "fontset-auto8") that `modify-frame-parameters' establishes behind the
> scene.
>
> The font that I provide to `modify-frame-parameters' is recognized by
> `x-list-fonts', and it has the same appearance, but it never appears
> as the frame parameter in this context because
> `modify-frame-parameters' substitutes a different name.
>
>
> Below is the pertinent part of the original bug report. The symptom is
> the same, but the font that `modify-frame-parameters' substitutes is
> slightly different.
>
> Back in April, it substituted:
> "-outline-lucida console-normal-roman-normal-mono-15-\
> *-*-*-*-*-fontset-startup"
>
> Now it substitutes:
> "-outline-Lucida Console-normal-normal-normal-mono-15-\
> *-*-*-c-*-fontset-auto8"
>
> Neither is recognized by `x-list-fonts'.
>
> --------8<---------2008-04-05 report -------------------
>
> (frame-parameter nil 'font) ->
> "-*-Lucida Console-normal-r-*-*-14-*-96-96-c-*-iso8859-1"
>
> (modify-frame-parameters
>  nil
>  (list
>   (cons
>    'font
>    "-*-Lucida Console-normal-r-*-*-15-*-96-96-c-*-iso8859-1")))
>
> (frame-parameter nil 'font) ->
> "-outline-lucida
> console-normal-roman-normal-mono-15-*-*-*-*-*-fontset-startup"
>
> What's that about? In Emacs 20, 21, and 22, the result is
> just the font I
> specified.
>
> I have code that zooms frames (font size). I change just the
> point size in the
> font spec, using `x-decompose-font-name' and
> `x-compose-font-name'. I check that
> the result is a legitimate font using `x-list-fonts'. If not,
> I increase or
> decrease the increment until I find the font that works with
> the closest size.
>
> [Yes, I know there are other ways to adjust font size, but
> I've found that this
> method is flexible for users and provides certain benefits.]
>
> My code no longer works without change, because after one call to
> `modify-frame-parameters' the font is no longer something
> recognized by
> `x-list-fonts'. I can comment out the part that iterates
> until it finds a size
> that works (recognized by `x-list-fonts'). That works, but
> I'm still curious
> about this. (Is there perhaps a bug in `x-list-fonts' or in
> `modify-frame-parameters'?)