declare smobs in alloc.c
[bpt/emacs.git] / admin / FOR-RELEASE
1 Tasks needed before the next release.
2
3 * TO BE DONE SHORTLY BEFORE RELEASE
4
5 ** Make sure the necessary sources and scripts for any generated files
6 are included in the source tarfile. (They don't need to be installed,
7 so eg admin/ is fine.)
8
9 ** Manuals
10 Check for node names using problematic characters:
11 find doc -name '*.texi' -exec grep '^@node[^,]*[:.()]' {} +
12 Sadly makeinfo does not warn about such characters.
13
14 Check for major new features added since the last release (e.g. new
15 lisp files), and add the relevant authors to the Acknowledgments in
16 doc/emacs/ack.texi and emacs.texi.
17
18 Check cross-references between the manuals (eg from emacs to elisp)
19 are correct. You can use something like the following in the info
20 directory in the Emacs build tree:
21
22 emacs -Q --eval "(progn (require 'info) (setq Info-directory-list '(\".\")))" \
23 -f info-xref-check-all
24
25 Setting Info-directory-list avoids having system info pages confuse
26 things. References to external manuals will be flagged as
27 uncheckable. You should still check these, and also that each
28 external manual has an appropriate redirect in the file manual/.htaccess
29 in the web pages repository. E.g.:
30 Redirect /software/emacs/manual/html_mono/automake.html /software/automake/manual/automake.html
31 Redirect /software/emacs/manual/html_node/automake/ /software/automake/manual/html_node/
32
33 Another tool you can use to check links is gnu.org's linc.py:
34 http://www.gnu.org/server/source/
35
36 You run this something like:
37
38 cd /path/to/cvs/emacs-www
39 linc.py -o /path/to/output-dir --url http://www.gnu.org/software/emacs/ .
40
41 Be warned that it is really, really slow (as in, can take ~ a full day
42 to check the manual/ directory). It is probably best to run it on a
43 single directory at a time from eg manual/html_node. It is very
44 inefficient, but may reveal a few things that info-xref does not.
45
46
47 make emacs.dvi, elisp.dvi, and deal with any errors (undefined
48 references etc) in the output. Break any overfull lines.
49 Underfull hboxes are not serious, but it can be nice to get rid of
50 them if a simple rephrasing or rearrangement will work.
51
52 Update the master menu and detailed menu (eg the antinews version).
53 The command texinfo-multiple-files-update can do this, but you
54 probably want to apply the results selectively (eg the current master
55 menu has better line-breaks than the automatic version). It includes
56 the menu-entry name (if there is one) as well as the node name - using
57 only the latter looks better. Also, it doesn't seem to handle nested
58 includes, so will miss edebug.texi etc.
59
60 Check for widow and orphan lines in the printed manual; make sure all
61 the pages really look ok in the manual as formatted. Orphans/widows
62 are cases where the first/last line of a paragraph is on its own at
63 the end/start of a page, or where the last word in a paragraph is on
64 its own at the start of a line. It looks better if you reword/respace
65 things to avoid these. (AFAIK, there is no way to find these except
66 paging through the whole manual.) This should be the very last thing
67 you do, since any change can alter the layout.
68 (Actually, there is probably little point in trying to do this.
69 It's only really relevant if printed versions of the manuals are going
70 to be published. End-users are not likely to print out all 1000+
71 pages of the manuals, and even if they do, the resulting page breaks
72 depend on what paper and font size they use. This also means that if
73 you _are_ going to do this, it should be done with the paper and font
74 size that the GNU Press are going to use when they print the manuals.
75 I think this is different to what you get if you just use eg `make
76 emacs.pdf' (e.g., enable "smallbook").
77
78 ** Check the keybindings in the refcards are correct, and add any new ones.
79 What paper size are the English versions supposed to be on?
80 On Debian testing, the packages texlive-lang-czechslovak and
81 texlive-lang-polish will let you generate the cs-* and sk-* pdfs.
82 (You may need texlive-lang-cyrillic, texlive-lang-german for others.)
83 The Makefile rules did not work for me, I had to use something like:
84 csplain -output-format=pdf cs-refcard
85
86 ** Ask maintainers of refcard translations to update them.
87
88 Emacs 22 translators:
89
90 LANG Translator Status
91 cs Pavel Janík
92 de Sven Joachim
93 fr Eric Jacoboni
94 pl Włodek Bzyl
95 pt-br Rodrigo Real
96 ru Alex Ott
97 sk Miroslav Vaško
98
99 ** For a major release, add a "New in Emacs XX" section to faq.texi.
100
101 ** Remove temporary +++/--- lines in NEWS.
102
103 ** Try to reorder NEWS: most important things first, related items together.
104
105 ** Consider bumping customize-changed-options-previous-release.
106
107 ** cusver-check from admin.el can help find new defcustoms missing
108 :version tags.
109
110 * BUGS
111
112 ** Check for modes which bind M-s that conflicts with a new global binding M-s
113 and change key bindings where necessary. The current list of modes:
114
115 1. Gnus binds `M-s' to `gnus-summary-search-article-forward'.
116
117 2. Minibuffer binds `M-s' to `next-matching-history-element'
118 (not useful any more since C-s can now search in the history).
119
120 3. `center-line' in Text mode was already moved to the text formatting
121 keymap as `M-o M-s' (thus this binding is not necessary any more
122 in `nroff-mode-map' too and can be removed now from the nroff mode
123 because it can now use the global key binding `M-o M-s' `center-line').
124
125 4. PCL-CVS binds `M-s' to `cvs-status', and log-edit-mode binds it to
126 `log-edit-comment-search-forward'. Perhaps search commands
127 on the global key binding `M-s' are useless in these modes.
128
129 5. Rmail binds `\es' to `rmail-search'/`rmail-summary-search'.
130
131
132 * DOCUMENTATION
133
134 ** Check the Emacs Tutorial.
135
136 The first line of every tutorial must begin with text ending in a
137 period (".", ASCII 0x2E) saying "Emacs Tutorial" in the respective
138 language. This should be followed by "See end for copying conditions",
139 likewise in the respective language.
140
141 After each file name, on the same line or the following line, come the
142 names of the people who have checked it.
143
144 SECTION READERS
145 ----------------------------------
146 TUTORIAL cyd
147 TUTORIAL.bg ogi
148 TUTORIAL.cn xfq
149 TUTORIAL.cs
150 TUTORIAL.de wl
151 TUTORIAL.eo
152 TUTORIAL.es
153 TUTORIAL.fr
154 TUTORIAL.he eliz
155 TUTORIAL.it
156 TUTORIAL.ja
157 TUTORIAL.ko
158 TUTORIAL.nl Pieter Schoenmakers
159 TUTORIAL.pl
160 TUTORIAL.pt_BR
161 TUTORIAL.ro
162 TUTORIAL.ru Alex Ott
163 TUTORIAL.sk
164 TUTORIAL.sl Primoz PETERLIN
165 TUTORIAL.sv Mats Lidell
166 TUTORIAL.th
167 TUTORIAL.zh
168
169 ** Check the manual.
170
171 abbrevs.texi
172 ack.texi
173 anti.texi
174 arevert-xtra.texi
175 basic.texi
176 buffers.texi
177 building.texi
178 calendar.texi
179 cal-xtra.texi
180 cmdargs.texi
181 commands.texi
182 custom.texi
183 dired.texi
184 dired-xtra.texi
185 display.texi
186 emacs.texi
187 emacs-xtra.texi
188 emerge-xtra.texi
189 entering.texi
190 files.texi
191 fixit.texi
192 fortran-xtra.texi
193 frames.texi
194 glossary.texi
195 help.texi
196 indent.texi
197 killing.texi
198 kmacro.texi
199 macos.texi
200 maintaining.texi
201 mark.texi
202 mini.texi
203 misc.texi
204 modes.texi
205 msdog.texi
206 msdog-xtra.texi
207 mule.texi
208 m-x.texi
209 package.texi
210 picture-xtra.texi
211 programs.texi
212 regs.texi
213 rmail.texi
214 screen.texi
215 search.texi
216 sending.texi
217 text.texi
218 trouble.texi
219 vc-xtra.texi
220 vc1-xtra.texi
221 windows.texi
222 xresources.texi
223
224 ** Check the Lisp manual.
225
226 abbrevs.texi
227 anti.texi
228 back.texi
229 backups.texi
230 buffers.texi
231 commands.texi
232 compile.texi
233 control.texi
234 customize.texi
235 debugging.texi
236 display.texi
237 edebug.texi
238 elisp.texi
239 errors.texi
240 eval.texi
241 files.texi
242 frames.texi
243 functions.texi
244 hash.texi
245 help.texi
246 hooks.texi
247 index.texi
248 internals.texi
249 intro.texi
250 keymaps.texi
251 lists.texi
252 loading.texi
253 macros.texi
254 maps.texi
255 markers.texi
256 minibuf.texi
257 modes.texi
258 nonascii.texi
259 numbers.texi Paul Eggert (24.4)
260 objects.texi
261 os.texi
262 package.texi
263 positions.texi
264 processes.texi
265 searching.texi
266 sequences.texi
267 streams.texi
268 strings.texi
269 symbols.texi
270 syntax.texi
271 text.texi
272 tips.texi
273 variables.texi
274 windows.texi
275
276 \f
277 Local variables:
278 mode: outline
279 coding: utf-8
280 end: