-cc=COMPILER - Which compiler to use. Defaults to gcc if available.
-libdir=DIR - where to look for arch-dependent library files
-datadir=DIR - where to look for architecture-independent library files
- -installbin=DIR - where to install the Emacs executable, and some friends
+ -bindir=DIR - where to install the Emacs executable, and some friends
-lisppath=PATH - colon-separated list of Elisp directories
-lockdir=DIR - where Emacs should do its file-locking stuff
-window_system=none or [x11, if it is installed] - what window system to use
-gnu_malloc=[yes] or no - use the GNU memory allocator
-rel_alloc=[yes] or no - use compacting allocator for buffers
-highpri=N - run at N points higher-than-normal priority
- -lisp_float_type=[yes] or no - Support floating point in Elisp
+ -lisp_float_type=[yes] or no - Support native floating point in Elisp
If successful, ${progname} leaves its status in config.status. If
unsuccessful after disturbing the status quo, config.status is removed."
usage:help:\
machine:opsystem:\
g:O:cc:\
-libroot:datadir:libdir:installbin:lisppath:lockdir:\
+libroot:datadir:libdir:bindir:lisppath:lockdir:\
gnu_malloc:rel_alloc:highpri:lisp_float_type:\
window_system:have_x_menu:\
"
"
libroot=
-installbin=/usr/local/bin
+bindir=/usr/local/bin
gnu_malloc=yes
lisp_float_type=yes
tempMakefile="tempMakefile"$$
/bin/sed < Makefile > ${tempMakefile} \
-e 's;^\(LIBROOT=\).*$;\1'"${libroot};" \
--e 's;^\(INSTALLBIN=\).*$;\1'"${installbin};" \
+-e 's;^\(BINDIR=\).*$;\1'"${bindir};" \
-e 's;^\(LISPPATH=\).*$;\1'"${lisppath};" \
-e 's;^\(DATADIR=\).*$;\1'"${datadir};" \
-e 's;^\(LOCKDIR=\).*$;\1'"${lockdir};" \
tempbi="tempbi"$$
/bin/sed < build-install > ${tempbi} \
-e 's;^\(LIBROOT=\).*$;\1'"${libroot};" \
--e 's;^\(BINDIR=\).*$;\1'"${installbin};" \
+-e 's;^\(BINDIR=\).*$;\1'"${bindir};" \
-e 's;^\(LISPPATH=\).*$;\1'"${lisppath};" \
-e 's;^\(DATADIR=\).*$;\1'"${datadir};" \
-e 's;^\(LOCKDIR=\).*$;\1'"${lockdir};" \
-e 's;^\(CC=\).*$;\1'"${cc};"
mv ${tempMakefile} lib-src/Makefile
-# Document the damage we have done.
+# Create a verbal description of what we have done.
+message="# Configured for machine \`${machine}' running \`${opsystem}'.
+# The following values have been set in ./Makefile and ./build-install:
+# Executables will be placed in
+# ${bindir}.
+# Emacs's lisp search path will be
+# \`${lisppath}'.
+# Emacs will look for its architecture-independent data in
+# ${datadir}.
+# Emacs will look for its utility programs and other architecture-
+# dependent data in
+# ${libdir}.
+# Emacs will keep track of file-locking in
+# ${lockdir}.
+# The following values have been set in src/config.h:
+# At how much higher than normal priority should Emacs run? ${highpri-none}
+# Should Emacs use the GNU version of malloc? ${gnu_malloc}${gnu_malloc_reason}
+# Should Emacs use the relocating allocator for buffers? ${rel_alloc}
+# Should Emacs support a floating point Elisp type? ${lisp_float_type}
+# What window system should Emacs use? ${window_system}
+# Should Emacs support mouse menus, which require X11? ${have_x_menu}
+# What compiler should emacs be built with? ${cc}
+# Should the compilation use \`-g' and/or \`-O'? ${c_switch_site- neither}"
+
+# Document the damage we have done by writing config.status.
+
+echo '#!/bin/sh' > config.status
+
+echo "# This file is generated by \`${progname}.'
+# If you are thinking about editing it, you should seriously consider
+# running \`${progname}' instead.
+" >> config.status
+echo "${message}" >> config.status
+echo "'${progname}' \\
+ -machine='${machine}' \\
+ -opsystem='${opsystem}' \\
+ -g=${g} \\
+ -O=${O} \\
+ -cc=${cc} \\
+ -libdir='${libdir}' \\
+ -datadir='${datadir}' \\
+ -bindir='${bindir}' \\
+ -lisppath='${lisppath}' \\
+ -lockdir='${lockdir}' \\
+ -window_system='${window_system}' \\
+ -have_x_menu='${have_x_menu}' \\
+ -gnu_malloc='${gnu_malloc}'
+ -rel_malloc='${rel_alloc}' \\
+ -highpri='${highpri}' \\
+ -lisp_float_type='${lisp_float_type}'" >> config.status
+chmod +x config.status
+
+# Print the description.
echo
-echo "Configured for machine \`${machine}' running \`${opsystem}'.
-The following values have been set in ./Makefile and ./build-install:
- Executables will be placed in
- ${installbin}.
- Emacs's lisp search path will be
- \`${lisppath}'.
- Emacs will look for its architecture-independent data in
- ${datadir}.
- Emacs will look for its utility programs and other architecture-
- dependent data in
- ${libdir}.
- Emacs will keep track of file-locking in
- ${lockdir}.
-The following values have been set in src/config.h:
- At how much higher than normal priority should Emacs run? ${highpri-none}
- Should Emacs use the GNU version of malloc? ${gnu_malloc}${gnu_malloc_reason}
- Should Emacs use the relocating allocator for buffers? ${rel_alloc}
- Should Emacs support a floating point Elisp type? ${lisp_float_type}
- What window system should Emacs use? ${window_system}
- Should Emacs support mouse menus, which require X11? ${have_x_menu}
- What compiler should emacs be built with? ${cc}
- Should the compilation use \`-g' and/or \`-O'? ${c_switch_site- neither}" \
-| tee config.status 1>&2
+echo "${message}" | sed -e 's/^# //'
exit 0
;; File input and output commands for Emacs
-;; Copyright (C) 1985, 1986, 1987 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1986, 1987, 1992 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
(defvar write-file-hooks nil
"List of functions to be called before writing out a buffer to a file.
If one of them returns non-nil, the file is considered already written
-and the rest are not called.")
+and the rest are not called.
+These hooks are considered to pertain to the visited file.
+So this list is cleared if you change the visited file name.
+See also `write-contents-hooks'.")
+
+(defvar write-contents-hooks nil
+ "List of functions to be called before writing out a buffer to a file.
+If one of them returns non-nil, the file is considered already written
+and the rest are not called.
+These hooks are considered to pertain to the buffer's contents,
+not to the particular visited file; thus, `set-visited-file-name' does
+not clear this variable, but changing the major mode does clear it.
+See also `write-file-hooks'.")
(defconst enable-local-variables t
"*Control use of local-variables lists in files you visit.
(save-excursion
(goto-char (point-max))
(insert ?\n)))
- (let ((hooks write-file-hooks)
+ (let ((hooks (append write-contents-hooks write-file-hooks))
(done nil))
(while (and hooks
(not (setq done (funcall (car hooks)))))
Gets two args, first the nominal file name to use,
and second, t if reading the auto-save file.")
-(defun revert-buffer (&optional arg noconfirm)
+(defun revert-buffer (&optional check-auto noconfirm)
"Replace the buffer text with the text of the visited file on disk.
This undoes all changes since the file was visited or saved.
-If latest auto-save file is more recent than the visited file,
-asks user whether to use that instead.
-
-Optional first argument ARG means don't offer to use auto-save file.
-This is the prefix arg when called interactively.
+With a prefix argument, offer to revert from latest auto-save file, if
+that is more recent than the visited file.
+When called from lisp, this is the first argument, CHECK-AUTO; it is optional.
Optional second argument NOCONFIRM means don't ask for confirmation at all.
-If `revert-buffer-function' value is non-nil, it is called to do the work."
+If the value of `revert-buffer-function' is non-nil, it is called to
+do the work."
(interactive "P")
(if revert-buffer-function
- (funcall revert-buffer-function arg noconfirm)
+ (funcall revert-buffer-function (not check-auto) noconfirm)
(let* ((opoint (point))
- (auto-save-p (and (null arg) (recent-auto-save-p)
+ (auto-save-p (and check-auto (recent-auto-save-p)
buffer-auto-save-file-name
(file-readable-p buffer-auto-save-file-name)
(y-or-n-p