X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Fmessage.el;h=65c527ffd247220f7223b4f0037bcad2a1de6e33;hb=1744f2fbe4c382d63068903cd867804bd2485d3e;hp=66c73402a3117a00c31879bfee210cf3d6f108ba;hpb=d1b6d13953a652e136e4f86647dc1935cc7997b1;p=elisp%2Fgnus.git- diff --git a/lisp/message.el b/lisp/message.el index 66c7340..65c527f 100644 --- a/lisp/message.el +++ b/lisp/message.el @@ -60,11 +60,11 @@ (require 'rfc822) (eval-and-compile - (autoload 'customize-save-variable "cus-edit") ;; for Mule 2. - (autoload 'sha1 "sha1-el") (autoload 'gnus-find-method-for-group "gnus") (autoload 'nnvirtual-find-group-art "nnvirtual") (autoload 'gnus-group-decoded-name "gnus-group")) +(eval-when-compile + (autoload 'sha1 "sha1-el")) (defgroup message '((user-mail-address custom-variable) (user-full-name custom-variable)) @@ -662,15 +662,13 @@ Done before generating the new subject of a forward." (if (string-match "[[:digit:]]" "1") ;; support POSIX? "\\([ \t]*[-_.[:word:]]+>+\\|[ \t]*[]>|}+]\\)+" ;; ?-, ?_ or ?. MUST NOT be in syntax entry w. - (let ((old-table (syntax-table)) - non-word-constituents) - (set-syntax-table text-mode-syntax-table) - (setq non-word-constituents - (concat - (if (string-match "\\w" "-") "" "-") - (if (string-match "\\w" "_") "" "_") - (if (string-match "\\w" ".") "" "."))) - (set-syntax-table old-table) + (let (non-word-constituents) + (with-syntax-table text-mode-syntax-table + (setq non-word-constituents + (concat + (if (string-match "\\w" "-") "" "-") + (if (string-match "\\w" "_") "" "_") + (if (string-match "\\w" ".") "" ".")))) (if (equal non-word-constituents "") "\\([ \t]*\\(\\w\\)+>+\\|[ \t]*[]>|}+]\\)+" (concat "\\([ \t]*\\(\\w\\|[" @@ -1744,8 +1742,6 @@ no, only reply back to the author." (autoload 'message-setup-toolbar "messagexmas") (autoload 'mh-new-draft-name "mh-comp") (autoload 'mh-send-letter "mh-comp") - (autoload 'gnus-point-at-eol "gnus-util") - (autoload 'gnus-point-at-bol "gnus-util") (autoload 'gnus-output-to-rmail "gnus-util") (autoload 'gnus-output-to-mail "gnus-util") (autoload 'nndraft-request-associate-buffer "nndraft") @@ -3024,16 +3020,23 @@ or in the synonym headers, defined by `message-header-synonyms'." (when (message-goto-signature) (forward-line -2))) -(defun message-kill-to-signature () - "Deletes all text up to the signature." - (interactive) - (let ((point (point))) - (message-goto-signature) - (unless (eobp) - (end-of-line -1)) - (kill-region point (point)) - (unless (bolp) - (insert "\n")))) +(defun message-kill-to-signature (&optional arg) + "Kill all text up to the signature. +If a numberic argument or prefix arg is given, leave that number +of lines before the signature intact." + (interactive "p") + (save-excursion + (save-restriction + (let ((point (point))) + (narrow-to-region point (point-max)) + (message-goto-signature) + (unless (eobp) + (if (and arg (numberp arg)) + (forward-line (- -1 arg)) + (end-of-line -1))) + (unless (= point (point)) + (kill-region point (point)) + (insert "\n")))))) (defun message-newline-and-reformat (&optional arg not-break) "Insert four newlines, and then reformat if inside quoted text. @@ -3942,7 +3945,7 @@ used to distinguish whether the invisible text is a MIME part or not." font-lock-face highlight)))) (when hidden-start (goto-char hidden-start) - (set-window-start (selected-window) (gnus-point-at-bol)) + (set-window-start (selected-window) (point-at-bol)) (unless (yes-or-no-p "Invisible text found and made visible; continue sending? ") (error "Invisible text found and made visible"))))) @@ -4427,6 +4430,7 @@ documentation for the function `mail-source-touch-pop'." (defun message-canlock-generate () "Return a string that is non-trivial to guess. Do not use this for anything important, it is cryptographically weak." + (require 'sha1-el) (let (sha1-maximum-internal-length) (sha1 (concat (message-unique-id) (format "%x%x%x" (random) (random t) (random)) @@ -5655,7 +5659,7 @@ Headers already prepared in the buffer are not modified." (forward-line -1))) ;; The value of this header was empty, so we clear ;; totally and insert the new value. - (delete-region (point) (gnus-point-at-eol)) + (delete-region (point) (point-at-eol)) ;; If the header is optional, and the header was ;; empty, we can't insert it anyway. (unless optionalp @@ -5889,7 +5893,7 @@ beginning of line." (message-point-in-header-p)) (let* ((here (point)) (bol (progn (beginning-of-line n) (point))) - (eol (gnus-point-at-eol)) + (eol (point-at-eol)) (eoh (re-search-forward ": *" eol t))) (if (or (not eoh) (equal here eoh)) (goto-char bol) @@ -7293,11 +7297,14 @@ which specify the range to operate on." :type '(alist :key-type regexp :value-type function)) (defcustom message-expand-name-function - (if (fboundp 'bbdb-complete-name) - 'bbdb-complete-name - (if (fboundp 'lsdb-complete-name) - 'lsdb-complete-name - 'expand-abbrev)) + (cond ((and (boundp 'eudc-protocol) + eudc-protocol) + 'eudc-expand-inline) + ((fboundp 'bbdb-complete-name) + 'bbdb-complete-name) + ((fboundp 'lsdb-complete-name) + 'lsdb-complete-name) + (t 'expand-abbrev)) "*A function called to expand addresses in field body." :group 'message :type 'function)