summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>2011-01-14 13:08:30 +0900
committerKenichi Handa <handa@m17n.org>2011-01-14 13:08:30 +0900
commit66399c0a66e87c20edad6a7eb2474981d9bc7e4e (patch)
tree9998842124f34c1c0e75d6f9b796fd690ed2ea6d
parent1a6a03e4a30d48bdbb3f188c7de0c0ab09e16992 (diff)
parentc88aaf48b207664ac714d161061488c86b0963d9 (diff)
downloademacs-66399c0a66e87c20edad6a7eb2474981d9bc7e4e.tar.gz
merge emacs-23
-rw-r--r--lisp/ChangeLog4
-rw-r--r--lisp/gnus/ChangeLog4
-rw-r--r--lisp/gnus/message.el28
-rw-r--r--lisp/subr.el29
4 files changed, 53 insertions, 12 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 9ed8ee80c89..0f6138bf698 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -9,6 +9,10 @@
(rmail-show-mime): If only a header part was decoded, find the
coding system while ignoring mm-charset-override-alist.
+2011-01-13 Chong Yidong <cyd@stupidchicken.com>
+
+ * subr.el (event-start, event-end): Doc fix (Bug#7826).
+
2011-01-12 Kenichi Handa <handa@m17n.org>
* mail/rmailmm.el (rmail-mime-next-item)
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog
index 6a363c0b4f1..eecbe978c29 100644
--- a/lisp/gnus/ChangeLog
+++ b/lisp/gnus/ChangeLog
@@ -1,3 +1,7 @@
+2011-01-13 Chong Yidong <cyd@stupidchicken.com>
+
+ * message.el (message-bury): Add special-case handling for Rmail.
+
2011-01-12 Glenn Morris <rgm@gnu.org>
* message.el (message-mail): A compose-mail function should
diff --git a/lisp/gnus/message.el b/lisp/gnus/message.el
index 0ea0df46060..63fcf500189 100644
--- a/lisp/gnus/message.el
+++ b/lisp/gnus/message.el
@@ -4023,12 +4023,32 @@ Instead, just auto-save the buffer and then bury it."
(defun message-bury (buffer)
"Bury this mail BUFFER."
- (let ((newbuf (other-buffer buffer)))
- (bury-buffer buffer)
- (if (and (window-dedicated-p (selected-window))
+ (let ((newbuf (other-buffer (current-buffer))))
+ (bury-buffer (current-buffer))
+ (if (and (window-dedicated-p (frame-selected-window))
(not (null (delq (selected-frame) (visible-frame-list)))))
(delete-frame (selected-frame))
- (switch-to-buffer newbuf))))
+ ;; Temporary hack to make this behave like `mail-bury', when
+ ;; used with Rmail. Replaced in Emacs 24 with
+ (let (rmail-flag summary-buffer)
+ (and (not (one-window-p))
+ (with-current-buffer
+ (window-buffer (next-window (selected-window) 'not))
+ (setq rmail-flag (eq major-mode 'rmail-mode))
+ (setq summary-buffer
+ (and (if (boundp 'mail-bury-selects-summary)
+ mail-bury-selects-summary
+ t)
+ (boundp 'rmail-summary-buffer)
+ rmail-summary-buffer
+ (buffer-name rmail-summary-buffer)
+ (not (get-buffer-window rmail-summary-buffer))
+ rmail-summary-buffer))))
+ (if rmail-flag
+ ;; If the Rmail buffer has a summary, show that.
+ (if summary-buffer (switch-to-buffer summary-buffer)
+ (delete-window))
+ (switch-to-buffer newbuf))))))
(defun message-send (&optional arg)
"Send the message in the current buffer.
diff --git a/lisp/subr.el b/lisp/subr.el
index d8618172103..7ddabbc0e90 100644
--- a/lisp/subr.el
+++ b/lisp/subr.el
@@ -854,24 +854,37 @@ in the current Emacs session, then this function may return nil."
(defsubst event-start (event)
"Return the starting position of EVENT.
-If EVENT is a mouse or key press or a mouse click, this returns the location
-of the event.
-If EVENT is a drag, this returns the drag's starting position.
-The return value is of the form
+EVENT should be a click, drag, or key press event.
+If it is a key press event, the return value has the form
+ (WINDOW POS (0 . 0) 0)
+If it is a click or drag event, it has the form
(WINDOW AREA-OR-POS (X . Y) TIMESTAMP OBJECT POS (COL . ROW)
IMAGE (DX . DY) (WIDTH . HEIGHT))
-The `posn-' functions access elements of such lists."
+The `posn-' functions access elements of such lists.
+For more information, see Info node `(elisp)Click Events'.
+
+If EVENT is a mouse or key press or a mouse click, this is the
+position of the event. If EVENT is a drag, this is the starting
+position of the drag."
(if (consp event) (nth 1 event)
(list (selected-window) (point) '(0 . 0) 0)))
(defsubst event-end (event)
"Return the ending location of EVENT.
EVENT should be a click, drag, or key press event.
-If EVENT is a click event, this function is the same as `event-start'.
-The return value is of the form
+If EVENT is a key press event, the return value has the form
+ (WINDOW POS (0 . 0) 0)
+If EVENT is a click event, this function is the same as
+`event-start'. For click and drag events, the return value has
+the form
(WINDOW AREA-OR-POS (X . Y) TIMESTAMP OBJECT POS (COL . ROW)
IMAGE (DX . DY) (WIDTH . HEIGHT))
-The `posn-' functions access elements of such lists."
+The `posn-' functions access elements of such lists.
+For more information, see Info node `(elisp)Click Events'.
+
+If EVENT is a mouse or key press or a mouse click, this is the
+position of the event. If EVENT is a drag, this is the starting
+position of the drag."
(if (consp event) (nth (if (consp (nth 2 event)) 2 1) event)
(list (selected-window) (point) '(0 . 0) 0)))