Sync up with Pterodactyl Gnus 0.10.
authorichikawa <ichikawa>
Mon, 31 Aug 1998 14:05:55 +0000 (14:05 +0000)
committerichikawa <ichikawa>
Mon, 31 Aug 1998 14:05:55 +0000 (14:05 +0000)
15 files changed:
ChangeLog
lisp/ChangeLog
lisp/gnus-art.el
lisp/gnus-msg.el
lisp/gnus-sum.el
lisp/gnus.el
lisp/lpath.el
lisp/message.el
lisp/mm-decode.el
lisp/mm-encode.el
lisp/nnfolder.el
lisp/qp.el
texi/ChangeLog
texi/gnus.texi
texi/message.texi

index 1429273..225cdf5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,9 +1,42 @@
 1998-08-31  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
 
-       * lisp/gnus-agent.el: Do not use nnheader-temp-write.
+       * lisp/gnus.el (gnus-version-number): Update to 6.9.04.
+
+       * Sync up with Pterodactyl Gnus 0.10.
+
+       * lisp/gnus-agent.el : back to version Gnus 5.6.32.
        
+1998-08-31  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/rfc1522.el: Abolished.
+
+       * lisp/message.el: (message-send-mail) (message-send-news): Don't
+       use `mm-encode-message-header'.
+
+       * lisp/gnus.el: Delete autoload settings for
+       `hexl-hex-string-to-integer', `mm-decode-words-region',
+       `mm-decode-words-string', `gnus-hack-decode-rfc1522',
+       `gnus-article-de-quoted-unreadable', `gnus-decode-rfc1522' and
+       `article-decode-rfc1522'.
+
+       * lisp/gnus-sum.el: Delete Key definitions for
+       `gnus-article-decode-mime-words', `gnus-article-decode-mime-words'
+       and `gnus-article-de-quoted-unreadable'.
+
+       * lisp/gnus-art.el (gnus-article-decode-mime-words)
+       (gnus-decode-rfc1522) (article-de-quoted-unreadable)
+       (article-mime-decode-quoted-printable-buffer): Abolished.
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.9.03.
+
+       * Sync up with Pterodactyl Gnus 0.9.
+
+1998-08-31  Tatsuya Ichikawa  <t-ichi@po.shiojiri.ne.jp>
+
+       * lisp/gnus-agent.el: Do not use nnheader-temp-write.
+
        * lisp/gnus-ems.el: Do not use nnheader-temp-write.
-       
+
        * lisp/gnus.el (gnus-version-number): Update to 6.9.02.
 
        * Sync up with Pterodactyl Gnus 0.8.
@@ -14,7 +47,7 @@
 
        * lisp/gnus.el (gnus-original-version-number)
        (gnus-original-product-name) : New variable.
-       
+
        * lisp/gnus.el (gnus-version-number): Update to 6.9.01.
        Third version number 0x means Original gnus's status in beta version.
 
        * lisp/gnus-i18n.el (gnus-set-summary-default-charset): Match
        "real" newsgroup name; strip "backend+server" prefix.
 
-       * lisp/message.el (message-make-in-reply-to):
-       Use `std11-extract-address-components'.
-       (message-use-mail-reply-to): Doc fix.
-
 1998-08-28  Katsumi Yamaoka   <yamaoka@jpl.org>
 
        * lisp/message.el (message-make-user-agent): New function.
index 5afb31d..acb8c2a 100644 (file)
@@ -1,3 +1,62 @@
+Mon Aug 31 12:43:46 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Pterodactyl Gnus v0.10 is released.
+
+1998-08-31 11:45:13  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * nnfolder.el (nnfolder-delete-mail): Narrow to mail and allow
+       hook to be run.
+
+1998-08-30 17:59:07  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * rfc2047.el (rfc2047-encodable-p): Use find-charset-region.
+
+       * mm-util.el (mm-charsets-in-region): Removed.
+
+       * rfc2047.el: Renamed file.
+
+       * gnus-msg.el (gnus-copy-article-buffer): Multibyte.
+
+       * message.el (message-mode): Set multibyte.
+
+       * mm-util.el (mm-charsets-in-region): Copied here.
+
+       * gnus-util.el: Removed gnus-truncate-string.
+
+       * gnus-art.el (gnus-article-decode-mime-words): Use 1522.
+
+       * rfc1522.el (rfc1522-unencoded-charsets): New variable.
+       (rfc1522-encodable-p): New function.
+       (rfc1522-encode-message-header): Use it.
+
+Sun Aug 30 17:46:01 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Pterodactyl Gnus v0.9 is released.
+
+1998-08-30 16:13:08  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * mm-util.el: Shadow encode-coding-string.
+
+       * base64.el (base64-encode-region): Don't add newline.
+
+       * rfc1522.el (rfc1522-narrow-to-field): Copied here.
+
+       * mm-util.el: New file.
+
+       * mm-decode.el: Somewhat depleted.
+       * mm-encode.el: Ditto.
+
+       * rfc1522.el: New file.
+
+       * mm-util.el (mm-replace-chars-in-string): Copied here.
+
+       * mm-encode.el (mm-q-encode-region): New function.
+
+       * qp.el (quoted-printable-encode-region): Take an optional CLASS
+       param. 
+
+       * mm-encode.el (mm-encode-word-region): Downcase.
+
 Sun Aug 30 15:28:01 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Pterodactyl Gnus v0.8 is released.
index c7d9c80..b88f1c1 100644 (file)
@@ -957,17 +957,6 @@ characters to translate to."
                  (process-send-region "article-x-face" beg end)
                  (process-send-eof "article-x-face"))))))))))
 
-(defun gnus-article-decode-mime-words ()
-  "Decode all MIME-encoded words in the article."
-  (interactive)
-  (save-excursion
-    (set-buffer gnus-article-buffer)
-    (let ((inhibit-point-motion-hooks t)
-         buffer-read-only)
-      (mm-decode-words-region (point-min) (point-max)))))
-
-(defalias 'gnus-decode-rfc1522 'gnus-article-decode-rfc1522)
-
 ;;
 ;; Semi-gnus specific
 (defun gnus-article-decode-rfc1522 ()
@@ -978,27 +967,6 @@ characters to translate to."
                     default-mime-charset)))
       (eword-decode-header charset)
       )))
-;;
-;; Semi-gnus specific
-
-(defun article-de-quoted-unreadable (&optional force)
-  "Translate a quoted-printable-encoded article.
-If FORCE, decode the article whether it is marked as quoted-printable
-or not."
-  (interactive (list 'force))
-  (save-excursion
-    (let ((buffer-read-only nil)
-         (type (gnus-fetch-field "content-transfer-encoding")))
-      (gnus-article-decode-rfc1522)
-      (when (or force
-               (and type (string-match "quoted-printable" (downcase type))))
-       (goto-char (point-min))
-       (search-forward "\n\n" nil 'move)
-       (quoted-printable-decode-region (point) (point-max))))))
-
-(defun article-mime-decode-quoted-printable-buffer ()
-  "Decode Quoted-Printable in the current buffer."
-  (quoted-printable-decode-region (point-min) (point-max)))
 
 (defun article-hide-pgp (&optional arg)
   "Toggle hiding of any PGP headers and signatures in the current article.
index 649b259..a998d19 100644 (file)
@@ -375,6 +375,10 @@ header line with the old Message-ID."
   ;; this buffer should be passed to all mail/news reply/post routines.
   (setq gnus-article-copy (gnus-get-buffer-create " *gnus article copy*"))
   (buffer-disable-undo gnus-article-copy)
+  (save-excursion
+    (set-buffer gnus-article-copy)
+    (when (fboundp 'set-buffer-multibyte)
+      (set-buffer-multibyte t)))
   (let ((article-buffer (or article-buffer gnus-article-buffer))
        end beg)
     (if (not (and (get-buffer article-buffer)
index 19d0f44..25ea873 100644 (file)
@@ -1405,9 +1405,6 @@ increase the score of each group you read."
     "c" gnus-article-highlight-citation
     "s" gnus-article-highlight-signature)
 
-  (gnus-define-keys (gnus-summary-wash-mime-map "M" gnus-summary-wash-map)
-    "w" gnus-article-decode-mime-words)
-
   (gnus-define-keys (gnus-summary-wash-time-map "T" gnus-summary-wash-map)
     "z" gnus-article-date-ut
     "u" gnus-article-date-ut
@@ -1507,9 +1504,6 @@ increase the score of each group you read."
               ["Headers" gnus-article-highlight-headers t]
               ["Signature" gnus-article-highlight-signature t]
               ["Citation" gnus-article-highlight-citation t])
-            ("MIME"
-             ["Words" gnus-article-decode-mime-words t]
-             ["QP" gnus-article-de-quoted-unreadable t])
              ("Date"
               ["Local" gnus-article-date-local t]
               ["ISO8601" gnus-article-date-iso8601 t]
@@ -4234,7 +4228,7 @@ If WHERE is `summary', the summary mode line format will be used."
          ;; We might have to chop a bit of the string off...
          (when (> (length mode-string) max-len)
            (setq mode-string
-                 (concat (gnus-truncate-string mode-string (- max-len 3))
+                 (concat (truncate-string mode-string (- max-len 3))
                          "...")))
          ;; Pad the mode string a bit.
          (setq mode-string (format (format "%%-%ds" max-len) mode-string))))
index 818d5b4..ad333eb 100644 (file)
@@ -253,10 +253,10 @@ is restarted, and sometimes reloaded."
 (defconst gnus-product-name "T-gnus"
   "Product name of this version of gnus.")
 
-(defconst gnus-version-number "6.9.02"
+(defconst gnus-version-number "6.9.04"
   "Version number for this version of gnus.")
 
-(defconst gnus-original-version-number "0.8"
+(defconst gnus-original-version-number "0.10"
     "Version number for this version of Gnus.")
 
 (defconst gnus-original-product-name "Pterodactyl Gnus"
@@ -1579,10 +1579,8 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.")
            (cdddr package)
          (cdr package)))))
    '(("info" Info-goto-node)
-     ("hexl" hexl-hex-string-to-integer)
      ("pp" pp pp-to-string pp-eval-expression)
      ("qp" quoted-printable-decode-region quoted-printable-decode-string)
-     ("mm-decode" mm-decode-words-region mm-decode-words-string)
      ("ps-print" ps-print-preprint)
      ("mail-extr" mail-extract-address-components)
      ("browse-url" browse-url)
@@ -1703,19 +1701,19 @@ gnus-newsrc-hashtb should be kept so that both hold the same information.")
       gnus-article-next-page gnus-article-prev-page
       gnus-request-article-this-buffer gnus-article-mode
       gnus-article-setup-buffer gnus-narrow-to-page
-      gnus-article-delete-invisible-text gnus-hack-decode-rfc1522)
+      gnus-article-delete-invisible-text)
      ("gnus-art" :interactive t
       gnus-article-hide-headers gnus-article-hide-boring-headers
       gnus-article-treat-overstrike gnus-article-word-wrap
       gnus-article-remove-cr gnus-article-remove-trailing-blank-lines
-      gnus-article-display-x-face gnus-article-de-quoted-unreadable
+      gnus-article-display-x-face
       gnus-article-hide-pgp
       gnus-article-hide-pem gnus-article-hide-signature
       gnus-article-strip-leading-blank-lines gnus-article-date-local
       gnus-article-date-original gnus-article-date-lapsed
       gnus-article-show-all-headers
       gnus-article-edit-mode gnus-article-edit-article
-      gnus-article-edit-done gnus-decode-rfc1522 article-decode-rfc1522
+      gnus-article-edit-done
       gnus-start-date-timer gnus-stop-date-timer)
      ("gnus-int" gnus-request-type)
      ("gnus-start" gnus-newsrc-parse-options gnus-1 gnus-no-server-1
index fc3688d..e5c87b1 100644 (file)
@@ -37,7 +37,8 @@
                     w3-form-encode-xwfu gnus-mule-get-coding-system
                     decode-coding-string mail-aliases-setup
                     mm-copy-tree url-view-url w3-prepare-buffer
-                    set-buffer-multibyte))
+                    set-buffer-multibyte
+                    find-non-ascii-charset-region char-charset))
       (maybe-bind '(global-face-data
                    mark-active transient-mark-mode mouse-selection-click-count
                    mouse-selection-click-count-buffer buffer-display-table
index 213f25c..af1c78d 100644 (file)
@@ -1505,6 +1505,8 @@ C-c C-r  message-caesar-buffer-body (rot13 the message body)."
   (setq adaptive-fill-first-line-regexp
        (concat "[ \t]*[-a-z0-9A-Z]*>+[ \t]*\\|"
                adaptive-fill-first-line-regexp))
+  (when (fboundp 'set-buffer-multibyte)
+    (set-buffer-multibyte t))
   (run-hooks 'text-mode-hook 'message-mode-hook))
 
 \f
@@ -2195,8 +2197,6 @@ the user from the mailer."
       (let ((message-deletable-headers
             (if news nil message-deletable-headers)))
        (message-generate-headers message-required-mail-headers))
-      (if (featurep 'mm-encode)
-         (mm-encode-message-header))
       ;; Let the user do all of the above.
       (run-hooks 'message-header-hook))
     (unwind-protect
@@ -2398,8 +2398,6 @@ to find out how to use this."
       (message-narrow-to-headers)
       ;; Insert some headers.
       (message-generate-headers message-required-news-headers)
-      (if (featurep 'mm-encode)
-         (mm-encode-message-header))
       ;; Let the user do all of the above.
       (run-hooks 'message-header-hook))
     (message-cleanup-headers)
index e1d50ed..d6275aa 100644 (file)
@@ -2,7 +2,8 @@
 ;; Copyright (C) 1998 Free Software Foundation, Inc.
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
-;; This file is not yet part of GNU Emacs.
+;;     MORIOKA Tomohiko <morioka@jaist.ac.jp>
+;; This file is part of GNU Emacs.
 
 ;; GNU Emacs is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
 
 ;;; Code:
 
-(require 'base64)
-(require 'qp)
-(require 'nnheader)
-
-(defvar mm-charset-regexp (concat "[^" "][\000-\040()<>@,\;:\\\"/?.=" "]+"))
-
-(defvar mm-encoded-word-regexp
-  (concat "=\\?\\(" mm-charset-regexp "\\)\\?\\(B\\|Q\\)\\?"
-         "\\([!->@-~]+\\)\\?="))
-
-(defun mm-decode-words-region (start end)
-  "Decode MIME-encoded words in region between START and END."
-  (interactive "r")
-  (save-excursion
-    (save-restriction
-      (narrow-to-region start end)
-      (goto-char (point-min))
-      ;; Remove whitespace between encoded words.
-      (while (re-search-forward
-             (concat "\\(" mm-encoded-word-regexp "\\)"
-                     "\\(\n?[ \t]\\)+"
-                     "\\(" mm-encoded-word-regexp "\\)")
-             nil t)
-       (delete-region (goto-char (match-end 1)) (match-beginning 6)))
-      ;; Decode the encoded words.
-      (goto-char (point-min))
-      (while (re-search-forward mm-encoded-word-regexp nil t)
-       (insert (mm-decode-word
-                (prog1
-                    (match-string 0)
-                  (delete-region (match-beginning 0) (match-end 0)))))))))
-
-(defun mm-decode-words-string (string)
- "Decode the quoted-printable-encoded STRING and return the results."
- (with-temp-buffer
-   (insert string)
-   (inline
-     (mm-decode-words-region (point-min) (point-max)))
-   (buffer-string)))
-
-(defun mm-decode-word (word)
-  "Decode WORD and return it if it is an encoded word.
-Return WORD if not."
-  (if (not (string-match mm-encoded-word-regexp word))
-      word
-    (or
-     (condition-case nil
-        (mm-decode-text
-         (match-string 1 word)
-         (upcase (match-string 2 word))
-         (match-string 3 word))
-       (error word))
-     word)))
-
-(eval-and-compile
-  (if (fboundp 'decode-coding-string)
-      (fset 'mm-decode-coding-string 'decode-coding-string)
-    (fset 'mm-decode-coding-string (lambda (s a) s))))
-
-(defun mm-decode-text (charset encoding string)
-  "Decode STRING as an encoded text.
-Valid ENCODINGs are \"B\" and \"Q\".
-If your Emacs implementation can't decode CHARSET, it returns nil."
-  (let ((cs (mm-charset-to-coding-system charset)))
-    (when cs
-      (mm-decode-coding-string
-       (cond
-       ((equal "B" encoding)
-        (base64-decode string))
-       ((equal "Q" encoding)
-        (quoted-printable-decode-string
-         (nnheader-replace-chars-in-string string ?_ ? )))
-       (t (error "Invalid encoding: %s" encoding)))
-       cs))))
-
-(defvar mm-charset-coding-system-alist
-  (let ((rest
-        '((us-ascii . iso-8859-1)
-          (gb2312 . cn-gb-2312)
-          (iso-2022-jp-2 . iso-2022-7bit-ss2)
-          (x-ctext . ctext)))
-       (systems (coding-system-list))
-       dest)
-    (while rest
-      (let ((pair (car rest)))
-       (unless (memq (car pair) systems)
-         (setq dest (cons pair dest))))
-      (setq rest (cdr rest)))
-    dest)
-  "Charset/coding system alist.")
-
-(defun mm-charset-to-coding-system (charset &optional lbt)
-  "Return coding-system corresponding to CHARSET.
-CHARSET is a symbol naming a MIME charset.
-If optional argument LBT (`unix', `dos' or `mac') is specified, it is
-used as the line break code type of the coding system."
-  (when (stringp charset)
-    (setq charset (intern (downcase charset))))
-  (setq charset
-       (or (cdr (assq charset mm-charset-coding-system-alist))
-           charset))
-  (when lbt
-    (setq charset (intern (format "%s-%s" charset lbt))))
-  (when (memq charset (coding-system-list))
-    charset))
-
 (provide 'mm-decode)
 
-;; qp.el ends here
+;; mm-decode.el ends here
index 875d12f..38cd97a 100644 (file)
@@ -3,7 +3,7 @@
 
 ;; Author: Lars Magne Ingebrigtsen <larsi@gnus.org>
 ;;     MORIOKA Tomohiko <morioka@jaist.ac.jp>
-;; This file is not yet part of GNU Emacs.
+;; This file is part of GNU Emacs.
 
 ;; GNU Emacs is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
 
 ;;; Code:
 
-(defvar mm-header-encoding-alist
-  '(("X-Nsubject" . iso-2022-jp-2)
-    ("Newsgroups" . nil)
-    ("Message-ID" . nil)
-    (t . mime))
-  "*Header/encoding method alist.
-The list is traversed sequentially.  The keys can either be a
-header regexp or `t'.
-
-The values can be:
-
-1) nil, in which case no encoding is done;
-2) `mime', in which case the header will be encoded according to RFC1522;
-3) a charset, in which case it will be encoded as that charse;
-4) `default', in which case the field will be encoded as the rest
-   of the article.")
-
-(defvar mm-mime-mule-charset-alist
-  '((us-ascii ascii)
-    (iso-8859-1 latin-iso8859-1)
-    (iso-8859-2 latin-iso8859-2)
-    (iso-8859-3 latin-iso8859-3)
-    (iso-8859-4 latin-iso8859-4)
-    (iso-8859-5 cyrillic-iso8859-5)
-    (koi8-r cyrillic-iso8859-5)
-    (iso-8859-6 arabic-iso8859-6)
-    (iso-8859-7 greek-iso8859-7)
-    (iso-8859-8 hebrew-iso8859-8)
-    (iso-8859-9 latin-iso8859-9)
-    (iso-2022-jp latin-jisx0201
-                japanese-jisx0208-1978 japanese-jisx0208)
-    (euc-kr korean-ksc5601)
-    (cn-gb-2312 chinese-gb2312)
-    (cn-big5 chinese-big5-1 chinese-big5-2)
-    (iso-2022-jp-2 latin-iso8859-1 greek-iso8859-7
-                  latin-jisx0201 japanese-jisx0208-1978
-                  chinese-gb2312 japanese-jisx0208
-                  korean-ksc5601 japanese-jisx0212)
-    (iso-2022-int-1 latin-iso8859-1 greek-iso8859-7
-                   latin-jisx0201 japanese-jisx0208-1978
-                   chinese-gb2312 japanese-jisx0208
-                   korean-ksc5601 japanese-jisx0212
-                   chinese-cns11643-1 chinese-cns11643-2)
-    (iso-2022-int-1 latin-iso8859-1 latin-iso8859-2
-                   cyrillic-iso8859-5 greek-iso8859-7
-                   latin-jisx0201 japanese-jisx0208-1978
-                   chinese-gb2312 japanese-jisx0208
-                   korean-ksc5601 japanese-jisx0212
-                   chinese-cns11643-1 chinese-cns11643-2
-                   chinese-cns11643-3 chinese-cns11643-4
-                   chinese-cns11643-5 chinese-cns11643-6
-                   chinese-cns11643-7))
-  "Alist of MIME-charset/MULE-charsets.")
-
-(defvar mm-mime-charset-encoding-alist
-  '((us-ascii . nil)
-    (iso-8859-1 . Q)
-    (iso-8859-2 . Q)
-    (iso-8859-3 . Q)
-    (iso-8859-4 . Q)
-    (iso-8859-5 . Q)
-    (koi8-r . Q)
-    (iso-8859-7 . Q)
-    (iso-8859-8 . Q)
-    (iso-8859-9 . Q)
-    (iso-2022-jp . B)
-    (iso-2022-kr . B)
-    (gb2312 . B)
-    (cn-gb . B)
-    (cn-gb-2312 . B)
-    (euc-kr . B)
-    (iso-2022-jp-2 . B)
-    (iso-2022-int-1 . B))
-  "Alist of MIME charsets to MIME encodings.
-Valid encodings are nil, `Q' and `B'.")
-
-(defvar mm-mime-encoding-function-alist
-  '((Q . quoted-printable-encode-region)
-    (B . base64-encode-region)
-    (nil . ignore))
-  "Alist of MIME encodings to encoding functions.")
-
-(defun mm-encode-message-header ()
-  "Encode the message header according to `mm-header-encoding-alist'."
-  (when (featurep 'mule)
-    (save-excursion
-      (save-restriction
-       (message-narrow-to-headers)
-       (let ((alist mm-header-encoding-alist)
-             elem method)
-         (while (not (eobp))
-           (save-restriction
-             (message-narrow-to-field)
-             (when (find-non-ascii-charset-region (point-min) (point-max))
-               ;; We found something that may perhaps be encoded.
-               (while (setq elem (pop alist))
-                 (when (or (and (stringp (car elem))
-                                (looking-at (car elem)))
-                           (eq (car elem) t))
-                   (setq alist nil
-                         method (cdr elem))))
-               (when method
-                 (cond
-                  ((eq method 'mime)
-                   (mm-encode-words-region (point-min) (point-max)))
-                  ;; Hm.
-                  (t))))
-             (goto-char (point-max)))))))))
-
-(defun mm-encode-words-region (b e)
-  "Encode all encodable words in REGION."
-  (let (prev c start qstart qprev qend)
-    (save-excursion
-      (goto-char b)
-      (while (re-search-forward "[^ \t\n]+" nil t)
-       (save-restriction
-         (narrow-to-region (match-beginning 0) (match-end 0))
-         (goto-char (setq start (point-min)))
-         (setq prev nil)
-         (while (not (eobp))
-           (unless (eq (setq c (char-charset (following-char))) 'ascii)
-             (cond
-              ((eq c prev)
-               )
-              ((null prev)
-               (setq qstart (or qstart start)
-                     qend (point-max)
-                     qprev c)
-               (setq prev c))
-              (t
-               ;(mm-encode-word-region start (setq start (point)) prev)
-               (setq prev c)
-               )))
-           (forward-char 1)))
-       (when (and (not prev) qstart)
-         (mm-encode-word-region qstart qend qprev)
-         (setq qstart nil)))
-      (when qstart
-       (mm-encode-word-region qstart qend qprev)
-       (setq qstart nil)))))
-
-(defun mm-encode-words-string (string)
-  "Encode words in STRING."
-  (with-temp-buffer
-    (insert string)
-    (mm-encode-words-region (point-min) (point-max))
-    (buffer-string)))
-
-(defun mm-mule-charset-to-mime-charset (charset)
-  "Return the MIME charset corresponding to MULE CHARSET."
-  (let ((alist mm-mime-mule-charset-alist)
-       out)
-    (while alist
-      (when (memq charset (cdar alist))
-       (setq out (caar alist)
-             alist nil))
-      (pop alist))
-    out))
-
-(defun mm-encode-word-region (b e charset)
-  "Encode the word in the region with CHARSET."
-  (let* ((mime-charset (mm-mule-charset-to-mime-charset charset))
-        (encoding (cdr (assq mime-charset mm-mime-charset-encoding-alist))))
-    (save-restriction
-      (narrow-to-region b e)
-      (funcall (cdr (assq encoding mm-mime-encoding-function-alist))
-              b e)
-      (goto-char (point-min))
-      (insert "=?" (upcase (symbol-name mime-charset)) "?"
-             (symbol-name encoding) "?")
-      (goto-char (point-max))
-      (insert "?="))))
-
 (provide 'mm-encode)
 
 ;;; mm-encode.el ends here
index 5efb0db..b6ba830 100644 (file)
@@ -511,17 +511,20 @@ Returns t if successful, nil otherwise."
   "Delete the message that point is in.
 If optional argument LEAVE-DELIM is t, then mailbox delimiter is not
 deleted.  Point is left where the deleted region was."
-  (delete-region
-   (save-excursion
-     (forward-line 1) ; in case point is at beginning of message already
-     (nnmail-search-unix-mail-delim-backward)
-     (if leave-delim (progn (forward-line 1) (point))
-       (point)))
-   (progn
-     (forward-line 1)
-     (if (nnmail-search-unix-mail-delim)
-        (point)
-       (point-max)))))
+  (save-restriction
+    (narrow-to-region
+     (save-excursion
+       (forward-line 1)                        ; in case point is at beginning of message already
+       (nnmail-search-unix-mail-delim-backward)
+       (if leave-delim (progn (forward-line 1) (point))
+        (point)))
+     (progn
+       (forward-line 1)
+       (if (nnmail-search-unix-mail-delim)
+          (point)
+        (point-max))))
+    (run-hooks 'nnfolder-delete-mail-hook)
+    (delete-region (point-min) (point-max))))
 
 (defun nnfolder-possibly-change-group (group &optional server dont-check)
   ;; Change servers.
index 1ef4a77..58dfb36 100644 (file)
    (quoted-printable-decode-region (point-min) (point-max))
    (buffer-string)))
 
-(defun quoted-printable-encode-region (from to)
-  "QP-encode the region between FROM and TO."
+(defun quoted-printable-encode-region (from to &optional fold class)
+  "QP-encode the region between FROM and TO.
+If FOLD, fold long lines.  If CLASS, translate the characters
+matched by that regexp."
   (interactive "r")
   (save-excursion
     (save-restriction
       (narrow-to-region from to)
       (goto-char (point-min))
-      (while (re-search-forward "[\000-\007\013\015-\037\200-\237=]" nil t)
+      (while (re-search-forward
+             (or class "[\000-\007\013\015-\037\200-\377=]") nil t)
        (insert
         (prog1
             (format "=%x" (char-after (1- (point))))
index fd2879c..335a4d4 100644 (file)
@@ -1,3 +1,7 @@
+1998-08-31 11:46:57  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * gnus.texi (Mail Folders): Addition.
+
 1998-08-27 07:29:17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
 
        * gnus.texi (Mail Folders): Addition.
index 1e5e822..b92f721 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Semi-gnus 6.9.02 Manual
+@settitle Semi-gnus 6.9.04 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -318,7 +318,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Semi-gnus 6.9.02 Manual
+@title Semi-gnus 6.9.04 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -361,7 +361,7 @@ internationalization/localization and multiscript features based on MULE
 API.  So Semi-gnus does not discriminate various language communities.
 Oh, if you are a Klingon, please wait Unicode Next Generation.
 
-This manual corresponds to Semi-gnus 6.9.02.
+This manual corresponds to Semi-gnus 6.9.04.
 
 @end ifinfo
 
@@ -10420,6 +10420,12 @@ your @file{.emacs} file:
 (add-hook 'nnfolder-save-buffer-hook 'turn-off-backup)
 @end lisp
 
+@item nnfolder-delete-mail-hook
+@vindex nnfolder-delete-mail-hook
+Hook run in a buffer narrowed to the message that is to be deleted.
+This function can be used to copy the message to somewhere else, or to
+extract some information from it before removing it.  
+
 @end table
 
 
index 65d345b..482b0d3 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
-@settitle Pterodactyl Message 0.8 Manual
+@settitle Pterodactyl Message 0.10 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -42,7 +42,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Pterodactyl Message 0.8 Manual
+@title Pterodactyl Message 0.10 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -83,7 +83,7 @@ Message mode buffers.
 * Key Index::         List of Message mode keys.
 @end menu
 
-This manual corresponds to Pterodactyl Message 0.8.  Message is
+This manual corresponds to Pterodactyl Message 0.10.  Message is
 distributed with the Gnus distribution bearing the same version number
 as this manual has.