Here is my original problem: > When I create a new group by copying a message into it, I can't > select that group unless I do M-g (gnus-group-get-new-news-this-group). > I use B c - gnus-summary-copy-article, and enter the name of a group > that does not exist. When prompted, I confirm that I want to create > it. > gnus-read-move-group-name creates the group, and activates it. Of > course, it is empty, and this is what (gnus-active ) will > report from now on. > When I subscribe the group in the Group buffer, and try to select it, the > active info is never updated. So gnus believes that it is still empty, > and refuses to enter it. "Can't select group". I considered a few other solutions 1. Don't activate group when creating it. 2. Refresh active info of newly created groups in gnus-summary-move-article 3. Refresh active info when changing group level or selecting an ephemeral group. 2 seems to be most consistent with the current design - not that I understand it well. Here is a patch. Is it OK? It makes a separate list of copy destinations which do not have info, and updates their active info. *** /home/jk/pgnus-0.93/lisp/gnus-sum.el Thu Jul 8 13:31:21 1999 --- /home/jk/pgnus-jk/lisp/gnus-sum.el Thu Jul 8 13:31:21 1999 *************** *** 7185,7191 **** (crosspost "Crosspost" "Crossposting"))) (copy-buf (save-excursion (nnheader-set-temp-buffer " *copy article*"))) ! art-group to-method new-xref article to-groups) (unless (assq action names) (error "Unknown action %s" action)) ;; Read the newsgroup name. --- 7185,7191 ---- (crosspost "Crosspost" "Crossposting"))) (copy-buf (save-excursion (nnheader-set-temp-buffer " *copy article*"))) ! art-group to-method new-xref article to-groups new-groups) (unless (assq action names) (error "Unknown action %s" action)) ;; Read the newsgroup name. *************** *** 7280,7290 **** (to-group (gnus-info-group info)) to-marks) ;; Update the group that has been moved to. (when (and info (memq action '(move copy))) - (unless (member to-group to-groups) - (push to-group to-groups)) - (unless (memq article gnus-newsgroup-unreads) (push 'read to-marks) (gnus-info-set-read --- 7280,7294 ---- (to-group (gnus-info-group info)) to-marks) ;; Update the group that has been moved to. + (when (memq action '(move copy)) + (if info + (unless (member to-group to-groups) + (push to-group to-groups)) + (unless (member pto-group new-groups) + (push pto-group new-groups)))) + (when (and info (memq action '(move copy))) (unless (memq article gnus-newsgroup-unreads) (push 'read to-marks) (gnus-info-set-read *************** *** 7361,7366 **** --- 7365,7373 ---- (when (gnus-group-goto-group (car to-groups) t) (gnus-group-get-new-news-this-group 1 t)) (pop to-groups))) + + (while new-groups ; Update active info + (gnus-activate-group (pop new-groups) nil nil to-method)) (gnus-kill-buffer copy-buf) (gnus-summary-position-point)