Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
emacs
emacs
Commits
f8026fd8
Commit
f8026fd8
authored
Jan 31, 1992
by
Jim Blandy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
*** empty log message ***
parent
4915b8d6
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
52 additions
and
51 deletions
+52
-51
Makefile.in
Makefile.in
+6
-7
build-ins.in
build-ins.in
+19
-22
src/window.c
src/window.c
+27
-22
No files found.
Makefile.in
View file @
f8026fd8
...
...
@@ -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
x
B
f -
)
;
\
tar
cf -
${COPYDIR}
|
(
cd
${LIBROOT}
;
umask
0
;
tar
xf -
)
;
\
for
i
in
${CLEANDIR}
;
do
\
(
rm
-rf
${LIBROOT}
/
$$
i/RCS
;
\
rm
-f
${LIBROOT}
/
$$
i/
\#
*
;
\
...
...
build-ins.in
View file @
f8026fd8
#!/bin/
c
sh -
f
x
#!/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
endi
f
endi
f
endi
f
f
i
f
i
f
i
cp ${LIBROOT}/etc/
{ctags,e
tags
}
${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
src/window.c
View file @
f8026fd8
...
...
@@ -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
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment