all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: "Miles Bader" <miles@gnu.org>
To: "Stefan Monnier" <monnier@iro.umontreal.ca>
Cc: Emacs-Devel <emacs-devel@gnu.org>
Subject: Re: face-remapping patch
Date: Wed, 28 May 2008 12:30:15 +0900	[thread overview]
Message-ID: <fc339e4a0805272030m6ef47f64v163bd57f81ad9b34@mail.gmail.com> (raw)
In-Reply-To: <jwvzlqbi23o.fsf-monnier+emacs@gnu.org>

On Wed, May 28, 2008 at 11:54 AM, Stefan Monnier
<monnier@iro.umontreal.ca> wrote:
> Is there any reason why you added redundant tests
> like !NILP (Vface_remapping_alist)?  I'd expect at least in my case that
> face-remapping-alist would almost never be nil so this extra test would
> end up redundant.

There's only one such test.   :-)

Anyway, the default value is nil, and while modes and users might
start using it, still, I think it would be nil very commonly.

> Why have a `signal_p' arg that's not used?
> Also, the ChangeLog entry doesn't make much sense:
>
>        (lookup_named_face_1): Renamed from `lookup_named_face'.  Add
>        `signal_p' argument.  Pass new last arg to `get_lface_attributes', and
>        return -1 if it fails.
>        (lookup_named_face): Redefined in terms of `lookup_named_face_1'.
>
> The signal_p arg was there before, it's not added.  Am I missing something?

Can't exactly say what's going on here, but this code is pretty old,
so it's possible the trunk code has been changed since the ChangeLog
entry was written.  Indeed I remember being annoyed at the conflicts
that arose when a bunch of that code got re-arranged at some point....
 :-)

>> +  switch (face_id)
>> +    {
>> +    case DEFAULT_FACE_ID:            name = Qdefault;                break;
...
>> +    default:
>> +      return face_id;                /* Give up.  */
>
> Does this default case correspond to a bug?  if so shouldn't it `abort'?
> If not, shouldn't it obey Vface_remapping_alist?

Yeah it's a bug; callers to that function are only supposed to pass
one of the "basic" face ids.

>> +  mapping = assq_no_quit (name, Vface_remapping_alist);
>> +  if (NILP (mapping))
>> +    return face_id;          /* Give up.  */
>> +
>> +  remapped_face_id = lookup_named_face_1 (f, name, 0);
>
> This looks odd: we look up Vface_remapping_alist and then ignore the
> actual result (other than its being null or not).  Is it just an
> optimization to avoid calling lookup_named_face_1?  If so, a comment is
> in order.

Insofar as I remember, yeah, just an "optimization".  The assumption
is that 99% of the time, there's no remapping (and for most of those
faces, it's probably true), and I think this function is called a lot.

-Miles

-- 
Do not taunt Happy Fun Ball.




  reply	other threads:[~2008-05-28  3:30 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-05-27  2:49 face-remapping patch Miles Bader
2008-05-28  2:03 ` Florian Beck
2008-05-28  2:31   ` Miles Bader
2008-05-29  1:38   ` Richard M Stallman
2008-05-28  2:54 ` Stefan Monnier
2008-05-28  3:30   ` Miles Bader [this message]
2008-05-28  7:22     ` David Reitter
2008-05-28  7:29       ` Miles Bader
2008-05-28  8:05         ` Miles Bader
2008-05-28  9:30           ` David Kastrup
2008-05-28 13:13             ` Miles Bader
2008-05-28 13:33               ` David Kastrup
2008-05-28  9:33         ` David Reitter
2008-05-28 13:21           ` Miles Bader
2008-05-28 14:33             ` David Reitter
2008-05-28 19:25           ` Face realization (was: face-remapping patch) Stefan Monnier
2008-05-28 19:54             ` David Reitter
2008-05-29 15:25               ` Face realization Stefan Monnier
2008-05-28 19:25       ` face-remapping patch Stefan Monnier
2008-05-28 20:21         ` David Kastrup
2008-05-28 20:31           ` David Kastrup
2008-05-29  6:02             ` tomas
2008-05-29 18:14             ` Stephen J. Turnbull
2008-05-29 22:15               ` David Kastrup
2008-05-30  4:48                 ` Stephen J. Turnbull
2008-05-30 13:32               ` Richard M Stallman
2008-05-30 13:50                 ` David Kastrup
2008-05-31 15:17                   ` Richard M Stallman
2008-05-31 15:38                     ` David Kastrup
2008-06-01 14:03                       ` Richard M Stallman
2008-05-29 10:25           ` Richard M Stallman
2008-05-29 11:14             ` David Kastrup
2008-05-29 15:45           ` Specifiers (was: face-remapping patch) Stefan Monnier
2008-05-29 16:21             ` Specifiers David Kastrup
2008-05-29 17:36               ` Specifiers Stefan Monnier
2008-05-29 18:17               ` Specifiers Stephen J. Turnbull
2008-05-30  2:08             ` Specifiers (was: face-remapping patch) Richard M Stallman
2008-05-30  2:21               ` Specifiers Stefan Monnier
2008-05-30  5:31                 ` Specifiers David Kastrup
2008-05-30 14:10                   ` Specifiers Stefan Monnier
2008-05-30 14:14                     ` Specifiers David Kastrup
2008-05-30 15:11                       ` Specifiers Stefan Monnier
2008-05-31 15:16                         ` Specifiers Richard M Stallman
2008-05-29 15:56           ` face-remapping patch Stefan Monnier
2008-05-29 16:27             ` David Kastrup
2008-05-29  8:47   ` Miles Bader
2008-05-29 15:59     ` Stefan Monnier
2008-05-29 18:28     ` Eli Zaretskii
2008-05-30  3:42       ` Miles Bader
2008-05-28 14:46 ` Chong Yidong
2008-05-28 14:57   ` David Reitter
2008-05-28 16:33   ` Miles Bader
2008-05-30 15:10     ` Chong Yidong
2008-06-01  2:43       ` Miles Bader
2008-05-28 16:37 ` Dan Nicolaescu
2008-05-28 17:45   ` Miles Bader

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fc339e4a0805272030m6ef47f64v163bd57f81ad9b34@mail.gmail.com \
    --to=miles@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=monnier@iro.umontreal.ca \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.