mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-12-22 10:26:20 +00:00
*** empty log message ***
This commit is contained in:
parent
4915b8d61b
commit
f8026fd834
13
Makefile.in
13
Makefile.in
@ -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/\#*; \
|
||||
|
41
build-ins.in
41
build-ins.in
@ -1,4 +1,4 @@
|
||||
#!/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
|
||||
|
49
src/window.c
49
src/window.c
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user