]> code.delx.au - gnu-emacs/blobdiff - lisp/gnus/gnus-sum.el
gnus-group.el: Make error reporting when doing `M-g' work again
[gnu-emacs] / lisp / gnus / gnus-sum.el
index 878a96b92648826ff0d874760793e97275e1005d..d0a582e2712424406d6dbbd4b435b44e32e31616 100644 (file)
@@ -1371,15 +1371,12 @@ the normal Gnus MIME machinery."
     (?c (or (mail-header-chars gnus-tmp-header) 0) ?d)
     (?k (gnus-summary-line-message-size gnus-tmp-header) ?s)
     (?L gnus-tmp-lines ?s)
-    (?Z (or ,(gnus-macroexpand-all
-             '(nnir-article-rsv (mail-header-number gnus-tmp-header)))
+    (?Z (or (nnir-article-rsv (mail-header-number gnus-tmp-header))
            0) ?d)
-    (?G (or ,(gnus-macroexpand-all
-             '(nnir-article-group (mail-header-number gnus-tmp-header)))
+    (?G (or (nnir-article-group (mail-header-number gnus-tmp-header))
            "") ?s)
-    (?g (or ,(gnus-macroexpand-all
-             '(gnus-group-short-name
-               (nnir-article-group (mail-header-number gnus-tmp-header))))
+    (?g (or (gnus-group-short-name
+            (nnir-article-group (mail-header-number gnus-tmp-header)))
            "") ?s)
     (?O gnus-tmp-downloaded ?c)
     (?I gnus-tmp-indentation ?s)
@@ -3062,6 +3059,7 @@ When FORCE, rebuild the tool bar."
 (declare-function turn-on-gnus-mailing-list-mode "gnus-ml" ())
 (defvar bookmark-make-record-function)
 \f
+(defvar bidi-paragraph-direction)
 
 (defun gnus-summary-mode (&optional group)
   "Major mode for reading articles.
@@ -3101,6 +3099,9 @@ The following commands are available:
   (setq buffer-read-only t             ;Disable modification
        show-trailing-whitespace nil)
   (setq truncate-lines t)
+  ;; Force paragraph direction to be left-to-right.  Don't make it
+  ;; bound globally in old Emacsen and XEmacsen.
+  (set (make-local-variable 'bidi-paragraph-direction) 'left-to-right)
   (add-to-invisibility-spec '(gnus-sum . t))
   (gnus-summary-set-display-table)
   (gnus-set-default-directory)
@@ -6282,13 +6283,19 @@ The resulting hash table is returned, or nil if no Xrefs were found."
         (entry (gnus-group-entry group))
         (info (nth 2 entry))
         (active (gnus-active group))
+        (set-marks
+         (or gnus-propagate-marks
+             (gnus-method-option-p
+              (gnus-find-method-for-group group)
+              'server-marks)))
         range)
     (if (not entry)
        ;; Group that Gnus doesn't know exists, but still allow the
        ;; backend to set marks.
-       (gnus-request-set-mark
-        group (list (list (gnus-compress-sequence (sort articles #'<))
-                          'add '(read))))
+       (when set-marks
+         (gnus-request-set-mark
+          group (list (list (gnus-compress-sequence (sort articles #'<))
+                            'add '(read)))))
       ;; Normal, subscribed groups.
       (setq range (gnus-compute-read-articles group articles))
       (with-current-buffer gnus-group-buffer
@@ -6297,11 +6304,14 @@ The resulting hash table is returned, or nil if no Xrefs were found."
             (gnus-info-set-marks ',info ',(gnus-info-marks info) t)
             (gnus-info-set-read ',info ',(gnus-info-read info))
             (gnus-get-unread-articles-in-group ',info (gnus-active ,group))
-            (gnus-request-set-mark ,group (list (list ',range 'del '(read))))
+            (when ,set-marks
+              (gnus-request-set-mark
+               ,group (list (list ',range 'del '(read)))))
             (gnus-group-update-group ,group t))))
       ;; Add the read articles to the range.
       (gnus-info-set-read info range)
-      (gnus-request-set-mark group (list (list range 'add '(read))))
+      (when set-marks
+       (gnus-request-set-mark group (list (list range 'add '(read)))))
       ;; Then we have to re-compute how many unread
       ;; articles there are in this group.
       (when active
@@ -10060,7 +10070,11 @@ ACTION can be either `move' (the default), `crosspost' or `copy'."
                  (gnus-add-marked-articles
                   to-group 'expire (list to-article) info))
 
-               (when to-marks
+               (when (and to-marks
+                          (or gnus-propagate-marks
+                              (gnus-method-option-p
+                               (gnus-find-method-for-group to-group)
+                               'server-marks)))
                  (gnus-request-set-mark
                   to-group (list (list (list to-article) 'add to-marks)))))