diff options
| author | Paul Eggert | 2011-08-19 07:28:36 -0700 |
|---|---|---|
| committer | Paul Eggert | 2011-08-19 07:28:36 -0700 |
| commit | fe4496a6e27ac892283b8568adbd12831868cc54 (patch) | |
| tree | 36242f11ad8079d1e0a00b465c953777200c00ff | |
| parent | 51f30bc52daf551f3c433b80f598eb52dca71033 (diff) | |
| parent | 823564e519dd1f3e81a79949e1abc033c9e7c0a5 (diff) | |
| download | emacs-fe4496a6e27ac892283b8568adbd12831868cc54.tar.gz emacs-fe4496a6e27ac892283b8568adbd12831868cc54.zip | |
Merge from trunk.
| -rw-r--r-- | lisp/gnus/ChangeLog | 5 | ||||
| -rw-r--r-- | lisp/gnus/gnus-art.el | 9 | ||||
| -rw-r--r-- | lisp/minibuffer.el | 22 | ||||
| -rw-r--r-- | src/ChangeLog | 11 | ||||
| -rw-r--r-- | src/xdisp.c | 19 | ||||
| -rw-r--r-- | src/xfaces.c | 15 |
6 files changed, 65 insertions, 16 deletions
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 230bd8a6508..64ac50fe8f0 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -1,3 +1,8 @@ | |||
| 1 | 2011-08-19 Katsumi Yamaoka <yamaoka@jpl.org> | ||
| 2 | |||
| 3 | * gnus-art.el (gnus-insert-mime-button, gnus-mime-display-alternative): | ||
| 4 | Make button keymap non-sticky after buttons. | ||
| 5 | |||
| 1 | 2011-08-18 David Engster <dengste@eml.cc> | 6 | 2011-08-18 David Engster <dengste@eml.cc> |
| 2 | 7 | ||
| 3 | * nnmairix.el (nnmairix-request-set-mark) | 8 | * nnmairix.el (nnmairix-request-set-mark) |
diff --git a/lisp/gnus/gnus-art.el b/lisp/gnus/gnus-art.el index 28c6aca367c..c6e0180dadc 100644 --- a/lisp/gnus/gnus-art.el +++ b/lisp/gnus/gnus-art.el | |||
| @@ -5700,7 +5700,8 @@ all parts." | |||
| 5700 | gnus-callback gnus-mm-display-part | 5700 | gnus-callback gnus-mm-display-part |
| 5701 | gnus-part ,gnus-tmp-id | 5701 | gnus-part ,gnus-tmp-id |
| 5702 | article-type annotation | 5702 | article-type annotation |
| 5703 | gnus-data ,handle)) | 5703 | gnus-data ,handle |
| 5704 | rear-nonsticky t)) | ||
| 5704 | (setq e (if (bolp) | 5705 | (setq e (if (bolp) |
| 5705 | ;; Exclude a newline. | 5706 | ;; Exclude a newline. |
| 5706 | (1- (point)) | 5707 | (1- (point)) |
| @@ -6013,7 +6014,8 @@ If displaying \"text/html\" is discouraged \(see | |||
| 6013 | ,gnus-mouse-face-prop ,gnus-article-mouse-face | 6014 | ,gnus-mouse-face-prop ,gnus-article-mouse-face |
| 6014 | face ,gnus-article-button-face | 6015 | face ,gnus-article-button-face |
| 6015 | gnus-part ,id | 6016 | gnus-part ,id |
| 6016 | article-type multipart)) | 6017 | article-type multipart |
| 6018 | rear-nonsticky t)) | ||
| 6017 | (widget-convert-button 'link from (point) | 6019 | (widget-convert-button 'link from (point) |
| 6018 | :action 'gnus-widget-press-button | 6020 | :action 'gnus-widget-press-button |
| 6019 | :button-keymap gnus-widget-button-keymap) | 6021 | :button-keymap gnus-widget-button-keymap) |
| @@ -6037,7 +6039,8 @@ If displaying \"text/html\" is discouraged \(see | |||
| 6037 | ,gnus-mouse-face-prop ,gnus-article-mouse-face | 6039 | ,gnus-mouse-face-prop ,gnus-article-mouse-face |
| 6038 | face ,gnus-article-button-face | 6040 | face ,gnus-article-button-face |
| 6039 | gnus-part ,id | 6041 | gnus-part ,id |
| 6040 | gnus-data ,handle)) | 6042 | gnus-data ,handle |
| 6043 | rear-nonsticky t)) | ||
| 6041 | (widget-convert-button 'link from (point) | 6044 | (widget-convert-button 'link from (point) |
| 6042 | :action 'gnus-widget-press-button | 6045 | :action 'gnus-widget-press-button |
| 6043 | :button-keymap gnus-widget-button-keymap) | 6046 | :button-keymap gnus-widget-button-keymap) |
diff --git a/lisp/minibuffer.el b/lisp/minibuffer.el index 313298de97e..b82147b97f1 100644 --- a/lisp/minibuffer.el +++ b/lisp/minibuffer.el | |||
| @@ -1119,13 +1119,27 @@ It also eliminates runs of equal strings." | |||
| 1119 | `(display (space :align-to ,column))) | 1119 | `(display (space :align-to ,column))) |
| 1120 | nil)))) | 1120 | nil)))) |
| 1121 | (if (not (consp str)) | 1121 | (if (not (consp str)) |
| 1122 | (put-text-property (point) (progn (insert str) (point)) | 1122 | (put-text-property (point) |
| 1123 | (progn | ||
| 1124 | (insert (bidi-string-mark-left-to-right | ||
| 1125 | str)) | ||
| 1126 | (point)) | ||
| 1123 | 'mouse-face 'highlight) | 1127 | 'mouse-face 'highlight) |
| 1124 | (put-text-property (point) (progn (insert (car str)) (point)) | 1128 | (put-text-property (point) |
| 1129 | (progn | ||
| 1130 | (insert | ||
| 1131 | (bidi-string-mark-left-to-right | ||
| 1132 | (car str))) | ||
| 1133 | (point)) | ||
| 1125 | 'mouse-face 'highlight) | 1134 | 'mouse-face 'highlight) |
| 1126 | (add-text-properties (point) (progn (insert (cadr str)) (point)) | 1135 | (add-text-properties (point) |
| 1136 | (progn | ||
| 1137 | (insert | ||
| 1138 | (bidi-string-mark-left-to-right | ||
| 1139 | (cadr str))) | ||
| 1140 | (point)) | ||
| 1127 | '(mouse-face nil | 1141 | '(mouse-face nil |
| 1128 | face completions-annotations))) | 1142 | face completions-annotations))) |
| 1129 | (cond | 1143 | (cond |
| 1130 | ((eq completions-format 'vertical) | 1144 | ((eq completions-format 'vertical) |
| 1131 | ;; Vertical format | 1145 | ;; Vertical format |
diff --git a/src/ChangeLog b/src/ChangeLog index 1db99549c60..922a8a33a9c 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -422,6 +422,17 @@ | |||
| 422 | (gs_load): Use printmax_t to print the widest integers possible. | 422 | (gs_load): Use printmax_t to print the widest integers possible. |
| 423 | Check for integer overflow when computing image height and width. | 423 | Check for integer overflow when computing image height and width. |
| 424 | 424 | ||
| 425 | 2011-08-19 Eli Zaretskii <eliz@gnu.org> | ||
| 426 | |||
| 427 | * xfaces.c (face_at_buffer_position): Avoid repeated evaluation of | ||
| 428 | face ID by FACE_FROM_ID, and avoid a crash when mouse is moved | ||
| 429 | from an Org mode buffer to a Speedbar frame. | ||
| 430 | |||
| 431 | * xdisp.c (RECORD_MAX_MIN_POS): If the display element comes from | ||
| 432 | a composition, take its buffer position from IT->cmp_it.charpos. | ||
| 433 | Fixes cursor positioning at the beginning of a line that begins | ||
| 434 | with a composed character. | ||
| 435 | |||
| 425 | 2011-08-18 Eli Zaretskii <eliz@gnu.org> | 436 | 2011-08-18 Eli Zaretskii <eliz@gnu.org> |
| 426 | 437 | ||
| 427 | * bidi.c (bidi_get_type): If bidi_type_table reports zero as the | 438 | * bidi.c (bidi_get_type): If bidi_type_table reports zero as the |
diff --git a/src/xdisp.c b/src/xdisp.c index ea70c916762..86ad523dfdd 100644 --- a/src/xdisp.c +++ b/src/xdisp.c | |||
| @@ -18384,15 +18384,22 @@ display_line (struct it *it) | |||
| 18384 | #define RECORD_MAX_MIN_POS(IT) \ | 18384 | #define RECORD_MAX_MIN_POS(IT) \ |
| 18385 | do \ | 18385 | do \ |
| 18386 | { \ | 18386 | { \ |
| 18387 | if (IT_CHARPOS (*(IT)) < min_pos) \ | 18387 | int composition_p = (IT)->what == IT_COMPOSITION; \ |
| 18388 | EMACS_INT current_pos = \ | ||
| 18389 | composition_p ? (IT)->cmp_it.charpos \ | ||
| 18390 | : IT_CHARPOS (*(IT)); \ | ||
| 18391 | EMACS_INT current_bpos = \ | ||
| 18392 | composition_p ? CHAR_TO_BYTE (current_pos) \ | ||
| 18393 | : IT_BYTEPOS (*(IT)); \ | ||
| 18394 | if (current_pos < min_pos) \ | ||
| 18388 | { \ | 18395 | { \ |
| 18389 | min_pos = IT_CHARPOS (*(IT)); \ | 18396 | min_pos = current_pos; \ |
| 18390 | min_bpos = IT_BYTEPOS (*(IT)); \ | 18397 | min_bpos = current_bpos; \ |
| 18391 | } \ | 18398 | } \ |
| 18392 | if (IT_CHARPOS (*(IT)) > max_pos) \ | 18399 | if (current_pos > max_pos) \ |
| 18393 | { \ | 18400 | { \ |
| 18394 | max_pos = IT_CHARPOS (*(IT)); \ | 18401 | max_pos = current_pos; \ |
| 18395 | max_bpos = IT_BYTEPOS (*(IT)); \ | 18402 | max_bpos = current_bpos; \ |
| 18396 | } \ | 18403 | } \ |
| 18397 | } \ | 18404 | } \ |
| 18398 | while (0) | 18405 | while (0) |
diff --git a/src/xfaces.c b/src/xfaces.c index fee4a6f9d6a..431ca07b8df 100644 --- a/src/xfaces.c +++ b/src/xfaces.c | |||
| @@ -5999,9 +5999,18 @@ face_at_buffer_position (struct window *w, EMACS_INT pos, | |||
| 5999 | 5999 | ||
| 6000 | *endptr = endpos; | 6000 | *endptr = endpos; |
| 6001 | 6001 | ||
| 6002 | default_face = FACE_FROM_ID (f, base_face_id >= 0 ? base_face_id | 6002 | { |
| 6003 | : NILP (Vface_remapping_alist) ? DEFAULT_FACE_ID | 6003 | int face_id; |
| 6004 | : lookup_basic_face (f, DEFAULT_FACE_ID)); | 6004 | |
| 6005 | if (base_face_id >= 0) | ||
| 6006 | face_id = base_face_id; | ||
| 6007 | else if (NILP (Vface_remapping_alist)) | ||
| 6008 | face_id = DEFAULT_FACE_ID; | ||
| 6009 | else | ||
| 6010 | face_id = lookup_basic_face (f, DEFAULT_FACE_ID); | ||
| 6011 | |||
| 6012 | default_face = FACE_FROM_ID (f, face_id); | ||
| 6013 | } | ||
| 6005 | 6014 | ||
| 6006 | /* Optimize common cases where we can use the default face. */ | 6015 | /* Optimize common cases where we can use the default face. */ |
| 6007 | if (noverlays == 0 | 6016 | if (noverlays == 0 |