annotate lisp/forms-d2.el @ 110410:f2e111723c3a

Merge changes made in Gnus trunk. Reimplement nnimap, and do tweaks to the rest of the code to support that. * gnus-int.el (gnus-finish-retrieve-group-infos) (gnus-retrieve-group-data-early): New functions. * gnus-range.el (gnus-range-nconcat): New function. * gnus-start.el (gnus-get-unread-articles): Support early retrieval of data. (gnus-read-active-for-groups): Support finishing the early retrieval of data. * gnus-sum.el (gnus-summary-move-article): Pass the move-to group name if the move is internal, so that nnimap can do fast internal moves. * gnus.el (gnus-article-special-mark-lists): Add uid/active tuples, for nnimap usage. * nnimap.el: Rewritten. * nnmail.el (nnmail-inhibit-default-split-group): New internal variable to allow the mail splitting to not return a default group. This is useful for nnimap, which will leave unmatched mail in the inbox. * utf7.el (utf7-encode): Autoload. Implement shell connection. * nnimap.el (nnimap-open-shell-stream): New function. (nnimap-open-connection): Use it. Get the number of lines by using BODYSTRUCTURE. (nnimap-transform-headers): Get the number of lines in each message. (nnimap-retrieve-headers): Query for BODYSTRUCTURE so that we get the number of lines. Not all servers return UIDNEXT. Work past this problem. Remove junk from end of file. Fix typo in "bogus" section. Make capabilties be case-insensitive. Require cl when compiling. Don't bug out if the LIST command doesn't have any parameters. 2010-09-17 Knut Anders Hatlen <kahatlen@gmail.com> (tiny change) * nnimap.el (nnimap-get-groups): Don't bug out if the LIST command doesn't have any parameters. (mm-text-html-renderer): Document gnus-article-html. 2010-09-17 Julien Danjou <julien@danjou.info> (tiny fix) * mm-decode.el (mm-text-html-renderer): Document gnus-article-html. * dgnushack.el: Define netrc-credentials. If the user doesn't have a /etc/services, supply some sensible port defaults. Have `unseen-or-unread' select an unread unseen article first. (nntp-open-server): Return whether the open was successful or not. Throughout all files, replace (save-excursion (set-buffer ...)) with (with-current-buffer ... ). Save result so that it doesn't say "failed" all the time. Add ~/.authinfo to the default, since that's probably most useful for users. Don't use the "finish" method when we're reading from the agent. Add some more nnimap-relevant agent stuff to nnagent.el. * nnimap.el (nnimap-with-process-buffer): Removed. Revert one line that was changed by mistake in the last checkin. (nnimap-open-connection): Don't error out when we can't make a connection nnimap-related changes to avoid bugging out if we can't contact a server. * gnus-start.el (gnus-get-unread-articles): Don't try to scan groups from methods that are denied. * nnimap.el (nnimap-possibly-change-group): Return nil if we can't log in. (nnimap-finish-retrieve-group-infos): Make sure we're not waiting for nothing. * gnus-sum.el (gnus-select-newsgroup): Indent.
author Katsumi Yamaoka <yamaoka@jpl.org>
date Sat, 18 Sep 2010 10:02:19 +0000
parents 1d1d5d9bd884
children 376148b31b5e
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
47726
33d53d287ee4 Add "no-byte-compile: t" in first line.
Juanma Barranquero <lekktu@gmail.com>
parents: 38436
diff changeset
1 ;;; forms-d2.el --- demo forms-mode -*- no-byte-compile: t -*-
25867
Dave Love <fx@gnu.org>
parents:
diff changeset
2
74679
829062b6492b Copy copyright header from forms.el (at rms instruction).
Glenn Morris <rgm@gnu.org>
parents: 64542
diff changeset
3 ;; Copyright (C) 1991, 1994, 1995, 1996, 1997, 2001, 2002, 2003,
106815
1d1d5d9bd884 Add 2010 to copyright years.
Glenn Morris <rgm@gnu.org>
parents: 100908
diff changeset
4 ;; 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
74679
829062b6492b Copy copyright header from forms.el (at rms instruction).
Glenn Morris <rgm@gnu.org>
parents: 64542
diff changeset
5
25867
Dave Love <fx@gnu.org>
parents:
diff changeset
6 ;; Author: Johan Vromans <jvromans@squirrel.nl>
Dave Love <fx@gnu.org>
parents:
diff changeset
7 ;; Created: 1989
Dave Love <fx@gnu.org>
parents:
diff changeset
8
38436
b174db545cfd Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 25867
diff changeset
9 ;; This file is part of GNU Emacs.
b174db545cfd Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 25867
diff changeset
10
94678
ee5932bf781d Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94366
diff changeset
11 ;; GNU Emacs is free software: you can redistribute it and/or modify
78235
8b0dabde9595 Add missing license notice (GPLv3 or later).
Glenn Morris <rgm@gnu.org>
parents: 75347
diff changeset
12 ;; it under the terms of the GNU General Public License as published by
94678
ee5932bf781d Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94366
diff changeset
13 ;; the Free Software Foundation, either version 3 of the License, or
ee5932bf781d Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94366
diff changeset
14 ;; (at your option) any later version.
78235
8b0dabde9595 Add missing license notice (GPLv3 or later).
Glenn Morris <rgm@gnu.org>
parents: 75347
diff changeset
15
8b0dabde9595 Add missing license notice (GPLv3 or later).
Glenn Morris <rgm@gnu.org>
parents: 75347
diff changeset
16 ;; GNU Emacs is distributed in the hope that it will be useful,
8b0dabde9595 Add missing license notice (GPLv3 or later).
Glenn Morris <rgm@gnu.org>
parents: 75347
diff changeset
17 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of
8b0dabde9595 Add missing license notice (GPLv3 or later).
Glenn Morris <rgm@gnu.org>
parents: 75347
diff changeset
18 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
8b0dabde9595 Add missing license notice (GPLv3 or later).
Glenn Morris <rgm@gnu.org>
parents: 75347
diff changeset
19 ;; GNU General Public License for more details.
8b0dabde9595 Add missing license notice (GPLv3 or later).
Glenn Morris <rgm@gnu.org>
parents: 75347
diff changeset
20
8b0dabde9595 Add missing license notice (GPLv3 or later).
Glenn Morris <rgm@gnu.org>
parents: 75347
diff changeset
21 ;; You should have received a copy of the GNU General Public License
94678
ee5932bf781d Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents: 94366
diff changeset
22 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
78235
8b0dabde9595 Add missing license notice (GPLv3 or later).
Glenn Morris <rgm@gnu.org>
parents: 75347
diff changeset
23
38436
b174db545cfd Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 25867
diff changeset
24 ;;; Commentary:
b174db545cfd Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 25867
diff changeset
25
25867
Dave Love <fx@gnu.org>
parents:
diff changeset
26 ;; This sample forms exploit most of the features of forms mode.
Dave Love <fx@gnu.org>
parents:
diff changeset
27
38436
b174db545cfd Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 25867
diff changeset
28 ;;; Code:
b174db545cfd Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 25867
diff changeset
29
25867
Dave Love <fx@gnu.org>
parents:
diff changeset
30 ;; Set the name of the data file.
94366
4a0361c406b4 (forms-file): Update for moved forms-d2.dat.
Glenn Morris <rgm@gnu.org>
parents: 93975
diff changeset
31 (setq forms-file (expand-file-name "forms-d2.dat" data-directory))
25867
Dave Love <fx@gnu.org>
parents:
diff changeset
32
Dave Love <fx@gnu.org>
parents:
diff changeset
33 ;; Use 'forms-enumerate' to set field names and number thereof.
Dave Love <fx@gnu.org>
parents:
diff changeset
34 (setq forms-number-of-fields
Dave Love <fx@gnu.org>
parents:
diff changeset
35 (forms-enumerate
Dave Love <fx@gnu.org>
parents:
diff changeset
36 '(arch-newsgroup ; 1
Dave Love <fx@gnu.org>
parents:
diff changeset
37 arch-volume ; 2
Dave Love <fx@gnu.org>
parents:
diff changeset
38 arch-issue ; and ...
Dave Love <fx@gnu.org>
parents:
diff changeset
39 arch-article ; ... so
Dave Love <fx@gnu.org>
parents:
diff changeset
40 arch-shortname ; ... ... on
Dave Love <fx@gnu.org>
parents:
diff changeset
41 arch-parts
Dave Love <fx@gnu.org>
parents:
diff changeset
42 arch-from
Dave Love <fx@gnu.org>
parents:
diff changeset
43 arch-longname
Dave Love <fx@gnu.org>
parents:
diff changeset
44 arch-keywords
Dave Love <fx@gnu.org>
parents:
diff changeset
45 arch-date
Dave Love <fx@gnu.org>
parents:
diff changeset
46 arch-remarks)))
Dave Love <fx@gnu.org>
parents:
diff changeset
47
Dave Love <fx@gnu.org>
parents:
diff changeset
48 ;; The following functions are used by this form for layout purposes.
Dave Love <fx@gnu.org>
parents:
diff changeset
49 ;;
Dave Love <fx@gnu.org>
parents:
diff changeset
50 (defun arch-tocol (target &optional fill)
64542
24c6e1c8e0cb (arch-rj): Fix typo in docstrings.
Juanma Barranquero <lekktu@gmail.com>
parents: 52401
diff changeset
51 "Produces a string to skip to column TARGET. Prepends newline if needed.
25867
Dave Love <fx@gnu.org>
parents:
diff changeset
52 The optional FILL should be a character, used to fill to the column."
Dave Love <fx@gnu.org>
parents:
diff changeset
53 (if (null fill)
64542
24c6e1c8e0cb (arch-rj): Fix typo in docstrings.
Juanma Barranquero <lekktu@gmail.com>
parents: 52401
diff changeset
54 (setq fill ?\s))
25867
Dave Love <fx@gnu.org>
parents:
diff changeset
55 (if (< target (current-column))
Dave Love <fx@gnu.org>
parents:
diff changeset
56 (concat "\n" (make-string target fill))
Dave Love <fx@gnu.org>
parents:
diff changeset
57 (make-string (- target (current-column)) fill)))
Dave Love <fx@gnu.org>
parents:
diff changeset
58 ;;
49588
37645a051842 Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents: 47726
diff changeset
59 (defun arch-rj (target field &optional fill)
25867
Dave Love <fx@gnu.org>
parents:
diff changeset
60 "Produces a string to skip to column TARGET minus the width of field FIELD.
64542
24c6e1c8e0cb (arch-rj): Fix typo in docstrings.
Juanma Barranquero <lekktu@gmail.com>
parents: 52401
diff changeset
61 Prepends newline if needed. The optional FILL should be a character,
25867
Dave Love <fx@gnu.org>
parents:
diff changeset
62 used to fill to the column."
Dave Love <fx@gnu.org>
parents:
diff changeset
63 (arch-tocol (- target (length (nth field forms-fields))) fill))
Dave Love <fx@gnu.org>
parents:
diff changeset
64
Dave Love <fx@gnu.org>
parents:
diff changeset
65 ;; Record filters.
Dave Love <fx@gnu.org>
parents:
diff changeset
66 ;;
Dave Love <fx@gnu.org>
parents:
diff changeset
67 (defun arch-new-record-filter (the-record)
Dave Love <fx@gnu.org>
parents:
diff changeset
68 "Form a new record with some defaults."
Dave Love <fx@gnu.org>
parents:
diff changeset
69 (aset the-record arch-from (user-full-name))
Dave Love <fx@gnu.org>
parents:
diff changeset
70 (aset the-record arch-date (current-time-string))
Dave Love <fx@gnu.org>
parents:
diff changeset
71 the-record ; return it
Dave Love <fx@gnu.org>
parents:
diff changeset
72 )
Dave Love <fx@gnu.org>
parents:
diff changeset
73 (setq forms-new-record-filter 'arch-new-record-filter)
Dave Love <fx@gnu.org>
parents:
diff changeset
74
Dave Love <fx@gnu.org>
parents:
diff changeset
75 ;; The format list.
Dave Love <fx@gnu.org>
parents:
diff changeset
76 (setq forms-format-list
Dave Love <fx@gnu.org>
parents:
diff changeset
77 (list
Dave Love <fx@gnu.org>
parents:
diff changeset
78 "====== Public Domain Software Archive ======\n\n"
Dave Love <fx@gnu.org>
parents:
diff changeset
79 arch-shortname
Dave Love <fx@gnu.org>
parents:
diff changeset
80 " - " arch-longname
Dave Love <fx@gnu.org>
parents:
diff changeset
81 "\n\n"
Dave Love <fx@gnu.org>
parents:
diff changeset
82 "Article: " arch-newsgroup
Dave Love <fx@gnu.org>
parents:
diff changeset
83 "/" arch-article
Dave Love <fx@gnu.org>
parents:
diff changeset
84 " "
Dave Love <fx@gnu.org>
parents:
diff changeset
85 '(arch-tocol 40)
Dave Love <fx@gnu.org>
parents:
diff changeset
86 "Issue: " arch-issue
Dave Love <fx@gnu.org>
parents:
diff changeset
87 " "
Dave Love <fx@gnu.org>
parents:
diff changeset
88 '(arch-rj 73 10)
Dave Love <fx@gnu.org>
parents:
diff changeset
89 "Date: " arch-date
Dave Love <fx@gnu.org>
parents:
diff changeset
90 "\n\n"
Dave Love <fx@gnu.org>
parents:
diff changeset
91 "Submitted by: " arch-from
Dave Love <fx@gnu.org>
parents:
diff changeset
92 "\n"
Dave Love <fx@gnu.org>
parents:
diff changeset
93 '(arch-tocol 79 ?-)
Dave Love <fx@gnu.org>
parents:
diff changeset
94 "\n"
Dave Love <fx@gnu.org>
parents:
diff changeset
95 "Keywords: " arch-keywords
Dave Love <fx@gnu.org>
parents:
diff changeset
96 "\n\n"
Dave Love <fx@gnu.org>
parents:
diff changeset
97 "Parts: " arch-parts
Dave Love <fx@gnu.org>
parents:
diff changeset
98 "\n\n====== Remarks ======\n\n"
Dave Love <fx@gnu.org>
parents:
diff changeset
99 arch-remarks
Dave Love <fx@gnu.org>
parents:
diff changeset
100 ))
Dave Love <fx@gnu.org>
parents:
diff changeset
101
Dave Love <fx@gnu.org>
parents:
diff changeset
102 ;; That's all, folks!
38436
b174db545cfd Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 25867
diff changeset
103
93975
1e3a407766b9 Fix up comment convention on the arch-tag lines.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 79721
diff changeset
104 ;; arch-tag: 8e5d5dac-7abf-4722-ab5e-03eb749beaca
38436
b174db545cfd Some fixes to follow coding conventions.
Pavel Janík <Pavel@Janik.cz>
parents: 25867
diff changeset
105 ;;; forms-d2.el ends here