+1998-10-08 Keiichi Suzuki <kei-suzu@mail.wbs.ne.jp>
+
+ * Sync up with Semi-gnus 6.8.19
+
+1998-10-08 Katsumi Yamaoka <yamaoka@jpl.org>
+
+ * lisp/message.el (message-mode-map): Define key `C-x k'.
+ (message-kill-buffer): Change the prompt string.
+ (message-kill-buffer): Refer to
+ `message-kill-buffer-query-function'.
+ (message-kill-buffer-query-function): New user option.
+
+ * lisp/nnheader.el (nnheader-Y-or-n-p): New function.
+
+1998-10-07 Yoshiki Hayashi <g740685@komaba.ecc.u-tokyo.ac.jp>
+
+ * lisp/nnagent.el (nnagent-open-server): Small bug fix.
+
1998-10-07 Keiichi Suzuki <kei-suzu@mail.wbs.ne.jp>
* lisp/gnus.el (gnus-version-number): Change to "6.8.19.2"
(defconst gnus-product-name "Nana-gnus"
"Product name of this version of gnus.")
-(defconst gnus-version-number "6.8.19.2"
+(defconst gnus-version-number "6.8.19.3"
"Version number for this version of gnus.")
(defconst gnus-version
:group 'message-buffers
:type 'boolean)
+(defcustom message-kill-buffer-query-function 'yes-or-no-p
+ "*A function called to query the user whether to kill buffer anyway or not.
+If it is t, the buffer will be killed peremptorily."
+ :type '(radio (function-item yes-or-no-p)
+ (function-item y-or-n-p)
+ (function-item nnheader-Y-or-n-p)
+ (function :tag "Other" t))
+ :group 'message-buffers)
+
(defvar gnus-local-organization)
(defcustom message-user-organization
(or (and (boundp 'gnus-local-organization)
(define-key message-mode-map "\C-c\C-z" 'message-kill-to-signature)
(define-key message-mode-map "\M-\r" 'message-newline-and-reformat)
- (define-key message-mode-map "\t" 'message-tab))
+ (define-key message-mode-map "\t" 'message-tab)
+
+ (define-key message-mode-map "\C-xk" 'message-kill-buffer))
(easy-menu-define
message-mode-menu message-mode-map "Message Menu."
"Kill the current buffer."
(interactive)
(when (or (not (buffer-modified-p))
- (yes-or-no-p "Message modified; kill anyway? "))
+ (eq t message-kill-buffer-query-function)
+ (funcall message-kill-buffer-query-function
+ "The buffer modified; kill anyway? "))
(let ((actions message-kill-actions)
(frame (selected-frame))
(org-frame message-original-frame))
(setq buffer-file-name nil)
(kill-buffer (current-buffer))
(message-do-actions actions)
- (message-delete-frame frame org-frame))))
+ (message-delete-frame frame org-frame)))
+ (message ""))
(defun message-delete-frame (frame org-frame)
"Delete frame for editing message."
(ftp-error (setq err (format "%s" arg)))))
(nnagent-close-server)
(nnheader-report
- 'nnagent (or err "No such file or directory: %s" dir)))
+ 'nnagent (or err
+ (format "No such file or directory: %s" dir))))
((not (file-directory-p (file-truename dir)))
(nnagent-close-server)
(nnheader-report 'nnagent "Not a directory: %s" dir))
(fset 'nnheader-cancel-timer 'cancel-timer)
(fset 'nnheader-cancel-function-timers 'cancel-function-timers)
+(defun nnheader-Y-or-n-p (prompt)
+ "Ask user a \"Y/n\" question. Return t if answer is neither \"n\", \"N\" nor \"C-g\"."
+ (if (and (featurep 'xemacs) (should-use-dialog-box-p))
+ (yes-or-no-p-dialog-box prompt)
+ (let ((cursor-in-echo-area t)
+ (echo-keystrokes 0)
+ (log-message-max-size 0)
+ (inhibit-quit t)
+ message-log-max ans)
+ (while (not (memq ans '(?\ ?N ?Y ?\C-g ?\e ?\n ?\r ?n ?y)))
+ (message "%s(Y/n) " prompt)
+ (setq ans (read-char-exclusive)))
+ (not (memq ans '(?\C-g ?N ?n))))))
+
(when (string-match "XEmacs\\|Lucid" emacs-version)
(require 'nnheaderxm))
(provide 'pop3-fma)
;;
;; pop3-fma.el ends here.
+
+