view build-ins.in @ 25279:03cb8fb8ab28

(reftex-pop-to-bibtex-entry): Fixed conflict with pop-up-frames. (reftex-special-environment-parsers): New constant. (reftex-label-alist): car of an entry can also be a function. (reftex-what-special-env): new function. (reftex-label-location): Call `reftex-what-special-env'. (reftex-compile-variables): Check for symbol in `reftex-label-alist'. (reftex-what-environment): fixed bug with stacked environments of same kind (e.g. enumerate). (reftex-process-string): Preserve default directory. (reftex-label-alist-builtin): changed prefixes of endnote and footnote. Also the magic words. (reftex-reference): Interprete new option `reftex-fref-is-default'. (reftex-replace-prefix-escapes): Interprete new `%S' format. (reftex-toc-mouse-view-line): Command removed (had no binding). (reftex-everything-regexp): New function. (reftex-nearest-match): Made better. (reftex-toc-find-section): Use new version of `reftex-nearest-match'. (reftex-insert-docstruct): adapted to work with the index stuff. (reftex-parse-from-file): Find index entries as well. (reftex-toc-toggle-index): New function (reftex-toc-map): `i' is now used to togle the index, File boundaries has been moved to `F'. (reftex-select-label-map): Toggling display of file boundaries is now on the `F' key, for consistency with `reftex-toc-map'. (reftex-erase-all-selection-and-index-buffers): Renamed from `reftex-erase-all-selection-buffer'. Now also kills the index buffers. (reftex-viewing-cross-references): Customization group renamed from reftex-viewing-cross-references-and-citations. (reftex-index-macro-regexp, reftex-find-index-entry-regexp-format): New variables (reftex-macros-with-index): New variable (reftex-add-index-macros): New function (reftex-renumber-simple-labels, reftex-translate): Allow for multiple labels in a single ref command. (reftex-index-support): New customization group (reftex-support-index, reftex-index-special-chars, reftex-index-macros, reftex-index-default-macro, reftex-index-default-tag, reftex-index-math-format, reftex-index-section-letters, reftex-index-include-context, reftex-index-follow-mode, reftex-index-header-face, reftex-index-section-face, reftex-index-tag-face, reftex-index-face): New options (reftex-index-map, reftex-index-menu, reftex-last-index-file, reftex-index-tag, reftex-index-return-marker, reftex-index-restriction-indicator, reftex-index-restriction-data, reftex-index-macro-regexp, reftex-index-level-re, reftex-index-key-end-re, reftex-find-index-entry-regexp-format, reftex-everything-regexp-no-index, reftex-index-re, reftex-macros-with-index, reftex-index-macro-alist): New variables (reftex-index-help, reftex-index-macros-builtin, reftex-key-to-index-macro-alist, reftex-query-index-macro-prompt, reftex-query-index-macro-help): New constants (reftex-index-selection-or-word, reftex-index, reftex-default-index, reftex-update-default-index, reftex-index-complete-tag, reftex-index-select-tag, reftex-index-complete-key, reftex-index-update-taglist, reftex-index-globally, reftex-index-mode, reftex-index-show-entry, reftex-display-index, reftex-insert-index, reftex-index-insert-new-letter, reftex-get-restriction, reftex-index-pre-command-hook, reftex-index-post-command-hook, reftex-index-show-help, reftex-index-next, reftex-index-previous, reftex-index-toggle-follow, reftex-index-toggle-context, reftex-index-view-entry, reftex-index-goto-entry-and-hide, reftex-index-goto-entry, reftex-index-mouse-goto-line-and-hide, reftex-index-quit, reftex-index-quit-and-kill, reftex-index-goto-toc, reftex-index-rescan, reftex-index-Rescan, reftex-index-revert, reftex-index-switch-index-tag, reftex-index-restrict-to-section, reftex-index-widen, reftex-index-restriction-forward, reftex-index-restriction-backward, reftex-index-visit-location, reftex-index-analyze-entry, reftex-index-globalize, reftex-index-edit, reftex-index-toggle-range-beginning, reftex-index-toggle-range-end, reftex-index-edit-key, reftex-index-edit-attribute, reftex-index-edit-visual, reftex-index-edit-part, reftex-index-level-down, reftex-index-level-up, reftex-index-kill, reftex-index-undo, reftex-index-change-entry, reftex-index-goto-letter, reftex-add-index-macros, reftex-ensure-index-support, reftex-index-info-safe, reftex-index-info): New functions. Most of the code moved to other files.
author Carsten Dominik <dominik@science.uva.nl>
date Mon, 16 Aug 1999 07:38:41 +0000
parents 1541c518f769
children
line wrap: on
line source

#!/bin/sh -x
#
#Shell script for building and installing Emacs.

# ==================== Where To Install Things ====================

# The default location for installation.  Everything is placed in
# subdirectories of this directory.  This directory must exist when
# you start installation.  The default values for many of the
# variables below are expressed in terms of this one, so you may not
# need to change them.
prefix=/usr/local

# Where to install Emacs and other binaries that people will want to
# run directly (like etags).
bindir=${prefix}/bin

# A directory under which we will install many of Emacs's files.  The
# default values for many of the variables below are expressed in
# terms of this one, so you may not need to change them.
emacsdir=${prefix}/emacs-19.0

# Where to install and expect the architecture-independent data files
# (like the tutorial and the Zippy database).
datadir=${emacsdir}/etc

# Where to install the elisp files distributed with Emacs.  Strictly
# speaking, all the elisp files should go under datadir (above), since
# both elisp source and compiled elisp are completely portable, but
# it's traditional to give the lisp files their own subdirectory.
lispdir=${emacsdir}/lisp

# Directories Emacs should search for elisp files specific to this
# site (i.e. customizations), before consulting ${lispdir}.  This
# should be a colon-separated list of directories.
locallisppath=${emacsdir}/local-lisp

# Where Emacs will search to find its elisp files.  Before changing
# this, check to see if your purpose wouldn't better be served by
# changing locallisppath.  This should be a colon-separated list of
# directories.
lisppath=${locallisppath}:${lispdir}

# Where Emacs will search for its elisp files before dumping.  This is
# only used during the process of compiling Emacs, to help Emacs find
# its lisp files before they've been installed in their final
# location.  It's usually identical to lisppath, except that the entry
# for the directory containing the installed lisp files has been
# replaced with ../lisp.  This should be a colon-separated list of
# directories.
dumplisppath=../lisp

# Where to install and expect the files that Emacs modifies as it
# runs.	 These files are all architecture-independent.	Right now,
# the only such data is the locking directory.
statedir=${emacsdir}

# Where to create and expect the locking directory, where the Emacs
# locking code keeps track of which files are currently being edited.
lockdir=${statedir}/lock

# Where to install and expect executable files to be run by Emacs
# rather than directly by users, and other architecture-dependent
# data.
libdir=${emacsdir}/arch-lib

# Where to install Emacs's man pages.
mandir=/usr/man/man1

# Where to install and expect the info files describing Emacs.	In the
# past, this defaulted to a subdirectory of ${prefix}/lib/emacs, but
# since there are now many packages documented with the texinfo
# system, it is inappropriate to imply that it is part of Emacs.
infodir=${prefix}/info

removenullpaths="sed -e 's/^://' -e 's/:"'$'"//' -e 's/::/:/'"

lisppath=`echo ${lisppath} | ${removenullpaths}` ;		\
dumplisppath=`echo ${dumplisppath} | ${removenullpaths}` ;	\
/bin/sed < src/paths.h.in > src/paths.h				\
-e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'$${lisppath}'";'		\
-e 's;\(#.*PATH_DUMPLOADSEARCH\).*$$;\1 "'$${dumplisppath}'";'	\
-e 's;\(#.*PATH_EXEC\).*$$;\1 "${libdir}";'			\
-e 's;\(#.*PATH_DATA\).*$$;\1 "${datadir}";'			\
-e 's;\(#.*PATH_LOCK\).*$$;\1 "${lockdir}/";'

(cd lib-src; make) || exit 1
(cd src; make) || exit 1

# Subdirectories to install, and where they'll go.
copydir=arch-lib etc info lisp
copydests=${libdir} ${datadir} ${infodir} ${lispdir}

# If any of the directories are below ${emacsdir} or ${statedir}, create them.
for dir in ${copydests}; do
  case "${dir}" in
    ${emacsdir}/* )
      if [ ! -d ${emacsdir} ]; then
	mkdir ${emacsdir}
	chmod 777 ${emacsdir}
      fi
    ;;
    ${statedir}/* )
      if [ ! -d ${statedir} ]; then
	mkdir ${statedir}
	chmod 777 ${statedir}
      fi
    ;;
  esac
done

set ${copydests}
for dir in ${copydir} ; do
  dest=$1 ; shift
  mv ${dir} ${dest}
  if [ $? != 0 ]; then
    echo mv ${dir} to ${dest} failed -- using tar to copy.
    if [ `/bin/pwd`/${dir} != `(cd ${dest}; /bin/pwd)` ] ; then
      (cd ${dir}; tar cf - . ) | (cd ${dest}; umask 0; tar xf - )
      if [ $? != 0 ]; then
	echo "tar-copying ${dir} to ${dest} failed too.  I give up."
	exit 1
      fi
      for subdir in `find ${dest} -type d ! -name RCS -print` ; do
	rm -rf ${subdir}/RCS
	rm -f  ${subdir}/\#*
	rm -f  ${subdir}/*~
      done
    fi
  fi
done

cp ${libdir}/[ce]tags ${bindir}
mv src/emacs ${BINDIR}/emacs
rm src/temacs
chmod 777 ${bindir}/[ce]tags ${bindir}/emacs