Subject: Re: bug#2949: 23.0.92; font-info incompatible across Emacs versions

From: Kenichi Handa <[email-masked]>
Date: Tue, 14 Apr 2009 21:41:22 +0900

In article <[email-masked]>, "Drew Adams" <[email-masked]> writes:

> > > In Emacs 20, `font-info' returns an array like this: ...
> > > In Emacs 22 and later, it returns an array like this: ...
> > > This breaks any code that tries to use the result with 
> > > different Emacs versions.
> > 
> > So.... what exactly do you want to happen?
> > 
> > The two formats look easy enough to distinguish.  Since the change
> > occurred in 22, it's been widely released, so obviously 3rd-party code
> > simply has to be prepared to deal with it (if they care about 21 and
> > older versions), and there's little point in changing it back now.

Actually the change occurred in Emacs 21.

> I guess nothing can be done.

> But I do wonder why CHARSET was dropped from both `font-info' and
> `describe-font'. There seems to be nothing about this in NEWS (e.g. for Emacs
> 22). Is the character set no longer meaningful? useful? appropriate?
> discoverable?

I vaguely remember that the change was within a big change
of fontset implementation to match with Gerd's new display
engine for the release of 21.  Before that, fonts are
specified for each charset, but after that, fonts are
specified for each character using a char table.  As a
result, the concept for charset for a font lost the meaning.
Because the changes are quite lot at that time, perhaps I
forgot to record this specific change in NEWS and ChangeLog.

2000-03-21  Kenichi HANDA  <[email-masked]>

	The following changes are to make font selection based on
	characters, not charset.  In addition, they recover fontset
	facilities while utilizing the new font selection mechanism.
[...]

In article <[email-masked]>, Jason Rumney <[email-masked]> writes:

> Miles Bader wrote:
> > So.... what exactly do you want to happen?
> >   

> At least the doc string for font-info should be updated. It still claims 
> that the third entry in the returned vector is CHARSET.

I fixed the docstring.

---
Kenichi Handa
[email-masked]