* admin/update_autogen: Add option to generate info/dir.
(Usage): Add -I.
(info_flag): New variable.
(-I): New option.
(doc): Maybe check its status.
(info_dir): New function.
* admin/dir_top: New file.
* doc/emacs/emacs.texi:
* doc/lispintro/emacs-lisp-intro.texi:
* doc/lispref/elisp.texi:
* doc/misc/autotype.texi, doc/misc/cc-mode.texi, doc/misc/ediff.texi:
* doc/misc/ert.texi, doc/misc/htmlfontify.texi, doc/misc/ido.texi:
* doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/srecode.texi:
* doc/misc/todo-mode.texi, doc/misc/tramp.texi:
Sync direntry with info/dir version.
+2013-12-12 Glenn Morris <rgm@gnu.org>
+
+ * update_autogen: Add option to generate info/dir.
+ (Usage): Add -I.
+ (info_flag): New variable.
+ (-I): New option.
+ (doc): Maybe check its status.
+ (info_dir): New function.
+ * dir_top: New file.
+
2013-12-11 Paul Eggert <eggert@cs.ucla.edu>
Remove the option of using libcrypto.
--- /dev/null
+This is the file .../info/dir, which contains the
+topmost node of the Info hierarchy, called (dir)Top.
+The first time you invoke Info you start off looking at this node.
+\1f
+File: dir, Node: Top This is the top of the INFO tree
+
+The Info Directory
+******************
+
+ The Info Directory is the top-level menu of major Info topics.
+ Type "d" in Info to return to the Info Directory. Type "q" to exit Info.
+ Type "?" for a list of Info commands, or "h" to visit an Info tutorial.
+ Type "m" to choose a menu item--for instance,
+ "mEmacs<Return>" visits the Emacs manual.
+ In Emacs Info, you can click mouse button 2 on a menu item
+ or cross reference to follow it to its target.
+ Each menu line that starts with a * is a topic you can select with "m".
+ Every third topic has a red * to help pick the right number to type.
+
+* Menu:
usage ()
{
cat 1>&2 <<EOF
-Usage: ${PN} [-f] [-c] [-q] [-A dir] [-L] [-C] [-- make-flags]
+Usage: ${PN} [-f] [-c] [-q] [-A dir] [-I] [-L] [-C] [-- make-flags]
Update some auto-generated files in the Emacs tree.
By default, only does the versioned loaddefs-like files in lisp/.
This requires a build. Passes any non-option args to make (eg -- -j2).
commit them (caution).
-q: be quiet; only give error messages, not status messages.
-A: only update autotools files, copying into specified dir.
+-I: also update info/dir.
-L: also update ldefs-boot.el.
-C: start from a clean state. Slower, but more correct.
EOF
autogendir= # was "autogen"
ldefs_flag=1
lboot_flag=
+info_flag=
## Parameters.
ldefs_in=lisp/loaddefs.el
trap "rm -f $tempfile 2> /dev/null" EXIT
-while getopts ":hcfqA:CL" option ; do
+while getopts ":hcfqA:CIL" option ; do
case $option in
(h) usage ;;
(C) clean=1 ;;
+ (I) info_flag=1 ;;
+
(L) lboot_flag=1 ;;
(\?) die "Bad option -$OPTARG" ;;
echo "Running bzr status..."
-bzr status -S ${autogendir:+$sources} ${ldefs_flag:+lisp} >| $tempfile || \
+bzr status -S ${autogendir:+$sources} ${ldefs_flag:+lisp} \
+ ${info_flag:+doc} >| $tempfile || \
die "bzr status error for input files"
## The lisp portion could be more permissive, eg only care about .el files.
} # function commit
+## FIXME use standard tools for this, generate info/dir at build time
+## if needed, stop keeping in the repo.
+info_dir ()
+{
+ local basefile=admin/dir_top outfile=info/dir
+
+ echo "Regenerating info/dir..."
+
+ ## Header contains non-printing characters, so this is more
+ ## reliable than using echo.
+ rm -f $outfile
+ cp $basefile $outfile
+
+ local topic file dircat dirent
+
+ ## FIXME inefficient looping.
+ for topic in "Texinfo documentation system" "Emacs" "GNU Emacs Lisp" \
+ "Emacs editing modes" "Emacs network features" "Emacs misc features" \
+ "Emacs lisp libraries"; do
+
+ cat - <<EOF >> $outfile
+
+$topic
+EOF
+ ## Bit faster than doc/*/*.texi.
+ for file in doc/emacs/emacs.texi doc/lispintro/*.texi \
+ doc/lispref/elisp.texi doc/misc/*.texi; do
+
+ ## FIXME do not ignore w32 if OS is w32.
+ case $file in
+ *-xtra.texi|*efaq-w32.texi) continue ;;
+ esac
+
+ dircat=`sed -n -e 's/@value{emacsname}/Emacs/' -e 's/^@dircategory //p' $file`
+
+ ## TODO warn about unknown topics.
+ [ "$dircat" = "$topic" ] || continue
+
+ sed -n -e 's/@value{emacsname}/Emacs/' \
+ -e 's/@acronym{\([A-Z]*\)}/\1/' \
+ -e '/^@direntry/,/^@end direntry/ s/^\([^@]\)/\1/p' \
+ $file >> $outfile
+
+ done
+ done
+
+ bzr status -S $outfile >| $tempfile || \
+ die "bzr status error for generated $outfile"
+
+ local modified
+
+ while read stat file; do
+
+ [ "$stat" != "M" ] && \
+ die "Unexpected status ($stat) for generated $file"
+
+ modified="$modified $file"
+
+ done < $tempfile
+
+ commit "generated" $modified || die "bzr commit error"
+} # function info_dir
+
+
[ "$autogendir" ] && {
oldpwd=$PWD
} # $autogendir
+[ "$info_flag" ] && info_dir
+
+
[ "$ldefs_flag" ] || exit 0
+2013-12-12 Glenn Morris <rgm@gnu.org>
+
+ * emacs.texi: Sync direntry with info/dir version.
+
2013-12-08 Juanma Barranquero <lekktu@gmail.com>
* msdog.texi (Windows Keyboard): Fix typo.
@dircategory Emacs
@direntry
-* Emacs: (emacs). The extensible self-documenting text editor.
+* Emacs: (emacs). The extensible self-documenting text editor.
@end direntry
@c in general, keep the following line commented out, unless doing a
+2013-12-12 Glenn Morris <rgm@gnu.org>
+
+ * emacs-lisp-intro.texi: Sync direntry with info/dir version.
+
2013-12-02 Paul Eggert <eggert@cs.ucla.edu>
* emacs-lisp-intro.texi (Counting Words): Don't use ':' in xref
@dircategory GNU Emacs Lisp
@direntry
-* Emacs Lisp Intro: (eintr).
- A simple introduction to Emacs Lisp programming.
+* Emacs Lisp Intro: (eintr). A simple introduction to Emacs Lisp programming.
@end direntry
@copying
+2013-12-12 Glenn Morris <rgm@gnu.org>
+
+ * elisp.texi: Sync direntry with info/dir version.
+
2013-12-08 Juanma Barranquero <lekktu@gmail.com>
* display.texi (Progress, Face Remapping):
@dircategory GNU Emacs Lisp
@direntry
-* Elisp: (elisp). The Emacs Lisp Reference Manual.
+* Elisp: (elisp). The Emacs Lisp Reference Manual.
@end direntry
@titlepage
+2013-12-12 Glenn Morris <rgm@gnu.org>
+
+ * autotype.texi, cc-mode.texi, ediff.texi, ert.texi:
+ * htmlfontify.texi, ido.texi, octave-mode.texi, org.texi:
+ * srecode.texi, todo-mode.texi, tramp.texi:
+ Sync direntry with info/dir version.
+
2013-12-11 RĂ¼diger Sonderfeld <ruediger@c-plusplus.de>
* Makefile.in: Add octave-mode.texi.
@dircategory Emacs misc features
@direntry
-* Autotype: (autotype). Convenient features for text that you
- enter frequently in Emacs.
+* Autotype: (autotype). Convenient features for text that you enter
+ frequently in Emacs.
@end direntry
@titlepage
@dircategory Emacs editing modes
@direntry
* CC Mode: (ccmode). Emacs mode for editing C, C++, Objective-C,
- Java, Pike, AWK, and CORBA IDL code.
+ Java, Pike, AWK, and CORBA IDL code.
@end direntry
@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@dircategory Emacs misc features
@direntry
-* Ediff: (ediff). A visual interface for comparing and merging programs.
+* Ediff: (ediff). A visual interface for comparing and
+ merging programs.
@end direntry
@titlepage
@dircategory Emacs misc features
@direntry
-* ERT: (ert). Emacs Lisp regression testing tool.
+* ERT: (ert). Emacs Lisp regression testing tool.
@end direntry
@copying
@dircategory Emacs misc features
@direntry
-* Htmlfontify: (htmlfontify). Convert source code to html.
+* Htmlfontify: (htmlfontify). Convert source code to html.
@end direntry
@titlepage
@end quotation
@end copying
-@dircategory Emacs lisp libraries
+@dircategory Emacs misc features
@direntry
-* Ido: (ido). Interactively do things with buffers and files.
+* Ido: (ido). Interactively do things with buffers and files.
@end direntry
@finalout
@dircategory Emacs editing modes
@direntry
-* Octave mode: (octave-mode). Emacs mode for editing GNU Octave files.
+* Octave mode: (octave-mode). Emacs mode for editing GNU Octave files.
@end direntry
@finalout
@dircategory Emacs editing modes
@direntry
-* Org Mode: (org). Outline-based notes management and organizer
+* Org Mode: (org). Outline-based notes management and organizer.
@end direntry
@titlepage
@dircategory Emacs misc features
@direntry
-* SRecode: (srecode). Template code generator.
+* SRecode: (srecode). Semantic template code generator.
@end direntry
@titlepage
@dircategory Emacs misc features
@direntry
-* Todo Mode: (todo-mode). Make and maintain todo lists.
+* Todo Mode: (todo-mode). Make and maintain todo lists.
@end direntry
@titlepage
@dircategory @value{emacsname} network features
@direntry
* TRAMP: (tramp). Transparent Remote Access, Multiple Protocol
- @value{emacsname} remote file access via rsh and rcp.
+ @value{emacsname} remote file access via rsh and rcp.
@end direntry
@titlepage