]> git.eshelyaron.com Git - emacs.git/commitdiff
Revision: miles@gnu.org--gnu-2004/emacs--cvs-trunk--0--patch-650
authorMiles Bader <miles@gnu.org>
Fri, 29 Oct 2004 02:23:24 +0000 (02:23 +0000)
committerMiles Bader <miles@gnu.org>
Fri, 29 Oct 2004 02:23:24 +0000 (02:23 +0000)
Merge from gnus--rel--5.10

Patches applied:

 * miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-61
 - miles@gnu.org--gnu-2004/gnus--rel--5.10--patch-63
   Update from CVS

2004-10-29  Katsumi Yamaoka  <yamaoka@jpl.org>

   * lisp/gnus/mm-util.el (mm-coding-system-priorities): Prefer iso-8859-1 than
   iso-2022-jp even in the Japanese language environment.  Suggested
   by Jason Rumney <jasonr@gnu.org>.

2004-10-28  Katsumi Yamaoka  <yamaoka@jpl.org>

   * lisp/gnus/gnus-sum.el (gnus-update-summary-mark-positions): Allow users to
   use the same characters as the dummy marks; make it free from
   getting affected by the language environment.
   (gnus-summary-read-group-1): Update mark positions only when the
   format spec is updated.

   * lisp/gnus/gnus-spec.el (gnus-update-format-specifications): Return a list
   of updated types.

2004-10-26  Katsumi Yamaoka  <yamaoka@jpl.org>

   * lisp/gnus/nnspool.el (nnspool-spool-directory): Use news-path if the
   news-directory variable is not bound.

   * lisp/gnus/gnus-group.el (gnus-group-line-format-alist): Convert the value
   of gnus-tmp-news-method into string if it may be passed to
   gnus-correct-length which takes only a string argument.

lisp/gnus/ChangeLog
lisp/gnus/gnus-group.el
lisp/gnus/gnus-spec.el
lisp/gnus/gnus-sum.el
lisp/gnus/mm-util.el
lisp/gnus/nnspool.el

index 02d8fe24007ddf7591b64461ddf62b55ed48ec7d..2c658a4c56243e7f9b7f602a57acc703fed052b9 100644 (file)
@@ -1,3 +1,29 @@
+2004-10-29  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * mm-util.el (mm-coding-system-priorities): Prefer iso-8859-1 than
+       iso-2022-jp even in the Japanese language environment.  Suggested
+       by Jason Rumney <jasonr@gnu.org>.
+
+2004-10-28  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * gnus-sum.el (gnus-update-summary-mark-positions): Allow users to
+       use the same characters as the dummy marks; make it free from
+       getting affected by the language environment.
+       (gnus-summary-read-group-1): Update mark positions only when the
+       format spec is updated.
+
+       * gnus-spec.el (gnus-update-format-specifications): Return a list
+       of updated types.
+
+2004-10-26  Katsumi Yamaoka  <yamaoka@jpl.org>
+
+       * nnspool.el (nnspool-spool-directory): Use news-path if the
+       news-directory variable is not bound.
+
+       * gnus-group.el (gnus-group-line-format-alist): Convert the value
+       of gnus-tmp-news-method into string if it may be passed to
+       gnus-correct-length which takes only a string argument.
+
 2004-10-25  Reiner Steib  <Reiner.Steib@gmx.de>
 
        * html2text.el (html2text-buffer-head): Removed.  Use `goto-char'
index f3b2f91cd5ef03a3bf377ebee7f9390c04df0a38..c55264b22deb8f0baa9bfccfe3577259ab821b79 100644 (file)
@@ -491,7 +491,10 @@ simple manner.")
     (?O gnus-tmp-moderated-string ?s)
     (?p gnus-tmp-process-marked ?c)
     (?s gnus-tmp-news-server ?s)
-    (?n gnus-tmp-news-method ?s)
+    (?n ,(if (featurep 'xemacs)
+            '(symbol-name gnus-tmp-news-method)
+          'gnus-tmp-news-method)
+       ?s)
     (?P gnus-group-indentation ?s)
     (?E gnus-tmp-group-icon ?s)
     (?B gnus-tmp-summary-live ?c)
index 690fc7e026a404de4f9dc30f6efb9f31badac805..dc93fef5176f913f7e7037c32d06ea65968d17db 100644 (file)
@@ -183,7 +183,8 @@ text properties. This is only needed on XEmacs, as FSF Emacs does this anyway."
     (insert (gnus-pp-to-string spec))))
 
 (defun gnus-update-format-specifications (&optional force &rest types)
-  "Update all (necessary) format specifications."
+  "Update all (necessary) format specifications.
+Return a list of updated types."
   ;; Make the indentation array.
   ;; See whether all the stored info needs to be flushed.
   (when (or force
@@ -195,13 +196,12 @@ text properties. This is only needed on XEmacs, as FSF Emacs does this anyway."
     (setq gnus-format-specs nil))
 
   ;; Go through all the formats and see whether they need updating.
-  (let (new-format entry type val)
+  (let (new-format entry type val updated)
     (while (setq type (pop types))
       ;; Jump to the proper buffer to find out the value of the
       ;; variable, if possible.  (It may be buffer-local.)
       (save-excursion
-       (let ((buffer (intern (format "gnus-%s-buffer" type)))
-             val)
+       (let ((buffer (intern (format "gnus-%s-buffer" type))))
          (when (and (boundp buffer)
                     (setq val (symbol-value buffer))
                     (gnus-buffer-exists-p val))
@@ -231,10 +231,12 @@ text properties. This is only needed on XEmacs, as FSF Emacs does this anyway."
                (setcar (cdr entry) val)
                (setcar entry new-format))
            (push (list type new-format val) gnus-format-specs))
-         (set (intern (format "gnus-%s-line-format-spec" type)) val)))))
+         (set (intern (format "gnus-%s-line-format-spec" type)) val)
+         (push type updated))))
 
-  (unless (assq 'version gnus-format-specs)
-    (push (cons 'version emacs-version) gnus-format-specs)))
+    (unless (assq 'version gnus-format-specs)
+      (push (cons 'version emacs-version) gnus-format-specs))
+    updated))
 
 (defvar gnus-mouse-face-0 'highlight)
 (defvar gnus-mouse-face-1 'highlight)
index 14ad9c99a3b7b21e1fb91296e5c40158238e6502..6ce2f55e2b7921614ebd5563cdc19b6d533e1002 100644 (file)
@@ -3225,43 +3225,54 @@ buffer that was in action when the last article was fetched."
   (save-excursion
     (when (gnus-buffer-exists-p gnus-summary-buffer)
       (set-buffer gnus-summary-buffer))
-    (let ((gnus-replied-mark 129)
-         (gnus-score-below-mark 130)
-         (gnus-score-over-mark 130)
-         (gnus-undownloaded-mark 131)
-         (spec gnus-summary-line-format-spec)
-         gnus-visual pos)
+    (let ((spec gnus-summary-line-format-spec)
+         pos)
       (save-excursion
        (gnus-set-work-buffer)
-       (let ((gnus-summary-line-format-spec spec)
+       (let ((gnus-tmp-unread ?Z)
+             (gnus-replied-mark ?Z)
+             (gnus-score-below-mark ?Z)
+             (gnus-score-over-mark ?Z)
+             (gnus-undownloaded-mark ?Z)
+             (gnus-summary-line-format-spec spec)
              (gnus-newsgroup-downloadable '(0))
-             marks)
-         (insert ?\200 "\200" ?\201 "\201" ?\202 "\202" ?\203 "\203")
-         (while (not (bobp))
-           (push (buffer-substring (1- (point)) (point)) marks)
-           (backward-char))
+             (header [0 "" "" "05 Apr 2001 23:33:09 +0400" "" "" 0 0 "" nil])
+             case-fold-search ignores)
+         ;; Here, all marks are bound to Z.
+         (gnus-summary-insert-line header
+                                   0 nil t gnus-tmp-unread t nil "" nil 1)
+         (goto-char (point-min))
+         ;; Memorize the positions of the same characters as dummy marks.
+         (while (re-search-forward "[A-D]" nil t)
+           (push (point) ignores))
          (erase-buffer)
-         (gnus-summary-insert-line
-          [0 "" "" "05 Apr 2001 23:33:09 +0400" "" "" 0 0 "" nil]
-          0 nil t 128 t nil "" nil 1)
+         ;; We use A-D as dummy marks in order to know column positions
+         ;; where marks should be inserted.
+         (setq gnus-tmp-unread ?A
+               gnus-replied-mark ?B
+               gnus-score-below-mark ?C
+               gnus-score-over-mark ?C
+               gnus-undownloaded-mark ?D)
+         (gnus-summary-insert-line header
+                                   0 nil t gnus-tmp-unread t nil "" nil 1)
+         ;; Ignore characters which aren't dummy marks.
+         (dolist (p ignores)
+           (delete-region (goto-char (1- p)) p)
+           (insert ?Z))
          (goto-char (point-min))
          (setq pos (list (cons 'unread
-                               (and (or (search-forward (nth 0 marks) nil t)
-                                        (search-forward (nth 1 marks) nil t))
+                               (and (search-forward "A" nil t)
                                     (- (point) (point-min) 1)))))
          (goto-char (point-min))
-         (push (cons 'replied (and (or (search-forward (nth 2 marks) nil t)
-                                       (search-forward (nth 3 marks) nil t))
+         (push (cons 'replied (and (search-forward "B" nil t)
                                    (- (point) (point-min) 1)))
                pos)
          (goto-char (point-min))
-         (push (cons 'score (and (or (search-forward (nth 4 marks) nil t)
-                                     (search-forward (nth 5 marks) nil t))
+         (push (cons 'score (and (search-forward "C" nil t)
                                  (- (point) (point-min) 1)))
                pos)
          (goto-char (point-min))
-         (push (cons 'download (and (or (search-forward (nth 6 marks) nil t)
-                                        (search-forward (nth 7 marks) nil t))
+         (push (cons 'download (and (search-forward "D" nil t)
                                     (- (point) (point-min) 1)))
                pos)))
       (setq gnus-summary-mark-positions pos))))
@@ -3559,9 +3570,11 @@ If NO-DISPLAY, don't generate a summary buffer."
             (gnus-active gnus-newsgroup-name)))
       ;; You can change the summary buffer in some way with this hook.
       (gnus-run-hooks 'gnus-select-group-hook)
-      (gnus-update-format-specifications
-       nil 'summary 'summary-mode 'summary-dummy)
-      (gnus-update-summary-mark-positions)
+      (when (memq 'summary (gnus-update-format-specifications
+                           nil 'summary 'summary-mode 'summary-dummy))
+       ;; The format specification for the summary line was updated,
+       ;; so we need to update the mark positions as well.
+       (gnus-update-summary-mark-positions))
       ;; Do score processing.
       (when gnus-use-scoring
        (gnus-possibly-score-headers))
index c608820c8ed569dba53ca38ddc0298de56852ba4..b68b4ec584c3bf861a53578fef258cfe7da84db5 100644 (file)
@@ -302,9 +302,10 @@ Valid elements include:
   (if (boundp 'current-language-environment)
       (let ((lang (symbol-value 'current-language-environment)))
        (cond ((string= lang "Japanese")
-              ;; Japanese users may prefer iso-2022-jp to shift-jis.
-              '(iso-2022-jp iso-2022-jp-2 japanese-shift-jis
-                            iso-latin-1 utf-8)))))
+              ;; Japanese users prefer iso-2022-jp to euc-japan or
+              ;; shift_jis, however iso-8859-1 should be used when
+              ;; there are only ASCII text and Latin-1 characters.
+              '(iso-8859-1 iso-2022-jp iso-2022-jp-2 shift_jis utf-8)))))
   "Preferred coding systems for encoding outgoing messages.
 
 More than one suitable coding system may be found for some text.
index 9a08cdfe71cb63d31a1fec69a0c87be6fb46d1f4..d54897a7750825146bb3da4184440bac02023a9c 100644 (file)
@@ -44,7 +44,10 @@ This is most commonly `inews' or `injnews'.")
   "Switches for nnspool-request-post to pass to `inews' for posting news.
 If you are using Cnews, you probably should set this variable to nil.")
 
-(defvoo nnspool-spool-directory (file-name-as-directory news-directory)
+(defvoo nnspool-spool-directory
+    (file-name-as-directory (if (boundp 'news-directory)
+                               (symbol-value 'news-directory)
+                             news-path))
   "Local news spool directory.")
 
 (defvoo nnspool-nov-directory (concat nnspool-spool-directory "over.view/")