Merge from trunk.

This commit is contained in:
Eli Zaretskii 2013-09-26 10:37:16 +03:00
commit b87c4ff281
352 changed files with 22082 additions and 5889 deletions

View file

@ -1,3 +1,87 @@
2013-09-25 Paul Eggert <eggert@cs.ucla.edu>
Merge from gnulib, incorporating:
2013-09-24 manywarnings: enable nicer gcc warning messages
2013-09-23 warnings: port --enable-gcc-warnings to Solaris Studio 12.3
2013-09-21 timespec: use the new TIMESPEC_RESOLUTION elsewhere
* configure.ac (WERROR_CFLAGS): Omit -fdiagnostics-show-option
and -funit-at-a-time, since manywarnings does that for us now.
2013-09-23 Jan Djärv <jan.h.d@swipnet.se>
* configure.ac: With clang, check for and use -Wno-switch,
-Wno-tautological-constant-out-of-range-compare and -Wno-pointer-sign.
2013-09-23 Daniel Colascione <dancol@dancol.org>
* configure.ac: Check for valgrind headers.
2013-09-20 Xue Fuqiao <xfq.free@gmail.com>
* INSTALL: New homepage of libtiff.
2013-09-20 Paul Eggert <eggert@cs.ucla.edu>
Work around performance bug on OS X 10.8 and earlier.
Perhaps Apple will fix this bug some day.
See the thread starting with Daniel Colascione's email in:
http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00343.html
* configure.ac (FORTIFY_SOUR): New verbatim section.
2013-09-19 Paul Eggert <eggert@cs.ucla.edu>
Merge from gnulib, incorporating:
2013-09-19 stdio: OS X port of putc_unlocked + extern inline
2013-09-19 signal: OS X port of sigaddset etc. + extern inline
2013-09-19 extern-inline: do not always suppress extern inline on OS X
2013-09-17 getgroups: statement without effect
2013-08-28 headers: check that _GL_INLINE_HEADER_BEGIN is defined
2013-09-19 Eli Zaretskii <eliz@gnu.org>
* configure.ac <srcdir> [MINGW32]: Make sure the value of 'srcdir'
is in the full /d/foo/bar form. See the discussion in
http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00210.html,
and in particular
http://lists.gnu.org/archive/html/emacs-devel/2013-09/msg00252.html
and its followups, for the details.
2013-09-17 Dmitry Antipov <dmantipov@yandex.ru>
* configure.ac: Do not check for g_type_init because we
require glib >= 2.28 for GTK3, glib >= 2.10 for GTK2,
glib >= 2.26 for GSettings and glib >= 2.7.0 for GConf, so
suitable glib should provide g_type_init unconditionally.
2013-09-15 Jan Djärv <jan.h.d@swipnet.se>
* configure.ac: Add check for OSX 10.5, required for macfont.o.
2013-09-09 Glenn Morris <rgm@gnu.org>
* configure.ac (LDFLAGS_NOCOMBRELOC): New variable.
(LDFLAGS): Move nocombreloc option from here...
(LD_SWITCH_SYSTEM_TEMACS): ... to here.
2013-09-08 Glenn Morris <rgm@gnu.org>
* configure.ac (--without-compress-install):
Rename from --without-compress-info. (Bug#9789)
(GZIP_INFO): Remove.
(GZIP_PROG): Allow --without-compress-install to disable it.
* Makefile.in (GZIP_INFO): Remove all references.
* info/dir: Tweak emacs-gnutls entry.
2013-09-07 Paul Eggert <eggert@cs.ucla.edu>
Port --without-x --enable-gcc-warnings to Fedora 19.
* configure.ac (WERROR_CFLAGS): Omit redundant use of
-Wmissing-field-initializers, -Wswitch, -Wtype-limits,
-Wunused-parameter. If there is no window system, also omit
-Wsuggest-attribute=const and -Wsuggest-attribute=noreturn; this
is needed for Fedora 19.
2013-09-05 Dmitry Antipov <dmantipov@yandex.ru>
Make --without-x compatible with --enable-gcc-warnings.

16
INSTALL
View file

@ -117,19 +117,7 @@ packages. Note that if there is a separate `dev' or `devel' package,
for use at compilation time rather than run time, you will need that
as well as the corresponding run time package; typically the dev
package will contain header files and a library archive. Otherwise,
you can download and build libraries from sources.
The sources of these libraries are available by anonymous CVS from
cvs.m17n.org.
% cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/m17n login
% cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/m17n co m17n-db
% cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/m17n co m17n-lib
% cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/m17n co libotf
For m17n-lib, if you have problems with making the whole package
because you lack some other packages on which m17n-lib depends, try to
configure it with the option "--without-gui".
you can download the libraries from <http://www.nongnu.org/m17n/>.
Note that Emacs cannot support complex scripts on a TTY, unless the
terminal includes such a support.
@ -176,7 +164,7 @@ does not provide them):
. libpng for PNG: http://www.libpng.org/
. libz (for PNG): http://www.zlib.net/
. libjpeg for JPEG: http://www.ijg.org/
. libtiff for TIFF: http://www.libtiff.org/
. libtiff for TIFF: http://www.remotesensing.org/libtiff/
. libgif for GIF: http://sourceforge.net/projects/giflib/
Emacs will configure itself to build with these libraries if the

View file

@ -259,8 +259,6 @@ LN_S_FILEONLY = @LN_S_FILEONLY@
# We use gzip to compress installed .el files.
GZIP_PROG = @GZIP_PROG@
# If non-nil, gzip the installed Info and man pages.
GZIP_INFO = @GZIP_INFO@
# ============================= Targets ==============================
@ -662,7 +660,7 @@ install-info: info
for f in `ls $$elt $$elt-[1-9] $$elt-[1-9][0-9] 2>/dev/null`; do \
(cd $${thisdir}; \
${INSTALL_DATA} ${srcdir}/info/$$f $(DESTDIR)${infodir}/$$f); \
( [ -n "${GZIP_INFO}" ] && [ -n "${GZIP_PROG}" ] ) || continue ; \
[ -n "${GZIP_PROG}" ] || continue ; \
rm -f $(DESTDIR)${infodir}/$$f.gz; \
${GZIP_PROG} -9n $(DESTDIR)${infodir}/$$f; \
done; \
@ -684,7 +682,7 @@ install-man:
dest=`echo "$${page}" | sed -e 's/\.1$$//' -e '$(TRANSFORM)'`.1; \
(cd $${thisdir}; \
${INSTALL_DATA} ${mansrcdir}/$${page} $(DESTDIR)${man1dir}/$${dest}); \
( [ -n "${GZIP_INFO}" ] && [ -n "${GZIP_PROG}" ] ) || continue ; \
[ -n "${GZIP_PROG}" ] || continue ; \
rm -f $(DESTDIR)${man1dir}/$${dest}.gz; \
${GZIP_PROG} -9n $(DESTDIR)${man1dir}/$${dest} || true; \
done
@ -754,12 +752,12 @@ uninstall: uninstall-$(NTDIR) uninstall-doc
for elt in ${INFO_NONMISC} $${info_misc}; do \
(cd $${thisdir}; \
$(INSTALL_INFO) --remove --info-dir=$(DESTDIR)${infodir} $(DESTDIR)${infodir}/$$elt); \
if [ -n "${GZIP_INFO}" ] && [ -n "${GZIP_PROG}" ]; then \
if [ -n "${GZIP_PROG}" ]; then \
ext=.gz; else ext=; fi; \
rm -f $$elt$$ext $$elt-[1-9]$$ext $$elt-[1-9][0-9]$$ext; \
done; \
fi)
(if [ -n "${GZIP_INFO}" ] && [ -n "${GZIP_PROG}" ]; then \
(if [ -n "${GZIP_PROG}" ]; then \
ext=.gz; else ext=; fi; \
if cd ${mansrcdir}; then \
for page in *.1; do \

View file

@ -68,7 +68,6 @@ I think this is different to what you get if you just use eg `make
emacs.pdf' (e.g., enable "smallbook").
** Check the keybindings in the refcards are correct, and add any new ones.
Regenerate the pdf versions in etc/refcards/.
What paper size are the English versions supposed to be on?
On Debian testing, the packages texlive-lang-czechslovak and
texlive-lang-polish will let you generate the cs-* and sk-* pdfs.
@ -138,7 +137,7 @@ SECTION READERS
----------------------------------
TUTORIAL cyd
TUTORIAL.bg ogi
TUTORIAL.cn
TUTORIAL.cn xfq
TUTORIAL.cs
TUTORIAL.de wl
TUTORIAL.eo
@ -146,7 +145,7 @@ TUTORIAL.es
TUTORIAL.fr
TUTORIAL.he eliz
TUTORIAL.it
TUTORIAL.ja
TUTORIAL.ja
TUTORIAL.ko
TUTORIAL.nl Pieter Schoenmakers
TUTORIAL.pl

View file

@ -677,7 +677,6 @@ GSETTINGS_LIBS = @GSETTINGS_LIBS@
GTK_CFLAGS = @GTK_CFLAGS@
GTK_LIBS = @GTK_LIBS@
GTK_OBJ = @GTK_OBJ@
GZIP_INFO = @GZIP_INFO@
GZIP_PROG = @GZIP_PROG@
HAVE_ALPHASORT = @HAVE_ALPHASORT@
HAVE_ATOLL = @HAVE_ATOLL@

View file

@ -127,6 +127,20 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
*/
#undef FIRST_PTY_LETTER
/* Without the following workaround, Emacs runs slowly on OS X 10.8.
The workaround disables some useful run-time checking, so it
should be conditional to the platforms with the performance bug.
Perhaps Apple will fix this some day; also see m4/extern-inline.m4. */
#if defined __APPLE__ && defined __GNUC__
# ifndef _DONT_USE_CTYPE_INLINE_
# define _DONT_USE_CTYPE_INLINE_
# endif
# ifndef _FORTIFY_SOURCE
# define _FORTIFY_SOURCE 0
# endif
#endif
/* Enable compile-time and run-time bounds-checking, and some warnings,
without upsetting glibc 2.15+. */
#if !defined _FORTIFY_SOURCE && defined __OPTIMIZE__ && __OPTIMIZE__
@ -604,9 +618,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the `gtk_window_set_has_resize_grip' function. */
#undef HAVE_GTK_WINDOW_SET_HAS_RESIZE_GRIP
/* Define to 1 if you have the `g_type_init' function. */
#undef HAVE_G_TYPE_INIT
/* Define to 1 if netdb.h declares h_errno. */
#undef HAVE_H_ERRNO
@ -1091,6 +1102,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the <utmp.h> header file. */
#undef HAVE_UTMP_H
/* Define to 1 if you have the <valgrind/valgrind.h> header file. */
#undef HAVE_VALGRIND_VALGRIND_H
/* Define to 1 if you have the `vfork' function. */
#undef HAVE_VFORK
@ -1645,20 +1659,28 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
'reference to static identifier "f" in extern inline function'.
This bug was observed with Sun C 5.12 SunOS_i386 2011/11/16.
Suppress the use of extern inline on Apple's platforms, as Libc at least
through Libc-825.26 (2013-04-09) is incompatible with it; see, e.g.,
Suppress the use of extern inline on problematic Apple configurations, as
Libc at least through Libc-825.26 (2013-04-09) mishandles it; see, e.g.,
<http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
Perhaps Apple will fix this some day. */
#if (defined __APPLE__ \
&& ((! defined _DONT_USE_CTYPE_INLINE_ \
&& (defined __GNUC__ || defined __cplusplus)) \
|| (defined _FORTIFY_SOURCE && 0 < _FORTIFY_SOURCE \
&& defined __GNUC__ && ! defined __cplusplus)))
# define _GL_EXTERN_INLINE_APPLE_BUG
#endif
#if ((__GNUC__ \
? defined __GNUC_STDC_INLINE__ && __GNUC_STDC_INLINE__ \
: (199901L <= __STDC_VERSION__ \
&& !defined __HP_cc \
&& !(defined __SUNPRO_C && __STDC__))) \
&& !defined __APPLE__)
&& !defined _GL_EXTERN_INLINE_APPLE_BUG)
# define _GL_INLINE inline
# define _GL_EXTERN_INLINE extern inline
# define _GL_EXTERN_INLINE_IN_USE
#elif (2 < __GNUC__ + (7 <= __GNUC_MINOR__) && !defined __STRICT_ANSI__ \
&& !defined __APPLE__)
&& !defined _GL_EXTERN_INLINE_APPLE_BUG)
# if __GNUC_GNU_INLINE__
/* __gnu_inline__ suppresses a GCC 4.2 diagnostic. */
# define _GL_INLINE extern inline __attribute__ ((__gnu_inline__))
@ -1666,6 +1688,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
# define _GL_INLINE extern inline
# endif
# define _GL_EXTERN_INLINE extern
# define _GL_EXTERN_INLINE_IN_USE
#else
# define _GL_INLINE static _GL_UNUSED
# define _GL_EXTERN_INLINE static _GL_UNUSED

613
autogen/configure vendored
View file

@ -1407,8 +1407,8 @@ GZIP_PROG
INSTALL_INFO
LN_S_FILEONLY
GNULIB_WARN_CFLAGS
WARN_CFLAGS
WERROR_CFLAGS
WARN_CFLAGS
RANLIB
ARFLAGS
AR
@ -1442,7 +1442,6 @@ build_vendor
build_cpu
build
PROFILING_CFLAGS
GZIP_INFO
cache_file
am__untar
am__tar
@ -1545,7 +1544,7 @@ with_gnutls
with_zlib
with_file_notification
with_makeinfo
with_compress_info
with_compress_install
with_pkg_config_prog
with_gameuser
with_gnustep_conf
@ -2278,7 +2277,9 @@ Optional Packages:
use a file notification library (LIB one of: yes,
gfile, inotify, w32, no)
--without-makeinfo don't require makeinfo for building manuals
--without-compress-info don't compress the installed Info pages
--without-compress-install
don't compress some files (.el, .info, etc.) when
installing. Equivalent to: make GZIP_PROG= install
--with-pkg-config-prog=FILENAME
file name of pkg-config for finding GTK and librsvg
--with-gameuser=USER user for shared game score files
@ -4429,17 +4430,11 @@ fi
## This is an option because I do not know if all info/man support
## compressed files, nor how to test if they do so.
# Check whether --with-compress-info was given.
if test "${with_compress_info+set}" = set; then :
withval=$with_compress_info;
# Check whether --with-compress-install was given.
if test "${with_compress_install+set}" = set; then :
withval=$with_compress_install;
else
with_compress_info=$with_features
fi
if test $with_compress_info = yes; then
GZIP_INFO=yes
else
GZIP_INFO=
with_compress_install=$with_features
fi
@ -4628,6 +4623,17 @@ case "${srcdir}" in
* ) srcdir=`(cd "$srcdir"; pwd)` ;;
esac
#### When building with MinGW inside the MSYS tree, 'pwd' produces
#### directories relative to the root of the MSYS tree,
#### e.g. '/home/user/foo' instead of '/d/MSYS/home/user/foo'. When
#### such a value of srcdir is written to the top-level Makefile, it
#### gets propagated to src/epaths.h, and that causes temacs to fail,
#### because, being a MinGW program that knows nothing of MSYS root
#### substitution, it cannot find the data directory. "pwd -W"
#### produces Windows-style 'd:/foo/bar' absolute directory names, so
#### we use it here to countermand that lossage.
test "$MSYSTEM" = "MINGW32" && srcdir=`(cd "$srcdir"; pwd -W | sed -e 's,^\([A-Za-z]\):,/\1,')`
### Canonicalize the configuration name.
# Make sure we can run config.sub.
@ -7539,23 +7545,45 @@ fi
# Otherwise, run RUN-IF-NOT-FOUND.
# clang is unduly picky about some things.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler is clang" >&5
$as_echo_n "checking whether the compiler is clang... " >&6; }
if test "${emacs_cv_clang+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#ifndef __clang__
#error "not clang"
#endif
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
emacs_cv_clang=yes
else
emacs_cv_clang=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $emacs_cv_clang" >&5
$as_echo "$emacs_cv_clang" >&6; }
# When compiling with GCC, prefer -isystem to -I when including system
# include files, to avoid generating useless diagnostics for the files.
if test "$gl_gcc_warnings" != yes; then
isystem='-I'
else
isystem='-isystem '
# This, $nw, is the list of warnings we disable.
nw=
case $with_x_toolkit in
lucid | athena | motif)
# Old toolkits mishandle 'const'.
nw="$nw -Wwrite-strings"
;;
*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Werror -Wunknown-warning-option" >&5
if test "$emacs_cv_clang" = yes
then
# Turn off some warnings if supported.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Werror -Wunknown-warning-option" >&5
$as_echo_n "checking whether C compiler handles -Werror -Wunknown-warning-option... " >&6; }
if test "${gl_cv_warn_c__Werror__Wunknown_warning_option+set}" = set; then :
$as_echo_n "(cached) " >&6
@ -7574,12 +7602,13 @@ main ()
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Werror__Wunknown_warning_option=yes
else
gl_cv_warn_c__Werror__Wunknown_warning_option=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@ -7592,6 +7621,130 @@ else
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-switch" >&5
$as_echo_n "checking whether C compiler handles -Wno-switch... " >&6; }
if test "${gl_cv_warn_c__Wno_switch+set}" = set; then :
$as_echo_n "(cached) " >&6
else
gl_save_compiler_FLAGS="$CFLAGS"
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wswitch"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_switch=yes
else
gl_cv_warn_c__Wno_switch=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_switch" >&5
$as_echo "$gl_cv_warn_c__Wno_switch" >&6; }
if test "x$gl_cv_warn_c__Wno_switch" = x""yes; then :
as_fn_append WARN_CFLAGS " -Wno-switch"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-tautological-constant-out-of-range-compare" >&5
$as_echo_n "checking whether C compiler handles -Wno-tautological-constant-out-of-range-compare... " >&6; }
if test "${gl_cv_warn_c__Wno_tautological_constant_out_of_range_compare+set}" = set; then :
$as_echo_n "(cached) " >&6
else
gl_save_compiler_FLAGS="$CFLAGS"
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wtautological-constant-out-of-range-compare"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_tautological_constant_out_of_range_compare=yes
else
gl_cv_warn_c__Wno_tautological_constant_out_of_range_compare=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_tautological_constant_out_of_range_compare" >&5
$as_echo "$gl_cv_warn_c__Wno_tautological_constant_out_of_range_compare" >&6; }
if test "x$gl_cv_warn_c__Wno_tautological_constant_out_of_range_compare" = x""yes; then :
as_fn_append WARN_CFLAGS " -Wno-tautological-constant-out-of-range-compare"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-pointer-sign" >&5
$as_echo_n "checking whether C compiler handles -Wno-pointer-sign... " >&6; }
if test "${gl_cv_warn_c__Wno_pointer_sign+set}" = set; then :
$as_echo_n "(cached) " >&6
else
gl_save_compiler_FLAGS="$CFLAGS"
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wpointer-sign"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_pointer_sign=yes
else
gl_cv_warn_c__Wno_pointer_sign=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_pointer_sign" >&5
$as_echo "$gl_cv_warn_c__Wno_pointer_sign" >&6; }
if test "x$gl_cv_warn_c__Wno_pointer_sign" = x""yes; then :
as_fn_append WARN_CFLAGS " -Wno-pointer-sign"
fi
fi
else
isystem='-isystem '
# This, $nw, is the list of warnings we disable.
nw=
case $with_x_toolkit in
lucid | athena | motif)
# Old toolkits mishandle 'const'.
nw="$nw -Wwrite-strings"
;;
*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Werror" >&5
$as_echo_n "checking whether C compiler handles -Werror... " >&6; }
if test "${gl_cv_warn_c__Werror+set}" = set; then :
@ -7611,12 +7764,13 @@ main ()
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Werror=yes
else
gl_cv_warn_c__Werror=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@ -7656,36 +7810,13 @@ fi
# The following line should be removable at some point.
nw="$nw -Wsuggest-attribute=pure"
# clang is unduly picky about some things.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler is clang" >&5
$as_echo_n "checking whether the compiler is clang... " >&6; }
if test "${emacs_cv_clang+set}" = set; then :
$as_echo_n "(cached) " >&6
else
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
# This part is merely for shortening the command line,
# since -Wno-FOO needs to be added below regardless.
nw="$nw -Wmissing-field-initializers"
nw="$nw -Wswitch"
nw="$nw -Wtype-limits"
nw="$nw -Wunused-parameter"
#ifndef __clang__
#error "not clang"
#endif
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
emacs_cv_clang=yes
else
emacs_cv_clang=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $emacs_cv_clang" >&5
$as_echo "$emacs_cv_clang" >&6; }
if test $emacs_cv_clang = yes; then
nw="$nw -Wcast-align"
fi
@ -7909,6 +8040,8 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
-Wvla \
-Wvolatile-register-var \
-Wwrite-strings \
-fdiagnostics-show-option \
-funit-at-a-time \
\
; do
gl_manywarn_set="$gl_manywarn_set $gl_manywarn_item"
@ -7966,12 +8099,13 @@ main ()
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
if ac_fn_c_try_link "$LINENO"; then :
eval "$as_gl_Warn=yes"
else
eval "$as_gl_Warn=no"
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@ -8005,12 +8139,13 @@ main ()
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_missing_field_initializers=yes
else
gl_cv_warn_c__Wno_missing_field_initializers=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@ -8041,12 +8176,13 @@ main ()
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_sign_compare=yes
else
gl_cv_warn_c__Wno_sign_compare=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@ -8077,12 +8213,13 @@ main ()
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_type_limits=yes
else
gl_cv_warn_c__Wno_type_limits=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@ -8113,12 +8250,13 @@ main ()
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_switch=yes
else
gl_cv_warn_c__Wno_switch=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@ -8149,12 +8287,13 @@ main ()
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_unused_parameter=yes
else
gl_cv_warn_c__Wno_unused_parameter=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@ -8185,12 +8324,13 @@ main ()
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_format_nonliteral=yes
else
gl_cv_warn_c__Wno_format_nonliteral=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@ -8224,12 +8364,13 @@ main ()
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_logical_op=yes
else
gl_cv_warn_c__Wno_logical_op=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@ -8263,12 +8404,13 @@ main ()
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_format_extra_args=yes
else
gl_cv_warn_c__Wno_format_extra_args=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@ -8299,12 +8441,13 @@ main ()
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_tautological_constant_out_of_range_compare=yes
else
gl_cv_warn_c__Wno_tautological_constant_out_of_range_compare=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@ -8335,12 +8478,13 @@ main ()
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_unused_command_line_argument=yes
else
gl_cv_warn_c__Wno_unused_command_line_argument=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@ -8371,12 +8515,13 @@ main ()
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_unused_value=yes
else
gl_cv_warn_c__Wno_unused_value=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
@ -8390,79 +8535,6 @@ fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -fdiagnostics-show-option" >&5
$as_echo_n "checking whether C compiler handles -fdiagnostics-show-option... " >&6; }
if test "${gl_cv_warn_c__fdiagnostics_show_option+set}" = set; then :
$as_echo_n "(cached) " >&6
else
gl_save_compiler_FLAGS="$CFLAGS"
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -fdiagnostics-show-option"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
gl_cv_warn_c__fdiagnostics_show_option=yes
else
gl_cv_warn_c__fdiagnostics_show_option=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__fdiagnostics_show_option" >&5
$as_echo "$gl_cv_warn_c__fdiagnostics_show_option" >&6; }
if test "x$gl_cv_warn_c__fdiagnostics_show_option" = x""yes; then :
as_fn_append WARN_CFLAGS " -fdiagnostics-show-option"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -funit-at-a-time" >&5
$as_echo_n "checking whether C compiler handles -funit-at-a-time... " >&6; }
if test "${gl_cv_warn_c__funit_at_a_time+set}" = set; then :
$as_echo_n "(cached) " >&6
else
gl_save_compiler_FLAGS="$CFLAGS"
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -funit-at-a-time"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
gl_cv_warn_c__funit_at_a_time=yes
else
gl_cv_warn_c__funit_at_a_time=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__funit_at_a_time" >&5
$as_echo "$gl_cv_warn_c__funit_at_a_time" >&6; }
if test "x$gl_cv_warn_c__funit_at_a_time" = x""yes; then :
as_fn_append WARN_CFLAGS " -funit-at-a-time"
fi
$as_echo "#define lint 1" >>confdefs.h
@ -8611,6 +8683,9 @@ fi
test $with_compress_install != yes && test -n "$GZIP_PROG" && \
GZIP_PROG=" # $GZIP_PROG # (disabled by configure --without-compress-install)"
if test $opsys = gnu-linux; then
# Extract the first word of "paxctl", so it can be a program name with args.
set dummy paxctl; ac_word=$2
@ -8774,13 +8849,15 @@ else
fi
late_LDFLAGS=$LDFLAGS
late_LDFLAGS="$LDFLAGS"
if test x$GCC = xyes; then
LDFLAGS="$LDFLAGS -Wl,-znocombreloc"
LDFLAGS_NOCOMBRELOC="-Wl,-znocombreloc"
else
LDFLAGS="$LDFLAGS -znocombreloc"
LDFLAGS_NOCOMBRELOC="-znocombreloc"
fi
LDFLAGS="$LDFLAGS $LDFLAGS_NOCOMBRELOC"
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for -znocombreloc" >&5
$as_echo_n "checking for -znocombreloc... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
@ -8798,13 +8875,14 @@ if ac_fn_c_try_link "$LINENO"; then :
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
else
LDFLAGS=$late_LDFLAGS
LDFLAGS_NOCOMBRELOC=
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
LDFLAGS="$late_LDFLAGS"
test "x$CANNOT_DUMP" = "x" && CANNOT_DUMP=no
case "$opsys" in
@ -10033,7 +10111,11 @@ fi
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
macfont_file=""
if test "${NS_IMPL_COCOA}" = "yes"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for OSX 10.4 or newer" >&5
$as_echo_n "checking for OSX 10.4 or newer... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <AppKit/AppKit.h>
int
@ -10058,6 +10140,45 @@ else
ns_osx_have_104=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ns_osx_have_104" >&5
$as_echo "$ns_osx_have_104" >&6; }
if test $ns_osx_have_104 = no; then
as_fn_error "\`OSX 10.4 or newer is required'" "$LINENO" 5;
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for OSX 10.5 or newer" >&5
$as_echo_n "checking for OSX 10.5 or newer... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <AppKit/AppKit.h>
int
main ()
{
#ifdef MAC_OS_X_VERSION_MAX_ALLOWED
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1050
; /* OK */
#else
#error "OSX 10.5 not found"
#endif
#endif
;
return 0;
}
_ACEOF
if ac_fn_c_try_compile "$LINENO"; then :
ns_osx_have_105=yes
else
ns_osx_have_105=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ns_osx_have_105" >&5
$as_echo "$ns_osx_have_105" >&6; }
if test $ns_osx_have_105 = yes; then
macfont_file="macfont.o"
fi
fi
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <Foundation/NSObjCRuntime.h>
@ -10075,9 +10196,6 @@ else
ns_have_nsinteger=no
fi
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
if test $ns_osx_have_104 = no; then
as_fn_error "\`OSX 10.4 or newer is required'" "$LINENO" 5;
fi
if test $ns_have_nsinteger = yes; then
$as_echo "#define NS_HAVE_NSINTEGER 1" >>confdefs.h
@ -10112,7 +10230,8 @@ if test "${HAVE_NS}" = yes; then
leimdir="\${ns_appresdir}/leim"
INSTALL_ARCH_INDEP_EXTRA=
fi
NS_OBJC_OBJ="nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o"
NS_OBJC_OBJ="nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o $macfont_file"
fi
CFLAGS="$tmp_CFLAGS"
CPPFLAGS="$tmp_CPPFLAGS"
@ -10340,6 +10459,140 @@ fi
## $window_system is now set to the window system we will
## ultimately use.
if test "$window_system" = none && test "$gl_gcc_warnings" = yes; then
# Too many warnings for now.
nw=
nw="$nw -Wsuggest-attribute=const"
nw="$nw -Wsuggest-attribute=noreturn"
gl_warn_set=
set x $WARN_CFLAGS; shift
for gl_warn_item
do
case " $nw " in
*" $gl_warn_item "*)
;;
*)
gl_warn_set="$gl_warn_set $gl_warn_item"
;;
esac
done
WARN_CFLAGS=$gl_warn_set
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-unused-variable" >&5
$as_echo_n "checking whether C compiler handles -Wno-unused-variable... " >&6; }
if test "${gl_cv_warn_c__Wno_unused_variable+set}" = set; then :
$as_echo_n "(cached) " >&6
else
gl_save_compiler_FLAGS="$CFLAGS"
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wunused-variable"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_unused_variable=yes
else
gl_cv_warn_c__Wno_unused_variable=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_unused_variable" >&5
$as_echo "$gl_cv_warn_c__Wno_unused_variable" >&6; }
if test "x$gl_cv_warn_c__Wno_unused_variable" = x""yes; then :
as_fn_append WARN_CFLAGS " -Wno-unused-variable"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-unused-but-set-variable" >&5
$as_echo_n "checking whether C compiler handles -Wno-unused-but-set-variable... " >&6; }
if test "${gl_cv_warn_c__Wno_unused_but_set_variable+set}" = set; then :
$as_echo_n "(cached) " >&6
else
gl_save_compiler_FLAGS="$CFLAGS"
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wunused-but-set-variable"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_unused_but_set_variable=yes
else
gl_cv_warn_c__Wno_unused_but_set_variable=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_unused_but_set_variable" >&5
$as_echo "$gl_cv_warn_c__Wno_unused_but_set_variable" >&6; }
if test "x$gl_cv_warn_c__Wno_unused_but_set_variable" = x""yes; then :
as_fn_append WARN_CFLAGS " -Wno-unused-but-set-variable"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles -Wno-unused-but-set-parameter" >&5
$as_echo_n "checking whether C compiler handles -Wno-unused-but-set-parameter... " >&6; }
if test "${gl_cv_warn_c__Wno_unused_but_set_parameter+set}" = set; then :
$as_echo_n "(cached) " >&6
else
gl_save_compiler_FLAGS="$CFLAGS"
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wunused-but-set-parameter"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int
main ()
{
;
return 0;
}
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
gl_cv_warn_c__Wno_unused_but_set_parameter=yes
else
gl_cv_warn_c__Wno_unused_but_set_parameter=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS="$gl_save_compiler_FLAGS"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_warn_c__Wno_unused_but_set_parameter" >&5
$as_echo "$gl_cv_warn_c__Wno_unused_but_set_parameter" >&6; }
if test "x$gl_cv_warn_c__Wno_unused_but_set_parameter" = x""yes; then :
as_fn_append WARN_CFLAGS " -Wno-unused-but-set-parameter"
fi
fi
term_header=
HAVE_X_WINDOWS=no
HAVE_X11=no
@ -11934,17 +12187,6 @@ $as_echo "no" >&6; }
SAVE_LIBS="$LIBS"
CFLAGS="$SETTINGS_CFLAGS $CFLAGS"
LIBS="$SETTINGS_LIBS $LIBS"
for ac_func in g_type_init
do :
ac_fn_c_check_func "$LINENO" "g_type_init" "ac_cv_func_g_type_init"
if test "x$ac_cv_func_g_type_init" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_G_TYPE_INIT 1
_ACEOF
fi
done
CFLAGS="$SAVE_CFLAGS"
LIBS="$SAVE_LIBS"
fi
@ -15892,6 +16134,19 @@ fi
for ac_header in valgrind/valgrind.h
do :
ac_fn_c_check_header_mongrel "$LINENO" "valgrind/valgrind.h" "ac_cv_header_valgrind_valgrind_h" "$ac_includes_default"
if test "x$ac_cv_header_valgrind_valgrind_h" = x""yes; then :
cat >>confdefs.h <<_ACEOF
#define HAVE_VALGRIND_VALGRIND_H 1
_ACEOF
fi
done
@ -17381,6 +17636,8 @@ fi
# Configure gnulib. Although this does not affect CFLAGS or LIBS permanently.
# it temporarily reverts them to their pre-pkg-config values,
# because gnulib needs to work with both src (which uses the
@ -28913,6 +29170,8 @@ if test x$ac_enable_profiling != x ; then
esac
fi
LD_SWITCH_SYSTEM_TEMACS="$LDFLAGS_NOCOMBRELOC $LD_SWITCH_SYSTEM_TEMACS"
## MinGW-specific post-link processing of temacs.

View file

@ -266,13 +266,9 @@ AC_SUBST(cache_file)
## This is an option because I do not know if all info/man support
## compressed files, nor how to test if they do so.
OPTION_DEFAULT_ON([compress-info],[don't compress the installed Info pages])
if test $with_compress_info = yes; then
GZIP_INFO=yes
else
GZIP_INFO=
fi
AC_SUBST(GZIP_INFO)
OPTION_DEFAULT_ON([compress-install],
[don't compress some files (.el, .info, etc.) when installing. Equivalent to:
make GZIP_PROG= install])
AC_ARG_WITH([pkg-config-prog],dnl
[AS_HELP_STRING([--with-pkg-config-prog=FILENAME],
@ -447,6 +443,17 @@ case "${srcdir}" in
* ) srcdir=`(cd "$srcdir"; pwd)` ;;
esac
#### When building with MinGW inside the MSYS tree, 'pwd' produces
#### directories relative to the root of the MSYS tree,
#### e.g. '/home/user/foo' instead of '/d/MSYS/home/user/foo'. When
#### such a value of srcdir is written to the top-level Makefile, it
#### gets propagated to src/epaths.h, and that causes temacs to fail,
#### because, being a MinGW program that knows nothing of MSYS root
#### substitution, it cannot find the data directory. "pwd -W"
#### produces Windows-style 'd:/foo/bar' absolute directory names, so
#### we use it here to countermand that lossage.
test "$MSYSTEM" = "MINGW32" && srcdir=`(cd "$srcdir"; pwd -W | sed -e 's,^\([[A-Za-z]]\):,/\1,')`
### Canonicalize the configuration name.
AC_CANONICAL_HOST
@ -780,10 +787,28 @@ AC_DEFUN([gl_GCC_VERSION_IFELSE],
]
)
# clang is unduly picky about some things.
AC_CACHE_CHECK([whether the compiler is clang], [emacs_cv_clang],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[
#ifndef __clang__
#error "not clang"
#endif
]])],
[emacs_cv_clang=yes],
[emacs_cv_clang=no])])
# When compiling with GCC, prefer -isystem to -I when including system
# include files, to avoid generating useless diagnostics for the files.
if test "$gl_gcc_warnings" != yes; then
isystem='-I'
if test "$emacs_cv_clang" = yes
then
# Turn off some warnings if supported.
gl_WARN_ADD([-Wno-switch])
gl_WARN_ADD([-Wno-tautological-constant-out-of-range-compare])
gl_WARN_ADD([-Wno-pointer-sign])
fi
else
isystem='-isystem '
@ -826,16 +851,13 @@ else
# The following line should be removable at some point.
nw="$nw -Wsuggest-attribute=pure"
# clang is unduly picky about some things.
AC_CACHE_CHECK([whether the compiler is clang], [emacs_cv_clang],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM([[
#ifndef __clang__
#error "not clang"
#endif
]])],
[emacs_cv_clang=yes],
[emacs_cv_clang=no])])
# This part is merely for shortening the command line,
# since -Wno-FOO needs to be added below regardless.
nw="$nw -Wmissing-field-initializers"
nw="$nw -Wswitch"
nw="$nw -Wtype-limits"
nw="$nw -Wunused-parameter"
if test $emacs_cv_clang = yes; then
nw="$nw -Wcast-align"
fi
@ -864,9 +886,6 @@ else
gl_WARN_ADD([-Wno-unused-value])
fi
gl_WARN_ADD([-fdiagnostics-show-option])
gl_WARN_ADD([-funit-at-a-time])
AC_DEFINE([lint], [1], [Define to 1 if the compiler is checking for lint.])
AH_VERBATIM([FORTIFY_SOURCE],
[/* Enable compile-time and run-time bounds-checking, and some warnings,
@ -943,6 +962,9 @@ AC_PATH_PROG(INSTALL_INFO, install-info, :,
dnl Don't use GZIP, which is used by gzip for additional parameters.
AC_PATH_PROG(GZIP_PROG, gzip)
test $with_compress_install != yes && test -n "$GZIP_PROG" && \
GZIP_PROG=" # $GZIP_PROG # (disabled by configure --without-compress-install)"
if test $opsys = gnu-linux; then
AC_PATH_PROG(PAXCTL, paxctl,,
[$PATH$PATH_SEPARATOR/sbin$PATH_SEPARATOR/usr/sbin])
@ -1020,19 +1042,30 @@ dnl (Don't use `-z nocombreloc' as -z takes no arg on Irix.)
dnl Treat GCC specially since it just gives a non-fatal `unrecognized option'
dnl if not built to support GNU ld.
late_LDFLAGS=$LDFLAGS
dnl For a long time, -znocombreloc was added to LDFLAGS rather than
dnl LD_SWITCH_SYSTEM_TEMACS. That is:
dnl * inappropriate, as LDFLAGS is a user option but this is essential.
dnl Eg "make LDFLAGS=... all" could run into problems,
dnl http://bugs.debian.org/684788
dnl * unnecessary, since temacs is the only thing that actually needs it.
dnl Indeed this is where it was originally, prior to:
dnl http://lists.gnu.org/archive/html/emacs-pretest-bug/2004-03/msg00170.html
late_LDFLAGS="$LDFLAGS"
if test x$GCC = xyes; then
LDFLAGS="$LDFLAGS -Wl,-znocombreloc"
LDFLAGS_NOCOMBRELOC="-Wl,-znocombreloc"
else
LDFLAGS="$LDFLAGS -znocombreloc"
LDFLAGS_NOCOMBRELOC="-znocombreloc"
fi
LDFLAGS="$LDFLAGS $LDFLAGS_NOCOMBRELOC"
AC_MSG_CHECKING([for -znocombreloc])
AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
[AC_MSG_RESULT(yes)],
LDFLAGS=$late_LDFLAGS
LDFLAGS_NOCOMBRELOC=
[AC_MSG_RESULT(no)])
LDFLAGS="$late_LDFLAGS"
dnl The function dump-emacs will not be defined and temacs will do
dnl (load "loadup") automatically unless told otherwise.
@ -1606,7 +1639,10 @@ fail;
[AC_MSG_ERROR([`--with-ns' was specified, but the include
files are missing or cannot be compiled.])])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AppKit/AppKit.h>],
macfont_file=""
if test "${NS_IMPL_COCOA}" = "yes"; then
AC_MSG_CHECKING([for OSX 10.4 or newer])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AppKit/AppKit.h>],
[
#ifdef MAC_OS_X_VERSION_MAX_ALLOWED
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1040
@ -1618,13 +1654,33 @@ fail;
])],
ns_osx_have_104=yes,
ns_osx_have_104=no)
AC_MSG_RESULT([$ns_osx_have_104])
if test $ns_osx_have_104 = no; then
AC_MSG_ERROR([`OSX 10.4 or newer is required']);
fi
AC_MSG_CHECKING([for OSX 10.5 or newer])
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <AppKit/AppKit.h>],
[
#ifdef MAC_OS_X_VERSION_MAX_ALLOWED
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1050
; /* OK */
#else
#error "OSX 10.5 not found"
#endif
#endif
])],
ns_osx_have_105=yes,
ns_osx_have_105=no)
AC_MSG_RESULT([$ns_osx_have_105])
if test $ns_osx_have_105 = yes; then
macfont_file="macfont.o"
fi
fi
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <Foundation/NSObjCRuntime.h>],
[NSInteger i;])],
ns_have_nsinteger=yes,
ns_have_nsinteger=no)
if test $ns_osx_have_104 = no; then
AC_MSG_ERROR([`OSX 10.4 or newer is required']);
fi
if test $ns_have_nsinteger = yes; then
AC_DEFINE(NS_HAVE_NSINTEGER, 1, [Define to 1 if `NSInteger' is defined.])
fi
@ -1660,7 +1716,8 @@ if test "${HAVE_NS}" = yes; then
leimdir="\${ns_appresdir}/leim"
INSTALL_ARCH_INDEP_EXTRA=
fi
NS_OBJC_OBJ="nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o"
NS_OBJC_OBJ="nsterm.o nsfns.o nsmenu.o nsselect.o nsimage.o nsfont.o $macfont_file"
fi
CFLAGS="$tmp_CFLAGS"
CPPFLAGS="$tmp_CPPFLAGS"
@ -1777,6 +1834,11 @@ fi
if test "$window_system" = none && test "$gl_gcc_warnings" = yes; then
# Too many warnings for now.
nw=
nw="$nw -Wsuggest-attribute=const"
nw="$nw -Wsuggest-attribute=noreturn"
gl_MANYWARN_COMPLEMENT([WARN_CFLAGS], [$WARN_CFLAGS], [$nw])
gl_WARN_ADD([-Wno-unused-variable])
gl_WARN_ADD([-Wno-unused-but-set-variable])
gl_WARN_ADD([-Wno-unused-but-set-parameter])
@ -2340,7 +2402,6 @@ if test "$HAVE_GSETTINGS" = "yes" || test "$HAVE_GCONF" = "yes"; then
SAVE_LIBS="$LIBS"
CFLAGS="$SETTINGS_CFLAGS $CFLAGS"
LIBS="$SETTINGS_LIBS $LIBS"
AC_CHECK_FUNCS([g_type_init])
CFLAGS="$SAVE_CFLAGS"
LIBS="$SAVE_LIBS"
fi
@ -3631,6 +3692,8 @@ AC_SUBST(KRB5LIB)
AC_SUBST(DESLIB)
AC_SUBST(KRB4LIB)
AC_CHECK_HEADERS(valgrind/valgrind.h)
AC_CHECK_FUNCS_ONCE(tzset)
AC_MSG_CHECKING(whether localtime caches TZ)
AC_CACHE_VAL(emacs_cv_localtime_cache,
@ -4636,6 +4699,24 @@ AC_SUBST(CYGWIN_OBJ)
AC_SUBST(PRE_ALLOC_OBJ)
AC_SUBST(POST_ALLOC_OBJ)
dnl Call this 'FORTIFY_SOUR' so that it sorts before the 'FORTIFY_SOURCE'
dnl verbatim defined above. The tricky name is apropos, as this hack
dnl makes Fortify go sour!
AH_VERBATIM([FORTIFY_SOUR],
[/* Without the following workaround, Emacs runs slowly on OS X 10.8.
The workaround disables some useful run-time checking, so it
should be conditional to the platforms with the performance bug.
Perhaps Apple will fix this some day; also see m4/extern-inline.m4. */
#if defined __APPLE__ && defined __GNUC__
# ifndef _DONT_USE_CTYPE_INLINE_
# define _DONT_USE_CTYPE_INLINE_
# endif
# ifndef _FORTIFY_SOURCE
# define _FORTIFY_SOURCE 0
# endif
#endif
])
# Configure gnulib. Although this does not affect CFLAGS or LIBS permanently.
# it temporarily reverts them to their pre-pkg-config values,
# because gnulib needs to work with both src (which uses the
@ -4718,6 +4799,8 @@ if test x$ac_enable_profiling != x ; then
esac
fi
LD_SWITCH_SYSTEM_TEMACS="$LDFLAGS_NOCOMBRELOC $LD_SWITCH_SYSTEM_TEMACS"
AC_SUBST(LD_SWITCH_SYSTEM_TEMACS)
## MinGW-specific post-link processing of temacs.

View file

@ -1,3 +1,18 @@
2013-09-22 Xue Fuqiao <xfq.free@gmail.com>
* fixit.texi (Transpose):
(Fixing Case): Remove @refill.
2013-09-21 Xue Fuqiao <xfq.free@gmail.com>
* maintaining.texi (VC Directory Commands): Add keybinding for
vc-log-incoming in vc-dir.
(Log Buffer): Use @emph instead of @strong.
2013-09-12 Xue Fuqiao <xfq.free@gmail.com>
* text.texi (Enriched Justification): Explain values of default-justification.
2013-09-04 Xue Fuqiao <xfq.free@gmail.com>
* maintaining.texi (VC Ignore): Mention `vc-ignore' with prefix argument.

View file

@ -190,7 +190,7 @@ point forward across three other characters. It would change
@samp{f@point{}oobar} into @samp{oobf@point{}ar}. This is equivalent to
repeating @kbd{C-t} three times. @kbd{C-u - 4 M-t} moves the word
before point backward across four words. @kbd{C-u - C-M-t} would cancel
the effect of plain @kbd{C-M-t}.@refill
the effect of plain @kbd{C-M-t}.
A numeric argument of zero is assigned a special meaning (because
otherwise a command with a repeat count of zero would do nothing): to
@ -216,7 +216,7 @@ Convert last word to lower case with capital initial.
the word case-conversion commands @kbd{M-l}, @kbd{M-u} and @kbd{M-c} have a
special feature when used with a negative argument: they do not move the
cursor. As soon as you see you have mistyped the last word, you can simply
case-convert it and go on typing. @xref{Case}.@refill
case-convert it and go on typing. @xref{Case}.
@node Spelling
@section Checking and Correcting Spelling

View file

@ -599,6 +599,7 @@ the buffer and commit the change, together with your log entry.
@cindex Log Edit mode
@cindex mode, Log Edit
@vindex vc-log-mode-hook
@c FIXME: Mention log-edit-mode-hook here? --xfq
The major mode for the @file{*vc-log*} buffer is Log Edit mode, a
variant of Text mode (@pxref{Text Mode}). On entering Log Edit mode,
Emacs runs the hooks @code{text-mode-hook} and @code{vc-log-mode-hook}
@ -652,7 +653,7 @@ opposite way of working---generating ChangeLog entries from the Log
Edit buffer.
@end ifnottex
To abort a commit, just @strong{don't} type @kbd{C-c C-c} in that
To abort a commit, just @emph{don't} type @kbd{C-c C-c} in that
buffer. You can switch buffers and do other editing. As long as you
don't try to make another commit, the entry you were editing remains
in the @file{*vc-log*} buffer, and you can go back to that buffer at
@ -1242,7 +1243,7 @@ Revisions}), and @w{@kbd{C-x v u}} (@pxref{VC Undo}).
The VC Directory buffer also defines some single-key shortcuts for
VC commands with the @kbd{C-x v} prefix: @kbd{=}, @kbd{+}, @kbd{l},
@kbd{i}, @kbd{D}, @kbd{L}, @kbd{G} and @kbd{v}.
@kbd{i}, @kbd{D}, @kbd{L}, @kbd{G}, @kbd{I} and @kbd{v}.
For example, you can commit a set of edited files by opening a VC
Directory buffer, where the files are listed with the @samp{edited}

View file

@ -2086,6 +2086,7 @@ newlines are used for filling. The @key{RET} (@code{newline}) and
commands, including Auto Fill (@pxref{Auto Fill}), insert only soft
newlines and delete only soft newlines, leaving hard newlines alone.
@c FIXME: I don't see unfilled in that node. --xfq
Thus, when editing with Enriched mode, you should not use @key{RET}
or @kbd{C-o} to break lines in the middle of filled paragraphs. Use
Auto Fill mode or explicit fill commands (@pxref{Fill Commands})
@ -2294,13 +2295,13 @@ commands do nothing on text with this setting. You can, however,
still indent the left margin.
@end table
@c FIXME: We should explain the effect of these symbols. --xfq
@vindex default-justification
You can also specify justification styles using the Justification
submenu in the Text Properties menu. The default justification style
is specified by the per-buffer variable @code{default-justification}.
Its value should be one of the symbols @code{left}, @code{right},
@code{full}, @code{center}, or @code{none}.
@code{full}, @code{center}, or @code{none}; their meanings correspond
to the commands above.
@node Enriched Properties
@subsection Setting Other Text Properties

View file

@ -1140,6 +1140,7 @@ Please help us keep up with the workload by designing the patch in a
form that is clearly safe to install.
@end itemize
@c FIXME: Include the node above?
@node Contributing
@section Contributing to Emacs Development
@cindex contributing to Emacs

View file

@ -1,3 +1,35 @@
2013-09-22 Xue Fuqiao <xfq.free@gmail.com>
* nonascii.texi (Default Coding Systems): Typo fix.
2013-09-21 Xue Fuqiao <xfq.free@gmail.com>
* nonascii.texi (Coding System Basics): Add information about carriage-return.
2013-09-14 Eli Zaretskii <eliz@gnu.org>
* display.texi (Display Margins): State the units of measuring
margin width. (Bug#15375)
2013-09-13 Eli Zaretskii <eliz@gnu.org>
* text.texi (Not Intervals): Minor wording fix.
2013-09-12 Xue Fuqiao <xfq.free@gmail.com>
* functions.texi (Obsolete Functions): Add an index for obsolete
functions.
2013-09-11 Xue Fuqiao <xfq.free@gmail.com>
* nonascii.texi (Character Properties): Character properties fix
for decimal-digit-value and digit-value.
2013-09-08 Stefan Monnier <monnier@iro.umontreal.ca>
* macros.texi (Defining Macros): Prefer "function" to "lambda
expression" (bug#15296).
2013-08-28 Paul Eggert <eggert@cs.ucla.edu>
* Makefile.in (SHELL): Now @SHELL@, not /bin/sh,

View file

@ -4189,13 +4189,15 @@ them a nonzero width. The usual way to do that is to set these
variables:
@defvar left-margin-width
This variable specifies the width of the left margin.
It is buffer-local in all buffers.
This variable specifies the width of the left margin, in character
cell (a.k.a.@: ``column'') units. It is buffer-local in all buffers.
A value of @code{nil} means no left marginal area.
@end defvar
@defvar right-margin-width
This variable specifies the width of the right margin.
It is buffer-local in all buffers.
This variable specifies the width of the right margin, in character
cell units. It is buffer-local in all buffers. A value of @code{nil}
means no right marginal area.
@end defvar
Setting these variables does not immediately affect the window. These
@ -4206,15 +4208,18 @@ Thus, you can make changes take effect by calling
You can also set the margin widths immediately.
@defun set-window-margins window left &optional right
This function specifies the margin widths for window @var{window}.
The argument @var{left} controls the left margin and
@var{right} controls the right margin (default @code{0}).
This function specifies the margin widths for window @var{window}, in
character cell units. The argument @var{left} controls the left
margin, and @var{right} controls the right margin (default @code{0}).
@end defun
@defun window-margins &optional window
This function returns the left and right margins of @var{window}
as a cons cell of the form @code{(@var{left} . @var{right})}.
If @var{window} is @code{nil}, the selected window is used.
This function returns the width of the left and right margins of
@var{window} as a cons cell of the form @w{@code{(@var{left}
. @var{right})}}. If one of the two marginal areas does not exist,
its width is returned as @code{nil}; if neither of the two margins exist,
the function returns @code{(nil)}. If @var{window} is @code{nil}, the
selected window is used.
@end defun
@node Images

View file

@ -1135,6 +1135,7 @@ examining or altering the structure of closure objects.
@node Obsolete Functions
@section Declaring Functions Obsolete
@cindex obsolete functions
You can mark a named function as @dfn{obsolete}, meaning that it may
be removed at some point in the future. This causes Emacs to warn

View file

@ -191,8 +191,8 @@ During Compile}).
@section Defining Macros
A Lisp macro object is a list whose @sc{car} is @code{macro}, and
whose @sc{cdr} is a lambda expression. Expansion of the macro works
by applying the lambda expression (with @code{apply}) to the list of
whose @sc{cdr} is a function. Expansion of the macro works
by applying the function (with @code{apply}) to the list of
@emph{unevaluated} arguments from the macro call.
It is possible to use an anonymous Lisp macro just like an anonymous

View file

@ -478,14 +478,14 @@ unassigned codepoints, the value is the character itself.
@item decimal-digit-value
Corresponds to the Unicode @code{Numeric_Value} property for
characters whose @code{Numeric_Type} is @samp{Digit}. The value is an
integer number. For unassigned codepoints, the value is @code{nil},
which means @acronym{NaN}, or ``not-a-number''.
characters whose @code{Numeric_Type} is @samp{Decimal}. The value is
an integer number. For unassigned codepoints, the value is
@code{nil}, which means @acronym{NaN}, or ``not-a-number''.
@item digit-value
Corresponds to the Unicode @code{Numeric_Value} property for
characters whose @code{Numeric_Type} is @samp{Decimal}. The value is
an integer number. Examples of such characters include compatibility
characters whose @code{Numeric_Type} is @samp{Digit}. The value is an
integer number. Examples of such characters include compatibility
subscript and superscript digits, for which the value is the
corresponding number. For unassigned codepoints, the value is
@code{nil}, which means @acronym{NaN}.
@ -549,6 +549,8 @@ is @code{nil}, which means the character itself.
@defun get-char-code-property char propname
This function returns the value of @var{char}'s @var{propname} property.
@c FIXME: Use ?\s instead of ? for the space character in the
@c first example? --xfq
@example
@group
(get-char-code-property ? 'general-category)
@ -684,6 +686,7 @@ which case the returned charset must be supported by that coding
system (@pxref{Coding Systems}).
@end defun
@c TODO: Explain the properties here and add indexes such as charset property.
@defun charset-plist charset
This function returns the property list of the character set
@var{charset}. Although @var{charset} is a symbol, this is not the
@ -849,6 +852,8 @@ systems specifies its own translation tables, the table that is the
value of this variable, if non-@code{nil}, is applied after them.
@end defvar
@c FIXME: This variable is obsolete since 23.1. We should mention
@c that here or simply remove this defvar. --xfq
@defvar translation-table-for-input
Self-inserting characters are translated through this translation
table before they are inserted. Search commands also translate their
@ -957,7 +962,8 @@ Unix convention, used on GNU and Unix systems, is to use the linefeed
character (also called newline). The DOS convention, used on
MS-Windows and MS-DOS systems, is to use a carriage-return and a
linefeed at the end of a line. The Mac convention is to use just
carriage-return.
carriage-return. (This was the convention used on the Macintosh
system prior to OS X.)
@cindex base coding system
@cindex variant coding system
@ -1566,7 +1572,7 @@ the alist; otherwise it returns @code{nil}.
If @var{operation} is @code{insert-file-contents}, the argument
corresponding to the target may be a cons cell of the form
@code{(@var{filename} . @var{buffer})}). In that case, @var{filename}
@code{(@var{filename} . @var{buffer})}. In that case, @var{filename}
is a file name to look up in @code{file-coding-system-alist}, and
@var{buffer} is a buffer that contains the file's contents (not yet
decoded). If @code{file-coding-system-alist} specifies a function to

View file

@ -3920,10 +3920,11 @@ between one interval and two.
Insertion of text at the border between intervals also raises
questions that have no satisfactory answer.
However, it is easy to arrange for editing to behave consistently for
questions of the form, ``What are the properties of this character?''
So we have decided these are the only questions that make sense; we have
not implemented asking questions about where intervals start or end.
However, it is easy to arrange for editing to behave consistently
for questions of the form, ``What are the properties of text at this
buffer or string position?'' So we have decided these are the only
questions that make sense; we have not implemented asking questions
about where intervals start or end.
In practice, you can usually use the text property search functions in
place of explicit interval boundaries. You can think of them as finding

View file

@ -1,3 +1,21 @@
2013-09-14 Glenn Morris <rgm@gnu.org>
* eshell.texi: Markup fixes.
2013-09-11 Xue Fuqiao <xfq.free@gmail.com>
* ido.texi (Interactive Substring Matching): Use @key{RET} instead
of @kbd{RET}.
(Prefix Matching): Add an index.
2013-09-08 Glenn Morris <rgm@gnu.org>
* emacs-gnutls.texi: Tweak direntry.
2013-09-06 Michael Albinus <michael.albinus@gmx.de>
* tramp.texi (Alternative Syntax): Remove chapter.
2013-08-28 Paul Eggert <eggert@cs.ucla.edu>
* Makefile.in (SHELL): Now @SHELL@, not /bin/sh,

View file

@ -25,7 +25,7 @@ modify this GNU manual.''
@dircategory Emacs network features
@direntry
* GnuTLS: (emacs-gnutls). The Emacs GnuTLS integration.
* Emacs GnuTLS: (emacs-gnutls). The Emacs GnuTLS integration.
@end direntry
@titlepage

View file

@ -353,7 +353,7 @@ sudo is an alias, defined as "*sudo $*"
@vindex eshell-prefer-lisp-functions
If you would prefer to use the built-in commands instead of the external
commands, set @var{eshell-prefer-lisp-functions} to @code{t}.
commands, set @code{eshell-prefer-lisp-functions} to @code{t}.
Some of the built-in commands have different behaviour from their
external counterparts, and some have no external counterpart. Most of
@ -515,7 +515,7 @@ Aliases are commands that expand to a longer input line. For example,
with the command invocation @samp{alias ll ls -l}; with this defined,
running @samp{ll foo} in Eshell will actually run @samp{ls -l foo}.
Aliases defined (or deleted) by the @command{alias} command are
automatically written to the file named by @var{eshell-aliases-file},
automatically written to the file named by @code{eshell-aliases-file},
which you can also edit directly (although you will have to manually
reload it).
@ -539,7 +539,7 @@ by @code{!foo:n}.
The history ring is loaded from a file at the start of every session,
and written back to the file at the end of every session. The file path
is specified in @var{eshell-history-file-name}. Unlike other shells,
is specified in @code{eshell-history-file-name}. Unlike other shells,
such as Bash, Eshell can not be configured to keep a history ring of a
different size than that of the history file.
@ -721,11 +721,11 @@ terminal emulator.
Programs that need a terminal to display output properly are referred
to in this manual as ``visual commands,'' because they are not simply
line-oriented. You must tell Eshell which commands are visual, by
adding them to @var{eshell-visual-commands}; for commands that are
adding them to @code{eshell-visual-commands}; for commands that are
visual for only certain @emph{sub}-commands -- e.g. @samp{git log} but
not @samp{git status} -- use @var{eshell-visual-subcommands}; and for
not @samp{git status} -- use @code{eshell-visual-subcommands}; and for
commands that are visual only when passed certain options, use
@var{eshell-visual-options}.
@code{eshell-visual-options}.
@section Redirection
Redirection is mostly the same in Eshell as it is in other command
@ -740,16 +740,16 @@ on the right-hand side, into which it inserts the output of the
left-hand side. e.g., @samp{echo hello >>> #<buffer *scratch*>}
inserts the string @code{"hello"} into the @code{*scratch*} buffer.
@var{eshell-virtual-targets} is a list of mappings of virtual device
@code{eshell-virtual-targets} is a list of mappings of virtual device
names to functions. Eshell comes with two virtual devices:
@file{/dev/kill}, which sends the text to the kill ring, and
@file{/dev/clip}, which sends text to the clipboard.
You can, of course, define your own virtual targets. They are defined
by adding a list of the form @code{("/dev/name" function mode)} to
@var{eshell-virtual-targets}. The first element is the device name;
@code{function} may be either a lambda or a function name. If
@code{mode} is nil, then the function is the output function; if it is
by adding a list of the form @samp{("/dev/name" @var{function} @var{mode})} to
@code{eshell-virtual-targets}. The first element is the device name;
@var{function} may be either a lambda or a function name. If
@var{mode} is nil, then the function is the output function; if it is
non-nil, then the function is passed the redirection mode as a
symbol--@code{overwrite} for @code{>}, @code{append} for @code{>>}, or
@code{insert} for @code{>>>}--and the function is expected to return
@ -774,7 +774,7 @@ Eshell module.} You also need to load the following as shown:
@example
(eval-when-compile
(require 'cl)
(require 'cl-lib)
(require 'esh-mode)
(require 'eshell))

View file

@ -258,7 +258,7 @@ Buffer: 23@{123456 | 123@}
At this point, you still have two matching buffers. If you want the
first buffer in the list, you can simply press @key{RET}. If you want
the second in the list, you can press @kbd{C-s} to move it to the top
of the list and then press @kbd{RET} to select it.
of the list and then press @key{RET} to select it.
However, if you type @kbd{4}, you'll only have one match left:
@ -366,6 +366,7 @@ users Ido offers in addition to the default substring matching method
the only difference to the description of the substring matching
above.
@cindex toggle prefix matching
You can toggle prefix matching with @kbd{C-p}
(@code{ido-toggle-prefix}).

View file

@ -3,7 +3,7 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
\def\texinfoversion{2013-08-20.10}
\def\texinfoversion{2013-09-11.11}
%
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
@ -322,10 +322,13 @@
%
% Do this outside of the \shipout so @code etc. will be expanded in
% the headline as they should be, not taken literally (outputting ''code).
\def\commmonheadfootline{\let\hsize=\pagewidth \texinfochars}
%
\ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi
\setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}%
\global\setbox\headlinebox = \vbox{\commmonheadfootline \makeheadline}%
%
\ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi
\setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}%
\global\setbox\footlinebox = \vbox{\commmonheadfootline \makefootline}%
%
{%
% Have to do this stuff outside the \shipout because we want it to
@ -2891,6 +2894,15 @@
\def\inlinefmtname{#1}%
\ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi
}
%
% @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if
% FMTNAME is tex, else ELSE-TEXT.
\long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish}
\long\def\doinlinefmtifelse#1,#2,#3,#4,\finish{%
\def\inlinefmtname{#1}%
\ifx\inlinefmtname\outfmtnametex \ignorespaces #2\else \ignorespaces #3\fi
}
%
% For raw, must switch into @tex before parsing the argument, to avoid
% setting catcodes prematurely. Doing it this way means that, for
% example, @inlineraw{html, foo{bar} gets a parse error instead of being
@ -2907,6 +2919,23 @@
\endgroup % close group opened by \tex.
}
% @inlineifset{VAR, TEXT} expands TEXT if VAR is @set.
%
\long\def\inlineifset#1{\doinlineifset #1,\finish}
\long\def\doinlineifset#1,#2,\finish{%
\def\inlinevarname{#1}%
\expandafter\ifx\csname SET\inlinevarname\endcsname\relax
\else\ignorespaces#2\fi
}
% @inlineifclear{VAR, TEXT} expands TEXT if VAR is not @set.
%
\long\def\inlineifclear#1{\doinlineifclear #1,\finish}
\long\def\doinlineifclear#1,#2,\finish{%
\def\inlinevarname{#1}%
\expandafter\ifx\csname SET\inlinevarname\endcsname\relax \ignorespaces#2\fi
}
\message{glyphs,}
% and logos.
@ -4202,7 +4231,7 @@
\def\value{\begingroup\makevalueexpandable\valuexxx}
\def\valuexxx#1{\expandablevalue{#1}\endgroup}
{
\catcode`\- = \active \catcode`\_ = \active
\catcode`\-=\active \catcode`\_=\active
%
\gdef\makevalueexpandable{%
\let\value = \expandablevalue
@ -4222,7 +4251,12 @@
% variable's value contains other Texinfo commands, it's almost certain
% it will fail (although perhaps we could fix that with sufficient work
% to do a one-level expansion on the result, instead of complete).
%
%
% Unfortunately, this has the consequence that when _ is in the *value*
% of an @set, it does not print properly in the roman fonts (get the cmr
% dot accent at position 126 instead). No fix comes to mind, and it's
% been this way since 2003 or earlier, so just ignore it.
%
\def\expandablevalue#1{%
\expandafter\ifx\csname SET#1\endcsname\relax
{[No value for ``#1'']}%
@ -6276,8 +6310,8 @@
\catcode `\|=\other
\catcode `\<=\other
\catcode `\>=\other
\catcode`\`=\other
\catcode`\'=\other
\catcode `\`=\other
\catcode `\'=\other
\escapechar=`\\
%
% ' is active in math mode (mathcode"8000). So reset it, and all our
@ -6301,7 +6335,7 @@
\let\/=\ptexslash
\let\*=\ptexstar
\let\t=\ptext
\expandafter \let\csname top\endcsname=\ptextop % outer
\expandafter \let\csname top\endcsname=\ptextop % we've made it outer
\let\frenchspacing=\plainfrenchspacing
%
\def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}%
@ -9944,11 +9978,9 @@
\catcode`\"=\active
\def\activedoublequote{{\tt\char34}}
\let"=\activedoublequote
\catcode`\~=\active
\def~{{\tt\char126}}
\catcode`\~=\active \def\activetilde{{\tt\char126}} \let~ = \activetilde
\chardef\hat=`\^
\catcode`\^=\active
\def^{{\tt \hat}}
\catcode`\^=\active \def\activehat{{\tt \hat}} \let^ = \activehat
\catcode`\_=\active
\def_{\ifusingtt\normalunderscore\_}
@ -9958,16 +9990,26 @@
\catcode`\|=\active
\def|{{\tt\char124}}
\chardef \less=`\<
\catcode`\<=\active
\def<{{\tt \less}}
\catcode`\<=\active \def\activeless{{\tt \less}}\let< = \activeless
\chardef \gtr=`\>
\catcode`\>=\active
\def>{{\tt \gtr}}
\catcode`\+=\active
\def+{{\tt \char 43}}
\catcode`\$=\active
\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
\catcode`\>=\active \def\activegtr{{\tt \gtr}}\let> = \activegtr
\catcode`\+=\active \def+{{\tt \char 43}}
\catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix
% used for headline/footline in the output routine, in case the page
% breaks in the middle of an @tex block.
\def\texinfochars{%
\let< = \activeless
\let> = \activegtr
\let~ = \activetilde
\let^ = \activehat
\markupsetuplqdefault \markupsetuprqdefault
\let\b = \strong
\let\i = \smartitalic
% in principle, all other definitions in \tex have to be undone too.
}
% If a .fmt file is being used, characters that might appear in a file
% name cannot be active until we have parsed the command line.

View file

@ -225,7 +225,6 @@ Configuring @value{tramp} for use
Using @value{tramp}
* Filename Syntax:: @value{tramp} filename conventions.
* Alternative Syntax:: URL-like filename syntax.
* Filename completion:: Filename completion.
* Ad-hoc multi-hops:: Declaring multiple hops in the file name.
* Remote processes:: Integration with other @value{emacsname} packages.
@ -2356,7 +2355,6 @@ minute you have already forgotten that you hit that key!
@menu
* Filename Syntax:: @value{tramp} filename conventions.
* Alternative Syntax:: URL-like filename syntax.
* Filename completion:: Filename completion.
* Ad-hoc multi-hops:: Declaring multiple hops in the file name.
* Remote processes:: Integration with other @value{emacsname} packages.
@ -2453,46 +2451,6 @@ by adding @file{#<port>} to the host name, like in @file{@trampfn{ssh,
daniel, melancholia#42, .emacs}}.
@node Alternative Syntax
@section URL-like filename syntax
@cindex filename syntax
@cindex filename examples
Additionally to the syntax described in the previous chapter, it is
possible to use a URL-like syntax for @value{tramp}. This can be
switched on by customizing the variable @code{tramp-syntax}. Please
note that this feature is experimental for the time being.
The variable @code{tramp-syntax} must be set before requiring @value{tramp}:
@lisp
(setq tramp-syntax 'url)
(require 'tramp)
@end lisp
Then, a @value{tramp} filename would look like this:
@file{/@var{method}://@var{user}@@@var{machine}:@var{port}/@var{path/to.file}}.
@file{/@var{method}://} is mandatory, all other parts are optional.
@file{:@var{port}} is useful for methods only who support this.
The last example from the previous section would look like this:
@file{/ssh://daniel@@melancholia/.emacs}.
For the time being, @code{tramp-syntax} can have the following values:
@itemize @w{}
@ifset emacs
@item @code{ftp}---That is the default syntax
@item @code{url}---URL-like syntax
@end ifset
@ifset xemacs
@item @code{sep}---That is the default syntax
@item @code{url}---URL-like syntax
@item @code{ftp}---EFS-like syntax
@end ifset
@end itemize
@node Filename completion
@section Filename completion
@cindex filename completion

View file

@ -60,6 +60,11 @@ answer any questions you may have (or point you to the people with the
answers), at the emacs-devel@gnu.org mailing list.
A copyright disclaimer is also a possibility, but we prefer an assignment.
Note that the disclaimer, like an assignment, involves you sending
signed paperwork to the FSF (simply saying "this is in the public domain"
is not enough). Also, a disclaimer cannot be applied to future work, it
has to be repeated each time you want to send something new.
We can accept small changes (roughly, fewer than 15 lines) without
an assignment. This is a cumulative limit (e.g. three separate 5 line
patches) over all your contributions.
@ -94,8 +99,7 @@ revise your patch, send it as a followup to the initial topic.
** Description
For bug fixes, a description of the bug and how your patch fixes this
bug.
For bug fixes, a description of the bug and how your patch fixes it.
For new features, a description of the feature and your implementation.
@ -103,7 +107,7 @@ For new features, a description of the feature and your implementation.
A ChangeLog entry as plaintext (separate from the patch).
See the various ChangeLog files for format and content. Note that,
See the existing ChangeLog files for format and content. Note that,
unlike some other projects, we do require ChangeLogs also for
documentation, i.e. Texinfo files.
@ -112,24 +116,16 @@ Manual, for how to write good log entries.
** The patch itself.
Please use "Context Diff" format.
If you are accessing the Bazaar repository, make sure your copy is
up-to-date (e.g. with `bzr pull'), then use
bzr diff --no-aliases --diff-options=-cp
Else, use
diff -cp OLD NEW
If your version of diff does not support these options, then get the
latest version of GNU Diff.
** Mail format.
We prefer to get the patches as inline plain text.
Please be aware of line wrapping which will make the patch unreadable
and useless for us. To avoid that, you can use MIME attachments or,
as a last resort, uuencoded gzipped text.
We prefer to get the patches as plain text, either inline (be careful
your mail client does not change line breaks) or as MIME attachments.
** Please reread your patch before submitting it.
@ -179,18 +175,12 @@ by following links from http://savannah.gnu.org/mail/?group=emacs .
** Document your changes.
Think carefully about whether your change requires updating the
documentation. If it does, you can either do this yourself or add an
item to the NEWS file.
If you document your change in NEWS, please mark the NEWS entry with
the documentation status of the change: if you submit the changes for
the manuals, mark it with "+++"; if it doesn't need to be documented,
mark it with "---"; if it needs to be documented, but you didn't
submit documentation changes, leave the NEWS entry unmarked. (These
marks are checked by the Emacs maintainers to make sure every change
was reflected in the manuals.)
Any change that matters to end-users should have a NEWS entry.
Think about whether your change requires updating the documentation
(both manuals and doc-strings). If you know it does not, mark the NEWS
entry with "---". If you know that *all* the necessary documentation
updates have been made, mark the entry with "+++". Otherwise do not mark it.
** Understanding Emacs Internals.

View file

@ -1,3 +1,17 @@
2013-09-22 Daniel Colascione <dancol@dancol.org>
* NEWS: Mention new bool-vector functionality.
aaaa2013-09-15 Jan Djärv <jan.h.d@swipnet.se>
* NEWS: Mention the macfont backend.
2013-09-09 Glenn Morris <rgm@gnu.org>
* refcards/Makefile (PS_ENGLISH, PS_CZECH, PS_FRENCH, PS_GERMAN)
(PS_POLISH, PS_PORTUGUESE, PS_RUSSIAN, PS_SLOVAKIAN, PS_TARGETS):
Use substitution refs.
2013-08-15 Glenn Morris <rgm@gnu.org>
* refcards/calccard.pdf, refcards/cs-dired-ref.pdf:
@ -714,7 +728,7 @@
* refcards/vipcard.tex, refcards/viperCard.tex:
Update short copyright year to 2012.
2012-01-04 Chong Yidong <cyd@stupidchicken.com>
2012-01-04 Chong Yidong <cyd@stupidchicken.com>
* org/README: Rename from COPYRIGHT-AND-LICENSE.

View file

@ -34,6 +34,10 @@ build time. To prevent this, use the configure option
`--with-file-notification-no'. See below for file-notify features.
FIXME? This feature is not available for the Nextstep port. (?)
** The configure option `without-compress-info' has been generalized,
and renamed to `without-compress-install'. It now prevents compression
of _any_ files during installation.
** The configure option --with-crt-dir has been removed.
It is no longer needed, as the crt*.o files are no longer linked
specially.
@ -50,6 +54,11 @@ and zlib-format compressed data.
** Emacs for NS (OSX, GNUStep) can be built with ImageMagick support.
pkg-config is required to find ImageMagick libraries.
** For OSX >= 10.5, the Core text based font backend from the Mac port is used.
For GNUStep and OSX 10.4 the old backend is used.
To use the old backend by default, do on the command line:
% defaults write org.gnu.Emacs FontBackend ns
* Startup Changes in Emacs 24.4
@ -84,6 +93,10 @@ simply disabling Transient Mark mode does the same thing.
** `initial-buffer-choice' can now specify a function to set up the
initial buffer.
** The *Messages* buffer is created in a new major mode `messages-buffer-mode',
and read-only. Code that might create the *Messages* buffer should
call the function `messages-buffer' to do so and set the mode.
** `remember-notes' creates a buffer whose content is saved on kill-emacs.
You may think of it as a *scratch* buffer whose content is preserved.
In fact, it was designed as a replacement for *scratch* buffer and can
@ -262,10 +275,16 @@ whole tree revisions.
*** In VC directory mode, `L' lists the change log for the current VC
controlled tree in a window.
*** In VC directory mode, `I' shows a log of changes that will be
received with a pull operation.
*** `C-x v G' (globally) and `G' (in VC directory mode) ignores a file
under current version control system. When called with a prefix
argument, you can remove a file from the ignored file list.
*** `cvs-append-to-ignore' has been renamed to `vc-cvs-append-to-ignore'
because it is moved to vc-cvs.el.
** cl-lib
*** New macro cl-tagbody.
@ -332,6 +351,10 @@ This is useful to avoid a query when you have no key for that name.
*** key bindings to navigate through and select the completions.
*** The icomplete-separator is customizable, and its default has changed.
*** Removed icomplete-show-key-bindings.
*** Icomplete-mode by defaults applies to all forms of minibuffer completion.
(setq icomplete-with-completion-tables '(internal-complete-buffer))
will revert to the old behavior.
** Ido
*** Ido has a manual now.
@ -461,6 +484,8 @@ todo-mode.el has been made obsolete and renamed otodo-mode.el.
** Tramp
*** The experimental url syntax for remote file names is withdrawn.
+++
*** New connection method "adb", which allows to access Android
devices by the Android Debug Bridge. The variable `tramp-adb-program'
@ -604,9 +629,30 @@ file using `set-file-extended-attributes'.
** `visited-file-modtime' now returns -1 for nonexistent files.
Formerly it returned a list (-1 LOW USEC PSEC), but this was ambiguous
in the presence of files with negative time stamps.
** The cars of the elements in `interpreter-mode-alist' are now treated
as regexps rather than literal strings. Technically this is an
incompatible change, but unless you are using interpreter-mode-alist
for something (not just adding elements to it), it ought not to affect you.
* Lisp Changes in Emacs 24.4
** New bool-vector set operation functions:
*** `bool-vector-exclusive-or'
*** `bool-vector-union'
*** `bool-vector-intersection'
*** `bool-vector-set-difference'
*** `bool-vector-not'
*** `bool-vector-subset'
*** `bool-vector-count-matches'
*** `bool-vector-count-matches-at'
** Comparison functions =, <, >, <=, >= now take many arguments.
** The second argument of `eval' can now be a lexical-environment.
** `with-demoted-errors' takes an additional argument `format'.
+++
** New function `define-error'.
@ -754,6 +800,11 @@ used in place of the 9th element of `file-attributes'.
`preserve-extended-attributes' as it now handles both SELinux context
and ACL entries.
** The `common-substring' argument of display-completion-list is obsolete.
Either use `completion-all-completions' which already returns highlighted
strings (including for partial or substring completion) or call
`completion-hilit-commonality' to add the highlight.
** Changes to the Emacs Lisp Coding Conventions in Emacs 24.4
*** The package descriptor and name of global variables, constants,

View file

@ -58,42 +58,16 @@ PDF_SLOVAKIAN = \
PDF_TARGETS = $(PDF_ENGLISH) $(PDF_CZECH) $(PDF_FRENCH) $(PDF_GERMAN) \
$(PDF_POLISH) $(PDF_PORTUGUESE) $(PDF_RUSSIAN) $(PDF_SLOVAKIAN)
PS_ENGLISH = \
calccard.ps \
dired-ref.ps \
gnus-booklet.ps \
gnus-refcard.ps \
orgcard.ps \
refcard.ps \
survival.ps \
vipcard.ps \
viperCard.ps
PS_ENGLISH = $(PDF_ENGLISH:.pdf=.ps)
PS_CZECH = $(PDF_CZECH:.pdf=.ps)
PS_FRENCH = $(PDF_FRENCH:.pdf=.ps)
PS_GERMAN = $(PDF_GERMAN:.pdf=.ps)
PS_POLISH = $(PDF_POLISH:.pdf=.ps)
PS_PORTUGUESE = $(PDF_PORTUGUESE:.pdf=.ps)
PS_RUSSIAN = $(PDF_RUSSIAN:.pdf=.ps)
PS_SLOVAKIAN = $(PDF_SLOVAKIAN:.pdf=.ps)
PS_CZECH = \
cs-dired-ref.ps \
cs-refcard.ps \
cs-survival.ps
PS_FRENCH = \
fr-dired-ref.ps \
fr-refcard.ps \
fr-survival.ps \
PS_GERMAN = de-refcard.ps
PS_POLISH = pl-refcard.ps
PS_PORTUGUESE = pt-br-refcard.ps
PS_RUSSIAN = ru-refcard.ps
PS_SLOVAKIAN = \
sk-dired-ref.ps \
sk-refcard.ps \
sk-survival.ps
PS_TARGETS = $(PS_ENGLISH) $(PS_CZECH) $(PS_FRENCH) $(PS_GERMAN) \
$(PS_POLISH) $(PS_PORTUGUESE) $(PS_RUSSIAN) $(PS_SLOVAKIAN)
PS_TARGETS = $(PDF_TARGETS:.pdf=.ps)
## For emacsver.tex.

View file

@ -41,7 +41,7 @@ Emacs editing modes
Emacs network features
* EUDC: (eudc). Emacs client for directory servers (LDAP, PH).
* Gnus: (gnus). The newsreader Gnus.
* GnuTLS: (emacs-gnutls). The Emacs GnuTLS integration.
* Emacs GnuTLS: (emacs-gnutls). The Emacs GnuTLS integration.
* Mairix: (mairix-el). Emacs interface to the Mairix mail indexer.
* MH-E: (mh-e). Emacs interface to the MH mail system.
* Message: (message). Mail and news composition mode that

View file

@ -1,3 +1,9 @@
2013-09-05 Jean Haidouk <haidouk@yandex.com> (tiny change)
* quail/latin-alt.el ("french-alt-postfix", "latin-alt-postfix"):
* quail/latin-pre.el ("french-prefix"):
* quail/latin-post.el ("french-postfix"): Add `œ' and `Œ'.
2013-08-28 Paul Eggert <eggert@cs.ucla.edu>
* Makefile.in (SHELL): Now @SHELL@, not /bin/sh,

View file

@ -938,7 +938,7 @@ Par exemple: a` -> à e' -> é.
En doublant la frappe des diacritiques, ils s'isoleront de la lettre.
Par exemple: e'' -> e'
<e dans l'o> n'est pas disponible."
Œ est produit par O/."
nil t nil nil nil nil nil nil nil nil t)
(quail-define-rules
@ -959,7 +959,9 @@ Par exemple: e'' -> e'
("i^" )
("i\"" )
("O^" )
("O/" )
("o^" )
("o/" )
("U`" )
("U^" )
("U\"" )
@ -988,7 +990,9 @@ Par exemple: e'' -> e'
("i^^" ["i^"])
("i\"\"" ["i\""])
("O^^" ["O^"])
("O//" ["O/"])
("o^^" ["o^"])
("o//" ["o/"])
("U``" ["U`"])
("U^^" ["U^"])
("U\"\"" ["U\""])
@ -1423,6 +1427,7 @@ Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
("O'" )
("O-" )
("O/" )
("O/" )
("O:" )
("O\"" )
("O^" )
@ -1515,6 +1520,7 @@ Doubling the postfix separates the letter and postfix: e.g. a'' -> a'
("o'" )
("o-" )
("o/" )
("o/" )
("o:" )
("o\"" )
("o^" )

View file

@ -1013,7 +1013,7 @@ Par exemple: a` -> à e' -> é.
En doublant la frappe des diacritiques, ils s'isoleront de la lettre.
Par exemple: e'' -> e'
<e dans l'o> n'est pas disponible."
Œ est produit par O/."
nil t nil nil nil nil nil nil nil nil t)
(quail-define-rules
@ -1034,7 +1034,9 @@ Par exemple: e'' -> e'
("i^" )
("i\"" )
("O^" )
("O/" )
("o^" )
("o/" )
("U`" )
("U^" )
("U\"" )
@ -1063,7 +1065,9 @@ Par exemple: e'' -> e'
("i^^" ["i^"])
("i\"\"" ["i\""])
("O^^" ["O^"])
("O//" ["O/"])
("o^^" ["o^"])
("o//" ["o/"])
("U``" ["U`"])
("U^^" ["U^"])
("U\"\"" ["U\""])
@ -2099,7 +2103,7 @@ of characters from a single Latin-N charset.
dot | . | z. -> ż
stroke | / | d/ -> đ
nordic | / | d/ -> ð t/ -> þ a/ -> å e/ -> æ o/ -> ø
others | / | s/ -> ß ?/ -> ¿ !/ -> ¡ // -> °
others | / | s/ -> ß ?/ -> ¿ !/ -> ¡ // -> ° o/ -> œ
| various | << -> « >> -> » o_ -> º a_ -> ª
Doubling the postfix separates the letter and postfix: e.g. a'' -> a'

View file

@ -264,6 +264,7 @@ Key translation rules are:
diaeresis | \" | \"i -> ï
cedilla | ~ or , | ~c -> ç ,c -> ç
symbol | ~ | ~> -> » ~< -> «
misc | / | /o -> œ
" nil t nil nil nil nil nil nil nil nil t)
(quail-define-rules
@ -295,6 +296,9 @@ Key translation rules are:
("\"e" )
("\"i" )
("\" " ?\")
("/o" )
("/O" )
("/ " ?/)
("~<" ?\«)
("~>" ?\»)
("~C" )

View file

@ -1,3 +1,9 @@
2013-09-20 Paul Eggert <eggert@cs.ucla.edu>
A simpler, centralized INLINE.
* profile.c (INLINE): New macro.
(SYSTIME_INLINE): Remove.
2013-08-28 Paul Eggert <eggert@cs.ucla.edu>
* Makefile.in (SHELL): Now @SHELL@, not /bin/sh,

View file

@ -29,9 +29,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
** abstraction : a stopwatch
** operations: reset_watch, get_time
*/
#include <config.h>
#define SYSTIME_INLINE EXTERN_INLINE
#define INLINE EXTERN_INLINE
#include <config.h>
#include <inttypes.h>
#include <stdio.h>

View file

@ -60,6 +60,9 @@ extern int aclsort (int, int, struct acl *);
# define fchmod(fd, mode) (-1)
#endif
#ifndef _GL_INLINE_HEADER_BEGIN
#error "Please include config.h first."
#endif
_GL_INLINE_HEADER_BEGIN
#ifndef ACL_INTERNAL_INLINE
# define ACL_INTERNAL_INLINE _GL_INLINE

View file

@ -25,6 +25,9 @@
so we include it here first. */
#include <stdio.h>
#ifndef _GL_INLINE_HEADER_BEGIN
#error "Please include config.h first."
#endif
_GL_INLINE_HEADER_BEGIN
#ifndef BINARY_IO_INLINE
# define BINARY_IO_INLINE _GL_INLINE

View file

@ -29,41 +29,31 @@
struct timespec
dtotimespec (double sec)
{
enum { BILLION = 1000 * 1000 * 1000 };
double min_representable = TYPE_MINIMUM (time_t);
double max_representable =
((TYPE_MAXIMUM (time_t) * (double) BILLION + (BILLION - 1))
/ BILLION);
struct timespec r;
((TYPE_MAXIMUM (time_t) * (double) TIMESPEC_RESOLUTION
+ (TIMESPEC_RESOLUTION - 1))
/ TIMESPEC_RESOLUTION);
if (! (min_representable < sec))
{
r.tv_sec = TYPE_MINIMUM (time_t);
r.tv_nsec = 0;
}
return make_timespec (TYPE_MINIMUM (time_t), 0);
else if (! (sec < max_representable))
{
r.tv_sec = TYPE_MAXIMUM (time_t);
r.tv_nsec = BILLION - 1;
}
return make_timespec (TYPE_MAXIMUM (time_t), TIMESPEC_RESOLUTION - 1);
else
{
time_t s = sec;
double frac = BILLION * (sec - s);
double frac = TIMESPEC_RESOLUTION * (sec - s);
long ns = frac;
ns += ns < frac;
s += ns / BILLION;
ns %= BILLION;
s += ns / TIMESPEC_RESOLUTION;
ns %= TIMESPEC_RESOLUTION;
if (ns < 0)
{
s--;
ns += BILLION;
ns += TIMESPEC_RESOLUTION;
}
r.tv_sec = s;
r.tv_nsec = ns;
return make_timespec (s, ns);
}
return r;
}

View file

@ -20,6 +20,9 @@
#ifndef _GL_EXECINFO_H
#define _GL_EXECINFO_H
#ifndef _GL_INLINE_HEADER_BEGIN
#error "Please include config.h first."
#endif
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_EXECINFO_INLINE
# define _GL_EXECINFO_INLINE _GL_INLINE

View file

@ -86,7 +86,7 @@ rpl_getgroups (int n, gid_t *group)
}
saved_errno = errno;
free (gbuf);
errno == saved_errno;
errno = saved_errno;
return result;
}

View file

@ -26,6 +26,9 @@
#include <unistd.h>
#include <stdbool.h>
#ifndef _GL_INLINE_HEADER_BEGIN
#error "Please include config.h first."
#endif
_GL_INLINE_HEADER_BEGIN
#if !HAVE_OPENAT

View file

@ -195,6 +195,20 @@ typedef int verify_NSIG_constraint[NSIG <= 32 ? 1 : -1];
# endif
/* When also using extern inline, suppress the use of static inline in
standard headers of problematic Apple configurations, as Libc at
least through Libc-825.26 (2013-04-09) mishandles it; see, e.g.,
<http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
Perhaps Apple will fix this some day. */
#if (defined _GL_EXTERN_INLINE_IN_USE && defined __APPLE__ \
&& (defined __i386__ || defined __x86_64__))
# undef sigaddset
# undef sigdelset
# undef sigemptyset
# undef sigfillset
# undef sigismember
#endif
/* Test whether a given signal is contained in a signal set. */
# if @HAVE_POSIX_SIGNALBLOCKING@
/* This function is defined as a macro on Mac OS X. */

View file

@ -23,6 +23,9 @@
#include <sys/stat.h>
#include <time.h>
#ifndef _GL_INLINE_HEADER_BEGIN
#error "Please include config.h first."
#endif
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_STAT_TIME_INLINE
# define _GL_STAT_TIME_INLINE _GL_INLINE

View file

@ -124,6 +124,15 @@
#define _GL_STDIO_STRINGIZE(token) #token
#define _GL_STDIO_MACROEXPAND_AND_STRINGIZE(token) _GL_STDIO_STRINGIZE(token)
/* When also using extern inline, suppress the use of static inline in
standard headers of problematic Apple configurations, as Libc at
least through Libc-825.26 (2013-04-09) mishandles it; see, e.g.,
<http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
Perhaps Apple will fix this some day. */
#if (defined _GL_EXTERN_INLINE_IN_USE && defined __APPLE__ \
&& defined __GNUC__ && defined __STDC__)
# undef putc_unlocked
#endif
#if @GNULIB_DPRINTF@
# if @REPLACE_DPRINTF@

View file

@ -18,7 +18,7 @@
/* Written by Paul Eggert. */
/* Return the sum of two timespec values A and B. On overflow, return
an extremal value. This assumes 0 <= tv_nsec <= 999999999. */
an extremal value. This assumes 0 <= tv_nsec < TIMESPEC_RESOLUTION. */
#include <config.h>
#include "timespec.h"
@ -28,11 +28,10 @@
struct timespec
timespec_add (struct timespec a, struct timespec b)
{
struct timespec r;
time_t rs = a.tv_sec;
time_t bs = b.tv_sec;
int ns = a.tv_nsec + b.tv_nsec;
int nsd = ns - 1000000000;
int nsd = ns - TIMESPEC_RESOLUTION;
int rns = ns;
if (0 <= nsd)
@ -59,13 +58,11 @@ timespec_add (struct timespec a, struct timespec b)
{
high_overflow:
rs = TYPE_MAXIMUM (time_t);
rns = 999999999;
rns = TIMESPEC_RESOLUTION - 1;
}
}
else
rs += bs;
r.tv_sec = rs;
r.tv_nsec = rns;
return r;
return make_timespec (rs, rns);
}

View file

@ -18,8 +18,8 @@
/* Written by Paul Eggert. */
/* Return the difference between two timespec values A and B. On
overflow, return an extremal value. This assumes 0 <= tv_nsec <=
999999999. */
overflow, return an extremal value. This assumes 0 <= tv_nsec <
TIMESPEC_RESOLUTION. */
#include <config.h>
#include "timespec.h"
@ -29,7 +29,6 @@
struct timespec
timespec_sub (struct timespec a, struct timespec b)
{
struct timespec r;
time_t rs = a.tv_sec;
time_t bs = b.tv_sec;
int ns = a.tv_nsec - b.tv_nsec;
@ -37,7 +36,7 @@ timespec_sub (struct timespec a, struct timespec b)
if (ns < 0)
{
rns = ns + 1000000000;
rns = ns + TIMESPEC_RESOLUTION;
if (rs == TYPE_MINIMUM (time_t))
{
if (bs <= 0)
@ -59,13 +58,11 @@ timespec_sub (struct timespec a, struct timespec b)
else
{
rs = TYPE_MAXIMUM (time_t);
rns = 999999999;
rns = TIMESPEC_RESOLUTION - 1;
}
}
else
rs -= bs;
r.tv_sec = rs;
r.tv_nsec = rns;
return r;
return make_timespec (rs, rns);
}

View file

@ -21,6 +21,9 @@
# include <time.h>
#ifndef _GL_INLINE_HEADER_BEGIN
#error "Please include config.h first."
#endif
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_TIMESPEC_INLINE
# define _GL_TIMESPEC_INLINE _GL_INLINE

View file

@ -19,6 +19,9 @@
#include <stdint.h>
#ifndef _GL_INLINE_HEADER_BEGIN
#error "Please include config.h first."
#endif
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_U64_INLINE
# define _GL_U64_INLINE _GL_INLINE

View file

@ -116,6 +116,9 @@
# include <getopt.h>
#endif
#ifndef _GL_INLINE_HEADER_BEGIN
#error "Please include config.h first."
#endif
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_UNISTD_INLINE
# define _GL_UNISTD_INLINE _GL_INLINE

View file

@ -90,10 +90,12 @@ validate_timespec (struct timespec timespec[2])
assert (timespec);
if ((timespec[0].tv_nsec != UTIME_NOW
&& timespec[0].tv_nsec != UTIME_OMIT
&& (timespec[0].tv_nsec < 0 || 1000000000 <= timespec[0].tv_nsec))
&& ! (0 <= timespec[0].tv_nsec
&& timespec[0].tv_nsec < TIMESPEC_RESOLUTION))
|| (timespec[1].tv_nsec != UTIME_NOW
&& timespec[1].tv_nsec != UTIME_OMIT
&& (timespec[1].tv_nsec < 0 || 1000000000 <= timespec[1].tv_nsec)))
&& ! (0 <= timespec[1].tv_nsec
&& timespec[1].tv_nsec < TIMESPEC_RESOLUTION)))
{
errno = EINVAL;
return -1;

View file

@ -26,6 +26,9 @@ int lutimens (char const *, struct timespec const [2]);
# include <fcntl.h>
# include <sys/stat.h>
#ifndef _GL_INLINE_HEADER_BEGIN
#error "Please include config.h first."
#endif
_GL_INLINE_HEADER_BEGIN
#ifndef _GL_UTIMENS_INLINE
# define _GL_UTIMENS_INLINE _GL_INLINE

View file

@ -1,3 +1,786 @@
2013-09-26 Leo Liu <sdl.web@gmail.com>
* minibuffer.el (completion-all-sorted-completions): Make args
optional as they are.
2013-09-25 Daniel Colascione <dancol@dancol.org>
* emacs-lisp/cl-macs.el (cl-type-spec): Tell edebug what type
specs are and that they're not evaluated.
2013-09-24 Sam Steingold <sds@gnu.org>
* midnight.el (clean-buffer-list-kill-regexps)
(clean-buffer-list-kill-buffer-names): Update for the new Man
buffer naming which includes the object name.
2013-09-23 Stefan Monnier <monnier@iro.umontreal.ca>
* eshell/esh-cmd.el (eshell--sep-terms): New var.
(eshell-parse-command, eshell-parse-pipeline): Use it since
eshell-separate-commands requires a dynamic scoped var.
Reported by Jan Moringen <jmoringe@techfak.uni-bielefeld.de>.
2013-09-23 Leo Liu <sdl.web@gmail.com>
* autoinsert.el (auto-insert-alist): Make the value of
lexical-binding match its file setting.
2013-09-23 Juanma Barranquero <lekktu@gmail.com>
* vc/vc-sccs.el (vc-sccs-search-project-dir): Mark unused argument.
* autoarg.el (autoarg-kp-digit-argument):
* electric.el (Electric-command-loop):
* kmacro.el (kmacro-step-edit-insert):
Do not set universal-argument-num-events.
2013-09-22 Leo Liu <sdl.web@gmail.com>
* files.el (interpreter-mode-alist): Add octave.
2013-09-21 Alan Mackenzie <acm@muc.de>
C++: fontify identifier in declaration following "public:" correctly.
* progmodes/cc-langs.el (c-decl-start-colon-kwd-re): New lang var
to match "public", etc.
(c-decl-prefix-re): Add ":" into the C++ value.
* progmodes/cc-engine.el (c-find-decl-prefix-search): Refactor a
bit. Add a check for a ":" preceded by "public", etc.
2013-09-21 Eli Zaretskii <eliz@gnu.org>
* files.el (auto-mode-alist): Support OBJFILE-gdb.gdb script files
recognized by GDB 7.5 and later.
2013-09-21 Xue Fuqiao <xfq.free@gmail.com>
* vc/vc-dir.el (vc-dir-mode-map): Add keybinding for vc-log-incoming.
2013-09-20 Stefan Monnier <monnier@iro.umontreal.ca>
* subr.el (internal--call-interactively): New const.
(called-interactively-p): Use it (bug#3984).
2013-09-20 Xue Fuqiao <xfq.free@gmail.com>
* vc/pcvs.el (cvs-mode-ignore):
* vc/vc-cvs.el (vc-cvs-ignore, vc-cvs-append-to-ignore): Rename
cvs-append-to-ignore to vc-cvs-append-to-ignore.
2013-09-19 Stefan Monnier <monnier@iro.umontreal.ca>
* eshell/em-ls.el: Use advice. Remove redundant :group keywords.
(eshell-ls-orig-insert-directory): Remove.
(eshell-ls-unload-hook): Not a defcustom any more. Use advice-remove.
(eshell-ls-use-in-dired): Use advice-add/remove.
(eshell-ls--insert-directory): Rename from eshell-ls-insert-directory.
Add `orig-fun' arg for use in :around advice.
Make it check (redundantly) eshell-ls-use-in-dired.
2013-09-19 Glenn Morris <rgm@gnu.org>
* emacs-lisp/cl-macs.el (cl-defsubst): Remove unused local `pbody'.
* simple.el (x-selection-owner-p, x-selection-exists-p): Declare.
* emacs-lisp/eieio.el (class-parent): Undo previous change.
2013-09-19 Michael Albinus <michael.albinus@gmx.de>
* net/tramp-sh.el (tramp-get-remote-id): Do not raise an error.
(tramp-get-remote-uid-with-id, tramp-get-remote-gid-with-id)
(tramp-get-remote-python): New defuns.
(tramp-get-remote-uid-with-perl)
(tramp-get-remote-gid-with-perl): New defuns. Perl code
contributed by yary <not.com@gmail.com> (tiny change).
(tramp-get-remote-uid-with-python)
(tramp-get-remote-gid-with-python): New defuns. Python code
contributed by Andrey Tykhonov <atykhonov@gmail.com> (tiny change).
(tramp-get-remote-uid, tramp-get-remote-gid): Use new defuns.
2013-09-19 Glenn Morris <rgm@gnu.org>
* emacs-lisp/eieio.el (class-parent): Don't use defalias with macros.
* eshell/em-unix.el (eshell-remove-entries):
Rename argument to avoid name-clash with global `top-level'.
* eshell/esh-proc.el (eshell-kill-process-function):
Remove eshell-reset-after-proc from eshell-kill-hook if present.
(eshell-reset-after-proc): Remove unused arg `proc'.
* eshell/esh-util.el (eshell-read-hosts-file): Use `filename' arg.
(directory-files-and-attributes): Mark unused arg.
* eshell/em-unix.el (eshell-remove-entries):
Remove unused arg `path'. Update callers.
* eshell/em-hist.el (eshell-hist-parse-arguments):
Remove unused arg `silent'. Update callers.
* eshell/em-ls.el (eshell-ls-use-in-dired): Use `symbol' arg.
Fix (f)boundp mix-up.
* eshell/em-smart.el (eshell-smart-scroll-window)
(eshell-disable-after-change):
* eshell/em-term.el (eshell-term-sentinel): Mark unused arg.
2013-09-18 Alan Mackenzie <acm@muc.de>
Fix fontification of type when followed by "const".
* progmodes/cc-engine.el (c-forward-decl-or-cast-1): Don't exclude
"known" types from fontification.
2013-09-18 Glenn Morris <rgm@gnu.org>
* emacs-lisp/chart.el (x-display-color-cells): Declare.
(chart-face-list): Drop Emacsen without display-color-p.
* net/eww.el (libxml-parse-html-region): Declare.
(eww-display-html): Explicit error if no libxml2 support.
* doc-view.el (doc-view-mode): Silence --without-x compilation.
* image.el (image-type-from-buffer, image-multi-frame-p):
Remove --without-x warning/error.
* mouse.el (mouse-yank-primary):
* term.el (term-mouse-paste):
Reorder to silence --without-x compilation.
* mpc.el (doc-view-mode): Silence --without-x compilation.
* mail/rmailmm.el (rmail-mime-set-bulk-data):
Silence --without-x compilation.
* progmodes/gud.el (gud-find-file, gud-mode):
Silence --without-x compilation.
(tooltip-mode): Declare.
* wdired.el (dired-backup-overwrite): Remove declaration.
(wdired-mode-map): Add doc string.
* custom.el (x-get-resource): Declare.
* eshell/em-glob.el (ange-cache):
* eshell/em-unix.el (ange-cache): Declare.
* faces.el (x-display-list, x-open-connection, x-get-resource):
Declare.
* follow.el (scroll-bar-toolkit-scroll, scroll-bar-drag)
(scroll-bar-scroll-up, scroll-bar-scroll-down, mwheel-scroll):
Declare.
* frame.el (x-display-grayscale-p, x-display-name): Declare.
* net/gnutls.el (gnutls-log-level): Declare.
* net/shr.el (image-size, image-animate): Declare.
* simple.el (font-info): Declare.
* subr.el (x-popup-dialog): Declare.
* term/common-win.el (x-select-enable-primary)
(x-last-selected-text-primary, x-last-selected-text-clipboard):
Declare.
* term/ns-win.el (x-handle-args): Declare.
* term/x-win.el (x-select-enable-clipboard): Declare.
* term/w32-win.el (create-default-fontset): Declare.
* w32-common-fns.el (x-server-version, x-select-enable-clipboard):
Declare.
* window.el (x-display-pixel-height, tool-bar-lines-needed): Declare.
(fit-frame-to-buffer): Explicit error if --without-x.
(mouse-autoselect-window-select): Silence compiler.
* dframe.el (x-sensitive-text-pointer-shape, x-pointer-shape): Declare.
* eshell/em-cmpl.el (eshell-complete-parse-arguments):
* eshell/em-hist.el (eshell/history, eshell-isearch-backward):
* eshell/em-pred.el (eshell-parse-modifiers, eshell-pred-file-time):
* eshell/esh-util.el (eshell-sublist):
Remove unused local variables.
* eshell/esh-io.el (x-select-enable-clipboard): Declare.
* textmodes/two-column.el: Make 2C-split work for --without-x.
(scroll-bar-columns): Autoload.
(top-level): Require fringe when compiling.
2013-09-18 Leo Liu <sdl.web@gmail.com>
* subr.el (add-hook): Robustify to handle closure as well.
2013-09-17 Glenn Morris <rgm@gnu.org>
* simple.el (messages-buffer-mode-map): Unbind "g".
2013-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
* help-mode.el (help-mode-finish): Use derived-mode-p.
Remove obsolete highlighting.
* play/life.el (life-mode): Use define-derived-mode. Derive from
special-mode.
(life): Let-bind inhibit-read-only.
(life-setup): Avoid `setq'. Use `life-mode'.
* emacs-lisp/package.el (package-generate-autoloads): Remove `require'
which should not be needed any more.
(package-menu-refresh, package-menu-describe-package): Use user-error.
* eshell/esh-cmd.el (eshell-post-rewrite-command-function): New var.
(eshell-post-rewrite-command-hook): Make obsolete.
(eshell-parse-command): Simplify.
(eshell-structure-basic-command): Remove unused arg `vocal-test'.
(eshell--cmd): Declare.
(eshell-parse-pipeline): Remove unused var `final-p'.
Pass a dynvar to eshell-post-rewrite-command-hook.
Implement the new eshell-post-rewrite-command-function.
(eshell-invoke-directly): Remove unused arg `input'.
* eshell/esh-io.el (eshell-io-initialize):
Use eshell-post-rewrite-command-function (bug#15399).
(eshell--apply-redirections): Rename from eshell-apply-redirections;
adjust to new calling convention.
(eshell-create-handles): Rename args to avoid clashing with dynvar
`standard-output'.
2013-09-17 Glenn Morris <rgm@gnu.org>
* simple.el (messages-buffer-mode): New major mode.
(messages-buffer): New function.
* startup.el (normal-top-level): Switch mode of *Messages* buffer.
* emacs-lisp/ert.el (ert--force-message-log-buffer-truncation)
(ert-run-test): Use `messages-buffer' function.
(ert--force-message-log-buffer-truncation): Ignore read-only.
* help.el (view-echo-area-messages): Use `messages-buffer' function.
* mail/emacsbug.el (report-emacs-bug): Use `messages-buffer' function.
2013-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
* subr.el (eval-after-load): Preserve evaluation order (bug#15389).
* abbrev.el (abbrev--check-chars): Fix thinko (bug#15329).
2013-09-16 Stefan Monnier <monnier@iro.umontreal.ca>
* icomplete.el (icomplete-in-buffer): New var.
(icomplete-pre-command-hook, icomplete-post-command-hook): Remove those
vars and replace them with functions.
(icomplete-minibuffer-setup): Adjust accordingly.
(icomplete--completion-table, icomplete--completion-predicate)
(icomplete--field-string, icomplete--field-beg, icomplete--field-end):
New functions.
(icomplete-forward-completions, icomplete-backward-completions)
(icomplete-simple-completing-p, icomplete-exhibit)
(icomplete-completions): Use them.
(icomplete--in-region-buffer): New var.
(icomplete--in-region-setup): New function.
(icomplete-mode): Use it.
* eshell/esh-opt.el: Fix last change to set lexical-vars properly
(bug#15379).
(eshell--do-opts): Rename from eshell-do-opt, remove arg `body-fun',
return args and options.
(eshell-eval-using-options): Use the new return value of
eshell--do-opts to set the options's vars in their scope.
(eshell--set-option): Rename from eshell-set-option.
Add arg `opt-vals'.
(eshell--process-option): Rename from eshell-process-option.
Add arg `opt-vals'.
(eshell--process-args): Use an `opt-vals' alist to store the options's
values during their processing and return them additionally to the
remaining args.
2013-09-15 Dmitry Gutov <dgutov@yandex.ru>
* progmodes/ruby-mode.el (ruby-operator-re): Consider line
continuation character an operator, as far as indentation is
concerned (Bug#15369).
2013-09-15 Martin Rudalics <rudalics@gmx.at>
* window.el (window--state-put-2): Don't process buffer state
when buffer doesn't exist any more (Bug#15382).
2013-09-15 Glenn Morris <rgm@gnu.org>
* eshell/em-unix.el (eshell/rm):
Make -f ignore missing files. (Bug#15373)
* eshell/esh-cmd.el (eshell--local-vars): New variable. (Bug#15372)
(eshell-rewrite-for-command): Add for loop vars to eshell--local-vars.
* eshell/esh-var.el (eshell-get-variable): Respect eshell--local-vars.
2013-09-14 Glenn Morris <rgm@gnu.org>
* eshell/esh-var.el (eshell-variable-aliases-list): Fix doc typo.
2013-09-13 Glenn Morris <rgm@gnu.org>
* dired-x.el (dired-guess-shell-alist-user): Doc fix.
(dired-guess-default): Make `file' available in the env. (Bug#15363)
2013-09-13 Dmitry Antipov <dmantipov@yandex.ru>
* frame.el (x-focus-frame): Mark as declared in frame.c.
2013-09-13 Stefan Monnier <monnier@iro.umontreal.ca>
* ls-lisp.el: Use advice-add.
(original-insert-directory): Remove.
(ls-lisp--insert-directory): Rename from insert-directory; add
`orig-fun' argument.
(insert-directory): Advise.
2013-09-13 Eli Zaretskii <eliz@gnu.org>
* term.el (term-emulate-terminal): Decode the command string
before passing it to term-command-hook. (Bug#15337)
2013-09-13 Glenn Morris <rgm@gnu.org>
* eshell/esh-util.el (ange-cache): Move declaration earlier.
* eshell/esh-ext.el (eshell-search-path): Declare.
* eshell/em-prompt.el (eshell/pwd): Autoload it.
Otherwise an error occurs if eshell-dirs module not loaded.
* progmodes/gdb-mi.el (gud-cont, gud-step): Declare.
2013-09-13 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-check-proper-method-and-host): Rename it from
`tramp-check-proper-host'. Check for a valid method name.
* net/tramp-adb.el (tramp-adb-maybe-open-connection):
* net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
* net/tramp-sh.el (tramp-maybe-open-connection):
* net/tramp-smb.el (tramp-smb-maybe-open-connection): Call it.
* net/tramp-cache.el (tramp-cache-print): Don't print text properties
also for hash values.
2013-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
* term/ns-win.el (parameters): Don't declare as dynamic.
(before-make-frame-hook): Don't add ineffective function.
* eshell/*.el: Use lexical-binding (bug#15231).
2013-09-12 Kenichi Handa <handa@gnu.org>
* composite.el (compose-gstring-for-graphic): Handle enclosing mark.
2013-09-12 Glenn Morris <rgm@gnu.org>
* vc/vc-svn.el (vc-svn-dir-status-files, vc-svn-dir-extra-headers)
(vc-svn-ignore, vc-svn-retrieve-tag): Mark unused arguments.
* subr.el (do-after-load-evaluation): Also give compiler warnings
when obsolete files are used (except by obsolete files).
* vc/vc-svn.el (vc-svn-parse-status): If there are multiple files
in the status output, assume `filename' is the first. (Bug#15322)
* vc/vc.el (vc-deduce-fileset): Doc fix.
* calc/calc-help.el (Info-goto-node):
* progmodes/cperl-mode.el (Info-find-node):
* vc/ediff.el (Info-goto-node): Update declarations.
* vc/vc-dispatcher.el (vc-dir-refresh): Declare.
* vc/vc-bzr.el (vc-compilation-mode): Declare.
(vc-bzr-pull): Require vc-dispatcher.
* vc/vc-git.el (vc-compilation-mode): Declare.
(vc-git-pull): Require vc-dispatcher.
* progmodes/ruby-mode.el (ruby-syntax-propertize-function): Declare.
* progmodes/octave.el (help-button-action): Declare.
* shell.el (shell-directory-tracker): Output error as a message
rather than just returning it as a string.
(shell-process-pushd): Remove useless use of message.
* dframe.el (dframe-timer-fn):
* files.el (dir-locals-read-from-file):
* mpc.el (mpc--status-timer-run, mpc--status-idle-timer-run)
(mpc-format):
* reveal.el (reveal-post-command):
* saveplace.el (load-save-place-alist-from-file):
* shell.el (shell-resync-dirs):
* w32-common-fns.el (x-get-selection-value):
* emacs-lisp/copyright.el (copyright-find-copyright):
* emacs-lisp/eldoc.el (eldoc-print-current-symbol-info):
* emulation/tpu-edt.el (tpu-copy-keyfile):
* play/bubbles.el (bubbles--mark-neighbourhood):
* progmodes/executable.el
(executable-make-buffer-file-executable-if-script-p):
* term/pc-win.el (x-get-selection-value): Use with-demoted-errors.
2013-09-12 Stefan Monnier <monnier@iro.umontreal.ca>
Cleanup Eshell to rely less on dynamic scoping.
* eshell/esh-opt.el (eshell-eval-using-options): Don't bind usage-msg,
last-value, and ext-command here. Bind `args' closer to `body'.
(temp-args, last-value, usage-msg, ext-command, args): Don't defvar.
(eshell--args): Declare new dynamic var.
(eshell-do-opt): Add argument `args'. Bind our own usage-msg,
last-value, and ext-command. Pass `args' to `body'.
(eshell-process-args): Bind eshell--args.
(eshell-set-option): Use eshell--args.
* eshell/eshell.el (eshell): Use derived-mode-p.
* eshell/esh-var.el (eshell-parse-variable): Use backquote.
(eshell-parse-variable-ref): Remove unused vars `end' and `err'.
(eshell-glob-function): Declare.
* eshell/esh-util.el: Require cl-lib.
(eshell-read-hosts-file): Avoid add-to-list.
* eshell/esh-cmd.el (eshell-parse-lisp-argument): Remove unused var
`err'.
* eshell/em-unix.el (compilation-scroll-output, locate-history-list):
Declare.
(eshell/diff): Remove unused var `err'.
* eshell/em-rebind.el (eshell-delete-backward-char): Remove unused arg
`killflag'.
* eshell/em-pred.el (eshell-parse-modifiers): Remove unused var `err'.
* eshell/em-ls.el (eshell-ls-highlight-alist): Move defvars before
first use.
* eshell/em-glob.el (eshell-glob-matches, message-shown):
Move declaration before first use.
* eshell/em-alias.el (eshell-maybe-replace-by-alias): Use backquotes.
* autorevert.el (auto-revert-notify-handler): Use `cl-dolist' since we
rely on cl-return.
2013-09-12 Glenn Morris <rgm@gnu.org>
* term/ns-win.el (global-map): Remove binding for ispell-next,
deleted 1999-05-29. (Bug#15357)
2013-09-11 Glenn Morris <rgm@gnu.org>
* echistory.el (electric-command-history): Remove call to deleted func.
* play/landmark.el (landmark-mode): Fix typos.
* vc/vc-cvs.el (cvs-append-to-ignore): Fix arg spec.
Check cvs-sort-ignore-file is bound.
* savehist.el: No need for cl when compiling on Emacs.
2013-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
* eshell/esh-mode.el (eshell-mode-syntax-table): Fix up initialization
(bug#15338).
(eshell-self-insert-command, eshell-send-invisible):
Remove unused argument.
(eshell-handle-control-codes): Remove unused var `orig'.
Avoid delete-backward-char.
* files.el (set-auto-mode): Simplify a bit further.
2013-09-11 Glenn Morris <rgm@gnu.org>
* files.el (interpreter-mode-alist): Remove \\` \\' parts.
(set-auto-mode): Don't regexp-quote elements.
* progmodes/python.el (interpreter-mode-alist): Remove \\` \\'.
* progmodes/cc-mode.el (interpreter-mode-alist):
* progmodes/ruby-mode.el (interpreter-mode-alist):
Revert previous change.
2013-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
* play/snake.el (snake-mode):
* play/mpuz.el (mpuz-mode):
* play/landmark.el (lm-mode):
* play/blackbox.el (blackbox-mode):
* play/5x5.el (5x5-mode):
* obsolete/options.el (Edit-options-mode):
* net/quickurl.el (quickurl-list-mode):
* net/newst-treeview.el (newsticker-treeview-mode):
* mail/rmailsum.el (rmail-summary-mode):
* mail/mspools.el (mspools-mode):
* locate.el (locate-mode):
* ibuffer.el (ibuffer-mode):
* emulation/ws-mode.el (wordstar-mode):
* emacs-lisp/debug.el (debugger-mode):
* array.el (array-mode):
* net/eudc.el (eudc-mode): Use define-derived-mode.
* net/mairix.el (mairix-searches-mode-font-lock-keywords):
Move initialization into declaration.
(mairix-searches-mode): Use define-derived-mode.
* net/eudc-hotlist.el (eudc-hotlist-mode): Use define-derived-mode.
(eudc-edit-hotlist): Use dolist.
* man.el (Man-mode-syntax-table): Rename from man-mode-syntax-table.
(Man-mode): Use define-derived-mode.
* info.el (Info-edit-mode-map): Rename from Info-edit-map.
(Info-edit-mode): Use define-derived-mode.
(Info-cease-edit): Use Info-mode.
* eshell/esh-mode.el (eshell-mode-syntax-table): Move initialization
into declaration.
(eshell-mode): Use define-derived-mode.
* chistory.el (command-history-mode-map): Rename from
command-history-map.
(command-history-mode): Use define-derived-mode.
(Command-history-setup): Remove function.
* calc/calc.el (calc-trail-mode-map): New var.
(calc-trail-mode): Use define-derived-mode.
(calc-trail-buffer): Set calc-main-buffer manually.
* bookmark.el (bookmark-insert-annotation): New function.
(bookmark-edit-annotation): Use it.
(bookmark-edit-annotation-mode): Make it a proper major mode.
(bookmark-send-edited-annotation): Use derived-mode-p.
* arc-mode.el (archive-mode): Move kill-all-local-variables a tiny bit
closer to its ideal place. Use \' to match EOS.
* profiler.el (profiler-calltree-find): Use function-equal.
2013-09-10 Glenn Morris <rgm@gnu.org>
* files.el (interpreter-mode-alist): Convert to regexps.
(set-auto-mode): Adapt for this. (Bug#15306)
* progmodes/cperl-mode.el (cperl-clobber-mode-lists):
Comment out unused variable.
* progmodes/cc-mode.el (interpreter-mode-alist):
* progmodes/python.el (interpreter-mode-alist):
* progmodes/ruby-mode.el (interpreter-mode-alist): Convert to regexps.
* progmodes/sh-script.el (sh-set-shell):
No longer use interpreter-mode-alist to get list of shells.
* progmodes/cc-mode.el (awk-mode): Remove duplicate autoload.
2013-09-10 Stefan Monnier <monnier@iro.umontreal.ca>
* simple.el: Use set-temporary-overlay-map for universal-argument.
(universal-argument-map): Don't use default-bindings (bug#15317).
Bind switch-frame explicitly. Replace universal-argument-minus with
a conditional binding.
(universal-argument-num-events, saved-overriding-map): Remove.
(restore-overriding-map): Remove.
(universal-argument--mode): Rename from save&set-overriding-map,
and rewrite.
(universal-argument, universal-argument-more, negative-argument)
(digit-argument): Adjust accordingly.
(universal-argument-minus): Remove.
(universal-argument-other-key): Remove.
* subr.el (with-demoted-errors): Add `format' argument.
2013-09-10 Michael Albinus <michael.albinus@gmx.de>
* net/tramp.el (tramp-cleanup): Remove. Functionality added to
`tramp-cleanup-connection'.
* net/tramp-cmds.el (tramp-cleanup-connection): Add optional
parameters KEEP-DEBUG and KEEP-PASSWORD.
* net/tramp.el (tramp-file-name-handler):
* net/tramp-adb.el (tramp-adb-maybe-open-connection):
* net/tramp-sh.el (tramp-open-connection-setup-interactive-shell)
(tramp-maybe-open-connection):
* net/tramp-smb.el (tramp-smb-maybe-open-connection):
Use `tramp-cleanup-connection'.
* net/tramp-sh.el (tramp-maybe-open-connection):
Catch 'uname-changed inside the progress reporter.
2013-09-10 Glenn Morris <rgm@gnu.org>
* simple.el (read-minibuffer): Unbreak it. (Bug#15318)
* dired-x.el (dired-mark-sexp): Unbreak for systems where ls
returns "alternate access method" in mode (eg "-rw-r--r--.").
2013-09-08 Glenn Morris <rgm@gnu.org>
* saveplace.el (load-save-place-alist-from-file):
Demote errors. (Bug#15305)
2013-09-08 Michael Albinus <michael.albinus@gmx.de>
Improve compatibility with older Emacsen, and XEmacs.
* net/tramp.el (tramp-find-method, tramp-find-user): Call `propertize'
only if it is bound. It isn't for XEmacs.
(with-tramp-progress-reporter): Do not let-bind `result'.
This yields to scoping errors in XEmacs.
(tramp-handle-make-auto-save-file-name): New function, moved from
tramp-sh.el.
* net/tramp-adb.el (tramp-adb-file-name-handler-alist): Add handler
for `make-auto-save-file-name'.
(tramp-adb--gnu-switches-to-ash):
Use `tramp-compat-replace-regexp-in-string'.
* net/tramp-cache.el (tramp-cache-print): Call
`substring-no-properties' only if it is bound. It isn't for XEmacs.
* net/tramp-cmds.el (tramp-bug): Call `propertize' only if it is
bound. It isn't for XEmacs.
* net/tramp-compat.el (tramp-compat-copy-file):
Catch `wrong-number-of-arguments' error.
(tramp-compat-replace-regexp-in-string): New defun.
* net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Add handler
for `make-auto-save-file-name'.
(tramp-gvfs-handle-copy-file): Use `tramp-compat-funcall' for
`copy-file'.
(tramp-gvfs-file-gvfs-monitor-file-process-filter)
(tramp-gvfs-file-name): Use `tramp-compat-replace-regexp-in-string'.
(tramp-synce-list-devices): Use `push' instead of `pushnew'.
* net/tramp-gw.el (tramp-gw-open-network-stream):
Use `tramp-compat-replace-regexp-in-string'.
* net/tramp-sh.el (tramp-sh-file-name-handler-alist):
Call `tramp-handle-make-auto-save-file-name'.
(tramp-sh-handle-make-auto-save-file-name): Move to tramp.el.
(tramp-sh-file-gvfs-monitor-dir-process-filter)
(tramp-sh-file-inotifywait-process-filter):
Use `tramp-compat-replace-regexp-in-string'.
(tramp-compute-multi-hops): Use `push' instead of `pushnew'.
* net/tramp-smb.el (tramp-smb-file-name-handler-alist): Add handler
for `make-auto-save-file-name'.
(tramp-smb-handle-copy-directory):
Call `tramp-compat-replace-regexp-in-string'.
(tramp-smb-get-file-entries): Use `push' instead of `pushnew'.
(tramp-smb-handle-copy-file): Improve error message.
(tramp-smb-handle-rename-file): Rename directly only in case
`newname' does not exist yet. This is a restriction of smbclient.
(tramp-smb-maybe-open-connection): Rerun the function only when
`auth-sources' is non-nil.
2013-09-08 Kenichi Handa <handa@gnu.org>
* international/characters.el: Set category "^" (Combining) for
more characters.
2013-09-07 Alan Mackenzie <acm@muc.de>
Correctly fontify Java class constructors.
* progmodes/cc-langs.el (c-type-decl-suffix-key): Now matches ")"
in Java Mode.
(c-recognize-typeless-decls): Set the Java value to t.
* progmodes/cc-engine.el (c-forward-decl-or-cast-1):
While handling a "(", add a check for, effectively, Java, and handle a
"typeless" declaration there.
2013-09-07 Roland Winkler <winkler@gnu.org>
* textmodes/bibtex.el (bibtex-biblatex-entry-alist): Add optional
field subtitle for entry type book.
2013-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
* minibuffer.el: Make minibuffer-complete call completion-in-region
rather than other way around.
(completion--some, completion-pcm--find-all-completions):
Don't delay signals when debugging.
(minibuffer-completion-contents): Beware fields within the
minibuffer contents.
(completion-all-sorted-completions): Use defvar-local.
(completion--do-completion, completion--cache-all-sorted-completions)
(completion-all-sorted-completions, minibuffer-force-complete):
Add args `beg' and `end'.
(completion--in-region-1): New fun, extracted from minibuffer-complete.
(minibuffer-complete): Use completion-in-region.
(completion-complete-and-exit): New fun, extracted from
minibuffer-complete-and-exit.
(minibuffer-complete-and-exit): Use it.
(completion--complete-and-exit): Rename from
minibuffer--complete-and-exit.
(completion-in-region--single-word): New function, extracted from
minibuffer-complete-word.
(minibuffer-complete-word): Use it.
(display-completion-list): Make `common-substring' argument obsolete.
(completion--in-region): Call completion--in-region-1 instead of
minibuffer-complete.
(completion-help-at-point): Pass boundaries to
minibuffer-completion-help as args rather than via an overlay.
(completion-pcm--string->pattern): Use `any-delim'.
(completion-pcm--optimize-pattern): New function.
(completion-pcm--pattern->regex): Handle `any-delim'.
* icomplete.el (icomplete-forward-completions)
(icomplete-backward-completions, icomplete-completions):
Adjust calls to completion-all-sorted-completions and
completion--cache-all-sorted-completions.
(icomplete-with-completion-tables): Default to t.
* emacs-lisp/crm.el (crm--current-element): Rename from
crm--select-current-element. Don't put an overlay but return the
boundaries instead.
(crm--completion-command): Take two new args to bind to the boundaries.
(crm-completion-help): Adjust accordingly.
(crm-complete): Use completion-in-region.
(crm-complete-word): Use completion-in-region--single-word.
(crm-complete-and-exit): Use completion-complete-and-exit.
2013-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
* dired-x.el (dired-mark-sexp): Bind the vars lexically rather
than dynamically.
2013-09-06 Juri Linkov <juri@jurta.org>
* info.el (Info-display-images-node): When image file doesn't exist
display text version of the image if it's provided in the Info file.
Otherwise, display the location of missing image from SRC attribute.
Add help-echo text property from ALT attribute. (Bug#15279)
2013-09-06 Stefan Monnier <monnier@iro.umontreal.ca>
* abbrev.el (edit-abbrevs-mode-map): Rename from edit-abbrevs-map.
(edit-abbrevs-mode): Use define-derived-mode.
* epa.el (epa--encode-coding-string, epa--decode-coding-string)
(epa--select-safe-coding-system, epa--derived-mode-p): Make it obvious
that it's defined.
(epa-key-list-mode, epa-key-mode, epa-info-mode):
Use define-derived-mode.
* epg.el (epg-start-encrypt): Minor CSE simplification.
2013-09-06 William Xu <william.xwl@gmail.com>
* arc-mode.el: Add support for 7za (bug#15264).
(archive-7z-program): New var.
(archive-zip-extract, archive-zip-expunge, archive-zip-update)
(archive-zip-update-case, archive-7z-extract, archive-7z-expunge)
(archive-7z-update, archive-zip-extract, archive-7z-summarize): Use it.
2013-09-06 Michael Albinus <michael.albinus@gmx.de>
Remove URL syntax.
* net/tramp.el (tramp-syntax, tramp-prefix-format)
(tramp-postfix-method-format, tramp-prefix-ipv6-format)
(tramp-postfix-ipv6-format, tramp-prefix-port-format)
(tramp-postfix-host-format, tramp-file-name-regexp)
(tramp-completion-file-name-regexp)
(tramp-completion-dissect-file-name)
(tramp-handle-substitute-in-file-name): Remove 'url case.
(tramp-file-name-regexp-url)
(tramp-completion-file-name-regexp-url): Remove constants.
2013-09-06 Glenn Morris <rgm@gnu.org>
* replace.el (replace-string): Doc fix re start/end. (Bug#15275)
2013-09-05 Dmitry Gutov <dgutov@yandex.ru>
* progmodes/ruby-mode.el (ruby-font-lock-keywords): Move "Perl-ish
keywords" below "here-doc beginnings" (Bug#15270).
2013-09-05 Stefan Monnier <monnier@iro.umontreal.ca>
* subr.el (pop): Use `car-safe'.
@ -59,6 +842,30 @@
2013-09-04 Stefan Monnier <monnier@iro.umontreal.ca>
* vc/vc-dispatcher.el (vc-run-delayed): New macro.
(vc-do-command, vc-set-async-update):
* vc/vc-mtn.el (vc-mtn-dir-status):
* vc/vc-hg.el (vc-hg-dir-status, vc-hg-dir-status-files)
(vc-hg-pull, vc-hg-merge-branch):
* vc/vc-git.el (vc-git-dir-status-goto-stage, vc-git-pull)
(vc-git-merge-branch):
* vc/vc-cvs.el (vc-cvs-print-log, vc-cvs-dir-status)
(vc-cvs-dir-status-files):
* vc/vc-bzr.el (vc-bzr-pull, vc-bzr-merge-branch, vc-bzr-dir-status)
(vc-bzr-dir-status-files):
* vc/vc-arch.el (vc-arch-dir-status): Use vc-run-delayed.
* vc/vc-annotate.el: Use lexical-binding.
(vc-annotate-display-select, vc-annotate): Use vc-run-delayed.
(vc-sentinel-movepoint): Declare.
(vc-annotate): Don't use `goto-line'.
* vc/vc.el (vc-diff-internal): Prefer a closure to `(lambda...).
(vc-diff-internal, vc-log-internal-common): Use vc-run-delayed.
(vc-sentinel-movepoint): Declare.
* vc/vc-svn.el: Use lexical-binding.
(vc-svn-dir-status, vc-svn-dir-status-files): Use vc-run-delayed.
* vc/vc-sccs.el:
* vc/vc-rcs.el: Use lexical-binding.
* autorevert.el (auto-revert-notify-handler): Explicitly ignore
`deleted'. Don't drop errors silently.
@ -3602,7 +4409,7 @@
* term/xterm.el (xterm--query):
Stop after first matching handler. (Bug#14615)
2013-06-14 Ivan Kanis <ivan@kanis.fr>
2013-06-14 Ivan Kanis <ivan@kanis.fr>
Add support for dired in saveplace.
* dired.el (dired-initial-position-hook): New variable.
@ -6212,7 +7019,7 @@
(vc-exec-after): Allow code to be a function. Use add/remove-function.
(compilation-error-regexp-alist, view-old-buffer-read-only): Declare.
2013-04-19 Masatake YAMATO <yamato@redhat.com>
2013-04-19 Masatake YAMATO <yamato@redhat.com>
* progmodes/sh-script.el (sh-imenu-generic-expression):
Handle function names with a single character. (Bug#14111)

View file

@ -7788,7 +7788,7 @@
(ruby-syntax-propertize-function): Adjust for changes in
`ruby-syntax-propertize-heredoc'.
2012-08-09 Nobuyoshi Nakada <nobu@ruby-lang.org>
2012-08-09 Nobuyoshi Nakada <nobu@ruby-lang.org>
* progmodes/ruby-mode.el (ruby-mode-map): Remove deprecated
binding (use `M-;' instead).

View file

@ -67,13 +67,15 @@ be replaced by its expansion."
(put 'abbrev-mode 'safe-local-variable 'booleanp)
(defvar edit-abbrevs-map
(defvar edit-abbrevs-mode-map
(let ((map (make-sparse-keymap)))
(define-key map "\C-x\C-s" 'abbrev-edit-save-buffer)
(define-key map "\C-x\C-w" 'abbrev-edit-save-to-file)
(define-key map "\C-c\C-c" 'edit-abbrevs-redefine)
map)
"Keymap used in `edit-abbrevs'.")
(define-obsolete-variable-alias 'edit-abbrevs-map
'edit-abbrevs-mode-map "24.4")
(defun kill-all-abbrevs ()
"Undefine all defined abbrevs."
@ -144,16 +146,6 @@ Otherwise display all abbrevs."
(set-buffer-modified-p nil)
(current-buffer))))
(defun edit-abbrevs-mode ()
"Major mode for editing the list of abbrev definitions.
\\{edit-abbrevs-map}"
(interactive)
(kill-all-local-variables)
(setq major-mode 'edit-abbrevs-mode)
(setq mode-name "Edit-Abbrevs")
(use-local-map edit-abbrevs-map)
(run-mode-hooks 'edit-abbrevs-mode-hook))
(defun edit-abbrevs ()
"Alter abbrev definitions by editing a list of them.
Selects a buffer containing a list of abbrev definitions with
@ -615,9 +607,9 @@ An obsolete but still supported calling form is:
"Check if the characters in ABBREV have word syntax in either the
current (if global is nil) or standard syntax table."
(with-syntax-table
(cond ((null global) (standard-syntax-table))
(cond ((null global) (syntax-table))
;; ((syntax-table-p global) global)
(t (syntax-table)))
(t (standard-syntax-table)))
(when (string-match "\\W" abbrev)
(let ((badchars ())
(pos 0))
@ -1013,6 +1005,11 @@ SORTFUN is passed to `sort' to change the default ordering."
(sort entries (lambda (x y)
(funcall sortfun (nth 2 x) (nth 2 y)))))))
;; Keep it after define-abbrev-table, since define-derived-mode uses
;; define-abbrev-table.
(define-derived-mode edit-abbrevs-mode special-mode "Edit-Abbrevs"
"Major mode for editing the list of abbrev definitions.")
(provide 'abbrev)
;;; abbrev.el ends here

View file

@ -218,9 +218,14 @@ Archive and member name will be added."
;; ------------------------------
;; Zip archive configuration
(defvar archive-7z-program (let ((7z (or (executable-find "7z")
(executable-find "7za"))))
(when 7z
(file-name-nondirectory 7z))))
(defcustom archive-zip-extract
(cond ((executable-find "unzip") '("unzip" "-qq" "-c"))
((executable-find "7z") '("7z" "x" "-so"))
(archive-7z-program `(,archive-7z-program "x" "-so"))
((executable-find "pkunzip") '("pkunzip" "-e" "-o-"))
(t '("unzip" "-qq" "-c")))
"Program and its options to run in order to extract a zip file member.
@ -239,7 +244,7 @@ be added."
(defcustom archive-zip-expunge
(cond ((executable-find "zip") '("zip" "-d" "-q"))
((executable-find "7z") '("7z" "d"))
(archive-7z-program `(,archive-7z-program "d"))
((executable-find "pkzip") '("pkzip" "-d"))
(t '("zip" "-d" "-q")))
"Program and its options to run in order to delete zip file members.
@ -252,7 +257,7 @@ Archive and member names will be added."
(defcustom archive-zip-update
(cond ((executable-find "zip") '("zip" "-q"))
((executable-find "7z") '("7z" "u"))
(archive-7z-program `(,archive-7z-program "u"))
((executable-find "pkzip") '("pkzip" "-u" "-P"))
(t '("zip" "-q")))
"Program and its options to run in order to update a zip file member.
@ -266,7 +271,7 @@ file. Archive and member name will be added."
(defcustom archive-zip-update-case
(cond ((executable-find "zip") '("zip" "-q" "-k"))
((executable-find "7z") '("7z" "u"))
(archive-7z-program `(,archive-7z-program "u"))
((executable-find "pkzip") '("pkzip" "-u" "-P"))
(t '("zip" "-q" "-k")))
"Program and its options to run in order to update a case fiddled zip member.
@ -321,7 +326,7 @@ Archive and member name will be added."
;; 7z archive configuration
(defcustom archive-7z-extract
'("7z" "x" "-so")
`(,archive-7z-program "x" "-so")
"Program and its options to run in order to extract a 7z file member.
Extraction should happen to standard output. Archive and member name will
be added."
@ -333,7 +338,7 @@ be added."
:group 'archive-7z)
(defcustom archive-7z-expunge
'("7z" "d")
`(,archive-7z-program "d")
"Program and its options to run in order to delete 7z file members.
Archive and member names will be added."
:version "24.1"
@ -344,7 +349,7 @@ Archive and member names will be added."
:group 'archive-7z)
(defcustom archive-7z-update
'("7z" "u")
`(,archive-7z-program "u")
"Program and its options to run in order to update a 7z file member.
Options should ensure that specified directory will be put into the 7z
file. Archive and member name will be added."
@ -678,9 +683,9 @@ archive.
;; At present we cannot create archives from scratch
(funcall (or (default-value 'major-mode) 'fundamental-mode))
(if (and (not force) archive-files) nil
(kill-all-local-variables)
(let* ((type (archive-find-type))
(typename (capitalize (symbol-name type))))
(kill-all-local-variables)
(make-local-variable 'archive-subtype)
(setq archive-subtype type)
@ -756,7 +761,7 @@ archive.
((looking-at "..-l[hz][0-9ds]-") 'lzh)
((looking-at "....................[\334]\247\304\375") 'zoo)
((and (looking-at "\C-z") ; signature too simple, IMHO
(string-match "\\.[aA][rR][cC]$"
(string-match "\\.[aA][rR][cC]\\'"
(or buffer-file-name (buffer-name))))
'arc)
;; This pattern modeled on the BSD/GNU+Linux `file' command.
@ -1864,7 +1869,7 @@ This doesn't recover lost files, it just undoes changes in the buffer itself."
(cond
((member-ignore-case (car archive-zip-extract) '("pkunzip" "pkzip"))
(archive-*-extract archive name archive-zip-extract))
((equal (car archive-zip-extract) "7z")
((equal (car archive-zip-extract) archive-7z-program)
(let ((archive-7z-extract archive-zip-extract))
(archive-7z-extract archive name)))
(t
@ -2088,7 +2093,7 @@ This doesn't recover lost files, it just undoes changes in the buffer itself."
(file buffer-file-name)
(files ()))
(with-temp-buffer
(call-process "7z" nil t nil "l" "-slt" file)
(call-process archive-7z-program nil t nil "l" "-slt" file)
(goto-char (point-min))
;; Four dashes start the meta info section that should be skipped.
;; Archive members start with more than four dashes.

View file

@ -800,7 +800,7 @@ Return COLUMN."
(put 'array-mode 'mode-class 'special)
;;;###autoload
(defun array-mode ()
(define-derived-mode array-mode fundamental-mode "Array"
"Major mode for editing arrays.
Array mode is a specialized mode for editing arrays. An array is
@ -863,9 +863,6 @@ take a numeric prefix argument):
\\[array-display-local-variables] Display the current values of local variables.
Entering array mode calls the function `array-mode-hook'."
(interactive)
(kill-all-local-variables)
(make-local-variable 'array-buffer-line)
(make-local-variable 'array-buffer-column)
(make-local-variable 'array-row)
@ -888,13 +885,9 @@ Entering array mode calls the function `array-mode-hook'."
(+ (floor (1- array-max-column) array-columns-per-line)
(if array-rows-numbered 2 1)))
(message "")
(setq major-mode 'array-mode)
(setq mode-name "Array")
(force-mode-line-update)
(set (make-local-variable 'truncate-lines) t)
(setq overwrite-mode 'overwrite-mode-textual)
(use-local-map array-mode-map)
(run-mode-hooks 'array-mode-hook))
(setq overwrite-mode 'overwrite-mode-textual))

View file

@ -75,7 +75,6 @@
(setq prefix-arg (if (zerop digit) '- (- digit))))
(t
(setq prefix-arg digit))))
(setq universal-argument-num-events (length (this-command-keys)))
(setq overriding-terminal-local-map universal-argument-map))
(defvar autoarg-kp-mode-map

View file

@ -166,7 +166,7 @@ If this contains a %s, that will be replaced by the matching rule."
"Short description: "
";;; " (file-name-nondirectory (buffer-file-name)) " --- " str
(make-string (max 2 (- 80 (current-column) 27)) ?\s)
"-*- lexical-binding: t; -*-"
"-*- lexical-binding: t; -*-" '(setq lexical-binding t)
"
;; Copyright (C) " (format-time-string "%Y") " "

View file

@ -548,7 +548,7 @@ will use an up-to-date value of `auto-revert-interval'"
(cl-assert (stringp file))
(when (eq action 'renamed) (cl-assert (stringp file1)))
;; Loop over all buffers, in order to find the intended one.
(dolist (buffer buffers)
(cl-dolist (buffer buffers)
(when (buffer-live-p buffer)
(with-current-buffer buffer
(when (and (stringp buffer-file-name)

View file

@ -862,31 +862,25 @@ It takes one argument, the name of the bookmark, as a string.")
map)
"Keymap for editing an annotation of a bookmark.")
(defun bookmark-edit-annotation-mode (bookmark-name-or-record)
"Mode for editing the annotation of bookmark BOOKMARK-NAME-OR-RECORD.
When you have finished composing, type \\[bookmark-send-annotation].
\\{bookmark-edit-annotation-mode-map}"
(interactive)
(kill-all-local-variables)
(make-local-variable 'bookmark-annotation-name)
(setq bookmark-annotation-name bookmark-name-or-record)
(use-local-map bookmark-edit-annotation-mode-map)
(setq major-mode 'bookmark-edit-annotation-mode
mode-name "Edit Bookmark Annotation")
(defun bookmark-insert-annotation (bookmark-name-or-record)
(insert (funcall bookmark-edit-annotation-text-func bookmark-name-or-record))
(let ((annotation (bookmark-get-annotation bookmark-name-or-record)))
(if (and annotation (not (string-equal annotation "")))
(insert annotation)))
(run-mode-hooks 'text-mode-hook))
(insert annotation))))
(define-derived-mode bookmark-edit-annotation-mode
text-mode "Edit Bookmark Annotation"
"Mode for editing the annotation of bookmarks.
When you have finished composing, type \\[bookmark-send-annotation].
\\{bookmark-edit-annotation-mode-map}")
(defun bookmark-send-edited-annotation ()
"Use buffer contents as annotation for a bookmark.
Lines beginning with `#' are ignored."
(interactive)
(if (not (eq major-mode 'bookmark-edit-annotation-mode))
(if (not (derived-mode-p 'bookmark-edit-annotation-mode))
(error "Not in bookmark-edit-annotation-mode"))
(goto-char (point-min))
(while (< (point) (point-max))
@ -906,7 +900,10 @@ Lines beginning with `#' are ignored."
(defun bookmark-edit-annotation (bookmark-name-or-record)
"Pop up a buffer for editing bookmark BOOKMARK-NAME-OR-RECORD's annotation."
(pop-to-buffer (generate-new-buffer-name "*Bookmark Annotation Compose*"))
(bookmark-edit-annotation-mode bookmark-name-or-record))
(bookmark-insert-annotation bookmark-name-or-record)
(bookmark-edit-annotation-mode)
(set (make-local-variable 'bookmark-annotation-name)
bookmark-name-or-record))
(defun bookmark-buffer-name ()

View file

@ -30,7 +30,7 @@
(require 'calc-macs)
;; Declare functions which are defined elsewhere.
(declare-function Info-goto-node "info" (nodename &optional fork))
(declare-function Info-goto-node "info" (nodename &optional fork strict-case))
(declare-function Info-last "info" ())

View file

@ -1387,7 +1387,12 @@ Notations: 3.14e6 3.14 * 10^6
(calc-check-defines))
(setplist 'calc-define nil)))))
(defun calc-trail-mode (&optional buf)
(defvar calc-trail-mode-map
(let ((map (make-sparse-keymap)))
(set-keymap-parent map calc-mode-map)
map))
(define-derived-mode calc-trail-mode fundamental-mode "Calc Trail"
"Calc Trail mode.
This mode is used by the *Calc Trail* buffer, which records all results
obtained by the GNU Emacs Calculator.
@ -1397,26 +1402,18 @@ the Trail.
This buffer uses the same key map as the *Calculator* buffer; calculator
commands given here will actually operate on the *Calculator* stack."
(interactive)
(fundamental-mode)
(use-local-map calc-mode-map)
(setq major-mode 'calc-trail-mode)
(setq mode-name "Calc Trail")
(setq truncate-lines t)
(setq buffer-read-only t)
(make-local-variable 'overlay-arrow-position)
(make-local-variable 'overlay-arrow-string)
(when buf
(set (make-local-variable 'calc-main-buffer) buf))
(when (= (buffer-size) 0)
(let ((buffer-read-only nil))
(insert (propertize "Emacs Calculator Trail\n" 'face 'italic))))
(run-mode-hooks 'calc-trail-mode-hook))
(insert (propertize "Emacs Calculator Trail\n" 'face 'italic)))))
(defun calc-create-buffer ()
"Create and initialize a buffer for the Calculator."
(set-buffer (get-buffer-create "*Calculator*"))
(or (eq major-mode 'calc-mode)
(or (derived-mode-p 'calc-mode)
(calc-mode))
(setq max-lisp-eval-depth (max max-lisp-eval-depth 1000))
(when calc-always-load-extensions
@ -1439,7 +1436,7 @@ commands given here will actually operate on the *Calculator* stack."
(when (get-buffer-window "*Calc Keypad*")
(calc-keypad)
(set-buffer (window-buffer)))
(if (eq major-mode 'calc-mode)
(if (derived-mode-p 'calc-mode)
(calc-quit)
(let ((oldbuf (current-buffer)))
(calc-create-buffer)
@ -1490,7 +1487,7 @@ commands given here will actually operate on the *Calculator* stack."
(if (and (equal (buffer-name) "*Gnuplot Trail*")
(> (recursion-depth) 0))
(exit-recursive-edit)
(if (eq major-mode 'calc-edit-mode)
(if (derived-mode-p 'calc-edit-mode)
(calc-edit-finish arg)
(if calc-was-keypad-mode
(calc-keypad)
@ -1504,13 +1501,13 @@ commands given here will actually operate on the *Calculator* stack."
(if (and (equal (buffer-name) "*Gnuplot Trail*")
(> (recursion-depth) 0))
(exit-recursive-edit))
(if (eq major-mode 'calc-edit-mode)
(if (derived-mode-p 'calc-edit-mode)
(calc-edit-cancel)
(if (and interactive
calc-embedded-info
(eq (current-buffer) (aref calc-embedded-info 0)))
(calc-embedded nil)
(unless (eq major-mode 'calc-mode)
(unless (derived-mode-p 'calc-mode)
(calc-create-buffer))
(run-hooks 'calc-end-hook)
(if (integerp calc-undo-length)
@ -1631,10 +1628,10 @@ See calc-keypad for details."
(if (math-lessp 1 time)
(calc-record time "(t)"))))
(or (memq 'no-align calc-command-flags)
(eq major-mode 'calc-trail-mode)
(derived-mode-p 'calc-trail-mode)
(calc-align-stack-window))
(and (memq 'position-point calc-command-flags)
(if (eq major-mode 'calc-mode)
(if (derived-mode-p 'calc-mode)
(progn
(goto-char (point-min))
(forward-line (1- calc-final-point-line))
@ -1664,7 +1661,7 @@ See calc-keypad for details."
(setq calc-command-flags (cons f calc-command-flags))))
(defun calc-select-buffer ()
(or (eq major-mode 'calc-mode)
(or (derived-mode-p 'calc-mode)
(if calc-main-buffer
(set-buffer calc-main-buffer)
(let ((buf (get-buffer "*Calculator*")))
@ -1801,7 +1798,7 @@ See calc-keypad for details."
(and calc-embedded-info (calc-embedded-mode-line-change))))))
(defun calc-align-stack-window ()
(if (eq major-mode 'calc-mode)
(if (derived-mode-p 'calc-mode)
(progn
(let ((win (get-buffer-window (current-buffer))))
(if win
@ -1988,7 +1985,7 @@ See calc-keypad for details."
(defvar calc-any-evaltos nil)
(defun calc-refresh (&optional align)
(interactive)
(and (eq major-mode 'calc-mode)
(and (derived-mode-p 'calc-mode)
(not calc-executing-macro)
(let* ((buffer-read-only nil)
(save-point (point))
@ -2016,7 +2013,7 @@ See calc-keypad for details."
(calc-align-stack-window)
(goto-char save-point))
(if save-mark (set-mark save-mark))))
(and calc-embedded-info (not (eq major-mode 'calc-mode))
(and calc-embedded-info (not (derived-mode-p 'calc-mode))
(with-current-buffer (aref calc-embedded-info 1)
(calc-refresh align)))
(setq calc-refresh-count (1+ calc-refresh-count)))
@ -2078,12 +2075,13 @@ the United States."
(null (buffer-name calc-trail-buffer)))
(save-excursion
(setq calc-trail-buffer (get-buffer-create "*Calc Trail*"))
(let ((buf (or (and (not (eq major-mode 'calc-mode))
(let ((buf (or (and (not (derived-mode-p 'calc-mode))
(get-buffer "*Calculator*"))
(current-buffer))))
(set-buffer calc-trail-buffer)
(or (eq major-mode 'calc-trail-mode)
(calc-trail-mode buf)))))
(unless (derived-mode-p 'calc-trail-mode)
(calc-trail-mode)
(set (make-local-variable 'calc-main-buffer) buf)))))
(or (and calc-trail-pointer
(eq (marker-buffer calc-trail-pointer) calc-trail-buffer))
(with-current-buffer calc-trail-buffer
@ -2152,7 +2150,7 @@ the United States."
(defun calc-trail-here ()
(interactive)
(if (eq major-mode 'calc-trail-mode)
(if (derived-mode-p 'calc-trail-mode)
(progn
(beginning-of-line)
(if (bobp)

View file

@ -1,9 +1,55 @@
2013-09-20 Glenn Morris <rgm@gnu.org>
* semantic.el (semantic-new-buffer-fcn-was-run, semantic-active-p):
Move from here...
* semantic/fw.el: ...to here.
2013-09-18 Glenn Morris <rgm@gnu.org>
* semantic/find.el (semantic-brute-find-first-tag-by-name):
Replace obsolete function assoc-ignore-case with assoc-string.
* semantic/complete.el (tooltip-mode, tooltip-frame-parameters)
(tooltip-show): Declare.
2013-09-17 Stefan Monnier <monnier@iro.umontreal.ca>
* semantic/symref/list.el (semantic-symref-results-mode):
Use define-derived-mode.
(semantic-symref-produce-list-on-results): Set up the results here
instead of in semantic-symref-results-mode. Move after
semantic-symref-current-results's defvar now that it refers to that var.
(semantic-symref-auto-expand-results)
(semantic-symref-results-summary-function)
(semantic-symref-results-mode-hook): Remove redundant :group arg.
(semantic-symref, semantic-symref-symbol, semantic-symref-regexp):
Initialize directly in the let.
2013-09-13 Glenn Morris <rgm@gnu.org>
* semantic/ia.el (semantic-ia-complete-symbol-menu):
Comment it out, since it cannot work. (Bug#14522)
2013-09-12 Glenn Morris <rgm@gnu.org>
* semantic/find.el (semantic-find-first-tag-by-name):
Replace obsolete function assoc-ignore-case with assoc-string.
2013-09-11 Stefan Monnier <monnier@iro.umontreal.ca>
* semantic/grammar.el (semantic-grammar-mode): Use define-derived-mode.
(semantic-grammar-mode-syntax-table): Rename from
semantic-grammar-syntax-table.
(semantic-grammar-mode-map): Rename from semantic-grammar-map.
* data-debug.el (data-debug-mode-map): Rename from data-debug-map.
(data-debug-mode): Use define-derived-mode.
2013-09-05 Glenn Morris <rgm@gnu.org>
* semantic/fw.el (semantic-make-local-hook):
Simplify by dropping Emacs <= 20.
2013-07-29 David Engster <deng@randomsample.de>
2013-07-29 David Engster <deng@randomsample.de>
* lisp/cedet/cedet.el (cedet-packages): Remove speedbar since its
development does no longer happens in CEDET upstream but in Emacs
@ -15,18 +61,18 @@
* semantic/decorate/mode.el
(semantic-decoration-on-includes-p-default)
(semantic-decoration-on-includes-highlight-default): Declare for
(semantic-decoration-on-includes-highlight-default): Declare for
byte compiler.
* semantic/wisent/python.el (semantic/format): New require.
2013-07-27 Eric Ludlam <zappo@gnu.org>
2013-07-27 Eric Ludlam <zappo@gnu.org>
* lisp/cedet/semantic/edit.el (semantic-edits-splice-remove): Wrap
debug message removing middle tag in semantic-edits-verbose-flag
* lisp/cedet/semantic/edit.el (semantic-edits-splice-remove):
Wrap debug message removing middle tag in semantic-edits-verbose-flag
check.
2013-07-27 David Engster <deng@randomsample.de>
2013-07-27 David Engster <deng@randomsample.de>
* semantic/bovine/el.el (semantic/db-el): New require.
@ -69,8 +115,8 @@
`semantic/decorate/include' anymore.
(semantic-toggle-decoration-style): Error if an unknown decoration
style is toggled.
(define-semantic-decoration-style): Add new :load option. When
:load is specified, add autoload tokens for the definition
(define-semantic-decoration-style): Add new :load option.
When :load is specified, add autoload tokens for the definition
functions so that code is loaded when the mode is used.
(semantic-decoration-on-includes): New autoload definition for
highlighting includes.
@ -94,8 +140,8 @@
* semantic/ctxt.el (semantic-ctxt-end-of-symbol): New.
(semantic-ctxt-current-symbol-default): New.
* semantic/bovine/el.el (semantic-default-elisp-setup): Add
autoload cookie. Explain existence.
* semantic/bovine/el.el (semantic-default-elisp-setup):
Add autoload cookie. Explain existence.
(footer): Add local variable for loaddefs.
* semantic/db.el (semanticdb-file-table-object): Add new filter,
@ -120,7 +166,7 @@
* ede/cpp-root.el (ede-preprocessor-map): Protect against init
problems.
* ede/proj.el (ede-proj-target): Added a new "custom" option for
* ede/proj.el (ede-proj-target): Add a new "custom" option for
custom symbols representing a compiler or linker instead of
restricting things to only the predefined compilers and linkers.
@ -198,15 +244,15 @@
2013-04-27 David Engster <deng@randomsample.de>
* semantic/complete.el
(semantic-collector-calculate-completions-raw): If
`completionslist' is not set, refresh the cache if necessary and
(semantic-collector-calculate-completions-raw):
If `completionslist' is not set, refresh the cache if necessary and
use it for completions. This fixes the
`semantic-collector-buffer-deep' collector (bug#14265).
2013-03-26 Leo Liu <sdl.web@gmail.com>
* semantic/senator.el (senator-copy-tag-to-register): Move
register handling logic from register.el. (Bug#14052)
* semantic/senator.el (senator-copy-tag-to-register):
Move register handling logic from register.el. (Bug#14052)
2013-03-21 Eric Ludlam <zappo@gnu.org>
@ -223,17 +269,17 @@
* semantic/find.el (semantic-filter-tags-by-class): New function.
* semantic/tag-ls.el (semantic-tag-similar-p-default): Add
short-circuit in case tag1 and 2 are identical.
* semantic/tag-ls.el (semantic-tag-similar-p-default):
Add short-circuit in case tag1 and 2 are identical.
* semantic/analyze/fcn.el
(semantic-analyze-dereference-metatype-stack): Use
`semantic-tag-similar-p' instead of 'eq' when comparing two tags
(semantic-analyze-dereference-metatype-stack):
Use `semantic-tag-similar-p' instead of 'eq' when comparing two tags
during metatype evaluation in case they are the same, but not the
same node. (Tweaked patch from Tomasz Gajewski) (Tiny change)
* semantic/db-find.el (semanticdb-partial-synchronize): Fix
require to semantic/db-typecache to be correct.
* semantic/db-find.el (semanticdb-partial-synchronize):
Fix require to semantic/db-typecache to be correct.
(semanticdb-find-tags-external-children-of-type): Make this a
brutish search by default.
@ -243,19 +289,19 @@
input tag as the place to start searching for externally defined
methods.
* semantic/db-file.el (semanticdb-default-save-directory): Doc
fix: Add ref to default value.
* semantic/db-file.el (semanticdb-default-save-directory):
Doc fix: Add ref to default value.
* semantic/complete.el (semantic-complete-post-command-hook): When
detecting if cursor is outside completion area, do so if cursor
* semantic/complete.el (semantic-complete-post-command-hook):
When detecting if cursor is outside completion area, do so if cursor
moves before start of overlay, or the original starting location
of the overlay (i.e., if user deletes past beginning of the
overlay region).
(semantic-complete-inline-tag-engine): Initialize original start
of `semantic-complete-inline-overlay'.
* semantic/bovine/c.el (semantic-c-describe-environment): Update
some section titles. Test semanticdb table before printing it.
* semantic/bovine/c.el (semantic-c-describe-environment):
Update some section titles. Test semanticdb table before printing it.
(semantic-c-reset-preprocessor-symbol-map): Update
`semantic-lex-spp-macro-symbol-obarray' outside the loop over all
the files contributing to its value.
@ -271,8 +317,8 @@
* srecode/cpp.el (srecode-semantic-handle-:c): Replace all
characters in FILENAME_SYMBOL that aren't valid CPP symbol chars.
* srecode/map.el (srecode-map-validate-file-for-mode): Force
semantic to load if it is not active in the template being added
* srecode/map.el (srecode-map-validate-file-for-mode):
Force semantic to load if it is not active in the template being added
to the map.
* srecode/srt.el: Add local variables for setting the autoload
@ -287,7 +333,7 @@
has both a version variable and a Version: comment, always use
`call-next-method'.
* ede/cpp-root.el (ede-set-project-variables): Deleted.
* ede/cpp-root.el (ede-set-project-variables): Delete.
`ede-preprocessor-map' does the job this function was attempting
to do with :spp-table.
(ede-preprocessor-map): Update file tests to provide better
@ -302,8 +348,8 @@
2013-03-21 David Engster <deng@randomsample.de>
* semantic/bovine/c.el (semantic-get-local-variables): Also add a
new variable 'this' if we are in an inline member function. For
detecting this, we check overlays at point if there is a class
new variable 'this' if we are in an inline member function.
For detecting this, we check overlays at point if there is a class
spanning the current function. Also, the variable 'this' has to
be a pointer.
@ -350,14 +396,14 @@
2013-03-21 Tomasz Gajewski <tomga@wp.pl> (tiny change)
* ede/cpp-root.el (ede-project-autoload, initialize-instance): Fix
EDE file symbol to match rename. Fix ede-cpp-root symbol to
* ede/cpp-root.el (ede-project-autoload, initialize-instance):
Fix EDE file symbol to match rename. Fix ede-cpp-root symbol to
include -project in name.
2013-03-21 Alex Ott <alexott@gmail.com>
* cedet-files.el (cedet-files-list-recursively): New. Recursively
find files whose names are matching to given regex.
* cedet-files.el (cedet-files-list-recursively): New.
Recursively find files whose names are matching to given regex.
* ede.el (ede-current-project): Rewrite to avoid imperative style.
@ -943,7 +989,7 @@
(semantic-gcc-setup): If the first attempt at calling cpp fails,
try straight GCC.
2012-10-01 Jan Moringen <jan.moringen@uni-bielefeld.de>
2012-10-01 Jan Moringen <jan.moringen@uni-bielefeld.de>
* semantic/idle.el
(semantic-idle-breadcrumbs--display-in-header-line):

View file

@ -869,7 +869,8 @@ If PARENT is non-nil, it is somehow related as a parent to thing."
table)
"Syntax table used in data-debug macro buffers.")
(defvar data-debug-map
(define-obsolete-variable-alias 'data-debug-map 'data-debug-mode-map "24.1")
(defvar data-debug-mode-map
(let ((km (make-sparse-keymap)))
(suppress-keymap km)
(define-key km [mouse-2] 'data-debug-expand-or-contract-mouse)
@ -887,22 +888,15 @@ If PARENT is non-nil, it is somehow related as a parent to thing."
:group 'data-debug
:type 'hook)
(defun data-debug-mode ()
(define-derived-mode data-debug-mode fundamental-mode "DATA-DEBUG"
"Major-mode for the Analyzer debugger.
\\{data-debug-map}"
(interactive)
(kill-all-local-variables)
(setq major-mode 'data-debug-mode
mode-name "DATA-DEBUG"
comment-start ";;"
\\{data-debug-mode-map}"
(setq comment-start ";;"
comment-end ""
buffer-read-only t)
(set (make-local-variable 'comment-start-skip)
(setq-local comment-start-skip
"\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\);+ *")
(set-syntax-table data-debug-mode-syntax-table)
(use-local-map data-debug-map)
(run-hooks 'data-debug-hook)
(buffer-disable-undo)
(set (make-local-variable 'font-lock-global-modes) nil)
(font-lock-mode -1)

View file

@ -311,14 +311,6 @@ a parse of the buffer.")
(semantic-varalias-obsolete 'semantic-init-db-hooks
'semantic-init-db-hook "23.2")
(defvar semantic-new-buffer-fcn-was-run nil
"Non-nil after `semantic-new-buffer-fcn' has been executed.")
(make-variable-buffer-local 'semantic-new-buffer-fcn-was-run)
(defsubst semantic-active-p ()
"Return non-nil if the current buffer was set up for parsing."
semantic-new-buffer-fcn-was-run)
(defsubst semantic-error-if-unparsed ()
"Raise an error if current buffer was not parsed by Semantic."
(unless semantic-new-buffer-fcn-was-run

View file

@ -1634,6 +1634,8 @@ Display mechanism using tooltip for a list of possible completions.")
(error nil))
)
(defvar tooltip-mode)
(defmethod semantic-displayor-show-request ((obj semantic-displayor-tooltip))
"A request to show the current tags table."
(if (or (not (featurep 'tooltip)) (not tooltip-mode))
@ -1726,6 +1728,9 @@ Return a cons cell (X . Y)"
(+ (cdr point-pix-pos) (cadr edges) top))))
(defvar tooltip-frame-parameters)
(declare-function tooltip-show "tooltip" (text &optional use-echo-area))
(defun semantic-displayor-tooltip-show (text)
"Display a tooltip with TEXT near cursor."
(let ((point-pix-pos (semantic-displayor-point-position))

View file

@ -265,9 +265,9 @@ TABLE is a semantic tags table. See `semantic-something-to-tag-table'."
"Find the first tag with NAME in TABLE.
NAME is a string.
TABLE is a semantic tags table. See `semantic-something-to-tag-table'.
This routine uses `assoc' to quickly find the first matching entry."
(funcall (if semantic-case-fold 'assoc-ignore-case 'assoc)
name (semantic-something-to-tag-table table)))
Respects `semantic-case-fold'."
(assoc-string name (semantic-something-to-tag-table table)
semantic-case-fold))
(defmacro semantic-find-tags-by-name (name &optional table)
"Find all tags with NAME in TABLE.
@ -457,13 +457,11 @@ TABLE is a tag table. See `semantic-something-to-tag-table'."
"Find a tag NAME within STREAMORBUFFER. NAME is a string.
If SEARCH-PARTS is non-nil, search children of tags.
If SEARCH-INCLUDE was never implemented.
Respects `semantic-case-fold'.
Use `semantic-find-first-tag-by-name' instead."
(let* ((stream (semantic-something-to-tag-table streamorbuffer))
(assoc-fun (if semantic-case-fold
#'assoc-ignore-case
#'assoc))
(m (funcall assoc-fun name stream)))
(m (assoc-string name stream semantic-case-fold)))
(if m
m
(let ((toklst stream)

View file

@ -321,6 +321,15 @@ Avoid using a large BODY since it is duplicated."
;;; Misc utilities
;;
(defvar semantic-new-buffer-fcn-was-run nil
"Non-nil after `semantic-new-buffer-fcn' has been executed.")
(make-variable-buffer-local 'semantic-new-buffer-fcn-was-run)
(defsubst semantic-active-p ()
"Return non-nil if the current buffer was set up for parsing."
semantic-new-buffer-fcn-was-run)
(defsubst semantic-map-buffers (function)
"Run FUNCTION for each Semantic enabled buffer found.
FUNCTION does not have arguments. When FUNCTION is entered

View file

@ -860,7 +860,7 @@ Lisp code."
;; Use Unix EOLs, so that the file is portable to all platforms.
(setq buffer-file-coding-system 'raw-text-unix)
(erase-buffer)
(unless (eq major-mode 'emacs-lisp-mode)
(unless (derived-mode-p 'emacs-lisp-mode)
(emacs-lisp-mode))
;;;; Header + Prologue
@ -1102,7 +1102,9 @@ END is the limit of the search."
;;;; Define major mode
;;;;
(defvar semantic-grammar-syntax-table
(define-obsolete-variable-alias 'semantic-grammar-syntax-table
'semantic-grammar-mode-syntax-table "24.1")
(defvar semantic-grammar-mode-syntax-table
(let ((table (make-syntax-table (standard-syntax-table))))
(modify-syntax-entry ?\: "." table) ;; COLON
(modify-syntax-entry ?\> "." table) ;; GT
@ -1170,7 +1172,9 @@ END is the limit of the search."
semantic-grammar-mode-keywords-1
"Font Lock keywords used to highlight Semantic grammar buffers.")
(defvar semantic-grammar-map
(define-obsolete-variable-alias 'semantic-grammar-map
'semantic-grammar-mode-map "24.1")
(defvar semantic-grammar-mode-map
(let ((km (make-sparse-keymap)))
(define-key km "|" 'semantic-grammar-electric-punctuation)
@ -1271,22 +1275,17 @@ the change bounds to encompass the whole nonterminal tag."
(semantic-tag-start outer)
(semantic-tag-end outer)))))
(defun semantic-grammar-mode ()
(define-derived-mode semantic-grammar-mode
fundamental-mode "Semantic Grammar Framework"
"Initialize a buffer for editing Semantic grammars.
\\{semantic-grammar-map}"
(interactive)
(kill-all-local-variables)
(setq major-mode 'semantic-grammar-mode
mode-name "Semantic Grammar Framework")
\\{semantic-grammar-mode-map}"
(set (make-local-variable 'parse-sexp-ignore-comments) t)
(set (make-local-variable 'comment-start) ";;")
;; Look within the line for a ; following an even number of backslashes
;; after either a non-backslash or the line beginning.
(set (make-local-variable 'comment-start-skip)
"\\(\\(^\\|[^\\\\\n]\\)\\(\\\\\\\\\\)*\\);+ *")
(set-syntax-table semantic-grammar-syntax-table)
(use-local-map semantic-grammar-map)
(set (make-local-variable 'indent-line-function)
'semantic-grammar-indent)
(set (make-local-variable 'fill-paragraph-function)
@ -1335,15 +1334,14 @@ the change bounds to encompass the whole nonterminal tag."
(semantic-make-local-hook 'semantic-edits-new-change-functions)
(add-hook 'semantic-edits-new-change-functions
'semantic-grammar-edits-new-change-hook-fcn
nil t)
(semantic-run-mode-hooks 'semantic-grammar-mode-hook))
nil t))
;;;;
;;;; Useful commands
;;;;
(defvar semantic-grammar-skip-quoted-syntax-table
(let ((st (copy-syntax-table semantic-grammar-syntax-table)))
(let ((st (copy-syntax-table semantic-grammar-mode-syntax-table)))
(modify-syntax-entry ?\' "$" st)
st)
"Syntax table to skip a whole quoted expression in grammar code.

View file

@ -149,44 +149,45 @@ Completion options are calculated with `semantic-analyze-possible-completions'."
:group 'semantic
:type semantic-format-tag-custom-list)
;;;###autoload
(defun semantic-ia-complete-symbol-menu (point)
"Complete the current symbol via a menu based at POINT.
Completion options are calculated with `semantic-analyze-possible-completions'."
(interactive "d")
(require 'imenu)
(let* ((a (semantic-analyze-current-context point))
(syms (semantic-analyze-possible-completions a))
)
;; Complete this symbol.
(if (not syms)
(progn
(message "No smart completions found. Trying Senator.")
(when (semantic-analyze-context-p a)
;; This is a quick way of getting a nice completion list
;; in the menu if the regular context mechanism fails.
(senator-completion-menu-popup)))
(let* ((menu
(mapcar
(lambda (tag)
(cons
(funcall semantic-ia-completion-menu-format-tag-function tag)
(vector tag)))
syms))
(ans
(imenu--mouse-menu
;; XEmacs needs that the menu has at least 2 items. So,
;; include a nil item that will be ignored by imenu.
(cons nil menu)
(senator-completion-menu-point-as-event)
"Completions")))
(when ans
(if (not (semantic-tag-p ans))
(setq ans (aref (cdr ans) 0)))
(delete-region (car (oref a bounds)) (cdr (oref a bounds)))
(semantic-ia-insert-tag ans))
))))
;; Disabled - see http://debbugs.gnu.org/14522
;; ;;;###autoload
;; (defun semantic-ia-complete-symbol-menu (point)
;; "Complete the current symbol via a menu based at POINT.
;; Completion options are calculated with `semantic-analyze-possible-completions'."
;; (interactive "d")
;; (require 'imenu)
;; (let* ((a (semantic-analyze-current-context point))
;; (syms (semantic-analyze-possible-completions a))
;; )
;; ;; Complete this symbol.
;; (if (not syms)
;; (progn
;; (message "No smart completions found. Trying Senator.")
;; (when (semantic-analyze-context-p a)
;; ;; This is a quick way of getting a nice completion list
;; ;; in the menu if the regular context mechanism fails.
;; (senator-completion-menu-popup)))
;;
;; (let* ((menu
;; (mapcar
;; (lambda (tag)
;; (cons
;; (funcall semantic-ia-completion-menu-format-tag-function tag)
;; (vector tag)))
;; syms))
;; (ans
;; (imenu--mouse-menu
;; ;; XEmacs needs that the menu has at least 2 items. So,
;; ;; include a nil item that will be ignored by imenu.
;; (cons nil menu)
;; (senator-completion-menu-point-as-event)
;; "Completions")))
;; (when ans
;; (if (not (semantic-tag-p ans))
;; (setq ans (aref (cdr ans) 0)))
;; (delete-region (car (oref a bounds)) (cdr (oref a bounds)))
;; (semantic-ia-insert-tag ans))
;; ))))
;;; Completions Tip
;;

View file

@ -48,18 +48,18 @@ they are used in.
Display the references in `semantic-symref-results-mode'."
(interactive)
(semantic-fetch-tags)
(let ((ct (semantic-current-tag))
(res nil)
)
(let ((ct (semantic-current-tag)))
;; Must have a tag...
(when (not ct) (error "Place cursor inside tag to be searched for"))
;; Check w/ user.
(when (not (y-or-n-p (format "Find references for %s? " (semantic-tag-name ct))))
(when (not (y-or-n-p (format "Find references for %s? "
(semantic-tag-name ct))))
(error "Quit"))
;; Gather results and tags
(message "Gathering References...")
(setq res (semantic-symref-find-references-by-name (semantic-tag-name ct)))
(semantic-symref-produce-list-on-results res (semantic-tag-name ct))))
(let* ((name (semantic-tag-name ct))
(res (semantic-symref-find-references-by-name name)))
(semantic-symref-produce-list-on-results res name))))
;;;###autoload
(defun semantic-symref-symbol (sym)
@ -72,11 +72,9 @@ Display the references in `semantic-symref-results-mode'."
(interactive (list (semantic-tag-name (semantic-complete-read-tag-project
"Symrefs for: "))))
(semantic-fetch-tags)
(let ((res nil)
)
;; Gather results and tags
(message "Gathering References...")
(setq res (semantic-symref-find-references-by-name sym))
;; Gather results and tags
(message "Gathering References...")
(let ((res (semantic-symref-find-references-by-name sym)))
(semantic-symref-produce-list-on-results res sym)))
;;;###autoload
@ -90,28 +88,11 @@ Display the references in`semantic-symref-results-mode'."
(interactive (list (semantic-tag-name (semantic-complete-read-tag-buffer-deep
"Symrefs for: "))))
(semantic-fetch-tags)
(let ((res nil)
)
;; Gather results and tags
(message "Gathering References...")
(setq res (semantic-symref-find-text sym))
(message "Gathering References...")
;; Gather results and tags
(let ((res (semantic-symref-find-text sym)))
(semantic-symref-produce-list-on-results res sym)))
(defun semantic-symref-produce-list-on-results (res str)
"Produce a symref list mode buffer on the results RES."
(when (not res) (error "No references found"))
(semantic-symref-result-get-tags res t)
(message "Gathering References...done")
;; Build a references buffer.
(let ((buff (get-buffer-create
(format "*Symref %s" str)))
)
(switch-to-buffer-other-window buff)
(set-buffer buff)
(semantic-symref-results-mode res))
)
;;; RESULTS MODE
;;
(defgroup semantic-symref-results-mode nil
@ -178,36 +159,35 @@ Display the references in`semantic-symref-results-mode'."
(defcustom semantic-symref-auto-expand-results nil
"Non-nil to expand symref results on buffer creation."
:group 'semantic-symref-results-mode
:type 'boolean)
(defcustom semantic-symref-results-mode-hook nil
"Hook run when `semantic-symref-results-mode' starts."
:group 'semantic-symref-results-mode
:type 'hook)
(defvar semantic-symref-current-results nil
"The current results in a results mode buffer.")
(defun semantic-symref-results-mode (results)
;; FIXME: Use define-derived-mode.
"Major-mode for displaying Semantic Symbol Reference RESULTS.
RESULTS is an object of class `semantic-symref-results'."
(interactive)
(kill-all-local-variables)
(setq major-mode 'semantic-symref-results-mode
mode-name "Symref"
)
(use-local-map semantic-symref-results-mode-map)
(set (make-local-variable 'semantic-symref-current-results)
results)
(semantic-symref-results-dump results)
(goto-char (point-min))
(defun semantic-symref-produce-list-on-results (res str)
"Produce a symref list mode buffer on the results RES."
(when (not res) (error "No references found"))
(semantic-symref-result-get-tags res t)
(message "Gathering References...done")
;; Build a references buffer.
(let ((buff (get-buffer-create (format "*Symref %s" str))))
(switch-to-buffer-other-window buff)
(set-buffer buff)
(semantic-symref-results-mode)
(set (make-local-variable 'semantic-symref-current-results) res)
(semantic-symref-results-dump res)
(goto-char (point-min))))
(define-derived-mode semantic-symref-results-mode nil "Symref"
"Major-mode for displaying Semantic Symbol Reference results."
(buffer-disable-undo)
;; FIXME: Why bother turning off font-lock?
(set (make-local-variable 'font-lock-global-modes) nil)
(font-lock-mode -1)
(run-mode-hooks 'semantic-symref-results-mode-hook)
)
(font-lock-mode -1))
(defun semantic-symref-hide-buffer ()
"Hide buffer with semantic-symref results."
@ -215,9 +195,8 @@ RESULTS is an object of class `semantic-symref-results'."
(bury-buffer))
(defcustom semantic-symref-results-summary-function 'semantic-format-tag-prototype
"*Function to use when creating items in Imenu.
"Function to use when creating items in Imenu.
Some useful functions are found in `semantic-format-tag-functions'."
:group 'semantic-symref-results-mode
:type semantic-format-tag-custom-list)
(defun semantic-symref-results-dump (results)

View file

@ -188,6 +188,7 @@ we can tell font lock about them.")
;;;###autoload
(define-derived-mode srecode-template-mode fundamental-mode "SRecode"
;; FIXME: Shouldn't it derive from prog-mode?
"Major-mode for writing SRecode macros."
(set (make-local-variable 'comment-start) ";;")
(set (make-local-variable 'comment-end) "")

View file

@ -121,7 +121,9 @@ The buffer is left in Command History mode."
(error "No command history")
(command-history-mode)))))
(defvar command-history-map
(define-obsolete-variable-alias 'command-history-map
'command-history-mode-map "24.1")
(defvar command-history-mode-map
(let ((map (make-sparse-keymap)))
(set-keymap-parent map lisp-mode-shared-map)
(suppress-keymap map)
@ -132,21 +134,11 @@ The buffer is left in Command History mode."
map)
"Keymap for `command-history-mode'.")
(defun command-history-mode ()
(define-derived-mode command-history-mode fundamental-mode "Command History"
"Major mode for listing and repeating recent commands.
Keybindings:
\\{command-history-map}"
(interactive)
(Command-history-setup)
(setq major-mode 'command-history-mode)
(setq mode-name "Command History")
(use-local-map command-history-map)
(run-mode-hooks 'command-history-mode-hook))
(defun Command-history-setup ()
(kill-all-local-variables)
(use-local-map command-history-map)
\\{command-history-mode-map}"
(lisp-mode-variables nil)
(set-syntax-table emacs-lisp-mode-syntax-table)
(setq buffer-read-only t))

View file

@ -3793,25 +3793,21 @@ REGEXP-GROUP is the regular expression group in REGEXP to use."
;; comint-mode will take care of it. The following example, from shell.el,
;; is typical:
;;
;; (defvar shell-mode-map '())
;; (cond ((not shell-mode-map)
;; (setq shell-mode-map (copy-keymap comint-mode-map))
;; (define-key shell-mode-map "\C-c\C-f" 'shell-forward-command)
;; (define-key shell-mode-map "\C-c\C-b" 'shell-backward-command)
;; (define-key shell-mode-map "\t" 'completion-at-point)
;; (define-key shell-mode-map "\M-?"
;; 'comint-dynamic-list-filename-completions)))
;; (defvar shell-mode-map
;; (let ((map (make-sparse-keymap)))
;; (set-keymap-parent map comint-mode-map)
;; (define-key map "\C-c\C-f" 'shell-forward-command)
;; (define-key map "\C-c\C-b" 'shell-backward-command)
;; (define-key map "\t" 'completion-at-point)
;; (define-key map "\M-?"
;; 'comint-dynamic-list-filename-completions)
;; map))
;;
;; (defun shell-mode ()
;; (interactive)
;; (comint-mode)
;; (define-derived-mode shell-mode comint-mode "Shell"
;; "Doc."
;; (setq comint-prompt-regexp shell-prompt-pattern)
;; (setq major-mode 'shell-mode)
;; (setq mode-name "Shell")
;; (use-local-map shell-mode-map)
;; (setq-local shell-directory-stack nil)
;; (add-hook 'comint-input-filter-functions 'shell-directory-tracker)
;; (run-mode-hooks 'shell-mode-hook))
;; (add-hook 'comint-input-filter-functions 'shell-directory-tracker))
;;
;;
;; Completion for comint-mode users

View file

@ -555,7 +555,11 @@ All non-spacing characters have this function in
(rbearing (lglyph-rbearing glyph))
(lbearing (lglyph-lbearing glyph))
(center (/ (+ lbearing rbearing) 2))
;; Artificial vertical gap between the glyphs.
(gap (round (* (font-get (lgstring-font gstring) :size) 0.1))))
(if (= gap 0)
;; Assure at least 1 pixel vertical gap.
(setq gap 1))
(dotimes (i nchars)
(setq glyph (lgstring-glyph gstring i))
(when (> i 0)
@ -566,8 +570,10 @@ All non-spacing characters have this function in
(as (lglyph-ascent glyph))
(de (lglyph-descent glyph))
(ce (/ (+ lb rb) 2))
(w (lglyph-width glyph))
xoff yoff)
(when (and class (>= class 200) (<= class 240))
(cond
((and class (>= class 200) (<= class 240))
(setq xoff 0 yoff 0)
(cond
((= class 200)
@ -621,6 +627,38 @@ All non-spacing characters have this function in
rb (+ lb xoff)
as (- as yoff)
de (+ de yoff)))
((and (= class 0)
(eq (get-char-code-property (lglyph-char glyph)
'general-category) 'Me))
;; Artificially layouting glyphs in an enclosing
;; mark is difficult. All we can do is to adjust
;; the x-offset and width of the base glyph to
;; align it at the center of the glyph of the
;; enclosing mark hoping that the enclosing mark
;; is big enough. We also have to adjust the
;; x-offset and width of the mark ifself properly
;; depending on how the glyph is designed
;; (non-spacing or not). For instance, when we
;; have these glyphs:
;; X position |
;; base: <-*-> lbearing=0 rbearing=5 width=5
;; mark: <----------.> lb=-11 rb=2 w=0
;; we get a correct layout by moving them as this:
;; base: <-*-> XOFF=4 WAD=9
;; mark: <----------.> xoff=2 wad=4
;; we have moved the base to the left by 4-pixel
;; and make its width 9-pixel, then move the mark
;; to the left 2-pixel and make its width 4-pixel.
(let* (;; Adjustment for the base glyph
(XOFF (/ (- rb lb width) 2))
(WAD (+ width XOFF))
;; Adjustment for the enclosing mark glyph
(xoff (- (+ lb WAD)))
(wad (- rb lb WAD)))
(lglyph-set-adjustment glyph xoff 0 wad)
(setq glyph (lgstring-glyph gstring 0))
(lglyph-set-adjustment glyph XOFF 0 WAD))))
(if (< ascent as)
(setq ascent as))
(if (< descent de)

View file

@ -1,7 +1,6 @@
;;; custom.el --- tools for declaring and initializing options
;;
;; Copyright (C) 1996-1997, 1999, 2001-2013 Free Software Foundation,
;; Inc.
;; Copyright (C) 1996-1997, 1999, 2001-2013 Free Software Foundation, Inc.
;;
;; Author: Per Abrahamsen <abraham@dina.kvl.dk>
;; Maintainer: FSF
@ -1416,6 +1415,10 @@ See `custom-enabled-themes' for a list of enabled themes."
(setq custom-enabled-themes
(delq theme custom-enabled-themes)))))
;; Only used if window-system not null.
(declare-function x-get-resource "frame.c"
(attribute class &optional component subclass))
(defun custom--frame-color-default (frame attribute resource-attr resource-class
tty-default x-default)
(let ((col (face-attribute 'default attribute t)))

View file

@ -243,6 +243,9 @@ Local to those buffers, as a function called that created it.")
"Return non-nil if FRAME is currently available."
(and frame (frame-live-p frame) (frame-visible-p frame)))
(defvar x-sensitive-text-pointer-shape)
(defvar x-pointer-shape)
(defun dframe-frame-mode (arg frame-var cache-var buffer-var frame-name
local-mode-fn
&optional
@ -758,9 +761,8 @@ who requested the timer. NULL-ON-ERROR is ignored."
Evaluates all cached timer functions in sequence."
(let ((l dframe-client-functions))
(while (and l (sit-for 0))
(condition-case er
(funcall (car l))
(error (message "DFRAME TIMER ERROR: %S" er)))
(with-demoted-errors "DFRAME TIMER ERROR: %S"
(funcall (car l)))
(setq l (cdr l)))))
;;; Menu hacking for mouse-3

View file

@ -1,4 +1,4 @@
;;; dired-x.el --- extra Dired functionality
;;; dired-x.el --- extra Dired functionality -*- lexical-binding:t -*-
;; Copyright (C) 1993-1994, 1997, 2001-2013 Free Software Foundation,
;; Inc.
@ -1047,7 +1047,8 @@ Each element of this list looks like
(REGEXP COMMAND...)
where each COMMAND can either be a string or a Lisp expression that evaluates
to a string. If several COMMANDs are given, the first one will be the default
to a string. This expression can access the file name as the variable `file'.
If several COMMANDs are given, the first one will be the default
and the rest will be added temporarily to the history and can be retrieved
with \\[previous-history-element] (M-p) .
@ -1105,8 +1106,8 @@ See `dired-guess-shell-alist-user'."
;; Return commands or nil if flist is still non-nil.
;; Evaluate the commands in order that any logical testing will be done.
(if (cdr cmds)
(delete-dups (mapcar #'eval cmds))
(eval (car cmds))))) ; single command
(delete-dups (mapcar (lambda (cmd) (eval cmd `((file . ,file)))) cmds))
(eval (car cmds) `((file . ,file)))))) ; single command
(defun dired-guess-shell-command (prompt files)
"Ask user with PROMPT for a shell command, guessing a default from FILES."
@ -1185,7 +1186,7 @@ results in
(setq count (1+ count)
start (1+ start)))
;; ... and prepend a "../" for each slash found:
(dotimes (n count)
(dotimes (_ count)
(setq name1 (concat "../" name1)))))
(make-symbolic-link
(directory-file-name name1) ; must not link to foo/
@ -1397,22 +1398,6 @@ Considers buffers closer to the car of `buffer-list' to be more recent."
;; Does anyone use this? - lrd 6/29/93.
;; Apparently people do use it. - lrd 12/22/97.
(with-no-warnings
;; Warnings are suppressed to avoid "global/dynamic var `X' lacks a prefix".
;; This is unbearably ugly, but not more than having global variables
;; named size, time, name or s, however practical it can be while writing
;; `dired-mark-sexp' predicates.
(defvar inode)
(defvar s)
(defvar mode)
(defvar nlink)
(defvar uid)
(defvar gid)
(defvar size)
(defvar time)
(defvar name)
(defvar sym))
(defun dired-mark-sexp (predicate &optional unflag-p)
"Mark files for which PREDICATE returns non-nil.
With a prefix arg, unmark or unflag those files instead.
@ -1475,6 +1460,9 @@ to mark all zero length files."
s nil))
(setq mode (buffer-substring (point) (+ mode-len (point))))
(forward-char mode-len)
;; Skip any extended attributes marker ("." or "+").
(or (looking-at " ")
(forward-char 1))
(setq nlink (read (current-buffer)))
;; Karsten Wenger <kw@cis.uni-muenchen.de> fixed uid.
(setq uid (buffer-substring (1+ (point))
@ -1505,7 +1493,17 @@ to mark all zero length files."
(line-end-position))
""))
t)
(eval predicate)))
(eval predicate
`((inode . ,inode)
(s . ,s)
(mode . ,mode)
(nlink . ,nlink)
(uid . ,uid)
(gid . ,gid)
(size . ,size)
(time . ,time)
(name . ,name)
(sym . ,sym)))))
(format "'%s file" predicate))))

View file

@ -4352,7 +4352,7 @@ instead.
;;;***
;;;### (autoloads nil "dired-x" "dired-x.el" "130484d4c94bb9929c210774f9e475f5")
;;;### (autoloads nil "dired-x" "dired-x.el" "732d08c173295dd14a0736fa222f532a")
;;; Generated autoloads from dired-x.el
(autoload 'dired-jump "dired-x" "\

View file

@ -1733,9 +1733,12 @@ toggle between displaying the document or editing it as text.
"/" (:eval (number-to-string (doc-view-last-page-number)))))
;; Don't scroll unless the user specifically asked for it.
(setq-local auto-hscroll-mode nil)
(setq-local mwheel-scroll-up-function #'doc-view-scroll-up-or-next-page)
(setq-local mwheel-scroll-down-function
#'doc-view-scroll-down-or-previous-page)
(if (boundp 'mwheel-scroll-up-function) ; not --without-x build
(setq-local mwheel-scroll-up-function
#'doc-view-scroll-up-or-next-page))
(if (boundp 'mwheel-scroll-down-function)
(setq-local mwheel-scroll-down-function
#'doc-view-scroll-down-or-previous-page))
(setq-local cursor-type nil)
(use-local-map doc-view-mode-map)
(add-hook 'after-revert-hook 'doc-view-reconvert-doc nil t)

View file

@ -117,7 +117,6 @@ The Command History listing is recomputed each time this mode is invoked."
(save-window-excursion
(list-command-history)
(set-buffer "*Command History*")
(Command-history-setup)
(setq major-mode 'electric-command-history)
(setq mode-name "Electric History")
(use-local-map electric-history-map))

View file

@ -78,8 +78,6 @@
(setq last-command-event (aref cmd (1- (length cmd)))
this-command (key-binding cmd t)
cmd this-command)
;; This makes universal-argument-other-key work.
(setq universal-argument-num-events 0)
(if (or (prog1 quit-flag (setq quit-flag nil))
(eq last-input-event ?\C-g))
(progn (setq unread-command-events nil

View file

@ -1,7 +1,7 @@
;;; chart.el --- Draw charts (bar charts, etc) -*- lexical-binding: t -*-
;; Copyright (C) 1996, 1998-1999, 2001, 2004-2005, 2007-2013 Free
;; Software Foundation, Inc.
;; Copyright (C) 1996, 1998-1999, 2001, 2004-2005, 2007-2013
;; Free Software Foundation, Inc.
;; Author: Eric M. Ludlam <zappo@gnu.org>
;; Version: 0.2
@ -86,10 +86,10 @@ Useful if new Emacs is used on B&W display.")
:group 'eieio
:type 'boolean)
(declare-function x-display-color-cells "xfns.c" (&optional terminal))
(defvar chart-face-list
(if (if (fboundp 'display-color-p)
(display-color-p)
window-system)
(if (display-color-p)
(let ((cl chart-face-color-list)
(pl chart-face-pixmap-list)
(faces ())

View file

@ -209,6 +209,8 @@ The name is made by appending a number to PREFIX, default \"G\"."
(def-edebug-spec cl-&key-arg
(&or ([&or (symbolp arg) arg] &optional def-form arg) arg))
(def-edebug-spec cl-type-spec sexp)
(defconst cl--lambda-list-keywords
'(&optional &rest &key &allow-other-keys &aux &whole &body &environment))
@ -2701,8 +2703,10 @@ The function's arguments should be treated as immutable.
\(fn NAME ARGLIST [DOCSTRING] BODY...)"
(declare (debug cl-defun) (indent 2))
(let* ((argns (cl--arglist-args args)) (p argns)
(pbody (cons 'progn body)))
(let* ((argns (cl--arglist-args args))
(p argns)
;; (pbody (cons 'progn body))
)
(while (and p (eq (cl--expr-contains args (car p)) 1)) (pop p))
`(progn
,(if p nil ; give up if defaults refer to earlier args

View file

@ -1,7 +1,6 @@
;;; copyright.el --- update the copyright notice in current buffer
;; Copyright (C) 1991-1995, 1998, 2001-2013 Free Software Foundation,
;; Inc.
;; Copyright (C) 1991-1995, 1998, 2001-2013 Free Software Foundation, Inc.
;; Author: Daniel Pfeiffer <occitan@esperanto.org>
;; Keywords: maint, tools
@ -145,18 +144,17 @@ The header must match `copyright-regexp' and `copyright-names-regexp', if set.
This function sets the match-data that `copyright-update-year' uses."
(widen)
(goto-char (copyright-start-point))
(condition-case err
;; (1) Need the extra \\( \\) around copyright-regexp because we
;; goto (match-end 1) below. See note (2) below.
(copyright-re-search (concat "\\(" copyright-regexp
"\\)\\([ \t]*\n\\)?.*\\(?:"
copyright-names-regexp "\\)")
(copyright-limit)
t)
;; In case the regexp is rejected. This is useful because
;; copyright-update is typically called from before-save-hook where
;; such an error is very inconvenient for the user.
(error (message "Can't update copyright: %s" err) nil)))
;; In case the regexp is rejected. This is useful because
;; copyright-update is typically called from before-save-hook where
;; such an error is very inconvenient for the user.
(with-demoted-errors "Can't update copyright: %s"
;; (1) Need the extra \\( \\) around copyright-regexp because we
;; goto (match-end 1) below. See note (2) below.
(copyright-re-search (concat "\\(" copyright-regexp
"\\)\\([ \t]*\n\\)?.*\\(?:"
copyright-names-regexp "\\)")
(copyright-limit)
t)))
(defun copyright-find-end ()
"Possibly adjust the search performed by `copyright-find-copyright'.

View file

@ -157,33 +157,32 @@ Functions'."
predicate
flag)))
(defun crm--select-current-element ()
(defun crm--current-element ()
"Parse the minibuffer to find the current element.
Place an overlay on the element, with a `field' property, and return it."
(let* ((bob (minibuffer-prompt-end))
(start (save-excursion
Return the element's boundaries as (START . END)."
(let ((bob (minibuffer-prompt-end)))
(cons (save-excursion
(if (re-search-backward crm-separator bob t)
(match-end 0)
bob)))
(end (save-excursion
bob))
(save-excursion
(if (re-search-forward crm-separator nil t)
(match-beginning 0)
(point-max))))
(ol (make-overlay start end nil nil t)))
(overlay-put ol 'field (make-symbol "crm"))
ol))
(point-max))))))
(defmacro crm--completion-command (command)
"Make COMMAND a completion command for `completing-read-multiple'."
`(let ((ol (crm--select-current-element)))
(unwind-protect
,command
(delete-overlay ol))))
(defmacro crm--completion-command (beg end &rest body)
"Run BODY with BEG and END bound to the current element's boundaries."
(declare (indent 2) (debug (sexp sexp &rest body)))
`(let* ((crm--boundaries (crm--current-element))
(,beg (car crm--boundaries))
(,end (cdr crm--boundaries)))
,@body))
(defun crm-completion-help ()
"Display a list of possible completions of the current minibuffer element."
(interactive)
(crm--completion-command (minibuffer-completion-help))
(crm--completion-command beg end
(minibuffer-completion-help beg end))
nil)
(defun crm-complete ()
@ -192,13 +191,18 @@ If no characters can be completed, display a list of possible completions.
Return t if the current element is now a valid match; otherwise return nil."
(interactive)
(crm--completion-command (minibuffer-complete)))
(crm--completion-command beg end
(completion-in-region beg end
minibuffer-completion-table
minibuffer-completion-predicate)))
(defun crm-complete-word ()
"Complete the current element at most a single word.
Like `minibuffer-complete-word' but for `completing-read-multiple'."
(interactive)
(crm--completion-command (minibuffer-complete-word)))
(crm--completion-command beg end
(completion-in-region--single-word
beg end minibuffer-completion-table minibuffer-completion-predicate)))
(defun crm-complete-and-exit ()
"If all of the minibuffer elements are valid completions then exit.
@ -211,16 +215,14 @@ This function is modeled after `minibuffer-complete-and-exit'."
(goto-char (minibuffer-prompt-end))
(while
(and doexit
(let ((ol (crm--select-current-element)))
(goto-char (overlay-end ol))
(unwind-protect
(catch 'exit
(minibuffer-complete-and-exit)
;; This did not throw `exit', so there was a problem.
(setq doexit nil))
(goto-char (overlay-end ol))
(delete-overlay ol))
(not (eobp)))
(crm--completion-command beg end
(let ((end (copy-marker end t)))
(goto-char end)
(setq doexit nil)
(completion-complete-and-exit beg end
(lambda () (setq doexit t)))
(goto-char end)
(not (eobp))))
(looking-at crm-separator))
;; Skip to the next element.
(goto-char (match-end 0)))

View file

@ -626,7 +626,7 @@ The environment used is the one when entering the activation frame at point."
(put 'debugger-mode 'mode-class 'special)
(defun debugger-mode ()
(define-derived-mode debugger-mode fundamental-mode "Debugger"
"Mode for backtrace buffers, selected in debugger.
\\<debugger-mode-map>
A line starts with `*' if exiting that frame will call the debugger.
@ -641,13 +641,9 @@ which functions will enter the debugger when called.
Complete list of commands:
\\{debugger-mode-map}"
(kill-all-local-variables)
(setq major-mode 'debugger-mode)
(setq mode-name "Debugger")
(setq truncate-lines t)
(set-syntax-table emacs-lisp-mode-syntax-table)
(use-local-map debugger-mode-map)
(run-mode-hooks 'debugger-mode-hook))
(use-local-map debugger-mode-map))
(defcustom debugger-record-buffer "*Debugger-record*"
"Buffer name for expression values, for \\[debugger-record-expression]."

View file

@ -322,7 +322,7 @@ The CLOS function `class-direct-subclasses' is aliased to this function."
(defmacro eieio-class-parent (class)
"Return first parent class to CLASS. (overload of variable)."
`(car (eieio-class-parents ,class)))
(define-obsolete-function-alias 'class-parent #'eieio-class-parent "24.4")
(define-obsolete-function-alias 'class-parent 'eieio-class-parent "24.4")
(defun same-class-p (obj class) "Return t if OBJ is of class-type CLASS."
(eieio--check-type class-p class)

View file

@ -309,27 +309,26 @@ This variable is expected to be made buffer-local by modes (other than
Emacs Lisp mode) that support ElDoc.")
(defun eldoc-print-current-symbol-info ()
(condition-case err
(and (or (eldoc-display-message-p) eldoc-post-insert-mode)
(if eldoc-documentation-function
(eldoc-message (funcall eldoc-documentation-function))
(let* ((current-symbol (eldoc-current-symbol))
(current-fnsym (eldoc-fnsym-in-current-sexp))
(doc (cond
((null current-fnsym)
nil)
((eq current-symbol (car current-fnsym))
(or (apply 'eldoc-get-fnsym-args-string
current-fnsym)
(eldoc-get-var-docstring current-symbol)))
(t
(or (eldoc-get-var-docstring current-symbol)
(apply 'eldoc-get-fnsym-args-string
current-fnsym))))))
(eldoc-message doc))))
;; This is run from post-command-hook or some idle timer thing,
;; so we need to be careful that errors aren't ignored.
(error (message "eldoc error: %s" err))))
;; This is run from post-command-hook or some idle timer thing,
;; so we need to be careful that errors aren't ignored.
(with-demoted-errors "eldoc error: %s"
(and (or (eldoc-display-message-p) eldoc-post-insert-mode)
(if eldoc-documentation-function
(eldoc-message (funcall eldoc-documentation-function))
(let* ((current-symbol (eldoc-current-symbol))
(current-fnsym (eldoc-fnsym-in-current-sexp))
(doc (cond
((null current-fnsym)
nil)
((eq current-symbol (car current-fnsym))
(or (apply 'eldoc-get-fnsym-args-string
current-fnsym)
(eldoc-get-var-docstring current-symbol)))
(t
(or (eldoc-get-var-docstring current-symbol)
(apply 'eldoc-get-fnsym-args-string
current-fnsym))))))
(eldoc-message doc))))))
(defun eldoc-get-fnsym-args-string (sym &optional index)
"Return a string containing the parameter list of the function SYM.

View file

@ -785,7 +785,7 @@ This mainly sets up debugger-related bindings."
"Immediately truncate *Messages* buffer according to `message-log-max'.
This can be useful after reducing the value of `message-log-max'."
(with-current-buffer (get-buffer-create "*Messages*")
(with-current-buffer (messages-buffer)
;; This is a reimplementation of this part of message_dolog() in xdisp.c:
;; if (NATNUMP (Vmessage_log_max))
;; {
@ -798,7 +798,8 @@ This can be useful after reducing the value of `message-log-max'."
(end (save-excursion
(goto-char (point-max))
(forward-line (- message-log-max))
(point))))
(point)))
(inhibit-read-only t))
(delete-region begin end)))))
(defvar ert--running-tests nil
@ -818,7 +819,7 @@ Returns the result and stores it in ERT-TEST's `most-recent-result' slot."
(setf (ert-test-most-recent-result ert-test) nil)
(cl-block error
(let ((begin-marker
(with-current-buffer (get-buffer-create "*Messages*")
(with-current-buffer (messages-buffer)
(point-max-marker))))
(unwind-protect
(let ((info (make-ert--test-execution-info
@ -837,7 +838,7 @@ Returns the result and stores it in ERT-TEST's `most-recent-result' slot."
(ert--run-test-internal info))
(let ((result (ert--test-execution-info-result info)))
(setf (ert-test-result-messages result)
(with-current-buffer (get-buffer-create "*Messages*")
(with-current-buffer (messages-buffer)
(buffer-substring begin-marker (point-max))))
(ert--force-message-log-buffer-truncation)
(setq should-form-accu (nreverse should-form-accu))

View file

@ -597,7 +597,6 @@ EXTRA-PROPERTIES is currently unused."
(defvar version-control)
(defun package-generate-autoloads (name pkg-dir)
(require 'autoload) ;Load before we let-bind generated-autoload-file!
(let* ((auto-name (format "%s-autoloads.el" name))
;;(ignore-name (concat name "-pkg.el"))
(generated-autoload-file (expand-file-name auto-name pkg-dir))
@ -1523,7 +1522,7 @@ This fetches the contents of each archive specified in
`package-archives', and then refreshes the package menu."
(interactive)
(unless (derived-mode-p 'package-menu-mode)
(error "The current buffer is not a Package Menu"))
(user-error "The current buffer is not a Package Menu"))
(package-refresh-contents)
(package-menu--generate t t))
@ -1535,7 +1534,7 @@ If optional arg BUTTON is non-nil, describe its associated package."
(tabulated-list-get-id))))
(if pkg-desc
(describe-package pkg-desc)
(error "No package here"))))
(user-error "No package here"))))
;; fixme numeric argument
(defun package-menu-mark-delete (&optional _num)

View file

@ -2374,9 +2374,8 @@ If FILE is nil, try to load a default file. The default file names are
(goto-char (point-min))
(beep)
(and (tpu-y-or-n-p "Copy key definitions to the new file now? ")
(condition-case conditions
(copy-file oldname newname)
(error (message "Sorry, couldn't copy - %s." (cdr conditions)))))
(with-demoted-errors "Sorry, couldn't copy - %s."
(copy-file oldname newname)))
(kill-buffer "*TPU-Notice*")))
(defvar tpu-edt-old-global-values nil)

View file

@ -73,8 +73,7 @@
(define-key map "\C-x" 'save-buffers-kill-emacs)
(define-key map "y" 'ws-delete-block)
(define-key map "\C-y" 'ws-delete-block)
map)
"")
map))
(defvar wordstar-C-o-map
(let ((map (make-keymap)))
@ -140,8 +139,7 @@
(define-key map "y" 'ws-kill-eol)
(define-key map "\C-y" 'ws-kill-eol)
(define-key map "\177" 'ws-kill-bol)
map)
"")
map))
(defvar wordstar-mode-map
(let ((map (make-keymap)))
@ -170,17 +168,16 @@
(define-key map "\C-x" 'next-line)
(define-key map "\C-y" 'kill-complete-line)
(define-key map "\C-z" 'scroll-up-line)
map)
"")
map))
;; wordstar-C-j-map not yet implemented
(defvar wordstar-C-j-map nil "")
(defvar wordstar-C-j-map nil)
(put 'wordstar-mode 'mode-class 'special)
;;;###autoload
(defun wordstar-mode ()
(define-derived-mode wordstar-mode fundamental-mode "WordStar"
"Major mode with WordStar-like key bindings.
BUGS:
@ -191,106 +188,7 @@ BUGS:
- Search and replace (C-q a) is only available in forward direction
No key bindings beginning with ESC are installed, they will work
Emacs-like.
The key bindings are:
C-a backward-word
C-b fill-paragraph
C-c scroll-up-line
C-d forward-char
C-e previous-line
C-f forward-word
C-g delete-char
C-h backward-char
C-i indent-for-tab-command
C-j help-for-help
C-k ordstar-C-k-map
C-l ws-repeat-search
C-n open-line
C-p quoted-insert
C-r scroll-down-line
C-s backward-char
C-t kill-word
C-u keyboard-quit
C-v overwrite-mode
C-w scroll-down
C-x next-line
C-y kill-complete-line
C-z scroll-up
C-k 0 ws-set-marker-0
C-k 1 ws-set-marker-1
C-k 2 ws-set-marker-2
C-k 3 ws-set-marker-3
C-k 4 ws-set-marker-4
C-k 5 ws-set-marker-5
C-k 6 ws-set-marker-6
C-k 7 ws-set-marker-7
C-k 8 ws-set-marker-8
C-k 9 ws-set-marker-9
C-k b ws-begin-block
C-k c ws-copy-block
C-k d save-buffers-kill-emacs
C-k f find-file
C-k h ws-show-markers
C-k i ws-indent-block
C-k k ws-end-block
C-k p ws-print-block
C-k q kill-emacs
C-k r insert-file
C-k s save-some-buffers
C-k t ws-mark-word
C-k u ws-exdent-block
C-k C-u keyboard-quit
C-k v ws-move-block
C-k w ws-write-block
C-k x kill-emacs
C-k y ws-delete-block
C-o c wordstar-center-line
C-o b switch-to-buffer
C-o j justify-current-line
C-o k kill-buffer
C-o l list-buffers
C-o m auto-fill-mode
C-o r set-fill-column
C-o C-u keyboard-quit
C-o wd delete-other-windows
C-o wh split-window-right
C-o wo other-window
C-o wv split-window-below
C-q 0 ws-find-marker-0
C-q 1 ws-find-marker-1
C-q 2 ws-find-marker-2
C-q 3 ws-find-marker-3
C-q 4 ws-find-marker-4
C-q 5 ws-find-marker-5
C-q 6 ws-find-marker-6
C-q 7 ws-find-marker-7
C-q 8 ws-find-marker-8
C-q 9 ws-find-marker-9
C-q a ws-query-replace
C-q b ws-to-block-begin
C-q c end-of-buffer
C-q d end-of-line
C-q f ws-search
C-q k ws-to-block-end
C-q l ws-undo
C-q p ws-last-cursorp
C-q r beginning-of-buffer
C-q C-u keyboard-quit
C-q w ws-last-error
C-q y ws-kill-eol
C-q DEL ws-kill-bol
"
(interactive)
(kill-all-local-variables)
(use-local-map wordstar-mode-map)
(setq mode-name "WordStar")
(setq major-mode 'wordstar-mode)
(run-mode-hooks 'wordstar-mode-hook))
Emacs-like.")
(defun wordstar-center-paragraph ()

View file

@ -268,62 +268,40 @@ You should bind this variable with `let', but do not set it globally.")
(epg-sub-key-id (car (epg-key-sub-key-list
(widget-get widget :value))))))
(eval-and-compile
(if (fboundp 'encode-coding-string)
(defalias 'epa--encode-coding-string 'encode-coding-string)
(defalias 'epa--encode-coding-string 'identity)))
(defalias 'epa--encode-coding-string
(if (fboundp 'encode-coding-string) #'encode-coding-string #'identity))
(eval-and-compile
(if (fboundp 'decode-coding-string)
(defalias 'epa--decode-coding-string 'decode-coding-string)
(defalias 'epa--decode-coding-string 'identity)))
(defalias 'epa--decode-coding-string
(if (fboundp 'decode-coding-string) #'decode-coding-string #'identity))
(defun epa-key-list-mode ()
(define-derived-mode epa-key-list-mode special-mode "Keys"
"Major mode for `epa-list-keys'."
(kill-all-local-variables)
(buffer-disable-undo)
(setq major-mode 'epa-key-list-mode
mode-name "Keys"
truncate-lines t
(setq truncate-lines t
buffer-read-only t)
(use-local-map epa-key-list-mode-map)
(make-local-variable 'font-lock-defaults)
(setq font-lock-defaults '(epa-font-lock-keywords t))
(setq-local font-lock-defaults '(epa-font-lock-keywords t))
;; In XEmacs, auto-initialization of font-lock is not effective
;; if buffer-file-name is not set.
(font-lock-set-defaults)
(make-local-variable 'epa-exit-buffer-function)
(make-local-variable 'revert-buffer-function)
(setq revert-buffer-function 'epa--key-list-revert-buffer)
(run-mode-hooks 'epa-key-list-mode-hook))
(setq-local revert-buffer-function #'epa--key-list-revert-buffer))
(defun epa-key-mode ()
(define-derived-mode epa-key-mode special-mode "Key"
"Major mode for a key description."
(kill-all-local-variables)
(buffer-disable-undo)
(setq major-mode 'epa-key-mode
mode-name "Key"
truncate-lines t
(setq truncate-lines t
buffer-read-only t)
(use-local-map epa-key-mode-map)
(make-local-variable 'font-lock-defaults)
(setq font-lock-defaults '(epa-font-lock-keywords t))
(setq-local font-lock-defaults '(epa-font-lock-keywords t))
;; In XEmacs, auto-initialization of font-lock is not effective
;; if buffer-file-name is not set.
(font-lock-set-defaults)
(make-local-variable 'epa-exit-buffer-function)
(run-mode-hooks 'epa-key-mode-hook))
(make-local-variable 'epa-exit-buffer-function))
(defun epa-info-mode ()
(define-derived-mode epa-info-mode special-mode "Info"
"Major mode for `epa-info-buffer'."
(kill-all-local-variables)
(buffer-disable-undo)
(setq major-mode 'epa-info-mode
mode-name "Info"
truncate-lines t
buffer-read-only t)
(use-local-map epa-info-mode-map)
(run-mode-hooks 'epa-info-mode-hook))
(setq truncate-lines t
buffer-read-only t))
(defun epa-mark-key (&optional arg)
"Mark a key on the current line.
@ -951,10 +929,10 @@ See the reason described in the `epa-verify-region' documentation."
(error "No cleartext tail"))
(epa-verify-region cleartext-start cleartext-end))))))
(eval-and-compile
(defalias 'epa--select-safe-coding-system
(if (fboundp 'select-safe-coding-system)
(defalias 'epa--select-safe-coding-system 'select-safe-coding-system)
(defun epa--select-safe-coding-system (_from _to)
#'select-safe-coding-system
(lambda (_from _to)
buffer-file-coding-system)))
;;;###autoload
@ -1026,16 +1004,16 @@ If no one is selected, default secret key is used. "
'start-open t
'end-open t)))))
(eval-and-compile
(defalias 'epa--derived-mode-p
(if (fboundp 'derived-mode-p)
(defalias 'epa--derived-mode-p 'derived-mode-p)
(defun epa--derived-mode-p (&rest modes)
#'derived-mode-p
(lambda (&rest modes)
"Non-nil if the current major mode is derived from one of MODES.
Uses the `derived-mode-parent' property of the symbol to trace backwards."
(let ((parent major-mode))
(while (and (not (memq parent modes))
(setq parent (get parent 'derived-mode-parent))))
parent))))
(while (and (not (memq parent modes))
(setq parent (get parent 'derived-mode-parent))))
parent))))
;;;###autoload
(defun epa-encrypt-region (start end recipients sign signers)
@ -1138,6 +1116,7 @@ If no one is selected, symmetric encryption will be performed. ")
(if (epg-context-result-for context 'import)
(epa-display-info (epg-import-result-to-string
(epg-context-result-for context 'import))))
;; FIXME: Why not use the (otherwise unused) epa--derived-mode-p?
(if (eq major-mode 'epa-key-list-mode)
(apply #'epa--list-keys epa-list-keys-arguments))))

View file

@ -2415,9 +2415,8 @@ If you are unsure, use synchronous version of this function
(list "--" (epg-data-file plain)))))
;; `gpgsm' does not read passphrase from stdin, so waiting is not needed.
(unless (eq (epg-context-protocol context) 'CMS)
(if sign
(epg-wait-for-status context '("BEGIN_SIGNING"))
(epg-wait-for-status context '("BEGIN_ENCRYPTION"))))
(epg-wait-for-status context
(if sign '("BEGIN_SIGNING") '("BEGIN_ENCRYPTION"))))
(when (epg-data-string plain)
(if (eq (process-status (epg-context-process context)) 'run)
(process-send-string (epg-context-process context)

View file

@ -1,3 +1,30 @@
2013-09-21 Glenn Morris <rgm@gnu.org>
* erc.el (erc-invite-only-mode, erc-toggle-channel-mode):
Remove unused local variable `erc-force-send'.
2013-09-19 Glenn Morris <rgm@gnu.org>
* erc-button.el (erc-button-click-button, erc-button-press-button):
* erc-list.el (erc-list-handle-322):
Mark unused arguments.
* erc.el (erc-open-server-buffer-p): Actually use the `buffer' arg.
* erc-backend.el (erc-server-process-alive): Take optional `buffer' arg.
2013-09-18 Glenn Morris <rgm@gnu.org>
* erc-button.el (erc-button-add-buttons): Remove unused local vars.
2013-09-14 Vivek Dasmohapatra <vivek@etla.org>
* erc.el (erc-update-mode-line-buffer):
Handle absent topic. (Bug#15377)
2013-09-13 Glenn Morris <rgm@gnu.org>
* erc-desktop-notifications.el (dbus-debug): Declare.
2013-08-22 Stefan Monnier <monnier@iro.umontreal.ca>
* erc.el: Use lexical-binding.

View file

@ -497,11 +497,12 @@ The current buffer is given by BUFFER."
erc-server-ping-handler)
erc-server-ping-timer-alist)))))
(defun erc-server-process-alive ()
"Return non-nil when `erc-server-process' is open or running."
(and erc-server-process
(processp erc-server-process)
(memq (process-status erc-server-process) '(run open))))
(defun erc-server-process-alive (&optional buffer)
"Return non-nil when BUFFER has an `erc-server-process' open or running."
(with-current-buffer (or buffer (current-buffer))
(and erc-server-process
(processp erc-server-process)
(memq (process-status erc-server-process) '(run open)))))
;;;; Connecting to a server

View file

@ -267,7 +267,7 @@ specified by `erc-button-alist'."
(inhibit-point-motion-hooks t)
(inhibit-field-text-motion t)
(alist erc-button-alist)
entry regexp data)
regexp)
(erc-button-remove-old-buttons)
(dolist (entry alist)
(if (equal (car entry) (quote (quote nicknames)))
@ -407,7 +407,7 @@ REGEXP is the regular expression which matched for this button."
;; Since Emacs runs this directly, rather than with
;; widget-button-click, we need to fake an extra arg in the
;; interactive spec.
(defun erc-button-click-button (ignore event)
(defun erc-button-click-button (_ignore event)
"Call `erc-button-press-button'."
(interactive "P\ne")
(save-excursion
@ -416,7 +416,7 @@ REGEXP is the regular expression which matched for this button."
;; XEmacs calls this via widget-button-press with a bunch of arguments
;; which we don't care about.
(defun erc-button-press-button (&rest ignore)
(defun erc-button-press-button (&rest _ignore)
"Check text at point for a callback function.
If the text at point has a `erc-callback' property,
call it with the value of the `erc-data' text property."

View file

@ -46,6 +46,8 @@
:group 'erc-notifications
:type '(choice (const :tag "No icon" nil) file))
(defvar dbus-debug) ; used in the macroexpansion of dbus-ignore-errors
(defun erc-notifications-notify (nick msg)
"Notify that NICK send some MSG.
This will replace the last notification sent with this function."

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