From: Stefan Monnier Date: Tue, 9 Nov 2010 20:07:10 +0000 (-0500) Subject: Merge from emacs-23 X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~438^2~45^2~334 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/d607b96bc2824116a8fe0e5840ce49da7ce4514f Merge from emacs-23 --- d607b96bc2824116a8fe0e5840ce49da7ce4514f diff --cc .dir-locals.el index f12dbf7d85,3ab6809ffb..873f733854 --- a/.dir-locals.el +++ b/.dir-locals.el @@@ -1,7 -1,8 +1,9 @@@ ((nil . ((tab-width . 8) + (sentence-end-double-space . t) (fill-column . 70))) (c-mode . ((c-file-style . "GNU"))) + (log-edit-mode . ((log-edit-rewrite-fixes + " (bug#\\([0-9]+\\))" . "debbugs:\\1"))) (change-log-mode . ((add-log-time-zone-rule . t) (fill-column . 74) (bug-reference-url-format . "http://debbugs.gnu.org/%s") diff --cc ChangeLog index 1e3373df6d,75813c9e7a..6cbeb7aa88 --- a/ChangeLog +++ b/ChangeLog @@@ -1,31 -1,18 +1,39 @@@ -2010-11-08 Stefan Monnier ++2010-11-09 Stefan Monnier + + * .dir-locals.el (log-edit-mode): Set log-edit-rewrite-fixes. + -2010-11-04 Michael Albinus ++2010-11-09 Michael Albinus + + * configure.in: Don't write a warning for D-Bus anymore. + -2010-11-03 Glenn Morris +2010-11-06 Andreas Schwab - * configure.in (CRT_DIR): New output variable. - (--with-crt-dir): New option. (Bug#5655) - (HAVE_LIB64_DIR): Remove. + * configure.in: Fix indentation. -2010-10-12 Glenn Morris +2010-10-31 Ken Brown + + * configure.in (checking whether localtime caches TZ): Use + unsetenv instead of modifying environment directly. + +2010-10-25 Andreas Schwab + + * configure.in (checking for -znocombreloc): Use AC_LANG_PROGRAM + to avoid warning. + +2010-10-24 Lars Magne Ingebrigtsen + + * configure.in: Remove the BROKEN annotation from gnutls. + +2010-10-22 Glenn Morris + + * make-dist: Avoid listing .el files twice. Don't try to run + autoconf if --no-update. + +2010-10-20 Glenn Morris + + * make-dist: No longer create lisp/MANIFEST. + +2010-10-14 Glenn Morris * BUGS, INSTALL.BZR, README: Updates. diff --cc configure index 183b8d1f76,21eb17712e..89a11d119d --- a/configure +++ b/configure @@@ -1,6 -1,6 +1,6 @@@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. - # Generated by GNU Autoconf 2.68 for emacs 24.0.50. -# Generated by GNU Autoconf 2.67 for emacs 23.2.90. ++# Generated by GNU Autoconf 2.67 for emacs 24.0.50. # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@@ -1632,8 -1540,8 +1624,8 @@@ f test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -emacs configure 23.2.90 +emacs configure 24.0.50 - generated by GNU Autoconf 2.68 + generated by GNU Autoconf 2.67 Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation @@@ -1973,35 -1910,6 +1965,35 @@@ $as_echo "$ac_res" >&6; } # ac_fn_c_check_decl +# ac_fn_c_check_header_preproc LINENO HEADER VAR +# ---------------------------------------------- +# Tests whether HEADER is present, setting the cache variable VAR accordingly. +ac_fn_c_check_header_preproc () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 +$as_echo_n "checking for $2... " >&6; } - if eval \${$3+:} false; then : ++if eval "test \"\${$3+set}\"" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include <$2> +_ACEOF +if ac_fn_c_try_cpp "$LINENO"; then : + eval "$3=yes" +else + eval "$3=no" +fi +rm -f conftest.err conftest.i conftest.$ac_ext +fi +eval ac_res=\$$3 + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 +$as_echo "$ac_res" >&6; } - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno ++ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} + +} # ac_fn_c_check_header_preproc + # ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES # ---------------------------------------------------- # Tries to find if the field MEMBER exists in type AGGR, after including @@@ -2183,8 -2091,8 +2175,8 @@@ cat >config.log <<_ACEO This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by emacs $as_me 23.2.90, which was +It was created by emacs $as_me 24.0.50, which was - generated by GNU Autoconf 2.68. Invocation command line was + generated by GNU Autoconf 2.67. Invocation command line was $ $0 $@ @@@ -2442,7 -2350,7 +2434,7 @@@ $as_echo "$as_me: loading site script $ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file --See \`config.log' for more details" "$LINENO" 5; } ++See \`config.log' for more details" "$LINENO" 5 ; } fi done @@@ -3000,7 -2835,7 +2992,7 @@@ d stringfreelist) ac_gc_check_string_free_list=1 ;; xmallocoverrun) ac_xmalloc_overrun=1 ;; conslist) ac_gc_check_cons_list=1 ;; -- *) as_fn_error $? "unknown check category $check" "$LINENO" 5 ;; ++ *) as_fn_error $? "unknown check category $check" "$LINENO" 5 ;; esac done IFS="$ac_save_IFS" @@@ -3164,7 -2989,7 +3156,7 @@@ f $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; --*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; ++*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5 ;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' @@@ -3197,7 -3022,7 +3189,7 @@@ f $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; --*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; ++*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5 ;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' @@@ -3806,7 -3683,7 +3798,7 @@@ f test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH --See \`config.log' for more details" "$LINENO" 5; } ++See \`config.log' for more details" "$LINENO" 5 ; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 @@@ -3921,7 -3798,7 +3913,7 @@@ sed 's/^/| /' conftest.$ac_ext >& { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables --See \`config.log' for more details" "$LINENO" 5; } ++See \`config.log' for more details" "$LINENO" 5 ; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } @@@ -3964,7 -3841,7 +3956,7 @@@ els { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link --See \`config.log' for more details" "$LINENO" 5; } ++See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 @@@ -4023,7 -3900,7 +4015,7 @@@ $as_echo "$ac_try_echo"; } >& $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. --See \`config.log' for more details" "$LINENO" 5; } ++See \`config.log' for more details" "$LINENO" 5 ; } fi fi fi @@@ -4075,7 -3952,7 +4067,7 @@@ sed 's/^/| /' conftest.$ac_ext >& { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile --See \`config.log' for more details" "$LINENO" 5; } ++See \`config.log' for more details" "$LINENO" 5 ; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi @@@ -4493,7 -4374,7 +4485,7 @@@ els { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check --See \`config.log' for more details" "$LINENO" 5; } ++See \`config.log' for more details" "$LINENO" 5 ; } fi ac_ext=c @@@ -5082,7 -4908,7 +5074,7 @@@ els { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check --See \`config.log' for more details" "$LINENO" 5; } ++See \`config.log' for more details" "$LINENO" 5 ; } fi ac_ext=c @@@ -5278,24 -5104,6 +5270,24 @@@ els fi fi + +## Although we're running on an amd64 kernel, we're actually compiling for +## the x86 architecture. The user should probably have provided an +## explicit --build to `configure', but if everything else than the kernel +## is running in i386 mode, we can help them out. +if test "$machine" = "amdx86-64"; then + ac_fn_c_check_decl "$LINENO" "i386" "ac_cv_have_decl_i386" "$ac_includes_default" - if test "x$ac_cv_have_decl_i386" = xyes; then : ++if test "x$ac_cv_have_decl_i386" = x""yes; then : + +fi + + if test "$ac_cv_have_decl_i386" = "yes"; then + canonical=`echo "$canonical" | sed -e 's/^amd64/i386/' -e 's/^x86_64/i386/'` + machine=intel386 + machfile="m/${machine}.h" + fi +fi + # Extract the first word of "install-info", so it can be a program name with args. set dummy install-info; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 @@@ -5567,154 -5370,144 +5559,154 @@@ f rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext -#### Extract some information from the operating system and machine files. - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the machine- and system-dependent files to find out - - which libraries the lib-src programs will want, and - - whether the GNU malloc routines are usable..." >&5 -$as_echo "$as_me: checking the machine- and system-dependent files to find out - - which libraries the lib-src programs will want, and - - whether the GNU malloc routines are usable..." >&6;} - -### First figure out CFLAGS (which we use for running the compiler here) -### and REAL_CFLAGS (which we use for real compilation). -### The two are the same except on a few systems, where they are made -### different to work around various lossages. For example, -### GCC 2.5 on GNU/Linux needs them to be different because it treats -g -### as implying static linking. - -### If the CFLAGS env var is specified, we use that value -### instead of the default. - -### It's not important that this name contain the PID; you can't run -### two configures in the same directory and have anything work -### anyway. -tempcname="conftest.c" - -echo ' -#include "'${srcdir}'/src/'${opsysfile}'" -#include "'${srcdir}'/src/'${machfile}'" -#ifndef LIBS_MACHINE -#define LIBS_MACHINE -#endif -#ifndef LIBS_SYSTEM -#define LIBS_SYSTEM -#endif -#ifndef C_SWITCH_SYSTEM -#define C_SWITCH_SYSTEM -#endif -#ifndef C_SWITCH_MACHINE -#define C_SWITCH_MACHINE -#endif -configure___ libsrc_libs=LIBS_MACHINE LIBS_SYSTEM -configure___ c_switch_system=C_SWITCH_SYSTEM -configure___ c_switch_machine=C_SWITCH_MACHINE -#ifndef LIB_X11_LIB -#define LIB_X11_LIB -lX11 -#endif +# The value of CPP is a quoted variable reference, so we need to do this +# to get its actual value... +CPP=`eval "echo $CPP"` -#ifndef LIBX11_SYSTEM -#define LIBX11_SYSTEM -#endif -configure___ LIBX=LIB_X11_LIB LIBX11_SYSTEM -#ifdef UNEXEC -configure___ unexec=UNEXEC -#else -configure___ unexec=unexec.o -#endif +CANNOT_DUMP=no +case "$opsys" in + your-opsys-here) + CANNOT_DUMP=yes -#ifdef SYSTEM_MALLOC -configure___ system_malloc=yes -#else -configure___ system_malloc=no -#endif +$as_echo "#define CANNOT_DUMP 1" >>confdefs.h -#ifdef USE_MMAP_FOR_BUFFERS -configure___ use_mmap_for_buffers=yes -#else -configure___ use_mmap_for_buffers=no -#endif + ;; +esac -#ifndef C_DEBUG_SWITCH -#define C_DEBUG_SWITCH -g -#endif -#ifndef C_OPTIMIZE_SWITCH -#ifdef __GNUC__ -#define C_OPTIMIZE_SWITCH -O2 -#else -#define C_OPTIMIZE_SWITCH -O -#endif -#endif -#ifndef C_WARNINGS_SWITCH -#define C_WARNINGS_SWITCH ${C_WARNINGS_SWITCH} -#endif +UNEXEC_OBJ=unexelf.o +case "$opsys" in + # MSDOS uses unexcoff.o + # MSWindows uses unexw32.o + aix4-2) + UNEXEC_OBJ=unexaix.o + ;; + cygwin) + UNEXEC_OBJ=unexcw.o + ;; + darwin) + UNEXEC_OBJ=unexmacosx.o + ;; + hpux10-20 | hpux11) + UNEXEC_OBJ=unexhp9k800.o + ;; + sol2-10) + # Use the Solaris dldump() function, called from unexsol.c, to dump + # emacs, instead of the generic ELF dump code found in unexelf.c. + # The resulting binary has a complete symbol table, and is better + # for debugging and other observability tools (debuggers, pstack, etc). + # + # If you encounter a problem using dldump(), please consider sending + # a message to the OpenSolaris tools-linking mailing list: + # http://mail.opensolaris.org/mailman/listinfo/tools-linking + # + # It is likely that dldump() works with older Solaris too, but this has + # not been tested, so for now this change is for Solaris 10 or newer. + UNEXEC_OBJ=unexsol.o + ;; +esac -#ifndef LD_SWITCH_MACHINE -#define LD_SWITCH_MACHINE -#endif +LD_SWITCH_SYSTEM= +case "$opsys" in + freebsd) + ## Let `ld' find image libs and similar things in /usr/local/lib. + ## The system compiler, GCC, has apparently been modified to not + ## look there, contrary to what a stock GCC would do. + LD_SWITCH_SYSTEM=-L/usr/local/lib + ;; -#ifndef LD_SWITCH_SYSTEM -#define LD_SWITCH_SYSTEM -#endif + gnu-linux) + ## cpp test was "ifdef __mips__", but presumably this is equivalent... + test "$machine" = "mips" && LD_SWITCH_SYSTEM="-G 0" + ;; -#ifndef LD_SWITCH_X_SITE_AUX -#define LD_SWITCH_X_SITE_AUX -#endif + netbsd) + LD_SWITCH_SYSTEM="-Wl,-rpath,/usr/pkg/lib -L/usr/pkg/lib -Wl,-rpath,/usr/local/lib -L/usr/local/lib" + ;; -configure___ ld_switch_system=LD_SWITCH_SYSTEM -configure___ ld_switch_machine=LD_SWITCH_MACHINE + openbsd) + ## Han Boetes says this is necessary, + ## otherwise Emacs dumps core on elf systems. + LD_SWITCH_SYSTEM="-Z" + ;; +esac -#ifdef THIS_IS_CONFIGURE -/* Get the CFLAGS for tests in configure. */ -#ifdef __GNUC__ -configure___ CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH '${SPECIFIED_CFLAGS}' -#else -configure___ CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}' -#endif +ac_link="$ac_link $LD_SWITCH_SYSTEM" + +## This setting of LD_SWITCH_SYSTEM references LD_SWITCH_X_SITE_AUX, +## which has not been defined yet. When this was handled with cpp, +## it was expanded to null when configure sourced the s/*.h file. +## Thus LD_SWITCH_SYSTEM had different values in configure and the Makefiles. +## FIXME it would be cleaner to put this in LD_SWITCH_SYSTEM_TEMACS +## (or somesuch), but because it is supposed to go at the _front_ +## of LD_SWITCH_SYSTEM, we cannot do that in exactly the same way. +## Compare with the gnu-linux case below, which added to the end +## of LD_SWITCH_SYSTEM, and so can instead go at the front of +## LD_SWITCH_SYSTEM_TEMACS. +case "$opsys" in + netbsd|openbsd) + ## _AUX_RPATH is like _AUX, but uses -rpath instead of -R. + LD_SWITCH_SYSTEM="\$(LD_SWITCH_X_SITE_AUX_RPATH) $LD_SWITCH_SYSTEM" ;; +esac -#else /* not THIS_IS_CONFIGURE */ -/* Get the CFLAGS for real compilation. */ -#ifdef __GNUC__ -configure___ REAL_CFLAGS=C_DEBUG_SWITCH C_OPTIMIZE_SWITCH C_WARNINGS_SWITCH ${PROFILING_CFLAGS} '${SPECIFIED_CFLAGS}' -#else -configure___ REAL_CFLAGS=C_DEBUG_SWITCH '${SPECIFIED_CFLAGS}' -#endif +C_SWITCH_MACHINE= +if test "$machine" = "alpha"; then + ac_fn_c_check_decl "$LINENO" "__ELF__" "ac_cv_have_decl___ELF__" "$ac_includes_default" - if test "x$ac_cv_have_decl___ELF__" = xyes; then : ++if test "x$ac_cv_have_decl___ELF__" = x""yes; then : -#endif /* not THIS_IS_CONFIGURE */ -' > ${tempcname} - -LDFLAGS="${LDFLAGS} ${PROFILING_LDFLAGS}" +fi -# The value of CPP is a quoted variable reference, so we need to do this -# to get its actual value... -CPP=`eval "echo $CPP"` -eval `${CPP} -Isrc ${tempcname} \ - | sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'` -if test "x$SPECIFIED_CFLAGS" = x; then - eval `${CPP} -Isrc -DTHIS_IS_CONFIGURE ${tempcname} \ - | sed -n -e 's/^configure___ \([^=]*=\)\(.*\)$/\1"\2"/p'` -else - REAL_CFLAGS="$CFLAGS" + if test "$ac_cv_have_decl___ELF__" = "yes"; then + ## With ELF, make sure that all common symbols get allocated to in the + ## data section. Otherwise, the dump of temacs may miss variables in + ## the shared library that have been initialized. For example, with + ## GNU libc, __malloc_initialized would normally be resolved to the + ## shared library's .bss section, which is fatal. + if test "x$GCC" = "xyes"; then + C_SWITCH_MACHINE="-fno-common" + else + as_fn_error $? "What gives? Fix me if DEC Unix supports ELF now." "$LINENO" 5 + fi + else + UNEXEC_OBJ=unexalpha.o + fi fi -rm ${tempcname} -ac_link="$ac_link $ld_switch_machine $ld_switch_system" + + + +C_SWITCH_SYSTEM= +## Some programs in src produce warnings saying certain subprograms +## are too complex and need a MAXMEM value greater than 2000 for +## additional optimization. --nils@exp-math.uni-essen.de +test "$opsys" = "aix4.2" && test "x$GCC" != "xyes" && \ + C_SWITCH_SYSTEM="-ma -qmaxmem=4000" +## gnu-linux might need -D_BSD_SOURCE on old libc5 systems. +## It is redundant in glibc2, since we define _GNU_SOURCE. + + + +LIBS_SYSTEM= +case "$opsys" in + ## IBM's X11R5 uses -lIM and -liconv in AIX 3.2.2. + aix4-2) LIBS_SYSTEM="-lrts -lIM -liconv" ;; + + freebsd) LIBS_SYSTEM="-lutil" ;; + + hpux*) LIBS_SYSTEM="-l:libdld.sl" ;; + + sol2*) LIBS_SYSTEM="-lsocket -lnsl -lkstat" ;; + + ## Motif needs -lgen. + unixware) LIBS_SYSTEM="-lsocket -lnsl -lelf -lgen" ;; +esac + + ### Make sure subsequent tests use flags consistent with the build flags. @@@ -7072,229 -6800,7 +7064,229 @@@ els 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 ${ac_cv_c_bigendian+:} false; then : ++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 + #include + +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 + #include + +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 defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + +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 + +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 ;; ++ 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 @@@ -7445,8 -6940,8 +7437,8 @@@ if test "x$with_x" = xno; the have_x=disabled else case $x_includes,$x_libraries in #( -- *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5;; #( - *,NONE | NONE,*) if ${ac_cv_have_x+:} false; then : ++ *\'*) as_fn_error $? "cannot use X directory names containing '" "$LINENO" 5 ;; #( + *,NONE | NONE,*) if test "${ac_cv_have_x+set}" = set; then : $as_echo_n "(cached) " >&6 else # One or both of the vars are not set, and there is no cached value. @@@ -7710,26 -7199,19 +7702,26 @@@ if test "${with_ns}" != no; the elif test -f $GNUSTEP_CONFIG_FILE; then NS_IMPL_GNUSTEP=yes ns_appdir=`pwd`/nextstep/Emacs.app - ns_appbindir=`pwd`/nextstep/Emacs.app - ns_appresdir=`pwd`/nextstep/Emacs.app/Resources + ns_appbindir=${ns_appdir} + ns_appresdir=${ns_appdir}/Resources ns_appsrc=${srcdir}/nextstep/GNUstep/Emacs.base - GNUSTEP_MAKEFILES="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_MAKEFILES)" - GNUSTEP_SYSTEM_HEADERS="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_HEADERS)" + GNUSTEP_SYSTEM_HEADERS="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_HEADERS)" GNUSTEP_SYSTEM_LIBRARIES="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_SYSTEM_LIBRARIES)" - CPPFLAGS="$CPPFLAGS -I${GNUSTEP_SYSTEM_HEADERS}" - CFLAGS="$CFLAGS -I${GNUSTEP_SYSTEM_HEADERS}" - REAL_CFLAGS="$REAL_CFLAGS -I${GNUSTEP_SYSTEM_HEADERS}" - LDFLAGS="$LDFLAGS -L${GNUSTEP_SYSTEM_LIBRARIES}" + GNUSTEP_LOCAL_HEADERS="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_LOCAL_HEADERS)" + GNUSTEP_LOCAL_LIBRARIES="$(. $GNUSTEP_CONFIG_FILE; echo $GNUSTEP_LOCAL_LIBRARIES)" + test "x${GNUSTEP_LOCAL_HEADERS}" != "x" && \ + GNUSTEP_LOCAL_HEADERS="-I${GNUSTEP_LOCAL_HEADERS}" + test "x${GNUSTEP_LOCAL_LIBRARIES}" != "x" && \ + GNUSTEP_LOCAL_LIBRARIES="-L${GNUSTEP_LOCAL_LIBRARIES}" + CPPFLAGS="$CPPFLAGS -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" + CFLAGS="$CFLAGS -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}" + LDFLAGS="$LDFLAGS -L${GNUSTEP_SYSTEM_LIBRARIES} ${GNUSTEP_LOCAL_LIBRARIES}" + LIB_STANDARD= + START_FILES= + TEMACS_LDFLAGS2= fi ac_fn_c_check_header_mongrel "$LINENO" "AppKit/AppKit.h" "ac_cv_header_AppKit_AppKit_h" "$ac_includes_default" - if test "x$ac_cv_header_AppKit_AppKit_h" = xyes; then : + if test "x$ac_cv_header_AppKit_AppKit_h" = x""yes; then : HAVE_NS=yes else as_fn_error $? "\`--with-ns' was specified, but the include @@@ -8749,271 -8162,39 +8741,271 @@@ $as_echo "no" >&6; fi if test $succeeded = yes; then - pkg_check_gtk=yes + HAVE_IMAGEMAGICK=yes else - pkg_check_gtk=no + : fi - if test "$pkg_check_gtk" = "no" && test "$USE_X_TOOLKIT" != "maybe"; then - as_fn_error $? "$GTK_PKG_ERRORS" "$LINENO" 5 - fi -fi -if test x"$pkg_check_gtk" = xyes; then + if test $HAVE_IMAGEMAGICK = yes; then +$as_echo "#define HAVE_IMAGEMAGICK 1" >>confdefs.h - C_SWITCH_X_SITE="$C_SWITCH_X_SITE $GTK_CFLAGS" - CFLAGS="$CFLAGS $GTK_CFLAGS" - LIBS="$GTK_LIBS $LIBS" - GTK_COMPILES=no - for ac_func in gtk_main + CFLAGS="$CFLAGS $IMAGEMAGICK_CFLAGS" + LIBS="$IMAGEMAGICK_LIBS $LIBS" + for ac_func in MagickExportImagePixels do : - ac_fn_c_check_func "$LINENO" "gtk_main" "ac_cv_func_gtk_main" -if test "x$ac_cv_func_gtk_main" = x""yes; then : + ac_fn_c_check_func "$LINENO" "MagickExportImagePixels" "ac_cv_func_MagickExportImagePixels" - if test "x$ac_cv_func_MagickExportImagePixels" = xyes; then : ++if test "x$ac_cv_func_MagickExportImagePixels" = x""yes; then : cat >>confdefs.h <<_ACEOF -#define HAVE_GTK_MAIN 1 +#define HAVE_MAGICKEXPORTIMAGEPIXELS 1 _ACEOF - GTK_COMPILES=yes + +fi +done + + fi + fi +fi + + +HAVE_GTK=no +if test "${with_gtk3}" = "yes"; then + GLIB_REQUIRED=2.6 + GTK_REQUIRED=2.90 + GTK_MODULES="gtk+-3.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED" + + + succeeded=no + + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } - if ${ac_cv_path_PKG_CONFIG+:} false; then : ++if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + if test "$PKG_CONFIG" = "no" ; then + pkg_check_gtk=no + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $GTK_MODULES" >&5 +$as_echo_n "checking for $GTK_MODULES... " >&6; } + + if $PKG_CONFIG --exists "$GTK_MODULES" 2>&5; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + succeeded=yes + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GTK_CFLAGS" >&5 +$as_echo_n "checking GTK_CFLAGS... " >&6; } + GTK_CFLAGS=`$PKG_CONFIG --cflags "$GTK_MODULES"|sed -e 's,///*,/,g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTK_CFLAGS" >&5 +$as_echo "$GTK_CFLAGS" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GTK_LIBS" >&5 +$as_echo_n "checking GTK_LIBS... " >&6; } + GTK_LIBS=`$PKG_CONFIG --libs "$GTK_MODULES"|sed -e 's,///*,/,g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTK_LIBS" >&5 +$as_echo "$GTK_LIBS" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + GTK_CFLAGS="" + GTK_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. + GTK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$GTK_MODULES"` + + fi + + + + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + pkg_check_gtk=yes + else + pkg_check_gtk=no + fi + + if test "$pkg_check_gtk" = "no" && test "$USE_X_TOOLKIT" != "maybe"; then + as_fn_error $? "$GTK_PKG_ERRORS" "$LINENO" 5 + fi +fi + +if test "$pkg_check_gtk" != "yes"; then + HAVE_GTK=no +if test "${with_gtk}" = "yes" || test "$USE_X_TOOLKIT" = "maybe"; then + GLIB_REQUIRED=2.6 + GTK_REQUIRED=2.6 + GTK_MODULES="gtk+-2.0 >= $GTK_REQUIRED glib-2.0 >= $GLIB_REQUIRED" + + + succeeded=no + + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } - if ${ac_cv_path_PKG_CONFIG+:} false; then : ++if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + if test "$PKG_CONFIG" = "no" ; then + pkg_check_gtk=no + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $GTK_MODULES" >&5 +$as_echo_n "checking for $GTK_MODULES... " >&6; } + + if $PKG_CONFIG --exists "$GTK_MODULES" 2>&5; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + succeeded=yes + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GTK_CFLAGS" >&5 +$as_echo_n "checking GTK_CFLAGS... " >&6; } + GTK_CFLAGS=`$PKG_CONFIG --cflags "$GTK_MODULES"|sed -e 's,///*,/,g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTK_CFLAGS" >&5 +$as_echo "$GTK_CFLAGS" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GTK_LIBS" >&5 +$as_echo_n "checking GTK_LIBS... " >&6; } + GTK_LIBS=`$PKG_CONFIG --libs "$GTK_MODULES"|sed -e 's,///*,/,g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GTK_LIBS" >&5 +$as_echo "$GTK_LIBS" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + GTK_CFLAGS="" + GTK_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. + GTK_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "$GTK_MODULES"` + + fi + + + + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + pkg_check_gtk=yes + else + pkg_check_gtk=no + fi + + if test "$pkg_check_gtk" = "no" && test "$USE_X_TOOLKIT" != "maybe"; then + as_fn_error $? "$GTK_PKG_ERRORS" "$LINENO" 5 + fi +fi +fi + +GTK_OBJ= +if test x"$pkg_check_gtk" = xyes; then + + + + C_SWITCH_X_SITE="$C_SWITCH_X_SITE $GTK_CFLAGS" + CFLAGS="$CFLAGS $GTK_CFLAGS" + LIBS="$GTK_LIBS $LIBS" + GTK_COMPILES=no + for ac_func in gtk_main +do : + ac_fn_c_check_func "$LINENO" "gtk_main" "ac_cv_func_gtk_main" - if test "x$ac_cv_func_gtk_main" = xyes; then : ++if test "x$ac_cv_func_gtk_main" = x""yes; then : + cat >>confdefs.h <<_ACEOF +#define HAVE_GTK_MAIN 1 +_ACEOF + GTK_COMPILES=yes fi done if test "${GTK_COMPILES}" != "yes"; then if test "$USE_X_TOOLKIT" != "maybe"; then -- as_fn_error $? "Gtk+ wanted, but it does not compile, see config.log. Maybe some x11-devel files missing?" "$LINENO" 5; ++ as_fn_error $? "Gtk+ wanted, but it does not compile, see config.log. Maybe some x11-devel files missing?" "$LINENO" 5 ; fi else HAVE_GTK=yes @@@ -9264,167 -8480,9 +9256,167 @@@ if test "x$ac_cv_func_dbus_watch_get_un #define HAVE_DBUS_WATCH_GET_UNIX_FD 1 _ACEOF -fi -done +fi +done + + DBUS_OBJ=dbusbind.o + fi +fi + + +HAVE_GCONF=no +if test "${HAVE_X11}" = "yes" && test "${with_gconf}" = "yes"; then + + succeeded=no + + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } - if ${ac_cv_path_PKG_CONFIG+:} false; then : ++if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + if test "$PKG_CONFIG" = "no" ; then + HAVE_GCONF=no + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gconf-2.0 >= 2.13" >&5 +$as_echo_n "checking for gconf-2.0 >= 2.13... " >&6; } + + if $PKG_CONFIG --exists "gconf-2.0 >= 2.13" 2>&5; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + succeeded=yes + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GCONF_CFLAGS" >&5 +$as_echo_n "checking GCONF_CFLAGS... " >&6; } + GCONF_CFLAGS=`$PKG_CONFIG --cflags "gconf-2.0 >= 2.13"|sed -e 's,///*,/,g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCONF_CFLAGS" >&5 +$as_echo "$GCONF_CFLAGS" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking GCONF_LIBS" >&5 +$as_echo_n "checking GCONF_LIBS... " >&6; } + GCONF_LIBS=`$PKG_CONFIG --libs "gconf-2.0 >= 2.13"|sed -e 's,///*,/,g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $GCONF_LIBS" >&5 +$as_echo "$GCONF_LIBS" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + GCONF_CFLAGS="" + GCONF_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. + GCONF_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gconf-2.0 >= 2.13"` + + fi + + + + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + HAVE_GCONF=yes + else + HAVE_GCONF=no + fi + + if test "$HAVE_GCONF" = yes; then + +$as_echo "#define HAVE_GCONF 1" >>confdefs.h + + fi +fi + +HAVE_LIBSELINUX=no +LIBSELINUX_LIBS= +if test "${with_selinux}" = "yes"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for lgetfilecon in -lselinux" >&5 +$as_echo_n "checking for lgetfilecon in -lselinux... " >&6; } - if ${ac_cv_lib_selinux_lgetfilecon+:} false; then : ++if test "${ac_cv_lib_selinux_lgetfilecon+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lselinux $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char lgetfilecon (); +int +main () +{ +return lgetfilecon (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_selinux_lgetfilecon=yes +else + ac_cv_lib_selinux_lgetfilecon=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_selinux_lgetfilecon" >&5 +$as_echo "$ac_cv_lib_selinux_lgetfilecon" >&6; } - if test "x$ac_cv_lib_selinux_lgetfilecon" = xyes; then : ++if test "x$ac_cv_lib_selinux_lgetfilecon" = x""yes; then : + HAVE_LIBSELINUX=yes +else + HAVE_LIBSELINUX=no +fi + + if test "$HAVE_LIBSELINUX" = yes; then + +$as_echo "#define HAVE_LIBSELINUX 1" >>confdefs.h + LIBSELINUX_LIBS=-lselinux fi fi @@@ -9817,10 -8852,15 +9809,10 @@@ rm -f core conftest.err conftest.$ac_ob fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $emacs_cv_motif_version_2_1" >&5 $as_echo "$emacs_cv_motif_version_2_1" >&6; } - HAVE_MOTIF_2_1=$emacs_cv_motif_version_2_1 if test $emacs_cv_motif_version_2_1 = yes; then - HAVE_LIBXP=no - -$as_echo "#define HAVE_MOTIF_2_1 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XpCreateContext in -lXp" >&5 $as_echo_n "checking for XpCreateContext in -lXp... " >&6; } - if ${ac_cv_lib_Xp_XpCreateContext+:} false; then : + if test "${ac_cv_lib_Xp_XpCreateContext+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@@ -9854,10 -8894,15 +9846,10 @@@ LIBS=$ac_check_lib_save_LIB fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_Xp_XpCreateContext" >&5 $as_echo "$ac_cv_lib_Xp_XpCreateContext" >&6; } - if test "x$ac_cv_lib_Xp_XpCreateContext" = xyes; then : + if test "x$ac_cv_lib_Xp_XpCreateContext" = x""yes; then : - HAVE_LIBXP=yes + LIBXP=-lXp fi - if test ${HAVE_LIBXP} = yes; then - -$as_echo "#define HAVE_LIBXP 1" >>confdefs.h - - fi else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LessTif where some systems put it" >&5 $as_echo_n "checking for LessTif where some systems put it... " >&6; } @@@ -10915,13 -9946,11 +10907,13 @@@ $as_echo "#define HAVE_TIFF 1" >>confde fi fi + ### Use -lgif or -lungif if available, unless `--with-gif=no'. HAVE_GIF=no +LIBGIF= if test "${HAVE_X11}" = "yes" && test "${with_gif}" != "no"; then ac_fn_c_check_header_mongrel "$LINENO" "gif_lib.h" "ac_cv_header_gif_lib_h" "$ac_includes_default" - if test "x$ac_cv_header_gif_lib_h" = xyes; then : + if test "x$ac_cv_header_gif_lib_h" = x""yes; then : # EGifPutExtensionLast only exists from version libungif-4.1.0b1. # Earlier versions can crash Emacs. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EGifPutExtensionLast in -lgif" >&5 @@@ -10960,10 -9989,10 +10952,10 @@@ LIBS=$ac_check_lib_save_LIB fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gif_EGifPutExtensionLast" >&5 $as_echo "$ac_cv_lib_gif_EGifPutExtensionLast" >&6; } - if test "x$ac_cv_lib_gif_EGifPutExtensionLast" = xyes; then : + if test "x$ac_cv_lib_gif_EGifPutExtensionLast" = x""yes; then : HAVE_GIF=yes else - try_libungif=yes + HAVE_GIF=maybe fi fi @@@ -10971,12 -10000,14 +10963,12 @@@ if test "$HAVE_GIF" = yes; then - ac_gif_lib_name="-lgif" - fi - + LIBGIF=-lgif + elif test "$HAVE_GIF" = maybe; then # If gif_lib.h but no libgif, try libungif. - if test x"$try_libungif" = xyes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for EGifPutExtensionLast in -lungif" >&5 $as_echo_n "checking for EGifPutExtensionLast in -lungif... " >&6; } - if ${ac_cv_lib_ungif_EGifPutExtensionLast+:} false; then : + if test "${ac_cv_lib_ungif_EGifPutExtensionLast+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@@ -11010,13 -10041,17 +11002,13 @@@ LIBS=$ac_check_lib_save_LIB fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_ungif_EGifPutExtensionLast" >&5 $as_echo "$ac_cv_lib_ungif_EGifPutExtensionLast" >&6; } - if test "x$ac_cv_lib_ungif_EGifPutExtensionLast" = xyes; then : + if test "x$ac_cv_lib_ungif_EGifPutExtensionLast" = x""yes; then : HAVE_GIF=yes +else + HAVE_GIF=no fi - - if test "$HAVE_GIF" = yes; then - -$as_echo "#define LIBGIF -lungif" >>confdefs.h - - ac_gif_lib_name="-lungif" - fi + test "$HAVE_GIF" = yes && LIBGIF=-lungif fi if test "${HAVE_GIF}" = "yes"; then @@@ -11053,14 -10087,12 +11045,14 @@@ f ### Use -lgpm if available, unless `--with-gpm=no'. HAVE_GPM=no +LIBGPM= +MOUSE_SUPPORT= if test "${with_gpm}" != "no"; then ac_fn_c_check_header_mongrel "$LINENO" "gpm.h" "ac_cv_header_gpm_h" "$ac_includes_default" - if test "x$ac_cv_header_gpm_h" = xyes; then : + if test "x$ac_cv_header_gpm_h" = x""yes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for Gpm_Open in -lgpm" >&5 $as_echo_n "checking for Gpm_Open in -lgpm... " >&6; } - if ${ac_cv_lib_gpm_Gpm_Open+:} false; then : + if test "${ac_cv_lib_gpm_Gpm_Open+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@@ -11106,15 -10139,10 +11098,15 @@@ f $as_echo "#define HAVE_GPM 1" >>confdefs.h + LIBGPM=-lgpm + ## May be reset below. + MOUSE_SUPPORT="\$(GPM_MOUSE_SUPPORT)" + fi fi + ac_fn_c_check_header_mongrel "$LINENO" "malloc/malloc.h" "ac_cv_header_malloc_malloc_h" "$ac_includes_default" - if test "x$ac_cv_header_malloc_malloc_h" = xyes; then : + if test "x$ac_cv_header_malloc_malloc_h" = x""yes; then : $as_echo "#define HAVE_MALLOC_MALLOC_H 1" >>confdefs.h @@@ -11156,13 -10180,12 +11148,13 @@@ f ### Use session management (-lSM -lICE) if available HAVE_X_SM=no +LIBXSM= if test "${HAVE_X11}" = "yes"; then ac_fn_c_check_header_mongrel "$LINENO" "X11/SM/SMlib.h" "ac_cv_header_X11_SM_SMlib_h" "$ac_includes_default" - if test "x$ac_cv_header_X11_SM_SMlib_h" = xyes; then : + if test "x$ac_cv_header_X11_SM_SMlib_h" = x""yes; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SmcOpenConnection in -lSM" >&5 $as_echo_n "checking for SmcOpenConnection in -lSM... " >&6; } - if ${ac_cv_lib_SM_SmcOpenConnection+:} false; then : + if test "${ac_cv_lib_SM_SmcOpenConnection+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@@ -11216,161 -10238,6 +11208,161 @@@ $as_echo "#define HAVE_X_SM 1" >>confde fi fi + +### Use libxml (-lxml2) if available +if test "${with_xml2}" != "no"; then + ### I'm not sure what the version number should be, so I just guessed. + + succeeded=no + + # Extract the first word of "pkg-config", so it can be a program name with args. +set dummy pkg-config; ac_word=$2 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } - if ${ac_cv_path_PKG_CONFIG+:} false; then : ++if test "${ac_cv_path_PKG_CONFIG+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + case $PKG_CONFIG in + [\\/]* | ?:[\\/]*) + ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. + ;; + *) + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" + $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + + test -z "$ac_cv_path_PKG_CONFIG" && ac_cv_path_PKG_CONFIG="no" + ;; +esac +fi +PKG_CONFIG=$ac_cv_path_PKG_CONFIG +if test -n "$PKG_CONFIG"; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 +$as_echo "$PKG_CONFIG" >&6; } +else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } +fi + + + + if test "$PKG_CONFIG" = "no" ; then + HAVE_LIBXML2=no + else + PKG_CONFIG_MIN_VERSION=0.9.0 + if $PKG_CONFIG --atleast-pkgconfig-version $PKG_CONFIG_MIN_VERSION; then + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libxml-2.0 > 2.2.0" >&5 +$as_echo_n "checking for libxml-2.0 > 2.2.0... " >&6; } + + if $PKG_CONFIG --exists "libxml-2.0 > 2.2.0" 2>&5; then + { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 +$as_echo "yes" >&6; } + succeeded=yes + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXML2_CFLAGS" >&5 +$as_echo_n "checking LIBXML2_CFLAGS... " >&6; } + LIBXML2_CFLAGS=`$PKG_CONFIG --cflags "libxml-2.0 > 2.2.0"|sed -e 's,///*,/,g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXML2_CFLAGS" >&5 +$as_echo "$LIBXML2_CFLAGS" >&6; } + + { $as_echo "$as_me:${as_lineno-$LINENO}: checking LIBXML2_LIBS" >&5 +$as_echo_n "checking LIBXML2_LIBS... " >&6; } + LIBXML2_LIBS=`$PKG_CONFIG --libs "libxml-2.0 > 2.2.0"|sed -e 's,///*,/,g'` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIBXML2_LIBS" >&5 +$as_echo "$LIBXML2_LIBS" >&6; } + else + { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 +$as_echo "no" >&6; } + LIBXML2_CFLAGS="" + LIBXML2_LIBS="" + ## If we have a custom action on failure, don't print errors, but + ## do set a variable so people can do so. + LIBXML2_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "libxml-2.0 > 2.2.0"` + + fi + + + + else + echo "*** Your version of pkg-config is too old. You need version $PKG_CONFIG_MIN_VERSION or newer." + echo "*** See http://www.freedesktop.org/software/pkgconfig" + fi + fi + + if test $succeeded = yes; then + HAVE_LIBXML2=yes + else + HAVE_LIBXML2=no + fi + + if test "${HAVE_LIBXML2}" = "yes"; then + LIBS="$LIBXML2_LIBS $LIBS" + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for htmlReadMemory in -lxml2" >&5 +$as_echo_n "checking for htmlReadMemory in -lxml2... " >&6; } - if ${ac_cv_lib_xml2_htmlReadMemory+:} false; then : ++if test "${ac_cv_lib_xml2_htmlReadMemory+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + ac_check_lib_save_LIBS=$LIBS +LIBS="-lxml2 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +#ifdef __cplusplus +extern "C" +#endif +char htmlReadMemory (); +int +main () +{ +return htmlReadMemory (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO"; then : + ac_cv_lib_xml2_htmlReadMemory=yes +else + ac_cv_lib_xml2_htmlReadMemory=no +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_xml2_htmlReadMemory" >&5 +$as_echo "$ac_cv_lib_xml2_htmlReadMemory" >&6; } - if test "x$ac_cv_lib_xml2_htmlReadMemory" = xyes; then : ++if test "x$ac_cv_lib_xml2_htmlReadMemory" = x""yes; then : + HAVE_LIBXML2=yes +else + HAVE_LIBXML2=no +fi + + if test "${HAVE_LIBXML2}" = "yes"; then + +$as_echo "#define HAVE_LIBXML2 1" >>confdefs.h + + else + LIBXML2_LIBS="" + LIBXML2_CFLAGS="" + fi + fi +fi + + + # If netdb.h doesn't declare h_errno, we must declare it by hand. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether netdb declares h_errno" >&5 $as_echo_n "checking whether netdb declares h_errno... " >&6; } @@@ -11695,24 -10551,18 +11676,24 @@@ LIBS=$ac_check_lib_save_LIB fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mail_maillock" >&5 $as_echo "$ac_cv_lib_mail_maillock" >&6; } - if test "x$ac_cv_lib_mail_maillock" = xyes; then : + if test "x$ac_cv_lib_mail_maillock" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBMAIL 1 -_ACEOF + have_mail=yes +else + have_mail=no +fi - LIBS="-lmail $LIBS" +if test $have_mail = yes; then + LIBS_MAIL=-lmail + LIBS="$LIBS_MAIL $LIBS" -fi +$as_echo "#define HAVE_LIBMAIL 1" >>confdefs.h +else + LIBS_MAIL= +fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for maillock in -llockfile" >&5 $as_echo_n "checking for maillock in -llockfile... " >&6; } - if ${ac_cv_lib_lockfile_maillock+:} false; then : + if test "${ac_cv_lib_lockfile_maillock+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@@ -11746,19 -10596,15 +11727,19 @@@ LIBS=$ac_check_lib_save_LIB fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_lockfile_maillock" >&5 $as_echo "$ac_cv_lib_lockfile_maillock" >&6; } - if test "x$ac_cv_lib_lockfile_maillock" = xyes; then : + if test "x$ac_cv_lib_lockfile_maillock" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBLOCKFILE 1 -_ACEOF + have_lockfile=yes +else + have_lockfile=no +fi - LIBS="-llockfile $LIBS" +if test $have_lockfile = yes; then + LIBS_MAIL=-llockfile + LIBS="$LIBS_MAIL $LIBS" -fi +$as_echo "#define HAVE_LIBLOCKFILE 1" >>confdefs.h +else # If we have the shared liblockfile, assume we must use it for mail # locking (e.g. Debian). If we couldn't link against liblockfile # (no liblockfile.a installed), ensure that we don't need to. @@@ -12976,14 -11776,13 +12956,14 @@@ don # That is because we have not set up to link ncurses in lib-src. # It's better to believe a function is not available # than to expect to find it in ncurses. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for tparm in -lncurses" >&5 -$as_echo_n "checking for tparm in -lncurses... " >&6; } -if test "${ac_cv_lib_ncurses_tparm+set}" = set; then : +# Also we need tputs and friends to be able to build at all. +have_tputs_et_al=true +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing tputs" >&5 +$as_echo_n "checking for library containing tputs... " >&6; } - if ${ac_cv_search_tputs+:} false; then : ++if test "${ac_cv_search_tputs+set}" = set; then : $as_echo_n "(cached) " >&6 else - ac_check_lib_save_LIBS=$LIBS -LIBS="-lncurses $LIBS" + ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@@ -12993,96 -11792,7 +12973,96 @@@ #ifdef __cplusplus extern "C" #endif -char tparm (); +char tputs (); +int +main () +{ +return tputs (); + ; + return 0; +} +_ACEOF +for ac_lib in '' ncurses terminfo termcap; do + if test -z "$ac_lib"; then + ac_res="none required" + else + ac_res=-l$ac_lib + LIBS="-l$ac_lib $ac_func_search_save_LIBS" + fi + if ac_fn_c_try_link "$LINENO"; then : + ac_cv_search_tputs=$ac_res +fi +rm -f core conftest.err conftest.$ac_objext \ + conftest$ac_exeext - if ${ac_cv_search_tputs+:} false; then : ++ if test "${ac_cv_search_tputs+set}" = set; then : + break +fi +done - if ${ac_cv_search_tputs+:} false; then : ++if test "${ac_cv_search_tputs+set}" = set; then : + +else + ac_cv_search_tputs=no +fi +rm conftest.$ac_ext +LIBS=$ac_func_search_save_LIBS +fi +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_tputs" >&5 +$as_echo "$ac_cv_search_tputs" >&6; } +ac_res=$ac_cv_search_tputs +if test "$ac_res" != no; then : + test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" + +else + have_tputs_et_al=false +fi + +if test "$have_tputs_et_al" != true; then + as_fn_error $? "I couldn't find termcap functions (tputs and friends). +Maybe some development libraries/packages are missing? Try installing +libncurses-dev(el), libterminfo-dev(el) or similar." "$LINENO" 5 +fi +# Must define this when any termcap library is found. + +$as_echo "#define HAVE_LIBNCURSES 1" >>confdefs.h + +## FIXME This was the cpp logic, but I am not sure it is right. +## The above test has not necessarily found libncurses. +HAVE_LIBNCURSES=yes + +## Use terminfo instead of termcap? +## Note only system files NOT using terminfo are: +## freebsd < 40000, ms-w32, msdos, netbsd < 599002500, and +## darwin|gnu without ncurses. +TERMINFO=no +LIBS_TERMCAP= +case "$opsys" in + ## cygwin: Fewer environment variables to go wrong, more terminal types. + ## hpux10-20: Use the system provided termcap(3) library. + ## openbsd: David Mazieres says this + ## is necessary. Otherwise Emacs dumps core when run -nw. + aix4-2|cygwin|hpux*|irix6-5|openbsd|sol2*|unixware) TERMINFO=yes ;; + + ## darwin: Prevents crashes when running Emacs in Terminal.app under 10.2. + ## The ncurses library has been moved out of the System framework in + ## Mac OS X 10.2. So if configure detects it, set the command-line + ## option to use it. + darwin|gnu*) + ## (HAVE_LIBNCURSES was not always true, but is since 2010-03-18.) + if test "x$HAVE_LIBNCURSES" = "xyes"; then + TERMINFO=yes + LIBS_TERMCAP="-lncurses" + fi + ;; + + freebsd) + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether FreeBSD is new enough to use terminfo" >&5 +$as_echo_n "checking whether FreeBSD is new enough to use terminfo... " >&6; } - if ${emacs_cv_freebsd_terminfo+:} false; then : ++ if test "${emacs_cv_freebsd_terminfo+set}" = set; then : + $as_echo_n "(cached) " >&6 +else + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include int main () { @@@ -13215,11 -11885,10 +13195,11 @@@ $as_echo "#define HAVE_RES_INIT 1" >>co fi # Do we need the Hesiod library to provide the support routines? +LIBHESIOD= if test "$with_hesiod" != no ; then - # Don't set $LIBS here -- see comments above. + # Don't set $LIBS here -- see comments above. FIXME which comments? ac_fn_c_check_func "$LINENO" "res_send" "ac_cv_func_res_send" - if test "x$ac_cv_func_res_send" = xyes; then : + if test "x$ac_cv_func_res_send" = x""yes; then : else ac_fn_c_check_func "$LINENO" "__res_send" "ac_cv_func___res_send" @@@ -13356,8 -12025,10 +13336,8 @@@ LIBS=$ac_check_lib_save_LIB fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_hesiod_hes_getmailhost" >&5 $as_echo "$ac_cv_lib_hesiod_hes_getmailhost" >&6; } - if test "x$ac_cv_lib_hesiod_hes_getmailhost" = xyes; then : + if test "x$ac_cv_lib_hesiod_hes_getmailhost" = x""yes; then : - -$as_echo "#define HAVE_LIBHESIOD 1" >>confdefs.h - + hesiod=yes else : fi @@@ -13429,22 -12082,18 +13409,22 @@@ LIBS=$ac_check_lib_save_LIB fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_com_err_com_err" >&5 $as_echo "$ac_cv_lib_com_err_com_err" >&6; } - if test "x$ac_cv_lib_com_err_com_err" = xyes; then : + if test "x$ac_cv_lib_com_err_com_err" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBCOM_ERR 1 -_ACEOF + have_com_err=yes +else + have_com_err=no +fi - LIBS="-lcom_err $LIBS" + if test $have_com_err = yes; then + COM_ERRLIB=-lcom_err + LIBS="$COM_ERRLIB $LIBS" -fi +$as_echo "#define HAVE_LIBCOM_ERR 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mit_des_cbc_encrypt in -lk5crypto" >&5 -$as_echo_n "checking for mit_des_cbc_encrypt in -lk5crypto... " >&6; } -if test "${ac_cv_lib_k5crypto_mit_des_cbc_encrypt+set}" = set; then : + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mit_des_cbc_encrypt in -lcrypto" >&5 +$as_echo_n "checking for mit_des_cbc_encrypt in -lcrypto... " >&6; } - if ${ac_cv_lib_crypto_mit_des_cbc_encrypt+:} false; then : ++if test "${ac_cv_lib_crypto_mit_des_cbc_encrypt+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@@ -13476,24 -12125,20 +13456,24 @@@ rm -f core conftest.err conftest.$ac_ob conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_k5crypto_mit_des_cbc_encrypt" >&5 -$as_echo "$ac_cv_lib_k5crypto_mit_des_cbc_encrypt" >&6; } -if test "x$ac_cv_lib_k5crypto_mit_des_cbc_encrypt" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBK5CRYPTO 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_mit_des_cbc_encrypt" >&5 +$as_echo "$ac_cv_lib_crypto_mit_des_cbc_encrypt" >&6; } - if test "x$ac_cv_lib_crypto_mit_des_cbc_encrypt" = xyes; then : ++if test "x$ac_cv_lib_crypto_mit_des_cbc_encrypt" = x""yes; then : + have_crypto=yes +else + have_crypto=no +fi - LIBS="-lk5crypto $LIBS" + if test $have_crypto = yes; then + CRYPTOLIB=-lcrypto + LIBS="$CRYPTOLIB $LIBS" -fi +$as_echo "#define HAVE_LIBCRYPTO 1" >>confdefs.h - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mit_des_cbc_encrypt in -lcrypto" >&5 -$as_echo_n "checking for mit_des_cbc_encrypt in -lcrypto... " >&6; } -if test "${ac_cv_lib_crypto_mit_des_cbc_encrypt+set}" = set; then : + fi + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mit_des_cbc_encrypt in -lk5crypto" >&5 +$as_echo_n "checking for mit_des_cbc_encrypt in -lk5crypto... " >&6; } - if ${ac_cv_lib_k5crypto_mit_des_cbc_encrypt+:} false; then : ++if test "${ac_cv_lib_k5crypto_mit_des_cbc_encrypt+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@@ -13525,24 -12170,20 +13505,24 @@@ rm -f core conftest.err conftest.$ac_ob conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_crypto_mit_des_cbc_encrypt" >&5 -$as_echo "$ac_cv_lib_crypto_mit_des_cbc_encrypt" >&6; } -if test "x$ac_cv_lib_crypto_mit_des_cbc_encrypt" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBCRYPTO 1 -_ACEOF +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_k5crypto_mit_des_cbc_encrypt" >&5 +$as_echo "$ac_cv_lib_k5crypto_mit_des_cbc_encrypt" >&6; } - if test "x$ac_cv_lib_k5crypto_mit_des_cbc_encrypt" = xyes; then : ++if test "x$ac_cv_lib_k5crypto_mit_des_cbc_encrypt" = x""yes; then : + have_k5crypto=yes +else + have_k5crypto=no +fi - LIBS="-lcrypto $LIBS" + if test $have_k5crypto = yes; then + CRYPTOLIB=-lk5crypto + LIBS="$CRYPTOLIB $LIBS" -fi +$as_echo "#define HAVE_LIBK5CRYPTO 1" >>confdefs.h + fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for krb5_init_context in -lkrb5" >&5 $as_echo_n "checking for krb5_init_context in -lkrb5... " >&6; } - if ${ac_cv_lib_krb5_krb5_init_context+:} false; then : + if test "${ac_cv_lib_krb5_krb5_init_context+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@@ -13576,23 -12217,19 +13556,23 @@@ LIBS=$ac_check_lib_save_LIB fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_krb5_krb5_init_context" >&5 $as_echo "$ac_cv_lib_krb5_krb5_init_context" >&6; } - if test "x$ac_cv_lib_krb5_krb5_init_context" = xyes; then : + if test "x$ac_cv_lib_krb5_krb5_init_context" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBKRB5 1 -_ACEOF + have_krb5=yes +else + have_krb5=no +fi - LIBS="-lkrb5 $LIBS" + if test $have_krb5=yes; then + KRB5LIB=-lkrb5 + LIBS="$KRB5LIB $LIBS" -fi +$as_echo "#define HAVE_LIBKRB5 1" >>confdefs.h - if test "${with_kerberos5}" = no; then + fi + if test "${with_kerberos5}" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for des_cbc_encrypt in -ldes425" >&5 $as_echo_n "checking for des_cbc_encrypt in -ldes425... " >&6; } - if ${ac_cv_lib_des425_des_cbc_encrypt+:} false; then : + if test "${ac_cv_lib_des425_des_cbc_encrypt+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@@ -13626,22 -12263,17 +13606,22 @@@ LIBS=$ac_check_lib_save_LIB fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_des425_des_cbc_encrypt" >&5 $as_echo "$ac_cv_lib_des425_des_cbc_encrypt" >&6; } - if test "x$ac_cv_lib_des425_des_cbc_encrypt" = xyes; then : + if test "x$ac_cv_lib_des425_des_cbc_encrypt" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBDES425 1 -_ACEOF + have_des425=yes +else + have_des425=no +fi - LIBS="-ldes425 $LIBS" + if test $have_des425 = yes; then + DESLIB=-ldes425 + LIBS="$DESLIB $LIBS" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for des_cbc_encrypt in -ldes" >&5 +$as_echo "#define HAVE_LIBDES425 1" >>confdefs.h + + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for des_cbc_encrypt in -ldes" >&5 $as_echo_n "checking for des_cbc_encrypt in -ldes... " >&6; } - if ${ac_cv_lib_des_des_cbc_encrypt+:} false; then : + if test "${ac_cv_lib_des_des_cbc_encrypt+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@@ -13675,23 -12307,20 +13655,23 @@@ LIBS=$ac_check_lib_save_LIB fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_des_des_cbc_encrypt" >&5 $as_echo "$ac_cv_lib_des_des_cbc_encrypt" >&6; } - if test "x$ac_cv_lib_des_des_cbc_encrypt" = xyes; then : + if test "x$ac_cv_lib_des_des_cbc_encrypt" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBDES 1 -_ACEOF - - LIBS="-ldes $LIBS" - + have_des=yes +else + have_des=no fi -fi + if test $have_des = yes; then + DESLIB=-ldes + LIBS="$DESLIB $LIBS" +$as_echo "#define HAVE_LIBDES 1" >>confdefs.h + + fi + fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for krb_get_cred in -lkrb4" >&5 $as_echo_n "checking for krb_get_cred in -lkrb4... " >&6; } - if ${ac_cv_lib_krb4_krb_get_cred+:} false; then : + if test "${ac_cv_lib_krb4_krb_get_cred+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@@ -13725,22 -12354,17 +13705,22 @@@ LIBS=$ac_check_lib_save_LIB fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_krb4_krb_get_cred" >&5 $as_echo "$ac_cv_lib_krb4_krb_get_cred" >&6; } - if test "x$ac_cv_lib_krb4_krb_get_cred" = xyes; then : + if test "x$ac_cv_lib_krb4_krb_get_cred" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBKRB4 1 -_ACEOF + have_krb4=yes +else + have_krb4=no +fi - LIBS="-lkrb4 $LIBS" + if test $have_krb4 = yes; then + KRB4LIB=-lkrb4 + LIBS="$KRB4LIB $LIBS" -else - { $as_echo "$as_me:${as_lineno-$LINENO}: checking for krb_get_cred in -lkrb" >&5 +$as_echo "#define HAVE_LIBKRB4 1" >>confdefs.h + + else + { $as_echo "$as_me:${as_lineno-$LINENO}: checking for krb_get_cred in -lkrb" >&5 $as_echo_n "checking for krb_get_cred in -lkrb... " >&6; } - if ${ac_cv_lib_krb_krb_get_cred+:} false; then : + if test "${ac_cv_lib_krb_krb_get_cred+set}" = set; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS @@@ -13774,20 -12398,17 +13754,20 @@@ LIBS=$ac_check_lib_save_LIB fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_krb_krb_get_cred" >&5 $as_echo "$ac_cv_lib_krb_krb_get_cred" >&6; } - if test "x$ac_cv_lib_krb_krb_get_cred" = xyes; then : + if test "x$ac_cv_lib_krb_krb_get_cred" = x""yes; then : - cat >>confdefs.h <<_ACEOF -#define HAVE_LIBKRB 1 -_ACEOF - - LIBS="-lkrb $LIBS" - + have_krb=yes +else + have_krb=no fi -fi + if test $have_krb = yes; then + KRB4LIB=-lkrb + LIBS="$KRB4LIB $LIBS" +$as_echo "#define HAVE_LIBKRB 1" >>confdefs.h + + fi + fi fi if test "${with_kerberos5}" != no; then @@@ -15145,8 -13527,7 +15109,8 @@@ LTLIBOBJS=$ac_ltlibobj + - : "${CONFIG_STATUS=./config.status}" + : ${CONFIG_STATUS=./config.status} ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" @@@ -15554,8 -13934,8 +15517,8 @@@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wr # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by emacs $as_me 23.2.90, which was +This file was extended by emacs $as_me 24.0.50, which was - generated by GNU Autoconf 2.68. Invocation command line was + generated by GNU Autoconf 2.67. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS @@@ -15620,8 -14000,8 +15583,8 @@@ _ACEO cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -emacs config.status 23.2.90 +emacs config.status 24.0.50 - configured by $0, generated by GNU Autoconf 2.68, + configured by $0, generated by GNU Autoconf 2.67, with options \\"\$ac_cs_config\\" Copyright (C) 2010 Free Software Foundation, Inc. @@@ -15761,7 -14141,7 +15724,7 @@@ d "leim/Makefile") CONFIG_FILES="$CONFIG_FILES leim/Makefile" ;; "default") CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;; -- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; ++ *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5 ;; esac done @@@ -15840,20 -14201,9 +15801,20 @@@ els ac_cs_awk_cr=$ac_cr fi - echo 'BEGIN {' >"$ac_tmp/subs1.awk" && + echo 'BEGIN {' >"$tmp/subs1.awk" && _ACEOF +# Create commands to substitute file output variables. +{ + echo "cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1" && - echo 'cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&' && ++ echo 'cat >>"\$tmp/subs1.awk" <<\\_ACAWK &&' && + echo "$ac_subst_files" | sed 's/.*/F["&"]="$&"/' && + echo "_ACAWK" && + echo "_ACEOF" +} >conf$$files.sh && +. ./conf$$files.sh || + as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 +rm -f conf$$files.sh { echo "cat >conf$$subs.awk <<_ACEOF" && @@@ -15927,10 -14277,10 +15888,10 @@@ t deli rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK - cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && + cat >>"\$tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" - + \$ac_cs_awk_pipe_init } { line = $ 0 @@@ -16113,7 -14457,7 +16074,7 @@@ d esac case $ac_mode$ac_tag in :[FHL]*:*);; -- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; ++ :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5 ;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac @@@ -16141,7 -14485,7 +16102,7 @@@ [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || -- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; ++ as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5 ;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" @@@ -16167,8 -14511,8 +16128,8 @@@ $as_echo "$as_me: creating $ac_file" >& esac case $ac_tag in - *:-:* | *:-) cat >"$ac_tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; + *:-:* | *:-) cat >"$tmp/stdin" \ - || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; ++ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac @@@ -16298,18 -14642,12 +16259,17 @@@ s&@abs_top_builddir@&$ac_abs_top_buildd s&@INSTALL@&$ac_INSTALL&;t t $ac_datarootdir_hack " -eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$tmp/subs.awk" >$tmp/out \ +eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | +if $ac_cs_awk_getline; then - $AWK -f "$ac_tmp/subs.awk" ++ $AWK -f "$tmp/subs.awk" +else - $AWK -f "$ac_tmp/subs.awk" | $SHELL - fi \ - >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ++ $AWK -f "$tmp/subs.awk" | $SHELL ++fi >$tmp/out \ + || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && - { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && - { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ - "$ac_tmp/out"`; test -z "$ac_out"; } && + { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } && + { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' diff --cc doc/emacs/ChangeLog index 5c0ff3da20,18819f858f..fe9cd8a73b --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@@ -1,95 -1,8 +1,100 @@@ -2010-11-06 Eli Zaretskii ++2010-11-09 Eli Zaretskii + + * msdog.texi (Windows HOME): Add information regarding startup + directory when invoking Emacs from a desktop shortcut. (bug#7300) + +2010-10-11 Glenn Morris + + * Makefile.in (MAKEINFO): Add explicit -I$srcdir. + + * Makefile.in (.texi.dvi): Remove unnecessary suffix rule. + (DVIPS): New variable. + (.PHONY): Add html, ps. + (html, emacs.html, ps, emacs.ps, emacs-xtra.ps): New targets. + (clean): Delete html, ps files. + +2010-10-09 Eli Zaretskii + + * makefile.w32-in (EMACSSOURCES): Add emacsver.texi. + +2010-10-09 Glenn Morris + + * Makefile.in (VPATH): Remove. + (infodir): Make it absolute. + (mkinfodir, $(infodir)/emacs, infoclean): No need to cd $srcdir. + + * Makefile.in (dist): Anchor regexps. + + * Makefile.in (EMACSSOURCES): Put emacs.texi first. + ($(infodir)/emacs, emacs.dvi, emacs.pdf, emacs-xtra.dvi) + (emacs-xtra.pdf): Use $<. + + * Makefile.in (infoclean): Remove harmless, long-standing error. + + * Makefile.in ($(infodir)): Delete rule. + (mkinfodir): New. + ($(infodir)/emacs): Use $mkinfodir instead of infodir. + + * Makefile.in (distclean): Do not delete emacsver.texi. + (dist): Remove reference to emacsver.texi.in. + * emacsver.texi: New file, replacing emacsver.texi.in. + +2010-10-09 Glenn Morris + + * emacsver.texi.in: New file. + * emacs.texi: Set EMACSVER by including emacsver.texi. + * Makefile.in (distclean): Delete emacsver.texi. + (dist): Copy emacsver.texi. + (EMACSSOURCES): Add emacsver.texi. + + * ack.texi (Acknowledgments): No more b2m.c. + + * Makefile.in (.PHONY): Declare info, dvi, pdf, dist. + (emacs): Remove rule. + (dist): No need to deal with the emacs rule any more. + +2010-10-07 Glenn Morris + + * Makefile.in (version): New, set by configure. + (clean): Delete dist tar file. + (dist): Use version in tar name. + +2010-10-06 Glenn Morris + + * Makefile.in (EMACS_XTRA): Add the main source file. + (emacs-xtra.dvi, emacs-xtra.pdf): Remove explicit emacs-xtra.texi. + (mostlyclean): No core files, reorder other files. + (clean): Delete specific dvi and pdf files. + (infoclean, dist): New rules. + (maintainer-clean): Use infoclean. + ($(infodir)): Add parallel build workaround. + +2010-10-04 Glenn Morris + + * Makefile.in (SHELL): Set it. + (INFO_TARGETS, DVI_TARGETS): Remove variables. + (info, dvi): Replace above variables with their expansions. + (info): Move mkdir from here... + ($(infodir)/emacs): ... to here (for parallel builds). + (pdf): New target. + ($(infodir)/emacs): Pass -o option to makeinfo. + (.PHONY): Declare clean rules. + (maintainer-clean): Delete dvi and pdf files. + Guard against cd failures. Use a more restrictive delete. + +2010-10-02 Glenn Morris + + * misc.texi (Shell Mode): Remove reference to old function name. + +2010-09-30 Eli Zaretskii + + * maintaining.texi (VC Mode Line): Mention all the possible VC status + indicator characters. + +2010-09-29 Glenn Morris + + * Makefile.in (top_srcdir): Remove unused variable. + 2010-09-14 Glenn Morris * cal-xtra.texi (Fancy Diary Display): Emphasize that sort should be diff --cc doc/misc/ChangeLog index 9761e599d8,11da421603..e255b44f18 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@@ -1,30 -1,12 +1,34 @@@ -2010-11-05 Michael Albinus ++2010-11-09 Jay Belanger + - * trampver.texi: Update release number. ++ * calc.texi: Use emacsver.texi to determine Emacs version. + -2010-11-03 Jay Belanger +2010-11-04 Lars Magne Ingebrigtsen - * calc.texi: Use emacsver.texi to determine Emacs version. + * gnus.texi (Customizing the IMAP Connection): Remove nnir mention, + since that works by default. + +2010-11-03 Kan-Ru Chen (tiny change) + + * gnus.texi (Customizing the IMAP Connection): Document + `nnimap-expunge' and remove `nnimap-expunge-inbox' from example. + +2010-11-04 Michael Albinus + + * tramp.texi (Remote shell setup): New item "Interactive shell + prompt". Reported by Christian Millour . + (Remote shell setup, Remote processes): Use @code{} for + environment variables. + +2010-11-03 Glenn Morris -2010-10-30 Glenn Morris + * ediff.texi (Quick Help Commands, Miscellaneous): + * gnus.texi (Agent Variables, Configuring nnmairix): Spelling fix. + +2010-10-31 Lars Magne Ingebrigtsen + + * gnus.texi (Paging the Article): Document C-u g/C-u C-u g. + +2010-10-31 Glenn Morris * mh-e.texi (Preface, From Bill Wohler): Change 23 to past tense. diff --cc etc/NEWS.23 index e1e7ba79d4,0000000000..aa8f47f2e2 mode 100644,000000..100644 --- a/etc/NEWS.23 +++ b/etc/NEWS.23 @@@ -1,2440 -1,0 +1,2443 @@@ +GNU Emacs NEWS -- history of user-visible changes. + +Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +See the end of the file for license conditions. + +Please send Emacs bug reports to bug-gnu-emacs@gnu.org. +If possible, use M-x report-emacs-bug. + +This file is about changes in Emacs version 23. + +See files NEWS.22, NEWS.21, NEWS.20, NEWS.19, NEWS.18, and NEWS.1-17 +for changes in older Emacs versions. + +You can narrow news to a specific version by calling `view-emacs-news' +with a prefix argument or by typing C-u C-h C-n. + + +* Installation Changes in Emacs 23.3 + +* Startup Changes in Emacs 23.3 + +* Changes in Emacs 23.3 + +** The nextstep port can have different modifiers for the left and right +alt/option key by customizing the value for ns-right-alternate-modifier. + + +* Editing Changes in Emacs 23.3 + + +* Changes in Specialized Modes and Packages in Emacs 23.3 + +--- +** The appt-add command takes an optional argument for the warning time. +This can be used in place of the default appt-message-warning-time. + +** Obsolete packages + ++++ +*** lmenu.el and cl-compat.el are now obsolete. + + +* New Modes and Packages in Emacs 23.3 - ++** smie.el is a generic navigation and indentation engine. ++It takes a simple BNF description of the grammar, and provides both ++sexp-style navigation (jumping over begin..end pairs) as well as ++indentation, which can be adjusted via ad-hoc indentation rules. + +* Incompatible Lisp Changes in Emacs 23.3 + + +* Lisp changes in Emacs 23.3 + +** `e' and `pi' are now called `float-e' and `float-pi'. + The old names are obsolete. +** The use of unintern without an obarray arg is declared obsolete. - ++** The function `princ-list' is declared obsolete. +** New function byte-to-string, like char-to-string but for bytes. + + +* Changes in Emacs 23.3 on non-free operating systems + + +* Installation Changes in Emacs 23.2 + +** New configure options for Emacs developers. +These are not new features; only the configure flags are new. + +*** --enable-profiling builds Emacs with profiling enabled. +This might not work on all platforms. + +*** --enable-checking[=OPTIONS] builds emacs with extra runtime checks. + +** `make install' now consistently ignores umask, creating a +world-readable install. + +** Emacs compiles with Gconf support, if it is detected. +Use the configure option --without-gconf to disable this. +This is used by the `font-use-system-font' feature (see below). + +* Startup Changes in Emacs 23.2 + +** The command-line option -Q (--quick) also inhibits loading X resources. +However, if Emacs is compiled with the Lucid or Motif toolkit, X +resource settings for the graphical widgets are still applied. +On Windows, the -Q option causes Emacs to ignore Registry settings, +but environment variables set on the Registry are still honored. + +*** The new variable `inhibit-x-resources' shows whether X resources +were loaded. + +** New command-line option -mm (--maximized) maximizes the initial frame. + +* Changes in Emacs 23.2 + +** The maximum size of buffers (and the largest fixnum) is doubled. +On typical 32bit systems, buffers can now be up to 512MB. + +** The default value of `trash-directory' is now nil. +This means that `move-file-to-trash' trashes files according to +freedesktop.org specifications, the same method used by the Gnome, +KDE, and XFCE desktops. (This change has no effect on Windows, which +uses `system-move-file-to-trash' for trashing.) + +** The pointer now becomes invisible when typing. +Customize `make-pointer-invisible' to disable this feature. + +** Font changes + +*** Emacs can use the system default monospaced font in Gnome. +To enable this feature, set `font-use-system-font' to non-nil (it is +nil by default). If the system default changes, Emacs changes also. +This feature requires Gconf support, which is automatically included +at compile-time if configure detects the gconf libraries (you can +disable this with the configure option --without-gconf). + +*** On X11, Emacs reacts to Xft changes made by configuration tools, +via the XSETTINGS mechanism. This includes antialias, hinting, +hintstyle, RGBA, DPI and lcdfilter changes. + +** Killing a buffer with a running process now asks for confirmation. +To remove this query, remove `process-kill-buffer-query-function' from +`kill-buffer-query-functions', or set the appropriate process flag +with `set-process-query-on-exit-flag'. + +** File-local variable changes + +*** Specifying a minor mode as a local variables enables that mode, +unconditionally. The previous behavior, toggling the mode, was +neither reliable nor generally desirable. + +*** There are new commands for adding and removing file-local variables: +`add-file-local-variable', `delete-file-local-variable', +`add-file-local-variable-prop-line', and +`delete-file-local-variable-prop-line'. + +*** There are new commands for adding and removing directory-local variables, +and copying them to and from file-local variable lists: +`add-dir-local-variable', `delete-dir-local-variable', +`copy-dir-locals-to-file-locals', +`copy-dir-locals-to-file-locals-prop-line' and +`copy-file-locals-to-dir-locals'. + +** Internationalization changes + +*** Unibyte sessions are now considered obsolete. +This refers to the EMACS_UNIBYTE environment variable as well as the +--unibyte, --multibyte, --no-multibyte, and --no-unibyte command line +arguments. Customizing enable-multibyte-characters and setting +default-enable-multibyte-characters are also deprecated. + +*** New coding system `utf-8-hfs'. +This is suitable for default-file-name-coding-system on Mac OS X; see +international/ucs-normalize.el. + +** Function arguments in *Help* buffers are now shown in upper-case. +Customize `help-downcase-arguments' to t to show them in lower-case. + +** New command `async-shell-command', bound globally to `M-&'. +This executes the command asynchronously, similar to calling `M-!' and +manually adding an ampersand to the end of the command. With `M-&', +you don't need the ampersand. The output appears in the buffer +`*Async Shell Command*'. + +** When running in a new enough xterm (newer than version 242), Emacs +asks xterm what the background color is and it sets up faces +accordingly for a dark background if needed (the current default is to +consider the background light). + + +* Editing Changes in Emacs 23.2 + +** Kill-ring and selection changes + +*** If `select-active-regions' is t, any active region automatically +becomes the primary selection (for interaction with other window +applications). If you enable this, you might want to bind +`mouse-yank-primary' to Mouse-2. + +*** When `save-interprogram-paste-before-kill' is non-nil, the kill +commands save the interprogram-paste selection into the kill ring +before doing anything else. This avoids losing the selection. + +*** When `kill-do-not-save-duplicates' is non-nil, identical +subsequent kills are not duplicated in the `kill-ring'. + +** Completion changes + +*** The new command `completion-at-point' provides mode-sensitive completion. + +*** tab-always-indent set to `complete' lets TAB do completion as well. + +*** The new completion-style `initials' is available. +For instance, this can complete M-x lch to list-command-history. + +*** The new variable `completions-format' determines how completions +are displayed in the *Completions* buffer. If you set it to +`vertical', completions are sorted vertically in columns. + +** The default value of `blink-matching-paren-distance' is increased. + +** M-n provides more default values in the minibuffer for commands +that read file names. These include the file name at point (when ffap +is loaded without ffap-bindings), the file name on the current line +(in Dired buffers), and the directory names of adjacent Dired windows +(for Dired commands that operate on several directories, such as copy, +rename, or diff). + +** M-r is bound to the new `move-to-window-line-top-bottom'. +This moves point to the window center, top and bottom on successive +invocations, in the same spirit as the C-l (recenter-top-bottom) +command. + +** The new variable `recenter-positions' determines the default +cycling order of C-l (`recenter-top-bottom'). + +** The abbrevs file is now a file named abbrev_defs in +user-emacs-directory; but the old location, ~/.abbrev_defs, is used if +that file exists. + + +* Changes in Specialized Modes and Packages in Emacs 23.2 + +** The bookmark menu has a narrowing search via bookmark-bmenu-search. + +** Calc + +*** The Calc settings file is now a file named calc.el in +user-emacs-directory; but the old location, ~/.calc.el, is used if +that file exists. + +*** Graphing commands (`g f' etc.) now work on MS-Windows, if you have +the native Windows port of Gnuplot version 3.8 or later installed. + +** Calendar and diary + +*** Fancy diary display is now the default. +If you prefer the simple display, customize `diary-display-function'. + +*** The diary's fancy display now enables view-mode. + +*** The command `calendar-current-date' accepts an optional argument +giving an offset from today. + +** Desktop + +*** The default value for `desktop-buffers-not-to-save' is nil. +This means Desktop will try restoring all buffers, when you restart +your Emacs session. Also, `desktop-buffers-not-to-save' is only +effective for buffers that have no associated file. If you want to +exempt buffers that do correspond to files, customize the value of +`desktop-files-not-to-save' instead. + +** Dired + +*** The new variable `dired-auto-revert-buffer', if non-nil, causes +Dired buffers to be reverted automatically on revisiting them. + +** DocView + +*** When `doc-view-continuous' is non-nil, scrolling a line +on the page edge advances to the next/previous page. + +** Elint + +*** Elint now uses compilation-mode. + +*** Elint can now scan individual files and whole directories, +and can be run in batch mode. + +*** Elint does a more thorough initialization, and recognizes more built-in +functions and variables. Customize `elint-scan-preloaded' if you want +to sacrifice some accuracy for a faster startup. + +*** Elint attempts some basic understanding of featurep and (f)boundp tests. + +*** Customize `elint-ignored-warnings' to suppress some warnings. + +** GDB-UI + +*** Toolbar functionality for reverse debugging. Display of STL +collections as watch expressions. These features require GDB 7.0 or later. + +** Grep + +*** A new command `zrgrep' searches recursively in gzipped files. + +** Info + +*** The new command `Info-virtual-index' bound to "I" displays a menu of +matched topics found in the index. + +*** The new command `info-finder' replaces finder.el with a virtual Info +manual that generates an Info file which gives the same information +through a menu structure. + +** LaTeX mode now provides completion (via completion-at-point). + +** Message mode is now the default mode for composing mail. + +The default for `mail-user-agent' is now message-user-agent, so the +C-x m (`compose-mail') command uses Message mode instead of Mail mode. + +Message mode has been included in Emacs, as part of the Gnus package, +for several years. It provides several features that are absent in +Mail mode, such as MIME handling. + +*** If the user has not customized mail-user-agent, `compose-mail' +checks for Mail mode customizations, and issues a warning if these +customizations are found. This alerts users who may otherwise be +unaware that their mail configuration has changed. + +To disable this check, set compose-mail-user-agent-warnings to nil. + +** The default value of mail-interactive is t, since Emacs 23.1. +(This was not announced at the time.) It means that when sending mail, +Emacs will wait for the process sending mail to return. If you +experience delays when sending mail, you may wish to set this to nil. + +** nXML mode is now the default for editing XML files. + +** pcomplete provides a new command `pcomplete-std-completion' which +is similar to `pcomplete' but using the standard completion UI code. + +** Shell (and other comint modes) + +*** M-s is no longer bound to `comint-next-matching-input'. + +*** M-r is now bound to `comint-history-isearch-backward-regexp'. +This starts an incremental search of the comint/shell input history. + +*** ansi-color is now enabled by default in Shell mode. +To disable it, set ansi-color-for-comint-mode to nil. + +** Tramp + +*** New connection methods "rsyncc", "imap" and "imaps". +On systems which support GVFS-Fuse, Tramp offers also the new +connection methods "dav", "davs", "obex" and "synce". + +** VC and related modes + +*** When using C-x v v or C-x v i on a unregistered file that is in a +directory not controlled by any VCS, ask the user what VC backend to +use to create a repository, create a new repository and register the +file. + +*** New command `vc-root-print-log', bound to `C-x v L'. +This displays a `*vc-change-log*' buffer showing the history of the +version-controlled directory tree as a whole. + +*** New command `vc-root-diff', bound to `C-x v D'. +This is similar to `vc-diff', but compares the entire directory tree +of the current VC directory with its working revision. + +*** `C-x v l' and `C-x v L' do not show the full log by default. +The number of entries shown can be chosen interactively with a prefix +argument, or by customizing vc-log-show-limit. The `*vc-change-log*' +buffer now contains buttons at the end of the buffer, which can be +used to increase the number of entries shown. RCS, SCCS, and CVS do +not support this feature. + +*** vc-annotate supports annotations through file copies and renames, +it displays the old names for the files and it can show logs/diffs for +the corresponding lines. Currently only Git and Mercurial take +advantage of this feature. + +*** The log command in vc-annotate can display a single log entry +instead of redisplaying the full log. The RCS, CVS and SCCS VC +backends do not support this. + +*** When a file is not found, VC will not try to check it out of RCS anymore. + +*** Diff and log operations can be used from Dired buffers. + +*** vc-git changes + +**** The short log format for git makes use of the graph display, +so it's not supported on git versions earlier than 1.5.6. + +**** vc-dir uses the --relative option of git, and so requires at least +git version 1.5.5. + +**** Support for operating with stashes has been added to vc-dir: +the stash list is displayed in the *vc-dir* header, stashes can be +created, removed, applied and their content displayed. + +*** vc-bzr supports operating with shelves: the shelve list is +displayed in the *vc-dir* header, shelves can be created, removed and applied. + +*** log-edit-strip-single-file-name controls whether or not single filenames +are stripped when copying text from the ChangeLog to the *VC-Log* buffer. + +** Miscellaneous + +*** Interactively `multi-isearch-buffers' and `multi-isearch-buffers-regexp' +read buffer names to search, one by one, ended with RET. With a prefix +argument, they ask for a regexp, and search in buffers whose names match +the specified regexp. Interactively `multi-isearch-files' and +`multi-isearch-files-regexp' read file names to search, one by one, +ended with RET. With a prefix argument, they ask for a wildcard, and +search in file buffers whose file names match the specified wildcard. + +*** Autorevert Tail mode now works also for remote files. + +*** The new eshell built-in commands `su' and `sudo' support Tramp. +Thus, they change `default-directory' to reflect the new user id, and +let commands run under that user's permissions. This works even when +`default-directory' is already remote. Calling the external commands +is possible via `*su' or `*sudo', respectively. + +** Obsolete packages + +*** sym-comp.el is now obsolete, superseded by completion-at-point. + +*** lucid.el and levents.el are now obsolete. + + +* New Modes and Packages in Emacs 23.2 + +** CEDET (the Collection of Emacs Development Tools) is now in Emacs. +This is a collection of packages to aid with using Emacs as an IDE +(integrated development environment): + +*** The Semantic package allows the use of parsers to intelligently +edit and navigate source code. Parsers for C/C++, Java, Javascript, +and several other languages are included by default, and Semantic can +also interface with external tools such as GNU Global and GNU Idutils. + +To enable Semantic, use the global minor mode `semantic-mode'. +See the Semantic manual for details. + +*** EDE (Emacs Development Environment) is a package for managing code +projects, including features such as automatic Makefile generation. + +To enable EDE, use the minor mode `global-ede-mode'. +See the EDE manual for details. + +*** SRecode is a library for recoding Semantic tags back into source +code. It is currently used by some parts of Semantic and EDE; in the +future, it may be used for code generation features. + +*** The EIEIO library implements a subset of the Common Lisp Object +System (CLOS). It is used by the other CEDET packages. + +** mpc.el is a front end for the Music Player Daemon. Run it with M-x mpc. + +** htmlfontify.el turns a fontified Emacs buffer into an HTML page. + +** js.el is a new major mode for JavaScript files. + +** imap-hash.el is a new library to address IMAP mailboxes as hashtables. + + +* Incompatible Lisp Changes in Emacs 23.2 + +** The Lisp reader turns integers that are too large/small into floats. +For instance, on machines where `536870911' is the largest integer, +reading `536870912' gives the floating-point object `536870912.0'. + +This change only concerns the Lisp reader; it does not affect how +actual integer objects overflow. + +** Several obsolete functions removed. +The functions have been obsolete since Emacs 19, and are unlikely to +be in use: + + time-stamp-month-dd-yyyy, time-stamp-dd/mm/yyyy, time-stamp-mon-dd-yyyy + time-stamp-dd-mon-yy, time-stamp-yy/mm/dd, time-stamp-yyyy/mm/dd, + time-stamp-yyyy-mm-dd, time-stamp-yymmdd, time-stamp-hh:mm:ss, + time-stamp-hhmm, baud-rate + +** Support for generating Emacs 18 compatible bytecode (by setting +the variable `byte-compile-compatibility') has been removed. + +** In image-mode.el `image-mode-maybe' is obsolete. +Instead, you can either use `image-mode' (which displays an image file +as the actual image initially), or `image-mode-as-text' (when you want +to display an image file as text initially). `image-mode-as-text' is a +combination of a non-image mode from `auto-mode-alist' (or Fundamental +mode) and `image-minor-mode'. `image-minor-mode' provides a `C-c C-c' +key binding to toggle image display. +`image-toggle-display-text' removes image properties. +`image-toggle-display-image' adds image properties. +`image-toggle-display' toggles between `image-mode-as-text' and `image-mode'. + + +* Lisp changes in Emacs 23.2 + +** All the default-FOO variables that hold the default value of the FOO +variable, are now declared obsolete. + +** read-key is a function halfway between read-event and read-key-sequence. +It reads a single key, but obeys input and escape sequence decoding. + +** Frame parameter changes + +*** You can give the `fullscreen' frame parameter the value `maximized'. +This maximizes the frame. + +*** The new frame parameter `sticky' makes Emacs frames sticky in +virtual desktops. + +** Completion changes + +*** completion-base-size is obsoleted by completion-base-position. +This change causes a few backward incompatibilities, mostly with +choose-completion-string-functions where the `mini-p' argument has +been replaced by a `base-position' argument, and where the `base-size' +argument is now always nil. + +*** New function `completion-in-region' to use the standard completion +facilities on a particular region of text. + +*** The 4th arg to all-completions (aka hide-spaces) is declared obsolete. + +*** completion-annotate-function specifies how to compute annotations +for completions displayed in *Completions*. + +** Minibuffer changes + +*** read-file-name-predicate is obsolete. It was used to pass the predicate +to read-file-name-internal because read-file-name-internal abused its `pred' +argument to pass the current directory, but this hack is not needed +any more. + +** Changes to file-manipulation functions + +*** `delete-directory' has an optional parameter RECURSIVE. + +*** New function `copy-directory', which copies a directory recursively. + +** called-interactively-p now takes one argument and replaces interactive-p +which is now marked obsolete. + +** New function set-advertised-calling-convention makes it possible +to obsolete arguments as well as make some arguments mandatory. + +** You can control which binding is preferentially shown in menus and +docstrings by adding a `:advertised-binding' property to the corresponding +command's symbol. That property can hold a single binding or a list +of bindings. + +** Network and process changes + +*** start-process-shell-command and start-file-process-shell-command +now only take a single `command' argument. + +*** The new variable `process-file-side-effects' should be set to nil +if a `process-file' call does not change a remote file. This allows +file name handlers such as Tramp to optimizations. + +*** make-network-process can now also create `seqpacket' Unix sockets. + +** Loading changes + +*** eval-next-after-load is obsolete. + +*** New hook `after-load-functions' run after loading an Elisp file. + +** Byte compilation changes + +*** Changing the file-names generated by byte-compilation by redefining +the function `byte-compile-dest-file' before loading bytecomp.el is obsolete. +Instead, customize byte-compile-dest-file-function. + +*** `byte-compile-warnings' has new members, `constants' and `suspicious'. + +** New macro with-silent-modifications to tweak text properties without +affecting the buffer's modification state. + +** Hash tables have a new printed representation that is readable. +The feature `hashtable-print-readable' identifies this new +functionality. + +** New functions for performing Unicode normalization: +ucs-normalize-NFD-region, ucs-normalize-NFD-string, +ucs-normalize-NFC-region, ucs-normalize-NFC-string, +ucs-normalize-NFKD-region, ucs-normalize-NFKD-string, +ucs-normalize-NFKC-region, ucs-normalize-NFKC-string, +ucs-normalize-HFS-NFD-region, ucs-normalize-HFS-NFD-string, +ucs-normalize-HFS-NFC-region, ucs-normalize-HFS-NFC-string. + +** Face aliases can now be marked as obsolete, using the macro +`define-obsolete-face-alias'. + +** New function `window-full-height-p', analogous to the full-width version. + + +* Changes in Emacs 23.2 on non-free operating systems + +** On MS-Windows, `display-time' now displays the system load average +as well as the time, as it does on GNU and Unix. + + +* Installation Changes in Emacs 23.1 + +** The default X toolkit is now Gtk+, rather than Lucid. +The configure option `--with-gtk' has been removed. Gtk is now the +default toolkit, but you can use --with-x-toolkit=gtk if necessary. + +** New font code. +Fonts are handled by new code capable of dealing with multiple font +backends. This uses the freetype and fontconfig libraries. + +*** Emacs now accepts font names supplied in the fontconfig format +(e.g. "monospace-12:bold") and GTK format (e.g. "Monospace Bold 12"). + +*** Added support for local fonts (fonts installed on the machine +where Emacs is running). + +*** Added support for the Xft library for antialiasing. + +*** Added support for the otf library for complex text layout by +OpenType fonts. + +*** Added support for the m17n library for text shaping. + +** Changes to image support + +*** configure now checks for libgif before libungif when searching for +a GIF library. + +*** Emacs now supports the SVG image format through librsvg2. + +*** Emacs now supports multi-page TIFF images. + +** New NeXTSTEP-based port. +This provides support for GNUstep (via the GNUstep libraries) and Mac +OS X (via the Cocoa libraries). + +Specify --with-ns to configure for this. By default, a self-contained +app will be built (containing all lisp). To install/share lisp with +other emacsen (e.g. X11 build) use --disable-ns-self-contained. See +nextstep/README and nextstep/INSTALL in the Emacs source directory. + +** Mac OS X is no longer supported via Carbon. +Use the NeXTSTEP port, described above. + +** The new configuration option "--with-dbus" enables D-Bus language +bindings for Emacs. + +** Support for many obsolete platforms has been removed. +See the list at the end of etc/MACHINES for details. + +*** Support for systems without alloca has been removed. + +*** Support for Sun windows has been removed. + +*** The `emacstool' utility has been removed. + +** The following platforms will be removed in a future Emacs version: +If you are still using Emacs on one of these platforms, please email +emacs-devel@gnu.org to inform the Emacs developers. + +*** Old GNU/Linux systems based on libc version 5. + +*** Old FreeBSD, NetBSD, and OpenBSD systems based on the COFF +executable format. + +*** Solaris versions 2.6 and below. + +*** Solaris on IBM RS6000 machines. + +*** UNIX System V (the original SysV, not later platforms based on it). + +*** Unixware on non-x86 machines. + +*** Platforms not supporting shared libraries (i.e., requiring the +NO_SHARED_LIBS compilation flag). + +** The configure options `--with-gcc', `--without-gcc' have been removed. +Configure will use gcc by default. Set the CC environment variable if +you need control over which C compiler is used. + +** The refcards are now shipped as PDF files. + +** The manuals are now licensed under the GNU Free Documentation License v1.3, +or any later version. + +** Emacs 23 comes with a new set of default icons. +Various resolutions are available as etc/images/icons/hicolor/*/apps/emacs.png. +The Emacs 22 icon is available as `emacs22.png' in the same location. + +* Changes in Emacs 23.1 + +** Improved X Window System support + +*** Emacs now supports using both X displays and ttys in one session. +With an Emacs server active (M-x server-start), `emacsclient -t' +creates a tty frame connected to the running emacs server. You can +use any number of different ttys. `emacsclient -c' creates a new X11 +frame on the current $DISPLAY (or a tty frame if $DISPLAY is not set). +There may be problems if a display exits unexpectedly and Emacs is compiled +with Gtk+, see etc/PROBLEMS. + +You can test for the presence of this feature in your Lisp code by +testing for the `multi-tty' feature. + +*** Emacs starts in the background, as a daemon, when given the +--daemon command line argument. It disconnects from the terminal and +starts the server. Clients can connect and create graphical or +terminal frames using emacsclient. + +**** emacsclient starts emacs in daemon mode and connects to it when +--alternate-editor="" is used (or when the evironment variable +ALTERNATE_EDITOR is set to "") and emacsclient cannot connect to an +emacs server. + +*** The new command close-display-connection closes a connection to a +remote display. There are some bugs for Gtk+. See etc/PROBLEMS. + +*** Emacs now supports the XEmbed specification. +You can embed Emacs in another application on X11. The new command line +option --parent-id is used to pass the parent window id to Emacs. See +http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html +for details about XEmbed. + +*** Emacs can now set the frame opacity. +The opacity of a frame can be controlled by setting the `alpha' frame +parameter. This only takes effect on a compositing window manager for +the X Window System, such as Compiz, Beryl and Compiz Fusion, on Mac +OS X, or on Windows 2000 and later versions of Windows. + +The alpha parameter should be an integer between 0 (transparent) and +100 (opaque), or a float number between 0.0 and 1.0. It can also be a +cons cell (ACTIVE . INACTIVE), where ACTIVE is the opacity of an +active frame and INACTIVE is the opacity of non-active frames. + +The variable `frame-alpha-lower-limit' defines a lower bound for the +opacity; the default is 20. + +** Internationalization changes + +*** The Emacs character set is now a superset of Unicode. +(It has about four times the code space, which should be plenty). + +The internal encoding used for buffers and strings is now +Unicode-based and called `utf-8-emacs' (`emacs-internal' is an alias +for this). This encoding is backward-compatible with Unicode's UTF-8 +encoding. The internal encoding previously used by Emacs, +`emacs-mule', is still available for reading and writing files. + +During byte-compilation, Emacs 23 uses `utf-8-emacs' to write files. +As a result, byte-compiled files containing non-ASCII characters can't +be read by earlier versions of Emacs. Files compiled by Emacs 20, 21, +or 22 are loaded correctly as `emacs-mule' (whether or not they +contain multibyte characters). This takes somewhat more time, so it +may be worth recompiling existing .elc files which don't need to be +shared with older Emacsen. + +*** There are new coding systems/aliases; see M-x list-coding-systems. + +*** There is a new charset implementation with many new charsets. +See M-x list-character-sets. New charsets can be defined conveniently +as tables of unicodes. + +*** There are new language environments for Chinese-GBK, +Chinese-GB18030, Khmer, Bengali, Punjabi, Gujarati, Oriya, Telugu, +Sinhala, and TaiViet. + +*** The minor modes unify-8859-on-encoding-mode and +unify-8859-on-decoding-mode are obsolete. + +*** `ucs-insert' is bound to `C-x 8 RET' and in addition to hex numbers +accepts numbers in hash notation (e.g. #o21430 for octal, or #10r8984 for +decimal). It also accepts Unicode character names with completion. + +*** The `cyrillic-translit' input method supports many new characters. +Common typographical characters available from Unicode were added to +`cyrillic-translit': punctuation marks, accented characters, fractions, +and others. + +** Emacs now supports serial port access on GNU/Linux, Unix, and +Windows. The new command `serial-term' starts an interactive terminal +on a serial port. The serial port can be configured at runtime with +the mode-line mouse menu. + +** Menu Bar changes + +*** In the Options menu, the "Set Default Font" item applies the +selected font to the `default' face on all frames, not just the +current frame. Furthermore, if Emacs is compiled with both GTK and +Fontconfig support, the "Set Default Font" item uses the GTK font +selection dialog instead of an Emacs pop-up menu. + +*** The font setting chosen by "Set Default Font" is saved if the +"Save Options" item is used. + +*** The Tools menu contains a new Encryption/Decryption submenu. +This contains commands provided by EasyPG, the newly-included +interface to GnuPG (see New Modes and Packages). + +*** In the Options menu, the "Truncate Long Lines in the Buffer" entry +has been replaced with a submenu offering three different ways to +handle long lines: truncation, continuation at the window edge, and +the new word wrapping behavior (see Editing Changes, below). + +*** Improvements to menus for major and minor modes +More major and minor modes now have a mode specific menu, and existing +mode menus have been improved to include more functionality. + +** Mode-line changes + +*** The mode-line displays a `@', instead of `-', if the +default-directory for the current buffer is on a remote machine. + +*** The mode-line displays a mode menu when mouse-1 is clicked on a +minor mode, in the same way as it already did for major modes. + +*** The `mode-line-emphasis' face is used to highlight certain +mode-line information (e.g. waiting for a VC command to finish). + +*** The mode-line tooltips have been improved to provide more details. + +*** The VC, line/colum number and minor mode indicators on the mode +line are now interactive: mouse-1 can be used on them to pop up a menu. + +** File deletion can make use of the Recycle Bin or system Trash folder. +Set `delete-by-moving-to-trash' non-nil to use this. Deleted files +and directories will then be sent to the Recycle Bin on Windows, and +to `trash-directory' on other systems. + +** Directory-local variables can now be defined. +By default, Emacs looks in .dir-locals.el for directory-local +variables. For more information, see `dir-locals-set-directory-class' +and `dir-locals-set-class-variables'. + +** Emacs can now use `auth-source' for authentication. +`smtpmail' and `url' (Tramp and Gnus also) use `auth-source' to obtain +login names and passwords. The match, if found, is reported +in *Messages* with the password blanked out. + +** `where-is-preferred-modifier' can specify your favorite modifier. + + +* Startup Changes in Emacs 23.1 + +** The option `inhibit-startup-screen' (with aliases to old names +`inhibit-splash-screen' and `inhibit-startup-message') doesn't inhibit +display of the initial message in the *scratch* buffer. If you don't +want to display the initial message in the *scratch* buffer at startup, +you can set the option `initial-scratch-message' to nil. + +** New user option `initial-buffer-choice' specifies what to display +after starting Emacs: startup screen, *scratch* buffer, visiting a +file or directory. + +** New alias `argv' for `command-line-args-left' +This is a convenience alias, so that one can write `(pop argv)' +inside of --eval command line arguments in order to access +following arguments. + +** The abbrev file is no longer read at startup in batch mode. + +** Emacs now supports invocation by an X session manager. +It can save a session and restore it later. See the documentation of +the functions `emacs-session-save' and `emacs-session-restore'. +(Actually, this feature was introduced with Emacs 22, but it was not +documented.) + +* Incompatible Editing Changes in Emacs 23.1 + +** In Dired, `dired-flag-garbage-files' is rebound from `&' to `%&' +on the regexp command prefix map. + +** In Dired-x, all command guesses for ! are now added to the default +list accessible by M-n instead of pushing all guesses temporarily into +the history list. + +** In Isearch mode, a special case of typing `C-w' at the beginning of +the minibuffer that toggles word search (i.e. using key sequences +`C-s RET C-w' or `C-s M-e C-w') is obsolete. You can use the global key +`M-s w' to start word search, or type `M-s w' in Isearch mode to +toggle word search. To start nonincremental word search you can now use +`M-s w RET' and `M-s w C-r RET' instead of `C-s RET C-w' and `C-r RET C-w'. + +** In Info, `Info-search' is unbound from `M-s' to allow using `M-s w' +for word search as well as other search commands from the global prefix +key `M-s'. `Info-search' is still bound to `s', and also incremental +search commands `C-s', `C-M-s', `C-r', `C-M-r' are available for searching +through multiple Info nodes, together with their nonincremental versions +`C-s RET', `C-r RET', `C-M-s RET', `C-M-r RET', `M-s w RET'. + +** In Text mode, `center-line' and `center-paragraph' are rebound from +`M-s' and `M-S' to global keys `M-o M-s' and `M-o M-S' on the global +prefix map `M-o', which is intended for such formatting commands. + +** The following input methods were removed in Emacs 22.2, but this was +not advertised: danish-alt-postfix, esperanto-alt-postfix, +finnish-alt-postfix, german-alt-postfix, icelandic-alt-postfix, +norwegian-alt-postfix, scandinavian-alt-postfix, spanish-alt-postfix, +and swedish-alt-postfix. Use the versions without "alt-", which are +identical. + + +* Editing Changes in Emacs 23.1 + +** The C-n and C-p line-motion commands now move by screen lines, +taking continued lines and variable-width characters into account. +Setting `line-move-visual' to nil reverts this to the previous +behavior (i.e., motion by logical lines based on buffer contents +alone). + +** C-x C-c now invokes `save-buffers-kill-terminal', and C-z now +invokes `suspend-frame'. These changes are for compatibility with the +new multi-tty support (see `Improved X Window System support' above). + +** Mark changes + +*** Transient Mark mode is now on by default. + +*** mark-even-if-inactive now defaults to t + +*** When Transient Mark mode is on, C-SPC C-SPC pushes a mark without +activating it. + +*** When Transient Mark mode is on, M-q now fills the region if the +region is active. Otherwise, it fills the current paragraph. + +*** When Transient Mark mode is on, M-$ now checks spelling of the +region if the region is active. Otherwise, it checks spelling of the +word at point. + +*** When Transient Mark mode is on, TAB now indents the region if the +region is active. + +*** The variable `use-empty-active-region' controls whether an empty +active region in Transient Mark mode should make commands operate on +that empty region. + +** Temporarily active regions + +*** The new variable shift-select-mode, non-nil by default, controls +shift-selection. When Shift Select mode is on, shift-translated +motion keys (e.g. S-left and S-down) activate and extend a temporary +region, similar to mouse-selection. + +*** Temporarily active regions, created using shift-selection or +mouse-selection, are not necessarily deactivated in the next command. +They are only deactivated after point motion commands that are not +shift-translated, or after commands that would ordinarily deactivate +the mark in Transient Mark mode (e.g., any command that modifies the +buffer). + +** Minibuffer and completion changes + +*** Emacs may ask for confirmation before opening a non-existent file +or buffer. By default, Emacs requests confirmation if you type RET +immediately after TAB, and the resulting input is not an existing file +or buffer; this usually happens when the minibuffer input did not +complete far enough and you entered RET by mistake. In that case, +Emacs puts the message "[Confirm]" in the minibuffer; type RET again +to create the file or buffer. + +The new variable confirm-nonexistent-file-or-buffer determines whether +Emacs asks for confirmation. The default value is `after-completion'. +If you change it to t, Emacs always asks for confirmation; if you +change it to nil, Emacs never asks for confirmation. + +*** The rules for performing completion have been changed. +When generating completion alternatives, Emacs now takes the +minibuffer text after point, if any, into account: this text is +treated as a substring of the remaining part of the completion +alternative (i.e., the part not matched by the minibuffer text before +point). If no completion alternatives are found this way, Emacs +attempts to perform partial-completion. If still no completion +alternatives are found, we fall back on the Emacs 22 rules for +performing completion. + +The new variable `completion-styles' can be customized to choose your +favorite completion style. + +*** When M-n in the minibuffer reaches the end of the list of defaults, +it adds the completion list to the end, so next M-n continues putting +completion items to the minibuffer. The same principle applies to +incremental search commands as well: C-s or C-M-s starts searching +the default values and after the end of defaults they continue +searching minibuffer completion items. + +*** Minibuffer input of shell commands now comes with completion. + +*** In the `C-x d' (Dired) prompt, typing M-n gives the visited file +name of the current buffer. + +*** In the M-! (shell-command) prompt, M-n provides some default commands. +These are guessed using the file extension of the current file, based +on the file-handlers specified in the operating system's `mailcap' +file. The ! command in Dired (dired-do-shell-command) works +similarly, using the file displayed on the current line. + +*** A list of regexp default values is available via M-n for `occur', +`keep-lines', `flush-lines' and `how-many'. This list includes the active +region in transient-mark-mode, the word under the cursor, the last Isearch +regexp, the last Isearch string and the last replacement regexp. + +*** When enable-recursive-minibuffers is non-nil, operations which use +switch-to-buffer (such as C-x b and C-x C-f) do not fail any more when +used in a minibuffer or a dedicated window. Instead, they fallback on +using pop-to-buffer, which will use some other window. This change +has no effect when enable-recursive-minibuffers is nil (the default). + +*** Isearch started in the minibuffer searches in the minibuffer history. +Reverse Isearch commands (C-r, C-M-r) search in previous minibuffer +history elements, and forward Isearch commands (C-s, C-M-s) search in +next history elements. When the reverse search reaches the first history +element, it wraps to the last history element, and the forward search +wraps to the first history element. When the search is terminated, the +history element containing the search string becomes the current. + +*** The variable read-file-name-completion-ignore-case overrides +completion-ignore-case for file name completion. + +*** The variable read-buffer-completion-ignore-case overrides +completion-ignore-case for buffer name completion. + +*** The new command `minibuffer-force-complete' chooses one of the +possible completions, rather than stopping at the common prefix. + +*** If `completion-auto-help' is `lazy', Emacs shows the completions +buffer only on the second attempt to complete. This was already +supported in `partial-completion-mode'. + +** Face changes + +*** S-down-mouse-1 now pops up a menu for changing the font and text +size of the default face in the current buffer. The face is changed +via face remapping (see Lisp changes, below). + +*** New commands to change the default face size in the current buffer. +To increase it, type `C-x C-+' or `C-x C-='. To decrease it, type +`C-x C--'. To restore the default (global) face size, type `C-x C-0'. +These work via Text Scale mode, a new minor mode. + +The final key in the above commands may be repeated without the +leading `C-x', e.g. `C-x C-= C-= C-=' increases the face height by +three steps. Each step scales the height of the default face by the +value of the variable `text-scale-mode-step'. + +*** The commands buffer-face-mode and buffer-face-set can be used to +remap the default face in the current buffer. See "Buffer Face mode", +under New Modes and Packages. + +** Primary selection changes + +*** You can disable kill ring commands from accessing the primary +selection by setting `x-select-enable-primary' to nil. + +** Continuation lines can now be wrapped at word boundaries +(word-wrapping). This is controlled by the new per-buffer variable +`word-wrap'. Word wrapping does not take place if continuation lines +are not shown, e.g. if truncate-lines is non-nil. The most convenient +way to enable word-wrapping is using the new minor mode Visual Line +mode; in addition to setting `word-wrap' to t, this rebinds some +editing commands to work on screen lines rather than text lines. See +New Modes and Packages, below. + +** Window management changes + +*** truncate-partial-width-windows now accepts integer values, which +specify a minimum window width for partial-width windows, below which +lines are truncated. The default has been changed to 50. + +*** The new command balance-windows-area balances windows both +vertically and horizontally. + +*** pop-to-buffer now always sets input focus when the popped-to window +is on a different frame. + +** Miscellaneous changes: + +*** C-l is bound to the new command recenter-top-bottom, rather than recenter. +This moves the current line to window center, top and bottom on +successive invocations. + +*** scroll-preserve-screen-position also preserves the column position. + +*** If `yank-pop-change-selection' is t, rotating the kill ring also +updates the selection or clipboard to the current yank, just as M-w +would do so with the text it copies to the kill ring. + +*** C-M-% now shows replacement as it would look in the buffer, with +`\N' and `\&' substituted according to the match. Old behavior can be +restored by customizing `query-replace-show-replacement'. + +*** The command shell prompts for the default directory, when it is +called with a prefix and the default directory is a remote file name. +This is because some file name handlers (like ange-ftp) are not able to +run processes remotely. + +*** The new command kill-matching-buffers kills buffers whose name +matches a regexp. + +*** The value of comment-style now defaults to `indent'. +Thefore, comment-start markers are inserted at the current indentation +of the region to comment, rather than the leftmost column. + +*** The new commands `pp-macroexpand-expression' and +`pp-macroexpand-last-sexp' pretty-print macro expansions. + +*** The new command `set-file-modes' allows to set file's mode bits. +The mode bits can be specified in symbolic notation, like with GNU +Coreutils, in addition to an octal number. `chmod' is a new +convenience alias for this function. + +*** `next-error-recenter' specifies how next-error should recenter the +visited source file. Its value can be a number (for example, 0 for +top line, -1 for bottom line), or nil for no recentering. + +*** When typing in a password in the echo area, C-y yanks the current +kill into the password. + +*** Tooltip frame parameters `font' and `color' in `tooltip-frame-parameters' +are ignored. Customize the `tooltip' face instead. + +*** `mkdir' is a new convenience alias for `make-directory'. + +* New Modes and Packages in Emacs 23.1 + +** Auto Composition Mode is a minor mode that composes characters +automatically when they are displayed. It is globally on by default. +It uses `auto-composition-function' (default `auto-compose-chars'). + +** Bubbles, a new game, is similar to SameGame. + +** Buffer Face mode is a minor mode for remapping the default face in +the current buffer. The variable `buffer-face-mode-face' specifies +the face to remap to. The command `buffer-face-set' prompts for a +face name, sets `buffer-face-mode-face' to it, and enables +buffer-face-mode. See "Face changes", under Editing Changes, for a +description of face remapping. + +** butterfly flips the desired bit on the drive platter. +See http://xkcd.com/378/ + +** bug-reference.el provides clickable links to bug reports. + +** dbus.el provides D-Bus language bindings. +D-Bus is an inter-process communication mechanism for applications +residing on the same host. See the manual for details. + +** DocView mode allows viewing of PDF, PostScript and DVI documents. +One can also search for a regular expression in the document. For +details, see the commentary in doc-view.el. + +PDF and DVI files are now opened in Doc View mode by default. + +In Postcript mode, C-c C-c launches Doc View minor mode for viewing +the postscript file. + +** EasyPG provides an interface to the GNU Privacy Guard (GnuPG). +It includes a GnuPG keyring browser, cryptographic operations on +regions and files, and automatic encryption of *.gpg files. For +details, see the EasyPG Assistant User's Manual. + +** json.el is a library for parsing and generating JSON +(JavaScript Object Notation), a lightweight data-interchange format. + +** linum.el is a new minor mode to display line numbers for the +current buffer. + +** mairix.el is an interface to mairix, a free tool for indexing and +searching locally stored mail. It allows you to query mairix and +display the search results with Rmail, Gnus and VM. Note that there +is an existing Gnus back end, nnmairix.el, which should be used with +Maildir/MH setups. + +** minibuffer-depth-indicate-mode shows the minibuffer depth in the prompt. + +** nXML Mode +This is a new mode for editing XML documents. It allows a schema to +be associated with the XML document being edited, using Relax NG as +the schema language. The schema is used to provide two key features: + +*** Continuous validation. nXML validates as you type, highlighting +any invalid parts of your document. + +*** Completion. nXML can assist you in entering an element name, +attribute name or data value by using information about what is +allowed by the schema in that context. + +** proced.el provides a Dired-like interface for operating on +processes. Proced makes an Emacs buffer containing a listing of the +current processes. You can use the normal Emacs commands to move +around in this buffer, and special Proced commands to operate on the +processes listed. It is currently only functional on GNU/Linux, +MS-Windows and Solaris. + +** Remember Mode is a mode for jotting down things to remember. +Notes can be saved to a Diary file. For details, see the Remember +Manual. + +** RST mode is a major mode for editing reStructuredText files. + +** Ruby mode is a major mode for Ruby files. + +** Visual Line mode provides support for editing by visual lines. +It turns on word-wrapping in the current buffer, and rebinds C-a, C-e, +and C-k to commands that operate by visual lines instead of logical +lines. This is a more reliable replacement for longlines-mode. +This can also be turned on using the menu bar, via +Options -> Line Wrapping in this Buffer -> Word Wrap + +** xesam.el is an implementation of Xesam, an interface to (desktop) +search engines like Beagle, Strigi, and Tracker. The Xesam API +requires D-Bus for communication. + +** zeroconf.el offers service discovery and service publishing +interfaces according to the zeroconf specification. It communicates +with Avahi, a zeroconf implementation, via D-Bus messages on systems +which have installed this software. + +** There is a new `whitespace' package. +(The pre-existing one has been renamed to `old-whitespace'.) +Now, besides reporting bogus blanks, the whitespace package has a +minor mode and a global minor mode to visualize blanks (TAB, (HARD) +SPACE and NEWLINE). The visualization is made via faces and/or display +table. It can also indicate lines that extend beyond a given column, +trailing blanks, and empty lines at the start or end of a buffer. +See `whitespace-style' for more details. The `whitespace-action' option +specifies what to do when a buffer is visited, killed, or written. + + +* Changes in Specialized Modes and Packages in Emacs 23.1 + +** Abbrev has been rewritten in Elisp and extended with more flexibility. + +*** New functions: abbrev-get, abbrev-put, abbrev-table-get, abbrev-table-put, +abbrev-table-p, abbrev-insert, abbrev-table-menu. + +*** Special hook `abbrev-expand-functions' obsoletes `pre-abbrev-expand-hook'. + +*** `make-abbrev-table', `define-abbrev', `define-abbrev-table' all take +extra arguments for arbitrary properties. + +*** New variable `abbrev-minor-mode-table-alist'. + +*** `local-abbrev-table' can hold a list of abbrev-tables. + +*** Abbrevs have now the following special properties: +`:count', `:system', `:enable-function', `:case-fixed'. + +*** Abbrev-tables have now the following special properties: +`:parents', `:case-fixed', `:enable-function', `:regexp', +`abbrev-table-modiff'. + +** Apropos + +*** `apropos-library' describes the elements defined in a given library. + +*** Set `apropos-compact-layout' is you want a more compact (but wider) layout. + +** Archive Mode has basic support to browse Rar archives. +Note, however, that the free version of the unrar command only handles +versions 1 and 2 of the Rar format. + +** BibTeX mode + +*** New command `bibtex-initialize' (re)initializes BibTeX buffers. + +*** New `bibtex-entry-format' options `whitespace', `braces', and +`string', disabled by default. + +*** New variable `bibtex-cite-matcher-alist' contains rules to +identify cited keys in BibTeX entries, used by `bibtex-find-crossref'. + +*** Command `bibtex-url' allows multiple URLs per entry. + +** Bookmarks + +*** bookmark.el saves bookmarks in a pre-Emacs-23-incompatible file format +bookmark.el can read a .emacs.bmk file saved by an older Emacs, but an +older Emacs cannot read one saved by Emacs 23. + +** Calendar and diary + +*** There is a new date style, `iso', essentially year/month/day. +The variable `european-calendar-style' is obsolete - use `calendar-date-style'. +Similarly, the commands `american-calendar' and `european-calendar' +should be replaced by `calendar-set-date-style'. + +*** The calendar namespace has been rationalized. +All functions and variables now begin with a `calendar-', `diary-', or +`holiday-' prefix. The various calendar systems have secondary +prefixes, eg `calendar-french-'. The old names you are likely to use +directly still exist, for the time being, as aliases, but please start +using the new names. + +*** The whitespace in the calendar layout can be customized. +See the variables: +calendar-left-margin, calendar-intermonth-spacing, calendar-column-width, +calendar-day-header-width, and calendar-day-digit-width. + +*** Text (e.g. ISO weeks) can be displayed between the calendar months. +See the variables calendar-intermonth-header and calendar-intermonth-text. + +*** The function `holiday-chinese' computes holidays on the Chinese calendar. +It has been used to add items to the list `holiday-oriental-holidays'. + +*** `diary-remind' accepts a negative number -DAYS as a shorthand for +the list (1 2 ... DAYS). + +** Change Log mode + +*** The new command C-c C-f (change-log-find-file) finds the file +associated with the current log entry. + +*** The new command C-c C-c (change-log-goto-source) goes to the +source code associated with a log entry. + +** Compile and grep modes + +*** The mode-line entry for the *compilation* and *grep* buffer is color coded. +It has different colors for to show that: (a) the command is still +running, (b) successful completion, (c) error. + +*** compilation-auto-jump-to-first-error tells `compile' to jump to +the first error encountered during compilations. + +*** compilation-scroll-output accepts a new value, `first-error', which +says to stop auto scrolling at the first error that occurs. + +*** The `cc' alias for C++ files in `grep-file-aliases' has been +improved. `hh' can be used to match C++ header files and `cchh' both +C++ sources and headers. + +** Copyright + +*** You can specify your copyright holders' names. +Only copyright lines with holders matching `copyright-names-regexp' are +considered for update. + +*** Copyrights can be at the end of the buffer. +This is controlled by `copyright-at-end-flag' (used by, e.g., change-log-mode). + +** Custom + +*** defcustom accepts new keyword arguments, `:safe' and `:risky', which +set a variable's `safe-local-variable' and `risky-local-variable' property. + +** Diff mode + +*** diff-refine-hunk highlights word-level details of changes in a diff hunk. +It's used automatically as you move through hunks, see +diff-auto-refine-mode. It is bound to `C-c C-b'. + +*** diff-add-change-log-entries-other-window iterates through the diff +buffer and tries to create ChangeLog entries for each change. +It is bound to `C-x 4 A'. + +*** Turning on `whitespace-mode' in a diff buffer will show trailing +whitespace problems in the modified lines. + +** Dired + +*** In Dired, C-x C-q now runs the command wdired-change-to-wdired-mode, +and C-x C-q in wdired-mode exits it with asking a question about +saving changes. + +*** `&' runs the command `dired-do-async-shell-command' that executes +the command asynchronously without the need to manually add ampersand +to the end of the command. Its output appears in the buffer `*Async Shell +Command*'. + +*** `M-s f C-s' and `M-s f M-C-s' run Isearch that matches only at file names. +When a new user option `dired-isearch-filenames' is t, then even ordinary +Isearch started with `C-s' and `C-M-s' matches only at file names in the +Dired buffer. When `dired-isearch-filenames' is `dwim' then activation of +file name Isearch depends on the position of point - if point is on a file +name initially, then Isearch matches only file names, otherwise it matches +everywhere in the Dired buffer. You can toggle file names matching on or +off by typing `M-s f' in Isearch mode. + +*** `M-s a C-s' and `M-s a M-C-s' run multi-file Isearch on the marked files. +They visit the first marked file in the sequence and display the usual Isearch +prompt for a string or a regexp where all Isearch commands are available. + +*** `Q' in Dired provides two new keys for multi-file replacement. +The upper case key `Y' replaces all remaining matches in all remaining files +with no more questions. The upper case key `N' stops doing replacements +in the current file and skips to the next file. These multi-file keys +are available for all commands that use `tags-query-replace' +including `dired-do-query-replace-regexp', `vc-dir-query-replace-regexp', +`reftex-query-replace-document'. + +** Fortran + +*** The line length of fixed-form Fortran is not fixed at 72 any more. +Customize the variable `fortran-line-length' to change it. + +*** In Fortran mode, M-; is now bound to the standard comment-dwim, +rather than fortran-indent-comment. + +*** (The increasingly misnamed) F90 mode supports Fortran 2003 syntax. + +** Gnus + +*** The Gnus package has been updated +There are many new features, bug fixes and improvements; see the file +GNUS-NEWS or the node "No Gnus" in the Gnus manual for details. + +*** In Emacs 23, Gnus uses Emacs' new internal coding system `utf-8-emacs' for +saving articles, drafts, and ~/.newsrc.eld. These file may not be read +correctly in Emacs 22 and below. If you want to Gnus across different Emacs +versions, you may set `mm-auto-save-coding-system' to `emacs-mule'. + +*** Passwords are consistently loaded through `auth-source' +Gnus can use `auth-source' for POP and IMAP passwords. Also see that +`smtpmail' and `url' support `auth-source' for SMTP and HTTP/HTTPS/RSS +authentication respectively. + +** Help mode + +*** New macro `with-help-window' should set up help windows better +than `with-output-to-temp-buffer' with `print-help-return-message'. + +*** New option `help-window-select' permits to customize whether help +window shall be automatically selected when invoking help. + +*** New variable `help-window-point-marker' permits one to specify a new +position for point in help window (for example in `view-lossage'). + +** Isearch + +*** New command `isearch-forward-word' bound globally to `M-s w' starts +incremental word search. New command `isearch-toggle-word' bound to the +same key `M-s w' in Isearch mode toggles word searching on or off +while Isearch is active. + +*** New command `isearch-highlight-regexp' bound to `M-s h r' in Isearch +mode runs `highlight-regexp' (`hi-lock-face-buffer') with the current +search string as its regexp argument. The same key `M-s h r' and +other keys on the `M-s h' prefix are bound globally to the command +`highlight-regexp' and other hi-lock commands. + +*** New command `isearch-occur' bound to `M-s o' in Isearch mode +runs `occur' with the current search string. The same key `M-s o' +is bound globally to the command `occur'. + +*** Isearch can now search through multiple ChangeLog files. +When running Isearch in a ChangeLog file, if the search fails, +then another C-s tries searching the previous ChangeLog, +if there is one (e.g. going from ChangeLog to ChangeLog.12). +This is enabled if multi-isearch-search is non-nil. + +*** Two new commands to start Isearch on a list of marked buffers +for buff-menu.el and ibuffer.el are bound to the keys `M-s a C-s' and +`M-s a M-C-s'. + +*** The part of an Isearch that failed to match is highlighted in +`isearch-fail' face. + +*** `C-h C-h' in Isearch mode displays isearch-specific Help screen, +`C-h b' displays all Isearch key bindings, `C-h k' displays the full +documentation of the given Isearch key sequence, `C-h m' displays +documentation for Isearch mode. All the other Help commands exit +Isearch mode and execute their global definitions. + +*** When started in the minibuffer, Isearch searches in the minibuffer +history. See `Minibuffer changes', above. + +** MH-E + +*** Upgraded to MH-E version 8.2. See MH-E-NEWS for details. + +** Python +*** The file etc/emacs.py now supports both Python 2 and 3, meaning +that either version can be used as inferior Python by python.el. + +*** Python mode now has `pdbtrack' functionality. When using pdb to +debug a Python program, pdbtrack notices the pdb prompt and displays +the source file and line that the program is stopped at, much the same +way as gud-mode does for debugging C programs with gdb. + +** Recentf + +*** The default value of `recentf-keep' prevents from checking of +remote files, if there is no established connection to the +corresponding remote host. + +** Rmail + +*** Rmail no longer converts the messages to Babyl format. +Instead, it uses UNIX mbox format, both on disk and in Rmail buffers, +and does conversion and decoding when a message is displayed. + +The first time you visit an Rmail file in Babyl format, Rmail +automatically converts it to mbox format. This is a one-time +conversion, but it can take a few minutes, depending on how fast is +your machine and on the size of the file. You should find the rest of +Rmail usage unaltered. + +However, M-x set-rmail-inbox-list now lasts only for one session +because there is no way to save the list of inbox files in an +mbox-format file. + +Also, whereas with Babyl format M-x find-file would switch to Rmail +mode, with mbox format this is no longer the case (there being no way +to add an "-*- rmail-*-" cookie to an mbox file). Use C-u M-x rmail +instead. + +If you have written any extensions to Rmail, they are likely to need +updating. Conceptually, the Rmail buffer that you see is no longer +just a narrowed portion of the whole. So you cannot access the whole +of a message (or message collection) by a simple save-restriction and +widen. Instead, there are two buffers: the rmail-buffer, and the +rmail-view-buffer. The former is the buffer that you see, the latter +is invisible. Most of the time, the invisible `view' buffer contains +the full contents of the Rmail file, and the Rmail buffer contains a +decoded copy of the current message (with only a subset of the +headers). In this state, Rmail is said to be `swapped'. + +You may find the following functions useful: + +`rmail-get-header' and `rmail-set-header' get or set the value of a +message header, whether or not it is currently visible. + +`rmail-apply-in-message' is a general purpose function that calls a +function (with arguments) which you specify on the full text of a given +message. To further narrow to just the headers, search forward for "\n\n". + +*** The new command `rmail-mime' displays MIME messages. +It is bound to `v' in Rmail buffers and summaries. It displays plain +text and multipart messages in a temporary buffer, and offers buttons +to save attachments. + +*** The command `rmail-redecode-body' no longer accepts the optional arg RAW. +Since Rmail now holds messages in their original undecoded form in a +separate buffer, `rmail-redecode-body' no longer encodes the original +message, and therefore there should be no need to avoid encoding it. + +*** The o command is now `rmail-output'. It is an all-purpose command +for copying messages from Rmail and appending them to files. It +handles Babyl-format files as well as mbox-format files, and it +handles both kinds properly when they are visited in Emacs. It always +copies the full headers of the message. + +*** The C-o command is now `rmail-output-as-seen'. It uses +the message as displayed, appending it to an mbox file. + +*** The modified status of the Rmail buffer is reported in the mode-line. +Previously, this information was hidden. + +** TeX modes + +*** New option latex-indent-within-escaped-parens +permits to customize indentation of LaTeX environments delimited +by escaped parens. + +** T-mouse Mode + +*** If the gpm mouse server is running and t-mouse-mode is enabled, +Emacs uses a Unix socket in a GNU/Linux console to talk to server, +rather than faking events using the client program mev. This C level +approach provides mouse highlighting and help echoing in the +minibuffer. + +** Tramp + +*** New connection methods. +The new methods "plinkx", "plink2", "psftp", "sftp" and "fish" have +been introduced. There are also new so-called gateway methods +"tunnel" and "socks". + +*** IPv6 addresses. +IPv6 addresses are supported now as host names. They must be embedded +in square brackets, like in "/ssh:[::1]:". + +*** Multihop syntax has been removed. +The pseudo-method "multi" has been removed. Instead, multi hops +can be specified by the new variable `tramp-default-proxies-alist'. + +*** More default settings. +Default values can be set via the variables `tramp-default-user', +`tramp-default-user-alist' and `tramp-default-host'. + +*** Connection information is cached. +In order to reduce connection setup, information about used +connections is kept persistently in a file. The name of this file is +defined in the variable `tramp-persistency-file-name'. + +*** Control of remote processes. +Running processes on a remote host can be controlled by settings in +`tramp-remote-path' and `tramp-remote-process-environment'. + +*** Success of remote copy is checked. +When the variable `file-precious-flag' is set, the success of a remote +file copy is checked via the file's checksum. + +*** Passwords can be read from an authentification file. +Tramp uses the package `auth-source' to read passwords from a file, if +necessary. + +** VC and related modes + +*** VC now supports applying VC operations to a set of files at a time. +This enables VC to work much more effectively with changeset-oriented +version-control systems such as Subversion, GNU Arch, Mercurial, Git +and Bzr. VC will now pass a multiple-file commit to these systems as +a single changeset. + +*** vc-dir is a new command that displays file names and their VC +status. It allows to apply various VC operations to a file, a +directory or a set of files/directories. + +*** VC switches are no longer appended, rather the first non-nil value is used. +(This was for the most part true in Emacs 22, but was not advertised). +This is because there is an increasing variety of VC systems, and they +do not all accept the same "common" options. For example, a CVS diff +command used to append the values of `vc-cvs-diff-switches', +`vc-diff-switches', and `diff-switches'. Now the first non-nil value +from that sequence is used. The special value `t' means "no switches". + +*** Clicking on the VC mode-line entry now pops the VC menu. + +*** The VC mode-line entry now has a tooltip that explains the VC file status. + +*** In VC Annotate mode, the key bindings have changed to use lower +case keys instead of the upper case keys used in the past. + +*** In VC Annotate mode, for VC systems that support changesets, you can +see the diff for the whole changeset (not only for the current file) +by typing the D key. Using the "Show changeset diff of revision at +line" menu entry does the same thing. + +*** In VC Annotate mode, you can type v to toggle the annotation visibility. + +*** In VC Annotate mode, you can type f to show the file revision on +the current line. + +*** Asynchronous VC commands display [Waiting...] in the mode-line +of the corresponding buffer as long as the asynchronous process is +active. + +*** Log entries can be modified using the key "e" in log-view. +For now only CVS, RCS, SCCS and SVN support this functionality. +This is done by the `modify-change-comment' backend function. + +*** In log-view-mode, for VC systems that support changesets, you can +see the diff for the whole changeset (not only for the current file) +by typing the D key or using the "Changeset Diff" menu entry. + +*** In Log Edit mode, C-c C-d now shows the diff for the files involved. + +*** vc-git supports the "git grep" command. + +*** VC Support for Meta-CVS has been removed for lack of a maintainer able +to update it to the new VC. + +** Miscellaneous + +*** comint-mode uses `start-file-process' now (see Lisp Changes). +If `default-directory' is a remote file name, subprocesses are started +on the corresponding remote system. + +*** Eldoc highlights the function argument under point +with the face `eldoc-highlight-function-argument'. + +*** In Etags, the --members option is now the default. +Use --no-members if you want the old default behavior of not tagging +struct members in C, members variables in C++ and variables in PHP. + +*** The `gdb' command only works with the graphical interface now. +Use `gud-gdb' if you want the (old) text command mode. + +*** goto-address.el provides two new minor modes, goto-address-mode and +goto-address-prog-mode, which buttonize URLS and email addresses. + +*** The new command `eshell/info' runs info in an eshell buffer. + +*** The new variable `ffap-rfc-directories' specifies a list of local +directories in which `ffap-rfc' will first search for RFCs. + +*** hide-ifdef-mode allows shadowing ifdef-blocks instead of hiding them. +See option `hide-ifdef-shadow' and function `hide-ifdef-toggle-shadowing'. + +*** `icomplete-prospects-height' now supercedes `icomplete-prospects-length'. + +*** Info displays breadcrumbs in the header of the page. +See Info-breadcrumbs-depth to control it. + +*** net-utils has an `iwconfig' command, similar to the existing `ifconfig'. +It is used to configure wireless interfaces. + +*** The pcmpl-unix package supports hostname completion for ssh and scp. + +*** sgml-electric-tag-pair-mode lets you simultaneously edit matched tag pairs. + +*** smerge-refine highlights word-level details of changes in conflict. +It's used automatically as you move through conflicts, see +smerge-auto-refine-mode. + +*** talk.el has been extended for multiple tty support. + +*** A new command `display-time-world' has been added to the Time +package. It creates a buffer with an updating time display using +several time zones. + +*** The appearance of superscript and subscript in TeX is more customizable. +See the documentation of the variables: tex-fontify-script, +tex-font-script-display, tex-suscript-height-ratio, and +tex-suscript-height-minimum. + +*** view-remove-frame-by-deleting is now by default t +since users found iconification of view-mode frames distracting. + +*** WoMan tries to add locale-specific manual page directories to the +search path. This can be disabled by setting `woman-locale' to nil. + + +* Changes in Emacs 23.1 on non-free operating systems + +** Case is now considered significant in completion on MS-Windows. +The default value of `completion-ignore-case' is now nil on +MS-Windows, the same as it is for other operating systems. The +variable doesn't apply to reading a file name -- in that case Emacs +heeds `read-file-name-completion-ignore-case' instead. + +** IPv6 is supported on MS-Windows. +Emacs now supports IPv6 on Windows XP and later, and earlier versions +of Windows with third party IPv6 stacks installed. In Emacs 22, IPv6 was +supported on other platforms, but not on Windows due to using the winsock +1.1 header file, even though Emacs was linking to the winsock 2 library. + +** Busy cursor (hourglass) now displays on MS-Windows. +When Emacs is busy, an hourglass mouse cursor is displayed on Windows. +In Emacs 22 only X supported the busy cursor. + +** Battery status is available on MS-Windows +Emacs can now display the battery status in the mode-line when enabled with +display-battery-mode or from the Options menu. More verbose battery +information is also available with the command `battery'. In Emacs 22 +battery status was supported only on GNU/Linux and Mac. + +** More keys available on MS-Windows. +Keys normally associated with IMEs, and some exotic keys not normally found +on standard keyboards have been given names so they can be bound to functions +inside Emacs. If there are keys on your keyboard that have not been exposed +to Emacs in the past, try C-h k to see if they are available now. + +Emacs can now bind functions to the extra buttons for media player and +browser control present on some keyboards. These buttons are disabled +by default, since enabling them prevents their system-wide use when +Emacs has focus. To enable them, set the variable +w32-pass-multimedia-buttons to nil. See the doc string of that variable +for the list of extra keys that are available. + +** BDF fonts no longer supported on MS-Windows. +The font backend was completely rewritten for this release. The focus +on Windows has been getting acceptable performance and full unicode +support, including complex script shaping for native Windows fonts. A +rewrite of the BDF font support has not happened due to lack of time +and developers. If demand still exists for such a backend even with +the improved language support for native Windows fonts, future +development in this direction will most likely be based on the +freetype library, giving access to a wider range of font formats. + + +* Incompatible Lisp Changes in Emacs 23.1 + +** Variables cannot be both buffer-local and frame-local any more. + +** `functionp' returns nil for special forms. +I.e., it only returns t for objects that can be passed to `funcall'. + +** The behavior of map-char-table has changed. It may call the +specified function with a cons (FROM . TO) as a key if characters in +that range have the same value. + +** Process changes + +*** The function `dired-call-process' has been removed. + +*** The multibyteness of process filters is now determined by the +coding-system used for decoding. The functions +`process-filter-multibyte-p' and `set-process-filter-multibyte' are +obsolete. + +** The variable `byte-compile-warnings' can now be a list starting with `not', +meaning to disable the specified warnings. The meaning of this list +may therefore be the reverse of what you expect (of course, this is +only an issue if you make use of the new `not' syntax). Rather than +checking/manipulating elements directly, use the new functions +`byte-compile-warning-enabled-p', `byte-compile-disable-warning', and +`byte-compile-enable-warning.' + +** `mode-name' is no longer guaranteed to be a string. +Use `(format-mode-line mode-name)' to ensure a string value. + +** The function x-font-family-list has been removed. +Use the new function font-family-list (see Lisp Changes, below). + +** Internationalization changes + +*** The value of the function `charset-id' is now always 0. + +*** The functions `register-char-codings' and `coding-system-spec' +have been removed. + +*** The cpXXX coding systems are now supported automatically. +The functions cp-...-codepage, which you had to use in Emacs 22 to +enable support for these coding systems, have been deleted. + +*** The following features have been removed. They were used for +displaying various scripts with specific fonts, and are no longer +needed now that OpenType font support is available: + +**** `devanagari' and `devan-util', and all associated devanagari-* and +dev-* functions and variables (formerly used for Devanagari script). + +**** `kannada' and `knd-util', and all associated kannada-* and knd-* +functions and variables (formerly used for Kannada script). + +**** `malayalam' and `mlm-util', and all associated malayalam-* and +mlm-* functions and variables (formerly used for Malayalam script). + +**** `tamil' and `tml-util, and all associated tamil-* and tml-* +functions and variables (formerly used for Tamil script). + +*** The meaning of NAME argument of `set-fontset-font' is changed. +Previously nil is accepted as the default fontset. Now, nil is for +the fontset of the selected frame and t is for the default fontset. + +*** The meaning of FONTSET argument of `print-fontset' is changed. +Now, nil is for the fontset of the selected frame and t is for the +default fontset. + +** If a function in write-region-annotate-functions returns with a +different buffer current, Emacs no longer kills that buffer +automatically. This behavior existed in previous versions of Emacs, +but was undocumented. To kill a buffer after write-region, give the +variable `write-region-post-annotation-function' a buffer-local value +of `kill-buffer'. + +** The variable temp-file-name-pattern has been removed. +This variable was only used by call-process-region, which now uses +temporary-file-directory instead. + +** The COUNT and SYSTEM-FLAG arguments to define-abbrev have been +removed. The function now takes extra arguments for specifying +arbitrary abbrev properties. + +** end-of-defun-function is now guaranteed to work only when called +from the start of a defun. It must now leave point exactly at the end +of defun, since `end-of-defun' now itself moves forward over +whitespace after calling it. + + +* Lisp Changes in Emacs 23.1 + +** The new variable `generate-autoload-cookie' controls the magic comment +string used by `update-file-autoloads' to find autoloaded forms. The +variable `generated-autoload-file' similarly controls the name of the +file where `update-file-autoloads' writes the calls to `autoload'. +The default values are ";;;###autoload" and `loaddefs.el', +respectively. + +** New primitives `list-system-processes' and `process-attributes' +let Lisp programs access the processes that are running on the local +machine. See the doc strings of these functions for more details. +Not all platforms support accessing this information; on those that +don't, these primitives will return nil. + +** New variable `user-emacs-directory'. +Use this instead of "~/.emacs.d". + +** If a local hook function has a non-nil `permanent-local-hook' +property, `kill-all-local-variables' does not remove it from the local +value of the hook variable; it remains even if you change major modes. + +** `frame-inherited-parameters' lets new frames inherit parameters from +the selected frame. + +** New keymap `input-decode-map' overrides like key-translation-map, but +applies before function-key-map. Also it is terminal-local contrary to +key-translation-map. Terminal-specific key-sequences are generally added to +this map rather than to function-key-map now. + +** `ignore-errors' is now a standard macro (does not require the CL package). + +** `interprogram-paste-function' can now return one string or a list +of strings. In the latter case, Emacs puts the second and following +strings on the kill ring. + +** In `condition-case', a handler can specify "let the debugger run first". +You do this by writing `debug' in the list of conditions to be handled, +like this: + + (condition-case nil + (foo bar) + ((debug error) nil)) + +** clone-indirect-buffer now runs the clone-indirect-buffer-hook. + +** `beginning-of-defun-function' now takes one argument, the count given to +`beginning-of-defun'. (N.B. `end-of-defun-function' doesn't take any +arguments.) + +** `file-remote-p' has new optional parameters IDENTIFICATION and CONNECTED. +IDENTIFICATION specifies which part of the remote identifier has to be +returned. With CONNECTED passed non-nil, it is checked whether a +remote connection has been established already. + +** The new macro `declare-function' suppresses compiler warnings about +undefined functions. + +** Changes to interactive function handling + +*** The new interactive spec code ^ says to first call +handle-shift-selection if shift-select-mode is non-nil, before reading +the command arguments. This is used for shift-selection (see above). + +*** Built-in functions can now have an interactive specification that +is not a prompt string. If the `intspec' parameter of a `DEFUN' +starts with a `(', the string is evaluated as a Lisp form. + +*** The interactive-form of a function can be added post-facto via the +`interactive-form' symbol property. Mostly useful to add complex +interactive forms to subroutines. + +** Region changes + +*** Commands should use `use-region-p' to test whether there is +an active region that they should operate on. + +*** `region-active-p' returns non-nil when Transient Mark mode is +enabled and the mark is active. Most commands that act specially on +the active region in Transient Mark mode should use `use-region-p' +instead of `region-active-p', because `use-region-p' obeys the new +user option `use-empty-active-region' (see Editing Changes, above). + +*** If a command sets `transient-mark-mode' to (only . OLDVAL), that +means to activate transient-mark-mode temporarily, until the next +unshifted point motion command or mark deactivation. Afterwards, +reset transient-mark-mode to the value OLDVAL. The values `only' and +`identity', introduced in Emacs 22, are now deprecated. + +** Emacs session information + +*** The new variables `before-init-time' and `after-init-time' record the +value of `current-time' before and after Emacs loads the init files. + +*** The new function `emacs-uptime' returns the uptime of an Emacs instance. + +*** The new function `emacs-init-time' returns the duration of the +Emacs initialization. + +** Changes affecting display-buffer + +*** display-buffer tries to be smarter when splitting windows. +The new option split-window-preferred-function lets you specify your own +function to pop up new windows. Its default value split-window-sensibly +can split a window either vertically or horizontally, whichever seems +more suitable in the current configuration. You can tune the behavior +of split-window-sensibly by customizing split-height-threshold and the +new option split-width-threshold. Both options now take the value nil +to inhibit splitting in one direction. Setting split-width-threshold to +nil inhibits horizontal splitting and gets you the behavior of Emacs 22 +in this respect. In any case, display-buffer may now split the largest +window vertically even when it is not as wide as the containing frame. + +*** If pop-up-frames has the value `graphic-only', display-buffer only +makes a separate frame on graphic displays. + +*** select-frame and set-frame-selected-window have a new optional +argument NORECORD. If non-nil, this will avoid messing with the order +of recently selected windows and the buffer list. + +** Window parameters can now be defined. +These are analogous to frame parameters, but are associated with +individual windows. + +*** The new functions window-parameters, window-parameter, and +set-window-parameter are used to query and set window parameters. + +** Minibuffer and completion changes + +*** A list of default values can be specified for the DEFAULT argument of +functions `read-from-minibuffer', `read-string', `read-command', +`read-variable', `read-buffer', `completing-read'. Elements of this list +are available for inserting into the minibuffer by typing `M-n'. +For empty input these functions return the first element of this list. + +*** New function `read-regexp' uses the regexp history and some useful +regexp defaults (string at point, last Isearch/replacement regexp/string) +via M-n when reading a regexp in the minibuffer. + +*** minibuffer-local-must-match-filename-map is now named +minibuffer-local-filename-must-match-map. + +*** The `require-match' argument to `completing-read' accepts the new +values `confirm-only' and `confirm-after-completion'. + +** Search and replacement changes + +*** The regexp form \(?:\) specifies the group number explicitly. + +*** New function `match-substitute-replacement' returns the result of +`replace-match' without actually using it in the buffer. + +*** The new variable `replace-search-function' determines the function +to use for searching in query-replace and replace-string. The +function it specifies is called by `perform-replace' when its 4th +argument is nil. + +*** The new variable `replace-re-search-function' determines the +function to use for searching in `query-replace-regexp', +`replace-regexp', `query-replace-regexp-eval', and +`map-query-replace-regexp'. The function it specifies is called by +`perform-replace' when its 4th argument is non-nil. + +*** New keymap `search-map' bound to `M-s' provides global bindings +for search related commands. + +*** New keymap `multi-query-replace-map' contains additonal keys bound +to `automatic-all' and `exit-current' for multi-buffer interactive replacement. + +*** The variable `inhibit-changing-match-data', if non-nil, prevents +the search and match primitives from changing the match data. + +*** New functions `word-search-forward-lax' and `word-search-backward-lax'. +These are like `word-search-forward and `word-search-backward', except +that the end of the search string need not match a word boundary, +unless it ends in whitespace. + +** File handling changes + +*** set-file-modes is now interactive and can take the mode value in +symbolic notation thanks to auxiliary functions. + +*** file-local-variables-alist stores an alist of file-local +variables defined in the current buffer. + +** Face-remapping + +*** Each face can be remapped to a different face definition using the +variable `face-remapping-alist'. This is an alist that maps faces to +replacement definitions (which can be face names, lists of face names, +or attribute/value plists. If this variable is buffer-local, the +remapping occurs only in that buffer. + +*** text-scale-mode remaps the default face to a larger or smaller +size in the current buffer. This feature is used by the Buffer Face +menu and the new `C-x C-+', `C-x C--', and `C-x C-0' commands (see +Editing Changes, above). + +*** New functions: + +**** `face-remap-add-relative' adds a face remapping entry to the +current buffer. + +**** ``face-remap-remove-relative' removes a face remapping entry from +the current buffer. + +**** `face-remap-reset-base' restores a face to its global definition. + +**** `face-remap-set-base' sets the base remapping of a face. + +** Process changes + +*** The new function `start-file-process' is similar to `start-process', +but obeys file handlers. The file handler is chosen based on +`default-directory'. The functions `start-file-process-shell-command' +and `process-file-shell-command' are also new; they call internally +`start-file-process' and `process-file', respectively. + +*** The new function `process-lines' executes an external program and +returns its output as a list of lines. + +** Character code, representation, and charset changes. + +*** In multibyte buffers and strings, characters are represented by +UTF-8 byte sequences. The character code space is now 0x0..0x3FFFFF +with no gap; code points 0x0..0x10FFFF are Unicode characters of the +same code points, while code points 0x3FFF80..0x3FFFFF are raw 8-bit +bytes. + +*** Generic characters no longer exist. + +*** The concept of a charset has changed. A single character may +belong to multiple charsets (e.g. a-grave, U+00E0, belongs to charsets +unicode, iso-8859-1, iso-8859-3, etc). + +**** The dimension of a charset is now 1, 2, 3, or 4, and the size of +each dimension is no longer limited to 94 or 96. + +**** A dynamic charset priority list is used to infer the charset of +characters for display. + +*** The functions `split-char' and `make-char' now accept up to 4 +positional codes instead of just 2. + +*** The functions `encode-char' and `decode-char' now accept any character sets. + +*** The function `define-charset' now accepts a completely different +form of arguments (old-style arguments still work). + +*** The value of the function `char-charset' depends on the current +priorities of charsets. + +*** The function get-char-code-property now accepts many Unicode base +character properties. They are `name', `general-category', +`canonical-combining-class', `bidi-class', `decomposition', +`decimal-digit-value', `digit-value', `numeric-value', `mirrored', +`old-name', `iso-10646-comment', `uppercase', `lowercase', and +`titlecase'. + +*** The functions `modify-syntax-entry' and `modify-category-entry' now +accept a cons of characters as the first argument, and modify all +entries in that range of characters. + +*** Use of `translation-table-for-input' for character code unification +is now obsolete, since Emacs 23.1 and later uses Unicode as basis for +internal representation of characters. + +*** New functions: + +**** `characterp' returns t if and only if the argument is a character. +This replaces `char-valid-p', which is now obsolete. + +**** `max-char' returns the maximum character code (currently #x3FFFFF). + +**** `define-charset-alias' defines an alias of a charset. + +**** `set-charset-priority' sets priorities of charsets. + +**** `charset-priority-list' returns a prioritized list of charsets. + +**** `unibyte-string' makes a unibyte string from bytes. + +**** `define-char-code-property' defines a character code property. + +**** `char-code-property-description' returns the description string of +a character code property. + +*** New variables: + +**** `find-word-boundary-function-table' is a char-table of functions to +search for a word boundary. + +**** `char-script-table' is a char-table of script names. + +**** `char-width-table' is a char-table of character widths. + +**** `print-charset-text-property' controls how to handle `charset' text +property on printing a string. + +**** `printable-chars' is a char-table of printable characters. + +** Code conversion changes + +*** The new function `define-coding-system' should be used to define a +coding system instead of `make-coding-system' (which is now obsolete). + +*** The functions `encode-coding-region' and `decode-coding-region' +have an optional 4th argument to specify where the result of +conversion should go. + +*** The functions `encode-coding-string' and `decode-coding-string' +have an optional 4th argument specifying a buffer to store the result +of conversion. + +*** The new variable `inhibit-null-byte-detection' controls whether to +consider text with null bytes as binary data. By default, it is +`nil', and Emacs uses `no-conversion' for any text containing null +bytes. + +*** The functions `set-coding-priority' and `make-coding-system' are obsolete. + +*** New functions: + +**** `with-coding-priority' executes Lisp code using the specified +coding system priority order. + +**** `check-coding-systems-region' checks if the text in the region is +encodable by the specified coding systems. + +**** `coding-system-aliases' returns a list of aliases of a coding system. + +**** `coding-system-charset-list' returns a list of charsets supported +by a coding system. + +**** `coding-system-priority-list' returns a list of coding systems +ordered by their priorities. + +**** `set-coding-system-priority' sets priorities of coding systems. + +**** `coding-system-from-name' returns a coding system matching with +the argument name. + +** There is a new input method, Robin, different from Quail. +It has three functionalities: + i) a simple input method (converts an ASCII sequence into a string). +ii) converts an existing buffer substring into another string +iii) reverse conversion (each character produced by a +robin rule can hold the original ASCII sequence as a char-code-property) + +*** The new function `robin-define-package' defines a Robin package. + +*** The new function `robin-modify-package' modifies an existing Robin package. + +*** The new function `robin-use-package' starts using a Robin package +as an input method. + +*** The new function `string-to-unibyte' is like `string-as-unibyte' +but signals an error if STRING contains a non-ASCII, non-eight-bit +character. + +** Changes related to the new font backend + +*** Which font backends to use can be specified by the X resource +"FontBackend". For instance, to use both X core fonts and Xft fonts: + +Emacs.FontBackend: x,xft + +If this resource is not set, Emacs tries to use all font backends +available on your graphic device. + +*** New frame parameter `font-backend' specifies a list of +font-backends supported by the frame's graphic device. On X, they are +currently `x' and `xft'. + +*** The function `set-fontset-font' now accepts a script name as the +second argument, and has an optional 5th argument to control how to +set the font. + +*** New functions: + +**** `fontp' checks if the argument is a font-spec or font-entity. + +**** `font-spec' creates a new font-spec object. + +**** `font-get' returns a font property value. + +**** `font-put' sets a font property value. + +**** `font-face-attributes' returns a plist of face attributes set by a font. + +**** `list-fonts' returns a list of font-entities matching a font spec. + +**** `find-font' returns the font-entity best matching the given font spec. + +**** `font-family-list' returns a list of family names of available fonts. + +**** `font-xlfd-name' returns an XLFD name of a given font spec, font +entity, or font object. + +**** `clear-font-cache' clears all font caches. + +** Changes related to multiple-terminal (multi-tty) support + +*** $TERM is now set to `dumb' for subprocesses. If you want to know the +$TERM inherited by Emacs you will have to look inside initial-environment. + +*** $DISPLAY is now dynamically inherited from the frame's `display'. + +*** The `window-system' variable is now frame-local. The new +`initial-window-system' variable contains the `window-system' value +for the first frame. `window-system' is also now a function that +takes a frame argument. + +*** The `keyboard-translate-table' variable and the terminal and +keyboard coding systems are now terminal-local. + +*** You can specify a terminal device (`tty' parameter) and a terminal +type (`tty-type' parameter) to `make-terminal-frame'. + +*** The function `make-frame-on-display' now works during a tty +session. + +*** A new `terminal' data type. +The functions `get-device-terminal', `terminal-parameters', +`terminal-parameter', `set-terminal-parameter' use this data type. + +*** Function key sequences are now mapped using `local-function-key-map', +a new variable. This inherits from the global variable function-key-map, +which is not used directly any more. + +*** New hooks: + +**** before-hack-local-variables-hook is called after setting new +variable file-local-variables-alist, and before actually applying the +file-local variables. + +**** `suspend-tty-functions' and `resume-tty-functions' are called +after a tty frame has been suspended or resumed, respectively. The +functions are called with the terminal id of the frame being +suspended/resumed as a parameter. + +**** The special hook `delete-terminal-functions' is called before +deleting a terminal. + +*** New functions: + +**** `delete-terminal' + +**** `suspend-tty' + +**** `resume-tty'. + +*** `initial-environment' holds the environment inherited from Emacs's parent. + +** Redisplay changes + +*** For underlined characters, the distance between the underline and +the baseline is controlled by a new variable, `underline-minimum-offset'. + +*** You can now pass the value of the `invisible' property to +invisible-p to check whether it would cause the text to be invisible. +This is convenient when checking invisibility of text with no buffer +position (e.g. in before/after-strings). + +*** `clear-image-cache' can be told to flush only images of a specific file. + +*** `vertical-motion' can now be given a goal column. +It now accepts a cons cell (COLS . LINES) in its first argument, which +says to stop, where possible, at a pixel x-position equal to COLS +times the default column width. + +*** redisplay-end-trigger-functions, set-window-redisplay-end-trigger, +and window-redisplay-end-trigger are obsolete. Use `jit-lock-register' +instead. + +*** The new variables `wrap-prefix' and `line-prefix' specify display +specs which are appended at display-time to every continuation line +and non-continuation line, respectively. In addition, Emacs +recognizes the `wrap-prefix' and `line-prefix' text or overlay +properties; these have the same effects as the variables of the same +name, but take precedence. + +** The Lisp interpreter now treats non-breaking space as whitespace. + +** Miscellaneous new functions + +*** `apply-partially' performs a "curried" application of a function. + +*** `buffer-swap-text' swaps text between two buffers. This can be +useful for modes such as tar-mode, archive-mode, RMAIL. + +*** `combine-and-quote-strings' produces a single string from a list of strings +sticking a separator string in between each pair, and quoting those +strings that include the separator as their substring. Useful for +consing shell command lines from the individual arguments. + +*** `custom-note-var-changed' tells Custom to treat the change in a +certain variable as having been made within Custom. + +*** `face-all-attributes' returns an alist describing all the basic +attributes of a given face. + +*** `format-seconds' converts a number of seconds into a readable +string of days, hours, etc. + +*** `image-refresh' refreshes all images associated with a given image +specification. + +*** `locate-user-emacs-file' helps packages to select the appropriate +place to save user-specific files. It defaults to `user-emacs-directory' +unless the file already exists at $HOME. + +*** `read-color' reads a color name using the minibuffer. + +*** `read-shell-command' does what its name says, with completion. It +uses the minibuffer-local-shell-command-map for that. + +*** `split-string-and-unquote' splits a string into a list of substrings +on the boundaries of a given delimiter, and unquotes the substrings that +are quoted. Useful for taking apart shell commands. + +*** The two new functions `looking-at-p' and `string-match-p' can do +the same matching as `looking-at' and `string-match' without changing +the match data. + +*** The two new functions `make-serial-process' and +`serial-process-configure' provide a Lisp interface to the new serial +port support (see Emacs changes, above). + +** Miscellaneous new variables + +*** `auto-save-include-big-deletions', if non-nil, means auto-save is +not turned off automatically after a big deletion. + +*** `read-circle', if nil, disables the reading of recursive Lisp +structures using the #N= and #N# syntax. + +*** `this-command-keys-shift-translated' is non-nil if the key +sequence invoking the current command was found by shift-translation. + +*** `window-point-insertion-type' determines the insertion-type of the +marker used for window-point. + +*** bookmark provides `bookmark-make-record-function' so special major +modes like Info can teach bookmark.el how to save and restore the +relevant data. + +*** `fill-forward-paragraph-function' specifies which function the +filling code should use to find paragraph boundaries. + + +* New Packages for Lisp Programming in Emacs 23.1 + +** The new package avl-tree.el deals with the AVL tree data structure. + +** The new package check-declare.el verifies the accuracy of +declare-function macros (see Lisp Changes, above). + +** find-cmd.el can build `find' commands using lisp syntax. + +** The package misearch.el has been added. It allows Isearch to search +through multiple buffers. A variable `multi-isearch-next-buffer-function' +defines the function to call to get the next buffer to search in the series +of multiple buffers. Top-level functions `multi-isearch-buffers', +`multi-isearch-buffers-regexp', `multi-isearch-files' and +`multi-isearch-files-regexp' accept a single argument that specifies +a list of buffers/files to search for a string/regexp. + +** The new major mode `special-mode' is intended as a parent for +major modes such as those that set the "'mode-class 'special" property. + + +---------------------------------------------------------------------- +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 . + + +Local variables: +mode: outline +paragraph-separate: "[ ]*$" +end: + +arch-tag: e759449d-88b3-4de4-9900-3a6c3dfa23e2 diff --cc lisp/ChangeLog index 33d5096191,f4cf656fbf..fa3bdfc378 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@@ -1,468 -1,261 +1,528 @@@ + 2010-11-09 Glenn Morris + + * progmodes/tcl.el (tcl-hairy-scan-for-comment): Doc fix. + -2010-11-08 Stefan Monnier ++2010-11-09 Stefan Monnier + + * minibuffer.el (minibuffer-completion-help): Specify the end of the + completion field (bug#7211). + + * progmodes/python.el (python-font-lock-syntactic-keywords): (bug#7322) + Fix handling of backslash escapes. + (python-quote-syntax): Adjust accordingly. + -2010-11-08 Richard Levitte (tiny change) ++2010-11-09 Richard Levitte (tiny change) ++2010-11-09 Richard Levitte (tiny patch) + + * vc-mtn.el (vc-mtn-working-revision, vc-mtn-after-dir-status) + (vc-mtn-workfile-branch): Adjust to new output format. + -2010-11-08 Stefan Monnier ++2010-11-09 Stefan Monnier + + * international/mule-cmds.el (princ-list): Mark as obsolete. + -2010-11-07 Stefan Monnier ++2010-11-09 Stefan Monnier + + * emacs-lisp/smie.el: New package. + -2010-11-06 Michael Albinus ++2010-11-09 Michael Albinus + + * files.el (backup-by-copying-when-mismatch): + Set `permanent-local' property. + + * net/tramp.el (tramp-handle-insert-file-contents): Do not set + `permanent-local' property for `backup-by-copying-when-mismatch'. + -2010-11-06 Eli Zaretskii ++2010-11-09 Eli Zaretskii + + * ls-lisp.el (insert-directory): Doc fix. (bug#7285) - (ls-lisp-classify-file): New function. - (ls-lisp-insert-directory): Call it if switches include -F (bug#6294). - (ls-lisp-classify): Call ls-lisp-classify-file. - (insert-directory): Remove blanks from switches. + -2010-11-07 Wilson Snyder ++2010-11-09 Wilson Snyder + + * progmodes/verilog-mode.el (verilog-insert-one-definition) + (verilog-read-decls, verilog-read-sub-decls-sig): Fix AUTOWIRE and + AUTOINOUT for SV style multidimensional arrays, bug294. + Reported by Eric Mastromarchi. + (verilog-preprocess): Use with-current-buffer and + font-lock-fontify-buffer to cleanup style issues. + -2010-11-05 Michael Albinus - - * net/trampver.el: Update release number. - -2010-08-01 YAMAMOTO Mitsuharu - - * mouse.el (mouse-fixup-help-message): Match "mouse-2" only at the - beginning of the string. Use `string-match-p'. (Bug#6765) - -2010-11-01 Glenn Morris ++2010-11-09 Glenn Morris + + * locate.el (locate, locate-mode): Doc fixes. + -2010-11-01 Chong Yidong ++2010-11-09 Chong Yidong + + * server.el (server-start): New arg INHIBIT-PROMPT prevents asking + user for confirmation. + (server-force-stop): Use it. + (server-start): Use server-force-stop for kill-emacs-hook, to + avoid user interaction while killing Emacs. + -2010-10-31 Stefan Monnier +2010-11-09 Glenn Morris - * vc/log-edit.el (log-edit-rewrite-fixes): New var. - (log-edit-author): New dynamic var. - (log-edit-changelog-ours-p, log-edit-insert-changelog-entries): - Use it to return the author if different from committer. - (log-edit-insert-changelog): Use them to add Author: and Fixes headers. + * progmodes/meta-mode.el: Remove leading `*' from defcustom docs. + (meta-indent-line): Simplify. + + * vc/emerge.el (emerge-line-number-in-buf): + * textmodes/ispell.el (ispell-region): + * textmodes/fill.el (current-fill-column): + * progmodes/xscheme.el (xscheme-send-current-line): + * progmodes/vhdl-mode.el (vhdl-current-line, vhdl-line-copy): + * progmodes/tcl.el (tcl-hairy-scan-for-comment): + * progmodes/sh-script.el (sh-handle-prev-do): + * progmodes/meta-mode.el (meta-indent-line): + * progmodes/idlwave.el (idlwave-goto-comment, idlwave-fill-paragraph) + (idlwave-in-quote): + * progmodes/idlw-shell.el (idlwave-shell-current-frame) + (idlwave-shell-update-bp-overlays, idlwave-shell-sources-filter): + * progmodes/fortran.el (fortran-looking-at-if-then): + * progmodes/etags.el (find-tag-in-order, etags-snarf-tag): + * progmodes/cperl-mode.el (cperl-sniff-for-indent) + (cperl-find-pods-heres): + * progmodes/ada-mode.el (ada-get-current-indent, ada-narrow-to-defun): + * net/quickurl.el (quickurl-list-insert): + * net/ldap.el (ldap-search-internal): + * net/eudc.el (eudc-expand-inline): + * mail/sendmail.el (sendmail-send-it): + * mail/mspools.el (mspools-visit-spool, mspools-get-spool-name): + * emulation/viper-cmd.el (viper-paren-match, viper-backward-indent) + (viper-brac-function): + * calc/calc-yank.el (calc-do-grab-region): + * calc/calc-keypd.el (calc-keypad-press): + * term.el (term-move-columns, term-insert-spaces): + * speedbar.el (speedbar-highlight-one-tag-line): + * simple.el (current-word): + * mouse-drag.el (mouse-drag-should-do-col-scrolling): + * info.el (Info-find-node-in-buffer-1, Info-follow-reference) + (Info-scroll-down): + * hippie-exp.el (he-line-beg): + * epa.el (epa--marked-keys): + * dired-aux.el (dired-kill-line, dired-do-kill-lines) + (dired-update-file-line, dired-add-entry, dired-remove-entry) + (dired-relist-entry): + * buff-menu.el (Buffer-menu-buffer): + * array.el (current-line): + * allout.el (allout-resolve-xref) + (allout-latex-verbatim-quote-curr-line): + Replace yet more uses of end-of-line etc with line-end-position, etc. -2010-10-31 Eli Zaretskii +2010-11-08 Stefan Monnier - * vc/vc-hooks.el (vc-default-mode-line-string): Doc fix. + * emacs-lisp/checkdoc.el (checkdoc-display-status-buffer) + (checkdoc-interactive-loop, checkdoc-recursive-edit): Avoid princ-list. + (checkdoc-syntax-table): Initialize in the declaration. + (emacs-lisp-mode-hook): Use just checkdoc-minor-mode now that it turns + the mode on unconditionally. -2010-10-31 Chong Yidong + * emacs-lisp/cl-macs.el (extent-data, extent-face, extent-priority) + (extent-end-position, extent-start-position): Remove setf method for + non-existing functions (bug#7319). - * vc/vc.el (vc-deduce-backend): New fun. Handle diff buffers. - (vc-root-diff, vc-print-root-log, vc-log-incoming) - (vc-log-outgoing): Use it. - (vc-diff-internal): Set diff-vc-backend. +2010-11-07 Stefan Monnier - * vc/diff-mode.el (diff-vc-backend): New var. + * emacs-lisp/smie.el: Simplify the smie-rules-function return values. + (smie-precs->prec2): Rename from smie-precs-precedence-table. + (smie-bnf->prec2): Rename from smie-bnf-precedence-table. + (smie-prec2->grammar): Rename from smie-prec2-levels. + (smie-grammar): Rename from smie-op-levels. + (smie-indent--hanging-p): Rename from smie-hanging-p. + (smie-rule-hanging-p): New alias. + (smie-indent--bolp): Rename from smie-bolp. + (smie-indent--hanging-p): New alias. + (smie--token): New dynamically bound variable. + (smie-indent--parent): New function. + (smie-rule-parent-p): Use it; rename from smie-parent-p. + (smie-rule-next-p): Rename from smie-next-p. + (smie-rule-prev-p): Rename from smie-prev-p. + (smie-rule-sibling-p, smie-rule-parent) + (smie-indent--separator-outdent, smie-rule-separator): New functions. + (smie-rule-separator-outdent): New var. + (smie-indent--rule): Merge with smie-indent--column. + (smie-indent-forward-token, smie-indent-backward-token): + Also recognize close parens. + (smie-indent-keyword): Don't use smie-indent--column any more. + (smie-indent-after-keyword): Ignore closers by default. + (smie-indent-line): Use with-demoted-errors. + * progmodes/octave-mod.el (octave-smie-grammar): + Rename from octave-smie-op-levels. + (octave-smie-rules): Adjust to new behavior. + * progmodes/prolog.el (prolog-smie-grammar): + Rename from prolog-smie-op-levels. + +2010-11-07 Glenn Morris + + * eshell/esh-util.el (subst-char-in-string) + (directory-files-and-attributes): These compatibility definitions are + not needed on any version of Emacs since at least 21.4. + + * progmodes/verilog-mode.el (verilog-get-beg-of-line) + (verilog-get-end-of-line): Remove. + (verilog-within-string, verilog-re-search-forward-substr) + (verilog-re-search-backward-substr, verilog-set-auto-endcomments) + (verilog-surelint-off, verilog-getopt-file, verilog-highlight-region): + Use point-at-bol, point-at-eol. + * progmodes/pascal.el (pascal-get-beg-of-line, pascal-get-end-of-line): + Remove. + (pascal-declaration-end, pascal-declaration-beg, pascal-within-string) + (electric-pascal-terminate-line, pascal-set-auto-comments) + (pascal-indent-paramlist, pascal-indent-declaration) + (pascal-get-lineup-indent, pascal-func-completion) + (pascal-get-completion-decl, pascal-var-completion, pascal-completion): + Use point-at-bol, point-at-eol. + * progmodes/flymake.el (flymake-line-beginning-position) + (flymake-line-end-position): Remove. + (flymake-highlight-line): Use point-at-bol, point-at-eol. + * eshell/esh-util.el (line-end-position, line-beginning-position): + Remove compat definitions. + + * emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine): + Use end-of-line N. + (checkdoc-this-string-valid-engine, checkdoc-file-comments-engine): + Use line-end-position. + + * emacs-lisp/chart.el (chart-zap-chars): + * play/decipher.el (decipher-set-map): + * progmodes/ada-mode.el (ada-get-current-indent) + (ada-search-ignore-string-comment, ada-tab-hard, ada-untab-hard): + * progmodes/ada-prj.el (ada-prj-load-from-file, ada-prj-display-help): + * progmodes/ada-xref.el (ada-initialize-runtime-library) + (ada-get-all-references): + * progmodes/cperl-mode.el (cperl-electric-paren) + (cperl-electric-rparen, cperl-electric-keyword, cperl-electric-else) + (cperl-linefeed, cperl-sniff-for-indent, cperl-to-comment-or-eol) + (cperl-find-pods-heres, cperl-indent-exp, cperl-fix-line-spacing) + (cperl-word-at-point-hard): + * progmodes/idlw-shell.el (idlwave-shell-move-or-history) + (idlwave-shell-filename-string, idlwave-shell-batch-command) + (idlwave-shell-display-line): + * progmodes/idlwave.el (idlwave-show-begin, idlwave-fill-paragraph) + (idlwave-calc-hanging-indent, idlwave-auto-fill, idlwave-template): + * progmodes/js.el (js--re-search-forward-inner) + (js--re-search-backward-inner): + * progmodes/vhdl-mode.el (vhdl-align-region-1, vhdl-align-region-2) + (vhdl-fix-clause, vhdl-compose-configuration-architecture): + * progmodes/ruby-mode.el (ruby-parse-partial, eval-when-compile): + * textmodes/flyspell.el (flyspell-process-localwords): + * textmodes/ispell.el (ispell-buffer-local-parsing) + (ispell-buffer-local-dict, ispell-buffer-local-words): + Use point-at-bol and point-at-eol. + + * speedbar.el (speedbar-generic-item-info) + (speedbar-item-info-tag-helper, speedbar-change-expand-button-char) + (speedbar-add-indicator, speedbar-check-vc-this-line) + (speedbar-check-obj-this-line, speedbar-extract-one-symbol) + (speedbar-buffers-line-directory, speedbar-buffer-revert-buffer): + Replace more uses of end-of-line etc with line-end-position. + +2010-11-06 Glenn Morris + + * textmodes/texnfo-upd.el (texinfo-start-menu-description) + (texinfo-update-menu-region-beginning, texinfo-menu-first-node) + (texinfo-delete-existing-pointers, texinfo-find-pointer) + (texinfo-clean-up-node-line, texinfo-insert-node-lines) + (texinfo-multiple-files-update): + * textmodes/table.el (table--probe-cell-left-up) + (table--probe-cell-right-bottom): + * textmodes/picture.el (picture-tab-search): + * textmodes/page-ext.el (pages-copy-header-and-position) + (pages-directory-for-addresses): + * progmodes/vera-mode.el (vera-get-offset): + * progmodes/simula.el (simula-calculate-indent): + * progmodes/python.el (python-pdbtrack-overlay-arrow): + * progmodes/prolog.el (end-of-prolog-clause): + * progmodes/perl-mode.el (perl-calculate-indent, perl-indent-exp): + * progmodes/icon.el (indent-icon-exp): + * progmodes/etags.el (tag-re-match-p): + * progmodes/ebrowse.el (ebrowse-show-file-name-at-point): + * progmodes/ebnf2ps.el (ebnf-begin-file): + * progmodes/dcl-mode.el (dcl-back-to-indentation-1) + (dcl-save-local-variable): + * play/life.el (life-setup): + * play/gametree.el (gametree-looking-at-ply): + * nxml/nxml-maint.el (nxml-insert-target-repertoire-glyph-set): + * mail/sendmail.el (mail-mode-auto-fill): + * emacs-lisp/lisp-mode.el (calculate-lisp-indent): + * emacs-lisp/edebug.el (edebug-overlay-arrow): + * emacs-lisp/checkdoc.el (checkdoc-this-string-valid): + * woman.el (woman-parse-numeric-value, woman2-TH, woman2-SH) + (woman-tab-to-tab-stop, WoMan-warn-ignored): + * type-break.el (type-break-file-keystroke-count): + * term.el (term-replace-by-expanded-history-before-point) + (term-skip-prompt, term-extract-string): + * speedbar.el (speedbar-edit-line, speedbar-expand-line) + (speedbar-contract-line, speedbar-toggle-line-expansion) + (speedbar-parse-c-or-c++tag, speedbar-parse-tex-string) + (speedbar-buffer-revert-buffer, speedbar-highlight-one-tag-line): + * sort.el (sort-skip-fields): + * skeleton.el (skeleton-internal-list): + * simple.el (line-move-finish, line-move-to-column): + * shell.el (shell-forward-command): + * misc.el (copy-from-above-command): + * makesum.el (double-column): + * ebuff-menu.el (electric-buffer-update-highlight): + * dired.el (dired-move-to-end-of-filename): + * dframe.el (dframe-popup-kludge): + * bookmark.el (bookmark-kill-line, bookmark-bmenu-show-filenames): + * arc-mode.el (archive-get-lineno): + Use line-end-position and line-beginning-position. + + * progmodes/idlwave.el (idlwave-routine-entry-compare-twins): + (idlwave-study-twins): Prefix dynamic local `class'. + (idlwave-routine-twin-compare): Update for above name change. + + * emacs-lisp/eieio-comp.el (byte-compile-file-form-defmethod): + Use boundp tests to silence compiler. Update for changed name of + bytecomp-filename variable. + + * emulation/viper-cmd.el (viper-read-string-with-history): + Prefix dynamic local `initial'. + (viper-minibuffer-standard-hook): Update for above name change. + + * emacs-lisp/elint.el (elint-init-env): Prefix dynamic local `env'. + (elint-init-form): Update for above name change. + + * mail/mail-extr.el (mail-extract-address-components): Give dynamic + local variables `cbeg' and `cend' a prefix. + (mail-extr-voodoo): Update for above name change. + + * textmodes/reftex-toc.el (reftex-toc-do-promote) + (reftex-toc-promote-prepare): Pass `delta' as an explicit argument. + (reftex-toc-promote-action): Doc fix. + + * textmodes/reftex-sel.el (reftex-select-item): Give local variables + `prompt', `data' a prefix. + (reftex-select-post-command-hook, reftex-select-callback) + (reftex-select-mouse-accept, reftex-select-read-cite): + Update for above name changes. + + * textmodes/reftex-ref.el (reftex-reference): Rename local variable + `refstyle' to reftex-refstyle. + (reftex-offer-label-menu): Update for above name change. + * textmodes/reftex-sel.el (reftex-select-toggle-varioref): Update for + `refstyle' name change. + + * vc/emerge.el (emerge-eval-in-buffer): Remove, and replace all uses + with with-current-buffer. + (diff, template): Give dynamic local variables a prefix. + (emerge-line-numbers): Rename local `diff' to emerge-line-diff. + (emerge-line-number-in-buf): Update for above name change. + (emerge-combine-versions-internal): Rename local `template' to + emerge-combine-template. + (emerge-combine-versions-edit): Update for above name change. + +2010-11-06 Ralf Angeli + + * textmodes/reftex-cite.el + (reftex-extract-bib-entries-from-thebibliography): Match bibitem + entries with whitespace after \bibitem. + (reftex-create-bibtex-file): Match entries containing numbers and + symbol constituents. Make sure that entries with whitespace at + various places are found. + +2010-11-05 Christian Millour (tiny change) + + * shell.el (shell-process-popd): Made aware of comint-file-name-prefix. + +2010-11-05 Jan Djärv + + * mouse.el (mouse-yank-primary): Update comment (Bug#6802). + +2010-11-05 Glenn Morris + + * woman.el (woman0-roff-buffer, woman1-roff-buffer) + (woman2-roff-buffer): Give local variable `request' a prefix. + (woman0-macro): Rename argument `request' in the same way. + (woman-request): New name for `request' dynamic variable. + (woman-unquote, woman-forward-arg): Update for above name change. + (woman1-roff-buffer): Give local variable `unquote' a prefix. + (woman1-unquote): New name for `unquote' dynamic variable. + (woman1-B-or-I, woman1-alt-fonts): Update for above name change. + (woman-translations): Rename from `translations'. No longer global. + (woman2-tr, woman-translate): Update for above name change. + (woman-translate): Check for bound variable. + (woman2-roff-buffer): Give local variable `translations' a prefix. + + * play/doctor.el: Give all local variables a prefix. Update callers. + (doc$, doctor-put-meaning): Use backquote. + + * emacs-lisp/cl-macs.el (loop): Give local variable args a prefix. + (cl-parse-loop-clause, cl-loop-handle-accum): Update for above change. + + * emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Give local + variables bytes, ptr, op a prefix. + (disassemble-offset): Update for above change. + +2010-11-03 Chong Yidong + + * emacs-lisp/package.el (package-unpack): Remove no-op. + (package--builtins, package--dir): Doc fix. + (package-activate-1, package-activate, package-install) + (package-compute-transaction): Fix error message. + (package-delete): Use delete-directory. Omit system packages. + (package-initialize): Set package-alist to nil first. + (package-menu-mark-delete, package-menu-mark-install): Don't add + symbols that are inconsistent with the package state. + (package-menu-execute): Perform deletions and installations as + single batch operations. -2010-10-31 Juri Linkov +2010-11-03 Glenn Morris - * vc/vc.el (vc-diff-internal): Set `revert-buffer-function' - buffer-locally to lambda that re-runs the vc diff command. - (Bug#6447) + * progmodes/idlwave.el (idlwave-pset): Only used on XEmacs. + (props): Remove unnecessary declaration. -2010-10-31 Dan Nicolaescu + * textmodes/ispell.el (ispell-init-process): On Emacs, always use + set-process-query-on-exit-flag. - * vc/log-view.el (log-view-mode-map): Bind revert-buffer. + * textmodes/reftex-toc.el (name1, dummy, dummy2): Remove unused decs. + (reftex-toc-do-promote): Remove unused local `mpos'. + (reftex-toc-restore-region): Make `mpos' local to this function. - Make 'g' (AKA revert-buffer) rerun VC log, log-incoming and - log-outgoing commands. - * vc/vc.el (vc-log-internal-common): Add a new argument and use it - to create a buffer local revert-buffer-function variable. - (vc-print-log-internal, vc-log-incoming, vc-log-outgoing): Pass a - revert-buffer-function lambda. + * net/dbus.el (dbus-name-owner-changed-handler): Doc fix. - Improve VC create/retrieve tag/branch. - * vc.el (vc-create-tag): Do not read the directory name for VCs - with repository revision granularity. Adjust the tag/branch - prompt. Reset VC properties. - (vc-retrieve-tag): Do not read the directory name for VCs - with repository revision granularity. Reset VC properties. + * play/landmark.el (lm-losing-threshold): Correct spelling. + (lm-human-plays): Use new name. + + * play/gomoku.el (gomoku-loosing-threshold): Correct spelling. + (gomoku-human-plays): Use new name. - Add optional support for resetting VC properties. - * vc-dispatcher.el (vc-resynch-window): Add new optional argument, - call vc-file-clearprops when true. - (vc-resynch-buffer): Add new optional argument, pass it down. - (vc-resynch-buffers-in-directory): Likewise. + * play/gomoku.el (nil-score, Xscore, XXscore, XXXscore, XXXXscore) + (Oscore, OOscore, OOOscore, OOOOscore): Rename with gomoku- prefix. + (gomoku-score-trans-table, gomoku-winning-threshold) + (gomoku-loosing-threshold, gomoku-init-score-table): Use new names. + +2010-11-03 Chong Yidong - Improve support for special markup in the VC commit message. - * vc-mtn.el (vc-mtn-checkin): Support Author: and Date: markup. - * vc-hg.el (vc-hg-checkin): Add support for Date:. - * vc-git.el (vc-git-checkin): - * vc-bzr.el (vc-bzr-checkin): Likewise. + * emacs-lisp/package.el: Don't put built-in packages in + package-alist, to avoid loading inefficiencies. + (package-built-in-p): Make VERSION optional, and treat it as a + minimum acceptable version. + (package-activate): Search separately for built-in packages. Emit + a warning if a dependency fails. + (define-package): Handle most common case, where there is no + obsolete package, first. + (package-compute-transaction): Print required version in error. + (package--initialized): New variable. + (list-packages): Use it. + (package-initialize): Optional arg NO-ACTIVATE. Don't put + built-in packages in packages-alist; keep it separate. Set + package--initialized. + (describe-package): Avoid activating packages as a side-effect. + Search separately for built-in packages. + (describe-package-1): Handle the case where an elpa package is + simultaneously built-in and available/installed. + (package-installed-p, package--generate-package-list): Search + separately for built-in packages. + (package-load-descriptor): Doc fix. - Add support for vc-log-incoming, improve vc-log-outgoing for Git. - * vc-git.el (vc-git-log-view-mode): Fix font lock for - incoming/outgoing logs. - (vc-git-log-outgoing, vc-git-log-incoming): New functions. +2010-11-03 Stefan Monnier - * vc-git.el (vc-git-log-outgoing): Use the same format as the - short log. - (vc-git-log-incoming): Likewise. Run "git fetch" before the log - command + * progmodes/perl-mode.el (perl-syntax-propertize-function): + Handle __DATA__ and __END__. - Add bindings for vc-log-incoming and vc-log-outgoing. - * vc-hooks.el (vc-prefix-map): Add bindings for vc-log-incoming - and vc-log-outgoing. - * vc-dir.el (vc-dir-menu-map): Add menu bindings for vc-log-incoming - and vc-log-outgoing. +2010-11-02 Noah Friedman - Improve state updating for VC tag commands. - * vc.el (vc-create-tag, vc-retrieve-tag): Call vc-resynch-buffer - to update the state of all buffers in the directory. + * emacs-lisp/bytecomp.el (byte-recompile-file): If bytecomp-arg is + nil, do not ask to recompile files that are not already compiled, + and do not recompile them. -2010-05-19 Glenn Morris +2010-11-02 Chong Yidong - * vc-dir.el (vc-dir): Don't pop-up-windows. (Bug#6204) + * emacs-lisp/package.el (package-initialize): Ensure that + obsoleted built-in packages are not in package-activated-list + during activation. + (describe-package-1): Make the "installed" status override + "built-in". -2010-10-31 Stefan Monnier +2010-11-01 Vinicius Jose Latorre - * vc.el (vc-checkin, vc-modify-change-comment): - Adjust to new vc-start/finish-logentry. - (vc-find-conflicted-file): New command. - (vc-transfer-file): Adjust to new vc-checkin. - (vc-next-action): Improve scoping. + * subr.el (version-separator, version-regexp-alist): Remove '*' + from docstring. + (version-list-<=, version<=, version=): Doc fix. - * vc-git.el (vc-git-checkin): Use log-edit-extract-headers. - (vc-git-commits-coding-system): Rename from git-commits-coding-system. +2010-11-01 Kenichi Handa - * vc-dispatcher.el (vc-log-edit): Shorten names for - log-edit-show-files. + * faces.el (glyphless-char): Inherit underline for tty. - * vc-bzr.el (vc-bzr-checkin): Use log-edit-extract-headers. - (vc-bzr-conflicted-files): New function. +2010-11-01 Kenichi Handa - * log-edit.el (log-edit-summary, log-edit-header) - (log-edit-unknown-header): New faces. - (log-edit-headers-alist): New var. - (log-edit-header-contents-regexp): New const. - (log-edit-match-to-eoh): New function. - (log-edit-font-lock-keywords): Use them. - (log-edit): Insert a "Summary:" header as default. - (log-edit-mode): Mark font-lock rules as case-insensitive. - (log-edit-done): Cleanup headers. - (log-edit-extract-headers): New function to replace it. + Implement various display methods for glyphless characters. - * vc-dispatcher.el (vc-finish-logentry): Don't mess so badly with - the windows/frames. + * international/characters.el (char-acronym-table): New variable. + (glyphless-char-control): New variable. + (update-glyphless-char-display): New funciton. - * vc-bzr.el (vc-bzr-shelve-apply): Don't use *vc-bzr-shelve*. + * faces.el (glyphless-char): New face. - * vc-dir.el (vc-dir-kill-line): New command. - (vc-dir-mode-map): Bind it to C-k. - (vc-dir-headers): Abbreviate the working dir. +2010-11-01 Glenn Morris - * vc-git.el (vc-git-revision-table): Include remote branches. + * calendar/holidays.el (general-holidays, oriental-holidays) + (local-holidays, other-holidays, hebrew-holidays, christian-holidays) + (islamic-holidays, bahai-holidays, solar-holidays): Move aliases before + the definitions of their targets. -2010-10-31 Dan Nicolaescu + * emacs-lisp/smie.el (smie): New custom group. + (smie-blink-matching-inners, smie-indent-basic): Add :group. - New VC methods: vc-log-incoming and vc-log-outgoing. - * vc.el (vc-print-log-setup-buttons, vc-log-internal-common) - (vc-incoming-outgoing-internal, vc-log-incoming, vc-log-outgoing): - New functions. - (vc-print-log-internal): Just call vc-log-internal-common. - (vc-log-view-type): New permanent local variable. + * faces.el (xw-defined-colors, x-setup-function-keys): + * mouse-sel.el (x-select-text): + * term/w32console.el (x-setup-function-keys): Update declarations. - * vc-hooks.el (vc-menu-map): Bind vc-log-incoming and vc-log-outgoing. + * progmodes/ruby-mode.el (ruby-syntax-propertize-heredoc): Declare. - * vc-bzr.el (vc-bzr-log-view-mode): Use vc-log-view-type instead - of the dynamic bound vc-short-log. - (vc-bzr-log-incoming, vc-bzr-log-outgoing): New functions. + * textmodes/ispell.el (comment-add): Declare. - * vc-git.el (vc-git-log-outgoing): New function. - (vc-git-log-view-mode): Use vc-log-view-type instead - of the dynamic bound vc-short-log. + * net/gnutls.el (gnutls-boot, gnutls-errorp, gnutls-error-string): + Declare. - * vc-hg.el (vc-hg-log-view-mode): Use vc-log-view-type instead of - the dynamic bound vc-short-log. Highlight the tag. - (vc-hg-log-incoming, vc-hg-log-outgoing): New functions. - (vc-hg-outgoing, vc-hg-incoming, vc-hg-outgoing-mode): - (vc-hg-incoming-mode): Remove. - (vc-hg-extra-menu-map): Do not bind vc-hg-incoming and vc-hg-outgoing. + * info.el (finder-keywords-hash, package-alist): Declare. - Fix default-directory for vc-root-diff. - * vc.el (vc-root-diff): Bind default-directory to the root - directory for the diff command. +2010-11-01 Chong Yidong -2010-10-31 Sam Steingold + * finder.el (finder-compile-keywords): Don't use intern-soft, + since package names may not yet exist in the obarray. - * vc-hg.el (vc-hg-push, vc-hg-pull): Use `apply' when calling - `vc-hg-command' with a list of flags. +2010-11-01 Chong Yidong -2010-10-31 Glenn Morris + * vc/vc-arch.el (vc-arch-checkin): + * vc/vc-cvs.el (vc-cvs-checkin): + * vc/vc-mtn.el (vc-mtn-checkin): + * vc/vc-rcs.el (vc-rcs-checkin): + * vc/vc-sccs.el (vc-sccs-checkin): + * vc/vc-svn.el (vc-svn-checkin): Remove optional extra arg, unused + since 2010-04-21 commit by Stefan Monnier. - * vc-bzr.el (vc-bzr-log-edit-mode): Add --fixes support to - log-edit-before-checkin-process. +2010-11-01 Glenn Morris - * vc.el (vc-modify-change-comment): Pass MODE to vc-start-logentry. + * emacs-lisp/bytecomp.el (byte-recompile-file): Fix previous change. - * vc-bzr.el, vc-hg.el (log-edit-mode): Declare. + * startup.el (package-enable-at-startup, package-initialize): + Silence compiler. - * vc-dispatcher.el (vc-start-logentry): Doc fix. - (log-view-process-buffer, log-edit-extra-flags): Declare. + * progmodes/ada-mode.el (ada-font-lock-syntactic-keywords): + Silence compiler. -2010-10-31 Dan Nicolaescu +2010-10-31 Julien Danjou - Add special markup processing for commit logs. - * log-edit.el (log-edit): Add new argument MODE. Use that mode - when non-nil instead of the log-view-mode. + * emacs-lisp/bytecomp.el (byte-recompile-file): New fun (bug#7297). + (byte-recompile-directory): + * emacs-lisp/lisp-mode.el (emacs-lisp-byte-compile-and-load): + Use `byte-recompile-file'. - * vc.el (vc-default-log-edit-mode): New function. +2010-10-31 Glenn Morris - * vc-dispatcher.el (vc-log-edit): Add a mode argument, pass it to - log-edit. + * cus-start.el: Handle standard values via a keyword. + Only set version property if specified. + (cursor-in-non-selected-windows, menu-bar-mode) + (tool-bar-mode, show-trailing-whitespace): + Do not specify standard values. + (transient-mark-mode, temporary-file-directory): Use :standard. - Support for shelving snapshots and for showing shelves. - * vc-bzr.el (vc-bzr-shelve-show, vc-bzr-shelve-show-at-point) - (vc-bzr-shelve-apply-and-keep-at-point, vc-bzr-shelve-snapshot): - New functions. - (vc-bzr-shelve-map, vc-bzr-shelve-menu-map) - (vc-bzr-extra-menu-map): Map them. +2010-10-31 Jan Djärv -2010-10-30 Michael Albinus + * term/x-win.el (x-get-selection-value): New function that gets + PRIMARY with type as specified in x-select-request-type. (Bug#6802). + +2010-10-31 Michael Albinus * net/tramp.el (tramp-handle-insert-file-contents): For root, preserve owner and group when editing files. (Bug#7289) diff --cc lisp/Makefile.in index 2b2081a25d,dd93ec44e9..7c42d1a94b --- a/lisp/Makefile.in +++ b/lisp/Makefile.in @@@ -180,6 -180,1289 +180,7 @@@ TAGS TAGS-LISP: $(lisptagsfiles1) $(lis els=`echo $(lisptagsfiles1) $(lisptagsfiles2) $(lisptagsfiles3) $(lisptagsfiles4) | sed -e "s,$(lisp)/[^ ]*loaddefs[^ ]*,," -e "s,$(lisp)/ldefs-boot[^ ]*,,"`; \ ${ETAGS} -o $@ $$els -.PHONY: update-elclist - -## Post-bootstrap, find the list of .elc files and use sed to update -## ELCFILES in Makefile.in. -## Errors in the final sed are non-fatal, since they have no effect on -## building Emacs. chmod +w is for CVSREAD=1. -## "echo" is non-portable with regards to backslashes, eg between zsh -## and bash. Hence the use of sed on line 2 below (line 1 seems to be OK). -## http://lists.gnu.org/archive/html/emacs-devel/2008-05/msg01535.html -update-elclist: - echo "/^ELCFILES/,/^$$/c\\" > temp.sed - echo "ELCFILES =" | sed -e 's/$$/ \\\\\\/' >> temp.sed - LC_COLLATE=C ls $(lisp)/*.elc $(lisp)/*/*.elc $(lisp)/*/*/*.elc $(lisp)/*/*/*/*.elc | sed -e "s|^$(lisp)| \$$(lisp)|" -e 's/$$/ \\\\\\/' -e '$$ s/ \\\\//' >> temp.sed - echo "" >> temp.sed - -sed -f temp.sed $(lisp)/Makefile.in > temp-elcfiles || rm temp-elcfiles - rm temp.sed - @test -f temp-elcfiles || echo "Maintainer warning: failed to update Makefile.in. You can ignore this if you are not an Emacs developer." - if test -f temp-elcfiles; then \ - chmod +w $(lisp)/Makefile.in; \ - mv -f temp-elcfiles $(lisp)/Makefile.in; \ - fi - -(LC_COLLATE=C ls $(lisp)/*.elc $(lisp)/*/*.elc $(lisp)/*/*/*.elc $(lisp)/*/*/*/*.elc | sed 's/elc$$/el/'; \ - LC_COLLATE=C ls $(lisp)/*.el $(lisp)/*/*.el $(lisp)/*/*/*.el $(lisp)/*/*/*/*.el; \ - LC_COLLATE=C ls $(lisp)/*.el $(lisp)/*/*.el $(lisp)/*/*/*.el $(lisp)/*/*/*/*.el) | \ - sort | uniq -u | while read extra; do \ - echo "Found left over byte-compiled file: $${extra}c !!" ;\ - done - -## Explicitly list the .elc files, for the sake of parallel builds. -## http://lists.gnu.org/archive/html/bug-gnu-emacs/2008-05/msg00016.html -## This can probably be done more elegantly, but needs to be portable. -ELCFILES = \ - $(lisp)/abbrev.elc \ - $(lisp)/abbrevlist.elc \ - $(lisp)/add-log.elc \ - $(lisp)/align.elc \ - $(lisp)/allout.elc \ - $(lisp)/ansi-color.elc \ - $(lisp)/apropos.elc \ - $(lisp)/arc-mode.elc \ - $(lisp)/array.elc \ - $(lisp)/autoarg.elc \ - $(lisp)/autoinsert.elc \ - $(lisp)/autorevert.elc \ - $(lisp)/avoid.elc \ - $(lisp)/battery.elc \ - $(lisp)/bindings.elc \ - $(lisp)/bookmark.elc \ - $(lisp)/bs.elc \ - $(lisp)/buff-menu.elc \ - $(lisp)/button.elc \ - $(lisp)/calc/calc-aent.elc \ - $(lisp)/calc/calc-alg.elc \ - $(lisp)/calc/calc-arith.elc \ - $(lisp)/calc/calc-bin.elc \ - $(lisp)/calc/calc-comb.elc \ - $(lisp)/calc/calc-cplx.elc \ - $(lisp)/calc/calc-embed.elc \ - $(lisp)/calc/calc-ext.elc \ - $(lisp)/calc/calc-fin.elc \ - $(lisp)/calc/calc-forms.elc \ - $(lisp)/calc/calc-frac.elc \ - $(lisp)/calc/calc-funcs.elc \ - $(lisp)/calc/calc-graph.elc \ - $(lisp)/calc/calc-help.elc \ - $(lisp)/calc/calc-incom.elc \ - $(lisp)/calc/calc-keypd.elc \ - $(lisp)/calc/calc-lang.elc \ - $(lisp)/calc/calc-macs.elc \ - $(lisp)/calc/calc-map.elc \ - $(lisp)/calc/calc-math.elc \ - $(lisp)/calc/calc-menu.elc \ - $(lisp)/calc/calc-misc.elc \ - $(lisp)/calc/calc-mode.elc \ - $(lisp)/calc/calc-mtx.elc \ - $(lisp)/calc/calc-nlfit.elc \ - $(lisp)/calc/calc-poly.elc \ - $(lisp)/calc/calc-prog.elc \ - $(lisp)/calc/calc-rewr.elc \ - $(lisp)/calc/calc-rules.elc \ - $(lisp)/calc/calc-sel.elc \ - $(lisp)/calc/calc-stat.elc \ - $(lisp)/calc/calc-store.elc \ - $(lisp)/calc/calc-stuff.elc \ - $(lisp)/calc/calc-trail.elc \ - $(lisp)/calc/calc-undo.elc \ - $(lisp)/calc/calc-units.elc \ - $(lisp)/calc/calc-vec.elc \ - $(lisp)/calc/calc-yank.elc \ - $(lisp)/calc/calc.elc \ - $(lisp)/calc/calcalg2.elc \ - $(lisp)/calc/calcalg3.elc \ - $(lisp)/calc/calccomp.elc \ - $(lisp)/calc/calcsel2.elc \ - $(lisp)/calculator.elc \ - $(lisp)/calendar/appt.elc \ - $(lisp)/calendar/cal-bahai.elc \ - $(lisp)/calendar/cal-china.elc \ - $(lisp)/calendar/cal-coptic.elc \ - $(lisp)/calendar/cal-dst.elc \ - $(lisp)/calendar/cal-french.elc \ - $(lisp)/calendar/cal-hebrew.elc \ - $(lisp)/calendar/cal-html.elc \ - $(lisp)/calendar/cal-islam.elc \ - $(lisp)/calendar/cal-iso.elc \ - $(lisp)/calendar/cal-julian.elc \ - $(lisp)/calendar/cal-mayan.elc \ - $(lisp)/calendar/cal-menu.elc \ - $(lisp)/calendar/cal-move.elc \ - $(lisp)/calendar/cal-persia.elc \ - $(lisp)/calendar/cal-tex.elc \ - $(lisp)/calendar/cal-x.elc \ - $(lisp)/calendar/calendar.elc \ - $(lisp)/calendar/diary-lib.elc \ - $(lisp)/calendar/holidays.elc \ - $(lisp)/calendar/icalendar.elc \ - $(lisp)/calendar/lunar.elc \ - $(lisp)/calendar/parse-time.elc \ - $(lisp)/calendar/solar.elc \ - $(lisp)/calendar/time-date.elc \ - $(lisp)/calendar/timeclock.elc \ - $(lisp)/calendar/todo-mode.elc \ - $(lisp)/case-table.elc \ - $(lisp)/cdl.elc \ - $(lisp)/cedet/cedet-cscope.elc \ - $(lisp)/cedet/cedet-files.elc \ - $(lisp)/cedet/cedet-global.elc \ - $(lisp)/cedet/cedet-idutils.elc \ - $(lisp)/cedet/cedet.elc \ - $(lisp)/cedet/data-debug.elc \ - $(lisp)/cedet/ede.elc \ - $(lisp)/cedet/ede/auto.elc \ - $(lisp)/cedet/ede/autoconf-edit.elc \ - $(lisp)/cedet/ede/base.elc \ - $(lisp)/cedet/ede/cpp-root.elc \ - $(lisp)/cedet/ede/custom.elc \ - $(lisp)/cedet/ede/dired.elc \ - $(lisp)/cedet/ede/emacs.elc \ - $(lisp)/cedet/ede/files.elc \ - $(lisp)/cedet/ede/generic.elc \ - $(lisp)/cedet/ede/linux.elc \ - $(lisp)/cedet/ede/locate.elc \ - $(lisp)/cedet/ede/make.elc \ - $(lisp)/cedet/ede/makefile-edit.elc \ - $(lisp)/cedet/ede/pconf.elc \ - $(lisp)/cedet/ede/pmake.elc \ - $(lisp)/cedet/ede/proj-archive.elc \ - $(lisp)/cedet/ede/proj-aux.elc \ - $(lisp)/cedet/ede/proj-comp.elc \ - $(lisp)/cedet/ede/proj-elisp.elc \ - $(lisp)/cedet/ede/proj-info.elc \ - $(lisp)/cedet/ede/proj-misc.elc \ - $(lisp)/cedet/ede/proj-obj.elc \ - $(lisp)/cedet/ede/proj-prog.elc \ - $(lisp)/cedet/ede/proj-scheme.elc \ - $(lisp)/cedet/ede/proj-shared.elc \ - $(lisp)/cedet/ede/proj.elc \ - $(lisp)/cedet/ede/project-am.elc \ - $(lisp)/cedet/ede/shell.elc \ - $(lisp)/cedet/ede/simple.elc \ - $(lisp)/cedet/ede/source.elc \ - $(lisp)/cedet/ede/speedbar.elc \ - $(lisp)/cedet/ede/srecode.elc \ - $(lisp)/cedet/ede/system.elc \ - $(lisp)/cedet/ede/util.elc \ - $(lisp)/cedet/inversion.elc \ - $(lisp)/cedet/mode-local.elc \ - $(lisp)/cedet/pulse.elc \ - $(lisp)/cedet/semantic.elc \ - $(lisp)/cedet/semantic/analyze.elc \ - $(lisp)/cedet/semantic/analyze/complete.elc \ - $(lisp)/cedet/semantic/analyze/debug.elc \ - $(lisp)/cedet/semantic/analyze/fcn.elc \ - $(lisp)/cedet/semantic/analyze/refs.elc \ - $(lisp)/cedet/semantic/bovine.elc \ - $(lisp)/cedet/semantic/bovine/c-by.elc \ - $(lisp)/cedet/semantic/bovine/c.elc \ - $(lisp)/cedet/semantic/bovine/debug.elc \ - $(lisp)/cedet/semantic/bovine/el.elc \ - $(lisp)/cedet/semantic/bovine/gcc.elc \ - $(lisp)/cedet/semantic/bovine/make-by.elc \ - $(lisp)/cedet/semantic/bovine/make.elc \ - $(lisp)/cedet/semantic/bovine/scm-by.elc \ - $(lisp)/cedet/semantic/bovine/scm.elc \ - $(lisp)/cedet/semantic/chart.elc \ - $(lisp)/cedet/semantic/complete.elc \ - $(lisp)/cedet/semantic/ctxt.elc \ - $(lisp)/cedet/semantic/db-debug.elc \ - $(lisp)/cedet/semantic/db-ebrowse.elc \ - $(lisp)/cedet/semantic/db-el.elc \ - $(lisp)/cedet/semantic/db-file.elc \ - $(lisp)/cedet/semantic/db-find.elc \ - $(lisp)/cedet/semantic/db-global.elc \ - $(lisp)/cedet/semantic/db-javascript.elc \ - $(lisp)/cedet/semantic/db-mode.elc \ - $(lisp)/cedet/semantic/db-ref.elc \ - $(lisp)/cedet/semantic/db-typecache.elc \ - $(lisp)/cedet/semantic/db.elc \ - $(lisp)/cedet/semantic/debug.elc \ - $(lisp)/cedet/semantic/decorate.elc \ - $(lisp)/cedet/semantic/decorate/include.elc \ - $(lisp)/cedet/semantic/decorate/mode.elc \ - $(lisp)/cedet/semantic/dep.elc \ - $(lisp)/cedet/semantic/doc.elc \ - $(lisp)/cedet/semantic/ede-grammar.elc \ - $(lisp)/cedet/semantic/edit.elc \ - $(lisp)/cedet/semantic/find.elc \ - $(lisp)/cedet/semantic/format.elc \ - $(lisp)/cedet/semantic/fw.elc \ - $(lisp)/cedet/semantic/grammar-wy.elc \ - $(lisp)/cedet/semantic/grammar.elc \ - $(lisp)/cedet/semantic/html.elc \ - $(lisp)/cedet/semantic/ia-sb.elc \ - $(lisp)/cedet/semantic/ia.elc \ - $(lisp)/cedet/semantic/idle.elc \ - $(lisp)/cedet/semantic/imenu.elc \ - $(lisp)/cedet/semantic/java.elc \ - $(lisp)/cedet/semantic/lex-spp.elc \ - $(lisp)/cedet/semantic/lex.elc \ - $(lisp)/cedet/semantic/mru-bookmark.elc \ - $(lisp)/cedet/semantic/sb.elc \ - $(lisp)/cedet/semantic/scope.elc \ - $(lisp)/cedet/semantic/senator.elc \ - $(lisp)/cedet/semantic/sort.elc \ - $(lisp)/cedet/semantic/symref.elc \ - $(lisp)/cedet/semantic/symref/cscope.elc \ - $(lisp)/cedet/semantic/symref/filter.elc \ - $(lisp)/cedet/semantic/symref/global.elc \ - $(lisp)/cedet/semantic/symref/grep.elc \ - $(lisp)/cedet/semantic/symref/idutils.elc \ - $(lisp)/cedet/semantic/symref/list.elc \ - $(lisp)/cedet/semantic/tag-file.elc \ - $(lisp)/cedet/semantic/tag-ls.elc \ - $(lisp)/cedet/semantic/tag-write.elc \ - $(lisp)/cedet/semantic/tag.elc \ - $(lisp)/cedet/semantic/texi.elc \ - $(lisp)/cedet/semantic/util-modes.elc \ - $(lisp)/cedet/semantic/util.elc \ - $(lisp)/cedet/semantic/wisent.elc \ - $(lisp)/cedet/semantic/wisent/comp.elc \ - $(lisp)/cedet/semantic/wisent/java-tags.elc \ - $(lisp)/cedet/semantic/wisent/javascript.elc \ - $(lisp)/cedet/semantic/wisent/javat-wy.elc \ - $(lisp)/cedet/semantic/wisent/js-wy.elc \ - $(lisp)/cedet/semantic/wisent/python-wy.elc \ - $(lisp)/cedet/semantic/wisent/python.elc \ - $(lisp)/cedet/semantic/wisent/wisent.elc \ - $(lisp)/cedet/srecode.elc \ - $(lisp)/cedet/srecode/args.elc \ - $(lisp)/cedet/srecode/compile.elc \ - $(lisp)/cedet/srecode/cpp.elc \ - $(lisp)/cedet/srecode/ctxt.elc \ - $(lisp)/cedet/srecode/dictionary.elc \ - $(lisp)/cedet/srecode/document.elc \ - $(lisp)/cedet/srecode/el.elc \ - $(lisp)/cedet/srecode/expandproto.elc \ - $(lisp)/cedet/srecode/extract.elc \ - $(lisp)/cedet/srecode/fields.elc \ - $(lisp)/cedet/srecode/filters.elc \ - $(lisp)/cedet/srecode/find.elc \ - $(lisp)/cedet/srecode/getset.elc \ - $(lisp)/cedet/srecode/insert.elc \ - $(lisp)/cedet/srecode/java.elc \ - $(lisp)/cedet/srecode/map.elc \ - $(lisp)/cedet/srecode/mode.elc \ - $(lisp)/cedet/srecode/semantic.elc \ - $(lisp)/cedet/srecode/srt-mode.elc \ - $(lisp)/cedet/srecode/srt-wy.elc \ - $(lisp)/cedet/srecode/srt.elc \ - $(lisp)/cedet/srecode/table.elc \ - $(lisp)/cedet/srecode/template.elc \ - $(lisp)/cedet/srecode/texi.elc \ - $(lisp)/chistory.elc \ - $(lisp)/cmuscheme.elc \ - $(lisp)/comint.elc \ - $(lisp)/compare-w.elc \ - $(lisp)/complete.elc \ - $(lisp)/completion.elc \ - $(lisp)/composite.elc \ - $(lisp)/cus-dep.elc \ - $(lisp)/cus-edit.elc \ - $(lisp)/cus-face.elc \ - $(lisp)/cus-start.elc \ - $(lisp)/cus-theme.elc \ - $(lisp)/custom.elc \ - $(lisp)/cvs-status.elc \ - $(lisp)/dabbrev.elc \ - $(lisp)/delim-col.elc \ - $(lisp)/delsel.elc \ - $(lisp)/descr-text.elc \ - $(lisp)/desktop.elc \ - $(lisp)/dframe.elc \ - $(lisp)/diff-mode.elc \ - $(lisp)/diff.elc \ - $(lisp)/dired-aux.elc \ - $(lisp)/dired-x.elc \ - $(lisp)/dired.elc \ - $(lisp)/dirtrack.elc \ - $(lisp)/disp-table.elc \ - $(lisp)/dnd.elc \ - $(lisp)/doc-view.elc \ - $(lisp)/dos-fns.elc \ - $(lisp)/dos-vars.elc \ - $(lisp)/dos-w32.elc \ - $(lisp)/double.elc \ - $(lisp)/ebuff-menu.elc \ - $(lisp)/echistory.elc \ - $(lisp)/ediff-diff.elc \ - $(lisp)/ediff-help.elc \ - $(lisp)/ediff-hook.elc \ - $(lisp)/ediff-init.elc \ - $(lisp)/ediff-merg.elc \ - $(lisp)/ediff-mult.elc \ - $(lisp)/ediff-ptch.elc \ - $(lisp)/ediff-util.elc \ - $(lisp)/ediff-vers.elc \ - $(lisp)/ediff-wind.elc \ - $(lisp)/ediff.elc \ - $(lisp)/edmacro.elc \ - $(lisp)/ehelp.elc \ - $(lisp)/electric.elc \ - $(lisp)/elide-head.elc \ - $(lisp)/emacs-lisp/advice.elc \ - $(lisp)/emacs-lisp/assoc.elc \ - $(lisp)/emacs-lisp/authors.elc \ - $(lisp)/emacs-lisp/autoload.elc \ - $(lisp)/emacs-lisp/avl-tree.elc \ - $(lisp)/emacs-lisp/backquote.elc \ - $(lisp)/emacs-lisp/benchmark.elc \ - $(lisp)/emacs-lisp/bindat.elc \ - $(lisp)/emacs-lisp/byte-opt.elc \ - $(lisp)/emacs-lisp/byte-run.elc \ - $(lisp)/emacs-lisp/bytecomp.elc \ - $(lisp)/emacs-lisp/chart.elc \ - $(lisp)/emacs-lisp/check-declare.elc \ - $(lisp)/emacs-lisp/checkdoc.elc \ - $(lisp)/emacs-lisp/cl-extra.elc \ - $(lisp)/emacs-lisp/cl-indent.elc \ - $(lisp)/emacs-lisp/cl-macs.elc \ - $(lisp)/emacs-lisp/cl-seq.elc \ - $(lisp)/emacs-lisp/cl.elc \ - $(lisp)/emacs-lisp/copyright.elc \ - $(lisp)/emacs-lisp/crm.elc \ - $(lisp)/emacs-lisp/cust-print.elc \ - $(lisp)/emacs-lisp/debug.elc \ - $(lisp)/emacs-lisp/derived.elc \ - $(lisp)/emacs-lisp/disass.elc \ - $(lisp)/emacs-lisp/easy-mmode.elc \ - $(lisp)/emacs-lisp/easymenu.elc \ - $(lisp)/emacs-lisp/edebug.elc \ - $(lisp)/emacs-lisp/eieio-base.elc \ - $(lisp)/emacs-lisp/eieio-comp.elc \ - $(lisp)/emacs-lisp/eieio-custom.elc \ - $(lisp)/emacs-lisp/eieio-datadebug.elc \ - $(lisp)/emacs-lisp/eieio-opt.elc \ - $(lisp)/emacs-lisp/eieio-speedbar.elc \ - $(lisp)/emacs-lisp/eieio.elc \ - $(lisp)/emacs-lisp/eldoc.elc \ - $(lisp)/emacs-lisp/elint.elc \ - $(lisp)/emacs-lisp/elp.elc \ - $(lisp)/emacs-lisp/ewoc.elc \ - $(lisp)/emacs-lisp/find-func.elc \ - $(lisp)/emacs-lisp/find-gc.elc \ - $(lisp)/emacs-lisp/float-sup.elc \ - $(lisp)/emacs-lisp/generic.elc \ - $(lisp)/emacs-lisp/gulp.elc \ - $(lisp)/emacs-lisp/helper.elc \ - $(lisp)/emacs-lisp/lisp-mnt.elc \ - $(lisp)/emacs-lisp/lisp-mode.elc \ - $(lisp)/emacs-lisp/lisp.elc \ - $(lisp)/emacs-lisp/macroexp.elc \ - $(lisp)/emacs-lisp/map-ynp.elc \ - $(lisp)/emacs-lisp/pp.elc \ - $(lisp)/emacs-lisp/re-builder.elc \ - $(lisp)/emacs-lisp/regexp-opt.elc \ - $(lisp)/emacs-lisp/regi.elc \ - $(lisp)/emacs-lisp/ring.elc \ - $(lisp)/emacs-lisp/rx.elc \ - $(lisp)/emacs-lisp/shadow.elc \ + $(lisp)/emacs-lisp/smie.elc \ - $(lisp)/emacs-lisp/sregex.elc \ - $(lisp)/emacs-lisp/syntax.elc \ - $(lisp)/emacs-lisp/tcover-ses.elc \ - $(lisp)/emacs-lisp/tcover-unsafep.elc \ - $(lisp)/emacs-lisp/testcover.elc \ - $(lisp)/emacs-lisp/timer.elc \ - $(lisp)/emacs-lisp/tq.elc \ - $(lisp)/emacs-lisp/trace.elc \ - $(lisp)/emacs-lisp/unsafep.elc \ - $(lisp)/emacs-lisp/warnings.elc \ - $(lisp)/emacs-lock.elc \ - $(lisp)/emerge.elc \ - $(lisp)/emulation/crisp.elc \ - $(lisp)/emulation/cua-base.elc \ - $(lisp)/emulation/cua-gmrk.elc \ - $(lisp)/emulation/cua-rect.elc \ - $(lisp)/emulation/edt-lk201.elc \ - $(lisp)/emulation/edt-mapper.elc \ - $(lisp)/emulation/edt-pc.elc \ - $(lisp)/emulation/edt-vt100.elc \ - $(lisp)/emulation/edt.elc \ - $(lisp)/emulation/keypad.elc \ - $(lisp)/emulation/pc-mode.elc \ - $(lisp)/emulation/pc-select.elc \ - $(lisp)/emulation/tpu-edt.elc \ - $(lisp)/emulation/tpu-extras.elc \ - $(lisp)/emulation/tpu-mapper.elc \ - $(lisp)/emulation/vi.elc \ - $(lisp)/emulation/vip.elc \ - $(lisp)/emulation/viper-cmd.elc \ - $(lisp)/emulation/viper-ex.elc \ - $(lisp)/emulation/viper-init.elc \ - $(lisp)/emulation/viper-keym.elc \ - $(lisp)/emulation/viper-macs.elc \ - $(lisp)/emulation/viper-mous.elc \ - $(lisp)/emulation/viper-util.elc \ - $(lisp)/emulation/viper.elc \ - $(lisp)/emulation/ws-mode.elc \ - $(lisp)/env.elc \ - $(lisp)/epa-dired.elc \ - $(lisp)/epa-file.elc \ - $(lisp)/epa-hook.elc \ - $(lisp)/epa-mail.elc \ - $(lisp)/epa.elc \ - $(lisp)/epg-config.elc \ - $(lisp)/epg.elc \ - $(lisp)/erc/erc-autoaway.elc \ - $(lisp)/erc/erc-backend.elc \ - $(lisp)/erc/erc-button.elc \ - $(lisp)/erc/erc-capab.elc \ - $(lisp)/erc/erc-compat.elc \ - $(lisp)/erc/erc-dcc.elc \ - $(lisp)/erc/erc-ezbounce.elc \ - $(lisp)/erc/erc-fill.elc \ - $(lisp)/erc/erc-goodies.elc \ - $(lisp)/erc/erc-hecomplete.elc \ - $(lisp)/erc/erc-ibuffer.elc \ - $(lisp)/erc/erc-identd.elc \ - $(lisp)/erc/erc-imenu.elc \ - $(lisp)/erc/erc-join.elc \ - $(lisp)/erc/erc-lang.elc \ - $(lisp)/erc/erc-list.elc \ - $(lisp)/erc/erc-log.elc \ - $(lisp)/erc/erc-match.elc \ - $(lisp)/erc/erc-menu.elc \ - $(lisp)/erc/erc-netsplit.elc \ - $(lisp)/erc/erc-networks.elc \ - $(lisp)/erc/erc-notify.elc \ - $(lisp)/erc/erc-page.elc \ - $(lisp)/erc/erc-pcomplete.elc \ - $(lisp)/erc/erc-replace.elc \ - $(lisp)/erc/erc-ring.elc \ - $(lisp)/erc/erc-services.elc \ - $(lisp)/erc/erc-sound.elc \ - $(lisp)/erc/erc-speedbar.elc \ - $(lisp)/erc/erc-spelling.elc \ - $(lisp)/erc/erc-stamp.elc \ - $(lisp)/erc/erc-track.elc \ - $(lisp)/erc/erc-truncate.elc \ - $(lisp)/erc/erc-xdcc.elc \ - $(lisp)/erc/erc.elc \ - $(lisp)/eshell/em-alias.elc \ - $(lisp)/eshell/em-banner.elc \ - $(lisp)/eshell/em-basic.elc \ - $(lisp)/eshell/em-cmpl.elc \ - $(lisp)/eshell/em-dirs.elc \ - $(lisp)/eshell/em-glob.elc \ - $(lisp)/eshell/em-hist.elc \ - $(lisp)/eshell/em-ls.elc \ - $(lisp)/eshell/em-pred.elc \ - $(lisp)/eshell/em-prompt.elc \ - $(lisp)/eshell/em-rebind.elc \ - $(lisp)/eshell/em-script.elc \ - $(lisp)/eshell/em-smart.elc \ - $(lisp)/eshell/em-term.elc \ - $(lisp)/eshell/em-unix.elc \ - $(lisp)/eshell/em-xtra.elc \ - $(lisp)/eshell/esh-arg.elc \ - $(lisp)/eshell/esh-cmd.elc \ - $(lisp)/eshell/esh-ext.elc \ - $(lisp)/eshell/esh-io.elc \ - $(lisp)/eshell/esh-mode.elc \ - $(lisp)/eshell/esh-module.elc \ - $(lisp)/eshell/esh-opt.elc \ - $(lisp)/eshell/esh-proc.elc \ - $(lisp)/eshell/esh-test.elc \ - $(lisp)/eshell/esh-util.elc \ - $(lisp)/eshell/esh-var.elc \ - $(lisp)/eshell/eshell.elc \ - $(lisp)/expand.elc \ - $(lisp)/ezimage.elc \ - $(lisp)/face-remap.elc \ - $(lisp)/facemenu.elc \ - $(lisp)/faces.elc \ - $(lisp)/ffap.elc \ - $(lisp)/filecache.elc \ - $(lisp)/files-x.elc \ - $(lisp)/files.elc \ - $(lisp)/filesets.elc \ - $(lisp)/find-cmd.elc \ - $(lisp)/find-dired.elc \ - $(lisp)/find-file.elc \ - $(lisp)/find-lisp.elc \ - $(lisp)/finder.elc \ - $(lisp)/flow-ctrl.elc \ - $(lisp)/foldout.elc \ - $(lisp)/follow.elc \ - $(lisp)/font-core.elc \ - $(lisp)/font-lock.elc \ - $(lisp)/font-setting.elc \ - $(lisp)/format-spec.elc \ - $(lisp)/format.elc \ - $(lisp)/forms.elc \ - $(lisp)/frame.elc \ - $(lisp)/fringe.elc \ - $(lisp)/generic-x.elc \ - $(lisp)/gnus/auth-source.elc \ - $(lisp)/gnus/canlock.elc \ - $(lisp)/gnus/compface.elc \ - $(lisp)/gnus/deuglify.elc \ - $(lisp)/gnus/earcon.elc \ - $(lisp)/gnus/ecomplete.elc \ - $(lisp)/gnus/flow-fill.elc \ - $(lisp)/gnus/gmm-utils.elc \ - $(lisp)/gnus/gnus-agent.elc \ - $(lisp)/gnus/gnus-art.elc \ - $(lisp)/gnus/gnus-async.elc \ - $(lisp)/gnus/gnus-audio.elc \ - $(lisp)/gnus/gnus-bcklg.elc \ - $(lisp)/gnus/gnus-bookmark.elc \ - $(lisp)/gnus/gnus-cache.elc \ - $(lisp)/gnus/gnus-cite.elc \ - $(lisp)/gnus/gnus-cus.elc \ - $(lisp)/gnus/gnus-delay.elc \ - $(lisp)/gnus/gnus-demon.elc \ - $(lisp)/gnus/gnus-diary.elc \ - $(lisp)/gnus/gnus-dired.elc \ - $(lisp)/gnus/gnus-draft.elc \ - $(lisp)/gnus/gnus-dup.elc \ - $(lisp)/gnus/gnus-eform.elc \ - $(lisp)/gnus/gnus-ems.elc \ - $(lisp)/gnus/gnus-fun.elc \ - $(lisp)/gnus/gnus-group.elc \ - $(lisp)/gnus/gnus-int.elc \ - $(lisp)/gnus/gnus-kill.elc \ - $(lisp)/gnus/gnus-logic.elc \ - $(lisp)/gnus/gnus-mh.elc \ - $(lisp)/gnus/gnus-ml.elc \ - $(lisp)/gnus/gnus-mlspl.elc \ - $(lisp)/gnus/gnus-move.elc \ - $(lisp)/gnus/gnus-msg.elc \ - $(lisp)/gnus/gnus-nocem.elc \ - $(lisp)/gnus/gnus-picon.elc \ - $(lisp)/gnus/gnus-range.elc \ - $(lisp)/gnus/gnus-registry.elc \ - $(lisp)/gnus/gnus-salt.elc \ - $(lisp)/gnus/gnus-score.elc \ - $(lisp)/gnus/gnus-setup.elc \ - $(lisp)/gnus/gnus-sieve.elc \ - $(lisp)/gnus/gnus-soup.elc \ - $(lisp)/gnus/gnus-spec.elc \ - $(lisp)/gnus/gnus-srvr.elc \ - $(lisp)/gnus/gnus-start.elc \ - $(lisp)/gnus/gnus-sum.elc \ - $(lisp)/gnus/gnus-topic.elc \ - $(lisp)/gnus/gnus-undo.elc \ - $(lisp)/gnus/gnus-util.elc \ - $(lisp)/gnus/gnus-uu.elc \ - $(lisp)/gnus/gnus-vm.elc \ - $(lisp)/gnus/gnus-win.elc \ - $(lisp)/gnus/gnus.elc \ - $(lisp)/gnus/html2text.elc \ - $(lisp)/gnus/ietf-drums.elc \ - $(lisp)/gnus/legacy-gnus-agent.elc \ - $(lisp)/gnus/mail-parse.elc \ - $(lisp)/gnus/mail-prsvr.elc \ - $(lisp)/gnus/mail-source.elc \ - $(lisp)/gnus/mailcap.elc \ - $(lisp)/gnus/message.elc \ - $(lisp)/gnus/messcompat.elc \ - $(lisp)/gnus/mm-bodies.elc \ - $(lisp)/gnus/mm-decode.elc \ - $(lisp)/gnus/mm-encode.elc \ - $(lisp)/gnus/mm-extern.elc \ - $(lisp)/gnus/mm-partial.elc \ - $(lisp)/gnus/mm-url.elc \ - $(lisp)/gnus/mm-util.elc \ - $(lisp)/gnus/mm-uu.elc \ - $(lisp)/gnus/mm-view.elc \ - $(lisp)/gnus/mml-sec.elc \ - $(lisp)/gnus/mml-smime.elc \ - $(lisp)/gnus/mml.elc \ - $(lisp)/gnus/mml1991.elc \ - $(lisp)/gnus/mml2015.elc \ - $(lisp)/gnus/nnagent.elc \ - $(lisp)/gnus/nnbabyl.elc \ - $(lisp)/gnus/nndb.elc \ - $(lisp)/gnus/nndiary.elc \ - $(lisp)/gnus/nndir.elc \ - $(lisp)/gnus/nndoc.elc \ - $(lisp)/gnus/nndraft.elc \ - $(lisp)/gnus/nneething.elc \ - $(lisp)/gnus/nnfolder.elc \ - $(lisp)/gnus/nngateway.elc \ - $(lisp)/gnus/nnheader.elc \ - $(lisp)/gnus/nnimap.elc \ - $(lisp)/gnus/nnir.elc \ - $(lisp)/gnus/nnkiboze.elc \ - $(lisp)/gnus/nnlistserv.elc \ - $(lisp)/gnus/nnmail.elc \ - $(lisp)/gnus/nnmaildir.elc \ - $(lisp)/gnus/nnmairix.elc \ - $(lisp)/gnus/nnmbox.elc \ - $(lisp)/gnus/nnmh.elc \ - $(lisp)/gnus/nnml.elc \ - $(lisp)/gnus/nnnil.elc \ - $(lisp)/gnus/nnoo.elc \ - $(lisp)/gnus/nnrss.elc \ - $(lisp)/gnus/nnslashdot.elc \ - $(lisp)/gnus/nnsoup.elc \ - $(lisp)/gnus/nnspool.elc \ - $(lisp)/gnus/nntp.elc \ - $(lisp)/gnus/nnultimate.elc \ - $(lisp)/gnus/nnvirtual.elc \ - $(lisp)/gnus/nnwarchive.elc \ - $(lisp)/gnus/nnweb.elc \ - $(lisp)/gnus/nnwfm.elc \ - $(lisp)/gnus/pop3.elc \ - $(lisp)/gnus/qp.elc \ - $(lisp)/gnus/rfc1843.elc \ - $(lisp)/gnus/rfc2045.elc \ - $(lisp)/gnus/rfc2047.elc \ - $(lisp)/gnus/rfc2104.elc \ - $(lisp)/gnus/rfc2231.elc \ - $(lisp)/gnus/score-mode.elc \ - $(lisp)/gnus/sieve-manage.elc \ - $(lisp)/gnus/sieve-mode.elc \ - $(lisp)/gnus/sieve.elc \ - $(lisp)/gnus/smiley.elc \ - $(lisp)/gnus/smime.elc \ - $(lisp)/gnus/spam-report.elc \ - $(lisp)/gnus/spam-stat.elc \ - $(lisp)/gnus/spam-wash.elc \ - $(lisp)/gnus/spam.elc \ - $(lisp)/gnus/starttls.elc \ - $(lisp)/gnus/utf7.elc \ - $(lisp)/gnus/webmail.elc \ - $(lisp)/gnus/yenc.elc \ - $(lisp)/gs.elc \ - $(lisp)/help-at-pt.elc \ - $(lisp)/help-fns.elc \ - $(lisp)/help-macro.elc \ - $(lisp)/help-mode.elc \ - $(lisp)/help.elc \ - $(lisp)/hex-util.elc \ - $(lisp)/hexl.elc \ - $(lisp)/hfy-cmap.elc \ - $(lisp)/hi-lock.elc \ - $(lisp)/hilit-chg.elc \ - $(lisp)/hippie-exp.elc \ - $(lisp)/hl-line.elc \ - $(lisp)/htmlfontify.elc \ - $(lisp)/ibuf-ext.elc \ - $(lisp)/ibuf-macs.elc \ - $(lisp)/ibuffer.elc \ - $(lisp)/icomplete.elc \ - $(lisp)/ido.elc \ - $(lisp)/ielm.elc \ - $(lisp)/iimage.elc \ - $(lisp)/image-dired.elc \ - $(lisp)/image-file.elc \ - $(lisp)/image-mode.elc \ - $(lisp)/image.elc \ - $(lisp)/imenu.elc \ - $(lisp)/indent.elc \ - $(lisp)/info-look.elc \ - $(lisp)/info-xref.elc \ - $(lisp)/info.elc \ - $(lisp)/informat.elc \ - $(lisp)/international/ccl.elc \ - $(lisp)/international/characters.elc \ - $(lisp)/international/fontset.elc \ - $(lisp)/international/isearch-x.elc \ - $(lisp)/international/iso-ascii.elc \ - $(lisp)/international/iso-cvt.elc \ - $(lisp)/international/iso-transl.elc \ - $(lisp)/international/ja-dic-cnv.elc \ - $(lisp)/international/ja-dic-utl.elc \ - $(lisp)/international/kinsoku.elc \ - $(lisp)/international/kkc.elc \ - $(lisp)/international/latexenc.elc \ - $(lisp)/international/latin1-disp.elc \ - $(lisp)/international/mule-cmds.elc \ - $(lisp)/international/mule-conf.elc \ - $(lisp)/international/mule-diag.elc \ - $(lisp)/international/mule-util.elc \ - $(lisp)/international/mule.elc \ - $(lisp)/international/ogonek.elc \ - $(lisp)/international/quail.elc \ - $(lisp)/international/robin.elc \ - $(lisp)/international/titdic-cnv.elc \ - $(lisp)/international/ucs-normalize.elc \ - $(lisp)/international/utf-7.elc \ - $(lisp)/isearch.elc \ - $(lisp)/isearchb.elc \ - $(lisp)/iswitchb.elc \ - $(lisp)/jit-lock.elc \ - $(lisp)/jka-cmpr-hook.elc \ - $(lisp)/jka-compr.elc \ - $(lisp)/json.elc \ - $(lisp)/kermit.elc \ - $(lisp)/kmacro.elc \ - $(lisp)/language/china-util.elc \ - $(lisp)/language/chinese.elc \ - $(lisp)/language/cyril-util.elc \ - $(lisp)/language/cyrillic.elc \ - $(lisp)/language/ethio-util.elc \ - $(lisp)/language/ethiopic.elc \ - $(lisp)/language/european.elc \ - $(lisp)/language/hanja-util.elc \ - $(lisp)/language/ind-util.elc \ - $(lisp)/language/indian.elc \ - $(lisp)/language/japan-util.elc \ - $(lisp)/language/korea-util.elc \ - $(lisp)/language/lao-util.elc \ - $(lisp)/language/thai-util.elc \ - $(lisp)/language/thai-word.elc \ - $(lisp)/language/tibet-util.elc \ - $(lisp)/language/tibetan.elc \ - $(lisp)/language/tv-util.elc \ - $(lisp)/language/viet-util.elc \ - $(lisp)/language/vietnamese.elc \ - $(lisp)/ledit.elc \ - $(lisp)/linum.elc \ - $(lisp)/loadhist.elc \ - $(lisp)/locate.elc \ - $(lisp)/log-edit.elc \ - $(lisp)/log-view.elc \ - $(lisp)/longlines.elc \ - $(lisp)/lpr.elc \ - $(lisp)/ls-lisp.elc \ - $(lisp)/macros.elc \ - $(lisp)/mail/binhex.elc \ - $(lisp)/mail/emacsbug.elc \ - $(lisp)/mail/feedmail.elc \ - $(lisp)/mail/footnote.elc \ - $(lisp)/mail/hashcash.elc \ - $(lisp)/mail/mail-extr.elc \ - $(lisp)/mail/mail-hist.elc \ - $(lisp)/mail/mail-utils.elc \ - $(lisp)/mail/mailabbrev.elc \ - $(lisp)/mail/mailalias.elc \ - $(lisp)/mail/mailclient.elc \ - $(lisp)/mail/mailheader.elc \ - $(lisp)/mail/mailpost.elc \ - $(lisp)/mail/metamail.elc \ - $(lisp)/mail/mspools.elc \ - $(lisp)/mail/reporter.elc \ - $(lisp)/mail/rfc2368.elc \ - $(lisp)/mail/rfc822.elc \ - $(lisp)/mail/rmail-spam-filter.elc \ - $(lisp)/mail/rmail.elc \ - $(lisp)/mail/rmailedit.elc \ - $(lisp)/mail/rmailkwd.elc \ - $(lisp)/mail/rmailmm.elc \ - $(lisp)/mail/rmailmsc.elc \ - $(lisp)/mail/rmailout.elc \ - $(lisp)/mail/rmailsort.elc \ - $(lisp)/mail/rmailsum.elc \ - $(lisp)/mail/sendmail.elc \ - $(lisp)/mail/smtpmail.elc \ - $(lisp)/mail/supercite.elc \ - $(lisp)/mail/uce.elc \ - $(lisp)/mail/undigest.elc \ - $(lisp)/mail/unrmail.elc \ - $(lisp)/mail/uudecode.elc \ - $(lisp)/makesum.elc \ - $(lisp)/man.elc \ - $(lisp)/master.elc \ - $(lisp)/mb-depth.elc \ - $(lisp)/md4.elc \ - $(lisp)/menu-bar.elc \ - $(lisp)/mh-e/mh-alias.elc \ - $(lisp)/mh-e/mh-buffers.elc \ - $(lisp)/mh-e/mh-comp.elc \ - $(lisp)/mh-e/mh-e.elc \ - $(lisp)/mh-e/mh-folder.elc \ - $(lisp)/mh-e/mh-funcs.elc \ - $(lisp)/mh-e/mh-identity.elc \ - $(lisp)/mh-e/mh-inc.elc \ - $(lisp)/mh-e/mh-junk.elc \ - $(lisp)/mh-e/mh-letter.elc \ - $(lisp)/mh-e/mh-limit.elc \ - $(lisp)/mh-e/mh-mime.elc \ - $(lisp)/mh-e/mh-print.elc \ - $(lisp)/mh-e/mh-scan.elc \ - $(lisp)/mh-e/mh-search.elc \ - $(lisp)/mh-e/mh-seq.elc \ - $(lisp)/mh-e/mh-show.elc \ - $(lisp)/mh-e/mh-speed.elc \ - $(lisp)/mh-e/mh-thread.elc \ - $(lisp)/mh-e/mh-tool-bar.elc \ - $(lisp)/mh-e/mh-utils.elc \ - $(lisp)/mh-e/mh-xface.elc \ - $(lisp)/midnight.elc \ - $(lisp)/minibuf-eldef.elc \ - $(lisp)/minibuffer.elc \ - $(lisp)/misc.elc \ - $(lisp)/misearch.elc \ - $(lisp)/mouse-copy.elc \ - $(lisp)/mouse-drag.elc \ - $(lisp)/mouse-sel.elc \ - $(lisp)/mouse.elc \ - $(lisp)/mpc.elc \ - $(lisp)/msb.elc \ - $(lisp)/mwheel.elc \ - $(lisp)/net/ange-ftp.elc \ - $(lisp)/net/browse-url.elc \ - $(lisp)/net/dbus.elc \ - $(lisp)/net/dig.elc \ - $(lisp)/net/dns.elc \ - $(lisp)/net/eudc-bob.elc \ - $(lisp)/net/eudc-export.elc \ - $(lisp)/net/eudc-hotlist.elc \ - $(lisp)/net/eudc-vars.elc \ - $(lisp)/net/eudc.elc \ - $(lisp)/net/eudcb-bbdb.elc \ - $(lisp)/net/eudcb-ldap.elc \ - $(lisp)/net/eudcb-mab.elc \ - $(lisp)/net/eudcb-ph.elc \ - $(lisp)/net/goto-addr.elc \ - $(lisp)/net/hmac-def.elc \ - $(lisp)/net/hmac-md5.elc \ - $(lisp)/net/imap-hash.elc \ - $(lisp)/net/imap.elc \ - $(lisp)/net/ldap.elc \ - $(lisp)/net/mairix.elc \ - $(lisp)/net/net-utils.elc \ - $(lisp)/net/netrc.elc \ - $(lisp)/net/newst-backend.elc \ - $(lisp)/net/newst-plainview.elc \ - $(lisp)/net/newst-reader.elc \ - $(lisp)/net/newst-ticker.elc \ - $(lisp)/net/newst-treeview.elc \ - $(lisp)/net/newsticker.elc \ - $(lisp)/net/ntlm.elc \ - $(lisp)/net/quickurl.elc \ - $(lisp)/net/rcirc.elc \ - $(lisp)/net/rcompile.elc \ - $(lisp)/net/rlogin.elc \ - $(lisp)/net/sasl-cram.elc \ - $(lisp)/net/sasl-digest.elc \ - $(lisp)/net/sasl-ntlm.elc \ - $(lisp)/net/sasl.elc \ - $(lisp)/net/snmp-mode.elc \ - $(lisp)/net/socks.elc \ - $(lisp)/net/telnet.elc \ - $(lisp)/net/tls.elc \ - $(lisp)/net/tramp-cache.elc \ - $(lisp)/net/tramp-cmds.elc \ - $(lisp)/net/tramp-compat.elc \ - $(lisp)/net/tramp-fish.elc \ - $(lisp)/net/tramp-ftp.elc \ - $(lisp)/net/tramp-gvfs.elc \ - $(lisp)/net/tramp-gw.elc \ - $(lisp)/net/tramp-imap.elc \ - $(lisp)/net/tramp-smb.elc \ - $(lisp)/net/tramp-uu.elc \ - $(lisp)/net/tramp.elc \ - $(lisp)/net/trampver.elc \ - $(lisp)/net/webjump.elc \ - $(lisp)/net/xesam.elc \ - $(lisp)/net/zeroconf.elc \ - $(lisp)/newcomment.elc \ - $(lisp)/novice.elc \ - $(lisp)/nxml/nxml-enc.elc \ - $(lisp)/nxml/nxml-glyph.elc \ - $(lisp)/nxml/nxml-maint.elc \ - $(lisp)/nxml/nxml-mode.elc \ - $(lisp)/nxml/nxml-ns.elc \ - $(lisp)/nxml/nxml-outln.elc \ - $(lisp)/nxml/nxml-parse.elc \ - $(lisp)/nxml/nxml-rap.elc \ - $(lisp)/nxml/nxml-uchnm.elc \ - $(lisp)/nxml/nxml-util.elc \ - $(lisp)/nxml/rng-cmpct.elc \ - $(lisp)/nxml/rng-dt.elc \ - $(lisp)/nxml/rng-loc.elc \ - $(lisp)/nxml/rng-maint.elc \ - $(lisp)/nxml/rng-match.elc \ - $(lisp)/nxml/rng-nxml.elc \ - $(lisp)/nxml/rng-parse.elc \ - $(lisp)/nxml/rng-pttrn.elc \ - $(lisp)/nxml/rng-uri.elc \ - $(lisp)/nxml/rng-util.elc \ - $(lisp)/nxml/rng-valid.elc \ - $(lisp)/nxml/rng-xsd.elc \ - $(lisp)/nxml/xmltok.elc \ - $(lisp)/nxml/xsd-regexp.elc \ - $(lisp)/obsolete/awk-mode.elc \ - $(lisp)/obsolete/cl-compat.elc \ - $(lisp)/obsolete/fast-lock.elc \ - $(lisp)/obsolete/iso-acc.elc \ - $(lisp)/obsolete/iso-insert.elc \ - $(lisp)/obsolete/iso-swed.elc \ - $(lisp)/obsolete/lazy-lock.elc \ - $(lisp)/obsolete/levents.elc \ - $(lisp)/obsolete/lmenu.elc \ - $(lisp)/obsolete/lucid.elc \ - $(lisp)/obsolete/old-whitespace.elc \ - $(lisp)/obsolete/options.elc \ - $(lisp)/obsolete/resume.elc \ - $(lisp)/obsolete/rnews.elc \ - $(lisp)/obsolete/rnewspost.elc \ - $(lisp)/obsolete/sc.elc \ - $(lisp)/obsolete/scribe.elc \ - $(lisp)/obsolete/swedish.elc \ - $(lisp)/obsolete/sym-comp.elc \ - $(lisp)/obsolete/vc-mcvs.elc \ - $(lisp)/obsolete/x-menu.elc \ - $(lisp)/org/org-agenda.elc \ - $(lisp)/org/org-archive.elc \ - $(lisp)/org/org-ascii.elc \ - $(lisp)/org/org-attach.elc \ - $(lisp)/org/org-bbdb.elc \ - $(lisp)/org/org-bibtex.elc \ - $(lisp)/org/org-clock.elc \ - $(lisp)/org/org-colview.elc \ - $(lisp)/org/org-compat.elc \ - $(lisp)/org/org-crypt.elc \ - $(lisp)/org/org-datetree.elc \ - $(lisp)/org/org-docbook.elc \ - $(lisp)/org/org-exp-blocks.elc \ - $(lisp)/org/org-exp.elc \ - $(lisp)/org/org-faces.elc \ - $(lisp)/org/org-feed.elc \ - $(lisp)/org/org-footnote.elc \ - $(lisp)/org/org-freemind.elc \ - $(lisp)/org/org-gnus.elc \ - $(lisp)/org/org-habit.elc \ - $(lisp)/org/org-html.elc \ - $(lisp)/org/org-icalendar.elc \ - $(lisp)/org/org-id.elc \ - $(lisp)/org/org-indent.elc \ - $(lisp)/org/org-info.elc \ - $(lisp)/org/org-inlinetask.elc \ - $(lisp)/org/org-install.elc \ - $(lisp)/org/org-irc.elc \ - $(lisp)/org/org-jsinfo.elc \ - $(lisp)/org/org-latex.elc \ - $(lisp)/org/org-list.elc \ - $(lisp)/org/org-mac-message.elc \ - $(lisp)/org/org-macs.elc \ - $(lisp)/org/org-mew.elc \ - $(lisp)/org/org-mhe.elc \ - $(lisp)/org/org-mobile.elc \ - $(lisp)/org/org-mouse.elc \ - $(lisp)/org/org-plot.elc \ - $(lisp)/org/org-protocol.elc \ - $(lisp)/org/org-publish.elc \ - $(lisp)/org/org-remember.elc \ - $(lisp)/org/org-rmail.elc \ - $(lisp)/org/org-src.elc \ - $(lisp)/org/org-table.elc \ - $(lisp)/org/org-timer.elc \ - $(lisp)/org/org-vm.elc \ - $(lisp)/org/org-w3m.elc \ - $(lisp)/org/org-wl.elc \ - $(lisp)/org/org-xoxo.elc \ - $(lisp)/org/org.elc \ - $(lisp)/outline.elc \ - $(lisp)/paren.elc \ - $(lisp)/password-cache.elc \ - $(lisp)/pcmpl-cvs.elc \ - $(lisp)/pcmpl-gnu.elc \ - $(lisp)/pcmpl-linux.elc \ - $(lisp)/pcmpl-rpm.elc \ - $(lisp)/pcmpl-unix.elc \ - $(lisp)/pcomplete.elc \ - $(lisp)/pcvs-defs.elc \ - $(lisp)/pcvs-info.elc \ - $(lisp)/pcvs-parse.elc \ - $(lisp)/pcvs-util.elc \ - $(lisp)/pcvs.elc \ - $(lisp)/pgg-def.elc \ - $(lisp)/pgg-gpg.elc \ - $(lisp)/pgg-parse.elc \ - $(lisp)/pgg-pgp.elc \ - $(lisp)/pgg-pgp5.elc \ - $(lisp)/pgg.elc \ - $(lisp)/play/5x5.elc \ - $(lisp)/play/animate.elc \ - $(lisp)/play/blackbox.elc \ - $(lisp)/play/bubbles.elc \ - $(lisp)/play/cookie1.elc \ - $(lisp)/play/decipher.elc \ - $(lisp)/play/dissociate.elc \ - $(lisp)/play/doctor.elc \ - $(lisp)/play/dunnet.elc \ - $(lisp)/play/fortune.elc \ - $(lisp)/play/gamegrid.elc \ - $(lisp)/play/gametree.elc \ - $(lisp)/play/gomoku.elc \ - $(lisp)/play/handwrite.elc \ - $(lisp)/play/hanoi.elc \ - $(lisp)/play/landmark.elc \ - $(lisp)/play/life.elc \ - $(lisp)/play/meese.elc \ - $(lisp)/play/morse.elc \ - $(lisp)/play/mpuz.elc \ - $(lisp)/play/pong.elc \ - $(lisp)/play/snake.elc \ - $(lisp)/play/solitaire.elc \ - $(lisp)/play/spook.elc \ - $(lisp)/play/studly.elc \ - $(lisp)/play/tetris.elc \ - $(lisp)/play/yow.elc \ - $(lisp)/play/zone.elc \ - $(lisp)/printing.elc \ - $(lisp)/proced.elc \ - $(lisp)/progmodes/ada-mode.elc \ - $(lisp)/progmodes/ada-prj.elc \ - $(lisp)/progmodes/ada-stmt.elc \ - $(lisp)/progmodes/ada-xref.elc \ - $(lisp)/progmodes/antlr-mode.elc \ - $(lisp)/progmodes/asm-mode.elc \ - $(lisp)/progmodes/autoconf.elc \ - $(lisp)/progmodes/bug-reference.elc \ - $(lisp)/progmodes/cap-words.elc \ - $(lisp)/progmodes/cc-align.elc \ - $(lisp)/progmodes/cc-awk.elc \ - $(lisp)/progmodes/cc-bytecomp.elc \ - $(lisp)/progmodes/cc-cmds.elc \ - $(lisp)/progmodes/cc-compat.elc \ - $(lisp)/progmodes/cc-defs.elc \ - $(lisp)/progmodes/cc-engine.elc \ - $(lisp)/progmodes/cc-fonts.elc \ - $(lisp)/progmodes/cc-langs.elc \ - $(lisp)/progmodes/cc-menus.elc \ - $(lisp)/progmodes/cc-mode.elc \ - $(lisp)/progmodes/cc-styles.elc \ - $(lisp)/progmodes/cc-vars.elc \ - $(lisp)/progmodes/cfengine.elc \ - $(lisp)/progmodes/cmacexp.elc \ - $(lisp)/progmodes/compile.elc \ - $(lisp)/progmodes/cperl-mode.elc \ - $(lisp)/progmodes/cpp.elc \ - $(lisp)/progmodes/cwarn.elc \ - $(lisp)/progmodes/dcl-mode.elc \ - $(lisp)/progmodes/delphi.elc \ - $(lisp)/progmodes/ebnf-abn.elc \ - $(lisp)/progmodes/ebnf-bnf.elc \ - $(lisp)/progmodes/ebnf-dtd.elc \ - $(lisp)/progmodes/ebnf-ebx.elc \ - $(lisp)/progmodes/ebnf-iso.elc \ - $(lisp)/progmodes/ebnf-otz.elc \ - $(lisp)/progmodes/ebnf-yac.elc \ - $(lisp)/progmodes/ebnf2ps.elc \ - $(lisp)/progmodes/ebrowse.elc \ - $(lisp)/progmodes/etags.elc \ - $(lisp)/progmodes/executable.elc \ - $(lisp)/progmodes/f90.elc \ - $(lisp)/progmodes/flymake.elc \ - $(lisp)/progmodes/fortran.elc \ - $(lisp)/progmodes/gdb-ui.elc \ - $(lisp)/progmodes/glasses.elc \ - $(lisp)/progmodes/grep.elc \ - $(lisp)/progmodes/gud.elc \ - $(lisp)/progmodes/hideif.elc \ - $(lisp)/progmodes/hideshow.elc \ - $(lisp)/progmodes/icon.elc \ - $(lisp)/progmodes/idlw-complete-structtag.elc \ - $(lisp)/progmodes/idlw-help.elc \ - $(lisp)/progmodes/idlw-shell.elc \ - $(lisp)/progmodes/idlw-toolbar.elc \ - $(lisp)/progmodes/idlwave.elc \ - $(lisp)/progmodes/inf-lisp.elc \ - $(lisp)/progmodes/js.elc \ - $(lisp)/progmodes/ld-script.elc \ - $(lisp)/progmodes/m4-mode.elc \ - $(lisp)/progmodes/make-mode.elc \ - $(lisp)/progmodes/mantemp.elc \ - $(lisp)/progmodes/meta-mode.elc \ - $(lisp)/progmodes/mixal-mode.elc \ - $(lisp)/progmodes/modula2.elc \ - $(lisp)/progmodes/octave-inf.elc \ - $(lisp)/progmodes/octave-mod.elc \ - $(lisp)/progmodes/pascal.elc \ - $(lisp)/progmodes/perl-mode.elc \ - $(lisp)/progmodes/prolog.elc \ - $(lisp)/progmodes/ps-mode.elc \ - $(lisp)/progmodes/python.elc \ - $(lisp)/progmodes/ruby-mode.elc \ - $(lisp)/progmodes/scheme.elc \ - $(lisp)/progmodes/sh-script.elc \ - $(lisp)/progmodes/simula.elc \ - $(lisp)/progmodes/sql.elc \ - $(lisp)/progmodes/subword.elc \ - $(lisp)/progmodes/tcl.elc \ - $(lisp)/progmodes/vera-mode.elc \ - $(lisp)/progmodes/verilog-mode.elc \ - $(lisp)/progmodes/vhdl-mode.elc \ - $(lisp)/progmodes/which-func.elc \ - $(lisp)/progmodes/xscheme.elc \ - $(lisp)/ps-bdf.elc \ - $(lisp)/ps-def.elc \ - $(lisp)/ps-mule.elc \ - $(lisp)/ps-print.elc \ - $(lisp)/ps-samp.elc \ - $(lisp)/recentf.elc \ - $(lisp)/rect.elc \ - $(lisp)/register.elc \ - $(lisp)/repeat.elc \ - $(lisp)/replace.elc \ - $(lisp)/reposition.elc \ - $(lisp)/reveal.elc \ - $(lisp)/rfn-eshadow.elc \ - $(lisp)/rot13.elc \ - $(lisp)/ruler-mode.elc \ - $(lisp)/s-region.elc \ - $(lisp)/savehist.elc \ - $(lisp)/saveplace.elc \ - $(lisp)/sb-image.elc \ - $(lisp)/scroll-all.elc \ - $(lisp)/scroll-bar.elc \ - $(lisp)/scroll-lock.elc \ - $(lisp)/select.elc \ - $(lisp)/server.elc \ - $(lisp)/ses.elc \ - $(lisp)/sha1.elc \ - $(lisp)/shadowfile.elc \ - $(lisp)/shell.elc \ - $(lisp)/simple.elc \ - $(lisp)/skeleton.elc \ - $(lisp)/smerge-mode.elc \ - $(lisp)/sort.elc \ - $(lisp)/soundex.elc \ - $(lisp)/speedbar.elc \ - $(lisp)/startup.elc \ - $(lisp)/strokes.elc \ - $(lisp)/subr.elc \ - $(lisp)/t-mouse.elc \ - $(lisp)/tabify.elc \ - $(lisp)/talk.elc \ - $(lisp)/tar-mode.elc \ - $(lisp)/tempo.elc \ - $(lisp)/term.elc \ - $(lisp)/term/common-win.elc \ - $(lisp)/term/internal.elc \ - $(lisp)/term/ns-win.elc \ - $(lisp)/term/pc-win.elc \ - $(lisp)/term/rxvt.elc \ - $(lisp)/term/sun.elc \ - $(lisp)/term/sup-mouse.elc \ - $(lisp)/term/tty-colors.elc \ - $(lisp)/term/tvi970.elc \ - $(lisp)/term/vt100.elc \ - $(lisp)/term/w32-win.elc \ - $(lisp)/term/w32console.elc \ - $(lisp)/term/x-win.elc \ - $(lisp)/term/xterm.elc \ - $(lisp)/terminal.elc \ - $(lisp)/textmodes/artist.elc \ - $(lisp)/textmodes/bib-mode.elc \ - $(lisp)/textmodes/bibtex-style.elc \ - $(lisp)/textmodes/bibtex.elc \ - $(lisp)/textmodes/conf-mode.elc \ - $(lisp)/textmodes/css-mode.elc \ - $(lisp)/textmodes/dns-mode.elc \ - $(lisp)/textmodes/enriched.elc \ - $(lisp)/textmodes/fill.elc \ - $(lisp)/textmodes/flyspell.elc \ - $(lisp)/textmodes/ispell.elc \ - $(lisp)/textmodes/makeinfo.elc \ - $(lisp)/textmodes/nroff-mode.elc \ - $(lisp)/textmodes/page-ext.elc \ - $(lisp)/textmodes/page.elc \ - $(lisp)/textmodes/paragraphs.elc \ - $(lisp)/textmodes/picture.elc \ - $(lisp)/textmodes/po.elc \ - $(lisp)/textmodes/refbib.elc \ - $(lisp)/textmodes/refer.elc \ - $(lisp)/textmodes/refill.elc \ - $(lisp)/textmodes/reftex-auc.elc \ - $(lisp)/textmodes/reftex-cite.elc \ - $(lisp)/textmodes/reftex-dcr.elc \ - $(lisp)/textmodes/reftex-global.elc \ - $(lisp)/textmodes/reftex-index.elc \ - $(lisp)/textmodes/reftex-parse.elc \ - $(lisp)/textmodes/reftex-ref.elc \ - $(lisp)/textmodes/reftex-sel.elc \ - $(lisp)/textmodes/reftex-toc.elc \ - $(lisp)/textmodes/reftex-vars.elc \ - $(lisp)/textmodes/reftex.elc \ - $(lisp)/textmodes/remember.elc \ - $(lisp)/textmodes/rst.elc \ - $(lisp)/textmodes/sgml-mode.elc \ - $(lisp)/textmodes/spell.elc \ - $(lisp)/textmodes/table.elc \ - $(lisp)/textmodes/tex-mode.elc \ - $(lisp)/textmodes/texinfmt.elc \ - $(lisp)/textmodes/texinfo.elc \ - $(lisp)/textmodes/texnfo-upd.elc \ - $(lisp)/textmodes/text-mode.elc \ - $(lisp)/textmodes/tildify.elc \ - $(lisp)/textmodes/two-column.elc \ - $(lisp)/textmodes/underline.elc \ - $(lisp)/thingatpt.elc \ - $(lisp)/thumbs.elc \ - $(lisp)/time-stamp.elc \ - $(lisp)/time.elc \ - $(lisp)/timezone.elc \ - $(lisp)/tmm.elc \ - $(lisp)/tool-bar.elc \ - $(lisp)/tooltip.elc \ - $(lisp)/tree-widget.elc \ - $(lisp)/tutorial.elc \ - $(lisp)/type-break.elc \ - $(lisp)/uniquify.elc \ - $(lisp)/url/url-about.elc \ - $(lisp)/url/url-auth.elc \ - $(lisp)/url/url-cache.elc \ - $(lisp)/url/url-cid.elc \ - $(lisp)/url/url-cookie.elc \ - $(lisp)/url/url-dav.elc \ - $(lisp)/url/url-dired.elc \ - $(lisp)/url/url-expand.elc \ - $(lisp)/url/url-file.elc \ - $(lisp)/url/url-ftp.elc \ - $(lisp)/url/url-gw.elc \ - $(lisp)/url/url-handlers.elc \ - $(lisp)/url/url-history.elc \ - $(lisp)/url/url-http.elc \ - $(lisp)/url/url-imap.elc \ - $(lisp)/url/url-irc.elc \ - $(lisp)/url/url-ldap.elc \ - $(lisp)/url/url-mailto.elc \ - $(lisp)/url/url-methods.elc \ - $(lisp)/url/url-misc.elc \ - $(lisp)/url/url-news.elc \ - $(lisp)/url/url-nfs.elc \ - $(lisp)/url/url-ns.elc \ - $(lisp)/url/url-parse.elc \ - $(lisp)/url/url-privacy.elc \ - $(lisp)/url/url-proxy.elc \ - $(lisp)/url/url-util.elc \ - $(lisp)/url/url-vars.elc \ - $(lisp)/url/url.elc \ - $(lisp)/userlock.elc \ - $(lisp)/vc-annotate.elc \ - $(lisp)/vc-arch.elc \ - $(lisp)/vc-bzr.elc \ - $(lisp)/vc-cvs.elc \ - $(lisp)/vc-dav.elc \ - $(lisp)/vc-dir.elc \ - $(lisp)/vc-dispatcher.elc \ - $(lisp)/vc-git.elc \ - $(lisp)/vc-hg.elc \ - $(lisp)/vc-hooks.elc \ - $(lisp)/vc-mtn.elc \ - $(lisp)/vc-rcs.elc \ - $(lisp)/vc-sccs.elc \ - $(lisp)/vc-svn.elc \ - $(lisp)/vc.elc \ - $(lisp)/vcursor.elc \ - $(lisp)/view.elc \ - $(lisp)/vt-control.elc \ - $(lisp)/vt100-led.elc \ - $(lisp)/w32-fns.elc \ - $(lisp)/w32-vars.elc \ - $(lisp)/wdired.elc \ - $(lisp)/whitespace.elc \ - $(lisp)/wid-browse.elc \ - $(lisp)/wid-edit.elc \ - $(lisp)/widget.elc \ - $(lisp)/windmove.elc \ - $(lisp)/window.elc \ - $(lisp)/winner.elc \ - $(lisp)/woman.elc \ - $(lisp)/x-dnd.elc \ - $(lisp)/xml.elc \ - $(lisp)/xt-mouse.elc - # The src/Makefile.in has its own set of dependencies and when they decide # that one Lisp file needs to be re-compiled, we had better recompile it as # well, otherwise every subsequent make will again call us, until we finally diff --cc lisp/dired.el index 345956f029,bb0cc22328..04ba6083c2 --- a/lisp/dired.el +++ b/lisp/dired.el @@@ -3539,7 -3523,7 +3539,7 @@@ Ask means pop up a menu for the user t ;;;;;; dired-run-shell-command dired-do-shell-command dired-do-async-shell-command ;;;;;; dired-clean-directory dired-do-print dired-do-touch dired-do-chown ;;;;;; dired-do-chgrp dired-do-chmod dired-compare-directories dired-backup-diff - ;;;;;; dired-diff) "dired-aux" "dired-aux.el" "416d272299fd4774c47c2f677ee640a4") -;;;;;; dired-diff) "dired-aux" "dired-aux.el" "07676ea25af17f5d50cc5db4f53bddc0") ++;;;;;; dired-diff) "dired-aux" "dired-aux.el" "1628b7a7d379fb4da8ae4bf29faad4b5") ;;; Generated autoloads from dired-aux.el (autoload 'dired-diff "dired-aux" "\ diff --cc lisp/emacs-lisp/cl-loaddefs.el index 4bda6ceb75,7640a0b157..b1d934f08e --- a/lisp/emacs-lisp/cl-loaddefs.el +++ b/lisp/emacs-lisp/cl-loaddefs.el @@@ -277,12 -277,12 +277,12 @@@ Not documente ;;;;;; assert check-type typep deftype cl-struct-setf-expander defstruct ;;;;;; define-modify-macro callf2 callf letf* letf rotatef shiftf ;;;;;; remf cl-do-pop psetf setf get-setf-method defsetf define-setf-method -;;;;;; declare the locally multiple-value-setq multiple-value-bind -;;;;;; lexical-let* lexical-let symbol-macrolet macrolet labels -;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist -;;;;;; do* do loop return-from return block etypecase typecase ecase -;;;;;; case load-time-value eval-when destructuring-bind function* -;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "49b7d96626dd8ba5d39551909edbd4c7") +;;;;;; declare locally multiple-value-setq multiple-value-bind lexical-let* +;;;;;; lexical-let symbol-macrolet macrolet labels flet progv psetq +;;;;;; do-all-symbols do-symbols dotimes dolist do* do loop return-from +;;;;;; return block etypecase typecase ecase case load-time-value +;;;;;; eval-when destructuring-bind function* defmacro* defun* gentemp - ;;;;;; gensym) "cl-macs" "cl-macs.el" "82f8370745a60dc26536a0237cba893f") ++;;;;;; gensym) "cl-macs" "cl-macs.el" "979862b54946a5fcbbccdd90fa3f84d8") ;;; Generated autoloads from cl-macs.el (autoload 'gensym "cl-macs" "\ diff --cc lisp/locate.el index f1983a3e18,ce1154c973..f58b95710e --- a/lisp/locate.el +++ b/lisp/locate.el @@@ -323,10 -323,9 +323,9 @@@ then `locate-post-command-hook'. (and filter (locate-filter-output filter)) - (locate-do-setup search-string) - )) + (locate-do-setup search-string))) (and (not (string-equal (buffer-name) locate-buffer-name)) - (switch-to-buffer-other-window locate-buffer-name)) + (pop-to-buffer locate-buffer-name)) (run-hooks 'dired-mode-hook) (dired-next-line 3) ;move to first matching file. diff --cc lisp/net/tramp.el index 1ca46d213d,17c8c074c4..e5ebe81ce2 --- a/lisp/net/tramp.el +++ b/lisp/net/tramp.el @@@ -2567,385 -6365,326 +2567,384 @@@ User is always nil. (forward-line 1) result)) -;;; Internal Functions: +;;; Common file name handler functions for different backends: -(defun tramp-maybe-send-script (vec script name) - "Define in remote shell function NAME implemented as SCRIPT. -Only send the definition if it has not already been done." - (let* ((p (tramp-get-connection-process vec)) - (scripts (tramp-get-connection-property p "scripts" nil))) - (unless (member name scripts) - (with-progress-reporter vec 5 (format "Sending script `%s'" name) - ;; The script could contain a call of Perl. This is masked with `%s'. - (tramp-send-command-and-check - vec - (format "%s () {\n%s\n}" name - (format script (tramp-get-remote-perl vec)))) - (tramp-set-connection-property p "scripts" (cons name scripts)))))) - -(defun tramp-set-auto-save () - (when (and ;; ange-ftp has its own auto-save mechanism - (eq (tramp-find-foreign-file-name-handler (buffer-file-name)) - 'tramp-sh-file-name-handler) - auto-save-default) - (auto-save-mode 1))) -(add-hook 'find-file-hooks 'tramp-set-auto-save t) -(add-hook 'tramp-unload-hook - (lambda () - (remove-hook 'find-file-hooks 'tramp-set-auto-save))) +(defvar tramp-handle-file-local-copy-hook nil + "Normal hook to be run at the end of `tramp-*-handle-file-local-copy'.") + +(defvar tramp-handle-write-region-hook nil + "Normal hook to be run at the end of `tramp-*-handle-write-region'.") + +(defun tramp-handle-directory-file-name (directory) + "Like `directory-file-name' for Tramp files." + ;; If localname component of filename is "/", leave it unchanged. + ;; Otherwise, remove any trailing slash from localname component. + ;; Method, host, etc, are unchanged. Does it make sense to try + ;; to avoid parsing the filename? + (with-parsed-tramp-file-name directory nil + (if (and (not (zerop (length localname))) + (eq (aref localname (1- (length localname))) ?/) + (not (string= localname "/"))) + (substring directory 0 -1) + directory))) + +(defun tramp-handle-directory-files + (directory &optional full match nosort files-only) + "Like `directory-files' for Tramp files." + ;; FILES-ONLY is valid for XEmacs only. + (when (file-directory-p directory) + (setq directory (file-name-as-directory (expand-file-name directory))) + (let ((temp (nreverse (file-name-all-completions "" directory))) + result item) + + (while temp + (setq item (directory-file-name (pop temp))) + (when (and (or (null match) (string-match match item)) + (or (null files-only) + ;; Files only. + (and (equal files-only t) (file-regular-p item)) + ;; Directories only. + (file-directory-p item))) + (push (if full (concat directory item) item) + result))) + (if nosort result (sort result 'string<))))) + +(defun tramp-handle-directory-files-and-attributes + (directory &optional full match nosort id-format) + "Like `directory-files-and-attributes' for Tramp files." + (mapcar + (lambda (x) + (cons x (tramp-compat-file-attributes + (if full x (expand-file-name x directory)) id-format))) + (directory-files directory full match nosort))) + +(defun tramp-handle-dired-uncache (dir &optional dir-p) + "Like `dired-uncache' for Tramp files." + ;; DIR-P is valid for XEmacs only. + (with-parsed-tramp-file-name + (if (or dir-p (file-directory-p dir)) dir (file-name-directory dir)) nil + (tramp-flush-directory-property v localname))) + +(defun tramp-handle-file-exists-p (filename) + "Like `file-exists-p' for Tramp files." + (not (null (file-attributes filename)))) + +(defun tramp-handle-file-modes (filename) + "Like `file-modes' for Tramp files." + (let ((truename (or (file-truename filename) filename))) + (when (file-exists-p truename) + (tramp-mode-string-to-int (nth 8 (file-attributes truename)))))) + +;; Localname manipulation functions that grok Tramp localnames... +(defun tramp-handle-file-name-as-directory (file) + "Like `file-name-as-directory' but aware of Tramp files." + ;; `file-name-as-directory' would be sufficient except localname is + ;; the empty string. + (let ((v (tramp-dissect-file-name file t))) + ;; Run the command on the localname portion only. + (tramp-make-tramp-file-name + (tramp-file-name-method v) + (tramp-file-name-user v) + (tramp-file-name-host v) + (tramp-run-real-handler + 'file-name-as-directory (list (or (tramp-file-name-localname v) "")))))) + +(defun tramp-handle-file-name-completion + (filename directory &optional predicate) + "Like `file-name-completion' for Tramp files." + (unless (tramp-tramp-file-p directory) + (error + "tramp-handle-file-name-completion invoked on non-tramp directory `%s'" + directory)) + (try-completion + filename + (mapcar 'list (file-name-all-completions filename directory)) + (when predicate + (lambda (x) (funcall predicate (expand-file-name (car x) directory)))))) + +(defun tramp-handle-file-name-directory (file) + "Like `file-name-directory' but aware of Tramp files." + ;; Everything except the last filename thing is the directory. We + ;; cannot apply `with-parsed-tramp-file-name', because this expands + ;; the remote file name parts. This is a problem when we are in + ;; file name completion. + (let ((v (tramp-dissect-file-name file t))) + ;; Run the command on the localname portion only. + (tramp-make-tramp-file-name + (tramp-file-name-method v) + (tramp-file-name-user v) + (tramp-file-name-host v) + (tramp-run-real-handler + 'file-name-directory (list (or (tramp-file-name-localname v) "")))))) + +(defun tramp-handle-file-name-nondirectory (file) + "Like `file-name-nondirectory' but aware of Tramp files." + (with-parsed-tramp-file-name file nil + (tramp-run-real-handler 'file-name-nondirectory (list localname)))) + +(defun tramp-handle-file-newer-than-file-p (file1 file2) + "Like `file-newer-than-file-p' for Tramp files." + (cond + ((not (file-exists-p file1)) nil) + ((not (file-exists-p file2)) t) + (t (tramp-time-less-p (nth 5 (file-attributes file2)) + (nth 5 (file-attributes file1)))))) + +(defun tramp-handle-file-regular-p (filename) + "Like `file-regular-p' for Tramp files." + (and (file-exists-p filename) + (eq ?- (aref (nth 8 (file-attributes filename)) 0)))) + +(defun tramp-handle-file-remote-p (filename &optional identification connected) + "Like `file-remote-p' for Tramp files." + (let ((tramp-verbose 3)) + (when (tramp-tramp-file-p filename) + (let* ((v (tramp-dissect-file-name filename)) + (p (tramp-get-connection-process v)) + (c (and p (processp p) (memq (process-status p) '(run open))))) + ;; We expand the file name only, if there is already a connection. + (with-parsed-tramp-file-name + (if c (expand-file-name filename) filename) nil + (and (or (not connected) c) + (cond + ((eq identification 'method) method) + ((eq identification 'user) user) + ((eq identification 'host) host) + ((eq identification 'localname) localname) + (t (tramp-make-tramp-file-name method user host ""))))))))) -(defun tramp-run-test (switch filename) - "Run `test' on the remote system, given a SWITCH and a FILENAME. -Returns the exit code of the `test' program." +(defun tramp-handle-file-symlink-p (filename) + "Like `file-symlink-p' for Tramp files." (with-parsed-tramp-file-name filename nil - (tramp-send-command-and-check - v - (format - "%s %s %s" - (tramp-get-test-command v) - switch - (tramp-shell-quote-argument localname))))) - -(defun tramp-run-test2 (format-string file1 file2) - "Run `test'-like program on the remote system, given FILE1, FILE2. -FORMAT-STRING contains the program name, switches, and place holders. -Returns the exit code of the `test' program. Barfs if the methods, -hosts, or files, disagree." - (unless (tramp-equal-remote file1 file2) - (with-parsed-tramp-file-name (if (tramp-tramp-file-p file1) file1 file2) nil - (tramp-error - v 'file-error - "tramp-run-test2 only implemented for same method, user, host"))) - (with-parsed-tramp-file-name file1 v1 - (with-parsed-tramp-file-name file1 v2 - (tramp-send-command-and-check - v1 - (format format-string - (tramp-shell-quote-argument v1-localname) - (tramp-shell-quote-argument v2-localname)))))) + (let ((x (car (file-attributes filename)))) + (when (stringp x) + ;; When Tramp is running on VMS, then `file-name-absolute-p' + ;; might do weird things. + (if (file-name-absolute-p x) + (tramp-make-tramp-file-name method user host x) + x))))) -(defun tramp-buffer-name (vec) - "A name for the connection buffer VEC." - ;; We must use `tramp-file-name-real-host', because for gateway - ;; methods the default port will be expanded later on, which would - ;; tamper the name. - (let ((method (tramp-file-name-method vec)) - (user (tramp-file-name-user vec)) - (host (tramp-file-name-real-host vec))) - (if (not (zerop (length user))) - (format "*tramp/%s %s@%s*" method user host) - (format "*tramp/%s %s*" method host)))) +(defun tramp-handle-find-backup-file-name (filename) + "Like `find-backup-file-name' for Tramp files." + (with-parsed-tramp-file-name filename nil + ;; We set both variables. It doesn't matter whether it is + ;; Emacs or XEmacs. + (let ((backup-directory-alist + ;; Emacs case. + (when (boundp 'backup-directory-alist) + (if (symbol-value 'tramp-backup-directory-alist) + (mapcar + (lambda (x) + (cons + (car x) + (if (and (stringp (cdr x)) + (file-name-absolute-p (cdr x)) + (not (tramp-file-name-p (cdr x)))) + (tramp-make-tramp-file-name method user host (cdr x)) + (cdr x)))) + (symbol-value 'tramp-backup-directory-alist)) + (symbol-value 'backup-directory-alist)))) -(defun tramp-delete-temp-file-function () - "Remove temporary files related to current buffer." - (when (stringp tramp-temp-buffer-file-name) - (condition-case nil - (delete-file tramp-temp-buffer-file-name) - (error nil)))) + (bkup-backup-directory-info + ;; XEmacs case. + (when (boundp 'bkup-backup-directory-info) + (if (symbol-value 'tramp-bkup-backup-directory-info) + (mapcar + (lambda (x) + (nconc + (list (car x)) + (list + (if (and (stringp (car (cdr x))) + (file-name-absolute-p (car (cdr x))) + (not (tramp-file-name-p (car (cdr x))))) + (tramp-make-tramp-file-name + method user host (car (cdr x))) + (car (cdr x)))) + (cdr (cdr x)))) + (symbol-value 'tramp-bkup-backup-directory-info)) + (symbol-value 'bkup-backup-directory-info))))) -(add-hook 'kill-buffer-hook 'tramp-delete-temp-file-function) -(add-hook 'tramp-cache-unload-hook - (lambda () - (remove-hook 'kill-buffer-hook - 'tramp-delete-temp-file-function))) + (tramp-run-real-handler 'find-backup-file-name (list filename))))) -(defun tramp-get-buffer (vec) - "Get the connection buffer to be used for VEC." - (or (get-buffer (tramp-buffer-name vec)) - (with-current-buffer (get-buffer-create (tramp-buffer-name vec)) - (setq buffer-undo-list t) - (setq default-directory - (tramp-make-tramp-file-name - (tramp-file-name-method vec) - (tramp-file-name-user vec) - (tramp-file-name-host vec) - "/")) - (current-buffer)))) +(defun tramp-handle-insert-file-contents + (filename &optional visit beg end replace) + "Like `insert-file-contents' for Tramp files." + (barf-if-buffer-read-only) + (setq filename (expand-file-name filename)) + (let (result local-copy remote-copy) + (with-parsed-tramp-file-name filename nil + (unwind-protect + (if (not (file-exists-p filename)) + ;; We don't raise a Tramp error, because it might be + ;; suppressed, like in `find-file-noselect-1'. + (signal 'file-error + (list "File not found on remote host" filename)) -(defun tramp-get-connection-buffer (vec) - "Get the connection buffer to be used for VEC. -In case a second asynchronous communication has been started, it is different -from `tramp-get-buffer'." - (or (tramp-get-connection-property vec "process-buffer" nil) - (tramp-get-buffer vec))) + (if (and (tramp-local-host-p v) + (let (file-name-handler-alist) + (file-readable-p localname))) + ;; Short track: if we are on the local host, we can + ;; run directly. + (setq result + (tramp-run-real-handler + 'insert-file-contents + (list localname visit beg end replace))) + + ;; When we shall insert only a part of the file, we copy + ;; this part. + (when (or beg end) + (setq remote-copy (tramp-make-tramp-temp-file v)) + ;; This is defined in tramp-sh.el. Let's assume this + ;; is loaded already. + (tramp-compat-funcall 'tramp-send-command + v + (cond + ((and beg end) + (format "tail -c +%d %s | head -c +%d >%s" + (1+ beg) (tramp-shell-quote-argument localname) + (- end beg) remote-copy)) + (beg + (format "tail -c +%d %s >%s" + (1+ beg) (tramp-shell-quote-argument localname) + remote-copy)) + (end + (format "head -c +%d %s >%s" + (1+ end) (tramp-shell-quote-argument localname) + remote-copy))))) -(defun tramp-get-connection-process (vec) - "Get the connection process to be used for VEC. -In case a second asynchronous communication has been started, it is different -from the default one." - (get-process - (or (tramp-get-connection-property vec "process-name" nil) - (tramp-buffer-name vec)))) + ;; `insert-file-contents-literally' takes care to avoid + ;; calling jka-compr. By let-binding + ;; `inhibit-file-name-operation', we propagate that care + ;; to the `file-local-copy' operation. + (setq local-copy + (let ((inhibit-file-name-operation + (when (eq inhibit-file-name-operation + 'insert-file-contents) + 'file-local-copy))) + (cond + ((stringp remote-copy) + (file-local-copy + (tramp-make-tramp-file-name + method user host remote-copy))) + ((stringp tramp-temp-buffer-file-name) + (copy-file filename tramp-temp-buffer-file-name 'ok) + tramp-temp-buffer-file-name) + (t (file-local-copy filename))))) -(defun tramp-debug-buffer-name (vec) - "A name for the debug buffer for VEC." - ;; We must use `tramp-file-name-real-host', because for gateway - ;; methods the default port will be expanded later on, which would - ;; tamper the name. - (let ((method (tramp-file-name-method vec)) - (user (tramp-file-name-user vec)) - (host (tramp-file-name-real-host vec))) - (if (not (zerop (length user))) - (format "*debug tramp/%s %s@%s*" method user host) - (format "*debug tramp/%s %s*" method host)))) + ;; When the file is not readable for the owner, it + ;; cannot be inserted, even it is redable for the group + ;; or for everybody. + (set-file-modes local-copy (tramp-compat-octal-to-decimal "0600")) -(defconst tramp-debug-outline-regexp - "[0-9]+:[0-9]+:[0-9]+\\.[0-9]+ [a-z0-9-]+ (\\([0-9]+\\)) #") + (when (and (null remote-copy) + (tramp-get-method-parameter + method 'tramp-copy-keep-tmpfile)) + ;; We keep the local file for performance reasons, + ;; useful for "rsync". + (setq tramp-temp-buffer-file-name local-copy) + (put 'tramp-temp-buffer-file-name 'permanent-local t)) -(defun tramp-get-debug-buffer (vec) - "Get the debug buffer for VEC." - (with-current-buffer - (get-buffer-create (tramp-debug-buffer-name vec)) - (when (bobp) - (setq buffer-undo-list t) - ;; Activate `outline-mode'. This runs `text-mode-hook' and - ;; `outline-mode-hook'. We must prevent that local processes - ;; die. Yes: I've seen `flyspell-mode', which starts "ispell". - ;; Furthermore, `outline-regexp' must have the correct value - ;; already, because it is used by `font-lock-compile-keywords'. - (let ((default-directory (tramp-compat-temporary-file-directory)) - (outline-regexp tramp-debug-outline-regexp)) - (outline-mode)) - (set (make-local-variable 'outline-regexp) tramp-debug-outline-regexp) - (set (make-local-variable 'outline-level) 'tramp-outline-level)) - (current-buffer))) + (with-progress-reporter + v 3 (format "Inserting local temp file `%s'" local-copy) + ;; We must ensure that `file-coding-system-alist' + ;; matches `local-copy'. + (let ((file-coding-system-alist + (tramp-find-file-name-coding-system-alist + filename local-copy))) + (setq result + (insert-file-contents + local-copy nil nil nil replace)))))) -(defun tramp-outline-level () - "Return the depth to which a statement is nested in the outline. -Point must be at the beginning of a header line. + ;; Save exit. + (progn + (when visit + (setq buffer-file-name filename) + (setq buffer-read-only (not (file-writable-p filename))) + (set-visited-file-modtime) + (set-buffer-modified-p nil) + ;; For root, preserve owner and group when editing files. + (when (string-equal (file-remote-p filename 'user) "root") - (set (make-local-variable 'backup-by-copying-when-mismatch) t) - (put 'backup-by-copying-when-mismatch 'permanent-local t))) ++ (set (make-local-variable 'backup-by-copying-when-mismatch) t))) + (when (and (stringp local-copy) + (or remote-copy (null tramp-temp-buffer-file-name))) + (delete-file local-copy)) + (when (stringp remote-copy) + (delete-file + (tramp-make-tramp-file-name method user host remote-copy)))))) -The outline level is equal to the verbosity of the Tramp message." - (1+ (string-to-number (match-string 1)))) + ;; Result. + (list (expand-file-name filename) + (cadr result)))) -(defun tramp-find-executable - (vec progname dirlist &optional ignore-tilde ignore-path) - "Searches for PROGNAME in $PATH and all directories mentioned in DIRLIST. -First arg VEC specifies the connection, PROGNAME is the program -to search for, and DIRLIST gives the list of directories to -search. If IGNORE-TILDE is non-nil, directory names starting -with `~' will be ignored. If IGNORE-PATH is non-nil, searches -only in DIRLIST. +(defun tramp-handle-load (file &optional noerror nomessage nosuffix must-suffix) + "Like `load' for Tramp files." + (with-parsed-tramp-file-name (expand-file-name file) nil + (unless nosuffix + (cond ((file-exists-p (concat file ".elc")) + (setq file (concat file ".elc"))) + ((file-exists-p (concat file ".el")) + (setq file (concat file ".el"))))) + (when must-suffix + ;; The first condition is always true for absolute file names. + ;; Included for safety's sake. + (unless (or (file-name-directory file) + (string-match "\\.elc?\\'" file)) + (tramp-error + v 'file-error + "File `%s' does not include a `.el' or `.elc' suffix" file))) + (unless noerror + (when (not (file-exists-p file)) + (tramp-error v 'file-error "Cannot load nonexistent file `%s'" file))) + (if (not (file-exists-p file)) + nil + (let ((tramp-message-show-message (not nomessage))) + (with-progress-reporter v 0 (format "Loading %s" file) + (let ((local-copy (file-local-copy file))) + ;; MUST-SUFFIX doesn't exist on XEmacs, so let it default to nil. + (unwind-protect + (load local-copy noerror t t) + (delete-file local-copy))))) + t))) -Returns the absolute file name of PROGNAME, if found, and nil otherwise. +(defun tramp-handle-substitute-in-file-name (filename) + "Like `substitute-in-file-name' for Tramp files. +\"//\" and \"/~\" substitute only in the local filename part. +If the URL Tramp syntax is chosen, \"//\" as method delimeter and \"/~\" at +beginning of local filename are not substituted." + ;; First, we must replace environment variables. + (setq filename (tramp-replace-environment-variables filename)) + (with-parsed-tramp-file-name filename nil + (if (equal tramp-syntax 'url) + ;; We need to check localname only. The other parts cannot contain + ;; "//" or "/~". + (if (and (> (length localname) 1) + (or (string-match "//" localname) + (string-match "/~" localname 1))) + (tramp-run-real-handler 'substitute-in-file-name (list filename)) + (tramp-make-tramp-file-name + (when method (substitute-in-file-name method)) + (when user (substitute-in-file-name user)) + (when host (substitute-in-file-name host)) + (when localname + (tramp-run-real-handler + 'substitute-in-file-name (list localname))))) + ;; Ignore in LOCALNAME everything before "//" or "/~". + (when (and (stringp localname) (string-match ".+?/\\(/\\|~\\)" localname)) + (setq filename + (concat (file-remote-p filename) + (replace-match "\\1" nil nil localname))) + ;; "/m:h:~" does not work for completion. We use "/m:h:~/". + (when (string-match "~$" filename) + (setq filename (concat filename "/")))) + (tramp-run-real-handler 'substitute-in-file-name (list filename))))) -This function expects to be in the right *tramp* buffer." - (with-current-buffer (tramp-get-connection-buffer vec) - (let (result) - ;; Check whether the executable is in $PATH. "which(1)" does not - ;; report always a correct error code; therefore we check the - ;; number of words it returns. - (unless ignore-path - (tramp-send-command vec (format "which \\%s | wc -w" progname)) - (goto-char (point-min)) - (if (looking-at "^\\s-*1$") - (setq result (concat "\\" progname)))) - (unless result - (when ignore-tilde - ;; Remove all ~/foo directories from dirlist. In XEmacs, - ;; `remove' is in CL, and we want to avoid CL dependencies. - (let (newdl d) - (while dirlist - (setq d (car dirlist)) - (setq dirlist (cdr dirlist)) - (unless (char-equal ?~ (aref d 0)) - (setq newdl (cons d newdl)))) - (setq dirlist (nreverse newdl)))) - (tramp-send-command - vec - (format (concat "while read d; " - "do if test -x $d/%s -a -f $d/%s; " - "then echo tramp_executable $d/%s; " - "break; fi; done <<'EOF'\n" - "%s\nEOF") - progname progname progname (mapconcat 'identity dirlist "\n"))) - (goto-char (point-max)) - (when (search-backward "tramp_executable " nil t) - (skip-chars-forward "^ ") - (skip-chars-forward " ") - (setq result (buffer-substring - (point) (tramp-compat-line-end-position))))) - result))) - -(defun tramp-set-remote-path (vec) - "Sets the remote environment PATH to existing directories. -I.e., for each directory in `tramp-remote-path', it is tested -whether it exists and if so, it is added to the environment -variable PATH." - (tramp-message vec 5 (format "Setting $PATH environment variable")) - (tramp-send-command - vec (format "PATH=%s; export PATH" - (mapconcat 'identity (tramp-get-remote-path vec) ":")))) - -;; ------------------------------------------------------------ -;; -- Communication with external shell -- -;; ------------------------------------------------------------ - -(defun tramp-find-file-exists-command (vec) - "Find a command on the remote host for checking if a file exists. -Here, we are looking for a command which has zero exit status if the -file exists and nonzero exit status otherwise." - (let ((existing "/") - (nonexisting - (tramp-shell-quote-argument "/ this file does not exist ")) - result) - ;; The algorithm is as follows: we try a list of several commands. - ;; For each command, we first run `$cmd /' -- this should return - ;; true, as the root directory always exists. And then we run - ;; `$cmd /this\ file\ does\ not\ exist ', hoping that the file indeed - ;; does not exist. This should return false. We use the first - ;; command we find that seems to work. - ;; The list of commands to try is as follows: - ;; `ls -d' This works on most systems, but NetBSD 1.4 - ;; has a bug: `ls' always returns zero exit - ;; status, even for files which don't exist. - ;; `test -e' Some Bourne shells have a `test' builtin - ;; which does not know the `-e' option. - ;; `/bin/test -e' For those, the `test' binary on disk normally - ;; provides the option. Alas, the binary - ;; is sometimes `/bin/test' and sometimes it's - ;; `/usr/bin/test'. - ;; `/usr/bin/test -e' In case `/bin/test' does not exist. - (unless (or - (and (setq result (format "%s -e" (tramp-get-test-command vec))) - (zerop (tramp-send-command-and-check - vec (format "%s %s" result existing))) - (not (zerop (tramp-send-command-and-check - vec (format "%s %s" result nonexisting))))) - (and (setq result "/bin/test -e") - (zerop (tramp-send-command-and-check - vec (format "%s %s" result existing))) - (not (zerop (tramp-send-command-and-check - vec (format "%s %s" result nonexisting))))) - (and (setq result "/usr/bin/test -e") - (zerop (tramp-send-command-and-check - vec (format "%s %s" result existing))) - (not (zerop (tramp-send-command-and-check - vec (format "%s %s" result nonexisting))))) - (and (setq result (format "%s -d" (tramp-get-ls-command vec))) - (zerop (tramp-send-command-and-check - vec (format "%s %s" result existing))) - (not (zerop (tramp-send-command-and-check - vec (format "%s %s" result nonexisting)))))) - (tramp-error - vec 'file-error "Couldn't find command to check if file exists")) - result)) +(defun tramp-handle-unhandled-file-name-directory (filename) + "Like `unhandled-file-name-directory' for Tramp files." + ;; With Emacs 23, we could simply return `nil'. But we must keep it + ;; for backward compatibility. + (expand-file-name "~/")) -(defun tramp-open-shell (vec shell) - "Opens shell SHELL." - (with-progress-reporter vec 5 (format "Opening remote shell `%s'" shell) - ;; Find arguments for this shell. - (let ((tramp-end-of-output tramp-initial-end-of-output) - (alist tramp-sh-extra-args) - item extra-args) - (while (and alist (null extra-args)) - (setq item (pop alist)) - (when (string-match (car item) shell) - (setq extra-args (cdr item)))) - (when extra-args (setq shell (concat shell " " extra-args))) - (tramp-send-command - vec (format "exec env ENV='' PROMPT_COMMAND='' PS1=%s PS2='' PS3='' %s" - (shell-quote-argument tramp-end-of-output) shell) - t)) - ;; Setting prompts. - (tramp-send-command - vec (format "PS1=%s" (shell-quote-argument tramp-end-of-output)) t) - (tramp-send-command vec "PS2=''" t) - (tramp-send-command vec "PS3=''" t) - (tramp-send-command vec "PROMPT_COMMAND=''" t))) - -(defun tramp-find-shell (vec) - "Opens a shell on the remote host which groks tilde expansion." - (unless (tramp-get-connection-property vec "remote-shell" nil) - (let (shell) - (with-current-buffer (tramp-get-buffer vec) - (tramp-send-command vec "echo ~root" t) - (cond - ((or (string-match "^~root$" (buffer-string)) - ;; The default shell (ksh93) of OpenSolaris is buggy. - (string-equal (tramp-get-connection-property vec "uname" "") - "SunOS 5.11")) - (setq shell - (or (tramp-find-executable - vec "bash" (tramp-get-remote-path vec) t t) - (tramp-find-executable - vec "ksh" (tramp-get-remote-path vec) t t))) - (unless shell - (tramp-error - vec 'file-error - "Couldn't find a shell which groks tilde expansion")) - (tramp-message - vec 5 "Starting remote shell `%s' for tilde expansion" shell) - (tramp-open-shell vec shell)) - - (t (tramp-message - vec 5 "Remote `%s' groks tilde expansion, good" - (tramp-set-connection-property - vec "remote-shell" - (tramp-get-method-parameter - (tramp-file-name-method vec) 'tramp-remote-sh))))))))) - -;; ------------------------------------------------------------ -;; -- Functions for establishing connection -- -;; ------------------------------------------------------------ +;;; Functions for establishing connection: ;; The following functions are actions to be taken when seeing certain ;; prompts from the remote host. See the variable diff --cc lisp/progmodes/python.el index e72b18afd6,dba8fe5572..d2bb82e058 --- a/lisp/progmodes/python.el +++ b/lisp/progmodes/python.el @@@ -170,28 -170,16 +170,16 @@@ ;; Make outer chars of matching triple-quote sequences into generic ;; string delimiters. Fixme: Is there a better way? ;; First avoid a sequence preceded by an odd number of backslashes. - `((,(concat "\\(?:\\([RUru]\\)[Rr]?\\|^\\|[^\\]\\(?:\\\\.\\)*\\)" ;Prefix. + (syntax-propertize-rules - (;; (rx (not (any ?\\)) - ;; ?\\ (* (and ?\\ ?\\)) - ;; (group (syntax string-quote)) - ;; (backref 1) - ;; (group (backref 1))) - ;; ¡Backrefs don't work in syntax-propertize-rules! - "[^\\]\\\\\\(\\\\\\\\\\)*\\(?:''\\('\\)\\|\"\"\\(?2:\"\\)\\)" - (2 "\"")) ; dummy - (;; (rx (optional (group (any "uUrR"))) ; prefix gets syntax property - ;; (optional (any "rR")) ; possible second prefix - ;; (group (syntax string-quote)) ; maybe gets property - ;; (backref 2) ; per first quote - ;; (group (backref 2))) ; maybe gets property - ;; ¡Backrefs don't work in syntax-propertize-rules! - "\\([RUru]\\)?[Rr]?\\(?:\\('\\)'\\('\\)\\|\\(?2:\"\\)\"\\(?3:\"\\)\\)" ++ (;; ¡Backrefs don't work in syntax-propertize-rules! ++ (concat "\\(?:\\([RUru]\\)[Rr]?\\|^\\|[^\\]\\(?:\\\\.\\)*\\)" ;Prefix. + "\\(?:\\('\\)'\\('\\)\\|\\(?2:\"\\)\"\\(?3:\"\\)\\)") - (1 (python-quote-syntax 1) nil lax) - (2 (python-quote-syntax 2)) - (3 (python-quote-syntax 3))) - ;; This doesn't really help. -;;; (,(rx (and ?\\ (group ?\n))) (1 " ")) - )) - -(defun python-quote-syntax (n) + (3 (ignore (python-quote-syntax)))) + ;; This doesn't really help. + ;;((rx (and ?\\ (group ?\n))) (1 " ")) + )) + +(defun python-quote-syntax () "Put `syntax-table' property correctly on triple quote. Used for syntactic keywords. N is the match number (1, 2 or 3)." ;; Given a triple quote, we have to check the context to know diff --cc lisp/progmodes/tcl.el index 10fe0e7885,cb69d49fcb..620d236078 --- a/lisp/progmodes/tcl.el +++ b/lisp/progmodes/tcl.el @@@ -1201,14 -1196,11 +1197,10 @@@ semicolon, opening brace, or opening br "Determine if point is in a comment. Returns a list of the form `(FLAG . STATE)'. STATE can be used as input to future invocations. FLAG is nil if not in comment, - t otherwise. If in comment, leaves point at beginning of comment. - - This function does not work in Emacs 18. - See also `tcl-simple-scan-for-comment', a - simpler version that is often right, and works in Emacs 18." + t otherwise. If in comment, leaves point at beginning of comment." (let ((bol (save-excursion (goto-char end) - (beginning-of-line) - (point))) + (line-beginning-position))) real-comment last-cstart) (while (and (not last-cstart) (< (point) end)) diff --cc lisp/server.el index 6fbef70768,17d6743a0f..ecc9b16cce --- a/lisp/server.el +++ b/lisp/server.el @@@ -598,9 -588,14 +603,14 @@@ server or call `M-x server-force-delete (setq buffer-file-coding-system 'no-conversion) (insert (format-network-address (process-contact server-process :local)) - " " (int-to-string (emacs-pid)) + " " (number-to-string (emacs-pid)) ; Kept for compatibility "\n" auth-key))))))))) + (defun server-force-stop () + "Kill all connections to the current server. + This function is meant to be called from `kill-emacs-hook'." + (server-start nil t)) + ;;;###autoload (defun server-force-delete (&optional name) "Unconditionally delete connection file for server NAME. diff --cc oldXMenu/ChangeLog index f05553a38b,62cd79446e..329a4ac956 --- a/oldXMenu/ChangeLog +++ b/oldXMenu/ChangeLog @@@ -1,48 -1,9 +1,54 @@@ -2010-11-01 Elias Pipping (tiny change) ++2010-11-09 Elias Pipping (tiny change) + + Make Emacs compile with clang (bug#7309). + * XMakeAssoc.c (XMakeAssoc): + * XDelAssoc.c (XDeleteAssoc): Declare the return type. + +2010-07-12 Dan Nicolaescu + + * XMenu.h: Include . + +2010-07-12 Andreas Schwab + + * Makefile.in (C_WARNINGS_SWITCH, PROFILING_CFLAGS): Set from + substitution. + (ALL_CFLAGS): Add ${C_WARNINGS_SWITCH} and ${PROFILING_CFLAGS}. + +2010-07-04 Dan Nicolaescu + + * Activate.c: Convert function definitions to standard C. + * AddPane.c: + * AddSel.c: + * ChgPane.c: + * ChgSel.c: + * Create.c: + * DelPane.c: + * DelSel.c: + * Destroy.c: + * Error.c: + * EvHand.c: + * FindPane.c: + * FindSel.c: + * InsPane.c: + * InsSel.c: + * Internal.c: + * Locate.c: + * Post.c: + * Recomp.c: + * SetAEQ.c: + * SetFrz.c: + * SetPane.c: + * SetSel.c: + * X10.h: + * XCrAssoc.c: + * XDelAssoc.c: + * XDestAssoc.c: + * XLookAssoc.c: + * XMakeAssoc.c: + * XMenu.h: + * XMenuInt.h: + * insque.c: Likewise. + 2010-05-07 Chong Yidong * Version 23.2 released. diff --cc oldXMenu/XDelAssoc.c index 7aca50aa56,e0f78b6aca..43446ae8a2 --- a/oldXMenu/XDelAssoc.c +++ b/oldXMenu/XDelAssoc.c @@@ -17,7 -17,11 +17,8 @@@ void emacs_remque(struct qelem*) * an XId. An association may be removed only once. Redundant * deletes are meaningless (but cause no problems). */ + void -XDeleteAssoc(dpy, table, x_id) - register Display *dpy; - register XAssocTable *table; - register XID x_id; +XDeleteAssoc(register Display *dpy, register XAssocTable *table, register XID x_id) { int hash; register XAssoc *bucket; diff --cc oldXMenu/XMakeAssoc.c index 84157399b4,e46674db60..3c79d17dc6 --- a/oldXMenu/XMakeAssoc.c +++ b/oldXMenu/XMakeAssoc.c @@@ -26,7 -27,12 +26,8 @@@ void emacs_insque (struct qelem *elem, * meaningless (but cause no problems). The queue in each association * bucket is sorted (lowest XId to highest XId). */ + void -XMakeAssoc(dpy, table, x_id, data) - register Display *dpy; - register XAssocTable *table; - register XID x_id; - register caddr_t data; +XMakeAssoc(register Display *dpy, register XAssocTable *table, register XID x_id, register caddr_t data) { int hash; register XAssoc *bucket; diff --cc src/ChangeLog index 5a0d859ac2,c52c84961f..985a07c4ea --- a/src/ChangeLog +++ b/src/ChangeLog @@@ -1,241 -1,87 +1,264 @@@ + 2010-11-09 Eli Zaretskii + + * xfns.c (x_real_positions): Fix declaration-after-statement + problem. + -2010-11-05 Chong Yidong ++2010-11-09 Chong Yidong + + * image.c (free_image): Don't garbage the frame here, since this + function can be called while redisplaying (Bug#7210). + (uncache_image): Garbage the frame here (Bug#6426). + -2010-11-04 Chong Yidong ++2010-11-09 Jan Djärv + - * process.c (Fmake_network_process): Don't apply Bug#5173 fix for - Windows. ++ * xfns.c (x_real_positions): Only use _NET_FRAME_EXTENTS if our ++ parent is the root window. Check this after traversing window tree. + -2010-11-04 YAMAMOTO Mitsuharu ++ * xterm.c (x_term_init): Initialize Xatom_net_frame_extents. + - * process.c (Fmake_network_process): Don't call turn_on_atimers around - `connect' (Bug#5723). ++ * xterm.h (struct x_display_info): Xatom_net_frame_extents is new. + -2010-11-04 Helmut Eller ++ * xfns.c (x_real_positions): Try to get _NET_FRAME_EXTENTS first ++ before traversing window tree (Bug#5721). + - * process.c (Fmake_network_process): Call `select' for interrupted - `connect' rather than creating new socket (Bug#5173). +2010-11-07 Jan Djärv -2010-11-04 Kenichi Handa + * xfns.c (set_machine_and_pid_properties): Let X set WM_CLIENT_MACHINE. - * font.c (font_delete_unmatched): Check Vface_ignored_fonts. - Don't sheck SPEC if it is nil. - (font_list_entities): Call font_delete_unmatched if - Vface_ignored_fonts is non-nil. + * xdisp.c (note_mode_line_or_margin_highlight): Initialize + Cursor to No_Cursor for HAVE_WINDOW_SYSTEM also. -2010-11-04 YAMAMOTO Mitsuharu +2010-11-06 Eli Zaretskii - * dispextern.h (TRY_WINDOW_CHECK_MARGINS) - (TRY_WINDOW_IGNORE_FONTS_CHANGE): New defines. + * xfns.c (Fx_show_tip): If any of the tool-tip text lines is R2L, + adjust width of tool-tip frame to the width of text, excluding the + stretch glyph at the beginning of R2L glyph rows. - * xdisp.c (try_window): Change arg from CHECK_MARGINS to FLAGS. - Don't abort with fonts change if TRY_WINDOW_IGNORE_FONTS_CHANGE is - set in FLAGS. Callers with non-zero CHECK_MARGINS changed to use - TRY_WINDOW_CHECK_MARGINS. + * w32fns.c (Fx_show_tip): Likewise. - * xfns.c (Fx_show_tip): Undo last change. Call try_window with - TRY_WINDOW_IGNORE_FONTS_CHANGE (Bug#2423). +2010-11-06 Jan Djärv -2010-11-04 Jan Djärv + * nsfont.m: Include termchar for new mouse-highlight. + (nsfont_draw): Use MOUSE_HL_INFO. - * xfns.c (x_real_positions): Only use _NET_FRAME_EXTENTS if our - parent is the root window. Check this after traversing window tree. +2010-11-05 Eli Zaretskii - * xterm.c (x_term_init): Initialize Xatom_net_frame_extents. + Unify mouse-highlight code for all GUI and TTY sessions. - * xterm.h (struct x_display_info): Xatom_net_frame_extents is new. + * term.c: Remove static mouse_face_* variables. All users + changed. + (term_show_mouse_face, term_clear_mouse_face) + (fast_find_position, term_mouse_highlight): Functions deleted. + (tty_draw_row_with_mouse_face): New function. + (term_mouse_movement): Call note_mouse_highlight instead of + term_mouse_highlight. + + * nsterm.m (ns_update_window_begin, ns_update_window_end) + (ns_update_end, x_destroy_window, ns_frame_up_to_date) + (ns_dumpglyphs_box_or_relief, ns_maybe_dumpglyphs_background) + (ns_dumpglyphs_image, ns_dumpglyphs_stretch) + (ns_initialize_display_info, keyDown, mouseMoved, mouseExited): + Replace Display_Info with Mouse_HLInfo everywhere where + mouse_face_* members were accessed for mouse highlight purposes. + + * xterm.c (x_update_window_begin, x_update_window_end) + (x_update_end, XTframe_up_to_date, x_set_mouse_face_gc) + (handle_one_xevent, x_free_frame_resources, x_term_init): Replace + Display_Info with Mouse_HLInfo everywhere where mouse_face_* + members were accessed for mouse highlight purposes. + + * w32term.c (x_update_window_begin, x_update_window_end) + (x_update_end, w32_read_socket, x_free_frame_resources) + (w32_initialize_display_info): Replace Display_Info with + Mouse_HLInfo everywhere where mouse_face_* members were accessed + for mouse highlight purposes. + + * xdisp.c (show_mouse_face, note_mode_line_or_margin_highlight) + (note_mouse_highlight) [HAVE_WINDOW_SYSTEM]: Don't run GUI code + unless the frame is on a window-system. + (get_tool_bar_item, handle_tool_bar_click) + (note_tool_bar_highlight, draw_glyphs, erase_phys_cursor) + (show_mouse_face, clear_mouse_face, coords_in_mouse_face_p) + (note_mode_line_or_margin_highlight, note_mouse_highlight) + (x_clear_window_mouse_face, cancel_mouse_face, expose_frame): + Replace Display_Info with Mouse_HLInfo everywhere where + mouse_face_* members were accessed for mouse highlight purposes. + (coords_in_mouse_face_p): Move prototype out of the + HAVE_WINDOW_SYSTEM conditional. + (x_y_to_hpos_vpos, frame_to_window_pixel_xy): Move out of the + HAVE_WINDOW_SYSTEM block. + (try_window_id) [HAVE_GPM || MSDOS]: Call + x_clear_window_mouse_face. + (draw_row_with_mouse_face): Implementation for HAVE_WINDOW_SYSTEM + systems. Call tty_draw_row_with_mouse_face for TTY systems. + (show_mouse_face): Call draw_row_with_mouse_face, instead of + calling draw_glyphs directly. + (show_mouse_face, clear_mouse_face, coords_in_mouse_face_p) + (cursor_in_mouse_face_p, rows_from_pos_range) + (mouse_face_from_buffer_pos, mouse_face_from_string_pos) + (note_mode_line_or_margin_highlight, note_mouse_highlight) + (x_clear_window_mouse_face, cancel_mouse_face): Move out of the + HAVE_WINDOW_SYSTEM block. Ifdef away window-system specific + fragments. + (note_mouse_highlight): Call popup_activated for MSDOS as well. + Clear mouse highlight if pointer is over glyphs whose OBJECT is an + integer. + (mouse_face_from_buffer_pos): Add parentheses around && within ||. + (x_consider_frame_title, tool_bar_lines_needed): Move + prototypes to HAVE_WINDOW_SYSTEM-only part. + (get_window_cursor_type): Move inside a HAVE_WINDOW_SYSTEM-only + part. Remove "#ifdef HAVE_WINDOW_SYSTEM" from body of function. + (null_glyph_slice): Move declaration into HAVE_WINDOW_SYSTEM-only + part. + + * dispnew.c (mirror_make_current): Set Y coordinate of the + mode-line and header-line rows. + (init_display): Setup initial frame's output_data for text + terminal frames. + + * xmenu.c (popup_activated): Don't define on MSDOS, which now has + its own definition on msdos.c. + + * msdos.c (show_mouse_face, clear_mouse_face) + (fast_find_position, IT_note_mode_line_highlight) + (IT_note_mouse_highlight): Functions deleted. + (IT_frame_up_to_date, dos_rawgetc): Call note_mouse_highlight + instead of IT_note_mouse_highlight. + (draw_row_with_mouse_face, popup_activated): New functions. + (dos_set_window_size, draw_row_with_mouse_face, IT_update_begin) + (IT_update_end, IT_frame_up_to_date, internal_terminal_init) + (dos_rawgetc): Replace Display_Info with Mouse_HLInfo everywhere + where mouse_face_* members were accessed for mouse highlight + purposes. + + * msdos.h (initialize_msdos_display): Add prototype. + + * frame.h (MOUSE_HL_INFO): New macro. + + * lisp.h (Mouse_HLInfo): New data type. + + * xterm.h (struct x_display_info): + * w32term.h (struct w32_display_info): + * nsterm.h (struct ns_display_info): + * termchar.h (struct tty_display_info): Use it instead of + mouse_face_* members. + + * dispextern.h (show_mouse_face, clear_mouse_face): Update type of + 1st argument. + (frame_to_window_pixel_xy, note_mouse_highlight) + (x_clear_window_mouse_face, cancel_mouse_face, clear_mouse_face) + (show_mouse_face, cursor_in_mouse_face_p): Move prototypes out of + HAVE_WINDOW_SYSTEM conditional. + (draw_row_with_mouse_face): Declare prototype. + (tty_draw_row_with_mouse_face): Declare prototype. + +2010-11-05 Eli Zaretskii + + * term.c (append_glyphless_glyph, produce_glyphless_glyph): Remove + unused variables. + +2010-11-05 Adrian Robert + + * nsterm.m (EmacsView-mouseExited:): Correct error in conditional + logic pointed out by Eli Zaretskii. + +2010-11-04 Lars Magne Ingebrigtsen + + * coding.c (coding-category-list): Refer to set-coding-system-priority + instead of the obsolete set-coding-priority in the doc string. + + +2010-11-04 Adrian Robert + + * nsfont.m (nsfont_draw): Correct previous patch to return + correct value. + * nsimage.m (EmacsImage-setXBMColor:): Correct previous patch: + don't change the method signature, change the return. + +2010-11-04 Ismail Donmez (tiny change) + + * nsfont.m (nsfont_draw) + * nsimage.m (EmacsImage-setXBMColor:) + * nsterm.m (EmacsView-performDragOperation:): Correct empty return. + +2010-11-03 Julien Danjou + + * image.c (gif_load): Add support for transparency and specified + :background. + +2010-11-01 Kenichi Handa + + * dispextern.h (lookup_glyphless_char_display): Extern it. + + * termhooks.h (struct terminal): New member charset_list. + + * coding.c (Fset_terminal_coding_system_internal): Set the + `charset_list' member of struct terminal. - * xfns.c (x_real_positions): Try to get _NET_FRAME_EXTENTS first - before traversing window tree (Bug#5721). + * term.c (produce_glyphs): Handle the case it->what == IT_GLYPHLESS. + (append_glyphless_glyph, produce_glyphless_glyph): New functions. -2010-11-03 Glenn Morris + * xdisp.c (lookup_glyphless_char_display): Make it non-static. + (lookup_glyphless_char_display): Set it->what at the end. + (last_glyphless_glyph_frame, last_glyphless_glyph_face_id) + (last_glyphless_glyph_merged_face_id): Make them non-static. - * Makefile.in (CRT_DIR): New variable, set by configure. - * m/amdx86-64.h, m/ibms390x.h (START_FILES, LIB_STANDARD): - Use $CRT_DIR rather than HAVE_LIB64_DIR. (Bug#5655) + * w32term.c (x_draw_glyphless_glyph_string_foreground): + Fix the arg with_background for font->driver->draw. -2010-11-01 Jan Djärv +2010-11-01 Kenichi Handa - * process.c (kbd_is_on_hold): New variable. - (hold_keyboard_input, unhold_keyboard_input, kbd_on_hold_p): - New functions. - (wait_reading_process_output): If kbd_on_hold_p returns non-zero, - select on empty input mask. - (init_process): Initialize kbd_is_on_hold to 0. + * w32gui.h (STORE_XCHAR2B, XCHAR2B_BYTE1, XCHAR2B_BYTE2): + Surround chp by parentheses. - * process.h (hold_keyboard_input, unhold_keyboard_input) - (kbd_on_hold_p): Declare. +2010-11-01 Kenichi Handa - * keyboard.c (input_available_signal): Declare. - (kbd_buffer_nr_stored): New function. - (kbd_buffer_store_event_hold): If kbd_buffer_nr_stored returns - more than KBD_BUFFER_SIZE/2, stop reding input (Bug#6571). - (kbd_buffer_get_event): If input is suspended and kbd_buffer_nr_stored - returns less than KBD_BUFFER_SIZE/4, resume reding input (Bug#6571). - (tty_read_avail_input): If input is on hold, return. - Don't read more that free slots in kbd_buffer (Bug#6571). + Implement various display methods for glyphless characters. + + * xdisp.c (Qglyphless_char, Vglyphless_char_display) + (Qglyphless_char_display, Qhexa_code, Qempty_box, Qthin_space) + (Qzero_width): New variables. + (THIN_SPACE_WIDTH): New macro. + (lookup_glyphless_char_display): New funciton. + (last_glyphless_glyph_frame, last_glyphless_glyph_face_id) + (last_glyphless_glyph_merged_face_id): New variables. + (get_next_display_element): Check glyphless characters. + (redisplay_internal): Initialize last_glyphless_glyph_frame and + last_glyphless_glyph_face_id. + (fill_glyphless_glyph_string): New function. + (BUILD_GLYPHLESS_GLYPH_STRING): New macro. + (BUILD_GLYPH_STRINGS): Handle the case GLYPHLESS_GLYPH. + (append_glyphless_glyph, produce_glyphless_glyph): New functions. + (x_produce_glyphs): If a suitable font is not found, produce a + glyphless glyph. Handle the case it->what == IT_GLYPHLESS. + (syms_of_xdisp): Intern and staticpro Qglyphless_char, + Qglyphless_char_display, Qhexa_code, Qempty_box, Qthin_space, and + Qzero_width. + (Vglyphless_char_display): Declare it as a Lisp variable. + + * dispextern.h (enum glyph_type): Add GLYPHLESS_GLYPH. + (struct glyph): Change the size of the member "type" to 3. + Add glyphless to the union slice and u. + (enum display_element_type): Add IT_GLYPHLESS. + (enum glyphless_display_method): New enum. + (struct it): New member glyphless_method. + (Vglyphless_char_display): Extern it. + + * xterm.c (x_draw_glyphless_glyph_string_foreground): New function. + (x_draw_glyph_string): Handle the case GLYPHLESS_GLYPH. + + * w32term.c (x_draw_glyphless_glyph_string_foreground): New function. + (x_draw_glyph_string): Handle the case GLYPHLESS_GLYPH. + + * nsterm.m (ns_draw_glyph_string): Handle the case + GLYPHLESS_GLYPH (the detail is not yet implemented). + +2010-10-31 Glenn Morris + + * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Fix merge, maybe. + + * frame.c (syms_of_frame) : + Default to nil if !HAVE_WINDOW_SYSTEM. (Bug#7299) 2010-10-31 Chong Yidong diff --cc src/xterm.c index 7297ee71f0,22019e2279..4c0493891e --- a/src/xterm.c +++ b/src/xterm.c @@@ -10274,10 -10522,9 +10274,12 @@@ x_term_init (Lisp_Object display_name, = XInternAtom (dpyinfo->display, "_NET_WM_WINDOW_TYPE", False); dpyinfo->Xatom_net_window_type_tooltip = XInternAtom (dpyinfo->display, "_NET_WM_WINDOW_TYPE_TOOLTIP", False); + dpyinfo->Xatom_net_wm_icon_name + = XInternAtom (dpyinfo->display, "_NET_WM_ICON_NAME", False); + dpyinfo->Xatom_net_wm_name + = XInternAtom (dpyinfo->display, "_NET_WM_NAME", False); + dpyinfo->Xatom_net_frame_extents + = XInternAtom (dpyinfo->display, "_NET_FRAME_EXTENTS", False); - dpyinfo->cut_buffers_initialized = 0; dpyinfo->x_dnd_atoms_size = 8; dpyinfo->x_dnd_atoms_length = 0;