From 2d7c41cebb574d515fb99ba3ccfed163b15ec685 Mon Sep 17 00:00:00 2001 From: yamaoka Date: Wed, 3 Mar 2004 22:18:59 +0000 Subject: [PATCH] Synch to No Gnus 200403031827. --- lisp/ChangeLog | 3 + lisp/gnus-agent.el | 83 ++++++++-------- texi/ChangeLog | 7 ++ texi/Makefile.in | 4 +- texi/sasl.texi | 265 ---------------------------------------------------- texi/texi2latex.el | 7 +- 6 files changed, 59 insertions(+), 310 deletions(-) delete mode 100644 texi/sasl.texi diff --git a/lisp/ChangeLog b/lisp/ChangeLog index a935f14..dc1c752 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,5 +1,8 @@ 2004-03-03 Per Abrahamsen + * gnus-agent.el (gnus-agent-read-local, gnus-agent-save-local): + Don't bind "obarray". + * gnus-sum.el (gnus-thread-sort-functions): Added `gnus-thread-sort-by-most-recent-number' and `gnus-thread-sort-by-most-recent-date'. diff --git a/lisp/gnus-agent.el b/lisp/gnus-agent.el index ac595e8..6bcbd0c 100644 --- a/lisp/gnus-agent.el +++ b/lisp/gnus-agent.el @@ -1,5 +1,5 @@ ;;; gnus-agent.el --- unplugged support for Semi-gnus -;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003 +;; Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 ;; Free Software Foundation, Inc. ;; Author: Lars Magne Ingebrigtsen @@ -1868,54 +1868,56 @@ modified) original contents, they are first saved to their own file." (defun gnus-agent-read-local (file) "Load FILE and do a `read' there." - (let ((obarray (gnus-make-hashtable (count-lines (point-min) (point-max)))) + (let ((my-obarray (gnus-make-hashtable (count-lines (point-min) + (point-max)))) (line 1)) - (with-temp-buffer - (condition-case nil - (nnheader-insert-file-contents file) - (file-error)) + (with-temp-buffer + (condition-case nil + (nnheader-insert-file-contents file) + (file-error)) - (goto-char (point-min)) - ;; Skip any comments at the beginning of the file (the only place where they may appear) - (while (= (following-char) ?\;) - (forward-line 1) - (setq line (1+ line))) - - (while (not (eobp)) - (condition-case err - (let (group - min - max - (cur (current-buffer))) - (setq group (read cur) - min (read cur) - max (read cur)) - - (when (stringp group) - (setq group (intern group obarray))) - - ;; NOTE: The '+ 0' ensure that min and max are both numerics. - (set group (cons (+ 0 min) (+ 0 max)))) - (error - (gnus-message 3 "Warning - invalid agent local: %s on line %d: " file line (error-message-string err)))) - (forward-line 1) - (setq line (1+ line)))) + (goto-char (point-min)) + ;; Skip any comments at the beginning of the file (the only place where they may appear) + (while (= (following-char) ?\;) + (forward-line 1) + (setq line (1+ line))) + + (while (not (eobp)) + (condition-case err + (let (group + min + max + (cur (current-buffer))) + (setq group (read cur) + min (read cur) + max (read cur)) + + (when (stringp group) + (setq group (intern group my-obarray))) + + ;; NOTE: The '+ 0' ensure that min and max are both numerics. + (set group (cons (+ 0 min) (+ 0 max)))) + (error + (gnus-message 3 "Warning - invalid agent local: %s on line %d: " + file line (error-message-string err)))) + (forward-line 1) + (setq line (1+ line)))) - (set (intern "+dirty" obarray) nil) - (set (intern "+method" obarray) gnus-command-method) - obarray)) + (set (intern "+dirty" my-obarray) nil) + (set (intern "+method" my-obarray) gnus-command-method) + my-obarray)) (defun gnus-agent-save-local (&optional force) "Save gnus-agent-article-local under it method's agent.lib directory." - (let ((obarray gnus-agent-article-local)) - (when (and obarray - (or force (symbol-value (intern "+dirty" obarray)))) - (let* ((gnus-command-method (symbol-value (intern "+method" obarray))) + (let ((my-obarray gnus-agent-article-local)) + (when (and my-obarray + (or force (symbol-value (intern "+dirty" my-obarray)))) + (let* ((gnus-command-method (symbol-value (intern "+method" my-obarray))) ;; NOTE: gnus-command-method is used within gnus-agent-lib-file. (dest (gnus-agent-lib-file "local"))) (gnus-make-directory (gnus-agent-lib-file "")) (with-temp-file dest - (let ((gnus-command-method (symbol-value (intern "+method" obarray))) + (let ((gnus-command-method (symbol-value (intern "+method" my-obarray))) (file-name-coding-system nnmail-pathname-coding-system) (coding-system-for-write gnus-agent-file-coding-system) @@ -1933,7 +1935,8 @@ modified) original contents, they are first saved to their own file." (princ (car range)) (princ " ") (princ (cdr range)) - (princ "\n")))))))))))) + (princ "\n"))))) + my-obarray))))))) (defun gnus-agent-get-local (group) (let* ((gmane (gnus-group-real-name group)) diff --git a/texi/ChangeLog b/texi/ChangeLog index d0da138..cdd093b 100644 --- a/texi/ChangeLog +++ b/texi/ChangeLog @@ -1,3 +1,10 @@ +2004-03-03 Jesper Harder + + * Makefile.in: Add gnus-news. + + * texi2latex.el (latexi-translate): Add gnus-news. + (latexi-translate-file): Add @documentencoding. + 2004-03-03 Katsumi Yamaoka * gnus.texi: Enclose the iflatex section with iftex. diff --git a/texi/Makefile.in b/texi/Makefile.in index 6db9045..039e182 100644 --- a/texi/Makefile.in +++ b/texi/Makefile.in @@ -142,9 +142,9 @@ makeinfo: texi2latex.elc: texi2latex.el srcdir=$(srcdir)/../lisp $(EMACSCOMP) -l $(srcdir)/../lisp/dgnushack.el --eval '(byte-compile-file "$(srcdir)/texi2latex.el")' -latex: gnus.latexi gnus-faq.latexi message.latexi emacs-mime.latexi sieve.latexi +latex: gnus.latexi gnus-faq.latexi message.latexi emacs-mime.latexi sieve.latexi gnus-news.latexi -gnus.latexi gnus-faq.latexi message.latexi emacs-mime.latexi sieve.latexi: $(srcdir)/gnus.texi $(srcdir)/gnus-faq.texi $(srcdir)/message.texi $(srcdir)/emacs-mime.texi $(srcdir)/sieve.texi texi2latex.elc +gnus.latexi gnus-faq.latexi message.latexi emacs-mime.latexi sieve.latexi gnus-news.latexi: $(srcdir)/gnus.texi $(srcdir)/gnus-faq.texi $(srcdir)/message.texi $(srcdir)/emacs-mime.texi $(srcdir)/sieve.texi $(srcdir)/gnus-news.texi texi2latex.elc srcdir=$(srcdir) $(EMACSCOMP) -l ./texi2latex.elc -f latexi-translate .latexi.dvi-x: diff --git a/texi/sasl.texi b/texi/sasl.texi deleted file mode 100644 index 8d73326..0000000 --- a/texi/sasl.texi +++ /dev/null @@ -1,265 +0,0 @@ -\input texinfo @c -*-texinfo-*- - -@setfilename sasl.info - -@set VERSION 0.2 - -@dircategory Emacs -@direntry -* SASL: (sasl). The Emacs SASL library. -@end direntry - -@settitle Emacs SASL Library @value{VERSION} - -@ifinfo -This file describes the Emacs SASL library. - -Copyright (C) 2000 Daiki Ueno. - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the section entitled "GNU -Free Documentation License". -@end ifinfo - -@tex - -@titlepage -@title Emacs SASL Library - -@author by Daiki Ueno -@page - -@vskip 0pt plus 1filll -Copyright @copyright{} 2000 Daiki Ueno. - -Permission is granted to copy, distribute and/or modify this document -under the terms of the GNU Free Documentation License, Version 1.1 or -any later version published by the Free Software Foundation; with no -Invariant Sections, with no Front-Cover Texts, and with no Back-Cover -Texts. A copy of the license is included in the section entitled "GNU -Free Documentation License". -@end titlepage -@page - -@end tex - -@node Top -@top Emacs SASL -This manual describes the Emacs SASL library. - -A common interface to share several authentication mechanisms between -applications using different protocols. - -@menu -* Overview:: What Emacs SASL library is. -* How to use:: Adding authentication support to your applications. -* Data types:: -* Backend drivers:: Writing your own drivers. -* Index:: -* Function Index:: -* Variable Index:: -@end menu - -@node Overview -@chapter Overview - -@sc{sasl} is short for @dfn{Simple Authentication and Security Layer}. -This standard is documented in RFC2222. It provides a simple method for -adding authentication support to various application protocols. - -The toplevel interface of this library is inspired by Java @sc{sasl} -Application Program Interface. It defines an abstraction over a series -of authentication mechanism drivers (@ref{Backend drivers}). - -Backend drivers are designed to be close as possible to the -authentication mechanism. You can access the additional configuration -information anywhere from the implementation. - -@node How to use -@chapter How to use - -(Not yet written). - -To use Emacs SASL library, please evaluate following expression at the -beginning of your application program. - -@lisp -(require 'sasl) -@end lisp - -If you want to check existence of sasl.el at runtime, instead you -can list autoload settings for functions you want. - -@node Data types -@chapter Data types - -There are three data types to be used for carrying a negotiated -security layer---a mechanism, a client parameter and an authentication -step. - -@menu -* Mechanisms:: -* Clients:: -* Steps:: -@end menu - -@node Mechanisms -@section Mechanisms - -A mechanism (@code{sasl-mechanism} object) is a schema of the @sc{sasl} -authentication mechanism driver. - -@defvar sasl-mechanisms -A list of mechanism names. -@end defvar - -@defun sasl-find-mechanism mechanisms - -Retrieve an apropriate mechanism. -This function compares @var{mechanisms} and @code{sasl-mechanisms} then -returns apropriate @code{sasl-mechanism} object. - -@example -(let ((sasl-mechanisms '("CRAM-MD5" "DIGEST-MD5"))) - (setq mechanism (sasl-find-mechanism server-supported-mechanisms))) -@end example - -@end defun - -@defun sasl-mechanism-name mechanism -Return name of mechanism, a string. -@end defun - -If you want to write an authentication mechanism driver (@ref{Backend -drivers}), use @code{sasl-make-mechanism} and modify -@code{sasl-mechanisms} and @code{sasl-mechanism-alist} correctly. - -@defun sasl-make-mechanism name steps -Allocate a @code{sasl-mechanism} object. -This function takes two parameters---name of the mechanism, and a list -of authentication functions. - -@example -(defconst sasl-anonymous-steps - '(identity ;no initial response - sasl-anonymous-response)) - -(put 'sasl-anonymous 'sasl-mechanism - (sasl-make-mechanism "ANONYMOUS" sasl-anonymous-steps)) -@end example - -@end defun - -@node Clients -@section Clients - -A client (@code{sasl-client} object) initialized with four -parameters---a mechanism, a user name, name of the service and name of -the server. - -@defun sasl-make-client mechanism name service server -Prepare a @code{sasl-client} object. -@end defun - -@defun sasl-client-mechanism client -Return the mechanism (@code{sasl-mechanism} object) of client. -@end defun - -@defun sasl-client-name client -Return the authorization name of client, a string. -@end defun - -@defun sasl-client-service client -Return the service name of client, a string. -@end defun - -@defun sasl-client-server client -Return the server name of client, a string. -@end defun - -If you want to specify additional configuration properties, please use -@code{sasl-client-set-property}. - -@defun sasl-client-set-property client property value -Add the given property/value to client. -@end defun - -@defun sasl-client-property client property -Return the value of the property of client. -@end defun - -@defun sasl-client-set-properties client plist -Destructively set the properties of client. -The second argument is the new property list. -@end defun - -@defun sasl-client-properties client -Return the whole property list of client configuration. -@end defun - -@node Steps -@section Steps - -A step (@code{sasl-step} object) is an abstraction of authentication -``step'' which holds the response value and the next entry point for the -authentication process (the latter is not accessible). - -@defun sasl-step-data step -Return the data which @var{step} holds, a string. -@end defun - -@defun sasl-step-set-data step data -Store @var{data} string to @var{step}. -@end defun - -To get the initial response, you should call the function -@code{sasl-next-step} with the second argument @code{nil}. - -@example -(setq name (sasl-mechanism-name mechanism)) -@end example - -At this point we could send the command which starts a SASL -authentication protocol exchange. For example, - -@example -(process-send-string - process - (if (sasl-step-data step) ;initial response - (format "AUTH %s %s\r\n" name (base64-encode-string (sasl-step-data step) t)) - (format "AUTH %s\r\n" name))) -@end example - -To go on with the authentication process, all you have to do is call -@code{sasl-next-step} consecutively. - -@defun sasl-next-step client step -Perform the authentication step. -At the first time @var{step} should be set to @code{nil}. -@end defun - -@node Backend drivers -@chapter Backend drivers - -(Not yet written). - -@node Index -@chapter Index -@printindex cp - -@node Function Index -@chapter Function Index -@printindex fn - -@node Variable Index -@chapter Variable Index -@printindex vr - -@summarycontents -@contents -@bye - -@c End: diff --git a/texi/texi2latex.el b/texi/texi2latex.el index 4f77713..a96cf93 100644 --- a/texi/texi2latex.el +++ b/texi/texi2latex.el @@ -41,7 +41,7 @@ (latexi-translate-file "sieve" t) ;;(latexi-translate-file "pgg" t) ;;(latexi-translate-file "sasl" t) - ) + (latexi-translate-file "gnus-news" t)) (defun latexi-translate-file (file &optional as-a-chapter) "Translate file a LaTeX file." @@ -103,7 +103,8 @@ "summarycontents" "bye" "top" "iftex" "cartouche" "iflatex" "finalout" "vskip" - "dircategory" "group" "syncodeindex")) + "dircategory" "group" "syncodeindex" + "documentencoding")) (latexi-strip-line)) ((member command '("menu" "tex" "ifinfo" "ignore" "ifnottex" "direntry")) @@ -244,7 +245,7 @@ (latexi-begin-command "verse")) ((equal command "page") (latexi-strip-line) - (insert (format "\\newpage\n" arg))) + (insert "\\newpage\n")) ((equal command "'s") (goto-char (match-beginning 0)) (delete-char 1)) -- 1.7.10.4