aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlenn Morris2013-12-11 19:37:38 -0800
committerGlenn Morris2013-12-11 19:37:38 -0800
commitf9405d87cdbb4e2072b6c53ee9c5c01ca14d41de (patch)
treeb903740ea85ca4487048efb8db12bfa23c1c6010
parentd5ccb7be025ddc5a6ac8c5291d89596b78d9745c (diff)
downloademacs-f9405d87cdbb4e2072b6c53ee9c5c01ca14d41de.tar.gz
emacs-f9405d87cdbb4e2072b6c53ee9c5c01ca14d41de.zip
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.
-rw-r--r--admin/ChangeLog10
-rw-r--r--admin/dir_top20
-rwxr-xr-xadmin/update_autogen78
-rw-r--r--doc/emacs/ChangeLog4
-rw-r--r--doc/emacs/emacs.texi2
-rw-r--r--doc/lispintro/ChangeLog4
-rw-r--r--doc/lispintro/emacs-lisp-intro.texi3
-rw-r--r--doc/lispref/ChangeLog4
-rw-r--r--doc/lispref/elisp.texi2
-rw-r--r--doc/misc/ChangeLog7
-rw-r--r--doc/misc/autotype.texi4
-rw-r--r--doc/misc/cc-mode.texi2
-rw-r--r--doc/misc/ediff.texi3
-rw-r--r--doc/misc/ert.texi2
-rw-r--r--doc/misc/htmlfontify.texi2
-rw-r--r--doc/misc/ido.texi4
-rw-r--r--doc/misc/octave-mode.texi2
-rw-r--r--doc/misc/org.texi2
-rw-r--r--doc/misc/srecode.texi2
-rw-r--r--doc/misc/todo-mode.texi2
-rw-r--r--doc/misc/tramp.texi2
21 files changed, 141 insertions, 20 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog
index 22824995dfc..b617df9be99 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -1,3 +1,13 @@
12013-12-12 Glenn Morris <rgm@gnu.org>
2
3 * update_autogen: Add option to generate info/dir.
4 (Usage): Add -I.
5 (info_flag): New variable.
6 (-I): New option.
7 (doc): Maybe check its status.
8 (info_dir): New function.
9 * dir_top: New file.
10
12013-12-11 Paul Eggert <eggert@cs.ucla.edu> 112013-12-11 Paul Eggert <eggert@cs.ucla.edu>
2 12
3 Remove the option of using libcrypto. 13 Remove the option of using libcrypto.
diff --git a/admin/dir_top b/admin/dir_top
new file mode 100644
index 00000000000..321a39dc35e
--- /dev/null
+++ b/admin/dir_top
@@ -0,0 +1,20 @@
1This is the file .../info/dir, which contains the
2topmost node of the Info hierarchy, called (dir)Top.
3The first time you invoke Info you start off looking at this node.
4
5File: dir, Node: Top This is the top of the INFO tree
6
7The Info Directory
8******************
9
10 The Info Directory is the top-level menu of major Info topics.
11 Type "d" in Info to return to the Info Directory. Type "q" to exit Info.
12 Type "?" for a list of Info commands, or "h" to visit an Info tutorial.
13 Type "m" to choose a menu item--for instance,
14 "mEmacs<Return>" visits the Emacs manual.
15 In Emacs Info, you can click mouse button 2 on a menu item
16 or cross reference to follow it to its target.
17 Each menu line that starts with a * is a topic you can select with "m".
18 Every third topic has a red * to help pick the right number to type.
19
20* Menu:
diff --git a/admin/update_autogen b/admin/update_autogen
index 316c9330b62..d7deaaf46be 100755
--- a/admin/update_autogen
+++ b/admin/update_autogen
@@ -51,7 +51,7 @@ cd ../
51usage () 51usage ()
52{ 52{
53 cat 1>&2 <<EOF 53 cat 1>&2 <<EOF
54Usage: ${PN} [-f] [-c] [-q] [-A dir] [-L] [-C] [-- make-flags] 54Usage: ${PN} [-f] [-c] [-q] [-A dir] [-I] [-L] [-C] [-- make-flags]
55Update some auto-generated files in the Emacs tree. 55Update some auto-generated files in the Emacs tree.
56By default, only does the versioned loaddefs-like files in lisp/. 56By default, only does the versioned loaddefs-like files in lisp/.
57This requires a build. Passes any non-option args to make (eg -- -j2). 57This requires a build. Passes any non-option args to make (eg -- -j2).
@@ -61,6 +61,7 @@ Options:
61 commit them (caution). 61 commit them (caution).
62-q: be quiet; only give error messages, not status messages. 62-q: be quiet; only give error messages, not status messages.
63-A: only update autotools files, copying into specified dir. 63-A: only update autotools files, copying into specified dir.
64-I: also update info/dir.
64-L: also update ldefs-boot.el. 65-L: also update ldefs-boot.el.
65-C: start from a clean state. Slower, but more correct. 66-C: start from a clean state. Slower, but more correct.
66EOF 67EOF
@@ -77,6 +78,7 @@ clean=
77autogendir= # was "autogen" 78autogendir= # was "autogen"
78ldefs_flag=1 79ldefs_flag=1
79lboot_flag= 80lboot_flag=
81info_flag=
80 82
81## Parameters. 83## Parameters.
82ldefs_in=lisp/loaddefs.el 84ldefs_in=lisp/loaddefs.el
@@ -103,7 +105,7 @@ tempfile=/tmp/$PN.$$
103trap "rm -f $tempfile 2> /dev/null" EXIT 105trap "rm -f $tempfile 2> /dev/null" EXIT
104 106
105 107
106while getopts ":hcfqA:CL" option ; do 108while getopts ":hcfqA:CIL" option ; do
107 case $option in 109 case $option in
108 (h) usage ;; 110 (h) usage ;;
109 111
@@ -119,6 +121,8 @@ while getopts ":hcfqA:CL" option ; do
119 121
120 (C) clean=1 ;; 122 (C) clean=1 ;;
121 123
124 (I) info_flag=1 ;;
125
122 (L) lboot_flag=1 ;; 126 (L) lboot_flag=1 ;;
123 127
124 (\?) die "Bad option -$OPTARG" ;; 128 (\?) die "Bad option -$OPTARG" ;;
@@ -138,7 +142,8 @@ OPTIND=1
138 142
139echo "Running bzr status..." 143echo "Running bzr status..."
140 144
141bzr status -S ${autogendir:+$sources} ${ldefs_flag:+lisp} >| $tempfile || \ 145bzr status -S ${autogendir:+$sources} ${ldefs_flag:+lisp} \
146 ${info_flag:+doc} >| $tempfile || \
142 die "bzr status error for input files" 147 die "bzr status error for input files"
143 148
144## The lisp portion could be more permissive, eg only care about .el files. 149## The lisp portion could be more permissive, eg only care about .el files.
@@ -207,6 +212,70 @@ commit ()
207} # function commit 212} # function commit
208 213
209 214
215## FIXME use standard tools for this, generate info/dir at build time
216## if needed, stop keeping in the repo.
217info_dir ()
218{
219 local basefile=admin/dir_top outfile=info/dir
220
221 echo "Regenerating info/dir..."
222
223 ## Header contains non-printing characters, so this is more
224 ## reliable than using echo.
225 rm -f $outfile
226 cp $basefile $outfile
227
228 local topic file dircat dirent
229
230 ## FIXME inefficient looping.
231 for topic in "Texinfo documentation system" "Emacs" "GNU Emacs Lisp" \
232 "Emacs editing modes" "Emacs network features" "Emacs misc features" \
233 "Emacs lisp libraries"; do
234
235 cat - <<EOF >> $outfile
236
237$topic
238EOF
239 ## Bit faster than doc/*/*.texi.
240 for file in doc/emacs/emacs.texi doc/lispintro/*.texi \
241 doc/lispref/elisp.texi doc/misc/*.texi; do
242
243 ## FIXME do not ignore w32 if OS is w32.
244 case $file in
245 *-xtra.texi|*efaq-w32.texi) continue ;;
246 esac
247
248 dircat=`sed -n -e 's/@value{emacsname}/Emacs/' -e 's/^@dircategory //p' $file`
249
250 ## TODO warn about unknown topics.
251 [ "$dircat" = "$topic" ] || continue
252
253 sed -n -e 's/@value{emacsname}/Emacs/' \
254 -e 's/@acronym{\([A-Z]*\)}/\1/' \
255 -e '/^@direntry/,/^@end direntry/ s/^\([^@]\)/\1/p' \
256 $file >> $outfile
257
258 done
259 done
260
261 bzr status -S $outfile >| $tempfile || \
262 die "bzr status error for generated $outfile"
263
264 local modified
265
266 while read stat file; do
267
268 [ "$stat" != "M" ] && \
269 die "Unexpected status ($stat) for generated $file"
270
271 modified="$modified $file"
272
273 done < $tempfile
274
275 commit "generated" $modified || die "bzr commit error"
276} # function info_dir
277
278
210[ "$autogendir" ] && { 279[ "$autogendir" ] && {
211 280
212 oldpwd=$PWD 281 oldpwd=$PWD
@@ -239,6 +308,9 @@ commit ()
239} # $autogendir 308} # $autogendir
240 309
241 310
311[ "$info_flag" ] && info_dir
312
313
242[ "$ldefs_flag" ] || exit 0 314[ "$ldefs_flag" ] || exit 0
243 315
244 316
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 5da37003152..fa43c3ef53e 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,7 @@
12013-12-12 Glenn Morris <rgm@gnu.org>
2
3 * emacs.texi: Sync direntry with info/dir version.
4
12013-12-08 Juanma Barranquero <lekktu@gmail.com> 52013-12-08 Juanma Barranquero <lekktu@gmail.com>
2 6
3 * msdog.texi (Windows Keyboard): Fix typo. 7 * msdog.texi (Windows Keyboard): Fix typo.
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index 8d502645b3a..9eb7db9ee82 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -48,7 +48,7 @@ developing GNU and promoting software freedom.''
48 48
49@dircategory Emacs 49@dircategory Emacs
50@direntry 50@direntry
51* Emacs: (emacs). The extensible self-documenting text editor. 51* Emacs: (emacs). The extensible self-documenting text editor.
52@end direntry 52@end direntry
53 53
54@c in general, keep the following line commented out, unless doing a 54@c in general, keep the following line commented out, unless doing a
diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog
index f9cdeda17b6..b8c2c93bbb6 100644
--- a/doc/lispintro/ChangeLog
+++ b/doc/lispintro/ChangeLog
@@ -1,3 +1,7 @@
12013-12-12 Glenn Morris <rgm@gnu.org>
2
3 * emacs-lisp-intro.texi: Sync direntry with info/dir version.
4
12013-12-02 Paul Eggert <eggert@cs.ucla.edu> 52013-12-02 Paul Eggert <eggert@cs.ucla.edu>
2 6
3 * emacs-lisp-intro.texi (Counting Words): Don't use ':' in xref 7 * emacs-lisp-intro.texi (Counting Words): Don't use ':' in xref
diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi
index d05cf3ec866..0111c58ad82 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -98,8 +98,7 @@
98 98
99@dircategory GNU Emacs Lisp 99@dircategory GNU Emacs Lisp
100@direntry 100@direntry
101* Emacs Lisp Intro: (eintr). 101* Emacs Lisp Intro: (eintr). A simple introduction to Emacs Lisp programming.
102 A simple introduction to Emacs Lisp programming.
103@end direntry 102@end direntry
104 103
105@copying 104@copying
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index d2173793d00..c224e523a84 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,7 @@
12013-12-12 Glenn Morris <rgm@gnu.org>
2
3 * elisp.texi: Sync direntry with info/dir version.
4
12013-12-08 Juanma Barranquero <lekktu@gmail.com> 52013-12-08 Juanma Barranquero <lekktu@gmail.com>
2 6
3 * display.texi (Progress, Face Remapping): 7 * display.texi (Progress, Face Remapping):
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi
index 230da1867dd..0e09b1eed2d 100644
--- a/doc/lispref/elisp.texi
+++ b/doc/lispref/elisp.texi
@@ -119,7 +119,7 @@ developing GNU and promoting software freedom.''
119 119
120@dircategory GNU Emacs Lisp 120@dircategory GNU Emacs Lisp
121@direntry 121@direntry
122* Elisp: (elisp). The Emacs Lisp Reference Manual. 122* Elisp: (elisp). The Emacs Lisp Reference Manual.
123@end direntry 123@end direntry
124 124
125@titlepage 125@titlepage
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 3a8fe5b540d..d067631f032 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,10 @@
12013-12-12 Glenn Morris <rgm@gnu.org>
2
3 * autotype.texi, cc-mode.texi, ediff.texi, ert.texi:
4 * htmlfontify.texi, ido.texi, octave-mode.texi, org.texi:
5 * srecode.texi, todo-mode.texi, tramp.texi:
6 Sync direntry with info/dir version.
7
12013-12-11 RĂ¼diger Sonderfeld <ruediger@c-plusplus.de> 82013-12-11 RĂ¼diger Sonderfeld <ruediger@c-plusplus.de>
2 9
3 * Makefile.in: Add octave-mode.texi. 10 * Makefile.in: Add octave-mode.texi.
diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi
index 137ed6b43e8..92cd5cdeccd 100644
--- a/doc/misc/autotype.texi
+++ b/doc/misc/autotype.texi
@@ -28,8 +28,8 @@ modify this GNU manual.''
28 28
29@dircategory Emacs misc features 29@dircategory Emacs misc features
30@direntry 30@direntry
31* Autotype: (autotype). Convenient features for text that you 31* Autotype: (autotype). Convenient features for text that you enter
32 enter frequently in Emacs. 32 frequently in Emacs.
33@end direntry 33@end direntry
34 34
35@titlepage 35@titlepage
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi
index c62d7026541..7d1baf7bf0c 100644
--- a/doc/misc/cc-mode.texi
+++ b/doc/misc/cc-mode.texi
@@ -176,7 +176,7 @@ modify this GNU manual.''
176@dircategory Emacs editing modes 176@dircategory Emacs editing modes
177@direntry 177@direntry
178* CC Mode: (ccmode). Emacs mode for editing C, C++, Objective-C, 178* CC Mode: (ccmode). Emacs mode for editing C, C++, Objective-C,
179 Java, Pike, AWK, and CORBA IDL code. 179 Java, Pike, AWK, and CORBA IDL code.
180@end direntry 180@end direntry
181 181
182@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 182@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
diff --git a/doc/misc/ediff.texi b/doc/misc/ediff.texi
index 378eee08c51..bb315fc41ef 100644
--- a/doc/misc/ediff.texi
+++ b/doc/misc/ediff.texi
@@ -42,7 +42,8 @@ modify this GNU manual.''
42 42
43@dircategory Emacs misc features 43@dircategory Emacs misc features
44@direntry 44@direntry
45* Ediff: (ediff). A visual interface for comparing and merging programs. 45* Ediff: (ediff). A visual interface for comparing and
46 merging programs.
46@end direntry 47@end direntry
47 48
48@titlepage 49@titlepage
diff --git a/doc/misc/ert.texi b/doc/misc/ert.texi
index ac87b98eae9..926a02fd1de 100644
--- a/doc/misc/ert.texi
+++ b/doc/misc/ert.texi
@@ -6,7 +6,7 @@
6 6
7@dircategory Emacs misc features 7@dircategory Emacs misc features
8@direntry 8@direntry
9* ERT: (ert). Emacs Lisp regression testing tool. 9* ERT: (ert). Emacs Lisp regression testing tool.
10@end direntry 10@end direntry
11 11
12@copying 12@copying
diff --git a/doc/misc/htmlfontify.texi b/doc/misc/htmlfontify.texi
index 4bb6a9d6900..9f3b99a1027 100644
--- a/doc/misc/htmlfontify.texi
+++ b/doc/misc/htmlfontify.texi
@@ -26,7 +26,7 @@ modify this GNU manual.''
26 26
27@dircategory Emacs misc features 27@dircategory Emacs misc features
28@direntry 28@direntry
29* Htmlfontify: (htmlfontify). Convert source code to html. 29* Htmlfontify: (htmlfontify). Convert source code to html.
30@end direntry 30@end direntry
31 31
32@titlepage 32@titlepage
diff --git a/doc/misc/ido.texi b/doc/misc/ido.texi
index 64885179259..747a9d57d3f 100644
--- a/doc/misc/ido.texi
+++ b/doc/misc/ido.texi
@@ -21,9 +21,9 @@ modify this GNU manual.''
21@end quotation 21@end quotation
22@end copying 22@end copying
23 23
24@dircategory Emacs lisp libraries 24@dircategory Emacs misc features
25@direntry 25@direntry
26* Ido: (ido). Interactively do things with buffers and files. 26* Ido: (ido). Interactively do things with buffers and files.
27@end direntry 27@end direntry
28 28
29@finalout 29@finalout
diff --git a/doc/misc/octave-mode.texi b/doc/misc/octave-mode.texi
index 2efe9f9d1c4..50bb4f11f2a 100644
--- a/doc/misc/octave-mode.texi
+++ b/doc/misc/octave-mode.texi
@@ -22,7 +22,7 @@ modify this GNU manual.''
22 22
23@dircategory Emacs editing modes 23@dircategory Emacs editing modes
24@direntry 24@direntry
25* Octave mode: (octave-mode). Emacs mode for editing GNU Octave files. 25* Octave mode: (octave-mode). Emacs mode for editing GNU Octave files.
26@end direntry 26@end direntry
27 27
28@finalout 28@finalout
diff --git a/doc/misc/org.texi b/doc/misc/org.texi
index 015b519df6c..a90f3d4d536 100644
--- a/doc/misc/org.texi
+++ b/doc/misc/org.texi
@@ -279,7 +279,7 @@ modify this GNU manual.''
279 279
280@dircategory Emacs editing modes 280@dircategory Emacs editing modes
281@direntry 281@direntry
282* Org Mode: (org). Outline-based notes management and organizer 282* Org Mode: (org). Outline-based notes management and organizer.
283@end direntry 283@end direntry
284 284
285@titlepage 285@titlepage
diff --git a/doc/misc/srecode.texi b/doc/misc/srecode.texi
index 2a3cfdf0993..d6cf4d53edc 100644
--- a/doc/misc/srecode.texi
+++ b/doc/misc/srecode.texi
@@ -32,7 +32,7 @@ modify this GNU manual.''
32 32
33@dircategory Emacs misc features 33@dircategory Emacs misc features
34@direntry 34@direntry
35* SRecode: (srecode). Template code generator. 35* SRecode: (srecode). Semantic template code generator.
36@end direntry 36@end direntry
37 37
38@titlepage 38@titlepage
diff --git a/doc/misc/todo-mode.texi b/doc/misc/todo-mode.texi
index a622298ba12..4920a9ccc81 100644
--- a/doc/misc/todo-mode.texi
+++ b/doc/misc/todo-mode.texi
@@ -25,7 +25,7 @@ modify this GNU manual.''
25 25
26@dircategory Emacs misc features 26@dircategory Emacs misc features
27@direntry 27@direntry
28* Todo Mode: (todo-mode). Make and maintain todo lists. 28* Todo Mode: (todo-mode). Make and maintain todo lists.
29@end direntry 29@end direntry
30 30
31@titlepage 31@titlepage
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index 2c02891d60f..6168d11b527 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -84,7 +84,7 @@ copy and modify this GNU manual.''
84@dircategory @value{emacsname} network features 84@dircategory @value{emacsname} network features
85@direntry 85@direntry
86* TRAMP: (tramp). Transparent Remote Access, Multiple Protocol 86* TRAMP: (tramp). Transparent Remote Access, Multiple Protocol
87 @value{emacsname} remote file access via rsh and rcp. 87 @value{emacsname} remote file access via rsh and rcp.
88@end direntry 88@end direntry
89 89
90@titlepage 90@titlepage