aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--doc/lispref/ChangeLog12
-rw-r--r--doc/lispref/elisp.texi2
-rw-r--r--doc/lispref/files.texi2
-rw-r--r--doc/lispref/modes.texi10
-rw-r--r--doc/lispref/vol1.texi2
-rw-r--r--doc/lispref/vol2.texi2
-rw-r--r--lisp/ChangeLog16
-rw-r--r--lisp/emacs-lisp/lisp.el6
-rw-r--r--lisp/progmodes/which-func.el7
-rw-r--r--lisp/vc/smerge-mode.el4
-rw-r--r--src/ChangeLog16
-rw-r--r--src/textprop.c4
-rw-r--r--src/w32term.c52
-rw-r--r--src/xterm.c54
14 files changed, 143 insertions, 46 deletions
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 7ef3be46b68..3a66cebce2a 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,15 @@
12011-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * modes.texi (Region to Refontify): Rename from "Region to Fontify".
4 (Multiline Font Lock):
5 * vol2.texi (Top):
6 * vol1.texi (Top):
7 * elisp.texi (Top): Update menu accordingly.
8
92011-05-12 Drew Adams <drew.adams@oracle.com>
10
11 * modes.texi (Region to Fontify): Fix typo.
12
12011-05-06 Paul Eggert <eggert@cs.ucla.edu> 132011-05-06 Paul Eggert <eggert@cs.ucla.edu>
2 14
3 * numbers.texi (Integer Basics): Large integers are treated as floats. 15 * numbers.texi (Integer Basics): Large integers are treated as floats.
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi
index 69c50ba42be..259bb3cf86e 100644
--- a/doc/lispref/elisp.texi
+++ b/doc/lispref/elisp.texi
@@ -828,7 +828,7 @@ Font Lock Mode
828Multiline Font Lock Constructs 828Multiline Font Lock Constructs
829 829
830* Font Lock Multiline:: Marking multiline chunks with a text property. 830* Font Lock Multiline:: Marking multiline chunks with a text property.
831* Region to Fontify:: Controlling which region gets refontified 831* Region to Refontify:: Controlling which region gets refontified
832 after a buffer change. 832 after a buffer change.
833 833
834Documentation 834Documentation
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi
index e3bdebd28a1..72f39f681ae 100644
--- a/doc/lispref/files.texi
+++ b/doc/lispref/files.texi
@@ -251,7 +251,7 @@ literally, i.e. without conversions of any kind. The command
251@code{find-file-literally} sets this variable's local value, but other 251@code{find-file-literally} sets this variable's local value, but other
252equivalent functions and commands can do that as well, e.g.@: to avoid 252equivalent functions and commands can do that as well, e.g.@: to avoid
253automatic addition of a newline at the end of the file. This variable 253automatic addition of a newline at the end of the file. This variable
254us permanent local, so it is unaffected by changes of major modes. 254is permanent local, so it is unaffected by changes of major modes.
255@end defvar 255@end defvar
256 256
257@node Subroutines of Visiting 257@node Subroutines of Visiting
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index f0a8985fa75..02f89f93207 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -3174,7 +3174,7 @@ subsequent lines.
3174 3174
3175@menu 3175@menu
3176* Font Lock Multiline:: Marking multiline chunks with a text property. 3176* Font Lock Multiline:: Marking multiline chunks with a text property.
3177* Region to Fontify:: Controlling which region gets refontified 3177* Region to Refontify:: Controlling which region gets refontified
3178 after a buffer change. 3178 after a buffer change.
3179@end menu 3179@end menu
3180 3180
@@ -3226,7 +3226,7 @@ place the @code{font-lock-multiline} property on the text before
3226Font-Lock looks at it, or use 3226Font-Lock looks at it, or use
3227@code{font-lock-fontify-region-function}. 3227@code{font-lock-fontify-region-function}.
3228 3228
3229@node Region to Fontify 3229@node Region to Refontify
3230@subsubsection Region to Fontify after a Buffer Change 3230@subsubsection Region to Fontify after a Buffer Change
3231 3231
3232 When a buffer is changed, the region that Font Lock refontifies is 3232 When a buffer is changed, the region that Font Lock refontifies is
@@ -3235,15 +3235,15 @@ While this works well most of the time, sometimes it doesn't---for
3235example, when a change alters the syntactic meaning of text on an 3235example, when a change alters the syntactic meaning of text on an
3236earlier line. 3236earlier line.
3237 3237
3238 You can enlarge (or even reduce) the region to fontify by setting 3238 You can enlarge (or even reduce) the region to refontify by setting
3239one the following variables: 3239the following variable:
3240 3240
3241@defvar font-lock-extend-after-change-region-function 3241@defvar font-lock-extend-after-change-region-function
3242This buffer-local variable is either @code{nil} or a function for 3242This buffer-local variable is either @code{nil} or a function for
3243Font-Lock to call to determine the region to scan and fontify. 3243Font-Lock to call to determine the region to scan and fontify.
3244 3244
3245The function is given three parameters, the standard @var{beg}, 3245The function is given three parameters, the standard @var{beg},
3246@var{end}, and @var{old-len} from after-change-functions 3246@var{end}, and @var{old-len} from @code{after-change-functions}
3247(@pxref{Change Hooks}). It should return either a cons of the 3247(@pxref{Change Hooks}). It should return either a cons of the
3248beginning and end buffer positions (in that order) of the region to 3248beginning and end buffer positions (in that order) of the region to
3249fontify, or @code{nil} (which means choose the region in the standard 3249fontify, or @code{nil} (which means choose the region in the standard
diff --git a/doc/lispref/vol1.texi b/doc/lispref/vol1.texi
index ad8ff0819ca..afcd3d6cbd6 100644
--- a/doc/lispref/vol1.texi
+++ b/doc/lispref/vol1.texi
@@ -847,7 +847,7 @@ Font Lock Mode
847Multiline Font Lock Constructs 847Multiline Font Lock Constructs
848 848
849* Font Lock Multiline:: Marking multiline chunks with a text property. 849* Font Lock Multiline:: Marking multiline chunks with a text property.
850* Region to Fontify:: Controlling which region gets refontified 850* Region to Refontify:: Controlling which region gets refontified
851 after a buffer change. 851 after a buffer change.
852 852
853Documentation 853Documentation
diff --git a/doc/lispref/vol2.texi b/doc/lispref/vol2.texi
index 7832b3a8614..65ffbc23860 100644
--- a/doc/lispref/vol2.texi
+++ b/doc/lispref/vol2.texi
@@ -846,7 +846,7 @@ Font Lock Mode
846Multiline Font Lock Constructs 846Multiline Font Lock Constructs
847 847
848* Font Lock Multiline:: Marking multiline chunks with a text property. 848* Font Lock Multiline:: Marking multiline chunks with a text property.
849* Region to Fontify:: Controlling which region gets refontified 849* Region to Refontify:: Controlling which region gets refontified
850 after a buffer change. 850 after a buffer change.
851 851
852Documentation 852Documentation
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index b223382b271..d1348485002 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,19 @@
12011-05-12 Eli Zaretskii <eliz@gnu.org>
2
3 * smerge-mode.el (smerge-resolve): Use null-device rather than a
4 literal "/dev/null".
5
62011-05-12 Stefan Monnier <monnier@iro.umontreal.ca>
7
8 * emacs-lisp/lisp.el (lisp-complete-symbol, lisp-completion-at-point):
9 Fix typo.
10
112011-05-12 Ralph Schleicher <rs@ralph-schleicher.de>
12
13 * progmodes/which-func.el (which-function):
14 Use add-log-current-defun instead of add-log-current-defun-function,
15 which might not be defined (Bug#8260).
16
12011-05-12 Glenn Morris <rgm@gnu.org> 172011-05-12 Glenn Morris <rgm@gnu.org>
2 18
3 * emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble): 19 * emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
diff --git a/lisp/emacs-lisp/lisp.el b/lisp/emacs-lisp/lisp.el
index deb06f52549..ef0c49b8616 100644
--- a/lisp/emacs-lisp/lisp.el
+++ b/lisp/emacs-lisp/lisp.el
@@ -636,8 +636,8 @@ considered."
636 (plist (nthcdr 3 data))) 636 (plist (nthcdr 3 data)))
637 (if (null data) 637 (if (null data)
638 (minibuffer-message "Nothing to complete") 638 (minibuffer-message "Nothing to complete")
639 (let ((completion-annotate-function 639 (let ((completion-annotate-function
640 (plist-get plist :annotate-function))) 640 (plist-get plist :annotation-function)))
641 (completion-in-region (nth 0 data) (nth 1 data) (nth 2 data) 641 (completion-in-region (nth 0 data) (nth 1 data) (nth 2 data)
642 (plist-get plist :predicate)))))) 642 (plist-get plist :predicate))))))
643 643
@@ -685,7 +685,7 @@ considered."
685 (when end 685 (when end
686 (list beg end obarray 686 (list beg end obarray
687 :predicate predicate 687 :predicate predicate
688 :annotate-function 688 :annotation-function
689 (unless (eq predicate 'fboundp) 689 (unless (eq predicate 'fboundp)
690 (lambda (str) (if (fboundp (intern-soft str)) " <f>")))))))) 690 (lambda (str) (if (fboundp (intern-soft str)) " <f>"))))))))
691 691
diff --git a/lisp/progmodes/which-func.el b/lisp/progmodes/which-func.el
index ae18486c43b..4e4d7b15053 100644
--- a/lisp/progmodes/which-func.el
+++ b/lisp/progmodes/which-func.el
@@ -270,7 +270,7 @@ It calls them sequentially, and if any returns non-nil,
270(defun which-function () 270(defun which-function ()
271 "Return current function name based on point. 271 "Return current function name based on point.
272Uses `which-func-functions', `imenu--index-alist' 272Uses `which-func-functions', `imenu--index-alist'
273or `add-log-current-defun-function'. 273or `add-log-current-defun'.
274If no function name is found, return nil." 274If no function name is found, return nil."
275 (let ((name 275 (let ((name
276 ;; Try the `which-func-functions' functions first. 276 ;; Try the `which-func-functions' functions first.
@@ -320,9 +320,8 @@ If no function name is found, return nil."
320 (reverse (cons (car pair) namestack)))))))))))) 320 (reverse (cons (car pair) namestack))))))))))))
321 321
322 ;; Try using add-log support. 322 ;; Try using add-log support.
323 (when (and (null name) (boundp 'add-log-current-defun-function) 323 (when (null name)
324 add-log-current-defun-function) 324 (setq name (add-log-current-defun)))
325 (setq name (funcall add-log-current-defun-function)))
326 ;; Filter the name if requested. 325 ;; Filter the name if requested.
327 (when name 326 (when name
328 (if which-func-cleanup-function 327 (if which-func-cleanup-function
diff --git a/lisp/vc/smerge-mode.el b/lisp/vc/smerge-mode.el
index 75e3b514531..f26ccdbedda 100644
--- a/lisp/vc/smerge-mode.el
+++ b/lisp/vc/smerge-mode.el
@@ -566,7 +566,7 @@ major modes. Uses `smerge-resolve-function' to do the actual work."
566 (with-current-buffer buf 566 (with-current-buffer buf
567 (zerop (call-process-region 567 (zerop (call-process-region
568 (point-min) (point-max) "patch" t nil nil 568 (point-min) (point-max) "patch" t nil nil
569 "-r" "/dev/null" "--no-backup-if-mismatch" 569 "-r" null-device "--no-backup-if-mismatch"
570 "-fl" o)))) 570 "-fl" o))))
571 (save-restriction 571 (save-restriction
572 (narrow-to-region m0b m0e) 572 (narrow-to-region m0b m0e)
@@ -582,7 +582,7 @@ major modes. Uses `smerge-resolve-function' to do the actual work."
582 (with-current-buffer buf 582 (with-current-buffer buf
583 (zerop (call-process-region 583 (zerop (call-process-region
584 (point-min) (point-max) "patch" t nil nil 584 (point-min) (point-max) "patch" t nil nil
585 "-r" "/dev/null" "--no-backup-if-mismatch" 585 "-r" null-device "--no-backup-if-mismatch"
586 "-fl" m)))) 586 "-fl" m))))
587 (save-restriction 587 (save-restriction
588 (narrow-to-region m0b m0e) 588 (narrow-to-region m0b m0e)
diff --git a/src/ChangeLog b/src/ChangeLog
index f7010859baa..d8895a91a55 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,19 @@
12011-05-12 Drew Adams <drew.adams@oracle.com>
2
3 * textprop.c (Fprevious_single_char_property_change): Doc fix (bug#8655).
4
52011-05-12 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
6
7 * w32term.c (w32_draw_fringe_bitmap): Rename local vars `left' and
8 `width' to `bar_area_x' and `bar_area_width', respectively.
9 (x_scroll_run): Take account of fringe background extension.
10
11 * xterm.c (x_draw_fringe_bitmap) [USE_TOOLKIT_SCROLL_BARS]: Rename
12 local vars `left' and `width' to `bar_area_x' and
13 `bar_area_width', respectively.
14 (x_scroll_run) [USE_TOOLKIT_SCROLL_BARS]: Take account of fringe
15 background extension.
16
12011-05-10 Juanma Barranquero <lekktu@gmail.com> 172011-05-10 Juanma Barranquero <lekktu@gmail.com>
2 18
3 * image.c (Finit_image_library): Return t for built-in image types, 19 * image.c (Finit_image_library): Return t for built-in image types,
diff --git a/src/textprop.c b/src/textprop.c
index aad090c5b41..566b2962a63 100644
--- a/src/textprop.c
+++ b/src/textprop.c
@@ -838,8 +838,8 @@ In a buffer, it runs to (point-min), and the value cannot be less than that.
838The property values are compared with `eq'. 838The property values are compared with `eq'.
839If the property is constant all the way to the start of OBJECT, return the 839If the property is constant all the way to the start of OBJECT, return the
840first valid position in OBJECT. 840first valid position in OBJECT.
841If the optional fourth argument LIMIT is non-nil, don't search 841If the optional fourth argument LIMIT is non-nil, don't search back past
842back past position LIMIT; return LIMIT if nothing is found before LIMIT. */) 842position LIMIT; return LIMIT if nothing is found before reaching LIMIT. */)
843 (Lisp_Object position, Lisp_Object prop, Lisp_Object object, Lisp_Object limit) 843 (Lisp_Object position, Lisp_Object prop, Lisp_Object object, Lisp_Object limit)
844{ 844{
845 if (STRINGP (object)) 845 if (STRINGP (object))
diff --git a/src/w32term.c b/src/w32term.c
index f6a6ba3e82f..d22aee6dc76 100644
--- a/src/w32term.c
+++ b/src/w32term.c
@@ -715,22 +715,22 @@ w32_draw_fringe_bitmap (struct window *w, struct glyph_row *row,
715 715
716 if (sb_width > 0) 716 if (sb_width > 0)
717 { 717 {
718 int left = WINDOW_SCROLL_BAR_AREA_X (w); 718 int bar_area_x = WINDOW_SCROLL_BAR_AREA_X (w);
719 int width = (WINDOW_CONFIG_SCROLL_BAR_COLS (w) 719 int bar_area_width = (WINDOW_CONFIG_SCROLL_BAR_COLS (w)
720 * FRAME_COLUMN_WIDTH (f)); 720 * FRAME_COLUMN_WIDTH (f));
721 721
722 if (bx < 0) 722 if (bx < 0)
723 { 723 {
724 /* Bitmap fills the fringe. */ 724 /* Bitmap fills the fringe. */
725 if (left + width == p->x) 725 if (bar_area_x + bar_area_width == p->x)
726 bx = left + sb_width; 726 bx = bar_area_x + sb_width;
727 else if (p->x + p->wd == left) 727 else if (p->x + p->wd == bar_area_x)
728 bx = left; 728 bx = bar_area_x;
729 if (bx >= 0) 729 if (bx >= 0)
730 { 730 {
731 int header_line_height = WINDOW_HEADER_LINE_HEIGHT (w); 731 int header_line_height = WINDOW_HEADER_LINE_HEIGHT (w);
732 732
733 nx = width - sb_width; 733 nx = bar_area_width - sb_width;
734 by = WINDOW_TO_FRAME_PIXEL_Y (w, max (header_line_height, 734 by = WINDOW_TO_FRAME_PIXEL_Y (w, max (header_line_height,
735 row->y)); 735 row->y));
736 ny = row->visible_height; 736 ny = row->visible_height;
@@ -738,13 +738,13 @@ w32_draw_fringe_bitmap (struct window *w, struct glyph_row *row,
738 } 738 }
739 else 739 else
740 { 740 {
741 if (left + width == bx) 741 if (bar_area_x + bar_area_width == bx)
742 { 742 {
743 bx = left + sb_width; 743 bx = bar_area_x + sb_width;
744 nx += width - sb_width; 744 nx += bar_area_width - sb_width;
745 } 745 }
746 else if (bx + nx == left) 746 else if (bx + nx == bar_area_x)
747 nx += width - sb_width; 747 nx += bar_area_width - sb_width;
748 } 748 }
749 } 749 }
750 } 750 }
@@ -2619,6 +2619,32 @@ x_scroll_run (struct window *w, struct run *run)
2619 fringes of W. */ 2619 fringes of W. */
2620 window_box (w, -1, &x, &y, &width, &height); 2620 window_box (w, -1, &x, &y, &width, &height);
2621 2621
2622 /* If the fringe is adjacent to the left (right) scroll bar of a
2623 leftmost (rightmost, respectively) window, then extend its
2624 background to the gap between the fringe and the bar. */
2625 if ((WINDOW_LEFTMOST_P (w)
2626 && WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT (w))
2627 || (WINDOW_RIGHTMOST_P (w)
2628 && WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT (w)))
2629 {
2630 int sb_width = WINDOW_CONFIG_SCROLL_BAR_WIDTH (w);
2631
2632 if (sb_width > 0)
2633 {
2634 int bar_area_x = WINDOW_SCROLL_BAR_AREA_X (w);
2635 int bar_area_width = (WINDOW_CONFIG_SCROLL_BAR_COLS (w)
2636 * FRAME_COLUMN_WIDTH (f));
2637
2638 if (bar_area_x + bar_area_width == x)
2639 {
2640 x = bar_area_x + sb_width;
2641 width += bar_area_width - sb_width;
2642 }
2643 else if (x + width == bar_area_x)
2644 width += bar_area_width - sb_width;
2645 }
2646 }
2647
2622 from_y = WINDOW_TO_FRAME_PIXEL_Y (w, run->current_y); 2648 from_y = WINDOW_TO_FRAME_PIXEL_Y (w, run->current_y);
2623 to_y = WINDOW_TO_FRAME_PIXEL_Y (w, run->desired_y); 2649 to_y = WINDOW_TO_FRAME_PIXEL_Y (w, run->desired_y);
2624 bottom_y = y + height; 2650 bottom_y = y + height;
diff --git a/src/xterm.c b/src/xterm.c
index 20259b7ab2e..2352f51cfb7 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -753,22 +753,22 @@ x_draw_fringe_bitmap (struct window *w, struct glyph_row *row, struct draw_fring
753 753
754 if (sb_width > 0) 754 if (sb_width > 0)
755 { 755 {
756 int left = WINDOW_SCROLL_BAR_AREA_X (w); 756 int bar_area_x = WINDOW_SCROLL_BAR_AREA_X (w);
757 int width = (WINDOW_CONFIG_SCROLL_BAR_COLS (w) 757 int bar_area_width = (WINDOW_CONFIG_SCROLL_BAR_COLS (w)
758 * FRAME_COLUMN_WIDTH (f)); 758 * FRAME_COLUMN_WIDTH (f));
759 759
760 if (bx < 0) 760 if (bx < 0)
761 { 761 {
762 /* Bitmap fills the fringe. */ 762 /* Bitmap fills the fringe. */
763 if (left + width == p->x) 763 if (bar_area_x + bar_area_width == p->x)
764 bx = left + sb_width; 764 bx = bar_area_x + sb_width;
765 else if (p->x + p->wd == left) 765 else if (p->x + p->wd == bar_area_x)
766 bx = left; 766 bx = bar_area_x;
767 if (bx >= 0) 767 if (bx >= 0)
768 { 768 {
769 int header_line_height = WINDOW_HEADER_LINE_HEIGHT (w); 769 int header_line_height = WINDOW_HEADER_LINE_HEIGHT (w);
770 770
771 nx = width - sb_width; 771 nx = bar_area_width - sb_width;
772 by = WINDOW_TO_FRAME_PIXEL_Y (w, max (header_line_height, 772 by = WINDOW_TO_FRAME_PIXEL_Y (w, max (header_line_height,
773 row->y)); 773 row->y));
774 ny = row->visible_height; 774 ny = row->visible_height;
@@ -776,13 +776,13 @@ x_draw_fringe_bitmap (struct window *w, struct glyph_row *row, struct draw_fring
776 } 776 }
777 else 777 else
778 { 778 {
779 if (left + width == bx) 779 if (bar_area_x + bar_area_width == bx)
780 { 780 {
781 bx = left + sb_width; 781 bx = bar_area_x + sb_width;
782 nx += width - sb_width; 782 nx += bar_area_width - sb_width;
783 } 783 }
784 else if (bx + nx == left) 784 else if (bx + nx == bar_area_x)
785 nx += width - sb_width; 785 nx += bar_area_width - sb_width;
786 } 786 }
787 } 787 }
788 } 788 }
@@ -3232,6 +3232,34 @@ x_scroll_run (struct window *w, struct run *run)
3232 fringe of W. */ 3232 fringe of W. */
3233 window_box (w, -1, &x, &y, &width, &height); 3233 window_box (w, -1, &x, &y, &width, &height);
3234 3234
3235#ifdef USE_TOOLKIT_SCROLL_BARS
3236 /* If the fringe is adjacent to the left (right) scroll bar of a
3237 leftmost (rightmost, respectively) window, then extend its
3238 background to the gap between the fringe and the bar. */
3239 if ((WINDOW_LEFTMOST_P (w)
3240 && WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_LEFT (w))
3241 || (WINDOW_RIGHTMOST_P (w)
3242 && WINDOW_HAS_VERTICAL_SCROLL_BAR_ON_RIGHT (w)))
3243 {
3244 int sb_width = WINDOW_CONFIG_SCROLL_BAR_WIDTH (w);
3245
3246 if (sb_width > 0)
3247 {
3248 int bar_area_x = WINDOW_SCROLL_BAR_AREA_X (w);
3249 int bar_area_width = (WINDOW_CONFIG_SCROLL_BAR_COLS (w)
3250 * FRAME_COLUMN_WIDTH (f));
3251
3252 if (bar_area_x + bar_area_width == x)
3253 {
3254 x = bar_area_x + sb_width;
3255 width += bar_area_width - sb_width;
3256 }
3257 else if (x + width == bar_area_x)
3258 width += bar_area_width - sb_width;
3259 }
3260 }
3261#endif
3262
3235 from_y = WINDOW_TO_FRAME_PIXEL_Y (w, run->current_y); 3263 from_y = WINDOW_TO_FRAME_PIXEL_Y (w, run->current_y);
3236 to_y = WINDOW_TO_FRAME_PIXEL_Y (w, run->desired_y); 3264 to_y = WINDOW_TO_FRAME_PIXEL_Y (w, run->desired_y);
3237 bottom_y = y + height; 3265 bottom_y = y + height;