annotate etc/BABYL @ 99501:e3acb52d33e1

2008-11-12 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-yank): Make any prefix force normal yanking. Suppress folding if text would be swallowed into a folded subtree. (org-yank-folded-subtrees, org-yank): Docstring updates. * org-agenda.el (org-agenda-compare-effort): Treat no effort defined as 0. * org-exp.el (org-export-language-setup): Add Catalan and Esperanto language entries. 2008-11-12 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-refile): Allow refiling of entire regions. * org-clock.el (org-clock-time%): New function. * org.el (org-entry-get, org-entry-delete): Use safer regexps to retrieve property values. 2008-11-12 Carsten Dominik <carsten.dominik@gmail.com> * org-agenda.el (org-agenda-list): Handle the value `only' of org-agenda-show-log'. (org-agenda-log-mode): Interpret a double prefix arg. 2008-11-12 Carsten Dominik <carsten.dominik@gmail.com> * org-exp.el (org-export-html-footnotes-section): New variable. (org-export-as-html): Use `org-export-html-footnotes-section' to insert the footnotes. (org-export-language-setup): Add "Footnotes" to language words. 2008-11-12 Carsten Dominik <carsten.dominik@gmail.com> * org.el (org-yank): Fix bug when not inserting a subtree. 2008-11-12 Carsten Dominik <carsten.dominik@gmail.com> * org-vm.el (org-vm-follow-link): Call `vm-preview-current-message' instead of `vm-beginning-of-message'. * org.el (org-make-link-regexps): Make sure that links to gnus can contain brackets. 2008-11-12 Carsten Dominik <carsten.dominik@gmail.com> * org-attach.el (org-attach-dir): Remove duplicate ID creation code. * org-id.el (org-id-new): Use `org-trim' to extract the uuid from shell output. * org.el (org-link-abbrev-alist): Improve customization type. * org-attach.el (org-attach-expand-link, org-attach-expand): New functions. * org-agenda.el (org-agenda-get-progress): Renamed from `org-get-closed'. Implement searching for state changes as well. (org-agenda-log-mode-items): New option. (org-agenda-log-mode): New option prefix argument, interpreted as request to show all possible progress info. (org-agenda-get-day-entries): Call `org-get-progress' instead of `org-get-closed'. (org-agenda-set-mode-name): Handle the more complex log mode settings. (org-get-closed): New alias, pointing to `org-get-progress'. 2008-11-12 Carsten Dominik <dominik@science.uva.nl> * org.el (org-file-apps-defaults-gnu) (org-file-apps-defaults-macosx) (org-file-apps-defaults-windowsnt): Add an entry defining the system command. (org-file-apps): Allow `system' as key and value. (org-open-at-point): Explain the effect of a double prefix arg. (org-open-file): If the argument `in-emacs' is (16), i.e. corresponding to a double prefix argument, try to open the file externally. 2008-11-12 Carsten Dominik <dominik@science.uva.nl> * org.el (org-insert-link): Abbreviate absolute files names in links. Also, fix a bug in which the double C-u prefix would not be honored. 2008-11-12 Carsten Dominik <dominik@science.uva.nl> * org.el (org-insert-heading): If buffer does not end with a newline, add one if necessary to insert headline correctly. * org-exp.el (org-export-as-html): Make sure that <hr/> is between paragraphs, not inside. * org.el (org-todo): Quote `org-agenda-headline-snapshot-before-repeat'. * org-exp.el (org-export-as-html): Fully process link descriptions. (org-export-html-format-desc): New function. (org-export-as-html): Collect footnotes into the correct basket. (org-html-protect): No longer protect quotations marks here, this goes wrong. * org-agenda.el (org-agenda-remove-marked-text): Bind variable BEG. * org-compat.el (org-fit-window-to-buffer): New function (not really, a preliminary and incomplete version was present earlier, but not used). * org.el (org-fast-todo-selection, org-fast-tag-selection): Use `org-fit-window-to-buffer'. * org-exp.el (org-export): Use `org-fit-window-to-buffer'. * org-agenda.el (org-agenda-get-restriction-and-command) (org-fit-agenda-window, org-agenda-convert-date): Use `org-fit-window-to-buffer'. * org-exp.el (org-export-as-html): Process href links through `org-export-html-format-href'. (org-export-html-format-href): New function. * org-agenda.el (org-agenda-todo): Update only the current headline if this is a repeated TODO, marked done for today. (org-agenda-change-all-lines): New argument JUST-THIS, to change only the current line. * org.el (org-todo): Take a snapshot of the headline if the repeater might change it. 2008-11-12 Carsten Dominik <dominik@science.uva.nl> * org-publish.el (org-publish-find-title): Remove buffers visited only for extracting the title. * org-exp.el (org-export-html-style) (org-export-html-style-default): Mark style definitions as unparsed CDATA. * org-publish.el (org-publish-validate-link): Function re-introduced. 2008-11-12 Charles Sebold <csebold@gmail.com> * org-plot.el (org-plot/add-options-to-plist): Supports timefmt property. (org-plot-quote-timestamp-field): New function. (org-plot-quote-tsv-field): Call timestamp field function when necessary rather than just quoting as a string. (org-plot/gnuplot-to-data): Pass in timefmt property. (org-plot/gnuplot-script): Supports timefmt property. (org-plot/gnuplot): Checks for timestamp column before checking for text index column. 2008-11-12 Carsten Dominik <dominik@science.uva.nl> * org.el (org-insert-heading): Improve behavior with hidden subtrees. * org-publish.el (org-publish-org-index): Create a section in the index file. (org-publish-org-index): Stop linking to directories. * org.el (org-emphasis-alist): Use span instead of <u> to underline text. * org-exp.el (org-export-as-html): Make sure <p> is closed before <pre> sections. 2008-11-12 Sebastian Rose <sebastian_rose@gmx.de> * org-jsinfo.el (org-infojs-template): Remove language attribute from script tag. 2008-11-12 Carsten Dominik <dominik@science.uva.nl> * org-agenda.el (org-agenda-remove-marked-text): New function. (org-agenda-mark-filtered-text) (org-agenda-unmark-filtered-text): New functions. (org-write-agenda): Remove fltered text. * org.el (org-make-tags-matcher): Give access to TODO "property" without speed penalty. 2008-11-12 Carsten Dominik <dominik@science.uva.nl> * org.el (org-link-frame-setup): Add `org-gnus-no-new-news' as an option. (org-store-link-props): Make sure adding to the plist works correctly. * org-gnus.el (org-gnus-no-new-news): New function. (org-gnus-follow-link): Allow the article ID to be a message-id, in addition to allowing article numbers. Message IDs make much more roubust links. (org-gnus-store-link): Use message-id to create link. 2008-11-12 Carsten Dominik <dominik@science.uva.nl> * org.el (org-emphasize): Reverse the selection array. (org-emphasis-alist): Set <code> tags for the verbatim environment. * org-remember.el (org-remember-handler): Fix bug with prefix-related changing of the note storage target. * org-exp.el (org-print-icalendar-entries): Make the exported priorities compatible with RFC 2445. * org-clock.el (org-clock-save): Insert time stamp without dependence on time-stamp.el. 2008-11-12 Carsten Dominik <dominik@science.uva.nl> * org.el ("saveplace"): If saveplace puts point into an invisible location, make it visible. (org-make-tags-matcher): Allow inactive time stamps in time comparisons. (org-yank-adjusted-subtrees): New option. (org-yank): Incorporate adjusting trees. (org-paste-subtree): New argument FOR-YANK which will cause insertion at point without backing up over white lines, and leave point at the end of the inserted text. Also if the cursor is at the beginning of a headline, use the same level or the inserted tree. * org-publish.el (org-publish-get-base-files-1): Deal correctly with broken symlinks 2008-11-12 Carsten Dominik <dominik@science.uva.nl> * org-exp.el (org-export-select-tags, org-get-current-options): Fix typo.
author Carsten Dominik <dominik@science.uva.nl>
date Wed, 12 Nov 2008 08:01:06 +0000
parents e96ffe544684
children 89895e7b4ac6
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
25853
Dave Love <fx@gnu.org>
parents:
diff changeset
1 Format of Version 5 Babyl Files:
Dave Love <fx@gnu.org>
parents:
diff changeset
2
Dave Love <fx@gnu.org>
parents:
diff changeset
3 Warning:
Dave Love <fx@gnu.org>
parents:
diff changeset
4
Dave Love <fx@gnu.org>
parents:
diff changeset
5 This was written Tuesday, 12 April 1983 (by Eugene Ciccarelli),
Dave Love <fx@gnu.org>
parents:
diff changeset
6 based on looking at a particular Babyl file and recalling various
Dave Love <fx@gnu.org>
parents:
diff changeset
7 issues. Therefore it is not guaranteed to be complete, but it is a
Dave Love <fx@gnu.org>
parents:
diff changeset
8 start, and I will try to point the reader to various Babyl functions
Dave Love <fx@gnu.org>
parents:
diff changeset
9 that will serve to clarify certain format questions.
Dave Love <fx@gnu.org>
parents:
diff changeset
10
Dave Love <fx@gnu.org>
parents:
diff changeset
11 Also note that this file will not contain control-characters,
Dave Love <fx@gnu.org>
parents:
diff changeset
12 but instead have two-character sequences starting with Uparrow.
Dave Love <fx@gnu.org>
parents:
diff changeset
13 Unless otherwise stated, an Uparrow <character> is to be read as
Dave Love <fx@gnu.org>
parents:
diff changeset
14 Control-<character>, e.g. ^L is a Control-L.
Dave Love <fx@gnu.org>
parents:
diff changeset
15
Dave Love <fx@gnu.org>
parents:
diff changeset
16 Versions:
Dave Love <fx@gnu.org>
parents:
diff changeset
17
Dave Love <fx@gnu.org>
parents:
diff changeset
18 First, note that each Babyl file contains in its BABYL OPTIONS
Dave Love <fx@gnu.org>
parents:
diff changeset
19 section the version for the Babyl file format. In principle, the
Dave Love <fx@gnu.org>
parents:
diff changeset
20 format can be changed in any way as long as we increment the format
Dave Love <fx@gnu.org>
parents:
diff changeset
21 version number; then programs can support both old and new formats.
Dave Love <fx@gnu.org>
parents:
diff changeset
22
Dave Love <fx@gnu.org>
parents:
diff changeset
23 In practice, version 5 is the only format version used, and the
Dave Love <fx@gnu.org>
parents:
diff changeset
24 previous versions have been obsolete for so long that Emacs does not
Dave Love <fx@gnu.org>
parents:
diff changeset
25 support them.
Dave Love <fx@gnu.org>
parents:
diff changeset
26
Dave Love <fx@gnu.org>
parents:
diff changeset
27
Dave Love <fx@gnu.org>
parents:
diff changeset
28 Overall Babyl File Structure:
Dave Love <fx@gnu.org>
parents:
diff changeset
29
Dave Love <fx@gnu.org>
parents:
diff changeset
30 A Babyl file consists of a BABYL OPTIONS section followed by
Dave Love <fx@gnu.org>
parents:
diff changeset
31 0 or more message sections. The BABYL OPTIONS section starts
Dave Love <fx@gnu.org>
parents:
diff changeset
32 with the line "BABYL OPTIONS:". Message sections start with
Dave Love <fx@gnu.org>
parents:
diff changeset
33 Control-Underscore Control-L Newline. Each section ends
Dave Love <fx@gnu.org>
parents:
diff changeset
34 with a Control-Underscore. (That is also the first character
Dave Love <fx@gnu.org>
parents:
diff changeset
35 of the starter for the next section, if any.) Thus, a three
Dave Love <fx@gnu.org>
parents:
diff changeset
36 message Babyl file looks like:
Dave Love <fx@gnu.org>
parents:
diff changeset
37
Dave Love <fx@gnu.org>
parents:
diff changeset
38 BABYL OPTIONS:
Dave Love <fx@gnu.org>
parents:
diff changeset
39 ...the stuff within the Babyl Options section...
Dave Love <fx@gnu.org>
parents:
diff changeset
40 ^_^L
Dave Love <fx@gnu.org>
parents:
diff changeset
41 ...the stuff within the 1st message section...
Dave Love <fx@gnu.org>
parents:
diff changeset
42 ^_^L
Dave Love <fx@gnu.org>
parents:
diff changeset
43 ...the stuff within the 2nd message section...
Dave Love <fx@gnu.org>
parents:
diff changeset
44 ^_^L
Dave Love <fx@gnu.org>
parents:
diff changeset
45 ...the stuff within the last message section...
Dave Love <fx@gnu.org>
parents:
diff changeset
46 ^_
Dave Love <fx@gnu.org>
parents:
diff changeset
47
Dave Love <fx@gnu.org>
parents:
diff changeset
48 Babyl is tolerant about some whitespace at the end of the
Dave Love <fx@gnu.org>
parents:
diff changeset
49 file -- the file may end with the final ^_ or it may have some
Dave Love <fx@gnu.org>
parents:
diff changeset
50 whitespace, e.g. a newline, after it.
Dave Love <fx@gnu.org>
parents:
diff changeset
51
Dave Love <fx@gnu.org>
parents:
diff changeset
52
Dave Love <fx@gnu.org>
parents:
diff changeset
53 The BABYL OPTIONS Section:
Dave Love <fx@gnu.org>
parents:
diff changeset
54
Dave Love <fx@gnu.org>
parents:
diff changeset
55 Each Babyl option is specified on one line (thus restricting
Dave Love <fx@gnu.org>
parents:
diff changeset
56 string values these options can currently have). Values are
Dave Love <fx@gnu.org>
parents:
diff changeset
57 either numbers or strings. The format is name, colon, and the
Dave Love <fx@gnu.org>
parents:
diff changeset
58 value, with whitespace after the colon ignored, e.g.:
Dave Love <fx@gnu.org>
parents:
diff changeset
59
Dave Love <fx@gnu.org>
parents:
diff changeset
60 Mail: ~/special-inbox
Dave Love <fx@gnu.org>
parents:
diff changeset
61
Dave Love <fx@gnu.org>
parents:
diff changeset
62 Unrecognized options are ignored.
Dave Love <fx@gnu.org>
parents:
diff changeset
63
Dave Love <fx@gnu.org>
parents:
diff changeset
64 Here are those options and the kind of values currently expected:
Dave Love <fx@gnu.org>
parents:
diff changeset
65
Dave Love <fx@gnu.org>
parents:
diff changeset
66 MAIL Filename, the input mail file for this
Dave Love <fx@gnu.org>
parents:
diff changeset
67 Babyl file. You may also use several file names
Dave Love <fx@gnu.org>
parents:
diff changeset
68 separated by commas.
Dave Love <fx@gnu.org>
parents:
diff changeset
69 Version Number. This should always be 5.
Dave Love <fx@gnu.org>
parents:
diff changeset
70 Labels String, list of labels, separated by commas.
Dave Love <fx@gnu.org>
parents:
diff changeset
71
Dave Love <fx@gnu.org>
parents:
diff changeset
72
Dave Love <fx@gnu.org>
parents:
diff changeset
73 Message Sections:
Dave Love <fx@gnu.org>
parents:
diff changeset
74
Dave Love <fx@gnu.org>
parents:
diff changeset
75 A message section contains one message and information
Dave Love <fx@gnu.org>
parents:
diff changeset
76 associated with it. The first line is the "status line", which
Dave Love <fx@gnu.org>
parents:
diff changeset
77 contains a bit (0 or 1 character) saying whether the message has
Dave Love <fx@gnu.org>
parents:
diff changeset
78 been reformed yet, and a list of the labels attached to this
Dave Love <fx@gnu.org>
parents:
diff changeset
79 message. Certain labels, called basic labels, are built into
Dave Love <fx@gnu.org>
parents:
diff changeset
80 Babyl in a fundamental way, and are separated in the status line
Dave Love <fx@gnu.org>
parents:
diff changeset
81 for convenience of operation. For example, consider the status
Dave Love <fx@gnu.org>
parents:
diff changeset
82 line:
Dave Love <fx@gnu.org>
parents:
diff changeset
83
Dave Love <fx@gnu.org>
parents:
diff changeset
84 1, answered,, zval, bug,
Dave Love <fx@gnu.org>
parents:
diff changeset
85
Dave Love <fx@gnu.org>
parents:
diff changeset
86 The 1 means this message has been reformed. This message is
Dave Love <fx@gnu.org>
parents:
diff changeset
87 labeled "answered", "zval", and "bug". The first, "answered", is
Dave Love <fx@gnu.org>
parents:
diff changeset
88 a basic label, and the other two are user labels. The basic
Dave Love <fx@gnu.org>
parents:
diff changeset
89 labels come before the double-comma in the line. Each label is
Dave Love <fx@gnu.org>
parents:
diff changeset
90 preceded by ", " and followed by ",". (The last basic label is
Dave Love <fx@gnu.org>
parents:
diff changeset
91 in fact followed by ",,".) If this message had no labels at all,
Dave Love <fx@gnu.org>
parents:
diff changeset
92 it would look like:
Dave Love <fx@gnu.org>
parents:
diff changeset
93
Dave Love <fx@gnu.org>
parents:
diff changeset
94 1,,
Dave Love <fx@gnu.org>
parents:
diff changeset
95
Dave Love <fx@gnu.org>
parents:
diff changeset
96 Or, if it had two basic labels, "answered" and "deleted", it
Dave Love <fx@gnu.org>
parents:
diff changeset
97 would look like:
Dave Love <fx@gnu.org>
parents:
diff changeset
98
Dave Love <fx@gnu.org>
parents:
diff changeset
99 1, answered, deleted,, zval, bug,
Dave Love <fx@gnu.org>
parents:
diff changeset
100
Dave Love <fx@gnu.org>
parents:
diff changeset
101 The & Label Babyl Message knows which are the basic labels.
Dave Love <fx@gnu.org>
parents:
diff changeset
102 Currently they are: deleted, unseen, recent, and answered.
Dave Love <fx@gnu.org>
parents:
diff changeset
103
Dave Love <fx@gnu.org>
parents:
diff changeset
104 After the status line comes the original header if any.
Dave Love <fx@gnu.org>
parents:
diff changeset
105 Following that is the EOOH line, which contains exactly the
Dave Love <fx@gnu.org>
parents:
diff changeset
106 characters "*** EOOH ***" (which stands for "end of original
Dave Love <fx@gnu.org>
parents:
diff changeset
107 header"). Note that the original header, if a network format
Dave Love <fx@gnu.org>
parents:
diff changeset
108 header, includes the trailing newline. And finally, following the
Dave Love <fx@gnu.org>
parents:
diff changeset
109 EOOH line is the visible message, header and text. For example,
Dave Love <fx@gnu.org>
parents:
diff changeset
110 here is a complete message section, starting with the message
Dave Love <fx@gnu.org>
parents:
diff changeset
111 starter, and ending with the terminator:
Dave Love <fx@gnu.org>
parents:
diff changeset
112
Dave Love <fx@gnu.org>
parents:
diff changeset
113 ^_^L
Dave Love <fx@gnu.org>
parents:
diff changeset
114 1,, wordab, eccmacs,
Dave Love <fx@gnu.org>
parents:
diff changeset
115 Date: 11 May 1982 21:40-EDT
Dave Love <fx@gnu.org>
parents:
diff changeset
116 From: Eugene C. Ciccarelli <ECC at MIT-AI>
Dave Love <fx@gnu.org>
parents:
diff changeset
117 Subject: notes
Dave Love <fx@gnu.org>
parents:
diff changeset
118 To: ECC at MIT-AI
Dave Love <fx@gnu.org>
parents:
diff changeset
119
Dave Love <fx@gnu.org>
parents:
diff changeset
120 *** EOOH ***
Dave Love <fx@gnu.org>
parents:
diff changeset
121 Date: Tuesday, 11 May 1982 21:40-EDT
Dave Love <fx@gnu.org>
parents:
diff changeset
122 From: Eugene C. Ciccarelli <ECC>
Dave Love <fx@gnu.org>
parents:
diff changeset
123 To: ECC
Dave Love <fx@gnu.org>
parents:
diff changeset
124 Re: notes
Dave Love <fx@gnu.org>
parents:
diff changeset
125
Dave Love <fx@gnu.org>
parents:
diff changeset
126 Remember to pickup check at cashier's office, and deposit it
Dave Love <fx@gnu.org>
parents:
diff changeset
127 soon. Pay rent.
Dave Love <fx@gnu.org>
parents:
diff changeset
128 ^_
Dave Love <fx@gnu.org>
parents:
diff changeset
129
Dave Love <fx@gnu.org>
parents:
diff changeset
130 ;;; Babyl File BNF:
Dave Love <fx@gnu.org>
parents:
diff changeset
131
Dave Love <fx@gnu.org>
parents:
diff changeset
132 ;;; Overall Babyl file structure:
Dave Love <fx@gnu.org>
parents:
diff changeset
133
Dave Love <fx@gnu.org>
parents:
diff changeset
134
Dave Love <fx@gnu.org>
parents:
diff changeset
135 Babyl-File ::= Babyl-Options-Section (Message-Section)*
Dave Love <fx@gnu.org>
parents:
diff changeset
136
Dave Love <fx@gnu.org>
parents:
diff changeset
137
Dave Love <fx@gnu.org>
parents:
diff changeset
138 ;;; Babyl Options section:
Dave Love <fx@gnu.org>
parents:
diff changeset
139
Dave Love <fx@gnu.org>
parents:
diff changeset
140
Dave Love <fx@gnu.org>
parents:
diff changeset
141 Babyl-Options-Section
Dave Love <fx@gnu.org>
parents:
diff changeset
142 ::= "BABYL OPTIONS:" newline (Babyl-Option)* Terminator
Dave Love <fx@gnu.org>
parents:
diff changeset
143
Dave Love <fx@gnu.org>
parents:
diff changeset
144 Babyl-Option ::= Option-Name ":" Horiz-Whitespace BOptValue newline
Dave Love <fx@gnu.org>
parents:
diff changeset
145
Dave Love <fx@gnu.org>
parents:
diff changeset
146 BOptValue ::= Number | 1-Line-String
Dave Love <fx@gnu.org>
parents:
diff changeset
147
Dave Love <fx@gnu.org>
parents:
diff changeset
148
Dave Love <fx@gnu.org>
parents:
diff changeset
149
Dave Love <fx@gnu.org>
parents:
diff changeset
150 ;;; Message section:
Dave Love <fx@gnu.org>
parents:
diff changeset
151
Dave Love <fx@gnu.org>
parents:
diff changeset
152
Dave Love <fx@gnu.org>
parents:
diff changeset
153 Message-Section ::= Message-Starter Status-Line Orig-Header
Dave Love <fx@gnu.org>
parents:
diff changeset
154 EOOH-Line Message Terminator
Dave Love <fx@gnu.org>
parents:
diff changeset
155
Dave Love <fx@gnu.org>
parents:
diff changeset
156 Message-Starter ::= "^L" newline
Dave Love <fx@gnu.org>
parents:
diff changeset
157
Dave Love <fx@gnu.org>
parents:
diff changeset
158 Status-Line ::= Bit-Char "," (Basic-Label)* "," (User-Label)* newline
Dave Love <fx@gnu.org>
parents:
diff changeset
159
Dave Love <fx@gnu.org>
parents:
diff changeset
160 Basic-Label ::= Space BLabel-Name ","
Dave Love <fx@gnu.org>
parents:
diff changeset
161
Dave Love <fx@gnu.org>
parents:
diff changeset
162 User-Label ::= Space ULabel-Name ","
Dave Love <fx@gnu.org>
parents:
diff changeset
163
Dave Love <fx@gnu.org>
parents:
diff changeset
164 EOOH-Line ::= "*** EOOH ***" newline
Dave Love <fx@gnu.org>
parents:
diff changeset
165
Dave Love <fx@gnu.org>
parents:
diff changeset
166 Message ::= Visible-Header Message-Text
Dave Love <fx@gnu.org>
parents:
diff changeset
167
Dave Love <fx@gnu.org>
parents:
diff changeset
168
Dave Love <fx@gnu.org>
parents:
diff changeset
169 ;;; Utilities:
Dave Love <fx@gnu.org>
parents:
diff changeset
170
Dave Love <fx@gnu.org>
parents:
diff changeset
171 Terminator ::= "^_"
Dave Love <fx@gnu.org>
parents:
diff changeset
172
Dave Love <fx@gnu.org>
parents:
diff changeset
173 Horiz-Whitespace
Dave Love <fx@gnu.org>
parents:
diff changeset
174 ::= (Space | Tab)*
Dave Love <fx@gnu.org>
parents:
diff changeset
175
Dave Love <fx@gnu.org>
parents:
diff changeset
176 Bit-Char ::= "0" | "1"