Sync up with Pterodactyl Gnus 0.22.
authoryamaoka <yamaoka>
Tue, 8 Sep 1998 23:23:33 +0000 (23:23 +0000)
committeryamaoka <yamaoka>
Tue, 8 Sep 1998 23:23:33 +0000 (23:23 +0000)
A snapshot is available from
 ftp://ftp.jpl.org/pub/tmp/semi-gnus-pgnus-ichikawa-19980909-1.tar.gz

17 files changed:
ChangeLog
lisp/ChangeLog
lisp/gnus-art.el
lisp/gnus-start.el
lisp/gnus-util.el
lisp/gnus.el
lisp/lpath.el
lisp/mm-util.el
lisp/nnfolder.el
lisp/nnheader.el
lisp/nnmail.el
lisp/nnmh.el
lisp/rfc2047.el
lisp/time-date.el
texi/gnus-ja.texi
texi/gnus.texi
texi/message.texi

index af2d369..3b3fb0b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+1998-09-09  Katsumi Yamaoka   <yamaoka@jpl.org>
+
+       * lisp/gnus.el (gnus-version-number): Update to 6.10.014.
+
+       * Sync up with Pterodactyl Gnus 0.22.
+
 1998-09-08  Katsumi Yamaoka   <yamaoka@jpl.org>
 
        * lisp/gnus.el (gnus-version-number): Update to 6.10.013.
index b65153b..cb4a22f 100644 (file)
@@ -1,3 +1,47 @@
+Tue Sep  8 22:38:27 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Pterodactyl Gnus v0.22 is released.
+
+1998-09-08 22:36:54  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * mm-util.el (mm-multibyte-p): Typo.
+
+Tue Sep  8 22:25:53 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Pterodactyl Gnus v0.21 is released.
+
+1998-09-08  Hrvoje Niksic  <hniksic@srce.hr>
+
+       * gnus-art.el (article-treat-dumbquotes): Handle \224 correctly.
+
+1998-09-08 22:18:03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * mm-util.el (mm-multibyte-p): New function.
+
+Tue Sep  8 21:43:03 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
+
+       * gnus.el: Pterodactyl Gnus v0.20 is released.
+
+1998-09-08 11:40:45  Lars Magne Ingebrigtsen  <larsi@gnus.org>
+
+       * rfc2047.el (rfc2047-decode-region): Only decode when in
+       multibyte. 
+
+       * nnheader.el (nnheader-pathname-coding-system): Changed to binary.
+
+       * gnus-int.el (gnus-request-replace-article): Encode.
+       (gnus-request-accept-article): Encode.
+
+       * gnus-art.el (gnus-request-article-this-buffer): Decode charsets
+       here. 
+
+       * gnus.el (gnus-article-display-hook): Take the charset functions
+       out.  
+
+       * time-date.el (safe-date-to-time): New function.
+
+       * gnus-util.el (gnus-dd-mmm): Protect against bogus dates.
+
 Tue Sep  8 07:09:28 1998  Lars Magne Ingebrigtsen  <larsi@menja.ifi.uio.no>
 
        * gnus.el: Pterodactyl Gnus v0.19 is released.
index 45227b1..efe14d1 100644 (file)
@@ -556,6 +556,9 @@ displayed by the first non-nil matching CONTENT face."
                               (item :tag "skip" nil)
                               (face :value default)))))
 
+(defcustom gnus-article-decode-hook nil
+  "*Hook run to decode charsets in articles.")
+
 ;;; Internal variables
 
 (defvar article-lapsed-timer nil)
@@ -817,7 +820,7 @@ always hide."
 (defun article-treat-dumbquotes ()
   "Translate M******** sm*rtq**t*s into proper text."
   (interactive)
-  (article-translate-characters "\221\222\223\223" "`'\"\""))
+  (article-translate-characters "\221\222\223\224" "`'\"\""))
 
 (defun article-translate-characters (from to)
   "Translate all characters in the body of the article according to FROM and TO.
@@ -2508,6 +2511,9 @@ If given a prefix, show the hidden text instead."
            (insert-buffer-substring gnus-article-buffer))
          (setq gnus-original-article (cons group article))))
 
+      ;; Decode charsets.
+      (run-hooks 'gnus-article-decode-hook)
+      
       ;; Update sparse articles.
       (when (and do-update-line
                 (or (numberp article)
index 4081d3b..fb18171 100644 (file)
@@ -2529,7 +2529,7 @@ If FORCE is non-nil, the .newsrc file is read."
                          (fboundp 'gnus-mule-get-coding-system)
                          (gnus-mule-get-coding-system (symbol-name group)))))
                (when coding
-                 (setq str (nnheader-decode-coding-string str (car coding))))
+                 (setq str (decode-coding-string str (car coding))))
                (set group str)))
            (forward-line 1))))
       (gnus-message 5 "Reading descriptions file...done")
index d96d57b..b7609d6 100644 (file)
 
 (defun gnus-dd-mmm (messy-date)
   "Return a string like DD-MMM from a big messy string."
-  (format-time-string "%2d-%b" (date-to-time messy-date)))
+  (format-time-string "%2d-%b" (safe-date-to-time messy-date)))
 
 (defmacro gnus-date-get-time (date)
   "Convert DATE string to Emacs time.
index 01a5cef..a5f5788 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.10.013"
+(defconst gnus-version-number "6.10.014"
   "Version number for this version of gnus.")
 
-(defconst gnus-original-version-number "0.19"
+(defconst gnus-original-version-number "0.22"
     "Version number for this version of Gnus.")
 
 (defconst gnus-original-product-name "Pterodactyl Gnus"
index b1020e6..7757473 100644 (file)
@@ -36,7 +36,7 @@
                     x-color-values widget-make-intangible error-message-string
                     w3-form-encode-xwfu gnus-mule-get-coding-system
                     decode-coding-string mail-aliases-setup
-                    mm-copy-tree url-view-url w3-prepare-buffer
+                    url-view-url w3-prepare-buffer
                     set-buffer-multibyte
                     find-non-ascii-charset-region char-charset
                     mule-write-region-no-coding-system
@@ -69,7 +69,7 @@
                 pp-to-string color-name 
                 gnus-mule-get-coding-system decode-coding-string
                 mail-aliases-setup
-                mm-copy-tree url-view-url w3-prepare-buffer
+                url-view-url w3-prepare-buffer
                 mule-write-region-no-coding-system char-int)))
 
 (setq load-path (cons "." load-path))
index 838a5c8..c8800b0 100644 (file)
@@ -196,6 +196,11 @@ used as the line break code type of the coding system."
                           (point-min) (point-max)))))
     (mm-mule-charset-to-mime-charset charset)))
 
+(defun mm-multibyte-p ()
+  "Say whether multibyte is enabled."
+  (and (boundp 'enable-multibyte-characters)
+       enable-multibyte-characters))
+
 (provide 'mm-util)
 
 ;;; mm-util.el ends here
index b6ba830..8f9b57b 100644 (file)
@@ -801,7 +801,7 @@ deleted.  Point is left where the deleted region was."
 (defun nnfolder-group-pathname (group)
   "Make pathname for GROUP."
   (setq group
-       (nnheader-encode-coding-string group nnmail-pathname-coding-system))
+       (encode-coding-string group nnmail-pathname-coding-system))
   (let ((dir (file-name-as-directory (expand-file-name nnfolder-directory))))
     ;; If this file exists, we use it directly.
     (if (or nnmail-use-long-file-names
index 98da659..c247f7a 100644 (file)
@@ -641,7 +641,7 @@ without formatting."
   (or (not (numberp gnus-verbose-backends))
       (<= level gnus-verbose-backends)))
 
-(defvar nnheader-pathname-coding-system 'iso-8859-1
+(defvar nnheader-pathname-coding-system 'binary
   "*Coding system for pathname.")
 
 (defun nnheader-group-pathname (group dir &optional file)
@@ -653,7 +653,7 @@ without formatting."
         (concat dir group "/")
        ;; If not, we translate dots into slashes.
        (concat dir
-              (nnheader-encode-coding-string
+              (encode-coding-string
                (nnheader-replace-chars-in-string group ?. ?/)
                nnheader-pathname-coding-system)
               "/")))
@@ -809,14 +809,6 @@ find-file-hooks, etc.
 (fset 'nnheader-cancel-timer 'cancel-timer)
 (fset 'nnheader-cancel-function-timers 'cancel-function-timers)
 
-(if (fboundp 'encode-coding-string)
-    (fset 'nnheader-encode-coding-string 'encode-coding-string)
-  (fset 'nnheader-encode-coding-string (lambda (s a) s)))
-
-(if (fboundp 'decode-coding-string)
-    (fset 'nnheader-decode-coding-string 'decode-coding-string)
-  (fset 'nnheader-decode-coding-string (lambda (s a) s)))
-
 (when (string-match "XEmacs\\|Lucid" emacs-version)
   (require 'nnheaderxm))
 
index 2581172..5b9dd8f 100644 (file)
@@ -512,7 +512,7 @@ parameter.  It should return nil, `warn' or `delete'."
         (concat dir group "/")
        ;; If not, we translate dots into slashes.
        (concat dir
-              (nnheader-encode-coding-string
+              (encode-coding-string
                (nnheader-replace-chars-in-string group ?. ?/)
                nnmail-pathname-coding-system)
               "/")))
@@ -1158,7 +1158,7 @@ Return the number of characters in the body."
       (insert (format "Xref: %s" (system-name)))
       (while group-alist
        (insert (format " %s:%d"
-                       (nnheader-encode-coding-string
+                       (encode-coding-string
                         (caar group-alist)
                         nnmail-pathname-coding-system)
                        (cdar group-alist)))
index a393ebb..6dcdb5d 100644 (file)
                                (expand-file-name nnmh-toplev))))
               dir)
              (nnheader-replace-chars-in-string
-              (nnheader-decode-coding-string (substring dir (match-end 0))
-                                             nnmail-pathname-coding-system)
+              (decode-coding-string (substring dir (match-end 0))
+                                    nnmail-pathname-coding-system)
               ?/ ?.))
            (apply 'max files)
            (apply 'min files)))))))
index c96aeb2..8d36466 100644 (file)
@@ -25,8 +25,9 @@
 ;;; Code:
 
 (eval-and-compile
-  (if (not (fboundp 'base64-encode-string))
-      (require 'base64)))
+  (eval
+   '(if (not (fboundp 'base64-encode-string))
+       (require 'base64))))
 (require 'qp)
 (require 'mm-util)
 
@@ -254,20 +255,24 @@ Should be called narrowed to the head of the message."
                   (prog1
                       (match-string 0)
                     (delete-region (match-beginning 0) (match-end 0)))))
-         (mm-decode-coding-region b e rfc2047-default-charset)
+         (when (mm-multibyte-p)
+           (mm-decode-coding-region b e rfc2047-default-charset))
          (setq b (point)))
-       (mm-decode-coding-region b (point-max) rfc2047-default-charset)))))
+       (when (mm-multibyte-p)
+         (mm-decode-coding-region b (point-max) rfc2047-default-charset))))))
 
 ;;;###autoload
 (defun rfc2047-decode-string (string)
- "Decode the quoted-printable-encoded STRING and return the results."
- (with-temp-buffer
-   (mm-enable-multibyte)
-   (insert string)
-   (inline
-     (rfc2047-decode-region (point-min) (point-max)))
-   (buffer-string)))
-
+  "Decode the quoted-printable-encoded STRING and return the results."
+  (let ((m (mm-multibyte-p)))
+    (with-temp-buffer
+      (when m
+       (mm-enable-multibyte))
+      (insert string)
+      (inline
+       (rfc2047-decode-region (point-min) (point-max)))
+      (buffer-string))))
 (defun rfc2047-parse-and-decode (word)
   "Decode WORD and return it if it is an encoded word.
 Return WORD if not."
index 4f07bbc..b3a50f1 100644 (file)
@@ -116,6 +116,13 @@ The Gregorian date Sunday, December 31, 1bce is imaginary."
        (- (/ (1- year) 100))           ;       - century years
        (/ (1- year) 400))))            ;       + Gregorian leap years
 
+(defun safe-date-to-time (date)
+  "Parse DATE and return a time structure.
+If DATE is malformed, a zero time will be returned."
+  (condition-case ()
+      (date-to-time date)
+    (error '(0 0))))
+
 (provide 'time-date)
 
 ;;; time-date.el ends here
index 0ceefe6..cf411cb 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus-ja
-@settitle Semi-gnus 6.10.013 Manual
+@settitle Semi-gnus 6.10.014 Manual
 @synindex fn cp
 @synindex vr cp
 @synindex pg cp
@@ -345,7 +345,7 @@ into another language, under the above conditions for modified versions.
 @tex
 
 @titlepage
-@title Semi-gnus 6.10.013 Manual
+@title Semi-gnus 6.10.014 Manual
 
 @author by Lars Magne Ingebrigtsen
 @author by members of Semi-gnus mailing-list
@@ -399,7 +399,7 @@ Semi-gnus \e$B$O!"Bg$-$J3($,F~$C$F$$$?$j$5$^$6$^$J7A<0$rMQ$$$?$j$7$F$$$k$A$g$C\e(B
 \e$B$J8@8l7w$r:9JL$7$^$;$s!#$"$"!"%/%j%s%4%s$NJ}$O\e(B Unicode Next Generation\e$B$r\e(B
 \e$B$*BT$A$/$@$5$$!#\e(B
 
-\e$B$3$N@bL@=q$O\e(B Semi-gnus 6.10.013 \e$B$KBP1~$7$^$9!#\e(B
+\e$B$3$N@bL@=q$O\e(B Semi-gnus 6.10.014 \e$B$KBP1~$7$^$9!#\e(B
 
 @end ifinfo
 
index 72acd16..40708dd 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename gnus
-@settitle Semi-gnus 6.10.013 Manual
+@settitle Semi-gnus 6.10.014 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.10.013 Manual
+@title Semi-gnus 6.10.014 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.10.013.
+This manual corresponds to Semi-gnus 6.10.014.
 
 @end ifinfo
 
index a4ac712..12fdf05 100644 (file)
@@ -1,7 +1,7 @@
 \input texinfo                  @c -*-texinfo-*-
 
 @setfilename message
-@settitle Pterodactyl Message 0.19 Manual
+@settitle Pterodactyl Message 0.22 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.19 Manual
+@title Pterodactyl Message 0.22 Manual
 
 @author by Lars Magne Ingebrigtsen
 @page
@@ -83,9 +83,9 @@ Message mode buffers.
 * Key Index::         List of Message mode keys.
 @end menu
 
-This manual corresponds to Pterodactyl Message 0.19.  Message is
+This manual corresponds to Pterodactyl Message 0.22.  Message is
 distributed with the Gnus distribution bearing the same version number
-as this manual has.
+as this manual.
 
 
 @node Interface