gnus.texi (Window Layout): Document layout names.
nntp.el (nntp-finish-retrieve-group-infos): Add a kludge to use the given method as in the group name if we're using an extended method.
(nntp-finish-retrieve-group-infos): Wait for the end of the LIST ACTIVE command, if we're using that, instead of waiting for the beginning.
gnus-start.el (gnus-get-unread-articles): Extend the methods so that we're sure to get unique server names, and we don't output two async commands in the same buffer. This fixes an NNTP hang for some users.
netrc.el (netrc-parse): Comment fix.
gnus-sum.el (gnus-summary-next-article): Add a kludge to reselect the summary buffer before reading going to the next buffer. This avoids putting the point in the group buffer if you `C-g' the command.
auth-source.el (auth-source-netrc-parse): Add an in-memory netrc cache (for now) to make ~/.authinfo.gpg files usable.
nnfolder.el (copyright-update): Define for the compiler.
auth-source.el (auth-source-search): Fix unbound variable.
+2011-02-20 Lars Ingebrigtsen <larsi@gnus.org>
+
+ * gnus.texi (Window Layout): Document layout names.
+
2011-02-19 Eli Zaretskii <eliz@gnu.org>
* ada-mode.texi: Sync @dircategory with ../../info/dir.
to fiddle with @code{gnus-tree-minimize-window} to avoid having the
windows resized.
+@subsection Window Configuration Names
+
+Here's a list of most of the currently known window configurations,
+and when they're used:
+
+@itemize @code
+@item group
+The group buffer.
+
+@item summary
+Entering a group and showing only the summary.
+
+@item article
+Selecting an article.
+
+@item server
+The server buffer.
+
+@item browse
+Browsing groups from the server buffer.
+
+@item message
+Composing a (new) message.
+
+@item only-article
+Showing only the article buffer.
+
+@item edit-article
+Editing an article.
+
+@item edit-form
+Editing group parameters and the like.
+
+@item edit-score
+Editing a server definition.
+
+@item post
+Composing a news message.
+
+@item reply
+Replying or following up an article without yanking the text.
+
+@item forward
+Forwarding a message.
+
+@item reply-yank
+Replying or following up an article with yanking the text.
+
+@item mail-bound
+Bouncing a message.
+
+@item pipe
+Sending an article to an external process.
+
+@item bug
+Sending a bug report.
+
+@item score-trace
+Displaying the score trace.
+
+@item score-words
+Displaying the score words.
+
+@item split-trace
+Displaying the split trace.
+
+@item compose-bounce
+Composing a bounce message.
+
+@item mml-preview
+Previewing a @acronym{MIME} part.
+
+@end itemize
+
+
@subsection Example Window Configurations
@itemize @bullet
+2011-02-21 Lars Ingebrigtsen <larsi@gnus.org>
+
+ * net/netrc.el (netrc-parse): Comment fix.
+
2011-02-21 Chong Yidong <cyd@stupidchicken.com>
* color.el (color-name-to-rgb): Rename from color-rgb->normalize.
color-rgb-to-hex, color-name-to-rgb, color-srgb-to-lab, and
color-lab-to-srgb.
+2011-02-21 Lars Ingebrigtsen <larsi@gnus.org>
+
+ * nntp.el (nntp-finish-retrieve-group-infos): Add a kludge to use the
+ given method as in the group name if we're using an extended method.
+ (nntp-finish-retrieve-group-infos): Wait for the end of the LIST ACTIVE
+ command, if we're using that, instead of waiting for the beginning.
+
+ * gnus-start.el (gnus-get-unread-articles): Extend the methods so that
+ we're sure to get unique server names, and we don't output two async
+ commands in the same buffer. This fixes an NNTP hang for some users.
+
+2011-02-21 Lars Ingebrigtsen <larsi@gnus.org>
+
+ * gnus-sum.el (gnus-summary-next-article): Add a kludge to reselect the
+ summary buffer before reading going to the next buffer. This avoids
+ putting the point in the group buffer if you `C-g' the command.
+
+ * auth-source.el (auth-source-netrc-parse): Add an in-memory netrc
+ cache (for now) to make ~/.authinfo.gpg files usable.
+
+ * nnfolder.el (copyright-update): Define for the compiler.
+
+ * auth-source.el (auth-source-search): Fix unbound variable.
+
2011-02-19 Glenn Morris <rgm@gnu.org>
* gnus.el (gnus-meta): Doc fix.
unless (memq (nth i spec) ignored-keys)
collect (nth i spec)))
(found (auth-source-recall spec))
- filtered-backends accessor-key found-here goal matches)
+ filtered-backends accessor-key found-here goal matches backend)
(if (and found auth-source-do-cache)
(auth-source-do-debug
;;; Backend specific parsing: netrc/authinfo backend
+(defvar auth-source-netrc-cache nil)
+
;;; (auth-source-netrc-parse "~/.authinfo.gpg")
(defun* auth-source-netrc-parse (&rest
spec
(max (or max 5000)) ; sanity check: default to stop at 5K
(modified 0)
alist elem result pair)
- (insert-file-contents file)
+ (if (and auth-source-netrc-cache
+ (equal (car auth-source-netrc-cache)
+ (nth 5 (file-attributes file))))
+ (insert (base64-decode-string
+ (rot13-string (cdr auth-source-netrc-cache))))
+ (insert-file-contents file)
+ (when (string-match "\\.gpg\\'" file)
+ ;; Store the contents of the file heavily encrypted in memory.
+ (setq auth-source-netrc-cache
+ (cons (nth 5 (file-attributes file))
+ (rot13-string
+ (base64-encode-string
+ (buffer-string)))))))
(goto-char (point-min))
;; Go through the file, line by line.
(while (and (not (eobp))
(lambda (c1 c2)
(< (gnus-method-rank (cadr c1) (car c1))
(gnus-method-rank (cadr c2) (car c2))))))
-
+ ;; Go through the list of servers and possibly extend methods that
+ ;; aren't equal (and that need extension; i.e., they are async).
+ (let ((methods nil))
+ (dolist (elem type-cache)
+ (destructuring-bind (method method-type infos dummy) elem
+ (let ((gnus-opened-servers methods))
+ (when (and (gnus-similar-server-opened method)
+ (gnus-check-backend-function
+ 'retrieve-group-data-early (car method)))
+ (setq method (gnus-server-extend-method
+ (gnus-info-group (car infos))
+ method))
+ (setcar elem method))
+ (push (list method 'ok) methods)))))
;; Start early async retrieval of data.
(dolist (elem type-cache)
(destructuring-bind (method method-type infos dummy) elem
(point
(with-current-buffer gnus-group-buffer
(point)))
+ (current-summary (current-buffer))
(group
(if (eq gnus-keep-same-level 'best)
(gnus-summary-best-group gnus-newsgroup-name)
(gnus-summary-next-group nil group backward)))
(t
(when (gnus-key-press-event-p last-input-event)
+ ;; Somehow or other, we may now have selected a different
+ ;; window. Make point go back to the summary buffer.
+ (when (eq current-summary (current-buffer))
+ (select-window (get-buffer-window current-summary)))
(gnus-summary-walk-group-buffer
gnus-newsgroup-name cmd unread backward point))))))))
(or nnfolder-nov-directory nnfolder-directory)))
(concat (nnfolder-group-pathname group) nnfolder-nov-file-suffix)))
+(defvar copyright-update)
+
(defun nnfolder-save-buffer ()
"Save the buffer."
(when (buffer-modified-p)
(progn
(goto-char last-point)
;; Count replies.
- (while (re-search-forward "^[0-9]" nil t)
+ (while (re-search-forward
+ (if nntp-server-list-active-group
+ "^[.]"
+ "^[0-9]")
+ nil t)
(incf received))
(setq last-point (point))
(< received count)))
(progn (forward-line 1) (point))))
(nntp-copy-to-buffer nntp-server-buffer (point-min) (point-max))
(with-current-buffer nntp-server-buffer
- (gnus-active-to-gnus-format method gnus-active-hashtb
- nil t))))))))
+ (gnus-active-to-gnus-format
+ ;; Kludge to use the extended method name if you have
+ ;; an extended one.
+ (if (consp (gnus-info-method (car infos)))
+ (gnus-info-method (car infos))
+ method)
+ gnus-active-hashtb nil t))))))))
(deffoo nntp-retrieve-groups (groups &optional server)
"Retrieve group info on GROUPS."
alist elem result pair)
(if (and netrc-cache
(equal (car netrc-cache) (nth 5 (file-attributes file))))
- ;; Store the contents of the file heavily encrypted in memory.
(insert (base64-decode-string (rot13-string (cdr netrc-cache))))
(insert-file-contents file)
(when (string-match "\\.gpg\\'" file)
+ ;; Store the contents of the file heavily encrypted in memory.
(setq netrc-cache (cons (nth 5 (file-attributes file))
(rot13-string
(base64-encode-string