* mm-decode.el (mm-inline-media-tests): Check feature vcard.
authorLars Magne Ingebrigtsen <larsi@gnus.org>
Wed, 1 Dec 1999 15:37:39 +0000 (15:37 +0000)
committerLars Magne Ingebrigtsen <larsi@gnus.org>
Wed, 1 Dec 1999 15:37:39 +0000 (15:37 +0000)
* gnus-msg.el (gnus-summary-yank-message): New command and
keystroke.

* message.el (message-yank-buffer): New command.
(message-buffers): New function.

lisp/.cvsignore [new file with mode: 0644]
lisp/ChangeLog
lisp/gnus-msg.el
lisp/message.el
lisp/mm-decode.el

diff --git a/lisp/.cvsignore b/lisp/.cvsignore
new file mode 100644 (file)
index 0000000..16c0b7b
--- /dev/null
@@ -0,0 +1,2 @@
+Makefile
+version
index 4ee6509..27fdc84 100644 (file)
@@ -1,5 +1,13 @@
 1999-12-01 14:28:49  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
+       * mm-decode.el (mm-inline-media-tests): Check feature vcard.
+
+       * gnus-msg.el (gnus-summary-yank-message): New command and
+       keystroke. 
+
+       * message.el (message-yank-buffer): New command.
+       (message-buffers): New function.
+
        * gnus-sum.el (gnus-summary-catchup-and-goto-next-group): Select
        next group in a more normal fasion.
 
index f49da29..91867ce 100644 (file)
@@ -161,6 +161,7 @@ Thank you for your help in stamping out bugs.
   "c" gnus-summary-cancel-article
   "s" gnus-summary-supersede-article
   "r" gnus-summary-reply
+  "y" gnus-summary-yank-message
   "R" gnus-summary-reply-with-original
   "w" gnus-summary-wide-reply
   "W" gnus-summary-wide-reply-with-original
@@ -860,6 +861,19 @@ If YANK is non-nil, include the original article."
   (when (get-buffer "*Gnus Help Bug*")
     (kill-buffer "*Gnus Help Bug*")))
 
+(defun gnus-summary-yank-message (buffer n)
+  "Yank the current article into a composed message."
+  (interactive
+   (list (completing-read "Buffer: " (mapcar 'list (message-buffers)) nil t)
+        current-prefix-arg))
+  (gnus-summary-iterate n
+    (let ((gnus-display-mime-function nil)
+         (gnus-inhibit-treatment t))
+      (gnus-summary-select-article))
+    (save-excursion
+      (set-buffer buffer)
+      (message-yank-buffer gnus-article-buffer))))
+
 (defun gnus-debug ()
   "Attempts to go through the Gnus source file and report what variables have been changed.
 The source file has to be in the Emacs load path."
index 9f09ccb..4929c84 100644 (file)
@@ -1300,6 +1300,7 @@ Point is left at the beginning of the narrowed-to region."
   (define-key message-mode-map "\C-c\C-n" 'message-insert-newsgroups)
 
   (define-key message-mode-map "\C-c\C-y" 'message-yank-original)
+  (define-key message-mode-map "\C-c\C-Y" 'message-yank-buffer)
   (define-key message-mode-map "\C-c\C-q" 'message-fill-yanked-message)
   (define-key message-mode-map "\C-c\C-w" 'message-insert-signature)
   (define-key message-mode-map "\C-c\M-h" 'message-insert-headers)
@@ -1855,6 +1856,24 @@ prefix, and don't delete any headers."
       (unless modified
        (setq message-checksum (message-checksum))))))
 
+(defun message-yank-buffer (buffer)
+  "Insert BUFFER into the current buffer and quote it."
+  (interactive "bYank buffer: ")
+  (let ((message-reply-buffer buffer))
+    (save-window-excursion
+      (message-yank-original))))
+
+(defun message-buffers ()
+  "Return a list of active message buffers."
+  (let (buffers)
+    (save-excursion
+      (dolist (buffer (buffer-list t))
+       (set-buffer buffer)
+       (when (and (eq major-mode 'message-mode)
+                  (null message-sent-message-via))
+         (push (buffer-name buffer) buffers))))
+    (nreverse buffers)))
+
 (defun message-cite-original-without-signature ()
   "Cite function in the standard Message manner."
   (let ((start (point))
index 78524aa..e52b99b 100644 (file)
     ("text/x-vcard"
      mm-inline-text
      (lambda (handle)
-       (locate-library "vcard")))
+       (or (featurep 'vcard)
+          (locate-library "vcard"))))
     ("message/delivery-status" mm-inline-text identity)
     ("message/rfc822" mm-inline-message identity)
     ("text/.*" mm-inline-text identity)