(message-mimic-kill-buffer): New function.
authoryamaoka <yamaoka>
Wed, 18 Nov 1998 06:51:08 +0000 (06:51 +0000)
committeryamaoka <yamaoka>
Wed, 18 Nov 1998 06:51:08 +0000 (06:51 +0000)
(message-mode-map): Use it for `C-x k'.

lisp/message.el

index 9e4f83f..5c87339 100644 (file)
@@ -1459,7 +1459,7 @@ Point is left at the beginning of the narrowed-to region."
   (define-key message-mode-map "\t" 'message-tab)
 
   (define-key message-mode-map "\C-x\C-s" 'message-save-drafts)
-  (define-key message-mode-map "\C-xk" 'message-kill-buffer))
+  (define-key message-mode-map "\C-xk" 'message-mimic-kill-buffer))
 
 (easy-menu-define
  message-mode-menu message-mode-map "Message Menu."
@@ -2171,6 +2171,19 @@ The text will also be indented the normal way."
       (message-delete-frame frame org-frame)))
   (message ""))
 
+(defun message-mimic-kill-buffer ()
+  "Kill the current buffer with query."
+  (interactive)
+  (if (buffer-modified-p)
+      (message-kill-buffer)
+    (let ((command this-command)
+         (bufname (read-buffer (format "Kill buffer: (default %s) "
+                                       (buffer-name)))))
+      (if (or (not bufname)
+             (string-equal bufname (buffer-name)))
+         (message-kill-buffer)
+       (message "%s must be invoked only for the current buffer." command)))))
+
 (defun message-delete-frame (frame org-frame)
   "Delete frame for editing message."
   (when (and (or (and (featurep 'xemacs)