Now on revision 106065. Conflicting tags: mh-e-doc-8.3 mh-e-8.3 ------------------------------------------------------------ revno: 106065 committer: Eli Zaretskii branch nick: trunk timestamp: Wed 2011-10-12 13:32:41 +0200 message: src/bidi.c (bidi_init_it): Initialize paragraph_dir to NEUTRAL_DIR. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-10-12 06:09:40 +0000 +++ src/ChangeLog 2011-10-12 11:32:41 +0000 @@ -1,3 +1,7 @@ +2011-10-12 Eli Zaretskii + + * bidi.c (bidi_init_it): Initialize paragraph_dir to NEUTRAL_DIR. + 2011-10-12 Dmitry Antipov * alloc.c (Fgc_status): Do not access beyond zombies array === modified file 'src/bidi.c' --- src/bidi.c 2011-09-28 14:37:27 +0000 +++ src/bidi.c 2011-10-12 11:32:41 +0000 @@ -808,6 +808,7 @@ bidi_it->nchars = -1; /* to be computed in bidi_resolve_explicit_1 */ bidi_it->first_elt = 1; bidi_set_paragraph_end (bidi_it); + bidi_it->paragraph_dir = NEUTRAL_DIR; bidi_it->new_paragraph = 1; bidi_it->separator_limit = -1; bidi_it->type = NEUTRAL_B; ------------------------------------------------------------ revno: 106064 committer: Glenn Morris branch nick: trunk timestamp: Wed 2011-10-12 06:18:25 -0400 message: Auto-commit of generated files. diff: === modified file 'autogen/config.in' --- autogen/config.in 2011-10-07 10:19:41 +0000 +++ autogen/config.in 2011-10-12 10:18:25 +0000 @@ -420,9 +420,6 @@ /* Define to 1 if you have the hesiod library (-lhesiod). */ #undef HAVE_LIBHESIOD -/* Define to 1 if you have the `intl' library (-lintl). */ -#undef HAVE_LIBINTL - /* Define to 1 if you have the `k5crypto' library (-lk5crypto). */ #undef HAVE_LIBK5CRYPTO === modified file 'autogen/configure' --- autogen/configure 2011-10-08 10:18:34 +0000 +++ autogen/configure 2011-10-12 10:18:25 +0000 @@ -15292,54 +15292,6 @@ -# Solaris requires -lintl if you want strerror (which calls dgettext) -# to return localized messages. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for dgettext in -lintl" >&5 -$as_echo_n "checking for dgettext in -lintl... " >&6; } -if test "${ac_cv_lib_intl_dgettext+set}" = set; then : - $as_echo_n "(cached) " >&6 -else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lintl $LIBS" -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char dgettext (); -int -main () -{ -return dgettext (); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO"; then : - ac_cv_lib_intl_dgettext=yes -else - ac_cv_lib_intl_dgettext=no -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext conftest.$ac_ext -LIBS=$ac_check_lib_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_intl_dgettext" >&5 -$as_echo "$ac_cv_lib_intl_dgettext" >&6; } -if test "x$ac_cv_lib_intl_dgettext" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBINTL 1 -_ACEOF - - LIBS="-lintl $LIBS" - -fi - - { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether localtime caches TZ" >&5 $as_echo_n "checking whether localtime caches TZ... " >&6; } if test "${emacs_cv_localtime_cache+set}" = set; then : ------------------------------------------------------------ revno: 106063 fixes bug(s): http://debbugs.gnu.org/9713 committer: Paul Eggert branch nick: trunk timestamp: Tue 2011-10-11 23:56:23 -0700 message: * configure.in: Remove check for -lintl (Bug#9713). The check breaks 'configure' in some CentOS 5.7 x86 configurations. The check was helpful but not essential in Solaris 2.6 (1997), and is no longer needed in Solaris 8 (2000). Solaris 2.6 is obsolete -- Sun dropped support for it in 2006 -- and without access to that Silurian platform we can't maintain the code anyway. diff: === modified file 'ChangeLog' --- ChangeLog 2011-10-07 21:15:00 +0000 +++ ChangeLog 2011-10-12 06:56:23 +0000 @@ -1,3 +1,12 @@ +2011-10-12 Paul Eggert + + * configure.in: Remove check for -lintl (Bug#9713). + The check breaks 'configure' in some CentOS 5.7 x86 configurations. + The check was helpful but not essential in Solaris 2.6 (1997), + and is no longer needed in Solaris 8 (2000). Solaris 2.6 is + obsolete -- Sun dropped support for it in 2006 -- and without + access to that Silurian platform we can't maintain the code anyway. + 2011-10-07 Paul Eggert Merge from gnulib, fixing some 'configure' typos (Bug#9696). === modified file 'configure.in' --- configure.in 2011-10-07 07:23:44 +0000 +++ configure.in 2011-10-12 06:56:23 +0000 @@ -3008,10 +3008,6 @@ AC_SUBST(DESLIB) AC_SUBST(KRB4LIB) -# Solaris requires -lintl if you want strerror (which calls dgettext) -# to return localized messages. -AC_CHECK_LIB(intl, dgettext) - AC_MSG_CHECKING(whether localtime caches TZ) AC_CACHE_VAL(emacs_cv_localtime_cache, [if test x$ac_cv_func_tzset = xyes; then ------------------------------------------------------------ revno: 106062 author: Dmitry Antipov committer: Paul Eggert branch nick: trunk timestamp: Tue 2011-10-11 23:09:40 -0700 message: * alloc.c (Fgc_status): Do not access beyond zombies array boundary if nzombies > MAX_ZOMBIES. * alloc.c (dump_zombies): Add missing format specifier. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-10-12 05:50:15 +0000 +++ src/ChangeLog 2011-10-12 06:09:40 +0000 @@ -1,3 +1,9 @@ +2011-10-12 Dmitry Antipov + + * alloc.c (Fgc_status): Do not access beyond zombies array + boundary if nzombies > MAX_ZOMBIES. + * alloc.c (dump_zombies): Add missing format specifier. + 2011-10-12 Paul Eggert * xdisp.c (set_cursor_from_row): Simplify conditionals, === modified file 'src/alloc.c' --- src/alloc.c 2011-10-07 16:42:32 +0000 +++ src/alloc.c 2011-10-12 06:09:40 +0000 @@ -4071,7 +4071,7 @@ { Lisp_Object args[8], zombie_list = Qnil; EMACS_INT i; - for (i = 0; i < nzombies; i++) + for (i = 0; i < min (MAX_ZOMBIES, nzombies); i++) zombie_list = Fcons (zombies[i], zombie_list); args[0] = build_string ("%d GCs, avg live/zombies = %.2f/%.2f (%f%%), max %d/%d\nzombies: %S"); args[1] = make_number (ngcs); @@ -4410,7 +4410,7 @@ { int i; - fprintf (stderr, "\nZombies kept alive = %"pI":\n", nzombies); + fprintf (stderr, "\nZombies kept alive = %"pI"d:\n", nzombies); for (i = 0; i < min (MAX_ZOMBIES, nzombies); ++i) { fprintf (stderr, " %d = ", i); ------------------------------------------------------------ revno: 106061 committer: Paul Eggert branch nick: trunk timestamp: Tue 2011-10-11 22:50:15 -0700 message: * xdisp.c (set_cursor_from_row): Simplify conditionals, to pacify GCC 4.6.1 x86-64 with -O2 -Wstrict-overflow. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-10-12 04:58:43 +0000 +++ src/ChangeLog 2011-10-12 05:50:15 +0000 @@ -1,5 +1,8 @@ 2011-10-12 Paul Eggert + * xdisp.c (set_cursor_from_row): Simplify conditionals, + to pacify GCC 4.6.1 x86-64 with -O2 -Wstrict-overflow. + * lread.c (read_escape): Allow hex escapes as large as ?\xfffffff. Some packages use them to denote characters with modifiers. === modified file 'src/xdisp.c' --- src/xdisp.c 2011-10-08 13:03:43 +0000 +++ src/xdisp.c 2011-10-12 05:50:15 +0000 @@ -13874,27 +13874,9 @@ glyph--; } } - else if (match_with_avoid_cursor - /* A truncated row may not include PT among its - character positions. Setting the cursor inside the - scroll margin will trigger recalculation of hscroll - in hscroll_window_tree. But if a display string - covers point, defer to the string-handling code - below to figure this out. */ - || (!string_seen - && ((row->truncated_on_left_p && pt_old < bpos_min) - || (row->truncated_on_right_p && pt_old > bpos_max) - /* Zero-width characters produce no glyphs. */ - || (!empty_line_p - && (row->reversed_p - ? glyph_after > glyphs_end - : glyph_after < glyphs_end))))) + else if (match_with_avoid_cursor) { - if (!match_with_avoid_cursor - && row->truncated_on_left_p && pt_old < bpos_min) - cursor = glyph_before; - else - cursor = glyph_after; + cursor = glyph_after; x = -1; } else if (string_seen) @@ -14033,6 +14015,26 @@ && row->continued_p) return 0; } + /* A truncated row may not include PT among its character positions. + Setting the cursor inside the scroll margin will trigger + recalculation of hscroll in hscroll_window_tree. But if a + display string covers point, defer to the string-handling + code below to figure this out. */ + else if (row->truncated_on_left_p && pt_old < bpos_min) + { + cursor = glyph_before; + x = -1; + } + else if ((row->truncated_on_right_p && pt_old > bpos_max) + /* Zero-width characters produce no glyphs. */ + || (!empty_line_p + && (row->reversed_p + ? glyph_after > glyphs_end + : glyph_after < glyphs_end))) + { + cursor = glyph_after; + x = -1; + } } compute_x: ------------------------------------------------------------ revno: 106060 committer: Paul Eggert branch nick: trunk timestamp: Tue 2011-10-11 21:58:43 -0700 message: * lread.c (read_escape): Allow hex escapes as large as ?\xfffffff. Some packages use them to denote characters with modifiers. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-10-11 17:35:16 +0000 +++ src/ChangeLog 2011-10-12 04:58:43 +0000 @@ -1,3 +1,8 @@ +2011-10-12 Paul Eggert + + * lread.c (read_escape): Allow hex escapes as large as ?\xfffffff. + Some packages use them to denote characters with modifiers. + 2011-10-11 Andreas Schwab * lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR) === modified file 'src/lread.c' --- src/lread.c 2011-09-28 00:59:28 +0000 +++ src/lread.c 2011-10-12 04:58:43 +0000 @@ -2210,7 +2210,7 @@ case 'x': /* A hex escape, as in ANSI C. */ { - int i = 0; + unsigned int i = 0; int count = 0; while (1) { @@ -2234,7 +2234,9 @@ UNREAD (c); break; } - if (MAX_CHAR < i) + /* Allow hex escapes as large as ?\xfffffff, because some + packages use them to denote characters with modifiers. */ + if ((CHAR_META | (CHAR_META - 1)) < i) error ("Hex character out of range: \\x%x...", i); count += count < 3; } ------------------------------------------------------------ revno: 106059 committer: Glenn Morris branch nick: trunk timestamp: Tue 2011-10-11 21:37:25 -0700 message: * doc/misc/ert.texi: Whitespace trivia to make main menu items line up better. diff: === modified file 'doc/misc/ChangeLog' --- doc/misc/ChangeLog 2011-10-08 21:00:41 +0000 +++ doc/misc/ChangeLog 2011-10-12 04:37:25 +0000 @@ -1,3 +1,7 @@ +2011-10-12 Glenn Morris + + * ert.texi: Whitespace trivia to make main menu items line up better. + 2011-10-08 Glenn Morris * Makefile.in: Fix ert rules. === modified file 'doc/misc/ert.texi' --- doc/misc/ert.texi 2011-01-25 04:08:28 +0000 +++ doc/misc/ert.texi 2011-10-12 04:37:25 +0000 @@ -48,7 +48,7 @@ @menu * Introduction:: A simple example of an ERT test. -* How to Run Tests:: Run tests in your Emacs or from the command line. +* How to Run Tests:: Run tests in Emacs or from the command line. * How to Write Tests:: How to add tests to your Emacs Lisp code. * How to Debug Tests:: What to do if a test fails. * Extending ERT:: ERT is extensible in several ways. @@ -61,13 +61,13 @@ * Running Tests Interactively:: Run tests in your current Emacs. * Running Tests in Batch Mode:: Run tests in emacs -Q. -* Test Selectors:: Choose which tests to run. +* Test Selectors:: Choose which tests to run. How to Write Tests -* The @code{should} Macro:: A powerful way to express assertions. +* The @code{should} Macro:: A powerful way to express assertions. * Expected Failures:: Tests for known bugs. -* Tests and Their Environment:: Don't depend on customizations; no side effects. +* Tests and Their Environment:: Don't depend on customizations; no side effects. * Useful Techniques:: Some examples. How to Debug Tests ------------------------------------------------------------ revno: 106058 committer: Stefan Monnier branch nick: trunk timestamp: Tue 2011-10-11 22:48:40 -0400 message: * lisp/textmodes/flyspell.el (flyspell-word): Move with-local-quit from here... (flyspell-post-command-hook): ...to here. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-10-11 21:31:22 +0000 +++ lisp/ChangeLog 2011-10-12 02:48:40 +0000 @@ -1,3 +1,9 @@ +2011-10-12 Stefan Monnier + + * textmodes/flyspell.el (flyspell-word): Move with-local-quit + from here... + (flyspell-post-command-hook): ...to here. + 2011-10-11 Stefan Monnier * mail/sendmail.el (send-mail-function): Don't use sendmail-query-once === modified file 'lisp/textmodes/flyspell.el' --- lisp/textmodes/flyspell.el 2011-09-11 02:14:10 +0000 +++ lisp/textmodes/flyspell.el 2011-10-12 02:48:40 +0000 @@ -931,49 +931,52 @@ ;;* previous word nor the current word */ ;;*---------------------------------------------------------------------*/ (defun flyspell-post-command-hook () - "The `post-command-hook' used by flyspell to check a word in-the-fly." + "The `post-command-hook' used by flyspell to check a word on-the-fly." (interactive) (when flyspell-mode - (let ((command this-command) - ;; Prevent anything we do from affecting the mark. - deactivate-mark) - (if (flyspell-check-pre-word-p) - (with-current-buffer flyspell-pre-buffer - '(flyspell-debug-signal-pre-word-checked) - (save-excursion - (goto-char flyspell-pre-point) - (flyspell-word)))) - (if (flyspell-check-word-p) - (progn - '(flyspell-debug-signal-word-checked) - (flyspell-word) - ;; we remember which word we have just checked. - ;; this will be used next time we will check a word - ;; to compare the next current word with the word - ;; that as been registered in the pre-command-hook - ;; that is these variables are used within the predicate - ;; FLYSPELL-CHECK-PRE-WORD-P - (setq flyspell-pre-pre-buffer (current-buffer)) - (setq flyspell-pre-pre-point (point))) - (progn - (setq flyspell-pre-pre-buffer nil) - (setq flyspell-pre-pre-point nil) - ;; when a word is not checked because of a delayed command - ;; we do not disable the ispell cache. - (if (and (symbolp this-command) (get this-command 'flyspell-delayed)) - (progn - (setq flyspell-word-cache-end -1) - (setq flyspell-word-cache-result '_))))) - (while (and (not (input-pending-p)) (consp flyspell-changes)) - (let ((start (car (car flyspell-changes))) - (stop (cdr (car flyspell-changes)))) - (if (flyspell-check-changed-word-p start stop) - (save-excursion - '(flyspell-debug-signal-changed-checked) - (goto-char start) - (flyspell-word))) - (setq flyspell-changes (cdr flyspell-changes)))) - (setq flyspell-previous-command command)))) + (with-local-quit + (let ((command this-command) + ;; Prevent anything we do from affecting the mark. + deactivate-mark) + (if (flyspell-check-pre-word-p) + (with-current-buffer flyspell-pre-buffer + '(flyspell-debug-signal-pre-word-checked) + (save-excursion + (goto-char flyspell-pre-point) + (flyspell-word)))) + (if (flyspell-check-word-p) + (progn + '(flyspell-debug-signal-word-checked) + ;; FIXME: This should be asynchronous! + (flyspell-word) + ;; we remember which word we have just checked. + ;; this will be used next time we will check a word + ;; to compare the next current word with the word + ;; that as been registered in the pre-command-hook + ;; that is these variables are used within the predicate + ;; FLYSPELL-CHECK-PRE-WORD-P + (setq flyspell-pre-pre-buffer (current-buffer)) + (setq flyspell-pre-pre-point (point))) + (progn + (setq flyspell-pre-pre-buffer nil) + (setq flyspell-pre-pre-point nil) + ;; when a word is not checked because of a delayed command + ;; we do not disable the ispell cache. + (if (and (symbolp this-command) + (get this-command 'flyspell-delayed)) + (progn + (setq flyspell-word-cache-end -1) + (setq flyspell-word-cache-result '_))))) + (while (and (not (input-pending-p)) (consp flyspell-changes)) + (let ((start (car (car flyspell-changes))) + (stop (cdr (car flyspell-changes)))) + (if (flyspell-check-changed-word-p start stop) + (save-excursion + '(flyspell-debug-signal-changed-checked) + (goto-char start) + (flyspell-word))) + (setq flyspell-changes (cdr flyspell-changes)))) + (setq flyspell-previous-command command))))) ;;*---------------------------------------------------------------------*/ ;;* flyspell-notify-misspell ... */ @@ -1100,14 +1103,10 @@ ;; we mark the ispell process so it can be killed ;; when emacs is exited without query (set-process-query-on-exit-flag ispell-process nil) - ;; Wait until ispell has processed word. Since this - ;; code is often executed from post-command-hook but - ;; the ispell process may not be responsive, it's - ;; important to make sure we re-enable C-g. - (with-local-quit - (while (progn - (accept-process-output ispell-process) - (not (string= "" (car ispell-filter)))))) + ;; Wait until ispell has processed word. + (while (progn + (accept-process-output ispell-process) + (not (string= "" (car ispell-filter))))) ;; (ispell-send-string "!\n") ;; back to terse mode. ;; Remove leading empty element ------------------------------------------------------------ revno: 106057 committer: Stefan Monnier branch nick: trunk timestamp: Tue 2011-10-11 17:31:22 -0400 message: Make sendmail-query-once offer 3-way choice; avoid repeated queries. * mail/sendmail.el (send-mail-function): Don't use sendmail-query-once if not needed. (sendmail-query-once): Remove OS dependencies. Make it a 3-way choice using completion. Protect against "slow" callers. Remove the "message hack". diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-10-11 15:00:42 +0000 +++ lisp/ChangeLog 2011-10-11 21:31:22 +0000 @@ -1,3 +1,11 @@ +2011-10-11 Stefan Monnier + + * mail/sendmail.el (send-mail-function): Don't use sendmail-query-once + if not needed. + (sendmail-query-once): Remove OS dependencies. Make it a 3-way choice + using completion. Protect against "slow" callers. + Remove the "message hack". + 2011-10-11 Juri Linkov * isearch.el (isearch-lazy-highlight-word): New variable. === modified file 'lisp/mail/sendmail.el' --- lisp/mail/sendmail.el 2011-09-22 16:15:52 +0000 +++ lisp/mail/sendmail.el 2011-10-11 21:31:22 +0000 @@ -140,7 +140,11 @@ ;; Useful to set in site-init.el ;;;###autoload -(defcustom send-mail-function 'sendmail-query-once +(defcustom send-mail-function + ;; Assume smtpmail is the preferred choice if it's already configured. + (if (and (boundp 'smtpmail-smtp-server) + smtpmail-smtp-server) + 'smtpmail-send-it 'sendmail-query-once) "Function to call to send the current buffer as mail. The headers should be delimited by a line which is not a valid RFC822 header or continuation line, @@ -505,46 +509,33 @@ (defun sendmail-query-once () "Query for `send-mail-function' and send mail with it. This also saves the value of `send-mail-function' via Customize." - (let* ((mail-buffer (current-buffer)) - ;; Compute default mail sender, preferring smtpmail if it's - ;; already configured. - (default (cond - ((and (boundp 'smtpmail-smtp-server) - smtpmail-smtp-server) - 'smtpmail-send-it) - ((or (and window-system (eq system-type 'darwin)) - (eq system-type 'windows-nt)) - 'mailclient-send-it) - ((and sendmail-program - (executable-find sendmail-program)) - 'sendmail-send-it))) - (send-function (if (eq default 'smtpmail-send-it) - 'smtpmail-send-it))) - (unless send-function - ;; Query the user. - (with-temp-buffer - (rename-buffer "*Mail Help*" t) - (erase-buffer) - (insert "Emacs has not been set up for sending mail.\n -Type `y' to configure and use Emacs as a mail client, -or `n' to use your system's default mailer.\n + ;; If send-mail-function is already setup, we're incorrectly called + ;; a second time, probably because someone's using an old value + ;; of send-mail-function. + (when (eq send-mail-function 'sendmail-query-once) + (let* ((options `(("My favorite mail client" . mailclient-send-it) + ("Configuring Emacs's SMTP variables" . smtpmail-send-it) + ,@(when (and sendmail-program + (executable-find sendmail-program)) + '(("The system's mail transport agent" + . sendmail-send-it))))) + (choice + ;; Query the user. + (with-temp-buffer + (rename-buffer "*Mail Help*" t) + (insert "Emacs has not been set up for sending mail.\n +It can be told to send mail either via your favorite mail client, +or via the system's mail transport agent (\"sendmail\"), if any, +or it can send email on its own by configuring the SMTP parameters.\n To change your decision later, customize `send-mail-function'.\n") - (goto-char (point-min)) - (display-buffer (current-buffer)) - (if (y-or-n-p "Set up Emacs for sending SMTP mail? ") - ;; FIXME: We should check and correct the From: field too. - (setq send-function 'smtpmail-send-it) - (setq send-function default)))) - (when send-function - (customize-save-variable 'send-mail-function send-function) - ;; HACK: Message mode stupidly has `message-send-mail-function', - ;; so we must update it too or sending again in the current - ;; Emacs session will still call `sendmail-query-once'. - (and (boundp 'message-send-mail-function) - (eq message-send-mail-function 'sendmail-query-once) - (customize-set-variable 'message-send-mail-function - send-function)) - (funcall send-function)))) + (goto-char (point-min)) + (display-buffer (current-buffer)) + (let ((completion-ignore-case t)) + (completing-read "Send mail via: " + options nil 'require-match))))) + (customize-save-variable 'send-mail-function + (cdr (assoc-string choice options t))))) + (funcall send-mail-function)) (defun sendmail-sync-aliases () (when mail-personal-alias-file ------------------------------------------------------------ revno: 106056 committer: Andreas Schwab branch nick: emacs timestamp: Tue 2011-10-11 22:20:08 +0200 message: * lisp/gnus/html2text.el (html2text-clean-anchor): Check for quotes around `href' value. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-10-11 14:24:55 +0000 +++ lisp/gnus/ChangeLog 2011-10-11 20:20:08 +0000 @@ -1,3 +1,8 @@ +2011-10-11 Andreas Schwab + + * html2text.el (html2text-clean-anchor): Check for quotes around + `href' value. + 2011-10-11 Teodor Zlatanov * spam.el (spam-check-BBDB): Simplify and support BBDB 3.x when === modified file 'lisp/gnus/html2text.el' --- lisp/gnus/html2text.el 2011-10-09 16:51:38 +0000 +++ lisp/gnus/html2text.el 2011-10-11 20:20:08 +0000 @@ -358,7 +358,8 @@ (delete-region p1 p4) (when href (goto-char p1) - (insert (substring href 1 -1)) + (insert (if (string-match "\\`['\"].*['\"]\\'" href) + (substring href 1 -1) href)) (put-text-property p1 (point) 'face 'bold)))) ;; ------------------------------------------------------------ revno: 106055 committer: Andreas Schwab branch nick: emacs timestamp: Tue 2011-10-11 19:35:16 +0200 message: * src/lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR) (GCPRO5_VAR, GCPRO6_VAR, UNGCPRO_VAR): Add whitespace to avoid matching a pp-number. Rename parameter var to var1. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-10-11 17:32:38 +0000 +++ src/ChangeLog 2011-10-11 17:35:16 +0000 @@ -1,3 +1,9 @@ +2011-10-11 Andreas Schwab + + * lisp.h (GCPRO1_VAR, GCPRO2_VAR, GCPRO3_VAR, GCPRO4_VAR) + (GCPRO5_VAR, GCPRO6_VAR, UNGCPRO_VAR): Add whitespace to avoid + matching a pp-number. Rename parameter var to var1. + 2011-10-11 Stefan Monnier * minibuf.c (Finternal_complete_buffer): Fix last change (bug#9709). === modified file 'src/lisp.h' --- src/lisp.h 2011-09-30 17:07:40 +0000 +++ src/lisp.h 2011-10-11 17:35:16 +0000 @@ -2243,105 +2243,105 @@ #ifndef DEBUG_GCPRO -#define GCPRO1_VAR(var, gcpro) \ - {gcpro##1.next = gcprolist; gcpro##1.var = &var; gcpro##1.nvars = 1; \ +#define GCPRO1_VAR(var1, gcpro) \ + {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \ gcprolist = &gcpro##1; } #define GCPRO2_VAR(var1, var2, gcpro) \ - {gcpro##1.next = gcprolist; gcpro##1.var = &var1; gcpro##1.nvars = 1; \ - gcpro##2.next = &gcpro##1; gcpro##2.var = &var2; gcpro##2.nvars = 1; \ + {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \ + gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \ gcprolist = &gcpro##2; } #define GCPRO3_VAR(var1, var2, var3, gcpro) \ - {gcpro##1.next = gcprolist; gcpro##1.var = &var1; gcpro##1.nvars = 1; \ - gcpro##2.next = &gcpro##1; gcpro##2.var = &var2; gcpro##2.nvars = 1; \ - gcpro##3.next = &gcpro##2; gcpro##3.var = &var3; gcpro##3.nvars = 1; \ + {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \ + gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \ + gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \ gcprolist = &gcpro##3; } #define GCPRO4_VAR(var1, var2, var3, var4, gcpro) \ - {gcpro##1.next = gcprolist; gcpro##1.var = &var1; gcpro##1.nvars = 1; \ - gcpro##2.next = &gcpro##1; gcpro##2.var = &var2; gcpro##2.nvars = 1; \ - gcpro##3.next = &gcpro##2; gcpro##3.var = &var3; gcpro##3.nvars = 1; \ - gcpro##4.next = &gcpro##3; gcpro##4.var = &var4; gcpro##4.nvars = 1; \ + {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \ + gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \ + gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \ + gcpro##4 .next = &gcpro##3; gcpro##4 .var = &var4; gcpro##4 .nvars = 1; \ gcprolist = &gcpro##4; } #define GCPRO5_VAR(var1, var2, var3, var4, var5, gcpro) \ - {gcpro##1.next = gcprolist; gcpro##1.var = &var1; gcpro##1.nvars = 1; \ - gcpro##2.next = &gcpro##1; gcpro##2.var = &var2; gcpro##2.nvars = 1; \ - gcpro##3.next = &gcpro##2; gcpro##3.var = &var3; gcpro##3.nvars = 1; \ - gcpro##4.next = &gcpro##3; gcpro##4.var = &var4; gcpro##4.nvars = 1; \ - gcpro##5.next = &gcpro##4; gcpro##5.var = &var5; gcpro##5.nvars = 1; \ + {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \ + gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \ + gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \ + gcpro##4 .next = &gcpro##3; gcpro##4 .var = &var4; gcpro##4 .nvars = 1; \ + gcpro##5 .next = &gcpro##4; gcpro##5 .var = &var5; gcpro##5 .nvars = 1; \ gcprolist = &gcpro##5; } #define GCPRO6_VAR(var1, var2, var3, var4, var5, var6, gcpro) \ - {gcpro##1.next = gcprolist; gcpro##1.var = &var1; gcpro##1.nvars = 1; \ - gcpro##2.next = &gcpro##1; gcpro##2.var = &var2; gcpro##2.nvars = 1; \ - gcpro##3.next = &gcpro##2; gcpro##3.var = &var3; gcpro##3.nvars = 1; \ - gcpro##4.next = &gcpro##3; gcpro##4.var = &var4; gcpro##4.nvars = 1; \ - gcpro##5.next = &gcpro##4; gcpro##5.var = &var5; gcpro##5.nvars = 1; \ - gcpro##6.next = &gcpro##5; gcpro##6.var = &var6; gcpro##6.nvars = 1; \ + {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \ + gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \ + gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \ + gcpro##4 .next = &gcpro##3; gcpro##4 .var = &var4; gcpro##4 .nvars = 1; \ + gcpro##5 .next = &gcpro##4; gcpro##5 .var = &var5; gcpro##5 .nvars = 1; \ + gcpro##6 .next = &gcpro##5; gcpro##6 .var = &var6; gcpro##6 .nvars = 1; \ gcprolist = &gcpro##6; } -#define UNGCPRO_VAR(gcpro) (gcprolist = gcpro##1.next) +#define UNGCPRO_VAR(gcpro) (gcprolist = gcpro##1 .next) #else extern int gcpro_level; -#define GCPRO1_VAR(var, gcpro) \ - {gcpro##1.next = gcprolist; gcpro##1.var = &var; gcpro##1.nvars = 1; \ - gcpro##1.level = gcpro_level++; \ +#define GCPRO1_VAR(var1, gcpro) \ + {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \ + gcpro##1 .level = gcpro_level++; \ gcprolist = &gcpro##1; } #define GCPRO2_VAR(var1, var2, gcpro) \ - {gcpro##1.next = gcprolist; gcpro##1.var = &var1; gcpro##1.nvars = 1; \ - gcpro##1.level = gcpro_level; \ - gcpro##2.next = &gcpro##1; gcpro##2.var = &var2; gcpro##2.nvars = 1; \ - gcpro##2.level = gcpro_level++; \ + {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \ + gcpro##1 .level = gcpro_level; \ + gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \ + gcpro##2 .level = gcpro_level++; \ gcprolist = &gcpro##2; } #define GCPRO3_VAR(var1, var2, var3, gcpro) \ - {gcpro##1.next = gcprolist; gcpro##1.var = &var1; gcpro##1.nvars = 1; \ - gcpro##1.level = gcpro_level; \ - gcpro##2.next = &gcpro##1; gcpro##2.var = &var2; gcpro##2.nvars = 1; \ - gcpro##3.next = &gcpro##2; gcpro##3.var = &var3; gcpro##3.nvars = 1; \ - gcpro##3.level = gcpro_level++; \ + {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \ + gcpro##1 .level = gcpro_level; \ + gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \ + gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \ + gcpro##3 .level = gcpro_level++; \ gcprolist = &gcpro##3; } #define GCPRO4_VAR(var1, var2, var3, var4, gcpro) \ - {gcpro##1.next = gcprolist; gcpro##1.var = &var1; gcpro##1.nvars = 1; \ - gcpro##1.level = gcpro_level; \ - gcpro##2.next = &gcpro##1; gcpro##2.var = &var2; gcpro##2.nvars = 1; \ - gcpro##3.next = &gcpro##2; gcpro##3.var = &var3; gcpro##3.nvars = 1; \ - gcpro##4.next = &gcpro##3; gcpro##4.var = &var4; gcpro##4.nvars = 1; \ - gcpro##4.level = gcpro_level++; \ + {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \ + gcpro##1 .level = gcpro_level; \ + gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \ + gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \ + gcpro##4 .next = &gcpro##3; gcpro##4 .var = &var4; gcpro##4 .nvars = 1; \ + gcpro##4 .level = gcpro_level++; \ gcprolist = &gcpro##4; } #define GCPRO5_VAR(var1, var2, var3, var4, var5, gcpro) \ - {gcpro##1.next = gcprolist; gcpro##1.var = &var1; gcpro##1.nvars = 1; \ - gcpro##1.level = gcpro_level; \ - gcpro##2.next = &gcpro##1; gcpro##2.var = &var2; gcpro##2.nvars = 1; \ - gcpro##3.next = &gcpro##2; gcpro##3.var = &var3; gcpro##3.nvars = 1; \ - gcpro##4.next = &gcpro##3; gcpro##4.var = &var4; gcpro##4.nvars = 1; \ - gcpro##5.next = &gcpro##4; gcpro##5.var = &var5; gcpro##5.nvars = 1; \ - gcpro##5.level = gcpro_level++; \ + {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \ + gcpro##1 .level = gcpro_level; \ + gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \ + gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \ + gcpro##4 .next = &gcpro##3; gcpro##4 .var = &var4; gcpro##4 .nvars = 1; \ + gcpro##5 .next = &gcpro##4; gcpro##5 .var = &var5; gcpro##5 .nvars = 1; \ + gcpro##5 .level = gcpro_level++; \ gcprolist = &gcpro##5; } #define GCPRO6_VAR(var1, var2, var3, var4, var5, var6, gcpro) \ - {gcpro##1.next = gcprolist; gcpro##1.var = &var1; gcpro##1.nvars = 1; \ - gcpro##1.level = gcpro_level; \ - gcpro##2.next = &gcpro##1; gcpro##2.var = &var2; gcpro##2.nvars = 1; \ - gcpro##3.next = &gcpro##2; gcpro##3.var = &var3; gcpro##3.nvars = 1; \ - gcpro##4.next = &gcpro##3; gcpro##4.var = &var4; gcpro##4.nvars = 1; \ - gcpro##5.next = &gcpro##4; gcpro##5.var = &var5; gcpro##5.nvars = 1; \ - gcpro##6.next = &gcpro##5; gcpro##6.var = &var6; gcpro##6.nvars = 1; \ - gcpro##6.level = gcpro_level++; \ + {gcpro##1 .next = gcprolist; gcpro##1 .var = &var1; gcpro##1 .nvars = 1; \ + gcpro##1 .level = gcpro_level; \ + gcpro##2 .next = &gcpro##1; gcpro##2 .var = &var2; gcpro##2 .nvars = 1; \ + gcpro##3 .next = &gcpro##2; gcpro##3 .var = &var3; gcpro##3 .nvars = 1; \ + gcpro##4 .next = &gcpro##3; gcpro##4 .var = &var4; gcpro##4 .nvars = 1; \ + gcpro##5 .next = &gcpro##4; gcpro##5 .var = &var5; gcpro##5 .nvars = 1; \ + gcpro##6 .next = &gcpro##5; gcpro##6 .var = &var6; gcpro##6 .nvars = 1; \ + gcpro##6 .level = gcpro_level++; \ gcprolist = &gcpro##6; } #define UNGCPRO_VAR(gcpro) \ - ((--gcpro_level != gcpro##1.level) \ + ((--gcpro_level != gcpro##1 .level) \ ? (abort (), 0) \ - : ((gcprolist = gcpro##1.next), 0)) + : ((gcprolist = gcpro##1 .next), 0)) #endif /* DEBUG_GCPRO */ #endif /* GC_MARK_STACK != GC_MAKE_GCPROS_NOOPS */ ------------------------------------------------------------ revno: 106054 fixes bug(s): http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9709 committer: Stefan Monnier branch nick: trunk timestamp: Tue 2011-10-11 13:32:38 -0400 message: * minibuf.c (Finternal_complete_buffer): Fix last change. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2011-10-08 21:07:23 +0000 +++ src/ChangeLog 2011-10-11 17:32:38 +0000 @@ -1,3 +1,7 @@ +2011-10-11 Stefan Monnier + + * minibuf.c (Finternal_complete_buffer): Fix last change (bug#9709). + 2011-10-08 Glenn Morris * callint.c (Fcall_interactively): Give a more explicit error for the === modified file 'src/minibuf.c' --- src/minibuf.c 2011-10-02 00:25:27 +0000 +++ src/minibuf.c 2011-10-11 17:32:38 +0000 @@ -1859,9 +1859,10 @@ /* First, look for a non-internal buffer in `res'. */ while (CONSP (bufs) && SREF (XCAR (bufs), 0) == ' ') bufs = XCDR (bufs); - if (NILP (bufs) && EQ (Flength (res), Flength (Vbuffer_alist))) - /* All bufs are internal, so don't trip them out. */ - return res; + if (NILP (bufs)) + return (EQ (Flength (res), Flength (Vbuffer_alist)) + /* If all bufs are internal don't strip them out. */ + ? res : bufs); res = bufs; while (CONSP (XCDR (bufs))) if (SREF (XCAR (XCDR (bufs)), 0) == ' ') ------------------------------------------------------------ revno: 106053 fixes bug(s): http://debbugs.gnu.org/9727 committer: Juri Linkov branch nick: trunk timestamp: Tue 2011-10-11 18:00:42 +0300 message: * lisp/isearch.el (isearch-lazy-highlight-word): New variable. (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search): Use it. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2011-10-11 07:28:27 +0000 +++ lisp/ChangeLog 2011-10-11 15:00:42 +0000 @@ -1,3 +1,9 @@ +2011-10-11 Juri Linkov + + * isearch.el (isearch-lazy-highlight-word): New variable. + (isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search): + Use it. (Bug#9727) + 2011-10-11 Glenn Morris * progmodes/f90.el (f90-next-statement): Ignore preprocessor lines, === modified file 'lisp/isearch.el' --- lisp/isearch.el 2011-09-18 20:28:45 +0000 +++ lisp/isearch.el 2011-10-11 15:00:42 +0000 @@ -2617,6 +2617,7 @@ (defvar isearch-lazy-highlight-case-fold-search nil) (defvar isearch-lazy-highlight-regexp nil) (defvar isearch-lazy-highlight-space-regexp nil) +(defvar isearch-lazy-highlight-word nil) (defvar isearch-lazy-highlight-forward nil) (defvar isearch-lazy-highlight-error nil) @@ -2655,6 +2656,8 @@ isearch-case-fold-search)) (not (eq isearch-lazy-highlight-regexp isearch-regexp)) + (not (eq isearch-lazy-highlight-word + isearch-word)) (not (= (window-start) isearch-lazy-highlight-window-start)) (not (= (window-end) ; Window may have been split/joined. @@ -2675,11 +2678,12 @@ isearch-lazy-highlight-window-end (window-end) isearch-lazy-highlight-start (point) isearch-lazy-highlight-end (point) + isearch-lazy-highlight-wrapped nil isearch-lazy-highlight-last-string isearch-string isearch-lazy-highlight-case-fold-search isearch-case-fold-search - isearch-lazy-highlight-regexp isearch-regexp - isearch-lazy-highlight-wrapped nil + isearch-lazy-highlight-regexp isearch-regexp isearch-lazy-highlight-space-regexp search-whitespace-regexp + isearch-lazy-highlight-word isearch-word isearch-lazy-highlight-forward isearch-forward) (unless (equal isearch-string "") (setq isearch-lazy-highlight-timer @@ -2693,6 +2697,7 @@ (let ((case-fold-search isearch-lazy-highlight-case-fold-search) (isearch-regexp isearch-lazy-highlight-regexp) (search-spaces-regexp isearch-lazy-highlight-space-regexp) + (isearch-word isearch-lazy-highlight-word) (search-invisible nil) ; don't match invisible text (retry t) (success nil) ------------------------------------------------------------ revno: 106052 author: Teodor Zlatanov committer: Katsumi Yamaoka branch nick: trunk timestamp: Tue 2011-10-11 14:24:55 +0000 message: spam.el (spam-check-BBDB): Simplify and support BBDB 3.x when searching. Drop `bbdb-cache'. diff: === modified file 'lisp/gnus/ChangeLog' --- lisp/gnus/ChangeLog 2011-10-11 05:51:09 +0000 +++ lisp/gnus/ChangeLog 2011-10-11 14:24:55 +0000 @@ -1,3 +1,8 @@ +2011-10-11 Teodor Zlatanov + + * spam.el (spam-check-BBDB): Simplify and support BBDB 3.x when + searching. Drop `bbdb-cache'. + 2011-10-11 Katsumi Yamaoka * message.el (message-signed-or-encrypted-p): Exclude header when === modified file 'lisp/gnus/spam.el' --- lisp/gnus/spam.el 2011-08-04 00:58:07 +0000 +++ lisp/gnus/spam.el 2011-10-11 14:24:55 +0000 @@ -2150,29 +2150,13 @@ (defun spam-check-BBDB () "Mail from people in the BBDB is classified as ham or non-spam" - (let ((who (message-fetch-field "from")) - bbdb-cache bbdb-hashtable) - (when spam-cache-lookups - (setq bbdb-cache (gethash 'spam-use-BBDB spam-caches)) - (unless bbdb-cache - (setq bbdb-cache (make-vector 17 0)) ; a good starting hash value - ;; this is based on the expanded (bbdb-hashtable) macro - ;; without the debugging support - (with-current-buffer (bbdb-buffer) - (save-excursion - (save-window-excursion - (bbdb-records nil t) - (mapatoms - (lambda (symbol) - (intern (downcase (symbol-name symbol)) bbdb-cache)) - bbdb-hashtable)))) - (puthash 'spam-use-BBDB bbdb-cache spam-caches))) + (let ((who (message-fetch-field "from"))) (when who (setq who (nth 1 (gnus-extract-address-components who))) (if - (if spam-cache-lookups - (intern-soft (downcase who) bbdb-cache) - (bbdb-search-simple nil who)) + (if (fboundp 'bbdb-search) + (bbdb-search (bbdb-records) who) ;; v3 + (bbdb-search-simple nil who)) ;; v2 t (if spam-use-BBDB-exclusive spam-split-group ------------------------------------------------------------ revno: 106051 committer: martin rudalics branch nick: trunk timestamp: Tue 2011-10-11 11:30:34 +0200 message: Add NEWS entry wrt which window gets selected after deletion diff: === modified file 'etc/NEWS' --- etc/NEWS 2011-10-09 12:26:29 +0000 +++ etc/NEWS 2011-10-11 09:30:34 +0000 @@ -1059,6 +1059,10 @@ longer delete any windows when they become too small. +++ +*** Deleting the selected window now selects the most recently selected +live window on that frame instead. + ++++ *** `adjust-window-trailing-edge' adjustments. `adjust-window-trailing-edge' can now deal with fixed-size windows and is able to resize other windows if a window adjacent to the trailing