Commit f8026fd8 authored by Jim Blandy's avatar Jim Blandy

*** empty log message ***

parent 4915b8d6
......@@ -23,7 +23,7 @@ SHELL = /bin/sh
# 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=/u/emacs
LIBROOT=/u/src/emacs/19.0
# This is where the `install' make target should place the binaries
# people will want to run directly (like etags and Emacs itself).
......@@ -34,19 +34,19 @@ INSTALLBIN=/usr/local/bin
# 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=/u/emacs/lisp
LISPPATH=/u/src/emacs/19.0/lisp
# Emacs will look here for its architecture-independent files (like
# the tutorial and the zippy database).
DATADIR=/u/emacs/share-lib
DATADIR=/u/src/emacs/19.0/share-lib
# Emacs will look here for its architecture-dependent files, like
# executables for its utilities.
LIBDIR=/u/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.
LOCKDIR=/u/emacs/lock
LOCKDIR=/u/src/emacs/19.0/lock
# This is where the `install' make target should place the man pages
# for the binaries it installs.
......@@ -72,7 +72,6 @@ all: src/paths.h ${SUBDIR}
src/paths.h: Makefile src/paths.h-dist
/bin/sed < src/paths.h-dist > src/paths.h \
-e 's;/usr/local/lib/emacs;${LIBROOT};g' \
-e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "$(LISPPATH)";' \
-e 's;\(#.*PATH_EXEC\).*$$;\1 "$(LIBDIR)";' \
-e 's;\(#.*PATH_DATA\).*$$;\1 "$(DATADIR)";' \
......@@ -87,7 +86,7 @@ ${SUBDIR}: FRC
install: all mkdir lockdir
-if [ `/bin/pwd` != `(cd ${LIBROOT}; /bin/pwd)` ] ; then \
tar cf - ${COPYDIR} | (cd ${LIBROOT}; umask 0; tar xBf - ) ;\
tar cf - ${COPYDIR} | (cd ${LIBROOT}; umask 0; tar xf - ) ;\
for i in ${CLEANDIR}; do \
(rm -rf ${LIBROOT}/$$i/RCS; \
rm -f ${LIBROOT}/$$i/\#*; \
......
#!/bin/csh -fx
#!/bin/sh -x
#
#Shell script for building and installing Emacs.
......@@ -7,58 +7,55 @@
# 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
set LIBROOT=/u/emacs
LIBROOT=/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.
set LISPPATH=/u/emacs/lisp
LISPPATH=/u/src/emacs/19.0/lisp
# Emacs will look here for its architecture-independent files (like
# the tutorial and the zippy database).
set DATADIR=/u/emacs/share-lib
DATADIR=/u/src/emacs/19.0/share-lib
# Emacs will look here for its architecture-dependent files, like
# executables for its utilities.
set LIBDIR=/u/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
set LOCKDIR=/u/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).
set BINDIR=/usr/local/bin
BINDIR=/usr/local/bin
/bin/sed < src/paths.h-dist > src/paths.h \
-e 's;/usr/local/emacs;'${LIBDIR}';g' \
-e 's;\(#.*PATH_LOADSEARCH\).*$$;\1 "'${LISPPATH}'";' \
-e 's;\(#.*PATH_EXEC\).*$$;\1 "'${LIBDIR}'";' \
-e 's;\(#.*PATH_DATA\).*$$;\1 "'${DATADIR}'";' \
-e 's;\(#.*LOCK\).*$$;\1 "'${LOCKDIR}'/";'
exit 1
-e 's;\(#.*PATH_LOADSEARCH\).*$;\1 "'${LISPPATH}'";' \
-e 's;\(#.*PATH_EXEC\).*$;\1 "'${LIBDIR}'";' \
-e 's;\(#.*PATH_DATA\).*$;\1 "'${DATADIR}'";' \
-e 's;\(#.*LOCK\).*$;\1 "'${LOCKDIR}'/";'
(cd lib-src; make) || exit 1
(cd src; make) || exit 1
if (`pwd` != `(cd ${LIBROOT}; pwd)`) then
if [ `pwd` != `(cd ${LIBROOT}; pwd)` ]; then
mv `pwd` ${LIBROOT}
if ($status) then
if [ $? != '0' ]; then
mkdir ${LIBROOT}
echo mv `pwd` to ${LIBROOT} failed--using tar to copy.
tar cf - . | (cd ${LIBROOT}; umask 0; tar xf -)
if ($status) then
if [ $? != '0' ]; then
echo tar-copying `pwd` to ${LIBROOT} failed.
exit 1
endif
endif
endif
fi
fi
fi
cp ${LIBROOT}/etc/{ctags,etags} ${BINDIR}
cp ${LIBROOT}/etc/[ce]tags ${BINDIR}
mv ${LIBROOT}/src/xemacs ${BINDIR}/emacs
rm ${LIBROOT}/src/temacs
chmod 777 ${BINDIR}/{ctags,etags,emacs}
chmod 777 ${BINDIR}/[ce]tags ${BINDIR}/emacs
......@@ -27,6 +27,7 @@ the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
#include "indent.h"
#include "termchar.h"
#include "disptab.h"
#include "keyboard.h"
Lisp_Object Qwindowp;
......@@ -1930,9 +1931,10 @@ window_internal_height (w)
/* Scroll contents of window WINDOW up N lines. */
void
window_scroll (window, n)
window_scroll (window, n, noerror)
Lisp_Object window;
int n;
int noerror;
{
register struct window *w = XWINDOW (window);
register int opoint = point;
......@@ -1961,14 +1963,14 @@ window_scroll (window, n)
SET_PT (opoint);
if (lose)
Fsignal (Qbeginning_of_buffer, Qnil);
{
if (noerror)
return;
else
Fsignal (Qbeginning_of_buffer, Qnil);
}
if (pos < ZV)
#if 0
/* Allow scrolling to an empty screen (end of buffer)
if that is exactly how far we wanted to go. */
|| XINT (nmoved) == n)
#endif
{
set_marker_restricted (w->start, make_number (pos), w->buffer);
w->start_at_line_beg = bolp;
......@@ -1987,7 +1989,12 @@ window_scroll (window, n)
}
}
else
Fsignal (Qend_of_buffer, Qnil);
{
if (noerror)
return;
else
Fsignal (Qend_of_buffer, Qnil);
}
}
/* This is the guts of Fscroll_up and Fscroll_down. */
......@@ -2000,29 +2007,27 @@ scroll_command (n, direction)
register int defalt;
int count = specpdl_ptr - specpdl;
/* If selected window's buffer isn't current, make it current for the moment.
But don't screw up if window_scroll gets an error. */
/* Code here used to set the current buffer to the selected window's
buffer, but since this command always operates on the selected
window, the current buffer should always be the selected window's
buffer already. Verify this assumption, so we won't be screwed
if we're guessing wrong. */
if (XBUFFER (XWINDOW (selected_window)->buffer) != current_buffer)
{
record_unwind_protect (save_excursion_restore, save_excursion_save ());
Fset_buffer (XWINDOW (selected_window)->buffer);
}
abort ();
defalt = (window_internal_height (XWINDOW (selected_window))
- next_screen_context_lines);
defalt = direction * (defalt < 1 ? 1 : defalt);
if (NILP (n))
window_scroll (selected_window, defalt);
window_scroll (selected_window, defalt, 0);
else if (EQ (n, Qminus))
window_scroll (selected_window, - defalt);
window_scroll (selected_window, - defalt, 0);
else
{
n = Fprefix_numeric_value (n);
window_scroll (selected_window, XINT (n) * direction);
window_scroll (selected_window, XINT (n) * direction, 0);
}
unbind_to (count, Qnil);
}
DEFUN ("scroll-up", Fscroll_up, Sscroll_up, 0, 1, "P",
......@@ -2093,15 +2098,15 @@ showing that buffer, popping the buffer up if necessary.")
SET_PT (marker_position (w->pointm));
if (NILP (n))
window_scroll (window, ht - next_screen_context_lines);
window_scroll (window, ht - next_screen_context_lines, 1);
else if (EQ (n, Qminus))
window_scroll (window, next_screen_context_lines - ht);
window_scroll (window, next_screen_context_lines - ht, 1);
else
{
if (XTYPE (n) == Lisp_Cons)
n = Fcar (n);
CHECK_NUMBER (n, 0);
window_scroll (window, XINT (n));
window_scroll (window, XINT (n), 1);
}
Fset_marker (w->pointm, make_number (point), Qnil);
......
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