Commit 01c52d31 authored by Miles Bader's avatar Miles Bader

Update Gnus to No Gnus 0.7 from the Gnus CVS trunk

Revision: emacs@sv.gnu.org/emacs--devo--0--patch-911
parent ccae01a6
This diff is collapsed.
......@@ -180,8 +180,27 @@ Patches. This is intended for groups where diffs of committed files
are automatically sent to. It only works in groups matching
@code{mm-uu-diff-groups-regexp}.
@item verbatim-marks
@cindex verbatim-marks
Slrn-style verbatim marks.
@item LaTeX
@cindex LaTeX
LaTeX documents. It only works in groups matching
@code{mm-uu-tex-groups-regexp}.
@end table
@cindex text/x-verbatim
@c Is @vindex suitable for a face?
@vindex mm-uu-extract
Some inlined non-@acronym{MIME} attachments are displayed using the face
@code{mm-uu-extract}. By default, no @acronym{MIME} button for these
parts is displayed. You can force displaying a button using @kbd{K b}
(@code{gnus-summary-display-buttonized}) or add @code{text/x-verbatim}
to @code{gnus-buttonized-mime-types}, @xref{MIME Commands, ,MIME
Commands, gnus, Gnus Manual}.
@node Handles
@section Handles
......@@ -849,6 +868,36 @@ ISO-8859-1 if possible, you can set this variable to
@code{(iso-8859-1)}. You can override this setting on a per-message
basis by using the @code{charset} @acronym{MML} tag (@pxref{MML Definition}).
As different hierarchies prefer different charsets, you may want to set
@code{mm-coding-system-priorities} according to the hierarchy in Gnus.
Here's an example:
@c Corrections about preferred charsets are welcome. de, fr and fj
@c should be correct, I don't know about the rest (so these are only
@c examples):
@lisp
(add-to-list 'gnus-newsgroup-variables 'mm-coding-system-priorities)
(setq gnus-parameters
(nconc
;; Some charsets are just examples!
'(("^cn\\." ;; Chinese
(mm-coding-system-priorities
'(iso-8859-1 cn-big5 chinese-iso-7bit utf-8)))
("^cz\\.\\|^pl\\." ;; Central and Eastern European
(mm-coding-system-priorities '(iso-8859-2 utf-8)))
("^de\\." ;; German language
(mm-coding-system-priorities '(iso-8859-1 iso-8859-15 utf-8)))
("^fr\\." ;; French
(mm-coding-system-priorities '(iso-8859-15 iso-8859-1 utf-8)))
("^fj\\." ;; Japanese
(mm-coding-system-priorities
'(iso-8859-1 iso-2022-jp iso-2022-jp-2 shift_jis utf-8)))
("^ru\\." ;; Cyrillic
(mm-coding-system-priorities
'(koi8-r iso-8859-5 iso-8859-1 utf-8))))
gnus-parameters))
@end lisp
@item mm-content-transfer-encoding-defaults
@vindex mm-content-transfer-encoding-defaults
Mapping from @acronym{MIME} types to encoding to use. This variable is usually
......@@ -1155,7 +1204,7 @@ Return the value of the field under point.
@item mail-encode-encoded-word-region
@findex mail-encode-encoded-word-region
Encode the non-@acronym{ASCII} words in the region. For instance,
@samp{Naïve} is encoded as @samp{=?iso-8859-1?q?Na=EFve?=}.
@samp{Na@"{@dotless{i}}ve} is encoded as @samp{=?iso-8859-1?q?Na=EFve?=}.
@item mail-encode-encoded-word-buffer
@findex mail-encode-encoded-word-buffer
......@@ -1168,7 +1217,7 @@ Encode the words that need encoding in a string, and return the result.
@example
(mail-encode-encoded-word-string
"This is naïve, baby")
"This is na@"{@dotless{i}}ve, baby")
@result{} "This is =?iso-8859-1?q?na=EFve,?= baby"
@end example
......@@ -1183,7 +1232,7 @@ Decode the encoded words in the string and return the result.
@example
(mail-decode-encoded-word-string
"This is =?iso-8859-1?q?na=EFve,?= baby")
@result{} "This is naïve, baby"
@result{} "This is na@"{@dotless{i}}ve, baby"
@end example
@end table
......
This diff is collapsed.
......@@ -1286,18 +1286,23 @@ How to enable automatic word-wrap when composing messages?
@subsubheading Answer
Say
Starting from No Gnus, automatic word-wrap is already enabled by
default, see the variable message-fill-column.
For other versions of Gnus, say
@example
(add-hook 'message-mode-hook
(lambda ()
(setq fill-column 72)
(turn-on-auto-fill)))
(unless (boundp 'message-fill-column)
(add-hook 'message-mode-hook
(lambda ()
(setq fill-column 72)
(turn-on-auto-fill))))
@end example
@noindent
in ~/.gnus.el. You can reformat a paragraph by hitting
@samp{M-q} (as usual)
in ~/.gnus.el.
You can reformat a paragraph by hitting @samp{M-q} (as usual).
@node [5.3]
@subsubheading Question 5.3
......@@ -1676,10 +1681,7 @@ you to use something like
yourUserName.userfqdn.provider.net, or you can use
somethingUnique.yourdomain.tld if you own the domain
yourdomain.tld, or you can register at a service which
gives private users a FQDN for free, e.g.
@uref{http://www.stura.tu-freiberg.de/~dlx/addfqdn.html}.
(Sorry but this website is in German, if you know of an
English one offering the same, drop me a note).
gives private users a FQDN for free.
Finally you can tell Gnus not to generate a Message-ID
for News at all (and letting the server do the job) by saying
......
;;; gnus-news.el --- a hack to create GNUS-NEWS from texinfo source
;; Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
;; Author: Reiner Steib <Reiner.Steib@gmx.de>
;; Keywords: tools
;; This file is part of GNU Emacs.
;; GNU Emacs is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs; see the file COPYING. If not, write to the
;; Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
;; Boston, MA 02110-1301, USA.
;;; Commentary:
;;; Code:
(defvar gnus-news-header-disclaimer
"GNUS NEWS -- history of user-visible changes.
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005,
2006, 2007 Free Software Foundation, Inc.
See the end of the file for license conditions.
Please send Gnus bug reports to bugs@gnus.org.
For older news, see Gnus info node \"New Features\".\n\n")
(defvar gnus-news-trailer
"
* For older news, see Gnus info node \"New Features\".
----------------------------------------------------------------------
This file is part of GNU Emacs.
GNU Emacs is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.
GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with GNU Emacs; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA.
\nLocal variables:\nmode: outline
paragraph-separate: \"[ ]*$\"\nend:\n")
(defvar gnus-news-makeinfo-command "makeinfo")
(defvar gnus-news-fill-column 80)
(defvar gnus-news-makeinfo-switches
(concat " --no-headers --paragraph-indent=0"
" --no-validate" ;; Allow unresolved references.
" --fill-column=" (number-to-string
(+ 3 ;; will strip leading spaces later
(or gnus-news-fill-column 80)))))
(defun batch-gnus-news ()
"Make GNUS-NEWS in batch mode."
(let (infile outfile)
(setq infile (car command-line-args-left)
command-line-args-left (cdr command-line-args-left)
outfile (car command-line-args-left)
command-line-args-left nil)
(if (and infile outfile)
(message "Creating `%s' from `%s'..." outfile infile)
(error "Not enough files given."))
(gnus-news-translate-file infile outfile)))
(defun gnus-news-translate-file (infile outfile)
"Translate INFILE (texinfo) to OUTFILE (GNUS-NEWS)."
(let* ((dir (concat (or (getenv "srcdir") ".") "/"))
(infile (concat dir infile))
(buffer (find-file-noselect (concat dir outfile))))
(with-temp-buffer
;; Could be done using `texinfmt' stuff as in `infohack.el'.
(insert
(shell-command-to-string
(concat gnus-news-makeinfo-command " "
gnus-news-makeinfo-switches " " infile)))
(goto-char (point-max))
(delete-char -1)
(goto-char (point-min))
(save-excursion
(while (re-search-forward "^ \\* " nil t)
(replace-match "\f\n* ")))
(save-excursion
(while (re-search-forward "^ \\* " nil t)
(replace-match "** ")))
(save-excursion
(while (re-search-forward "^ " nil t)
(replace-match "")))
;; Avoid `*' from @ref at beginning of line:
(save-excursion
(while (re-search-forward "^\\*Note" nil t)
(replace-match " \\&")))
(goto-char (point-min))
(insert gnus-news-header-disclaimer)
(goto-char (point-max))
(insert gnus-news-trailer)
(write-region (point-min) (point-max) outfile))))
;;; arch-tag: e23cdd27-eafd-4ba0-816f-98f5edb0dc29
;;; gnus-news.el ends here
This diff is collapsed.
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
......@@ -345,11 +345,11 @@ singleton object wrapped with the luna object system.
Since PGG was designed for accessing and developing PGP functionality,
the architecture had to be designed not just for interoperability but
also for extensiblity. In this chapter we explore the architecture
while finding out how to write the PGG backend.
while finding out how to write the PGG back end.
@menu
* Initializing::
* Backend methods::
* Back end methods::
* Getting output::
@end menu
......@@ -373,12 +373,12 @@ variable @code{pgg-scheme-gpg-instance} and will be reused from now on.
@end lisp
The name of the function must follow the
regulation---@code{pgg-make-scheme-} follows the backend name.
regulation---@code{pgg-make-scheme-} follows the back end name.
@node Backend methods
@section Backend methods
@node Back end methods
@section Back end methods
In each backend, these methods must be present. The output of these
In each back end, these methods must be present. The output of these
methods is stored in special buffers (@ref{Getting output}), so that
these methods must tell the status of the execution.
......@@ -435,7 +435,7 @@ On success, it returns @code{t}, otherwise @code{nil}.
@node Getting output
@section Getting output
The output of the backend methods (@ref{Backend methods}) is stored in
The output of the back end methods (@ref{Back end methods}) is stored in
special buffers, so that these methods must tell the status of the
execution.
......
\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 @copyright{} 2004, 2005, 2006 Free Software Foundation, Inc.
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.2 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.2 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::
* Back end 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{Back end drivers}).
Back end 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{Back end
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 Back end drivers
@chapter Back end 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:
@ignore
arch-tag: dc9650be-a953-40bf-bc55-24fe5f19d875
@end ignore
......@@ -236,9 +236,9 @@ if address "sender" "owner-w3-beta@@xemacs.org" @{
@}
@end example
A few mailing lists do not use the @samp{Sender:} header, but does
contain some unique identifier in some other header. The following is
not a complete script, it assumes that @code{fileinto} has already been
A few mailing lists do not use the @samp{Sender:} header, but has a
unique identifier in some other header. The following is not a
complete script, it assumes that @code{fileinto} has already been
required.
@example
......
This diff is collapsed.
@title Configuring Gnus for the first time
@node What do you want to do with Gnus?
@variable outbound (:radio ((item :tag "Send mail via sendmail" "sendmail") (item :tag "Send mail via SMTP" "smtp"))) "sendmail"
@variable backends (:set ((item :tag "Read news via NNTP" "nntp") (item :tag "Read mail, store it locally" "nnml") (item :tag "Read mail and store it on an IMAP server" "nnimap"))) (list "nnml")
@result primary-mail-selections (list backends outbound)
@text
Welcome to Gnus. You need to tell us what you want to do with Gnus
before we go on to specific configurations.
Choose the tasks you want to set up: