diff options
| author | Miles Bader | 2009-02-05 02:34:34 +0000 |
|---|---|---|
| committer | Miles Bader | 2009-02-05 02:34:34 +0000 |
| commit | 3b36c17e9d67d74a8bc50e7a53a23da7d5f94e22 (patch) | |
| tree | c2ca87dc1f8bb06d2b0608ef939d51f0b28e5d2e | |
| parent | a9e2203dea54ba2d777e0df0415f65bb105272f1 (diff) | |
| download | emacs-3b36c17e9d67d74a8bc50e7a53a23da7d5f94e22.tar.gz emacs-3b36c17e9d67d74a8bc50e7a53a23da7d5f94e22.zip | |
Merge from gnus--devo--0
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1537
| -rw-r--r-- | doc/misc/ChangeLog | 4 | ||||
| -rw-r--r-- | doc/misc/gnus-news.texi | 2 | ||||
| -rw-r--r-- | etc/GNUS-NEWS | 4 | ||||
| -rw-r--r-- | lisp/ChangeLog | 10 | ||||
| -rw-r--r-- | lisp/gnus/ChangeLog | 19 | ||||
| -rw-r--r-- | lisp/gnus/auth-source.el | 17 | ||||
| -rw-r--r-- | lisp/gnus/mail-source.el | 28 | ||||
| -rw-r--r-- | lisp/gnus/nnimap.el | 8 | ||||
| -rw-r--r-- | lisp/gnus/nntp.el | 8 | ||||
| -rw-r--r-- | lisp/net/imap.el | 44 | ||||
| -rw-r--r-- | lisp/net/netrc.el | 21 |
11 files changed, 121 insertions, 44 deletions
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index d67f4d3a1b8..df6e4f88bfc 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog | |||
| @@ -1,3 +1,7 @@ | |||
| 1 | 2009-02-04 Reiner Steib <Reiner.Steib@gmx.de> | ||
| 2 | |||
| 3 | * gnus-news.texi: Print version about Incoming*. | ||
| 4 | |||
| 1 | 2009-02-02 Carsten Dominik <dominik@science.uva.nl> | 5 | 2009-02-02 Carsten Dominik <dominik@science.uva.nl> |
| 2 | 6 | ||
| 3 | * org.texi (Structure editing, Handling links) | 7 | * org.texi (Structure editing, Handling links) |
diff --git a/doc/misc/gnus-news.texi b/doc/misc/gnus-news.texi index f17850113de..09d7be56a7a 100644 --- a/doc/misc/gnus-news.texi +++ b/doc/misc/gnus-news.texi | |||
| @@ -91,7 +91,7 @@ EasyPG is included in Emacs 23 and available separately as well. | |||
| 91 | Old intermediate incoming mail files (@file{Incoming*}) are deleted | 91 | Old intermediate incoming mail files (@file{Incoming*}) are deleted |
| 92 | after a couple of days, not immediately. @xref{Mail Source | 92 | after a couple of days, not immediately. @xref{Mail Source |
| 93 | Customization}. | 93 | Customization}. |
| 94 | @c New in Gnus 5.10.10 / No Gnus 0.8 | 94 | (New in Gnus 5.10.10 / No Gnus 0.8) |
| 95 | @c This entry is also present in the node "Oort Gnus". | 95 | @c This entry is also present in the node "Oort Gnus". |
| 96 | 96 | ||
| 97 | @end itemize | 97 | @end itemize |
diff --git a/etc/GNUS-NEWS b/etc/GNUS-NEWS index 836c47a62aa..808db0de7b3 100644 --- a/etc/GNUS-NEWS +++ b/etc/GNUS-NEWS | |||
| @@ -83,7 +83,7 @@ with `K H'. *Note MIME Commands::. | |||
| 83 | 83 | ||
| 84 | ** International host names (IDNA) can now be decoded inside article bodies | 84 | ** International host names (IDNA) can now be decoded inside article bodies |
| 85 | using `W i' (`gnus-summary-idna-message'). This requires that GNU Libidn | 85 | using `W i' (`gnus-summary-idna-message'). This requires that GNU Libidn |
| 86 | (<http://www.gnu.org/software/libidn/>) has been installed. | 86 | (`http://www.gnu.org/software/libidn/') has been installed. |
| 87 | 87 | ||
| 88 | ** The non-ASCII group names handling has been much improved. The back | 88 | ** The non-ASCII group names handling has been much improved. The back |
| 89 | ends that fully support non-ASCII group names are now `nntp', `nnml', | 89 | ends that fully support non-ASCII group names are now `nntp', `nnml', |
| @@ -131,7 +131,7 @@ From Newsgroups::. | |||
| 131 | 131 | ||
| 132 | ** You can replace MIME parts with external bodies. See | 132 | ** You can replace MIME parts with external bodies. See |
| 133 | `gnus-mime-replace-part' and `gnus-article-replace-part'. *Note MIME | 133 | `gnus-mime-replace-part' and `gnus-article-replace-part'. *Note MIME |
| 134 | Commands::, *Note Using MIME::. | 134 | Commands::, *note Using MIME::. |
| 135 | 135 | ||
| 136 | ** The option `mm-fill-flowed' can be used to disable treatment of | 136 | ** The option `mm-fill-flowed' can be used to disable treatment of |
| 137 | format=flowed messages. Also, flowed text is disabled when sending | 137 | format=flowed messages. Also, flowed text is disabled when sending |
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a8343d9e12e..dadc4e735dd 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,13 @@ | |||
| 1 | 2009-02-04 Dave Love <fx@gnu.org> | ||
| 2 | |||
| 3 | * net/imap.el (imap-fetch-safe): Bind debug-on-error. | ||
| 4 | (imap-debug): Add imap-fetch-safe. | ||
| 5 | |||
| 6 | 2009-02-04 Teodor Zlatanov <tzlatanov@jumptrading.com> | ||
| 7 | |||
| 8 | * net/netrc.el (netrc-machine-user-or-password): Use list of | ||
| 9 | auth-source modes. | ||
| 10 | |||
| 1 | 2009-02-04 Nick Roberts <nickrob@snap.net.nz> | 11 | 2009-02-04 Nick Roberts <nickrob@snap.net.nz> |
| 2 | 12 | ||
| 3 | * vc-svn.el (vc-svn-diff): Revert previous change but add a test | 13 | * vc-svn.el (vc-svn-diff): Revert previous change but add a test |
diff --git a/lisp/gnus/ChangeLog b/lisp/gnus/ChangeLog index aefb2fd4cbb..4f244d71522 100644 --- a/lisp/gnus/ChangeLog +++ b/lisp/gnus/ChangeLog | |||
| @@ -3,6 +3,25 @@ | |||
| 3 | * gnus-sum.el (gnus-summary-next-article): XEmacs-friendly version of | 3 | * gnus-sum.el (gnus-summary-next-article): XEmacs-friendly version of |
| 4 | 2009-01-09 change. | 4 | 2009-01-09 change. |
| 5 | 5 | ||
| 6 | 2009-01-26 Teodor Zlatanov <tzlatanov@jumptrading.com> | ||
| 7 | |||
| 8 | * auth-source.el (auth-source-forget-user-or-password): Clarify docs. | ||
| 9 | (auth-source-forget-all-cached): New convenience function. | ||
| 10 | (auth-source-user-or-password): Accept list of modes or a single mode. | ||
| 11 | |||
| 12 | * mail-source.el (mail-source-bind, mail-source-set-1): Use list of | ||
| 13 | auth-source modes. | ||
| 14 | |||
| 15 | * nnimap.el (nnimap-open-connection): Use list of | ||
| 16 | auth-source modes. | ||
| 17 | |||
| 18 | * nntp.el (nntp-send-authinfo): Use list of | ||
| 19 | auth-source modes. | ||
| 20 | |||
| 21 | 2009-01-26 Teodor Zlatanov <tzz@lifelogs.com> | ||
| 22 | |||
| 23 | * nntp.el (nntp-send-authinfo): | ||
| 24 | |||
| 6 | 2009-01-16 Teodor Zlatanov <tzz@lifelogs.com> | 25 | 2009-01-16 Teodor Zlatanov <tzz@lifelogs.com> |
| 7 | 26 | ||
| 8 | * auth-source.el: Update docs to reflect epa-file-enable is to be used | 27 | * auth-source.el: Update docs to reflect epa-file-enable is to be used |
diff --git a/lisp/gnus/auth-source.el b/lisp/gnus/auth-source.el index 27de702b976..1bec08f076f 100644 --- a/lisp/gnus/auth-source.el +++ b/lisp/gnus/auth-source.el | |||
| @@ -163,12 +163,20 @@ Returns fallback choices (where PROTOCOL or HOST are nil) with FALLBACK t." | |||
| 163 | (interactive "slogin/password: \nsHost: \nsProtocol: \n") ;for testing | 163 | (interactive "slogin/password: \nsHost: \nsProtocol: \n") ;for testing |
| 164 | (remhash (format "%s %s:%s" mode host protocol) auth-source-cache)) | 164 | (remhash (format "%s %s:%s" mode host protocol) auth-source-cache)) |
| 165 | 165 | ||
| 166 | (defun auth-source-forget-all-cached () | ||
| 167 | "Forget all cached auth-source authentication tokens." | ||
| 168 | (interactive) | ||
| 169 | (setq auth-source-cache (make-hash-table :test 'equal))) | ||
| 170 | |||
| 166 | (defun auth-source-user-or-password (mode host protocol) | 171 | (defun auth-source-user-or-password (mode host protocol) |
| 167 | "Find user or password (from the string MODE) matching HOST and PROTOCOL." | 172 | "Find MODE (string or list of strings) matching HOST and PROTOCOL. |
| 173 | MODE can be \"login\" or \"password\" for example." | ||
| 168 | (gnus-message 9 | 174 | (gnus-message 9 |
| 169 | "auth-source-user-or-password: get %s for %s (%s)" | 175 | "auth-source-user-or-password: get %s for %s (%s)" |
| 170 | mode host protocol) | 176 | mode host protocol) |
| 171 | (let* ((cname (format "%s %s:%s" mode host protocol)) | 177 | (let* ((listy (listp mode)) |
| 178 | (mode (if listy mode (list mode))) | ||
| 179 | (cname (format "%s %s:%s" mode host protocol)) | ||
| 172 | (found (gethash cname auth-source-cache))) | 180 | (found (gethash cname auth-source-cache))) |
| 173 | (if found | 181 | (if found |
| 174 | (progn | 182 | (progn |
| @@ -176,7 +184,7 @@ Returns fallback choices (where PROTOCOL or HOST are nil) with FALLBACK t." | |||
| 176 | "auth-source-user-or-password: cached %s=%s for %s (%s)" | 184 | "auth-source-user-or-password: cached %s=%s for %s (%s)" |
| 177 | mode | 185 | mode |
| 178 | ;; don't show the password | 186 | ;; don't show the password |
| 179 | (if (equal mode "password") "SECRET" found) | 187 | (if (member "password" mode) "SECRET" found) |
| 180 | host protocol) | 188 | host protocol) |
| 181 | found) | 189 | found) |
| 182 | (dolist (choice (auth-source-pick host protocol)) | 190 | (dolist (choice (auth-source-pick host protocol)) |
| @@ -191,8 +199,9 @@ Returns fallback choices (where PROTOCOL or HOST are nil) with FALLBACK t." | |||
| 191 | "auth-source-user-or-password: found %s=%s for %s (%s)" | 199 | "auth-source-user-or-password: found %s=%s for %s (%s)" |
| 192 | mode | 200 | mode |
| 193 | ;; don't show the password | 201 | ;; don't show the password |
| 194 | (if (equal mode "password") "SECRET" found) | 202 | (if (member "password" mode) "SECRET" found) |
| 195 | host protocol) | 203 | host protocol) |
| 204 | (setq found (if listy found (car-safe found))) | ||
| 196 | (when auth-source-do-cache | 205 | (when auth-source-do-cache |
| 197 | (puthash cname found auth-source-cache))) | 206 | (puthash cname found auth-source-cache))) |
| 198 | (return found))))) | 207 | (return found))))) |
diff --git a/lisp/gnus/mail-source.el b/lisp/gnus/mail-source.el index f144e910410..7dbe30b91d8 100644 --- a/lisp/gnus/mail-source.el +++ b/lisp/gnus/mail-source.el | |||
| @@ -453,10 +453,11 @@ the `mail-source-keyword-map' variable." | |||
| 453 | (put 'mail-source-bind 'lisp-indent-function 1) | 453 | (put 'mail-source-bind 'lisp-indent-function 1) |
| 454 | (put 'mail-source-bind 'edebug-form-spec '(sexp body)) | 454 | (put 'mail-source-bind 'edebug-form-spec '(sexp body)) |
| 455 | 455 | ||
| 456 | ;; TODO: use the list format for auth-source-user-or-password modes | ||
| 456 | (defun mail-source-set-1 (source) | 457 | (defun mail-source-set-1 (source) |
| 457 | (let* ((type (pop source)) | 458 | (let* ((type (pop source)) |
| 458 | (defaults (cdr (assq type mail-source-keyword-map))) | 459 | (defaults (cdr (assq type mail-source-keyword-map))) |
| 459 | default value keyword user-auth pass-auth) | 460 | default value keyword auth-info user-auth pass-auth) |
| 460 | (while (setq default (pop defaults)) | 461 | (while (setq default (pop defaults)) |
| 461 | ;; for each default :SYMBOL, set SYMBOL to the plist value for :SYMBOL | 462 | ;; for each default :SYMBOL, set SYMBOL to the plist value for :SYMBOL |
| 462 | ;; using `mail-source-value' to evaluate the plist value | 463 | ;; using `mail-source-value' to evaluate the plist value |
| @@ -469,20 +470,21 @@ the `mail-source-keyword-map' variable." | |||
| 469 | ((and | 470 | ((and |
| 470 | (eq keyword :user) | 471 | (eq keyword :user) |
| 471 | (setq user-auth | 472 | (setq user-auth |
| 472 | (auth-source-user-or-password | 473 | (nth 0 (auth-source-user-or-password |
| 473 | "login" | 474 | '("login" "password") |
| 474 | ;; this is "host" in auth-sources | 475 | ;; this is "host" in auth-sources |
| 475 | (if (boundp 'server) (symbol-value 'server) "") | 476 | (if (boundp 'server) (symbol-value 'server) "") |
| 476 | type))) | 477 | type)))) |
| 477 | user-auth) | 478 | user-auth) |
| 478 | ((and | 479 | ((and |
| 479 | (eq keyword :password) | 480 | (eq keyword :password) |
| 480 | (setq pass-auth | 481 | (setq pass-auth |
| 481 | (auth-source-user-or-password | 482 | (nth 1 |
| 482 | "password" | 483 | (auth-source-user-or-password |
| 483 | ;; this is "host" in auth-sources | 484 | '("login" "password") |
| 484 | (if (boundp 'server) (symbol-value 'server) "") | 485 | ;; this is "host" in auth-sources |
| 485 | type))) | 486 | (if (boundp 'server) (symbol-value 'server) "") |
| 487 | type)))) | ||
| 486 | pass-auth) | 488 | pass-auth) |
| 487 | (t (if (setq value (plist-get source keyword)) | 489 | (t (if (setq value (plist-get source keyword)) |
| 488 | (mail-source-value value) | 490 | (mail-source-value value) |
diff --git a/lisp/gnus/nnimap.el b/lisp/gnus/nnimap.el index 87edde6a77b..cfcad522b45 100644 --- a/lisp/gnus/nnimap.el +++ b/lisp/gnus/nnimap.el | |||
| @@ -805,8 +805,12 @@ If EXAMINE is non-nil the group is selected read-only." | |||
| 805 | (port (if nnimap-server-port | 805 | (port (if nnimap-server-port |
| 806 | (int-to-string nnimap-server-port) | 806 | (int-to-string nnimap-server-port) |
| 807 | "imap")) | 807 | "imap")) |
| 808 | (auth-info | ||
| 809 | (auth-source-user-or-password '("login" "password") server port)) | ||
| 810 | (auth-user (nth 0 auth-info)) | ||
| 811 | (auth-passwd (nth 1 auth-info)) | ||
| 808 | (user (or | 812 | (user (or |
| 809 | (auth-source-user-or-password "login" server port) ; this is preferred to netrc-* | 813 | auth-user ; this is preferred to netrc-* |
| 810 | (netrc-machine-user-or-password | 814 | (netrc-machine-user-or-password |
| 811 | "login" | 815 | "login" |
| 812 | list | 816 | list |
| @@ -816,7 +820,7 @@ If EXAMINE is non-nil the group is selected read-only." | |||
| 816 | (list port) | 820 | (list port) |
| 817 | (list "imap" "imaps" "143" "993")))) | 821 | (list "imap" "imaps" "143" "993")))) |
| 818 | (passwd (or | 822 | (passwd (or |
| 819 | (auth-source-user-or-password "password" server port) ; this is preferred to netrc-* | 823 | auth-passwd ; this is preferred to netrc-* |
| 820 | (netrc-machine-user-or-password | 824 | (netrc-machine-user-or-password |
| 821 | "password" | 825 | "password" |
| 822 | list | 826 | list |
diff --git a/lisp/gnus/nntp.el b/lisp/gnus/nntp.el index 6e9978d4c32..8a6c9a2d78a 100644 --- a/lisp/gnus/nntp.el +++ b/lisp/gnus/nntp.el | |||
| @@ -1179,14 +1179,18 @@ If SEND-IF-FORCE, only send authinfo to the server if the | |||
| 1179 | (let* ((list (netrc-parse nntp-authinfo-file)) | 1179 | (let* ((list (netrc-parse nntp-authinfo-file)) |
| 1180 | (alist (netrc-machine list nntp-address "nntp")) | 1180 | (alist (netrc-machine list nntp-address "nntp")) |
| 1181 | (force (or (netrc-get alist "force") nntp-authinfo-force)) | 1181 | (force (or (netrc-get alist "force") nntp-authinfo-force)) |
| 1182 | (auth-info | ||
| 1183 | (auth-source-user-or-password '("login" "password") nntp-address "nntp")) | ||
| 1184 | (auth-user (nth 0 auth-info)) | ||
| 1185 | (auth-passwd (nth 1 auth-info)) | ||
| 1182 | (user (or | 1186 | (user (or |
| 1183 | ;; this is preferred to netrc-* | 1187 | ;; this is preferred to netrc-* |
| 1184 | (auth-source-user-or-password "login" nntp-address "nntp") | 1188 | auth-user |
| 1185 | (netrc-get alist "login") | 1189 | (netrc-get alist "login") |
| 1186 | nntp-authinfo-user)) | 1190 | nntp-authinfo-user)) |
| 1187 | (passwd (or | 1191 | (passwd (or |
| 1188 | ;; this is preferred to netrc-* | 1192 | ;; this is preferred to netrc-* |
| 1189 | (auth-source-user-or-password "password" nntp-address "nntp") | 1193 | auth-passwd |
| 1190 | (netrc-get alist "password")))) | 1194 | (netrc-get alist "password")))) |
| 1191 | (when (or (not send-if-force) | 1195 | (when (or (not send-if-force) |
| 1192 | force) | 1196 | force) |
diff --git a/lisp/net/imap.el b/lisp/net/imap.el index 6f2b2d11f97..88e897fa32e 100644 --- a/lisp/net/imap.el +++ b/lisp/net/imap.el | |||
| @@ -1798,25 +1798,38 @@ However, UIDS here is a cons, where the car is the canonical form | |||
| 1798 | of the UIDS specification, and the cdr is the one which works with | 1798 | of the UIDS specification, and the cdr is the one which works with |
| 1799 | Exchange 2007 or, potentially, other buggy servers. | 1799 | Exchange 2007 or, potentially, other buggy servers. |
| 1800 | See `imap-enable-exchange-bug-workaround'." | 1800 | See `imap-enable-exchange-bug-workaround'." |
| 1801 | ;; We don't unconditionally use the alternative (valid) form, since | 1801 | ;; The first time we get here for a given, we'll try the canonical |
| 1802 | ;; this is said to be significantly inefficient. The first time we | 1802 | ;; form. If we get the known error from the buggy server, set the |
| 1803 | ;; get here for a given, we'll try the canonical form. If we get | 1803 | ;; flag buffer-locally (to account for connections to multiple |
| 1804 | ;; the known error from the buggy server, set the flag | 1804 | ;; servers), then re-try with the alternative UIDS spec. We don't |
| 1805 | ;; buffer-locally (to account for connections to multiple servers), | 1805 | ;; unconditionally use the alternative form, since the |
| 1806 | ;; then re-try with the alternative UIDS spec. | 1806 | ;; currently-used alternatives are seriously inefficient with some |
| 1807 | ;; servers (although they are valid). | ||
| 1808 | ;; | ||
| 1809 | ;; FIXME: Maybe it would be cleaner to have a flag to not signal | ||
| 1810 | ;; the error (which otherwise gives a message), and test | ||
| 1811 | ;; `imap-failed-tags'. Also, Other IMAP clients use other forms of | ||
| 1812 | ;; request which work with Exchange, e.g. Claws does "UID FETCH 1:* | ||
| 1813 | ;; (UID)" rather than "FETCH UID 1,*". Is there a good reason not | ||
| 1814 | ;; to do the same? | ||
| 1807 | (condition-case data | 1815 | (condition-case data |
| 1808 | (imap-fetch (if imap-enable-exchange-bug-workaround | 1816 | ;; Binding `debug-on-error' allows us to get the error from |
| 1809 | (cdr uids) | 1817 | ;; `imap-parse-response' -- it's normally caught by Emacs around |
| 1810 | (car uids)) | 1818 | ;; execution of a process filter. |
| 1811 | props receive nouidfetch buffer) | 1819 | (let ((debug-on-error t)) |
| 1820 | (imap-fetch (if imap-enable-exchange-bug-workaround | ||
| 1821 | (cdr uids) | ||
| 1822 | (car uids)) | ||
| 1823 | props receive nouidfetch buffer)) | ||
| 1812 | (error | 1824 | (error |
| 1813 | (if (and (not imap-enable-exchange-bug-workaround) | 1825 | (if (and (not imap-enable-exchange-bug-workaround) |
| 1814 | (string-match | 1826 | ;; This is the Exchange 2007 response. It may be more |
| 1815 | "The specified message set is invalid" | 1827 | ;; robust just to check for a BAD response to the |
| 1816 | (cadr data))) | 1828 | ;; attempted fetch. |
| 1829 | (string-match "The specified message set is invalid" | ||
| 1830 | (cadr data))) | ||
| 1817 | (with-current-buffer (or buffer (current-buffer)) | 1831 | (with-current-buffer (or buffer (current-buffer)) |
| 1818 | (set (make-local-variable | 1832 | (set (make-local-variable 'imap-enable-exchange-bug-workaround) |
| 1819 | 'imap-enable-exchange-bug-workaround) | ||
| 1820 | t) | 1833 | t) |
| 1821 | (imap-fetch (cdr uids) props receive nouidfetch)) | 1834 | (imap-fetch (cdr uids) props receive nouidfetch)) |
| 1822 | (signal (car data) (cdr data)))))) | 1835 | (signal (car data) (cdr data)))))) |
| @@ -3027,6 +3040,7 @@ Return nil if no complete line has arrived." | |||
| 3027 | imap-list-to-message-set | 3040 | imap-list-to-message-set |
| 3028 | imap-fetch-asynch | 3041 | imap-fetch-asynch |
| 3029 | imap-fetch | 3042 | imap-fetch |
| 3043 | imap-fetch-safe | ||
| 3030 | imap-message-put | 3044 | imap-message-put |
| 3031 | imap-message-get | 3045 | imap-message-get |
| 3032 | imap-message-map | 3046 | imap-message-map |
diff --git a/lisp/net/netrc.el b/lisp/net/netrc.el index 9c7f0176ef8..80ae1b57ba3 100644 --- a/lisp/net/netrc.el +++ b/lisp/net/netrc.el | |||
| @@ -158,11 +158,22 @@ MODE can be \"login\" or \"password\", suitable for passing to | |||
| 158 | (ports (or ports '(nil))) | 158 | (ports (or ports '(nil))) |
| 159 | (defaults (or defaults '(nil))) | 159 | (defaults (or defaults '(nil))) |
| 160 | info) | 160 | info) |
| 161 | (dolist (machine machines) | 161 | (if (listp mode) |
| 162 | (dolist (default defaults) | 162 | (setq info |
| 163 | (dolist (port ports) | 163 | (mapcar |
| 164 | (let ((alist (netrc-machine authinfo-list machine port default))) | 164 | (lambda (mode-element) |
| 165 | (setq info (or (netrc-get alist mode) info)))))) | 165 | (netrc-machine-user-or-password |
| 166 | mode-element | ||
| 167 | authinfo-list | ||
| 168 | machines | ||
| 169 | ports | ||
| 170 | defaults)) | ||
| 171 | mode)) | ||
| 172 | (dolist (machine machines) | ||
| 173 | (dolist (default defaults) | ||
| 174 | (dolist (port ports) | ||
| 175 | (let ((alist (netrc-machine authinfo-list machine port default))) | ||
| 176 | (setq info (or (netrc-get alist mode) info))))))) | ||
| 166 | info)) | 177 | info)) |
| 167 | 178 | ||
| 168 | (defun netrc-get (alist type) | 179 | (defun netrc-get (alist type) |