X-Git-Url: http://cgit.sxemacs.org/?a=blobdiff_plain;f=lisp%2Fgnus-int.el;h=edf611976381973ad15aa2972aa31e1ffc4a32d1;hb=286dc18fd9d9f1d9f215ce3e7b1a4abe788d401e;hp=b69229965a7bab042a35f917d07e9f6e7f515240;hpb=c55bbf686865c53a896d7829e855d7317c2e5828;p=gnus diff --git a/lisp/gnus-int.el b/lisp/gnus-int.el index b69229965..edf611976 100644 --- a/lisp/gnus-int.el +++ b/lisp/gnus-int.el @@ -1,6 +1,6 @@ ;;; gnus-int.el --- backend interface functions for Gnus -;; Copyright (C) 1996-2012 Free Software Foundation, Inc. +;; Copyright (C) 1996-2014 Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen ;; Keywords: news @@ -113,7 +113,8 @@ If CONFIRM is non-nil, the user will be asked for an NNTP server." (setq gnus-nntp-server (gnus-completing-read "NNTP server" (cons gnus-nntp-server - gnus-secondary-servers) + (if (boundp 'gnus-secondary-servers) + gnus-secondary-servers)) nil gnus-nntp-server))) (when (and gnus-nntp-server @@ -248,13 +249,20 @@ If it is down, start it up (again)." 'denied)) (defvar gnus-backend-trace nil) +(defvar gnus-backend-trace-elapsed nil) (defun gnus-backend-trace (type form) - (with-current-buffer (get-buffer-create "*gnus trace*") - (buffer-disable-undo) + (when gnus-backend-trace + (with-current-buffer (get-buffer-create "*gnus trace*") + (buffer-disable-undo) (goto-char (point-max)) (insert (format-time-string "%H:%M:%S") - (format " %s %S\n" type form)))) + (format " %.2fs %s %S\n" + (if (numberp gnus-backend-trace-elapsed) + (- (float-time) gnus-backend-trace-elapsed) + 0) + type form)) + (setq gnus-backend-trace-elapsed (float-time))))) (defun gnus-open-server (gnus-command-method) "Open a connection to GNUS-COMMAND-METHOD." @@ -295,7 +303,7 @@ If it is down, start it up (again)." (setcar (cdr elem) (cond (result - (if (eq open-server-function #'nnagent-open-server) + (if (eq open-server-function 'nnagent-open-server) ;; The agent's backend has a "special" status 'offline 'ok)) @@ -575,18 +583,18 @@ This is the string that Gnus uses to identify the group." (gnus-group-method group))) (defun gnus-warp-to-article () - "Warps from an article in a virtual group to the article in its -real group. Does nothing on a real group." + "Look up the current article in the group where it originated. +This command only makes sense for groups shows articles gathered +from other groups -- for instance, search results and the like." (interactive) - (when (gnus-virtual-group-p gnus-newsgroup-name) - (let ((gnus-command-method - (gnus-find-method-for-group gnus-newsgroup-name))) - (or - (when (gnus-check-backend-function - 'warp-to-article (car gnus-command-method)) - (funcall (gnus-get-function gnus-command-method 'warp-to-article))) - (and (bound-and-true-p gnus-registry-enabled) - (gnus-try-warping-via-registry)))))) + (let ((gnus-command-method + (gnus-find-method-for-group gnus-newsgroup-name))) + (or + (when (gnus-check-backend-function + 'warp-to-article (car gnus-command-method)) + (funcall (gnus-get-function gnus-command-method 'warp-to-article))) + (and (bound-and-true-p gnus-registry-enabled) + (gnus-try-warping-via-registry))))) (defun gnus-request-head (article group) "Request the head of ARTICLE in GROUP." @@ -746,7 +754,6 @@ If GROUP is nil, all groups on GNUS-COMMAND-METHOD are scanned." (defun gnus-request-accept-article (group &optional gnus-command-method last no-encode) - ;; Make sure there's a newline at the end of the article. (when (stringp gnus-command-method) (setq gnus-command-method (gnus-server-to-method gnus-command-method))) (when (and (not gnus-command-method) @@ -754,6 +761,7 @@ If GROUP is nil, all groups on GNUS-COMMAND-METHOD are scanned." (setq gnus-command-method (or (gnus-find-method-for-group group) (gnus-group-name-to-method group)))) (goto-char (point-max)) + ;; Make sure there's a newline at the end of the article. (unless (bolp) (insert "\n")) (unless no-encode