Synch with Oort Gnus and Nana-gnus 7.1.0.26.
authoryamaoka <yamaoka>
Mon, 17 Sep 2001 02:07:43 +0000 (02:07 +0000)
committeryamaoka <yamaoka>
Mon, 17 Sep 2001 02:07:43 +0000 (02:07 +0000)
12 files changed:
ChangeLog
lisp/ChangeLog
lisp/gnus-bbdb.el
lisp/gnus-draft.el
lisp/gnus-group.el
lisp/gnus-spec.el
lisp/gnus-start.el
lisp/nnimap.el
lisp/nnml.el
texi/ChangeLog
texi/gnus-ja.texi
texi/gnus.texi

index 68669c6..fc289df 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2001-09-17  Keiichi Suzuki  <keiichi@nanap.org>
+
+       * lisp/gnus-bbdb.el (gnus-bbdb/insert-address-regexp):
+       `regexp-quote' for each addresses.
+
 2001-09-16  Katsuhiro Hermit Endo  <hermit@koka-in.org>
 
        * gnus-ja.texi (Drafts): Fix typo.
index bdb626b..050749e 100644 (file)
@@ -1,3 +1,34 @@
+2001-09-15  Simon Josefsson  <jas@extundo.com>
+
+       * gnus-group.el (gnus-group-line-format): Document %c.
+
+       * nnml.el (nnml-parse-head): Handle CRLF files.
+       (nnml-generate-nov-file): Ditto.
+       (nnml-retrieve-headers): Ditto.
+
+2001-09-15  Michael Welsh Duggan <md5i@cs.cmu.edu>
+
+       * gnus-spec.el (gnus-parse-format): Don't treat %c as %C.
+
+2001-09-13  Martin Kretzschmar  <Martin.Kretzschmar@inf.tu-dresden.de>
+
+       * gnus-spec.el (gnus-correct-substring): Still stopped one
+       character before we wanted (never included last character).
+       (gnus-tilde-max-form, gnus-tilde-cut-form) Made readable again,
+       add missing "," (once per function)
+       
+2001-09-14  Simon Josefsson  <jas@extundo.com>
+
+       * gnus-start.el (gnus-group-mode-hook): Moved from gnus-group
+       (otherwise e.g. gnus-agentize in .gnus overrides the customized
+       default before gnus-group is loaded and the variable set.)
+
+       * nnimap.el (nnimap-request-set-mark): Do not store bookmark,
+       killed or unsent marks.
+
+       * gnus-draft.el (gnus-draft-setup): Don't set mark when there
+       isn't an article to set it on (e.g. when you `a' in a group).
+
 2001-09-12  Pavel Jan\e,Bm\e(Bk  <Pavel@Janik.cz>
 
        * mm-util.el (mm-charset-synonym-alist): add windows-1250 so we
index e2dbeca..d8d6960 100644 (file)
@@ -196,10 +196,10 @@ BBDB-FIELD values is returned.  Otherwise, GROUP is returned."
         (unless (eq (point) (point-min))
           (insert "\\|"))
         (let ((addr (nth 1 address)))
-          (insert (std11-addr-to-string
-                   (if (eq (car addr) 'phrase-route-addr)
-                       (nth 2 addr)
-                     (cdr addr))))))))
+          (insert (regexp-quote (std11-addr-to-string
+                                 (if (eq (car addr) 'phrase-route-addr)
+                                     (nth 2 addr)
+                                   (cdr addr)))))))))
 
 (defun gnus-bbdb/split-mail-1 (address-regexp bbdb-field regexp group)
   (let ((records (bbdb-search (bbdb-records) nil nil address-regexp))
index dd93227..4704739 100644 (file)
       (setq message-post-method
            `(lambda (arg)
               (gnus-post-method arg ,(car ga))))
-      (message-add-action
-       `(gnus-add-mark ,(car ga) 'replied ,(cadr ga))
-       'send))))
+      (unless (equal (cadr ga) "")
+       (message-add-action
+        `(gnus-add-mark ,(car ga) 'replied ,(cadr ga))
+        'send)))))
 
 (defvar gnus-draft-send-draft-buffer " *send draft*")
 (defun gnus-draft-setup-for-sending (narticle group)
index 65ce2f0..0442d94 100644 (file)
@@ -153,6 +153,7 @@ with some simple extensions.
 %y    Number of unread, unticked articles (integer)
 %G    Group name (string)
 %g    Qualified group name (string)
+%c    Short (collapsed) group name.  See `gnus-group-uncollapsed-levels'.
 %D    Group description (string)
 %s    Select method (string)
 %o    Moderated group (char, \"m\")
@@ -201,12 +202,6 @@ with some simple extensions:
   :group 'gnus-group-visual
   :type 'string)
 
-(defcustom gnus-group-mode-hook nil
-  "Hook for Gnus group mode."
-  :group 'gnus-group-various
-  :options '(gnus-topic-mode)
-  :type 'hook)
-
 ;; Extracted from gnus-xmas-redefine in order to preserve user settings
 (when (featurep 'xemacs)
   (add-hook 'gnus-group-mode-hook 'gnus-xmas-group-menu-add)
index 7e21fb9..f11775e 100644 (file)
 (defun gnus-correct-substring (string start &optional end)
   (let ((wstart 0)
        (wend 0)
+       (wseek 0)
        (seek 0)
-       (length (length string)))
+       (length (length string))
+       (string (concat string "\0"))) 
     ;; Find the start position.
     (while (and (< seek length)
-               (< wstart start))
-      (incf wstart (gnus-char-width (aref string seek)))
+               (< wseek start))
+      (incf wseek (gnus-char-width (aref string seek)))
       (incf seek))
-    (setq wend wstart
-         wstart seek)
+    (setq wstart seek)
     ;; Find the end position.
-    (while (and (< seek length)
+    (while (and (<= seek length)
                (or (not end)
-                   (<= wend end)))
-      (incf wend (gnus-char-width (aref string seek)))
+                   (<= wseek end)))
+      (incf wseek (gnus-char-width (aref string seek)))
       (incf seek))
     (setq wend seek)
     (substring string wstart (1- wend))))
 
 (defun gnus-tilde-max-form (el max-width)
   "Return a form that limits EL to MAX-WIDTH."
-  (let ((max (abs max-width)))
-    (if (symbolp el)
-       `(if (> (,(if gnus-use-correct-string-widths
+  (let ((max (abs max-width))
+       (length-fun (if gnus-use-correct-string-widths
                      'gnus-correct-length
-                   'length) ,el)
-               ,max)
-            ,(if (< max-width 0)
-                 `(,(if gnus-use-correct-string-widths
-                        'gnus-correct-substring
-                      'substring)
-                   ,el (- (,(if gnus-use-correct-string-widths
-                                'gnus-correct-length
-                              'length)
-                           el) ,max))
-               `(,(if gnus-use-correct-string-widths
+                   'length))
+       (substring-fun (if gnus-use-correct-string-widths
                       'gnus-correct-substring
-                    'substring)
-                 ,el 0 ,max))
+                    'substring)))
+    (if (symbolp el)
+       `(if (> (,length-fun ,el) ,max)
+            ,(if (< max-width 0)
+                 `(,substring-fun ,el (- (,length-fun ,el) ,max))
+               `(,substring-fun ,el 0 ,max))
           ,el)
       `(let ((val (eval ,el)))
-        (if (> (,(if gnus-use-correct-string-widths
-                     'gnus-correct-length
-                   'length) val) ,max)
+        (if (> (,length-fun val) ,max)
             ,(if (< max-width 0)
-                 `(,(if gnus-use-correct-string-widths
-                        'gnus-correct-substring
-                      'substring)
-                   val (- (,(if gnus-use-correct-string-widths
-                                'gnus-correct-length
-                              'length) val) ,max))
-               `(,(if gnus-use-correct-string-widths
-                      'gnus-correct-substring
-                    'substring)
-                 val 0 ,max))
+                 `(,substring-fun val (- (,length-fun val) ,max))
+               `(,substring-fun val 0 ,max))
           val)))))
 
 (defun gnus-tilde-cut-form (el cut-width)
   "Return a form that cuts CUT-WIDTH off of EL."
-  (let ((cut (abs cut-width)))
-    (if (symbolp el)
-       `(if (> (,(if gnus-use-correct-string-widths
+  (let ((cut (abs cut-width))
+       (length-fun (if gnus-use-correct-string-widths
                      'gnus-correct-length
-                   'length) ,el) ,cut)
-            ,(if (< cut-width 0)
-                 `(,(if gnus-use-correct-string-widths
-                        'gnus-correct-substring
-                      'substring) ,el 0
-                      (- (,(if gnus-use-correct-string-widths
-                               'gnus-correct-length
-                             'length) el) ,cut))
-               `(,(if gnus-use-correct-string-widths
+                   'length))
+       (substring-fun (if gnus-use-correct-string-widths
                       'gnus-correct-substring
-                    'substring) ,el ,cut))
+                    'substring)))
+    (if (symbolp el)
+       `(if (> (,length-fun ,el) ,cut)
+            ,(if (< cut-width 0)
+                 `(,substring-fun ,el 0 (- (,length-fun ,el) ,cut))
+               `(,substring-fun ,el ,cut))
           ,el)
       `(let ((val (eval ,el)))
-        (if (> (,(if gnus-use-correct-string-widths
-                     'gnus-correct-length
-                   'length) val) ,cut)
+        (if (> (,length-fun val) ,cut)
             ,(if (< cut-width 0)
-                 `(,(if gnus-use-correct-string-widths
-                        'gnus-correct-substring
-                      'substring) val 0
-                      (- (,(if gnus-use-correct-string-widths
-                               'gnus-correct-length
-                             'length) val) ,cut))
-               `(,(if gnus-use-correct-string-widths
-                      'gnus-correct-substring
-                    'substring) val ,cut))
+                 `(,substring-fun val 0 (- (,length-fun val) ,cut))
+               `(,substring-fun val ,cut))
           val)))))
 
 (defun gnus-tilde-ignore-form (el ignore-value)
@@ -432,12 +405,13 @@ characters when given a pad value."
   ;; the text between them will have the mouse-face text property.
   ;; If the FORMAT string contains the specifiers %[ and %], the text between
   ;; them will have the balloon-help text property.
-  (if (string-match
+  (let ((case-fold-search nil))
+    (if (string-match
        "\\`\\(.*\\)%[0-9]?[{(«]\\(.*\\)%[0-9]?[»})]\\(.*\n?\\)\\'"
        format)
       (gnus-parse-complex-format format spec-alist)
-    ;; This is a simple format.
-    (gnus-parse-simple-format format spec-alist insert)))
+      ;; This is a simple format.
+      (gnus-parse-simple-format format spec-alist insert))))
 
 (defun gnus-parse-complex-format (format spec-alist)
   (save-excursion
index 7c39e65..a03b270 100644 (file)
@@ -404,6 +404,12 @@ Can be used to turn version control on or off."
   :group 'gnus-newsrc
   :type 'hook)
 
+(defcustom gnus-group-mode-hook nil
+  "Hook for Gnus group mode."
+  :group 'gnus-group-various
+  :options '(gnus-topic-mode)
+  :type 'hook)
+
 (defcustom gnus-always-read-dribble-file nil
   "Unconditionally read the dribble file."
   :group 'gnus-newsrc
index 2dfcedf..18ab8b7 100644 (file)
@@ -953,6 +953,12 @@ function is generally only called when Gnus is shutting down."
                (what  (nth 1 action))
                (cmdmarks (nth 2 action))
                marks)
+           ;; bookmark can't be stored (not list/range
+           (setq cmdmarks (delq 'bookmark cmdmarks))
+           ;; killed can't be stored (not list/range
+           (setq cmdmarks (delq 'killed cmdmarks))
+           ;; unsent are for nndraft groups only
+           (setq cmdmarks (delq 'unsent cmdmarks))
            ;; cache flags are pointless on the server
            (setq cmdmarks (delq 'cache cmdmarks))
            ;; seen flags are local to each gnus
index 710c882..e5927b2 100644 (file)
@@ -160,7 +160,7 @@ This variable is a virtual server slot.  See the Gnus manual for details.")
                (setq beg (point))
                (nnheader-insert-head file)
                (goto-char beg)
-               (if (search-forward "\n\n" nil t)
+               (if (re-search-forward "\n\r?\n" nil t)
                    (forward-char -1)
                  (goto-char (point-max))
                  (insert "\n\n"))
@@ -720,13 +720,15 @@ This variable is a virtual server slot.  See the Gnus manual for details.")
       (unless (zerop (buffer-size))
        (narrow-to-region
         (goto-char (point-min))
-        (if (search-forward "\n\n" nil t) (1- (point)) (point-max))))
+        (if (re-search-forward "\n\r?\n" nil t) (1- (point)) (point-max))))
       ;; Fold continuation lines.
       (goto-char (point-min))
       (while (re-search-forward "\\(\r?\n[ \t]+\\)+" nil t)
        (replace-match " " t t))
       ;; Remove any tabs; they are too confusing.
       (subst-char-in-region (point-min) (point-max) ?\t ? )
+      ;; Remove any ^M's; they are too confusing.
+      (subst-char-in-region (point-min) (point-max) ?\r ? )
       (let ((headers (nnheader-parse-head t)))
        (mail-header-set-chars headers chars)
        (mail-header-set-number headers number)
@@ -845,7 +847,7 @@ This variable is a virtual server slot.  See the Gnus manual for details.")
          (narrow-to-region
           (goto-char (point-min))
           (progn
-            (search-forward "\n\n" nil t)
+            (re-search-forward "\n\r?\n" nil t)
             (setq chars (- (point-max) (point)))
             (max 1 (1- (point)))))
          (unless (zerop (buffer-size))
@@ -980,7 +982,7 @@ Use the nov database for the current group if available."
     (if (null (gnus-gethash file nnml-marks-modtime))
        t ;; never looked at marks file, assume it has changed
       (not (eq (gnus-gethash file nnml-marks-modtime)
-            (nth 5 (file-attributes file)))))))
+              (nth 5 (file-attributes file)))))))
 
 (defun nnml-save-marks (group server)
   (let ((file-name-coding-system nnmail-pathname-coding-system)
index 01a79ea..cfa09d2 100644 (file)
@@ -1,3 +1,7 @@
+2001-09-14  Simon Josefsson  <jas@extundo.com>
+
+       * gnus.texi (Mail Folders): Add.
+
 2001-09-11  Simon Josefsson  <jas@extundo.com>
 
        * gnus.texi (Delayed Articles): Fix.  Suggested by Paul Jarc
index 49174b2..4adb478 100644 (file)
@@ -12688,6 +12688,11 @@ rmail box \e$B$N$?$a$N%"%/%F%#%V%U%!%$%k$NL>A0!#4{DjCM\e(B
 @vindex nnfolder-nov-file-suffix
 @sc{nov} \e$B%U%!%$%k$N3HD%;R$G$9!#%G%#%U%)%k%H$O\e(B @file{.nov} \e$B$G$9!#\e(B
 
+@item nnfolder-nov-directory
+@vindex nnfolder-nov-directory
+@sc{nov} \e$B%U%!%$%k$,3JG<$5$l$k%G%#%l%/%H%j$G$9!#\e(Bnil \e$B$@$C$?\e(B
+\e$B$i\e(B @code{nnfolder-directory} \e$B$,;H$o$l$^$9!#\e(B
+
 @item nnfolder-marks-is-evil
 @vindex nnfolder-marks-is-evil
 \e$BHs\e(B@code{nil} \e$B$G$"$k$H!"$3$N%P%C%/%(%s%I$O$$$+$J$k\e(B @sc{\e$B0u\e(B} \e$B%U%!%$%k$r$b\e(B
@@ -12696,6 +12701,11 @@ rmail box \e$B$N$?$a$N%"%/%F%#%V%U%!%$%k$NL>A0!#4{DjCM\e(B
 @item nnfolder-marks-file-suffix
 @vindex nnfolder-marks-file-suffix
 @sc{\e$B0u\e(B} \e$B%U%!%$%k$N3HD%;R$G$9!#%G%#%U%)%k%H$O\e(B @file{.mrk} \e$B$G$9!#\e(B
+
+@item nnfolder-marks-directory
+@vindex nnfolder-marks-directory
+@sc{\e$B0u\e(B} \e$B%U%!%$%k$,3JG<$5$l$k%G%#%l%/%H%j$G$9!#\e(Bnil \e$B$@$C$?\e(B
+\e$B$i\e(B @code{nnfolder-directory} \e$B$,;H$o$l$^$9!#\e(B
 @end table
 
 @findex nnfolder-generate-active-file
index a1ae283..5c2684d 100644 (file)
@@ -13302,6 +13302,11 @@ default is @code{nil}.
 @vindex nnfolder-nov-file-suffix
 The extension for @sc{nov} files.  The default is @file{.nov}.
 
+@item nnfolder-nov-directory
+@vindex nnfolder-nov-directory
+The directory where the @sc{nov} files should be stored.  If nil,
+@code{nnfolder-directory} is used.
+
 @item nnfolder-marks-is-evil
 @vindex nnfolder-marks-is-evil
 If non-@code{nil}, this backend will ignore any @sc{marks} files.  The
@@ -13311,6 +13316,11 @@ default is @code{nil}.
 @vindex nnfolder-marks-file-suffix
 The extension for @sc{marks} files.  The default is @file{.mrk}.
 
+@item nnfolder-marks-directory
+@vindex nnfolder-marks-directory
+The directory where the @sc{marks} files should be stored.  If nil,
+@code{nnfolder-directory} is used.
+
 @end table