Merge from trunk

This commit is contained in:
Stefan Monnier 2010-08-11 07:42:48 +02:00
commit c566235d98
294 changed files with 7645 additions and 4212 deletions

1
.gitignore vendored
View file

@ -1,6 +1,7 @@
autom4te.cache
makefile
*~
/README.W32
/bin/
/site-lisp/

View file

@ -1,3 +1,57 @@
2010-08-10 Dan Nicolaescu <dann@ics.uci.edu>
* configure.in (AC_PREREQ): Require autoconf 2.65.
2010-08-09 Dan Nicolaescu <dann@ics.uci.edu>
* configure.in (AC_PREREQ): Require autoconf 2.66 to stop version churn.
2010-08-09 Andreas Schwab <schwab@linux-m68k.org>
* configure.in: Add AC_C_BIGENDIAN.
2010-08-09 Dan Nicolaescu <dann@ics.uci.edu>
* configure.in (ORDINARY_LINK): Use on hpux* too.
2010-08-06 Jan Djärv <jan.h.d@swipnet.se>
* configure.in: Check for util.h.
Use -Wimplicit-function-declaration if compiler supports it.
2010-08-05 Eli Zaretskii <eliz@gnu.org>
* configure.in (UNEXEC_OBJ): Rename unexec.o => unexcoff.o.
2010-08-04 Andreas Schwab <schwab@linux-m68k.org>
* configure.in: Restore accidentally removed use of
GCC_TEST_OPTIONS/NON_GCC_TEST_OPTIONS.
2010-07-29 Chad Brown <yandros@mit.edu>
* configure.in: Check for dirent.h.
2010-07-29 Dan Nicolaescu <dann@ics.uci.edu>
* configure.in: Remove reference to usg5-4, unused.
2010-07-25 Andreas Schwab <schwab@linux-m68k.org>
* configure.in: Check for __executable_start.
2010-07-24 Ken Brown <kbrown@cornell.edu>
* configure.in (LINKER, LIB_GCC): Remove cygwin special cases (Bug#6715)
2010-07-24 Juanma Barranquero <lekktu@gmail.com>
* .bzrignore, .gitignore: Ignore README.W32 on the root directory.
2010-07-24 Ken Brown <kbrown@cornell.edu> (tiny change)
* configure.in (START_FILES) [cygwin]: Set to pre-crt0.o (Bug#6715).
2010-07-12 Andreas Schwab <schwab@linux-m68k.org>
* configure.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS)
@ -8373,7 +8427,7 @@
(EMACSROOT): New variable, giving the directory under which all of
Emacs's libraries should be installed. Changed rest of file to
use it.
(LIBDIR): Now denotes only architecture-dependent dir - relevant cha
(LIBDIR): Now denotes only architecture-dependent dir.
(DATADIR): New variable, denoting architecture-independent dir.
(LOCKDIR): New variable, for completeness.
(SUBDIR): No more etc, new lib-src.

View file

@ -65,9 +65,7 @@ SYSTEM_TYPE
EXPLICIT_SIGN_EXTEND
LOAD_AVE_CVT
LOAD_AVE_TYPE
NO_REMAP
VIRT_ADDR_VARIES
WORDS_BIG_ENDIAN
** Misc macros
USER_FULL_NAME If defined, overrides the default pw->pw_gecos for getting at the full user name. Only MSDOS overrides the default.
@ -101,7 +99,6 @@ CLASH_DETECTION
DATA_SEG_BITS
DATA_START
DBL_MIN_REPLACEMENT
DECLARE_GETPWUID_WITH_UID_T
DEFAULT_SOUND_DEVICE
DEVICE_SEP
DIRECTORY_SEP
@ -190,7 +187,6 @@ HAVE_TZSET
HAVE_UNISTD_H
HAVE_UTIMES
HAVE_UTIME_H
HAVE_VOLATILE
HAVE_WINDOW_SYSTEM
HAVE_WORKING_VFORK
HAVE_XRMSETDATABASE
@ -237,7 +233,6 @@ PTY_TTY_NAME_SPRINTF
PURESIZE
RUN_TIME_REMAP
SA_RESTART
SECTION_ALIGNMENT -- was only used by s/lynxos.h, maybe all code depending on it can be removed.
SEGMENT_MASK
SETPGRP_RELEASES_CTTY
SETUP_SLAVE_PTY
@ -252,14 +247,12 @@ SIGTRAP
SIGTYPE
SOLARIS2
STDC_HEADERS
SYMS_SYSTEM
SYSTEM_PURESIZE_EXTRA
SYSTEM_MALLOC
SYSV_SYSTEM_DIR
TAB3
TABDLY
TERM
THIS_IS_CONFIGURE
TIME_WITH_SYS_TIME
TIOCSIGSEND
TM_IN_SYS_TIME
@ -272,7 +265,6 @@ USG5
USG5_4
USG_SUBTTY_WORKS
VALBITS
WORDS_BIG_ENDIAN
WRETCODE
XINT
XOS_NEEDS_TIME_H

View file

@ -1,3 +1,18 @@
2010-08-09 Andreas Schwab <schwab@linux-m68k.org>
* CPP-DEFINES (WORDS_BIG_ENDIAN): Remove.
2010-08-05 Eli Zaretskii <eliz@gnu.org>
* MAINTAINERS: Rename src/unexec.c => src/unexcoff.c.
2010-07-24 Christoph Scholtes <cschol2112@gmail.com>
* admin.el: Write version number to nt/makefile.w32-in.
* nt/makedist.bat: Remove; replaced with `zipdist.bat'
in the nt/ directory.
* nt/README.W32: Relocate to nt/ directory.
2010-07-11 Andreas Schwab <schwab@linux-m68k.org>
* CPP-DEFINES (HAVE_INDEX, HAVE_RINDEX): Remove.
@ -432,7 +447,7 @@
* charsets/mapconv: Handle UNICODE2.
* charsets/Makefile (CJK): Include CP932-2BYTE.map
* charsets/Makefile (CJK): Include CP932-2BYTE.map.
(CP932-2BYTE.map): New target.
2008-02-01 Kenichi Handa <handa@m17n.org>
@ -752,7 +767,7 @@
2004-08-28 Jan Djärv <jan.h.d@swipnet.se>
* FOR-RELEASE (Indications): Remove entry about GTK and geometry,
* FOR-RELEASE (Indications): Remove entry about GTK and geometry
(now behaves as well as other ports).
2004-06-28 Jan Djärv <jan.h.d@swipnet.se>

View file

@ -191,7 +191,7 @@ src/tparam.c
src/undo.c
src/unexaix.c
src/unexalpha.c
src/unexec.c
src/unexcoff.c
src/unexelf.c
src/unexhp9k800.c
src/unexw32.c

View file

@ -95,6 +95,9 @@ Root must be the root of an Emacs source tree."
(set-version-in-file root "lib-src/makefile.w32-in" version
(rx (and "VERSION" (0+ space) "=" (0+ space)
(submatch (1+ (in "0-9."))))))
(set-version-in-file root "nt/makefile.w32-in" version
(rx (and "VERSION" (0+ space) "=" (0+ space)
(submatch (1+ (in "0-9."))))))
;; nt/emacs.rc also contains the version number, but in an awkward
;; format. It must contain four components, separated by commas, and
;; in two places those commas are followed by space, in two other

View file

@ -1,65 +0,0 @@
@echo off
rem Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
rem Free Software Foundation, Inc.
rem Cannot use brackets in andrewi's email below because
rem older Windows shells will treat that as redirection.
rem Author: Andrew Innes andrewi@gnu.org
rem This file is part of GNU Emacs.
rem GNU Emacs is free software: you can redistribute it and/or modify
rem it under the terms of the GNU General Public License as published by
rem the Free Software Foundation, either version 3 of the License, or
rem (at your option) any later version.
rem GNU Emacs is distributed in the hope that it will be useful,
rem but WITHOUT ANY WARRANTY; without even the implied warranty of
rem MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
rem GNU General Public License for more details.
rem You should have received a copy of the GNU General Public License
rem along with GNU Emacs. If not, see http://www.gnu.org/licenses/.
if (%3) == () goto usage
if not (%4) == () goto %4
:bin
echo Create full bin distribution
copy %3\README.W32 emacs-%1\README.W32
rem Info-ZIP zip seems to be broken on Windows.
rem It always writes to zip.zip and treats the zipfile argument as one
rem of the files to go in it.
rem zip -9 -r %2-bin-i386 emacs-%1/BUGS emacs-%1/COPYING emacs-%1/README emacs-%1/README.W32 emacs-%1/INSTALL emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp emacs-%1/leim -x emacs.mdp *.pdb *.opt *~ CVS
7z a -tZIP -mx=9 -xr!emacs.mdp -xr!*.pdb -xr!*.opt -xr!*~ -xr!CVS -xr!.arch-inventory %2-bin-i386.zip emacs-%1/BUGS emacs-%1/COPYING emacs-%1/README emacs-%1/README.W32 emacs-%1/INSTALL emacs-%1/bin emacs-%1/etc emacs-%1/info emacs-%1/lisp emacs-%1/leim emacs-%1/site-lisp
del emacs-%1\README.W32
if not (%4) == () goto end
:barebin
echo Create archive with just the basic binaries and generated files
echo (the user needs to unpack the full source distribution for
echo everything else)
copy %3\README.W32 emacs-%1\README.W32
rem Info-ZIP zip seems to be broken on Windows.
rem It always writes to zip.zip and treats the zipfile argument as one
rem of the files to go in it.
rem zip -9 -r %2-barebin-i386.zip emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc/DOC-X emacs-%1/COPYING
7z a -tZIP -mx=9 %2-barebin-i386.zip emacs-%1/README.W32 emacs-%1/bin emacs-%1/etc/DOC-X emacs-%1/COPYING
del emacs-%1\README.W32
if not (%4) == () goto end
goto end
:usage
echo Generate source and binary distributions of emacs.
echo Usage: %0 emacs-version dist-basename distfiles [bin,barebin]
echo (e.g., %0 19.34 emacs-19.34.5 d:\andrewi\distfiles)
:end
goto skipArchTag
arch-tag: 6e2ddd92-c1c9-4992-b6b5-207aaab72f68
:skipArchTag

278
configure vendored
View file

@ -4318,6 +4318,12 @@ then
CC="$NON_GNU_CC"
fi
if test x$GCC = xyes; then
test "x$GCC_TEST_OPTIONS" != x && CC="$CC $GCC_TEST_OPTIONS"
else
test "x$NON_GCC_TEST_OPTIONS" != x && CC="$CC $NON_GCC_TEST_OPTIONS"
fi
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@ -4871,6 +4877,38 @@ CFLAGS="$SAVE_CFLAGS"
unset has_option
unset SAVE_CFLAGS
### Use -Wimplicit-function-declaration if the compiler supports it
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether gcc understands -Wimplicit-function-declaration" >&5
$as_echo_n "checking whether gcc understands -Wimplicit-function-declaration... " >&6; }
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Wimplicit-function-declaration"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
has_option=yes
else
has_option=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test $has_option = yes; then
C_WARNINGS_SWITCH="-Wimplicit-function-declaration $C_WARNINGS_SWITCH"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $has_option" >&5
$as_echo "$has_option" >&6; }
CFLAGS="$SAVE_CFLAGS"
unset has_option
unset SAVE_CFLAGS
#### Some other nice autoconf tests.
@ -5503,7 +5541,7 @@ esac
UNEXEC_OBJ=unexelf.o
case "$opsys" in
# MSDOS uses unexec.o
# MSDOS uses unexcoff.o
# MSWindows uses unexw32.o
aix4-2)
UNEXEC_OBJ=unexaix.o
@ -5885,7 +5923,7 @@ START_FILES=
case $opsys in
cygwin )
LIB_MATH=
START_FILES='ecrt0.o'
START_FILES='pre-crt0.o'
;;
darwin )
## Adding -lm confuses the dynamic linker, so omit it.
@ -6149,7 +6187,7 @@ for ac_header in sys/select.h sys/timeb.h sys/time.h unistd.h utime.h \
linux/version.h sys/systeminfo.h termios.h limits.h string.h stdlib.h \
stdio_ext.h fcntl.h strings.h coff.h pty.h sys/mman.h \
sys/param.h sys/vlimit.h sys/resource.h locale.h sys/_mbstate_t.h \
sys/utsname.h pwd.h utmp.h
sys/utsname.h pwd.h utmp.h dirent.h util.h
do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@ -6988,7 +7026,229 @@ else
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
if test "${ac_cv_c_bigendian+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_cv_c_bigendian=unknown
# See if we're dealing with a universal compiler.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __APPLE_CC__
not a universal capable compiler
#endif
typedef int dummy;
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
# Check for potential -arch flags. It is not universal unless
# there are at least two -arch flags with different values.
ac_arch=
ac_prev=
for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
if test -n "$ac_prev"; then
case $ac_word in
i?86 | x86_64 | ppc | ppc64)
if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
ac_arch=$ac_word
else
ac_cv_c_bigendian=universal
break
fi
;;
esac
ac_prev=
elif test "x$ac_word" = "x-arch"; then
ac_prev=arch
fi
done
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test $ac_cv_c_bigendian = unknown; then
# See if sys/param.h defines the BYTE_ORDER macro.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
#include <sys/param.h>
int
main ()
{
#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
&& defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
&& LITTLE_ENDIAN)
bogus endian macros
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
# It does; now see whether it defined to BIG_ENDIAN or not.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <sys/types.h>
#include <sys/param.h>
int
main ()
{
#if BYTE_ORDER != BIG_ENDIAN
not big endian
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_c_bigendian=yes
else
ac_cv_c_bigendian=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
if test $ac_cv_c_bigendian = unknown; then
# See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <limits.h>
int
main ()
{
#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
bogus endian macros
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
# It does; now see whether it defined to _BIG_ENDIAN or not.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <limits.h>
int
main ()
{
#ifndef _BIG_ENDIAN
not big endian
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ac_cv_c_bigendian=yes
else
ac_cv_c_bigendian=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
if test $ac_cv_c_bigendian = unknown; then
# Compile a test program.
if test "$cross_compiling" = yes; then :
# Try to guess by grepping values from an object file.
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
short int ascii_mm[] =
{ 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
short int ascii_ii[] =
{ 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
int use_ascii (int i) {
return ascii_mm[i] + ascii_ii[i];
}
short int ebcdic_ii[] =
{ 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
short int ebcdic_mm[] =
{ 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
int use_ebcdic (int i) {
return ebcdic_mm[i] + ebcdic_ii[i];
}
extern int foo;
int
main ()
{
return use_ascii (foo) == use_ebcdic (foo);
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
ac_cv_c_bigendian=yes
fi
if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
if test "$ac_cv_c_bigendian" = unknown; then
ac_cv_c_bigendian=no
else
# finding both strings is unlikely to happen, but who knows?
ac_cv_c_bigendian=unknown
fi
fi
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
$ac_includes_default
int
main ()
{
/* Are we little or big endian? From Harbison&Steele. */
union
{
long int l;
char c[sizeof (long int)];
} u;
u.l = 1;
return u.c[sizeof (long int) - 1] == 1;
;
return 0;
}
_ACEOF
if ac_fn_c_try_run "$LINENO"; then :
ac_cv_c_bigendian=no
else
ac_cv_c_bigendian=yes
fi
rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
conftest.$ac_objext conftest.beam conftest.$ac_ext
fi
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
$as_echo "$ac_cv_c_bigendian" >&6; }
case $ac_cv_c_bigendian in #(
yes)
$as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
;; #(
no)
;; #(
universal)
$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
;; #(
*)
as_fn_error $? "unknown endianness
presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5
@ -11190,7 +11450,7 @@ __fpending mblen mbrlen mbsinit strsignal setitimer ualarm strchr strrchr \
sendto recvfrom getsockopt setsockopt getsockname getpeername \
gai_strerror mkstemp getline getdelim mremap memmove fsync sync \
memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign \
cfmakeraw cfsetspeed isnan copysign
cfmakeraw cfsetspeed isnan copysign __executable_start
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
@ -14149,9 +14409,7 @@ LINKER=
ORDINARY_LINK=
case "$opsys" in
## gnu: GNU needs its own crt0.
aix4-2|darwin|gnu|usg5-4|irix6-5|sol2*|unixware) ORDINARY_LINK=yes ;;
cygwin) LINKER="\$(CC)" ;;
aix4-2|cygwin|darwin|gnu|hpux*|irix6-5|sol2*|unixware) ORDINARY_LINK=yes ;;
## On post 1.3 releases of NetBSD, gcc -nostdlib also clears the
## library search parth, i.e. it won't search /usr/lib for libc and
@ -14178,7 +14436,7 @@ $as_echo "#define ORDINARY_LINK 1" >>confdefs.h
## The system files defining neither ORDINARY_LINK nor LINKER are:
## (bsd-common), freebsd, gnu-* not on macppc|ibms390x, hpux*.
## freebsd, gnu-* not on macppc|ibms390x.
elif test "x$GCC" = "xyes" && test "x$LINKER" = "x"; then
## Versions of GCC >= 2.0 put their library, libgcc.a, in obscure
@ -14206,8 +14464,7 @@ LIB_GCC=
if test "x$GCC" = "xyes" && test "x$ORDINARY_LINK" != "xyes"; then
case "$opsys" in
## cygwin: don't link against static libgcc.
cygwin|freebsd|netbsd|openbsd) LIB_GCC= ;;
freebsd|netbsd|openbsd) LIB_GCC= ;;
gnu-*)
## armin76@gentoo.org reported that the lgcc_s flag is necessary to
@ -14444,6 +14701,7 @@ LTLIBOBJS=$ac_ltlibobjs
: ${CONFIG_STATUS=./config.status}
ac_write_fail=0
ac_clean_files_save=$ac_clean_files

View file

@ -722,6 +722,12 @@ then
CC="$NON_GNU_CC"
fi
if test x$GCC = xyes; then
test "x$GCC_TEST_OPTIONS" != x && CC="$CC $GCC_TEST_OPTIONS"
else
test "x$NON_GCC_TEST_OPTIONS" != x && CC="$CC $NON_GCC_TEST_OPTIONS"
fi
dnl checks for Unix variants
AC_USE_SYSTEM_EXTENSIONS
@ -764,6 +770,20 @@ AC_MSG_RESULT($has_option)
CFLAGS="$SAVE_CFLAGS"
unset has_option
unset SAVE_CFLAGS
### Use -Wimplicit-function-declaration if the compiler supports it
AC_MSG_CHECKING([whether gcc understands -Wimplicit-function-declaration])
SAVE_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Wimplicit-function-declaration"
AC_TRY_COMPILE([], [], has_option=yes, has_option=no,)
if test $has_option = yes; then
C_WARNINGS_SWITCH="-Wimplicit-function-declaration $C_WARNINGS_SWITCH"
fi
AC_MSG_RESULT($has_option)
CFLAGS="$SAVE_CFLAGS"
unset has_option
unset SAVE_CFLAGS
AC_SUBST(C_WARNINGS_SWITCH)
@ -877,7 +897,7 @@ AC_SUBST(CANNOT_DUMP)
UNEXEC_OBJ=unexelf.o
case "$opsys" in
# MSDOS uses unexec.o
# MSDOS uses unexcoff.o
# MSWindows uses unexw32.o
aix4-2)
UNEXEC_OBJ=unexaix.o
@ -1060,7 +1080,7 @@ START_FILES=
case $opsys in
cygwin )
LIB_MATH=
START_FILES='ecrt0.o'
START_FILES='pre-crt0.o'
;;
darwin )
## Adding -lm confuses the dynamic linker, so omit it.
@ -1204,7 +1224,7 @@ AC_CHECK_HEADERS(sys/select.h sys/timeb.h sys/time.h unistd.h utime.h \
linux/version.h sys/systeminfo.h termios.h limits.h string.h stdlib.h \
stdio_ext.h fcntl.h strings.h coff.h pty.h sys/mman.h \
sys/param.h sys/vlimit.h sys/resource.h locale.h sys/_mbstate_t.h \
sys/utsname.h pwd.h utmp.h)
sys/utsname.h pwd.h utmp.h dirent.h util.h)
AC_MSG_CHECKING(if personality LINUX32 can be set)
AC_TRY_COMPILE([#include <sys/personality.h>], [personality (PER_LINUX32)],
@ -1339,11 +1359,8 @@ AH_TEMPLATE(POINTER_TYPE,
[Define as `void' if your compiler accepts `void *'; otherwise
define as `char'.])dnl
dnl This could be used for targets which can have both byte sexes.
dnl We could presumably replace the hardwired WORDS_BIG_ENDIAN generally.
dnl AC_C_BIGENDIAN
dnl Check for endianess
AC_C_BIGENDIAN
dnl check for Make feature
AC_PROG_MAKE_SET
@ -2611,7 +2628,7 @@ __fpending mblen mbrlen mbsinit strsignal setitimer ualarm strchr strrchr \
sendto recvfrom getsockopt setsockopt getsockname getpeername \
gai_strerror mkstemp getline getdelim mremap memmove fsync sync \
memset memcmp difftime memcpy mempcpy mblen mbrlen posix_memalign \
cfmakeraw cfsetspeed isnan copysign)
cfmakeraw cfsetspeed isnan copysign __executable_start)
AC_CHECK_HEADERS(sys/un.h)
@ -3326,9 +3343,7 @@ LINKER=
ORDINARY_LINK=
case "$opsys" in
## gnu: GNU needs its own crt0.
aix4-2|darwin|gnu|usg5-4|irix6-5|sol2*|unixware) ORDINARY_LINK=yes ;;
cygwin) LINKER="\$(CC)" ;;
aix4-2|cygwin|darwin|gnu|hpux*|irix6-5|sol2*|unixware) ORDINARY_LINK=yes ;;
## On post 1.3 releases of NetBSD, gcc -nostdlib also clears the
## library search parth, i.e. it won't search /usr/lib for libc and
@ -3353,7 +3368,7 @@ if test "x$ORDINARY_LINK" = "xyes"; then
AC_DEFINE(ORDINARY_LINK, 1, [Define if the C compiler is the linker.])
## The system files defining neither ORDINARY_LINK nor LINKER are:
## (bsd-common), freebsd, gnu-* not on macppc|ibms390x, hpux*.
## freebsd, gnu-* not on macppc|ibms390x.
elif test "x$GCC" = "xyes" && test "x$LINKER" = "x"; then
## Versions of GCC >= 2.0 put their library, libgcc.a, in obscure
@ -3381,8 +3396,7 @@ LIB_GCC=
if test "x$GCC" = "xyes" && test "x$ORDINARY_LINK" != "xyes"; then
case "$opsys" in
## cygwin: don't link against static libgcc.
cygwin|freebsd|netbsd|openbsd) LIB_GCC= ;;
freebsd|netbsd|openbsd) LIB_GCC= ;;
gnu-*)
## armin76@gentoo.org reported that the lgcc_s flag is necessary to

View file

@ -1,3 +1,12 @@
2010-07-31 Eli Zaretskii <eliz@gnu.org>
* files.texi (Visiting): Add more index entries for
large-file-warning-threshold.
2010-07-29 Jan Djärv <jan.h.d@swipnet.se>
* frames.texi (Tool Bars): Add doc for tool-bar-position.
2010-06-23 Glenn Morris <rgm@gnu.org>
* abbrevs.texi, basic.texi, buffers.texi, building.texi, calendar.texi:
@ -606,7 +615,7 @@
2009-06-23 Miles Bader <miles@gnu.org>
* display.texi (Scrolling): Document `recenter-redisplay'
* display.texi (Scrolling): Document `recenter-redisplay'.
(Temporary Face Changes): Document `text-scale-set'.
2009-06-21 Chong Yidong <cyd@stupidchicken.com>
@ -5704,7 +5713,7 @@
2005-03-05 Juri Linkov <juri@jurta.org>
* cmdargs.texi (Emacs Invocation): Add cindex
"invocation (command line arguments)"
"invocation (command line arguments)".
(Misc X): Add -nbc, --no-blinking-cursor.
2005-03-04 Ulf Jasper <ulf.jasper@web.de>

View file

@ -202,6 +202,8 @@ since you visited or saved it last. If the file has changed, Emacs offers
to reread it.
@vindex large-file-warning-threshold
@cindex file, warning when size is large
@cindex size of file, warning when visiting
@cindex maximum buffer size exceeded, error message
If you try to visit a file larger than
@code{large-file-warning-threshold} (the default is 10000000, which is

View file

@ -1270,6 +1270,12 @@ Customize @code{tool-bar-style} to select style. The default style is
the same as for the desktop in the Gnome case. If no default is found,
the tool bar uses just images.
@cindex Tool Bar position
You can also control the placement of the tool bar for the GTK+ tool bar
with the frame parameter @code{tool-bar-position}.
For a detailed description of frame parameters and customization,
see @ref{Frame Parameters,,, elisp, The Emacs Lisp Reference Manual}.
@node Dialog Boxes
@section Using Dialog Boxes
@cindex dialog boxes

View file

@ -212,7 +212,7 @@
(Simple Extension): Replace longer expression with
`emacs-major-version'. Remove comment about `number-to-string'
function.
(Miscellaneous): Add filename option, `-H', to `grep' example
(Miscellaneous): Add filename option, `-H', to `grep' example.
(debug, debug-on-entry): Replace `GNU Emacs 22' with `a recent
GNU Emacs'.
(edebug): More properly state where to place point for 'M-x
@ -234,7 +234,7 @@
(sentence-end): Specify `in English' for glyphs that end a sentence.
Note that in GNU Emacs 22, the name refers to both a variable and a
function.
(fwd-sentence while loops): Write a function as one, not as a form
(fwd-sentence while loops): Write a function as one, not as a form.
(fwd-para let): Add `which' to sentence with `parstart' and `parsep'.
(etags): Move sentences involving `find-tag' and sources. State
location of Emacs `src' directory.
@ -356,7 +356,7 @@
2003-11-16 Kevin Ryde <user42@zip.com.au>
* emacs-lisp-intro.texi: [CVS commitment by <bob@rattlesnake.com>]
Corrections to cross references,
Corrections to cross references.
(Interactive Options): elisp "interactive" -> "Using Interactive".
(defvar and asterisk): Remove emacs "Edit Options" reference,
edit-options is no longer described in the emacs manual.

View file

@ -1,3 +1,33 @@
2010-08-08 Christoph <cschol2112@googlemail.com>
* control.texi (Handling Errors) <error-message-string>: Fix arg name.
2010-08-08 Juanma Barranquero <lekktu@gmail.com>
* modes.texi (Defining Minor Modes): Use C-backspace, not C-delete.
Suggested by Štěpán Němec <stepnem@gmail.com>.
2010-08-08 Juanma Barranquero <lekktu@gmail.com>
* minibuf.texi (High-Level Completion): Document args of
`read-buffer-function' (bug#5625).
2010-07-29 Jan Djärv <jan.h.d@swipnet.se>
* frames.texi (Layout Parameters): Add doc for tool-bar-position.
2010-07-29 Michael Albinus <michael.albinus@gmx.de>
* processes.texi (Process Information): Explain process property
`remote-tty'.
2010-07-27 Juanma Barranquero <lekktu@gmail.com>
* modes.texi (Defining Minor Modes): Use C-delete in examples,
instead of "\C-\^?" (bug#6334).
* text.texi (Special Properties): Fix typo.
2010-07-09 Eli Zaretskii <eliz@gnu.org>
* internals.texi (Writing Emacs Primitives): Adapt to ANSI C
@ -6015,7 +6045,7 @@
2005-02-05 Eli Zaretskii <eliz@gnu.org>
* frames.texi (Color Names): Add pointer to the X docs about RGB
color specifications. Improve indexing
color specifications. Improve indexing.
(Text Terminal Colors): Replace the description of RGB values by
an xref to "Color Names".
@ -7778,7 +7808,7 @@
* minibuf.texi (Reading File Names): read-file-name has new
arg PREDICATE. New function read-directory-name.
* macros.texi (Defining Macros): Give definition of `declare'
* macros.texi (Defining Macros): Give definition of `declare'.
(Indenting Macros): New node.
* frames.texi (Parameter Access): Add modify-all-frames-parameters.
@ -7882,7 +7912,7 @@
* numbers.texi (Integer Basics): Add most-positive-fixnum,
most-negative-fixnum.
* compile.texi (Byte Compilation): Explain no-byte-compile
* compile.texi (Byte Compilation): Explain no-byte-compile.
(Compiler Errors): New node.
* os.texi (User Identification): user-uid, user-real-uid

View file

@ -1039,7 +1039,7 @@ to @code{condition-case} whose error condition you want to re-throw.
@xref{Definition of signal}.
@end defspec
@defun error-message-string error-description
@defun error-message-string error-descriptor
This function returns the error message string for a given error
descriptor. It is useful if you want to handle an error by printing the
usual error message for that error. @xref{Definition of signal}.

View file

@ -677,6 +677,11 @@ The number of lines to use for the tool bar. A value of @code{nil}
means don't display a tool bar. (GTK and Nextstep allow at most one
tool bar line; they treat larger values as 1.)
@item tool-bar-position
The position of the tool bar. Currently only for the GTK tool bar.
Value can be one of @code{top}, @code{bottom} @code{left}, @code{right}.
The default is @code{top}.
@item line-spacing
Additional space to leave below each text line, in pixels (a positive
integer). @xref{Line Height}, for more information.

View file

@ -1222,10 +1222,11 @@ Buffer name (default foo): @point{}
@end defun
@defopt read-buffer-function
This variable specifies how to read buffer names. For example, if you
set this variable to @code{iswitchb-read-buffer}, all Emacs commands
that call @code{read-buffer} to read a buffer name will actually use the
@code{iswitchb} package to read it.
This variable specifies how to read buffer names. The function is
called with the arguments passed to @code{read-buffer}. For example,
if you set this variable to @code{iswitchb-read-buffer}, all Emacs
commands that call @code{read-buffer} to read a buffer name will
actually use the @code{iswitchb} package to read it.
@end defopt
@defopt read-buffer-completion-ignore-case

View file

@ -1494,7 +1494,7 @@ See the command \\[hungry-electric-delete]."
;; The indicator for the mode line.
" Hungry"
;; The minor mode bindings.
'(("\C-\^?" . hungry-electric-delete))
'(([C-backspace] . hungry-electric-delete))
:group 'hunger)
@end smallexample
@ -1526,8 +1526,8 @@ See the command \\[hungry-electric-delete]."
:lighter " Hungry"
;; The minor mode bindings.
:keymap
'(("\C-\^?" . hungry-electric-delete)
("\C-\M-\^?"
'(([C-backspace] . hungry-electric-delete)
([C-M-backspace]
. (lambda ()
(interactive)
(hungry-electric-delete t))))

View file

@ -868,7 +868,9 @@ terminated, the value is 0.
This function returns the terminal name that @var{process} is using for
its communication with Emacs---or @code{nil} if it is using pipes
instead of a terminal (see @code{process-connection-type} in
@ref{Asynchronous Processes}).
@ref{Asynchronous Processes}). If @var{process} represents a program
running on a remote host, the terminal name used by that program on
the remote host is provided as process property @code{remote-tty}.
@end defun
@defun process-coding-system process

View file

@ -3035,7 +3035,7 @@ The @code{font-lock-face} property is equivalent to the @code{face}
property when Font Lock mode is enabled. When Font Lock mode is disabled,
@code{font-lock-face} has no effect.
The @code{font-lock-mode} property is useful for special modes that
The @code{font-lock-face} property is useful for special modes that
implement their own highlighting. @xref{Precalculated Fontification}.
@item mouse-face

View file

@ -1,3 +1,40 @@
2010-08-09 Jay Belanger <jay.p.belanger@gmail.com>
* calc.texi (Customizing Calc): Rearrange description of new
variables to match the presentation of other variables.
2010-08-08 Juanma Barranquero <lekktu@gmail.com>
* org.texi (Footnotes, Tables in HTML export): Fix typos.
2010-08-08 Jay Belanger <jay.p.belanger@gmail.com>
* calc.texi (Making Selections, Selecting Subformulas)
(Customizing Calc): Mention how to use faces to emphasize selected
sub-formulas.
2010-08-05 Michael Albinus <michael.albinus@gmx.de>
* tramp.texi (External packages): File attributes cache flushing
for asynchronous processes.
2010-08-01 Alan Mackenzie <acm@muc.de>
Enhance the manual for the latest Java Mode.
* cc-mode.texi (Syntactic Symbols): New symbols annotation-top-cont and
annotation-var-cont.
(Java Symbols): Page renamed from Anonymous Class Symbol. Document the
two new symbols.
2010-07-28 Michael Albinus <michael.albinus@gmx.de>
* tramp.texi (Traces and Profiles): Describe verbose level 9.
2010-07-27 Chong Yidong <cyd@stupidchicken.com>
* nxml-mode.texi (Limitations): Remove obsolete discussion (Bug#6708).
2010-07-19 Juanma Barranquero <lekktu@gmail.com>
* org.texi: Fix typo in previous change (2010-07-19T09:47:27Z!carsten.dominik@gmail.com).
@ -4777,7 +4814,7 @@
* org.texi (FAQ): Document `org-table-tab-jumps-over-hlines'.
(Agenda): Document commands `org-cycle-agenda-files' and
`org-agenda-file-to-front'
`org-agenda-file-to-front'.
(Built-in table editor): Document `org-table-sort-lines'.
(HTML formatting): Export of hand-formatted lists.
@ -6366,7 +6403,7 @@
2000-12-14 Dave Love <fx@gnu.org>
* Makefile.in (mostlyclean): Remove gnustmp.*
* Makefile.in (mostlyclean): Remove gnustmp.*.
(gnus.dvi): Change rule to remove @latex stuff.
2000-10-19 Eric M. Ludlam <zappo@ultranet.com>

View file

@ -21513,7 +21513,11 @@ to
@noindent
Every character not part of the sub-formula @samp{b} has been changed
to a dot. The @samp{*} next to the line number is to remind you that
to a dot. (If the customizable variable
@code{calc-highlight-selections-with-faces} is non-nil, then the characters
not part of the sub-formula are de-emphasized by using a less
noticeable face instead of using dots. @pxref{Displaying Selections}.)
The @samp{*} next to the line number is to remind you that
the formula has a portion of it selected. (In this case, it's very
obvious, but it might not always be. If Embedded mode is enabled,
the word @samp{Sel} also appears in the mode line because the stack
@ -21726,6 +21730,9 @@ of the hierarchy simply by pointing to it with the cursor.
@noindent
@kindex j d
@pindex calc-show-selections
@vindex calc-highlight-selections-with-faces
@vindex calc-selected-face
@vindex calc-nonselected-face
The @kbd{j d} (@code{calc-show-selections}) command controls how
selected sub-formulas are displayed. One of the alternatives is
illustrated in the above examples; if we press @kbd{j d} we switch
@ -21740,6 +21747,13 @@ by @samp{#} signs:
. . . . 2 x + 1
@end group
@end smallexample
If the customizable variable
@code{calc-highlight-selections-with-faces} is non-nil, then the
non-selected portion of the formula will be de-emphasized by using a
less noticeable face (@code{calc-nonselected-face}) instead of dots
and the selected sub-formula will be highlighted by using a more
noticeable face (@code{calc-selected-face}) instead of @samp{#}
signs. (@pxref{Customizing Calc}.)
@node Operating on Selections, Rearranging with Selections, Displaying Selections, Selecting Subformulas
@subsection Operating on Selections
@ -34911,7 +34925,7 @@ character of the prefix can simply be typed twice.
Calc is controlled by many variables, most of which can be reset
from within Calc. Some variables are less involved with actual
calculation, and can be set outside of Calc using Emacs's
calculation and can be set outside of Calc using Emacs's
customization facilities. These variables are listed below.
Typing @kbd{M-x customize-variable RET @var{variable-name} RET}
will bring up a buffer in which the variable's value can be redefined.
@ -35197,6 +35211,23 @@ should also be added to @code{calc-embedded-announce-formula-alist}
and @code{calc-embedded-open-close-plain-alist}.
@end defvar
@defvar calc-highlight-selections-with-faces
@defvarx calc-selected-face
@defvarx calc-nonselected-face
See @ref{Displaying Selections}.@*
The variable @code{calc-highlight-selections-with-faces}
determines how selected sub-formulas are distinguished.
If @code{calc-highlight-selections-with-faces} is nil, then
a selected sub-formula is distinguished either by changing every
character not part of the sub-formula with a dot or by changing every
character in the sub-formula with a @samp{#} sign.
If @code{calc-highlight-selections-with-faces} is t,
then a selected sub-formula is distinguished either by displaying the
non-selected portion of the formula with @code{calc-nonselected-face}
or by displaying the selected sub-formula with
@code{calc-nonselected-face}.
@end defvar
@defvar calc-multiplication-has-precedence
The variable @code{calc-multiplication-has-precedence} determines
whether multiplication has precedence over division in algebraic

View file

@ -312,19 +312,19 @@ Indentation Engine Basics
Syntactic Symbols
* Function Symbols::
* Class Symbols::
* Conditional Construct Symbols::
* Switch Statement Symbols::
* Brace List Symbols::
* External Scope Symbols::
* Paren List Symbols::
* Literal Symbols::
* Multiline Macro Symbols::
* Objective-C Method Symbols::
* Anonymous Class Symbol::
* Statement Block Symbols::
* K&R Symbols::
* Function Symbols::
* Class Symbols::
* Conditional Construct Symbols::
* Switch Statement Symbols::
* Brace List Symbols::
* External Scope Symbols::
* Paren List Symbols::
* Literal Symbols::
* Multiline Macro Symbols::
* Objective-C Method Symbols::
* Java Symbols::
* Statement Block Symbols::
* K&R Symbols::
Customizing Indentation
@ -3971,6 +3971,9 @@ The first line in a ``topmost'' definition. @ref{Function Symbols}.
Topmost definition continuation lines. This is only used in the parts
that aren't covered by other symbols such as @code{func-decl-cont} and
@code{knr-argdecl}. @ref{Function Symbols}.
@item annotation-top-cont
Topmost definition continuation lines where all previous items are
annotations. @ref{Java Symbols}.
@item member-init-intro
First line in a member initialization list. @ref{Class Symbols}.
@item member-init-cont
@ -3999,6 +4002,9 @@ with an open brace. @ref{Brace List Symbols}.
A statement. @ref{Function Symbols}.
@item statement-cont
A continuation of a statement. @ref{Function Symbols}.
@item annotation-var-cont
A continuation of a statement where all previous items are
annotations. @ref{Java Symbols}.
@item statement-block-intro
The first line in a new statement block. @ref{Conditional Construct
Symbols}.
@ -4112,23 +4118,23 @@ Symbols}.
@item inexpr-class
A class definition inside an expression. This is used for anonymous
classes in Java. It's also used for anonymous array initializers in
Java. @ref{Anonymous Class Symbol}.
Java. @ref{Java Symbols}.
@end table
@menu
* Function Symbols::
* Class Symbols::
* Conditional Construct Symbols::
* Switch Statement Symbols::
* Brace List Symbols::
* External Scope Symbols::
* Paren List Symbols::
* Literal Symbols::
* Multiline Macro Symbols::
* Objective-C Method Symbols::
* Anonymous Class Symbol::
* Statement Block Symbols::
* K&R Symbols::
* Function Symbols::
* Class Symbols::
* Conditional Construct Symbols::
* Switch Statement Symbols::
* Brace List Symbols::
* External Scope Symbols::
* Paren List Symbols::
* Literal Symbols::
* Multiline Macro Symbols::
* Objective-C Method Symbols::
* Java Symbols::
* Statement Block Symbols::
* K&R Symbols::
@end menu
@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@ -4233,7 +4239,7 @@ Hitting @kbd{C-c C-s} on line 5 shows the following analysis:
@noindent
The primary syntactic symbol for this line is @code{access-label} as
this a label keyword that specifies access protection in C++. However,
this is a label keyword that specifies access protection in C++. However,
because this line is also a top-level construct inside a class
definition, the analysis actually shows two syntactic symbols. The
other syntactic symbol assigned to this line is @code{inclass}.
@ -4740,7 +4746,7 @@ macros.}.
@xref{Custom Macros}, for more info about the treatment of macros.
@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@node Objective-C Method Symbols, Anonymous Class Symbol, Multiline Macro Symbols, Syntactic Symbols
@node Objective-C Method Symbols, Java Symbols, Multiline Macro Symbols, Syntactic Symbols
@comment node-name, next, previous, up
@subsection Objective-C Method Symbols
@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@ -4767,34 +4773,45 @@ assigned @code{objc-method-args-cont} syntax. Lines 5 and 6 are both
assigned @code{objc-method-call-cont} syntax.
@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@node Anonymous Class Symbol, Statement Block Symbols, Objective-C Method Symbols, Syntactic Symbols
@node Java Symbols, Statement Block Symbols, Objective-C Method Symbols, Syntactic Symbols
@comment node-name, next, previous, up
@subsection Anonymous Class Symbol (Java)
@subsection Java Symbols
@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Java has a concept of anonymous classes which can look something like
this:
@example
1: public void watch(Observable o) @{
2: o.addObserver(new Observer() @{
3: public void update(Observable o, Object arg) @{
4: history.addElement(arg);
5: @}
6: @});
7: @}
1: @@Test
2: public void watch(Observable o) @{
3: @@NonNull
4: Observer obs = new Observer() @{
5: public void update(Observable o, Object arg) @{
6: history.addElement(arg);
7: @}
8: @};
9: o.addObserver(obs);
10: @}
@end example
@ssindex inexpr-class
The brace following the @code{new} operator opens the anonymous class.
Lines 3 and 6 are assigned the @code{inexpr-class} syntax, besides the
Lines 5 and 8 are assigned the @code{inexpr-class} syntax, besides the
@code{inclass} symbol used in normal classes. Thus, the class will be
indented just like a normal class, with the added indentation given to
@code{inexpr-class}. An @code{inexpr-class} syntactic element doesn't
have an anchor position.
@ssindex annotation-top-cont
@ssindex annotation-var-cont
Line 2 is assigned the @code{annotation-top-cont} syntax, due to it being a
continuation of a topmost introduction with an annotation symbol preceding
the current line. Similarly, line 4 is assigned the @code{annotation-var-cont}
syntax due to it being a continuation of a variable declaration where preceding
the declaration is an annotation.
@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
@node Statement Block Symbols, K&R Symbols, Anonymous Class Symbol, Syntactic Symbols
@node Statement Block Symbols, K&R Symbols, Java Symbols, Syntactic Symbols
@comment node-name, next, previous, up
@subsection Statement Block Symbols
@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

View file

@ -851,11 +851,6 @@ elements. Other usage of DTDs is ignored.
@item
The restrictions on RELAX NG schemas in section 7 of the RELAX NG
specification are not enforced.
@item
Unicode support has problems. This stems mostly from the fact that
the XML (and RELAX NG) character model is based squarely on Unicode,
whereas the Emacs character model is not. Emacs 22 is slated to have
full Unicode support, which should improve the situation here.
@end itemize
@bye

View file

@ -3471,7 +3471,7 @@ it has seen so far.
This is a performance degradation, because the lost file attributes
must be recomputed, when needed again. In cases the caller of
@code{process-file} knows that there are file attribute changes, it
@code{process-file} knows that there are no file attribute changes, it
shall let-bind the variable @code{process-file-side-effects} to
@code{nil}. @value{tramp} wouldn't flush the file attributes cache then.
@ -3479,6 +3479,25 @@ shall let-bind the variable @code{process-file-side-effects} to
(let (process-file-side-effects)
...)
@end lisp
For asynchronous processes, @value{tramp} flushes the file attributes
cache via a process sentinel. If the caller of
@code{start-file-process} knows that there are no file attribute
changes, it shall set the process sentinel to @code{nil}. In case the
caller defines an own process sentinel, @value{tramp}'s process
sentinel is overwritten. The caller can still flush the file
attributes cache in its process sentinel with this code:
@lisp
(unless (memq (process-status proc) '(run open))
(dired-uncache remote-directory))
@end lisp
@code{remote-directory} shall be the root directory, where file
attribute changes can happen during the process lifetime.
@value{tramp} traverses all subdirectories, starting at this
directory. Often, it is sufficient to use @code{default-directory} of
the process buffer as root directory.
@end ifset
@ -3501,6 +3520,7 @@ The verbosity levels are
@*@indent @w{ 6} sent and received strings
@*@indent @w{ 7} file caching
@*@indent @w{ 8} connection properties
@*@indent @w{ 9} test commands
@*@indent @w{10} traces (huge)
When @code{tramp-verbose} is greater than or equal to 4, the messages

View file

@ -1042,7 +1042,7 @@ and changed nndoc.el allout.el bytecomp.el gnus-sum.el gnus-util.el
François-David Collin: changed message.el mm-decode.el
Fred Fish: changed linux.h unexec.c
Fred Fish: changed linux.h unexcoff.c
Fred Oberhauser: changed nnmail.el
@ -1273,7 +1273,7 @@ Inge Wallin: co-wrote avl-tree.el ewoc.el
Inoue Seiichiro: changed xterm.c xfns.c xterm.h
International Business Machines: changed emacs.c fileio.c process.c
sysdep.c unexec.c
sysdep.c unexcoff.c
Irie Tetsuya: changed gnus.texi message.texi
@ -1334,7 +1334,7 @@ James TD Smith: changed org.el org-colview.el org-clock.el
James Troup: changed gnus-sum.el
James Van Artsdalen: changed unexec.c usg5-4.h
James Van Artsdalen: changed unexcoff.c usg5-4.h
James Wright: changed em-unix.el
@ -2176,7 +2176,7 @@ and changed tramp.texi dbusbind.c dbus.texi ange-ftp.el trampver.el
simple.el vc.el configure.in dired.el and 50 other files
Michael Ben-Gershon: changed acorn.h configure.in riscix1-1.h riscix1-2.h
unexec.c
unexcoff.c
Michael D. Ernst: wrote reposition.el
and changed dired-x.el uniquify.el ispell.el bibtex.el rmail.el dired.el
@ -2200,7 +2200,7 @@ Michael I. Bushnell: changed rmail.el simple.el callproc.c gnu.h gnus.el
Michael K. Johnson: changed configure.in emacs.c intel386.h linux.h
mem-limits.h process.c sysdep.c syssignal.h systty.h template.h
unexec.c
unexcoff.c
Michael Kifer: wrote ediff-diff.el ediff-help.el ediff-hook.el
ediff-init.el ediff-merg.el ediff-mult.el ediff-ptch.el ediff-util.el
@ -2259,7 +2259,7 @@ and changed gnus-score.el
Microelectronics and Computer Technology Corporation: changed
emacsclient.c etags.c lisp.h movemail.c rmail.el rmailedit.el
rmailkwd.el rmailmsc.el rmailout.el rmailsum.el scribe.el server.el
sysdep.c unexec.c xmenu.c
sysdep.c unexcoff.c xmenu.c
Mikael Djurfeldt: changed xdisp.c
@ -2685,7 +2685,7 @@ and changed files.el keyboard.c simple.el xterm.c xdisp.c Makefile.in
Richard Mlynarik: wrote cl-indent.el ebuff-menu.el ehelp.el rfc822.el
terminal.el yow.el
and changed files.el sysdep.c rmail.el info.el keyboard.c bytecomp.el
fileio.c simple.el process.c startup.el window.c editfns.c unexec.c
fileio.c simple.el process.c startup.el window.c editfns.c unexcoff.c
xfns.c keymap.c minibuf.c sendmail.el buffer.c dispnew.c emacs.c
subr.el and 129 other files
@ -2921,7 +2921,7 @@ Slawomir Nowaczyk: changed emacs.py python.el TUTORIAL.pl flyspell.el
ls-lisp.el w32proc.c
Spencer Thomas: changed dabbrev.el emacsclient.c gnus.texi server.el
unexec.c
unexcoff.c
Sriram Karra: changed message.el

View file

@ -1,3 +1,29 @@
2010-08-08 Ken Brown <kbrown@cornell.edu>
* PROBLEMS: Mention problem with Cygwin 1.5.19.
2010-08-07 Eli Zaretskii <eliz@gnu.org>
* NEWS: Mention the Hebrew translation.
* tutorials/TUTORIAL.he: Don't use acronyms.
2010-08-05 Eli Zaretskii <eliz@gnu.org>
* AUTHORS: Rename unexec.o => unexcoff.o.
* PROBLEMS: Rename unexec.o => unexcoff.o.
2010-07-31 Eli Zaretskii <eliz@gnu.org>
* tutorials/TUTORIAL.he: New file.
* tutorials/TUTORIAL.translators: Add TUTORIAL.he.
2010-07-24 Christoph Scholtes <cschol2112@gmail.com>
* NEWS: Document new --distfiles configure.bat option and
`dist' make target on Windows.
2010-07-20 Juanma Barranquero <lekktu@gmail.com>
* PROBLEMS: Add note about use of backslashes in Windows paths.
@ -4941,7 +4967,7 @@
* etags.c: Changes for VMS.
Always define ETAGS on VMS.
Define macros GOOD and BAD for success and failure exit codes.
(begtk, intk): Allow `$' in identifiers
(begtk, intk): Allow `$' in identifiers.
(main): Don't support -B, -F or -u on VMS.
Alternate loop for scanning filename arguments.
(system): Delete definition of this function.

View file

@ -51,6 +51,11 @@ also depend on Gtk+. You can disable them with --without-rsvg and
This is only useful for Emacs developers to debug certain types of bugs.
These is not a new feature; only the configure flag is new.
---
** New translation of the Emacs Tutorial in Hebrew is available
Type `C-u C-h t' to choose it in case your language setup doesn't
automatically select it.
* Startup Changes in Emacs 24.1
@ -99,6 +104,14 @@ Use `set-scroll-bar-mode' to change this.
Customize `tool-bar-style' to choose style. On a Gnome desktop, the default
is taken from the desktop settings.
** GTK tool bars can be placed on the left/right or top/bottom of the frame.
The frame-parameter tool-bar-position controls this. It takes the values
top, left, tight or bottom. The Options => Show/Hide menu has entries
for this.
** Emacs uses GTK tooltips by default if built with GTK. You can turn that
off by customizing x-gtk-use-system-tooltips.
** Lucid menus and dialogs can display antialiased fonts if Emacs is built
with Xft.
@ -179,7 +192,10 @@ The way Emacs interacts with the clipboard and primary selection, by
default, is now similar to other X applications. In particular, kill
and yank use the clipboard, in addition to the primary selection.
*** `select-active-regions' now defaults to t.
*** `select-active-regions' now defaults to `lazy'.
This means that any active region made with shift-selection or mouse
dragging, or acted on by Emacs (e.g. with M-w or C-w), is
automatically added to the primary window selection.
*** `x-select-enable-clipboard' now defaults to t.
@ -250,6 +266,9 @@ is just left as is in the message, so it is not lost.
**** vc-bzr handles Author:, Date: and Fixes:
**** vc-mtn handles Author: and Date:
*** Pressing g in a *vc-diff* buffer reruns vc-diff, so it will
produce an up to date diff.
** Directory local variables can apply to file-less buffers.
For example, adding "(diff-mode . ((mode . whitespace)))" to your
.dir-locals.el file, will turn on `whitespace-mode' for *vc-diff* buffers.
@ -352,6 +371,8 @@ threads simultaneously.
* New Modes and Packages in Emacs 24.1
** pcase.el provides the ML-style pattern matching macro `pcase'.
** smie.el is a package providing a simple generic indentation engine.
** secrets.el is an implementation of the Secret Service API, an
@ -432,6 +453,12 @@ displayed with a "spinning bar".
** New configure.bat option --enable-checking builds emacs with extra
runtime checks.
** New configure.bat option --distfiles to specify files to be
included in binary distribution
** New make target `dist' to create binary disttribution for Windows
platform
----------------------------------------------------------------------
This file is part of GNU Emacs.

View file

@ -2344,6 +2344,14 @@ files are installed. Then use:
As of Emacs 22.1, there have been stability problems with Cygwin
builds of Emacs using GCC 3. Cygwin users are advised to use GCC 4.
*** Building Emacs 23.3 and later will fail under Cygwin 1.5.19
This is a consequence of a change to src/dired.c on 2010-07-27. The
issue is that Cygwin 1.5.19 did not have d_ino in 'struct dirent'.
See
http://lists.gnu.org/archive/html/emacs-devel/2010-07/msg01266.html
*** Building the native MS-Windows port fails due to unresolved externals
The linker error messages look like this:
@ -2740,7 +2748,7 @@ build Emacs in a directory on a local disk.
Two causes have been seen for such problems.
1) On a system where getpagesize is not a system call, it is defined
as a macro. If the definition (in both unexec.c and malloc.c) is wrong,
as a macro. If the definition (in both unex*.c and malloc.c) is wrong,
it can cause problems like this. You might be able to find the correct
value in the man page for a.out (5).

1038
etc/tutorials/TUTORIAL.he Normal file

File diff suppressed because it is too large Load diff

View file

@ -31,6 +31,10 @@ Maintainer: Rafael Sepúlveda <drs@gnulinux.org.mx>
Author: Éric Jacoboni <jaco@teaser.fr>
Maintainer: Éric Jacoboni <jaco@teaser.fr>
* TUTORIAL.he
Author: Eli Zaretskii <eliz@gnu.org>
Maintainer: Eli Zaretskii <eliz@gnu.org>
* TUTORIAL.it:
Author: Alfredo Finelli <alfredofnl@tiscali.it>
Italian GNU Translation Group <tp@lists.linux.it>

View file

@ -1189,7 +1189,7 @@
2001-03-31 Kenichi Handa <handa@etl.go.jp>
* Makefile.in (TIT-GB): Delete quail/PY.elc and quail/ZIRANMA.elc
* Makefile.in (TIT-GB): Delete quail/PY.elc and quail/ZIRANMA.elc.
(NON-TIT-BIG5): Delete ${srcdir}/quail/quick-b5.elc
${srcdir}/quail/tsang-b5.elc.
(CHINESE-NON-TIT): Delete ${NON-TIT-CNS}.

View file

@ -1,3 +1,47 @@
2010-08-07 Juanma Barranquero <lekktu@gmail.com>
* ebrowse.c (usage, version, mark_virtual):
Remove duplicate declarations.
2010-08-06 Dan Nicolaescu <dann@ics.uci.edu>
* emacsclient.c: Move socket related #includes together with the
rest of the #includes. Move a WINDOWSNT includes closer together.
(HAVE_CONFIG_H): Remove.
(NO_RETURN): Remove, defined in config.h.
(main): Convert definition to standard C.
2010-07-29 Juanma Barranquero <lekktu@gmail.com>
* make-docfile.c (write_c_args): Warn for old-style empty arglist ().
2010-07-25 Juanma Barranquero <lekktu@gmail.com>
* emacsclient.c (getcwd): Fix previous change: make getcwd
conditional on HAVE_GETCWD and declare with the correct POSIX
profile (for some reason MinGW headers define its 2nd arg as int,
not size_t; but getcwd is not used on Windows nonetheless).
2010-07-25 Juanma Barranquero <lekktu@gmail.com>
* emacsclient.c (getcwd, w32_getenv):
* ntlib.h (getlogin, getuid, getegid, getgid): Fix prototypes.
2010-07-24 Dan Nicolaescu <dann@ics.uci.edu>
* update-game-score.c (usage): Add NO_RETURN specifier.
* movemail.c (fatal, pfatal_with_name, pfatal_and_delete):
* make-docfile.c (fatal):
* hexl.c (usage):
* fakemail.c (fatal):
* etags.c (fatal, suggest_asking_for_help, pfatal):
* emacsclient.c (fatal):
* b2m.c (fatal): Likewise.
2010-07-23 Juanma Barranquero <lekktu@gmail.com>
* make-docfile.c (write_c_args): Correctly handle prefixes of "defalt".
2010-07-20 Juanma Barranquero <lekktu@gmail.com>
* emacsclient.c (get_current_dir_name, w32_get_resource)
@ -775,7 +819,7 @@
2008-02-01 Jason Rumney <jasonr@gnu.org>
* makefile.w32-in (obj): Sync with src/Makefile.in
* makefile.w32-in (obj): Sync with src/Makefile.in.
(TOOLTIP_SUPPORT, WINDOW_SUPPORT): New definitions.
(WINNT_SUPPORT): Add term/w32-win.elc.
(lisp1, lisp2): Sync with lisp in src/Makefile.in.
@ -2471,7 +2515,7 @@
* makefile.w32-in (WINNT_SUPPORT, MOUSE_SUPPORT, lisp): Revert to
using .elc files.
(lisp): Sync with list in src/Makefile.in
(lisp): Sync with list in src/Makefile.in.
(VMS_SUPPORT, MSDOS_SUPPORT): Define, so DOC files can be shared.
2002-02-10 Paul Eggert <eggert@twinsun.com>
@ -6313,7 +6357,7 @@
(TOKEN): Member linestart removed.
(linepos, prev_linepos, lb1): Deleted.
(main): Call initbuffer on lbs array instead of lb1.
(init): Removed the initialisation of the logical _gd array;
(init): Removed the initialisation of the logical _gd array.
(find_entries): A .sa suffix means assembler file.
(C_create_stab): "auto", "void", "extern", "static" are st_C_typespec.
All C state machines rewritten.
@ -7177,7 +7221,7 @@
* etags.c: Changes for VMS.
Always define ETAGS on VMS.
Define macros GOOD and BAD for success and failure exit codes.
(begtk, intk): Allow `$' in identifiers
(begtk, intk): Allow `$' in identifiers.
(main): Don't support -B, -F or -u on VMS.
Alternate loop for scanning filename arguments.
(system): Delete definition of this function.

View file

@ -70,7 +70,7 @@ long *xmalloc (unsigned int size);
long *xrealloc (char *ptr, unsigned int size);
char *concat (char *s1, char *s2, char *s3);
long readline (struct linebuffer *linebuffer, register FILE *stream);
void fatal (char *message);
void fatal (char *message) NO_RETURN;
/*
* xnew -- allocate storage. SYNOPSIS: Type *xnew (int n, Type);

View file

@ -492,8 +492,6 @@ void register_namespace_alias (char *, struct link *);
void insert_keyword (char *, int);
void re_init_scanner (void);
void init_scanner (void);
void usage (int);
void version (void);
void process_file (char *);
void add_search_path (char *);
FILE *open_file (char *);
@ -504,7 +502,6 @@ int dump_tree (FILE *, struct sym *);
struct member *find_member (struct sym *, char *, int, int, unsigned);
struct member *add_member (struct sym *, char *, int, int, unsigned);
void mark_virtual (struct sym *);
void mark_virtual (struct sym *);
struct sym *make_namespace (char *, struct sym *);
char *sym_scope (struct sym *);
char *sym_scope_1 (struct sym *);

View file

@ -18,9 +18,7 @@ You should have received a copy of the GNU General Public License
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#ifdef WINDOWSNT
@ -32,6 +30,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
# include <stdlib.h>
# include <windows.h>
# include <commctrl.h>
# include <io.h>
# include <winsock2.h>
# define NO_SOCKETS_IN_FILE_SYSTEM
@ -45,8 +45,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
# ifdef HAVE_INET_SOCKETS
# include <netinet/in.h>
# ifdef HAVE_SOCKETS
# include <sys/types.h>
# include <sys/socket.h>
# include <sys/un.h>
# endif /* HAVE_SOCKETS */
# endif
# include <arpa/inet.h>
# define INVALID_SOCKET -1
@ -67,25 +71,23 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#include <stdio.h>
#include "getopt.h"
#ifdef HAVE_UNISTD_H
#include <unistd.h>
# include <unistd.h>
#endif
#ifdef WINDOWSNT
# include <io.h>
#else /* not WINDOWSNT */
# include <pwd.h>
#endif /* not WINDOWSNT */
#include <pwd.h>
#include <sys/stat.h>
#include <signal.h>
#include <errno.h>
char *getenv (const char *), *getwd (char *);
char *(getcwd) ();
#ifdef HAVE_GETCWD
char *(getcwd) (char *, size_t);
#endif
#ifdef WINDOWSNT
char *w32_getenv ();
char *w32_getenv (char *);
#define egetenv(VAR) w32_getenv(VAR)
#else
#define egetenv(VAR) getenv(VAR)
@ -112,10 +114,6 @@ char *w32_getenv ();
#define TRUE 1
#endif
#ifndef NO_RETURN
#define NO_RETURN
#endif
/* Additional space when allocating buffers for filenames, etc. */
#define EXTRA_SPACE 100
@ -158,6 +156,8 @@ char *server_file = NULL;
int emacs_pid = 0;
void print_help_and_exit (void) NO_RETURN;
void fail (void) NO_RETURN;
struct option longopts[] =
{
@ -400,7 +400,7 @@ w32_set_user_model_id (void)
/* On Windows 7 and later, we need to set the user model ID
to associate emacsclient launched files with Emacs frames
in the UI. */
shell = LoadLibrary("shell32.dll");
shell = LoadLibrary ("shell32.dll");
if (shell)
{
set_user_model
@ -430,7 +430,7 @@ w32_window_app (void)
nonconsole apps. Testing for the console title seems to work. */
window_app = (GetConsoleTitleA (szTitle, MAX_PATH) == 0);
if (window_app)
InitCommonControls();
InitCommonControls ();
}
return window_app;
@ -481,7 +481,7 @@ ttyname (int fd)
void
message (int is_error, char *message, ...)
{
char msg [2048];
char msg[2048];
va_list args;
va_start (args, message);
@ -698,9 +698,7 @@ fail (void)
#if !defined (HAVE_SOCKETS) || !defined (HAVE_INET_SOCKETS)
int
main (argc, argv)
int argc;
char **argv;
main (int argc, char **argv)
{
main_argv = argv;
progname = argv[0];
@ -712,14 +710,6 @@ main (argc, argv)
#else /* HAVE_SOCKETS && HAVE_INET_SOCKETS */
#ifdef WINDOWSNT
# include <winsock2.h>
#else
# include <sys/types.h>
# include <sys/socket.h>
# include <sys/un.h>
#endif
#define AUTH_KEY_LENGTH 64
#define SEND_BUFFER_SIZE 4096
@ -1468,7 +1458,7 @@ start_daemon_and_retry_set_socket (void)
pid_t w;
w = waitpid (dpid, &status, WUNTRACED | WCONTINUED);
if ((w == -1) || !WIFEXITED (status) || WEXITSTATUS(status))
if ((w == -1) || !WIFEXITED (status) || WEXITSTATUS (status))
{
message (TRUE, "Error: Could not start the Emacs daemon\n");
exit (EXIT_FAILURE);

View file

@ -406,9 +406,9 @@ static void analyse_regex (char *);
static void free_regexps (void);
static void regex_tag_multiline (void);
static void error (const char *, const char *);
static void suggest_asking_for_help (void);
void fatal (char *, char *);
static void pfatal (char *);
static void suggest_asking_for_help (void) NO_RETURN;
void fatal (char *, char *) NO_RETURN;
static void pfatal (char *) NO_RETURN;
static void add_node (node *, node **);
static void init (void);

View file

@ -147,6 +147,8 @@ static line_list file_preface;
static stream_list the_streams;
static boolean no_problems = true;
static void fatal (char *s1) NO_RETURN;
extern FILE *popen (const char *, const char *);
extern int fclose (FILE *), pclose (FILE *);

View file

@ -49,7 +49,7 @@ int base = DEFAULT_BASE, un_flag = FALSE, iso_flag = FALSE, endian = 1;
int group_by = DEFAULT_GROUPING;
char *progname;
void usage(void);
void usage(void) NO_RETURN;
int
main (int argc, char **argv)

View file

@ -70,6 +70,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
int scan_file (char *filename);
int scan_lisp_file (char *filename, char *mode);
int scan_c_file (char *filename, char *mode);
void fatal (char *s1, char *s2) NO_RETURN;
#ifdef MSDOS
/* s/msdos.h defines this as sys_chdir, but we're not linking with the
@ -441,7 +442,7 @@ write_c_args (FILE *out, char *func, char *buf, int minargs, int maxargs)
register char *p;
int in_ident = 0;
char *ident_start;
int ident_length;
int ident_length = 0;
fprintf (out, "(fn");
@ -475,6 +476,12 @@ write_c_args (FILE *out, char *func, char *buf, int minargs, int maxargs)
identifier. */
if (c == ',' || c == ')')
{
if (ident_length == 0)
{
error ("empty arg list for `%s' should be (void), not ()", func);
continue;
}
if (strncmp (ident_start, "void", ident_length) == 0)
continue;
@ -488,7 +495,7 @@ write_c_args (FILE *out, char *func, char *buf, int minargs, int maxargs)
/* In C code, `default' is a reserved word, so we spell it
`defalt'; unmangle that here. */
if (strncmp (ident_start, "defalt", ident_length) == 0)
if (ident_length == 6 && strncmp (ident_start, "defalt", 6) == 0)
fprintf (out, "DEFAULT");
else
while (ident_length-- > 0)

View file

@ -147,10 +147,10 @@ static char *mail_spool_name ();
char *strerror (int);
#endif
static void fatal (char *s1, char *s2, char *s3);
static void fatal (char *s1, char *s2, char *s3) NO_RETURN;
static void error (char *s1, char *s2, char *s3);
static void pfatal_with_name (char *name);
static void pfatal_and_delete (char *name);
static void pfatal_with_name (char *name) NO_RETURN;
static void pfatal_and_delete (char *name) NO_RETURN;
static char *concat (char *s1, char *s2, char *s3);
static long *xmalloc (unsigned int size);
#ifdef MAIL_USE_POP

View file

@ -30,14 +30,14 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
#ifdef sleep
#undef sleep
#endif
void sleep(unsigned long seconds);
void sleep (unsigned long seconds);
char *getwd (char *dir);
int getppid(void);
char * getlogin ();
int getppid (void);
char * getlogin (void);
char * cuserid (char * s);
unsigned getuid ();
unsigned getegid ();
unsigned getgid ();
unsigned getuid (void);
unsigned getegid (void);
unsigned getgid (void);
int setuid (unsigned uid);
int setegid (unsigned gid);
char * getpass (const char * prompt);

View file

@ -60,6 +60,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
extern char *optarg;
extern int optind, opterr;
int usage (int err) NO_RETURN;
#define MAX_ATTEMPTS 5
#define MAX_SCORES 200
#define MAX_DATA_LEN 1024

View file

@ -173,7 +173,7 @@
1986-03-15 Bill Rozas (jinx@prep)
* scheme.el: (scheme-zap-name) Uses expand-file-name to obtain an
* scheme.el (scheme-zap-name): Uses expand-file-name to obtain an
absolute pathname.
1986-03-15 Richard M. Stallman (rms@prep)
@ -184,7 +184,7 @@
1986-03-13 Bill Rozas (jinx@prep)
* scheme.el: (scheme-zap-name) change it back to fromedit.zap
* scheme.el (scheme-zap-name): Change it back to fromedit.zap
since that is where scheme expects it and it is too much work to
change scheme right now. This interface is obsolete anyway, but
some people (athena) still use it.
@ -384,7 +384,7 @@
* info.el (Info-find-node):
Fix braino.
Also, allow abbreviations for node names.
Info-tagify: insert tags in forward order so that
(Info-tagify): Insert tags in forward order so that
an abbrev finds the textually first possibility rather than the
last.
@ -570,7 +570,7 @@
1986-01-18 Richard M. Stallman (rms@prep)
* doctor.el: Fix typo "symtoms".
* doctor.el: Fix typo "symtoms".
1986-01-10 Richard Mlynarik (mly@prep)
@ -660,7 +660,7 @@
1985-12-27 Richard Mlynarik (mly@prep)
* view.el:
Various: Fix cases of "view" => "View" which were missed. Damn.
Various: Fix cases of "view" => "View" which were missed. Damn.
1985-12-27 Richard M. Stallman (rms@prep)
@ -917,7 +917,7 @@
* files.el (normal-mode):
New command to choose major mode automatically.
* inc-vers.el: Renamed from inc-version.el
* inc-vers.el: Renamed from inc-version.el
for file name length reasons.
* term/*.el: terminal-specific files found here now.
@ -1021,8 +1021,6 @@
in the *compilation* buffer, thus allowing buffers to have local
compilation-error-regexp variables.
(provide 'compile)
1985-12-05 Richard M. Stallman (rms@prep)
* files.el (recover-file):
@ -1139,7 +1137,7 @@
1985-11-27 Richard Mlynarik (mly@prep)
* rnews.el: (news-mode, news-set-mode-line):
* rnews.el (news-mode, news-set-mode-line):
Get rid of news-mode-group-string.
* rnews.el (news-unsubscribe-internal):
@ -1495,7 +1493,7 @@
* mouseinit.el
Delete this file. Put its contents in files
term-bg.el, term-bgnv.el, term-bgrv.el, term-bbn.el
term-bg.el, term-bgnv.el, term-bgrv.el, term-bbn.el.
(Perhaps there should be a subdirectory emacs/lisp/term/ ??)
1985-10-23 Richard M. Stallman (rms@prep)
@ -1616,7 +1614,7 @@
1985-10-17 Richard Mlynarik (mly@mit-prep)
* rnews.el: (news-save-item-in-file)
* rnews.el (news-save-item-in-file):
Append to file, rather than overwriting.
* isearch.el
@ -1915,7 +1913,7 @@
* texinfo.el:
Change syntax for @xref and @pxref to use braces.
Change syntax for @node to read entire line
Change syntax for @node to read entire line.
(new function texinfo-format-parse-line-args for that).
Change paragraph-separate, etc., so only directives without
braces separate paragraphs. When formatting, discard all of the
@ -2178,8 +2176,8 @@
"c-continued-statement-offset" as in the documentation and manual
* rmail.el (rmail-find):
Hack default of last search string, hack reverse search
(-ve prefix arg)
Hack default of last search string, hack reverse search.
(-ve prefix arg):
Make "-" be negative-argument
1985-07-23 Richard Mlynarik (mly@mit-prep)
@ -2523,10 +2521,10 @@
No, this directory is added automatically to the path
used by call-process. It should have worked before. - RMS
* loaddefs.el: C-z -> C-c in documentation for mail.
* loaddefs.el: C-z -> C-c in documentation for mail.
autoload report-emacs-bug from emacsbug.el.
* emacsbug.el: New file. Reports bugs with version info.
* emacsbug.el: New file. Reports bugs with version info.
* helper.el (Helper-describe-bindings):
Make it describe local bindings faster by binding global map to
@ -2534,7 +2532,7 @@
* lisp-mode.el: First form of prog1 is distinguished.
* loaddefs.el: autoload functions from chistory.el and echistory.el.
* loaddefs.el: Autoload functions from chistory.el and echistory.el.
* chistory.el:
New file containing two alternatives to `repeat-complex-command'
@ -2587,10 +2585,10 @@
1985-06-11 K. Shane Hartman (shane@mit-prep)
* ebuff-menu.el: Make M-C-v scroll-other-window instead of
* ebuff-menu.el: Make M-C-v scroll-other-window instead of
scroll-down. Make M-v scroll-down.
* ebuff-menu.el, echistory.el: Made them use electric.
* ebuff-menu.el, echistory.el: Made them use electric.
* electric.el:
New module for packages that retain control until some event
@ -2602,7 +2600,7 @@
Made it use helper.el. Remove kill-ring-save stuff pending use of
new winning prin1-to-string for minibuffer hacking.
* view.el: Made it use helper.el.
* view.el: Made it use helper.el.
* helper.el:
New module for packages which want to do help without giving up
@ -2804,7 +2802,7 @@
1985-06-01 K. Shane Hartman (shane@mit-prep)
* loaddefs.el: Update documentation for rmail.
* loaddefs.el: Update documentation for rmail.
* lisp-mode.el (calculate-lisp-indent):
Asked (fboundp 'lisp-indent-hook). Right question is boundp.
@ -2858,7 +2856,7 @@
Skip strings, comments, char constants.
Find symbols even if they have no letters in them.
* mlsupport.el: Insert symbol-value call in use-local-map.
* mlsupport.el: Insert symbol-value call in use-local-map.
Handle key codes > 127 in local-bind-to-key.
Write ml-modify-syntax-entry.
@ -3097,7 +3095,7 @@
* sendmail.el, loaddefs.el
added send-mail-function; initially sendmail-send-it
(also, mail-yank-ignored-headers had a typo)
(also, mail-yank-ignored-headers had a typo).
* rmail.el (rmail-get-new-mail, convert-to-babyl-format, ...)
* loaddefs.el:
@ -3167,7 +3165,7 @@
1985-05-16 K. Shane Hartman (shane@mit-prep)
* dired.el: Put dired-rename-file, dired-copy file-on keys. Make
them change buffer if appropriate. Put dired-mark-backup-files,
them change buffer if appropriate. Put dired-mark-backup-files,
dired-mark-temp-files on keys. Eliminate possibility of looping
at last line in dired-repeat-over-filenames.
@ -3196,53 +3194,56 @@
replace loop so that replacing continues after moving back to
previous.
* add-log.el: add prefix arg to add-change-log-entry so will
* add-log.el: Add prefix arg to add-change-log-entry so will
prompt for information if desired. If there is an entry for today,
make sure login-name is same before using it, else make new entry.
Use auto-fill-mode.
1985-05-12 Richard M. Stallman (rms@mit-prep)
* lisp-mode.el: defined lisp-mode-commands, lisp-mode-variables.
* lisp-mode.el: Defined lisp-mode-commands, lisp-mode-variables.
Added external-lisp-mode.
Made doc strings mention mode hook variables.
* shell.el: defined functions `lisp' and `inferior-lisp-mode'.
* shell.el: Defined functions `lisp' and `inferior-lisp-mode'.
Renamed shell-send-defun... to lisp-send-defun...
and made them use process "lisp", buffer *lisp*.
* text-mode.el: made indented-text-mode not call text-mode.
* text-mode.el: Made indented-text-mode not call text-mode.
Made doc strings mention mode hook variables.
* c-mode.el: Made doc strings mention mode hook variables.
* add-log.el
* add-log.el:
Change format used for change log entries.
Select indented-text-mode for the change log file.
1985-05-12 K. Shane Hartman (shane@mit-ajax)
simple.el: suppress matching close paren if preceded
* simple.el: Suppress matching close paren if preceded
by char syntax \.
mim-mode.el: flush private paren blinker in favor of default.
add-log.el: change mode-string to mode-name so reflected in
* mim-mode.el: Flush private paren blinker in favor of default.
* add-log.el: Change mode-string to mode-name so reflected in
mode-line. change \\W to \\sW when looking for place to add.
1985-05-12 Richard M. Stallman (rms@mit-prep)
simple.el: modified open-line to insert newlines before
* simple.el: Modified open-line to insert newlines before
an existing one before dot. This makes better redisplay.
dired.el: Installed Shane's changes that allow user to choose
* dired.el: Installed Shane's changes that allow user to choose
switches to use.
1985-05-11 Richard M. Stallman (rms@mit-prep)
rmail.el: if given file name as argument,
* rmail.el: If given file name as argument,
correctly displays one message of that file
but does not try to get new mail.
simple.el: Fix what-line bug: line # too high by 1 if not at bol.
* simple.el: Fix what-line bug: line # too high by 1 if not at bol.
Put in blink-matching-paren-distance,
and check for wrong kinds of parens matching.
time.el: Put in display-time-day-and-date flag,
* time.el: Put in display-time-day-and-date flag,
to display day and date in addition to the time.
startup.el: Call lisp-interaction-mode-hook if defined.
* startup.el: Call lisp-interaction-mode-hook if defined.
Set current buffer variables from defaults
in case user's init file has changed them.

View file

@ -1357,7 +1357,7 @@
2003-06-10 Rajesh Vaidheeswarran <rv@gnu.org>
* whitespace.el (whitespace-version): Bump to 3.3
* whitespace.el (whitespace-version): Bump to 3.3.
(whitespace-cleanup): Respect user preference for silence
* whitespace.el: Remove :tag in commentary :link. Remove empty
@ -1645,7 +1645,7 @@
(bibtex-version): Remove support for bug reporting.
(bibtex-field-delimiters, bibtex-entry-delimiters)
(bibtex-sort-ignore-string-entries, bibtex-maintain-sorted-entries)
Replace make-variable-buffer-local by make-local-variable for
Replace make-variable-buffer-local by make-local-variable.
(bibtex-entry-format): New tag `required-fields'.
(bibtex-maintain-sorted-entries): New var.
(bibtex-sort-entry-class, bibtex-sort-entry-class-alist): New vars.
@ -4069,9 +4069,9 @@
(ccl-encode-mule-utf-16-le-with-signature)
(ccl-encode-mule-utf-16-be-with-signature): New CCL programs.
(mule-utf-16-post-read-conversion): New function.
(mule-utf-16-le-with-signature, mule-utf-16-be-with-signature),
(mule-utf-16-le-with-signature, mule-utf-16-be-with-signature)
(mule-utf-16): New coding systems.
(utf-16-le-with-signature, utf-16-be-with-signature),
(utf-16-le-with-signature, utf-16-be-with-signature)
(utf-16): Aliases of the above coding systems.
2003-04-08 Martin Stjernholm <bug-cc-mode@gnu.org>
@ -4109,7 +4109,7 @@
Other cleanups.
Command line option --no-desktop introduced.
(desktop-read): Record buffers in the desktop file in
the same order as that in the buffer list,
the same order as that in the buffer list.
(desktop-save): Put buffers in the order given in desktop file,
regardless of what handlers do.
(desktop-file-version): New variable. Version number of desktop
@ -7684,7 +7684,7 @@
* gdb-ui.el : Remove inappropriate key-bindings.
(gdb-info-breakpoints-custom, gdb-goto-bp-this-line):
Parse correctly when breakpoint has no line number.
(def-gdb-auto-update-handler, gdb-info-locals-handler),
(def-gdb-auto-update-handler, gdb-info-locals-handler)
(gdb-display-end): Avoid using insert-buffer.
(gdb-frames-select-by-mouse): Rename gdb-frames-mouse-select.
@ -20177,10 +20177,10 @@
2002-01-05 Andre Spiegel <spiegel@gnu.org>
* vc.el (vc-branch-part): Return nil if there's no `.'
* vc.el (vc-branch-part): Return nil if there's no `.'.
(vc-default-previous-version): Renamed from vc-previous-version.
New args BACKEND and FILE. Return nil for revision numbers
without a `.'
without a `.'.
(vc-version-diff): Call vc-BACKEND-previous-version.
(vc-steal-lock): Steal lock before composing mail, so that no mail
is sent when the stealing goes wrong. And we'll actually see the
@ -23253,11 +23253,11 @@
lambda expression.
(ps-mode-menu-main): Submenu with options on/off was replaced with
a toggle button.
(ps-mode, ps-run-mode): Define with `define-derived-mode'
(ps-mode, ps-run-mode): Define with `define-derived-mode'.
(ps-mode): Autoload cookie added on same line as comment.
(ps-mode-tabkey, ps-mode-backward-delete-char):
(ps-mode-r-balance): Replace `delete-horizontal-space' and
`indent-to' with `indent-line-to'
`indent-to' with `indent-line-to'.
(ps-mode-print-buffer, ps-mode-print-region): Use `funcall'
instead of `eval'.
(ps-mode-print-region): Use `with-temp-buffer'.
@ -23464,7 +23464,7 @@
(vc-default-annotate-current-time): Added.
* vc-cvs.el (vc-cvs-annotate-difference): Removed to generic
version in vc.el, with
version in vc.el.
(vc-cvs-annotate-current-time): Added, as override of default.
(vc-cvs-annotate-time): Added. Taken mostly from the (now removed)
`vc-cvs-annotate-difference'.

View file

@ -84,7 +84,7 @@
2004-12-30 Andreas Leue <al@sphenon.de>
* textmodes/artist.el (artist-version): 1.2.6
* textmodes/artist.el (artist-version): 1.2.6.
(artist-prev-next-op-alist): New variable.
(artist-select-next-op-in-list): New function.
(artist-select-prev-op-in-list): New function.
@ -380,7 +380,7 @@
(calculator-radix-grouping-digits)
(calculator-radix-grouping-separator):
New defcustoms for the new radix grouping mode functionality.
(calculator-mode-hook): Now used in electric mode too,
(calculator-mode-hook): Now used in electric mode too.
(calculator): Call it.
(calculator-mode-map): Some new keys.
(calculator-message): New function. Some new calls.
@ -2239,7 +2239,7 @@
(math-so-far, math-integ-expr, math-expr-parts, calc-low)
(calc-high, math-solve-var, math-solve-full, math-solve-vars)
(math-try-solve-sign, math-solve-b, math-solve-system-vv)
(math-solve-res): New variables
(math-solve-res): New variables.
(math-derivative, calcFunc-deriv, calcFunc-tderiv)
(math-integral, math-replace-integral-parts)
(math-integrate-by-parts, calc-dump-integral-cache)
@ -4692,7 +4692,7 @@
mark mode (to include the current match to region boundaries).
Push the search string to `query-replace-from-history-variable'.
Add prompt "Query replace regexp" for isearch-regexp.
Add region beginning/end as last arguments of `perform-replace.'
Add region beginning/end as last arguments of `perform-replace'.
(isearch-query-replace-regexp): Replace code by the call to
`isearch-query-replace' with arg `t'.
@ -9809,7 +9809,7 @@
(compile): Additional argument for interactive compiles like TeX.
* progmodes/grep.el (kill-grep): Move here from compile.el
* progmodes/grep.el (kill-grep): Move here from compile.el.
(grep-error, grep-hit-face, grep-error-face)
(grep-mode-font-lock-keywords): New variables.
(grep-regexp-alist): Simplify regexp and add `binary' case.
@ -10944,12 +10944,12 @@
(rsf-bbdb-auto-delete-spam-entries): Rename from
rmail-bbdb-auto-delete-spam-bbdb-entries. The cc: field is
scanned together with the recipients field for spam testing; Don't
delete spam message if rmail-delete-after-output is non-nil;
delete spam message if rmail-delete-after-output is non-nil.
(rsf-check-field): New function, extracted from code in
rmail-spam-filter to ease addition of header fields like
content-type:;
content-type:.
(message-content-type): New variable. The content-type: field was
added also in defcustom of rsf-definitions-alist;
added also in defcustom of rsf-definitions-alist.
(rmail-spam-filter): Replace repeated test code for header fields
by calls to check-field; change the call to
rmail-output-to-rmail-file such that rmail-current-message stays
@ -11474,7 +11474,7 @@
2003-12-29 Stuart Herring <herring@lanl.gov> (tiny change)
* comint.el (comint-watch-for-password-prompt): Pass `string' as
arg to send-invisible
arg to send-invisible.
(send-invisible): Doc fix. The argument is now a prompt, not the
string to send.
(comint-read-noecho): Doc fix.
@ -12951,7 +12951,7 @@
Ensure that recentf correctly updates the menu bar.
* recentf.el (recentf-menu-path,recentf-menu-before): Doc fix.
(recentf-menu-bar): New function.
(recentf-clear-data): Use it
(recentf-clear-data): Use it.
(recentf-update-menu): Likewise. Use easy-menu-add-item instead
of easy-menu-change.
@ -13500,7 +13500,7 @@
(reftex-toc-split-windows-fraction): New option.
(reftex-recenter-toc-when-idle): Search *toc* window on all
visible frames.
(reftex-toc): Additional parameter REUSE
(reftex-toc): Additional parameter REUSE.
(reftex-toc-recenter): Remember current frame. Call `reftex-toc'
with REUSE argument.
(reftex-recenter-toc-when-idle): Reset `current-prefix-arg' for
@ -14153,7 +14153,7 @@
erroneously in previous version.
(bibtex-string-files): Docstring reflects new parsing scheme.
(bibtex-autokey-transcriptions): Merge some rewrite entries, fix
docstring, add # as one of the chars to crush
docstring, add # as one of the chars to crush.
(bibtex-autokey-prefix-string, bibtex-autokey-names)
(bibtex-autokey-names-stretch, bibtex-autokey-additional-names)
(bibtex-autokey-name-change-strings)
@ -14229,7 +14229,7 @@
preamble entries.
(bibtex-fill-field-bounds): New function.
(bibtex-fill-field): New command. Bound to fill-paragraph-function.
(bibtex-fill-entry): Use bibtex-fill-field-bounds
(bibtex-fill-entry): Use bibtex-fill-field-bounds.
(bibtex-String): Use bibtex-strings. Always obey
bibtex-sort-ignore-string-entries.

View file

@ -943,7 +943,7 @@
2007-03-20 Richard Stallman <rms@gnu.org>
* textmodes/ispell.el (ispell-call-process): New function.
Defends against bad `default-directory.'
Defends against bad `default-directory'.
(ispell-check-version, ispell-find-aspell-dictionaries)
(ispell-get-aspell-config-value, lookup-words): Call it.
(ispell-call-process-region): New function.
@ -1606,7 +1606,7 @@
(org-set-frame-title, org-show-reference)
(org-unhighlight-once, org-verify-change-for-undo): New functions.
(org-show-variable): Remove command.
(org-add-log-maybe): New arguments STATE, FINDPOS
(org-add-log-maybe): New arguments STATE, FINDPOS.
(org-table-sort-lines): Rewrite from scratch.
(org-link-search): New argument AVOID-POS.
(org-print-icalendar-entries): Remove argument CATEGORY.
@ -2938,7 +2938,7 @@
2006-12-30 Jan Djärv <jan.h.d@swipnet.se>
* scroll-bar.el (previous-scroll-bar-mode): New variable
* scroll-bar.el (previous-scroll-bar-mode): New variable.
(set-scroll-bar-mode): Set previous-scroll-bar-mode.
(scroll-bar-mode): Use previous-scroll-bar-mode if set.
@ -5438,7 +5438,7 @@
(cperl-to-comment-or-eol): Do not call `cperl-update-syntaxification'
recursively.
Bound `next-single-property-change' via `point-max'.
(cperl-unwind-to-safe): Bound likewise
(cperl-unwind-to-safe): Bound likewise.
(cperl-font-lock-fontify-region-function): Likewise.
(cperl-find-pods-heres): Mark as recursive for `cperl-to-comment-or-eol'
Initialization of `cperl-font-lock-multiline-start' could be
@ -5480,7 +5480,7 @@
(cperl-calculate-indent): `char-after' could be nil...
(cperl-find-pods-heres): REx can start after "[" too.
Highlight (??{}) in RExen too.
(cperl-maybe-white-and-comment-rex): New constant
(cperl-maybe-white-and-comment-rex): New constant.
(cperl-white-and-comment-rex): Likewise.
XXXX Not very efficient, but hard to make
better while keeping 1 group.
@ -5526,7 +5526,7 @@
Syntax-mark a {}-part of (?{}) as "comment"
(it was the ()-part)
Better logic to distinguish what is what in REx
(cperl-tips-faces): Document REx highlighting
(cperl-tips-faces): Document REx highlighting.
(cperl-praise): Mention REx syntax highlight etc.
After 5.17:
@ -5566,7 +5566,7 @@
(cperl-indent-comment-at-column-0): New customization variable.
(cperl-comment-indent): Indentation after $#a would increase by 1.
(cperl-mode): Make `defun-prompt-regexp' grok BEGIN/END etc.
(cperl-find-pods-heres): Mark CODE of s///e as `syntax-type' `multiline'
(cperl-find-pods-heres): Mark CODE of s///e as `syntax-type' `multiline'.
(cperl-at-end-of-expr): Would fail if @BAR=12 follows after ";".
(cperl-init-faces): If `cperl-highlight-variables-indiscriminately'
highlight $ in $foo too (UNTESTED).
@ -5579,7 +5579,7 @@
(cperl-style-alist): Likewise.
(cperl-fix-line-spacing): Support `cperl-merge-trailing-else' being nil,
and `cperl-extra-newline-before-brace' etc
being t
being t.
(cperl-indent-exp): Plans B and C to find continuation blocks even
if `cperl-extra-newline-before-brace' is t.
@ -7296,7 +7296,7 @@
(gdb-stack-position): New variable.
(gdb-starting, gdb-exited): Reset gdb-stack-position to nil.
(gdb-frames-mode): Set gdb-stack-position to nil.
Add to overlay-arrow-variable-list
Add to overlay-arrow-variable-list.
(gdb-reset): Delete gdb-stack-position from above list.
2006-08-14 Jan Djärv <jan.h.d@swipnet.se>
@ -7459,7 +7459,7 @@
* avoid.el (mouse-avoidance-animating-pointer): New var.
(mouse-avoidance-nudge-mouse): Use it.
(mouse-avoidance-banish): Rename from mouse-avoidance-banish-hook.
(mouse-avoidance-exile): Rename from mouse-avoidance-exile-hook
(mouse-avoidance-exile): Rename from mouse-avoidance-exile-hook.
(mouse-avoidance-fancy): Rename from mouse-avoidance-fancy-hook.
Don't activate if currently animating. All callers changed.
@ -8723,7 +8723,7 @@
* progmodes/gdb-ui.el (gdb-same-frame): New option.
(gud-old-arrow, gdb-frame-begin, gdb-printing): New variables.
(gdb-init-1): Initialise them.
(gdb-starting): Reset gdb-printing
(gdb-starting): Reset gdb-printing.
(gdb-starting): Save value of gud-overlay-arrow-position.
(gdb-frame-begin): Set gdb-frame-begin, gdb-printing.
(gdb-stopped): Don't look for source if calling procedure e.g "p a ()".
@ -9460,7 +9460,7 @@
links to BibTeX database entries..
(org-get-current-options, org-set-regexps-and-options):
Implement logging as a startup option.
(org-store-link): Make sure context string is never empty
(org-store-link): Make sure context string is never empty.
(org-insert-link): Use relative path when possible.
(org-at-item-checklet-p): New function.
(org-shifttab, org-shiftmetaleft, org-shiftmetaright)
@ -10197,7 +10197,7 @@
(gdb-init-1, gdb-post-prompt): ...and references to it.
(gdb-frame-handler): Strip directory name from filename if present.
* progmodes/gud.el (gdb-force-update): Delete defvar
* progmodes/gud.el (gdb-force-update): Delete defvar.
(gud-speedbar-buttons): ...and references to it. Use window-start
to try to keep position in watch expression.
@ -10246,7 +10246,7 @@
* diff-mode.el (diff-mode-shared-map): Don't bind M-W, M-U, M-C,
M-r, M-R, M-A, M-SPC or M-DEL.
(diff-mode-map): diff-refine-hunk now on C-c C-w
(diff-mode-map): diff-refine-hunk now on C-c C-w.
(diff-mode-map): Bind C-c C-e, C-c C-n, C-c C-r, C-c C-u.
* help-mode.el (help-mode): view-exit-action calls delete-window
@ -10862,7 +10862,7 @@
(org-edit-agenda-file-list, org-store-new-agenda-file-list)
(org-read-agenda-file-list): New functions.
(org-table-edit-field)
(org-table-create-or-convert-from-region): New commands
(org-table-create-or-convert-from-region): New commands.
(org-table-toggle-vline-visibility): Command removed.
(org-table-convert-region): Made a command.
(orgtbl-delete-backward-char, orgtbl-delete-char): Remove commands.
@ -10881,7 +10881,7 @@
Optional argument unrestricted means ignore any restrictions.
(org-install-agenda-files-menu): Find a buffer in Org-mode before
trying to modify the menu. Use generalized access to
`org-agenda-files.'
`org-agenda-files'.
(org-agenda-list, org-todo-list, org-cycle-agenda-files)
(org-agenda-file-to-front, org-remove-file, org-diary)
(org-tags-view, org-export-icalendar-all-agenda-files)
@ -13666,7 +13666,7 @@
(thumbs-resize-image): Rename from thumbs-resize-image-interactive.
Use increment argument to enlarge/shrink. Preserve point.
(thumbs-shrink-image): Rename from thumbs-resize-image-size-down.
(thumbs-enlarge-image): Rename from thumbs-resize-image-size-up
(thumbs-enlarge-image): Rename from thumbs-resize-image-size-up.
(thumbs-show-thumbs-list): Set thumbs-buffer to current-buffer.
(thumbs-mark, thumbs-unmark): Preserve point.
(thumbs-modify-image): Keep old temp files and use to modify.
@ -16160,7 +16160,7 @@
(c-after-statement-terminator-p): Adapt for virtual semicolons;
check more rigorously for "end of macro".
(c-back-over-illiterals, c-forward-over-illiterals): Adapt for
virtual semicolons;
virtual semicolons.
(c-beginning-of-statement): Adapt for virtual semicolons; Separate
out the code for forward movement into ...
(c-end-of-statement): Now contains the code for forward movement,
@ -19706,7 +19706,7 @@
(allout-mode): Use key-binding substitution in the docstring.
(allout-kill-line): Spell-out kill ring data structure mutation
instead of using byte-compiler-complaint-provoking `pop'.
(allout-insert-listified): Use `insert' rather than `insert-string'
(allout-insert-listified): Use `insert' rather than `insert-string'.
(allout-toggle-current-subtree-encryption): Update docstring, adjust
to new gpp-based encryption, use new `allout-encrypted-topic-p'.
(allout-encrypt-string): Totally revamped vis new underlying
@ -20757,13 +20757,13 @@
* progmodes/gdb-ui.el (gdb-info-breakpoints-custom):
Put `font-lock-function-name-face'.
(gdb-info-frames-custom): Put `font-lock-function-name-face'
and `font-lock-variable-name-face'
and `font-lock-variable-name-face'.
(gdb-registers-font-lock-keywords): New font lock keywords definition.
(gdb-registers-mode): Use `gdb-registers-font-lock-keywords'.
(gdb-memory-font-lock-keywords): New font lock keywords definition.
(gdb-memory-mode): Use `gdb-memory-font-lock-keywords'.
(gdb-local-font-lock-keywords): New font lock keywords definition.
(gdb-locals-mode): Use `gdb-local-font-lock-keywords'
(gdb-locals-mode): Use `gdb-local-font-lock-keywords'.
(gdb-threads-font-lock-keywords): New font lock keywords definition.
(gdb-threads-mode): Use `gdb-threads-font-lock-keywords'.
@ -29352,7 +29352,7 @@
* loadhist.el (unload-feature): Update for new format of load-history.
Simplify the code.
* mail/rmail.el (rmail-ignored-headers): Ignore more headers
* mail/rmail.el (rmail-ignored-headers): Ignore more headers.
(rmail-font-lock-keywords): Don't fontify the text of a citation.
* mail/sendmail.el (mail-font-lock-keywords):
@ -29421,7 +29421,7 @@
(org-evaluate-time-range): Insert at point instead of directly
after time range.
(org-first-headline-recenter, org-subtree-end-visible-p)
(org-optimize-window-after-visibility-change): New functions
(org-optimize-window-after-visibility-change): New functions.
(org-agenda-post-command-hook): Don't allow point at end of line,
to make sure it always hits the text properties.
(org-agenda-next-date-line, org-agenda-previous-date-line):
@ -29603,13 +29603,13 @@
2005-04-11 Jan Djärv <jan.h.d@swipnet.se>
* dired.el (dired-mode): Use dnd-* instead of x-dnd-*
* dired.el (dired-mode): Use dnd-* instead of x-dnd-*.
(dired-dnd-handle-local-file): Call dnd-get-local-file-name.
(dired-dnd-handle-file): Call dnd-get-local-file-uri.
* cus-edit.el (dnd): New group.
* term/w32-win.el (dnd): Require dnd
* term/w32-win.el (dnd): Require dnd.
(w32-drag-n-drop): Call dnd-handle-one-url.
* x-dnd.el: Require dnd.
@ -31918,7 +31918,7 @@
* progmodes/gdb-ui.el (gdb-var-update-handler)
(gdb-speedbar-timer-fn): Ensure speedbar updates with new values
for watch expressions,
for watch expressions.
(gdb-var-create-handler): Don't set speedbar-update-flag.
(gdb-post-prompt): Simplify test for speedbar.
@ -32781,14 +32781,14 @@
2005-01-15 James R. Van Zandt <jrvz@comcast.net> (tiny change)
* progmodes/sh-script.el: Code copied from make-mode.el
with small changes,
with small changes.
(sh-mode-map): Bind C-c C-\.
(sh-backslash-column, sh-backslash-align): New variables.
(sh-backslash-region, sh-append-backslash): New functions.
2005-01-15 Sergey Poznyakoff <gray@Mirddin.farlep.net>
* mail/rmail.el: Updated to work with movemail from GNU Mailutils
* mail/rmail.el: Updated to work with movemail from GNU Mailutils.
(rmail-pop-password, rmail-pop-password-required): Move to
rmail-obsolete group.
(rmail-set-pop-password): Rename to rmail-set-remote-password.
@ -32892,7 +32892,7 @@
* textmodes/reftex-vars.el (reftex-cite-format-builtin):
Add optional arguments to most cite commands.
(reftex-cite-cleanup-optional-args): New option
(reftex-cite-cleanup-optional-args): New option.
(reftex-cite-prompt-optional-args): New option.
(reftex-trust-label-prefix): New option.

View file

@ -1498,7 +1498,7 @@
(ps-header-footer-string): Delete function.
(ps-encode-header-string-function): New variable.
(ps-generate-header-line): Call ps-encode-header-string-function.
(ps-basic-plot-string-function): New variable
(ps-basic-plot-string-function): New variable.
(ps-begin-job): Set ps-basic-plot-string-function and
ps-encode-header-string-function. For setting up headers and
footers, don't use caches such as ps-rh-cache. Don't call
@ -1588,7 +1588,7 @@
* international/mule.el (ctext-non-standard-encodings-alist):
Rename from non-standard-icccm-encodings-alist.
(ctext-non-standard-encodings-regexp): New variable
(ctext-non-standard-encodings-regexp): New variable.
(ctext-post-read-conversion): Full rewrite.
(ctext-non-standard-designations-alist): Rename from
non-standard-designations-alist.
@ -8209,7 +8209,7 @@
(allout-end-of-line): Preserve mark activation status when jumping.
(allout-open-topic): Account for opening after a child that
contains a hidden trailing newline. Preserve match data.
Run allout-structure-added-hook
Run allout-structure-added-hook.
(allout-encrypt-decrypted): Preserve match data.
(allout-toggle-current-subtree-exposure): Add new interactive
function for toggle subtree exposure - suggested by tassilo.
@ -9880,7 +9880,7 @@
(org-find-base-buffer-visiting): Catch the case that there is no
buffer visiting the file.
(org-property-or-variable-value): New function.
(org-todo): Use `org-property-or-variable-value'
(org-todo): Use `org-property-or-variable-value'.
(org-agenda-compact-blocks): New option.
(org-prepare-agenda, org-agenda-list): Use `org-agenda-compact-blocks'.
(org-agenda-schedule, org-agenda-deadline):
@ -10227,7 +10227,7 @@
* progmodes/cperl-mode.el: Merge upstream 5.23.
(cperl-where-am-i): Remove function.
(cperl-backward-to-noncomment): Don't go too far when skipping POD/HEREs
(cperl-backward-to-noncomment): Don't go too far when skipping POD/HEREs.
(cperl-sniff-for-indent): De-invert [string] and [comment].
When looking for label, skip s:m:y:tr.
(cperl-indent-line): Likewise.

View file

@ -640,7 +640,7 @@
2009-04-11 Chong Yidong <cyd@stupidchicken.com>
* files.el (dir-locals-directory-cache): Rename from
* files.el (dir-locals-directory-cache): Rename from
dir-locals-directory-alist. Change format to include
the mtime of the directory-local variables file (Bug#2833).
(dir-locals-set-directory-class): New arg mtime. Store it in
@ -8625,7 +8625,7 @@
2008-07-31 Alan Mackenzie <acm@muc.de>
* progmodes/cc-mode.el (c-before-hack-hook): New function
* progmodes/cc-mode.el (c-before-hack-hook): New function.
(Top Level): Install c-before-hack-hook on
before-hack-local-variables-hook, rather than
c-postprocess-file-styles on hack-local-variables-hook.

View file

@ -3717,9 +3717,9 @@
1986-08-07 Richard Mlynarik (mly@prep)
* rfc822.el, loaddefs.el, mail-utils.el:
Hairy address parser, used only if mail-use-rfc822 is non-nil
Hairy address parser, used only if mail-use-rfc822 is non-nil.
(It is nil by default, so if one doesn't like or need the hair of
this file, then one is never troubled by it)
this file, then one is never troubled by it.)
* disassemble.el, loaddefs.el:
Code from doug@csli.stanford.edu modified by mly.

View file

@ -2619,7 +2619,7 @@
* frame.el (frame-initialize): Fix error syntax.
(toggle-horizontal-scroll-bar): Likewise.
(toggle-horizontal-scroll-bar): Renamed from set-horizontal-bar
(toggle-horizontal-scroll-bar): Renamed from set-horizontal-bar.
(toggle-vertical-scroll-bar): Likewise.
(toggle-auto-lower, toggle-auto-raise): Likewise.
(set-foreground-color, set-background-color):
@ -10344,7 +10344,7 @@
(list-diary-entries, mark-diary-entries)
(include-other-diary-files, mark-included-diary-files):
Added the possibility of `shared diary files' with a recursive
include mechanism like the C preprocessor
include mechanism like the C preprocessor.
(list-calendar-holidays): Eliminated the 'special class of holidays,
rewriting the entire mechanism to make it more general.
(calendar-holiday-function-float): Changed the 'float class of
@ -12091,7 +12091,7 @@
1988-12-12 Richard Stallman (rms@mole.ai.mit.edu)
* telnet.el (telnet-send-input): Save input in telnet-previous-input
* telnet.el (telnet-send-input): Save input in telnet-previous-input.
(telnet-mode): Make that var buffer-local.
(telnet-copy-last-input): New fn to yank that var; now on C-c C-y.

View file

@ -193,8 +193,8 @@
ispell-menu-map, ispell-menu-lucid, and ispell-menu-map-needed
so users can more easily modify and upgrade entries.
(ispell-dictionary-alist): Once more a single variable.
(ispell-required-version): Documentation changes
(ispell-skip-sgml): Documentation changes
(ispell-required-version): Documentation changes.
(ispell-skip-sgml): Documentation changes.
(ispell-command-loop): `mode-line-format' now shows misspelled word.
(ispell-message-text-end): Can now process postscript version 1.
(ispell-message-start-skip): New variable for block skips, set up for
@ -584,7 +584,7 @@
19.28 and earlier and XEmacs 19.11 and earlier.
* ediff.el (ediff-patch-buffer): Now handles buffers that don't
visit any file.
(ediff-windows): Renamed to ediff-windows-wordwise, added
(ediff-windows): Renamed to ediff-windows-wordwise.
(ediff-windows-linewise): New function.
Changed ediff-small/large-regions to ediff-regions-wordwise/linewise.
@ -783,7 +783,7 @@
* mail-extr.el (mail-extr-all-letters-but-separators):
Reinstate \377, the bug in search.c is apparently gone.
(mail-extr-first-letters): Add 8-bit characters
(mail-extr-first-letters): Add 8-bit characters.
(mail-extr-last-letters): Ditto.
* simple.el (indent-for-comment): Move to beginning of line only
@ -889,7 +889,7 @@
(ada-end-stmt-re): Add "separate" body parts, "else", and
"package <Id> is".
(ada-subprogram-start-re): Add "entry", "protected" and
"package body"
"package body".
(ada-indent-function): Handle "elsif" the same way as "if", added
"separate" for no indent.
(ada-get-indent-type): If "type ... is .." is followed by code on
@ -1328,7 +1328,7 @@
ones the numbers of subexpressions to refer to.
(vc-cvs-status): New per-file property, only used in the CVS case.
(vc-cvs-status): New function.
(vc-log-info): Adapted to new version of vc-parse-buffer
(vc-log-info): Adapted to new version of vc-parse-buffer.
(vc-fetch-properties): Adapted to new version of vc-parse-buffer.
Better search regexp for CVS latest version.
(vc-log-info): Search for branch version only in the RCS case,
@ -1800,7 +1800,7 @@
(vc-consult-rcs-headers): New function.
(vc-branch-version): New per-file property, refers
to the RCS version selected by `rcs -b'.
(vc-workfile-version): New function. Also new per-file property
(vc-workfile-version): New function. Also new per-file property.
(vc-consult-headers): New parameter variable.
(vc-mistrust-permissions): Default set to `nil'.
(vc-locking-user): Property is now cached. The other functions
@ -2145,7 +2145,7 @@
1995-04-03 David Kågedal <davidk@lysator.liu.se>
* tempo.el (tempo-insert):
Added the P tag and modified the s tag accordingly
Added the P tag and modified the s tag accordingly.
(tempo-insert-named): Checks for valid name, insert mark otherwise.
* tempo.el (tempo-dolist): Changed (cadr ...) to (car (cdr ...)).
@ -2457,7 +2457,7 @@
(enriched-delq-1, enriched-make-list-uniq)
(enriched-make-relatively-unique, enriched-common-tail)
(enriched-reorder, enriched-insert-annotations)
(enriched-loc-annotations, enriched-annotate-change
(enriched-loc-annotations, enriched-annotate-change)
(enriched-encode-unknown): Move to format.el. Names changed.
(enriched-display-table): Copy standard table if there is one,
@ -3365,7 +3365,7 @@
(ispell-command-loop): Properly adjust screen with different settings
of ispell-choices-win-default-height.
(check-ispell-version): Use fundamental-mode as default-major-mode.
(ispell-change-dictionary): Remove unnecessary process kills
(ispell-change-dictionary): Remove unnecessary process kills.
(ispell-region): Fold sgml support in with tib checking.
(ispell-message): Skips checking of forwarded messages.
@ -3526,7 +3526,7 @@
1995-02-02 Richard Stallman <rms@pogo.gnu.ai.mit.edu>
* c-mode.el (c-mode-map): No binding for c-fill-paragraph
* c-mode.el (c-mode-map): No binding for c-fill-paragraph.
(c-fill-paragraph): Return t.
(c-mode): Put c-fill-paragraph in fill-paragraph-function.
@ -3770,7 +3770,7 @@
* tempo.el (tempo-insert-template): Quoted transient-mark-mode
Expansion around region now puts point at the first mark.
* tempo.el (tempo-region-start, tempo-region-stop): New variables
* tempo.el (tempo-region-start, tempo-region-stop): New variables.
(tempo-insert-template, tempo-insert): Don't affect the
mark. Check for Transient Mark mode.
@ -3965,7 +3965,7 @@
Keybinding for bold-italic changed from M-g o to M-g l; M-g o is
now "other".
(facemenu-justification-menu, facemenu-indentation-menu):
New submenus, moved from enriched.el
New submenus, moved from enriched.el.
(list-colors-display, facemenu-color-equal): New functions.
(facemenu-menu): Added "Display Faces" item.
(facemenu-new-faces-at-end): New variable.
@ -4554,18 +4554,18 @@
reference keys before they are used.
(bibtex-generate-autokey, bibtex-clean-entry): New function to
generate an autokey if necessary.
(bibtex-autokey-names, bibtex-autokey-name-change-strings,
bibtex-autokey-name-length, bibtex-autokey-name-separator,
bibtex-autokey-year-length, bibtex-autokey-titlewords,
bibtex-autokey-title-terminators,
bibtex-autokey-titlewords-stretch,
bibtex-autokey-titleword-first-ignore,
bibtex-autokey-titleword-abbrevs,
bibtex-autokey-titleword-change-strings,
bibtex-autokey-titleword-length,
bibtex-autokey-titleword-separator,
bibtex-autokey-name-year-separator,
bibtex-autokey-year-title-separator): New variables related to
(bibtex-autokey-names, bibtex-autokey-name-change-strings)
(bibtex-autokey-name-length, bibtex-autokey-name-separator)
(bibtex-autokey-year-length, bibtex-autokey-titlewords)
(bibtex-autokey-title-terminators)
(bibtex-autokey-titlewords-stretch)
(bibtex-autokey-titleword-first-ignore)
(bibtex-autokey-titleword-abbrevs)
(bibtex-autokey-titleword-change-strings)
(bibtex-autokey-titleword-length)
(bibtex-autokey-titleword-separator)
(bibtex-autokey-name-year-separator)
(bibtex-autokey-year-title-separator): New variables related to
bibtex-generate-autokey.
(bibtex-find-entry-location): Optional second parameter maybedup
to tell it that entering a duplicate entry isn't to report by an
@ -4591,14 +4591,14 @@
(validate-bibtex-buffer): Completely rewritten to validate, if
buffer is syntactically correct.
(find-bibtex-duplicates): Moved into validate-bibtex-buffer.
(ispell-abstract, bibtex-ispell-abstract, ispell-bibtex-entry,
bibtex-ispell-entry, beginning-of-bibtex-entry,
bibtex-beginning-of-entry, end-of-bibtex-entry,
bibtex-end-of-entry, hide-bibtex-entry-bodies,
bibtex-hide-entry-bodies, narrow-to-bibtex-entry,
bibtex-narrow-to-entry, sort-bibtex-entries, bibtex-sort-entries,
validate-bibtex-buffer, bibtex-validate-buffer,
find-bibtex-entry-location, bibtex-find-entry-location): All
(ispell-abstract, bibtex-ispell-abstract, ispell-bibtex-entry)
(bibtex-ispell-entry, beginning-of-bibtex-entry)
(bibtex-beginning-of-entry, end-of-bibtex-entry)
(bibtex-end-of-entry, hide-bibtex-entry-bodies)
(bibtex-hide-entry-bodies, narrow-to-bibtex-entry)
(bibtex-narrow-to-entry, sort-bibtex-entries, bibtex-sort-entries)
(validate-bibtex-buffer, bibtex-validate-buffer)
(find-bibtex-entry-location, bibtex-find-entry-location): All
interactive functions are renamed, so that any interface function
begins with "bibtex-". Mapping:
ispell-abstract --> bibtex-ispell-abstract
@ -4610,8 +4610,8 @@
sort-bibtex-entries --> bibtex-sort-entries
validate-bibtex-buffer --> bibtex-validate-buffer
find-bibtex-entry-location --> bibtex-find-entry-location
(bibtex-maintain-sorted-entries,
bibtex-sort-ignore-string-entries): Default is now t.
(bibtex-maintain-sorted-entries)
(bibtex-sort-ignore-string-entries): Default is now t.
(bibtex-complete-string): String list is built from additional
string list bibtex-predefined-string and current strings in file.
(string-equalp): Deleted and substituted by string-equal.
@ -4633,8 +4633,8 @@
(bibtex-current-entry-label, put-string-on-kill-ring): Deleted
(AUCTeX provides all the functionality needed for citation
completion).
(bibtex-enclosing-reference, bibtex-pop-previous, bibtex-pop-next,
bibtex-clean-entry): Hacked for speed (bibtex-pop-previous and
(bibtex-enclosing-reference, bibtex-pop-previous, bibtex-pop-next)
(bibtex-clean-entry): Hacked for speed (bibtex-pop-previous and
bibtex-pop-next were to slow for larger BibTeX files).
(bibtex-pop-previous, bibtex-pop-next): Delimiters from previous
or next entry are changed to actual delimiters if necessary.
@ -4657,7 +4657,7 @@
bibtex-pop-next didn't work, probably due to a bug in
re-search-forward).
(several functions): Added support for {} as field delimiters
(better than '"' for accented characters.
(better than '"' for accented characters).
(bibtex-clean-entry): If optional field crossref is empty or
missing, former optional fields (if bibtex-include-OPTcrossref was
t) are necessary again. bibtex-clean-entry complains if they are
@ -4825,8 +4825,8 @@
1994-12-09 Ken Stevens <stevensk@afit.af.mil>
* ispell.el: Added ispell-offset for version consistency.
(ispell-dictionary-alist): Updated dictionaries & better match defaults
(ispell-alternate-dictionary): Added /usr/shar path
(ispell-dictionary-alist): Updated dictionaries & better match defaults.
(ispell-alternate-dictionary): Added /usr/shar path.
(ispell-menu-map-needed): Redo changes that made this incompatible
with earlier versions of Emacs19.
(ispell-required-version): Changed to assure version 3.1.12 accessed.
@ -6112,7 +6112,7 @@
1994-10-07 Richard Stallman <rms@mole.gnu.ai.mit.edu>
* mouse.el (mouse-major-mode-menu): New function, on C-mouse-3.
(mouse-major-mode-menu-1): New function
(mouse-major-mode-menu-1): New function.
(mouse-set-font): Move it to C-mouse-2.
* font-lock.el (font-lock-defaults-alist): Delete most modes--all
@ -6534,7 +6534,7 @@
* cc-mode.el (c-progress-info, c-progress-init)
(c-progress-update, c-progress-fini):
New vars/defuns for better long indentation progress reporting
New vars/defuns for better long indentation progress reporting.
(c-indent-exp, c-indent-region): Use them.
* cc-mode.el (c-guess-basic-syntax):
@ -6542,7 +6542,7 @@
find proper relpos of an arglist-cont.
* cc-mode.el (c-offset-alist-default):
statement-case-open default offset is zero
statement-case-open default offset is zero.
(c-skip-case-statement-forward): New function.
(c-guess-basic-syntax): CASE 15: use c-skip-case-statement-forward in
proper places to find the real relpos of statement's inside switch
@ -8795,9 +8795,9 @@
`gnus-uu-asynchronous' variable set.
(gnus-uu-ctl-map): Removed the keystrokes `C-c C-v C-h' and
`C-c C-v h' from the keymap.
(gnus-uu-decode-and-view-all-articles,
(gnus-uu-decode-and-view-all-unread-articles,
(gnus-uu-decode-and-save-all-unread-articles,
(gnus-uu-decode-and-view-all-articles)
(gnus-uu-decode-and-view-all-unread-articles)
(gnus-uu-decode-and-save-all-unread-articles)
(gnus-uu-decode-and-save-all-articles): Accept prefix arg for # files.
(gnus-uu-uustrip-article-as): Waits for uudecode to finish before
further treatment of the resulting files.

View file

@ -1420,7 +1420,7 @@
Added default constants.
(simula-emacs-features): New constant to hold information
on which flavor if emacs is running (from cc-mode.el).
(simula-mode-menu): Menu definition for Lucid Emacs
(simula-mode-menu): Menu definition for Lucid Emacs.
(simula-mode-map): Bound new command simula-indent-exp to C-M-q
and added lots of commands to [menu-bar].
(simula-popup-menu): New function for Lucid menus.
@ -1577,7 +1577,7 @@
(gomoku-winning-qtuple-beg, gomoku-winning-qtuple-end)
(gomoku-winning-qtuple-dx, gomoku-winning-qtuple-dy): Pseudo variables
only used for non-functional argument passing deleted.
(gomoku-cross-winning-qtuple): Accordingly deleted function and
(gomoku-cross-winning-qtuple): Accordingly deleted function.
(gomoku-check-filled-qtuple): Accordingly adapted.
(gomoku-cross-qtuple): Don't be confused by tabs.
(gomoku-move-down, gomoku-move-up): Simplified because point is always
@ -2455,7 +2455,7 @@
* ediff-init.el (ediff-hide-face): New function.
(ediff-collect-diffs-metajob): Fixed.
(ediff-check-for-cl-seq): Function deleted
(ediff-check-for-cl-seq): Function deleted.
(ediff-abbreviate-file-name): Now a defun.
(ediff-has-face-support-p): New function. Ediff now supports
faces whenever possible.
@ -2475,7 +2475,7 @@
(run-ediff-from-cvs-buffer): New function. Moved all
version-control-related stuff to a new file, ediff-vers.el.
* ediff-util.el (ediff-save-buffer-in-file): New function
* ediff-util.el (ediff-save-buffer-in-file): New function.
(ediff-visible-region): No longer narrows the merge buffer.
(ediff-status-info): Now tells if we are focusing on regions where
both buffers differ from the ancestor.
@ -5884,7 +5884,7 @@
* ediff-meta.el: New file.
* ediff-hook.el: New file.
* ediff.el: Moved menubar definitions to a new file, ediff-hook.el
* ediff.el: Moved menubar definitions to a new file, ediff-hook.el.
(ediff-files, ediff-merge-files): Better file-name defaults.
(ediff-split-string): New function.
(ediff-exec-process): Now handles diff args separated by space.
@ -6855,11 +6855,11 @@
1995-08-15 Daniel Pfeiffer <Daniel.Pfeiffer@Informatik.START.dbp.de>
* skeleton.el (skeleton-pair-insert-maybe): Plain insert in Ovwrt mode
* skeleton.el (skeleton-pair-insert-maybe): Plain insert in Ovwrt mode.
(skeleton-insert): If skeleton doesn't fit in window, put beginning
at top before going to _ point.
(skeleton-internal-list): Rewritten so that resume: sections pertain
only to inferior skeletons and make str available there
only to inferior skeletons and make str available there.
(skeleton-read): Don't quit and remove partial skeleton when empty
string entered for outer iterator. Added implicit argument `input'.
(define-skeleton, skeleton-insert, skeleton-internal-list): Use `x
@ -7301,7 +7301,7 @@
1995-07-22 Daniel Pfeiffer <Daniel.Pfeiffer@Informatik.START.dbp.de>
* apropos.el: Add latest changes of old library and some more.
(apropos): Only show unbound symbols when do-all
(apropos): Only show unbound symbols when do-all.
(apropos-documentation-check-elc-file): New copied function.
(apropos-command): Also use `apropos-do-all' when called as function.
(apropos-print-doc): Renamed from `apropos-print-documentation', i
@ -7632,7 +7632,7 @@
(apropos-use-faces, apropos-local-map): New variables.
(apropos-command): New name for `command-apropos' no longer in help.el.
(apropos-value): New command.
(apropos-documentation): New name for `super-apropos'
(apropos-documentation): New name for `super-apropos'.
(apropos-follow, apropos-mouse-follow): New commands for hypertext.
(apropos-describe-plist): New function.
@ -7644,8 +7644,8 @@
* skeleton.el: Partly rewritten and extended.
(skeleton-filter, skeleton-untabify, skeleton-further-elements)
(skeleton-abbrev-cleanup): New variables
(skeleton-proxy, skeleton-abbrev-cleanup): New functions
(skeleton-abbrev-cleanup): New variables.
(skeleton-proxy, skeleton-abbrev-cleanup): New functions.
(skeleton-insert): Sublanguage element < must now be handled via
`skeleton-further-elements' (used only in sh-script and ada). Lisp
expressions can be quoted to ignore the return value.
@ -7798,7 +7798,7 @@
1995-06-29 David M. Smith <D.M.Smith@lancaster.ac.uk>
* ielm.el (ielm-font-lock-keywords): New variable
* ielm.el (ielm-font-lock-keywords): New variable.
(inferior-emacs-lisp-mode): Use it for font-lock support
1995-06-29 Bryan O'Sullivan <bos@Eng.Sun.COM>

View file

@ -7738,7 +7738,7 @@
1997-12-09 Kenichi HANDA <handa@nora.etl.go.jp>
* language/korea-util.el (setup-korean-environment):
Bind C-f9 (intead of C-f10) to quail-hangul-switch-symbol-ksc.
Bind C-f9 (instead of C-f10) to quail-hangul-switch-symbol-ksc.
* language/korean.el: Documentation for "Korean" language
environment adjusted for the above change.

View file

@ -104,7 +104,7 @@
version numbering regexp list
change-log-version-number-regexp-list.
(change-log-find-version): Renamed to
change-log-version-number-search
change-log-version-number-search.
(add-log-file-name-function): New.
(change-log-search-vc-number): Added END parameter. Added doc
string to function.
@ -338,7 +338,7 @@
1999-12-15 Carsten Dominik <dominik@astro.uva.nl>
* textmodes/reftex.el (reftex-compile-variables): Respect new
structure of `reftex-index-macro'
structure of `reftex-index-macro'.
(reftex-compile-variables): Use the changed structure of
`reftex-label-alist'.
@ -448,7 +448,7 @@
ps-mule-prepare-cmpchar-font): Deleted.
(ps-mule-string-encoding): New arg NO-SETFONT.
(ps-mule-bitmap-prologue): In Postscript code of BuildGlyphCommon,
check Composing, not Cmpchar
check Composing, not Cmpchar.
(ps-mule-initialize): Set ps-mule-composition-prologue-generated
to nil.
(ps-mule-begin-job): Check existence of new composition.
@ -978,7 +978,7 @@
(font-lock-add-keywords): Rename `major-mode' into `mode'.
(font-lock-remove-keywords): Added a dummy `mode' argument for
potential future support.
(font-lock-fontify-anchored-keywords,
(font-lock-fontify-anchored-keywords)
(font-lock-fontify-keywords-region): Only handle multiline strings
if necessary (avoids a pathological behavior in (f.ex) diff-mode).
@ -1603,7 +1603,7 @@
the new backquote syntax.
(smbclient-program, smbclient-program-options)
(smbclient-prompt-regexp, smbclient-font-lock-keywords): New
variables
variables.
(smbclient, smbclient-list-shares): New functions
1999-11-12 Sam Steingold <sds@ksp.com>
@ -1858,7 +1858,7 @@
* whitespace.el: Test for existence of `defcustom' and `defgroup'
using fboundp instead of assuming that these are not present in
particular flavors of emacs.
(whitespace-version): Update to 2.8
(whitespace-version): Update to 2.8.
(whitespace-display-in-modeline): Add custom variable to control
displaying the whitespace errors on the modeline based on
suggestion from <klaus.berndl@sdm.de>
@ -2136,17 +2136,17 @@
1999-10-19 Peter Kleiweg <kleiweg@let.rug.nl>
* progmodes/ps-mode.el (ps-mode-print-function): Fix default
value: \"lpr\" changed to "lpr"
(ps-mode-version): New constant
(ps-mode-show-version): New function, added key in ps-mode-map
(ps-run-messages): Removed
value: \"lpr\" changed to "lpr".
(ps-mode-version): New constant.
(ps-mode-show-version): New function, added key in ps-mode-map.
(ps-run-messages): Removed.
(ps-run-font-lock-keywords-2): New defcustom variable replacing
ps-run-messages. These keywords now include the value of
ps-run-prompt, making its fontification customizable.
(ps-run-init): Removed \\n from docstring, it is now added when
the value is used
the value is used.
(ps-run-font-lock-keywords-1): Added checking for initial ^ in
ps-run-prompt
ps-run-prompt.
(ps-mode): Added ps-run-font-lock-keywords-2 to list of
customizable variables in doc-string (its equivalent
ps-run-messages was missing in previous version of the doc-string).
@ -2271,7 +2271,7 @@
1999-10-14 Stefan Monnier <monnier@cs.yale.edu>
* ange-ftp.el (ange-ftp-make-tmp-name, ange-ftp-del-tmp-name):
* browse-url.el (browse-url-of-buffer, browse-url-delete-temp-file),
* browse-url.el (browse-url-of-buffer, browse-url-delete-temp-file)
(browse-url-temp-file-list, browse-url-delete-temp-file-list):
* ediff-util.el (ediff-make-temp-file):
* ediff-vers.el (ediff-pcl-cvs-view-revision):
@ -2830,7 +2830,7 @@
(custom-buffer-create-internal): Obey custom-raised-buttons,
Custom-buffer-done.
(custom-button-face): Make it `released-button'.
(custom-button-pressed-face): Make it `pressed-button'
(custom-button-pressed-face): Make it `pressed-button'.
(custom-mode-map): Bind "q" to Custom-buffer-done.
(custom-mode): Deal with raised/pressed buttons.
@ -2987,7 +2987,7 @@
font-lock-defaults setting.
(java-properties-generic-mode): Supports both ! and # as comment
characters.
(java-properties-generic-mode): Added an imenu-generic-expression
(java-properties-generic-mode): Added an imenu-generic-expression.
(java-properties-generic-mode): Reworked to support the various
different ways to separate name and value (viz, '=', ':' and
whitespace).
@ -3483,7 +3483,7 @@
(reftex-toc-find-section): Use new version of `reftex-nearest-match'.
(reftex-insert-docstruct): Adapted to work with the index stuff.
(reftex-parse-from-file): Find index entries as well.
(reftex-toc-toggle-index): New function
(reftex-toc-toggle-index): New function.
(reftex-toc-map): `i' is now used to toggle the index, File
boundaries has been moved to `F'.
(reftex-select-label-map): Toggling display of file boundaries is
@ -3506,7 +3506,7 @@
(reftex-index-section-letters, reftex-index-include-context)
(reftex-index-follow-mode, reftex-index-header-face)
(reftex-index-section-face, reftex-index-tag-face)
(reftex-index-face): New options
(reftex-index-face): New options.
(reftex-index-map, reftex-index-menu, reftex-last-index-file)
(reftex-index-tag, reftex-index-return-marker)
(reftex-index-restriction-indicator, reftex-index-restriction-data)
@ -3514,9 +3514,9 @@
(reftex-index-key-end-re, reftex-find-index-entry-regexp-format)
(reftex-everything-regexp-no-index, reftex-index-re)
(reftex-macros-with-index, reftex-index-macro-alist): New variables.
(reftex-index-help, reftex-index-macros-builtin,
(reftex-index-help, reftex-index-macros-builtin)
(reftex-key-to-index-macro-alist, reftex-query-index-macro-prompt)
(reftex-query-index-macro-help): New constants
(reftex-query-index-macro-help): New constants.
(reftex-index-selection-or-word, reftex-index)
(reftex-default-index, reftex-update-default-index)
(reftex-index-complete-tag, reftex-index-select-tag)
@ -3607,7 +3607,7 @@
window; and poles can be oriented horizontally. Face support is
thrown in gratuitously.
(hanoi): Changed default number of rings back to 3.
(hanoi-unix, hanoi-unix-64): New commands
(hanoi-unix, hanoi-unix-64): New commands.
(hanoi-horizontal-flag, hanoi-move-period, hanoi-use-faces,
hanoi-pole-face, hanoi-base-face, hanoi-even-ring-face,
hanoi-odd-ring-face): New variables.
@ -5777,20 +5777,20 @@
1999-03-12 Eric M. Ludlam <zappo@ultranet.com>
* speedbar.el: Added commentary about stealthy functions.
(speedbar-message) new function.
(speedbar-y-or-n-p): New function
(speedbar-with-attached-buffer) Moved macro before reference.
(speedbar-message): New function.
(speedbar-y-or-n-p): New function.
(speedbar-with-attached-buffer): Moved macro before reference.
Now uses `save-selected-window'.
(speedbar-mouse-hscroll, speedbar-track-mouse, speedbar-refresh,
speedbar-generic-item-info, speedbar-item-info-file-helper,
speedbar-item-delete, speedbar-insert-generic-list,
speedbar-timer-fn, speedbar-check-vc-this-line,
speedbar-check-obj-this-line, speedbar-fetch-dynamic-etags,
speedbar-buffers-item-info) Use speedbar-message.
(speedbar-item-info) Limit `message-log-max'.
(speedbar-item-load, speedbar-item-copy, speedbar-item-rename,
speedbar-item-delete, speedbar-item-object-delete,
speedbar-buffer-kill-buffer) Use speedbar-y-or-n-p.
(speedbar-mouse-hscroll, speedbar-track-mouse, speedbar-refresh)
(speedbar-generic-item-info, speedbar-item-info-file-helper)
(speedbar-item-delete, speedbar-insert-generic-list)
(speedbar-timer-fn, speedbar-check-vc-this-line)
(speedbar-check-obj-this-line, speedbar-fetch-dynamic-etags)
(speedbar-buffers-item-info): Use speedbar-message.
(speedbar-item-info): Limit `message-log-max'.
(speedbar-item-load, speedbar-item-copy, speedbar-item-rename)
(speedbar-item-delete, speedbar-item-object-delete)
(speedbar-buffer-kill-buffer): Use speedbar-y-or-n-p.
1999-03-10 Kenichi Handa <handa@mulelab.etl.go.jp>
@ -6230,7 +6230,7 @@
1999-02-12 Alex Schroeder <a.schroeder@bsiag.ch>
* sql.el: Set version to 1.3.2
* sql.el: Set version to 1.3.2.
(sql-solid-program): Added support for solid.
(sql-help): Doc mentions sql-solid.
(sql-solid): Entry function for Solid.
@ -6384,7 +6384,7 @@
coding-system-list here.
* international/mule.el (coding-system-lessp): Moved here from
mule-util.el
mule-util.el.
(add-to-coding-system-list): New function.
(make-subsidiary-coding-system, make-coding-system,
define-coding-system-alias): Use it instead of setting
@ -6721,7 +6721,7 @@
(speedbar-add-mode-functions-list) Improve doc.
(speedbar-line-token) New function.
(speedbar-dired) Fix order of directories in -shown-directories.
(speedbar-line-path): Default return is default-directory
(speedbar-line-path): Default return is default-directory.
(speedbar-buffers-line-path): Return is dir name only.
(speedbar-mode-functions-list): New variable.
(speedbar-mouse-item-info): Rewrote to be a replaceable fn.
@ -7321,7 +7321,7 @@
1998-12-29 Masatake Yamato <masata-y@tori.aist-nara.ac.jp>
* page-ext.el: Added mouse-selection feature for pages directory buffer.
(pages-directory-map): Bind mouse-2
(pages-directory-map): Bind mouse-2.
(pages-copy-header-and-position): Put text property.
(pages-directory-goto-with-mouse): New function.
@ -7399,7 +7399,7 @@
(cperl-after-block-p): Likewise.
(cperl-after-block-and-statement-beg): Likewise.
(cperl-after-block-p): After END/BEGIN we are a block.
(cperl-after-expr-p): Skip labels when checking
(cperl-after-expr-p): Skip labels when checking.
(cperl-indent-region): Make a marker for END - text added/removed.
Disable hooks during the call (how to call them later?).
Now indents 820-line-long function in 6.5 sec (including
@ -7462,7 +7462,7 @@
(cperl-fix-line-spacing): Sped up to bail out early.
(x-color-defined-p): Was not compiling on XEmacs
Was defmacro'ed with a tick. Remove another def.
(cperl-clobber-lisp-bindings): If set, C-c variants are the old ones
(cperl-clobber-lisp-bindings): If set, C-c variants are the old ones.
(cperl-unwind-to-safe): New function.
(cperl-fontify-syntaxically): Use `cperl-unwind-to-safe' to start at
reasonable position.
@ -7512,7 +7512,7 @@
(cperl-etags-goto-tag-location): New macro.
(cperl-version): New variable. New menu entry
random docstrings: References to "future" 20.3 removed.
Menu was described as `CPerl' instead of `Perl'
Menu was described as `CPerl' instead of `Perl'.
(perl-font-lock-keywords): Would not highlight `sub foo($$);'.
(cperl-toggle-construct-fix): Was toggling to t instead of 1.
(cperl-ps-print-init): Associate `cperl-array-face', `cperl-hash-face'
@ -8808,14 +8808,14 @@
enable-kinsoku.
* simple.el (do-auto-fill): Don't check kinsoku-enable here.
Don't call kinsoku directly, intead call fill-find-break-point.
Don't call kinsoku directly, instead call fill-find-break-point.
* textmodes/fill.el: Setup `fill-find-break-point-function'
property to character sets which require `kinsoku' processing for
filling.
(fill-find-break-point): New function.
(fill-region-as-paragraph): Don't check kinsoku-enable here.
Don't call kinsoku directly, intead call fill-find-break-point.
Don't call kinsoku directly, instead call fill-find-break-point.
1998-10-18 Richard Stallman <rms@psilocin.ai.mit.edu>
@ -8972,7 +8972,7 @@
set unconditional-jump to nil.
(ccl-compile-read-multibyte-character): Return nil.
(ccl-compile-write-multibyte-character): Likewise.
(ccl-compile-translate-character): Likewise
(ccl-compile-translate-character): Likewise.
(ccl-compile-map-multiple): Likewise.
(ccl-compile-map-single): Likewise.
@ -9055,7 +9055,7 @@
* net-utils.el (ftp, nslookup): Require comint.
(network-service-connection): Likewise.
(whois-server-name): Defaults to whois.arin.net
(whois-server-name): Defaults to whois.arin.net.
(whois-server-list, whois-server-tld, whois-guess-server): New var.
(whois): Tries to guess the appropriate top-level domain server.
(whois-get-tld): New function.
@ -9599,7 +9599,7 @@
(reftex-view-cr-cite, reftex-view-cr-ref, reftex-end-of-bib-entry):
New functions.
(reftex-auto-view-crossref): New value `window' allowed.
(reftex-view-crossref-when-idle): Process new `window' option in
(reftex-view-crossref-when-idle): Process new `window' option.
(reftex-translate-to-ascii-function): New default.
(reftex-label-illegal-re): Default changed, removed Latin1.
(reftex-latin1-to-ascii): New function.
@ -9639,7 +9639,7 @@
(checkdoc-this-string-valid): When converting a comment into a doc
string, make sure " chars are \".
(checkdoc-sentencespace-region-engine): Only do double space check
if based on the variable `sentence-end-double-space'
if based on the variable `sentence-end-double-space'.
(checkdoc-this-string-valid-engine): ? ends valid sentence.
(checkdoc-proper-noun-region-engine): Exclude items in URLs

View file

@ -242,8 +242,8 @@
(cperl-find-pods-heres): Could access `font-lock-comment-face' in -nw.
No -nw-compile time warnings now.
(cperl-find-tags): TAGS file had too short substring-to-search.
Be less verbose in non-interactive mode
(imenu-example--create-perl-index): Set index-marker after name
Be less verbose in non-interactive mode.
(imenu-example--create-perl-index): Set index-marker after name.
(cperl-outline-regexp): New variable.
(cperl-outline-level): Made compatible with `cperl-outline-regexp'.
(cperl-mode): Made use `cperl-outline-regexp'.
@ -479,7 +479,7 @@
(help-setup-xref, help-xref-following, help-make-xrefs)
(help-xref-button, help-insert-xref-button, help-xref-interned)
(help-xref-go-back, help-go-back, help-do-xref, help-follow)
(help-xref-on-pp): Functions moved into `help-mode.el'
(help-xref-on-pp): Functions moved into `help-mode.el'.
(help-mode-map, help-xref-stack, help-xref-stack-item)
(help-highlight-p, help-highlight-face, help-back-label)
(help-xref-symbol-regexp, help-xref-mule-regexp)
@ -1188,7 +1188,7 @@
2001-09-07 Eli Zaretskii <eliz@is.elta.co.il>
* textmodes/ispell.el (ispell-dictionary-alist-4): Add "german"
and "german8", for the new German orthography dictionaries,
and "german8", for the new German orthography dictionaries.
(ispell-dictionary-alist-5, ispell-dictionary-alist-6): Rearrange
the entries, to keep the line length balanced for loaddefs.el.
@ -1667,7 +1667,7 @@
* Makefile.in (finder_setwins): Renamed from nonobsolete_setwins.
Don't include term/.
* mail/sc.el: Moved to obsolete/.
* mail/sc.el: Moved to obsolete/.
2001-08-14 Vinicius Jose Latorre <vinicius@cpqd.com.br>
@ -2072,7 +2072,7 @@
* ediff-init.el (ediff-with-syntax-table): New macro, uses
with-syntax-table.
(ediff-coding-system-for-read): From ediff-diff.el
(ediff-coding-system-for-read): From ediff-diff.el.
(ediff-coding-system-for-write): New variable.
(ediff-highest-priority): Fixed the bug having to do with disappearing
overlays.
@ -5547,7 +5547,7 @@
2001-02-12 Dave Love <d.love@dl.ac.uk>
* international/latin1-disp.el: Doc fixes.
* international/latin1-disp.el: Doc fixes.
(latin1-display) <defgroup>: Add :link.
(latin1-display) <function>: Set variable latin1-display.
@ -5978,7 +5978,7 @@
* shell.el (shell-write-history-on-exit): Make sure that we are in
the shell buffer (M-x tex-file RET inserted the error message into
the TeX buffer).
the TeX buffer).
2001-01-27 Eli Zaretskii <eliz@is.elta.co.il>
@ -6812,7 +6812,7 @@
to nil.
* tooltip.el (tooltip-frame-parameters): Remove colors.
(tooltip): New face
(tooltip): New face.
(tooltip-set-param): New function.
(tooltip-show): Set up color frame parameters from face `tooltip'.
Display the tooltip text in face `tooltip'.
@ -8747,7 +8747,7 @@
2000-11-13 Miles Bader <miles@gnu.org>
* textmodes/fill.el (skip-line-prefix): New function.
(fill-region-as-paragraph, fill-region): Return the fill-prefix.
(fill-region-as-paragraph, fill-region): Return the fill-prefix.
(fill-paragraph): Don't leave point inside the fill-prefix.
* textmodes/refill.el (refill-fill-paragraph-at): Don't leave
point inside the fill-prefix.
@ -8804,7 +8804,7 @@
2000-11-12 Dave Love <fx@gnu.org>
* mail/feedmail.el: Fix header,
* mail/feedmail.el: Fix header.
(feedmail) <defgroup>: Add :link.
* view.el: Use local-map property, not keymap on mode-line string.
@ -10715,7 +10715,7 @@
* iswitchb.el (iswitchb-mode): Add :require.
* info.el (Info-goto-node, Info-menu): Doc fix.
(Info-mode-menu): Bind beginning-of-buffer, Info-edit
(Info-mode-menu): Bind beginning-of-buffer, Info-edit.
(info-tool-bar-map): New variable.
(Info-mode): Use it.
(Info-edit-map): Define all in defvar.
@ -10795,7 +10795,7 @@
2000-10-06 Dave Love <fx@gnu.org>
* textmodes/fill.el (sentence-end-double-space)
(sentence-end-without-period): Doc fix.
(sentence-end-without-period): Doc fix.
(adaptive-fill-regexp): Purecopy.
(unjustify-current-line): Use line-end-position.
(fill-individual-paragraphs-prefix): Use line-beginning-position.
@ -11010,7 +11010,7 @@
* net/net-utils.el (nslookup-font-lock-keywords)
(ftp-font-lock-keywords, smbclient-font-lock-keywords):
Only set if window-system is non-nil
Only set if window-system is non-nil.
(net-utils-run-program): Returns buffer.
(network-connection-reconnect): Added this function.
@ -11025,13 +11025,13 @@
(generic-mode-alist): Renamed to generic-mode-list.
(generic-find-file-regexp): Default changed to "^#".
(generic-read-type): Uses completing read on generic-mode-list.
(generic-mode-sanity-check): removed this function.
(generic-add-to-auto-mode): Removed this function
(generic-mode-sanity-check): Removed this function.
(generic-add-to-auto-mode): Removed this function.
(generic-mode-internal): Bind mode-specific definitions
into function instead of putting them in alist.
(generic-mode-set-comments): Reworked extensively.
(generic-mode-find-file-hook): Simplified regexp searching
(generic-make-keywords-list): Omit extra pair of parens
(generic-mode-find-file-hook): Simplified regexp searching.
(generic-make-keywords-list): Omit extra pair of parens.
* find-lisp.el (find-lisp-find-files-internal):
Make sure directory name ends with "/".
@ -11040,7 +11040,7 @@
Regexp now allows leading whitespace.
(rc-generic-mode): Added eval-when-compile
around generic-make-keywords-list.
Deleted duplicate regexp
Deleted duplicate regexp.
(rul-generic-mode): Added eval-when-compile
around generic-make-keywords-list.
(etc-fstab-generic-mode): New generic mode.
@ -11356,7 +11356,7 @@
(comint-insert-clicked-input): Be more careful to find the overlay.
Use this-command-keys rather than hardcoding mouse-2.
* font-lock.el: Replace confusing (,@ with ,
* font-lock.el: Replace confusing (,@ with ,.
(tex-font-lock-keywords-1, tex-font-lock-keywords-2):
Don't use regexp-opt-depth. Spice up the regexp for args.
Don't distinguish between cmds that can take an opt arg or not.
@ -11871,7 +11871,7 @@
* strokes.el: Sync with maintainer's current version with changes
for Emacs, but avoid runtime cl and levents.
(toplevel): Change autoloads and compilation requires.
(toplevel): Change autoloads and compilation requires.
(strokes-version, strokes-bug-address, strokes-lift): Values
changed.
(strokes-xpm-header, strokes-insinuated): New variable.
@ -11885,7 +11885,7 @@
New functions, used instead of non-`strokes-' versions..
(strokes-mouse-event-p): Rewritten.
(strokes-event-closest-point): Avoid event-point.
(strokes-get-grid-position): Avoid cdadr, caadr
(strokes-get-grid-position): Avoid cdadr, caadr.
(strokes-read-stroke, strokes-read-complex-stroke): Avoid levents
functions.
(strokes-help): Use with-output-to-temp-buffer.
@ -11934,12 +11934,12 @@
2000-09-14 Dave Love <fx@gnu.org>
* toolbar/cancel.xpm, toolbar/close.xpm, toolbar/copy.xpm,
toolbar/cut.xpm, toolbar/exit.xpm, toolbar/fld_open.xpm,
toolbar/help.xpm, toolbar/info.xpm, toolbar/mail.xpm,
toolbar/mail_compose.xpm, toolbar/new.xpm, toolbar/open.xpm,
toolbar/paste.xpm, toolbar/preferences.xpm, toolbar/print.xpm,
toolbar/save.xpm, toolbar/saveas.xpm, toolbar/search-replace.xpm,
toolbar/search.xpm, toolbar/spell.xpm, toolbar/undo.xpm: New.
* toolbar/cut.xpm, toolbar/exit.xpm, toolbar/fld_open.xpm,
* toolbar/help.xpm, toolbar/info.xpm, toolbar/mail.xpm,
* toolbar/mail_compose.xpm, toolbar/new.xpm, toolbar/open.xpm,
* toolbar/paste.xpm, toolbar/preferences.xpm, toolbar/print.xpm,
* toolbar/save.xpm, toolbar/saveas.xpm, toolbar/search-replace.xpm,
* toolbar/search.xpm, toolbar/spell.xpm, toolbar/undo.xpm: New.
From Tuomas Kuosmanen <tigert@gimp.org>. (Gnome icons fetched
from <URL:http://tigert.gimp.org/gnome/gnome-stock/>.)
@ -14110,14 +14110,14 @@
* locate.el (locate): Cleaned up locate command's interactive prompting
Thanks to François_Pinard <pinard@iro.umontreal.ca> for suggestions.
* filecache.el (file-cache-case-fold-search): New variable
(file-cache-assoc-function): New variable
* filecache.el (file-cache-case-fold-search): New variable.
(file-cache-assoc-function): New variable.
(file-cache-minibuffer-complete): Use file-cache-assoc-function.
Use file-cache-case-fold-search variable
(file-cache-add-file): Use file-cache-assoc-function
(file-cache-delete-file): likewise
(file-cache-directory-name): likewise
(file-cache-debug-read-from-minibuffer): likewise
Use file-cache-case-fold-search variable.
(file-cache-add-file): Use file-cache-assoc-function.
(file-cache-delete-file): Likewise.
(file-cache-directory-name): Likewise.
(file-cache-debug-read-from-minibuffer): Likewise.
2000-08-28 Gerd Moellmann <gerd@gnu.org>
@ -14191,12 +14191,12 @@
* international/ja-dic-cnv.el: Renamed from skkdic-cnv.el.
Provide ja-dic-cnv instead of skkdic-cnv.
(ja-dic-filename): Renamed from skkdic-filename. Referers changed
(ja-dic-filename): Renamed from skkdic-filename. Referers changed.
(iso-2022-7bit-short): Add safe-charsets property.
(skkdic-convert-postfix): Search Japanese chou-on character in
addition to Hiragana character.
(skkdic-convert-prefix, skkdic-collect-okuri-nasi): Likewise.
(skkdic-convert): Change file names from skkdic.el to ja-dic.el
(skkdic-convert): Change file names from skkdic.el to ja-dic.el.
(batch-skkdic-convert): Likewise.
* international/ja-dic-utl.el: Renamed from skkdic-utl.el.
@ -14389,12 +14389,12 @@
(ispell-dictionary-alist-4): Fixed regexp in francais-tex
dictionary, added italiano dictionary.
(ispell-skip-region-alist): Removed regexp thrashing when `-' is a
word character
word character.
(ispell-tex-skip-alists): Added psfig support.
(ispell-skip-html): Renamed from ispell-skip-sgml.
(ispell-begin-skip-region-regexp, ispell-skip-region)
(ispell-minor-check): Improved html skipping support to skip across
code, and recognize `&' commands without proper `;' syntax;
code, and recognize `&' commands without proper `;' syntax.
(ispell-process-line): Fix alignment error when manually
correcting spelling.
(ispell): Fix comment string.
@ -14515,7 +14515,7 @@
(goto-address-url-face, goto-address-url-mouse-face)
(goto-address-mail-face, goto-address-mail-mouse-face): Doc fix.
(goto-address-url-regexp): Use thing-at-point-url-regexp.
(goto-address-fontify, goto-address-at-mouse): Simplify,
(goto-address-fontify, goto-address-at-mouse): Simplify.
(goto-address-at-point): browse-url-url-at-point,
goto-address-find-address-at-point can return nil.
(goto-address-find-address-at-point): Return nil on failure.
@ -14832,7 +14832,7 @@
(comint-replace-by-expanded-history)
(comint-get-old-input-default, comint-show-output)
(comint-backward-matching-input, comint-forward-matching-input)
(comint-next-prompt, comint-previous-prompt): Use field
(comint-next-prompt, comint-previous-prompt): Use field
properties if comint-use-prompt-regexp-instead-of-fields is nil.
(comint-line-beginning-position): New function.
(comint-bol): Use comint-line-beginning-position. Make ARG optional.
@ -15501,23 +15501,23 @@
ada-xref.el before ada-prj.el, so that the Project menu is created
when ada-prj tries to add to it.
(ada-activate-keys-for-case): Suppress the characters that are not
part of the Ada syntax. Better compatibility with else-mode
part of the Ada syntax. Better compatibility with else-mode.
(ada-adjust-case-interactive): When auto-casing is not active,
correctly insert newlines (used to insert only ^M). Prevent the
syntax table from being changed in case of an error
(or '_' becomes part of a word and some commands are confused).
Do nothing if ada-auto-case is nil.
(ada-after-keyword-p): Ignore keywords that are also attributes
(ada-batch-reformat): Update usage comment
(ada-call-from-contextual-menu): New function
(ada-after-keyword-p): Ignore keywords that are also attributes.
(ada-batch-reformat): Update usage comment.
(ada-call-from-contextual-menu): New function.
(ada-case-read-exceptions): Reinitialize the casing exception list
first to nil first, so that the casing exception file can be
shared.
(ada-check-defun-name): Handles "configure" keyword for gnatdist
files.
(ada-compile-goto-error): Fix regexp used to detect a file:line
anywhere in the error message
(ada-contextual-menu-last-point): New variable
anywhere in the error message.
(ada-contextual-menu-last-point): New variable.
(ada-create-keymap): If the variable delete-key-deletes-forward is
t on XEmacs, it means that DEL should delete one character
forward.
@ -15544,21 +15544,21 @@
are not in fact seeing "end if". Ignore "when" statements except
when initial keyword was "begin". Fix handling of nested
procedures. Add a recursive call to this function to skip over
other 'end' statmts. Fix indentation for "when .. => begin"
other 'end' statmts. Fix indentation for "when .. => begin".
(ada-in-open-paren-p): Fix indentation for complex boolean
expressions, where 'and then', 'or else' and parenthesis
statements are mixed up.
(ada-in-paramlist-p): Skip comments while searching for the
beginning Fix handling of operator declarations.
(ada-indent-align-comments): New variable
(ada-indent-align-comments): New variable.
(ada-indent-current): Change the syntax table only in the
protected section, so that we are sure it is restored correctly.
(ada-indent-on-previous-lines): Use ada-use-indent and
ada-with-indent Correctly indent "select ... then"
ada-with-indent. Correctly indent "select ... then".
(ada-indent-region): Slight speedup.
(ada-indent-renames): New variable.
(ada-last-which-function-subprog, ada-last-which-function-line):
New variables
New variables.
(ada-looking-at-semi-private): Correctly indent the 'private'
keyword when it is the first word in a package declaration.
(ada-loose-case-word): Stop searching if at the end of the buffer.
@ -15568,8 +15568,8 @@
(ada-mode): Add support for abbrev-mode, outline-mode and
which-func-mode Override the old find-file.el entry in
ff-special-constructs since it is using the obsolete
ada-spec-suffix variable
(ada-no-auto-case): New function
ada-spec-suffix variable.
(ada-no-auto-case): New function.
(ada-scan-paramlist): When parsing the argument type, accept
spaces (as in "X 'Class", generated by Rational Rose).
(ada-other-file-name): No longer loads the other file.
@ -15578,41 +15578,41 @@
(ada-search-ignore-complex-boolean): New function.
(ada-uncomment-region): Emacs21 already knows how to delete
comments not starting in the first column.
(ada-use-indent): New variable
(ada-use-indent): New variable.
(ada-which-function): New function.
(ada-with-indent): New variable
(ada-xemacs): evaluate it at compile time too, so that ada-mode.el
(ada-with-indent): New variable.
(ada-xemacs): Evaluate it at compile time too, so that ada-mode.el
can be batch-compiled from the command line.
* ada-xref.el: Got rid of all byte-compiler warnings on Emacs.
Add to the menu when the file is loaded, not in ada-mode-hook.
Add -toolbar to the default ddd command Switches moved from
ada-prj-default-comp-cmd and ada-prj-default-make-cmd to
ada-prj-default-comp-opt
(ada-add-ada-menu): Remove the map and name parameters Add the Ada
Reference Manual to the menu
(ada-check-current): rewritten as a call to ada-compile-current
ada-prj-default-comp-opt.
(ada-add-ada-menu): Remove the map and name parameters. Add the Ada
Reference Manual to the menu.
(ada-check-current): Rewritten as a call to ada-compile-current.
(ada-compile): Removed.
(ada-compile-application, ada-compile-current, ada-check-current):
Set the compilation-search-path so that compile.el automatically
finds the sources in src_dir. Automatic scrolling of the
compilation buffer. C-uC-cC-c asks for confirmation before
compiling
(ada-compile-current): New parameter, prj-field
compiling.
(ada-compile-current): New parameter, prj-field.
(ada-complete-identifier): Load the .ali file before doing
processing
processing.
(ada-find-ali-file-in-dir): prepend build_dir to obj_dir to
conform to gnatmake's behavior.
(ada-find-file-in-dir): New function
(ada-find-references): Set the environment variables for gnatfind
(ada-find-file-in-dir): New function.
(ada-find-references): Set the environment variables for gnatfind.
(ada-find-src-file-in-dir): New function.
(ada-first-non-nil): Removed
(ada-first-non-nil): Removed.
(ada-gdb-application): Add support for jdb, the java debugger.
(ada-get-ada-file-name): Load the original-file first if not done
yet.
(ada-get-all-references): Handles the new ali syntax (parent types
are found between <>).
(ada-initialize-runtime-library): New function
(ada-initialize-runtime-library): New function.
(ada-mode-hook): Always load a project file when a file is opened,
so that the casing exceptions are correctly read.
(ada-operator-re): Add all missing operators ("abs", "rem", "**").
@ -15623,36 +15623,36 @@
src_dir to initialize ada-search-directories and
compilation-search-path,... Add the standard runtime library to
the search path for find-file.
(ada-prj-default-debugger): Was missing an opening '{'
(ada-prj-default-debugger): Was missing an opening '{'.
(ada-prj-default-bind-opt, ada-prj-default-link-opt): New
variables.
(ada-prj-default-gnatmake-opt): New variable
(ada-prj-default-gnatmake-opt): New variable.
(ada-prj-find-prj-file): Handles non-file buffers For non-Ada
buffers, the project file is the default one Save the windows
configuration before displaying the menu.
(ada-prj-src-dir, ada-prj-obj-dir, ada-prj-comp-opt,...): Removed
(ada-prj-src-dir, ada-prj-obj-dir, ada-prj-comp-opt,...): Removed.
(ada-read-identifier): Fix xrefs on operators (for "mod", "and",
...) regexp-quote identifiers names to support operators +,
-,... in regexps.
(ada-remote): New function.
(ada-run-application): Erase the output buffer before starting the
run Support remote execution of the application. Use
call-process, or the arguments are incorrectly parsed
call-process, or the arguments are incorrectly parsed.
(ada-set-default-project-file): Reread the content of the active
project file, not the one from the current buffer When a project
file is set as the default project, all directories are
automatically associated with it.
(ada-set-environment): New function
(ada-treat-cmd-string): New special variable ${current}
(ada-set-environment): New function.
(ada-treat-cmd-string): New special variable ${current}.
(ada-treat-cmd-string): Revised. The substitution is now done for
any ${...} substring
any ${...} substring.
(ada-xref-current): If no body was found, compiles the spec
instead. Setup ADA_{SOURCE,OBJECTS}_PATH before running the
compiler to get rid of command line length limitations.
(ada-xref-get-project-field): New function
(ada-xref-project-files): New variable
(ada-xref-get-project-field): New function.
(ada-xref-project-files): New variable.
(ada-xref-runtime-library-specs-path)
(ada-xref-runtime-library-ali-path): New variables
(ada-xref-runtime-library-ali-path): New variables.
(ada-xref-set-default-prj-values): Default run command now does a
cd to the build directory. New field: main_unit Provide a default
file name even if the current buffer has no prj file.
@ -15661,10 +15661,10 @@
Rewritten to show a tabbed-dialog.
(ada-prj-add-ada-menu): Remove the map and name parameters.
(ada-prj-display-page, ada-prj-field, ada-prj-initialize-values):
New function
(ada-prj-load-directory, ada-prj-subdirs-of): New functions
(ada-prj-load-from-file): New function
(ada-prj-save): Always save fields that depend on the current buffer
New function.
(ada-prj-load-directory, ada-prj-subdirs-of): New functions.
(ada-prj-load-from-file): New function.
(ada-prj-save): Always save fields that depend on the current buffer.
(ada-prj-show-value): New function
* ada-stmt.el (ada-stmt-add-to-ada-menu): Hide the menu if not in
@ -16918,7 +16918,7 @@
(cyrillic-koi8-r-encode-table): Define it as a translation table
made from the reverse map of above.
(ccl-decode-koi8): Use translate-character.
(ccl-encode-koi8, ccl-encode-koi8-font): Likewize
(ccl-encode-koi8, ccl-encode-koi8-font): Likewise.
(cyrillic-alternativnyj-nonascii-translation-table): Define it as
a translation table made from cyrillic-alternativnyj-decode-table.
(cyrillic-alternativnyj-encode-table): Define it as a translation
@ -17470,14 +17470,14 @@
* speedbar.el (speedbar-easymenu-definition-base): Image toggle fix.
(speedbar-insert-button): Invisible text property fix.
(speedbar-directory-plus): Renamed from speedbar-directory-+
(speedbar-directory-minus): Renamed from speedbar-directory--
(speedbar-page-plus): Renamed from speedbar-file-+
(speedbar-page-minus): Renamed from speedbar-file--
(speedbar-page): Renamed from speedbar-file-
(speedbar-tag): Renamed from speedbar-tag-
(speedbar-tag-plus): Renamed from speedbar-tag-+
(speedbar-tag-minus): Renamed from speedbar-tag--
(speedbar-directory-plus): Renamed from speedbar-directory-+.
(speedbar-directory-minus): Renamed from speedbar-directory--.
(speedbar-page-plus): Renamed from speedbar-file-+.
(speedbar-page-minus): Renamed from speedbar-file--.
(speedbar-page): Renamed from speedbar-file-.
(speedbar-tag): Renamed from speedbar-tag-.
(speedbar-tag-plus): Renamed from speedbar-tag-+.
(speedbar-tag-minus): Renamed from speedbar-tag--.
(speedbar-expand-image-button-alist): Use above renames.
* sb-dir-plus.xpm: Renamed from sb-dir+.xpm
@ -17861,7 +17861,7 @@
(speedbar-visiting-tag-hook): Set new defaults. Added options.
(speedbar-reconfigure-keymaps-hook): New variable.
(speedbar-frame-parameters): Updated documentation.
(speedbar-use-imenu-flag): Updated custom tag
(speedbar-use-imenu-flag): Updated custom tag.
(speedbar-dynamic-tags-function-list): New variable.
(speedbar-tag-hierarchy-method): Updated doc & custom.
(speedbar-indentation-width, speedbar-indentation-width) New
@ -17877,7 +17877,7 @@
`force-mode-line-update'.
(speedbar-mode, speedbar-quick-mouse, speedbar-click)
(speedbar-double-click): Use `speedbar-mouse-set-point' instead of
`mouse-set-point'
`mouse-set-point'.
(speedbar-reconfigure-keymaps): Run configure keymap hooks.
(speedbar-item-info-tag-helper): Revamped to handle a wider range
of arbitrary text, and new helper functions.
@ -17893,11 +17893,11 @@
(speedbar-apply-one-tag-hierarchy-method): Deleted (and replaced).
(speedbar-sort-tag-hierarchy, speedbar-prefix-group-tag-hierarchy)
(speedbar-trim-words-tag-hierarchy)
(speedbar-simple-group-tag-hierarchy): New functions
(speedbar-simple-group-tag-hierarchy): New functions.
(speedbar-create-tag-hierarchy): Update doc, use new tag hooks.
(speedbar-insert-imenu-list, speedbar-insert-etags-list): New
functions.
(speedbar-mouse-set-point): New function
(speedbar-mouse-set-point): New function.
(speedbar-power-click): Updated documentation.
(speedbar-line-token, speedbar-goto-this-file): Handle more types
of tag prefix text.
@ -17916,7 +17916,7 @@
"Revert Buffer" menu items.
(speedbar-buffer-buttons-engine): Be smarter when creating a
filename tag (for expansion purposes.).
(speedbar-highlight-one-tag-line,
(speedbar-highlight-one-tag-line)
(speedbar-unhighlight-one-tag-line, speedbar-recenter-to-top)
(speedbar-recenter): New functions.
(defimage-speedbar): Image loading abstraction.
@ -18040,7 +18040,7 @@
(help-xref-interned): Maybe insert face doc too. Separate
sections with a line of hyphens.
* faces.el: Some doc fixes. Declare some functions obsolete.
* faces.el: Some doc fixes. Declare some functions obsolete.
(describe-face): Add customize button. Return the help
text. Fix prompt.
@ -18748,13 +18748,13 @@
2000-03-30 Peter Breton <pbreton@ne.mediaone.net>
* net/net-utils.el:
(network-connection-host, network-connection-service): New variables
(network-connection-mode): New mode, derived from comint-mode
(network-connection-host, network-connection-service): New variables.
(network-connection-mode): New mode, derived from comint-mode.
(network-connection-mode-setup): New function, saves host and
service information in local variables.
* lisp/locate.el:
(locate-word-at-point): Added this function
(locate-word-at-point): Added this function.
(locate): Default to using locate-word-at-point as input
Run dired-mode-hook
@ -20347,7 +20347,7 @@
* simple.el (eval-expression): Don't bind debug-on-error if
eval-expression-debug-on-error is nil. Detect changed
debug-on-error, and propagate new value to global binding, if
eval-expression-debug-on-error is non-nil,
eval-expression-debug-on-error is non-nil.
(eval-expression-debug-on-error): Change doc string.
2000-01-11 Richard M. Stallman <rms@gnu.org>
@ -20406,7 +20406,7 @@
2000-01-10 Ken Stevens <k.stevens@ieee.org>
* ispell.el: Only define dictionaries in menus when they exist.
* ispell.el: Only define dictionaries in menus when they exist.
(version18p): New variable.
(version20p): New variable.
(xemacsp): New variable.

View file

@ -1,3 +1,487 @@
2010-08-10 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/pcase.el: New file.
2010-08-10 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-vc-registered-read-file-names): Read input
as here-document, otherwise the command could exceed maximum
length of command line.
(tramp-handle-vc-registered): Call script accordingly.
Reported by Toru TSUNEYOSHI <t_tuneyosi@hotmail.com>.
2010-08-10 Kenichi Handa <handa@m17n.org>
* language/hebrew.el: Exclude U+05C3 (Hebrew SOF PASUQ) from the
composable pattern.
2010-08-09 Chong Yidong <cyd@stupidchicken.com>
* emacs-lisp/package.el (package-version-split)
(package--version-first-nonzero, package-version-compare):
Functions removed.
(package-directory-list, package-load-all-descriptors)
(package--built-in, package-activate, define-package)
(package-installed-p, package-compute-transaction)
(package-read-all-archive-contents)
(package--add-to-archive-contents, package-buffer-info)
(package-tar-file-info, package-list-packages-internal):
Use version-to-list and version-list-*.
* emacs-lisp/package-x.el (package-upload-buffer-internal):
Use version-to-list.
(package-upload-buffer-internal): Use version-list-<=.
2010-08-09 Kenichi Handa <handa@m17n.org>
* language/hebrew.el: Exclude U+05BD (Hebrew MAQAF) from the
composable pattern.
2010-08-08 Chong Yidong <cyd@stupidchicken.com>
* tutorial.el (tutorial--default-keys): C-d is now bound to
delete-forward-char (Bug#6826).
* mouse.el (mouse-drag-track): Remove accidentally-removed check
for `double' value of mouse-1-click-follows-link (Bug#6807).
2010-08-08 Johan Bockgård <bojohan@gnu.org>
* replace.el (replace-highlight): Bind isearch-forward and
isearch-error, ensuring that highlighting is updated if the user
switches the search direction (Bug#6808).
* isearch.el (isearch-lazy-highlight-forward): New var.
(isearch-lazy-highlight-new-loop, isearch-lazy-highlight-search):
(isearch-lazy-highlight-update): Use it.
2010-08-08 Kenichi Handa <handa@m17n.org>
* international/mule.el (define-charset): Store NAME as :base property.
(ctext-non-standard-encodings-table): Pay attention to charset aliases.
(ctext-pre-write-conversion): Sort ctext-standard-encodings by the
current priority. Force using the designation of the specific
charset by adding `charset' text property. Improve the whole algorithm.
2010-08-08 Juanma Barranquero <lekktu@gmail.com>
* emulation/pc-select.el (pc-selection-mode-hook)
(copy-region-as-kill-nomark, beginning-of-buffer-mark)
(pc-selection-mode): Fix typos in docstrings.
2010-08-08 Kenichi Handa <handa@m17n.org>
* language/cyrillic.el: Don't add "microsoft-cp1251" to
ctext-non-standard-encodings-alist here.
* international/mule.el (ctext-non-standard-encodings-alist):
Add "koi8-r" and "microsoft-cp1251".
(ctext-standard-encodings): New variable.
(ctext-non-standard-encodings-table): List only elements for
non-standard encodings.
(ctext-pre-write-conversion): Adjusted for the above change.
Check ctext-standard-encodings.
* international/mule-conf.el (compound-text): Doc fix.
(ctext-no-compositions): Doc fix.
(compound-text-with-extensions): Doc fix.
2010-08-08 Stefan Monnier <monnier@iro.umontreal.ca>
* simple.el (exchange-dot-and-mark): Mark obsolete, finally.
2010-08-08 Juanma Barranquero <lekktu@gmail.com>
* progmodes/which-func.el (which-func-format): Split help-echo text
into lines, like other mode-line tooltips.
* server.el (server-start): When using TCP sockets, force IPv4
and use a literal 127.0.0.1 for localhost. (Related to bug#6781.)
2010-08-08 Stefan Monnier <monnier@iro.umontreal.ca>
* bindings.el (complete-symbol): Run completion-at-point as a fallback.
2010-08-08 Juanma Barranquero <lekktu@gmail.com>
* term.el (term-delimiter-argument-list): Reflow docstring.
(term-read-input-ring, term-write-input-ring, term-send-input)
(term-bol, term-erase-in-display, serial-supported-or-barf):
Fix typos in docstrings.
2010-08-08 Stefan Monnier <monnier@iro.umontreal.ca>
* bindings.el (function-key-map): Add a S-tab => backtab fallback.
2010-08-08 Juanma Barranquero <lekktu@gmail.com>
* dabbrev.el (dabbrev-completion): Fix typo in docstring.
2010-08-08 MON KEY <monkey@sandpframing.com> (tiny change)
* emacs-lisp/syntax.el (syntax-ppss-toplevel-pos):
Fix typo in docstring (bug#6747).
2010-08-08 Leo <sdl.web@gmail.com>
* eshell/esh-io.el (eshell-get-target): Better detection of
read-only file (Bug#6762).
2010-08-08 Juanma Barranquero <lekktu@gmail.com>
* align.el (align-default-spacing): Doc fix.
(align-region-heuristic, align-regexp): Fix typos in docstrings.
2010-08-08 Stephen Peters <speters@itasoftware.com>
* calendar/icalendar.el
(icalendar--split-value): Fixed splitting regexp. (Bug#6766)
(icalendar--get-weekday-numbers): New
(icalendar--convert-recurring-to-diary): Handle multiple byday
values in weekly rules. (Bug#6766)
2010-08-08 Ulf Jasper <ulf.jasper@web.de>
* calendar/icalendar.el (icalendar-uid-format): Doc fix.
(icalendar--create-uid, icalendar-export-region)
(icalendar--parse-summary-and-rest): Code formatting.
2010-08-08 Jay Belanger <jay.p.belanger@gmail.com>
* calc/calc.el (calc-trail-mode,calc-refresh): Use `face' property
to italicize headers.
(calc-highlight-selections-with-faces): New variable.
(calc-selected-face, calc-nonselected-face): New faces.
* calc/calccomp.el (math-comp-highlight-string): Use
`calc-highlight-selections-with-faces' to determine how to highlight
sub-formulas.
* calc/calc-sel.el (calc-show-selections): Change message to when
using faces to highlight selections.
2010-08-07 Michael R. Mauger <mmaug@yahoo.com>
* progmodes/sql.el (sql-mode-sqlite-font-lock-keywords):
Add SQLite 3 keywords, functions and datatypes.
(sql-interactive-mode): Remove `comint-process-echoes' set to t
(Bug#6686).
2010-08-07 Chong Yidong <cyd@stupidchicken.com>
* simple.el (select-active-regions): Move to keyboard.c.
(deactivate-mark): Used saved-region-selection.
(select-active-region): Function removed.
(activate-mark, set-mark, push-mark-command)
(handle-shift-selection): Don't call it.
(keyboard-quit): Avoid adding the region to the window selection.
* mouse.el (mouse-drag-track): Remove hacks to deal with old
select-active-regions implementation.
(mouse-yank-at-click): Doc fix.
* cus-start.el: Add custom declaration for select-active-regions.
2010-08-07 Eli Zaretskii <eliz@gnu.org>
* simple.el (delete-forward-char): Doc fix.
* tutorial.el (help-with-tutorial): Hack safe file-local variables
after reading the tutorial.
2010-08-06 Alan Mackenzie <bug-cc-mode@gnu.org>
* progmodes/cc-cmds.el (c-mask-paragraph, c-fill-paragraph): Fix
for the case that a C style comment has its delimiters alone on
their respective lines.
2010-08-06 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-handle-start-file-process): Set connection
property "vec".
(tramp-process-sentinel): Use it for flushing the cache. We
cannot do it via the process buffer, the buffer could be deleted
already when running the sentinel.
2010-08-06 Jürgen Hötzel <juergen@archlinux.org> (tiny change)
* comint.el (comint-mode): Make directory tracking functions
functional on remote files. (Bug#6764)
2010-08-06 Dan Nicolaescu <dann@ics.uci.edu>
* vc/diff-mode.el (diff-mode-shared-map): Bind g to revert-buffer.
2010-08-05 Eli Zaretskii <eliz@gnu.org>
* emacs-lisp/find-gc.el (find-gc-source-files): Rename
unexec.c => unexcoff.c.
* emacs-lisp/authors.el (authors-fixed-entries): Rename
unexec.c => unexcoff.c.
2010-08-05 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-handle-dired-uncache): Flush directory
cache, not only file cache.
(tramp-process-sentinel): New defun.
(tramp-handle-start-file-process): Use it, in order to invalidate
file caches.
2010-08-03 Leo <sdl.web@gmail.com>
* server.el (server-start): Simplify loop.
2010-08-02 Stefan Monnier <monnier@iro.umontreal.ca>
* frame.el (screen-height, screen-width, set-screen-width)
(set-screen-height): Remove ancient compatibility aliases.
* textmodes/fill.el (justify-current-line): Don't add 1 to nspaces
when justifying. It seems useless and harmful for ncols=1 (bug#6738).
* emacs-lisp/timer.el (timer-event-handler): Protect against timers
that change current buffer.
2010-08-01 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
* mouse.el (mouse-fixup-help-message): Match "mouse-2" only at the
beginning of the string. Use `string-match-p'. (Bug#6765)
2010-08-01 Jan Djärv <jan.h.d@swipnet.se>
* cus-start.el (x-gtk-use-system-tooltips): New variable.
2010-08-01 Chong Yidong <cyd@stupidchicken.com>
* emacs-lisp/package.el (package--list-packages): Fix column alignment.
(package--builtins): Tweak descriptions.
(package-print-package): Upcase descriptions if necessary.
Show all built-in packages in font-lock-builtin-face.
(package-list-packages-internal): Omit "emacs" package.
Show status of built-in packages as "built-in".
2010-07-31 Chong Yidong <cyd@stupidchicken.com>
* mouse.el (mouse-save-then-kill): Doc fix. Deactivate mark
before killing to preserve the primary selection (Bug#6701).
* term/x-win.el (x-select-text): Doc fix.
2010-07-31 Nathaniel Flath <flat0103@gmail.com>
Enhance Java Mode to handle Java 5.0 (Tiger) and Java 6 (Mustang).
The following functions were modified or created:
* progmodes/cc-vars.el (c-offsets-alist, c-inside-block-syms)
(objc-font-lock-extra-types):
* progmodes/cc-mode.el (c-basic-common-init):
* progmodes/cc-langs.el (c-make-mode-syntax-table)
(c++-make-template-syntax-table)
(c-identifier-syntax-modifications, c-symbol-start, c-operators)
(c-<-op-cont-regexp, c->-op-cont-regexp, c-class-decl-kwds)
(c-brace-list-decl-kwds, c-modifier-kwds, c-prefix-spec-kwds-re)
(c-type-list-kwds, c-decl-prefix-re, c-opt-type-suffix-key):
* progmodes/cc-fonts.el (c-make-inverse-face)
(c-basic-matchers-after):
* progmodes/cc-engine.el (c-forward-keyword-clause)
(c-forward-<>-arglist, c-forward-<>-arglist-recur)
(c-forward-name, c-forward-type, c-forward-decl-or-cast-1)
(c-guess-continued-construct, c-guess-basic-syntax):
2010-07-31 Jan Djärv <jan.h.d@swipnet.se>
* faces.el (face-all-attributes): Improve documentation (Bug#6767).
2010-07-31 Eli Zaretskii <eliz@gnu.org>
* files.el (bidi-paragraph-direction): Define safe local values.
* language/hebrew.el ("Hebrew"): Add TUTORIAL.he to
language-info-alist. Remove outdated FIXME in a comment.
2010-07-31 Alan Mackenzie <acm@muc.de>
* progmodes/cc-cmds.el (c-mask-paragraph): Fix bug #6688:
Auto-fill broken in C/C++ modes.
2010-07-29 Jan Djärv <jan.h.d@swipnet.se>
* menu-bar.el (menu-bar-showhide-tool-bar-menu-customize-enable-left)
(menu-bar-showhide-tool-bar-menu-customize-disable)
(menu-bar-showhide-tool-bar-menu-customize-enable-right)
(menu-bar-showhide-tool-bar-menu-customize-enable-bottom)
(menu-bar-showhide-tool-bar-menu-customize-enable-top): New functions
(menu-bar-showhide-tool-bar-menu): If tool bar is moveable,
make a menu for Options => toolbar that can move it.
2010-07-29 Chong Yidong <cyd@stupidchicken.com>
* emacs-lisp/package-x.el (package--make-rss-entry):
(package-maint-add-news-item, package--update-news)
(package-upload-buffer-internal): New arg ARCHIVE-URL.
* emacs-lisp/package.el (package-archive-url): Rename from
package-archive-id.
(package-install): Doc fix.
(package-download-single, package-download-tar, package-install)
(package-menu-view-commentary): Callers changed.
2010-07-29 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-handle-start-file-process): Check only for
`remote-tty' process property.
(tramp-open-shell): Don't check for tty.
(tramp-open-connection-setup-interactive-shell): Set `remote-tty'
process property.
* progmodes/gdb-mi.el (gdb-init-1): Check also for tty on a remote
host.
2010-07-28 Chong Yidong <cyd@stupidchicken.com>
* emacs-lisp/package.el (package-load-list, package-archives)
(package-archive-contents, package-user-dir)
(package-directory-list, package--builtins, package-alist)
(package-activated-list, package-obsolete-alist): Mark as risky.
2010-07-28 Phil Hagelberg <phil@evri.com>
Add support for non-default package repositories.
* emacs-lisp/package.el (package-archive-base): Var deleted.
(package-archives): New variable.
(package-archive-contents): Doc fix.
(package-load-descriptor): Do nothing if descriptor file is missing.
(package--write-file-no-coding): New function.
(package-unpack-single): Use it.
(package-archive-id): New function.
(package-download-single, package-download-tar)
(package-menu-view-commentary): Use it.
(package-installed-p): Make second argument optional.
(package-read-all-archive-contents): New function.
(package-initialize): Use it.
(package-read-archive-contents): Add ARCHIVE argument.
(package--add-to-archive-contents): New function.
(package-install): Don't call package-read-archive-contents.
(package--download-one-archive): Store archive file in a
subdirectory of package-user-dir.
(package-menu-execute): Remove spurious line movement.
2010-07-28 Jan Djärv <jan.h.d@swipnet.se>
* cus-start.el (tool-bar-style): Add text-image-horiz.
2010-07-28 Michael Albinus <michael.albinus@gmx.de>
* progmodes/gud.el (gud-common-init): Check for remoteness of
`file', and not of `default-directory'.
2010-07-28 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-methods): Move hostname to the end in all
ssh `tramp-login-args'.
(tramp-verbose): Describe verbose level 9.
(tramp-open-shell): Check for tty if `tramp-verbose' >= 9.
(tramp-open-connection-setup-interactive-shell): Trace stty
settings if `tramp-verbose' >= 9.
(tramp-handle-start-file-process): Implement tty setting.
(Bug#4604, Bug#6360)
* net/tramp-cmds.el (tramp-bug): Recommend setting of
`tramp-verbose' to 9.
2010-07-27 Aaron S. Hawley <ashawley@burlingtontelecom.net>
* emacs-lisp/re-builder.el (reb-re-syntax, reb-lisp-mode)
(reb-lisp-syntax-p, reb-change-syntax, reb-cook-regexp):
Remove references to package `lisp-re' (bug#4369).
2010-07-27 Tom Tromey <tromey@redhat.com>
* progmodes/js.el (js-mode):
* progmodes/make-mode.el (makefile-mode):
* progmodes/simula.el (simula-mode):
* progmodes/tcl.el (tcl-mode): Derive from prog-mode.
2010-07-27 Juanma Barranquero <lekktu@gmail.com>
* help-fns.el (find-lisp-object-file-name): Doc fix (bug#6494).
* cedet/semantic/db-file.el (object-write): Fix typo in docstring.
* time.el (display-time-day-and-date): Remove spurious * in docstring.
(display-time-world-buffer-name, display-time-world-mode-map):
Fix typos in docstrings.
2010-07-27 Shyam Karanatt <shyam@swathanthran.in> (tiny change)
* image-mode.el (image-display-size): New function.
(image-forward-hscroll, image-next-line, image-eol, image-eob)
(image-mode-fit-frame): Use it (Bug#6639).
2010-07-27 Chong Yidong <cyd@stupidchicken.com>
* dired.el (dired-buffers-for-dir): Handle list values of
dired-directory (Bug#6636).
2010-07-26 Sam Steingold <sds@gnu.org>
* mouse.el (mouse-yank-primary, mouse-yank-secondary):
Do not call `x-get-selection' the second time, reuse the value.
2010-07-26 Daiki Ueno <ueno@unixuser.org>
* epa-mail.el (epa-mail-mode-map): Add alternative key bindings
which consist of control chars only. Suggested by Richard Stallman.
2010-07-25 Daiki Ueno <ueno@unixuser.org>
* epa-file.el (epa-file-insert-file-contents): Check if LOCAL-FILE
exists before passing an error to find-file-not-found-functions
(bug#6723).
2010-07-23 Lukas Huonker <l.huonker@gmail.com>
* play/tetris.el (tetris-tty-colors, tetris-x-colors, tetris-blank):
Remove leading nil element, adjust values.
(tetris-shapes, tetris-shape-scores):
Change representation of shapes and remove some redundancy.
(tetris-get-shape-cell, tetris-shape-width, tetris-draw-next-shape)
(tetris-draw-shape, tetris-erase-shape, tetris-test-shape):
Adjust for working with new representation of shapes.
(tetris-shape-rotations): New function.
(tetris-move-bottom, tetris-move-left, tetris-move-right)
(tetris-rotate-prev, tetris-rotate-next):
Adjust for working with the new version of tetris-test-shape.
2010-07-23 Markus Triska <markus.triska@gmx.at>
* progmodes/ps-mode.el: Use comint (bug#5954).
(ps-run-mode-map): Adapt for comint-mode; omit "\r", [return]..
(ps-mode-other-newline): Simplify.
(ps-run-mode): Derive from comint-mode instead of
fundamental-mode, yielding input history etc.
(ps-run-start, ps-run-quit, ps-run-clear, ps-run-region)
(ps-run-send-string): Adapt for comint-mode.
(ps-run-newline): Remove now unneeded function.
2010-07-23 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-methods): Move hostname to the end in all
plink `tramp-login-args'.
2010-07-23 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-open-shell): New defun.
(tramp-find-shell, tramp-open-connection-setup-interactive-shell):
Use it.
2010-07-23 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-file-name-regexp-unified)
(tramp-completion-file-name-regexp-unified): On W32 systems, do
not regard the volume letter as remote filename. (Bug#5447)
2010-07-23 Juanma Barranquero <lekktu@gmail.com>
* custom.el (custom-declare-variable): Give a clearer error message
@ -15,7 +499,7 @@
(sql-linter-login-params): Use it.
(sql-sqlite-login-params): Use it; Define "database" parameter as
a file name.
(sql-sqlite-program): Change to "sqlite3"
(sql-sqlite-program): Change to "sqlite3".
(sql-comint-sqlite): Make sure database name is complete.
(sql-for-each-login): New function.
(sql-connect, sql-save-connection): Use it.
@ -99,7 +583,7 @@
(sql-informix-login-params, sql-ingres-login-params)
(sql-ms-login-params, sql-postgres-login-params)
(sql-interbase-login-params, sql-db2-login-params)
(sql-linter-login-params): Add `port' option
(sql-linter-login-params): Add `port' option.
(sql-get-product-feature): Added NO-INDIRECT parameter.
(sql-comint-oracle, sql-comint-sybase)
(sql-comint-informix, sql-comint-sqlite, sql-comint-mysql)
@ -109,7 +593,7 @@
sql-comint-*.
(sql-product-alist, sql-mode-menu): Renamed as above and
:sqli-connect-func to :sqli-comint-func.
(sql-connection): New variable
(sql-connection): New variable.
(sql-interactive-mode): Set it.
(sql-connection-alist): New variable.
(sql-connect): New function.
@ -305,7 +789,7 @@
* epa-file.el (epa-file-error, epa-file--find-file-not-found-function)
(epa-file-insert-file-contents): Hack to prevent
find-file from opening empty buffer when decryptin failed
find-file from opening empty buffer when decryption failed
(bug#6568).
2010-07-07 Agustín Martín <agustin.martin@hispalinux.es>
@ -3250,7 +3734,7 @@
(verilog-pretty-declarations): Support lineup of declarations in
port lists.
(verilog-skip-backward-comments, verilog-skip-forward-comment-p):
fix bug for /* / comments
fix bug for /* / comments.
(verilog-backward-syntactic-ws, verilog-forward-syntactic-ws):
Speed up and simplfy as this is never called with a bound.
(verilog-pretty-declarations): Enhance to line up declarations
@ -5359,7 +5843,7 @@
2010-01-02 Karl Fogel <kfogel@red-bean.com>
* bookmark.el (bookmark-bmenu-any-marks): New function
* bookmark.el (bookmark-bmenu-any-marks): New function.
(bookmark-bmenu-save): Clear buffer modification if no marks.
2010-01-02 Karl Fogel <kfogel@red-bean.com>

View file

@ -140,8 +140,8 @@
"An integer that represents the default amount of padding to use.
If `align-to-tab-stop' is non-nil, this will represent the number of
tab stops to use for alignment, rather than the number of spaces.
Each alignment rule can optionally override both this variable. See
`align-mode-alist'."
Each alignment rule can optionally override both this variable and
`align-to-tab-stop'. See `align-rules-list'."
:type 'integer
:group 'align)
@ -157,8 +157,8 @@ Since each alignment rule can possibly have its own set of alignment
sections (whenever `align-region-separate' is non-nil, and not a
string), this heuristic is used to determine how far before and after
point we should search in looking for a region separator. Larger
values can mean slower perform in large files, although smaller values
may cause unexpected behavior at times."
values can mean slower performance in large files, although smaller
values may cause unexpected behavior at times."
:type 'integer
:group 'align)
@ -926,7 +926,7 @@ align them so that the opening parentheses would line up:
Joe (123) 456-7890
There is no predefined rule to handle this, but you could easily do it
using a REGEXP like \"(\". All you would have to do is to mark the
using a REGEXP like \"(\". All you would have to do is to mark the
region, call `align-regexp' and type in that regular expression."
(interactive
(append

View file

@ -1054,6 +1054,9 @@ if `inhibit-field-text-motion' is non-nil."
;; so we can't distinguish those two keys, but usually we consider C-SPC
;; (rather than C-@) as the "canonical" binding.
(define-key function-key-map [?\C-@] [?\C-\s])
;; Many keyboards don't have a `backtab' key, so by convention the user
;; can use S-tab instead to access that binding.
(define-key function-key-map [S-tab] [backtab])
(define-key global-map [mouse-movement] 'ignore)

View file

@ -74,6 +74,8 @@ Summary of changes to "Calc"
Emacs 24.1
* Added option to highlight selections using faces.
* Gave `calc-histogram' the option of using a vector to determine the bins.
* Added "O" option prefix.

View file

@ -309,6 +309,8 @@
(setq n (1+ n))))
(calc-clear-command-flag 'position-point)))
(defvar calc-highlight-selections-with-faces)
(defun calc-show-selections (arg)
(interactive "P")
(calc-wrapper
@ -330,8 +332,12 @@
(setcar (nthcdr 2 calc-selection-cache-entry) nil)
(calc-change-current-selection sel)))))
(message (if calc-show-selections
"Displaying only selected part of formulas"
"Displaying all but selected part of formulas"))))
(if calc-highlight-selections-with-faces
"De-emphasizing all but selected part of formulas"
"Displaying only selected part of formulas")
(if calc-highlight-selections-with-faces
"Emphasizing selected part of formulas"
"Displaying all but selected part of formulas")))))
;; The variables calc-final-point-line and calc-final-point-column
;; are declared in calc.el, and are used throughout.

View file

@ -425,6 +425,27 @@ in normal mode."
:group 'calc
:type 'integer)
(defcustom calc-highlight-selections-with-faces
nil
"If non-nil, use a separate face to indicate selected sub-formulas.
If `calc-show-selections' is non-nil, then selected sub-formulas are shown
by displaying the rest of the formula in `calc-nonselected-face'.
If `calc-show-selections' is nil, then selected sub-formulas are shown
by displaying the sub-formula in `calc-selected-face'."
:group 'calc
:type 'boolean)
(defface calc-nonselected-face
'((t :inherit shadow
:slant italic))
"Face used to show the non-selected portion of a formula."
:group 'calc)
(defface calc-selected-face
'((t :weight bold))
"Face used to show the selected portion of a formula."
:group 'calc)
(defvar calc-bug-address "jay.p.belanger@gmail.com"
"Address of the maintainer of Calc, for use by `report-calc-bug'.")
@ -1385,8 +1406,7 @@ commands given here will actually operate on the *Calculator* stack."
(set (make-local-variable 'calc-main-buffer) buf))
(when (= (buffer-size) 0)
(let ((buffer-read-only nil))
(insert (propertize (concat "Emacs Calculator Trail\n")
'font-lock-face 'italic))))
(insert (propertize "Emacs Calculator Trail\n" 'face 'italic))))
(run-mode-hooks 'calc-trail-mode-hook))
(defun calc-create-buffer ()
@ -1976,7 +1996,7 @@ See calc-keypad for details."
(erase-buffer)
(when calc-show-banner
(insert (propertize "--- Emacs Calculator Mode ---\n"
'font-lock-face 'italic)))
'face 'italic)))
(while thing
(goto-char (point-min))
(when calc-show-banner

View file

@ -1339,12 +1339,15 @@
(defun math-comp-highlight-string (s)
(setq s (copy-sequence s))
(let ((i (length s)))
(while (>= (setq i (1- i)) 0)
(or (memq (aref s i) '(32 ?\n))
(aset s i (if calc-show-selections ?\. ?\#)))))
s)
(if calc-highlight-selections-with-faces
(if (not calc-show-selections)
(propertize s 'face 'calc-selected-face)
(propertize s 'face 'calc-nonselected-face))
(let ((i (length s)))
(while (>= (setq i (1- i)) 0)
(or (memq (aref s i) '(32 ?\n))
(aset s i (if calc-show-selections ?\. ?\#)))))
s))
;; The variable math-comp-sel-tag is local to calc-find-selected-part
;; in calc-sel.el, but is used by math-comp-sel-flat-term and

View file

@ -212,15 +212,15 @@ if nil they are ignored."
(defcustom icalendar-uid-format
"emacs%t%c"
"Format of unique ID code (UID) for each iCalendar object.
The following specifiers are available:
"Format of unique ID code (UID) for each iCalendar object.
The following specifiers are available:
%c COUNTER, an integer value that is increased each time a uid is
generated. This may be necessary for systems which do not
generated. This may be necessary for systems which do not
provide time-resolution finer than a second.
%h HASH, a hash value of the diary entry,
%s DTSTART, the start date (excluding time) of the diary entry,
%t TIMESTAMP, a unique creation timestamp,
%u USERNAME, the user-login-name.
%u USERNAME, the variable `user-login-name'.
For example, a value of \"%s_%h@mydomain.com\" will generate a
UID code for each entry composed of the time of the event, a hash
@ -427,7 +427,7 @@ children."
(goto-char (point-min))
(while
(re-search-forward
"\\([A-Za-z0-9-]+\\)=\\(\\([^;,:]+\\)\\|\"\\([^\"]+\\)\"\\);?"
"\\([A-Za-z0-9-]+\\)=\\(\\([^;:]+\\)\\|\"\\([^\"]+\\)\"\\);?"
nil t)
(setq param-name (intern (match-string 1)))
(setq param-value (match-string 2))
@ -744,6 +744,20 @@ Note that this silently ignores seconds."
;; Error:
-1))
(defun icalendar--get-weekday-numbers (abbrevweekdays)
"Return the list of numbers for the comma-separated ABBREVWEEKDAYS."
(when abbrevweekdays
(let* ((num -1)
(weekday-alist (mapcar (lambda (day)
(progn
(setq num (1+ num))
(cons (downcase day) num)))
icalendar--weekday-array)))
(delq nil
(mapcar (lambda (abbrevday)
(cdr (assoc abbrevday weekday-alist)))
(split-string (downcase abbrevweekdays) ","))))))
(defun icalendar--get-weekday-abbrev (weekday)
"Return the abbreviated WEEKDAY."
(catch 'found
@ -912,21 +926,21 @@ current iCalendar object, as a string. Increase
`icalendar--uid-count'. Returns the UID string."
(let ((uid icalendar-uid-format))
(setq uid (replace-regexp-in-string
"%c"
(setq uid (replace-regexp-in-string
"%c"
(format "%d" icalendar--uid-count)
uid t t))
(setq icalendar--uid-count (1+ icalendar--uid-count))
(setq uid (replace-regexp-in-string
(setq uid (replace-regexp-in-string
"%t"
(format "%d%d%d" (car (current-time))
(cadr (current-time))
(car (cddr (current-time))))
(car (cddr (current-time))))
uid t t))
(setq uid (replace-regexp-in-string
"%h"
(setq uid (replace-regexp-in-string
"%h"
(format "%d" (abs (sxhash entry-full))) uid t t))
(setq uid (replace-regexp-in-string
(setq uid (replace-regexp-in-string
"%u" (or user-login-name "UNKNOWN_USER") uid t t))
(let ((dtstart (if (string-match "^DTSTART[^:]*:\\([0-9]*\\)" contents)
(substring contents (match-beginning 1) (match-end 1))
@ -1008,7 +1022,7 @@ FExport diary data into iCalendar file: ")
(if url
(setq contents (concat contents "\nURL:" url))))
(setq header (concat "\nBEGIN:VEVENT\nUID:"
(setq header (concat "\nBEGIN:VEVENT\nUID:"
(icalendar--create-uid entry-full contents)))
(setq result (concat result header contents "\nEND:VEVENT")))
;; handle errors
@ -1126,7 +1140,7 @@ Returns an alist."
(list "%u"
(concat "\\(" icalendar-import-format-url "\\)??"))))
;; Need the \' regexp in order to detect multi-line items
(setq s (concat "\\`"
(setq s (concat "\\`"
(icalendar--rris "%s" "\\(.*?\\)" s nil t)
"\\'"))
(if (string-match s summary-and-rest)
@ -2057,39 +2071,47 @@ END-T is the event's end time in diary format."
))
)
(cond ((string-equal frequency "WEEKLY")
(if (not start-t)
(progn
;; weekly and all-day
(icalendar--dmsg "weekly all-day")
(if until
(setq result
(format
(concat "%%%%(and "
"(diary-cyclic %d %s) "
"(diary-block %s %s))")
(* interval 7)
dtstart-conv
dtstart-conv
(if count until-1-conv until-conv)
))
(setq result
(format "%%%%(and (diary-cyclic %d %s))"
(* interval 7)
dtstart-conv))))
;; weekly and not all-day
(let* ((byday (cadr (assoc 'BYDAY rrule-props)))
(weekday
(icalendar--get-weekday-number byday)))
(let* ((byday (cadr (assoc 'BYDAY rrule-props)))
(weekdays
(icalendar--get-weekday-numbers byday))
(weekday-clause
(when (> (length weekdays) 1)
(format "(memq (calendar-day-of-week date) '%s) "
weekdays))))
(if (not start-t)
(progn
;; weekly and all-day
(icalendar--dmsg "weekly all-day")
(if until
(setq result
(format
(concat "%%%%(and "
"%s"
"(diary-block %s %s))")
(or weekday-clause
(format "(diary-cyclic %d %s) "
(* interval 7)
dtstart-conv))
(if count until-1-conv until-conv)
))
(setq result
(format "%%%%(and %s(diary-cyclic %d %s))"
(or weekday-clause "")
(if weekday-clause 1 (* interval 7))
dtstart-conv))))
;; weekly and not all-day
(icalendar--dmsg "weekly not-all-day")
(if until
(setq result
(format
(concat "%%%%(and "
"(diary-cyclic %d %s) "
"%s"
"(diary-block %s %s)) "
"%s%s%s")
(* interval 7)
dtstart-conv
(or weekday-clause
(format "(diary-cyclic %d %s) "
(* interval 7)
dtstart-conv))
dtstart-conv
until-conv
(or start-t "")
@ -2100,10 +2122,11 @@ END-T is the event's end time in diary format."
;; DTEND;VALUE=DATE-TIME:20030919T113000
(setq result
(format
"%%%%(and (diary-cyclic %s %s)) %s%s%s"
(* interval 7)
dtstart-conv
(or start-t "")
"%%%%(and %s(diary-cyclic %d %s)) %s%s%s"
(or weekday-clause "")
(if weekday-clause 1 (* interval 7))
dtstart-conv
(or start-t "")
(if end-t "-" "") (or end-t "")))))))
;; yearly
((string-equal frequency "YEARLY")

View file

@ -277,7 +277,7 @@ to prevent overload.")
(defmethod object-write ((obj semanticdb-table))
"When writing a table, we have to make sure we deoverlay it first.
Restore the overlays after writting.
Restore the overlays after writing.
Argument OBJ is the object to write."
(when (semanticdb-live-p obj)
(when (semanticdb-in-buffer-p obj)

View file

@ -674,6 +674,9 @@ Entry to this mode runs the hooks on `comint-mode-hook'."
(make-local-variable 'comint-process-echoes)
(make-local-variable 'comint-file-name-chars)
(make-local-variable 'comint-file-name-quote-list)
;; dir tracking on remote files
(set (make-local-variable 'comint-file-name-prefix)
(or (file-remote-p default-directory) ""))
(make-local-variable 'comint-accum-marker)
(setq comint-accum-marker (make-marker))
(make-local-variable 'font-lock-defaults)

View file

@ -197,6 +197,11 @@ Leaving \"Default\" unchecked is equivalent with specifying a default of
(help-char keyboard character)
(help-event-list keyboard (repeat (sexp :format "%v")))
(menu-prompting menu boolean)
(select-active-regions killing
(choice (const :tag "lazy" lazy)
(const :tag "always" t)
(const :tag "off" nil))
"24.1")
(suggest-key-bindings keyboard (choice (const :tag "off" nil)
(integer :tag "time" 2)
(other :tag "on")))
@ -345,6 +350,7 @@ since it could result in memory overflow and make Emacs crash."
(const :tag "Text" :value text)
(const :tag "Both" :value both)
(const :tag "Both-horiz" :value both-horiz)
(const :tag "Text-image-horiz" :value text-image-horiz)
(const :tag "System default" :value nil)) "23.3")
(tool-bar-max-label-size frames integer "23.3")
@ -357,6 +363,7 @@ since it could result in memory overflow and make Emacs crash."
(x-gtk-show-hidden-files menu boolean "22.1")
(x-gtk-file-dialog-help-text menu boolean "22.1")
(x-gtk-whole-detached-tool-bar x boolean "22.1")
(x-gtk-use-system-tooltips tooltip boolean "23.3")
;; xterm.c
(x-use-underline-position-properties display boolean "22.1")
(x-underline-at-descent-line display boolean "22.1")

View file

@ -377,7 +377,7 @@ With a prefix argument ARG, it searches all buffers accepted by the
function pointed out by `dabbrev-friend-buffer-function' to find the
completions.
If the prefix argument is 16 (which comes from \\[prefix-argument] \\[prefix-argument]),
If the prefix argument is 16 (which comes from \\[universal-argument] \\[universal-argument]),
then it searches *all* buffers."
(interactive "*P")
(dabbrev--reset-global-variables)

View file

@ -2225,31 +2225,33 @@ You can then feed the file name(s) to other commands with \\[yank]."
;; Keeping Dired buffers in sync with the filesystem and with each other
(defun dired-buffers-for-dir (dir &optional file)
;; Return a list of buffers that dired DIR (top level or in-situ subdir).
;; Return a list of buffers for DIR (top level or in-situ subdir).
;; If FILE is non-nil, include only those whose wildcard pattern (if any)
;; matches FILE.
;; The list is in reverse order of buffer creation, most recent last.
;; As a side effect, killed dired buffers for DIR are removed from
;; dired-buffers.
(setq dir (file-name-as-directory dir))
(let ((alist dired-buffers) result elt buf)
(while alist
(setq elt (car alist)
buf (cdr elt))
(if (buffer-name buf)
(if (dired-in-this-tree dir (car elt))
(with-current-buffer buf
(and (assoc dir dired-subdir-alist)
(or (null file)
(let ((wildcards
(file-name-nondirectory dired-directory)))
(or (= 0 (length wildcards))
(string-match (dired-glob-regexp wildcards)
file))))
(setq result (cons buf result)))))
;; else buffer is killed - clean up:
(let (result buf)
(dolist (elt dired-buffers)
(setq buf (cdr elt))
(cond
((null (buffer-name buf))
;; Buffer is killed - clean up:
(setq dired-buffers (delq elt dired-buffers)))
(setq alist (cdr alist)))
((dired-in-this-tree dir (car elt))
(with-current-buffer buf
(and (assoc dir dired-subdir-alist)
(or (null file)
(if (stringp dired-directory)
(let ((wildcards (file-name-nondirectory
dired-directory)))
(or (= 0 (length wildcards))
(string-match (dired-glob-regexp wildcards)
file)))
(member (expand-file-name file dir)
(cdr dired-directory))))
(setq result (cons buf result)))))))
result))
(defun dired-glob-regexp (pattern)

View file

@ -354,7 +354,7 @@ Changes to files in this list are not listed.")
;; No longer distributed.
;;; ("Viktor Dukhovni" :wrote "unexsunos4.c")
("Paul Eggert" :wrote "rcs2log" "vcdiff")
("Fred Fish" :changed "unexec.c")
("Fred Fish" :changed "unexcoff.c")
;; No longer distributed.
;;; ("Tim Fleehart" :wrote "makefile.nt")
("Keith Gabryelski" :wrote "hexl.c")
@ -377,13 +377,13 @@ Changes to files in this list are not listed.")
"indent.c" "search.c" "xdisp.c" "region-cache.c" "region-cache.h")
;; ibmrt.h, ibmrt-aix.h no longer distributed.
("International Business Machines" :changed "emacs.c" "fileio.c"
"process.c" "sysdep.c" "unexec.c")
"process.c" "sysdep.c" "unexcoff.c")
;; No longer distributed.
;;; ("Ishikawa Chiaki" :changed "aviion.h" "dgux.h")
;; ymakefile no longer distributed.
("Michael K. Johnson" :changed "configure.in" "emacs.c" "intel386.h"
"mem-limits.h" "process.c" "template.h" "sysdep.c" "syssignal.h"
"systty.h" "unexec.c" "linux.h")
"systty.h" "unexcoff.c" "linux.h")
;; No longer distributed.
;;; ("Kyle Jones" :wrote "mldrag.el")
("Henry Kautz" :wrote "bib-mode.el")
@ -408,7 +408,7 @@ Changes to files in this list are not listed.")
"rmail.el" "rmailedit.el" "rmailkwd.el"
"rmailmsc.el" "rmailout.el" "rmailsum.el" "scribe.el"
;; It was :wrote for xmenu.c, but it has been rewritten since.
"server.el" "lisp.h" "sysdep.c" "unexec.c" "xmenu.c")
"server.el" "lisp.h" "sysdep.c" "unexcoff.c" "xmenu.c")
("Niall Mansfield" :changed "etags.c")
("Brian Marick" :cowrote "hideif.el")
("Marko Kohtala" :changed "info.el")
@ -463,9 +463,9 @@ Changes to files in this list are not listed.")
("Kayvan Sylvan" :changed "supercite.el")
;; No longer distributed: emacsserver.c, tcp.c.
("Spencer Thomas" :changed "emacsclient.c" "server.el"
"dabbrev.el" "unexec.c" "gnus.texi")
"dabbrev.el" "unexcoff.c" "gnus.texi")
("Jonathan Vail" :changed "vc.el")
("James Van Artsdalen" :changed "usg5-4.h" "unexec.c")
("James Van Artsdalen" :changed "usg5-4.h" "unexcoff.c")
;; No longer distributed: src/makefile.nt, lisp/makefile.nt
;; winnt.el renamed to w32-fns.el; nt.[ch] to w32.[ch];
;; ntheap.[ch] to w32heap.[ch]; ntinevt.c to w32inevt.c;

View file

@ -60,7 +60,7 @@ Each entry has the form (FUNCTION . FUNCTIONS-IT-CALLS).")
"indent.c" "search.c" "regex.c" "undo.c"
"alloc.c" "data.c" "doc.c" "editfns.c"
"callint.c" "eval.c" "fns.c" "print.c" "lread.c"
"abbrev.c" "syntax.c" "unexec.c"
"abbrev.c" "syntax.c" "unexcoff.c"
"bytecode.c" "process.c" "callproc.c" "doprnt.c"
"x11term.c" "x11fns.c"))

View file

@ -56,12 +56,12 @@
(setq string (replace-match "&quot;" t nil string)))
string)
(defun package--make-rss-entry (title text)
(defun package--make-rss-entry (title text archive-url)
(let ((date-string (format-time-string "%a, %d %B %Y %T %z")))
(concat "<item>\n"
"<title>" (package--encode title) "</title>\n"
;; FIXME: should have a link in the web page.
"<link>" package-archive-base "news.html</link>\n"
"<link>" archive-url "news.html</link>\n"
"<description>" (package--encode text) "</description>\n"
"<pubDate>" date-string "</pubDate>\n"
"</item>\n")))
@ -85,7 +85,7 @@
(unless old-buffer
(kill-buffer (current-buffer)))))))
(defun package-maint-add-news-item (title description)
(defun package-maint-add-news-item (title description archive-url)
"Add a news item to the ELPA web pages.
TITLE is the title of the news item.
DESCRIPTION is the text of the news item.
@ -93,21 +93,28 @@ You need administrative access to ELPA to use this."
(interactive "sTitle: \nsText: ")
(package--update-file (concat package-archive-upload-base "elpa.rss")
"<description>"
(package--make-rss-entry title description))
(package--make-rss-entry title description archive-url))
(package--update-file (concat package-archive-upload-base "news.html")
"New entries go here"
(package--make-html-entry title description)))
(defun package--update-news (package version description)
(defun package--update-news (package version description archive-url)
"Update the ELPA web pages when a package is uploaded."
(package-maint-add-news-item (concat package " version " version)
description))
description
archive-url))
(defun package-upload-buffer-internal (pkg-info extension)
(defun package-upload-buffer-internal (pkg-info extension &optional archive-url)
"Upload a package whose contents are in the current buffer.
PKG-INFO is the package info, see `package-buffer-info'.
EXTENSION is the file extension, a string. It can be either
\"el\" or \"tar\"."
\"el\" or \"tar\".
Optional arg ARCHIVE-URL is the URL of the destination archive.
If nil, the \"gnu\" archive is used."
(unless archive-url
(or (setq archive-url (cdr (assoc "gnu" package-archives)))
(error "No destination URL")))
(save-excursion
(save-restriction
(let* ((file-type (cond
@ -122,12 +129,12 @@ EXTENSION is the file extension, a string. It can be either
(aref pkg-info 2)))
(pkg-version (aref pkg-info 3))
(commentary (aref pkg-info 4))
(split-version (package-version-split pkg-version))
(split-version (version-to-list pkg-version))
(pkg-buffer (current-buffer))
;; Download latest archive-contents.
(buffer (url-retrieve-synchronously
(concat package-archive-base "archive-contents"))))
(concat archive-url "archive-contents"))))
;; Parse archive-contents.
(set-buffer buffer)
@ -143,9 +150,8 @@ EXTENSION is the file extension, a string. It can be either
(error "Unrecognized archive version %d" (car contents)))
(let ((elt (assq pkg-name (cdr contents))))
(if elt
(if (package-version-compare split-version
(package-desc-vers (cdr elt))
'<=)
(if (version-list-<= split-version
(package-desc-vers (cdr elt)))
(error "New package has smaller version: %s" pkg-version)
(setcdr elt new-desc))
(setq contents (cons (car contents)
@ -178,7 +184,7 @@ EXTENSION is the file extension, a string. It can be either
;; Write a news entry.
(package--update-news (concat file-name "." extension)
pkg-version desc)
pkg-version desc archive-url)
;; special-case "package": write a second copy so that the
;; installer can easily find the latest version.

View file

@ -43,9 +43,6 @@
;; currently register any of these, so this feature does not actually
;; work.)
;; This code supports a single package repository, ELPA. All packages
;; must be registered there.
;; A package is described by its name and version. The distribution
;; format is either a tar file or a single .el file.
@ -55,11 +52,13 @@
;; which consists of a call to define-package. It may also contain a
;; "dir" file and the info files it references.
;; A .el file will be named "NAME-VERSION.el" in ELPA, but will be
;; A .el file is named "NAME-VERSION.el" in the remote archive, but is
;; installed as simply "NAME.el" in a directory named "NAME-VERSION".
;; The downloader will download all dependent packages. It will also
;; byte-compile the package's lisp at install time.
;; The downloader downloads all dependent packages. By default,
;; packages come from the official GNU sources, but others may be
;; added by customizing the `package-archives' alist. Packages get
;; byte-compiled at install time.
;; At activation time we will set up the load-path and the info path,
;; and we will load the package's autoloads. If a package's
@ -207,6 +206,7 @@ If VERSION is a string, only that version is ever loaded.
Hence, the package is \"held\" at that version.
If VERSION is nil, the package is not loaded (it is \"disabled\")."
:type '(repeat symbol)
:risky t
:group 'package
:version "24.1")
@ -217,10 +217,16 @@ If VERSION is nil, the package is not loaded (it is \"disabled\")."
(declare-function lm-commentary "lisp-mnt" (&optional file))
(declare-function dired-delete-file "dired" (file &optional recursive trash))
(defconst package-archive-base "http://elpa.gnu.org/packages/"
"Base URL for the Emacs Lisp Package Archive (ELPA).
Ordinarily you should not need to change this.
Note that some code in package.el assumes that this is an http: URL.")
(defcustom package-archives '(("gnu" . "http://elpa.gnu.org/packages/"))
"An alist of archives from which to fetch.
The default value points to the GNU Emacs package repository.
Each element has the form (ID . URL), where ID is an identifier
string for an archive and URL is a http: URL (a string)."
:type '(alist :key-type (string :tag "Archive name")
:value-type (string :tag "Archive URL"))
:risky t
:group 'package
:version "24.1")
(defconst package-archive-version 1
"Version number of the package archive understood by this file.
@ -234,8 +240,10 @@ Lower version numbers than this will probably be understood as well.")
"Cache of the contents of the Emacs Lisp Package Archive.
This is an alist mapping package names (symbols) to package
descriptor vectors. These are like the vectors for `package-alist'
but have an extra entry which is 'tar for tar packages and
'single for single-file packages.")
but have extra entries: one which is 'tar for tar packages and
'single for single-file packages, and one which is the name of
the archive from which it came.")
(put 'package-archive-contents 'risky-local-variable t)
(defcustom package-user-dir (locate-user-emacs-file "elpa")
"Directory containing the user's Emacs Lisp packages.
@ -243,6 +251,7 @@ The directory name should be absolute.
Apart from this directory, Emacs also looks for system-wide
packages in `package-directory-list'."
:type 'directory
:risky t
:group 'package
:version "24.1")
@ -259,19 +268,16 @@ Each directory name should be absolute.
These directories contain packages intended for system-wide; in
contrast, `package-user-dir' contains packages for personal use."
:type '(repeat directory)
:risky t
:group 'package
:version "24.1")
(defun package-version-split (string)
"Split a package string into a version list."
(mapcar 'string-to-int (split-string string "[.]")))
(defconst package--builtins-base
;; We use package-version split here to make sure to pick up the
;; minor version.
`((emacs . [,(package-version-split emacs-version) nil
`((emacs . [,(version-to-list emacs-version) nil
"GNU Emacs"])
(package . [,(package-version-split package-el-version)
(package . [,(version-to-list package-el-version)
nil "Simple package system for GNU Emacs"]))
"Packages which are always built-in.")
@ -282,17 +288,18 @@ contrast, `package-user-dir' contains packages for personal use."
(if (>= emacs-major-version 22)
;; FIXME: emacs 22 includes tramp, rcirc, maybe
;; other things...
'((erc . [(5 2) nil "An Emacs Internet Relay Chat client"])
'((erc . [(5 2) nil "Internet Relay Chat client"])
;; The external URL is version 1.15, so make sure the
;; built-in one looks newer.
(url . [(1 16) nil "URL handling libary"])))
(if (>= emacs-major-version 23)
'(;; Strangely, nxml-version is missing in Emacs 23.
;; We pick the merge date as the version.
(nxml . [(20071123) nil "Major mode for editing XML documents."])
(bubbles . [(0 5) nil "Puzzle game for Emacs."])))))
(nxml . [(20071123) nil "Major mode for XML documents"])
(bubbles . [(0 5) nil "A puzzle game"])))))
"Alist of all built-in packages.
Maps the package name to a vector [VERSION REQS DOCSTRING].")
(put 'package--builtins 'risky-local-variable t)
(defvar package-alist package--builtins
"Alist of all packages available for activation.
@ -301,15 +308,18 @@ This maps the package name to a vector [VERSION REQS DOCSTRING].
The value is generated by `package-load-descriptor', usually
called via `package-initialize'. For user customizations of
which packages to load/activate, see `package-load-list'.")
(put 'package-archive-contents 'risky-local-variable t)
(defvar package-activated-list
(mapcar #'car package-alist)
"List of the names of currently activated packages.")
(put 'package-activated-list 'risky-local-variable t)
(defvar package-obsolete-alist nil
"Representation of obsolete packages.
Like `package-alist', but maps package name to a second alist.
The inner alist is keyed by version.")
(put 'package-obsolete-alist 'risky-local-variable t)
(defconst package-subdirectory-regexp
"^\\([^.].*\\)-\\([0-9]+\\(?:[.][0-9]+\\)*\\)$"
@ -321,39 +331,6 @@ The second subexpression is the version string.")
"Turn a list of version numbers into a version string."
(mapconcat 'int-to-string l "."))
(defun package--version-first-nonzero (l)
(while (and l (= (car l) 0))
(setq l (cdr l)))
(if l (car l) 0))
(defun package-version-compare (v1 v2 fun)
"Compare two version lists according to FUN.
FUN can be <, <=, =, >, >=, or /=."
(while (and v1 v2 (= (car v1) (car v2)))
(setq v1 (cdr v1)
v2 (cdr v2)))
(if v1
(if v2
;; Both not null; we know the cars are not =.
(funcall fun (car v1) (car v2))
;; V1 not null, V2 null.
(funcall fun (package--version-first-nonzero v1) 0))
(if v2
;; V1 null, V2 not null.
(funcall fun 0 (package--version-first-nonzero v2))
;; Both null.
(funcall fun 0 0))))
(defun package--test-version-compare ()
"Test suite for `package-version-compare'."
(unless (and (package-version-compare '(0) '(0) '=)
(not (package-version-compare '(1) '(0) '=))
(package-version-compare '(1 0 1) '(1) '>=)
(package-version-compare '(1 0 1) '(1) '>)
(not (package-version-compare '(0 9 1) '(1 0 2) '>=)))
(error "Failed"))
t)
(defun package-strip-version (dirname)
"Strip the version from a combined package name and version.
E.g., if given \"quux-23.0\", will return \"quux\""
@ -361,16 +338,14 @@ E.g., if given \"quux-23.0\", will return \"quux\""
(match-string 1 dirname)))
(defun package-load-descriptor (dir package)
"Load the description file for a package.
DIR is the directory in which to find the package subdirectory,
and PACKAGE is the name of the package subdirectory.
Return nil if the package could not be found."
(let ((pkg-dir (expand-file-name package dir)))
(if (file-directory-p pkg-dir)
(load (expand-file-name (concat (package-strip-version package)
"-pkg")
pkg-dir)
nil t))))
"Load the description file in directory DIR for package PACKAGE."
(let* ((pkg-dir (expand-file-name package dir))
(pkg-file (expand-file-name
(concat (package-strip-version package) "-pkg")
pkg-dir)))
(when (and (file-directory-p pkg-dir)
(file-exists-p (concat pkg-file ".el")))
(load pkg-file nil t))))
(defun package-load-all-descriptors ()
"Load descriptors for installed Emacs Lisp packages.
@ -399,9 +374,8 @@ updates `package-alist' and `package-obsolete-alist'."
((eq force t)
t)
((stringp force) ; held
(package-version-compare (package-version-split version)
(package-version-split force)
'=))
(version-list-= (version-to-list version)
(version-to-list force)))
(t
(error "Invalid element in `package-load-list'")))
(package-load-descriptor dir subdir))))))))
@ -458,8 +432,7 @@ updates `package-alist' and `package-obsolete-alist'."
(defun package--built-in (package version)
"Return true if the package is built-in to Emacs."
(let ((elt (assq package package--builtins)))
(and elt
(package-version-compare (package-desc-vers (cdr elt)) version '=))))
(and elt (version-list-= (package-desc-vers (cdr elt)) version))))
;; FIXME: return a reason instead?
(defun package-activate (package version)
@ -477,7 +450,7 @@ Return nil if the package could not be activated."
(req-list (package-desc-reqs (cdr pkg-desc)))
;; If the package was never activated, do it now.
(keep-going (or (not (memq package package-activated-list))
(package-version-compare this-version version '>))))
(version-list-< version this-version))))
(while (and req-list keep-going)
(let* ((req (car req-list))
(req-name (car req))
@ -491,7 +464,7 @@ Return nil if the package could not be activated."
;; can also get here if the requested package was already
;; activated. Return non-nil in the latter case.
(and (memq package package-activated-list)
(package-version-compare this-version version '>=))))))
(version-list-<= version this-version))))))
(defun package-mark-obsolete (package pkg-vec)
"Put package on the obsolete list, if not already there."
@ -521,21 +494,20 @@ REQUIREMENTS is a list of requirements on other packages.
Each requirement is of the form (OTHER-PACKAGE \"VERSION\")."
(let* ((name (intern name-str))
(pkg-desc (assq name package-alist))
(new-version (package-version-split version-string))
(new-version (version-to-list version-string))
(new-pkg-desc
(cons name
(vector new-version
(mapcar
(lambda (elt)
(list (car elt)
(package-version-split (car (cdr elt)))))
(version-to-list (car (cdr elt)))))
requirements)
docstring))))
;; Only redefine a package if the redefinition is newer.
(if (or (not pkg-desc)
(package-version-compare new-version
(package-desc-vers (cdr pkg-desc))
'>))
(version-list-< (package-desc-vers (cdr pkg-desc))
new-version))
(progn
(when pkg-desc
;; Remove old package and declare it obsolete.
@ -546,9 +518,8 @@ Each requirement is of the form (OTHER-PACKAGE \"VERSION\")."
;; You can have two packages with the same version, for instance
;; one in the system package directory and one in your private
;; directory. We just let the first one win.
(unless (package-version-compare new-version
(package-desc-vers (cdr pkg-desc))
'=)
(unless (version-list-= new-version
(package-desc-vers (cdr pkg-desc)))
;; The package is born obsolete.
(package-mark-obsolete (car new-pkg-desc) (cdr new-pkg-desc))))))
@ -613,20 +584,23 @@ Otherwise it uses an external `tar' program.
(let ((load-path (cons pkg-dir load-path)))
(byte-recompile-directory pkg-dir 0 t)))))
(defun package--write-file-no-coding (file-name excl)
(let ((buffer-file-coding-system 'no-conversion))
(write-region (point-min) (point-max) file-name nil nil nil excl)))
(defun package-unpack-single (file-name version desc requires)
"Install the contents of the current buffer as a package."
;; Special case "package".
(if (string= file-name "package")
(write-region (point-min) (point-max)
(expand-file-name (concat file-name ".el")
package-user-dir)
nil nil nil nil)
(package--write-file-no-coding
(expand-file-name (concat file-name ".el") package-user-dir)
nil)
(let* ((pkg-dir (expand-file-name (concat file-name "-" version)
package-user-dir))
(el-file (expand-file-name (concat file-name ".el") pkg-dir))
(pkg-file (expand-file-name (concat file-name "-pkg.el") pkg-dir)))
(make-directory pkg-dir t)
(write-region (point-min) (point-max) el-file nil nil nil 'excl)
(package--write-file-no-coding el-file 'excl)
(let ((print-level nil)
(print-length nil))
(write-region
@ -670,7 +644,7 @@ It will move point to somewhere in the headers."
(defun package-download-single (name version desc requires)
"Download and install a single-file package."
(let ((buffer (url-retrieve-synchronously
(concat package-archive-base
(concat (package-archive-url name)
(symbol-name name) "-" version ".el"))))
(with-current-buffer buffer
(package-handle-response)
@ -683,7 +657,7 @@ It will move point to somewhere in the headers."
(defun package-download-tar (name version)
"Download and install a tar package."
(let ((tar-buffer (url-retrieve-synchronously
(concat package-archive-base
(concat (package-archive-url name)
(symbol-name name) "-" version ".tar"))))
(with-current-buffer tar-buffer
(package-handle-response)
@ -692,12 +666,11 @@ It will move point to somewhere in the headers."
(package-unpack name version)
(kill-buffer tar-buffer))))
(defun package-installed-p (package version)
(defun package-installed-p (package &optional min-version)
(let ((pkg-desc (assq package package-alist)))
(and pkg-desc
(package-version-compare version
(package-desc-vers (cdr pkg-desc))
'>=))))
(version-list-<= min-version
(package-desc-vers (cdr pkg-desc))))))
(defun package-compute-transaction (result requirements)
(dolist (elt requirements)
@ -715,9 +688,7 @@ It will move point to somewhere in the headers."
(symbol-name next-pkg)))
((null (stringp hold))
(error "Invalid element in `package-load-list'"))
((package-version-compare next-version
(package-version-split hold)
'>)
((version-list-< (version-to-list hold) next-version)
(error "Package '%s' held at version %s, \
but version %s required"
(symbol-name next-pkg) hold
@ -725,9 +696,8 @@ but version %s required"
(unless pkg-desc
(error "Package '%s' is not available for installation"
(symbol-name next-pkg)))
(unless (package-version-compare (package-desc-vers (cdr pkg-desc))
next-version
'>=)
(unless (version-list-<= next-version
(package-desc-vers (cdr pkg-desc)))
(error
"Need package '%s' with version %s, but only %s is available"
(symbol-name next-pkg) (package-version-join next-version)
@ -772,27 +742,50 @@ Will throw an error if the archive version is too new."
(car contents) package-archive-version))
(cdr contents))))))
(defun package-read-archive-contents ()
(defun package-read-all-archive-contents ()
"Re-read `archive-contents' and `builtin-packages', if they exist.
Set `package-archive-contents' and `package--builtins' if successful.
Throw an error if the archive version is too new."
(let ((archive-contents (package--read-archive-file "archive-contents"))
(builtins (package--read-archive-file "builtin-packages")))
(if archive-contents
;; Version 1 of 'archive-contents' is identical to our
;; internal representation.
(setq package-archive-contents archive-contents))
(dolist (archive package-archives)
(package-read-archive-contents (car archive)))
(let ((builtins (package--read-archive-file "builtin-packages")))
(if builtins
;; Version 1 of 'builtin-packages' is a list where the car is
;; a split emacs version and the cdr is an alist suitable for
;; package--builtins.
(let ((our-version (package-version-split emacs-version))
(let ((our-version (version-to-list emacs-version))
(result package--builtins-base))
(setq package--builtins
(dolist (elt builtins result)
(if (package-version-compare our-version (car elt) '>=)
(if (version-list-<= (car elt) our-version)
(setq result (append (cdr elt) result)))))))))
(defun package-read-archive-contents (archive)
"Re-read `archive-contents' and `builtin-packages' for ARCHIVE.
If successful, set `package-archive-contents' and `package--builtins'.
If the archive version is too new, signal an error."
(let ((archive-contents (package--read-archive-file
(concat "archives/" archive
"/archive-contents"))))
(if archive-contents
;; Version 1 of 'archive-contents' is identical to our
;; internal representation.
;; TODO: merge archive lists
(dolist (package archive-contents)
(package--add-to-archive-contents package archive)))))
(defun package--add-to-archive-contents (package archive)
"Add the PACKAGE from the given ARCHIVE if necessary.
Also, add the originating archive to the end of the package vector."
(let* ((name (car package))
(version (aref (cdr package) 0))
(entry (cons (car package)
(vconcat (cdr package) (vector archive))))
(existing-package (cdr (assq name package-archive-contents))))
(when (or (not existing-package)
(version-list-< (aref existing-package 0) version))
(add-to-list 'package-archive-contents entry))))
(defun package-download-transaction (transaction)
"Download and install all the packages in the given transaction."
(dolist (elt transaction)
@ -817,26 +810,21 @@ Throw an error if the archive version is too new."
(defun package-install (name)
"Install the package named NAME.
Interactively, prompt for the package name.
The package is found on the archive site, see `package-archive-base'."
The package is found on one of the archives in `package-archives'."
(interactive
(list (progn
;; Make sure we're using the most recent download of the
;; archive. Maybe we should be updating the archive first?
(package-read-archive-contents)
(intern (completing-read "Install package: "
(mapcar (lambda (elt)
(cons (symbol-name (car elt))
nil))
package-archive-contents)
nil t)))))
(list (intern (completing-read "Install package: "
(mapcar (lambda (elt)
(cons (symbol-name (car elt))
nil))
package-archive-contents)
nil t))))
(let ((pkg-desc (assq name package-archive-contents)))
(unless pkg-desc
(error "Package '%s' not available for installation"
(error "Package '%s' is not available for installation"
(symbol-name name)))
(let ((transaction
(package-compute-transaction (list name)
(package-desc-reqs (cdr pkg-desc)))))
(package-download-transaction transaction)))
(package-download-transaction
(package-compute-transaction (list name)
(package-desc-reqs (cdr pkg-desc)))))
;; Try to activate it.
(package-initialize))
@ -891,7 +879,7 @@ May narrow buffer or move point even on failure."
(mapcar
(lambda (elt)
(list (car elt)
(package-version-split (car (cdr elt)))))
(version-to-list (car (cdr elt)))))
requires))
(set-text-properties 0 (length file-name) nil file-name)
(set-text-properties 0 (length pkg-version) nil pkg-version)
@ -940,7 +928,7 @@ The return result is a vector like `package-buffer-info'."
(mapcar
(lambda (elt)
(list (car elt)
(package-version-split (car (cdr elt)))))
(version-to-list (car (cdr elt)))))
requires))
(vector pkg-name requires docstring version-string readme))))
@ -996,20 +984,28 @@ The file can either be a tar file or an Emacs Lisp file."
;; FIXME: query user?
'always))
(defun package--download-one-archive (file)
"Download a single archive file and cache it locally."
(let ((buffer (url-retrieve-synchronously
(concat package-archive-base file))))
(defun package-archive-url (name)
"Return the archive containing the package NAME."
(let ((desc (cdr (assq (intern-soft name) package-archive-contents))))
(cdr (assoc (aref desc (- (length desc) 1)) package-archives))))
(defun package--download-one-archive (archive file)
"Download an archive file FILE from ARCHIVE, and cache it locally."
(let* ((archive-name (car archive))
(archive-url (cdr archive))
(dir (expand-file-name "archives" package-user-dir))
(dir (expand-file-name archive-name dir))
(buffer (url-retrieve-synchronously (concat archive-url file))))
(with-current-buffer buffer
(package-handle-response)
(re-search-forward "^$" nil 'move)
(forward-char)
(delete-region (point-min) (point))
(setq buffer-file-name (concat (file-name-as-directory package-user-dir)
file))
(make-directory dir t)
(setq buffer-file-name (expand-file-name file dir))
(let ((version-control 'never))
(save-buffer))
(kill-buffer buffer))))
(save-buffer)))
(kill-buffer buffer)))
(defun package-refresh-contents ()
"Download the ELPA archive description if needed.
@ -1019,9 +1015,9 @@ download."
(interactive)
(unless (file-exists-p package-user-dir)
(make-directory package-user-dir t))
(package--download-one-archive "archive-contents")
(package--download-one-archive "builtin-packages")
(package-read-archive-contents))
(dolist (archive package-archives)
(package--download-one-archive archive "archive-contents"))
(package-read-all-archive-contents))
;;;###autoload
(defun package-initialize ()
@ -1030,7 +1026,7 @@ The variable `package-load-list' controls which packages to load."
(interactive)
(setq package-obsolete-alist nil)
(package-load-all-descriptors)
(package-read-archive-contents)
(package-read-all-archive-contents)
;; Try to activate all our packages.
(mapc (lambda (elt)
(package-activate (car elt) (package-desc-vers (cdr elt))))
@ -1306,11 +1302,12 @@ available for download."
For single-file packages, shows the commentary section from the header.
For larger packages, shows the README file."
(interactive)
(let* (start-point ok
(pkg-name (package-menu-get-package))
(buffer (url-retrieve-synchronously (concat package-archive-base
pkg-name
"-readme.txt"))))
(let* ((pkg-name (package-menu-get-package))
(buffer (url-retrieve-synchronously
(concat (package-archive-url pkg-name)
pkg-name
"-readme.txt")))
start-point ok)
(with-current-buffer buffer
;; FIXME: it would be nice to work with any URL type.
(setq start-point url-http-end-of-headers)
@ -1322,7 +1319,7 @@ For larger packages, shows the README file."
(insert "Package information for " pkg-name "\n\n")
(if ok
(insert-buffer-substring buffer start-point)
(insert "This package does not have a README file or commentary comment.\n"))
(insert "This package lacks a README file or commentary.\n"))
(goto-char (point-min))
(view-mode)))
(display-buffer new-buffer t))))
@ -1355,7 +1352,6 @@ Note that after installing packages you will want to restart
Emacs."
(interactive)
(goto-char (point-min))
(forward-line 2)
(while (not (eobp))
(let ((cmd (char-after))
(pkg-name (package-menu-get-package))
@ -1380,7 +1376,7 @@ Emacs."
(defun package-print-package (package version key desc)
(let ((face
(cond ((eq package 'emacs) 'font-lock-builtin-face)
(cond ((string= key "built-in") 'font-lock-builtin-face)
((string= key "available") 'default)
((string= key "held") 'font-lock-constant-face)
((string= key "disabled") 'font-lock-warning-face)
@ -1402,7 +1398,9 @@ Emacs."
;; FIXME: this 'when' is bogus...
(when desc
(indent-to 43 1)
(insert (propertize desc 'font-lock-face face)))
(let ((opoint (point)))
(insert (propertize desc 'font-lock-face face))
(upcase-region opoint (min (point) (1+ opoint)))))
(insert "\n")))
(defun package-list-maybe-add (package version status description result)
@ -1420,22 +1418,30 @@ Emacs."
(setq buffer-read-only nil)
(erase-buffer)
(let ((info-list)
name desc hold)
name desc hold
builtin)
;; List installed packages
(dolist (elt package-alist)
;; Ignore the Emacs package.
(setq name (car elt)
desc (cdr elt)
hold (assq name package-load-list))
(setq info-list
(package-list-maybe-add name (package-desc-vers desc)
;; FIXME: it turns out to be
;; tricky to see if this package
;; is presently activated.
(if (stringp (cadr hold))
"held"
"installed")
(package-desc-doc desc)
info-list)))
(unless (eq name 'emacs)
(setq info-list
(package-list-maybe-add
name (package-desc-vers desc)
;; FIXME: it turns out to be tricky to see if this
;; package is presently activated.
(cond ((stringp (cadr hold))
"held")
((and (setq builtin (assq name package--builtins))
(version-list-=
(package-desc-vers (cdr builtin))
(package-desc-vers desc)))
"built-in")
(t "installed"))
(package-desc-doc desc)
info-list))))
;; List available packages
(dolist (elt package-archive-contents)
(setq name (car elt)
@ -1443,7 +1449,7 @@ Emacs."
hold (assq name package-load-list))
(unless (and hold (stringp (cadr hold))
(package-installed-p
name (package-version-split (cadr hold))))
name (version-to-list (cadr hold))))
(setq info-list
(package-list-maybe-add name
(package-desc-vers desc)
@ -1532,8 +1538,8 @@ Helper function that does all the work for the user-facing functions."
'((0 . "")
(2 . "Package")
(20 . "Version")
(30 . "Status")
(41 . "Description"))
(32 . "Status")
(43 . "Description"))
""))
;; It's okay to use pop-to-buffer here. The package menu buffer

489
lisp/emacs-lisp/pcase.el Normal file
View file

@ -0,0 +1,489 @@
;;; pcase.el --- ML-style pattern-matching macro for Elisp
;; Copyright (C) 2010 Stefan Monnier
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
;; Keywords:
;; 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 3 of the License, or
;; (at your option) any later version.
;; GNU Emacs is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;; You should have received a copy of the GNU General Public License
;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
;;; Commentary:
;; ML-style pattern matching.
;; The entry points are autoloaded.
;;; Code:
(eval-when-compile (require 'cl))
;; Macro-expansion of pcase is reasonably fast, so it's not a problem
;; when byte-compiling a file, but when interpreting the code, if the pcase
;; is in a loop, the repeated macro-expansion becomes terribly costly, so we
;; memoize previous macro expansions to try and avoid recomputing them
;; over and over again.
(defconst pcase-memoize (make-hash-table :weakness t :test 'equal))
;;;###autoload
(defmacro pcase (exp &rest cases)
"Perform ML-style pattern matching on EXP.
CASES is a list of elements of the form (UPATTERN CODE...).
UPatterns can take the following forms:
_ matches anything.
SYMBOL matches anything and binds it to SYMBOL.
(or UPAT...) matches if any of the patterns matches.
(and UPAT...) matches if all the patterns match.
`QPAT matches if the QPattern QPAT matches.
(pred PRED) matches if PRED applied to the object returns non-nil.
QPatterns can take the following forms:
(QPAT1 . QPAT2) matches if QPAT1 matches the car and QPAT2 the cdr.
,UPAT matches if the UPattern UPAT matches.
ATOM matches if the object is `eq' to ATOM.
QPatterns for vectors are not implemented yet.
PRED can take the form
FUNCTION in which case it gets called with one argument.
(FUN ARG1 .. ARGN) in which case it gets called with N+1 arguments.
A PRED of the form FUNCTION is equivalent to one of the form (FUNCTION).
PRED patterns can refer to variables bound earlier in the pattern.
E.g. you can match pairs where the cdr is larger than the car with a pattern
like `(,a . ,(pred (< a))) or, with more checks:
`(,(and a (pred numberp)) . ,(and (pred numberp) (pred (< a))))"
(declare (indent 1) (debug case))
(or (gethash (cons exp cases) pcase-memoize)
(puthash (cons exp cases)
(pcase-expand exp cases)
pcase-memoize)))
;;;###autoload
(defmacro pcase-let* (bindings body)
"Like `let*' but where you can use `pcase' patterns for bindings.
BODY should be an expression, and BINDINGS should be a list of bindings
of the form (UPAT EXP)."
(if (null bindings) body
`(pcase ,(cadr (car bindings))
(,(caar bindings) (plet* ,(cdr bindings) ,body))
(t (error "Pattern match failure in `plet'")))))
;;;###autoload
(defmacro pcase-let (bindings body)
"Like `let' but where you can use `pcase' patterns for bindings.
BODY should be an expression, and BINDINGS should be a list of bindings
of the form (UPAT EXP)."
(if (null (cdr bindings))
`(plet* ,bindings ,body)
(setq bindings (mapcar (lambda (x) (cons (make-symbol "x") x)) bindings))
`(let ,(mapcar (lambda (binding) (list (nth 0 binding) (nth 2 binding)))
bindings)
(plet* ,(mapcar (lambda (binding) (list (nth 1 binding) (nth 0 binding)))
bindings)
,body))))
(defun pcase-expand (exp cases)
(let* ((defs (if (symbolp exp) '()
(let ((sym (make-symbol "x")))
(prog1 `((,sym ,exp)) (setq exp sym)))))
(seen '())
(codegen
(lambda (code vars)
(let ((prev (assq code seen)))
(if (not prev)
(let ((res (pcase-codegen code vars)))
(push (list code vars res) seen)
res)
;; Since we use a tree-based pattern matching
;; technique, the leaves (the places that contain the
;; code to run once a pattern is matched) can get
;; copied a very large number of times, so to avoid
;; code explosion, we need to keep track of how many
;; times we've used each leaf and move it
;; to a separate function if that number is too high.
;;
;; We've already used this branch. So it is shared.
(destructuring-bind (code prevvars res) prev
(unless (symbolp res)
;; This is the first repeat, so we have to move
;; the branch to a separate function.
(let ((bsym
(make-symbol (format "pcase-%d" (length defs)))))
(push `(,bsym (lambda ,(mapcar #'car prevvars) ,@code)) defs)
(setcar res 'funcall)
(setcdr res (cons bsym (mapcar #'cdr prevvars)))
(setcar (cddr prev) bsym)
(setq res bsym)))
(setq vars (copy-sequence vars))
(let ((args (mapcar (lambda (pa)
(let ((v (assq (car pa) vars)))
(setq vars (delq v vars))
(cdr v)))
prevvars)))
(when vars ;New additional vars.
(error "The vars %s are only bound in some paths"
(mapcar #'car vars)))
`(funcall ,res ,@args)))))))
(main
(pcase-u
(mapcar (lambda (case)
`((match ,exp . ,(car case))
,(apply-partially
(if (pcase-small-branch-p (cdr case))
;; Don't bother sharing multiple
;; occurrences of this leaf since it's small.
#'pcase-codegen codegen)
(cdr case))))
cases))))
`(let ,defs ,main)))
(defun pcase-codegen (code vars)
`(let ,(mapcar (lambda (b) (list (car b) (cdr b))) vars)
,@code))
(defun pcase-small-branch-p (code)
(and (= 1 (length code))
(or (not (consp (car code)))
(let ((small t))
(dolist (e (car code))
(if (consp e) (setq small nil)))
small))))
;; Try to use `cond' rather than a sequence of `if's, so as to reduce
;; the depth of the generated tree.
(defun pcase-if (test then else)
(cond
((eq else :pcase-dontcare) then)
((eq (car-safe else) 'if)
`(cond (,test ,then)
(,(nth 1 else) ,(nth 2 else))
(t ,@(nthcdr 3 else))))
((eq (car-safe else) 'cond)
`(cond (,test ,then)
,@(cdr else)))
(t `(if ,test ,then ,else))))
(defun pcase-upat (qpattern)
(cond
((eq (car-safe qpattern) '\,) (cadr qpattern))
(t (list '\` qpattern))))
;; Note about MATCH:
;; When we have patterns like `(PAT1 . PAT2), after performing the `consp'
;; check, we want to turn all the similar patterns into ones of the form
;; (and (match car PAT1) (match cdr PAT2)), so you naturally need conjunction.
;; Earlier code hence used branches of the form (MATCHES . CODE) where
;; MATCHES was a list (implicitly a conjunction) of (SYM . PAT).
;; But if we have a pattern of the form (or `(PAT1 . PAT2) PAT3), there is
;; no easy way to eliminate the `consp' check in such a representation.
;; So we replaced the MATCHES by the MATCH below which can be made up
;; of conjunctions and disjunctions, so if we know `foo' is a cons, we can
;; turn (match foo . (or `(PAT1 . PAT2) PAT3)) into
;; (or (and (match car . `PAT1) (match cdr . `PAT2)) (match foo . PAT3)).
;; The downside is that we now have `or' and `and' both in MATCH and
;; in PAT, so there are different equivalent representations and we
;; need to handle them all. We do not try to systematically
;; canonicalize them to one form over another, but we do occasionally
;; turn one into the other.
(defun pcase-u (branches)
"Expand matcher for rules BRANCHES.
Each BRANCH has the form (MATCH CODE . VARS) where
CODE is the code generator for that branch.
VARS is the set of vars already bound by earlier matches.
MATCH is the pattern that needs to be matched, of the form:
(match VAR . UPAT)
(and MATCH ...)
(or MATCH ...)"
(when (setq branches (delq nil branches))
(destructuring-bind (match code &rest vars) (car branches)
(pcase-u1 (list match) code vars (cdr branches)))))
(defun pcase-and (match matches)
(if matches `(and ,match ,@matches) match))
(defun pcase-split-match (sym splitter match)
(case (car match)
((match)
(if (not (eq sym (cadr match)))
(cons match match)
(let ((pat (cddr match)))
(cond
;; Hoist `or' and `and' patterns to `or' and `and' matches.
((memq (car-safe pat) '(or and))
(pcase-split-match sym splitter
(cons (car pat)
(mapcar (lambda (alt)
`(match ,sym . ,alt))
(cdr pat)))))
(t (let ((res (funcall splitter (cddr match))))
(cons (or (car res) match) (or (cdr res) match))))))))
((or and)
(let ((then-alts '())
(else-alts '())
(neutral-elem (if (eq 'or (car match)) :pcase-fail :pcase-succeed))
(zero-elem (if (eq 'or (car match)) :pcase-succeed :pcase-fail)))
(dolist (alt (cdr match))
(let ((split (pcase-split-match sym splitter alt)))
(unless (eq (car split) neutral-elem)
(push (car split) then-alts))
(unless (eq (cdr split) neutral-elem)
(push (cdr split) else-alts))))
(cons (cond ((memq zero-elem then-alts) zero-elem)
((null then-alts) neutral-elem)
((null (cdr then-alts)) (car then-alts))
(t (cons (car match) (nreverse then-alts))))
(cond ((memq zero-elem else-alts) zero-elem)
((null else-alts) neutral-elem)
((null (cdr else-alts)) (car else-alts))
(t (cons (car match) (nreverse else-alts)))))))
(t (error "Uknown MATCH %s" match))))
(defun pcase-split-rest (sym splitter rest)
(let ((then-rest '())
(else-rest '()))
(dolist (branch rest)
(let* ((match (car branch))
(code&vars (cdr branch))
(splitted
(pcase-split-match sym splitter match)))
(unless (eq (car splitted) :pcase-fail)
(push (cons (car splitted) code&vars) then-rest))
(unless (eq (cdr splitted) :pcase-fail)
(push (cons (cdr splitted) code&vars) else-rest))))
(cons (nreverse then-rest) (nreverse else-rest))))
(defun pcase-split-consp (syma symd pat)
(cond
;; A QPattern for a cons, can only go the `then' side.
((and (eq (car-safe pat) '\`) (consp (cadr pat)))
(let ((qpat (cadr pat)))
(cons `(and (match ,syma . ,(pcase-upat (car qpat)))
(match ,symd . ,(pcase-upat (cdr qpat))))
:pcase-fail)))
;; A QPattern but not for a cons, can only go the `else' side.
((eq (car-safe pat) '\`) (cons :pcase-fail nil))))
(defun pcase-split-eq (elem pat)
(cond
;; The same match will give the same result.
((and (eq (car-safe pat) '\`) (equal (cadr pat) elem))
(cons :pcase-succeed :pcase-fail))
;; A different match will fail if this one succeeds.
((and (eq (car-safe pat) '\`)
;; (or (integerp (cadr pat)) (symbolp (cadr pat))
;; (consp (cadr pat)))
)
(cons :pcase-fail nil))))
(defun pcase-split-memq (elems pat)
;; Based on pcase-split-eq.
(cond
;; The same match will give the same result.
((and (eq (car-safe pat) '\`) (member (cadr pat) elems))
(cons :pcase-succeed nil))
;; A different match will fail if this one succeeds.
((and (eq (car-safe pat) '\`)
;; (or (integerp (cadr pat)) (symbolp (cadr pat))
;; (consp (cadr pat)))
)
(cons :pcase-fail nil))))
(defun pcase-split-pred (upat pat)
;; FIXME: For predicates like (pred (> a)), two such predicates may
;; actually refer to different variables `a'.
(if (equal upat pat)
(cons :pcase-succeed :pcase-fail)))
(defun pcase-fgrep (vars sexp)
"Check which of the symbols VARS appear in SEXP."
(let ((res '()))
(while (consp sexp)
(dolist (var (pcase-fgrep vars (pop sexp)))
(unless (memq var res) (push var res))))
(and (memq sexp vars) (not (memq sexp res)) (push sexp res))
res))
;; It's very tempting to use `pcase' below, tho obviously, it'd create
;; bootstrapping problems.
(defun pcase-u1 (matches code vars rest)
"Return code that runs CODE (with VARS) if MATCHES match.
and otherwise defers to REST which is a list of branches of the form
\(ELSE-MATCH ELSE-CODE . ELSE-VARS)."
;; Depending on the order in which we choose to check each of the MATCHES,
;; the resulting tree may be smaller or bigger. So in general, we'd want
;; to be careful to chose the "optimal" order. But predicate
;; patterns make this harder because they create dependencies
;; between matches. So we don't bother trying to reorder anything.
(cond
((null matches) (funcall code vars))
((eq :pcase-fail (car matches)) (pcase-u rest))
((eq :pcase-succeed (car matches))
(pcase-u1 (cdr matches) code vars rest))
((eq 'and (caar matches))
(pcase-u1 (append (cdar matches) (cdr matches)) code vars rest))
((eq 'or (caar matches))
(let* ((alts (cdar matches))
(var (if (eq (caar alts) 'match) (cadr (car alts))))
(simples '()) (others '()))
(when var
(dolist (alt alts)
(if (and (eq (car alt) 'match) (eq var (cadr alt))
(let ((upat (cddr alt)))
(and (eq (car-safe upat) '\`)
(or (integerp (cadr upat)) (symbolp (cadr upat))))))
(push (cddr alt) simples)
(push alt others))))
(cond
((null alts) (error "Please avoid it") (pcase-u rest))
((> (length simples) 1)
;; De-hoist the `or' MATCH into an `or' pattern that will be
;; turned into a `memq' below.
(pcase-u1 (cons `(match ,var or . ,(nreverse simples)) (cdr matches))
code vars
(if (null others) rest
(cons (list*
(pcase-and (if (cdr others)
(cons 'or (nreverse others))
(car others))
(cdr matches))
code vars)
rest))))
(t
(pcase-u1 (cons (pop alts) (cdr matches)) code vars
(if (null alts) (progn (error "Please avoid it") rest)
(cons (list*
(pcase-and (if (cdr alts)
(cons 'or alts) (car alts))
(cdr matches))
code vars)
rest)))))))
((eq 'match (caar matches))
(destructuring-bind (op sym &rest upat) (pop matches)
(cond
((memq upat '(t _)) (pcase-u1 matches code vars rest))
((eq upat 'dontcare) :pcase-dontcare)
((functionp upat) (error "Feature removed, use (pred %s)" upat))
((eq (car-safe upat) 'pred)
(destructuring-bind (then-rest &rest else-rest)
(pcase-split-rest
sym (apply-partially 'pcase-split-pred upat) rest)
(pcase-if (if (symbolp (cadr upat))
`(,(cadr upat) ,sym)
(let* ((exp (cadr upat))
;; `vs' is an upper bound on the vars we need.
(vs (pcase-fgrep (mapcar #'car vars) exp)))
(if vs
;; Let's not replace `vars' in `exp' since it's
;; too difficult to do it right, instead just
;; let-bind `vars' around `exp'.
`(let ,(mapcar (lambda (var)
(list var (cdr (assq var vars))))
vs)
;; FIXME: `vars' can capture `sym'. E.g.
;; (pcase x ((and `(,x . ,y) (pred (fun x)))))
(,@exp ,sym))
`(,@exp ,sym))))
(pcase-u1 matches code vars then-rest)
(pcase-u else-rest))))
((symbolp upat)
(pcase-u1 matches code (cons (cons upat sym) vars) rest))
((eq (car-safe upat) '\`)
(pcase-q1 sym (cadr upat) matches code vars rest))
((eq (car-safe upat) 'or)
(let ((all (> (length (cdr upat)) 1)))
(when all
(dolist (alt (cdr upat))
(unless (and (eq (car-safe alt) '\`)
(or (symbolp (cadr alt)) (integerp (cadr alt))))
(setq all nil))))
(if all
;; Use memq for (or `a `b `c `d) rather than a big tree.
(let ((elems (mapcar 'cadr (cdr upat))))
(destructuring-bind (then-rest &rest else-rest)
(pcase-split-rest
sym (apply-partially 'pcase-split-memq elems) rest)
(pcase-if `(memq ,sym ',elems)
(pcase-u1 matches code vars then-rest)
(pcase-u else-rest))))
(pcase-u1 (cons `(match ,sym ,@(cadr upat)) matches) code vars
(append (mapcar (lambda (upat)
`((and (match ,sym . ,upat) ,@matches)
,code ,@vars))
(cddr upat))
rest)))))
((eq (car-safe upat) 'and)
(pcase-u1 (append (mapcar (lambda (upat) `(match ,sym ,@upat)) (cdr upat))
matches)
code vars rest))
((eq (car-safe upat) 'not)
;; FIXME: The implementation below is naive and results in
;; inefficient code.
;; To make it work right, we would need to turn pcase-u1's
;; `code' and `vars' into a single argument of the same form as
;; `rest'. We would also need to split this new `then-rest' argument
;; for every test (currently we don't bother to do it since
;; it's only useful for odd patterns like (and `(PAT1 . PAT2)
;; `(PAT3 . PAT4)) which the programmer can easily rewrite
;; to the more efficient `(,(and PAT1 PAT3) . ,(and PAT2 PAT4))).
(pcase-u1 `((match ,sym . ,(cadr upat)))
(lexical-let ((rest rest))
;; FIXME: This codegen is not careful to share its
;; code if used several times: code blow up is likely.
(lambda (vars)
;; `vars' will likely contain bindings which are
;; not always available in other paths to
;; `rest', so there' no point trying to pass
;; them down.
(pcase-u rest)))
vars
(list `((and . ,matches) ,code . ,vars))))
(t (error "Unknown upattern `%s'" upat)))))
(t (error "Incorrect MATCH %s" (car matches)))))
(defun pcase-q1 (sym qpat matches code vars rest)
"Return code that runs CODE if SYM matches QPAT and if MATCHES match.
and if not, defers to REST which is a list of branches of the form
\(OTHER_MATCH OTHER-CODE . OTHER-VARS)."
(cond
((eq (car-safe qpat) '\,) (error "Can't use `,UPATTERN"))
((floatp qpat) (error "Floating point patterns not supported"))
((vectorp qpat)
;; FIXME.
(error "Vector QPatterns not implemented yet"))
((consp qpat)
(let ((syma (make-symbol "xcar"))
(symd (make-symbol "xcdr")))
(destructuring-bind (then-rest &rest else-rest)
(pcase-split-rest sym (apply-partially 'pcase-split-consp syma symd)
rest)
(pcase-if `(consp ,sym)
`(let ((,syma (car ,sym))
(,symd (cdr ,sym)))
,(pcase-u1 `((match ,syma . ,(pcase-upat (car qpat)))
(match ,symd . ,(pcase-upat (cdr qpat)))
,@matches)
code vars then-rest))
(pcase-u else-rest)))))
((or (integerp qpat) (symbolp qpat))
(destructuring-bind (then-rest &rest else-rest)
(pcase-split-rest sym (apply-partially 'pcase-split-eq qpat) rest)
(pcase-if `(eq ,sym ',qpat)
(pcase-u1 matches code vars then-rest)
(pcase-u else-rest))))
(t (error "Unkown QPattern %s" qpat))))
(provide 'pcase)
;;; pcase.el ends here

View file

@ -61,14 +61,12 @@
;; this limit allowing an easy way to see all matches.
;; Currently `re-builder' understands five different forms of input,
;; namely `read', `string', `rx', `sregex' and `lisp-re' syntax. Read
;; namely `read', `string', `rx', and `sregex' syntax. Read
;; syntax and string syntax are both delimited by `"'s and behave
;; according to their name. With the `string' syntax there's no need
;; to escape the backslashes and double quotes simplifying the editing
;; somewhat. The other three allow editing of symbolic regular
;; expressions supported by the packages of the same name. (`lisp-re'
;; is a package by me and its support may go away as it is nearly the
;; same as the `sregex' package in Emacs)
;; expressions supported by the packages of the same name.
;; Editing symbolic expressions is done through a major mode derived
;; from `emacs-lisp-mode' so you'll get all the good stuff like
@ -128,12 +126,11 @@
(defcustom reb-re-syntax 'read
"Syntax for the REs in the RE Builder.
Can either be `read', `string', `sregex', `lisp-re', `rx'."
Can either be `read', `string', `sregex', or `rx'."
:group 're-builder
:type '(choice (const :tag "Read syntax" read)
(const :tag "String syntax" string)
(const :tag "`sregex' syntax" sregex)
(const :tag "`lisp-re' syntax" lisp-re)
(const :tag "`rx' syntax" rx)))
(defcustom reb-auto-match-limit 200
@ -281,9 +278,8 @@ Except for Lisp syntax this is the same as `reb-regexp'.")
(define-derived-mode reb-lisp-mode
emacs-lisp-mode "RE Builder Lisp"
"Major mode for interactively building symbolic Regular Expressions."
(cond ((eq reb-re-syntax 'lisp-re) ; Pull in packages
(require 'lisp-re)) ; as needed
((eq reb-re-syntax 'sregex) ; sregex is not autoloaded
;; Pull in packages as needed
(cond ((eq reb-re-syntax 'sregex) ; sregex is not autoloaded
(require 'sregex)) ; right now..
((eq reb-re-syntax 'rx) ; rx-to-string is autoloaded
(require 'rx))) ; require rx anyway
@ -329,7 +325,7 @@ Except for Lisp syntax this is the same as `reb-regexp'.")
(defsubst reb-lisp-syntax-p ()
"Return non-nil if RE Builder uses a Lisp syntax."
(memq reb-re-syntax '(lisp-re sregex rx)))
(memq reb-re-syntax '(sregex rx)))
(defmacro reb-target-binding (symbol)
"Return binding for SYMBOL in the RE Builder target buffer."
@ -489,10 +485,10 @@ Optional argument SYNTAX must be specified if called non-interactively."
(list (intern
(completing-read "Select syntax: "
(mapcar (lambda (el) (cons (symbol-name el) 1))
'(read string lisp-re sregex rx))
'(read string sregex rx))
nil t (symbol-name reb-re-syntax)))))
(if (memq syntax '(read string lisp-re sregex rx))
(if (memq syntax '(read string sregex rx))
(let ((buffer (get-buffer reb-buffer)))
(setq reb-re-syntax syntax)
(when buffer
@ -616,10 +612,7 @@ optional fourth argument FORCE is non-nil."
(defun reb-cook-regexp (re)
"Return RE after processing it according to `reb-re-syntax'."
(cond ((eq reb-re-syntax 'lisp-re)
(when (fboundp 'lre-compile-string)
(lre-compile-string (eval (car (read-from-string re))))))
((eq reb-re-syntax 'sregex)
(cond ((eq reb-re-syntax 'sregex)
(apply 'sregex (eval (car (read-from-string re)))))
((eq reb-re-syntax 'rx)
(rx-to-string (eval (car (read-from-string re)))))

View file

@ -52,7 +52,7 @@
(defun syntax-ppss-toplevel-pos (ppss)
"Get the latest syntactically outermost position found in a syntactic scan.
PPSS is a scan state, as returned by `partial-parse-sexp' or `syntax-ppss'.
PPSS is a scan state, as returned by `parse-partial-sexp' or `syntax-ppss'.
An \"outermost position\" means one that it is outside of any syntactic entity:
outside of any parentheses, comments, or strings encountered in the scan.
If no such position is recorded in PPSS (because the end of the scan was

View file

@ -321,7 +321,11 @@ This function is called, by name, directly by the C code."
;; We do this after rescheduling so that the handler function
;; can cancel its own timer successfully with cancel-timer.
(condition-case nil
(apply (timer--function timer) (timer--args timer))
;; Timer functions should not change the current buffer.
;; If they do, all kinds of nasty surprises can happen,
;; and it can be hellish to track down their source.
(save-current-buffer
(apply (timer--function timer) (timer--args timer)))
(error nil))
(if retrigger
(setf (timer--triggered timer) nil)))

View file

@ -110,7 +110,7 @@ This gives mostly Emacs-like behavior with only the selection keys enabled."
:group 'pc-select)
(defcustom pc-selection-mode-hook nil
"The hook to run when pc-selection-mode is toggled."
"The hook to run when PC Selection mode is toggled."
:type 'hook
:group 'pc-select)
@ -261,7 +261,7 @@ association.")
(provide 'pc-select)
(defun copy-region-as-kill-nomark (beg end)
"Save the region as if killed; but don't kill it; deactivate mark.
"Save the region as if killed, but don't kill it; deactivate mark.
If `interprogram-cut-function' is non-nil, also save the text for a window
system cut and paste.
@ -569,7 +569,7 @@ Don't use this command in Lisp programs!
;;;;;;;;;;;;;;;;;;;;
(defun backward-char-mark (&optional arg)
"Ensure mark is active; move point left ARG characters (right if ARG negative).
"Ensure mark is active; move point left ARG characters (right if ARG negative).
On attempt to pass beginning or end of buffer, stop and signal error."
(interactive "p")
(pc-select-ensure-mark)
@ -633,7 +633,7 @@ If scan reaches end of buffer, stop there without error."
(defun scroll-up-mark (&optional arg)
"Ensure mark is active; scroll upward ARG lines; or near full screen if no ARG.
"Ensure mark is active; scroll upward ARG lines; or near full screen if no ARG.
A near full screen is `next-screen-context-lines' less than a full screen.
Negative ARG means scroll downward.
When calling from a program, supply a number as argument or nil.
@ -654,7 +654,7 @@ If the buffer is narrowed, this command uses the beginning and size
of the accessible part of the buffer.
Don't use this command in Lisp programs!
\(goto-char (p\oint-min)) is faster and avoids clobbering the mark."
\(goto-char (point-min)) is faster and avoids clobbering the mark."
(interactive "P")
(pc-select-ensure-mark)
(let ((size (- (point-max) (point-min))))
@ -841,7 +841,7 @@ If the value is non-nil, call the function MODE with an argument of
;;;###autoload
(define-minor-mode pc-selection-mode
"Change mark behavior to emulate Motif, MAC or MS-Windows cut and paste style.
"Change mark behavior to emulate Motif, Mac or MS-Windows cut and paste style.
This mode enables Delete Selection mode and Transient Mark mode.

View file

@ -143,11 +143,12 @@ way."
;; when decryption failed (bug#6568). See the place
;; where `find-file-not-found-functions' are called in
;; `find-file-noselect-1'.
(make-local-variable 'epa-file-error)
(setq epa-file-error error)
(add-hook 'find-file-not-found-functions
'epa-file--find-file-not-found-function
nil t)
(when (file-exists-p local-file)
(make-local-variable 'epa-file-error)
(setq epa-file-error error)
(add-hook 'find-file-not-found-functions
'epa-file--find-file-not-found-function
nil t))
(signal 'file-error
(cons "Opening input file" (cdr error)))))
(make-local-variable 'epa-file-encrypt-to)

View file

@ -32,6 +32,12 @@
(define-key keymap "\C-c\C-ee" 'epa-mail-encrypt)
(define-key keymap "\C-c\C-ei" 'epa-mail-import-keys)
(define-key keymap "\C-c\C-eo" 'epa-insert-keys)
(define-key keymap "\C-c\C-e\C-d" 'epa-mail-decrypt)
(define-key keymap "\C-c\C-e\C-v" 'epa-mail-verify)
(define-key keymap "\C-c\C-e\C-s" 'epa-mail-sign)
(define-key keymap "\C-c\C-e\C-e" 'epa-mail-encrypt)
(define-key keymap "\C-c\C-e\C-i" 'epa-mail-import-keys)
(define-key keymap "\C-c\C-e\C-o" 'epa-insert-keys)
keymap))
(defvar epa-mail-mode-hook nil)

View file

@ -1,3 +1,11 @@
2010-08-08 Fran Litterio <flitterio@gmail.com>
* erc-backend.el (erc-server-filter-function): Call
erc-log-irc-protocol.
* erc.el (erc-toggle-debug-irc-protocol): Bind
erc-toggle-debug-irc-protocol to t.
2010-05-07 Chong Yidong <cyd@stupidchicken.com>
* Version 23.2 released.

View file

@ -574,6 +574,7 @@ Make sure you are in an ERC buffer when running this."
nil
(substring erc-server-filter-data
(match-end 0))))
(erc-log-irc-protocol line nil)
(erc-parse-server-response process line)))))))
(defsubst erc-server-reconnect-p (event)

View file

@ -2306,14 +2306,14 @@ If ARG is non-nil, show the *erc-protocol* buffer."
(insert (erc-make-notice "This buffer displays all IRC protocol traffic exchanged with each server.\n"))
(insert (erc-make-notice "Kill this buffer to terminate protocol logging.\n\n")))
(use-local-map (make-sparse-keymap))
(local-set-key (kbd "RET") 'erc-toggle-debug-irc-protocol))
(local-set-key (kbd "t") 'erc-toggle-debug-irc-protocol))
(add-hook 'kill-buffer-hook
#'(lambda () (setq erc-debug-irc-protocol nil))
nil 'local)
(goto-char (point-max))
(let ((inhibit-read-only t))
(insert (erc-make-notice
(format "IRC protocol logging %s at %s -- Press ENTER to toggle logging.\n"
(format "IRC protocol logging %s at %s -- Press `t' to toggle logging.\n"
(if erc-debug-irc-protocol "disabled" "enabled")
(current-time-string))))))
(setq erc-debug-irc-protocol (not erc-debug-irc-protocol))

View file

@ -343,8 +343,9 @@ it defaults to `insert'."
(let* ((exists (get-file-buffer target))
(buf (find-file-noselect target t)))
(with-current-buffer buf
(if buffer-read-only
(if buffer-file-read-only
(error "Cannot write to read-only file `%s'" target))
(setq buffer-read-only nil)
(set (make-local-variable 'eshell-output-file-buffer)
(if (eq exists buf) 0 t))
(cond ((eq mode 'overwrite)

View file

@ -376,7 +376,7 @@ FRAME nil or not specified means do it for all frames."
(defun face-all-attributes (face &optional frame)
"Return an alist stating the attributes of FACE.
Each element of the result has the form (ATTR-NAME . ATTR-VALUE).
Normally the value describes the default attributes,
If FRAME is omitted or nil the value describes the default attributes,
but if you specify FRAME, the value describes the attributes
of FACE on FRAME."
(mapcar (lambda (pair)

View file

@ -2784,6 +2784,9 @@ asking you for confirmation."
(truncate-lines . booleanp) ;; C source code
(bidi-display-reordering . booleanp))) ;; C source code
(put 'bidi-paragraph-direction 'safe-local-variable
(lambda (v) (memq v '(nil right-to-left left-to-right))))
(put 'c-set-style 'safe-local-eval-function t)
(defvar file-local-variables-alist nil

View file

@ -1431,23 +1431,6 @@ In the 3rd, 4th, and 6th examples, the returned value is relative to
the opposite frame edge from the edge indicated in the input spec."
(cons (car spec) (frame-geom-value-cons (car spec) (cdr spec))))
;;;; Aliases for backward compatibility with Emacs 18.
(define-obsolete-function-alias 'screen-height 'frame-height "19.7")
(define-obsolete-function-alias 'screen-width 'frame-width "19.7")
(defun set-screen-width (cols &optional pretend)
"Change the size of the screen to COLS columns.
Optional second arg non-nil means that redisplay should use COLS columns
but that the idea of the actual width of the frame should not be changed.
This function is provided only for compatibility with Emacs 18."
(set-frame-width (selected-frame) cols pretend))
(defun set-screen-height (lines &optional pretend)
"Change the height of the screen to LINES lines.
Optional second arg non-nil means that redisplay should use LINES lines
but that the idea of the actual height of the screen should not be changed.
This function is provided only for compatibility with Emacs 18."
(set-frame-height (selected-frame) lines pretend))
(defun delete-other-frames (&optional frame)
"Delete all frames except FRAME.
@ -1473,9 +1456,6 @@ left untouched. FRAME nil or omitted means use the selected frame."
(when (eq (frame-parameter frame 'minibuffer) 'only)
(delete-frame frame)))))
(make-obsolete 'set-screen-width 'set-frame-width "19.7")
(make-obsolete 'set-screen-height 'set-frame-height "19.7")
;; miscellaneous obsolescence declarations
(define-obsolete-variable-alias 'delete-frame-hook
'delete-frame-functions "22.1")

View file

@ -1,3 +1,25 @@
2010-08-06 Katsumi Yamaoka <yamaoka@jpl.org>
* rfc2047.el (rfc2047-encode): Use utf-8 as a last resort if
determining charset of text fails.
2010-08-01 Katsumi Yamaoka <yamaoka@jpl.org>
* nnmail.el (nnmail-get-new-mail-1): Revert.
* nnml.el (nnml-active-number): Make sure names of newly created groups
in nnml-group-alist are encoded.
2010-07-30 Katsumi Yamaoka <yamaoka@jpl.org>
* nnmail.el (nnmail-get-new-mail-1): Encode group names possibly
containing non-ASCII characters in active file for nnml back end.
2010-07-24 David Engster <dengste@eml.cc>
* mml-smime.el (mml-smime-epg-verify): Also accept the older
x-pkcs7-signature MIME type as signature (RFC 2311, C.1).
2010-07-21 Daiki Ueno <ueno@unixuser.org>
* mml.el (mml-parse-1): Collect "certfile" attributes in "<#secure>"
@ -5105,7 +5127,7 @@
2006-11-06 Reiner Steib <Reiner.Steib@gmx.de>
* message.el (message-strip-subject-encoded-words): New function
* message.el (message-strip-subject-encoded-words): New function.
(message-simplify-subject-functions): New variable.
(message-simplify-subject): Use it. Fix typo in doc string.
Support message-strip-subject-encoded-words.
@ -5308,8 +5330,9 @@
2006-09-20 Maxime Edouard Robert Froumentin <max@lapin-bleu.net>
(gnus-insert-mime-button, gnus-insert-mime-security-button): Apply
gnus-article-button-face to MIME and security buttons.
* gnus-art.el (gnus-insert-mime-button)
(gnus-insert-mime-security-button):
Apply gnus-article-button-face to MIME and security buttons.
2006-09-20 Reiner Steib <Reiner.Steib@gmx.de>
@ -5775,7 +5798,7 @@
* gnus-agent.el: Added gnus-agent-flush* to purge agent info.
(gnus-agent-read-agentview): Fixed handling of end-of-file error.
(gnus-agent-read-local): All symbols allocated in my-obarray
(gnus-agent-read-local): All symbols allocated in my-obarray.
(gnus-agent-set-local): Skip invalid entries (min and/or max is nil).
(gnus-agent-regenerate-group): Check numeric names to see if they are
messages or groups.
@ -9438,7 +9461,7 @@
to get all the groups a message ID is in.
* spam-stat.el (spam-stat-split-fancy-spam-threshold)
(spam-stat-split-fancy): Change "threshhold" to "threshold"
(spam-stat-split-fancy): Change "threshhold" to "threshold".
(spam-stat-score-buffer-user-functions): Add :number custom type.
2005-04-06 Katsumi Yamaoka <yamaoka@jpl.org>
@ -10422,21 +10445,21 @@
2004-11-14 Magnus Henoch <mange@freemail.hu>
* hashcash.el (hashcash-default-payment): Change default to 20
(hashcash-default-accept-payment): Change default to 20
(hashcash-process-alist): New variable
(hashcash-generate-payment-async): Add
(hashcash-already-paid-p): Add
(hashcash-insert-payment): Don't generate payments twice
(hashcash-insert-payment-async): Add
(hashcash-insert-payment-async-2): Add
(hashcash-cancel-async): Add
(hashcash-wait-async): Add
(hashcash-processes-running-p): Add
(hashcash-wait-or-cancel): Add
* hashcash.el (hashcash-default-payment): Change default to 20.
(hashcash-default-accept-payment): Change default to 20.
(hashcash-process-alist): New variable.
(hashcash-generate-payment-async): Add.
(hashcash-already-paid-p): Add.
(hashcash-insert-payment): Don't generate payments twice.
(hashcash-insert-payment-async): Add.
(hashcash-insert-payment-async-2): Add.
(hashcash-cancel-async): Add.
(hashcash-wait-async): Add.
(hashcash-processes-running-p): Add.
(hashcash-wait-or-cancel): Add.
(mail-add-payment): New optional argument. Conditionally start
asynchronous calculation.
(mail-add-payment-async): Add
(mail-add-payment-async): Add.
* message.el (message-send-mail): Wait for asynchronous hashcash
results. Don't clobber existing X-Hashcash headers.
@ -10924,7 +10947,7 @@
(nnsoup-unpack-packets, nnsoup-make-active): Simplify.
* nnspool.el (nnspool-find-id): Use with-temp-buffer.
(nnspool-sift-nov-with-sed): Use last
(nnspool-sift-nov-with-sed): Use last.
(nnspool-retrieve-headers-with-nov): Use mapc.
(nnspool-request-newgroups): Use dolist.
(nnspool-request-group): Use last.
@ -11625,7 +11648,7 @@
* gnus-registry.el (gnus-registry-split-fancy-with-parent): Try
to append in-reply-to: data to the references: header.
* netrc.el: Remove old encryption support, autoload gnus-encrypt.el
* netrc.el: Remove old encryption support, autoload gnus-encrypt.el.
(netrc-parse): Use gnus-encrypt.el functions.
* gnus-encrypt.el: Add new file for encryption support; currently
@ -12122,7 +12145,7 @@
2004-05-26 Adam Sjøgren <asjo@koldfront.dk> (tiny change)
(spam-ham-copy-or-move-routine): Don't declare `todo' twice.
* spam.el (spam-ham-copy-or-move-routine): Don't declare `todo' twice.
2004-05-26 Katsumi Yamaoka <yamaoka@jpl.org>
@ -12837,7 +12860,7 @@
* gnus-group.el: Require gnus-sum and autoload functions to
resolve warnings when gnus-group.el compiled alone.
(gnus-group-line-format): Documented new %F
(gnus-group-line-format): Documented new %F.
(size of Fetched data) group line format; identifies disk space
used by agent and cache.
(gnus-group-line-format-alist): Defined new F format.
@ -13614,8 +13637,8 @@
is "nndraft:queue". Suggested by Gaute Strokkenes
<gs234@srcf.ucam.org>
* gnus-agent.el (agent-disable-undownloaded-faces): Removed
(agent-enable-undownloaded-faces): Added
* gnus-agent.el (agent-disable-undownloaded-faces): Removed.
(agent-enable-undownloaded-faces): Added.
(gnus-agent-cat-groups): Use eval-and-compile, not
eval-when-compile, to define gnus-agent-set-cat-groups as the setf
method of gnus-agent-cat-groups even when the buffer has been
@ -13640,8 +13663,8 @@
active file (local makes it unnecessary).
(gnus-agent-regenerate-group): Fixed XEmacs compatibility.
* gnus-cus.el (agent-disable-undownloaded-faces): Removed
(agent-enable-undownloaded-faces): Added
* gnus-cus.el (agent-disable-undownloaded-faces): Removed.
(agent-enable-undownloaded-faces): Added.
* gnus-draft.el (gnus-draft-send): Bind gnus-agent-queue-mail to
disable it when sending to "nndraft:queue".
@ -13775,7 +13798,7 @@
2004-01-14 Kai Grossjohann <kai@emptydomain.de>
(message-kill-to-signature): Change docstring.
* message.el (message-kill-to-signature): Change docstring.
2004-01-14 Katsumi Yamaoka <yamaoka@jpl.org>
@ -14194,7 +14217,7 @@
2004-01-05 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-art.el (gnus-treat-ansi-sequences,
* gnus-art.el (gnus-treat-ansi-sequences)
(article-treat-ansi-sequences): New variable and function.
Suggested by Dan Jacobson <jidanni@jidanni.org>.
@ -14373,7 +14396,7 @@
2004-01-04 Mario Lang <lang@zid.tugraz.at>
* dns.el (dns-query-types): Fix typo.
(dns-query-types): New function
(dns-query-types): New function.
(dns-read-type): Add support for AAAA records, see RFC 3596. Parse MX,
PTR and SOA replies, see RFC 1035.

View file

@ -506,10 +506,10 @@
1998-08-13 Simon Josefsson <jas@pdc.kth.se>
* gnus-msg.el (gnus-setup-message): use message-setup-hook
instead
(gnus-configure-posting-styles): new posting-style 'body
(gnus-configure-posting-styles): insert headers immediately
* gnus-msg.el (gnus-setup-message): Use message-setup-hook
instead.
(gnus-configure-posting-styles): New posting-style 'body.
(gnus-configure-posting-styles): Insert headers immediately
1998-08-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
@ -524,9 +524,9 @@
1998-08-12 Simon Josefsson <jas@pdc.kth.se>
* gnus-cache.el (gnus-uncacheable-groups): doc change
(gnus-cacheable-groups): new variable
(gnus-cache-possibly-enter-article): use it
* gnus-cache.el (gnus-uncacheable-groups): Doc change.
(gnus-cacheable-groups): New variable.
(gnus-cache-possibly-enter-article): Use it.
1998-08-12 Lars Magne Ingebrigtsen <larsi@gnus.org>

View file

@ -694,11 +694,11 @@
(gnus-agent-regenerate): Uses new gnus-agent-covered-methods
function as gnus-agent-covered-methods variable no longer provides
methods.
(gnus-agent-covered-methods): New function
(gnus-agent-covered-methods): New function.
(gnus-agent-expire-group, gnus-agent-expire): Final message will,
if gnus-verbose is greater than 4, report statistics of NOV
entries and files deleted as well as total bytes recovered.
(gnus-agent-expire-done-message): New function
(gnus-agent-expire-done-message): New function.
(gnus-agent-unread-articles): Bug fix. No longer drops last
unread article onto read list.
(gnus-agent-regenerate-group): Changed prompt to use typical
@ -900,7 +900,7 @@
* spam.el
(spam-log-processing-to-registry): Improved message and comments.
(spam-log-unregistration-needed-p): New function
(spam-log-unregistration-needed-p): New function.
(spam-ifile-register-spam-routine)
(spam-ifile-register-ham-routine, spam-stat-register-spam-routine)
(spam-stat-register-ham-routine)
@ -1120,7 +1120,7 @@
* message.el (message-mode-field-menu): Added
message-generate-unsubscribed-mail-followup-to.
(message-forward-subject-fwd): Avoid double "Fwd: "
(message-forward-subject-fwd): Avoid double "Fwd: ".
(message-change-subject): Added comment.
2003-10-19 Lars Magne Ingebrigtsen <larsi@gnus.org>
@ -2084,7 +2084,7 @@
(spam-spamoracle-learn-ham, spam-spamoracle-learn-spam): New functions.
* gnus.el (gnus-group-spam-exit-processor-spamoracle)
(gnus-group-ham-exit-processor-spamoracle): New variables for SpamOracle
(gnus-group-ham-exit-processor-spamoracle): New variables for SpamOracle.
(spam-process, ham-process): Added spamoracle spam/ham processors.
2003-06-08 Jesper Harder <harder@ifa.au.dk>
@ -2603,7 +2603,7 @@
* message.el (message-use-idna): Use mm-coding-system-p.
(message-tokenize-header, message-make-organization)
(message-make-from): Use with-temp-buffer.
(message-make-from): Use with-temp-buffer.
(message-set-work-buffer): Deleted.
(message-fill-paragraph): Use `if' not `and' for compiler warning.
(message-check-news-header-syntax): Remove useless lambda.
@ -2781,7 +2781,7 @@
* gnus-registry.el (gnus-registry-split-fancy-with-parent): Added
diagnostic message.
(gnus-registry-grep-in-list): Don't run when word is nil.
(gnus-registry-fetch-message-id-fast): New function
(gnus-registry-fetch-message-id-fast): New function.
(gnus-registry-delete-group, gnus-registry-add-group): Make sure
the id and group are not nil.
(gnus-registry-register-message-ids): New function.
@ -3561,7 +3561,7 @@
`message-valid-fqdn-regexp' for initialization.
(gnus-button-handle-info-url): Renamed and extended version of
`gnus-button-handle-info'.
(gnus-button-message-level): Renamed from `gnus-button-mail-level'
(gnus-button-message-level): Renamed from `gnus-button-mail-level'.
(gnus-button-handle-symbol, gnus-button-handle-library)
(gnus-button-handle-info-keystrokes): New functions.
(gnus-button-browse-level): New variable.
@ -5643,7 +5643,7 @@
2003-01-12 Raymond Scholz <ray-2003@zonix.de>
* gnus-msg.el (gnus-confirm-mail-reply-to-news): May be a
* gnus-msg.el (gnus-confirm-mail-reply-to-news): May be a
regexp or a function too.
(gnus-confirm-treat-mail-like-news): New variable. Ask for
confirmation even if the original article is mail.
@ -6296,8 +6296,8 @@
2003-01-02 Reiner Steib <Reiner.Steib@gmx.de>
* gnus-art.el (gnus-button-url-regexp,
(gnus-button-mid-or-mail-regexp, gnus-button-alist,
* gnus-art.el (gnus-button-url-regexp)
(gnus-button-mid-or-mail-regexp, gnus-button-alist)
(gnus-header-button-alist): Regexps are case insensitive here.
2003-01-02 Simon Josefsson <jas@extundo.com>
@ -7195,7 +7195,7 @@
2002-10-31 Alex Schroeder <alex@emacswiki.org>
* spam-stat.el (spam-stat-process-directory): Add dir to message
* spam-stat.el (spam-stat-process-directory): Add dir to message.
(spam-stat-reduce-size): No longer remove words
with values close to 0.5, because the default value is 0.2.
@ -12403,7 +12403,7 @@
Support "Importance:" header in Message.
* message.el (message-mode-map): Bind C-c C-p to
`message-insert-or-toggle-importance'
`message-insert-or-toggle-importance'.
(message-mode-menu): Add message-insert-importance-{high,low}.
(message-insert-importance-high, message-insert-importance-low)
(message-insert-or-toggle-importance): New functions.
@ -12871,7 +12871,7 @@
2001-10-21 Simon Josefsson <jas@extundo.com>
* nnimap.el (nnimap): Defgroup
* nnimap.el (nnimap): Defgroup.
(nnimap-strict-function, nnimap-strict-function-match): New
widget, from Per Abrahamsen <abraham@dina.kvl.dk>.
(nnimap-split-crosspost, nnimap-split-inbox)
@ -16689,7 +16689,7 @@
* gnus-cus.el (gnus-group-customize): Use it.
* gnus.el (gnus-define-group-parameter): New macro.
(auto-expire): Use it
(auto-expire): Use it.
(total-expire): Use it.
* gnus-art.el (banner): Use it.
@ -16855,7 +16855,7 @@
* gnus-msg.el (gnus-summary-mail-forward): ???
* message.el (message-forward): Move mime-to-mml here.
* message.el (message-forward): Move mime-to-mml here.
2000-12-20 02:00:00 ShengHuo ZHU <zsh@cs.rochester.edu>
@ -17157,7 +17157,7 @@
* nnheader.el: Wrap subst-char-in-string def in eval-and-compile.
Put some defvars in eval-when-compile.
(gnus-intersection, gnus-sorted-complement): Autoload.
(gnus-intersection, gnus-sorted-complement): Autoload.
* imap.el (imap-point-at-eol): New, replacing gnus-point-at-eol.
@ -17329,7 +17329,7 @@
* qp.el (mm-decode-coding-region, mm-encode-coding-region):
Autoload.
(quoted-printable-decode-region): Rename arg which confused
(quoted-printable-decode-region): Rename arg which confused
charset with coding-system. Don't use nonascii-insert-offset.
Coding-system encode the region initially. Don't recognize `=='
as valid QP. Coding-system decode the region finally.
@ -17384,7 +17384,7 @@
2000-09-29 Gerd Moellmann <gerd@gnu.org>
* smiley-ems.el (smiley-update-cache): Use `:ascent center'.
* smiley-ems.el (smiley-update-cache): Use `:ascent center'.
2000-09-21 Dave Love <fx@gnu.org>
@ -18036,7 +18036,7 @@
* gnus-art.el (gnus-mime-display-part): Show MIME security button.
(gnus-insert-mime-security-button): New function.
* mm-decode.el (mm-possibly-verify-or-decrypt): Add security info.
* mml2015.el: Add security info when verify or decrypt.
* mml2015.el: Add security info when verify or decrypt.
* mm-uu.el (mm-uu-pgp-signed-extract): Use multipart.
(mm-uu-pgp-encrypted-extract): Ditto.
@ -18433,7 +18433,7 @@
(mm-dissect-multipart): Use it.
* mml2015.el (mml2015-fix-micalg): New function.
(mml2015-decrypt): Use new interface.
(mml2015-verify): Use new interface.
(mml2015-verify): Use new interface.
(mml2015-setup): Make it bogus.
2000-10-28 16:54:45 ShengHuo ZHU <zsh@cs.rochester.edu>

View file

@ -520,10 +520,14 @@ Content-Disposition: attachment; filename=smime.p7m
ctl 'protocol)
"application/pkcs7-signature")
t)))
(null (setq signature (mm-find-part-by-type
(cdr handle)
"application/pkcs7-signature"
nil t))))
(null (setq signature (or (mm-find-part-by-type
(cdr handle)
"application/pkcs7-signature"
nil t)
(mm-find-part-by-type
(cdr handle)
"application/x-pkcs7-signature"
nil t)))))
(mm-set-handle-multipart-parameter
mm-security-handle 'gnus-info "Corrupted")
(throw 'error handle))

View file

@ -751,10 +751,9 @@ article number. This function is called narrowed to an article."
(defun nnml-active-number (group &optional server)
"Compute the next article number in GROUP on SERVER."
(let ((active (cadr (assoc (if nnmail-group-names-not-encoded-p
(nnml-encoded-group-name group server)
group)
nnml-group-alist))))
(let* ((encoded (if nnmail-group-names-not-encoded-p
(nnml-encoded-group-name group server)))
(active (cadr (assoc (or encoded group) nnml-group-alist))))
;; The group wasn't known to nnml, so we just create an active
;; entry for it.
(unless active
@ -772,7 +771,7 @@ article number. This function is called narrowed to an article."
(cons (caar nnml-article-file-alist)
(caar (last nnml-article-file-alist)))
(cons 1 0)))
(push (list group active) nnml-group-alist))
(push (list (or encoded group) active) nnml-group-alist))
(setcdr active (1+ (cdr active)))
(while (file-exists-p
(nnml-group-pathname group (int-to-string (cdr active)) server))

View file

@ -655,6 +655,9 @@ should not change this value.")
Point moves to the end of the region."
(let ((mime-charset (or (mm-find-mime-charset-region b e) (list 'us-ascii)))
cs encoding tail crest eword)
;; Use utf-8 as a last resort if determining charset of text fails.
(if (memq nil mime-charset)
(setq mime-charset (list 'utf-8)))
(cond ((> (length mime-charset) 1)
(error "Can't rfc2047-encode `%s'"
(buffer-substring-no-properties b e)))

View file

@ -233,8 +233,8 @@ if the variable `help-downcase-arguments' is non-nil."
"Guess the file that defined the Lisp object OBJECT, of type TYPE.
OBJECT should be a symbol associated with a function, variable, or face;
alternatively, it can be a function definition.
If TYPE is `variable', search for a variable definition.
If TYPE is `face', search for a face definition.
If TYPE is `defvar', search for a variable definition.
If TYPE is `defface', search for a face definition.
If TYPE is the value returned by `symbol-function' for a function symbol,
search for a function definition.

View file

@ -128,6 +128,28 @@ A winprops object has the shape (WINDOW . ALIST)."
(declare-function image-size "image.c" (spec &optional pixels frame))
(defun image-display-size (spec &optional pixels frame)
"Wrapper around `image-size', to handle slice display properties.
If SPEC is an image display property, call `image-size' with the
given arguments.
If SPEC is a list of properties containing `image' and `slice'
properties, calculate the display size from the slice property.
If SPEC contains `image' but not `slice', call `image-size' with
the specified image."
(if (eq (car spec) 'image)
(image-size spec pixels frame)
(let ((image (assoc 'image spec))
(slice (assoc 'slice spec)))
(cond ((and image slice)
(if pixels
(cons (nth 3 slice) (nth 4 slice))
(cons (/ (float (nth 3 slice)) (frame-char-width frame))
(/ (float (nth 4 slice)) (frame-char-height frame)))))
(image
(image-size image pixels frame))
(t
(error "Invalid image specification: %s" spec))))))
(defun image-forward-hscroll (&optional n)
"Scroll image in current window to the left by N character widths.
Stop if the right edge of the image is reached."
@ -139,7 +161,7 @@ Stop if the right edge of the image is reached."
(let* ((image (image-get-display-property))
(edges (window-inside-edges))
(win-width (- (nth 2 edges) (nth 0 edges)))
(img-width (ceiling (car (image-size image)))))
(img-width (ceiling (car (image-display-size image)))))
(image-set-window-hscroll (min (max 0 (- img-width win-width))
(+ n (window-hscroll))))))))
@ -160,7 +182,7 @@ Stop if the bottom edge of the image is reached."
(let* ((image (image-get-display-property))
(edges (window-inside-edges))
(win-height (- (nth 3 edges) (nth 1 edges)))
(img-height (ceiling (cdr (image-size image)))))
(img-height (ceiling (cdr (image-display-size image)))))
(image-set-window-vscroll (min (max 0 (- img-height win-height))
(+ n (window-vscroll))))))))
@ -233,7 +255,7 @@ stopping if the top or bottom edge of the image is reached."
(let* ((image (image-get-display-property))
(edges (window-inside-edges))
(win-width (- (nth 2 edges) (nth 0 edges)))
(img-width (ceiling (car (image-size image)))))
(img-width (ceiling (car (image-display-size image)))))
(image-set-window-hscroll (max 0 (- img-width win-width)))))
(defun image-bob ()
@ -248,9 +270,9 @@ stopping if the top or bottom edge of the image is reached."
(let* ((image (image-get-display-property))
(edges (window-inside-edges))
(win-width (- (nth 2 edges) (nth 0 edges)))
(img-width (ceiling (car (image-size image))))
(img-width (ceiling (car (image-display-size image))))
(win-height (- (nth 3 edges) (nth 1 edges)))
(img-height (ceiling (cdr (image-size image)))))
(img-height (ceiling (cdr (image-display-size image)))))
(image-set-window-hscroll (max 0 (- img-width win-width)))
(image-set-window-vscroll (max 0 (- img-height win-height)))))
@ -264,7 +286,7 @@ This function assumes the current frame has only one window."
(interactive)
(let* ((saved (frame-parameter nil 'image-mode-saved-size))
(display (image-get-display-property))
(size (image-size display)))
(size (image-display-size display)))
(if (and saved
(eq (caar saved) (frame-width))
(eq (cdar saved) (frame-height)))

View file

@ -1410,9 +1410,10 @@ is treated as a character."
:flags '(ascii-at-eol ascii-at-cntl designation single-shift composition))
(define-coding-system 'compound-text
"Compound text based generic encoding for decoding unknown messages.
This coding system does not support extended segments of CTEXT."
"Compound text based generic encoding.
This coding system is an extension of X's \"Compound Text Encoding\".
It encodes many characters using the normal ISO-2022 designation sequences,
but it doesn't support extended segments of CTEXT."
:coding-type 'iso-2022
:mnemonic ?x
:charset-list 'iso-2022
@ -1432,7 +1433,7 @@ This coding system does not support extended segments of CTEXT."
;; not have a mime-charset property, to prevent it from showing up
;; close to the beginning of coding systems ordered by priority.
(define-coding-system 'ctext-no-compositions
"Compound text based generic encoding for decoding unknown messages.
"Compound text based generic encoding.
Like `compound-text', but does not produce escape sequences for compositions."
:coding-type 'iso-2022
@ -1445,8 +1446,9 @@ Like `compound-text', but does not produce escape sequences for compositions."
(define-coding-system 'compound-text-with-extensions
"Compound text encoding with ICCCM Extended Segment extensions.
See the variable `ctext-non-standard-encodings-alist' for the
detail about how extended segments are handled.
See the variables `ctext-standard-encodings' and
`ctext-non-standard-encodings-alist' for the detail about how
extended segments are handled.
This coding system should be used only for X selections. It is inappropriate
for decoding and encoding files, process I/O, etc."

View file

@ -282,6 +282,7 @@ attribute."
(plist-put props :short-name (symbol-name name)))
(or (plist-get props :long-name)
(plist-put props :long-name (plist-get props :short-name)))
(plist-put props :base name)
;; We can probably get a worthwhile amount in purespace.
(setq props
(mapcar (lambda (elt)
@ -1465,7 +1466,9 @@ This function is provided for backward compatibility."
'(("big5-0" big5 2 big5)
("ISO8859-14" iso-8859-14 1 latin-iso8859-14)
("ISO8859-15" iso-8859-15 1 latin-iso8859-15)
("gbk-0" gbk 2 chinese-gbk)))
("gbk-0" gbk 2 chinese-gbk)
("koi8-r" koi8-r 1 koi8-r)
("microsoft-cp1251" windows-1251 1 windows-1251)))
"Alist of non-standard encoding names vs the corresponding usages in CTEXT.
It controls how extended segments of a compound text are handled
@ -1554,6 +1557,20 @@ Each element must be one of the names listed in the variable
(goto-char (point-min))
(- (point-max) (point)))))
(defvar ctext-standard-encodings
'(ascii latin-jisx0201 katakana-jisx0201
latin-iso8859-1 latin-iso8859-2 latin-iso8859-3 latin-iso8859-4
greek-iso8859-7 arabic-iso8859-6 hebrew-iso8859-8 cyrillic-iso8859-5
latin-iso8859-9
chinese-gb2312 japanese-jisx0208 korean-ksc5601)
"List of approved standard encodings (i.e. charsets) of X's Compound Text.
Coding-system `compound-text-with-extensions' encodes a character
belonging to any of those charsets using the normal ISO2022
designation sequence unless the current language environment or
the variable `ctext-non-standard-encodings' decide to use an extended
segment of CTEXT for that character. See also the documentation
of `ctext-non-standard-encodings-alist'.")
;; Return an alist of CHARSET vs CTEXT-USAGE-INFO generated from
;; `ctext-non-standard-encodings' and a list specified by the key
;; `ctext-non-standard-encodings' for the currrent language
@ -1565,115 +1582,94 @@ Each element must be one of the names listed in the variable
;; is encoded using UTF-8 encoding extention.
(defun ctext-non-standard-encodings-table ()
(let (table)
;; Setup charsets specified by the key
;; `ctext-non-standard-encodings' for the current language
;; environment and in `ctext-non-standard-encodings'.
(dolist (encoding (append
(get-language-info current-language-environment
'ctext-non-standard-encodings)
ctext-non-standard-encodings))
(let* ((slot (assoc encoding ctext-non-standard-encodings-alist))
(let* ((table (append ctext-non-standard-encodings
(copy-sequence
(get-language-info current-language-environment
'ctext-non-standard-encodings))))
(tail table)
elt)
(while tail
(setq elt (car tail))
(let* ((slot (assoc elt ctext-non-standard-encodings-alist))
(charset (nth 3 slot)))
(if (charsetp charset)
(push (cons charset slot) table)
(dolist (cs charset)
(push (cons cs slot) table)))))
;; Next prepend charsets for ISO2022 designation sequence.
(dolist (charset charset-list)
(let ((final (plist-get (charset-plist charset) :iso-final-char)))
(if (and (integerp final)
(>= final #x40) (<= final #x7e)
;; Exclude ascii and chinese-cns11643-X.
(not (eq charset 'ascii))
(not (string-match "cns11643" (symbol-name charset))))
(push (cons charset nil) table))))
;; Returned reversed list so that the charsets specified by the
;; key `ctext-non-standard-encodings' for the current language
;; have the highest priority.
(nreverse table)))
(setcar tail
(cons (plist-get (charset-plist charset) :base) slot))
(setcar tail (cons (car charset) slot))
(dolist (cs (cdr charset))
(setcdr tail
(cons (cons (plist-get (charset-plist (car cs)) :base) slot)
(cdr tail)))
(setq tail (cdr tail))))
(setq tail (cdr tail))))
table))
(defun ctext-pre-write-conversion (from to)
"Encode characters between FROM and TO as Compound Text w/Extended Segments.
If FROM is a string, or if the current buffer is not the one set up for us
by `encode-coding-string', generate a new temp buffer, insert the text,
and convert it in the temporary buffer. Otherwise, convert in-place."
If FROM is a string, generate a new temp buffer, insert the text,
and convert it in the temporary buffer. Otherwise, convert
in-place."
(save-match-data
;; Setup a working buffer if necessary.
(when (stringp from)
(set-buffer (generate-new-buffer " *temp"))
(set-buffer-multibyte (multibyte-string-p from))
(insert from))
;; Now we can encode the whole buffer.
(let ((encoding-table (ctext-non-standard-encodings-table))
last-coding-system-used
last-pos last-encoding-info
encoding-info end-pos ch)
(goto-char (setq last-pos (point-min)))
(setq end-pos (point-marker))
(while (re-search-forward "[^\000-\177]+" nil t)
;; Found a sequence of non-ASCII characters.
(setq last-pos (match-beginning 0)
ch (char-after last-pos)
last-encoding-info (catch 'tag
(dolist (elt encoding-table)
(if (encode-char ch (car elt))
(throw 'tag (cdr elt))))
'utf-8))
(set-marker end-pos (match-end 0))
(goto-char (1+ last-pos))
(catch 'tag
(while t
(setq encoding-info
(if (< (point) end-pos)
(catch 'tag
(setq ch (following-char))
(dolist (elt encoding-table)
(if (encode-char ch (car elt))
(throw 'tag (cdr elt))))
'utf-8)))
(unless (eq last-encoding-info encoding-info)
(cond ((consp last-encoding-info)
;; Encode the previous range using an extended
;; segment.
(let ((encoding-name (car last-encoding-info))
(coding-system (nth 1 last-encoding-info))
(noctets (nth 2 last-encoding-info))
len)
(encode-coding-region last-pos (point) coding-system)
(setq len (+ (length encoding-name) 1
(- (point) last-pos)))
;; According to the spec of CTEXT, it is not
;; necessary to produce this extra designation
;; sequence, but some buggy application
;; (e.g. crxvt-gb) requires it.
(insert "\e(B")
(save-excursion
(goto-char last-pos)
(insert (format "\e%%/%d" noctets))
(insert-byte (+ (/ len 128) 128) 1)
(insert-byte (+ (% len 128) 128) 1)
(insert encoding-name)
(insert 2))))
((eq last-encoding-info 'utf-8)
;; Encode the previous range using UTF-8 encoding
;; extention.
(encode-coding-region last-pos (point) 'mule-utf-8)
(save-excursion
(goto-char last-pos)
(insert "\e%G"))
(insert "\e%@")))
(setq last-pos (point)
last-encoding-info encoding-info))
(if (< (point) end-pos)
(forward-char 1)
(throw 'tag nil)))))
(set-marker end-pos nil)
(goto-char (point-min))))
(insert from)
(setq from 1 to (point-max)))
(save-restriction
(narrow-to-region from to)
(goto-char from)
(let ((encoding-table (ctext-non-standard-encodings-table))
(charset-list (sort-charsets
(copy-sequence ctext-standard-encodings)))
(end-pos (make-marker))
last-coding-system-used
last-pos charset encoding-info)
(dolist (elt encoding-table)
(push (car elt) charset-list))
(setq end-pos (point-marker))
(while (re-search-forward "[^\0-\177]+" nil t)
;; Found a sequence of non-ASCII characters.
(set-marker end-pos (match-end 0))
(goto-char (match-beginning 0))
(setq last-pos (point)
charset (char-charset (following-char) charset-list))
(forward-char 1)
(while (and (< (point) end-pos)
(eq charset (char-charset (following-char) charset-list)))
(forward-char 1))
(if charset
(if (setq encoding-info (cdr (assq charset encoding-table)))
;; Encode this range using an extended segment.
(let ((encoding-name (car encoding-info))
(coding-system (nth 1 encoding-info))
(noctets (nth 2 encoding-info))
len)
(encode-coding-region last-pos (point) coding-system)
(setq len (+ (length encoding-name) 1
(- (point) last-pos)))
;; According to the spec of CTEXT, it is not
;; necessary to produce this extra designation
;; sequence, but some buggy application
;; (e.g. crxvt-gb) requires it.
(insert "\e(B")
(save-excursion
(goto-char last-pos)
(insert (format "\e%%/%d" noctets))
(insert-byte (+ (/ len 128) 128) 1)
(insert-byte (+ (% len 128) 128) 1)
(insert encoding-name)
(insert 2)))
;; Encode this range as characters in CHARSET.
(put-text-property last-pos (point) 'charset charset))
;; Encode this range using UTF-8 encoding extention.
(encode-coding-region last-pos (point) 'mule-utf-8)
(save-excursion
(goto-char last-pos)
(insert "\e%G"))
(insert "\e%@")))
(goto-char (point-min)))))
;; Must return nil, as build_annotations_2 expects that.
nil)

View file

@ -2581,6 +2581,7 @@ since they have special meaning in a regexp."
(defvar isearch-lazy-highlight-case-fold-search nil)
(defvar isearch-lazy-highlight-regexp nil)
(defvar isearch-lazy-highlight-space-regexp nil)
(defvar isearch-lazy-highlight-forward nil)
(defun lazy-highlight-cleanup (&optional force)
"Stop lazy highlighting and remove extra highlighting from current buffer.
@ -2620,7 +2621,9 @@ by other Emacs features."
(not (= (window-start)
isearch-lazy-highlight-window-start))
(not (= (window-end) ; Window may have been split/joined.
isearch-lazy-highlight-window-end))))
isearch-lazy-highlight-window-end))
(not (eq isearch-forward
isearch-lazy-highlight-forward))))
;; something important did indeed change
(lazy-highlight-cleanup t) ;kill old loop & remove overlays
(when (not isearch-error)
@ -2635,7 +2638,8 @@ by other Emacs features."
isearch-lazy-highlight-case-fold-search isearch-case-fold-search
isearch-lazy-highlight-regexp isearch-regexp
isearch-lazy-highlight-wrapped nil
isearch-lazy-highlight-space-regexp search-whitespace-regexp)
isearch-lazy-highlight-space-regexp search-whitespace-regexp
isearch-lazy-highlight-forward isearch-forward)
(unless (equal isearch-string "")
(setq isearch-lazy-highlight-timer
(run-with-idle-timer lazy-highlight-initial-delay nil
@ -2651,7 +2655,8 @@ Attempt to do the search exactly the way the pending Isearch would."
(search-invisible nil) ; don't match invisible text
(retry t)
(success nil)
(bound (if isearch-forward
(isearch-forward isearch-lazy-highlight-forward)
(bound (if isearch-lazy-highlight-forward
(min (or isearch-lazy-highlight-end-limit (point-max))
(if isearch-lazy-highlight-wrapped
isearch-lazy-highlight-start
@ -2687,7 +2692,7 @@ Attempt to do the search exactly the way the pending Isearch would."
(select-window isearch-lazy-highlight-window))
(save-excursion
(save-match-data
(goto-char (if isearch-forward
(goto-char (if isearch-lazy-highlight-forward
isearch-lazy-highlight-end
isearch-lazy-highlight-start))
(while looping
@ -2700,7 +2705,7 @@ Attempt to do the search exactly the way the pending Isearch would."
(let ((mb (match-beginning 0))
(me (match-end 0)))
(if (= mb me) ;zero-length match
(if isearch-forward
(if isearch-lazy-highlight-forward
(if (= mb (if isearch-lazy-highlight-wrapped
isearch-lazy-highlight-start
(window-end)))
@ -2720,7 +2725,7 @@ Attempt to do the search exactly the way the pending Isearch would."
(overlay-put ov 'priority 1000)
(overlay-put ov 'face lazy-highlight-face)
(overlay-put ov 'window (selected-window))))
(if isearch-forward
(if isearch-lazy-highlight-forward
(setq isearch-lazy-highlight-end (point))
(setq isearch-lazy-highlight-start (point)))))
@ -2730,7 +2735,7 @@ Attempt to do the search exactly the way the pending Isearch would."
(setq looping nil
nomore t)
(setq isearch-lazy-highlight-wrapped t)
(if isearch-forward
(if isearch-lazy-highlight-forward
(progn
(setq isearch-lazy-highlight-end (window-start))
(goto-char (max (or isearch-lazy-highlight-start-limit (point-min))

View file

@ -239,13 +239,6 @@ Support for Russian using koi8-r and the russian-computer input method.")
(documentation . "Support for Tajik using KOI8-T."))
'("Cyrillic"))
(let ((elt `("microsoft-cp1251" windows-1251 1
,(get 'encode-windows-1251 'translation-table)))
(slot (assoc "microsoft-cp1251" ctext-non-standard-encodings-alist)))
(if slot
(setcdr slot (cdr elt))
(push elt ctext-non-standard-encodings-alist)))
(set-language-info-alist
"Bulgarian" `((coding-system windows-1251)
(coding-priority windows-1251)

View file

@ -46,14 +46,13 @@
(define-coding-system-alias 'iso-8859-8 'hebrew-iso-8bit)
;; These are for Explicit and Implicit directionality information, as
;; defined in RFC 1556. We don't yet support directional information
;; in bidi languages, so these aliases are a lie, especially as far as
;; iso-8859-8-e is concerned. FIXME.
;; defined in RFC 1556.
(define-coding-system-alias 'iso-8859-8-e 'hebrew-iso-8bit)
(define-coding-system-alias 'iso-8859-8-i 'hebrew-iso-8bit)
(set-language-info-alist
"Hebrew" '((charset iso-8859-8)
"Hebrew" '((tutorial . "TUTORIAL.he")
(charset iso-8859-8)
(coding-priority hebrew-iso-8bit)
(coding-system hebrew-iso-8bit windows-1255 cp862)
(nonascii-translation . iso-8859-8)
@ -238,16 +237,23 @@ Bidirectional editing is supported.")))
(setq idx (1+ idx))))))
gstring))
(let ((pattern1 "[\u05D0-\u05F2][\u0591-\u05BF\u05C1-\u05C5\u05C7]+")
(pattern2 "[\u05D0-\u05F2]\u200D[\u0591-\u05BF\u05C1-\u05C5\u05C7]+"))
(let* ((base "[\u05D0-\u05F2]")
(combining "[\u0591-\u05BD\u05BF\u05C1-\u05C2\u05C4-\u05C5\u05C7]+")
(pattern1 (concat base combining))
(pattern2 (concat base "\u200D" combining)))
(set-char-table-range
composition-function-table '(#x591 . #x5C7)
(list (vector pattern2 3 'hebrew-shape-gstring)
(vector pattern2 2 'hebrew-shape-gstring)
(vector pattern1 1 'hebrew-shape-gstring)
[nil 0 hebrew-shape-gstring]))
;; Exclude non-combining characters.
(set-char-table-range
composition-function-table #x5BE nil)
(set-char-table-range
composition-function-table #x5C0 nil)
(set-char-table-range
composition-function-table #x5C3 nil)
(set-char-table-range
composition-function-table #x5C6 nil))

Some files were not shown because too many files have changed in this diff Show more