emacs-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-commit] emacs/src regex.c


From: Kenichi Handa
Subject: [Emacs-commit] emacs/src regex.c
Date: Tue, 03 Sep 2002 00:09:40 -0400

CVSROOT:        /cvs
Module name:    emacs
Branch:         emacs-unicode
Changes by:     Kenichi Handa <address@hidden>  02/09/03 00:09:40

Modified files:
        src            : regex.c 

Log message:
        * regex.c (RE_TARGET_MULTIBYTE_P): New macro.
        (GET_CHAR_BEFORE_2): Check target_multibyte, not multibyte.  If
        that is zero, convert an eight-bit char to multibyte.
        (MAKE_CHAR_MULTIBYTE, CHAR_LEADING_CODE): New dummy new macros for
        non-emacs case.
        (PATFETCH): Convert an eight-bit char to multibyte.
        (HANDLE_UNIBYTE_RANGE): New macro.
        (regex_compile): Setup the compiled pattern for multibyte chars
        even if the given regex string is unibyte.  Use PATFETCH_RAW
        instead of PATFETCH in many places.  To handle `charset'
        specification of unibyte, call HANDLE_UNIBYTE_RANGE.   Use bitmap
        only for ASCII chars.
        (analyse_first) <exactn>: Simplified because the compiled pattern
        is multibyte.
        <charset_not>: Setup fastmap from bitmap only for ASCII chars.
        <charset>: Use CHAR_LEADING_CODE to get leading codes.
        <categoryspec>: If multibyte, setup fastmap only for ASCII chars
        here.
        (re_compile_fastmap) [emacs]: Call analyse_first with the arg
        multibyte always 1.
        (re_search_2) In emacs, set the locale variable multibyte to 1,
        otherwise to 0.  New local variable target_multibyte.  Check it
        to decide the multibyteness of STR1 and STR2.  If
        target_multibyte is zero, convert unibyte chars to multibyte
        before translating and checking fastmap.
        (TARGET_CHAR_AND_LENGTH): New macro.
        (re_match_2_internal): In emacs, set the locale variable multibyte
        to 1, otherwise to 0.  New local variable target_multibyte.  Check
        it to decide the multibyteness of STR1 and STR2.  Use
        TARGET_CHAR_AND_LENGTH to fetch a character from D.
        <charset, charset_not>: If multibyte is nonzero, check fastmap
        only for ASCII chars.   Call bcmp_translate with
        target_multibyte, not with multibyte.
        <begline>: Declare the local variable C as `unsigned'.
        (bcmp_translate): Change the last arg name to target_multibyte.

CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/emacs/emacs/src/regex.c.diff?only_with_tag=emacs-unicode&tr1=1.174.2.1&tr2=1.174.2.2&r1=text&r2=text





reply via email to

[Prev in Thread] Current Thread [Next in Thread]