emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r115839: Minor rmail fixes.


From: Richard M. Stallman
Subject: [Emacs-diffs] trunk r115839: Minor rmail fixes.
Date: Thu, 02 Jan 2014 22:33:31 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 115839
revision-id: address@hidden
parent: address@hidden
author: rms
committer: Richard Stallman <address@hidden>
branch nick: trunk
timestamp: Thu 2014-01-02 17:30:32 -0500
message:
  Minor rmail fixes.
  
  * mail/rmail.el (rmail-get-coding-function): Variable.
  (rmail-get-coding-system): Use it.
  
  * mail/rmail.el       (rmail-make-in-reply-to-field):
  Add parens in message-id.
  
  * mail/rmailmm.el (rmail-mime-message-p): Moved to rmail.el.
  * mail/rmail.el (rmail-mime-message-p): Moved from rmailmm.el.
  (rmail-epa-decrypt): Turn off mime processing.
modified:
  lisp/ChangeLog                 changelog-20091113204419-o5vbwnq5f7feedwu-1432
  lisp/mail/rmail.el             rmail.el-20091113204419-o5vbwnq5f7feedwu-8812
  lisp/mail/rmailmm.el           rmailmm.el-20091113204419-o5vbwnq5f7feedwu-8815
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2014-01-02 21:05:34 +0000
+++ b/lisp/ChangeLog    2014-01-02 22:30:32 +0000
@@ -1,3 +1,15 @@
+2014-01-02  Richard Stallman  <address@hidden>
+
+       * mail/rmailmm.el (rmail-mime-message-p): Moved to rmail.el.
+       * mail/rmail.el (rmail-mime-message-p): Moved from rmailmm.el.
+       (rmail-epa-decrypt): Turn off mime processing.
+
+       * mail/rmail.el (rmail-make-in-reply-to-field):
+       Add parens in message-id.
+
+       * mail/rmail.el (rmail-get-coding-function): Variable.
+       (rmail-get-coding-system): Use it.
+
 2014-01-02  Vincent Belaïche  <address@hidden>
 
        * ses.el (ses-initial-global-parameters-re): New defconst, a

=== modified file 'lisp/mail/rmail.el'
--- a/lisp/mail/rmail.el        2014-01-01 07:43:34 +0000
+++ b/lisp/mail/rmail.el        2014-01-02 22:30:32 +0000
@@ -104,6 +104,11 @@
   "Non-nil if message has been processed by `rmail-show-mime-function'.")
 (put 'rmail-mime-decoded 'permanent-local t) ; for rmail-edit
 
+(defsubst rmail-mime-message-p ()
+  "Non-nil if and only if the current message is a MIME."
+  (or (get-text-property (point) 'rmail-mime-entity)
+      (get-text-property (point-min) 'rmail-mime-entity)))
+
 (defgroup rmail nil
   "Mail reader for Emacs."
   :group 'mail)
@@ -686,6 +691,12 @@
 
 This is set to nil by default.")
 
+(defcustom rmail-get-coding-function nil
+  "Function of no args to try to determine coding system for a message."
+  :type 'function
+  :group 'rmail
+  :version "24.4")
+
 (defcustom rmail-enable-mime t
   "If non-nil, RMAIL automatically displays decoded MIME messages.
 For this to work, the feature specified by `rmail-mime-feature' must
@@ -1029,9 +1040,10 @@
 The buffer is expected to be narrowed to just the header of the message."
   (save-excursion
     (goto-char (point-min))
-    (if (re-search-forward rmail-mime-charset-pattern nil t)
-       (coding-system-from-name (match-string 1))
-      'undecided)))
+    (or (funcall rmail-get-coding-function)
+       (if (re-search-forward rmail-mime-charset-pattern nil t)
+           (coding-system-from-name (match-string 1))
+         'undecided))))
 
 ;;; Set up Rmail mode keymaps
 
@@ -3863,16 +3875,18 @@
                        message-id))
                    ;; missing From, or Message-ID is sufficiently informative
                    message-id
-                   (concat message-id " (" tem ")"))
+                (concat message-id " (" tem ")"))
+            ;; Message has no Message-ID field.
             ;; Copy TEM, discarding text properties.
             (setq tem (copy-sequence tem))
             (set-text-properties 0 (length tem) nil tem)
             (setq tem (copy-sequence tem))
             ;; Use prin1 to fake RFC822 quoting
             (let ((field (prin1-to-string tem)))
+              ;; Wrap it in parens to make it a comment according to RFC822
               (if date
-                  (concat field "'s message of " date)
-                  field)))))
+                  (concat "(" field "'s message of " date ")")
+                (concat "(" field ")"))))))
         ((let* ((foo "[^][\000-\037()<>@,;:\\\" ]+")
                 (bar "[^][\000-\037()<>@,;:\\\"]+"))
           ;; These strings both match all non-ASCII characters.
@@ -3898,7 +3912,8 @@
              (if message-id
                  ;; "<address@hidden> (message from Unix Loser on 1-Apr-89)"
                  (concat message-id " (" field ")")
-                 field))))
+              ;; Wrap in parens to make it a comment, for RFC822.
+              (concat "(" field ")")))))
         (t
          ;; If we can't kludge it simply, do it correctly
          (let ((mail-use-rfc822 t))
@@ -4483,7 +4498,7 @@
 ;; There doesn't really seem to be an appropriate menu.
 ;; Eg the edit command is not in a menu either.
 (defun rmail-epa-decrypt ()
-  "Decrypt OpenPGP armors in current message."
+  "Decrypt GnuPG or OpenPGP armors in current message."
   (interactive)
 
   ;; Save the current buffer here for cleanliness, in case we
@@ -4493,14 +4508,10 @@
     (let (decrypts)
       (goto-char (point-min))
 
-      ;; In case the encrypted data is inside a mime attachment,
-      ;; show it.  This is a kludge; to be clean, it should not
-      ;; modify the buffer, but I don't see how to do that.
-      (when (search-forward "octet-stream" nil t)
-       (beginning-of-line)
-       (forward-button 1)
-       (if (looking-at "Show")
-           (rmail-mime-toggle-hidden)))
+      ;; Turn off mime processing.
+      (when (and (rmail-mime-message-p)
+                (not (get-text-property (point-min) 'rmail-mime-hidden)))
+       (rmail-mime))
 
       ;; Now find all armored messages in the buffer
       ;; and decrypt them one by one.
@@ -4560,6 +4571,7 @@
                      (when armor-end
                        (delete-region armor-start armor-end)
                        (insert-buffer-substring from-buffer (nth 0 d) (nth 1 
d)))))))))))))
+ 
 
 ;;;;  Desktop support
 

=== modified file 'lisp/mail/rmailmm.el'
--- a/lisp/mail/rmailmm.el      2014-01-01 07:43:34 +0000
+++ b/lisp/mail/rmailmm.el      2014-01-02 22:30:32 +0000
@@ -230,11 +230,6 @@
 (defsubst rmail-mime-entity-set-truncated (entity truncated)
   (aset entity 9 truncated))
 
-(defsubst rmail-mime-message-p ()
-  "Non-nil if and only if the current message is a MIME."
-  (or (get-text-property (point) 'rmail-mime-entity)
-      (get-text-property (point-min) 'rmail-mime-entity)))
-
 ;;; Buttons
 
 (defun rmail-mime-save (button)


reply via email to

[Prev in Thread] Current Thread [Next in Thread]