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