Indent.
[gnus] / lisp / gnus-start.el
index d05e4eb..124ac58 100644 (file)
@@ -1574,7 +1574,7 @@ newsgroup."
                 (t 0))
           level))
         scanned-methods info group active method retrieve-groups)
-    (gnus-message 5 "Checking new news...")
+    (gnus-message 6 "Checking new news...")
 
     (while newsrc
       (setq active (gnus-active (setq group (gnus-info-group
@@ -1682,7 +1682,7 @@ newsgroup."
              (gnus-set-active group nil)
              (setcar (gnus-gethash group gnus-newsrc-hashtb) t)))))))
 
-    (gnus-message 5 "Checking new news...done")))
+    (gnus-message 6 "Checking new news...done")))
 
 ;; Create a hash table out of the newsrc alist.  The `car's of the
 ;; alist elements are used as keys.
@@ -2163,32 +2163,40 @@ If FORCE is non-nil, the .newsrc file is read."
            (nconc (gnus-uncompress-range dormant)
                   (gnus-uncompress-range ticked)))))))))
 
+(defun gnus-load (file)
+  "Load FILE, but in such a way that read errors can be reported."
+  (with-temp-buffer
+    (insert-file-contents file)
+    (while (not (eobp))
+      (condition-case type
+         (let ((form (read (current-buffer))))
+           (eval form))
+       (error
+        (unless (eq (car type) 'end-of-file)
+          (let ((error (format "Error in %s line %d" file
+                               (count-lines (point-min) (point)))))
+            (ding)
+            (unless (gnus-yes-or-no-p (concat error "; continue? "))
+              (error "%s" error)))))))))
+
 (defun gnus-read-newsrc-el-file (file)
   (let ((ding-file (concat file "d")))
-    ;; We always, always read the .eld file.
-    (gnus-message 5 "Reading %s..." ding-file)
-    (let (gnus-newsrc-assoc)
-      (if (or debug-on-error debug-on-quit)
-         (let ((coding-system-for-read gnus-ding-file-coding-system))
-           (load ding-file t t t))
-       (condition-case nil
-           (let ((coding-system-for-read gnus-ding-file-coding-system))
-             (load ding-file t t t))
-         (error
-          (ding)
-          (unless (gnus-yes-or-no-p
-                   (format "Error in %s; continue? " ding-file))
-            (error "Error in %s" ding-file)))))
-      ;; Older versions of `gnus-format-specs' are no longer valid
-      ;; in Oort Gnus 0.01.
-      (let ((version
-            (and gnus-newsrc-file-version
-                 (gnus-continuum-version gnus-newsrc-file-version))))
-       (when (or (not version)
-                 (< version 5.090009))
-         (setq gnus-format-specs gnus-default-format-specs)))
-      (when gnus-newsrc-assoc
-       (setq gnus-newsrc-alist gnus-newsrc-assoc)))
+    (when (file-exists-p ding-file)
+      ;; We always, always read the .eld file.
+      (gnus-message 5 "Reading %s..." ding-file)
+      (let (gnus-newsrc-assoc)
+       (let ((coding-system-for-read gnus-ding-file-coding-system))
+         (gnus-load ding-file))
+       ;; Older versions of `gnus-format-specs' are no longer valid
+       ;; in Oort Gnus 0.01.
+       (let ((version
+              (and gnus-newsrc-file-version
+                   (gnus-continuum-version gnus-newsrc-file-version))))
+         (when (or (not version)
+                   (< version 5.090009))
+           (setq gnus-format-specs gnus-default-format-specs)))
+       (when gnus-newsrc-assoc
+         (setq gnus-newsrc-alist gnus-newsrc-assoc))))
     (gnus-make-hashtable-from-newsrc-alist)
     (when (file-newer-than-file-p file ding-file)
       ;; Old format quick file