Synch with Oort Gnus.
authoryamaoka <yamaoka>
Thu, 21 Dec 2000 23:46:28 +0000 (23:46 +0000)
committeryamaoka <yamaoka>
Thu, 21 Dec 2000 23:46:28 +0000 (23:46 +0000)
lisp/ChangeLog
lisp/gnus-art.el
lisp/gnus-ml.el
lisp/gnus-msg.el
lisp/gnus-sum.el
lisp/gnus.el
lisp/mml.el
texi/ChangeLog
texi/gnus-ja.texi
texi/gnus.texi

index 7279c7b..405ab6c 100644 (file)
@@ -1,3 +1,34 @@
+2000-12-21 14:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
+
+       * gnus-msg.el (gnus-bug): Revert to save-excursion.
+
+       * mml.el (gnus-add-minor-mode): Autoload.
+
+       * message.el (message-forward): Save-restriction.
+
+2000-12-21  Kai Gro\e,A_\e(Bjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>
+
+       * gnus-art.el (article-treat-dumbquotes): More doc, provided by
+       Paul Stevenson <p.stevenson@surrey.ac.uk>
+
+2000-12-21 10:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
+
+       * gnus-ml.el (gnus-mailing-list-mode-map): Use C-c C-n prefix.
+
+       * mml.el (gnus-ems): Don't require.
+
+       * gnus.el (gnus-decode-rfc1522): Removed.
+       (gnus-set-text-properties): Define.
+
+2000-12-21 09:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
+
+       * gnus-art.el (gnus-mime-*): handle may be nil.
+
+       * gnus-sum.el (gnus-summary-mode): Turn on gnus-mailing-list-mode.
+
+       * gnus.el (gnus-group-remove-excess-properties): Not defined
+       in gnus-xmas.
+
 2000-12-20 21:00:00  ShengHuo ZHU  <zsh@cs.rochester.edu>
 
        * message.el (message-mail-user-agent): Add :version.
        * gnus-group.el (gnus-group-jump-to-group-prompt): New variable by
        Stein Arild Str\e,Ax\e(Bmme.
        (gnus-group-jump-to-group): Use it.
+       (gnus-group-jump-to-group-prompt): Customize.
 
 2000-11-14 10:32:42  ShengHuo ZHU  <zsh@cs.rochester.edu>
 
index d5780ef..6f80e5b 100644 (file)
@@ -1521,9 +1521,14 @@ if given a positive prefix, always hide."
          (forward-line 1))))))
 
 (defun article-treat-dumbquotes ()
-  "Translate M******** sm*rtq**t*s into proper text.
+  "Translate M****s*** sm*rtq**t*s into proper text.
 Note that this function guesses whether a character is a sm*rtq**t* or
-not, so it should only be used interactively."
+not, so it should only be used interactively.
+
+Sm*rtq**t*s are M****s***'s unilateral extension to the character map
+in an attempt to provide more quoting characters.  If you see
+something like \222 or \264 where you're expecting some kind of
+apostrophe or quotation mark, then try this wash."
   (interactive)
   (article-translate-strings gnus-article-dumbquotes-map))
 
@@ -3498,19 +3503,20 @@ value of the variable `gnus-show-mime' is non-nil."
          (mail-parse-ignored-charsets 
           (with-current-buffer gnus-summary-buffer
             gnus-newsgroup-ignored-charsets)))
-      (mm-remove-parts handles)
-      (goto-char (point-min))
-      (or (search-forward "\n\n") (goto-char (point-max)))
-      (let (buffer-read-only)
-       (delete-region (point) (point-max)))
-      (mm-display-parts handles))))
+      (when handles
+       (mm-remove-parts handles)
+       (goto-char (point-min))
+       (or (search-forward "\n\n") (goto-char (point-max)))
+       (let (buffer-read-only)
+         (delete-region (point) (point-max)))
+       (mm-display-parts handles)))))
 
 (defun gnus-mime-save-part-and-strip ()
   "Save the MIME part under point then replace it with an external body."
   (interactive)
   (gnus-article-check-buffer)
   (let* ((data (get-text-property (point) 'gnus-data)) 
-        (file (mm-save-part data))
+        (file (and data (mm-save-part data)))
         param)
     (when file
       (with-current-buffer (mm-handle-buffer data)
@@ -3569,21 +3575,24 @@ value of the variable `gnus-show-mime' is non-nil."
   (interactive)
   (gnus-article-check-buffer)
   (let ((data (get-text-property (point) 'gnus-data)))
-    (mm-save-part data)))
+    (when data
+      (mm-save-part data))))
 
 (defun gnus-mime-pipe-part ()
   "Pipe the MIME part under point to a process."
   (interactive)
   (gnus-article-check-buffer)
   (let ((data (get-text-property (point) 'gnus-data)))
-    (mm-pipe-part data)))
+    (when data
+      (mm-pipe-part data))))
 
 (defun gnus-mime-view-part ()
   "Interactively choose a viewing method for the MIME part under point."
   (interactive)
   (gnus-article-check-buffer)
   (let ((data (get-text-property (point) 'gnus-data)))
-    (mm-interactively-view-part data)))
+    (when data
+      (mm-interactively-view-part data))))
 
 (defun gnus-mime-view-part-as-type-internal ()
   (gnus-article-check-buffer)
@@ -3603,38 +3612,41 @@ value of the variable `gnus-show-mime' is non-nil."
          (gnus-mime-view-part-as-type-internal))))
   (gnus-article-check-buffer)
   (let ((handle (get-text-property (point) 'gnus-data)))
-    (gnus-mm-display-part
-     (mm-make-handle (mm-handle-buffer handle)
-                    (cons mime-type (cdr (mm-handle-type handle)))
-                    (mm-handle-encoding handle)
-                    (mm-handle-undisplayer handle)
-                    (mm-handle-disposition handle)
-                    (mm-handle-description handle)
-                    (mm-handle-cache handle)
-                    (mm-handle-id handle)))))
-
+    (when handle
+      (gnus-mm-display-part
+       (mm-make-handle (mm-handle-buffer handle)
+                      (cons mime-type (cdr (mm-handle-type handle)))
+                      (mm-handle-encoding handle)
+                      (mm-handle-undisplayer handle)
+                      (mm-handle-disposition handle)
+                      (mm-handle-description handle)
+                      (mm-handle-cache handle)
+                      (mm-handle-id handle))))))
+  
 (defun gnus-mime-copy-part (&optional handle)
   "Put the the MIME part under point into a new buffer."
   (interactive)
   (gnus-article-check-buffer)
   (let* ((handle (or handle (get-text-property (point) 'gnus-data)))
-        (contents (mm-get-part handle))|
-        (base (file-name-nondirectory
-               (or
-                (mail-content-type-get (mm-handle-type handle) 'name)
-                (mail-content-type-get (mm-handle-type handle)
-                                       'filename)
-                "*decoded*")))
-        (buffer (generate-new-buffer base)))
-    (switch-to-buffer buffer)
-    (insert contents)
-    ;; We do it this way to make `normal-mode' set the appropriate mode.
-    (unwind-protect
-       (progn
-         (setq buffer-file-name (expand-file-name base))
-         (normal-mode))
-      (setq buffer-file-name nil))
-    (goto-char (point-min))))
+        (contents (and handle (mm-get-part handle)))
+        (base (and handle 
+                   (file-name-nondirectory
+                    (or
+                     (mail-content-type-get (mm-handle-type handle) 'name)
+                     (mail-content-type-get (mm-handle-type handle)
+                                            'filename)
+                     "*decoded*"))))
+        (buffer (and base (generate-new-buffer base))))
+    (when contents
+      (switch-to-buffer buffer)
+      (insert contents)
+      ;; We do it this way to make `normal-mode' set the appropriate mode.
+      (unwind-protect
+         (progn
+           (setq buffer-file-name (expand-file-name base))
+           (normal-mode))
+       (setq buffer-file-name nil))
+      (goto-char (point-min)))))
 
 (defun gnus-mime-inline-part (&optional handle arg)
   "Insert the MIME part under point into the current buffer."
@@ -3644,30 +3656,31 @@ value of the variable `gnus-show-mime' is non-nil."
         contents charset
         (b (point))
         buffer-read-only)
-    (if (and (not arg) (mm-handle-undisplayer handle))
-       (mm-remove-part handle)
-      (setq contents (mm-get-part handle))
-      (cond
-       ((not arg)
-       (setq charset (or (mail-content-type-get
-                          (mm-handle-type handle) 'charset)
-                         gnus-newsgroup-charset)))
-       ((numberp arg)
-       (if (mm-handle-undisplayer handle)
-           (mm-remove-part handle))
-       (setq charset
-             (or (cdr (assq arg 
-                            gnus-summary-show-article-charset-alist))
-                 (read-coding-system "Charset: ")))))
-      (forward-line 2)
-      (mm-insert-inline handle
-                       (if (and charset 
-                                (setq charset (mm-charset-to-coding-system 
-                                               charset))
-                                (not (eq charset 'ascii)))
-                           (mm-decode-coding-string contents charset)
-                         contents))
-      (goto-char b))))
+    (when handle
+      (if (and (not arg) (mm-handle-undisplayer handle))
+         (mm-remove-part handle)
+       (setq contents (mm-get-part handle))
+       (cond
+        ((not arg)
+         (setq charset (or (mail-content-type-get
+                            (mm-handle-type handle) 'charset)
+                           gnus-newsgroup-charset)))
+        ((numberp arg)
+         (if (mm-handle-undisplayer handle)
+             (mm-remove-part handle))
+         (setq charset
+               (or (cdr (assq arg 
+                              gnus-summary-show-article-charset-alist))
+                   (read-coding-system "Charset: ")))))
+       (forward-line 2)
+       (mm-insert-inline handle
+                         (if (and charset 
+                                  (setq charset (mm-charset-to-coding-system 
+                                                 charset))
+                                  (not (eq charset 'ascii)))
+                             (mm-decode-coding-string contents charset)
+                           contents))
+       (goto-char b)))))
 
 (defun gnus-mime-view-part-as-charset (&optional handle arg)
   "Insert the MIME part under point into the current buffer."
@@ -3677,14 +3690,15 @@ value of the variable `gnus-show-mime' is non-nil."
         contents charset
         (b (point))
         buffer-read-only)
-    (if (mm-handle-undisplayer handle)
-       (mm-remove-part handle))
-    (let ((gnus-newsgroup-charset
-          (or (cdr (assq arg 
-                         gnus-summary-show-article-charset-alist))
-              (read-coding-system "Charset: ")))
+    (when handle
+      (if (mm-handle-undisplayer handle)
+         (mm-remove-part handle))
+      (let ((gnus-newsgroup-charset
+            (or (cdr (assq arg 
+                           gnus-summary-show-article-charset-alist))
+                (read-coding-system "Charset: ")))
          (gnus-newsgroup-ignored-charsets 'gnus-all))
-      (gnus-article-press-button))))
+       (gnus-article-press-button)))))
 
 (defun gnus-mime-externalize-part (&optional handle)
   "View the MIME part under point with an external viewer."
@@ -3697,9 +3711,10 @@ value of the variable `gnus-show-mime' is non-nil."
         (mail-parse-ignored-charsets 
          (save-excursion (set-buffer gnus-summary-buffer)
                          gnus-newsgroup-ignored-charsets)))
-    (if (mm-handle-undisplayer handle)
-       (mm-remove-part handle)
-      (mm-display-part handle))))
+    (when handle
+      (if (mm-handle-undisplayer handle)
+         (mm-remove-part handle)
+       (mm-display-part handle)))))
 
 (defun gnus-mime-internalize-part (&optional handle)
   "View the MIME part under point with an internal viewer.
@@ -3713,9 +3728,10 @@ In no internal viewer is available, use an external viewer."
         (mail-parse-ignored-charsets 
          (save-excursion (set-buffer gnus-summary-buffer)
                          gnus-newsgroup-ignored-charsets)))
-    (if (mm-handle-undisplayer handle)
-       (mm-remove-part handle)
-      (mm-display-part handle))))
+    (when handle
+      (if (mm-handle-undisplayer handle)
+         (mm-remove-part handle)
+       (mm-display-part handle)))))
 
 (defun gnus-mime-action-on-part (&optional action)
   "Do something with the MIME attachment at \(point\)."
index 5eb0fd0..b2f57df 100644 (file)
 
 ;; implement (small subset of) RFC 2369
 
-;;; Usage:
-
-;; (add-hook 'gnus-summary-mode-hook 'turn-on-gnus-mailing-list-mode)
-
 ;;; Code:
 
 (require 'gnus)
   (setq gnus-mailing-list-mode-map (make-sparse-keymap))
 
   (gnus-define-keys gnus-mailing-list-mode-map
-    "\C-nh" gnus-mailing-list-help
-    "\C-ns" gnus-mailing-list-subscribe
-    "\C-nu" gnus-mailing-list-unsubscribe
-    "\C-np" gnus-mailing-list-post
-    "\C-no" gnus-mailing-list-owner
-    "\C-na" gnus-mailing-list-archive
+    "\C-c\C-nh" gnus-mailing-list-help
+    "\C-c\C-ns" gnus-mailing-list-subscribe
+    "\C-c\C-nu" gnus-mailing-list-unsubscribe
+    "\C-c\C-np" gnus-mailing-list-post
+    "\C-c\C-no" gnus-mailing-list-owner
+    "\C-c\C-na" gnus-mailing-list-archive
     ))
 
 (defun gnus-mailing-list-make-menu-bar ()
index 719e7a4..6615b7e 100644 (file)
@@ -1006,8 +1006,6 @@ If YANK is non-nil, include the original article."
               (stringp nntp-server-type))
       (insert nntp-server-type))
     (insert "\n\n\n\n\n")
-    (let (mime-content-types)
-      (mime-edit-insert-tag "text" "plain" "; type=emacs-lisp"))
     (insert (with-temp-buffer
              (gnus-debug)
              (buffer-string)))
index e3c0fc8..5e1bd7b 100644 (file)
@@ -55,6 +55,7 @@
 (autoload 'gnus-cache-write-active "gnus-cache")
 (autoload 'gnus-set-summary-default-charset "gnus-i18n" nil t)
 (autoload 'gnus-mailing-list-insinuate "gnus-ml" nil t)
+(autoload 'turn-on-gnus-mailing-list-mode "gnus-ml" nil t)
 (autoload 'mm-uu-dissect "mm-uu")
 
 (defcustom gnus-kill-summary-on-exit t
@@ -2233,6 +2234,7 @@ The following commands are available:
   (make-local-hook 'pre-command-hook)
   (add-hook 'pre-command-hook 'gnus-set-global-variables nil t)
   (gnus-run-hooks 'gnus-summary-mode-hook)
+  (turn-on-gnus-mailing-list-mode)
   (gnus-update-format-specifications nil 'summary 'summary-mode 'summary-dummy)
   (gnus-update-summary-mark-positions))
 
index 59b8926..b5b6273 100644 (file)
@@ -272,6 +272,12 @@ be set in `.emacs' instead."
   :group 'gnus-start
   :type 'boolean)
 
+(unless (fboundp 'gnus-group-remove-excess-properties)
+  (defalias 'gnus-group-remove-excess-properties 'ignore))
+
+(unless (fboundp 'gnus-set-text-properties)
+  (defalias 'gnus-set-text-properties 'set-text-properties))
+
 (unless (featurep 'gnus-xmas)
   (defalias 'gnus-make-overlay 'make-overlay)
   (defalias 'gnus-delete-overlay 'delete-overlay)
@@ -282,8 +288,6 @@ be set in `.emacs' instead."
   (defalias 'gnus-overlay-end 'overlay-end)
   (defalias 'gnus-extent-detached-p 'ignore)
   (defalias 'gnus-extent-start-open 'ignore)
-  (defalias 'gnus-set-text-properties 'set-text-properties)
-  (defalias 'gnus-group-remove-excess-properties 'ignore)
   (defalias 'gnus-appt-select-lowest-window 'appt-select-lowest-window)
   (defalias 'gnus-mail-strip-quoted-names 'mail-strip-quoted-names)
   (defalias 'gnus-character-to-event 'identity)
@@ -315,7 +319,8 @@ be set in `.emacs' instead."
   (defalias 'gnus-deactivate-mark 'deactivate-mark)
   (defalias 'gnus-window-edges 'window-edges)
   (defalias 'gnus-key-press-event-p 'numberp)
-  (defalias 'gnus-decode-rfc1522 'ignore))
+  ;;(defalias 'gnus-decode-rfc1522 'ignore)
+  )
 
 ;; We define these group faces here to avoid the display
 ;; update forced when creating new faces.
index 150e776..e406c10 100644 (file)
 (require 'mm-bodies)
 (require 'mm-encode)
 (require 'mm-decode)
-(require 'gnus-ems)
 (require 'mml-sec)
 (eval-when-compile (require 'cl))
 
 (eval-and-compile
   (autoload 'message-make-message-id "message")
   (autoload 'gnus-setup-posting-charset "gnus-msg")
+  (autoload 'gnus-add-minor-mode "gnus-ems")
   (autoload 'message-fetch-field "message")
   (autoload 'message-posting-charset "message"))
 
index 9c810db..ab30e8d 100644 (file)
@@ -1,3 +1,8 @@
+2000-12-21  Kai Gro\e,A_\e(Bjohann  <Kai.Grossjohann@CS.Uni-Dortmund.DE>
+
+       * gnus.texi (Article Washing): Doc addition by Paul Stevenson
+       <p.stevenson@surrey.ac.uk>.
+
 2000-12-10  Jim Meyering  <meyering@lucent.com>
 
        * Makefile.in (.texi): Use `-I $(srcdir)' with `makeinfo' so that
index bcd9b29..a49fc8f 100644 (file)
@@ -7239,11 +7239,16 @@ Gnus \e$B$O$I$3$N0zMQJ8$,1#$5$l$F$$$k$+$r<($9$?$a$K%\%?%s$rIU$12C$(!"J8>O$N\e(B
 @findex gnus-article-treat-dumbquotes
 @vindex gnus-article-dumbquotes-map
 @cindex Smartquotes
-@cindex M******** sm*rtq**t*s
+@cindex M****s*** sm*rtq**t*s
 @cindex Latin 1
-@code{gnus-article-dumbquotes-map} \e$B$K1~$8$F!"\e(BM******** sm*rtq**t*s \e$B$r=h\e(B
-\e$BM}$7$^$9\e(B \e$B$3$N4X?t$OJ8;z$,\e(B sm*rtq**t* \e$B$+$I$&$+$r?dB,$7$^$9$N$G!"BPOCE*$K\e(B
-\e$B$N$_;HMQ$5$l$k$Y$-$G$"$k$3$H$KCm0U$7$F$/$@$5$$!#\e(B
+@code{gnus-article-dumbquotes-map} \e$B$K1~$8$F!"%^"#"#"#%="#\e(B
+\e$B"#\e(B sm*rtq**t*s \e$B$r=hM}$7$^$9\e(B \e$B$3$N4X?t$OJ8;z$,\e(B sm*rtq**t* \e$B$+$I$&$+$r?dB,$7\e(B
+\e$B$^$9$N$G!"BPOCE*$K$N$_;HMQ$5$l$k$Y$-$G$"$k$3$H$KCm0U$7$F$/$@$5$$!#\e(B
+
+Sm*rtq**t*s \e$B$O$b$C$HB?$/$N0zMQJ8;z$rDs6!$9$k$?$a$K!"%^"#"#"#%="#"#$,>!<j\e(B
+\e$B$KJ8;z%^%C%W$r3HD%$7$?$b$N$G$9!#$b$7!"%"%]%9%H%m%U%#\e(B (') \e$B$d0zMQ5-9f$J$I\e(B
+\e$B$,$"$k$Y$-$H$3$m$K\e(B @code{\222} \e$B$d\e(B @code{\264} \e$B$N$h$&$J$b$N$,8+$($F$7$^$C\e(B
+\e$B$?$i!"@vBu$7$F$_$F2<$5$$!#\e(B
 
 @item W w
 @kindex W w (\e$B35N,\e(B)
index b69d03e..2f75491 100644 (file)
@@ -7375,14 +7375,19 @@ Treat overstrike (@code{gnus-article-treat-overstrike}).
 @findex gnus-article-treat-dumbquotes
 @vindex gnus-article-dumbquotes-map
 @cindex Smartquotes
-@cindex M******** sm*rtq**t*s
+@cindex M****s*** sm*rtq**t*s
 @cindex Latin 1
-Treat M******** sm*rtq**t*s according to
+Treat M****s*** sm*rtq**t*s according to
 @code{gnus-article-dumbquotes-map}
 (@code{gnus-article-treat-dumbquotes}).  Note that this function guesses
 whether a character is a sm*rtq**t* or not, so it should only be used
 interactively.
 
+Sm*rtq**t*s are M****s***'s unilateral extension to the character map in
+an attempt to provide more quoting characters.  If you see something
+like @code{\222} or @code{\264} where you're expecting some kind of
+apostrophe or quotation mark, then try this wash.
+
 @item W w
 @kindex W w (Summary)
 @findex gnus-article-fill-cited-article