From 5b51650c09722ad3d31d85a7288a49d711c9cef9 Mon Sep 17 00:00:00 2001 From: Miles Bader Date: Wed, 12 Nov 2008 08:12:19 +0000 Subject: [PATCH] Merge from gnus--devo--0 Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1471 --- lisp/gnus/ChangeLog | 8 ++++ lisp/gnus/nnrss.el | 2 +- lisp/net/netrc.el | 110 ++++++++++++++++++++++---------------------- 3 files changed, 65 insertions(+), 55 deletions(-) diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index 82ace1a8ee9..09b14d643ee 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog @@ -1,3 +1,11 @@ +2008-11-11 Teodor Zlatanov + + * nnrss.el (nnrss-make-hash-index): Debug message of full item. + +2008-11-10 Teodor Zlatanov + + * netrc.el (netrc-parse): If a list is passed in as FILE, return it. + 2008-11-04 Katsumi Yamaoka * starttls.el (starttls-any-program-available): Rewritten so it doesn't diff --git a/lisp/gnus/nnrss.el b/lisp/gnus/nnrss.el index 41fc7b65c9c..d84bc3686e9 100644 --- a/lisp/gnus/nnrss.el +++ b/lisp/gnus/nnrss.el @@ -684,8 +684,8 @@ which RSS 2.0 allows." (buffer-string))) ;;; Snarf functions - (defun nnrss-make-hash-index (item) + (gnus-message 9 "nnrss: Making hash index of %s" (gnus-prin1-to-string item)) (setq item (gnus-remove-if (lambda (field) (when (listp field) diff --git a/lisp/net/netrc.el b/lisp/net/netrc.el index ca219defab5..e526242e135 100644 --- a/lisp/net/netrc.el +++ b/lisp/net/netrc.el @@ -59,61 +59,63 @@ (defun netrc-parse (file) (interactive "fFile to Parse: ") "Parse FILE and return a list of all entries in the file." - (when (file-exists-p file) - (with-temp-buffer - (let ((tokens '("machine" "default" "login" - "password" "account" "macdef" "force" - "port")) - (encryption-model (when (netrc-bound-and-true-p encrypt-file-alist) - (encrypt-find-model file))) - alist elem result pair) - (if encryption-model - (encrypt-insert-file-contents file encryption-model) - (insert-file-contents file)) - (goto-char (point-min)) - ;; Go through the file, line by line. - (while (not (eobp)) - (narrow-to-region (point) (point-at-eol)) - ;; For each line, get the tokens and values. + (if (listp file) + file + (when (file-exists-p file) + (with-temp-buffer + (let ((tokens '("machine" "default" "login" + "password" "account" "macdef" "force" + "port")) + (encryption-model (when (netrc-bound-and-true-p encrypt-file-alist) + (encrypt-find-model file))) + alist elem result pair) + (if encryption-model + (encrypt-insert-file-contents file encryption-model) + (insert-file-contents file)) + (goto-char (point-min)) + ;; Go through the file, line by line. (while (not (eobp)) - (skip-chars-forward "\t ") - ;; Skip lines that begin with a "#". - (if (eq (char-after) ?#) - (goto-char (point-max)) - (unless (eobp) - (setq elem - (if (= (following-char) ?\") - (read (current-buffer)) - (buffer-substring - (point) (progn (skip-chars-forward "^\t ") - (point))))) - (cond - ((equal elem "macdef") - ;; We skip past the macro definition. - (widen) - (while (and (zerop (forward-line 1)) - (looking-at "$"))) - (narrow-to-region (point) (point))) - ((member elem tokens) - ;; Tokens that don't have a following value are ignored, - ;; except "default". - (when (and pair (or (cdr pair) - (equal (car pair) "default"))) - (push pair alist)) - (setq pair (list elem))) - (t - ;; Values that haven't got a preceding token are ignored. - (when pair - (setcdr pair elem) - (push pair alist) - (setq pair nil))))))) - (when alist - (push (nreverse alist) result)) - (setq alist nil - pair nil) - (widen) - (forward-line 1)) - (nreverse result))))) + (narrow-to-region (point) (point-at-eol)) + ;; For each line, get the tokens and values. + (while (not (eobp)) + (skip-chars-forward "\t ") + ;; Skip lines that begin with a "#". + (if (eq (char-after) ?#) + (goto-char (point-max)) + (unless (eobp) + (setq elem + (if (= (following-char) ?\") + (read (current-buffer)) + (buffer-substring + (point) (progn (skip-chars-forward "^\t ") + (point))))) + (cond + ((equal elem "macdef") + ;; We skip past the macro definition. + (widen) + (while (and (zerop (forward-line 1)) + (looking-at "$"))) + (narrow-to-region (point) (point))) + ((member elem tokens) + ;; Tokens that don't have a following value are ignored, + ;; except "default". + (when (and pair (or (cdr pair) + (equal (car pair) "default"))) + (push pair alist)) + (setq pair (list elem))) + (t + ;; Values that haven't got a preceding token are ignored. + (when pair + (setcdr pair elem) + (push pair alist) + (setq pair nil))))))) + (when alist + (push (nreverse alist) result)) + (setq alist nil + pair nil) + (widen) + (forward-line 1)) + (nreverse result)))))) (defun netrc-machine (list machine &optional port defaultport) "Return the netrc values from LIST for MACHINE or for the default entry. -- 2.39.2