Hello texi-perts!
Seems like the info manuals can almost be produced by xemacs -batch,
hence removing the requirement for the makeinfo program, provided the
man/ Makefiles get adjusted or the step is performed manual (see
interactive function `makeinfo-file' atend.
Please let me know if you find a flaw with my below assessment and
suggestions.
Thanks,
Adrian
Some issues:
1. `batch-texinfo-format' goes into infinite recursion when called
with a directory argument. I'll submit a patch for this. This is
probably not a critical bug since translating all individual .texi
files in a directory will not produce valid info files anyway
(e.g. "makeinfo -o internals.info internals.texi" will produce a
proper lispref info manual, not "makeinfo *.texi").
2. I've noticed some breakage in cross-references between manuals for
internals
lispref
new-users-guide
xemacs
in 21.0-b42 (and 20.3 as well).
Please notice the empty fourth argument to many .*ref{}
constructs.
In places where `emacs' is the fourth agument, it should rather be
`xemacs' since there is no emacs.texi in XEmacs. It's called
xemacs.texi here.
I'll submit a patch the fix these references to work for current
filenames used.
cd /export/home/tmp/CVSroot/xemacs-20/man/
find . -type d \( -name SCCS -o -name RCS \) -prune -o \( -type f -o -type l \) -name "*.texi" -exec grep -n '@[a-z]ref.*,,.*}' "{}" /dev/null \;
Compilation started at Mon Jun 8 21:17:24 1998
./custom.texi:151:@xref{Sexp Types,,,widget,The Widget Library}, for information about
./texinfo.texi:13767:@xref{Definition Commands}, and @ref{deffnx,, Def Cmds in Detail}.
./texinfo.texi:13833:@xref{Definition Commands}, and @ref{deffnx,, Def Cmds in Detail}.
./texinfo.texi:13855:@xref{Definition Commands}, and @ref{deffnx,, Def Cmds in Detail}.
./texinfo.texi:13941:@xref{dots,,@code{@@dots@{@}}}.
./texinfo.texi:14252:@xref{pounds,,@code{@@pounds@{@}}}.
./texinfo.texi:14355:Generate a minimal title page. @xref{titlepage,,@code{@@titlepage}}.
./internals/internals.texi:5734:case. @xref{Case Tables,,, lispref, XEmacs Lisp Programmer's Manual}.
./internals/internals.texi:5738:case. @xref{Case Tables,,, lispref, XEmacs Lisp Programmer's Manual}.
./internals/internals.texi:5747:@xref{Case Tables,,, lispref, XEmacs Lisp Programmer's Manual}.
./internals/internals.texi:5758:@xref{Markers,,, lispref, XEmacs Lisp Programmer's Manual}.
./lispref/commands.texi:2301: @xref{Disabling,,, emacs, The XEmacs Reference Manual}, for the details on
./lispref/frames.texi:142:created. @xref{Resources X,, X Resources, emacs, The XEmacs User's Manual}.
./lispref/os.texi:198: @xref{Init File Examples,,, emacs, The XEmacs Reference Manual}, for
./lispref/text.texi:1135:boundaries. @xref{Paragraphs,,, emacs, The XEmacs User's Manual}.
./new-users-guide/custom1.texi:147:mode. @xref{Major Modes,,,,XEmacs User's Manual}, for more
./new-users-guide/custom2.texi:197:file. @xref{Variables,,,,XEmacs User's Manual}, for information on
./new-users-guide/custom2.texi:427:@xref{Init File,,,,XEmacs User's Manual}. You should also look at
./new-users-guide/edit.texi:85:@xref{Filling,,,,XEmacs User's Manual}, for information on using Auto Fill
./new-users-guide/edit.texi:290: @xref{Undoing Changes,,,,XEmacs User's Manual}, for more information on
./new-users-guide/enter.texi:124:again. @xref{Exiting Emacs,,,,XEmacs User's Manual}.
./new-users-guide/enter.texi:171:in @var{buf}. @xref{Buffers,,,,XEmacs User's Manual}.
./new-users-guide/files.texi:74:@xref{File Names,,,,XEmacs User's Manual}.
./new-users-guide/files.texi:200:@xref{Reverting,,,,XEmacs User's Manual}.
./new-users-guide/files.texi:212:backups, @xref{Backup,,,,XEmacs User's Manual}.
./new-users-guide/files.texi:222:auto-saving, @xref{Auto Save Files,,,,XEmacs User's Manual}.
./new-users-guide/files.texi:231:editing, @xref{Interlocking,,,,XEmacs User's Manual}.
./new-users-guide/modes.texi:69:commands. @xref{Nroff Mode,,,,XEmacs User's Manual}, for information
./new-users-guide/modes.texi:103:commands. @xref{C Indent,,,,XEmacs User's Manual}.
./new-users-guide/modes.texi:114:information on this mode, @xref{Fortran,,,,XEmacs User's Manual}.
./new-users-guide/modes.texi:119:text characters. @xref{Picture,,,,XEmacs User's Manual}, for more
./new-users-guide/modes.texi:219: @xref{Abbrevs,,,,XEmacs User's Manual}, for more information on this
./new-users-guide/region.texi:103: @xref{Selecting Text with the Mouse,,,,XEmacs User's Manual}, for
./new-users-guide/region.texi:125:region. @xref{Killing,,,,XEmacs User's Manual}, for more information.
./new-users-guide/region.texi:141:@xref{Indentation,,,,XEmacs User's Manual}, for more information.
./new-users-guide/region.texi:227:@xref{Accumulating Text,,,,XEmacs User's Manual}, for more
./new-users-guide/region.texi:231:areas of text. @xref{Rectangles,,,,XEmacs User's Manual}, for more
./new-users-guide/region.texi:239:manipulate registers @xref{Registers,,,,XEmacs User's Manual}.
./new-users-guide/new-users-guide.texi:224:commands relevant to a topic. @xref{Help,,,,XEmacs User's Manual}.
./new-users-guide/new-users-guide.texi:234:@xref{Customization,,,,XEmacs User's Manual}.
./new-users-guide/search.texi:75:expressions, @xref{Search,,,,XEmacs User's Manual}.
./new-users-guide/xmenu.texi:103:@xref{Sending Mail,,,,XEmacs User's Manual}, for information on how
./new-users-guide/xmenu.texi:302:applications. @xref{X Clipboard Selection,,,,XEmacs User's Manual},
./new-users-guide/xmenu.texi:389:on. @xref{Customization,,,,XEmacs User's Manual}, for more
./xemacs/files.texi:187:prints a warning message. @xref{Interlocking,,Simultaneous Editing}.
./xemacs/files.texi:370:@xref{Interlocking,, Simultaneous Editing}.
./xemacs/glossary.texi:218:@xref{ListDir,,Directories}.
./xemacs/glossary.texi:313:that character (in ordinary editing modes). @xref{Basic,,Basic Editing}.
./xemacs/glossary.texi:656:user to investigate them. @xref{Interlocking,,Simultaneous Editing}.
./xemacs/killing.texi:753:@xref{RegRect,,Rectangle Registers}.
igrep finished at Mon Jun 8 21:17:32
3. Would it be desireable to remove the dependency on `makeinfo' and
use "xemacs -no-site-file -no-init-file -batch -l texinfmt -f \
batch-texinfo-format FILE" instead?
I couldn't get makeinfo.exe compiled on Windows NT, so this seems
a worthwhile approach to me.
Here is what I use successfully on UNIX and NT as well:
(defun makeinfo-file (file)
"Run XEmacs in batch-mode in a compilation buffer to produce info
files from Texinfo input FILE."
(interactive "fXEmacs Texinfo file: ")
(cd (file-name-directory file))
(compile
(concat
(expand-file-name "../src/xemacs" source-directory)
" -no-site-file -no-init-file"
" -batch -l texinfmt -f batch-texinfo-format"
" " file)))
4. texinfmt.el does not support @uref and support for @email is
rudimentary. I may submit a patch for that as well.
5. Should we introduce angle brackets around email addresses?
Any comments?
--
Adrian Aichner
Applications Engineer
Teradyne GmbH
Semiconductor Test Group Telephone +49/89/41861(0)-208
Dingolfinger Straße 2 Fax +49/89/41861-217
D-81673 MÜNCHEN E-mail aichner(a)ecf.teradyne.com