From: Kenichi Handa <handa@m17n.org>
Cc: mituharu@math.s.chiba-u.ac.jp, emacs-devel@gnu.org
Subject: Re: Possible redisplay performance enhancements (revisited)
Date: Mon, 24 Apr 2006 16:35:28 +0900 [thread overview]
Message-ID: <E1FXvbU-0000P5-00@etlken> (raw)
In-Reply-To: <u8xpzumtt.fsf@gnu.org> (message from Eli Zaretskii on Fri, 21 Apr 2006 15:37:02 +0300)
In article <u8xpzumtt.fsf@gnu.org>, Eli Zaretskii <eliz@gnu.org> writes:
>> Date: Fri, 21 Apr 2006 18:47:40 +0900
>> From: YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
>>
>> 2. Need to check face_id < BASIC_FACE_ID_SENTINEL in get_*_face_and_encoding?
>> http://lists.gnu.org/archive/html/emacs-devel/2006-02/msg00238.html
>>
>> No response, but I couldn't find any reason to distinguish
>> known faces from others with respect to encode_char.
> I think it doesn't want to assume single-byte for unknown faces, but
> I'm not sure if this is really needed.
> Handa-san, could you please comment on the suggested patch (below)?
I don't know why Gerd put that condition in the code. But,
as the code in fontset always uses a font specified for
ASCII for ASCII code (see below), I think the proposed patch
is safe.
static Lisp_Object
fontset_ref (fontset, c)
Lisp_Object fontset;
int c;
{
int charset, c1, c2;
Lisp_Object elt, defalt;
if (SINGLE_BYTE_CHAR_P (c))
return FONTSET_ASCII (fontset);
[...]
}
>> Index: src/xdisp.c
>> ===================================================================
>> RCS file: /cvsroot/emacs/emacs/src/xdisp.c,v
>> retrieving revision 1.1089
>> diff -c -r1.1089 xdisp.c
>> *** src/xdisp.c 20 Apr 2006 23:03:03 -0000 1.1089
>> --- src/xdisp.c 21 Apr 2006 08:47:17 -0000
>> ***************
>> *** 18495,18502 ****
>> sure to use a face suitable for unibyte. */
>> STORE_XCHAR2B (char2b, 0, glyph->u.ch);
>> }
>> ! else if (glyph->u.ch < 128
>> ! && glyph->face_id < BASIC_FACE_ID_SENTINEL)
>> {
>> /* Case of ASCII in a face known to fit ASCII. */
>> STORE_XCHAR2B (char2b, 0, glyph->u.ch);
>> --- 18495,18501 ----
>> sure to use a face suitable for unibyte. */
>> STORE_XCHAR2B (char2b, 0, glyph->u.ch);
>> }
>> ! else if (glyph->u.ch < 128)
>> {
>> /* Case of ASCII in a face known to fit ASCII. */
>> STORE_XCHAR2B (char2b, 0, glyph->u.ch);
>> ***************
>> *** 18897,18903 ****
>> face_id = FACE_FOR_CHAR (f, face, c);
>> face = FACE_FROM_ID (f, face_id);
>> }
>> ! else if (c < 128 && face_id < BASIC_FACE_ID_SENTINEL)
>> {
>> /* Case of ASCII in a face known to fit ASCII. */
>> STORE_XCHAR2B (char2b, 0, c);
>> --- 18896,18902 ----
>> face_id = FACE_FOR_CHAR (f, face, c);
>> face = FACE_FROM_ID (f, face_id);
>> }
>> ! else if (c < 128)
>> {
>> /* Case of ASCII in a face known to fit ASCII. */
>> STORE_XCHAR2B (char2b, 0, c);
>>
>>
---
Kenichi Handa
handa@m17n.org
next prev parent reply other threads:[~2006-04-24 7:35 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-21 9:47 Possible redisplay performance enhancements (revisited) YAMAMOTO Mitsuharu
2006-04-21 12:37 ` Eli Zaretskii
2006-04-24 7:35 ` Kenichi Handa [this message]
2006-04-24 9:52 ` YAMAMOTO Mitsuharu
2006-04-24 12:14 ` Kenichi Handa
2006-04-21 13:28 ` David Reitter
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=E1FXvbU-0000P5-00@etlken \
--to=handa@m17n.org \
--cc=emacs-devel@gnu.org \
--cc=mituharu@math.s.chiba-u.ac.jp \
/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 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).