2000-11-17 Per Abrahamsen <abraham@dina.kvl.dk>
[gnus] / lisp / gnus-msg.el
index 3c88a08..9bf5fbf 100644 (file)
@@ -105,7 +105,7 @@ the second with the current group name.")
   "If non-nil, automatically mark Gcc articles as read.")
 
 (defcustom gnus-group-posting-charset-alist
-  '(("^\\(no\\|fr\\|dk\\)\\.[^,]*\\(,[ \t\n]*\\(no\\|fr\\|dk\\)\\.[^,]*\\)*$" iso-8859-1 (iso-8859-1))
+  '(("^\\(no\\|fr\\)\\.[^,]*\\(,[ \t\n]*\\(no\\|fr\\)\\.[^,]*\\)*$" iso-8859-1 (iso-8859-1))
     ("^\\(fido7\\|relcom\\)\\.[^,]*\\(,[ \t\n]*\\(fido7\\|relcom\\)\\.[^,]*\\)*$" koi8-r (koi8-r))
     (message-this-is-mail nil nil)
     (message-this-is-news nil t))
@@ -1105,12 +1105,32 @@ this is a reply."
                  (sit-for 2))
                (when (and group-art gnus-inews-mark-gcc-as-read)
                  (let ((active (gnus-active group)))
-                   (when active
-                     (if (< (cdr active) (cdr group-art))
-                         (gnus-set-active group (cons (car active) 
-                                                      (cdr group-art))))
+                   (if active
+                       (if (< (cdr active) (cdr group-art))
+                           (gnus-set-active group (cons (car active) 
+                                                        (cdr group-art))))
+                     (gnus-activate-group group)))
+                 (let ((buffer (concat "*Summary " group "*"))
+                       (mark gnus-read-mark)
+                       (article (cdr group-art)))
+                   (unless 
+                       (and 
+                        (get-buffer buffer)
+                        (with-current-buffer buffer
+                          (when gnus-newsgroup-prepared
+                            (when (and gnus-newsgroup-auto-expire
+                                       (memq mark gnus-auto-expirable-marks))
+                              (setq mark gnus-expirable-mark))
+                            (setq mark (gnus-request-update-mark 
+                                        group article mark))
+                            (gnus-mark-article-as-read article mark)
+                            (setq gnus-newsgroup-active (gnus-active group))
+                            t)))
                      (gnus-group-make-articles-read group 
-                                                    (list (cdr group-art))))))
+                                                    (list article))
+                     (when (gnus-group-auto-expirable-p group)
+                       (gnus-add-marked-articles
+                        group 'expire (list article))))))
                (kill-buffer (current-buffer))))))))))
 
 (defun gnus-inews-insert-gcc ()