Now on revision 106852. ------------------------------------------------------------ revno: 106852 committer: Glenn Morris branch nick: trunk timestamp: Wed 2012-01-11 23:34:46 -0800 message: Comments. diff: === modified file 'lisp/mail/sendmail.el' --- lisp/mail/sendmail.el 2012-01-12 02:13:05 +0000 +++ lisp/mail/sendmail.el 2012-01-12 07:34:46 +0000 @@ -730,6 +730,7 @@ (set (make-local-variable 'comment-start-skip) (concat "^" (regexp-quote mail-yank-prefix) "[ \t]*"))) (make-local-variable 'adaptive-fill-regexp) + ;; Also update the paragraph-separate entry if you change this. (setq adaptive-fill-regexp (concat "[ \t]*[-[:alnum:]]+>+[ \t]*\\|" adaptive-fill-regexp)) === modified file 'lisp/textmodes/fill.el' --- lisp/textmodes/fill.el 2012-01-05 09:46:05 +0000 +++ lisp/textmodes/fill.el 2012-01-12 07:34:46 +0000 @@ -93,6 +93,7 @@ ;; Added `!' for doxygen comments starting with `//!' or `/*!'. ;; Added `%' for TeX comments. ;; RMS: deleted the code to match `1.' and `(1)'. + ;; Update mail-mode's paragraph-separate if you change this. (purecopy "[ \t]*\\([-–!|#%;>*·•‣⁃◦]+[ \t]*\\)*") "Regexp to match text at start of line that constitutes indentation. If Adaptive Fill mode is enabled, a prefix matching this pattern ------------------------------------------------------------ revno: 106851 committer: Glenn Morris branch nick: trunk timestamp: Wed 2012-01-11 21:13:05 -0500 message: Tweak comment from previous change. diff: === modified file 'lisp/mail/sendmail.el' --- lisp/mail/sendmail.el 2012-01-12 02:05:15 +0000 +++ lisp/mail/sendmail.el 2012-01-12 02:13:05 +0000 @@ -745,8 +745,8 @@ ;; are also sometimes used and should be separators. (setq paragraph-separate (concat (regexp-quote mail-header-separator) - ;; This is based on adaptive-fill-regexp. - ;; Presumably the idea is to allow filling of cited paragraphs. + ;; This is based on adaptive-fill-regexp (presumably + ;; the idea is to allow navigation etc of cited paragraphs). "$\\|\t*[-–!|#%;>*·•‣⁃◦ ]+$" "\\|[ \t]*[-[:alnum:]]*>+[ \t]*$\\|[ \t]*$\\|" "--\\( \\|-+\\)$\\|" ------------------------------------------------------------ revno: 106850 committer: Glenn Morris branch nick: trunk timestamp: Wed 2012-01-11 21:05:15 -0500 message: mail-mode paragraph-separate fix for bug#10276 * lisp/mail/sendmail.el (mail-mode): Update paragraph-separate for changes in adaptive-fill-regexp. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-11 22:21:44 +0000 +++ lisp/ChangeLog 2012-01-12 02:05:15 +0000 @@ -1,3 +1,8 @@ +2012-01-12 Glenn Morris + + * mail/sendmail.el (mail-mode): Update paragraph-separate for + changes in adaptive-fill-regexp. (Bug#10276) + 2012-01-11 Alan Mackenzie Fix Emacs bug #10463 - put `widen's around the critical spots. === modified file 'lisp/mail/sendmail.el' --- lisp/mail/sendmail.el 2012-01-05 09:46:05 +0000 +++ lisp/mail/sendmail.el 2012-01-12 02:05:15 +0000 @@ -1,4 +1,4 @@ -;;; sendmail.el --- mail sending commands for Emacs. -*- byte-compile-dynamic: t -*- +;;; sendmail.el --- mail sending commands for Emacs ;; Copyright (C) 1985-1986, 1992-1996, 1998, 2000-2012 ;; Free Software Foundation, Inc. @@ -743,11 +743,14 @@ ;; lines that delimit forwarded messages. ;; Lines containing just >= 3 dashes, perhaps after whitespace, ;; are also sometimes used and should be separators. - (setq paragraph-separate (concat (regexp-quote mail-header-separator) - "$\\|\t*\\([-|#;>* ]\\|(?[0-9]+[.)]\\)+$" - "\\|[ \t]*[[:alnum:]]*>+[ \t]*$\\|[ \t]*$\\|" - "--\\( \\|-+\\)$\\|" - page-delimiter))) + (setq paragraph-separate + (concat (regexp-quote mail-header-separator) + ;; This is based on adaptive-fill-regexp. + ;; Presumably the idea is to allow filling of cited paragraphs. + "$\\|\t*[-–!|#%;>*·•‣⁃◦ ]+$" + "\\|[ \t]*[-[:alnum:]]*>+[ \t]*$\\|[ \t]*$\\|" + "--\\( \\|-+\\)$\\|" + page-delimiter))) (defun mail-header-end () @@ -1986,4 +1989,9 @@ (provide 'sendmail) +;; Local Variables: +;; byte-compile-dynamic: t +;; coding: utf-8 +;; End: + ;;; sendmail.el ends here ------------------------------------------------------------ revno: 106849 [merge] committer: Alan Mackenzie branch nick: trunk timestamp: Wed 2012-01-11 22:32:50 +0000 message: Merge. diff: === modified file 'lisp/ChangeLog' --- lisp/ChangeLog 2012-01-11 06:53:12 +0000 +++ lisp/ChangeLog 2012-01-11 22:21:44 +0000 @@ -1,3 +1,11 @@ +2012-01-11 Alan Mackenzie + + Fix Emacs bug #10463 - put `widen's around the critical spots. + + * progmodes/cc-engine.el (c-in-literal, c-literal-limits): put a + widen around each invocation of c-state-pp-to-literal. Remove an + unused let variable. + 2012-01-11 Glenn Morris * dired-aux.el (dired-do-shell-command): Fix */? logic. (Bug#6561) === modified file 'lisp/progmodes/cc-engine.el' --- lisp/progmodes/cc-engine.el 2012-01-05 09:46:05 +0000 +++ lisp/progmodes/cc-engine.el 2012-01-11 22:21:44 +0000 @@ -4211,12 +4211,14 @@ Note that this function might do hidden buffer changes. See the comment at the start of cc-engine.el for more info." - (let* ((safe-place (c-state-safe-place (point))) - (lit (c-state-pp-to-literal safe-place (point)))) - (or (cadr lit) - (and detect-cpp - (save-excursion (c-beginning-of-macro)) - 'pound)))) + (save-restriction + (widen) + (let* ((safe-place (c-state-safe-place (point))) + (lit (c-state-pp-to-literal safe-place (point)))) + (or (cadr lit) + (and detect-cpp + (save-excursion (c-beginning-of-macro)) + 'pound))))) (defun c-literal-limits (&optional lim near not-in-delimiter) "Return a cons of the beginning and end positions of the comment or @@ -4236,9 +4238,10 @@ (save-excursion (let* ((pos (point)) (lim (or lim (c-state-safe-place pos))) - (pp-to-lit (c-state-pp-to-literal lim pos)) + (pp-to-lit (save-restriction + (widen) + (c-state-pp-to-literal lim pos))) (state (car pp-to-lit)) - (lit-type (cadr pp-to-lit)) (lit-limits (car (cddr pp-to-lit)))) (cond ------------------------------------------------------------ revno: 106848 fixes bug(s): http://debbugs.gnu.org/10464 committer: Eli Zaretskii branch nick: trunk timestamp: Wed 2012-01-11 21:45:42 +0200 message: Fix the last part of bug #10464 with mouse highlight at end of line. src/xdisp.c (rows_from_pos_range): Handle the case where the highlight ends on a newline. (mouse_face_from_buffer_pos): Fix off-by-one error in calculating he end column for display of highlight that ends on a newline before a R2L line. diff: === modified file 'src/ChangeLog' --- src/ChangeLog 2012-01-11 00:56:25 +0000 +++ src/ChangeLog 2012-01-11 19:45:42 +0000 @@ -1,3 +1,11 @@ +2012-01-11 Eli Zaretskii + + * xdisp.c (rows_from_pos_range): Handle the case where the + highlight ends on a newline. (Bug#10464) + (mouse_face_from_buffer_pos): Fix off-by-one error in calculating + he end column for display of highlight that ends on a newline + before a R2L line. + 2012-01-11 Glenn Morris * lread.c (init_lread): If no-site-lisp, remove site-lisp dirs === modified file 'src/xdisp.c' --- src/xdisp.c 2012-01-09 20:45:49 +0000 +++ src/xdisp.c 2012-01-11 19:45:42 +0000 @@ -25899,14 +25899,15 @@ for ( ; row->enabled_p && MATRIX_ROW_BOTTOM_Y (row) <= last_y; row++) { struct glyph_row *next = row + 1; + EMACS_INT next_start = MATRIX_ROW_START_CHARPOS (next); if (!next->enabled_p || next >= MATRIX_BOTTOM_TEXT_ROW (w->current_matrix, w) /* The first row >= START whose range of displayed characters does NOT intersect the range [START_CHARPOS..END_CHARPOS] is the row END + 1. */ - || (start_charpos < MATRIX_ROW_START_CHARPOS (next) - && end_charpos < MATRIX_ROW_START_CHARPOS (next)) + || (start_charpos < next_start + && end_charpos < next_start) || ((start_charpos > MATRIX_ROW_END_CHARPOS (next) || (start_charpos == MATRIX_ROW_END_CHARPOS (next) && !next->ends_at_zv_p @@ -25925,12 +25926,26 @@ but none of the characters it displays are in the range, it is also END + 1. */ struct glyph *g = next->glyphs[TEXT_AREA]; + struct glyph *s = g; struct glyph *e = g + next->used[TEXT_AREA]; while (g < e) { if (((BUFFERP (g->object) || INTEGERP (g->object)) - && start_charpos <= g->charpos && g->charpos < end_charpos) + && (start_charpos <= g->charpos && g->charpos < end_charpos + /* If the buffer position of the first glyph in + the row is equal to END_CHARPOS, it means + the last character to be highlighted is the + newline of ROW, and we must consider NEXT as + END, not END+1. */ + || ((!next->reversed_p && g == s + || next->reversed_p && g == e - 1) + && (g->charpos == end_charpos + /* Special case for when NEXT is an + empty line at ZV. */ + || (g->charpos == -1 + && !row->ends_at_zv_p + && next_start == end_charpos))))) /* A glyph that comes from DISP_STRING is by definition to be highlighted. */ || EQ (g->object, disp_string)) @@ -25942,6 +25957,13 @@ *end = row; break; } + /* The first row that ends at ZV must be the last to be + highlighted. */ + else if (next->ends_at_zv_p) + { + *end = next; + break; + } } } } @@ -26255,6 +26277,19 @@ } x += end->pixel_width; } + /* If we exited the above loop because we arrived at the last + glyph of the row, and its buffer position is still not in + range, it means the last character in range is the preceding + newline. Bump the end column and x values to get past the + last glyph. */ + if (end == glyph + && BUFFERP (end->object) + && (end->charpos < start_charpos + || end->charpos >= end_charpos)) + { + x += end->pixel_width; + ++end; + } hlinfo->mouse_face_end_x = x; hlinfo->mouse_face_end_col = end - r2->glyphs[TEXT_AREA]; } ------------------------------------------------------------ revno: 106847 committer: Glenn Morris branch nick: trunk timestamp: Wed 2012-01-11 06:18:53 -0500 message: Auto-commit of loaddefs files. diff: === modified file 'lisp/dired.el' --- lisp/dired.el 2012-01-05 11:49:08 +0000 +++ lisp/dired.el 2012-01-11 11:18:53 +0000 @@ -3667,7 +3667,7 @@ ;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command ;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown ;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff -;;;;;; dired-diff) "dired-aux" "dired-aux.el" "cdcae8f5f4ea69fa7b0231f640c13163") +;;;;;; dired-diff) "dired-aux" "dired-aux.el" "e77c506a0dd793230c5856a67e408fc6") ;;; Generated autoloads from dired-aux.el (autoload 'dired-diff "dired-aux" "\ @@ -3784,8 +3784,11 @@ `*' and `?' when not surrounded by whitespace have no special significance for `dired-do-shell-command', and are passed through -normally to the shell, but you must confirm first. To pass `*' by -itself to the shell as a wildcard, type `*\"\"'. +normally to the shell, but you must confirm first. + +If you want to use `*' as a shell wildcard with whitespace around +it, write `*\"\"' in place of just `*'. This is equivalent to just +`*' in the shell, but avoids Dired's special handling. If COMMAND produces output, it goes to a separate buffer. ------------------------------------------------------------ revno: 106846 committer: Glenn Morris branch nick: trunk timestamp: Tue 2012-01-10 23:51:05 -0800 message: Fix name of FSF in copyright headers. diff: === modified file 'lisp/winner.el' --- lisp/winner.el 2012-01-05 09:46:05 +0000 +++ lisp/winner.el 2012-01-11 07:51:05 +0000 @@ -1,6 +1,6 @@ ;;; winner.el --- Restore old window configurations -;; Copyright (C) 1997-1998, 2001-2012 Free Software Foundation. Inc. +;; Copyright (C) 1997-1998, 2001-2012 Free Software Foundation, Inc. ;; Author: Ivar Rummelhoff ;; Created: 27 Feb 1997 ------------------------------------------------------------ Use --include-merges or -n0 to see merged revisions.