-# This is the distribution Makefile for Emacs. config.emacs can make
+# This is the distribution Makefile for Emacs. configure can make
# most of the changes to this file you might want, so try that first.
# make all to compile and build Emacs
# already, the `install' targets will move or copy it there. The
# default definitions for the variables below are expressed in terms
# of this one, so you may not need to change them.
-LIBROOT=/gd/gnu/emacs
+LIBROOT=/home/gd/gnu/emacs
# This is where the `install' make target should place the binaries
# people will want to run directly (like etags and Emacs itself).
# elisp files should go under DATADIR (below), since both elisp source
# and compiled elisp are completely portable, but it's traditional to
# give the lisp files their own subdirectory.
-LISPPATH=/gd/gnu/emacs/local-lisp:/gd/gnu/emacs/lisp
+LISPPATH=/home/gd/gnu/emacs/local-lisp:/home/gd/gnu/emacs/lisp
# Emacs will look here for its architecture-independent files (like
# the tutorial and the zippy database).
-DATADIR=/gd/gnu/emacs/share-lib
+DATADIR=/home/gd/gnu/emacs/etc
# Emacs will look here for its architecture-dependent files, like
# executables for its utilities.
-LIBDIR=/gd/gnu/emacs/arch-lib
+LIBDIR=/home/gd/gnu/emacs/arch-lib
# The locking directory, where the Emacs locking code keeps track of
# which files are currently being edited.
-LOCKDIR=/gd/gnu/emacs/lock
+LOCKDIR=/home/gd/gnu/emacs/lock
# This is where the `install' make target should place the man pages
# for the binaries it installs.
SUBDIR= lib-src src
# Subdirectories to install
-COPYDIR= arch-lib share-lib info lisp
+COPYDIR= arch-lib etc info lisp
# Subdirectories to clean
CLEANDIR= ${COPYDIR} lisp/term
-e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "$(LISPPATH)";' \
-e 's;\(#.*PATH_EXEC\).*$$;\1 "$(LIBDIR)";' \
-e 's;\(#.*PATH_DATA\).*$$;\1 "$(DATADIR)";' \
- -e 's;\(#.*LOCK\).*$$;\1 "$(LOCKDIR)/";'
+ -e 's;\(#.*PATH_LOCK\).*$$;\1 "$(LOCKDIR)/";' \
+ -e 's;\(#.*PATH_SUPERLOCK\).*$$;\1 "$(LOCKDIR)/!!!SuperLock!!!";'
src: lib-src
install -c -s arch-lib/etags ${INSTALLBIN}/etags
install -c -s arch-lib/ctags ${INSTALLBIN}/ctags
install -c -s -m 1755 src/xemacs ${INSTALLBIN}/xemacs
- install -c -m 444 share-lib/emacs.1 ${MANDIR}/emacs.1
+ install -c -m 444 etc/emacs.1 ${MANDIR}/emacs.1
-rm -f ${INSTALLBIN}/emacs
mv ${INSTALLBIN}/xemacs ${INSTALLBIN}/emacs
-cpset arch-lib/emacsclient ${INSTALLBIN}/emacsclient 755 bin bin
-cpset arch-lib/etags ${INSTALLBIN}/etags 755 bin bin
-cpset arch-lib/ctags ${INSTALLBIN}/ctags 755 bin bin
- -cpset share-lib/emacs.1 ${MANDIR}/emacs.1 444 bin bin
+ -cpset etc/emacs.1 ${MANDIR}/emacs.1 444 bin bin
-/bin/rm -f ${INSTALLBIN}/emacs
-cpset src/xemacs ${INSTALLBIN}/emacs 1755 bin bin
fi
cp arch-lib/etags arch-lib/ctags arch-lib/emacsclient ${INSTALLBIN}
chmod 755 ${INSTALLBIN}/etags ${INSTALLBIN}/ctags ${INSTALLBIN}/emacsclient
- cp share-lib/emacs.1 ${MANDIR}/emacs.1
+ cp etc/emacs.1 ${MANDIR}/emacs.1
chmod 444 ${MANDIR}/emacs.1
-mv -f ${INSTALLBIN}/emacs ${INSTALLBIN}/emacs.old
cp src/xemacs ${INSTALLBIN}/emacs
# libaries. The default definitions for the variables below are
# expressed in terms of this one, so you may not need to change them.
# set LIBROOT=/usr/local/lib/emacs-19.0
-LIBROOT=/gd/gnu/emacs
+LIBROOT=/home/gd/gnu/emacs
# Emacs will search this path to find its elisp files. This should be
# a colon-separated list of directories. Strictly speaking, all the
# elisp files should go under DATADIR (below), since both elisp source
# and compiled elisp are completely portable, but it's traditional to
# give the lisp files their own subdirectory.
-LISPPATH=/gd/gnu/emacs/local-lisp:/gd/gnu/emacs/lisp
+LISPPATH=/home/gd/gnu/emacs/local-lisp:/home/gd/gnu/emacs/lisp
# Emacs will look here for its architecture-independent files (like
# the tutorial and the zippy database).
-DATADIR=/gd/gnu/emacs/share-lib
+DATADIR=/home/gd/gnu/emacs/etc
# Emacs will look here for its architecture-dependent files, like
# executables for its utilities.
-LIBDIR=/gd/gnu/emacs/arch-lib
+LIBDIR=/home/gd/gnu/emacs/arch-lib
# The locking directory, where the Emacs locking code keeps track of
# which files are currently being edited.
# set LOCKDIR=${LIBROOT}/lock
-LOCKDIR=/gd/gnu/emacs/lock
+LOCKDIR=/home/gd/gnu/emacs/lock
# This is where build-install should place the binaries people will
# want to run directly (like etags and Emacs itself).
Last updated 10 Feb 1992.
For each system and machine, we give the `-opsystem' and `-machine'
-options you should pass to config.emacs to prepare to build Emacs for
+options you should pass to configure to prepare to build Emacs for
that system/machine.
These options tell Emacs which machine- and system-descriptive files
If you want Emacs to work with Smail (installed as /usr/bin/smail)
then add the line #define SMAIL to config.h.
- The file share-lib/XENIX suggests some useful things to do to Xenix
+ The file etc/XENIX suggests some useful things to do to Xenix
to make the Emacs meta key work.
\f
Machines:
For SunOS release 4 on a Sun 3, use -machine=sun3 and
-opsystem=sunos4-0 or -opsystem=sunos4-1.
- See the file share-lib/SUNBUG for how to solve problems caused by
+ See the file etc/SUNBUG for how to solve problems caused by
bugs in the "export" version of SunOS 4.
If you have trouble using open-network-stream, get the
Use -opsystem=sunos4-0 for operating system version 4.0, and
-opsystem=sunos4-1 for later versions.
- See the file share-lib/SUNBUG for how to solve problems caused by
+ See the file etc/SUNBUG for how to solve problems caused by
bugs in the "export" version of SunOS 4.
Sun Roadrunner (-machine=sun386; -opsystem=sunos4-0 or -opsystem=sunos4-1)
{
char *inname, *outname;
int indesc, outdesc;
- char buf[1024];
int nread;
#ifndef MAIL_USE_FLOCK
to bug-gnu-emacs@prep.ai.mit.edu so we can fix it. */
lockname = concat (inname, ".lock", "");
- tempname = (char *) xmalloc (strlen (inname) + 20);
- strcpy (tempname, inname);
+ tempname = strcpy (xmalloc (strlen (inname)+1), inname);
p = tempname + strlen (tempname);
while (p != tempname && p[-1] != '/')
p--;
#endif
#endif /* MAIL_USE_FLOCK */
- while (1)
- {
- nread = read (indesc, buf, sizeof buf);
- if (nread != write (outdesc, buf, nread))
- {
- int saved_errno = errno;
- unlink (outname);
- errno = saved_errno;
- pfatal_with_name (outname);
- }
- if (nread < sizeof buf)
- break;
- }
+ {
+ char buf[1024];
+
+ while (1)
+ {
+ nread = read (indesc, buf, sizeof buf);
+ if (nread != write (outdesc, buf, nread))
+ {
+ int saved_errno = errno;
+ unlink (outname);
+ errno = saved_errno;
+ pfatal_with_name (outname);
+ }
+ if (nread < sizeof buf)
+ break;
+ }
+ }
#ifdef BSD
if (fsync (outdesc) < 0)
;;Load up standardly loaded Lisp files for Emacs.
;; This is loaded into a bare Emacs to make a dumpable one.
-;; Copyright (C) 1985, 1986 Free Software Foundation, Inc.
+;; Copyright (C) 1985, 1986, 1992 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
(setq name (concat (downcase (substring name 0 (match-beginning 0)))
"-"
(substring name (match-end 0)))))
- (copy-file (expand-file-name "../share-lib/DOC")
- (concat (expand-file-name "../share-lib/DOC-") name)
+ (copy-file (expand-file-name "../etc/DOC")
+ (concat (expand-file-name "../etc/DOC-") name)
t)
(Snarf-documentation (concat "DOC-" name)))
(Snarf-documentation "DOC"))
(let (end
(case-fold-search t))
(goto-char (point-min))
- (search-forward (concat "^" mail-header-separator "\n"))
+ (re-search-forward (concat "^" (regexp-quote mail-header-separator) "\n"))
(setq end (match-beginning 0))
(goto-char (point-min))
(if (re-search-forward (concat "^" (regexp-quote field) ":") end t)
(or soft
(progn (goto-char end)
(skip-chars-backward "\n")
- (insert "\n" field ": ")))
+ (insert field ": \n")
+ (skip-chars-backward "\n")))
nil)))
(defun mail-text ()
/* The configuration script links system.h to a s- file that describes
the system type you are using.
- See the file ../share-lib/MACHINES for a list of systems and
+ See the file ../etc/MACHINES for a list of systems and
the names of the s- files to use for them.
See s-template.h for documentation on writing s- files. */
#include "@opsystem@"
/* The configuration script links machine.h to a m- file that
describes the machine and system you use.
- See the file ../share-lib/MACHINES for a list of machines and
+ See the file ../etc/MACHINES for a list of machines and
the names of the m- files to use for them.
See m-template.h for info on what m- files should define. */
#include "@machine@"
}
DEFUN ("documentation", Fdocumentation, Sdocumentation, 1, 2, 0,
- "Return the documentation string of FUNCTION.
-Unless a non-nil second argument is given, the
+ "Return the documentation string of FUNCTION.\n\
+Unless a non-nil second argument is given, the\n\
string is passed through `substitute-command-keys'.")
(fun1, raw)
Lisp_Object fun1, raw;
DEFUN ("documentation-property", Fdocumentation_property, Sdocumentation_property, 2, 2, 0,
"Return the documentation string that is SYMBOL's PROP property.\n\
This is like `get', but it can refer to strings stored in the\n\
-`share-lib/DOC' file; and if the value is a string, it is passed through\n\
+`etc/DOC' file; and if the value is a string, it is passed through\n\
`substitute-command-keys'. A non-nil third argument avoids this\n\
translation.")
(sym, prop, raw)
DEFUN ("Snarf-documentation", Fsnarf_documentation, Ssnarf_documentation,
1, 1, 0,
"Used during Emacs initialization, before dumping runnable Emacs,\n\
-to find pointers to doc strings stored in `share-lib/DOC...' and\n\
+to find pointers to doc strings stored in `etc/DOC...' and\n\
record them in function definitions.\n\
One arg, FILENAME, a string which does not include a directory.\n\
-The file is found in `../share-lib' now; found in the `data-directory'\n\
+The file is found in `../etc' now; found in the `data-directory'\n\
when doc strings are referred to later in the dumped Emacs.")
(filename)
Lisp_Object filename;
#ifndef CANNOT_DUMP
name = (char *) alloca (XSTRING (filename)->size + 14);
- strcpy (name, "../share-lib/");
+ strcpy (name, "../etc/");
#else /* CANNOT_DUMP */
CHECK_STRING (Vdata_directory, 0);
name = (char *) alloca (XSTRING (filename)->size +
elt = Fcar (varlist);
if (XTYPE (elt) == Lisp_Symbol)
specbind (elt, Qnil);
+ else if (! NILP (Fcdr (Fcdr (elt))))
+ Fsignal (Qerror,
+ Fcons (build_string ("`let' bindings can have only one value-form"),
+ elt));
else
{
val = Feval (Fcar (Fcdr (elt)));
elt = Fcar (varlist);
if (XTYPE (elt) == Lisp_Symbol)
temps [argnum++] = Qnil;
+ else if (! NILP (Fcdr (Fcdr (elt))))
+ Fsignal (Qerror,
+ Fcons (build_string ("`let' bindings can have only one value-form"),
+ elt));
else
temps [argnum++] = Feval (Fcar (Fcdr (elt)));
gcpro2.nvars = argnum;
goto done;
default:
- error ("Ffuncall doesn't handle that number of arguments.");
- goto done;
+ /* Someone has created a subr that takes more arguments than
+ is supported by this code. We need to either rewrite the
+ subr to use a different argument protocol, or add more
+ cases to this switch. */
+ abort ();
}
}
if (XTYPE (fun) == Lisp_Compiled)
/* Lisp parsing and input streams.
- Copyright (C) 1985, 1986, 1987, 1988, 1989 Free Software Foundation, Inc.
+ Copyright (C) 1985, 1986, 1987, 1988, 1989, 1992 Free Software Foundation, Inc.
This file is part of GNU Emacs.
/* If purifying, and string starts with \ newline,
return zero instead. This is for doc strings
- that we are really going to find in share-lib/DOC.nn.nn */
+ that we are really going to find in etc/DOC.nn.nn */
if (!NILP (Vpurify_flag) && NILP (Vdoc_file_name) && cancel)
return make_number (0);
proc_buffered_char[i] = -1;
}
}
-#ifdef 0
+#if 0
DEFUN ("process-connection", Fprocess_connection, Sprocess_connection, 0, 1, 0,
"Return the connection type of `PROCESS'. This can be nil (pipe),\n\
t or pty (pty) or stream (socket connection).")