(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")
"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
(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)
(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)
(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)))