Sync up with gnus-6_10.
authorkeiichi <keiichi>
Wed, 31 Mar 1999 08:00:54 +0000 (08:00 +0000)
committerkeiichi <keiichi>
Wed, 31 Mar 1999 08:00:54 +0000 (08:00 +0000)
16 files changed:
Makefile.in
README-offline.en
README-offline.ja
README.semi
README.semi.ja
lisp/dgnushack.el
lisp/gnus-art.el
lisp/gnus-i18n.el
lisp/gnus-offline.el
lisp/gnus-ofsetup.el
lisp/gnus-start.el
lisp/gnus-sum.el
lisp/message.el
lisp/nnheader.el
lisp/pop3-fma.el
lisp/pop3.el

index f42a333..b1b54e9 100644 (file)
@@ -20,17 +20,17 @@ install:
        cd texi && $(MAKE) EMACS=$(EMACS) install
 
 # Rule for XEmacs package.
-package: xlick xinfo
+package: xlick add-info-suffix xinfo remove-info-suffix
        cd lisp && $(MAKE) EMACS=$(XEMACS) package
 
-install-package: xinfo
+install-package: add-info-suffix xinfo xinfo remove-info-suffix
        cd lisp && $(MAKE) EMACS=$(XEMACS) PACKAGEDIR=$(PACKAGEDIR) \
                install-package
 
-package-ja: xlick xinfo xinfo-ja
+package-ja: xlick add-info-suffix xinfo xinfo-ja remove-info-suffix
        cd lisp && $(MAKE) EMACS=$(XEMACS) package
 
-install-package-ja: xinfo xinfo-ja
+install-package-ja: add-info-suffix xinfo xinfo-ja remove-info-suffix
        cd lisp && $(MAKE) EMACS=$(XEMACS) PACKAGEDIR=$(PACKAGEDIR) \
                install-package
 
@@ -38,13 +38,15 @@ xlick:
        cd lisp && $(MAKE) EMACS=$(XEMACS) lispdir=$(lispdir) all
 
 xinfo:
-       cd texi && $(MAKE) EMACS=$(XEMACS) add-info-suffix
        cd texi && $(MAKE) EMACS=$(XEMACS) all
-       cd texi && $(MAKE) remove-info-suffix
 
 xinfo-ja:
-       cd texi && $(MAKE) EMACS=$(XEMACS) add-info-suffix
        cd texi && $(MAKE) EMACS=$(XEMACS) MAKEINFO=no ja
+
+add-info-suffix:
+       cd texi && $(MAKE) EMACS="$(XEMACS)" add-info-suffix
+
+remove-info-suffix:
        cd texi && $(MAKE) remove-info-suffix
 
 # Rule for Lars and nobody else.
index c523d57..d889e94 100644 (file)
@@ -256,6 +256,7 @@ password will be saved in ~/.newsrc.eld. (*)
 
             (add-hook 'gnus-setup-news-hook 
              (lambda ()
+              (setq pop3-fma-save-password-information t)
               (add-to-list 'gnus-variable-list 'pop3-fma-password)))
 
            [T-gnus 6.10.56 or later]
@@ -277,7 +278,7 @@ For Semi-gnus with pop3-fma.el, add the following code in
 
          (setq pop3-fma-save-password-information t)
 
-In this way, Once you enter the password at the startup of Gnus, it
+In this way, once you enter the password at the startup of Gnus, it
 will be kept as a variable `pop3-fma-password' until you quit Gnus.
 
 Under T-gnus 6.10.56 or later, the password will be kept as a variable
index cf34462..107ae49 100644 (file)
@@ -255,6 +255,7 @@ pop \e$B%5!<%P!<$K%"%/%;%9$9$kEY$KF~NO$9$kI,MW$,$"$j$^$9!#\e(B(\e$B4pK\E*$K$3$N$^$^
 
             (add-hook 'gnus-setup-news-hook 
              (lambda ()
+              (setq pop3-fma-save-password-information t)
               (add-to-list 'gnus-variable-list 'pop3-fma-password)))
 
          \e$B!Z\e(BT-gnus 6.10.56 \e$B0J9_![\e(B
index c339834..0b1bf00 100644 (file)
@@ -8,7 +8,7 @@ all features of Gnus and gnus-mime, so there are no need to install
 Gnus to use it, and you must not use gnus-mime for SEMI.
 
   It requires APEL, FLIM and SEMI packages, so please get and install
-them before to install it. Semi-gnus 6.10 requires APEL 9.12 or later,
+them before to install it. Semi-gnus 6.10 requires APEL 9.13 or later,
 the latest FLIM 1.12 and SEMI 1.12. You can get these packages from
 ftp://ftp.jaist.ac.jp/pub/GNU/elisp/semi/
 Required environment for SEMI is written in README.en of SEMI package.
index e4d577a..b8c3e78 100644 (file)
@@ -8,10 +8,13 @@ Semi-gnus \e$B$H$O!)\e(B
 \e$B$k$?$a$K\e(B Gnus \e$B$r%$%s%9%H!<%k$9$kI,MW$O$J$/!"\e(BSEMI \e$B$N$?$a$N\e(B gnus-mime \e$B$O\e(B
 \e$B;HMQ$7$F$O$$$1$^$;$s!#\e(B
 
-  SEMI \e$B%Q%C%1!<%8$rMW5a$7$^$9$N$G!"%$%s%9%H!<%k$9$kA0$K\e(B SEMI \e$B%Q%C%1!<\e(B
-\e$B%8$r%$%s%9%H!<%k$7$F$/$@$5$$!#\e(BSEMI \e$B$O\e(B
-ftp://ftp.jaist.ac.jp/pub/elisp/semi/ \e$B$+$i<hF@$9$k$3$H$,$G$-$^$9!#I,MW\e(B
-\e$B$J4D6-$O\e(B SEMI \e$B$N\e(B README.ja \e$B$r;2>H$7$F$/$@$5$$!#\e(B
+  APEL, FLIM \e$B$*$h$S\e(B SEMI \e$B%Q%C%1!<%8$,I,MW$G$9$N$G!"%$%s%9%H!<%k$9$kA0\e(B
+\e$B$K$=$l$i$r%$%s%9%H!<%k$7$F$/$@$5$$!#\e(BSemi-gnus 6.10 \e$B$O\e(B APEL 9.13 \e$B0J>e!"\e(B
+\e$B:G?7$N\e(B FLIM 1.12 \e$B$*$h$S\e(B SEMI 1.12 \e$B$rI,MW$H$7$^$9!#\e(B
+\e$B$=$l$i$N%Q%C%1!<%8$O\e(B
+ftp://ftp.jaist.ac.jp/pub/elisp/semi/
+\e$B$+$i<hF@$9$k$3$H$,$G$-$^$9!#I,MW$J4D6-$O\e(B SEMI \e$B$N\e(B README.ja \e$B$r;2>H$7$F\e(B
+\e$B$/$@$5$$!#\e(B
 
 
 \e$B<hF@J}K!\e(B (CVS)
index aadec0b..051c2f5 100644 (file)
@@ -91,11 +91,13 @@ Modify to suit your needs."))
 
 \f
 ;; Avoid byte-compile warnings.
-(defvar gnus-revision-number)
-(defvar gnus-version-number)
 (defvar gnus-product-name)
-(defvar configure-package-path)
-(defvar package-path)
+(defvar early-package-load-path)
+(defvar early-packages)
+(defvar last-package-load-path)
+(defvar last-packages)
+(defvar late-package-load-path)
+(defvar late-packages)
 
 (defconst dgnushack-info-file-regexp
   "^\\(gnus\\|message\\|gnus-ja\\|message-ja\\)\\.info\\(-[0-9]+\\)?$")
@@ -142,14 +144,29 @@ Modify to suit your needs."))
       (write-file (concat "../MANIFEST." product-name)))))
 
 (defun dgnushack-install-package ()
-  (let* ((package-dir (file-name-as-directory
-                      (or (car command-line-args-left)
-                          (if (boundp 'configure-package-path)
-                              (car configure-package-path)
-                            (car package-path)))))
-        (info-dir (expand-file-name "info/" package-dir))
-        (pkginfo-dir (expand-file-name "pkginfo/" package-dir))
-        product-name lisp-dir manifest files)
+  (let ((package-dir (car command-line-args-left))
+       dirs info-dir pkginfo-dir product-name lisp-dir manifest files)
+    (unless package-dir
+      (when (boundp 'early-packages)
+       (setq dirs (delq nil (append (when early-package-load-path
+                                      early-packages)
+                                    (when late-package-load-path
+                                      late-packages)
+                                    (when last-package-load-path
+                                      last-packages))))
+       (while (and dirs (not package-dir))
+         (when (file-exists-p (car dirs))
+           (setq package-dir (car dirs)
+                 dirs (cdr dirs))))))
+    (unless package-dir
+      (error "%s" "
+You must specify the name of the package path as follows:
+
+% make install-package PACKAGEDIR=/usr/local/lib/xemacs/xemacs-packages
+"
+            ))
+    (setq info-dir (expand-file-name "info/" package-dir)
+         pkginfo-dir (expand-file-name "pkginfo/" package-dir))
     (require 'gnus)
     (setq product-name (downcase gnus-product-name)
          lisp-dir (expand-file-name (concat "lisp/" product-name "/")
@@ -195,7 +212,8 @@ Modify to suit your needs."))
     (message "Done")))
 
 (defun dgnushack-add-info-suffix-maybe ()
-  ;; This function must be invoked from texi directory.
+  ;; This function must be invoked from lisp directory.
+  (setq default-directory "../texi/")
   (let ((coding-system-for-read 'raw-text)
        (coding-system-for-write 'raw-text)
        (files (directory-files "." nil dgnushack-texi-file-regexp))
index fef6d90..b67fa90 100644 (file)
@@ -1990,12 +1990,13 @@ commands:
            all-headers gnus-have-all-headers))
     (make-local-variable 'default-mime-charset)
     (setq default-mime-charset charset)
+    (with-current-buffer (get-buffer-create gnus-article-buffer)
+      (make-local-variable 'default-mime-charset)
+      (setq default-mime-charset charset))
     (mime-display-message mime-message-structure
                          gnus-article-buffer nil gnus-article-mode-map)
     (when all-headers
       (gnus-article-hide-headers nil -1))
-    (make-local-variable 'default-mime-charset)
-    (setq default-mime-charset charset)
     )
   ;; `mime-display-message' changes current buffer to `gnus-article-buffer'.
   (make-local-variable 'mime-button-mother-dispatcher)
index 78eeb03..7e3f2f3 100644 (file)
 ;;;
 
 (defvar gnus-newsgroup-default-charset-alist
-  '(("^\\(fj\\|tnn\\|japan\\)\\."      . iso-2022-jp-2)
-    ("^han\\."                         . euc-kr)
-    ("^relcom\\."                      . koi8-r)
-    ("^alt\\.chinese\\.text\\.big5"    . cn-big5)
-    ("^hk\\(star\\)?\\."               . cn-big5)
-    ("^tw\\."                          . cn-big5)
-    ("^alt\\.chinese"                  . hz-gb-2312)
+  '(("\\(^\\|:\\)\\(fj\\|tnn\\|japan\\)\\."    . iso-2022-jp-2)
+    ("\\(^\\|:\\)han\\."                       . euc-kr)
+    ("\\(^\\|:\\)relcom\\."                    . koi8-r)
+    ("\\(^\\|:\\)alt\\.chinese\\.text\\.big5"  . cn-big5)
+    ("\\(^\\|:\\)hk\\(star\\)?\\."             . cn-big5)
+    ("\\(^\\|:\\)tw\\."                                . cn-big5)
+    ("\\(^\\|:\\)alt\\.chinese"                        . hz-gb-2312)
     )
   "Alist of newsgroup patterns vs. corresponding default MIME charset.
 Each element looks like (REGEXP . SYMBOL).  REGEXP is pattern for
index b573c30..e75c69b 100644 (file)
@@ -1,5 +1,5 @@
 ;;; gnus-offline.el --- To process mail & news at offline environment.
-;;; $Id: gnus-offline.el,v 1.1.6.2 1999-02-05 02:59:06 keiichi Exp $
+;;; $Id: gnus-offline.el,v 1.1.6.3 1999-03-31 07:59:55 keiichi Exp $
 
 ;;; Copyright (C) 1998 Tatsuya Ichikawa
 ;;;                    Yukihiro Ito
@@ -822,12 +822,12 @@ If value is nil , dialup line is disconnected status.")
       ;; Overwrite the toolbar spec for gnus-group-mode.
       (add-hook 'gnus-startup-hook
                (lambda ()
-                 (let ((i 0) (stat t) but)
-                   (while (and stat (setq but (nth i gnus-group-toolbar)))
-                     (and (equal 'gnus-group-get-new-news (aref but 1))
-                          (aset but 1 'gnus-offline-gnus-get-new-news)
-                          (setq stat nil))
-                     (setq i (1+ i))))))))
+                 (catch 'tag
+                   (mapcar (lambda (but)
+                             (when (eq 'gnus-group-get-new-news (aref but 1))
+                               (aset but 1 'gnus-offline-gnus-get-new-news)
+                               (throw 'tag nil)))
+                           gnus-group-toolbar))))))
 ;;
 ;;
 (defun gnus-offline-define-menu-on-miee ()
@@ -917,16 +917,30 @@ If value is nil , dialup line is disconnected status.")
 ;;
 ;; Popup menu within the group buffer (under Emacs).
 ;;
+(defvar gnus-offline-popup-menu nil)
 (defun gnus-offline-popup-menu (event)
   "Popup menu for Gnus offline."
   (interactive "e")
-  (let* ((menu (if (boundp 'miee-popup-menu)
-                  (or (assoc 'keymap
-                             (assoc 'Miee (assoc 'menu-bar global-map)))
-                      miee-popup-menu)
-                gnus-offline-menu-on-agent))
-        (pop (x-popup-menu t menu))
-        (func (and pop (lookup-key menu (apply 'vector pop)))))
+  (unless gnus-offline-popup-menu
+    (setq gnus-offline-popup-menu
+         (let ((menu
+                (if (boundp 'miee-popup-menu)
+                    (or (assoc 'keymap
+                               (assoc 'Miee (assoc 'menu-bar global-map)))
+                        miee-popup-menu)
+                  gnus-offline-menu-on-agent)))
+           (if (string< emacs-version "20")
+               (append (list 'keymap
+                             (if (boundp 'miee-popup-menu)
+                                 '(nil "Miee")
+                               '(nil "Offline"))
+                             '(nil "")
+                             '(nil ""))
+                       (cdr menu))
+             menu))))
+  (let* ((pop (x-popup-menu t gnus-offline-popup-menu))
+        (func (and pop (lookup-key gnus-offline-popup-menu
+                                   (apply 'vector pop)))))
     (and pop func (funcall func))))
 \f
 ;;
index 5afde5c..794bcd8 100644 (file)
              (insert (prin1-to-string pop3-fma-movemail-type))
              (insert ")\n")
              (if save-passwd
-                 (insert "(add-hook 'gnus-setup-news-hook \n    (lambda ()\n        (add-to-list 'gnus-variable-list 'pop3-fma-password)))\n"))
+                 (insert "(add-hook 'gnus-setup-news-hook \n    (lambda ()\n        (setq pop3-fma-save-password-information t)\n        (add-to-list 'gnus-variable-list 'pop3-fma-password)))\n"))
              (if (eq pop3-fma-movemail-type 'exe)
                  (progn
                    (insert "(setq pop3-fma-movemail-arguments '")
index d1b86d4..1864feb 100644 (file)
@@ -2245,12 +2245,6 @@ If FORCE is non-nil, the .newsrc file is read."
 
       (setq gnus-newsrc-options-n out))))
 
-;; The following four lines will be deleted in the future.
-(require 'poe)
-(defun-maybe save-buffer-as-coding-system (coding-system &optional args)
-  (let ((coding-system-for-write coding-system))
-    (save-buffer args)))
-
 (defun gnus-save-newsrc-file (&optional force)
   "Save .newsrc file."
   ;; Note: We cannot save .newsrc file if all newsgroups are removed
index 17568b7..b1d9456 100644 (file)
@@ -1069,15 +1069,20 @@ gnus-simplify-subject-fuzzy-regexp."
        (gnus-simplify-buffer-fuzzy-step gnus-simplify-subject-fuzzy-regexp)))
       (gnus-simplify-buffer-fuzzy-step "^ *\\[[-+?*!][-+?*!]\\] *")
       (gnus-simplify-buffer-fuzzy-step
-       "^ *\\(\\(re\\|fw\\|fwd\\)[[{(^0-9]*[])}]?[:;] *\\)+")
+       "^ *\\(re\\|fw\\|fwd\\)[[{(^0-9]*[])}]?[:;] *")
       (gnus-simplify-buffer-fuzzy-step "^[[].*:\\( .*\\)[]]$" "\\1"))
 
     (gnus-simplify-buffer-fuzzy-step " *[[{(][^()\n]*[]})] *$")
     (gnus-simplify-buffer-fuzzy-step " +" " ")
-    (gnus-simplify-buffer-fuzzy-step
-     "\\([\000-\177]\\) ?\\([^\000-\177]\\)" "\\1 \\2")
-    (gnus-simplify-buffer-fuzzy-step
-     "\\([^\000-\177]\\) ?\\([\000-\177]\\)" "\\1 \\2")
+    (setq modified-tick nil)
+    (while (not (eq modified-tick (buffer-modified-tick)))
+      (setq modified-tick (buffer-modified-tick))
+      (gnus-simplify-buffer-fuzzy-step
+       "\\([^\000-\177]\\) \\([^\000-\177]\\)" "\\1\\2")
+      (gnus-simplify-buffer-fuzzy-step
+       "\\([\000-\177]\\) \\([^\000-\177]\\)" "\\1\\2")
+      (gnus-simplify-buffer-fuzzy-step
+       "\\([^\000-\177]\\) \\([\000-\177]\\)" "\\1\\2"))
     (gnus-simplify-buffer-fuzzy-step " $")
     (gnus-simplify-buffer-fuzzy-step "^ +")))
 
index 2720908..9041504 100644 (file)
@@ -1885,20 +1885,27 @@ be added to \"References\" field."
   (interactive "P")
   (let ((modified (buffer-modified-p))
        (buffer (message-eval-parameter message-reply-buffer))
-       refs)
+       start end refs)
     (when (and buffer
               message-cite-function)
       (delete-windows-on buffer t)
       (insert-buffer buffer) ; mark will be set at the end of article.
+      (setq start (point)
+           end (mark t))
 
       ;; Add new IDs to References field.
       (when (and message-yank-add-new-references (interactive-p))
        (save-excursion
          (save-restriction
-           (narrow-to-region (point) (mark t))
+           (message-narrow-to-headers)
+           (setq refs (message-list-references
+                       nil
+                       (message-fetch-field "References")))
+           (widen)
+           (narrow-to-region start end)
            (std11-narrow-to-header)
            (when (setq refs (message-list-references
-                             '()
+                             refs
                              (or (message-fetch-field "References")
                                  (message-fetch-field "In-Reply-To"))
                              (message-fetch-field "Message-ID")))
@@ -2165,6 +2172,7 @@ the user from the mailer."
                                    (car elem))))
                              (setq success (funcall (caddr elem) arg)))))
            (setq sent t))))
+      (prog1
       (when (and success sent)
        (message-do-fcc)
        ;;(when (fboundp 'mail-hist-put-headers-into-history)
@@ -2179,7 +2187,8 @@ the user from the mailer."
        (message-do-send-housekeeping)
        (message-do-actions message-send-actions)
        ;; Return success.
-       t))))
+       t)
+      (kill-buffer message-encoding-buffer)))))
 
 (defun message-send-via-mail (arg)
   "Send the current message via mail."
@@ -4549,6 +4558,10 @@ when could not found legal MIME charset for sending message."
 
 (defun message-maybe-encode ()
   (when message-mime-mode
+    ;; Inherit the buffer local variable `mime-edit-pgp-processing'.
+    (let ((pgp-processing (with-current-buffer message-edit-buffer
+                           mime-edit-pgp-processing)))
+      (setq mime-edit-pgp-processing pgp-processing))
     (run-hooks 'mime-edit-translate-hook))
   (let ((locale-list (message-locale-detect)))
     (when message-mime-mode
@@ -4561,6 +4574,7 @@ when could not found legal MIME charset for sending message."
        (message-mime-charset-setup locale-list)
        (if (catch 'mime-edit-error
              (save-excursion
+               (mime-edit-pgp-enclose-buffer)
                (mime-edit-translate-body)
                ))
            (error "Translation error!")
@@ -4836,8 +4850,8 @@ This funtion will by called from \`message-mime-charset-recover-by-ask\'."
     (narrow-to-region start end)
     (when (with-current-buffer orig-buf
            mime-edit-mode-flag)
-      (run-hooks 'mime-edit-translate-hook)
-      (mime-edit-translate-buffer)
+      (mime-edit-translate-body)
+      (mime-edit-translate-header)
       )
     (goto-char start)
     (and (search-forward (concat "\n" mail-header-separator "\n") nil t)
index e336e82..2267749 100644 (file)
@@ -272,8 +272,11 @@ on your system, you could say something like:
        (1- (point))
      eol))
 
+(defmacro nnheader-nov-skip-field ()
+  '(search-forward "\t" eol 'move))
+
 (defmacro nnheader-nov-field ()
-  '(buffer-substring (point) (nnheader-nov-next-field)))
+  '(buffer-substring (point) (if (nnheader-nov-skip-field) (1- (point)) eol)))
 
 (defmacro nnheader-nov-read-integer ()
   '(let ((field (buffer-substring (point) (nnheader-nov-next-field))))
index 65a250a..d6ecf68 100644 (file)
@@ -195,13 +195,17 @@ If there is any problem , please set this variable to nil(default).
   "Function to move mail from INBOX on a pop3 server to file CRASHBOX."
   (if (string-match "^po:" inbox)
       (progn
+       (if (and pop3-fma-save-password-information
+                (not pop3-fma-password))
+           (pop3-fma-set-pop3-password))
        (let ((pop3-maildrop
               (substring inbox (match-end (string-match "^po:" inbox))
                          (- (match-end (string-match "^.*@" inbox)) 1)))
              (pop3-mailhost
               (substring inbox (match-end (string-match "^.*@" inbox))))
              (pop3-password
-              (if pop3-fma-save-password-information
+              (if (and pop3-fma-save-password-information
+                       pop3-fma-password)
                   (pop3-fma-read-passwd (substring inbox (match-end (string-match "^.*@" inbox))))
                 (pop3-fma-input-password
                  (substring inbox (match-end (string-match "^.*@" inbox)))
index 235c4fc..0a46216 100644 (file)
@@ -99,7 +99,8 @@ Used for APOP authentication.")
       (pop3-retr process n crashbuf)
       (save-excursion
        (set-buffer crashbuf)
-       (write-region-as-binary (point-min) (point-max) crashbox 'append)
+       (write-region-as-binary (point-min) (point-max)
+                               crashbox 'append 'nomesg)
        (set-buffer (process-buffer process))
        (while (> (buffer-size) 5000)
          (goto-char (point-min))
@@ -222,7 +223,9 @@ Return the response string if optional second argument is non-nil."
            (setq date (format-time-string
                        "%a %b %e %T %Y"
                        (if date
-                           (apply 'encode-time (parse-time-string date))
+                           (condition-case nil
+                               (apply 'encode-time (parse-time-string date))
+                             (error (current-time)))
                          (current-time))))
            (setq From_ (format "\nFrom %s  %s\n" from date))
            (while (string-match "," From_)