From: Miles Bader Date: Tue, 3 Oct 2006 05:04:21 +0000 (+0000) Subject: Merge from emacs--devo--0 X-Git-Tag: emacs-pretest-23.0.90~8295^2~741 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=f3bbbd11451643c49997116d639612ae434dcaa0;p=emacs.git Merge from emacs--devo--0 Patches applied: * emacs--devo--0 (patch 447-459) - Update from CVS - Merge from gnus--rel--5.10 * gnus--rel--5.10 (patch 141-144) - Merge from emacs--devo--0 - Update from CVS Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-115 --- f3bbbd11451643c49997116d639612ae434dcaa0 diff --cc lisp/startup.el index 2b9dd02ab9b,664fd285754..ba740a721d5 --- a/lisp/startup.el +++ b/lisp/startup.el @@@ -779,7 -779,7 +779,8 @@@ or `CVS', and any subdirectory that con (custom-reevaluate-setting 'mouse-wheel-up-event) (custom-reevaluate-setting 'file-name-shadow-mode) (custom-reevaluate-setting 'send-mail-function) + (custom-reevaluate-setting 'focus-follows-mouse) + (custom-reevaluate-setting 'global-auto-composition-mode) ;; Register default TTY colors for the case the terminal hasn't a ;; terminal init file. diff --cc src/regex.c index 09776848220,66e363e731c..05f1fb53b1a --- a/src/regex.c +++ b/src/regex.c @@@ -3989,10 -3915,16 +3989,16 @@@ analyse_first (p, pend, fastmap, multib for (j = CHARSET_BITMAP_SIZE (&p[-1]) * BYTEWIDTH - 1, p++; j >= 0; j--) if (!!(p[j / BYTEWIDTH] & (1 << (j % BYTEWIDTH))) ^ not) - fastmap[j] = 1; + { + fastmap[j] = 1; + #ifdef emacs + if (j >= 0x80 && j < 0xa0) + fastmap[LEADING_CODE_8_BIT_CONTROL] = 1; + #endif + } if ((not && multibyte) - /* Any character set can possibly contain a character + /* Any leading code can possibly start a character which doesn't match the specified set of characters. */ || (CHARSET_RANGE_TABLE_EXISTS_P (&p[-2]) && CHARSET_RANGE_TABLE_BITS (&p[-2]) != 0)) diff --cc src/search.c index 72ce7e79559,e26b8f883e1..5f3f953595b --- a/src/search.c +++ b/src/search.c @@@ -134,16 -137,48 +134,17 @@@ compile_pattern_1 (cp, pattern, transla cp->regexp = Qnil; cp->buf.translate = (! NILP (translate) ? translate : make_number (0)); cp->posix = posix; - cp->buf.multibyte = multibyte; + cp->buf.multibyte = STRING_MULTIBYTE (pattern); + cp->buf.target_multibyte = multibyte; cp->whitespace_regexp = Vsearch_spaces_regexp; cp->syntax_table = current_buffer->syntax_table; - /* Doing BLOCK_INPUT here has the effect that - the debugger won't run if an error occurs. - Why is BLOCK_INPUT needed here? */ - BLOCK_INPUT; + /* rms: I think BLOCK_INPUT is not needed here any more, + because regex.c defines malloc to call xmalloc. + Using BLOCK_INPUT here means the debugger won't run if an error occurs. + So let's turn it off. */ + /* BLOCK_INPUT; */ old = re_set_syntax (RE_SYNTAX_EMACS | (posix ? 0 : RE_NO_POSIX_BACKTRACKING)); - re_set_whitespace_regexp (NILP (Vsearch_spaces_regexp) ? NULL : SDATA (Vsearch_spaces_regexp));