X-Git-Url: http://cgit.sxemacs.org/?p=gnus;a=blobdiff_plain;f=lisp%2Fgnus-start.el;h=442ed529791287b75ffc7f78a4ef1cfa9c7ae3ff;hp=53ae6e1a8a8293f48296be81147ea8ef51a840b8;hb=992509a3574f9add376cc480db9bb5656285bd5b;hpb=264e5aaaaaff94b53f308363fd4402be837a3f15 diff --git a/lisp/gnus-start.el b/lisp/gnus-start.el index 53ae6e1a8..442ed5297 100644 --- a/lisp/gnus-start.el +++ b/lisp/gnus-start.el @@ -1369,11 +1369,6 @@ for new groups, and subscribe the new groups as zombies." (funcall gnus-group-change-level-function group level oldlevel previous))))) -(defun gnus-kill-newsgroup (newsgroup) - "Obsolete function. Kills a newsgroup." - (gnus-group-change-level - (gnus-group-entry newsgroup) gnus-level-killed)) - (defun gnus-check-bogus-newsgroups (&optional confirm) "Remove bogus newsgroups. If CONFIRM is non-nil, the user has to confirm the deletion of every @@ -2221,7 +2216,7 @@ backend check whether the group actually exists." (gnus-online method) (gnus-agent-method-p method)) (progn - (gnus-agent-save-active method) + (gnus-agent-save-active method t) (gnus-active-to-gnus-format method hashtb nil real-active)) (goto-char (point-min)) @@ -2299,6 +2294,13 @@ If FORCE is non-nil, the .newsrc file is read." (defun gnus-clean-old-newsrc (&optional force) (when gnus-newsrc-file-version + ;; Remove totally bogus `unexists' entries. The name is + ;; `unexist'. + (dolist (info (cdr gnus-newsrc-alist)) + (let ((exist (assoc 'unexists (gnus-info-marks info)))) + (when exist + (gnus-info-set-marks + info (delete exist (gnus-info-marks info)))))) (when (or force (< (gnus-continuum-version gnus-newsrc-file-version) (gnus-continuum-version "Ma Gnus v0.03"))) @@ -2446,7 +2448,9 @@ If FORCE is non-nil, the .newsrc file is read." (when gnus-newsrc-assoc (setq gnus-newsrc-alist gnus-newsrc-assoc)))) (dolist (elem gnus-newsrc-alist) - (setcar elem (mm-string-as-unibyte (car elem)))) + ;; Protect against broken .newsrc.el files. + (when (car elem) + (setcar elem (mm-string-as-unibyte (car elem))))) (gnus-make-hashtable-from-newsrc-alist) (when (file-newer-than-file-p file ding-file) ;; Old format quick file