X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=lisp%2Fgnus-start.el;h=f530bc6d470a33e6bb340937323cd2c6316b7490;hb=162880cc7957dd33ca0c09573dc8ff526f3c8d69;hp=c2d88f6ab923108c3ad785dbf7a56c0de81cd276;hpb=4c03c5964e7e010e3af3fe99aba43ab4eb47846f;p=elisp%2Fgnus.git- diff --git a/lisp/gnus-start.el b/lisp/gnus-start.el index c2d88f6..f530bc6 100644 --- a/lisp/gnus-start.el +++ b/lisp/gnus-start.el @@ -32,7 +32,7 @@ (require 'gnus-spec) (require 'gnus-range) (require 'gnus-util) -(require 'message) +(autoload 'message-make-date "message") (eval-when-compile (require 'cl)) (defcustom gnus-startup-file (nnheader-concat gnus-home-directory ".newsrc") @@ -1013,7 +1013,7 @@ If LEVEL is non-nil, the news will be set up at level LEVEL." "Call METHOD to subscribe GROUP. If no function returns `non-nil', call `gnus-subscribe-zombies'." (unless (cond - ((gnus-functionp method) + ((functionp method) (funcall method group)) ((listp method) (catch 'found @@ -2631,16 +2631,21 @@ If FORCE is non-nil, the .newsrc file is read." (gnus-dribble-delete-file) (gnus-group-set-mode-line))))) -(defun gnus-gnus-to-quick-newsrc-format () +(defun gnus-gnus-to-quick-newsrc-format (&optional minimal name specific-variable) "Print Gnus variables such as gnus-newsrc-alist in lisp format." (princ ";; -*- emacs-lisp -*-\n") - (princ ";; Gnus startup file.\n") - (princ "\ + (if name + (princ (format ";; %s\n" name)) + (princ ";; Gnus startup file.\n")) + + (unless minimal + (princ "\ ;; Never delete this file -- if you want to force Gnus to read the ;; .newsrc file (if you have one), touch .newsrc instead.\n") - (princ "(setq gnus-newsrc-file-version ") - (princ (gnus-prin1-to-string gnus-version)) - (princ ")\n") + (princ "(setq gnus-newsrc-file-version ") + (princ (gnus-prin1-to-string gnus-version)) + (princ ")\n")) + (let* ((print-quoted t) (print-readably t) (print-escape-multibyte nil) @@ -2653,11 +2658,13 @@ If FORCE is non-nil, the .newsrc file is read." (stringp gnus-save-killed-list)) (gnus-strip-killed-list) gnus-killed-list)) - (variables - (if gnus-save-killed-list gnus-variable-list - ;; Remove the `gnus-killed-list' from the list of variables - ;; to be saved, if required. - (delq 'gnus-killed-list (copy-sequence gnus-variable-list)))) + (variables + (if specific-variable + (list specific-variable) + (if gnus-save-killed-list gnus-variable-list + ;; Remove the `gnus-killed-list' from the list of variables + ;; to be saved, if required. + (delq 'gnus-killed-list (copy-sequence gnus-variable-list))))) ;; Peel off the "dummy" group. (gnus-newsrc-alist (cdr gnus-newsrc-alist)) variable) @@ -2884,6 +2891,7 @@ If FORCE is non-nil, the .newsrc file is read." (or (gnus-group-name-charset method name) (gnus-parameter-charset name) gnus-default-charset))) + ;; Fixme: Don't decode in unibyte mode. (when (and str charset (featurep 'mule)) (setq str (mm-decode-coding-string str charset))) (set group str)))