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
762f8d96
Commit
762f8d96
authored
Apr 09, 2011
by
Paul Eggert
Browse files
Options
Browse Files
Download
Plain Diff
Merge from mainline.
parents
eb3f1cc8
8546720e
Changes
59
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
59 changed files
with
2277 additions
and
1908 deletions
+2277
-1908
ChangeLog
ChangeLog
+5
-1
autogen/aclocal.m4
autogen/aclocal.m4
+2
-2
autogen/config.guess
autogen/config.guess
+87
-55
autogen/config.in
autogen/config.in
+0
-3
autogen/config.sub
autogen/config.sub
+9
-21
autogen/configure
autogen/configure
+577
-628
autogen/update_autogen
autogen/update_autogen
+4
-1
doc/emacs/ChangeLog
doc/emacs/ChangeLog
+4
-0
doc/emacs/display.texi
doc/emacs/display.texi
+9
-7
doc/lispref/ChangeLog
doc/lispref/ChangeLog
+15
-0
doc/lispref/buffers.texi
doc/lispref/buffers.texi
+84
-75
doc/lispref/minibuf.texi
doc/lispref/minibuf.texi
+13
-21
doc/lispref/positions.texi
doc/lispref/positions.texi
+51
-48
etc/ChangeLog
etc/ChangeLog
+4
-0
etc/NEWS
etc/NEWS
+6
-0
etc/NEWS.23
etc/NEWS.23
+7
-0
lisp/ChangeLog
lisp/ChangeLog
+116
-2
lisp/bs.el
lisp/bs.el
+2
-2
lisp/cus-face.el
lisp/cus-face.el
+1
-1
lisp/doc-view.el
lisp/doc-view.el
+76
-0
lisp/emacs-lisp/cconv.el
lisp/emacs-lisp/cconv.el
+3
-1
lisp/emacs-lisp/package.el
lisp/emacs-lisp/package.el
+164
-296
lisp/emacs-lisp/tabulated-list.el
lisp/emacs-lisp/tabulated-list.el
+355
-0
lisp/files.el
lisp/files.el
+45
-10
lisp/follow.el
lisp/follow.el
+1
-1
lisp/gnus/ChangeLog
lisp/gnus/ChangeLog
+46
-3
lisp/gnus/gnus-registry.el
lisp/gnus/gnus-registry.el
+112
-84
lisp/gnus/gnus-start.el
lisp/gnus/gnus-start.el
+4
-2
lisp/gnus/registry.el
lisp/gnus/registry.el
+12
-8
lisp/help.el
lisp/help.el
+9
-0
lisp/ls-lisp.el
lisp/ls-lisp.el
+1
-9
lisp/man.el
lisp/man.el
+1
-2
lisp/net/browse-url.el
lisp/net/browse-url.el
+1
-2
lisp/net/rlogin.el
lisp/net/rlogin.el
+28
-42
lisp/play/morse.el
lisp/play/morse.el
+1
-1
lisp/replace.el
lisp/replace.el
+14
-11
lisp/saveplace.el
lisp/saveplace.el
+1
-1
lisp/simple.el
lisp/simple.el
+89
-1
lisp/vc/log-edit.el
lisp/vc/log-edit.el
+15
-2
lisp/vc/vc-annotate.el
lisp/vc/vc-annotate.el
+1
-1
src/ChangeLog
src/ChangeLog
+80
-5
src/ccl.c
src/ccl.c
+1
-1
src/coding.c
src/coding.c
+48
-47
src/coding.h
src/coding.h
+1
-1
src/editfns.c
src/editfns.c
+1
-1
src/fileio.c
src/fileio.c
+1
-1
src/ftfont.c
src/ftfont.c
+2
-2
src/keyboard.c
src/keyboard.c
+74
-149
src/lisp.h
src/lisp.h
+4
-4
src/print.c
src/print.c
+0
-23
src/process.c
src/process.c
+3
-242
src/search.c
src/search.c
+14
-14
src/term.c
src/term.c
+1
-2
src/window.c
src/window.c
+0
-3
src/xdisp.c
src/xdisp.c
+12
-10
src/xmenu.c
src/xmenu.c
+17
-17
src/xml.c
src/xml.c
+1
-1
src/xselect.c
src/xselect.c
+39
-37
src/xterm.c
src/xterm.c
+3
-4
No files found.
ChangeLog
View file @
762f8d96
2011-04-0
8
Paul Eggert <eggert@cs.ucla.edu>
2011-04-0
9
Paul Eggert <eggert@cs.ucla.edu>
* lib/allocator.c: New file, automatically generated by gnulib.
2011-04-07 Glenn Morris <rgm@gnu.org>
* autogen/update_autogen: Ignore comment diffs in ldefs-boot.el.
2011-04-06 Eli Zaretskii <eliz@gnu.org>
* lib/makefile.w32-in ($(BLD)/careadlinkat.$(O), GNULIBOBJS):
...
...
autogen/aclocal.m4
View file @
762f8d96
...
...
@@ -13,8 +13,8 @@
m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.6
8
],,
[m4_warning([this file was generated for autoconf 2.6
8
.
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.6
5
],,
[m4_warning([this file was generated for autoconf 2.6
5
.
You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.])])
...
...
autogen/config.guess
View file @
762f8d96
...
...
@@ -4,7 +4,7 @@
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
# Free Software Foundation, Inc.
timestamp
=
'2009-
11-2
0'
timestamp
=
'2009-
06-1
0'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
...
...
@@ -27,16 +27,16 @@ timestamp='2009-11-20'
# the same distribution terms that you use for the rest of that program.
# Originally written by Per Bothner
. Please send patches (context
#
diff format)
to <config-patches@gnu.org>
and include a ChangeLog
# entry.
# Originally written by Per Bothner
<per@bothner.com>.
#
Please send patches
to <config-patches@gnu.org>
. Submit a context
#
diff and a properly formatted ChangeLog
entry.
#
# This script attempts to guess a canonical system name similar to
# config.sub. If it succeeds, it prints the system name on stdout, and
# exits with 0. Otherwise, it exits with 1.
#
#
You can get the latest version of this script from:
#
http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
#
The plan is that this can be called by configure scripts if you
#
don't specify an explicit build system type.
me
=
`
echo
"
$0
"
|
sed
-e
's,.*/,,'
`
...
...
@@ -333,9 +333,6 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
sun4
*
:SunOS:5.
*
:
*
|
tadpole
*
:SunOS:5.
*
:
*
)
echo
sparc-sun-solaris2
`
echo
${
UNAME_RELEASE
}
|sed
-e
's/[^.]*//'
`
exit
;;
i86pc:AuroraUX:5.
*
:
*
|
i86xen:AuroraUX:5.
*
:
*
)
echo
i386-pc-auroraux
${
UNAME_RELEASE
}
exit
;;
i86pc:SunOS:5.
*
:
*
|
i86xen:SunOS:5.
*
:
*
)
eval
$set_cc_for_build
SUN_ARCH
=
"i386"
...
...
@@ -810,12 +807,12 @@ EOF
i
*
:PW
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-pw32
exit
;;
*
:Interix
*
:
*
)
*
:Interix
*
:
[3456]
*
)
case
${
UNAME_MACHINE
}
in
x86
)
echo
i586-pc-interix
${
UNAME_RELEASE
}
exit
;;
authenticamd
|
genuineintel
|
EM64T
)
EM64T
|
authenticamd
|
genuineintel
)
echo
x86_64-unknown-interix
${
UNAME_RELEASE
}
exit
;;
IA64
)
...
...
@@ -857,20 +854,6 @@ EOF
i
*
86:Minix:
*
:
*
)
echo
${
UNAME_MACHINE
}
-pc-minix
exit
;;
alpha:Linux:
*
:
*
)
case
`
sed
-n
'/^cpu model/s/^.*: \(.*\)/\1/p'
< /proc/cpuinfo
`
in
EV5
)
UNAME_MACHINE
=
alphaev5
;;
EV56
)
UNAME_MACHINE
=
alphaev56
;;
PCA56
)
UNAME_MACHINE
=
alphapca56
;;
PCA57
)
UNAME_MACHINE
=
alphapca56
;;
EV6
)
UNAME_MACHINE
=
alphaev6
;;
EV67
)
UNAME_MACHINE
=
alphaev67
;;
EV68
*
)
UNAME_MACHINE
=
alphaev68
;;
esac
objdump
--private-headers
/bin/sh |
grep
-q
ld.so.1
if
test
"
$?
"
=
0
;
then
LIBC
=
"libc1"
;
else
LIBC
=
""
;
fi
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
${
LIBC
}
exit
;;
arm
*
:Linux:
*
:
*
)
eval
$set_cc_for_build
if
echo
__ARM_EABI__ |
$CC_FOR_BUILD
-E
- 2>/dev/null
\
...
...
@@ -893,17 +876,6 @@ EOF
frv:Linux:
*
:
*
)
echo
frv-unknown-linux-gnu
exit
;;
i
*
86:Linux:
*
:
*
)
LIBC
=
gnu
eval
$set_cc_for_build
sed
's/^ //'
<<
EOF
>
$dummy
.c
#ifdef __dietlibc__
LIBC=dietlibc
#endif
EOF
eval
`
$CC_FOR_BUILD
-E
$dummy
.c 2>/dev/null |
grep
'^LIBC'
`
echo
"
${
UNAME_MACHINE
}
-pc-linux-
${
LIBC
}
"
exit
;;
ia64:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
exit
;;
...
...
@@ -929,18 +901,39 @@ EOF
#endif
#endif
EOF
eval
`
$CC_FOR_BUILD
-E
$dummy
.c 2>/dev/null |
grep
'^CPU'
`
eval
"
`
$CC_FOR_BUILD
-E
$dummy
.c 2>/dev/null |
sed
-n
'
/^CPU/{
s: ::g
p
}'
`
"
test
x
"
${
CPU
}
"
!=
x
&&
{
echo
"
${
CPU
}
-unknown-linux-gnu"
;
exit
;
}
;;
or32:Linux:
*
:
*
)
echo
or32-unknown-linux-gnu
exit
;;
ppc:Linux:
*
:
*
)
echo
powerpc-unknown-linux-gnu
exit
;;
ppc64:Linux:
*
:
*
)
echo
powerpc64-unknown-linux-gnu
exit
;;
alpha:Linux:
*
:
*
)
case
`
sed
-n
'/^cpu model/s/^.*: \(.*\)/\1/p'
< /proc/cpuinfo
`
in
EV5
)
UNAME_MACHINE
=
alphaev5
;;
EV56
)
UNAME_MACHINE
=
alphaev56
;;
PCA56
)
UNAME_MACHINE
=
alphapca56
;;
PCA57
)
UNAME_MACHINE
=
alphapca56
;;
EV6
)
UNAME_MACHINE
=
alphaev6
;;
EV67
)
UNAME_MACHINE
=
alphaev67
;;
EV68
*
)
UNAME_MACHINE
=
alphaev68
;;
esac
objdump
--private-headers
/bin/sh |
grep
-q
ld.so.1
if
test
"
$?
"
=
0
;
then
LIBC
=
"libc1"
;
else
LIBC
=
""
;
fi
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
${
LIBC
}
exit
;;
padre:Linux:
*
:
*
)
echo
sparc-unknown-linux-gnu
exit
;;
parisc64:Linux:
*
:
*
|
hppa64:Linux:
*
:
*
)
echo
hppa64-unknown-linux-gnu
exit
;;
parisc:Linux:
*
:
*
|
hppa:Linux:
*
:
*
)
# Look for CPU level
case
`
grep
'^cpu[^a-z]*:'
/proc/cpuinfo 2>/dev/null |
cut
-d
' '
-f2
`
in
...
...
@@ -949,11 +942,8 @@ EOF
*
)
echo
hppa-unknown-linux-gnu
;;
esac
exit
;;
ppc64:Linux:
*
:
*
)
echo
powerpc64-unknown-linux-gnu
exit
;;
ppc:Linux:
*
:
*
)
echo
powerpc-unknown-linux-gnu
parisc64:Linux:
*
:
*
|
hppa64:Linux:
*
:
*
)
echo
hppa64-unknown-linux-gnu
exit
;;
s390:Linux:
*
:
*
|
s390x:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-ibm-linux
...
...
@@ -976,6 +966,58 @@ EOF
xtensa
*
:Linux:
*
:
*
)
echo
${
UNAME_MACHINE
}
-unknown-linux-gnu
exit
;;
i
*
86:Linux:
*
:
*
)
# The BFD linker knows what the default object file format is, so
# first see if it will tell us. cd to the root directory to prevent
# problems with other programs or directories called `ld' in the path.
# Set LC_ALL=C to ensure ld outputs messages in English.
ld_supported_targets
=
`
cd
/
;
LC_ALL
=
C ld
--help
2>&1
\
|
sed
-ne
'/supported targets:/!d
s/[ ][ ]*/ /g
s/.*supported targets: *//
s/ .*//
p'
`
case
"
$ld_supported_targets
"
in
elf32-i386
)
TENTATIVE
=
"
${
UNAME_MACHINE
}
-pc-linux-gnu"
;;
esac
# Determine whether the default compiler is a.out or elf
eval
$set_cc_for_build
sed
's/^ //'
<<
EOF
>
$dummy
.c
#include <features.h>
#ifdef __ELF__
# ifdef __GLIBC__
# if __GLIBC__ >= 2
LIBC=gnu
# else
LIBC=gnulibc1
# endif
# else
LIBC=gnulibc1
# endif
#else
#if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC)
LIBC=gnu
#else
LIBC=gnuaout
#endif
#endif
#ifdef __dietlibc__
LIBC=dietlibc
#endif
EOF
eval
"
`
$CC_FOR_BUILD
-E
$dummy
.c 2>/dev/null |
sed
-n
'
/^LIBC/{
s: ::g
p
}'
`
"
test
x
"
${
LIBC
}
"
!=
x
&&
{
echo
"
${
UNAME_MACHINE
}
-pc-linux-
${
LIBC
}
"
exit
}
test
x
"
${
TENTATIVE
}
"
!=
x
&&
{
echo
"
${
TENTATIVE
}
"
;
exit
;
}
;;
i
*
86:DYNIX/ptx:4
*
:
*
)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
# earlier versions are messed up and put the nodename in both
...
...
@@ -1205,16 +1247,6 @@ EOF
*
:Darwin:
*
:
*
)
UNAME_PROCESSOR
=
`
uname
-p
`
||
UNAME_PROCESSOR
=
unknown
case
$UNAME_PROCESSOR
in
i386
)
eval
$set_cc_for_build
if
[
"
$CC_FOR_BUILD
"
!=
'no_compiler_found'
]
;
then
if
(
echo
'#ifdef __LP64__'
;
echo
IS_64BIT_ARCH
;
echo
'#endif'
)
|
\
(
CCOPTS
=
$CC_FOR_BUILD
-E
- 2>/dev/null
)
|
\
grep
IS_64BIT_ARCH
>
/dev/null
then
UNAME_PROCESSOR
=
"x86_64"
fi
fi
;;
unknown
)
UNAME_PROCESSOR
=
powerpc
;;
esac
echo
${
UNAME_PROCESSOR
}
-apple-darwin
${
UNAME_RELEASE
}
...
...
autogen/config.in
View file @
762f8d96
...
...
@@ -1209,9 +1209,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
# define __restrict__
#endif
/* Define to `unsigned int' if <sys/types.h> does not define. */
#undef size_t
/* type to use in place of socklen_t if not defined */
#undef socklen_t
...
...
autogen/config.sub
View file @
762f8d96
...
...
@@ -4,7 +4,7 @@
# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009
# Free Software Foundation, Inc.
timestamp
=
'2009-
11-20
'
timestamp
=
'2009-
06-11
'
# This file is (in principle) common to ALL GNU software.
# The presence of a machine in this file suggests that SOME GNU software
...
...
@@ -32,16 +32,13 @@ timestamp='2009-11-20'
# Please send patches to <config-patches@gnu.org>. Submit a context
# diff and a properly formatted
GNU
ChangeLog entry.
# diff and a properly formatted ChangeLog entry.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software.
...
...
@@ -152,7 +149,7 @@ case $os in
-convergent
*
|
-ncr
*
|
-news
|
-32
*
|
-3600
*
|
-3100
*
|
-hitachi
*
|
\
-c
[
123]
*
|
-convex
*
|
-sun
|
-crds
|
-omron
*
|
-dg
|
-ultra
|
-tti
*
|
\
-harris
|
-dolphin
|
-highlevel
|
-gould
|
-cbm
|
-ns
|
-masscomp
|
\
-apple
|
-axis
|
-knuth
|
-cray
|
-microblaze
)
-apple
|
-axis
|
-knuth
|
-cray
)
os
=
basic_machine
=
$1
;;
...
...
@@ -287,7 +284,6 @@ case $basic_machine in
|
pdp10
|
pdp11
|
pj
|
pjl
\
|
powerpc
|
powerpc64
|
powerpc64le
|
powerpcle
|
ppcbe
\
|
pyramid
\
|
rx
\
|
score
\
|
sh
|
sh[1234]
|
sh[24]a
|
sh[24]aeb
|
sh[23]e
|
sh[34]eb
|
sheb
|
shbe
|
shle
|
sh[1234]le
|
sh3ele
\
|
sh64
|
sh64le
\
...
...
@@ -295,14 +291,13 @@ case $basic_machine in
|
sparcv8
|
sparcv9
|
sparcv9b
|
sparcv9v
\
|
spu
|
strongarm
\
|
tahoe
|
thumb
|
tic4x
|
tic80
|
tron
\
|
ubicom32
\
|
v850
|
v850e
\
|
we32k
\
|
x86
|
xc16x
|
xscale
|
xscalee[bl]
|
xstormy16
|
xtensa
\
|
z8k
|
z80
)
basic_machine
=
$basic_machine
-unknown
;;
m6811
|
m68hc11
|
m6812
|
m68hc12
|
picochip
)
m6811
|
m68hc11
|
m6812
|
m68hc12
)
# Motorola 68HC11/12.
basic_machine
=
$basic_machine
-unknown
os
=
-none
...
...
@@ -345,7 +340,7 @@ case $basic_machine in
|
lm32-
*
\
|
m32c-
*
|
m32r-
*
|
m32rle-
*
\
|
m68000-
*
|
m680[012346]0-
*
|
m68360-
*
|
m683?2-
*
|
m68k-
*
\
|
m88110-
*
|
m88k-
*
|
maxq-
*
|
mcore-
*
|
metag-
*
|
microblaze-
*
\
|
m88110-
*
|
m88k-
*
|
maxq-
*
|
mcore-
*
|
metag-
*
\
|
mips-
*
|
mipsbe-
*
|
mipseb-
*
|
mipsel-
*
|
mipsle-
*
\
|
mips16-
*
\
|
mips64-
*
|
mips64el-
*
\
...
...
@@ -373,7 +368,7 @@ case $basic_machine in
|
pdp10-
*
|
pdp11-
*
|
pj-
*
|
pjl-
*
|
pn-
*
|
power-
*
\
|
powerpc-
*
|
powerpc64-
*
|
powerpc64le-
*
|
powerpcle-
*
|
ppcbe-
*
\
|
pyramid-
*
\
|
romp-
*
|
rs6000-
*
|
rx-
*
\
|
romp-
*
|
rs6000-
*
\
|
sh-
*
|
sh[1234]-
*
|
sh[24]a-
*
|
sh[24]aeb-
*
|
sh[23]e-
*
|
sh[34]eb-
*
|
sheb-
*
|
shbe-
*
\
|
shle-
*
|
sh[1234]le-
*
|
sh3ele-
*
|
sh64-
*
|
sh64le-
*
\
|
sparc-
*
|
sparc64-
*
|
sparc64b-
*
|
sparc64v-
*
|
sparc86x-
*
|
sparclet-
*
\
...
...
@@ -382,7 +377,6 @@ case $basic_machine in
|
tahoe-
*
|
thumb-
*
\
|
tic30-
*
|
tic4x-
*
|
tic54x-
*
|
tic55x-
*
|
tic6x-
*
|
tic80-
*
|
tile-
*
\
|
tron-
*
\
|
ubicom32-
*
\
|
v850-
*
|
v850e-
*
|
vax-
*
\
|
we32k-
*
\
|
x86-
*
|
x86_64-
*
|
xc16x-
*
|
xps100-
*
|
xscale-
*
|
xscalee[bl]-
*
\
...
...
@@ -732,9 +726,6 @@ case $basic_machine in
basic_machine
=
ns32k-utek
os
=
-sysv
;;
microblaze
)
basic_machine
=
microblaze-xilinx
;;
mingw32
)
basic_machine
=
i386-pc
os
=
-mingw32
...
...
@@ -1256,9 +1247,6 @@ case $os in
# First match some system type aliases
# that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception.
-auroraux
)
os
=
-auroraux
;;
-solaris1
|
-solaris1
.
*
)
os
=
`
echo
$os
|
sed
-e
's|solaris1|sunos4|'
`
;;
...
...
@@ -1280,8 +1268,8 @@ case $os in
# -sysv* is not here because it comes later, after sysvr4.
-gnu
*
|
-bsd
*
|
-mach
*
|
-minix
*
|
-genix
*
|
-ultrix
*
|
-irix
*
\
|
-
*
vms
*
|
-sco
*
|
-esix
*
|
-isc
*
|
-aix
*
|
-cnk
*
|
-sunos
|
-sunos
[
34]
*
\
|
-hpux
*
|
-unos
*
|
-osf
*
|
-luna
*
|
-dgux
*
|
-
auroraux
*
|
-solaris
*
\
|
-sym
*
|
-kopensolaris
*
\
|
-hpux
*
|
-unos
*
|
-osf
*
|
-luna
*
|
-dgux
*
|
-
solaris
*
|
-sym
*
\
|
-kopensolaris
*
\
|
-amigaos
*
|
-amigados
*
|
-msdos
*
|
-newsos
*
|
-unicos
*
|
-aof
*
\
|
-aos
*
|
-aros
*
\
|
-nindy
*
|
-vxsim
*
|
-vxworks
*
|
-ebmon
*
|
-hms
*
|
-mvs
*
\
...
...
@@ -1302,7 +1290,7 @@ case $os in
|
-os2
*
|
-vos
*
|
-palmos
*
|
-uclinux
*
|
-nucleus
*
\
|
-morphos
*
|
-superux
*
|
-rtmk
*
|
-rtmk-nova
*
|
-windiss
*
\
|
-powermax
*
|
-dnix
*
|
-nx6
|
-nx7
|
-sei
*
|
-dragonfly
*
\
|
-skyos
*
|
-haiku
*
|
-rdos
*
|
-toppers
*
|
-drops
*
|
-es
*
)
|
-skyos
*
|
-haiku
*
|
-rdos
*
|
-toppers
*
|
-drops
*
)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx
*
)
...
...
autogen/configure
View file @
762f8d96
This diff is collapsed.
Click to expand it.
autogen/update_autogen
View file @
762f8d96
...
...
@@ -268,7 +268,10 @@ echo "Running lisp/ make..."
make
-C
lisp
"
$@
"
autoloads
EMACS
=
../src/bootstrap-emacs
||
die
"make src error"
[
!
"
$lboot_flag
"
]
||
cp
$ldefs_in
$ldefs_out
||
die
"cp ldefs_boot error"
## Ignore comment differences.
[
!
"
$lboot_flag
"
]
||
\
diff
-q
-I
'^;'
$ldefs_in
$ldefs_out
||
\
cp
$ldefs_in
$ldefs_out
||
die
"cp ldefs_boot error"
cd
lisp
...
...
doc/emacs/ChangeLog
View file @
762f8d96
2011-03-26 Chong Yidong <cyd@stupidchicken.com>
* display.texi (Auto Scrolling): Fix scroll-up/scroll-down confusion.
2011-03-30 Eli Zaretskii <eliz@gnu.org>
* display.texi (Auto Scrolling): Document the limit of 100 lines
...
...
doc/emacs/display.texi
View file @
762f8d96
...
...
@@ -206,16 +206,18 @@ how aggressively it scrolls by setting the variables
@code{scroll-up-aggressively} and @code{scroll-down-aggressively}.
The value of @code{scroll-up-aggressively} should be either
@code{nil}, or a fraction @var{f} between 0 and 1. A fraction
specifies where on the screen to put point when scrolling upward: when
a window scrolls up because point is above the window start, the new
specifies where on the screen to put point when scrolling upward,
i.e.@: when point moves forward in the buffer, and therefore text
scrolls up in the window. When point goes off the window end, the new
start position is chosen to put point @var{f} parts of the window
height from the top. Thus, larger @var{f} means more aggressive
scrolling. The default value, @code{nil}, is equivalent to 0.5.
height from the bottom. Thus, larger @var{f} means more aggressive
scrolling: more new text is brought into view. The default value,
@code{nil}, is equivalent to 0.5.
Likewise, @code{scroll-down-aggressively} is used for scrolling
down
. The value specifies how far point should be placed from the
bot
to
m
of the window; thus, as with
@code{scroll-up-aggressively}, a
larger value is more aggressive.
down
, i.e.@: moving point back in the buffer. The value specifies how
far point should be placed from the
to
p
of the window; thus, as with
@code{scroll-up-aggressively}, a
larger value is more aggressive.
These two variables are ignored if either @code{scroll-step} or
@code{scroll-conservatively} are set to a non-zero value.
...
...
doc/lispref/ChangeLog
View file @
762f8d96
2011-03-21 Stefan Monnier <monnier@iro.umontreal.ca>
* minibuf.texi (Basic Completion): Be a bit more precise about the
valid kinds of completion tables.
(Programmed Completion): Remove obsolete text about lambda expressions
not being valid completion tables.
2011-03-19 Chong Yidong <cyd@stupidchicken.com>
* positions.texi (Excursions): Explain the "save-excursion
defeated by set-buffer" warning.
* buffers.texi (Current Buffer): Copyedits. Don't recommend using
save-excursion. Suggested by Uday S Reddy.
2011-04-01 Stefan Monnier <monnier@iro.umontreal.ca>
* variables.texi (Defining Variables): Mention the new meaning of `defvar'.
...
...
doc/lispref/buffers.texi
View file @
762f8d96
...
...
@@ -85,43 +85,63 @@ This function returns @code{t} if @var{object} is a buffer,
@cindex changing to another buffer
@cindex current buffer
There are, in general, many buffers in an Emacs session. At any time,
one of them is designated as the @dfn{current buffer}. This is the
buffer in which most editing takes place, because most of the primitives
for examining or changing text in a buffer operate implicitly on the
current buffer (@pxref{Text}). Normally the buffer that is displayed on
the screen in the selected window is the current buffer, but this is not
always so: a Lisp program can temporarily designate any buffer as
current in order to operate on its contents, without changing what is
displayed on the screen.
The way to designate a current buffer in a Lisp program is by calling
@code{set-buffer}. The specified buffer remains current until a new one
is designated.
When an editing command returns to the editor command loop, the
command loop designates the buffer displayed in the selected window as
current, to prevent confusion: the buffer that the cursor is in when
Emacs reads a command is the buffer that the command will apply to.
(@xref{Command Loop}.) Therefore, @code{set-buffer} is not the way to
switch visibly to a different buffer so that the user can edit it. For
that, you must use the functions described in @ref{Displaying Buffers}.
@strong{Warning:} Lisp functions that change to a different current buffer
should not depend on the command loop to set it back afterwards.
Editing commands written in Emacs Lisp can be called from other programs
as well as from the command loop; it is convenient for the caller if
the subroutine does not change which buffer is current (unless, of
course, that is the subroutine's purpose). Therefore, you should
normally use @code{set-buffer} within a @code{save-current-buffer} or
@code{save-excursion} (@pxref{Excursions}) form that will restore the
current buffer when your function is done. Here, as an example, is a
There are, in general, many buffers in an Emacs session. At any
time, one of them is designated the @dfn{current buffer}---the buffer
in which most editing takes place. Most of the primitives for
examining or changing text operate implicitly on the current buffer
(@pxref{Text}).
Normally, the buffer displayed in the selected window is the current
buffer, but this is not always so: a Lisp program can temporarily
designate any buffer as current in order to operate on its contents,
without changing what is displayed on the screen. The most basic
function for designating a current buffer is @code{set-buffer}.
@defun current-buffer
This function returns the current buffer.
@example
@group
(current-buffer)
@result{} #<buffer buffers.texi>
@end group
@end example
@end defun
@defun set-buffer buffer-or-name
This function makes @var{buffer-or-name} the current buffer.
@var{buffer-or-name} must be an existing buffer or the name of an
existing buffer. The return value is the buffer made current.
This function does not display the buffer in any window, so the user
cannot necessarily see the buffer. But Lisp programs will now operate
on it.
@end defun
When an editing command returns to the editor command loop, Emacs
automatically calls @code{set-buffer} on the buffer shown in the
selected window. This is to prevent confusion: it ensures that the
buffer that the cursor is in, when Emacs reads a command, is the
buffer to which that command applies (@pxref{Command Loop}). Thus,
you should not use @code{set-buffer} to switch visibly to a different
buffer; for that, use the functions described in @ref{Displaying
Buffers}.
When writing a Lisp function, do @emph{not} rely on this behavior of
the command loop to restore the current buffer after an operation.
Editing commands can also be called as Lisp functions by other
programs, not just from the command loop; it is convenient for the
caller if the subroutine does not change which buffer is current
(unless, of course, that is the subroutine's purpose).
To operate temporarily on another buffer, put the @code{set-buffer}
within a @code{save-current-buffer} form. Here, as an example, is a
simplified version of the command @code{append-to-buffer}:
@example
@group
(defun append-to-buffer (buffer start end)
"Append
to specified buffer
the text of the region."
"Append the text of the region
to BUFFER
."
(interactive "BAppend to buffer: \nr")
(let ((oldbuf (current-buffer)))
(save-current-buffer
...
...
@@ -131,27 +151,36 @@ simplified version of the command @code{append-to-buffer}:
@end example
@noindent
This function
bind
s
a local variable to record the current buffer, and
then
@code{save-current-buffer} arranges to make it current again.
Next, @code{set-buffer} makes the specified buffer current
. Finally,
Here, we
bind a local variable to record the current buffer, and
then
@code{save-current-buffer} arranges to make it current again
later
.
Next, @code{set-buffer} makes the specified buffer current
, and
@code{insert-buffer-substring} copies the string from the original
current buffer to the specified (and now current) buffer.
If the buffer appended to happens to be displayed in some window,
the next redisplay will show how its text has changed. Otherwise, you
will not see the change immediately on the screen. The buffer becomes
current temporarily during the execution of the command, but this does
not cause it to be displayed.
If you make local bindings (with @code{let} or function arguments) for
a variable that may also have buffer-local bindings, make sure that the
same buffer is current at the beginning and at the end of the local
binding's scope. Otherwise you might bind it in one buffer and unbind
it in another! There are two ways to do this. In simple cases, you may
see that nothing ever changes the current buffer within the scope of the
binding. Otherwise, use @code{save-current-buffer} or
@code{save-excursion} to make sure that the buffer current at the
beginning is current again whenever the variable is unbound.
buffer to the specified (and now current) buffer.
Alternatively, we can use the @code{with-current-buffer} macro:
@example
@group
(defun append-to-buffer (buffer start end)
"Append the text of the region to BUFFER."
(interactive "BAppend to buffer: \nr")
(let ((oldbuf (current-buffer)))
(with-current-buffer (get-buffer-create buffer)
(insert-buffer-substring oldbuf start end))))
@end group
@end example
In either case, if the buffer appended to happens to be displayed in
some window, the next redisplay will show how its text has changed.
If it is not displayed in any window, you will not see the change
immediately on the screen. The command causes the buffer to become
current temporarily, but does not cause it to be displayed.
If you make local bindings (with @code{let} or function arguments)
for a variable that may also have buffer-local bindings, make sure
that the same buffer is current at the beginning and at the end of the
local binding's scope. Otherwise you might bind it in one buffer and
unbind it in another!
Do not rely on using @code{set-buffer} to change the current buffer
back, because that won't do the job if a quit happens while the wrong
...
...
@@ -168,29 +197,9 @@ have been wrong to do this:
@end example
@noindent
Using @code{save-current-buffer}, as we did, handles quitting, errors,
and @code{throw}, as well as ordinary evaluation.
@defun current-buffer
This function returns the current buffer.
@example
@group
(current-buffer)
@result{} #<buffer buffers.texi>
@end group
@end example