aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndreas Schwab2003-10-23 10:01:32 +0000
committerAndreas Schwab2003-10-23 10:01:32 +0000
commitc3cda320b5a4e6588391ae6713ac05ac47f7328e (patch)
tree3676c620650c069fe28064db031fa00cf230315b
parentbb3c26a904b1e06be63c46fca3bbcc71e1c9bae1 (diff)
downloademacs-c3cda320b5a4e6588391ae6713ac05ac47f7328e.tar.gz
emacs-c3cda320b5a4e6588391ae6713ac05ac47f7328e.zip
Remove support for permuted index and use texi2dvi.
-rw-r--r--lispref/ChangeLog13
-rw-r--r--lispref/Makefile.in48
-rw-r--r--lispref/index.perm38
-rw-r--r--lispref/index.texi (renamed from lispref/index.unperm)0
-rw-r--r--lispref/permute-index124
5 files changed, 22 insertions, 201 deletions
diff --git a/lispref/ChangeLog b/lispref/ChangeLog
index a04ff172a06..7f8e24bf646 100644
--- a/lispref/ChangeLog
+++ b/lispref/ChangeLog
@@ -1,3 +1,16 @@
12003-10-23 Andreas Schwab <schwab@suse.de>
2
3 * Makefile.in (TEX, texinputdir): Don't define.
4 (TEXI2DVI): Define.
5 (srcs): Remove $(srcdir)/index.perm and $(srcdir)/index.unperm,
6 add $(srcdir)/index.texi.
7 ($(infodir)/elisp): Remove index.texi dependency.
8 (elisp.dvi): Likewise. Use $(TEXI2DVI).
9 (index.texi): Remove target.
10 (dist): Don't link $(srcdir)/permute-index.
11 * permute-index, index.perm: Remove.
12 * index.texi: Rename from index.unperm.
13
12003-10-22 Luc Teirlinck <teirllm@auburn.edu> 142003-10-22 Luc Teirlinck <teirllm@auburn.edu>
2 15
3 * tips.texi (Documentation Tips): Document new behavior for face 16 * tips.texi (Documentation Tips): Document new behavior for face
diff --git a/lispref/Makefile.in b/lispref/Makefile.in
index d284684baf5..8f5ccb57e15 100644
--- a/lispref/Makefile.in
+++ b/lispref/Makefile.in
@@ -1,6 +1,6 @@
1# Makefile for the GNU Emacs Lisp Reference Manual. 1# Makefile for the GNU Emacs Lisp Reference Manual.
2 2
3# Copyright (C) 1990,1991,1992,1993,1994,1995,1996,1998,1999,2000,2001 3# Copyright (C) 1990,1991,1992,1993,1994,1995,1996,1998,1999,2000,2001,2003
4# Free Software Foundation, Inc. 4# Free Software Foundation, Inc.
5 5
6# This file is part of GNU Emacs. 6# This file is part of GNU Emacs.
@@ -28,24 +28,15 @@ VPATH=@srcdir@
28 28
29infodir = $(srcdir)/../info 29infodir = $(srcdir)/../info
30 30
31# Redefine `TEX' if `tex' does not invoke plain TeX. For example: 31TEXI2DVI = texi2dvi
32# TEX=platex 32SHELL = /bin/sh
33TEX=tex
34SHELL=/bin/sh
35INSTALL_INFO = install-info 33INSTALL_INFO = install-info
36MAKEINFO=makeinfo 34MAKEINFO = makeinfo
37
38# The environment variable and its value to add $(srcdir) to the path
39# searched for TeX input files.
40texinputdir = TEXINPUTS=$(srcdir):"$(TEXINPUTS)"
41 35
42# The name of the manual: 36# The name of the manual:
43VERSION=2.9 37VERSION=2.9
44manual = elisp-manual-21-$(VERSION) 38manual = elisp-manual-21-$(VERSION)
45 39
46# Uncomment this line for permuted index.
47# permuted_index = 1
48
49# List of all the texinfo files in the manual: 40# List of all the texinfo files in the manual:
50 41
51srcs = \ 42srcs = \
@@ -99,8 +90,7 @@ srcs = \
99 $(srcdir)/tips.texi \ 90 $(srcdir)/tips.texi \
100 $(srcdir)/variables.texi \ 91 $(srcdir)/variables.texi \
101 $(srcdir)/windows.texi \ 92 $(srcdir)/windows.texi \
102 $(srcdir)/index.unperm \ 93 $(srcdir)/index.texi \
103 $(srcdir)/index.perm \
104 $(srcdir)/gpl.texi \ 94 $(srcdir)/gpl.texi \
105 $(srcdir)/doclicense.texi 95 $(srcdir)/doclicense.texi
106 96
@@ -110,31 +100,11 @@ srcs = \
110# The info file is named `elisp'. 100# The info file is named `elisp'.
111info: $(infodir)/elisp 101info: $(infodir)/elisp
112 102
113$(infodir)/elisp: $(srcs) index.texi 103$(infodir)/elisp: $(srcs)
114 $(MAKEINFO) -I. -I$(srcdir) $(srcdir)/elisp.texi -o $(infodir)/elisp 104 $(MAKEINFO) -I. -I$(srcdir) $(srcdir)/elisp.texi -o $(infodir)/elisp
115 105
116elisp.dvi: $(srcs) index.texi 106elisp.dvi: $(srcs)
117 # Avoid losing old contents of aux file entirely. 107 $(TEXI2DVI) -I $(srcdir) $(srcdir)/elisp.texi
118 -mv elisp.aux elisp.oaux
119 # First shot to define xrefs.
120 $(texinputdir) $(TEX) $(srcdir)/elisp.texi
121 if [ a${permuted_index} != a ]; \
122 then \
123 $(srcdir)/permute-index; \
124 mv permuted.fns elisp.fns; \
125 texindex elisp.tp; \
126 else \
127 texindex elisp.??; \
128 fi
129 $(texinputdir) $(TEX) $(srcdir)/elisp.texi
130
131index.texi:
132 if [ a${permuted_index} != a ]; \
133 then \
134 ln -s $(srcdir)/index.perm index.texi || ln $(srcdir)/index.perm index.texi || cp $(srcdir)/index.perm index.texi; \
135 else \
136 ln -s $(srcdir)/index.unperm index.texi || ln $(srcdir)/index.unperm index.texi || cp $(srcdir)/index.unperm index.texi; \
137 fi
138 108
139install: elisp 109install: elisp
140 $(srcdir)/mkinstalldirs $(infodir) 110 $(srcdir)/mkinstalldirs $(infodir)
@@ -157,7 +127,7 @@ dist: elisp elisp.dvi
157 -mkdir temp 127 -mkdir temp
158 -mkdir temp/$(manual) 128 -mkdir temp/$(manual)
159 -ln $(srcdir)/README $(srcdir)/configure.in $(srcdir)/configure \ 129 -ln $(srcdir)/README $(srcdir)/configure.in $(srcdir)/configure \
160 $(srcdir)/Makefile.in $(srcdir)/permute-index $(srcs) \ 130 $(srcdir)/Makefile.in $(srcs) \
161 $(srcdir)/../man/texinfo.tex \ 131 $(srcdir)/../man/texinfo.tex \
162 elisp.dvi elisp.aux elisp.??s elisp elisp-[0-9] elisp-[0-9][0-9] \ 132 elisp.dvi elisp.aux elisp.??s elisp elisp-[0-9] elisp-[0-9][0-9] \
163 temp/$(manual) 133 temp/$(manual)
diff --git a/lispref/index.perm b/lispref/index.perm
deleted file mode 100644
index 0b391e85379..00000000000
--- a/lispref/index.perm
+++ /dev/null
@@ -1,38 +0,0 @@
1@setfilename ../info/index
2
3@c Indexing guidelines
4
5@c I assume that all indexes will be combinded.
6@c Therefore, if a generated findex and permutations
7@c cover the ways an index user would look up the entry,
8@c then no cindex is added.
9@c Concept index (cindex) entries will also be permuted. Therefore, they
10@c have no commas and few irrelevant connectives in them.
11
12@c I tried to include words in a cindex that give the context of the entry,
13@c particularly if there is more than one entry for the same concept.
14@c For example, "nil in keymap"
15@c Similarly for explicit findex and vindex entries, e.g., "print example".
16
17@c Error codes are given cindex entries, e.g., "end-of-file error".
18
19@c pindex is used for .el files and Unix programs
20
21@node Index, New Symbols, Standard Hooks, Top
22@unnumbered Index
23
24
25All variables, functions, keys, programs, files, and concepts are
26in this one index.
27
28All names and concepts are permuted, so they appear several times, one
29for each permutation of the parts of the name. For example,
30@code{function-name} would appear as @b{function-name} and @b{name,
31function-}.
32
33
34@c Print the indices
35
36@printindex fn
37
38
diff --git a/lispref/index.unperm b/lispref/index.texi
index 95c76e5a00c..95c76e5a00c 100644
--- a/lispref/index.unperm
+++ b/lispref/index.texi
diff --git a/lispref/permute-index b/lispref/permute-index
deleted file mode 100644
index bbe2be75cba..00000000000
--- a/lispref/permute-index
+++ /dev/null
@@ -1,124 +0,0 @@
1#!/bin/sh
2# Generate a permuted index of all names.
3# The result is a file called index.fns.
4
5# Copyright (C) 2001 Free Software Foundation, Inc.
6#
7# This file is part of GNU Emacs.
8#
9# GNU Emacs is free software; you can redistribute it and/or modify
10# it under the terms of the GNU General Public License as published by
11# the Free Software Foundation; either version 2, or (at your option)
12# any later version.
13#
14# GNU Emacs is distributed in the hope that it will be useful,
15# but WITHOUT ANY WARRANTY; without even the implied warranty of
16# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17# GNU General Public License for more details.
18#
19# You should have received a copy of the GNU General Public License
20# along with GNU Emacs; see the file COPYING. If not, write to the
21# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
22# Boston, MA 02111-1307, USA.
23
24# You will need to modify this for your needs.
25
26
27set TEXINDEX=texindex # path to texindex command
28#set EMACS=gnuemacs # your emacs command
29#set TEX=tex # your tex command
30
31set MANUAL=elisp # the base name of the manual
32
33# goto 3
34
351:
36echo "Extract raw index from texinfo fn index."
37# Let texindex combine duplicate entries, later.
38# But it wants to protect non-alphanumerics thus confusing ptx.
39# Also change `\ ' to just a ` ', since texindex will fail. This is produced
40# by `@findex two words' in an example environment (no doubt among others).
41# delete wrapper parens
42# change dots {} to dots{}
43# change {-} to char form, so ptx wont ignore it.
44# delete leading \entry {
45# change '\ ' to ' '
46# change lines with = < > since they mess up field extraction.
47# separate into fields delimited by "
48rm -f permuted.raw
49cat ${MANUAL}.fn | \
50 sed \
51 -e 's/(\([^)]*\))/\1/' \
52 -e 's/\\dots {}/(\\dots{})/' \
53 -e "s/{-}/{{\\tt\\char'055}}/" \
54 -e 's,^[^ ]* {,,' \
55 -e 's, },},' \
56 -e 's,\\ , ,g' \
57 -e 's/{\\tt\\char61}/=/' \
58 -e 's/{\\tt\\gtr}/>/' \
59 -e 's/{\\tt\\less}/</' \
60 -e 's/}{/"/g' \
61 | awk -F\" '{print $2, $1}' > permuted.raw
62
632:
64# Build break file for ptx.
65cat <<EOF > permuted.break
66-
67:
68EOF
69# Build the ignore file for ptx.
70# We would like to ignore "and", "or", and "for",
71# but ptx ignores ignore words even if they stand alone.
72cat <<EOF > permuted.ignore
73the
74in
75to
76as
77a
78an
79of
80on
81them
82how
83from
84by
85EOF
86
87echo "Make troff permuted index."
88rm -f permuted.t
89ptx -i permuted.ignore -b permuted.break -f -r -w 144 \
90 < permuted.raw > permuted.t
91
923:
93echo "Extract the desired fields."
94rm -f permuted.fields
95awk -F\" '{printf "%s\"%s\"%s\n", $4,$6,$9}' permuted.t > permuted.fields
96
974:
98echo "Format for texindex."
99# delete lines that start with "and ", "for "
100sed < permuted.fields \
101 -e 's/=/{\\tt\\char61}/' \
102 -e 's/>/{\\tt\\gtr}/' \
103 -e 's/</{\\tt\\less}/' \
104 -e '/"and /d' \
105 -e '/"for /d' \
106 | awk -F\" 'NF>0 {if ($1=="") {\
107 print "\entry {" $2 "}{" 0+$3 "}{" $2 "}" }\
108 else {\
109 print "\entry {" $2 ", " $1 "}{" 0+$3 "}{" $2 ", " $1 "}"} }'\
110 > permuted.fn
111
1125:
113echo "Sort with texindex."
114${TEXINDEX} permuted.fn
115#mv permuted.fns ${MANUAL}.fns
116
117# The resulting permuted.fns will be read when we run TeX
118# on the manual the second time. Or you can use permuted.texinfo here.
119#${TEX} permuted.texinfo
120
1216:
122echo "Clean up."
123rm -f permuted.fields permuted.t permuted.raw
124rm -f permuted.break permuted.ignore permuted.fn