Mercurial > emacs
annotate etc/gnus-tut.txt @ 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 | cbf5528cf447 |
children | c90853557b90 |
rev | line source |
---|---|
25852 | 1 From lars Thu Feb 23 23:20:38 1995 |
2 From: larsi@ifi.uio.no (ding) | |
3 Date: Fri Feb 24 13:40:45 1995 | |
4 Subject: So you want to use the new Gnus | |
5 Message-ID: <lars-doc1@eyesore.no> | |
6 | |
7 Actually, since you are reading this, chances are you are already | |
8 using the new Gnus. Congratulations. | |
9 | |
10 This entire newsgroup you are reading is, in fact, no real newsgroup | |
11 at all, in the traditional sense. It is an example of one of the | |
12 "foreign" select methods that Gnus may use. | |
13 | |
14 The text you are now reading is stored in the "etc" directory with the | |
15 rest of the Emacs sources. You are using the "nndoc" backend for | |
16 accessing it. Scary, isn't it? | |
17 | |
18 This isn't the real documentation. `M-x info', `m gnus <RET>' to read | |
19 that. This "newsgroup" is intended as a kinder, gentler way of getting | |
20 people started. | |
21 | |
22 Gnus is a rewrite of GNUS 4.1, written by Masanobu Umeda. The rewrite | |
23 was done by moi, yours truly, your humble servant, Lars Magne | |
24 Ingebrigtsen. If you have a WWW browser, you can investigate to your | |
25 heart's delight at <URL:http://www.ifi.uio.no/~larsi/larsi.html>. | |
26 | |
95004
cbf5528cf447
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79776
diff
changeset
|
27 ;; Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, |
cbf5528cf447
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79776
diff
changeset
|
28 ;; 2008 Free Software Foundation, Inc. |
25852 | 29 |
30 ;; Author: Lars Magne Ingebrigtsen <larsi@ifi.uio.no> | |
31 ;; Keywords: news | |
32 | |
33 ;; This file is part of GNU Emacs. | |
34 | |
95004
cbf5528cf447
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79776
diff
changeset
|
35 ;; GNU Emacs is free software: you can redistribute it and/or modify |
25852 | 36 ;; it under the terms of the GNU General Public License as published by |
95004
cbf5528cf447
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79776
diff
changeset
|
37 ;; the Free Software Foundation, either version 3 of the License, or |
cbf5528cf447
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79776
diff
changeset
|
38 ;; (at your option) any later version. |
25852 | 39 |
40 ;; GNU Emacs is distributed in the hope that it will be useful, | |
41 ;; but WITHOUT ANY WARRANTY; without even the implied warranty of | |
42 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
43 ;; GNU General Public License for more details. | |
44 | |
45 ;; You should have received a copy of the GNU General Public License | |
95004
cbf5528cf447
Switch to recommended form of GPLv3 permissions notice.
Glenn Morris <rgm@gnu.org>
parents:
79776
diff
changeset
|
46 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. |
25852 | 47 |
48 From lars Thu Feb 23 23:20:38 1995 | |
49 From: larsi@ifi.uio.no (ding) | |
50 Date: Fri Feb 24 13:40:45 1995 | |
51 Subject: Starting up | |
52 Message-ID: <lars-doc2@eyesore.no> | |
53 | |
54 If you are having problems with Gnus not finding your server, you have | |
55 to set `gnus-select-method'. A "method" is a way of specifying *how* | |
56 the news is to be found, and from *where*. | |
57 | |
58 Say you want to read news from you local, friendly nntp server | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25852
diff
changeset
|
59 "news.my.local.server". |
25852 | 60 |
61 (setq gnus-select-method '(nntp "news.my.local.server")) | |
62 | |
63 Quite easy, huh? | |
64 | |
65 From the news spool: | |
66 | |
67 (setq gnus-select-method '(nnspool "")) | |
68 | |
69 From your mh-e spool: | |
70 | |
71 (setq gnus-select-method '(nnmh "")) | |
72 | |
73 There's a whole bunch of other methods for reading mail and news, see | |
74 the "Foreign groups" article for that. | |
75 | |
76 | |
77 From lars Thu Feb 23 23:20:38 1995 | |
78 From: larsi@ifi.uio.no (ding) | |
79 Date: Fri Feb 24 13:40:45 1995 | |
80 Subject: Where are all the groups, then? | |
81 Message-ID: <lars-doc3@eyesore.no> | |
82 | |
83 If this is the first time you have used a newsreader, you won't have a | |
84 .newsrc file. This means that Gnus will think that all the newsgroups | |
85 on the server are "new", and kill them all. | |
86 | |
87 If you have a .newsrc file, the new groups will be processed with the | |
88 function in the `gnus-subscribe-newsgroup-method' variable, which is | |
89 `gnus-subscribe-zombies' by default. | |
90 | |
91 This means that all the groups have been made into "zombies" - not | |
92 quite dead, but not exactly alive, either. | |
93 | |
94 Jump back to the *Group* buffer, and type `A z' to list all the zombie | |
95 groups. Look though the list, and subscribe to the groups you want to | |
96 read by pressing `u' on the one you think look interesting. | |
97 | |
98 If all the groups have been killed, type `A k' to list all the killed | |
99 groups. Subscribe to them the same way. | |
100 | |
101 When you are satisfied, press `S z' to kill all the zombie groups. | |
102 | |
103 Now you should have a nice list of all groups you are interested in. | |
104 | |
105 (If you later want to subscribe to more groups, press `A k' to | |
106 list all the kill groups, and repeat. You can also type `U' and be | |
107 prompted for groups to subscribe to.) | |
108 | |
109 | |
110 From lars Thu Feb 23 23:20:38 1995 | |
111 From: larsi@ifi.uio.no (ding) | |
112 Date: Fri Feb 24 13:40:45 1995 | |
113 Subject: I want to read my mail! | |
114 Message-ID: <lars-doc4@eyesore.no> | |
115 | |
116 Yes, Virginia, you can read mail with Gnus. | |
117 | |
118 First you have to decide which mail backend you want to use. You have | |
119 nnml, which is a one-file-one-mail backend, which is quite nice, but | |
120 apt to make your systems administrator go crazy and come after you | |
121 with a shotgun. | |
122 | |
123 nnmbox uses a Unix mail box to store mail. Nice, but slow. | |
124 | |
125 nnmh uses mh-e folders, which is also a one-file-one-mail thingie, but | |
126 slower than nnml. (It doesn't support NOV files.) | |
127 | |
128 So if you want to go with nnmbox, you can simply say: | |
129 | |
130 (setq gnus-secondary-select-methods '((nnmbox ""))) | |
131 | |
132 (The same for the other methods, kind of.) | |
133 | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25852
diff
changeset
|
134 You should also set `nnmail-split-methods' to something sensible: |
25852 | 135 |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25852
diff
changeset
|
136 (setq nnmail-split-methods |
25852 | 137 '(("mail.junk" "From:.*Lars") |
138 ("mail.misc ""))) | |
139 | |
140 This will put all mail from me in you junk mail group, and the rest in | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25852
diff
changeset
|
141 "mail.misc". |
25852 | 142 |
143 These groups will be subscribe the same way as the normal groups, so | |
144 you will probably find them among the zombie groups after you set | |
145 these variables and re-start Gnus. | |
146 | |
147 | |
148 From lars Thu Feb 23 23:20:38 1995 | |
149 From: larsi@ifi.uio.no (ding) | |
150 Date: Fri Feb 24 13:40:45 1995 | |
151 Subject: Foreign newsgroups | |
152 Message-ID: <lars-doc5@eyesore.no> | |
153 | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25852
diff
changeset
|
154 These are groups that do not come from `gnus-select-method'. |
25852 | 155 |
156 Say you want to read "alt.furniture.couches" from "news.funet.fi". You | |
157 can then either type `B news.funet.fi <RET>' to browse that server and | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25852
diff
changeset
|
158 subscribe to that group, or you can type |
25852 | 159 `G m alt.furniture.couches<RET>nntp<RET>news.funet.fi<RET>', if you |
160 like to type a lot. | |
161 | |
162 If you want to read a directory as a newsgroup, you can create an | |
163 nndir group, much the same way. There's a shorthand for that, | |
164 though. If, for instance, you want to read the (ding) list archives, | |
165 you could type `G d /ftp <RET>'. | |
166 | |
167 There's lots more to know about foreign groups, but you have to read | |
168 the info pages to find out more. | |
169 | |
170 | |
171 From lars Thu Feb 23 23:20:38 1995 | |
172 From: larsi@ifi.uio.no (ding) | |
173 Date: Fri Feb 24 13:40:45 1995 | |
174 Subject: Low level changes in GNUS, or, Wrong type argument: stringp, nil | |
175 Message-ID: <lars-doc6@eyesore.no> | |
176 | |
177 Gnus really isn't GNUS, even though it looks like it. If you scrape | |
178 the surface, you'll find that most things have changed. | |
179 | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25852
diff
changeset
|
180 This means that old code that relies on GNUS internals will fail. |
25852 | 181 |
182 In particular, `gnus-newsrc-hashtb', `gnus-newsrc-assoc', | |
183 `gnus-killed-list', the `nntp-header-' macros and the display formats | |
184 have all changed. If you have some code lying around that depend on | |
185 these, or change these, you'll have to re-write your code. | |
186 | |
187 Old hilit19 code does not work at all. In fact, you should probably | |
188 remove all hilit code from all the Gnus hooks | |
189 (`gnus-group-prepare-hook', `gnus-summary-prepare-hook' and | |
190 `gnus-summary-article-hook'). (Well, at the very least the first | |
191 two.) Gnus provides various integrated functions for highlighting, | |
192 which are both faster and more accurated. | |
193 | |
194 There is absolutely no chance, whatsoever, of getting Gnus to work | |
195 with Emacs 18. It won't even work on Emacsen older than Emacs | |
196 19.30/XEmacs 19.13. Upgrade your Emacs or die. | |
197 | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25852
diff
changeset
|
198 |
25852 | 199 From lars Thu Feb 23 23:20:38 1995 |
200 From: larsi@ifi.uio.no (ding) | |
201 Date: Fri Feb 24 13:40:45 1995 | |
202 Subject: How do I re-scan my mail groups? | |
203 Message-ID: <lars-doc8@eyesore.no> | |
204 | |
205 Reading the active file from the nntp server is a drag. | |
206 | |
207 Just press `M-g' on the mail groups, and they will be re-scanned. | |
208 | |
209 You can also re-scan all the mail groups by putting them on level 1 | |
210 (`S l 1'), and saying `1 g' to re-scan all level 1 groups. | |
211 | |
212 | |
213 From lars Thu Feb 23 23:20:38 1995 | |
214 From: larsi@ifi.uio.no (ding) | |
215 Date: Fri Feb 24 13:40:45 1995 | |
216 Subject: How do I set up virtual newsgroups? | |
217 Message-ID: <lars-doc9@eyesore.no> | |
218 | |
219 Virtual newsgroups are collections of other newsgroups. Why people | |
220 want this is beyond me, but here goes: | |
221 | |
222 Create the group by saying | |
223 | |
69195
477ba8c8d22c
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-126
Miles Bader <miles@gnu.org>
parents:
68640
diff
changeset
|
224 `G m my.virtual.newsgroup<RET>nnvirtual<RET>^rec\.aquaria\.*<RET>' |
25852 | 225 |
226 This will create the group "nnvirtual:my.virtual.newsgroup", which | |
227 will collect all articles from all the groups in the "rec.aquaria" | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25852
diff
changeset
|
228 hierarchy. |
25852 | 229 |
230 If you want to edit the regular expression, just type `M-e' on the | |
231 group line. | |
232 | |
233 Note that all the groups that are part of the virtual group have to be | |
234 alive. This means that the cannot, absolutely not, be zombie or | |
235 killed. They can be unsubscribed; that's no problem. | |
236 | |
237 You can combine groups from different servers in the same virtual | |
238 newsgroup, something that may actually be useful. Say you have the | |
239 group "comp.headers" on the server "news.server.no" and the same group | |
240 on "news.server.edu". If people have posted articles with Distribution | |
241 headers that stop propagation of their articles, combining these two | |
242 newsgroups into one virtual newsgroup should give you a better view of | |
243 what's going on. | |
244 | |
245 One caveat, though: The virtual group article numbers from the first | |
246 source group (group A) will always be lower than the article numbers | |
247 from the second (group B). This means that Gnus will believe that | |
248 articles from group A are older than articles from group B. Threading | |
249 will lessen these problems, but it might be a good idea to sort the | |
250 threads over the date of the articles to get a correct feel for the | |
251 flow of the groups: | |
252 | |
253 (setq gnus-thread-sort-functions '(gnus-thread-sort-by-date)) | |
254 | |
255 If you only want this in virtual groups, you could say something along | |
256 the lines of: | |
257 | |
258 (setq gnus-select-group-hook | |
259 (lambda () | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25852
diff
changeset
|
260 (if (eq 'nnvirtual (car (gnus-find-method-for-group |
25852 | 261 gnus-newsgroup-name))) |
262 (progn | |
263 (make-local-variable 'gnus-thread-sort-functions) | |
264 (setq gnus-thread-sort-functions '(gnus-thread-sort-by-date)))))) | |
265 | |
266 | |
267 From lars Thu Feb 23 23:20:38 1995 | |
268 From: larsi@ifi.uio.no (ding) | |
269 Date: Fri Feb 24 13:40:45 1995 | |
270 Subject: Bugs & stuff | |
271 Message-ID: <lars-doc7@eyesore.no> | |
272 | |
273 If you want to report a bug, please type `M-x gnus-bug'. This will | |
274 give me a precise overview of your Gnus and Emacs version numbers, | |
275 along with a look at all Gnus variables you have changed. | |
276 | |
277 Du not expect a reply back, but your bug should be fixed in the next | |
278 version. If the bug persists, please re-submit your bug report. | |
279 | |
280 When a bug occurs, I need a recipe for how to trigger the bug. You | |
281 have to tell me exactly what you do to uncover the bug, and you should | |
282 (setq debug-on-error t) and send me the backtrace along with the bug | |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
25852
diff
changeset
|
283 report. |
25852 | 284 |
285 If I am not able to reproduce the bug, I won't be able to fix it. | |
286 | |
287 I would, of course, prefer that you locate the bug, fix it, and mail | |
288 me the patches, but one can't have everything. | |
289 | |
290 If you have any questions on usage, the "ding@ifi.uio.no" mailing list | |
291 is where to post the questions. | |
292 | |
293 |