emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r115474: Add support for auto-generating info/dir


From: Glenn Morris
Subject: [Emacs-diffs] trunk r115474: Add support for auto-generating info/dir
Date: Thu, 12 Dec 2013 03:38:08 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 115474
revision-id: address@hidden
parent: address@hidden
committer: Glenn Morris <address@hidden>
branch nick: trunk
timestamp: Wed 2013-12-11 19:37:38 -0800
message:
  Add support for auto-generating info/dir
  
  * 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.
added:
  admin/dir_top                  dir_top-20131212033605-6jtsluchndvlvkw3-1
modified:
  admin/ChangeLog                changelog-20091113204419-o5vbwnq5f7feedwu-2226
  admin/update_autogen           
update_autogen-20110320234513-evoa2jhg3q7dkdg8-8
  doc/emacs/ChangeLog            changelog-20091113204419-o5vbwnq5f7feedwu-6227
  doc/emacs/emacs.texi           emacs.texi-20091113204419-o5vbwnq5f7feedwu-6246
  doc/lispintro/ChangeLog        changelog-20091113204419-o5vbwnq5f7feedwu-6128
  doc/lispintro/emacs-lisp-intro.texi 
emacslispintro.texi-20091113204419-o5vbwnq5f7feedwu-6143
  doc/lispref/ChangeLog          changelog-20091113204419-o5vbwnq5f7feedwu-6155
  doc/lispref/elisp.texi         elisp.texi-20091113204419-o5vbwnq5f7feedwu-6176
  doc/misc/ChangeLog             changelog-20091113204419-o5vbwnq5f7feedwu-6331
  doc/misc/autotype.texi         
autotype.texi-20091113204419-o5vbwnq5f7feedwu-6289
  doc/misc/cc-mode.texi          
ccmode.texi-20091113204419-o5vbwnq5f7feedwu-6291
  doc/misc/ediff.texi            ediff.texi-20091113204419-o5vbwnq5f7feedwu-6296
  doc/misc/ert.texi              ert.texi-20110112160650-056hnl9qhpjvjicy-7
  doc/misc/htmlfontify.texi      
htmlfontify.texi-20130104093730-y0jp8j9c2zhxijnw-1
  doc/misc/ido.texi              ido.texi-20130724222900-50gdum2iefexcdgi-1
  doc/misc/octave-mode.texi      
docmiscoctavemode.te-20131211135130-mke18k9sh7x9vmyx-1
  doc/misc/org.texi              org.texi-20091113204419-o5vbwnq5f7feedwu-6313
  doc/misc/srecode.texi          srecode.texi-20121212171353-60tnfiqymns76dq1-1
  doc/misc/todo-mode.texi        todomode.texi-20130804212326-csuj921rpk9gy1gz-1
  doc/misc/tramp.texi            tramp.texi-20091113204419-o5vbwnq5f7feedwu-6324
=== modified file 'admin/ChangeLog'
--- a/admin/ChangeLog   2013-12-11 05:37:30 +0000
+++ b/admin/ChangeLog   2013-12-12 03:37:38 +0000
@@ -1,3 +1,13 @@
+2013-12-12  Glenn Morris  <address@hidden>
+
+       * 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  <address@hidden>
 
        Remove the option of using libcrypto.

=== added file 'admin/dir_top'
--- a/admin/dir_top     1970-01-01 00:00:00 +0000
+++ b/admin/dir_top     2013-12-12 03:37:38 +0000
@@ -0,0 +1,20 @@
+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.
+
+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:

=== modified file 'admin/update_autogen'
--- a/admin/update_autogen      2013-11-05 07:54:03 +0000
+++ b/admin/update_autogen      2013-12-12 03:37:38 +0000
@@ -51,7 +51,7 @@
 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).
@@ -61,6 +61,7 @@
     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
@@ -77,6 +78,7 @@
 autogendir=                     # was "autogen"
 ldefs_flag=1
 lboot_flag=
+info_flag=
 
 ## Parameters.
 ldefs_in=lisp/loaddefs.el
@@ -103,7 +105,7 @@
 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 ;;
 
@@ -119,6 +121,8 @@
 
         (C) clean=1 ;;
 
+        (I) info_flag=1 ;;
+
         (L) lboot_flag=1 ;;
 
         (\?) die "Bad option -$OPTARG" ;;
@@ -138,7 +142,8 @@
 
 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.
@@ -207,6 +212,70 @@
 }                               # 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/address@hidden //p' $file`
+
+            ## TODO warn about unknown topics.
+            [ "$dircat" = "$topic" ] || continue
+
+            sed -n -e 's/@value{emacsname}/Emacs/' \
+                -e 's/@acronym{\([A-Z]*\)}/\1/' \
+                -e '/address@hidden/,/address@hidden direntry/ 
s/^\(address@hidden)/\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
@@ -239,6 +308,9 @@
 }                               # $autogendir
 
 
+[ "$info_flag" ] && info_dir
+
+
 [ "$ldefs_flag" ] || exit 0
 
 

=== modified file 'doc/emacs/ChangeLog'
--- a/doc/emacs/ChangeLog       2013-12-08 15:33:27 +0000
+++ b/doc/emacs/ChangeLog       2013-12-12 03:37:38 +0000
@@ -1,3 +1,7 @@
+2013-12-12  Glenn Morris  <address@hidden>
+
+       * emacs.texi: Sync direntry with info/dir version.
+
 2013-12-08  Juanma Barranquero  <address@hidden>
 
        * msdog.texi (Windows Keyboard): Fix typo.

=== modified file 'doc/emacs/emacs.texi'
--- a/doc/emacs/emacs.texi      2013-11-29 19:55:31 +0000
+++ b/doc/emacs/emacs.texi      2013-12-12 03:37:38 +0000
@@ -48,7 +48,7 @@
 
 @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

=== modified file 'doc/lispintro/ChangeLog'
--- a/doc/lispintro/ChangeLog   2013-12-02 17:55:40 +0000
+++ b/doc/lispintro/ChangeLog   2013-12-12 03:37:38 +0000
@@ -1,3 +1,7 @@
+2013-12-12  Glenn Morris  <address@hidden>
+
+       * emacs-lisp-intro.texi: Sync direntry with info/dir version.
+
 2013-12-02  Paul Eggert  <address@hidden>
 
        * emacs-lisp-intro.texi (Counting Words): Don't use ':' in xref

=== modified file 'doc/lispintro/emacs-lisp-intro.texi'
--- a/doc/lispintro/emacs-lisp-intro.texi       2013-12-02 17:55:40 +0000
+++ b/doc/lispintro/emacs-lisp-intro.texi       2013-12-12 03:37:38 +0000
@@ -98,8 +98,7 @@
 
 @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

=== modified file 'doc/lispref/ChangeLog'
--- a/doc/lispref/ChangeLog     2013-12-08 15:33:27 +0000
+++ b/doc/lispref/ChangeLog     2013-12-12 03:37:38 +0000
@@ -1,3 +1,7 @@
+2013-12-12  Glenn Morris  <address@hidden>
+
+       * elisp.texi: Sync direntry with info/dir version.
+
 2013-12-08  Juanma Barranquero  <address@hidden>
 
        * display.texi (Progress, Face Remapping):

=== modified file 'doc/lispref/elisp.texi'
--- a/doc/lispref/elisp.texi    2013-07-31 12:59:10 +0000
+++ b/doc/lispref/elisp.texi    2013-12-12 03:37:38 +0000
@@ -119,7 +119,7 @@
 
 @dircategory GNU Emacs Lisp
 @direntry
-* Elisp: (elisp).       The Emacs Lisp Reference Manual.
+* Elisp: (elisp).               The Emacs Lisp Reference Manual.
 @end direntry
 
 @titlepage

=== modified file 'doc/misc/ChangeLog'
--- a/doc/misc/ChangeLog        2013-12-11 16:57:40 +0000
+++ b/doc/misc/ChangeLog        2013-12-12 03:37:38 +0000
@@ -1,3 +1,10 @@
+2013-12-12  Glenn Morris  <address@hidden>
+
+       * 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  <address@hidden>
 
        * Makefile.in: Add octave-mode.texi.

=== modified file 'doc/misc/autotype.texi'
--- a/doc/misc/autotype.texi    2013-01-06 14:29:40 +0000
+++ b/doc/misc/autotype.texi    2013-12-12 03:37:38 +0000
@@ -28,8 +28,8 @@
 
 @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

=== modified file 'doc/misc/cc-mode.texi'
--- a/doc/misc/cc-mode.texi     2013-08-13 07:02:00 +0000
+++ b/doc/misc/cc-mode.texi     2013-12-12 03:37:38 +0000
@@ -176,7 +176,7 @@
 @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 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

=== modified file 'doc/misc/ediff.texi'
--- a/doc/misc/ediff.texi       2013-02-13 04:31:09 +0000
+++ b/doc/misc/ediff.texi       2013-12-12 03:37:38 +0000
@@ -42,7 +42,8 @@
 
 @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

=== modified file 'doc/misc/ert.texi'
--- a/doc/misc/ert.texi 2013-10-24 07:40:05 +0000
+++ b/doc/misc/ert.texi 2013-12-12 03:37:38 +0000
@@ -6,7 +6,7 @@
 
 @dircategory Emacs misc features
 @direntry
-* ERT: (ert).        Emacs Lisp regression testing tool.
+* ERT: (ert).                   Emacs Lisp regression testing tool.
 @end direntry
 
 @copying

=== modified file 'doc/misc/htmlfontify.texi'
--- a/doc/misc/htmlfontify.texi 2013-08-09 00:51:03 +0000
+++ b/doc/misc/htmlfontify.texi 2013-12-12 03:37:38 +0000
@@ -26,7 +26,7 @@
 
 @dircategory Emacs misc features
 @direntry
-* Htmlfontify: (htmlfontify).    Convert source code to html.
+* Htmlfontify: (htmlfontify).   Convert source code to html.
 @end direntry
 
 @titlepage

=== modified file 'doc/misc/ido.texi'
--- a/doc/misc/ido.texi 2013-09-11 14:06:22 +0000
+++ b/doc/misc/ido.texi 2013-12-12 03:37:38 +0000
@@ -21,9 +21,9 @@
 @end quotation
 @end copying
 
address@hidden Emacs lisp libraries
address@hidden 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

=== modified file 'doc/misc/octave-mode.texi'
--- a/doc/misc/octave-mode.texi 2013-12-11 13:50:46 +0000
+++ b/doc/misc/octave-mode.texi 2013-12-12 03:37:38 +0000
@@ -22,7 +22,7 @@
 
 @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

=== modified file 'doc/misc/org.texi'
--- a/doc/misc/org.texi 2013-12-06 14:43:10 +0000
+++ b/doc/misc/org.texi 2013-12-12 03:37:38 +0000
@@ -279,7 +279,7 @@
 
 @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

=== modified file 'doc/misc/srecode.texi'
--- a/doc/misc/srecode.texi     2013-10-23 17:20:09 +0000
+++ b/doc/misc/srecode.texi     2013-12-12 03:37:38 +0000
@@ -32,7 +32,7 @@
 
 @dircategory Emacs misc features
 @direntry
-* SRecode: (srecode).           Template code generator.
+* SRecode: (srecode).           Semantic template code generator.
 @end direntry
 
 @titlepage

=== modified file 'doc/misc/todo-mode.texi'
--- a/doc/misc/todo-mode.texi   2013-08-16 05:15:51 +0000
+++ b/doc/misc/todo-mode.texi   2013-12-12 03:37:38 +0000
@@ -25,7 +25,7 @@
 
 @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

=== modified file 'doc/misc/tramp.texi'
--- a/doc/misc/tramp.texi       2013-10-02 13:52:32 +0000
+++ b/doc/misc/tramp.texi       2013-12-12 03:37:38 +0000
@@ -84,7 +84,7 @@
 @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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]