unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
* x-font-family-list
       [not found] <E1LLIEC-0007fX-03@monty-python.gnu.org>
@ 2009-01-09 20:01 ` Eli Zaretskii
  2009-01-09 20:32   ` x-font-family-list Chong Yidong
  0 siblings, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2009-01-09 20:01 UTC (permalink / raw)
  To: Chong Yidong; +Cc: emacs-devel

I don't understand this change:

> 	* xfaces.c (Fx_font_family_list): Function deleted.  Compatibility
> 	version moved to faces.el.

Here's the compatibility function:

> +(defun x-font-family-list (&optional frame)
> +  "Return a list of available font families on FRAME.
> +If FRAME is omitted or nil, use the selected frame.
> +Value is a list of conses (FAMILY . FIXED-P) where FAMILY
> +is a font family, and FIXED-P is non-nil if fonts of that family
> +are fixed-pitch."
> +  (if (fboundp 'font-family-list)
> +      (mapcar (lambda (family) (cons family nil))
> +	      (font-family-list))
> +    '(("default" . t))))
> +(make-obsolete 'x-font-family-list 'font-family-list "23.1")

This "compatibility version" is not compatible, AFAICS: it claims that
none of the font families are fixed-pitch, and also assumes that some
builds of Emacs don't have font-family-list fboundp, which is never
true AFAIK.  The net effect is that in the --without-x and MS-DOS
builds x-font-family-list now returns nil, whereas previously it was
unbound in the --without-x build and on MS-DOS returned `("default" . t)'.

What am I missing?  What was the purpose of this change?

If the value of this function is not important at all, let's delete it
completely.  If it _is_ important, then let's make the replacement
really compatible, which means at the very least make the cdr of the
cons cells it returns be non-nil for fixed-pitch font families.




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: x-font-family-list
  2009-01-09 20:01 ` x-font-family-list Eli Zaretskii
@ 2009-01-09 20:32   ` Chong Yidong
  2009-01-10  4:57     ` x-font-family-list Leo
  2009-01-10  9:15     ` x-font-family-list Eli Zaretskii
  0 siblings, 2 replies; 9+ messages in thread
From: Chong Yidong @ 2009-01-09 20:32 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

> I don't understand this change:
>
>> 	* xfaces.c (Fx_font_family_list): Function deleted.  Compatibility
>> 	version moved to faces.el.
>
> This "compatibility version" is not compatible, AFAICS: it claims that
> none of the font families are fixed-pitch, and also assumes that some
> builds of Emacs don't have font-family-list fboundp, which is never
> true AFAIK.  The net effect is that in the --without-x and MS-DOS
> builds x-font-family-list now returns nil, whereas previously it was
> unbound in the --without-x build and on MS-DOS returned `("default" . t)'.
>
> What am I missing?  What was the purpose of this change?

The previous version of x-font-family-list (in xfaces.c) was broken---it
simply returned the return value of font-family-list, and so did not do
what the docstring said.  I noticed that when updating the font handling
documentation, so I made this change, but forgot to implement the
fixed-p part.  Thanks for spotting the omission

> If the value of this function is not important at all, let's delete it
> completely.  If it _is_ important, then let's make the replacement
> really compatible, which means at the very least make the cdr of the
> cons cells it returns be non-nil for fixed-pitch font families.

I don't think it's important, but am not sure whether there is any
external code relying on it.  Normally, this means that we should try to
change the compatibility function and make it compatible.  But, I don't
know a simple way of computing whether a font is fixed-pitch using the
new font code, without jumping through some ugly hoops (e.g., somehow
turning each family name into an xlfd and examining its "monospace"
entry).  If no one can suggest a good method, let's just delete the
function.




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: x-font-family-list
  2009-01-09 20:32   ` x-font-family-list Chong Yidong
@ 2009-01-10  4:57     ` Leo
  2009-01-10  9:15     ` x-font-family-list Eli Zaretskii
  1 sibling, 0 replies; 9+ messages in thread
From: Leo @ 2009-01-10  4:57 UTC (permalink / raw)
  To: emacs-devel

On 2009-01-09 20:32 +0000, Chong Yidong wrote:
> I don't think it's important, but am not sure whether there is any
> external code relying on it.

Maybe that function can be deleted. It is not a user level function, so
all the users we care about will remain happy. Any maintained packages
will evolve as Emacs evolves slowly.

Best,
-- 
.:  Leo  :.  [ sdl.web AT gmail.com ]  .: I use Emacs :.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: x-font-family-list
  2009-01-09 20:32   ` x-font-family-list Chong Yidong
  2009-01-10  4:57     ` x-font-family-list Leo
@ 2009-01-10  9:15     ` Eli Zaretskii
  2009-01-10 12:58       ` x-font-family-list Chong Yidong
  1 sibling, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2009-01-10  9:15 UTC (permalink / raw)
  To: Chong Yidong; +Cc: emacs-devel

> From: Chong Yidong <cyd@stupidchicken.com>
> Cc: emacs-devel@gnu.org
> Date: Fri, 09 Jan 2009 15:32:52 -0500
> 
> I don't think it's important, but am not sure whether there is any
> external code relying on it.  Normally, this means that we should try to
> change the compatibility function and make it compatible.  But, I don't
> know a simple way of computing whether a font is fixed-pitch using the
> new font code, without jumping through some ugly hoops (e.g., somehow
> turning each family name into an xlfd and examining its "monospace"
> entry).  If no one can suggest a good method, let's just delete the
> function.

Either delete it entirely, or make it signal an error.




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: x-font-family-list
  2009-01-10  9:15     ` x-font-family-list Eli Zaretskii
@ 2009-01-10 12:58       ` Chong Yidong
  2009-01-10 14:58         ` x-font-family-list Eli Zaretskii
  2009-01-10 15:00         ` x-font-family-list Eli Zaretskii
  0 siblings, 2 replies; 9+ messages in thread
From: Chong Yidong @ 2009-01-10 12:58 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: emacs-devel

Eli Zaretskii <eliz@gnu.org> writes:

>> I don't think it's important, but am not sure whether there is any
>> external code relying on it.  Normally, this means that we should try to
>> change the compatibility function and make it compatible.  But, I don't
>> know a simple way of computing whether a font is fixed-pitch using the
>> new font code, without jumping through some ugly hoops (e.g., somehow
>> turning each family name into an xlfd and examining its "monospace"
>> entry).  If no one can suggest a good method, let's just delete the
>> function.
>
> Either delete it entirely, or make it signal an error.

I've removed it from CVS.




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: x-font-family-list
  2009-01-10 12:58       ` x-font-family-list Chong Yidong
@ 2009-01-10 14:58         ` Eli Zaretskii
  2009-01-10 15:00         ` x-font-family-list Eli Zaretskii
  1 sibling, 0 replies; 9+ messages in thread
From: Eli Zaretskii @ 2009-01-10 14:58 UTC (permalink / raw)
  To: Chong Yidong; +Cc: emacs-devel

> From: Chong Yidong <cyd@stupidchicken.com>
> Cc: emacs-devel@gnu.org
> Date: Sat, 10 Jan 2009 07:58:37 -0500
> 
> Eli Zaretskii <eliz@gnu.org> writes:
> 
> >> I don't think it's important, but am not sure whether there is any
> >> external code relying on it.  Normally, this means that we should try to
> >> change the compatibility function and make it compatible.  But, I don't
> >> know a simple way of computing whether a font is fixed-pitch using the
> >> new font code, without jumping through some ugly hoops (e.g., somehow
> >> turning each family name into an xlfd and examining its "monospace"
> >> entry).  If no one can suggest a good method, let's just delete the
> >> function.
> >
> > Either delete it entirely, or make it signal an error.
> 
> I've removed it from CVS.

Thanks.




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: x-font-family-list
  2009-01-10 12:58       ` x-font-family-list Chong Yidong
  2009-01-10 14:58         ` x-font-family-list Eli Zaretskii
@ 2009-01-10 15:00         ` Eli Zaretskii
  2009-01-10 16:08           ` x-font-family-list Jason Rumney
  1 sibling, 1 reply; 9+ messages in thread
From: Eli Zaretskii @ 2009-01-10 15:00 UTC (permalink / raw)
  To: Chong Yidong; +Cc: emacs-devel

> From: Chong Yidong <cyd@stupidchicken.com>
> Date: Sat, 10 Jan 2009 07:58:37 -0500
> Cc: emacs-devel@gnu.org
> 
> I've removed it from CVS.

Btw, do we need font-family-list to return something non-nil on TTY
frames?




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: x-font-family-list
  2009-01-10 15:00         ` x-font-family-list Eli Zaretskii
@ 2009-01-10 16:08           ` Jason Rumney
  2009-01-10 18:26             ` x-font-family-list Eli Zaretskii
  0 siblings, 1 reply; 9+ messages in thread
From: Jason Rumney @ 2009-01-10 16:08 UTC (permalink / raw)
  To: Eli Zaretskii; +Cc: Chong Yidong, emacs-devel

Eli Zaretskii wrote:
> Btw, do we need font-family-list to return something non-nil on TTY
> frames?
>   

I wouldn't think so, TTY frames don't have any fonts so they should 
return nil.





^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: x-font-family-list
  2009-01-10 16:08           ` x-font-family-list Jason Rumney
@ 2009-01-10 18:26             ` Eli Zaretskii
  0 siblings, 0 replies; 9+ messages in thread
From: Eli Zaretskii @ 2009-01-10 18:26 UTC (permalink / raw)
  To: Jason Rumney; +Cc: cyd, emacs-devel

> Date: Sun, 11 Jan 2009 00:08:37 +0800
> From: Jason Rumney <jasonr@gnu.org>
> CC: Chong Yidong <cyd@stupidchicken.com>, emacs-devel@gnu.org
> 
> Eli Zaretskii wrote:
> > Btw, do we need font-family-list to return something non-nil on TTY
> > frames?
> >   
> 
> I wouldn't think so, TTY frames don't have any fonts so they should 
> return nil.

Every frame has at least one font: the one it uses to display the
text.

The question is: would some Lisp code call font-family-list expecting
it to always return something non-nil.  Since in Emacs 23 GUI frames
and TTY frames can be found in the same session, I'm not sure what is
the right answer to that.




^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2009-01-10 18:26 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <E1LLIEC-0007fX-03@monty-python.gnu.org>
2009-01-09 20:01 ` x-font-family-list Eli Zaretskii
2009-01-09 20:32   ` x-font-family-list Chong Yidong
2009-01-10  4:57     ` x-font-family-list Leo
2009-01-10  9:15     ` x-font-family-list Eli Zaretskii
2009-01-10 12:58       ` x-font-family-list Chong Yidong
2009-01-10 14:58         ` x-font-family-list Eli Zaretskii
2009-01-10 15:00         ` x-font-family-list Eli Zaretskii
2009-01-10 16:08           ` x-font-family-list Jason Rumney
2009-01-10 18:26             ` x-font-family-list Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).