Commit 46947372 authored by Jim Blandy's avatar Jim Blandy

*** empty log message ***

parent f7dbcf3c
This diff is collapsed.
......@@ -2,60 +2,149 @@
#
#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}/lib/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.
lispdir=${emacsdir}/lisp
# Where Emacs will search to find its elisp files. This should be a
# colon-separated list of directories. 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.
lisppath=${emacsdir}/local-lisp:${lispdir}
# 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
scum
# Where to install all of Emacs's data files - the lisp code,
# documentation tree, and the architecture-dependent and -independent
# 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=/home/gd/gnu/emacs
emacsdir=/u/src/emacs/19.0
# 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=/home/gd/gnu/emacs/local-lisp:/home/gd/gnu/emacs/lisp
LISPPATH=/u/src/emacs/19.0/local-lisp:/u/src/emacs/19.0/lisp
# Emacs will look here for its architecture-independent files (like
# the tutorial and the zippy database).
DATADIR=/home/gd/gnu/emacs/etc
DATADIR=/u/src/emacs/19.0/etc
# Emacs will look here for its architecture-dependent files, like
# executables for its utilities.
LIBDIR=/home/gd/gnu/emacs/arch-lib
LIBDIR=/u/src/emacs/19.0/arch-lib
# The locking directory, where the Emacs locking code keeps track of
# which files are currently being edited.
# set LOCKDIR=${LIBROOT}/lock
LOCKDIR=/home/gd/gnu/emacs/lock
LOCKDIR=/u/src/emacs/19.0/lock
# This is where build-install should place the binaries people will
# want to run directly (like etags and Emacs itself).
BINDIR=/usr/local/bin
/bin/sed < src/paths.h-dist > src/paths.h \
-e 's;\(#.*PATH_LOADSEARCH\).*$;\1 "'${LISPPATH}'";' \
-e 's;\(#.*PATH_EXEC\).*$;\1 "'${LIBDIR}'";' \
-e 's;\(#.*PATH_DATA\).*$;\1 "'${DATADIR}'";' \
-e 's;\(#.*LOCK\).*$;\1 "'${LOCKDIR}'/";'
/bin/sed < src/paths.h.in > src/paths.h \
-e 's;\(#.*PATH_LOADSEARCH\).*$;\1 "${lisppath}";' \
-e 's;\(#.*PATH_EXEC\).*$;\1 "${libdir}";' \
-e 's;\(#.*PATH_DATA\).*$;\1 "${datadir}";' \
-e 's;\(#.*PATH_LOCK\).*$;\1 "${lockdir}/";' \
-e 's;\(#.*PATH_SUPERLOCK\).*$;\1 "${lockdir}/!!!SuperLock!!!";'
(cd lib-src; make) || exit 1
(cd src; make) || exit 1
if [ `pwd` != `(cd ${LIBROOT}; pwd)` ]; then
mv `pwd` ${LIBROOT}
if [ $? != '0' ]; then
mkdir ${LIBROOT}
echo mv `pwd` to ${LIBROOT} failed--using tar to copy.
tar cf - . | (cd ${LIBROOT}; umask 0; tar xf -)
if [ $? != '0' ]; then
echo tar-copying `pwd` to ${LIBROOT} failed.
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
fi
done
cp ${LIBROOT}/etc/[ce]tags ${BINDIR}
mv ${LIBROOT}/src/xemacs ${BINDIR}/emacs
rm ${LIBROOT}/src/temacs
chmod 777 ${BINDIR}/[ce]tags ${BINDIR}/emacs
cp ${libdir}/[ce]tags ${bindir}
mv src/xemacs ${BINDIR}/emacs
rm src/temacs
chmod 777 ${bindir}/[ce]tags ${bindir}/emacs
This diff is collapsed.
......@@ -5,12 +5,3 @@ for Emacs functions and variables.
`termcap.dat' is for VMS. It is a copy of the `/etc/termcap' file
used on Unix.
[/amiga/editors/README Fri Nov 23 15:37:39 EST 1990]
ue-patches/ Patches to Uedit by Rick Stiles.
[contributed by acs@pccuts.pcc.amdahl.com (Tony Sumrall)]
stevie-*.lzh The VI-like editor STEVIE. Source is portable to many
machines (Makefiles and Amiga executable included
[contributed by Fred Walter <grwalter@watmath.waterloo.edu>]
;; Print Emacs buffer on line printer.
;; Copyright (C) 1985, 1988 Free Software Foundation, Inc.
;; Copyright (C) 1985, 1988, 1992 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
......@@ -24,7 +24,7 @@
(defvar lpr-command (if (eq system-type 'usg-unix-v)
"lp" "lpr")
"Shell command for printing a file")
"*Shell command for printing a file")
(defvar print-region-function nil
"Function to call to print the region on a printer.
......
;; "RMAIL" mail reader for Emacs.
;; Copyright (C) 1985, 1986, 1987, 1988, 1991 Free Software Foundation, Inc.
;; Copyright (C) 1985, 1986, 1987, 1988, 1991, 1992 Free Software Foundation, Inc.
;; This file is part of GNU Emacs.
......@@ -98,6 +98,11 @@ Called with region narrowed to unformatted header.")
(defvar rmail-last-multi-labels nil)
(defvar rmail-last-file nil)
(defvar rmail-last-rmail-file nil)
(defvar rmail-unix-mail-delimiter
"From \\([^ \n]*\\(\\|\".*\"[^ \n]*\\)\\) ?\\([^ \n]*\\) \\([^ ]*\\) *\\([0-9]*\\) \\([0-9:]*\\)\\( ?[A-Z]?[A-Z][A-Z]T\\( DST\\)?\\| ?[-+]?[0-9][0-9][0-9][0-9]\\|\\) [0-9][0-9]\\([0-9]*\\) *\\(remote from [^\n]*\\)?\n"
"Regexp matching the delimiter of messages in UNIX mail format (UNIX From lines), minus the
initial ^. ")
;;;; *** Rmail Mode ***
......@@ -634,9 +639,8 @@ argument causes us to read a file name and use that file as the inbox."
(rmail-nuke-pinhead-header)
(if (re-search-forward
(concat "^[\^_]?\\("
"From [^ \n]*\\(\\|\".*\"[^ \n]*\\) ?[^ \n]* [^ \n]* *"
"[0-9]* [0-9:]*\\( ?[A-Z]?[A-Z][A-Z]T\\| ?[-+]?[0-9][0-9][0-9][0-9]\\|\\) " ; EDT, -0500
"[0-9]+ *\\(remote from [^\n]*\\)?$\\|"
rmail-unix-mail-delimiter
"\\|"
mmdf-delim1 "\\|"
"^BABYL OPTIONS:\\|"
"\^L\n[01],\\)") nil t)
......@@ -681,8 +685,7 @@ argument causes us to read a file name and use that file as the inbox."
(setq has-date (and (search-forward "\nDate:" nil t) (point)))
(goto-char start))
(let ((case-fold-search nil))
(if (re-search-forward
"^From \\([^ ]*\\(\\|\".*\"[^ ]*\\)\\) ?\\([^ ]*\\) \\([^ ]*\\) *\\([0-9]*\\) \\([0-9:]*\\)\\( ?[A-Z]?[A-Z][A-Z]T\\| ?[-+]?[0-9][0-9][0-9][0-9]\\|\\) [0-9][0-9]\\([0-9]*\\) *\\(remote from [^\n]*\\)?\n" nil t)
(if (re-search-forward (concat "^" rmail-unix-mail-delimiter) nil t)
(replace-match
(concat
"Mail-from: \\&"
......@@ -692,8 +695,8 @@ argument causes us to read a file name and use that file as the inbox."
""
;; If no time zone specified, assume est.
(if (= (match-beginning 7) (match-end 7))
"Date: \\3, \\5 \\4 \\8 \\6 EST\n"
"Date: \\3, \\5 \\4 \\8 \\6\\7\n"))
"Date: \\3, \\5 \\4 \\9 \\6 EST\n"
"Date: \\3, \\5 \\4 \\9 \\6\\7\n"))
;; Keep and reformat the sender if we don't
;; have a From: field.
(if has-from
......
......@@ -136,7 +136,7 @@ In some text modes, where TAB inserts a tab, this indents to the
specified left-margin column."
(interactive "*")
(delete-region (point) (progn (skip-chars-backward " \t") (point)))
(insert ?\n)
(newline)
(indent-according-to-mode))
(defun reindent-then-newline-and-indent ()
......@@ -150,7 +150,7 @@ specified left-margin column."
(save-excursion
(delete-region (point) (progn (skip-chars-backward " \t") (point)))
(indent-according-to-mode))
(insert ?\n)
(newline)
(indent-according-to-mode))
;; Internal subroutine of delete-char
......@@ -748,7 +748,8 @@ the text which should be made available.")
(defun copy-region-as-kill (beg end)
"Save the region as if killed, but don't kill it.
If `x-select-kill' is non-nil, also save the text for X cut and paste."
If `interprogram-cut-function' is non-nil, also save the text for a window
system cut and paste."
(interactive "r")
(if (eq last-command 'kill-region)
(kill-append (buffer-substring beg end) (< end beg))
......
......@@ -11,7 +11,7 @@ SHELL = /bin/sh
all: xmakefile doall
doall:
$(MAKE) $(MAKEOVERRIDES) -f xmakefile ${MFLAGS} all
$(MAKE) CC=${CC} $(MAKEOVERRIDES) -f xmakefile ${MFLAGS} all
#This is used in making a distribution.
#Do not use it on development directories!
......
/* Call a Lisp function interactively.
Copyright (C) 1985, 1986 Free Software Foundation, Inc.
Copyright (C) 1985, 1986, 1992 Free Software Foundation, Inc.
This file is part of GNU Emacs.
......@@ -177,12 +177,14 @@ Otherwise, this is done only if an arg is read using the minibuffer.")
/* Save this now, since use ofminibuffer will clobber it. */
prefix_arg = Vcurrent_prefix_arg;
retry:
retry:
for (fun = function;
XTYPE (fun) == Lisp_Symbol && !EQ (fun, Qunbound);
fun = XSYMBOL (fun)->function)
;
{
QUIT;
}
specs = Qnil;
string = 0;
......@@ -231,8 +233,14 @@ Otherwise, this is done only if an arg is read using the minibuffer.")
else
goto lose;
/* If either specs or string is set to a string, use it. */
if (XTYPE (specs) == Lisp_String)
string = XSTRING (specs)->data;
{
/* Make a copy of string so that if a GC relocates specs,
`string' will still be valid. */
string = (char *) alloca (XSTRING (specs)->size + 1);
bcopy (XSTRING (specs)->data, string, XSTRING (specs)->size + 1);
}
else if (string == 0)
{
i = num_input_chars;
......@@ -297,7 +305,7 @@ Otherwise, this is done only if an arg is read using the minibuffer.")
gcpro4.nvars = (count + 1);
tem = string;
for (i = 1; *tem; i++)
for (i = 1; *tem; i++)
{
strncpy (prompt1, tem + 1, sizeof prompt1 - 1);
prompt1[sizeof prompt1 - 1] = 0;
......@@ -309,7 +317,7 @@ Otherwise, this is done only if an arg is read using the minibuffer.")
argstrings[j]
= EQ (visargs[j], Qnil)
? (unsigned char *) ""
: XSTRING (visargs[j])->data;
: XSTRING (visargs[j])->data;
doprnt (prompt, sizeof prompt, prompt1, 0, j - 1, argstrings + 1);
......
/* GNU Emacs site configuration template file.
/* GNU Emacs site configuration template file. -*- C -*-
Copyright (C) 1988 Free Software Foundation, Inc.
This file is part of GNU Emacs.
......@@ -93,18 +93,20 @@ and this notice must be preserved on all copies. */
#define GLYPH unsigned char
#endif
/* The configuration script links system.h to a s- file that describes
the system type you are using.
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. */
/* The configuration script replaces the string @opsystem@ with the
name of the s/*.h file that describes the system type you are
using; an option of the form "-opsystem=OPSYS" says to use
"s/OPSYS.h". See the file ../etc/MACHINES for a list of systems
and the -opsystem flags to use for them.
See s/template.h for documentation on writing s/*.h files. */
#include "@opsystem@"
/* The configuration script links machine.h to a m- file that
describes the machine and system you use.
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. */
/* The configuration script replaces the string @machine@ with the
name of the m/*.h file that describes the machine you are
using; an option of the form "-machine=MACH" says to use
"m/MACH.h". See the file ../etc/MACHINES for a list of machines
and the -machine flags to use for them.
See m/template.h for documentation on writing m/*.h files. */
#include "@machine@"
/* Load in the conversion definitions if this system
......@@ -122,7 +124,7 @@ and this notice must be preserved on all copies. */
have code for asynchronous subprocesses
(as used in M-x compile and M-x shell).
These do not work for some USG systems yet;
for the ones where they work, the s-*.h file defines this flag. */
for the ones where they work, the s/*.h file defines this flag. */
#ifndef VMS
#ifndef USG
......
......@@ -477,10 +477,10 @@ compute_motion (from, fromvpos, fromhpos, to, tovpos, tohpos, width, hscroll, ta
/* A visible line. */
vpos++;
hpos = 0;
hpos -= hscroll;
if (hscroll > 0) hpos++; /* Count the ! on column 0 */
tab_offset = 0;
}
hpos -= hscroll;
if (hscroll > 0) hpos++; /* Count the ! on column 0 */
tab_offset = 0;
}
}
else if (c == CR && selective < 0)
{
......
......@@ -5,7 +5,7 @@ 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 1, or (at your option)
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,
......@@ -1431,49 +1431,67 @@ defvar_per_buffer (namestring, address, doc)
init_lread ()
{
char *normal = PATH_LOADSEARCH;
Lisp_Object normal_path;
char *normal;
/* Compute the default load-path. */
#ifndef CANNOT_DUMP
/* If running a dumped Emacs in which load-path was set before dumping
to a nonstandard value, use that value. */
if (initialized
&& !(XTYPE (Vload_path) == Lisp_Cons
&& XTYPE (XCONS (Vload_path)->car) == Lisp_String
&& !strcmp (XSTRING (XCONS (Vload_path)->car)->data, "../lisp")))
normal_path = Vload_path;
#ifdef CANNOT_DUMP
normal = PATH_LOADSEARCH;
Vload_path = decode_env_path ("", normal);
#else
if (NILP (Vpurify_flag))
normal = PATH_LOADSEARCH;
else
#endif
{
normal_path = decode_env_path ("", normal);
normal = PATH_DUMPLOADSEARCH;
Vload_path = normal_path;
}
/* In a dumped Emacs, we normally have to reset the value of
Vload_path from PATH_LOADSEARCH, since the value that was dumped
uses ../lisp, instead of the path of the installed elisp
libraries. However, if it appears that Vload_path was changed
from the default before dumping, don't override that value. */
{
Lisp_Object normal_path;
normal_path = decode_env_path ("", normal);
if (
if (initialized
|| EQ (Vload_path, initial_path))
Vload_path = decode_env_path ("", normal);
#endif
/* Warn if dirs in the *standard* path don't exist. */
for (; !NILP (normal_path); normal_path = XCONS (normal_path)->cdr)
{
Lisp_Object dirfile;
dirfile = Fcar (normal_path);
if (!NILP (dirfile))
{
dirfile = Fdirectory_file_name (dirfile);
if (access (XSTRING (dirfile)->data, 0) < 0)
printf ("Warning: lisp library (%s) does not exist.\n",
XSTRING (Fcar (normal_path))->data);
}
}
{
Lisp_Object path_tail;
if (egetenv ("EMACSLOADPATH"))
for (path_tail = Vload_path;
!NILP (path_tail);
path_tail = XCONS (path_tail)->cdr)
{
Lisp_Object dirfile;
dirfile = Fcar (path_tail);
if (XTYPE (dirfile) == Lisp_String)
{
dirfile = Fdirectory_file_name (dirfile);
if (access (XSTRING (dirfile)->data, 0) < 0)
printf ("Warning: lisp library (%s) does not exist.\n",
XSTRING (Fcar (path_tail))->data);
}
}
}
/* If the EMACSLOADPATH environment variable is set, use its value.
This doesn't apply if we're dumping. */
if (NILP (Vpurify_flag)
&& egetenv ("EMACSLOADPATH"))
Vload_path = decode_env_path ("EMACSLOADPATH", normal);
#ifndef CANNOT_DUMP
if (!NILP (Vpurify_flag))
Vload_path = Fcons (build_string ("../lisp"), Vload_path);
#endif
Vvalues = Qnil;
if (initialized)
initial_path = Qnil;
else
initial_path = Vload_path;
load_in_progress = 0;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment