Merge from trunk
This commit is contained in:
commit
c566235d98
294 changed files with 7645 additions and 4212 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -1,6 +1,7 @@
|
|||
autom4te.cache
|
||||
makefile
|
||||
*~
|
||||
/README.W32
|
||||
|
||||
/bin/
|
||||
/site-lisp/
|
||||
|
|
56
ChangeLog
56
ChangeLog
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
278
configure
vendored
|
@ -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
|
||||
|
|
44
configure.in
44
configure.in
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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}.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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))))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
16
etc/AUTHORS
16
etc/AUTHORS
|
@ -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
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
29
etc/NEWS
29
etc/NEWS
|
@ -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.
|
||||
|
|
10
etc/PROBLEMS
10
etc/PROBLEMS
|
@ -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
1038
etc/tutorials/TUTORIAL.he
Normal file
File diff suppressed because it is too large
Load diff
|
@ -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>
|
||||
|
|
|
@ -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}.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 *);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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 *);
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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'.
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
202
lisp/ChangeLog.9
202
lisp/ChangeLog.9
|
@ -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.
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"))
|
||||
|
||||
|
|
|
@ -56,12 +56,12 @@
|
|||
(setq string (replace-match """ 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.
|
||||
|
|
|
@ -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
489
lisp/emacs-lisp/pcase.el
Normal 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
|
|
@ -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)))))
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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)))
|
||||
|
|
|
@ -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."
|
||||
|
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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))
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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
Loading…
Add table
Add a link
Reference in a new issue