Tasks needed before the next release. * TO BE DONE SHORTLY BEFORE RELEASE ** Make sure the necessary sources and scripts for any generated files are included in the source tarfile. (They don't need to be installed, so eg admin/ is fine.) ** Manuals Check for node names using problematic characters: find doc -name '*.texi' -exec grep '^@node[^,]*[:.()]' {} + Sadly makeinfo does not warn about such characters. Check for major new features added since the last release (e.g. new lisp files), and add the relevant authors to the Acknowledgments in doc/emacs/ack.texi and emacs.texi. Check cross-references between the manuals (eg from emacs to elisp) are correct. You can use something like the following in the info directory in the Emacs build tree: emacs -Q --eval "(progn (require 'info) (setq Info-directory-list '(\".\")))" \ -f info-xref-check-all Setting Info-directory-list avoids having system info pages confuse things. References to external manuals will be flagged as uncheckable. You should still check these, and also that each external manual has an appropriate redirect in the file manual/.htaccess in the web pages repository. E.g.: Redirect /software/emacs/manual/html_mono/automake.html /software/automake/manual/automake.html Redirect /software/emacs/manual/html_node/automake/ /software/automake/manual/html_node/ Another tool you can use to check links is gnu.org's linc.py: http://www.gnu.org/server/source/ You run this something like: cd /path/to/cvs/emacs-www linc.py -o /path/to/output-dir --url http://www.gnu.org/software/emacs/ . Be warned that it is really, really slow (as in, can take ~ a full day to check the manual/ directory). It is probably best to run it on a single directory at a time from eg manual/html_node. It is very inefficient, but may reveal a few things that info-xref does not. make emacs.dvi, elisp.dvi, and deal with any errors (undefined references etc) in the output. Break any overfull lines. Underfull hboxes are not serious, but it can be nice to get rid of them if a simple rephrasing or rearrangement will work. Update the master menu and detailed menu (eg the antinews version). The command texinfo-multiple-files-update can do this, but you probably want to apply the results selectively (eg the current master menu has better line-breaks than the automatic version). It includes the menu-entry name (if there is one) as well as the node name - using only the latter looks better. Also, it doesn't seem to handle nested includes, so will miss edebug.texi etc. Check for widow and orphan lines in the printed manual; make sure all the pages really look ok in the manual as formatted. Orphans/widows are cases where the first/last line of a paragraph is on its own at the end/start of a page, or where the last word in a paragraph is on its own at the start of a line. It looks better if you reword/respace things to avoid these. (AFAIK, there is no way to find these except paging through the whole manual.) This should be the very last thing you do, since any change can alter the layout. (Actually, there is probably little point in trying to do this. It's only really relevant if printed versions of the manuals are going to be published. End-users are not likely to print out all 1000+ pages of the manuals, and even if they do, the resulting page breaks depend on what paper and font size they use. This also means that if you _are_ going to do this, it should be done with the paper and font size that the GNU Press are going to use when they print the manuals. I think this is different to what you get if you just use eg `make emacs.pdf' (e.g., enable "smallbook"). ** Check the keybindings in the refcards are correct, and add any new ones. What paper size are the English versions supposed to be on? On Debian testing, the packages texlive-lang-czechslovak and texlive-lang-polish will let you generate the cs-* and sk-* pdfs. (You may need texlive-lang-cyrillic, texlive-lang-german for others.) The Makefile rules did not work for me, I had to use something like: csplain -output-format=pdf cs-refcard ** Ask maintainers of refcard translations to update them. Emacs 22 translators: LANG Translator Status cs Pavel Janík de Sven Joachim fr Eric Jacoboni pl Włodek Bzyl pt-br Rodrigo Real ru Alex Ott sk Miroslav Vaško ** For a major release, add a "New in Emacs XX" section to faq.texi. ** Remove temporary +++/--- lines in NEWS. ** Try to reorder NEWS: most important things first, related items together. ** Consider bumping customize-changed-options-previous-release. ** cusver-check from admin.el can help find new defcustoms missing :version tags. * BUGS ** Check for modes which bind M-s that conflicts with a new global binding M-s and change key bindings where necessary. The current list of modes: 1. Gnus binds `M-s' to `gnus-summary-search-article-forward'. 2. Minibuffer binds `M-s' to `next-matching-history-element' (not useful any more since C-s can now search in the history). 3. `center-line' in Text mode was already moved to the text formatting keymap as `M-o M-s' (thus this binding is not necessary any more in `nroff-mode-map' too and can be removed now from the nroff mode because it can now use the global key binding `M-o M-s' `center-line'). 4. PCL-CVS binds `M-s' to `cvs-status', and log-edit-mode binds it to `log-edit-comment-search-forward'. Perhaps search commands on the global key binding `M-s' are useless in these modes. 5. Rmail binds `\es' to `rmail-search'/`rmail-summary-search'. * DOCUMENTATION ** Check the Emacs Tutorial. The first line of every tutorial must begin with text ending in a period (".", ASCII 0x2E) saying "Emacs Tutorial" in the respective language. This should be followed by "See end for copying conditions", likewise in the respective language. After each file name, on the same line or the following line, come the names of the people who have checked it. SECTION READERS ---------------------------------- TUTORIAL cyd TUTORIAL.bg ogi TUTORIAL.cn xfq TUTORIAL.cs TUTORIAL.de wl TUTORIAL.eo TUTORIAL.es TUTORIAL.fr TUTORIAL.he eliz TUTORIAL.it TUTORIAL.ja TUTORIAL.ko TUTORIAL.nl Pieter Schoenmakers TUTORIAL.pl TUTORIAL.pt_BR TUTORIAL.ro TUTORIAL.ru Alex Ott TUTORIAL.sk TUTORIAL.sl Primoz PETERLIN TUTORIAL.sv Mats Lidell TUTORIAL.th TUTORIAL.zh ** Check the manual. abbrevs.texi ack.texi anti.texi arevert-xtra.texi basic.texi buffers.texi building.texi calendar.texi cal-xtra.texi cmdargs.texi commands.texi custom.texi dired.texi dired-xtra.texi display.texi emacs.texi emacs-xtra.texi emerge-xtra.texi entering.texi files.texi fixit.texi fortran-xtra.texi frames.texi glossary.texi help.texi indent.texi killing.texi kmacro.texi macos.texi maintaining.texi mark.texi mini.texi misc.texi modes.texi msdog.texi msdog-xtra.texi mule.texi m-x.texi package.texi picture-xtra.texi programs.texi regs.texi rmail.texi screen.texi search.texi sending.texi text.texi trouble.texi vc-xtra.texi vc1-xtra.texi windows.texi xresources.texi ** Check the Lisp manual. abbrevs.texi anti.texi back.texi backups.texi buffers.texi commands.texi compile.texi control.texi customize.texi debugging.texi display.texi edebug.texi elisp.texi errors.texi eval.texi files.texi frames.texi functions.texi hash.texi help.texi hooks.texi index.texi internals.texi intro.texi keymaps.texi lists.texi loading.texi macros.texi maps.texi markers.texi minibuf.texi modes.texi nonascii.texi numbers.texi Paul Eggert (24.4) objects.texi os.texi package.texi positions.texi processes.texi searching.texi sequences.texi streams.texi strings.texi symbols.texi syntax.texi text.texi tips.texi variables.texi windows.texi Local variables: mode: outline coding: utf-8 end: