changeset 52915:26a5da04740c

Remove support for permuted index and use texi2dvi.
author Andreas Schwab <schwab@suse.de>
date Thu, 23 Oct 2003 10:01:32 +0000
parents b9fcc4a195bf
children 7302d194fccb
files lispref/ChangeLog lispref/Makefile.in lispref/index.perm lispref/index.texi lispref/index.unperm lispref/permute-index
diffstat 6 files changed, 51 insertions(+), 230 deletions(-) [+]
line wrap: on
line diff
--- a/lispref/ChangeLog	Thu Oct 23 00:28:17 2003 +0000
+++ b/lispref/ChangeLog	Thu Oct 23 10:01:32 2003 +0000
@@ -1,3 +1,16 @@
+2003-10-23  Andreas Schwab  <schwab@suse.de>
+
+	* Makefile.in (TEX, texinputdir): Don't define.
+	(TEXI2DVI): Define.
+	(srcs): Remove $(srcdir)/index.perm and $(srcdir)/index.unperm,
+	add $(srcdir)/index.texi.
+	($(infodir)/elisp): Remove index.texi dependency.
+	(elisp.dvi): Likewise.  Use $(TEXI2DVI).
+	(index.texi): Remove target.
+	(dist): Don't link $(srcdir)/permute-index.
+	* permute-index, index.perm: Remove.
+	* index.texi: Rename from index.unperm.
+
 2003-10-22  Luc Teirlinck  <teirllm@auburn.edu>
 
 	* tips.texi (Documentation Tips): Document new behavior for face
--- a/lispref/Makefile.in	Thu Oct 23 00:28:17 2003 +0000
+++ b/lispref/Makefile.in	Thu Oct 23 10:01:32 2003 +0000
@@ -1,6 +1,6 @@
 # Makefile for the GNU Emacs Lisp Reference Manual.
 
-# Copyright (C) 1990,1991,1992,1993,1994,1995,1996,1998,1999,2000,2001
+# Copyright (C) 1990,1991,1992,1993,1994,1995,1996,1998,1999,2000,2001,2003
 #  Free Software Foundation, Inc.
 
 # This file is part of GNU Emacs.
@@ -28,24 +28,15 @@
 
 infodir = $(srcdir)/../info
 
-# Redefine `TEX' if `tex' does not invoke plain TeX.  For example:
-# TEX=platex
-TEX=tex
-SHELL=/bin/sh
+TEXI2DVI = texi2dvi
+SHELL = /bin/sh
 INSTALL_INFO = install-info
-MAKEINFO=makeinfo
-
-# The environment variable and its value to add $(srcdir) to the path
-# searched for TeX input files.
-texinputdir = TEXINPUTS=$(srcdir):"$(TEXINPUTS)"
+MAKEINFO = makeinfo
 
 # The name of the manual:
 VERSION=2.9
 manual = elisp-manual-21-$(VERSION)
 
-# Uncomment this line for permuted index.
-# permuted_index = 1
-
 # List of all the texinfo files in the manual:
 
 srcs = \
@@ -99,8 +90,7 @@
   $(srcdir)/tips.texi \
   $(srcdir)/variables.texi \
   $(srcdir)/windows.texi \
-  $(srcdir)/index.unperm \
-  $(srcdir)/index.perm \
+  $(srcdir)/index.texi \
   $(srcdir)/gpl.texi \
   $(srcdir)/doclicense.texi
 
@@ -110,31 +100,11 @@
 # The info file is named `elisp'.
 info: $(infodir)/elisp
 
-$(infodir)/elisp: $(srcs) index.texi
+$(infodir)/elisp: $(srcs)
 	$(MAKEINFO) -I. -I$(srcdir) $(srcdir)/elisp.texi -o $(infodir)/elisp
 
-elisp.dvi: $(srcs) index.texi
-	# Avoid losing old contents of aux file entirely.
-	-mv elisp.aux elisp.oaux
-	# First shot to define xrefs.
-	$(texinputdir) $(TEX) $(srcdir)/elisp.texi
-	if [ a${permuted_index} != a ]; \
-	then \
-	  $(srcdir)/permute-index; \
-	  mv permuted.fns elisp.fns; \
-	  texindex elisp.tp; \
-	else \
-	  texindex elisp.??; \
-	fi
-	$(texinputdir) $(TEX) $(srcdir)/elisp.texi
-
-index.texi:
-	if [ a${permuted_index} != a ]; \
-	then \
-	  ln -s $(srcdir)/index.perm index.texi || ln $(srcdir)/index.perm index.texi || cp $(srcdir)/index.perm index.texi; \
-	else \
-	  ln -s $(srcdir)/index.unperm index.texi || ln $(srcdir)/index.unperm index.texi || cp $(srcdir)/index.unperm index.texi; \
-	fi
+elisp.dvi: $(srcs)
+	$(TEXI2DVI) -I $(srcdir) $(srcdir)/elisp.texi
 
 install: elisp
 	$(srcdir)/mkinstalldirs $(infodir)
@@ -157,7 +127,7 @@
 	-mkdir temp
 	-mkdir temp/$(manual)
 	-ln $(srcdir)/README $(srcdir)/configure.in $(srcdir)/configure \
- $(srcdir)/Makefile.in $(srcdir)/permute-index $(srcs) \
+ $(srcdir)/Makefile.in $(srcs) \
  $(srcdir)/../man/texinfo.tex \
  elisp.dvi elisp.aux elisp.??s elisp elisp-[0-9] elisp-[0-9][0-9] \
  temp/$(manual)
--- a/lispref/index.perm	Thu Oct 23 00:28:17 2003 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,38 +0,0 @@
-@setfilename ../info/index
-
-@c Indexing guidelines
-
-@c I assume that all indexes will be combinded.
-@c Therefore, if a generated findex and permutations
-@c cover the ways an index user would look up the entry,
-@c then no cindex is added.
-@c Concept index (cindex) entries will also be permuted.  Therefore, they
-@c have no commas and few irrelevant connectives in them.
-
-@c I tried to include words in a cindex that give the context of the entry,
-@c particularly if there is more than one entry for the same concept.
-@c For example, "nil in keymap"
-@c Similarly for explicit findex and vindex entries, e.g., "print example".
-
-@c Error codes are given cindex entries, e.g., "end-of-file error".
-
-@c pindex is used for .el files and Unix programs
-
-@node Index, New Symbols, Standard Hooks, Top
-@unnumbered Index
-
-
-All variables, functions, keys, programs, files, and concepts are
-in this one index.
-
-All names and concepts are permuted, so they appear several times, one
-for each permutation of the parts of the name.  For example,
-@code{function-name} would appear as @b{function-name} and @b{name,
-function-}.
-
-
-@c Print the indices
-
-@printindex fn
-
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/lispref/index.texi	Thu Oct 23 10:01:32 2003 +0000
@@ -0,0 +1,29 @@
+@c -*-texinfo-*-
+@setfilename ../info/index
+
+@c Indexing guidelines
+
+@c I assume that all indexes will be combinded.
+@c Therefore, if a generated findex and permutations
+@c cover the ways an index user would look up the entry,
+@c then no cindex is added.
+@c Concept index (cindex) entries will also be permuted.  Therefore, they
+@c have no commas and few irrelevant connectives in them.
+
+@c I tried to include words in a cindex that give the context of the entry,
+@c particularly if there is more than one entry for the same concept.
+@c For example, "nil in keymap"
+@c Similarly for explicit findex and vindex entries, e.g. "print example".
+
+@c Error codes are given cindex entries, e.g. "end-of-file error".
+
+@c pindex is used for .el files and Unix programs
+
+@node Index, New Symbols, Standard Hooks, Top
+@unnumbered Index
+
+@c Print the indices
+
+@printindex fn
+
+
--- a/lispref/index.unperm	Thu Oct 23 00:28:17 2003 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,29 +0,0 @@
-@c -*-texinfo-*-
-@setfilename ../info/index
-
-@c Indexing guidelines
-
-@c I assume that all indexes will be combinded.
-@c Therefore, if a generated findex and permutations
-@c cover the ways an index user would look up the entry,
-@c then no cindex is added.
-@c Concept index (cindex) entries will also be permuted.  Therefore, they
-@c have no commas and few irrelevant connectives in them.
-
-@c I tried to include words in a cindex that give the context of the entry,
-@c particularly if there is more than one entry for the same concept.
-@c For example, "nil in keymap"
-@c Similarly for explicit findex and vindex entries, e.g. "print example".
-
-@c Error codes are given cindex entries, e.g. "end-of-file error".
-
-@c pindex is used for .el files and Unix programs
-
-@node Index, New Symbols, Standard Hooks, Top
-@unnumbered Index
-
-@c Print the indices
-
-@printindex fn
-
-
--- a/lispref/permute-index	Thu Oct 23 00:28:17 2003 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,124 +0,0 @@
-#!/bin/sh
-# Generate a permuted index of all names.
-# The result is a file called index.fns.
-
-# Copyright (C) 2001 Free Software Foundation, Inc.
-#
-# This file is part of GNU Emacs.
-#
-# GNU Emacs is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# GNU Emacs is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with GNU Emacs; see the file COPYING.  If not, write to the
-# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
-# Boston, MA 02111-1307, USA.
-
-# You will need to modify this for your needs.
-
-
-set TEXINDEX=texindex  # path to texindex command
-#set EMACS=gnuemacs     # your emacs command
-#set TEX=tex             # your tex command
-
-set MANUAL=elisp  # the base name of the manual
-
-# goto 3
-
-1:
-echo "Extract raw index from texinfo fn index."
-# Let texindex combine duplicate entries, later.
-# But it wants to protect non-alphanumerics thus confusing ptx.
-# Also change `\ ' to just a ` ', since texindex will fail. This is produced
-# by `@findex two words' in an example environment (no doubt among others).
-# delete wrapper parens
-# change dots {} to dots{}
-# change {-} to char form, so ptx wont ignore it.
-# delete leading \entry {
-# change '\ ' to ' '
-# change lines with = < > since they mess up field extraction.
-# separate into fields delimited by "
-rm -f permuted.raw
-cat ${MANUAL}.fn | \
-	sed \
-	-e 's/(\([^)]*\))/\1/' \
-	-e 's/\\dots {}/(\\dots{})/' \
-	-e "s/{-}/{{\\tt\\char'055}}/" \
-	-e 's,^[^ ]* {,,' \
-	-e 's, },},' \
-	-e 's,\\ , ,g' \
-	-e 's/{\\tt\\char61}/=/' \
-	-e 's/{\\tt\\gtr}/>/' \
-	-e 's/{\\tt\\less}/</' \
-	-e 's/}{/"/g' \
-	| awk -F\" '{print $2, $1}' > permuted.raw
-
-2:
-# Build break file for ptx.
-cat <<EOF > permuted.break
--
-:
-EOF
-# Build the ignore file for ptx.
-# We would like to ignore "and", "or", and "for",
-# but ptx ignores ignore words even if they stand alone.
-cat <<EOF > permuted.ignore
-the
-in
-to
-as
-a
-an
-of
-on
-them
-how
-from
-by
-EOF
-
-echo "Make troff permuted index."
-rm -f permuted.t
-ptx -i permuted.ignore -b permuted.break -f -r -w 144 \
-	 < permuted.raw > permuted.t
-
-3:
-echo "Extract the desired fields."
-rm -f permuted.fields
-awk -F\" '{printf "%s\"%s\"%s\n", $4,$6,$9}' permuted.t > permuted.fields
-
-4:
-echo "Format for texindex."
-# delete lines that start with "and ", "for "
-sed 	< permuted.fields \
-	-e 's/=/{\\tt\\char61}/' \
-	-e 's/>/{\\tt\\gtr}/' \
-	-e 's/</{\\tt\\less}/' \
-	-e '/"and /d' \
-	-e '/"for /d' \
-  | awk -F\" 'NF>0 {if ($1=="") {\
-	  print "\entry {" $2 "}{" 0+$3 "}{" $2 "}" }\
-	else {\
-	  print "\entry {" $2 ", " $1 "}{" 0+$3 "}{" $2 ", " $1 "}"} }'\
-	      > permuted.fn
-
-5:
-echo "Sort with texindex."
-${TEXINDEX} permuted.fn
-#mv permuted.fns ${MANUAL}.fns
-
-# The resulting permuted.fns will be read when we run TeX
-# on the manual the second time.  Or you can use permuted.texinfo here.
-#${TEX} permuted.texinfo
-
-6:
-echo "Clean up."
-rm -f permuted.fields permuted.t permuted.raw
-rm -f permuted.break permuted.ignore permuted.fn