X-Git-Url: https://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fmessage.el;h=d2c15cd4356404feeb05f164114cb46bbe4d6c2d;hb=5b34e9f8119499a035a5d688cd0504a31e974c02;hp=438b29793ff2dc2419b8455af7f7b1be5b516222;hpb=bb2410f9b3b32016958e49656ede4ea430518c7b;p=gnus diff --git a/lisp/message.el b/lisp/message.el index 438b29793..d2c15cd43 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -39,6 +39,7 @@ (require 'canlock) (require 'mailheader) (require 'nnheader) +(require 'gmm-utils) ;; This is apparently necessary even though things are autoloaded. ;; Because we dynamically bind mail-abbrev-mode-regexp, we'd better ;; require mailabbrev here. @@ -1663,7 +1664,6 @@ You must have the \"hashcash\" binary installed, see `hashcash-path'." (autoload 'gnus-request-post "gnus-int") (autoload 'gnus-server-string "gnus") (autoload 'idna-to-ascii "idna") - (autoload 'gmm-tool-bar-from-list "gmm-utils") (autoload 'message-setup-toolbar "messagexmas") (autoload 'mh-new-draft-name "mh-comp") (autoload 'mh-send-letter "mh-comp") @@ -2449,6 +2449,8 @@ Prefixed with two \\[universal-argument]'s, display the PGG manual." "----" ["Sort Headers" message-sort-headers t] ["Encode non-ASCII domain names" message-idna-to-ascii-rhs t] + ;; We hide `message-hidden-headers' by narrowing the buffer. + ["Show Hidden Headers" widen t] ["Goto Body" message-goto-body t] ["Goto Signature" message-goto-signature t])) @@ -3705,8 +3707,8 @@ not have PROP." (when (let ((char (char-after))) (or (< (mm-char-int char) 128) (and (mm-multibyte-p) - ;; Fixme: Wrong for Emacs 23 and for things - ;; like undecable utf-8. Should at least + ;; FIXME: Wrong for Emacs 23 (unicode) and for + ;; things like undecable utf-8. Should at least ;; use find-coding-systems-region. (memq (char-charset char) '(eight-bit-control eight-bit-graphic @@ -4765,7 +4767,9 @@ In posting styles use `(\"Expires\" (make-expires-date 30))'." (* 25 25))) (let ((tm (current-time))) (concat - (if (memq system-type '(ms-dos emx vax-vms)) + (if (or (memq system-type '(ms-dos emx vax-vms)) + ;; message-number-base36 doesn't handle bigints. + (floatp (user-uid))) (let ((user (downcase (user-login-name)))) (while (string-match "[^a-z0-9_]" user) (aset user (match-beginning 0) ?_)) @@ -6503,6 +6507,7 @@ Optional DIGEST will use digest to forward." (set-buffer (get-buffer-create " *message resend*")) (erase-buffer)) (let ((message-this-is-mail t) + message-generate-hashcash message-setup-hook) (message-setup `((To . ,address)))) ;; Insert our usual headers. @@ -6540,6 +6545,7 @@ Optional DIGEST will use digest to forward." ;; Send it. (let ((message-inhibit-body-encoding t) message-required-mail-headers + message-generate-hashcash rfc2047-encode-encoded-words) (message-send-mail)) (kill-buffer (current-buffer))) @@ -6700,25 +6706,22 @@ which specify the range to operate on." ;; Support for toolbar (eval-when-compile - (defvar tool-bar-map) (defvar tool-bar-mode)) -;; Note: The :set function in the `message-tool-bar*' will only affect _new_ -;; message buffers. We might add a function that walks thru all message-mode -;; buffers and force the update. +;; Note: The :set function in the `message-tool-bar*' variables will only +;; affect _new_ message buffers. We might add a function that walks thru all +;; message-mode buffers and force the update. (defun message-tool-bar-update (&optional symbol value) "Update message mode toolbar. Setter function for custom variables." - (if symbol - ;; When used as ":set" function: - (progn - (set-default symbol value) - (setq-default message-tool-bar-map nil)) - (message-make-tool-bar t))) - -;; The default will be changed to `message-tool-bar-gnome' when the new icons -;; have been checked in: -(defcustom message-tool-bar 'message-tool-bar-retro + (setq-default message-tool-bar-map nil) + (when symbol + ;; When used as ":set" function: + (set-default symbol value))) + +(defcustom message-tool-bar (if (eq gmm-tool-bar-style 'gnome) + 'message-tool-bar-gnome + 'message-tool-bar-retro) "Specifies the message mode tool bar. It can be either a list or a symbol refering to a list. See @@ -6737,24 +6740,25 @@ Pre-defined symbols include `message-tool-bar-gnome' and :set 'message-tool-bar-update :group 'message) -;; The new icons are not yet committed, see -;; http://thread.gmane.org/gmane.emacs.gnus.general/61719 (defcustom message-tool-bar-gnome - '((ignore "separator" nil :help "") ;; How to get no tooltip? - (message-send-and-exit "send") - (message-dont-send "save-draft") + '((ispell-message "spell" nil + :visible (or (not (boundp 'flyspell-mode)) + (not flyspell-mode))) + (flyspell-buffer "spell" t + :visible (and (boundp 'flyspell-mode) + flyspell-mode) + :help "Flyspell whole buffer") + (gmm-ignore "separator") + (message-send-and-exit "mail/send") + (message-dont-send "mail/save-draft") (message-kill-buffer "close") ;; stock_cancel (mml-attach-file "attach" mml-mode-map) - (ispell-message "spell" nil :visible (not flyspell-mode)) - (flyspell-buffer "spell" t :visible flyspell-mode - :help "Flyspell whole buffer") - ;; We should have a mail-preview icon with an envelope like the one in - ;; stock_mail-reply. - (mml-preview "mail-preview" mml-mode-map) + (mml-preview "mail/preview" mml-mode-map) (mml-secure-message-sign-encrypt "lock" mml-mode-map :visible nil) (message-insert-importance-high "important" nil :visible nil) (message-insert-importance-low "unimportant" nil :visible nil) (message-insert-disposition-notification-to "receipt" nil :visible nil) + (gmm-customize-mode "preferences" t :help "Edit mode preferences") (message-info "help" t :help "Message manual")) "List of items for the message tool bar (GNOME style). @@ -6766,15 +6770,16 @@ See `gmm-tool-bar-from-list' for details on the format of the list." :group 'message) (defcustom message-tool-bar-retro - '((message-send-and-exit "mail/send") + '(;; Old Emacs 21 icon for consistency. + (message-send-and-exit "gnus/mail_send") (message-kill-buffer "close") (message-dont-send "cancel") (mml-attach-file "attach" mml-mode-map) (ispell-message "spell") (mml-preview "preview" mml-mode-map) - (message-insert-importance-high "important") - (message-insert-importance-low "unimportant") - (message-insert-disposition-notification-to "receipt")) + (message-insert-importance-high "gnus/important") + (message-insert-importance-low "gnus/unimportant") + (message-insert-disposition-notification-to "gnus/receipt")) "List of items for the message tool bar (retro style). See `gmm-tool-bar-from-list' for details on the format of the list." @@ -6797,16 +6802,26 @@ See `gmm-tool-bar-from-list' for the format of the list." :set 'message-tool-bar-update :group 'message) +(defvar image-load-path) + (defun message-make-tool-bar (&optional force) "Make a message mode tool bar from `message-tool-bar-list'. When FORCE, rebuild the tool bar." - (when (or (not message-tool-bar-map) force) + (when (and (not (featurep 'xemacs)) + (boundp 'tool-bar-mode) + tool-bar-mode + (or (not message-tool-bar-map) force)) (setq message-tool-bar-map - (when (default-value 'tool-bar-mode) - (let ((load-path (mm-image-load-path))) - (gmm-tool-bar-from-list message-tool-bar - message-tool-bar-zap-list - 'message-mode-map))))) + (let* ((load-path + (gmm-image-load-path-for-library "message" + "mail/save-draft.xpm" + nil t)) + (image-load-path (cons (car load-path) + (when (boundp 'image-load-path) + image-load-path)))) + (gmm-tool-bar-from-list message-tool-bar + message-tool-bar-zap-list + 'message-mode-map)))) message-tool-bar-map) ;;; Group name completion.