comparison lisp/mail/rmail.el @ 55056:c7ded215e268

(rmail-restore-desktop-buffer): Move from desktop.el. Add Parameters.
author Lars Hansen <larsh@soem.dk>
date Wed, 21 Apr 2004 20:49:37 +0000
parents 4562a16c141d
children c58efa90d5a6
comparison
equal deleted inserted replaced
55055:1df02321d7ad 55056:c7ded215e268
1664 ;; Decode the region specified by FROM and TO by CODING. 1664 ;; Decode the region specified by FROM and TO by CODING.
1665 ;; If CODING is nil or an invalid coding system, decode by `undecided'. 1665 ;; If CODING is nil or an invalid coding system, decode by `undecided'.
1666 (defun rmail-decode-region (from to coding) 1666 (defun rmail-decode-region (from to coding)
1667 (if (or (not coding) (not (coding-system-p coding))) 1667 (if (or (not coding) (not (coding-system-p coding)))
1668 (setq coding 'undecided)) 1668 (setq coding 'undecided))
1669 ;; Use -dos decoding, to remove ^M characters left from base64 or 1669 (decode-coding-region from to coding))
1670 ;; rogue qp-encoded text.
1671 (decode-coding-region from to
1672 (coding-system-change-eol-conversion coding 1))
1673 ;; Don't reveal the fact we used -dos decoding, as users generally
1674 ;; will not expect the RMAIL buffer to use DOS EOL format.
1675 (setq buffer-file-coding-system
1676 (setq last-coding-system-used
1677 (coding-system-change-eol-conversion coding 0))))
1678 1670
1679 ;; the rmail-break-forwarded-messages feature is not implemented 1671 ;; the rmail-break-forwarded-messages feature is not implemented
1680 (defun rmail-convert-to-babyl-format () 1672 (defun rmail-convert-to-babyl-format ()
1681 (let ((count 0) start 1673 (let ((count 0) start
1682 (case-fold-search nil) 1674 (case-fold-search nil)
1757 (- (point) 2)) 1749 (- (point) 2))
1758 t) 1750 t)
1759 (error nil)) 1751 (error nil))
1760 ;; Change "base64" to "8bit", to reflect the 1752 ;; Change "base64" to "8bit", to reflect the
1761 ;; decoding we just did. 1753 ;; decoding we just did.
1754 (goto-char (1+ header-end))
1755 (while (search-forward "\r\n" (point-max) t)
1756 (replace-match "\n"))
1762 (goto-char base64-header-field-end) 1757 (goto-char base64-header-field-end)
1763 (delete-region (point) (search-backward ":")) 1758 (delete-region (point) (search-backward ":"))
1764 (insert ": 8bit")))) 1759 (insert ": 8bit"))))
1765 (setq last-coding-system-used nil) 1760 (setq last-coding-system-used nil)
1766 (or rmail-enable-mime 1761 (or rmail-enable-mime
1904 ;; from removing newline characters. 1899 ;; from removing newline characters.
1905 (skip-chars-backward "\n\t ") 1900 (skip-chars-backward "\n\t ")
1906 (point))) 1901 (point)))
1907 t) 1902 t)
1908 (error nil)) 1903 (error nil))
1904 (goto-char header-end)
1905 (while (search-forward "\r\n" (point-max) t)
1906 (replace-match "\n"))
1909 ;; Change "base64" to "8bit", to reflect the 1907 ;; Change "base64" to "8bit", to reflect the
1910 ;; decoding we just did. 1908 ;; decoding we just did.
1911 (goto-char base64-header-field-end) 1909 (goto-char base64-header-field-end)
1912 (delete-region (point) (search-backward ":")) 1910 (delete-region (point) (search-backward ":"))
1913 (insert ": 8bit"))))) 1911 (insert ": 8bit")))))
3867 (setq curmask (lsh curmask -8)) 3865 (setq curmask (lsh curmask -8))
3868 (aset string-vector i (logxor charmask (aref string-vector i))) 3866 (aset string-vector i (logxor charmask (aref string-vector i)))
3869 (setq i (1+ i))) 3867 (setq i (1+ i)))
3870 (concat string-vector))) 3868 (concat string-vector)))
3871 3869
3870 ;;;; Desktop support
3871
3872 ;;;###autoload
3873 (defun rmail-restore-desktop-buffer (desktop-buffer-file-name
3874 desktop-buffer-name
3875 desktop-buffer-misc)
3876 "Restore an rmail buffer specified in a desktop file."
3877 (condition-case error
3878 (progn
3879 (rmail-input desktop-buffer-file-name)
3880 (if (eq major-mode 'rmail-mode)
3881 (current-buffer)
3882 rmail-buffer))
3883 (file-locked
3884 (kill-buffer (current-buffer))
3885 nil)))
3886
3872 (provide 'rmail) 3887 (provide 'rmail)
3873 3888
3874 ;;; arch-tag: cff0a950-57fe-4f73-a86e-91ff75afd06c 3889 ;;; arch-tag: cff0a950-57fe-4f73-a86e-91ff75afd06c
3875 ;;; rmail.el ends here 3890 ;;; rmail.el ends here