mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-05 22:20:24 -08:00
Merge branch 'scratch/no-purespace' into 'master'
This commit is contained in:
commit
bf97946d7d
181 changed files with 2108 additions and 9370 deletions
|
|
@ -31,7 +31,6 @@ Eli Zaretskii
|
||||||
src/msdos.[ch]
|
src/msdos.[ch]
|
||||||
src/dosfns.[ch]
|
src/dosfns.[ch]
|
||||||
src/w16select.c
|
src/w16select.c
|
||||||
src/unexcoff.c
|
|
||||||
lisp/term/internal.el
|
lisp/term/internal.el
|
||||||
lisp/term/pc-win.el
|
lisp/term/pc-win.el
|
||||||
lisp/dos-fns.el
|
lisp/dos-fns.el
|
||||||
|
|
@ -262,7 +261,6 @@ Eli Zaretskii
|
||||||
src/frame.c
|
src/frame.c
|
||||||
src/dired.c
|
src/dired.c
|
||||||
src/fileio.c
|
src/fileio.c
|
||||||
src/unexw32.c
|
|
||||||
src/w32*.[ch]
|
src/w32*.[ch]
|
||||||
src/window.c
|
src/window.c
|
||||||
src/indent.c
|
src/indent.c
|
||||||
|
|
|
||||||
|
|
@ -377,7 +377,6 @@ If REALNAME is nil, ignore that author.")
|
||||||
"nnmaildir\\.el"
|
"nnmaildir\\.el"
|
||||||
"nnil\\.el"
|
"nnil\\.el"
|
||||||
"b2m\\.c"
|
"b2m\\.c"
|
||||||
"unexhp9k800\\.c"
|
|
||||||
"emacsclient\\.1"
|
"emacsclient\\.1"
|
||||||
"check-doc-strings")
|
"check-doc-strings")
|
||||||
"List of regexps matching files for which the FSF doesn't need papers.")
|
"List of regexps matching files for which the FSF doesn't need papers.")
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@ Each entry has the form (FUNCTION . FUNCTIONS-IT-CALLS).")
|
||||||
"indent.c" "search.c" "regex-emacs.c" "undo.c"
|
"indent.c" "search.c" "regex-emacs.c" "undo.c"
|
||||||
"alloc.c" "data.c" "doc.c" "editfns.c"
|
"alloc.c" "data.c" "doc.c" "editfns.c"
|
||||||
"callint.c" "eval.c" "fns.c" "print.c" "lread.c"
|
"callint.c" "eval.c" "fns.c" "print.c" "lread.c"
|
||||||
"syntax.c" "unexcoff.c"
|
"syntax.c"
|
||||||
"bytecode.c" "process.c" "callproc.c" "doprnt.c"
|
"bytecode.c" "process.c" "callproc.c" "doprnt.c"
|
||||||
"xterm.c" "xfns.c"))
|
"xterm.c" "xfns.c"))
|
||||||
|
|
||||||
|
|
|
||||||
281
configure.ac
281
configure.ac
|
|
@ -444,28 +444,13 @@ this option's value should be 'yes' or 'no'.]) ;;
|
||||||
],
|
],
|
||||||
[with_pdumper=auto])
|
[with_pdumper=auto])
|
||||||
|
|
||||||
AC_ARG_WITH([unexec],
|
|
||||||
AS_HELP_STRING(
|
|
||||||
[--with-unexec=VALUE],
|
|
||||||
[enable unexec support unconditionally
|
|
||||||
('yes', 'no', or 'auto': default 'auto')]),
|
|
||||||
[ case "${withval}" in
|
|
||||||
yes|no|auto) val=$withval ;;
|
|
||||||
*) AC_MSG_ERROR(
|
|
||||||
['--with-unexec=$withval' is invalid;
|
|
||||||
this option's value should be 'yes' or 'no'.]) ;;
|
|
||||||
esac
|
|
||||||
with_unexec=$val
|
|
||||||
],
|
|
||||||
[with_unexec=auto])
|
|
||||||
|
|
||||||
AC_ARG_WITH([dumping],[AS_HELP_STRING([--with-dumping=VALUE],
|
AC_ARG_WITH([dumping],[AS_HELP_STRING([--with-dumping=VALUE],
|
||||||
[kind of dumping to use for initial Emacs build
|
[kind of dumping to use for initial Emacs build
|
||||||
(VALUE one of: pdumper, unexec, none; default pdumper)])],
|
(VALUE one of: pdumper, none; default pdumper)])],
|
||||||
[ case "${withval}" in
|
[ case "${withval}" in
|
||||||
pdumper|unexec|none) val=$withval ;;
|
pdumper|none) val=$withval ;;
|
||||||
*) AC_MSG_ERROR(['--with-dumping=$withval is invalid;
|
*) AC_MSG_ERROR(['--with-dumping=$withval is invalid;
|
||||||
this option's value should be 'pdumper', 'unexec', or 'none'.])
|
this option's value should be 'pdumper' or 'none'.])
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
with_dumping=$val
|
with_dumping=$val
|
||||||
|
|
@ -480,22 +465,10 @@ if test "$with_pdumper" = "auto"; then
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$with_unexec" = "auto"; then
|
|
||||||
if test "$with_dumping" = "unexec"; then
|
|
||||||
with_unexec=yes
|
|
||||||
else
|
|
||||||
with_unexec=no
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$with_dumping" = "pdumper" && test "$with_pdumper" = "no"; then
|
if test "$with_dumping" = "pdumper" && test "$with_pdumper" = "no"; then
|
||||||
AC_MSG_ERROR(['--with-dumping=pdumper' requires pdumper support])
|
AC_MSG_ERROR(['--with-dumping=pdumper' requires pdumper support])
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "$with_dumping" = "unexec" && test "$with_unexec" = "no"; then
|
|
||||||
AC_MSG_ERROR(['--with-dumping=unexec' requires unexec support])
|
|
||||||
fi
|
|
||||||
|
|
||||||
if test "$with_pdumper" = "yes"; then
|
if test "$with_pdumper" = "yes"; then
|
||||||
AC_DEFINE([HAVE_PDUMPER], [1],
|
AC_DEFINE([HAVE_PDUMPER], [1],
|
||||||
[Define to build with portable dumper support])
|
[Define to build with portable dumper support])
|
||||||
|
|
@ -2070,10 +2043,6 @@ AC_PATH_PROG([GZIP_PROG], [gzip])
|
||||||
test $with_compress_install != yes && test -n "$GZIP_PROG" && \
|
test $with_compress_install != yes && test -n "$GZIP_PROG" && \
|
||||||
GZIP_PROG=" # $GZIP_PROG # (disabled by configure --without-compress-install)"
|
GZIP_PROG=" # $GZIP_PROG # (disabled by configure --without-compress-install)"
|
||||||
|
|
||||||
if test "$with_dumping" = "unexec" && test "$opsys" = "nacl"; then
|
|
||||||
AC_MSG_ERROR([nacl is not compatible with --with-dumping=unexec])
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_CACHE_CHECK([for 'find' args to delete a file],
|
AC_CACHE_CHECK([for 'find' args to delete a file],
|
||||||
[emacs_cv_find_delete],
|
[emacs_cv_find_delete],
|
||||||
[if touch conftest.tmp && find conftest.tmp -delete 2>/dev/null &&
|
[if touch conftest.tmp && find conftest.tmp -delete 2>/dev/null &&
|
||||||
|
|
@ -2088,48 +2057,6 @@ AC_SUBST([FIND_DELETE])
|
||||||
|
|
||||||
PAXCTL_dumped=
|
PAXCTL_dumped=
|
||||||
PAXCTL_notdumped=
|
PAXCTL_notdumped=
|
||||||
if test $with_unexec = yes && test $opsys = gnu-linux; then
|
|
||||||
if test "${SETFATTR+set}" != set; then
|
|
||||||
AC_CACHE_CHECK([for setfattr],
|
|
||||||
[emacs_cv_prog_setfattr],
|
|
||||||
[touch conftest.tmp
|
|
||||||
if (setfattr -n user.pax.flags conftest.tmp) >/dev/null 2>&1; then
|
|
||||||
emacs_cv_prog_setfattr=yes
|
|
||||||
else
|
|
||||||
emacs_cv_prog_setfattr=no
|
|
||||||
fi])
|
|
||||||
if test "$emacs_cv_prog_setfattr" = yes; then
|
|
||||||
PAXCTL_notdumped='$(SETFATTR) -n user.pax.flags -v er'
|
|
||||||
SETFATTR=setfattr
|
|
||||||
else
|
|
||||||
SETFATTR=
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
case $opsys,$PAXCTL_notdumped,$emacs_uname_r in
|
|
||||||
gnu-linux,,* | netbsd,,[0-7].*)
|
|
||||||
AC_PATH_PROG([PAXCTL], [paxctl], [],
|
|
||||||
[$PATH$PATH_SEPARATOR/sbin$PATH_SEPARATOR/usr/sbin])
|
|
||||||
if test -n "$PAXCTL"; then
|
|
||||||
if test "$opsys" = netbsd; then
|
|
||||||
PAXCTL_dumped='$(PAXCTL) +a'
|
|
||||||
PAXCTL_notdumped=$PAXCTL_dumped
|
|
||||||
else
|
|
||||||
AC_MSG_CHECKING([whether binaries have a PT_PAX_FLAGS header])
|
|
||||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
|
|
||||||
[if $PAXCTL -v conftest$EXEEXT >/dev/null 2>&1; then
|
|
||||||
AC_MSG_RESULT([yes])
|
|
||||||
else
|
|
||||||
AC_MSG_RESULT([no])
|
|
||||||
PAXCTL=
|
|
||||||
fi])
|
|
||||||
if test -n "$PAXCTL"; then
|
|
||||||
PAXCTL_dumped='$(PAXCTL) -zex'
|
|
||||||
PAXCTL_notdumped='$(PAXCTL) -r'
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
fi;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
AC_SUBST([PAXCTL_dumped])
|
AC_SUBST([PAXCTL_dumped])
|
||||||
AC_SUBST([PAXCTL_notdumped])
|
AC_SUBST([PAXCTL_notdumped])
|
||||||
AC_SUBST([SETFATTR])
|
AC_SUBST([SETFATTR])
|
||||||
|
|
@ -2196,37 +2123,6 @@ else
|
||||||
ac_link="$ac_link $NON_GCC_LINK_TEST_OPTIONS"
|
ac_link="$ac_link $NON_GCC_LINK_TEST_OPTIONS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dnl On some platforms using GNU ld, linking temacs needs -znocombreloc.
|
|
||||||
dnl Although this has something to do with dumping, the details are unknown.
|
|
||||||
dnl If the flag is used but not needed,
|
|
||||||
dnl Emacs should still work (albeit a bit more slowly),
|
|
||||||
dnl so use the flag everywhere that it is supported.
|
|
||||||
dnl When testing whether the flag works, treat GCC specially
|
|
||||||
dnl since it just gives a non-fatal 'unrecognized option'
|
|
||||||
dnl if not built to support GNU ld.
|
|
||||||
if test "$GCC" = yes; then
|
|
||||||
LDFLAGS_NOCOMBRELOC="-Wl,-znocombreloc"
|
|
||||||
else
|
|
||||||
LDFLAGS_NOCOMBRELOC="-znocombreloc"
|
|
||||||
fi
|
|
||||||
|
|
||||||
AC_CACHE_CHECK([for -znocombreloc], [emacs_cv_znocombreloc],
|
|
||||||
[if test $with_unexec = no; then
|
|
||||||
emacs_cv_znocombreloc='not needed'
|
|
||||||
else
|
|
||||||
save_LDFLAGS=$LDFLAGS
|
|
||||||
LDFLAGS="$LDFLAGS $LDFLAGS_NOCOMBRELOC"
|
|
||||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])],
|
|
||||||
[emacs_cv_znocombreloc=yes], [emacs_cv_znocombreloc=no])
|
|
||||||
LDFLAGS=$save_LDFLAGS
|
|
||||||
fi])
|
|
||||||
|
|
||||||
case $emacs_cv_znocombreloc in
|
|
||||||
no*)
|
|
||||||
LDFLAGS_NOCOMBRELOC= ;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
|
|
||||||
AC_CACHE_CHECK([whether addresses are sanitized],
|
AC_CACHE_CHECK([whether addresses are sanitized],
|
||||||
[emacs_cv_sanitize_address],
|
[emacs_cv_sanitize_address],
|
||||||
[AC_COMPILE_IFELSE(
|
[AC_COMPILE_IFELSE(
|
||||||
|
|
@ -2242,48 +2138,8 @@ AC_CACHE_CHECK([whether addresses are sanitized],
|
||||||
[emacs_cv_sanitize_address=yes],
|
[emacs_cv_sanitize_address=yes],
|
||||||
[emacs_cv_sanitize_address=no])])
|
[emacs_cv_sanitize_address=no])])
|
||||||
|
|
||||||
if test $with_unexec = yes; then
|
|
||||||
AC_DEFINE([HAVE_UNEXEC], [1], [Define if Emacs supports unexec.])
|
|
||||||
if test "$emacs_cv_sanitize_address" = yes; then
|
|
||||||
AC_MSG_WARN([[Addresses are sanitized; suggest --without-unexec]])
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
UNEXEC_OBJ=
|
|
||||||
test $with_unexec = yes &&
|
|
||||||
case "$opsys" in
|
|
||||||
# MSDOS uses unexcoff.o
|
|
||||||
aix4-2)
|
|
||||||
UNEXEC_OBJ=unexaix.o
|
|
||||||
;;
|
|
||||||
cygwin)
|
|
||||||
UNEXEC_OBJ=unexcw.o
|
|
||||||
;;
|
|
||||||
darwin)
|
|
||||||
UNEXEC_OBJ=unexmacosx.o
|
|
||||||
;;
|
|
||||||
hpux10-20 | hpux11)
|
|
||||||
UNEXEC_OBJ=unexhp9k800.o
|
|
||||||
;;
|
|
||||||
mingw32)
|
|
||||||
UNEXEC_OBJ=unexw32.o
|
|
||||||
;;
|
|
||||||
solaris)
|
|
||||||
# Use the Solaris dldump() function, called from unexsol.c, to dump
|
|
||||||
# emacs, instead of the generic ELF dump code found in unexelf.c.
|
|
||||||
# The resulting binary has a complete symbol table, and is better
|
|
||||||
# for debugging and other observability tools (debuggers, pstack, etc).
|
|
||||||
UNEXEC_OBJ=unexsol.o
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
UNEXEC_OBJ=unexelf.o
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
AC_SUBST([UNEXEC_OBJ])
|
|
||||||
|
|
||||||
LD_SWITCH_SYSTEM=
|
LD_SWITCH_SYSTEM=
|
||||||
test "$with_unexec" = no || case "$opsys" in
|
case "$opsys" in
|
||||||
freebsd|dragonfly)
|
freebsd|dragonfly)
|
||||||
## Let 'ld' find image libs and similar things in /usr/local/lib.
|
## Let 'ld' find image libs and similar things in /usr/local/lib.
|
||||||
## The system compiler, GCC, has apparently been modified to not
|
## The system compiler, GCC, has apparently been modified to not
|
||||||
|
|
@ -2331,22 +2187,6 @@ esac
|
||||||
|
|
||||||
C_SWITCH_MACHINE=
|
C_SWITCH_MACHINE=
|
||||||
|
|
||||||
test $with_unexec = yes &&
|
|
||||||
case $canonical in
|
|
||||||
alpha*)
|
|
||||||
## With ELF, make sure that all common symbols get allocated to in the
|
|
||||||
## data section. Otherwise, the dump of temacs may miss variables in
|
|
||||||
## the shared library that have been initialized. For example, with
|
|
||||||
## GNU libc, __malloc_initialized would normally be resolved to the
|
|
||||||
## shared library's .bss section, which is fatal.
|
|
||||||
if test "x$GCC" = "xyes"; then
|
|
||||||
C_SWITCH_MACHINE="-fno-common"
|
|
||||||
else
|
|
||||||
AC_MSG_ERROR([Non-GCC compilers are not supported.])
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
AC_CACHE_CHECK([for flags to work around GCC bug 58416],
|
AC_CACHE_CHECK([for flags to work around GCC bug 58416],
|
||||||
[emacs_cv_gcc_bug_58416_CFLAGS],
|
[emacs_cv_gcc_bug_58416_CFLAGS],
|
||||||
[emacs_cv_gcc_bug_58416_CFLAGS='none needed'
|
[emacs_cv_gcc_bug_58416_CFLAGS='none needed'
|
||||||
|
|
@ -3158,7 +2998,6 @@ if test "${opsys}" = "mingw32"; then
|
||||||
HAVE_W32=${emacs_cv_w32api}
|
HAVE_W32=${emacs_cv_w32api}
|
||||||
fi
|
fi
|
||||||
|
|
||||||
FIRSTFILE_OBJ=
|
|
||||||
NTDIR=
|
NTDIR=
|
||||||
LIBS_ECLIENT=
|
LIBS_ECLIENT=
|
||||||
LIB_WSOCK32=
|
LIB_WSOCK32=
|
||||||
|
|
@ -3206,7 +3045,6 @@ if test "${HAVE_W32}" = "yes"; then
|
||||||
W32_RES_LINK="\$(EMACSRES)"
|
W32_RES_LINK="\$(EMACSRES)"
|
||||||
CLIENTRES="emacsclient.res"
|
CLIENTRES="emacsclient.res"
|
||||||
CLIENTW="emacsclientw\$(EXEEXT)"
|
CLIENTW="emacsclientw\$(EXEEXT)"
|
||||||
FIRSTFILE_OBJ=firstfile.o
|
|
||||||
NTDIR=nt
|
NTDIR=nt
|
||||||
CM_OBJ=
|
CM_OBJ=
|
||||||
LIBS_ECLIENT="-lcomctl32"
|
LIBS_ECLIENT="-lcomctl32"
|
||||||
|
|
@ -3228,7 +3066,6 @@ AC_SUBST([EMACS_MANIFEST])
|
||||||
AC_SUBST([CLIENTRES])
|
AC_SUBST([CLIENTRES])
|
||||||
AC_SUBST([CLIENTW])
|
AC_SUBST([CLIENTW])
|
||||||
AC_SUBST([W32_RES_LINK])
|
AC_SUBST([W32_RES_LINK])
|
||||||
AC_SUBST([FIRSTFILE_OBJ])
|
|
||||||
AC_SUBST([NTDIR])
|
AC_SUBST([NTDIR])
|
||||||
AC_SUBST([CM_OBJ])
|
AC_SUBST([CM_OBJ])
|
||||||
AC_SUBST([LIBS_ECLIENT])
|
AC_SUBST([LIBS_ECLIENT])
|
||||||
|
|
@ -3366,36 +3203,18 @@ AC_CACHE_CHECK(
|
||||||
[AC_LANG_PROGRAM(
|
[AC_LANG_PROGRAM(
|
||||||
[[#include <malloc.h>
|
[[#include <malloc.h>
|
||||||
static void hook (void) {}]],
|
static void hook (void) {}]],
|
||||||
[[malloc_set_state (malloc_get_state ());
|
[[__after_morecore_hook = hook;
|
||||||
__after_morecore_hook = hook;
|
|
||||||
__malloc_initialize_hook = hook;]])],
|
__malloc_initialize_hook = hook;]])],
|
||||||
[emacs_cv_var_doug_lea_malloc=yes])
|
[emacs_cv_var_doug_lea_malloc=yes])
|
||||||
fi])
|
fi])
|
||||||
doug_lea_malloc=$emacs_cv_var_doug_lea_malloc
|
doug_lea_malloc=$emacs_cv_var_doug_lea_malloc
|
||||||
|
|
||||||
hybrid_malloc=
|
|
||||||
system_malloc=yes
|
system_malloc=yes
|
||||||
|
|
||||||
dnl This must be before the test of $ac_cv_func_sbrk below.
|
dnl This must be before the test of $ac_cv_func_sbrk below.
|
||||||
AC_CHECK_FUNCS_ONCE([sbrk])
|
AC_CHECK_FUNCS_ONCE([sbrk])
|
||||||
|
|
||||||
test $with_unexec = yes &&
|
|
||||||
case "$opsys" in
|
|
||||||
## darwin ld insists on the use of malloc routines in the System framework.
|
|
||||||
darwin | mingw32 | nacl | solaris) ;;
|
|
||||||
cygwin | qnxnto | freebsd)
|
|
||||||
hybrid_malloc=yes
|
|
||||||
system_malloc= ;;
|
|
||||||
*) test "$ac_cv_func_sbrk" = yes && system_malloc=$emacs_cv_sanitize_address;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if test "${system_malloc}" != yes && test "${doug_lea_malloc}" != yes \
|
|
||||||
&& test "${UNEXEC_OBJ}" = unexelf.o; then
|
|
||||||
hybrid_malloc=yes
|
|
||||||
fi
|
|
||||||
|
|
||||||
GMALLOC_OBJ=
|
GMALLOC_OBJ=
|
||||||
HYBRID_MALLOC=
|
|
||||||
if test "${system_malloc}" = "yes"; then
|
if test "${system_malloc}" = "yes"; then
|
||||||
AC_DEFINE([SYSTEM_MALLOC], [1],
|
AC_DEFINE([SYSTEM_MALLOC], [1],
|
||||||
[Define to 1 to use the system memory allocator, even if it is not
|
[Define to 1 to use the system memory allocator, even if it is not
|
||||||
|
|
@ -3404,14 +3223,6 @@ if test "${system_malloc}" = "yes"; then
|
||||||
GNU_MALLOC_reason="
|
GNU_MALLOC_reason="
|
||||||
(The GNU allocators don't work with this system configuration.)"
|
(The GNU allocators don't work with this system configuration.)"
|
||||||
VMLIMIT_OBJ=
|
VMLIMIT_OBJ=
|
||||||
elif test "$hybrid_malloc" = yes; then
|
|
||||||
AC_DEFINE([HYBRID_MALLOC], [1],
|
|
||||||
[Define to use gmalloc before dumping and the system malloc after.])
|
|
||||||
HYBRID_MALLOC=1
|
|
||||||
GNU_MALLOC=no
|
|
||||||
GNU_MALLOC_reason=" (only before dumping)"
|
|
||||||
GMALLOC_OBJ=gmalloc.o
|
|
||||||
VMLIMIT_OBJ=
|
|
||||||
else
|
else
|
||||||
test "$doug_lea_malloc" != "yes" && GMALLOC_OBJ=gmalloc.o
|
test "$doug_lea_malloc" != "yes" && GMALLOC_OBJ=gmalloc.o
|
||||||
VMLIMIT_OBJ=vm-limit.o
|
VMLIMIT_OBJ=vm-limit.o
|
||||||
|
|
@ -3430,18 +3241,17 @@ else
|
||||||
of the main data segment.])
|
of the main data segment.])
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
AC_SUBST([HYBRID_MALLOC])
|
|
||||||
AC_SUBST([GMALLOC_OBJ])
|
AC_SUBST([GMALLOC_OBJ])
|
||||||
AC_SUBST([VMLIMIT_OBJ])
|
AC_SUBST([VMLIMIT_OBJ])
|
||||||
|
|
||||||
if test "$doug_lea_malloc" = "yes" && test "$hybrid_malloc" != yes; then
|
if test "$doug_lea_malloc" = "yes"; then
|
||||||
if test "$GNU_MALLOC" = yes ; then
|
if test "$GNU_MALLOC" = yes ; then
|
||||||
GNU_MALLOC_reason="
|
GNU_MALLOC_reason="
|
||||||
(Using Doug Lea's new malloc from the GNU C Library.)"
|
(Using Doug Lea's new malloc from the GNU C Library.)"
|
||||||
fi
|
fi
|
||||||
AC_DEFINE([DOUG_LEA_MALLOC], [1],
|
AC_DEFINE([DOUG_LEA_MALLOC], [1],
|
||||||
[Define to 1 if the system memory allocator is Doug Lea style,
|
[Define to 1 if the system memory allocator is Doug Lea style,
|
||||||
with malloc hooks and malloc_set_state.])
|
with malloc hooks.])
|
||||||
|
|
||||||
## Use mmap directly for allocating larger buffers.
|
## Use mmap directly for allocating larger buffers.
|
||||||
## FIXME this comes from src/s/{gnu,gnu-linux}.h:
|
## FIXME this comes from src/s/{gnu,gnu-linux}.h:
|
||||||
|
|
@ -3496,8 +3306,7 @@ if test "$ac_cv_header_pthread_h" && test "$opsys" != "mingw32"; then
|
||||||
status += pthread_create (&th, 0, 0, 0);
|
status += pthread_create (&th, 0, 0, 0);
|
||||||
status += pthread_sigmask (SIG_BLOCK, &new_mask, &old_mask);
|
status += pthread_sigmask (SIG_BLOCK, &new_mask, &old_mask);
|
||||||
status += pthread_kill (th, 0);
|
status += pthread_kill (th, 0);
|
||||||
#if ! (defined SYSTEM_MALLOC || defined HYBRID_MALLOC \
|
#if ! (defined SYSTEM_MALLOC || defined DOUG_LEA_MALLOC)
|
||||||
|| defined DOUG_LEA_MALLOC)
|
|
||||||
/* Test for pthread_atfork only if gmalloc uses it,
|
/* Test for pthread_atfork only if gmalloc uses it,
|
||||||
as older-style hosts like MirBSD 10 lack it. */
|
as older-style hosts like MirBSD 10 lack it. */
|
||||||
status += pthread_atfork (noop, noop, noop);
|
status += pthread_atfork (noop, noop, noop);
|
||||||
|
|
@ -5284,15 +5093,9 @@ if test "${with_native_compilation}" = "default"; then
|
||||||
# Check if libgccjit really works.
|
# Check if libgccjit really works.
|
||||||
AC_RUN_IFELSE([libgccjit_smoke_test], [], [libgccjit_broken])
|
AC_RUN_IFELSE([libgccjit_smoke_test], [], [libgccjit_broken])
|
||||||
fi
|
fi
|
||||||
if test "$with_unexec" = yes; then
|
|
||||||
with_native_compilation=no
|
|
||||||
fi
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if test "${with_native_compilation}" != "no"; then
|
if test "${with_native_compilation}" != "no"; then
|
||||||
if test "$with_unexec" = yes; then
|
|
||||||
AC_MSG_ERROR(['--with-native-compilation' is not compatible with unexec])
|
|
||||||
fi
|
|
||||||
if test "${HAVE_ZLIB}" = no; then
|
if test "${HAVE_ZLIB}" = no; then
|
||||||
AC_MSG_ERROR(['--with-native-compilation' requires zlib])
|
AC_MSG_ERROR(['--with-native-compilation' requires zlib])
|
||||||
fi
|
fi
|
||||||
|
|
@ -6106,19 +5909,6 @@ dnl No need to check for posix_memalign if aligned_alloc works.
|
||||||
AC_CHECK_FUNCS([aligned_alloc posix_memalign], [break])
|
AC_CHECK_FUNCS([aligned_alloc posix_memalign], [break])
|
||||||
AC_CHECK_DECLS([aligned_alloc], [], [], [[#include <stdlib.h>]])
|
AC_CHECK_DECLS([aligned_alloc], [], [], [[#include <stdlib.h>]])
|
||||||
|
|
||||||
case $with_unexec,$canonical in
|
|
||||||
yes,alpha*)
|
|
||||||
AC_CHECK_DECL([__ELF__], [],
|
|
||||||
[AC_MSG_ERROR([Non-ELF systems are not supported on this platform.])]);;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if test "$with_unexec" = yes && test "$opsys" = "haiku"; then
|
|
||||||
dnl A serious attempt was actually made to port unexec to Haiku.
|
|
||||||
dnl Something in libstdc++ seems to prevent it from working.
|
|
||||||
AC_MSG_ERROR([Haiku is not supported by the legacy unexec dumper.
|
|
||||||
Please use the portable dumper instead.])
|
|
||||||
fi
|
|
||||||
|
|
||||||
# Dump loading. Android lacks posix_madvise.
|
# Dump loading. Android lacks posix_madvise.
|
||||||
AC_CHECK_FUNCS([posix_madvise madvise])
|
AC_CHECK_FUNCS([posix_madvise madvise])
|
||||||
|
|
||||||
|
|
@ -7434,21 +7224,10 @@ AC_SUBST([RALLOC_OBJ])
|
||||||
|
|
||||||
if test "$opsys" = "cygwin"; then
|
if test "$opsys" = "cygwin"; then
|
||||||
CYGWIN_OBJ="cygw32.o"
|
CYGWIN_OBJ="cygw32.o"
|
||||||
## Cygwin differs because of its unexec().
|
|
||||||
PRE_ALLOC_OBJ=
|
|
||||||
POST_ALLOC_OBJ=lastfile.o
|
|
||||||
elif test "$opsys" = "mingw32"; then
|
|
||||||
CYGWIN_OBJ=
|
|
||||||
PRE_ALLOC_OBJ=
|
|
||||||
POST_ALLOC_OBJ=lastfile.o
|
|
||||||
else
|
else
|
||||||
CYGWIN_OBJ=
|
CYGWIN_OBJ=
|
||||||
PRE_ALLOC_OBJ=lastfile.o
|
|
||||||
POST_ALLOC_OBJ=
|
|
||||||
fi
|
fi
|
||||||
AC_SUBST([CYGWIN_OBJ])
|
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 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 verbatim defined above. The tricky name is apropos, as this hack
|
||||||
|
|
@ -7564,9 +7343,6 @@ case "$opsys" in
|
||||||
## about 14 to about 34. Setting it high gets us plenty of slop and
|
## about 14 to about 34. Setting it high gets us plenty of slop and
|
||||||
## only costs about 1.5K of wasted binary space.
|
## only costs about 1.5K of wasted binary space.
|
||||||
headerpad_extra=1000
|
headerpad_extra=1000
|
||||||
if test "$with_unexec" = yes; then
|
|
||||||
LD_SWITCH_SYSTEM_TEMACS="-fno-pie $LD_SWITCH_SYSTEM_TEMACS -Xlinker -headerpad -Xlinker $headerpad_extra"
|
|
||||||
fi
|
|
||||||
|
|
||||||
## This is here because src/Makefile.in did some extra fiddling around
|
## This is here because src/Makefile.in did some extra fiddling around
|
||||||
## with LD_SWITCH_SYSTEM. It seems cleaner to put this in
|
## with LD_SWITCH_SYSTEM. It seems cleaner to put this in
|
||||||
|
|
@ -7592,49 +7368,11 @@ case "$opsys" in
|
||||||
x86_64-*-*) LD_SWITCH_SYSTEM_TEMACS="-Wl,-stack,0x00800000 -Wl,-heap,0x00100000 -Wl,-image-base,0x400000000 -Wl,-entry,__start -Wl,-Map,./temacs.map" ;;
|
x86_64-*-*) LD_SWITCH_SYSTEM_TEMACS="-Wl,-stack,0x00800000 -Wl,-heap,0x00100000 -Wl,-image-base,0x400000000 -Wl,-entry,__start -Wl,-Map,./temacs.map" ;;
|
||||||
*) LD_SWITCH_SYSTEM_TEMACS="-Wl,-stack,0x00800000 -Wl,-heap,0x00100000 -Wl,-image-base,0x01000000 -Wl,-entry,__start -Wl,-Map,./temacs.map" ;;
|
*) LD_SWITCH_SYSTEM_TEMACS="-Wl,-stack,0x00800000 -Wl,-heap,0x00100000 -Wl,-image-base,0x01000000 -Wl,-entry,__start -Wl,-Map,./temacs.map" ;;
|
||||||
esac
|
esac
|
||||||
## If they want unexec, disable Windows ASLR for the Emacs binary
|
|
||||||
if test "$with_dumping" = "unexec"; then
|
|
||||||
case "$canonical" in
|
|
||||||
x86_64-*-*) LD_SWITCH_SYSTEM_TEMACS="$LD_SWITCH_SYSTEM_TEMACS -Wl,-disable-dynamicbase -Wl,-disable-high-entropy-va -Wl,-default-image-base-low" ;;
|
|
||||||
*) LD_SWITCH_SYSTEM_TEMACS="$LD_SWITCH_SYSTEM_TEMACS -Wl,-disable-dynamicbase" ;;
|
|
||||||
esac
|
|
||||||
fi
|
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*) LD_SWITCH_SYSTEM_TEMACS= ;;
|
*) LD_SWITCH_SYSTEM_TEMACS= ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
# -no-pie or -nopie fixes a temacs segfault on Gentoo, OpenBSD,
|
|
||||||
# Ubuntu, and other systems with "hardened" GCC configurations for
|
|
||||||
# some reason (Bug#18784). We don't know why this works, but not
|
|
||||||
# segfaulting is better than segfaulting. Use ac_c_werror_flag=yes
|
|
||||||
# when trying the option, otherwise clang keeps warning that it does
|
|
||||||
# not understand it, and pre-4.6 GCC has a similar problem
|
|
||||||
# (Bug#20338). Prefer -no-pie to -nopie, as -no-pie is the
|
|
||||||
# spelling used by GCC 6.1.0 and later (Bug#24682).
|
|
||||||
AC_CACHE_CHECK(
|
|
||||||
[for $CC option to disable position independent executables],
|
|
||||||
[emacs_cv_prog_cc_no_pie],
|
|
||||||
[if test $with_unexec = no; then
|
|
||||||
emacs_cv_prog_cc_no_pie='not needed'
|
|
||||||
else
|
|
||||||
emacs_save_c_werror_flag=$ac_c_werror_flag
|
|
||||||
emacs_save_LDFLAGS=$LDFLAGS
|
|
||||||
ac_c_werror_flag=yes
|
|
||||||
for emacs_cv_prog_cc_no_pie in -no-pie -nopie no; do
|
|
||||||
test $emacs_cv_prog_cc_no_pie = no && break
|
|
||||||
LDFLAGS="$emacs_save_LDFLAGS $emacs_cv_prog_cc_no_pie"
|
|
||||||
AC_LINK_IFELSE([AC_LANG_PROGRAM([], [])], [break])
|
|
||||||
done
|
|
||||||
ac_c_werror_flag=$emacs_save_c_werror_flag
|
|
||||||
LDFLAGS=$emacs_save_LDFLAGS
|
|
||||||
fi])
|
|
||||||
case $emacs_cv_prog_cc_no_pie in
|
|
||||||
-*)
|
|
||||||
LD_SWITCH_SYSTEM_TEMACS="$LD_SWITCH_SYSTEM_TEMACS $emacs_cv_prog_cc_no_pie"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
if test x$ac_enable_profiling != x ; then
|
if test x$ac_enable_profiling != x ; then
|
||||||
case $opsys in
|
case $opsys in
|
||||||
*freebsd | gnu-linux) ;;
|
*freebsd | gnu-linux) ;;
|
||||||
|
|
@ -7748,7 +7486,7 @@ for opt in ACL BE_APP CAIRO DBUS FREETYPE GCONF GIF GLIB GMP GNUTLS GPM GSETTING
|
||||||
|
|
||||||
case $opt in
|
case $opt in
|
||||||
PDUMPER) val=${with_pdumper} ;;
|
PDUMPER) val=${with_pdumper} ;;
|
||||||
UNEXEC) val=${with_unexec} ;;
|
UNEXEC) val=no ;;
|
||||||
GLIB) val=${emacs_cv_links_glib} ;;
|
GLIB) val=${emacs_cv_links_glib} ;;
|
||||||
NOTIFY|ACL) eval val=\${${opt}_SUMMARY} ;;
|
NOTIFY|ACL) eval val=\${${opt}_SUMMARY} ;;
|
||||||
TOOLKIT_SCROLL_BARS|X_TOOLKIT) eval val=\${USE_$opt} ;;
|
TOOLKIT_SCROLL_BARS|X_TOOLKIT) eval val=\${USE_$opt} ;;
|
||||||
|
|
@ -7824,7 +7562,6 @@ AS_ECHO([" Does Emacs use -lXaw3d? ${HAVE_XAW3D
|
||||||
Does Emacs support Xwidgets? ${HAVE_XWIDGETS}
|
Does Emacs support Xwidgets? ${HAVE_XWIDGETS}
|
||||||
Does Emacs have threading support in lisp? ${threads_enabled}
|
Does Emacs have threading support in lisp? ${threads_enabled}
|
||||||
Does Emacs support the portable dumper? ${with_pdumper}
|
Does Emacs support the portable dumper? ${with_pdumper}
|
||||||
Does Emacs support legacy unexec dumping? ${with_unexec}
|
|
||||||
Which dumping strategy does Emacs use? ${with_dumping}
|
Which dumping strategy does Emacs use? ${with_dumping}
|
||||||
Does Emacs have native lisp compiler? ${HAVE_NATIVE_COMP}
|
Does Emacs have native lisp compiler? ${HAVE_NATIVE_COMP}
|
||||||
Does Emacs use version 2 of the X Input Extension? ${HAVE_XINPUT2}
|
Does Emacs use version 2 of the X Input Extension? ${HAVE_XINPUT2}
|
||||||
|
|
|
||||||
|
|
@ -1657,7 +1657,6 @@ Tips and Conventions
|
||||||
GNU Emacs Internals
|
GNU Emacs Internals
|
||||||
|
|
||||||
* Building Emacs:: How the dumped Emacs is made.
|
* Building Emacs:: How the dumped Emacs is made.
|
||||||
* Pure Storage:: Kludge to make preloaded Lisp functions shareable.
|
|
||||||
* Garbage Collection:: Reclaiming space for Lisp objects no longer used.
|
* Garbage Collection:: Reclaiming space for Lisp objects no longer used.
|
||||||
* Stack-allocated Objects:: Temporary conses and strings on C stack.
|
* Stack-allocated Objects:: Temporary conses and strings on C stack.
|
||||||
* Memory Usage:: Info about total size of Lisp objects made so far.
|
* Memory Usage:: Info about total size of Lisp objects made so far.
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,6 @@ internal aspects of GNU Emacs that may be of interest to C programmers.
|
||||||
|
|
||||||
@menu
|
@menu
|
||||||
* Building Emacs:: How the dumped Emacs is made.
|
* Building Emacs:: How the dumped Emacs is made.
|
||||||
* Pure Storage:: Kludge to make preloaded Lisp functions shareable.
|
|
||||||
* Garbage Collection:: Reclaiming space for Lisp objects no longer used.
|
* Garbage Collection:: Reclaiming space for Lisp objects no longer used.
|
||||||
* Stack-allocated Objects:: Temporary conses and strings on C stack.
|
* Stack-allocated Objects:: Temporary conses and strings on C stack.
|
||||||
* Memory Usage:: Info about total size of Lisp objects made so far.
|
* Memory Usage:: Info about total size of Lisp objects made so far.
|
||||||
|
|
@ -77,23 +76,6 @@ Like @samp{pdump}, but used while @dfn{bootstrapping} Emacs, when no
|
||||||
previous Emacs binary and no @file{*.elc} byte-compiled Lisp files are
|
previous Emacs binary and no @file{*.elc} byte-compiled Lisp files are
|
||||||
available. The produced dump file is usually named
|
available. The produced dump file is usually named
|
||||||
@file{bootstrap-emacs.pdmp} in this case.
|
@file{bootstrap-emacs.pdmp} in this case.
|
||||||
|
|
||||||
@item dump
|
|
||||||
@cindex unexec
|
|
||||||
This method causes @command{temacs} to dump out an executable program,
|
|
||||||
called @file{emacs}, which has all the standard Lisp files already
|
|
||||||
preloaded into it. (The @samp{-batch} argument prevents
|
|
||||||
@command{temacs} from trying to initialize any of its data on the
|
|
||||||
terminal, so that the tables of terminal information are empty in the
|
|
||||||
dumped Emacs.) This method is also known as @dfn{unexec}, because it
|
|
||||||
produces a program file from a running process, and thus is in some
|
|
||||||
sense the opposite of executing a program to start a process.
|
|
||||||
Although this method was the way that Emacs traditionally saved its
|
|
||||||
state, it is now deprecated.
|
|
||||||
|
|
||||||
@item bootstrap
|
|
||||||
Like @samp{dump}, but used when bootstrapping Emacs with the
|
|
||||||
@code{unexec} method.
|
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
@cindex preloaded Lisp files
|
@cindex preloaded Lisp files
|
||||||
|
|
@ -120,19 +102,9 @@ Emacs.
|
||||||
|
|
||||||
@cindex @file{site-load.el}
|
@cindex @file{site-load.el}
|
||||||
You can specify additional files to preload by writing a library named
|
You can specify additional files to preload by writing a library named
|
||||||
@file{site-load.el} that loads them. You may need to rebuild Emacs
|
@file{site-load.el} that loads them. However, the advantage of
|
||||||
with an added definition
|
preloading additional files decreases as machines get faster. On modern
|
||||||
|
machines, it is usually not advisable.
|
||||||
@example
|
|
||||||
#define SITELOAD_PURESIZE_EXTRA @var{n}
|
|
||||||
@end example
|
|
||||||
|
|
||||||
@noindent
|
|
||||||
to make @var{n} added bytes of pure space to hold the additional files;
|
|
||||||
see @file{src/puresize.h}.
|
|
||||||
(Try adding increments of 20000 until it is big enough.) However, the
|
|
||||||
advantage of preloading additional files decreases as machines get
|
|
||||||
faster. On modern machines, it is usually not advisable.
|
|
||||||
|
|
||||||
After @file{loadup.el} reads @file{site-load.el}, it finds the
|
After @file{loadup.el} reads @file{site-load.el}, it finds the
|
||||||
documentation strings for primitive and preloaded functions (and
|
documentation strings for primitive and preloaded functions (and
|
||||||
|
|
@ -228,17 +200,6 @@ that problem, you can put functions on the
|
||||||
Emacs.
|
Emacs.
|
||||||
@end defun
|
@end defun
|
||||||
|
|
||||||
@defun dump-emacs to-file from-file
|
|
||||||
@cindex unexec
|
|
||||||
This function dumps the current state of Emacs into an executable file
|
|
||||||
@var{to-file}, using the @code{unexec} method. It takes symbols from
|
|
||||||
@var{from-file} (this is normally the executable file @file{temacs}).
|
|
||||||
|
|
||||||
This function cannot be used in an Emacs that was already dumped.
|
|
||||||
This function is deprecated, and by default Emacs is built without
|
|
||||||
@code{unexec} support so this function is not available.
|
|
||||||
@end defun
|
|
||||||
|
|
||||||
@defun pdumper-stats
|
@defun pdumper-stats
|
||||||
If the current Emacs session restored its state from a dump
|
If the current Emacs session restored its state from a dump
|
||||||
file, this function returns information about the dump file and the
|
file, this function returns information about the dump file and the
|
||||||
|
|
@ -251,71 +212,6 @@ If the current session was not restored from a dump file, the
|
||||||
value is @code{nil}.
|
value is @code{nil}.
|
||||||
@end defun
|
@end defun
|
||||||
|
|
||||||
@node Pure Storage
|
|
||||||
@section Pure Storage
|
|
||||||
@cindex pure storage
|
|
||||||
|
|
||||||
Emacs Lisp uses two kinds of storage for user-created Lisp objects:
|
|
||||||
@dfn{normal storage} and @dfn{pure storage}. Normal storage is where
|
|
||||||
all the new data created during an Emacs session are kept
|
|
||||||
(@pxref{Garbage Collection}). Pure storage is used for certain data
|
|
||||||
in the preloaded standard Lisp files---data that should never change
|
|
||||||
during actual use of Emacs.
|
|
||||||
|
|
||||||
Pure storage is allocated only while @command{temacs} is loading the
|
|
||||||
standard preloaded Lisp libraries. In the file @file{emacs}, it is
|
|
||||||
marked as read-only (on operating systems that permit this), so that
|
|
||||||
the memory space can be shared by all the Emacs jobs running on the
|
|
||||||
machine at once. Pure storage is not expandable; a fixed amount is
|
|
||||||
allocated when Emacs is compiled, and if that is not sufficient for
|
|
||||||
the preloaded libraries, @file{temacs} allocates dynamic memory for
|
|
||||||
the part that didn't fit. If Emacs will be dumped using the
|
|
||||||
@code{pdump} method (@pxref{Building Emacs}), the pure-space overflow
|
|
||||||
is of no special importance (it just means some of the preloaded stuff
|
|
||||||
cannot be shared with other Emacs jobs). However, if Emacs will be
|
|
||||||
dumped using the now obsolete @code{unexec} method, the resulting
|
|
||||||
image will work, but garbage collection (@pxref{Garbage Collection})
|
|
||||||
is disabled in this situation, causing a memory leak. Such an
|
|
||||||
overflow normally won't happen unless you try to preload additional
|
|
||||||
libraries or add features to the standard ones. Emacs will display a
|
|
||||||
warning about the overflow when it starts, if it was dumped using
|
|
||||||
@code{unexec}. If this happens, you should increase the compilation
|
|
||||||
parameter @code{SYSTEM_PURESIZE_EXTRA} in the file
|
|
||||||
@file{src/puresize.h} and rebuild Emacs.
|
|
||||||
|
|
||||||
@defun purecopy object
|
|
||||||
This function makes a copy in pure storage of @var{object}, and returns
|
|
||||||
it. It copies a string by simply making a new string with the same
|
|
||||||
characters, but without text properties, in pure storage. It
|
|
||||||
recursively copies the contents of vectors and cons cells. It does
|
|
||||||
not make copies of other objects such as symbols, but just returns
|
|
||||||
them unchanged. It signals an error if asked to copy markers.
|
|
||||||
|
|
||||||
This function is a no-op except while Emacs is being built and dumped;
|
|
||||||
it is usually called only in preloaded Lisp files.
|
|
||||||
@end defun
|
|
||||||
|
|
||||||
@defvar pure-bytes-used
|
|
||||||
The value of this variable is the number of bytes of pure storage
|
|
||||||
allocated so far. Typically, in a dumped Emacs, this number is very
|
|
||||||
close to the total amount of pure storage available---if it were not,
|
|
||||||
we would preallocate less.
|
|
||||||
@end defvar
|
|
||||||
|
|
||||||
@defvar purify-flag
|
|
||||||
This variable determines whether @code{defun} should make a copy of the
|
|
||||||
function definition in pure storage. If it is non-@code{nil}, then the
|
|
||||||
function definition is copied into pure storage.
|
|
||||||
|
|
||||||
This flag is @code{t} while loading all of the basic functions for
|
|
||||||
building Emacs initially (allowing those functions to be shareable and
|
|
||||||
non-collectible). Dumping Emacs as an executable always writes
|
|
||||||
@code{nil} in this variable, regardless of the value it actually has
|
|
||||||
before and after dumping.
|
|
||||||
|
|
||||||
You should not change this flag in a running Emacs.
|
|
||||||
@end defvar
|
|
||||||
|
|
||||||
@node Garbage Collection
|
@node Garbage Collection
|
||||||
@section Garbage Collection
|
@section Garbage Collection
|
||||||
|
|
||||||
|
|
@ -526,12 +422,6 @@ Total heap size, in @var{unit-size} units.
|
||||||
@item free-size
|
@item free-size
|
||||||
Heap space which is not currently used, in @var{unit-size} units.
|
Heap space which is not currently used, in @var{unit-size} units.
|
||||||
@end table
|
@end table
|
||||||
|
|
||||||
If there was overflow in pure space (@pxref{Pure Storage}), and Emacs
|
|
||||||
was dumped using the (now obsolete) @code{unexec} method
|
|
||||||
(@pxref{Building Emacs}), then @code{garbage-collect} returns
|
|
||||||
@code{nil}, because a real garbage collection cannot be done in that
|
|
||||||
case.
|
|
||||||
@end deffn
|
@end deffn
|
||||||
|
|
||||||
@defopt garbage-collection-messages
|
@defopt garbage-collection-messages
|
||||||
|
|
@ -967,7 +857,6 @@ improves user experience.
|
||||||
the variables are never written once Emacs is dumped. These variables
|
the variables are never written once Emacs is dumped. These variables
|
||||||
with initializers are allocated in an area of memory that becomes
|
with initializers are allocated in an area of memory that becomes
|
||||||
read-only (on certain operating systems) as a result of dumping Emacs.
|
read-only (on certain operating systems) as a result of dumping Emacs.
|
||||||
@xref{Pure Storage}.
|
|
||||||
|
|
||||||
@cindex @code{defsubr}, Lisp symbol for a primitive
|
@cindex @code{defsubr}, Lisp symbol for a primitive
|
||||||
Defining the C function is not enough to make a Lisp primitive
|
Defining the C function is not enough to make a Lisp primitive
|
||||||
|
|
|
||||||
|
|
@ -3058,7 +3058,7 @@ By default, the global map binds @code{[tool-bar]} as follows:
|
||||||
|
|
||||||
@example
|
@example
|
||||||
(keymap-global-set "<tool-bar>"
|
(keymap-global-set "<tool-bar>"
|
||||||
`(menu-item ,(purecopy "tool bar") ignore
|
'(menu-item "tool bar" ignore
|
||||||
:filter tool-bar-make-keymap))
|
:filter tool-bar-make-keymap))
|
||||||
@end example
|
@end example
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -590,10 +590,10 @@ displays the startup messages.
|
||||||
The value of this variable is @code{t} once the command line has been
|
The value of this variable is @code{t} once the command line has been
|
||||||
processed.
|
processed.
|
||||||
|
|
||||||
If you redump Emacs by calling @code{dump-emacs} (@pxref{Building
|
If you redump Emacs by calling @code{dump-emacs-portable}
|
||||||
Emacs}), you may wish to set this variable to @code{nil} first in
|
(@pxref{Building Emacs}), you may wish to set this variable to
|
||||||
order to cause the new dumped Emacs to process its new command-line
|
@code{nil} first in order to cause the new dumped Emacs to process its
|
||||||
arguments.
|
new command-line arguments.
|
||||||
@end defvar
|
@end defvar
|
||||||
|
|
||||||
@defvar command-switch-alist
|
@defvar command-switch-alist
|
||||||
|
|
|
||||||
|
|
@ -418,7 +418,6 @@ ps
|
||||||
psf
|
psf
|
||||||
psychotherapy
|
psychotherapy
|
||||||
pty
|
pty
|
||||||
purecopy
|
|
||||||
qu
|
qu
|
||||||
quux
|
quux
|
||||||
rassq
|
rassq
|
||||||
|
|
|
||||||
|
|
@ -606,8 +606,7 @@ If the value is non-@code{nil}, the named function is considered to be
|
||||||
pure (@pxref{What Is a Function}). Calls with constant arguments can
|
pure (@pxref{What Is a Function}). Calls with constant arguments can
|
||||||
be evaluated at compile time. This may shift run time errors to
|
be evaluated at compile time. This may shift run time errors to
|
||||||
compile time. This property is normally added to a function with
|
compile time. This property is normally added to a function with
|
||||||
@code{declare} (@pxref{Declare Form}). Not to be confused with pure
|
@code{declare} (@pxref{Declare Form}).
|
||||||
storage (@pxref{Pure Storage}).
|
|
||||||
|
|
||||||
@item risky-local-variable
|
@item risky-local-variable
|
||||||
If the value is non-@code{nil}, the named variable is considered risky
|
If the value is non-@code{nil}, the named variable is considered risky
|
||||||
|
|
|
||||||
8
etc/NEWS
8
etc/NEWS
|
|
@ -24,6 +24,11 @@ applies, and please also update docstrings as needed.
|
||||||
|
|
||||||
* Installation Changes in Emacs 31.1
|
* Installation Changes in Emacs 31.1
|
||||||
|
|
||||||
|
+++
|
||||||
|
** Unexec dumper removed.
|
||||||
|
The traditional unexec dumper, deprecated since Emacs 27, has been
|
||||||
|
removed.
|
||||||
|
|
||||||
** Changed GCC default options on 32-bit x86 systems.
|
** Changed GCC default options on 32-bit x86 systems.
|
||||||
When using GCC 4 or later to build Emacs on 32-bit x86 systems,
|
When using GCC 4 or later to build Emacs on 32-bit x86 systems,
|
||||||
'configure' now defaults to using the GCC options '-mfpmath=sse' (if the
|
'configure' now defaults to using the GCC options '-mfpmath=sse' (if the
|
||||||
|
|
@ -1062,6 +1067,9 @@ Optional arguments are provided to produce human-readable time-duration
|
||||||
strings in a variety of formats, for example "6 months 3 weeks" or "5m
|
strings in a variety of formats, for example "6 months 3 weeks" or "5m
|
||||||
52.5s".
|
52.5s".
|
||||||
|
|
||||||
|
+++
|
||||||
|
** The function 'purecopy' is now an obsolete alias for 'identity'.
|
||||||
|
|
||||||
** New function 'native-compile-directory'.
|
** New function 'native-compile-directory'.
|
||||||
This function natively-compiles all Lisp files in a directory and in its
|
This function natively-compiles all Lisp files in a directory and in its
|
||||||
sub-directories, recursively, which were not already natively-compiled.
|
sub-directories, recursively, which were not already natively-compiled.
|
||||||
|
|
|
||||||
122
etc/PROBLEMS
122
etc/PROBLEMS
|
|
@ -2952,20 +2952,6 @@ This was observed for Emacs 28.1 on Solaris 10 32-bit sparc, with
|
||||||
Oracle Developer Studio 12.6 (Sun C 5.15). The failure was intermittent,
|
Oracle Developer Studio 12.6 (Sun C 5.15). The failure was intermittent,
|
||||||
and running GNU Make a second time would typically finish the build.
|
and running GNU Make a second time would typically finish the build.
|
||||||
|
|
||||||
*** On Solaris 10, Emacs crashes during the build process.
|
|
||||||
(This applies only with './configure --with-unexec=yes', which is rare.)
|
|
||||||
This was reported for Emacs 25.2 on i386-pc-solaris2.10 with Sun
|
|
||||||
Studio 12 (Sun C 5.9) and with Oracle Developer Studio 12.6 (Sun C
|
|
||||||
5.15), and intermittently for sparc-sun-solaris2.10 with Oracle
|
|
||||||
Developer Studio 12.5 (Sun C 5.14). Disabling compiler optimization
|
|
||||||
seems to fix the bug, as does upgrading the Solaris 10 operating
|
|
||||||
system to Update 11. The cause of the bug is unknown: it may be that
|
|
||||||
Emacs's archaic memory-allocation scheme is not compatible with
|
|
||||||
slightly-older versions of Solaris and/or Oracle Studio, or it may be
|
|
||||||
something else. Since the cause is not known, possibly the bug is
|
|
||||||
still present in newer versions of Emacs, Oracle Studio, and/or
|
|
||||||
Solaris. See Bug#26638.
|
|
||||||
|
|
||||||
*** On Solaris, C-x doesn't get through to Emacs when you use the console.
|
*** On Solaris, C-x doesn't get through to Emacs when you use the console.
|
||||||
|
|
||||||
This is a Solaris feature (at least on Intel x86 cpus). Type C-r
|
This is a Solaris feature (at least on Intel x86 cpus). Type C-r
|
||||||
|
|
@ -4096,96 +4082,6 @@ minimum supported Windows version is 8.1, and the computer hardware
|
||||||
(CPU, memory, disk) should also match the minimum Windows 8.1
|
(CPU, memory, disk) should also match the minimum Windows 8.1
|
||||||
requirements.
|
requirements.
|
||||||
|
|
||||||
*** Segfault during 'make'
|
|
||||||
|
|
||||||
If Emacs segfaults when 'make' executes one of these commands:
|
|
||||||
|
|
||||||
LC_ALL=C ./temacs -batch -l loadup bootstrap
|
|
||||||
LC_ALL=C ./temacs -batch -l loadup dump
|
|
||||||
|
|
||||||
the problem may be due to inadequate workarounds for address space
|
|
||||||
layout randomization (ASLR), an operating system feature that
|
|
||||||
randomizes the virtual address space of a process. ASLR is commonly
|
|
||||||
enabled in Linux and NetBSD kernels, and is intended to deter exploits
|
|
||||||
of pointer-related bugs in applications. If ASLR is enabled, the
|
|
||||||
command:
|
|
||||||
|
|
||||||
cat /proc/sys/kernel/randomize_va_space # GNU/Linux
|
|
||||||
sysctl security.pax.aslr.global # NetBSD
|
|
||||||
|
|
||||||
outputs a nonzero value.
|
|
||||||
|
|
||||||
These segfaults should not occur on most modern systems, because the
|
|
||||||
Emacs build procedure uses the command 'setfattr' or 'paxctl' to mark
|
|
||||||
the Emacs executable as requiring non-randomized address space, and
|
|
||||||
Emacs uses the 'personality' system call to disable address space
|
|
||||||
randomization when dumping. However, older kernels may not support
|
|
||||||
'setfattr', 'paxctl', or 'personality', and newer Linux kernels have a
|
|
||||||
secure computing mode (seccomp) that can be configured to disable the
|
|
||||||
'personality' call.
|
|
||||||
|
|
||||||
It may be possible to work around the 'personality' problem in a newer
|
|
||||||
Linux kernel by configuring seccomp to allow the 'personality' call.
|
|
||||||
For example, if you are building Emacs under Docker, you can run the
|
|
||||||
Docker container with a security profile that allows 'personality' by
|
|
||||||
using Docker's --security-opt option with an appropriate profile; see
|
|
||||||
<https://docs.docker.com/engine/security/seccomp/>.
|
|
||||||
|
|
||||||
To work around the ASLR problem in either an older or a newer kernel,
|
|
||||||
you can temporarily disable the feature while building Emacs. On
|
|
||||||
GNU/Linux you can do so using the following command (as root).
|
|
||||||
|
|
||||||
echo 0 > /proc/sys/kernel/randomize_va_space
|
|
||||||
|
|
||||||
You can re-enable the feature when you are done, by echoing the
|
|
||||||
original value back to the file. NetBSD uses a different command,
|
|
||||||
e.g., 'sysctl -w security.pax.aslr.global=0'.
|
|
||||||
|
|
||||||
Alternatively, you can try using the 'setarch' command when building
|
|
||||||
temacs like this, where -R disables address space randomization:
|
|
||||||
|
|
||||||
setarch $(uname -m) -R make
|
|
||||||
|
|
||||||
ASLR is not the only problem that can break Emacs dumping. Another
|
|
||||||
issue is that in Red Hat Linux kernels, Exec-shield is enabled by
|
|
||||||
default, and this creates a different memory layout. Emacs should
|
|
||||||
handle this at build time, but if this fails the following
|
|
||||||
instructions may be useful. Exec-shield is enabled on your system if
|
|
||||||
|
|
||||||
cat /proc/sys/kernel/exec-shield
|
|
||||||
|
|
||||||
prints a nonzero value. You can temporarily disable it as follows:
|
|
||||||
|
|
||||||
echo 0 > /proc/sys/kernel/exec-shield
|
|
||||||
|
|
||||||
As with randomize_va_space, you can re-enable Exec-shield when you are
|
|
||||||
done, by echoing the original value back to the file.
|
|
||||||
|
|
||||||
*** temacs prints "Pure Lisp storage exhausted".
|
|
||||||
|
|
||||||
This means that the Lisp code loaded from the .elc and .el files during
|
|
||||||
'temacs --batch --load loadup dump' took up more space than was allocated.
|
|
||||||
|
|
||||||
This could be caused by
|
|
||||||
1) adding code to the preloaded Lisp files
|
|
||||||
2) adding more preloaded files in loadup.el
|
|
||||||
3) having a site-init.el or site-load.el which loads files.
|
|
||||||
Note that ANY site-init.el or site-load.el is nonstandard;
|
|
||||||
if you have received Emacs from some other site and it contains a
|
|
||||||
site-init.el or site-load.el file, consider deleting that file.
|
|
||||||
4) getting the wrong .el or .elc files
|
|
||||||
(not from the directory you expected).
|
|
||||||
5) deleting some .elc files that are supposed to exist.
|
|
||||||
This would cause the source files (.el files) to be
|
|
||||||
loaded instead. They take up more room, so you lose.
|
|
||||||
6) a bug in the Emacs distribution which underestimates the space required.
|
|
||||||
|
|
||||||
If the need for more space is legitimate, change the definition
|
|
||||||
of PURESIZE in puresize.h.
|
|
||||||
|
|
||||||
But in some of the cases listed above, this problem is a consequence
|
|
||||||
of something else that is wrong. Be sure to check and fix the real problem.
|
|
||||||
|
|
||||||
*** openSUSE 10.3: Segfault in bcopy during dumping.
|
*** openSUSE 10.3: Segfault in bcopy during dumping.
|
||||||
|
|
||||||
This is due to a bug in the bcopy implementation in openSUSE 10.3.
|
This is due to a bug in the bcopy implementation in openSUSE 10.3.
|
||||||
|
|
@ -4205,13 +4101,6 @@ binary null characters, and the 'file' utility says:
|
||||||
We don't know what exactly causes this failure. A work-around is to
|
We don't know what exactly causes this failure. A work-around is to
|
||||||
build Emacs in a directory on a local disk.
|
build Emacs in a directory on a local disk.
|
||||||
|
|
||||||
*** The dumped Emacs crashes when run, trying to write pure data.
|
|
||||||
|
|
||||||
On a system where getpagesize is not a system call, it is defined
|
|
||||||
as a macro. If the definition (in both unex*.c and malloc.c) is wrong,
|
|
||||||
it can cause problems like this. You might be able to find the correct
|
|
||||||
value in the man page for a.out(5).
|
|
||||||
|
|
||||||
* Problems on legacy systems
|
* Problems on legacy systems
|
||||||
|
|
||||||
This section covers bugs reported on very old hardware or software.
|
This section covers bugs reported on very old hardware or software.
|
||||||
|
|
@ -4340,17 +4229,6 @@ should do.
|
||||||
pen@lysator.liu.se says (Feb 1998) that the Compose key does work
|
pen@lysator.liu.se says (Feb 1998) that the Compose key does work
|
||||||
if you link with the MIT X11 libraries instead of the Solaris X11 libraries.
|
if you link with the MIT X11 libraries instead of the Solaris X11 libraries.
|
||||||
|
|
||||||
** OpenBSD
|
|
||||||
|
|
||||||
*** OpenBSD 4.0 macppc: Segfault during dumping.
|
|
||||||
|
|
||||||
The build aborts with signal 11 when the command './temacs --batch
|
|
||||||
--load loadup bootstrap' tries to load files.el. A workaround seems
|
|
||||||
to be to reduce the level of compiler optimization used during the
|
|
||||||
build (from -O2 to -O1). It is possible this is an OpenBSD
|
|
||||||
GCC problem specific to the macppc architecture, possibly only
|
|
||||||
occurring with older versions of GCC (e.g. 3.3.5).
|
|
||||||
|
|
||||||
** AIX
|
** AIX
|
||||||
|
|
||||||
*** AIX 4.3.x or 4.4: Compiling fails.
|
*** AIX 4.3.x or 4.4: Compiling fails.
|
||||||
|
|
|
||||||
|
|
@ -94,9 +94,8 @@ not_emacs_OBJECTS = regex.o malloc/%.o free.o
|
||||||
libgnu_a_OBJECTS = fingerprint.o $(gl_LIBOBJS) \
|
libgnu_a_OBJECTS = fingerprint.o $(gl_LIBOBJS) \
|
||||||
$(patsubst %.c,%.o,$(filter %.c,$(libgnu_a_SOURCES)))
|
$(patsubst %.c,%.o,$(filter %.c,$(libgnu_a_SOURCES)))
|
||||||
for_emacs_OBJECTS = $(filter-out $(not_emacs_OBJECTS),$(libgnu_a_OBJECTS))
|
for_emacs_OBJECTS = $(filter-out $(not_emacs_OBJECTS),$(libgnu_a_OBJECTS))
|
||||||
libegnu_a_OBJECTS = $(patsubst %.o,e-%.o,$(for_emacs_OBJECTS))
|
|
||||||
|
|
||||||
$(libegnu_a_OBJECTS) $(libgnu_a_OBJECTS): $(BUILT_SOURCES)
|
$(libgnu_a_OBJECTS): $(BUILT_SOURCES)
|
||||||
|
|
||||||
.SUFFIXES: .c
|
.SUFFIXES: .c
|
||||||
.c.o:
|
.c.o:
|
||||||
|
|
@ -104,18 +103,13 @@ $(libegnu_a_OBJECTS) $(libgnu_a_OBJECTS): $(BUILT_SOURCES)
|
||||||
e-%.o: %.c
|
e-%.o: %.c
|
||||||
$(AM_V_CC)$(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -Demacs -o $@ $<
|
$(AM_V_CC)$(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) -Demacs -o $@ $<
|
||||||
|
|
||||||
all: libgnu.a $(if $(HYBRID_MALLOC),libegnu.a)
|
all: libgnu.a
|
||||||
|
|
||||||
libgnu.a: $(libgnu_a_OBJECTS)
|
libgnu.a: $(libgnu_a_OBJECTS)
|
||||||
$(AM_V_AR)rm -f $@
|
$(AM_V_AR)rm -f $@
|
||||||
$(AM_V_at)$(AR) $(ARFLAGS) $@ $(libgnu_a_OBJECTS)
|
$(AM_V_at)$(AR) $(ARFLAGS) $@ $(libgnu_a_OBJECTS)
|
||||||
$(AM_V_at)$(RANLIB) $@
|
$(AM_V_at)$(RANLIB) $@
|
||||||
|
|
||||||
libegnu.a: $(libegnu_a_OBJECTS)
|
|
||||||
$(AM_V_AR)rm -f $@
|
|
||||||
$(AM_V_at)$(AR) $(ARFLAGS) $@ $(libegnu_a_OBJECTS)
|
|
||||||
$(AM_V_at)$(RANLIB) $@
|
|
||||||
|
|
||||||
ETAGS = ../lib-src/etags$(EXEEXT)
|
ETAGS = ../lib-src/etags$(EXEEXT)
|
||||||
$(ETAGS):
|
$(ETAGS):
|
||||||
$(MAKE) -C $(dir $@) $(notdir $@)
|
$(MAKE) -C $(dir $@) $(notdir $@)
|
||||||
|
|
|
||||||
|
|
@ -2515,8 +2515,6 @@ Adapt also mode line."
|
||||||
(read-passwd--hide-password)))))
|
(read-passwd--hide-password)))))
|
||||||
|
|
||||||
(defvar read-passwd-map
|
(defvar read-passwd-map
|
||||||
;; BEWARE: `defconst' would purecopy it, breaking the sharing with
|
|
||||||
;; minibuffer-local-map along the way!
|
|
||||||
(let ((map (make-sparse-keymap)))
|
(let ((map (make-sparse-keymap)))
|
||||||
(set-keymap-parent map minibuffer-local-map)
|
(set-keymap-parent map minibuffer-local-map)
|
||||||
(define-key map "\C-u" #'delete-minibuffer-contents) ;bug#12570
|
(define-key map "\C-u" #'delete-minibuffer-contents) ;bug#12570
|
||||||
|
|
|
||||||
103
lisp/bindings.el
103
lisp/bindings.el
|
|
@ -67,7 +67,7 @@ corresponding to the mode line clicked."
|
||||||
(interactive "e")
|
(interactive "e")
|
||||||
(with-selected-window (posn-window (event-start e))
|
(with-selected-window (posn-window (event-start e))
|
||||||
(describe-current-input-method))))
|
(describe-current-input-method))))
|
||||||
(purecopy map)))
|
map))
|
||||||
|
|
||||||
(defvar mode-line-coding-system-map
|
(defvar mode-line-coding-system-map
|
||||||
(let ((map (make-sparse-keymap)))
|
(let ((map (make-sparse-keymap)))
|
||||||
|
|
@ -83,7 +83,7 @@ corresponding to the mode line clicked."
|
||||||
(interactive "e")
|
(interactive "e")
|
||||||
(with-selected-window (posn-window (event-start e))
|
(with-selected-window (posn-window (event-start e))
|
||||||
(call-interactively 'set-buffer-file-coding-system))))
|
(call-interactively 'set-buffer-file-coding-system))))
|
||||||
(purecopy map))
|
map)
|
||||||
"Local keymap for the coding-system part of the mode line.")
|
"Local keymap for the coding-system part of the mode line.")
|
||||||
|
|
||||||
(defun mode-line-change-eol (event)
|
(defun mode-line-change-eol (event)
|
||||||
|
|
@ -203,11 +203,11 @@ mouse-3: Set coding system"
|
||||||
(current-input-method
|
(current-input-method
|
||||||
(:propertize ("" current-input-method-title)
|
(:propertize ("" current-input-method-title)
|
||||||
help-echo (concat
|
help-echo (concat
|
||||||
,(purecopy "Current input method: ")
|
"Current input method: "
|
||||||
current-input-method
|
current-input-method
|
||||||
,(purecopy "\n\
|
"\n\
|
||||||
mouse-2: Disable input method\n\
|
mouse-2: Disable input method\n\
|
||||||
mouse-3: Describe current input method"))
|
mouse-3: Describe current input method")
|
||||||
local-map ,mode-line-input-method-map
|
local-map ,mode-line-input-method-map
|
||||||
mouse-face mode-line-highlight))
|
mouse-face mode-line-highlight))
|
||||||
,(propertize
|
,(propertize
|
||||||
|
|
@ -228,7 +228,7 @@ mnemonics of the following coding systems:
|
||||||
(defvar mode-line-client
|
(defvar mode-line-client
|
||||||
`(:eval
|
`(:eval
|
||||||
(if (frame-parameter nil 'client)
|
(if (frame-parameter nil 'client)
|
||||||
,(propertize "@" 'help-echo (purecopy "emacsclient frame"))))
|
,(propertize "@" 'help-echo "emacsclient frame")))
|
||||||
"Mode line construct for identifying emacsclient frames.")
|
"Mode line construct for identifying emacsclient frames.")
|
||||||
;; Autoload if this file no longer dumped.
|
;; Autoload if this file no longer dumped.
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
|
|
@ -250,15 +250,15 @@ mnemonics of the following coding systems:
|
||||||
(list (propertize
|
(list (propertize
|
||||||
"%1*"
|
"%1*"
|
||||||
'help-echo 'mode-line-read-only-help-echo
|
'help-echo 'mode-line-read-only-help-echo
|
||||||
'local-map (purecopy (make-mode-line-mouse-map
|
'local-map (make-mode-line-mouse-map
|
||||||
'mouse-1
|
'mouse-1
|
||||||
#'mode-line-toggle-read-only))
|
#'mode-line-toggle-read-only)
|
||||||
'mouse-face 'mode-line-highlight)
|
'mouse-face 'mode-line-highlight)
|
||||||
(propertize
|
(propertize
|
||||||
"%1+"
|
"%1+"
|
||||||
'help-echo 'mode-line-modified-help-echo
|
'help-echo 'mode-line-modified-help-echo
|
||||||
'local-map (purecopy (make-mode-line-mouse-map
|
'local-map (make-mode-line-mouse-map
|
||||||
'mouse-1 #'mode-line-toggle-modified))
|
'mouse-1 #'mode-line-toggle-modified)
|
||||||
'mouse-face 'mode-line-highlight))
|
'mouse-face 'mode-line-highlight))
|
||||||
"Mode line construct for displaying whether current buffer is modified.")
|
"Mode line construct for displaying whether current buffer is modified.")
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
|
|
@ -268,7 +268,7 @@ mnemonics of the following coding systems:
|
||||||
(list (propertize
|
(list (propertize
|
||||||
"%1@"
|
"%1@"
|
||||||
'mouse-face 'mode-line-highlight
|
'mouse-face 'mode-line-highlight
|
||||||
'help-echo (purecopy (lambda (window _object _point)
|
'help-echo (lambda (window _object _point)
|
||||||
(format "%s"
|
(format "%s"
|
||||||
(with-selected-window window
|
(with-selected-window window
|
||||||
(if (stringp default-directory)
|
(if (stringp default-directory)
|
||||||
|
|
@ -277,7 +277,7 @@ mnemonics of the following coding systems:
|
||||||
"Current directory is remote: "
|
"Current directory is remote: "
|
||||||
"Current directory is local: ")
|
"Current directory is local: ")
|
||||||
default-directory)
|
default-directory)
|
||||||
"Current directory is nil")))))))
|
"Current directory is nil"))))))
|
||||||
"Mode line construct to indicate a remote buffer.")
|
"Mode line construct to indicate a remote buffer.")
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(put 'mode-line-remote 'risky-local-variable t)
|
(put 'mode-line-remote 'risky-local-variable t)
|
||||||
|
|
@ -301,8 +301,8 @@ Value is used for `mode-line-frame-identification', which see."
|
||||||
(defvar mode-line-window-dedicated-keymap
|
(defvar mode-line-window-dedicated-keymap
|
||||||
(let ((map (make-sparse-keymap)))
|
(let ((map (make-sparse-keymap)))
|
||||||
(define-key map [mode-line mouse-1] #'toggle-window-dedicated)
|
(define-key map [mode-line mouse-1] #'toggle-window-dedicated)
|
||||||
(purecopy map)) "\
|
map)
|
||||||
Keymap for what is displayed by `mode-line-window-dedicated'.")
|
"Keymap for what is displayed by `mode-line-window-dedicated'.")
|
||||||
|
|
||||||
(defun mode-line-window-control ()
|
(defun mode-line-window-control ()
|
||||||
"Compute mode line construct for window dedicated state.
|
"Compute mode line construct for window dedicated state.
|
||||||
|
|
@ -400,29 +400,6 @@ the symbol `mode-line-format-right-align' is processed by
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(put 'mode-line-format-right-align 'risky-local-variable t)
|
(put 'mode-line-format-right-align 'risky-local-variable t)
|
||||||
|
|
||||||
(defun bindings--define-key (map key item)
|
|
||||||
"Define KEY in keymap MAP according to ITEM from a menu.
|
|
||||||
This is like `define-key', but it takes the definition from the
|
|
||||||
specified menu item, and makes pure copies of as much as possible
|
|
||||||
of the menu's data."
|
|
||||||
(declare (indent 2))
|
|
||||||
(define-key map key
|
|
||||||
(cond
|
|
||||||
((not (consp item)) item) ;Not sure that could be other than a symbol.
|
|
||||||
;; Keymaps can't be made pure otherwise users can't remove/add elements
|
|
||||||
;; from/to them any more.
|
|
||||||
((keymapp item) item)
|
|
||||||
((stringp (car item))
|
|
||||||
(if (keymapp (cdr item))
|
|
||||||
(cons (purecopy (car item)) (cdr item))
|
|
||||||
(purecopy item)))
|
|
||||||
((eq 'menu-item (car item))
|
|
||||||
(if (keymapp (nth 2 item))
|
|
||||||
`(menu-item ,(purecopy (nth 1 item)) ,(nth 2 item)
|
|
||||||
,@(purecopy (nthcdr 3 item)))
|
|
||||||
(purecopy item)))
|
|
||||||
(t (message "non-menu-item: %S" item) item))))
|
|
||||||
|
|
||||||
(defvar mode-line-mode-menu (make-sparse-keymap "Minor Modes") "\
|
(defvar mode-line-mode-menu (make-sparse-keymap "Minor Modes") "\
|
||||||
Menu of mode operations in the mode line.")
|
Menu of mode operations in the mode line.")
|
||||||
|
|
||||||
|
|
@ -454,11 +431,11 @@ a menu, so this function is not useful for non-menu keymaps."
|
||||||
|
|
||||||
(defvar mode-line-major-mode-keymap
|
(defvar mode-line-major-mode-keymap
|
||||||
(let ((map (make-sparse-keymap)))
|
(let ((map (make-sparse-keymap)))
|
||||||
(bindings--define-key map [mode-line down-mouse-1]
|
(define-key map [mode-line down-mouse-1]
|
||||||
`(menu-item "Menu Bar" ignore
|
`(menu-item "Menu Bar" ignore
|
||||||
:filter ,(lambda (_) (mouse-menu-major-mode-map))))
|
:filter ,(lambda (_) (mouse-menu-major-mode-map))))
|
||||||
(define-key map [mode-line mouse-2] 'describe-mode)
|
(define-key map [mode-line mouse-2] 'describe-mode)
|
||||||
(bindings--define-key map [mode-line down-mouse-3]
|
(define-key map [mode-line down-mouse-3]
|
||||||
`(menu-item "Minor Modes" ,mode-line-mode-menu
|
`(menu-item "Minor Modes" ,mode-line-mode-menu
|
||||||
:filter bindings--sort-menu-keymap))
|
:filter bindings--sort-menu-keymap))
|
||||||
map) "\
|
map) "\
|
||||||
|
|
@ -509,15 +486,15 @@ mouse-3: Toggle minor modes"
|
||||||
(defvar mode-line-column-line-number-mode-map
|
(defvar mode-line-column-line-number-mode-map
|
||||||
(let ((map (make-sparse-keymap))
|
(let ((map (make-sparse-keymap))
|
||||||
(menu-map (make-sparse-keymap "Toggle Line and Column Number Display")))
|
(menu-map (make-sparse-keymap "Toggle Line and Column Number Display")))
|
||||||
(bindings--define-key menu-map [size-indication-mode]
|
(define-key menu-map [size-indication-mode]
|
||||||
'(menu-item "Display Size Indication" size-indication-mode
|
'(menu-item "Display Size Indication" size-indication-mode
|
||||||
:help "Toggle displaying a size indication in the mode-line"
|
:help "Toggle displaying a size indication in the mode-line"
|
||||||
:button (:toggle . size-indication-mode)))
|
:button (:toggle . size-indication-mode)))
|
||||||
(bindings--define-key menu-map [line-number-mode]
|
(define-key menu-map [line-number-mode]
|
||||||
'(menu-item "Display Line Numbers" line-number-mode
|
'(menu-item "Display Line Numbers" line-number-mode
|
||||||
:help "Toggle displaying line numbers in the mode-line"
|
:help "Toggle displaying line numbers in the mode-line"
|
||||||
:button (:toggle . line-number-mode)))
|
:button (:toggle . line-number-mode)))
|
||||||
(bindings--define-key menu-map [column-number-mode]
|
(define-key menu-map [column-number-mode]
|
||||||
'(menu-item "Display Column Numbers" column-number-mode
|
'(menu-item "Display Column Numbers" column-number-mode
|
||||||
:help "Toggle displaying column numbers in the mode-line"
|
:help "Toggle displaying column numbers in the mode-line"
|
||||||
:button (:toggle . column-number-mode)))
|
:button (:toggle . column-number-mode)))
|
||||||
|
|
@ -671,8 +648,8 @@ text properties for face, help-echo, and local-map to it."
|
||||||
(list (propertize fmt
|
(list (propertize fmt
|
||||||
'face 'mode-line-buffer-id
|
'face 'mode-line-buffer-id
|
||||||
'help-echo
|
'help-echo
|
||||||
(purecopy "Buffer name
|
"Buffer name
|
||||||
mouse-1: Previous buffer\nmouse-3: Next buffer")
|
mouse-1: Previous buffer\nmouse-3: Next buffer"
|
||||||
'mouse-face 'mode-line-highlight
|
'mouse-face 'mode-line-highlight
|
||||||
'local-map mode-line-buffer-identification-keymap)))
|
'local-map mode-line-buffer-identification-keymap)))
|
||||||
|
|
||||||
|
|
@ -774,54 +751,54 @@ meaningful if it refers to a lexically bound variable."
|
||||||
|
|
||||||
;; Use mode-line-mode-menu for local minor-modes only.
|
;; Use mode-line-mode-menu for local minor-modes only.
|
||||||
;; Global ones can go on the menubar (Options --> Show/Hide).
|
;; Global ones can go on the menubar (Options --> Show/Hide).
|
||||||
(bindings--define-key mode-line-mode-menu [overwrite-mode]
|
(define-key mode-line-mode-menu [overwrite-mode]
|
||||||
'(menu-item "Overwrite (Ovwrt)" overwrite-mode
|
'(menu-item "Overwrite (Ovwrt)" overwrite-mode
|
||||||
:help "Overwrite mode: typed characters replace existing text"
|
:help "Overwrite mode: typed characters replace existing text"
|
||||||
:button (:toggle . overwrite-mode)))
|
:button (:toggle . overwrite-mode)))
|
||||||
(bindings--define-key mode-line-mode-menu [outline-minor-mode]
|
(define-key mode-line-mode-menu [outline-minor-mode]
|
||||||
'(menu-item "Outline (Outl)" outline-minor-mode
|
'(menu-item "Outline (Outl)" outline-minor-mode
|
||||||
;; XXX: This needs a good, brief description.
|
;; XXX: This needs a good, brief description.
|
||||||
:help ""
|
:help ""
|
||||||
:button (:toggle . (bound-and-true-p outline-minor-mode))))
|
:button (:toggle . (bound-and-true-p outline-minor-mode))))
|
||||||
(bindings--define-key mode-line-mode-menu [highlight-changes-mode]
|
(define-key mode-line-mode-menu [highlight-changes-mode]
|
||||||
'(menu-item "Highlight changes (Chg)" highlight-changes-mode
|
'(menu-item "Highlight changes (Chg)" highlight-changes-mode
|
||||||
:help "Show changes in the buffer in a distinctive color"
|
:help "Show changes in the buffer in a distinctive color"
|
||||||
:button (:toggle . (bound-and-true-p highlight-changes-mode))))
|
:button (:toggle . (bound-and-true-p highlight-changes-mode))))
|
||||||
(bindings--define-key mode-line-mode-menu [hide-ifdef-mode]
|
(define-key mode-line-mode-menu [hide-ifdef-mode]
|
||||||
'(menu-item "Hide ifdef (Ifdef)" hide-ifdef-mode
|
'(menu-item "Hide ifdef (Ifdef)" hide-ifdef-mode
|
||||||
:help "Show/Hide code within #ifdef constructs"
|
:help "Show/Hide code within #ifdef constructs"
|
||||||
:button (:toggle . (bound-and-true-p hide-ifdef-mode))))
|
:button (:toggle . (bound-and-true-p hide-ifdef-mode))))
|
||||||
(bindings--define-key mode-line-mode-menu [glasses-mode]
|
(define-key mode-line-mode-menu [glasses-mode]
|
||||||
'(menu-item "Glasses (o^o)" glasses-mode
|
'(menu-item "Glasses (o^o)" glasses-mode
|
||||||
:help "Insert virtual separators to make long identifiers easy to read"
|
:help "Insert virtual separators to make long identifiers easy to read"
|
||||||
:button (:toggle . (bound-and-true-p glasses-mode))))
|
:button (:toggle . (bound-and-true-p glasses-mode))))
|
||||||
(bindings--define-key mode-line-mode-menu [font-lock-mode]
|
(define-key mode-line-mode-menu [font-lock-mode]
|
||||||
'(menu-item "Font Lock" font-lock-mode
|
'(menu-item "Font Lock" font-lock-mode
|
||||||
:help "Syntax coloring"
|
:help "Syntax coloring"
|
||||||
:button (:toggle . font-lock-mode)))
|
:button (:toggle . font-lock-mode)))
|
||||||
(bindings--define-key mode-line-mode-menu [flyspell-mode]
|
(define-key mode-line-mode-menu [flyspell-mode]
|
||||||
'(menu-item "Flyspell (Fly)" flyspell-mode
|
'(menu-item "Flyspell (Fly)" flyspell-mode
|
||||||
:help "Spell checking on the fly"
|
:help "Spell checking on the fly"
|
||||||
:button (:toggle . (bound-and-true-p flyspell-mode))))
|
:button (:toggle . (bound-and-true-p flyspell-mode))))
|
||||||
(bindings--define-key mode-line-mode-menu [completion-preview-mode]
|
(define-key mode-line-mode-menu [completion-preview-mode]
|
||||||
'(menu-item "Completion Preview (CP)" completion-preview-mode
|
'(menu-item "Completion Preview (CP)" completion-preview-mode
|
||||||
:help "Show preview of completion suggestions as you type"
|
:help "Show preview of completion suggestions as you type"
|
||||||
:enable completion-at-point-functions
|
:enable completion-at-point-functions
|
||||||
:button (:toggle . (bound-and-true-p completion-preview-mode))))
|
:button (:toggle . (bound-and-true-p completion-preview-mode))))
|
||||||
(bindings--define-key mode-line-mode-menu [auto-revert-tail-mode]
|
(define-key mode-line-mode-menu [auto-revert-tail-mode]
|
||||||
'(menu-item "Auto revert tail (Tail)" auto-revert-tail-mode
|
'(menu-item "Auto revert tail (Tail)" auto-revert-tail-mode
|
||||||
:help "Revert the tail of the buffer when the file on disk grows"
|
:help "Revert the tail of the buffer when the file on disk grows"
|
||||||
:enable (buffer-file-name)
|
:enable (buffer-file-name)
|
||||||
:button (:toggle . (bound-and-true-p auto-revert-tail-mode))))
|
:button (:toggle . (bound-and-true-p auto-revert-tail-mode))))
|
||||||
(bindings--define-key mode-line-mode-menu [auto-revert-mode]
|
(define-key mode-line-mode-menu [auto-revert-mode]
|
||||||
'(menu-item "Auto revert (ARev)" auto-revert-mode
|
'(menu-item "Auto revert (ARev)" auto-revert-mode
|
||||||
:help "Revert the buffer when the file on disk changes"
|
:help "Revert the buffer when the file on disk changes"
|
||||||
:button (:toggle . (bound-and-true-p auto-revert-mode))))
|
:button (:toggle . (bound-and-true-p auto-revert-mode))))
|
||||||
(bindings--define-key mode-line-mode-menu [auto-fill-mode]
|
(define-key mode-line-mode-menu [auto-fill-mode]
|
||||||
'(menu-item "Auto fill (Fill)" auto-fill-mode
|
'(menu-item "Auto fill (Fill)" auto-fill-mode
|
||||||
:help "Automatically insert new lines"
|
:help "Automatically insert new lines"
|
||||||
:button (:toggle . auto-fill-function)))
|
:button (:toggle . auto-fill-function)))
|
||||||
(bindings--define-key mode-line-mode-menu [abbrev-mode]
|
(define-key mode-line-mode-menu [abbrev-mode]
|
||||||
'(menu-item "Abbrev (Abbrev)" abbrev-mode
|
'(menu-item "Abbrev (Abbrev)" abbrev-mode
|
||||||
:help "Automatically expand abbreviations"
|
:help "Automatically expand abbreviations"
|
||||||
:button (:toggle . abbrev-mode)))
|
:button (:toggle . abbrev-mode)))
|
||||||
|
|
@ -846,8 +823,7 @@ Actually, STRING need not be a string; any mode-line construct is
|
||||||
okay. See `mode-line-format'.")
|
okay. See `mode-line-format'.")
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(put 'minor-mode-alist 'risky-local-variable t)
|
(put 'minor-mode-alist 'risky-local-variable t)
|
||||||
;; Don't use purecopy here--some people want to change these strings,
|
|
||||||
;; also string properties are lost when put into pure space.
|
|
||||||
(setq minor-mode-alist
|
(setq minor-mode-alist
|
||||||
'((abbrev-mode " Abbrev")
|
'((abbrev-mode " Abbrev")
|
||||||
(overwrite-mode overwrite-mode)
|
(overwrite-mode overwrite-mode)
|
||||||
|
|
@ -865,14 +841,11 @@ okay. See `mode-line-format'.")
|
||||||
(setq completion-ignored-extensions
|
(setq completion-ignored-extensions
|
||||||
(append
|
(append
|
||||||
(cond ((memq system-type '(ms-dos windows-nt))
|
(cond ((memq system-type '(ms-dos windows-nt))
|
||||||
(mapcar 'purecopy
|
|
||||||
'(".o" "~" ".bin" ".bak" ".obj" ".map" ".ico" ".pif" ".lnk"
|
'(".o" "~" ".bin" ".bak" ".obj" ".map" ".ico" ".pif" ".lnk"
|
||||||
".a" ".ln" ".blg" ".bbl" ".dll" ".drv" ".vxd" ".386")))
|
".a" ".ln" ".blg" ".bbl" ".dll" ".drv" ".vxd" ".386"))
|
||||||
(t
|
(t
|
||||||
(mapcar 'purecopy
|
|
||||||
'(".o" "~" ".bin" ".lbin" ".so"
|
'(".o" "~" ".bin" ".lbin" ".so"
|
||||||
".a" ".ln" ".blg" ".bbl"))))
|
".a" ".ln" ".blg" ".bbl")))
|
||||||
(mapcar 'purecopy
|
|
||||||
'(".elc" ".lof"
|
'(".elc" ".lof"
|
||||||
".glo" ".idx" ".lot"
|
".glo" ".idx" ".lot"
|
||||||
;; VCS metadata directories
|
;; VCS metadata directories
|
||||||
|
|
@ -902,7 +875,7 @@ okay. See `mode-line-format'.")
|
||||||
".cp" ".fn" ".ky" ".pg" ".tp" ".vr"
|
".cp" ".fn" ".ky" ".pg" ".tp" ".vr"
|
||||||
".cps" ".fns" ".kys" ".pgs" ".tps" ".vrs"
|
".cps" ".fns" ".kys" ".pgs" ".tps" ".vrs"
|
||||||
;; Python byte-compiled
|
;; Python byte-compiled
|
||||||
".pyc" ".pyo"))))
|
".pyc" ".pyo")))
|
||||||
|
|
||||||
;; Suffixes used for executables.
|
;; Suffixes used for executables.
|
||||||
(setq exec-suffixes
|
(setq exec-suffixes
|
||||||
|
|
@ -1648,6 +1621,8 @@ if `inhibit-field-text-motion' is non-nil."
|
||||||
;; Text conversion
|
;; Text conversion
|
||||||
(define-key global-map [text-conversion] 'analyze-text-conversion)
|
(define-key global-map [text-conversion] 'analyze-text-conversion)
|
||||||
|
|
||||||
|
(define-obsolete-function-alias 'bindings--define-key #'define-key "31.1")
|
||||||
|
|
||||||
;; Don't look for autoload cookies in this file.
|
;; Don't look for autoload cookies in this file.
|
||||||
;; Local Variables:
|
;; Local Variables:
|
||||||
;; no-update-autoloads: t
|
;; no-update-autoloads: t
|
||||||
|
|
|
||||||
|
|
@ -2560,37 +2560,37 @@ strings returned are not."
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defvar menu-bar-bookmark-map
|
(defvar menu-bar-bookmark-map
|
||||||
(let ((map (make-sparse-keymap "Bookmark functions")))
|
(let ((map (make-sparse-keymap "Bookmark functions")))
|
||||||
(bindings--define-key map [load]
|
(define-key map [load]
|
||||||
'(menu-item "Load a Bookmark File..." bookmark-load
|
'(menu-item "Load a Bookmark File..." bookmark-load
|
||||||
:help "Load bookmarks from a bookmark file)"))
|
:help "Load bookmarks from a bookmark file)"))
|
||||||
(bindings--define-key map [write]
|
(define-key map [write]
|
||||||
'(menu-item "Save Bookmarks As..." bookmark-write
|
'(menu-item "Save Bookmarks As..." bookmark-write
|
||||||
:help "Write bookmarks to a file (reading the file name with the minibuffer)"))
|
:help "Write bookmarks to a file (reading the file name with the minibuffer)"))
|
||||||
(bindings--define-key map [save]
|
(define-key map [save]
|
||||||
'(menu-item "Save Bookmarks" bookmark-save
|
'(menu-item "Save Bookmarks" bookmark-save
|
||||||
:help "Save currently defined bookmarks"))
|
:help "Save currently defined bookmarks"))
|
||||||
(bindings--define-key map [edit]
|
(define-key map [edit]
|
||||||
'(menu-item "Edit Bookmark List" bookmark-bmenu-list
|
'(menu-item "Edit Bookmark List" bookmark-bmenu-list
|
||||||
:help "Display a list of existing bookmarks"))
|
:help "Display a list of existing bookmarks"))
|
||||||
(bindings--define-key map [delete]
|
(define-key map [delete]
|
||||||
'(menu-item "Delete Bookmark..." bookmark-delete
|
'(menu-item "Delete Bookmark..." bookmark-delete
|
||||||
:help "Delete a bookmark from the bookmark list"))
|
:help "Delete a bookmark from the bookmark list"))
|
||||||
(bindings--define-key map [delete-all]
|
(define-key map [delete-all]
|
||||||
'(menu-item "Delete all Bookmarks..." bookmark-delete-all
|
'(menu-item "Delete all Bookmarks..." bookmark-delete-all
|
||||||
:help "Delete all bookmarks from the bookmark list"))
|
:help "Delete all bookmarks from the bookmark list"))
|
||||||
(bindings--define-key map [rename]
|
(define-key map [rename]
|
||||||
'(menu-item "Rename Bookmark..." bookmark-rename
|
'(menu-item "Rename Bookmark..." bookmark-rename
|
||||||
:help "Change the name of a bookmark"))
|
:help "Change the name of a bookmark"))
|
||||||
(bindings--define-key map [locate]
|
(define-key map [locate]
|
||||||
'(menu-item "Insert Location..." bookmark-locate
|
'(menu-item "Insert Location..." bookmark-locate
|
||||||
:help "Insert the name of the file associated with a bookmark"))
|
:help "Insert the name of the file associated with a bookmark"))
|
||||||
(bindings--define-key map [insert]
|
(define-key map [insert]
|
||||||
'(menu-item "Insert Contents..." bookmark-insert
|
'(menu-item "Insert Contents..." bookmark-insert
|
||||||
:help "Insert the text of the file pointed to by a bookmark"))
|
:help "Insert the text of the file pointed to by a bookmark"))
|
||||||
(bindings--define-key map [set]
|
(define-key map [set]
|
||||||
'(menu-item "Set Bookmark..." bookmark-set
|
'(menu-item "Set Bookmark..." bookmark-set
|
||||||
:help "Set a bookmark named inside a file."))
|
:help "Set a bookmark named inside a file."))
|
||||||
(bindings--define-key map [jump]
|
(define-key map [jump]
|
||||||
'(menu-item "Jump to Bookmark..." bookmark-jump
|
'(menu-item "Jump to Bookmark..." bookmark-jump
|
||||||
:help "Jump to a bookmark (a point in some file)"))
|
:help "Jump to a bookmark (a point in some file)"))
|
||||||
map))
|
map))
|
||||||
|
|
|
||||||
|
|
@ -97,7 +97,7 @@ Disabling the mode will remove all buttons in the current buffer."
|
||||||
(put 'default-button 'type 'button)
|
(put 'default-button 'type 'button)
|
||||||
;; `action' may be either a function to call, or a marker to go to.
|
;; `action' may be either a function to call, or a marker to go to.
|
||||||
(put 'default-button 'action #'ignore)
|
(put 'default-button 'action #'ignore)
|
||||||
(put 'default-button 'help-echo (purecopy "mouse-2, RET: Push this button"))
|
(put 'default-button 'help-echo "mouse-2, RET: Push this button")
|
||||||
;; Make overlay buttons go away if their underlying text is deleted.
|
;; Make overlay buttons go away if their underlying text is deleted.
|
||||||
(put 'default-button 'evaporate t)
|
(put 'default-button 'evaporate t)
|
||||||
;; Prevent insertions adjacent to text-property buttons from
|
;; Prevent insertions adjacent to text-property buttons from
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,6 @@
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom holiday-general-holidays
|
(defcustom holiday-general-holidays
|
||||||
(mapcar 'purecopy
|
|
||||||
'((holiday-fixed 1 1 "New Year's Day")
|
'((holiday-fixed 1 1 "New Year's Day")
|
||||||
(holiday-float 1 1 3 "Martin Luther King Day")
|
(holiday-float 1 1 3 "Martin Luther King Day")
|
||||||
(holiday-fixed 2 2 "Groundhog Day")
|
(holiday-fixed 2 2 "Groundhog Day")
|
||||||
|
|
@ -61,7 +60,7 @@
|
||||||
(holiday-float 10 1 2 "Columbus Day")
|
(holiday-float 10 1 2 "Columbus Day")
|
||||||
(holiday-fixed 10 31 "Halloween")
|
(holiday-fixed 10 31 "Halloween")
|
||||||
(holiday-fixed 11 11 "Veteran's Day")
|
(holiday-fixed 11 11 "Veteran's Day")
|
||||||
(holiday-float 11 4 4 "Thanksgiving")))
|
(holiday-float 11 4 4 "Thanksgiving"))
|
||||||
"General holidays. Default value is for the United States.
|
"General holidays. Default value is for the United States.
|
||||||
See the documentation for `calendar-holidays' for details."
|
See the documentation for `calendar-holidays' for details."
|
||||||
:type 'sexp)
|
:type 'sexp)
|
||||||
|
|
@ -70,7 +69,6 @@ See the documentation for `calendar-holidays' for details."
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom holiday-oriental-holidays
|
(defcustom holiday-oriental-holidays
|
||||||
(mapcar 'purecopy
|
|
||||||
'((holiday-chinese-new-year)
|
'((holiday-chinese-new-year)
|
||||||
(if calendar-chinese-all-holidays-flag
|
(if calendar-chinese-all-holidays-flag
|
||||||
(append
|
(append
|
||||||
|
|
@ -81,7 +79,7 @@ See the documentation for `calendar-holidays' for details."
|
||||||
(holiday-chinese 8 15 "Mid-Autumn Festival")
|
(holiday-chinese 8 15 "Mid-Autumn Festival")
|
||||||
(holiday-chinese 9 9 "Double Ninth Festival")
|
(holiday-chinese 9 9 "Double Ninth Festival")
|
||||||
(holiday-chinese-winter-solstice)
|
(holiday-chinese-winter-solstice)
|
||||||
))))
|
)))
|
||||||
"Oriental holidays.
|
"Oriental holidays.
|
||||||
See the documentation for `calendar-holidays' for details."
|
See the documentation for `calendar-holidays' for details."
|
||||||
:version "23.1" ; added more holidays
|
:version "23.1" ; added more holidays
|
||||||
|
|
@ -107,14 +105,13 @@ See the documentation for `calendar-holidays' for details."
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom holiday-hebrew-holidays
|
(defcustom holiday-hebrew-holidays
|
||||||
(mapcar 'purecopy
|
|
||||||
'((holiday-hebrew-passover)
|
'((holiday-hebrew-passover)
|
||||||
(holiday-hebrew-rosh-hashanah)
|
(holiday-hebrew-rosh-hashanah)
|
||||||
(holiday-hebrew-hanukkah)
|
(holiday-hebrew-hanukkah)
|
||||||
(if calendar-hebrew-all-holidays-flag
|
(if calendar-hebrew-all-holidays-flag
|
||||||
(append
|
(append
|
||||||
(holiday-hebrew-tisha-b-av)
|
(holiday-hebrew-tisha-b-av)
|
||||||
(holiday-hebrew-misc)))))
|
(holiday-hebrew-misc))))
|
||||||
"Jewish holidays.
|
"Jewish holidays.
|
||||||
See the documentation for `calendar-holidays' for details."
|
See the documentation for `calendar-holidays' for details."
|
||||||
:type 'sexp
|
:type 'sexp
|
||||||
|
|
@ -125,7 +122,6 @@ See the documentation for `calendar-holidays' for details."
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom holiday-christian-holidays
|
(defcustom holiday-christian-holidays
|
||||||
(mapcar 'purecopy
|
|
||||||
'((holiday-easter-etc) ; respects calendar-christian-all-holidays-flag
|
'((holiday-easter-etc) ; respects calendar-christian-all-holidays-flag
|
||||||
(holiday-fixed 12 25 "Christmas")
|
(holiday-fixed 12 25 "Christmas")
|
||||||
(if calendar-christian-all-holidays-flag
|
(if calendar-christian-all-holidays-flag
|
||||||
|
|
@ -134,7 +130,7 @@ See the documentation for `calendar-holidays' for details."
|
||||||
(holiday-julian 12 25 "Christmas (Julian calendar)")
|
(holiday-julian 12 25 "Christmas (Julian calendar)")
|
||||||
(holiday-greek-orthodox-easter)
|
(holiday-greek-orthodox-easter)
|
||||||
(holiday-fixed 8 15 "Assumption")
|
(holiday-fixed 8 15 "Assumption")
|
||||||
(holiday-advent 0 "Advent")))))
|
(holiday-advent 0 "Advent"))))
|
||||||
"Christian holidays.
|
"Christian holidays.
|
||||||
See the documentation for `calendar-holidays' for details."
|
See the documentation for `calendar-holidays' for details."
|
||||||
:type 'sexp)
|
:type 'sexp)
|
||||||
|
|
@ -143,7 +139,6 @@ See the documentation for `calendar-holidays' for details."
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom holiday-islamic-holidays
|
(defcustom holiday-islamic-holidays
|
||||||
(mapcar 'purecopy
|
|
||||||
'((holiday-islamic-new-year)
|
'((holiday-islamic-new-year)
|
||||||
(holiday-islamic 9 1 "Ramadan Begins")
|
(holiday-islamic 9 1 "Ramadan Begins")
|
||||||
(if calendar-islamic-all-holidays-flag
|
(if calendar-islamic-all-holidays-flag
|
||||||
|
|
@ -154,7 +149,7 @@ See the documentation for `calendar-holidays' for details."
|
||||||
(holiday-islamic 8 15 "Shab-e-Bara't")
|
(holiday-islamic 8 15 "Shab-e-Bara't")
|
||||||
(holiday-islamic 9 27 "Shab-e Qadr")
|
(holiday-islamic 9 27 "Shab-e Qadr")
|
||||||
(holiday-islamic 10 1 "Id-al-Fitr")
|
(holiday-islamic 10 1 "Id-al-Fitr")
|
||||||
(holiday-islamic 12 10 "Id-al-Adha")))))
|
(holiday-islamic 12 10 "Id-al-Adha"))))
|
||||||
"Islamic holidays.
|
"Islamic holidays.
|
||||||
See the documentation for `calendar-holidays' for details."
|
See the documentation for `calendar-holidays' for details."
|
||||||
:type 'sexp)
|
:type 'sexp)
|
||||||
|
|
@ -163,7 +158,6 @@ See the documentation for `calendar-holidays' for details."
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom holiday-bahai-holidays
|
(defcustom holiday-bahai-holidays
|
||||||
(mapcar 'purecopy
|
|
||||||
'((holiday-bahai-new-year)
|
'((holiday-bahai-new-year)
|
||||||
(holiday-bahai-ridvan) ; respects calendar-bahai-all-holidays-flag
|
(holiday-bahai-ridvan) ; respects calendar-bahai-all-holidays-flag
|
||||||
(holiday-fixed 5 23 "Declaration of the Báb")
|
(holiday-fixed 5 23 "Declaration of the Báb")
|
||||||
|
|
@ -174,7 +168,7 @@ See the documentation for `calendar-holidays' for details."
|
||||||
(if calendar-bahai-all-holidays-flag
|
(if calendar-bahai-all-holidays-flag
|
||||||
(append
|
(append
|
||||||
(holiday-fixed 11 26 "Day of the Covenant")
|
(holiday-fixed 11 26 "Day of the Covenant")
|
||||||
(holiday-fixed 11 28 "Ascension of `Abdu’l-Bahá")))))
|
(holiday-fixed 11 28 "Ascension of `Abdu’l-Bahá"))))
|
||||||
"Bahá’í holidays.
|
"Bahá’í holidays.
|
||||||
See the documentation for `calendar-holidays' for details."
|
See the documentation for `calendar-holidays' for details."
|
||||||
:type 'sexp)
|
:type 'sexp)
|
||||||
|
|
@ -183,7 +177,6 @@ See the documentation for `calendar-holidays' for details."
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom holiday-solar-holidays
|
(defcustom holiday-solar-holidays
|
||||||
(mapcar 'purecopy
|
|
||||||
'((solar-equinoxes-solstices)
|
'((solar-equinoxes-solstices)
|
||||||
(holiday-sexp calendar-daylight-savings-starts
|
(holiday-sexp calendar-daylight-savings-starts
|
||||||
(format "Daylight Saving Time Begins %s"
|
(format "Daylight Saving Time Begins %s"
|
||||||
|
|
@ -194,7 +187,7 @@ See the documentation for `calendar-holidays' for details."
|
||||||
(format "Daylight Saving Time Ends %s"
|
(format "Daylight Saving Time Ends %s"
|
||||||
(solar-time-string
|
(solar-time-string
|
||||||
(/ calendar-daylight-savings-ends-time (float 60))
|
(/ calendar-daylight-savings-ends-time (float 60))
|
||||||
calendar-daylight-time-zone-name)))))
|
calendar-daylight-time-zone-name))))
|
||||||
"Sun-related holidays.
|
"Sun-related holidays.
|
||||||
See the documentation for `calendar-holidays' for details."
|
See the documentation for `calendar-holidays' for details."
|
||||||
:type 'sexp)
|
:type 'sexp)
|
||||||
|
|
|
||||||
|
|
@ -3253,7 +3253,7 @@ Note that this applies to `comint-dynamic-complete-filename' only."
|
||||||
:group 'comint-completion)
|
:group 'comint-completion)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defvar comint-file-name-prefix (purecopy "")
|
(defvar comint-file-name-prefix ""
|
||||||
"Prefix prepended to absolute file names taken from process input.
|
"Prefix prepended to absolute file names taken from process input.
|
||||||
This is used by Comint's and shell's completion functions, and by shell's
|
This is used by Comint's and shell's completion functions, and by shell's
|
||||||
directory tracking functions.")
|
directory tracking functions.")
|
||||||
|
|
|
||||||
|
|
@ -755,7 +755,7 @@ All non-spacing characters have this function in
|
||||||
|
|
||||||
;; Allow for bootstrapping without uni-*.el.
|
;; Allow for bootstrapping without uni-*.el.
|
||||||
(when unicode-category-table
|
(when unicode-category-table
|
||||||
(let ((elt `([,(purecopy "\\c.\\c^+") 1 compose-gstring-for-graphic]
|
(let ((elt `(["\\c.\\c^+" 1 compose-gstring-for-graphic]
|
||||||
[nil 0 compose-gstring-for-graphic])))
|
[nil 0 compose-gstring-for-graphic])))
|
||||||
(map-char-table
|
(map-char-table
|
||||||
#'(lambda (key val)
|
#'(lambda (key val)
|
||||||
|
|
@ -764,7 +764,7 @@ All non-spacing characters have this function in
|
||||||
unicode-category-table))
|
unicode-category-table))
|
||||||
;; for dotted-circle
|
;; for dotted-circle
|
||||||
(aset composition-function-table #x25CC
|
(aset composition-function-table #x25CC
|
||||||
`([,(purecopy ".\\c^") 0 compose-gstring-for-dotted-circle]))
|
`([".\\c^" 0 compose-gstring-for-dotted-circle]))
|
||||||
;; For prettier display of fractions
|
;; For prettier display of fractions
|
||||||
(set-char-table-range
|
(set-char-table-range
|
||||||
composition-function-table
|
composition-function-table
|
||||||
|
|
@ -772,10 +772,10 @@ All non-spacing characters have this function in
|
||||||
;; We use font-shape-gstring so that if the font doesn't support
|
;; We use font-shape-gstring so that if the font doesn't support
|
||||||
;; fractional display, the characters are shown separately, not as
|
;; fractional display, the characters are shown separately, not as
|
||||||
;; a composed cluster.
|
;; a composed cluster.
|
||||||
(list (vector (purecopy "[1-9][0-9][0-9]\u2044[0-9]+")
|
(list (vector "[1-9][0-9][0-9]\u2044[0-9]+"
|
||||||
3 'font-shape-gstring)
|
3 'font-shape-gstring)
|
||||||
(vector (purecopy "[1-9][0-9]\u2044[0-9]+") 2 'font-shape-gstring)
|
(vector "[1-9][0-9]\u2044[0-9]+" 2 'font-shape-gstring)
|
||||||
(vector (purecopy "[1-9]\u2044[0-9]+") 1 'font-shape-gstring))))
|
(vector "[1-9]\u2044[0-9]+" 1 'font-shape-gstring))))
|
||||||
|
|
||||||
(defun compose-gstring-for-terminal (gstring _direction)
|
(defun compose-gstring-for-terminal (gstring _direction)
|
||||||
"Compose glyph-string GSTRING for terminal display.
|
"Compose glyph-string GSTRING for terminal display.
|
||||||
|
|
|
||||||
|
|
@ -35,10 +35,10 @@
|
||||||
(not (documentation-stringp doc)))
|
(not (documentation-stringp doc)))
|
||||||
(error "Invalid (or missing) doc string %S" doc))
|
(error "Invalid (or missing) doc string %S" doc))
|
||||||
(unless (get face 'face-defface-spec)
|
(unless (get face 'face-defface-spec)
|
||||||
(face-spec-set face (purecopy spec) 'face-defface-spec)
|
(face-spec-set face spec 'face-defface-spec)
|
||||||
(push (cons 'defface face) current-load-list)
|
(push (cons 'defface face) current-load-list)
|
||||||
(when doc
|
(when doc
|
||||||
(set-face-documentation face (purecopy doc)))
|
(set-face-documentation face doc))
|
||||||
(custom-handle-all-keywords face args 'custom-face)
|
(custom-handle-all-keywords face args 'custom-face)
|
||||||
(run-hooks 'custom-define-hook))
|
(run-hooks 'custom-define-hook))
|
||||||
face)
|
face)
|
||||||
|
|
|
||||||
|
|
@ -166,7 +166,7 @@ not the default value itself.
|
||||||
DEFAULT is stored as SYMBOL's standard value, in SYMBOL's property
|
DEFAULT is stored as SYMBOL's standard value, in SYMBOL's property
|
||||||
`standard-value'. At the same time, SYMBOL's property `force-value' is
|
`standard-value'. At the same time, SYMBOL's property `force-value' is
|
||||||
set to nil, as the value is no longer rogue."
|
set to nil, as the value is no longer rogue."
|
||||||
(put symbol 'standard-value (purecopy (list default)))
|
(put symbol 'standard-value (list default))
|
||||||
;; Maybe this option was rogue in an earlier version. It no longer is.
|
;; Maybe this option was rogue in an earlier version. It no longer is.
|
||||||
(when (get symbol 'force-value)
|
(when (get symbol 'force-value)
|
||||||
(put symbol 'force-value nil))
|
(put symbol 'force-value nil))
|
||||||
|
|
@ -207,7 +207,7 @@ set to nil, as the value is no longer rogue."
|
||||||
(when (memq value '(permanent permanent-only))
|
(when (memq value '(permanent permanent-only))
|
||||||
(put symbol 'permanent-local t)))
|
(put symbol 'permanent-local t)))
|
||||||
((eq keyword :type)
|
((eq keyword :type)
|
||||||
(put symbol 'custom-type (purecopy value)))
|
(put symbol 'custom-type value))
|
||||||
((eq keyword :options)
|
((eq keyword :options)
|
||||||
(if (get symbol 'custom-options)
|
(if (get symbol 'custom-options)
|
||||||
;; Slow safe code to avoid duplicates.
|
;; Slow safe code to avoid duplicates.
|
||||||
|
|
@ -488,7 +488,7 @@ information."
|
||||||
(setq members (cdr members)))
|
(setq members (cdr members)))
|
||||||
(when doc
|
(when doc
|
||||||
;; This text doesn't get into DOC.
|
;; This text doesn't get into DOC.
|
||||||
(put symbol 'group-documentation (purecopy doc)))
|
(put symbol 'group-documentation doc))
|
||||||
(while args
|
(while args
|
||||||
(let ((arg (car args)))
|
(let ((arg (car args)))
|
||||||
(setq args (cdr args))
|
(setq args (cdr args))
|
||||||
|
|
@ -500,7 +500,7 @@ information."
|
||||||
(error "Keyword %s is missing an argument" keyword))
|
(error "Keyword %s is missing an argument" keyword))
|
||||||
(setq args (cdr args))
|
(setq args (cdr args))
|
||||||
(cond ((eq keyword :prefix)
|
(cond ((eq keyword :prefix)
|
||||||
(put symbol 'custom-prefix (purecopy value)))
|
(put symbol 'custom-prefix value))
|
||||||
(t
|
(t
|
||||||
(custom-handle-keyword symbol keyword value
|
(custom-handle-keyword symbol keyword value
|
||||||
'custom-group))))))
|
'custom-group))))))
|
||||||
|
|
@ -587,8 +587,6 @@ Third argument TYPE is the custom option type."
|
||||||
(defun custom-handle-keyword (symbol keyword value type)
|
(defun custom-handle-keyword (symbol keyword value type)
|
||||||
"For customization option SYMBOL, handle KEYWORD with VALUE.
|
"For customization option SYMBOL, handle KEYWORD with VALUE.
|
||||||
Fourth argument TYPE is the custom option type."
|
Fourth argument TYPE is the custom option type."
|
||||||
(if purify-flag
|
|
||||||
(setq value (purecopy value)))
|
|
||||||
(cond ((eq keyword :group)
|
(cond ((eq keyword :group)
|
||||||
(custom-add-to-group value symbol type))
|
(custom-add-to-group value symbol type))
|
||||||
((eq keyword :version)
|
((eq keyword :version)
|
||||||
|
|
@ -641,22 +639,22 @@ For other custom types, this has no effect."
|
||||||
"To the custom option SYMBOL add the link WIDGET."
|
"To the custom option SYMBOL add the link WIDGET."
|
||||||
(let ((links (get symbol 'custom-links)))
|
(let ((links (get symbol 'custom-links)))
|
||||||
(unless (member widget links)
|
(unless (member widget links)
|
||||||
(put symbol 'custom-links (cons (purecopy widget) links)))))
|
(put symbol 'custom-links (cons widget links)))))
|
||||||
|
|
||||||
(defun custom-add-version (symbol version)
|
(defun custom-add-version (symbol version)
|
||||||
"To the custom option SYMBOL add the version VERSION."
|
"To the custom option SYMBOL add the version VERSION."
|
||||||
(put symbol 'custom-version (purecopy version)))
|
(put symbol 'custom-version version))
|
||||||
|
|
||||||
(defun custom-add-package-version (symbol version)
|
(defun custom-add-package-version (symbol version)
|
||||||
"To the custom option SYMBOL add the package version VERSION."
|
"To the custom option SYMBOL add the package version VERSION."
|
||||||
(put symbol 'custom-package-version (purecopy version)))
|
(put symbol 'custom-package-version version))
|
||||||
|
|
||||||
(defun custom-add-load (symbol load)
|
(defun custom-add-load (symbol load)
|
||||||
"To the custom option SYMBOL add the dependency LOAD.
|
"To the custom option SYMBOL add the dependency LOAD.
|
||||||
LOAD should be either a library file name, or a feature name."
|
LOAD should be either a library file name, or a feature name."
|
||||||
(let ((loads (get symbol 'custom-loads)))
|
(let ((loads (get symbol 'custom-loads)))
|
||||||
(unless (member load loads)
|
(unless (member load loads)
|
||||||
(put symbol 'custom-loads (cons (purecopy load) loads)))))
|
(put symbol 'custom-loads (cons load loads)))))
|
||||||
|
|
||||||
(defun custom-autoload (symbol load &optional noset)
|
(defun custom-autoload (symbol load &optional noset)
|
||||||
"Mark SYMBOL as autoloaded custom variable and add dependency LOAD.
|
"Mark SYMBOL as autoloaded custom variable and add dependency LOAD.
|
||||||
|
|
|
||||||
|
|
@ -60,7 +60,7 @@
|
||||||
:group 'dired)
|
:group 'dired)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom dired-listing-switches (purecopy "-al")
|
(defcustom dired-listing-switches "-al"
|
||||||
"Switches passed to `ls' for Dired. MUST contain the `l' option.
|
"Switches passed to `ls' for Dired. MUST contain the `l' option.
|
||||||
May contain all other options that don't contradict `-l';
|
May contain all other options that don't contradict `-l';
|
||||||
may contain even `F', `b', `i' and `s'. See also the variable
|
may contain even `F', `b', `i' and `s'. See also the variable
|
||||||
|
|
|
||||||
10
lisp/dnd.el
10
lisp/dnd.el
|
|
@ -42,11 +42,11 @@
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom dnd-protocol-alist
|
(defcustom dnd-protocol-alist
|
||||||
`((,(purecopy "^file:///") . dnd-open-local-file) ; XDND format.
|
'(("^file:///" . dnd-open-local-file) ; XDND format.
|
||||||
(,(purecopy "^file://[^/]") . dnd-open-file) ; URL with host
|
("^file://[^/]" . dnd-open-file) ; URL with host
|
||||||
(,(purecopy "^file:/[^/]") . dnd-open-local-file) ; Old KDE, Motif, Sun
|
("^file:/[^/]" . dnd-open-local-file) ; Old KDE, Motif, Sun
|
||||||
(,(purecopy "^file:[^/]") . dnd-open-local-file) ; MS-Windows
|
("^file:[^/]" . dnd-open-local-file) ; MS-Windows
|
||||||
(,(purecopy "^\\(https?\\|ftp\\|nfs\\)://") . dnd-open-file))
|
("^\\(https?\\|ftp\\|nfs\\)://" . dnd-open-file))
|
||||||
"The functions to call for different protocols when a drop is made.
|
"The functions to call for different protocols when a drop is made.
|
||||||
This variable is used by `dnd-handle-multiple-urls'.
|
This variable is used by `dnd-handle-multiple-urls'.
|
||||||
The list contains of (REGEXP . FUNCTION) pairs.
|
The list contains of (REGEXP . FUNCTION) pairs.
|
||||||
|
|
|
||||||
|
|
@ -1861,7 +1861,7 @@ See Info node `(elisp) Integer Basics'."
|
||||||
(side-effect-and-error-free-fns
|
(side-effect-and-error-free-fns
|
||||||
'(
|
'(
|
||||||
;; alloc.c
|
;; alloc.c
|
||||||
bool-vector cons list make-marker purecopy record vector
|
bool-vector cons list make-marker record vector
|
||||||
;; buffer.c
|
;; buffer.c
|
||||||
buffer-list buffer-live-p current-buffer overlay-lists overlayp
|
buffer-list buffer-live-p current-buffer overlay-lists overlayp
|
||||||
;; casetab.c
|
;; casetab.c
|
||||||
|
|
|
||||||
|
|
@ -543,7 +543,7 @@ was first made obsolete, for example a date or a release number."
|
||||||
(put obsolete-name 'byte-obsolete-info
|
(put obsolete-name 'byte-obsolete-info
|
||||||
;; The second entry used to hold the `byte-compile' handler, but
|
;; The second entry used to hold the `byte-compile' handler, but
|
||||||
;; is not used any more nowadays.
|
;; is not used any more nowadays.
|
||||||
(purecopy (list current-name nil when)))
|
(list current-name nil when))
|
||||||
obsolete-name)
|
obsolete-name)
|
||||||
|
|
||||||
(defmacro define-obsolete-function-alias ( obsolete-name current-name when
|
(defmacro define-obsolete-function-alias ( obsolete-name current-name when
|
||||||
|
|
@ -579,7 +579,7 @@ ACCESS-TYPE if non-nil should specify the kind of access that will trigger
|
||||||
obsolescence warnings; it can be either `get' or `set'."
|
obsolescence warnings; it can be either `get' or `set'."
|
||||||
(byte-run--constant-obsolete-warning obsolete-name)
|
(byte-run--constant-obsolete-warning obsolete-name)
|
||||||
(put obsolete-name 'byte-obsolete-variable
|
(put obsolete-name 'byte-obsolete-variable
|
||||||
(purecopy (list current-name access-type when)))
|
(list current-name access-type when))
|
||||||
obsolete-name)
|
obsolete-name)
|
||||||
|
|
||||||
(defmacro define-obsolete-variable-alias ( obsolete-name current-name when
|
(defmacro define-obsolete-variable-alias ( obsolete-name current-name when
|
||||||
|
|
@ -634,7 +634,7 @@ obsolete, for example a date or a release number."
|
||||||
`(progn
|
`(progn
|
||||||
(put ,obsolete-face 'face-alias ,current-face)
|
(put ,obsolete-face 'face-alias ,current-face)
|
||||||
;; Used by M-x describe-face.
|
;; Used by M-x describe-face.
|
||||||
(put ,obsolete-face 'obsolete-face (or (purecopy ,when) t))))
|
(put ,obsolete-face 'obsolete-face (or ,when t))))
|
||||||
|
|
||||||
(defmacro dont-compile (&rest body)
|
(defmacro dont-compile (&rest body)
|
||||||
"Like `progn', but the body always runs interpreted (not compiled).
|
"Like `progn', but the body always runs interpreted (not compiled).
|
||||||
|
|
|
||||||
|
|
@ -4640,13 +4640,12 @@ Return (TAIL VAR TEST CASES), where:
|
||||||
cases))))
|
cases))))
|
||||||
(setq jump-table (make-hash-table
|
(setq jump-table (make-hash-table
|
||||||
:test test
|
:test test
|
||||||
:purecopy t
|
|
||||||
:size nvalues)))
|
:size nvalues)))
|
||||||
(setq default-tag (byte-compile-make-tag))
|
(setq default-tag (byte-compile-make-tag))
|
||||||
;; The structure of byte-switch code:
|
;; The structure of byte-switch code:
|
||||||
;;
|
;;
|
||||||
;; varref var
|
;; varref var
|
||||||
;; constant #s(hash-table purecopy t data (val1 (TAG1) val2 (TAG2)))
|
;; constant #s(hash-table data (val1 (TAG1) val2 (TAG2)))
|
||||||
;; switch
|
;; switch
|
||||||
;; goto DEFAULT-TAG
|
;; goto DEFAULT-TAG
|
||||||
;; TAG1
|
;; TAG1
|
||||||
|
|
|
||||||
|
|
@ -722,7 +722,7 @@ PROPLIST is a list of the sort returned by `symbol-plist'.
|
||||||
|
|
||||||
(define-button-type 'cl-type-definition
|
(define-button-type 'cl-type-definition
|
||||||
:supertype 'help-function-def
|
:supertype 'help-function-def
|
||||||
'help-echo (purecopy "mouse-2, RET: find type definition"))
|
'help-echo "mouse-2, RET: find type definition")
|
||||||
|
|
||||||
(declare-function help-fns-short-filename "help-fns" (filename))
|
(declare-function help-fns-short-filename "help-fns" (filename))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -654,11 +654,7 @@ The set of acceptable TYPEs (also called \"specializers\") is defined
|
||||||
(symbol-function sym)))
|
(symbol-function sym)))
|
||||||
;; Prevent `defalias' from recording this as the definition site of
|
;; Prevent `defalias' from recording this as the definition site of
|
||||||
;; the generic function.
|
;; the generic function.
|
||||||
current-load-list
|
current-load-list)
|
||||||
;; BEWARE! Don't purify this function definition, since that leads
|
|
||||||
;; to memory corruption if the hash-tables it holds are modified
|
|
||||||
;; (the GC doesn't trace those pointers).
|
|
||||||
(purify-flag nil))
|
|
||||||
(when (listp old-adv-cc)
|
(when (listp old-adv-cc)
|
||||||
(set-advertised-calling-convention gfun old-adv-cc nil))
|
(set-advertised-calling-convention gfun old-adv-cc nil))
|
||||||
;; But do use `defalias', so that it interacts properly with nadvice,
|
;; But do use `defalias', so that it interacts properly with nadvice,
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@
|
||||||
|
|
||||||
;; The `assert' macro from the cl package signals
|
;; The `assert' macro from the cl package signals
|
||||||
;; `cl-assertion-failed' at runtime so always define it.
|
;; `cl-assertion-failed' at runtime so always define it.
|
||||||
(define-error 'cl-assertion-failed (purecopy "Assertion failed"))
|
(define-error 'cl-assertion-failed "Assertion failed")
|
||||||
|
|
||||||
(defun cl--assertion-failed (form &optional string sargs args)
|
(defun cl--assertion-failed (form &optional string sargs args)
|
||||||
(if debug-on-error
|
(if debug-on-error
|
||||||
|
|
@ -183,20 +183,7 @@
|
||||||
(add-to-list 'current-load-list `(define-type . ,name))
|
(add-to-list 'current-load-list `(define-type . ,name))
|
||||||
(cl--struct-register-child parent-class tag)
|
(cl--struct-register-child parent-class tag)
|
||||||
(unless (or (eq named t) (eq tag name))
|
(unless (or (eq named t) (eq tag name))
|
||||||
;; We used to use `defconst' instead of `set' but that
|
(eval `(defconst ,tag ',class) t)
|
||||||
;; has a side-effect of purecopying during the dump, so that the
|
|
||||||
;; class object stored in the tag ends up being a *copy* of the
|
|
||||||
;; one stored in the `cl--class' property! We could have fixed
|
|
||||||
;; this needless duplication by using the purecopied object, but
|
|
||||||
;; that then breaks down a bit later when we modify the
|
|
||||||
;; cl-structure-class class object to close the recursion
|
|
||||||
;; between cl-structure-object and cl-structure-class (because
|
|
||||||
;; modifying purecopied objects is not allowed. Since this is
|
|
||||||
;; done during dumping, we could relax this rule and allow the
|
|
||||||
;; modification, but it's cumbersome).
|
|
||||||
;; So in the end, it's easier to just avoid the duplication by
|
|
||||||
;; avoiding the use of the purespace here.
|
|
||||||
(set tag class)
|
|
||||||
;; In the cl-generic support, we need to be able to check
|
;; In the cl-generic support, we need to be able to check
|
||||||
;; if a vector is a cl-struct object, without knowing its particular type.
|
;; if a vector is a cl-struct object, without knowing its particular type.
|
||||||
;; So we use the (otherwise) unused function slots of the tag symbol
|
;; So we use the (otherwise) unused function slots of the tag symbol
|
||||||
|
|
|
||||||
|
|
@ -160,7 +160,7 @@ Print the contents hidden by the ellipsis to STREAM."
|
||||||
'follow-link t
|
'follow-link t
|
||||||
'action (lambda (button)
|
'action (lambda (button)
|
||||||
(disassemble (button-get button 'byte-code-function)))
|
(disassemble (button-get button 'byte-code-function)))
|
||||||
'help-echo (purecopy "mouse-2, RET: disassemble this function"))
|
'help-echo "mouse-2, RET: disassemble this function")
|
||||||
|
|
||||||
(defvar cl-print-compiled nil
|
(defvar cl-print-compiled nil
|
||||||
"Control how to print byte-compiled functions.
|
"Control how to print byte-compiled functions.
|
||||||
|
|
|
||||||
|
|
@ -155,7 +155,7 @@ native compilation runs.")
|
||||||
|
|
||||||
(defvar comp-curr-allocation-class 'd-default
|
(defvar comp-curr-allocation-class 'd-default
|
||||||
"Current allocation class.
|
"Current allocation class.
|
||||||
Can be one of: `d-default', `d-impure' or `d-ephemeral'. See `comp-ctxt'.")
|
Can be one of: `d-default' or `d-ephemeral'. See `comp-ctxt'.")
|
||||||
|
|
||||||
(defconst comp-passes '(comp--spill-lap
|
(defconst comp-passes '(comp--spill-lap
|
||||||
comp--limplify
|
comp--limplify
|
||||||
|
|
@ -395,9 +395,6 @@ Needed to replace immediate byte-compiled lambdas with the compiled reference.")
|
||||||
:documentation "Documentation index -> documentation")
|
:documentation "Documentation index -> documentation")
|
||||||
(d-default (make-comp-data-container) :type comp-data-container
|
(d-default (make-comp-data-container) :type comp-data-container
|
||||||
:documentation "Standard data relocated in use by functions.")
|
:documentation "Standard data relocated in use by functions.")
|
||||||
(d-impure (make-comp-data-container) :type comp-data-container
|
|
||||||
:documentation "Relocated data that cannot be moved into pure space.
|
|
||||||
This is typically for top-level forms other than defun.")
|
|
||||||
(d-ephemeral (make-comp-data-container) :type comp-data-container
|
(d-ephemeral (make-comp-data-container) :type comp-data-container
|
||||||
:documentation "Relocated data not necessary after load.")
|
:documentation "Relocated data not necessary after load.")
|
||||||
(with-late-load nil :type boolean
|
(with-late-load nil :type boolean
|
||||||
|
|
@ -1190,7 +1187,7 @@ Return value is the fall-through block name."
|
||||||
(defun comp--jump-table-optimizable (jmp-table)
|
(defun comp--jump-table-optimizable (jmp-table)
|
||||||
"Return t if JMP-TABLE can be optimized out."
|
"Return t if JMP-TABLE can be optimized out."
|
||||||
;; Identify LAP sequences like:
|
;; Identify LAP sequences like:
|
||||||
;; (byte-constant #s(hash-table test eq purecopy t data (created 126 deleted 126 changed 126)) . 24)
|
;; (byte-constant #s(hash-table test eq data (created 126 deleted 126 changed 126)) . 24)
|
||||||
;; (byte-switch)
|
;; (byte-switch)
|
||||||
;; (TAG 126 . 10)
|
;; (TAG 126 . 10)
|
||||||
(let ((targets (hash-table-values jmp-table)))
|
(let ((targets (hash-table-values jmp-table)))
|
||||||
|
|
@ -1615,7 +1612,7 @@ and the annotation emission."
|
||||||
(unless for-late-load
|
(unless for-late-load
|
||||||
(comp--emit
|
(comp--emit
|
||||||
(comp--call 'eval
|
(comp--call 'eval
|
||||||
(let ((comp-curr-allocation-class 'd-impure))
|
(let ((comp-curr-allocation-class 'd-default))
|
||||||
(make--comp-mvar :constant
|
(make--comp-mvar :constant
|
||||||
(byte-to-native-top-level-form form)))
|
(byte-to-native-top-level-form form)))
|
||||||
(make--comp-mvar :constant
|
(make--comp-mvar :constant
|
||||||
|
|
@ -1625,7 +1622,7 @@ and the annotation emission."
|
||||||
"Emit the creation of subrs for lambda FUNC.
|
"Emit the creation of subrs for lambda FUNC.
|
||||||
These are stored in the reloc data array."
|
These are stored in the reloc data array."
|
||||||
(let ((args (comp--prepare-args-for-top-level func)))
|
(let ((args (comp--prepare-args-for-top-level func)))
|
||||||
(let ((comp-curr-allocation-class 'd-impure))
|
(let ((comp-curr-allocation-class 'd-default))
|
||||||
(comp--add-const-to-relocs (comp-func-byte-func func)))
|
(comp--add-const-to-relocs (comp-func-byte-func func)))
|
||||||
(comp--emit
|
(comp--emit
|
||||||
(comp--call 'comp--register-lambda
|
(comp--call 'comp--register-lambda
|
||||||
|
|
@ -3257,7 +3254,10 @@ Set it into the `type' slot."
|
||||||
;; from the corresponding m-var.
|
;; from the corresponding m-var.
|
||||||
collect (if (gethash obj
|
collect (if (gethash obj
|
||||||
(comp-ctxt-byte-func-to-func-h comp-ctxt))
|
(comp-ctxt-byte-func-to-func-h comp-ctxt))
|
||||||
'lambda-fixup
|
;; Hack not to have `--lambda-fixup' in
|
||||||
|
;; data relocations as it would trigger the
|
||||||
|
;; check in 'check_comp_unit_relocs'.
|
||||||
|
(intern (concat (make-string 1 ?-) "-lambda-fixup"))
|
||||||
obj))))
|
obj))))
|
||||||
|
|
||||||
(defun comp--finalize-relocs ()
|
(defun comp--finalize-relocs ()
|
||||||
|
|
@ -3271,28 +3271,15 @@ Update all insn accordingly."
|
||||||
|
|
||||||
(let* ((d-default (comp-ctxt-d-default comp-ctxt))
|
(let* ((d-default (comp-ctxt-d-default comp-ctxt))
|
||||||
(d-default-idx (comp-data-container-idx d-default))
|
(d-default-idx (comp-data-container-idx d-default))
|
||||||
(d-impure (comp-ctxt-d-impure comp-ctxt))
|
|
||||||
(d-impure-idx (comp-data-container-idx d-impure))
|
|
||||||
(d-ephemeral (comp-ctxt-d-ephemeral comp-ctxt))
|
(d-ephemeral (comp-ctxt-d-ephemeral comp-ctxt))
|
||||||
(d-ephemeral-idx (comp-data-container-idx d-ephemeral)))
|
(d-ephemeral-idx (comp-data-container-idx d-ephemeral)))
|
||||||
;; We never want compiled lambdas ending up in pure space. A copy must
|
;; Remove entries in d-ephemeral already present in d-default
|
||||||
;; be already present in impure (see `comp--emit-lambda-for-top-level').
|
|
||||||
(cl-loop for obj being each hash-keys of d-default-idx
|
|
||||||
when (gethash obj (comp-ctxt-lambda-fixups-h comp-ctxt))
|
|
||||||
do (cl-assert (gethash obj d-impure-idx))
|
|
||||||
(remhash obj d-default-idx))
|
|
||||||
;; Remove entries in d-impure already present in d-default.
|
|
||||||
(cl-loop for obj being each hash-keys of d-impure-idx
|
|
||||||
when (gethash obj d-default-idx)
|
|
||||||
do (remhash obj d-impure-idx))
|
|
||||||
;; Remove entries in d-ephemeral already present in d-default or
|
|
||||||
;; d-impure.
|
|
||||||
(cl-loop for obj being each hash-keys of d-ephemeral-idx
|
(cl-loop for obj being each hash-keys of d-ephemeral-idx
|
||||||
when (or (gethash obj d-default-idx) (gethash obj d-impure-idx))
|
when (gethash obj d-default-idx)
|
||||||
do (remhash obj d-ephemeral-idx))
|
do (remhash obj d-ephemeral-idx))
|
||||||
;; Fix-up indexes in each relocation class and fill corresponding
|
;; Fix-up indexes in each relocation class and fill corresponding
|
||||||
;; reloc lists.
|
;; reloc lists.
|
||||||
(mapc #'comp--finalize-container (list d-default d-impure d-ephemeral))
|
(mapc #'comp--finalize-container (list d-default d-ephemeral))
|
||||||
;; Make a vector from the function documentation hash table.
|
;; Make a vector from the function documentation hash table.
|
||||||
(cl-loop with h = (comp-ctxt-function-docs comp-ctxt)
|
(cl-loop with h = (comp-ctxt-function-docs comp-ctxt)
|
||||||
with v = (make-vector (hash-table-count h) nil)
|
with v = (make-vector (hash-table-count h) nil)
|
||||||
|
|
@ -3302,13 +3289,13 @@ Update all insn accordingly."
|
||||||
finally
|
finally
|
||||||
do (setf (comp-ctxt-function-docs comp-ctxt) v))
|
do (setf (comp-ctxt-function-docs comp-ctxt) v))
|
||||||
;; And now we conclude with the following: We need to pass to
|
;; And now we conclude with the following: We need to pass to
|
||||||
;; `comp--register-lambda' the index in the impure relocation
|
;; `comp--register-lambda' the index in the relocation array to
|
||||||
;; array to store revived lambdas, but given we know it only now
|
;; store revived lambdas, but given we know it only now we fix it up
|
||||||
;; we fix it up as last.
|
;; as last.
|
||||||
(cl-loop for f being each hash-keys of (comp-ctxt-lambda-fixups-h comp-ctxt)
|
(cl-loop for f being each hash-keys of (comp-ctxt-lambda-fixups-h comp-ctxt)
|
||||||
using (hash-value mvar)
|
using (hash-value mvar)
|
||||||
with reverse-h = (make-hash-table) ;; Make sure idx is unique.
|
with reverse-h = (make-hash-table) ;; Make sure idx is unique.
|
||||||
for idx = (gethash f d-impure-idx)
|
for idx = (gethash f d-default-idx)
|
||||||
do
|
do
|
||||||
(cl-assert (null (gethash idx reverse-h)))
|
(cl-assert (null (gethash idx reverse-h)))
|
||||||
(cl-assert (fixnump idx))
|
(cl-assert (fixnump idx))
|
||||||
|
|
|
||||||
|
|
@ -220,7 +220,7 @@ No problems result if this variable is not bound.
|
||||||
(with-no-warnings (defvar ,map (make-sparse-keymap)))
|
(with-no-warnings (defvar ,map (make-sparse-keymap)))
|
||||||
(unless (get ',map 'variable-documentation)
|
(unless (get ',map 'variable-documentation)
|
||||||
(put ',map 'variable-documentation
|
(put ',map 'variable-documentation
|
||||||
(purecopy ,(format "Keymap for `%s'." child))))
|
,(format "Keymap for `%s'." child)))
|
||||||
,(if declare-syntax
|
,(if declare-syntax
|
||||||
`(progn
|
`(progn
|
||||||
(defvar ,syntax)
|
(defvar ,syntax)
|
||||||
|
|
@ -229,7 +229,7 @@ No problems result if this variable is not bound.
|
||||||
(defvar ,syntax (make-syntax-table)))
|
(defvar ,syntax (make-syntax-table)))
|
||||||
(unless (get ',syntax 'variable-documentation)
|
(unless (get ',syntax 'variable-documentation)
|
||||||
(put ',syntax 'variable-documentation
|
(put ',syntax 'variable-documentation
|
||||||
(purecopy ,(format "Syntax table for `%s'." child))))))
|
,(format "Syntax table for `%s'." child)))))
|
||||||
,(if declare-abbrev
|
,(if declare-abbrev
|
||||||
`(progn
|
`(progn
|
||||||
(defvar ,abbrev)
|
(defvar ,abbrev)
|
||||||
|
|
@ -239,7 +239,7 @@ No problems result if this variable is not bound.
|
||||||
(progn (define-abbrev-table ',abbrev nil) ,abbrev)))
|
(progn (define-abbrev-table ',abbrev nil) ,abbrev)))
|
||||||
(unless (get ',abbrev 'variable-documentation)
|
(unless (get ',abbrev 'variable-documentation)
|
||||||
(put ',abbrev 'variable-documentation
|
(put ',abbrev 'variable-documentation
|
||||||
(purecopy ,(format "Abbrev table for `%s'." child))))))
|
,(format "Abbrev table for `%s'." child)))))
|
||||||
(if (fboundp 'derived-mode-set-parent) ;; Emacs≥30.1
|
(if (fboundp 'derived-mode-set-parent) ;; Emacs≥30.1
|
||||||
(derived-mode-set-parent ',child ',parent)
|
(derived-mode-set-parent ',child ',parent)
|
||||||
(put ',child 'derived-mode-parent ',parent))
|
(put ',child 'derived-mode-parent ',parent))
|
||||||
|
|
|
||||||
|
|
@ -269,7 +269,7 @@ INIT-VALUE LIGHTER KEYMAP.
|
||||||
(setq body (cdr body))
|
(setq body (cdr body))
|
||||||
(pcase keyw
|
(pcase keyw
|
||||||
(:init-value (setq init-value (pop body)))
|
(:init-value (setq init-value (pop body)))
|
||||||
(:lighter (setq lighter (purecopy (pop body))))
|
(:lighter (setq lighter (pop body)))
|
||||||
(:global (setq globalp (pop body))
|
(:global (setq globalp (pop body))
|
||||||
(when (and globalp (symbolp mode))
|
(when (and globalp (symbolp mode))
|
||||||
(setq setter `(setq-default ,mode))
|
(setq setter `(setq-default ,mode))
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,7 @@ If nil, truncated messages will just have \"...\" to indicate truncation."
|
||||||
:version "28.1")
|
:version "28.1")
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom eldoc-minor-mode-string (purecopy " ElDoc")
|
(defcustom eldoc-minor-mode-string " ElDoc"
|
||||||
"String to display in mode line when ElDoc Mode is enabled; nil for none."
|
"String to display in mode line when ElDoc Mode is enabled; nil for none."
|
||||||
:type '(choice string (const :tag "None" nil)))
|
:type '(choice string (const :tag "None" nil)))
|
||||||
|
|
||||||
|
|
@ -154,7 +154,6 @@ this file since the obarray is initialized at load time.
|
||||||
Remember to keep it a prime number to improve hash performance.")
|
Remember to keep it a prime number to improve hash performance.")
|
||||||
|
|
||||||
(defvar eldoc-message-commands
|
(defvar eldoc-message-commands
|
||||||
;; Don't define as `defconst' since it would then go to (read-only) purespace.
|
|
||||||
(obarray-make eldoc-message-commands-table-size)
|
(obarray-make eldoc-message-commands-table-size)
|
||||||
"Commands after which it is appropriate to print in the echo area.
|
"Commands after which it is appropriate to print in the echo area.
|
||||||
ElDoc does not try to print function arglists, etc., after just any command,
|
ElDoc does not try to print function arglists, etc., after just any command,
|
||||||
|
|
@ -166,7 +165,6 @@ directly. Instead, use `eldoc-add-command' and `eldoc-remove-command'.")
|
||||||
|
|
||||||
;; Not a constant.
|
;; Not a constant.
|
||||||
(defvar eldoc-last-data (make-vector 3 nil)
|
(defvar eldoc-last-data (make-vector 3 nil)
|
||||||
;; Don't define as `defconst' since it would then go to (read-only) purespace.
|
|
||||||
"Bookkeeping; elements are as follows:
|
"Bookkeeping; elements are as follows:
|
||||||
0 - contains the last symbol read from the buffer.
|
0 - contains the last symbol read from the buffer.
|
||||||
1 - contains the string last displayed in the echo area for variables,
|
1 - contains the string last displayed in the echo area for variables,
|
||||||
|
|
|
||||||
|
|
@ -182,7 +182,7 @@ If CURRENT-NAME is a string, that is the `use instead' message.
|
||||||
WHEN should be a string indicating when the variable was first
|
WHEN should be a string indicating when the variable was first
|
||||||
made obsolete, for example a date or a release number."
|
made obsolete, for example a date or a release number."
|
||||||
(put obsolete-name 'byte-obsolete-generalized-variable
|
(put obsolete-name 'byte-obsolete-generalized-variable
|
||||||
(purecopy (list current-name when)))
|
(list current-name when))
|
||||||
obsolete-name)
|
obsolete-name)
|
||||||
|
|
||||||
;; Additions for `declare'. We specify the values as named aliases so
|
;; Additions for `declare'. We specify the values as named aliases so
|
||||||
|
|
|
||||||
|
|
@ -94,7 +94,7 @@
|
||||||
(defvar lisp-imenu-generic-expression
|
(defvar lisp-imenu-generic-expression
|
||||||
(list
|
(list
|
||||||
(list nil
|
(list nil
|
||||||
(purecopy (concat "^\\s-*("
|
(concat "^\\s-*("
|
||||||
(regexp-opt
|
(regexp-opt
|
||||||
'("defun" "defmacro"
|
'("defun" "defmacro"
|
||||||
;; Elisp.
|
;; Elisp.
|
||||||
|
|
@ -115,18 +115,18 @@
|
||||||
;; CLOS and EIEIO
|
;; CLOS and EIEIO
|
||||||
"defgeneric" "defmethod")
|
"defgeneric" "defmethod")
|
||||||
t)
|
t)
|
||||||
"\\s-+\\(" (rx lisp-mode-symbol) "\\)"))
|
"\\s-+\\(" (rx lisp-mode-symbol) "\\)")
|
||||||
2)
|
2)
|
||||||
;; Like the previous, but uses a quoted symbol as the name.
|
;; Like the previous, but uses a quoted symbol as the name.
|
||||||
(list nil
|
(list nil
|
||||||
(purecopy (concat "^\\s-*("
|
(concat "^\\s-*("
|
||||||
(regexp-opt
|
(regexp-opt
|
||||||
'("defalias" "define-obsolete-function-alias")
|
'("defalias" "define-obsolete-function-alias")
|
||||||
t)
|
t)
|
||||||
"\\s-+'\\(" (rx lisp-mode-symbol) "\\)"))
|
"\\s-+'\\(" (rx lisp-mode-symbol) "\\)")
|
||||||
2)
|
2)
|
||||||
(list (purecopy "Variables")
|
(list "Variables"
|
||||||
(purecopy (concat "^\\s-*("
|
(concat "^\\s-*("
|
||||||
(regexp-opt
|
(regexp-opt
|
||||||
'(;; Elisp
|
'(;; Elisp
|
||||||
"defconst" "defcustom" "defvar-keymap"
|
"defconst" "defcustom" "defvar-keymap"
|
||||||
|
|
@ -134,16 +134,16 @@
|
||||||
"defconstant"
|
"defconstant"
|
||||||
"defparameter" "define-symbol-macro")
|
"defparameter" "define-symbol-macro")
|
||||||
t)
|
t)
|
||||||
"\\s-+\\(" (rx lisp-mode-symbol) "\\)"))
|
"\\s-+\\(" (rx lisp-mode-symbol) "\\)")
|
||||||
2)
|
2)
|
||||||
;; For `defvar'/`defvar-local', we ignore (defvar FOO) constructs.
|
;; For `defvar'/`defvar-local', we ignore (defvar FOO) constructs.
|
||||||
(list (purecopy "Variables")
|
(list "Variables"
|
||||||
(purecopy (concat "^\\s-*(defvar\\(?:-local\\)?\\s-+\\("
|
(concat "^\\s-*(defvar\\(?:-local\\)?\\s-+\\("
|
||||||
(rx lisp-mode-symbol) "\\)"
|
(rx lisp-mode-symbol) "\\)"
|
||||||
"[[:space:]\n]+[^)]"))
|
"[[:space:]\n]+[^)]")
|
||||||
1)
|
1)
|
||||||
(list (purecopy "Types")
|
(list "Types"
|
||||||
(purecopy (concat "^\\s-*("
|
(concat "^\\s-*("
|
||||||
(regexp-opt
|
(regexp-opt
|
||||||
'(;; Elisp
|
'(;; Elisp
|
||||||
"defgroup" "deftheme"
|
"defgroup" "deftheme"
|
||||||
|
|
@ -155,7 +155,7 @@
|
||||||
;; CLOS and EIEIO
|
;; CLOS and EIEIO
|
||||||
"defclass")
|
"defclass")
|
||||||
t)
|
t)
|
||||||
"\\s-+'?\\(" (rx lisp-mode-symbol) "\\)"))
|
"\\s-+'?\\(" (rx lisp-mode-symbol) "\\)")
|
||||||
2))
|
2))
|
||||||
|
|
||||||
"Imenu generic expression for Lisp mode. See `imenu-generic-expression'.")
|
"Imenu generic expression for Lisp mode. See `imenu-generic-expression'.")
|
||||||
|
|
|
||||||
|
|
@ -441,7 +441,7 @@ don't include."
|
||||||
(file-name-sans-extension
|
(file-name-sans-extension
|
||||||
(file-name-nondirectory file)))))
|
(file-name-nondirectory file)))))
|
||||||
(push (list (or local-outfile main-outfile) file
|
(push (list (or local-outfile main-outfile) file
|
||||||
`(push (purecopy ',(cons (intern package) version))
|
`(push ',(cons (intern package) version)
|
||||||
package--builtin-versions))
|
package--builtin-versions))
|
||||||
defs))))
|
defs))))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -172,7 +172,7 @@ also call that function before the next warning.")
|
||||||
;; safely, testing the existing value, before they call one of the
|
;; safely, testing the existing value, before they call one of the
|
||||||
;; warnings functions.
|
;; warnings functions.
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defvar warning-type-format (purecopy " (%s)")
|
(defvar warning-type-format " (%s)"
|
||||||
"Format for displaying the warning type in the warning message.
|
"Format for displaying the warning type in the warning message.
|
||||||
The result of formatting the type this way gets included in the
|
The result of formatting the type this way gets included in the
|
||||||
message under the control of the string in `warning-levels'.")
|
message under the control of the string in `warning-levels'.")
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@
|
||||||
(if (fboundp 'epa-file-name-regexp-update)
|
(if (fboundp 'epa-file-name-regexp-update)
|
||||||
(epa-file-name-regexp-update)))
|
(epa-file-name-regexp-update)))
|
||||||
|
|
||||||
(defcustom epa-file-name-regexp (purecopy "\\.gpg\\(~\\|\\.~[0-9]+~\\)?\\'")
|
(defcustom epa-file-name-regexp "\\.gpg\\(~\\|\\.~[0-9]+~\\)?\\'"
|
||||||
"Regexp which matches filenames to be encrypted with GnuPG.
|
"Regexp which matches filenames to be encrypted with GnuPG.
|
||||||
|
|
||||||
If you set this outside Custom while epa-file is already enabled,
|
If you set this outside Custom while epa-file is already enabled,
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
|
|
||||||
;;; Code:
|
;;; Code:
|
||||||
|
|
||||||
(defcustom term-file-prefix (purecopy "term/")
|
(defcustom term-file-prefix "term/"
|
||||||
"If non-nil, Emacs startup performs terminal-specific initialization.
|
"If non-nil, Emacs startup performs terminal-specific initialization.
|
||||||
It does this by: (load (concat term-file-prefix (getenv \"TERM\")))
|
It does this by: (load (concat term-file-prefix (getenv \"TERM\")))
|
||||||
|
|
||||||
|
|
@ -99,7 +99,6 @@ a font height that isn't optimal."
|
||||||
;; unavailable, and we fall back on the courier and helv families,
|
;; unavailable, and we fall back on the courier and helv families,
|
||||||
;; which are generally available.
|
;; which are generally available.
|
||||||
(defcustom face-font-family-alternatives
|
(defcustom face-font-family-alternatives
|
||||||
(mapcar (lambda (arg) (mapcar 'purecopy arg))
|
|
||||||
'(("Monospace" "Cascadia Code" "Lucida Console" "courier" "fixed")
|
'(("Monospace" "Cascadia Code" "Lucida Console" "courier" "fixed")
|
||||||
|
|
||||||
;; Monospace Serif is an Emacs invention, intended to work around
|
;; Monospace Serif is an Emacs invention, intended to work around
|
||||||
|
|
@ -137,7 +136,7 @@ a font height that isn't optimal."
|
||||||
;; https://en.wikipedia.org/wiki/List_of_typefaces_included_with_Microsoft_Windows
|
;; https://en.wikipedia.org/wiki/List_of_typefaces_included_with_Microsoft_Windows
|
||||||
"Calibri" "Tahoma" "Lucida Sans Unicode"
|
"Calibri" "Tahoma" "Lucida Sans Unicode"
|
||||||
"helv" "helvetica" "arial" "fixed")
|
"helv" "helvetica" "arial" "fixed")
|
||||||
("helv" "helvetica" "arial" "fixed")))
|
("helv" "helvetica" "arial" "fixed"))
|
||||||
"Alist of alternative font family names.
|
"Alist of alternative font family names.
|
||||||
Each element has the form (FAMILY ALTERNATIVE1 ALTERNATIVE2 ...).
|
Each element has the form (FAMILY ALTERNATIVE1 ALTERNATIVE2 ...).
|
||||||
If fonts of family FAMILY can't be loaded, try ALTERNATIVE1, then
|
If fonts of family FAMILY can't be loaded, try ALTERNATIVE1, then
|
||||||
|
|
@ -152,7 +151,6 @@ ALTERNATIVE2 etc."
|
||||||
|
|
||||||
;; This is defined originally in xfaces.c.
|
;; This is defined originally in xfaces.c.
|
||||||
(defcustom face-font-registry-alternatives
|
(defcustom face-font-registry-alternatives
|
||||||
(mapcar (lambda (arg) (mapcar 'purecopy arg))
|
|
||||||
(if (featurep 'w32)
|
(if (featurep 'w32)
|
||||||
'(("iso8859-1" "ms-oemlatin")
|
'(("iso8859-1" "ms-oemlatin")
|
||||||
("gb2312.1980" "gb2312" "gbk" "gb18030")
|
("gb2312.1980" "gb2312" "gbk" "gb18030")
|
||||||
|
|
@ -162,7 +160,7 @@ ALTERNATIVE2 etc."
|
||||||
'(("gb2312.1980" "gb2312.80&gb8565.88" "gbk" "gb18030")
|
'(("gb2312.1980" "gb2312.80&gb8565.88" "gbk" "gb18030")
|
||||||
("jisx0208.1990" "jisx0208.1983" "jisx0208.1978")
|
("jisx0208.1990" "jisx0208.1983" "jisx0208.1978")
|
||||||
("ksc5601.1989" "ksx1001.1992" "ksc5601.1987")
|
("ksc5601.1989" "ksx1001.1992" "ksc5601.1987")
|
||||||
("muletibetan-2" "muletibetan-0"))))
|
("muletibetan-2" "muletibetan-0")))
|
||||||
"Alist of alternative font registry names.
|
"Alist of alternative font registry names.
|
||||||
Each element has the form (REGISTRY ALTERNATIVE1 ALTERNATIVE2 ...).
|
Each element has the form (REGISTRY ALTERNATIVE1 ALTERNATIVE2 ...).
|
||||||
If fonts of registry REGISTRY can be loaded, font selection
|
If fonts of registry REGISTRY can be loaded, font selection
|
||||||
|
|
@ -354,11 +352,6 @@ is either `foreground-color', `background-color', or a keyword."
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
(defcustom face-x-resources
|
(defcustom face-x-resources
|
||||||
(mapcar
|
|
||||||
(lambda (arg)
|
|
||||||
;; FIXME; can we purecopy some of the conses too?
|
|
||||||
(cons (car arg)
|
|
||||||
(cons (purecopy (car (cdr arg))) (purecopy (cdr (cdr arg))))))
|
|
||||||
'((:family (".attributeFamily" . "Face.AttributeFamily"))
|
'((:family (".attributeFamily" . "Face.AttributeFamily"))
|
||||||
(:foundry (".attributeFoundry" . "Face.AttributeFoundry"))
|
(:foundry (".attributeFoundry" . "Face.AttributeFoundry"))
|
||||||
(:width (".attributeWidth" . "Face.AttributeWidth"))
|
(:width (".attributeWidth" . "Face.AttributeWidth"))
|
||||||
|
|
@ -381,7 +374,7 @@ is either `foreground-color', `background-color', or a keyword."
|
||||||
(:bold (".attributeBold" . "Face.AttributeBold"))
|
(:bold (".attributeBold" . "Face.AttributeBold"))
|
||||||
(:italic (".attributeItalic" . "Face.AttributeItalic"))
|
(:italic (".attributeItalic" . "Face.AttributeItalic"))
|
||||||
(:font (".attributeFont" . "Face.AttributeFont"))
|
(:font (".attributeFont" . "Face.AttributeFont"))
|
||||||
(:inherit (".attributeInherit" . "Face.AttributeInherit"))))
|
(:inherit (".attributeInherit" . "Face.AttributeInherit")))
|
||||||
"List of X resources and classes for face attributes.
|
"List of X resources and classes for face attributes.
|
||||||
Each element has the form (ATTRIBUTE ENTRY1 ENTRY2...) where ATTRIBUTE is
|
Each element has the form (ATTRIBUTE ENTRY1 ENTRY2...) where ATTRIBUTE is
|
||||||
the name of a face attribute, and each ENTRY is a cons of the form
|
the name of a face attribute, and each ENTRY is a cons of the form
|
||||||
|
|
@ -664,7 +657,7 @@ If FACE is a face-alias, get the documentation for the target face."
|
||||||
(defun set-face-documentation (face string)
|
(defun set-face-documentation (face string)
|
||||||
"Set the documentation string for FACE to STRING."
|
"Set the documentation string for FACE to STRING."
|
||||||
;; Perhaps the text should go in DOC.
|
;; Perhaps the text should go in DOC.
|
||||||
(put face 'face-documentation (purecopy string)))
|
(put face 'face-documentation string))
|
||||||
|
|
||||||
|
|
||||||
(define-obsolete-function-alias 'face-doc-string #'face-documentation "29.1")
|
(define-obsolete-function-alias 'face-doc-string #'face-documentation "29.1")
|
||||||
|
|
@ -863,7 +856,6 @@ setting `:weight' to `bold', and a value of t for `:italic' is
|
||||||
equivalent to setting `:slant' to `italic'. But if `:weight' is
|
equivalent to setting `:slant' to `italic'. But if `:weight' is
|
||||||
specified in the face spec, `:bold' is ignored, and if `:slant'
|
specified in the face spec, `:bold' is ignored, and if `:slant'
|
||||||
is specified, `:italic' is ignored."
|
is specified, `:italic' is ignored."
|
||||||
(setq args (purecopy args))
|
|
||||||
(let ((where (if (null frame) 0 frame))
|
(let ((where (if (null frame) 0 frame))
|
||||||
(spec args)
|
(spec args)
|
||||||
family foundry orig-family orig-foundry)
|
family foundry orig-family orig-foundry)
|
||||||
|
|
@ -893,15 +885,13 @@ is specified, `:italic' is ignored."
|
||||||
(setq family orig-family)
|
(setq family orig-family)
|
||||||
(setq foundry orig-foundry)))
|
(setq foundry orig-foundry)))
|
||||||
(when (or (stringp family) (eq family 'unspecified))
|
(when (or (stringp family) (eq family 'unspecified))
|
||||||
(internal-set-lisp-face-attribute face :family (purecopy family)
|
(internal-set-lisp-face-attribute face :family family where))
|
||||||
where))
|
|
||||||
(when (or (stringp foundry) (eq foundry 'unspecified))
|
(when (or (stringp foundry) (eq foundry 'unspecified))
|
||||||
(internal-set-lisp-face-attribute face :foundry (purecopy foundry)
|
(internal-set-lisp-face-attribute face :foundry foundry where)))
|
||||||
where)))
|
|
||||||
(while args
|
(while args
|
||||||
(unless (memq (car args) '(:family :foundry))
|
(unless (memq (car args) '(:family :foundry))
|
||||||
(internal-set-lisp-face-attribute face (car args)
|
(internal-set-lisp-face-attribute face (car args)
|
||||||
(purecopy (cadr args))
|
(cadr args)
|
||||||
where))
|
where))
|
||||||
(setq args (cddr args)))))
|
(setq args (cddr args)))))
|
||||||
|
|
||||||
|
|
@ -3192,16 +3182,15 @@ This face is used by `show-paren-mode'."
|
||||||
(encoding "[^-]+")
|
(encoding "[^-]+")
|
||||||
)
|
)
|
||||||
(setq x-font-regexp
|
(setq x-font-regexp
|
||||||
(purecopy (concat "\\`\\*?[-?*]"
|
(concat "\\`\\*?[-?*]"
|
||||||
foundry - family - weight\? - slant\? - swidth - adstyle -
|
foundry - family - weight\? - slant\? - swidth - adstyle -
|
||||||
pixelsize - pointsize - resx - resy - spacing - avgwidth -
|
pixelsize - pointsize - resx - resy - spacing - avgwidth -
|
||||||
registry - encoding "\\*?\\'"
|
registry - encoding "\\*?\\'"))
|
||||||
)))
|
|
||||||
(setq x-font-regexp-head
|
(setq x-font-regexp-head
|
||||||
(purecopy (concat "\\`[-?*]" foundry - family - weight\? - slant\?
|
(concat "\\`[-?*]" foundry - family - weight\? - slant\?
|
||||||
"\\([-*?]\\|\\'\\)")))
|
"\\([-*?]\\|\\'\\)"))
|
||||||
(setq x-font-regexp-slant (purecopy (concat - slant -)))
|
(setq x-font-regexp-slant (concat - slant -))
|
||||||
(setq x-font-regexp-weight (purecopy (concat - weight -)))
|
(setq x-font-regexp-weight (concat - weight -))
|
||||||
nil)
|
nil)
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -231,7 +231,7 @@ have fast storage with limited space, such as a RAM disk."
|
||||||
:type '(choice (const nil) directory))
|
:type '(choice (const nil) directory))
|
||||||
|
|
||||||
;; The system null device. (Should reference NULL_DEVICE from C.)
|
;; The system null device. (Should reference NULL_DEVICE from C.)
|
||||||
(defvar null-device (purecopy "/dev/null") "The system null device.")
|
(defvar null-device "/dev/null" "The system null device.")
|
||||||
|
|
||||||
(declare-function msdos-long-file-names "msdos.c")
|
(declare-function msdos-long-file-names "msdos.c")
|
||||||
(declare-function w32-long-file-name "w32proc.c")
|
(declare-function w32-long-file-name "w32proc.c")
|
||||||
|
|
@ -243,17 +243,15 @@ have fast storage with limited space, such as a RAM disk."
|
||||||
|
|
||||||
(defvar file-name-invalid-regexp
|
(defvar file-name-invalid-regexp
|
||||||
(cond ((and (eq system-type 'ms-dos) (not (msdos-long-file-names)))
|
(cond ((and (eq system-type 'ms-dos) (not (msdos-long-file-names)))
|
||||||
(purecopy
|
|
||||||
(concat "^\\([^A-Z[-`a-z]\\|..+\\)?:\\|" ; colon except after drive
|
(concat "^\\([^A-Z[-`a-z]\\|..+\\)?:\\|" ; colon except after drive
|
||||||
"[+, ;=|<>\"?*]\\|\\[\\|\\]\\|" ; invalid characters
|
"[+, ;=|<>\"?*]\\|\\[\\|\\]\\|" ; invalid characters
|
||||||
"[\000-\037]\\|" ; control characters
|
"[\000-\037]\\|" ; control characters
|
||||||
"\\(/\\.\\.?[^/]\\)\\|" ; leading dots
|
"\\(/\\.\\.?[^/]\\)\\|" ; leading dots
|
||||||
"\\(/[^/.]+\\.[^/.]*\\.\\)"))) ; more than a single dot
|
"\\(/[^/.]+\\.[^/.]*\\.\\)")) ; more than a single dot
|
||||||
((memq system-type '(ms-dos windows-nt cygwin))
|
((memq system-type '(ms-dos windows-nt cygwin))
|
||||||
(purecopy
|
|
||||||
(concat "^\\([^A-Z[-`a-z]\\|..+\\)?:\\|" ; colon except after drive
|
(concat "^\\([^A-Z[-`a-z]\\|..+\\)?:\\|" ; colon except after drive
|
||||||
"[|<>\"?*\000-\037]"))) ; invalid characters
|
"[|<>\"?*\000-\037]")) ; invalid characters
|
||||||
(t (purecopy "[\000]")))
|
(t "[\000]"))
|
||||||
"Regexp recognizing file names that aren't allowed by the filesystem.")
|
"Regexp recognizing file names that aren't allowed by the filesystem.")
|
||||||
|
|
||||||
(defcustom file-precious-flag nil
|
(defcustom file-precious-flag nil
|
||||||
|
|
@ -1175,7 +1173,7 @@ one or more of those symbols."
|
||||||
string-dir names string-file pred action)))))
|
string-dir names string-file pred action)))))
|
||||||
|
|
||||||
(defvar locate-dominating-stop-dir-regexp
|
(defvar locate-dominating-stop-dir-regexp
|
||||||
(purecopy "\\`\\(?:[\\/][\\/][^\\/]+[\\/]\\|/\\(?:net\\|afs\\|\\.\\.\\.\\)/\\)\\'")
|
"\\`\\(?:[\\/][\\/][^\\/]+[\\/]\\|/\\(?:net\\|afs\\|\\.\\.\\.\\)/\\)\\'"
|
||||||
"Regexp of directory names that stop the search in `locate-dominating-file'.
|
"Regexp of directory names that stop the search in `locate-dominating-file'.
|
||||||
Any directory whose name matches this regexp will be treated like
|
Any directory whose name matches this regexp will be treated like
|
||||||
a kind of root directory by `locate-dominating-file', which will stop its
|
a kind of root directory by `locate-dominating-file', which will stop its
|
||||||
|
|
@ -2988,9 +2986,6 @@ since only a single case-insensitive search through the alist is made."
|
||||||
;; Note: The entries for the modes defined in cc-mode.el (c-mode,
|
;; Note: The entries for the modes defined in cc-mode.el (c-mode,
|
||||||
;; c++-mode, java-mode and more) are added through autoload
|
;; c++-mode, java-mode and more) are added through autoload
|
||||||
;; directives in that file.
|
;; directives in that file.
|
||||||
(mapcar
|
|
||||||
(lambda (elt)
|
|
||||||
(cons (purecopy (car elt)) (cdr elt)))
|
|
||||||
`(;; do this first, so that .html.pl is Polish html, not Perl
|
`(;; do this first, so that .html.pl is Polish html, not Perl
|
||||||
("\\.[sx]?html?\\(\\.[a-zA-Z_]+\\)?\\'" . mhtml-mode)
|
("\\.[sx]?html?\\(\\.[a-zA-Z_]+\\)?\\'" . mhtml-mode)
|
||||||
("\\.svgz?\\'" . image-mode)
|
("\\.svgz?\\'" . image-mode)
|
||||||
|
|
@ -3260,7 +3255,7 @@ ARC\\|ZIP\\|LZH\\|LHA\\|ZOO\\|[JEW]AR\\|XPI\\|RAR\\|CBR\\|7Z\\|SQUASHFS\\)\\'" .
|
||||||
("\\.xcf\\'" . image-mode)
|
("\\.xcf\\'" . image-mode)
|
||||||
("\\.xmp\\'" . image-mode)
|
("\\.xmp\\'" . image-mode)
|
||||||
("\\.xwd\\'" . image-mode)
|
("\\.xwd\\'" . image-mode)
|
||||||
("\\.yuv\\'" . image-mode)))
|
("\\.yuv\\'" . image-mode))
|
||||||
"Alist of file name patterns vs corresponding major mode functions.
|
"Alist of file name patterns vs corresponding major mode functions.
|
||||||
Each element looks like (REGEXP . FUNCTION) or (REGEXP FUNCTION NON-NIL).
|
Each element looks like (REGEXP . FUNCTION) or (REGEXP FUNCTION NON-NIL).
|
||||||
\(NON-NIL stands for anything that is not nil; the value does not matter.)
|
\(NON-NIL stands for anything that is not nil; the value does not matter.)
|
||||||
|
|
@ -3293,9 +3288,6 @@ and `magic-mode-alist', which determines modes based on file contents.")
|
||||||
;; Note: The entries for the modes defined in cc-mode.el (awk-mode
|
;; Note: The entries for the modes defined in cc-mode.el (awk-mode
|
||||||
;; and pike-mode) are added through autoload directives in that
|
;; and pike-mode) are added through autoload directives in that
|
||||||
;; file.
|
;; file.
|
||||||
(mapcar
|
|
||||||
(lambda (l)
|
|
||||||
(cons (purecopy (car l)) (cdr l)))
|
|
||||||
'(("\\(mini\\)?perl5?" . perl-mode)
|
'(("\\(mini\\)?perl5?" . perl-mode)
|
||||||
("wishx?" . tcl-mode)
|
("wishx?" . tcl-mode)
|
||||||
("tcl\\(sh\\)?" . tcl-mode)
|
("tcl\\(sh\\)?" . tcl-mode)
|
||||||
|
|
@ -3320,7 +3312,7 @@ and `magic-mode-alist', which determines modes based on file contents.")
|
||||||
("make" . makefile-gmake-mode) ; Debian uses this
|
("make" . makefile-gmake-mode) ; Debian uses this
|
||||||
("guile" . scheme-mode)
|
("guile" . scheme-mode)
|
||||||
("clisp" . lisp-mode)
|
("clisp" . lisp-mode)
|
||||||
("emacs" . emacs-lisp-mode)))
|
("emacs" . emacs-lisp-mode))
|
||||||
"Alist mapping interpreter names to major modes.
|
"Alist mapping interpreter names to major modes.
|
||||||
This is used for files whose first lines match `auto-mode-interpreter-regexp'.
|
This is used for files whose first lines match `auto-mode-interpreter-regexp'.
|
||||||
Each element looks like (REGEXP . MODE).
|
Each element looks like (REGEXP . MODE).
|
||||||
|
|
@ -3334,13 +3326,13 @@ See also `auto-mode-alist'.")
|
||||||
;; because we are duplicating info from auto-mode-alist.
|
;; because we are duplicating info from auto-mode-alist.
|
||||||
;; TODO many elements of this list are also in auto-coding-alist.
|
;; TODO many elements of this list are also in auto-coding-alist.
|
||||||
(defvar inhibit-local-variables-regexps
|
(defvar inhibit-local-variables-regexps
|
||||||
(mapcar 'purecopy '("\\.tar\\'" "\\.t[bg]z\\'"
|
'("\\.tar\\'" "\\.t[bg]z\\'"
|
||||||
"\\.arc\\'" "\\.zip\\'" "\\.lzh\\'" "\\.lha\\'"
|
"\\.arc\\'" "\\.zip\\'" "\\.lzh\\'" "\\.lha\\'"
|
||||||
"\\.zoo\\'" "\\.[jew]ar\\'" "\\.xpi\\'" "\\.rar\\'"
|
"\\.zoo\\'" "\\.[jew]ar\\'" "\\.xpi\\'" "\\.rar\\'"
|
||||||
"\\.7z\\'"
|
"\\.7z\\'"
|
||||||
"\\.sx[dmicw]\\'" "\\.odt\\'"
|
"\\.sx[dmicw]\\'" "\\.odt\\'"
|
||||||
"\\.diff\\'" "\\.patch\\'"
|
"\\.diff\\'" "\\.patch\\'"
|
||||||
"\\.tiff?\\'" "\\.gif\\'" "\\.png\\'" "\\.jpe?g\\'"))
|
"\\.tiff?\\'" "\\.gif\\'" "\\.png\\'" "\\.jpe?g\\'")
|
||||||
"List of regexps matching file names in which to ignore local variables.
|
"List of regexps matching file names in which to ignore local variables.
|
||||||
This includes `-*-' lines as well as trailing \"Local Variables\" sections.
|
This includes `-*-' lines as well as trailing \"Local Variables\" sections.
|
||||||
Files matching this list are typically binary file formats.
|
Files matching this list are typically binary file formats.
|
||||||
|
|
@ -3381,7 +3373,6 @@ and `inhibit-local-variables-suffixes'. If
|
||||||
temp))
|
temp))
|
||||||
|
|
||||||
(defvar auto-mode-interpreter-regexp
|
(defvar auto-mode-interpreter-regexp
|
||||||
(purecopy
|
|
||||||
(concat
|
(concat
|
||||||
"#![ \t]*"
|
"#![ \t]*"
|
||||||
;; Optional group 1: env(1) invocation.
|
;; Optional group 1: env(1) invocation.
|
||||||
|
|
@ -3399,7 +3390,7 @@ and `inhibit-local-variables-suffixes'. If
|
||||||
"\\)?"
|
"\\)?"
|
||||||
"\\)?"
|
"\\)?"
|
||||||
;; Group 2: interpreter.
|
;; Group 2: interpreter.
|
||||||
"\\([^ \t\n]+\\)"))
|
"\\([^ \t\n]+\\)")
|
||||||
"Regexp matching interpreters, for file mode determination.
|
"Regexp matching interpreters, for file mode determination.
|
||||||
This regular expression is matched against the first line of a file
|
This regular expression is matched against the first line of a file
|
||||||
to determine the file's mode in `set-auto-mode'. If it matches, the file
|
to determine the file's mode in `set-auto-mode'. If it matches, the file
|
||||||
|
|
@ -3420,7 +3411,6 @@ If FUNCTION is nil, then it is not called. (That is a way of saying
|
||||||
(put 'magic-mode-alist 'risky-local-variable t)
|
(put 'magic-mode-alist 'risky-local-variable t)
|
||||||
|
|
||||||
(defvar magic-fallback-mode-alist
|
(defvar magic-fallback-mode-alist
|
||||||
(purecopy
|
|
||||||
`((image-type-auto-detected-p . image-mode)
|
`((image-type-auto-detected-p . image-mode)
|
||||||
("\\(PK00\\)?[P]K\003\004" . archive-mode) ; zip
|
("\\(PK00\\)?[P]K\003\004" . archive-mode) ; zip
|
||||||
;; The < comes before the groups (but the first) to reduce backtracking.
|
;; The < comes before the groups (but the first) to reduce backtracking.
|
||||||
|
|
@ -3442,7 +3432,7 @@ If FUNCTION is nil, then it is not called. (That is a way of saying
|
||||||
. sgml-mode)
|
. sgml-mode)
|
||||||
("\320\317\021\340\241\261\032\341" . doc-view-mode-maybe) ; Word documents 1997-2004
|
("\320\317\021\340\241\261\032\341" . doc-view-mode-maybe) ; Word documents 1997-2004
|
||||||
("%!PS" . ps-mode)
|
("%!PS" . ps-mode)
|
||||||
("# xmcd " . conf-unix-mode)))
|
("# xmcd " . conf-unix-mode))
|
||||||
"Like `magic-mode-alist' but has lower priority than `auto-mode-alist'.
|
"Like `magic-mode-alist' but has lower priority than `auto-mode-alist'.
|
||||||
Each element looks like (REGEXP . FUNCTION) or (MATCH-FUNCTION . FUNCTION).
|
Each element looks like (REGEXP . FUNCTION) or (MATCH-FUNCTION . FUNCTION).
|
||||||
After visiting a file, if REGEXP matches the text at the beginning of the
|
After visiting a file, if REGEXP matches the text at the beginning of the
|
||||||
|
|
@ -6251,7 +6241,7 @@ Before and after saving the buffer, this function runs
|
||||||
(set-buffer-modified-p nil))
|
(set-buffer-modified-p nil))
|
||||||
;; Return t so we don't ask about BUF again.
|
;; Return t so we don't ask about BUF again.
|
||||||
t)
|
t)
|
||||||
,(purecopy "skip this buffer and mark it unmodified"))
|
"skip this buffer and mark it unmodified")
|
||||||
(?\C-r
|
(?\C-r
|
||||||
,(lambda (buf)
|
,(lambda (buf)
|
||||||
(if (not enable-recursive-minibuffers)
|
(if (not enable-recursive-minibuffers)
|
||||||
|
|
@ -6261,12 +6251,12 @@ Before and after saving the buffer, this function runs
|
||||||
(recursive-edit))
|
(recursive-edit))
|
||||||
;; Return nil to ask about BUF again.
|
;; Return nil to ask about BUF again.
|
||||||
nil)
|
nil)
|
||||||
,(purecopy "view this buffer"))
|
"view this buffer")
|
||||||
(?\C-f
|
(?\C-f
|
||||||
,(lambda (buf)
|
,(lambda (buf)
|
||||||
(funcall save-some-buffers--switch-window-callback buf)
|
(funcall save-some-buffers--switch-window-callback buf)
|
||||||
(setq quit-flag t))
|
(setq quit-flag t))
|
||||||
,(purecopy "view this buffer and quit"))
|
"view this buffer and quit")
|
||||||
(?d ,(lambda (buf)
|
(?d ,(lambda (buf)
|
||||||
(if (null (buffer-file-name buf))
|
(if (null (buffer-file-name buf))
|
||||||
(message "Not applicable: no file")
|
(message "Not applicable: no file")
|
||||||
|
|
@ -6280,7 +6270,7 @@ Before and after saving the buffer, this function runs
|
||||||
(recursive-edit))))
|
(recursive-edit))))
|
||||||
;; Return nil to ask about BUF again.
|
;; Return nil to ask about BUF again.
|
||||||
nil)
|
nil)
|
||||||
,(purecopy "view changes in this buffer")))
|
"view changes in this buffer"))
|
||||||
"ACTION-ALIST argument used in call to `map-y-or-n-p'.")
|
"ACTION-ALIST argument used in call to `map-y-or-n-p'.")
|
||||||
(put 'save-some-buffers-action-alist 'risky-local-variable t)
|
(put 'save-some-buffers-action-alist 'risky-local-variable t)
|
||||||
|
|
||||||
|
|
@ -7776,14 +7766,12 @@ by `sh' are supported."
|
||||||
;; not its part. Make the regexp say so.
|
;; not its part. Make the regexp say so.
|
||||||
(concat "\\`" result "\\'")))
|
(concat "\\`" result "\\'")))
|
||||||
|
|
||||||
(defcustom list-directory-brief-switches
|
(defcustom list-directory-brief-switches "-CF"
|
||||||
(purecopy "-CF")
|
|
||||||
"Switches for `list-directory' to pass to `ls' for brief listing."
|
"Switches for `list-directory' to pass to `ls' for brief listing."
|
||||||
:type 'string
|
:type 'string
|
||||||
:group 'dired)
|
:group 'dired)
|
||||||
|
|
||||||
(defcustom list-directory-verbose-switches
|
(defcustom list-directory-verbose-switches "-l"
|
||||||
(purecopy "-l")
|
|
||||||
"Switches for `list-directory' to pass to `ls' for verbose listing."
|
"Switches for `list-directory' to pass to `ls' for verbose listing."
|
||||||
:type 'string
|
:type 'string
|
||||||
:group 'dired)
|
:group 'dired)
|
||||||
|
|
@ -8038,8 +8026,8 @@ need to be passed verbatim to shell commands."
|
||||||
(defcustom insert-directory-program
|
(defcustom insert-directory-program
|
||||||
(if (and (memq system-type '(berkeley-unix darwin))
|
(if (and (memq system-type '(berkeley-unix darwin))
|
||||||
(executable-find "gls"))
|
(executable-find "gls"))
|
||||||
(purecopy "gls")
|
"gls"
|
||||||
(purecopy "ls"))
|
"ls")
|
||||||
"Absolute or relative name of the `ls'-like program.
|
"Absolute or relative name of the `ls'-like program.
|
||||||
This is used by `insert-directory' and `dired-insert-directory'
|
This is used by `insert-directory' and `dired-insert-directory'
|
||||||
\(thus, also by `dired'). For Dired, this should ideally point to
|
\(thus, also by `dired'). For Dired, this should ideally point to
|
||||||
|
|
@ -8068,7 +8056,7 @@ Return nil if we should prefer `ls-lisp' instead."
|
||||||
t)
|
t)
|
||||||
insert-directory-program))
|
insert-directory-program))
|
||||||
|
|
||||||
(defcustom directory-free-space-program (purecopy "df")
|
(defcustom directory-free-space-program "df"
|
||||||
"Program to get the amount of free space on a file system.
|
"Program to get the amount of free space on a file system.
|
||||||
We assume the output has the format of `df'.
|
We assume the output has the format of `df'.
|
||||||
The value of this variable must be just a command name or file name;
|
The value of this variable must be just a command name or file name;
|
||||||
|
|
@ -8082,7 +8070,7 @@ A value of nil disables this feature."
|
||||||
"27.1")
|
"27.1")
|
||||||
|
|
||||||
(defcustom directory-free-space-args
|
(defcustom directory-free-space-args
|
||||||
(purecopy (if (eq system-type 'darwin) "-k" "-Pk"))
|
(if (eq system-type 'darwin) "-k" "-Pk")
|
||||||
"Options to use when running `directory-free-space-program'."
|
"Options to use when running `directory-free-space-program'."
|
||||||
:type 'string
|
:type 'string
|
||||||
:group 'dired)
|
:group 'dired)
|
||||||
|
|
@ -8147,11 +8135,11 @@ If DIR's free space cannot be obtained, this function returns nil."
|
||||||
;; parentheses:
|
;; parentheses:
|
||||||
;; -rw-r--r-- (modified) 2005-10-22 21:25 files.el
|
;; -rw-r--r-- (modified) 2005-10-22 21:25 files.el
|
||||||
;; This is not supported yet.
|
;; This is not supported yet.
|
||||||
(purecopy (concat "\\([0-9][BkKMGTPEZYRQ]? " iso
|
(concat "\\([0-9][BkKMGTPEZYRQ]? " iso
|
||||||
"\\|.*[0-9][BkKMGTPEZYRQ]? "
|
"\\|.*[0-9][BkKMGTPEZYRQ]? "
|
||||||
"\\(" western "\\|" western-comma
|
"\\(" western "\\|" western-comma
|
||||||
"\\|" DD-MMM-YYYY "\\|" east-asian "\\)"
|
"\\|" DD-MMM-YYYY "\\|" east-asian "\\)"
|
||||||
"\\) +")))
|
"\\) +"))
|
||||||
"Regular expression to match up to the file name in a directory listing.
|
"Regular expression to match up to the file name in a directory listing.
|
||||||
The default value is designed to recognize dates and times
|
The default value is designed to recognize dates and times
|
||||||
regardless of the language.")
|
regardless of the language.")
|
||||||
|
|
@ -8617,7 +8605,7 @@ arguments as the running Emacs)."
|
||||||
;; so that magic file name handlers will not apply to it.
|
;; so that magic file name handlers will not apply to it.
|
||||||
|
|
||||||
(setq file-name-handler-alist
|
(setq file-name-handler-alist
|
||||||
(cons (cons (purecopy "\\`/:") 'file-name-non-special)
|
(cons '("\\`/:" . file-name-non-special)
|
||||||
file-name-handler-alist))
|
file-name-handler-alist))
|
||||||
|
|
||||||
;; We depend on being the last handler on the list,
|
;; We depend on being the last handler on the list,
|
||||||
|
|
|
||||||
|
|
@ -182,7 +182,7 @@ To override this, give an argument to `ff-find-other-file'."
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom ff-special-constructs
|
(defcustom ff-special-constructs
|
||||||
;; C/C++ include, for NeXTstep too
|
;; C/C++ include, for NeXTstep too
|
||||||
`((,(purecopy "^#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]") .
|
`(("^#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]" .
|
||||||
,(lambda () (match-string 2))))
|
,(lambda () (match-string 2))))
|
||||||
;; We include `ff-treat-as-special' documentation here so that autoload
|
;; We include `ff-treat-as-special' documentation here so that autoload
|
||||||
;; can make it available to be read prior to loading this file.
|
;; can make it available to be read prior to loading this file.
|
||||||
|
|
|
||||||
|
|
@ -65,27 +65,26 @@
|
||||||
(put 'buffer-auto-save-file-format 'permanent-local t)
|
(put 'buffer-auto-save-file-format 'permanent-local t)
|
||||||
|
|
||||||
(defvar format-alist
|
(defvar format-alist
|
||||||
;; FIXME: maybe each item can be purecopied instead of just the strings.
|
`((text/enriched "Extended MIME text/enriched format."
|
||||||
`((text/enriched ,(purecopy "Extended MIME text/enriched format.")
|
"Content-[Tt]ype:[ \t]*text/enriched"
|
||||||
,(purecopy "Content-[Tt]ype:[ \t]*text/enriched")
|
|
||||||
enriched-decode enriched-encode t enriched-mode)
|
enriched-decode enriched-encode t enriched-mode)
|
||||||
(plain ,(purecopy "ISO 8859-1 standard format, no text properties.")
|
(plain "ISO 8859-1 standard format, no text properties."
|
||||||
;; Plain only exists so that there is an obvious neutral choice in
|
;; Plain only exists so that there is an obvious neutral choice in
|
||||||
;; the completion list.
|
;; the completion list.
|
||||||
nil nil nil nil nil)
|
nil nil nil nil nil)
|
||||||
(TeX ,(purecopy "TeX (encoding)")
|
(TeX "TeX (encoding)"
|
||||||
nil
|
nil
|
||||||
iso-tex2iso iso-iso2tex t nil)
|
iso-tex2iso iso-iso2tex t nil)
|
||||||
(gtex ,(purecopy "German TeX (encoding)")
|
(gtex "German TeX (encoding)"
|
||||||
nil
|
nil
|
||||||
iso-gtex2iso iso-iso2gtex t nil)
|
iso-gtex2iso iso-iso2gtex t nil)
|
||||||
(html ,(purecopy "HTML/SGML \"ISO 8879:1986//ENTITIES Added Latin 1//EN\" (encoding)")
|
(html "HTML/SGML \"ISO 8879:1986//ENTITIES Added Latin 1//EN\" (encoding)"
|
||||||
nil
|
nil
|
||||||
iso-sgml2iso iso-iso2sgml t nil)
|
iso-sgml2iso iso-iso2sgml t nil)
|
||||||
(rot13 ,(purecopy "rot13")
|
(rot13 "rot13"
|
||||||
nil
|
nil
|
||||||
rot13-region rot13-region t nil)
|
rot13-region rot13-region t nil)
|
||||||
(duden ,(purecopy "Duden Ersatzdarstellung")
|
(duden "Duden Ersatzdarstellung"
|
||||||
nil
|
nil
|
||||||
;; FROM-FN used to call the "diac" command which is not widely
|
;; FROM-FN used to call the "diac" command which is not widely
|
||||||
;; available and apparently not under a free software license:
|
;; available and apparently not under a free software license:
|
||||||
|
|
@ -93,14 +92,14 @@
|
||||||
;; Reliable round-trip conversion is not possible anyway and
|
;; Reliable round-trip conversion is not possible anyway and
|
||||||
;; would be by heuristic method, so make it write-only for now.
|
;; would be by heuristic method, so make it write-only for now.
|
||||||
iso-cvt-write-only iso-iso2duden t nil)
|
iso-cvt-write-only iso-iso2duden t nil)
|
||||||
(de646 ,(purecopy "German ASCII (ISO 646)")
|
(de646 "German ASCII (ISO 646)"
|
||||||
nil
|
nil
|
||||||
,(purecopy "iconv -f iso646-de -t utf-8")
|
"iconv -f iso646-de -t utf-8"
|
||||||
,(purecopy "iconv -f utf-8 -t iso646-de") t nil)
|
"iconv -f utf-8 -t iso646-de" t nil)
|
||||||
(denet ,(purecopy "net German")
|
(denet "net German"
|
||||||
nil
|
nil
|
||||||
iso-german iso-cvt-read-only t nil)
|
iso-german iso-cvt-read-only t nil)
|
||||||
(esnet ,(purecopy "net Spanish")
|
(esnet "net Spanish"
|
||||||
nil
|
nil
|
||||||
iso-spanish iso-cvt-read-only t nil))
|
iso-spanish iso-cvt-read-only t nil))
|
||||||
"List of information about understood file formats.
|
"List of information about understood file formats.
|
||||||
|
|
|
||||||
|
|
@ -172,92 +172,92 @@ The format is (FUNCTION ARGS...).")
|
||||||
(define-button-type 'help-function
|
(define-button-type 'help-function
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function 'describe-function
|
'help-function 'describe-function
|
||||||
'help-echo (purecopy "mouse-2, RET: describe this function"))
|
'help-echo "mouse-2, RET: describe this function")
|
||||||
|
|
||||||
(define-button-type 'help-variable
|
(define-button-type 'help-variable
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function 'describe-variable
|
'help-function 'describe-variable
|
||||||
'help-echo (purecopy "mouse-2, RET: describe this variable"))
|
'help-echo "mouse-2, RET: describe this variable")
|
||||||
|
|
||||||
(define-button-type 'help-type
|
(define-button-type 'help-type
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function #'cl-describe-type
|
'help-function #'cl-describe-type
|
||||||
'help-echo (purecopy "mouse-2, RET: describe this type"))
|
'help-echo "mouse-2, RET: describe this type")
|
||||||
|
|
||||||
(define-button-type 'help-face
|
(define-button-type 'help-face
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function 'describe-face
|
'help-function 'describe-face
|
||||||
'help-echo (purecopy "mouse-2, RET: describe this face"))
|
'help-echo "mouse-2, RET: describe this face")
|
||||||
|
|
||||||
(define-button-type 'help-coding-system
|
(define-button-type 'help-coding-system
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function 'describe-coding-system
|
'help-function 'describe-coding-system
|
||||||
'help-echo (purecopy "mouse-2, RET: describe this coding system"))
|
'help-echo "mouse-2, RET: describe this coding system")
|
||||||
|
|
||||||
(define-button-type 'help-input-method
|
(define-button-type 'help-input-method
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function 'describe-input-method
|
'help-function 'describe-input-method
|
||||||
'help-echo (purecopy "mouse-2, RET: describe this input method"))
|
'help-echo "mouse-2, RET: describe this input method")
|
||||||
|
|
||||||
(define-button-type 'help-character-set
|
(define-button-type 'help-character-set
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function 'describe-character-set
|
'help-function 'describe-character-set
|
||||||
'help-echo (purecopy "mouse-2, RET: describe this character set"))
|
'help-echo "mouse-2, RET: describe this character set")
|
||||||
|
|
||||||
;; Make some more idiosyncratic button types.
|
;; Make some more idiosyncratic button types.
|
||||||
|
|
||||||
(define-button-type 'help-symbol
|
(define-button-type 'help-symbol
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function #'describe-symbol
|
'help-function #'describe-symbol
|
||||||
'help-echo (purecopy "mouse-2, RET: describe this symbol"))
|
'help-echo "mouse-2, RET: describe this symbol")
|
||||||
|
|
||||||
(define-button-type 'help-back
|
(define-button-type 'help-back
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function #'help-xref-go-back
|
'help-function #'help-xref-go-back
|
||||||
'help-echo (purecopy "mouse-2, RET: go back to previous help buffer"))
|
'help-echo "mouse-2, RET: go back to previous help buffer")
|
||||||
|
|
||||||
(define-button-type 'help-forward
|
(define-button-type 'help-forward
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function #'help-xref-go-forward
|
'help-function #'help-xref-go-forward
|
||||||
'help-echo (purecopy "mouse-2, RET: move forward to next help buffer"))
|
'help-echo "mouse-2, RET: move forward to next help buffer")
|
||||||
|
|
||||||
(define-button-type 'help-info-variable
|
(define-button-type 'help-info-variable
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
;; the name of the variable is put before the argument to Info
|
;; the name of the variable is put before the argument to Info
|
||||||
'help-function (lambda (_a v) (info v))
|
'help-function (lambda (_a v) (info v))
|
||||||
'help-echo (purecopy "mouse-2, RET: read this Info node"))
|
'help-echo "mouse-2, RET: read this Info node")
|
||||||
|
|
||||||
(define-button-type 'help-info
|
(define-button-type 'help-info
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function #'info
|
'help-function #'info
|
||||||
'help-echo (purecopy "mouse-2, RET: read this Info node"))
|
'help-echo "mouse-2, RET: read this Info node")
|
||||||
|
|
||||||
(define-button-type 'help-man
|
(define-button-type 'help-man
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function #'man
|
'help-function #'man
|
||||||
'help-echo (purecopy "mouse-2, RET: read this man page"))
|
'help-echo "mouse-2, RET: read this man page")
|
||||||
|
|
||||||
(define-button-type 'help-customization-group
|
(define-button-type 'help-customization-group
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function #'customize-group
|
'help-function #'customize-group
|
||||||
'help-echo (purecopy "mouse-2, RET: display this customization group"))
|
'help-echo "mouse-2, RET: display this customization group")
|
||||||
|
|
||||||
(define-button-type 'help-url
|
(define-button-type 'help-url
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function #'browse-url
|
'help-function #'browse-url
|
||||||
'help-echo (purecopy "mouse-2, RET: view this URL in a browser"))
|
'help-echo "mouse-2, RET: view this URL in a browser")
|
||||||
|
|
||||||
(define-button-type 'help-customize-variable
|
(define-button-type 'help-customize-variable
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function (lambda (v)
|
'help-function (lambda (v)
|
||||||
(customize-variable v))
|
(customize-variable v))
|
||||||
'help-echo (purecopy "mouse-2, RET: customize variable"))
|
'help-echo "mouse-2, RET: customize variable")
|
||||||
|
|
||||||
(define-button-type 'help-customize-face
|
(define-button-type 'help-customize-face
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function (lambda (v)
|
'help-function (lambda (v)
|
||||||
(customize-face v))
|
(customize-face v))
|
||||||
'help-echo (purecopy "mouse-2, RET: customize face"))
|
'help-echo "mouse-2, RET: customize face")
|
||||||
|
|
||||||
(defun help-function-def--button-function (fun &optional file type)
|
(defun help-function-def--button-function (fun &optional file type)
|
||||||
(or file
|
(or file
|
||||||
|
|
@ -295,7 +295,7 @@ The format is (FUNCTION ARGS...).")
|
||||||
(define-button-type 'help-function-def
|
(define-button-type 'help-function-def
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function #'help-function-def--button-function
|
'help-function #'help-function-def--button-function
|
||||||
'help-echo (purecopy "mouse-2, RET: find function's definition"))
|
'help-echo "mouse-2, RET: find function's definition")
|
||||||
|
|
||||||
(define-button-type 'help-function-cmacro ; FIXME: Obsolete since 24.4.
|
(define-button-type 'help-function-cmacro ; FIXME: Obsolete since 24.4.
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
|
|
@ -316,7 +316,7 @@ The format is (FUNCTION ARGS...).")
|
||||||
(forward-line 0)
|
(forward-line 0)
|
||||||
(message "Unable to find location in file")))
|
(message "Unable to find location in file")))
|
||||||
(message "Unable to find file")))
|
(message "Unable to find file")))
|
||||||
'help-echo (purecopy "mouse-2, RET: find function's compiler macro"))
|
'help-echo "mouse-2, RET: find function's compiler macro")
|
||||||
|
|
||||||
(define-button-type 'help-variable-def
|
(define-button-type 'help-variable-def
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
|
|
@ -337,7 +337,7 @@ The format is (FUNCTION ARGS...).")
|
||||||
(widen))
|
(widen))
|
||||||
(goto-char position))
|
(goto-char position))
|
||||||
(message "Unable to find location in file"))))
|
(message "Unable to find location in file"))))
|
||||||
'help-echo (purecopy "mouse-2, RET: find variable's definition"))
|
'help-echo "mouse-2, RET: find variable's definition")
|
||||||
|
|
||||||
(define-button-type 'help-face-def
|
(define-button-type 'help-face-def
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
|
|
@ -359,27 +359,27 @@ The format is (FUNCTION ARGS...).")
|
||||||
(widen))
|
(widen))
|
||||||
(goto-char position))
|
(goto-char position))
|
||||||
(message "Unable to find location in file"))))
|
(message "Unable to find location in file"))))
|
||||||
'help-echo (purecopy "mouse-2, RET: find face's definition"))
|
'help-echo "mouse-2, RET: find face's definition")
|
||||||
|
|
||||||
(define-button-type 'help-package
|
(define-button-type 'help-package
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function 'describe-package
|
'help-function 'describe-package
|
||||||
'help-echo (purecopy "mouse-2, RET: Describe package"))
|
'help-echo "mouse-2, RET: Describe package")
|
||||||
|
|
||||||
(define-button-type 'help-package-def
|
(define-button-type 'help-package-def
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function (lambda (file) (dired file))
|
'help-function (lambda (file) (dired file))
|
||||||
'help-echo (purecopy "mouse-2, RET: visit package directory"))
|
'help-echo "mouse-2, RET: visit package directory")
|
||||||
|
|
||||||
(define-button-type 'help-theme-def
|
(define-button-type 'help-theme-def
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function #'find-file
|
'help-function #'find-file
|
||||||
'help-echo (purecopy "mouse-2, RET: visit theme file"))
|
'help-echo "mouse-2, RET: visit theme file")
|
||||||
|
|
||||||
(define-button-type 'help-theme-edit
|
(define-button-type 'help-theme-edit
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function #'customize-create-theme
|
'help-function #'customize-create-theme
|
||||||
'help-echo (purecopy "mouse-2, RET: edit this theme file"))
|
'help-echo "mouse-2, RET: edit this theme file")
|
||||||
|
|
||||||
(define-button-type 'help-dir-local-var-def
|
(define-button-type 'help-dir-local-var-def
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
|
|
@ -387,7 +387,7 @@ The format is (FUNCTION ARGS...).")
|
||||||
;; FIXME: this should go to the point where the
|
;; FIXME: this should go to the point where the
|
||||||
;; local variable was defined.
|
;; local variable was defined.
|
||||||
(find-file file))
|
(find-file file))
|
||||||
'help-echo (purecopy "mouse-2, RET: open directory-local variables file"))
|
'help-echo "mouse-2, RET: open directory-local variables file")
|
||||||
(define-button-type 'help-news
|
(define-button-type 'help-news
|
||||||
:supertype 'help-xref
|
:supertype 'help-xref
|
||||||
'help-function
|
'help-function
|
||||||
|
|
@ -396,7 +396,7 @@ The format is (FUNCTION ARGS...).")
|
||||||
(view-file file)
|
(view-file file)
|
||||||
(view-file-other-window file))
|
(view-file-other-window file))
|
||||||
(goto-char pos))
|
(goto-char pos))
|
||||||
'help-echo (purecopy "mouse-2, RET: show corresponding NEWS announcement"))
|
'help-echo "mouse-2, RET: show corresponding NEWS announcement")
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun help-mode--add-function-link (str fun)
|
(defun help-mode--add-function-link (str fun)
|
||||||
|
|
@ -448,21 +448,21 @@ Commands:
|
||||||
;; similar should be done for widget doc strings, which currently use
|
;; similar should be done for widget doc strings, which currently use
|
||||||
;; another mechanism.
|
;; another mechanism.
|
||||||
|
|
||||||
(defvar help-back-label (purecopy "[back]")
|
(defvar help-back-label "[back]"
|
||||||
"Label to use by `help-make-xrefs' for the go-back reference.")
|
"Label to use by `help-make-xrefs' for the go-back reference.")
|
||||||
|
|
||||||
(defvar help-forward-label (purecopy "[forward]")
|
(defvar help-forward-label "[forward]"
|
||||||
"Label to use by `help-make-xrefs' for the go-forward reference.")
|
"Label to use by `help-make-xrefs' for the go-forward reference.")
|
||||||
|
|
||||||
(defconst help-xref-symbol-regexp
|
(defconst help-xref-symbol-regexp
|
||||||
(purecopy (concat "\\(\\<\\(\\(variable\\|option\\)\\|" ; Link to var
|
(concat "\\(\\<\\(\\(variable\\|option\\)\\|" ; Link to var
|
||||||
"\\(function\\|command\\|call\\)\\|" ; Link to function
|
"\\(function\\|command\\|call\\)\\|" ; Link to function
|
||||||
"\\(face\\)\\|" ; Link to face
|
"\\(face\\)\\|" ; Link to face
|
||||||
"\\(symbol\\|program\\|property\\)\\|" ; Don't link
|
"\\(symbol\\|program\\|property\\)\\|" ; Don't link
|
||||||
"\\(source \\(?:code \\)?\\(?:of\\|for\\)\\)\\)"
|
"\\(source \\(?:code \\)?\\(?:of\\|for\\)\\)\\)"
|
||||||
"[ \t\n]+\\)?"
|
"[ \t\n]+\\)?"
|
||||||
"\\(\\\\\\+\\)?"
|
"\\(\\\\\\+\\)?"
|
||||||
"['`‘]\\(\\(?:\\sw\\|\\s_\\)+\\|`\\)['’]"))
|
"['`‘]\\(\\(?:\\sw\\|\\s_\\)+\\|`\\)['’]")
|
||||||
"Regexp matching doc string references to symbols.
|
"Regexp matching doc string references to symbols.
|
||||||
|
|
||||||
The words preceding the quoted symbol can be used in doc strings to
|
The words preceding the quoted symbol can be used in doc strings to
|
||||||
|
|
@ -477,21 +477,19 @@ when help commands related to multilingual environment (e.g.,
|
||||||
|
|
||||||
|
|
||||||
(defconst help-xref-info-regexp
|
(defconst help-xref-info-regexp
|
||||||
(purecopy
|
"\\<[Ii]nfo[ \t\n]+\\(node\\|anchor\\)[ \t\n]+['`‘]\\([^'’]+\\)['’]"
|
||||||
"\\<[Ii]nfo[ \t\n]+\\(node\\|anchor\\)[ \t\n]+['`‘]\\([^'’]+\\)['’]")
|
|
||||||
"Regexp matching doc string references to an Info node.")
|
"Regexp matching doc string references to an Info node.")
|
||||||
|
|
||||||
(defconst help-xref-man-regexp
|
(defconst help-xref-man-regexp
|
||||||
(purecopy
|
"\\<[Mm]an[ \t\n]+page[ \t\n]+\\(?:for[ \t\n]+\\)?['`‘\"]\\([^'’\"]+\\)['’\"]"
|
||||||
"\\<[Mm]an[ \t\n]+page[ \t\n]+\\(?:for[ \t\n]+\\)?['`‘\"]\\([^'’\"]+\\)['’\"]")
|
|
||||||
"Regexp matching doc string references to a man page.")
|
"Regexp matching doc string references to a man page.")
|
||||||
|
|
||||||
(defconst help-xref-customization-group-regexp
|
(defconst help-xref-customization-group-regexp
|
||||||
(purecopy "\\<[Cc]ustomization[ \t\n]+[Gg]roup[ \t\n]+['`‘]\\([^'’]+\\)['’]")
|
"\\<[Cc]ustomization[ \t\n]+[Gg]roup[ \t\n]+['`‘]\\([^'’]+\\)['’]"
|
||||||
"Regexp matching doc string references to a customization group.")
|
"Regexp matching doc string references to a customization group.")
|
||||||
|
|
||||||
(defconst help-xref-url-regexp
|
(defconst help-xref-url-regexp
|
||||||
(purecopy "\\<[Uu][Rr][Ll][ \t\n]+['`‘]\\([^'’]+\\)['’]")
|
"\\<[Uu][Rr][Ll][ \t\n]+['`‘]\\([^'’]+\\)['’]"
|
||||||
"Regexp matching doc string references to a URL.")
|
"Regexp matching doc string references to a URL.")
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
|
|
|
||||||
|
|
@ -395,7 +395,7 @@ Do not call this in the scope of `with-help-window'."
|
||||||
|
|
||||||
(defalias 'help #'help-for-help)
|
(defalias 'help #'help-for-help)
|
||||||
(make-help-screen help-for-help
|
(make-help-screen help-for-help
|
||||||
(purecopy "Type a help option: [abcCdefFgiIkKlLmnprstvw.] C-[cdefmnoptw] or ?")
|
"Type a help option: [abcCdefFgiIkKlLmnprstvw.] C-[cdefmnoptw] or ?"
|
||||||
(concat
|
(concat
|
||||||
"(Type "
|
"(Type "
|
||||||
(help--key-description-fontified (kbd "<PageDown>"))
|
(help--key-description-fontified (kbd "<PageDown>"))
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom image-file-name-extensions
|
(defcustom image-file-name-extensions
|
||||||
(purecopy '("png" "jpeg" "jpg" "gif" "tiff" "tif" "xbm" "xpm" "pbm" "pgm" "ppm" "pnm" "svg" "webp"))
|
'("png" "jpeg" "jpg" "gif" "tiff" "tif" "xbm" "xpm" "pbm" "pgm" "ppm" "pnm" "svg" "webp")
|
||||||
"A list of image-file filename extensions.
|
"A list of image-file filename extensions.
|
||||||
Filenames having one of these extensions are considered image files,
|
Filenames having one of these extensions are considered image files,
|
||||||
in addition to those matching `image-file-name-regexps'.
|
in addition to those matching `image-file-name-regexps'.
|
||||||
|
|
|
||||||
|
|
@ -830,7 +830,7 @@ Select the window used, if it has been made."
|
||||||
(select-window window))))
|
(select-window window))))
|
||||||
|
|
||||||
|
|
||||||
;;;###autoload (put 'info 'info-file (purecopy "emacs"))
|
;;;###autoload (put 'info 'info-file "emacs")
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun info (&optional file-or-node buffer)
|
(defun info (&optional file-or-node buffer)
|
||||||
"Enter Info, the documentation browser.
|
"Enter Info, the documentation browser.
|
||||||
|
|
@ -4755,7 +4755,7 @@ in the first element of the returned list (which is treated specially in
|
||||||
(cdr where))
|
(cdr where))
|
||||||
where)))
|
where)))
|
||||||
|
|
||||||
;;;###autoload (put 'Info-goto-emacs-command-node 'info-file (purecopy "emacs"))
|
;;;###autoload (put 'Info-goto-emacs-command-node 'info-file "emacs")
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun Info-goto-emacs-command-node (command)
|
(defun Info-goto-emacs-command-node (command)
|
||||||
"Go to the Info node in the Emacs manual for command COMMAND.
|
"Go to the Info node in the Emacs manual for command COMMAND.
|
||||||
|
|
@ -4797,7 +4797,7 @@ COMMAND must be a symbol or string."
|
||||||
(if (> num-matches 2) "them" "it")))))
|
(if (> num-matches 2) "them" "it")))))
|
||||||
(error "Couldn't find documentation for %s" command))))
|
(error "Couldn't find documentation for %s" command))))
|
||||||
|
|
||||||
;;;###autoload (put 'Info-goto-emacs-key-command-node 'info-file (purecopy "emacs"))
|
;;;###autoload (put 'Info-goto-emacs-key-command-node 'info-file "emacs")
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun Info-goto-emacs-key-command-node (key)
|
(defun Info-goto-emacs-key-command-node (key)
|
||||||
"Go to the node in the Emacs manual which describes the command bound to KEY.
|
"Go to the node in the Emacs manual which describes the command bound to KEY.
|
||||||
|
|
|
||||||
|
|
@ -33,8 +33,6 @@
|
||||||
;; Setup font-encoding-alist for all known encodings.
|
;; Setup font-encoding-alist for all known encodings.
|
||||||
|
|
||||||
(setq font-encoding-alist
|
(setq font-encoding-alist
|
||||||
(mapcar (lambda (arg)
|
|
||||||
(cons (purecopy (car arg)) (cdr arg)))
|
|
||||||
'(("iso8859-1$" . iso-8859-1)
|
'(("iso8859-1$" . iso-8859-1)
|
||||||
("iso8859-2$" . iso-8859-2)
|
("iso8859-2$" . iso-8859-2)
|
||||||
("iso8859-3$" . iso-8859-3)
|
("iso8859-3$" . iso-8859-3)
|
||||||
|
|
@ -122,7 +120,7 @@
|
||||||
("mulelao-1" . mule-lao)
|
("mulelao-1" . mule-lao)
|
||||||
("muletibetan-2" . tibetan)
|
("muletibetan-2" . tibetan)
|
||||||
("muletibetan-0" . tibetan)
|
("muletibetan-0" . tibetan)
|
||||||
("muletibetan-1" . tibetan-1-column))))
|
("muletibetan-1" . tibetan-1-column)))
|
||||||
|
|
||||||
(defvar font-encoding-charset-alist)
|
(defvar font-encoding-charset-alist)
|
||||||
|
|
||||||
|
|
@ -1244,17 +1242,17 @@ Internal use only. Should be called at startup time."
|
||||||
|
|
||||||
;; Setting for suppressing XLoadQueryFont on big fonts.
|
;; Setting for suppressing XLoadQueryFont on big fonts.
|
||||||
(setq x-pixel-size-width-font-regexp
|
(setq x-pixel-size-width-font-regexp
|
||||||
(purecopy "gb2312\\|gbk\\|gb18030\\|jisx0208\\|ksc5601\\|cns11643\\|big5"))
|
"gb2312\\|gbk\\|gb18030\\|jisx0208\\|ksc5601\\|cns11643\\|big5")
|
||||||
|
|
||||||
;; These fonts require vertical centering.
|
;; These fonts require vertical centering.
|
||||||
(setq vertical-centering-font-regexp
|
(setq vertical-centering-font-regexp
|
||||||
(purecopy "gb2312\\|gbk\\|gb18030\\|jisx0208\\|jisx0212\\|ksc5601\\|cns11643\\|big5"))
|
"gb2312\\|gbk\\|gb18030\\|jisx0208\\|jisx0212\\|ksc5601\\|cns11643\\|big5")
|
||||||
(put 'vertical-centering-font-regexp 'standard-value
|
(put 'vertical-centering-font-regexp 'standard-value
|
||||||
(list vertical-centering-font-regexp))
|
(list vertical-centering-font-regexp))
|
||||||
|
|
||||||
;; CDAC fonts are actually smaller than their design sizes.
|
;; CDAC fonts are actually smaller than their design sizes.
|
||||||
(setq face-font-rescale-alist
|
(setq face-font-rescale-alist
|
||||||
(list (cons (purecopy "-cdac$") 1.3)))
|
(list '("-cdac$" . 1.3)))
|
||||||
|
|
||||||
(defvar x-font-name-charset-alist nil
|
(defvar x-font-name-charset-alist nil
|
||||||
"This variable has no meaning starting with Emacs 22.1.")
|
"This variable has no meaning starting with Emacs 22.1.")
|
||||||
|
|
@ -1574,7 +1572,7 @@ It returns a name of the created fontset."
|
||||||
;; specified here because FAMILY of those fonts are not "fixed" in
|
;; specified here because FAMILY of those fonts are not "fixed" in
|
||||||
;; many cases.
|
;; many cases.
|
||||||
(defvar standard-fontset-spec
|
(defvar standard-fontset-spec
|
||||||
(purecopy "-*-fixed-medium-r-normal-*-16-*-*-*-*-*-fontset-standard")
|
"-*-fixed-medium-r-normal-*-16-*-*-*-*-*-fontset-standard"
|
||||||
"String of fontset spec of the standard fontset.
|
"String of fontset spec of the standard fontset.
|
||||||
You have the biggest chance to display international characters
|
You have the biggest chance to display international characters
|
||||||
with correct glyphs by using the standard fontset.
|
with correct glyphs by using the standard fontset.
|
||||||
|
|
|
||||||
|
|
@ -51,7 +51,6 @@
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom latex-inputenc-coding-alist
|
(defcustom latex-inputenc-coding-alist
|
||||||
(purecopy
|
|
||||||
'(("ansinew" . windows-1252) ; MS Windows ANSI encoding, extension of Latin-1
|
'(("ansinew" . windows-1252) ; MS Windows ANSI encoding, extension of Latin-1
|
||||||
("applemac" . mac-roman)
|
("applemac" . mac-roman)
|
||||||
("ascii" . us-ascii)
|
("ascii" . us-ascii)
|
||||||
|
|
@ -74,7 +73,7 @@
|
||||||
;; ("macce" . undecided) ; Apple Central European
|
;; ("macce" . undecided) ; Apple Central European
|
||||||
("next" . next) ; The Next encoding
|
("next" . next) ; The Next encoding
|
||||||
("utf8" . utf-8)
|
("utf8" . utf-8)
|
||||||
("utf8x" . utf-8))) ; used by the Unicode LaTeX package
|
("utf8x" . utf-8)) ; used by the Unicode LaTeX package
|
||||||
"Mapping from LaTeX encodings in \"inputenc.sty\" to Emacs coding systems.
|
"Mapping from LaTeX encodings in \"inputenc.sty\" to Emacs coding systems.
|
||||||
LaTeX encodings are specified with \"\\usepackage[encoding]{inputenc}\".
|
LaTeX encodings are specified with \"\\usepackage[encoding]{inputenc}\".
|
||||||
Used by the function `latexenc-find-file-coding-system'."
|
Used by the function `latexenc-find-file-coding-system'."
|
||||||
|
|
|
||||||
|
|
@ -59,97 +59,97 @@
|
||||||
|
|
||||||
(defvar describe-language-environment-map
|
(defvar describe-language-environment-map
|
||||||
(let ((map (make-sparse-keymap "Describe Language Environment")))
|
(let ((map (make-sparse-keymap "Describe Language Environment")))
|
||||||
(bindings--define-key map
|
(define-key map
|
||||||
[Default] '(menu-item "Default" describe-specified-language-support))
|
[Default] '(menu-item "Default" describe-specified-language-support))
|
||||||
map))
|
map))
|
||||||
|
|
||||||
(defvar setup-language-environment-map
|
(defvar setup-language-environment-map
|
||||||
(let ((map (make-sparse-keymap "Set Language Environment")))
|
(let ((map (make-sparse-keymap "Set Language Environment")))
|
||||||
(bindings--define-key map
|
(define-key map
|
||||||
[Default] '(menu-item "Default" setup-specified-language-environment))
|
[Default] '(menu-item "Default" setup-specified-language-environment))
|
||||||
map))
|
map))
|
||||||
|
|
||||||
(defvar set-coding-system-map
|
(defvar set-coding-system-map
|
||||||
(let ((map (make-sparse-keymap "Set Coding System")))
|
(let ((map (make-sparse-keymap "Set Coding System")))
|
||||||
(bindings--define-key map [set-buffer-process-coding-system]
|
(define-key map [set-buffer-process-coding-system]
|
||||||
'(menu-item "For I/O with Subprocess" set-buffer-process-coding-system
|
'(menu-item "For I/O with Subprocess" set-buffer-process-coding-system
|
||||||
:visible (fboundp 'make-process)
|
:visible (fboundp 'make-process)
|
||||||
:enable (get-buffer-process (current-buffer))
|
:enable (get-buffer-process (current-buffer))
|
||||||
:help "How to en/decode I/O from/to subprocess connected to this buffer"))
|
:help "How to en/decode I/O from/to subprocess connected to this buffer"))
|
||||||
(bindings--define-key map [set-next-selection-coding-system]
|
(define-key map [set-next-selection-coding-system]
|
||||||
'(menu-item "For Next X Selection" set-next-selection-coding-system
|
'(menu-item "For Next X Selection" set-next-selection-coding-system
|
||||||
:visible (display-selections-p)
|
:visible (display-selections-p)
|
||||||
:help "How to en/decode next selection/clipboard operation"))
|
:help "How to en/decode next selection/clipboard operation"))
|
||||||
(bindings--define-key map [set-selection-coding-system]
|
(define-key map [set-selection-coding-system]
|
||||||
'(menu-item "For X Selections/Clipboard" set-selection-coding-system
|
'(menu-item "For X Selections/Clipboard" set-selection-coding-system
|
||||||
:visible (display-selections-p)
|
:visible (display-selections-p)
|
||||||
:help "How to en/decode data to/from selection/clipboard"))
|
:help "How to en/decode data to/from selection/clipboard"))
|
||||||
|
|
||||||
(bindings--define-key map [separator-3] menu-bar-separator)
|
(define-key map [separator-3] menu-bar-separator)
|
||||||
(bindings--define-key map [set-terminal-coding-system]
|
(define-key map [set-terminal-coding-system]
|
||||||
'(menu-item "For Terminal" set-terminal-coding-system
|
'(menu-item "For Terminal" set-terminal-coding-system
|
||||||
:enable (null (memq initial-window-system '(x w32 ns haiku pgtk
|
:enable (null (memq initial-window-system '(x w32 ns haiku pgtk
|
||||||
android)))
|
android)))
|
||||||
:help "How to encode terminal output"))
|
:help "How to encode terminal output"))
|
||||||
(bindings--define-key map [set-keyboard-coding-system]
|
(define-key map [set-keyboard-coding-system]
|
||||||
'(menu-item "For Keyboard" set-keyboard-coding-system
|
'(menu-item "For Keyboard" set-keyboard-coding-system
|
||||||
:help "How to decode keyboard input"))
|
:help "How to decode keyboard input"))
|
||||||
|
|
||||||
(bindings--define-key map [separator-2] menu-bar-separator)
|
(define-key map [separator-2] menu-bar-separator)
|
||||||
(bindings--define-key map [set-file-name-coding-system]
|
(define-key map [set-file-name-coding-system]
|
||||||
'(menu-item "For File Name" set-file-name-coding-system
|
'(menu-item "For File Name" set-file-name-coding-system
|
||||||
:help "How to decode/encode file names"))
|
:help "How to decode/encode file names"))
|
||||||
(bindings--define-key map [revert-buffer-with-coding-system]
|
(define-key map [revert-buffer-with-coding-system]
|
||||||
'(menu-item "For Reverting This File Now"
|
'(menu-item "For Reverting This File Now"
|
||||||
revert-buffer-with-coding-system
|
revert-buffer-with-coding-system
|
||||||
:enable buffer-file-name
|
:enable buffer-file-name
|
||||||
:help "Revisit this file immediately using specified coding system"))
|
:help "Revisit this file immediately using specified coding system"))
|
||||||
(bindings--define-key map [set-buffer-file-coding-system]
|
(define-key map [set-buffer-file-coding-system]
|
||||||
'(menu-item "For Saving This Buffer" set-buffer-file-coding-system
|
'(menu-item "For Saving This Buffer" set-buffer-file-coding-system
|
||||||
:help "How to encode this buffer when saved"))
|
:help "How to encode this buffer when saved"))
|
||||||
(bindings--define-key map [separator-1] menu-bar-separator)
|
(define-key map [separator-1] menu-bar-separator)
|
||||||
(bindings--define-key map [universal-coding-system-argument]
|
(define-key map [universal-coding-system-argument]
|
||||||
'(menu-item "For Next Command" universal-coding-system-argument
|
'(menu-item "For Next Command" universal-coding-system-argument
|
||||||
:help "Coding system to be used by next command"))
|
:help "Coding system to be used by next command"))
|
||||||
map))
|
map))
|
||||||
|
|
||||||
(defvar mule-menu-keymap
|
(defvar mule-menu-keymap
|
||||||
(let ((map (make-sparse-keymap "Mule (Multilingual Environment)")))
|
(let ((map (make-sparse-keymap "Mule (Multilingual Environment)")))
|
||||||
(bindings--define-key map [mule-diag]
|
(define-key map [mule-diag]
|
||||||
'(menu-item "Show All Multilingual Settings" mule-diag
|
'(menu-item "Show All Multilingual Settings" mule-diag
|
||||||
:help "Display multilingual environment settings"))
|
:help "Display multilingual environment settings"))
|
||||||
(bindings--define-key map [list-character-sets]
|
(define-key map [list-character-sets]
|
||||||
'(menu-item "List Character Sets" list-character-sets
|
'(menu-item "List Character Sets" list-character-sets
|
||||||
:help "Show table of available character sets"))
|
:help "Show table of available character sets"))
|
||||||
(bindings--define-key map [describe-coding-system]
|
(define-key map [describe-coding-system]
|
||||||
'(menu-item "Describe Coding System..." describe-coding-system))
|
'(menu-item "Describe Coding System..." describe-coding-system))
|
||||||
(bindings--define-key map [describe-input-method]
|
(define-key map [describe-input-method]
|
||||||
'(menu-item "Describe Input Method..." describe-input-method
|
'(menu-item "Describe Input Method..." describe-input-method
|
||||||
:help "Keyboard layout for a specific input method"))
|
:help "Keyboard layout for a specific input method"))
|
||||||
(bindings--define-key map [describe-language-environment]
|
(define-key map [describe-language-environment]
|
||||||
`(menu-item "Describe Language Environment"
|
`(menu-item "Describe Language Environment"
|
||||||
,describe-language-environment-map
|
,describe-language-environment-map
|
||||||
:help "Show multilingual settings for a specific language"))
|
:help "Show multilingual settings for a specific language"))
|
||||||
|
|
||||||
(bindings--define-key map [separator-coding-system] menu-bar-separator)
|
(define-key map [separator-coding-system] menu-bar-separator)
|
||||||
(bindings--define-key map [view-hello-file]
|
(define-key map [view-hello-file]
|
||||||
'(menu-item "Show Multilingual Sample Text" view-hello-file
|
'(menu-item "Show Multilingual Sample Text" view-hello-file
|
||||||
:enable (file-readable-p
|
:enable (file-readable-p
|
||||||
(expand-file-name "HELLO" data-directory))
|
(expand-file-name "HELLO" data-directory))
|
||||||
:help "Demonstrate various character sets"))
|
:help "Demonstrate various character sets"))
|
||||||
(bindings--define-key map [set-various-coding-system]
|
(define-key map [set-various-coding-system]
|
||||||
`(menu-item "Set Coding Systems" ,set-coding-system-map))
|
`(menu-item "Set Coding Systems" ,set-coding-system-map))
|
||||||
|
|
||||||
(bindings--define-key map [separator-input-method] menu-bar-separator)
|
(define-key map [separator-input-method] menu-bar-separator)
|
||||||
(bindings--define-key map [activate-transient-input-method]
|
(define-key map [activate-transient-input-method]
|
||||||
'(menu-item "Transient Input Method" activate-transient-input-method))
|
'(menu-item "Transient Input Method" activate-transient-input-method))
|
||||||
(bindings--define-key map [set-input-method]
|
(define-key map [set-input-method]
|
||||||
'(menu-item "Select Input Method..." set-input-method))
|
'(menu-item "Select Input Method..." set-input-method))
|
||||||
(bindings--define-key map [toggle-input-method]
|
(define-key map [toggle-input-method]
|
||||||
'(menu-item "Toggle Input Method" toggle-input-method))
|
'(menu-item "Toggle Input Method" toggle-input-method))
|
||||||
|
|
||||||
(bindings--define-key map [separator-mule] menu-bar-separator)
|
(define-key map [separator-mule] menu-bar-separator)
|
||||||
(bindings--define-key map [set-language-environment]
|
(define-key map [set-language-environment]
|
||||||
`(menu-item "Set Language Environment" ,setup-language-environment-map))
|
`(menu-item "Set Language Environment" ,setup-language-environment-map))
|
||||||
map)
|
map)
|
||||||
"Keymap for Mule (Multilingual environment) menu specific commands.")
|
"Keymap for Mule (Multilingual environment) menu specific commands.")
|
||||||
|
|
@ -169,14 +169,14 @@
|
||||||
|
|
||||||
;;; Mule related hyperlinks.
|
;;; Mule related hyperlinks.
|
||||||
(defconst help-xref-mule-regexp-template
|
(defconst help-xref-mule-regexp-template
|
||||||
(purecopy (concat "\\(\\<\\("
|
(concat "\\(\\<\\("
|
||||||
"\\(coding system\\)\\|"
|
"\\(coding system\\)\\|"
|
||||||
"\\(input method\\)\\|"
|
"\\(input method\\)\\|"
|
||||||
"\\(character set\\)\\|"
|
"\\(character set\\)\\|"
|
||||||
"\\(charset\\)"
|
"\\(charset\\)"
|
||||||
"\\)\\s-+\\)?"
|
"\\)\\s-+\\)?"
|
||||||
;; Note starting with word-syntax character:
|
;; Note starting with word-syntax character:
|
||||||
"['`‘]\\(\\sw\\(\\sw\\|\\s_\\)+\\)['’]")))
|
"['`‘]\\(\\sw\\(\\sw\\|\\s_\\)+\\)['’]"))
|
||||||
|
|
||||||
(defun coding-system-change-eol-conversion (coding-system eol-type)
|
(defun coding-system-change-eol-conversion (coding-system eol-type)
|
||||||
"Return a coding system which differs from CODING-SYSTEM in EOL conversion.
|
"Return a coding system which differs from CODING-SYSTEM in EOL conversion.
|
||||||
|
|
@ -1201,7 +1201,7 @@ Arguments are the same as `set-language-info'."
|
||||||
(progn
|
(progn
|
||||||
(setq key-slot (list key))
|
(setq key-slot (list key))
|
||||||
(setcdr lang-slot (cons key-slot (cdr lang-slot)))))
|
(setcdr lang-slot (cons key-slot (cdr lang-slot)))))
|
||||||
(setcdr key-slot (purecopy info))
|
(setcdr key-slot info)
|
||||||
;; Update the custom-type of `current-language-environment'.
|
;; Update the custom-type of `current-language-environment'.
|
||||||
(put 'current-language-environment 'custom-type
|
(put 'current-language-environment 'custom-type
|
||||||
(cons 'choice (mapcar
|
(cons 'choice (mapcar
|
||||||
|
|
@ -1229,10 +1229,8 @@ where to put this language environment in the
|
||||||
Describe Language Environment and Set Language Environment menus.
|
Describe Language Environment and Set Language Environment menus.
|
||||||
For example, (\"European\") means to put this language environment
|
For example, (\"European\") means to put this language environment
|
||||||
in the European submenu in each of those two menus."
|
in the European submenu in each of those two menus."
|
||||||
(cond ((symbolp lang-env)
|
(when (symbolp lang-env)
|
||||||
(setq lang-env (symbol-name lang-env)))
|
(setq lang-env (symbol-name lang-env)))
|
||||||
((stringp lang-env)
|
|
||||||
(setq lang-env (purecopy lang-env))))
|
|
||||||
(if parents
|
(if parents
|
||||||
(while parents
|
(while parents
|
||||||
(let (describe-map setup-map parent-symbol parent prompt)
|
(let (describe-map setup-map parent-symbol parent prompt)
|
||||||
|
|
@ -1439,13 +1437,11 @@ The commands `describe-input-method' and `list-input-methods' need
|
||||||
these duplicated values to show some information about input methods
|
these duplicated values to show some information about input methods
|
||||||
without loading the relevant Quail packages.
|
without loading the relevant Quail packages.
|
||||||
\n(fn INPUT-METHOD LANG-ENV ACTIVATE-FUNC TITLE DESCRIPTION &rest ARGS)"
|
\n(fn INPUT-METHOD LANG-ENV ACTIVATE-FUNC TITLE DESCRIPTION &rest ARGS)"
|
||||||
(setq lang-env (if (symbolp lang-env)
|
|
||||||
(symbol-name lang-env)
|
(when (symbolp lang-env)
|
||||||
(purecopy lang-env)))
|
(setq lang-env (symbol-name lang-env)))
|
||||||
(setq input-method (if (symbolp input-method)
|
(when (symbolp input-method)
|
||||||
(symbol-name input-method)
|
(setq input-method (symbol-name input-method)))
|
||||||
(purecopy input-method)))
|
|
||||||
(setq args (mapcar #'purecopy args))
|
|
||||||
(let ((info (cons lang-env args))
|
(let ((info (cons lang-env args))
|
||||||
(slot (assoc input-method input-method-alist)))
|
(slot (assoc input-method input-method-alist)))
|
||||||
(if slot
|
(if slot
|
||||||
|
|
@ -2252,11 +2248,7 @@ See `set-language-info-alist' for use in programs."
|
||||||
(defvar locale-translation-file-name nil
|
(defvar locale-translation-file-name nil
|
||||||
"File name for the system's file of locale-name aliases, or nil if none.")
|
"File name for the system's file of locale-name aliases, or nil if none.")
|
||||||
|
|
||||||
;; The following definitions might as well be marked as constants and
|
|
||||||
;; purecopied, since they're normally used on startup, and probably
|
|
||||||
;; should reflect the facilities of the base Emacs.
|
|
||||||
(defconst locale-language-names
|
(defconst locale-language-names
|
||||||
(purecopy
|
|
||||||
'(
|
'(
|
||||||
;; Locale names of the form LANGUAGE[_TERRITORY][.CODESET][@MODIFIER]
|
;; Locale names of the form LANGUAGE[_TERRITORY][.CODESET][@MODIFIER]
|
||||||
;; as specified in the Single Unix Spec, Version 2.
|
;; as specified in the Single Unix Spec, Version 2.
|
||||||
|
|
@ -2515,7 +2507,7 @@ See `set-language-info-alist' for use in programs."
|
||||||
; mwk MS-Windows Mohawk (Canada)
|
; mwk MS-Windows Mohawk (Canada)
|
||||||
("uig" . "UTF-8") ; MS-Windows Uighur
|
("uig" . "UTF-8") ; MS-Windows Uighur
|
||||||
("kin" . "UTF-8") ; MS-Windows Kinyarwanda
|
("kin" . "UTF-8") ; MS-Windows Kinyarwanda
|
||||||
))
|
)
|
||||||
"Alist of locale regexps vs the corresponding languages and coding systems.
|
"Alist of locale regexps vs the corresponding languages and coding systems.
|
||||||
Each element has this form:
|
Each element has this form:
|
||||||
(LOCALE-REGEXP LANG-ENV CODING-SYSTEM)
|
(LOCALE-REGEXP LANG-ENV CODING-SYSTEM)
|
||||||
|
|
@ -2528,7 +2520,6 @@ In this case, LANG-ENV is one of generic language environments for an
|
||||||
specific encoding such as \"Latin-1\" and \"UTF-8\".")
|
specific encoding such as \"Latin-1\" and \"UTF-8\".")
|
||||||
|
|
||||||
(defconst locale-charset-language-names
|
(defconst locale-charset-language-names
|
||||||
(purecopy
|
|
||||||
'((".*8859[-_]?1\\>" . "Latin-1")
|
'((".*8859[-_]?1\\>" . "Latin-1")
|
||||||
(".*8859[-_]?2\\>" . "Latin-2")
|
(".*8859[-_]?2\\>" . "Latin-2")
|
||||||
(".*8859[-_]?3\\>" . "Latin-3")
|
(".*8859[-_]?3\\>" . "Latin-3")
|
||||||
|
|
@ -2539,7 +2530,7 @@ specific encoding such as \"Latin-1\" and \"UTF-8\".")
|
||||||
(".*utf\\(?:-?8\\)?\\>" . "UTF-8")
|
(".*utf\\(?:-?8\\)?\\>" . "UTF-8")
|
||||||
;; utf-8@euro exists, so put this last. (@euro really specifies
|
;; utf-8@euro exists, so put this last. (@euro really specifies
|
||||||
;; the currency, rather than the charset.)
|
;; the currency, rather than the charset.)
|
||||||
(".*@euro\\>" . "Latin-9")))
|
(".*@euro\\>" . "Latin-9"))
|
||||||
"List of pairs of locale regexps and charset language names.
|
"List of pairs of locale regexps and charset language names.
|
||||||
The first element whose locale regexp matches the start of a downcased locale
|
The first element whose locale regexp matches the start of a downcased locale
|
||||||
specifies the language name whose charset corresponds to that locale.
|
specifies the language name whose charset corresponds to that locale.
|
||||||
|
|
@ -2547,7 +2538,6 @@ This language name is used if the locale is not listed in
|
||||||
`locale-language-names'.")
|
`locale-language-names'.")
|
||||||
|
|
||||||
(defconst locale-preferred-coding-systems
|
(defconst locale-preferred-coding-systems
|
||||||
(purecopy
|
|
||||||
'((".*8859[-_]?1\\>" . iso-8859-1)
|
'((".*8859[-_]?1\\>" . iso-8859-1)
|
||||||
(".*8859[-_]?2\\>" . iso-8859-2)
|
(".*8859[-_]?2\\>" . iso-8859-2)
|
||||||
(".*8859[-_]?3\\>" . iso-8859-3)
|
(".*8859[-_]?3\\>" . iso-8859-3)
|
||||||
|
|
@ -2574,7 +2564,7 @@ This language name is used if the locale is not listed in
|
||||||
("ja.*[._]pck" . japanese-shift-jis)
|
("ja.*[._]pck" . japanese-shift-jis)
|
||||||
("ja.*[._]sjis" . japanese-shift-jis)
|
("ja.*[._]sjis" . japanese-shift-jis)
|
||||||
("jpn" . japanese-shift-jis) ; MS-Windows uses this.
|
("jpn" . japanese-shift-jis) ; MS-Windows uses this.
|
||||||
))
|
)
|
||||||
"List of pairs of locale regexps and preferred coding systems.
|
"List of pairs of locale regexps and preferred coding systems.
|
||||||
The first element whose locale regexp matches the start of a downcased locale
|
The first element whose locale regexp matches the start of a downcased locale
|
||||||
specifies the coding system to prefer when using that locale.
|
specifies the coding system to prefer when using that locale.
|
||||||
|
|
@ -2965,7 +2955,6 @@ See also the documentation of `get-char-code-property' and
|
||||||
(error "Invalid char-table: %s" table))
|
(error "Invalid char-table: %s" table))
|
||||||
(or (stringp table)
|
(or (stringp table)
|
||||||
(error "Not a char-table nor a file name: %s" table)))
|
(error "Not a char-table nor a file name: %s" table)))
|
||||||
(if (stringp table) (setq table (purecopy table)))
|
|
||||||
(if (and (stringp table)
|
(if (and (stringp table)
|
||||||
(char-table-p (alist-get name char-code-property-alist)))
|
(char-table-p (alist-get name char-code-property-alist)))
|
||||||
;; The table is already setup and we're apparently trying to
|
;; The table is already setup and we're apparently trying to
|
||||||
|
|
@ -2973,7 +2962,7 @@ See also the documentation of `get-char-code-property' and
|
||||||
;; Just skip it, in order to work around a recursive load (bug#52945).
|
;; Just skip it, in order to work around a recursive load (bug#52945).
|
||||||
nil
|
nil
|
||||||
(setf (alist-get name char-code-property-alist) table)
|
(setf (alist-get name char-code-property-alist) table)
|
||||||
(put name 'char-code-property-documentation (purecopy docstring))))
|
(put name 'char-code-property-documentation docstring)))
|
||||||
|
|
||||||
(defvar char-code-property-table
|
(defvar char-code-property-table
|
||||||
(make-char-table 'char-code-property-table)
|
(make-char-table 'char-code-property-table)
|
||||||
|
|
|
||||||
|
|
@ -1633,7 +1633,6 @@ for decoding and encoding files, process I/O, etc."
|
||||||
;; Tar files are not decoded at all, but we treat them as raw bytes.
|
;; Tar files are not decoded at all, but we treat them as raw bytes.
|
||||||
|
|
||||||
(setq file-coding-system-alist
|
(setq file-coding-system-alist
|
||||||
(mapcar (lambda (arg) (cons (purecopy (car arg)) (cdr arg)))
|
|
||||||
'(("\\.elc\\'" . utf-8-emacs)
|
'(("\\.elc\\'" . utf-8-emacs)
|
||||||
("\\.el\\'" . prefer-utf-8)
|
("\\.el\\'" . prefer-utf-8)
|
||||||
("\\.utf\\(-8\\)?\\'" . utf-8)
|
("\\.utf\\(-8\\)?\\'" . utf-8)
|
||||||
|
|
@ -1647,7 +1646,7 @@ for decoding and encoding files, process I/O, etc."
|
||||||
("\\.tar\\'" . (no-conversion . no-conversion))
|
("\\.tar\\'" . (no-conversion . no-conversion))
|
||||||
( "\\.po[tx]?\\'\\|\\.po\\." . po-find-file-coding-system)
|
( "\\.po[tx]?\\'\\|\\.po\\." . po-find-file-coding-system)
|
||||||
("\\.\\(tex\\|ltx\\|dtx\\|drv\\)\\'" . latexenc-find-file-coding-system)
|
("\\.\\(tex\\|ltx\\|dtx\\|drv\\)\\'" . latexenc-find-file-coding-system)
|
||||||
("" . (undecided . nil)))))
|
("" . (undecided . nil))))
|
||||||
|
|
||||||
|
|
||||||
;;; Setting coding categories and their priorities.
|
;;; Setting coding categories and their priorities.
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@
|
||||||
;;; CHARSET
|
;;; CHARSET
|
||||||
|
|
||||||
(define-button-type 'sort-listed-character-sets
|
(define-button-type 'sort-listed-character-sets
|
||||||
'help-echo (purecopy "mouse-2, RET: sort on this column")
|
'help-echo "mouse-2, RET: sort on this column"
|
||||||
'face 'bold
|
'face 'bold
|
||||||
'action (lambda (button)
|
'action (lambda (button)
|
||||||
(sort-listed-character-sets (button-get button 'sort-key))))
|
(sort-listed-character-sets (button-get button 'sort-key))))
|
||||||
|
|
|
||||||
|
|
@ -265,7 +265,7 @@ attribute."
|
||||||
(aset emacs-mule-charset-table emacs-mule-id name)))
|
(aset emacs-mule-charset-table emacs-mule-id name)))
|
||||||
|
|
||||||
(dolist (slot attrs)
|
(dolist (slot attrs)
|
||||||
(setcdr slot (purecopy (plist-get props (car slot)))))
|
(setcdr slot (plist-get props (car slot))))
|
||||||
|
|
||||||
;; Make sure that the value of :code-space is a vector of 8
|
;; Make sure that the value of :code-space is a vector of 8
|
||||||
;; elements.
|
;; elements.
|
||||||
|
|
@ -278,19 +278,12 @@ attribute."
|
||||||
|
|
||||||
;; Add :name and :docstring properties to PROPS.
|
;; Add :name and :docstring properties to PROPS.
|
||||||
(setq props
|
(setq props
|
||||||
(cons :name (cons name (cons :docstring (cons (purecopy docstring) props)))))
|
(cons :name (cons name (cons :docstring (cons docstring props)))))
|
||||||
(or (plist-get props :short-name)
|
(or (plist-get props :short-name)
|
||||||
(plist-put props :short-name (symbol-name name)))
|
(plist-put props :short-name (symbol-name name)))
|
||||||
(or (plist-get props :long-name)
|
(or (plist-get props :long-name)
|
||||||
(plist-put props :long-name (plist-get props :short-name)))
|
(plist-put props :long-name (plist-get props :short-name)))
|
||||||
(plist-put props :base name)
|
(plist-put props :base name)
|
||||||
;; We can probably get a worthwhile amount in purespace.
|
|
||||||
(setq props
|
|
||||||
(mapcar (lambda (elt)
|
|
||||||
(if (stringp elt)
|
|
||||||
(purecopy elt)
|
|
||||||
elt))
|
|
||||||
props))
|
|
||||||
(setcdr (assq :plist attrs) props)
|
(setcdr (assq :plist attrs) props)
|
||||||
|
|
||||||
(apply 'define-charset-internal name (mapcar 'cdr attrs))))
|
(apply 'define-charset-internal name (mapcar 'cdr attrs))))
|
||||||
|
|
@ -326,7 +319,7 @@ Return t if file exists."
|
||||||
(message "Loading %s (source)..." file)
|
(message "Loading %s (source)..." file)
|
||||||
(message "Loading %s..." file)))
|
(message "Loading %s..." file)))
|
||||||
(when purify-flag
|
(when purify-flag
|
||||||
(push (purecopy file) preloaded-file-list))
|
(push file preloaded-file-list))
|
||||||
(unwind-protect
|
(unwind-protect
|
||||||
(let ((load-true-file-name fullname)
|
(let ((load-true-file-name fullname)
|
||||||
(load-file-name fullname)
|
(load-file-name fullname)
|
||||||
|
|
@ -440,10 +433,7 @@ This is the last value stored with
|
||||||
"Set CHARSETS's PROPNAME property to value VALUE.
|
"Set CHARSETS's PROPNAME property to value VALUE.
|
||||||
It can be retrieved with `(get-charset-property CHARSET PROPNAME)'."
|
It can be retrieved with `(get-charset-property CHARSET PROPNAME)'."
|
||||||
(set-charset-plist charset
|
(set-charset-plist charset
|
||||||
(plist-put (charset-plist charset) propname
|
(plist-put (charset-plist charset) propname value)))
|
||||||
(if (stringp value)
|
|
||||||
(purecopy value)
|
|
||||||
value))))
|
|
||||||
|
|
||||||
(defun charset-description (charset)
|
(defun charset-description (charset)
|
||||||
"Return description string of CHARSET."
|
"Return description string of CHARSET."
|
||||||
|
|
@ -984,8 +974,7 @@ non-ASCII files. This attribute is meaningful only when
|
||||||
|
|
||||||
;; Add :name and :docstring properties to PROPS.
|
;; Add :name and :docstring properties to PROPS.
|
||||||
(setq props
|
(setq props
|
||||||
(cons :name (cons name (cons :docstring (cons (purecopy docstring)
|
(cons :name (cons name (cons :docstring (cons docstring props)))))
|
||||||
props)))))
|
|
||||||
(setcdr (assq :plist common-attrs) props)
|
(setcdr (assq :plist common-attrs) props)
|
||||||
(apply #'define-coding-system-internal
|
(apply #'define-coding-system-internal
|
||||||
name (mapcar #'cdr (append common-attrs spec-attrs)))))
|
name (mapcar #'cdr (append common-attrs spec-attrs)))))
|
||||||
|
|
@ -1529,13 +1518,12 @@ This setting is effective for the next communication only."
|
||||||
;;; X selections
|
;;; X selections
|
||||||
|
|
||||||
(defvar ctext-non-standard-encodings-alist
|
(defvar ctext-non-standard-encodings-alist
|
||||||
(mapcar 'purecopy
|
|
||||||
'(("big5-0" big5 2 big5)
|
'(("big5-0" big5 2 big5)
|
||||||
("ISO8859-14" iso-8859-14 1 latin-iso8859-14)
|
("ISO8859-14" iso-8859-14 1 latin-iso8859-14)
|
||||||
("ISO8859-15" iso-8859-15 1 latin-iso8859-15)
|
("ISO8859-15" iso-8859-15 1 latin-iso8859-15)
|
||||||
("gbk-0" gbk 2 chinese-gbk)
|
("gbk-0" gbk 2 chinese-gbk)
|
||||||
("koi8-r" koi8-r 1 koi8-r)
|
("koi8-r" koi8-r 1 koi8-r)
|
||||||
("microsoft-cp1251" windows-1251 1 windows-1251)))
|
("microsoft-cp1251" windows-1251 1 windows-1251))
|
||||||
"Alist of non-standard encoding names vs the corresponding usages in CTEXT.
|
"Alist of non-standard encoding names vs the corresponding usages in CTEXT.
|
||||||
|
|
||||||
It controls how extended segments of a compound text are handled
|
It controls how extended segments of a compound text are handled
|
||||||
|
|
@ -1568,14 +1556,13 @@ Each element must be one of the names listed in the variable
|
||||||
`ctext-non-standard-encodings-alist' (which see).")
|
`ctext-non-standard-encodings-alist' (which see).")
|
||||||
|
|
||||||
(defvar ctext-non-standard-encodings-regexp
|
(defvar ctext-non-standard-encodings-regexp
|
||||||
(purecopy
|
|
||||||
(string-to-multibyte
|
(string-to-multibyte
|
||||||
(concat
|
(concat
|
||||||
;; For non-standard encodings.
|
;; For non-standard encodings.
|
||||||
"\\(\e%/[0-4][\200-\377][\200-\377]\\([^\002]+\\)\002\\)"
|
"\\(\e%/[0-4][\200-\377][\200-\377]\\([^\002]+\\)\002\\)"
|
||||||
"\\|"
|
"\\|"
|
||||||
;; For UTF-8 encoding.
|
;; For UTF-8 encoding.
|
||||||
"\\(\e%G[^\e]*\e%@\\)"))))
|
"\\(\e%G[^\e]*\e%@\\)")))
|
||||||
|
|
||||||
;; Functions to support "Non-Standard Character Set Encodings" defined
|
;; Functions to support "Non-Standard Character Set Encodings" defined
|
||||||
;; by the COMPOUND-TEXT spec. They also support "The UTF-8 encoding"
|
;; by the COMPOUND-TEXT spec. They also support "The UTF-8 encoding"
|
||||||
|
|
@ -1746,7 +1733,6 @@ in-place."
|
||||||
(defcustom auto-coding-alist
|
(defcustom auto-coding-alist
|
||||||
;; .exe and .EXE are added to support archive-mode looking at DOS
|
;; .exe and .EXE are added to support archive-mode looking at DOS
|
||||||
;; self-extracting exe archives.
|
;; self-extracting exe archives.
|
||||||
(mapcar (lambda (arg) (cons (purecopy (car arg)) (cdr arg)))
|
|
||||||
'(("\\.\\(\
|
'(("\\.\\(\
|
||||||
arc\\|zip\\|lzh\\|lha\\|zoo\\|[jew]ar\\|xpi\\|rar\\|7z\\|squashfs\\|\
|
arc\\|zip\\|lzh\\|lha\\|zoo\\|[jew]ar\\|xpi\\|rar\\|7z\\|squashfs\\|\
|
||||||
ARC\\|ZIP\\|LZH\\|LHA\\|ZOO\\|[JEW]AR\\|XPI\\|RAR\\|7Z\\|SQUASHFS\\)\\'"
|
ARC\\|ZIP\\|LZH\\|LHA\\|ZOO\\|[JEW]AR\\|XPI\\|RAR\\|7Z\\|SQUASHFS\\)\\'"
|
||||||
|
|
@ -1756,7 +1742,7 @@ ARC\\|ZIP\\|LZH\\|LHA\\|ZOO\\|[JEW]AR\\|XPI\\|RAR\\|7Z\\|SQUASHFS\\)\\'"
|
||||||
("\\.\\(gz\\|Z\\|bz\\|bz2\\|xz\\|gpg\\)\\'" . no-conversion)
|
("\\.\\(gz\\|Z\\|bz\\|bz2\\|xz\\|gpg\\)\\'" . no-conversion)
|
||||||
("\\.\\(jpe?g\\|png\\|gif\\|tiff?\\|p[bpgn]m\\)\\'" . no-conversion)
|
("\\.\\(jpe?g\\|png\\|gif\\|tiff?\\|p[bpgn]m\\)\\'" . no-conversion)
|
||||||
("\\.pdf\\'" . no-conversion)
|
("\\.pdf\\'" . no-conversion)
|
||||||
("/#[^/]+#\\'" . utf-8-emacs-unix)))
|
("/#[^/]+#\\'" . utf-8-emacs-unix))
|
||||||
"Alist of filename patterns vs corresponding coding systems.
|
"Alist of filename patterns vs corresponding coding systems.
|
||||||
Each element looks like (REGEXP . CODING-SYSTEM).
|
Each element looks like (REGEXP . CODING-SYSTEM).
|
||||||
A file whose name matches REGEXP is decoded by CODING-SYSTEM on reading.
|
A file whose name matches REGEXP is decoded by CODING-SYSTEM on reading.
|
||||||
|
|
@ -1771,12 +1757,11 @@ and the contents of `file-coding-system-alist'."
|
||||||
(symbol :tag "Coding system"))))
|
(symbol :tag "Coding system"))))
|
||||||
|
|
||||||
(defcustom auto-coding-regexp-alist
|
(defcustom auto-coding-regexp-alist
|
||||||
(mapcar (lambda (arg) (cons (purecopy (car arg)) (cdr arg)))
|
|
||||||
'(("\\`BABYL OPTIONS:[ \t]*-\\*-[ \t]*rmail[ \t]*-\\*-" . no-conversion)
|
'(("\\`BABYL OPTIONS:[ \t]*-\\*-[ \t]*rmail[ \t]*-\\*-" . no-conversion)
|
||||||
("\\`\xFE\xFF" . utf-16be-with-signature)
|
("\\`\xFE\xFF" . utf-16be-with-signature)
|
||||||
("\\`\xFF\xFE" . utf-16le-with-signature)
|
("\\`\xFF\xFE" . utf-16le-with-signature)
|
||||||
("\\`\xEF\xBB\xBF" . utf-8-with-signature)
|
("\\`\xEF\xBB\xBF" . utf-8-with-signature)
|
||||||
("\\`;ELC\024\0\0\0" . emacs-mule))) ; Emacs 20-compiled
|
("\\`;ELC\024\0\0\0" . emacs-mule)) ; Emacs 20-compiled
|
||||||
"Alist of patterns vs corresponding coding systems.
|
"Alist of patterns vs corresponding coding systems.
|
||||||
Each element looks like (REGEXP . CODING-SYSTEM).
|
Each element looks like (REGEXP . CODING-SYSTEM).
|
||||||
A file whose first bytes match REGEXP is decoded by CODING-SYSTEM on reading.
|
A file whose first bytes match REGEXP is decoded by CODING-SYSTEM on reading.
|
||||||
|
|
|
||||||
|
|
@ -2494,11 +2494,11 @@ should be made by `quail-build-decode-map' (which see)."
|
||||||
(help-setup-xref `(quail-keyboard-layout-button ,layout)
|
(help-setup-xref `(quail-keyboard-layout-button ,layout)
|
||||||
nil)
|
nil)
|
||||||
(quail-show-keyboard-layout layout))
|
(quail-show-keyboard-layout layout))
|
||||||
'help-echo (purecopy "mouse-2, RET: show keyboard layout"))
|
'help-echo "mouse-2, RET: show keyboard layout")
|
||||||
|
|
||||||
(define-button-type 'quail-keyboard-customize-button
|
(define-button-type 'quail-keyboard-customize-button
|
||||||
:supertype 'help-customize-variable
|
:supertype 'help-customize-variable
|
||||||
'help-echo (purecopy "mouse-2, RET: customize keyboard layout"))
|
'help-echo "mouse-2, RET: customize keyboard layout")
|
||||||
|
|
||||||
(defun quail-help (&optional package)
|
(defun quail-help (&optional package)
|
||||||
"Show brief description of the current Quail package.
|
"Show brief description of the current Quail package.
|
||||||
|
|
|
||||||
|
|
@ -115,7 +115,7 @@ is called to let you enter the search string, and RET terminates editing
|
||||||
and does a nonincremental search.)"
|
and does a nonincremental search.)"
|
||||||
:type 'boolean)
|
:type 'boolean)
|
||||||
|
|
||||||
(defcustom search-whitespace-regexp (purecopy "[ \t]+")
|
(defcustom search-whitespace-regexp "[ \t]+"
|
||||||
"If non-nil, regular expression to match a sequence of whitespace chars.
|
"If non-nil, regular expression to match a sequence of whitespace chars.
|
||||||
When you enter a space or spaces in the incremental search, it
|
When you enter a space or spaces in the incremental search, it
|
||||||
will match any sequence matched by this regexp. As an exception,
|
will match any sequence matched by this regexp. As an exception,
|
||||||
|
|
@ -497,7 +497,7 @@ this variable is nil.")
|
||||||
(eval-when-compile (require 'help-macro))
|
(eval-when-compile (require 'help-macro))
|
||||||
|
|
||||||
(make-help-screen isearch-help-for-help-internal
|
(make-help-screen isearch-help-for-help-internal
|
||||||
(purecopy "Type a help option: [bkm] or ?")
|
"Type a help option: [bkm] or ?"
|
||||||
"You have typed %THIS-KEY%, the help character. Type a Help option:
|
"You have typed %THIS-KEY%, the help character. Type a Help option:
|
||||||
\(Type \\<isearch-help-map>\\[help-quit] to exit the Help command.)
|
\(Type \\<isearch-help-map>\\[help-quit] to exit the Help command.)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -78,7 +78,6 @@ Otherwise, it is nil.")
|
||||||
|
|
||||||
|
|
||||||
(defun jka-compr-build-file-regexp ()
|
(defun jka-compr-build-file-regexp ()
|
||||||
(purecopy
|
|
||||||
(let ((re-anchored '())
|
(let ((re-anchored '())
|
||||||
(re-free '()))
|
(re-free '()))
|
||||||
(dolist (e jka-compr-compression-info-list)
|
(dolist (e jka-compr-compression-info-list)
|
||||||
|
|
@ -90,7 +89,7 @@ Otherwise, it is nil.")
|
||||||
(if re-free (concat (mapconcat 'identity re-free "\\|") "\\|"))
|
(if re-free (concat (mapconcat 'identity re-free "\\|") "\\|"))
|
||||||
"\\(?:"
|
"\\(?:"
|
||||||
(mapconcat 'identity re-anchored "\\|")
|
(mapconcat 'identity re-anchored "\\|")
|
||||||
"\\)" file-name-version-regexp "?\\'"))))
|
"\\)" file-name-version-regexp "?\\'")))
|
||||||
|
|
||||||
;; Functions for accessing the return value of jka-compr-get-compression-info
|
;; Functions for accessing the return value of jka-compr-get-compression-info
|
||||||
;; FIXME: Use cl-defstruct!
|
;; FIXME: Use cl-defstruct!
|
||||||
|
|
@ -202,7 +201,6 @@ options through Custom does this automatically."
|
||||||
;; uncomp-message uncomp-prog uncomp-args
|
;; uncomp-message uncomp-prog uncomp-args
|
||||||
;; can-append strip-extension-flag file-magic-bytes
|
;; can-append strip-extension-flag file-magic-bytes
|
||||||
;; uncompress-function]
|
;; uncompress-function]
|
||||||
(mapcar 'purecopy
|
|
||||||
`(["\\.Z\\'"
|
`(["\\.Z\\'"
|
||||||
"compressing" "compress" ("-c")
|
"compressing" "compress" ("-c")
|
||||||
;; gzip is more common than uncompress. It can only read, not write.
|
;; gzip is more common than uncompress. It can only read, not write.
|
||||||
|
|
@ -261,7 +259,7 @@ options through Custom does this automatically."
|
||||||
["\\.tzst\\'"
|
["\\.tzst\\'"
|
||||||
"zstd compressing" "zstd" ("-c" "-q")
|
"zstd compressing" "zstd" ("-c" "-q")
|
||||||
"zstd uncompressing" "zstd" ("-c" "-q" "-d")
|
"zstd uncompressing" "zstd" ("-c" "-q" "-d")
|
||||||
t nil "\050\265\057\375"]))
|
t nil "\050\265\057\375"])
|
||||||
|
|
||||||
"List of vectors that describe available compression techniques.
|
"List of vectors that describe available compression techniques.
|
||||||
Each element, which describes a compression technique, is a vector of
|
Each element, which describes a compression technique, is a vector of
|
||||||
|
|
@ -329,10 +327,10 @@ variables. Setting this through Custom does that automatically."
|
||||||
:group 'jka-compr)
|
:group 'jka-compr)
|
||||||
|
|
||||||
(defcustom jka-compr-mode-alist-additions
|
(defcustom jka-compr-mode-alist-additions
|
||||||
(purecopy '(("\\.tgz\\'" . tar-mode)
|
'(("\\.tgz\\'" . tar-mode)
|
||||||
("\\.tbz2?\\'" . tar-mode)
|
("\\.tbz2?\\'" . tar-mode)
|
||||||
("\\.txz\\'" . tar-mode)
|
("\\.txz\\'" . tar-mode)
|
||||||
("\\.tzst\\'" . tar-mode)))
|
("\\.tzst\\'" . tar-mode))
|
||||||
"List of pairs added to `auto-mode-alist' when installing jka-compr.
|
"List of pairs added to `auto-mode-alist' when installing jka-compr.
|
||||||
Uninstalling jka-compr removes all pairs from `auto-mode-alist' that
|
Uninstalling jka-compr removes all pairs from `auto-mode-alist' that
|
||||||
installing added.
|
installing added.
|
||||||
|
|
@ -346,7 +344,7 @@ variables. Setting this through Custom does that automatically."
|
||||||
:set 'jka-compr-set
|
:set 'jka-compr-set
|
||||||
:group 'jka-compr)
|
:group 'jka-compr)
|
||||||
|
|
||||||
(defcustom jka-compr-load-suffixes (purecopy '(".gz"))
|
(defcustom jka-compr-load-suffixes '(".gz")
|
||||||
"List of compression related suffixes to try when loading files.
|
"List of compression related suffixes to try when loading files.
|
||||||
Enabling Auto Compression mode appends this list to `load-file-rep-suffixes',
|
Enabling Auto Compression mode appends this list to `load-file-rep-suffixes',
|
||||||
which see. Disabling Auto Compression mode removes all suffixes
|
which see. Disabling Auto Compression mode removes all suffixes
|
||||||
|
|
|
||||||
|
|
@ -56,7 +56,7 @@
|
||||||
"CCL program to encode an Ethiopic code to code point of Ethiopic font.")
|
"CCL program to encode an Ethiopic code to code point of Ethiopic font.")
|
||||||
|
|
||||||
(setq font-ccl-encoder-alist
|
(setq font-ccl-encoder-alist
|
||||||
(cons (cons (purecopy "ethiopic") ccl-encode-ethio-font) font-ccl-encoder-alist))
|
(cons (cons "ethiopic" ccl-encode-ethio-font) font-ccl-encoder-alist))
|
||||||
|
|
||||||
(set-language-info-alist
|
(set-language-info-alist
|
||||||
"Ethiopic" '((setup-function . setup-ethiopic-environment-internal)
|
"Ethiopic" '((setup-function . setup-ethiopic-environment-internal)
|
||||||
|
|
|
||||||
|
|
@ -29,9 +29,9 @@
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defvar default-korean-keyboard
|
(defvar default-korean-keyboard
|
||||||
(purecopy (if (string-search "3" (or (getenv "HANGUL_KEYBOARD_TYPE") ""))
|
(if (string-search "3" (or (getenv "HANGUL_KEYBOARD_TYPE") ""))
|
||||||
"3"
|
"3"
|
||||||
""))
|
"")
|
||||||
"The kind of Korean keyboard for Korean (Hangul) input method.
|
"The kind of Korean keyboard for Korean (Hangul) input method.
|
||||||
\"\" for 2, \"3\" for 3, and \"3f\" for 3f.")
|
\"\" for 2, \"3\" for 3, and \"3f\" for 3f.")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -574,19 +574,17 @@ The result of matching is to be used for indexing alists at conversion
|
||||||
from a roman transcription to the corresponding Tibetan character.")
|
from a roman transcription to the corresponding Tibetan character.")
|
||||||
|
|
||||||
(defvar tibetan-precomposed-regexp
|
(defvar tibetan-precomposed-regexp
|
||||||
(purecopy
|
|
||||||
(eval-when-compile
|
(eval-when-compile
|
||||||
(concat "^"
|
(concat "^"
|
||||||
(regexp-opt (mapcar #'car tibetan-precomposed-transcription-alist)
|
(regexp-opt (mapcar #'car tibetan-precomposed-transcription-alist)
|
||||||
t))))
|
t)))
|
||||||
"Regexp string to match a romanized Tibetan complex consonant.
|
"Regexp string to match a romanized Tibetan complex consonant.
|
||||||
The result of matching is to be used for indexing alists when the input key
|
The result of matching is to be used for indexing alists when the input key
|
||||||
from an input method is converted to the corresponding precomposed glyph.")
|
from an input method is converted to the corresponding precomposed glyph.")
|
||||||
|
|
||||||
(defvar tibetan-precomposition-rule-regexp
|
(defvar tibetan-precomposition-rule-regexp
|
||||||
(purecopy
|
|
||||||
(eval-when-compile
|
(eval-when-compile
|
||||||
(regexp-opt (mapcar #'car tibetan-precomposition-rule-alist) t)))
|
(regexp-opt (mapcar #'car tibetan-precomposition-rule-alist) t))
|
||||||
"Regexp string to match a sequence of Tibetan consonantic components.
|
"Regexp string to match a sequence of Tibetan consonantic components.
|
||||||
That is, one base consonant and one or more subjoined consonants.
|
That is, one base consonant and one or more subjoined consonants.
|
||||||
The result of matching is to be used for indexing alist when the component
|
The result of matching is to be used for indexing alist when the component
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,7 @@
|
||||||
;; Add subdirectories to the load-path for files that might get
|
;; Add subdirectories to the load-path for files that might get
|
||||||
;; autoloaded when bootstrapping or running Emacs normally.
|
;; autoloaded when bootstrapping or running Emacs normally.
|
||||||
;; This is because PATH_DUMPLOADSEARCH is just "../lisp".
|
;; This is because PATH_DUMPLOADSEARCH is just "../lisp".
|
||||||
(if (or (member dump-mode '("bootstrap" "pbootstrap"))
|
(if (or (member dump-mode '("pbootstrap"))
|
||||||
;; FIXME this is irritatingly fragile.
|
;; FIXME this is irritatingly fragile.
|
||||||
(and (stringp (nth 4 command-line-args))
|
(and (stringp (nth 4 command-line-args))
|
||||||
(string-match "^unidata-gen\\(\\.elc?\\)?$"
|
(string-match "^unidata-gen\\(\\.elc?\\)?$"
|
||||||
|
|
@ -105,10 +105,6 @@
|
||||||
;; than usual.
|
;; than usual.
|
||||||
(setq max-lisp-eval-depth (max max-lisp-eval-depth 3400))))
|
(setq max-lisp-eval-depth (max max-lisp-eval-depth 3400))))
|
||||||
|
|
||||||
(if (eq t purify-flag)
|
|
||||||
;; Hash consing saved around 11% of pure space in my tests.
|
|
||||||
(setq purify-flag (make-hash-table :test #'equal :size 80000)))
|
|
||||||
|
|
||||||
(message "Using load-path %s" load-path)
|
(message "Using load-path %s" load-path)
|
||||||
|
|
||||||
(if dump-mode
|
(if dump-mode
|
||||||
|
|
@ -184,12 +180,6 @@
|
||||||
(file-error
|
(file-error
|
||||||
(load "ldefs-boot.el")))
|
(load "ldefs-boot.el")))
|
||||||
|
|
||||||
(let ((new (make-hash-table :test #'equal)))
|
|
||||||
;; Now that loaddefs has populated definition-prefixes, purify its contents.
|
|
||||||
(maphash (lambda (k v) (puthash (purecopy k) (purecopy v) new))
|
|
||||||
definition-prefixes)
|
|
||||||
(setq definition-prefixes new))
|
|
||||||
|
|
||||||
(load "button") ;After loaddefs, because of define-minor-mode!
|
(load "button") ;After loaddefs, because of define-minor-mode!
|
||||||
|
|
||||||
(when (interpreted-function-p (symbol-function 'add-hook))
|
(when (interpreted-function-p (symbol-function 'add-hook))
|
||||||
|
|
@ -503,11 +493,6 @@ lost after dumping")))
|
||||||
;; Avoid storing references to build directory in the binary.
|
;; Avoid storing references to build directory in the binary.
|
||||||
(setq custom-current-group-alist nil)
|
(setq custom-current-group-alist nil)
|
||||||
|
|
||||||
;; We keep the load-history data in PURE space.
|
|
||||||
;; Make sure that the spine of the list is not in pure space because it can
|
|
||||||
;; be destructively mutated in lread.c:build_load_history.
|
|
||||||
(setq load-history (mapcar #'purecopy load-history))
|
|
||||||
|
|
||||||
(set-buffer-modified-p nil)
|
(set-buffer-modified-p nil)
|
||||||
|
|
||||||
(remove-hook 'after-load-functions (lambda (_) (garbage-collect)))
|
(remove-hook 'after-load-functions (lambda (_) (garbage-collect)))
|
||||||
|
|
@ -576,30 +561,10 @@ directory got moved. This is set to be a pair in the form of:
|
||||||
;; file-local variables.
|
;; file-local variables.
|
||||||
(defvar comp--no-native-compile (make-hash-table :test #'equal)))
|
(defvar comp--no-native-compile (make-hash-table :test #'equal)))
|
||||||
|
|
||||||
(when (hash-table-p purify-flag)
|
|
||||||
(let ((strings 0)
|
|
||||||
(vectors 0)
|
|
||||||
(bytecodes 0)
|
|
||||||
(conses 0)
|
|
||||||
(others 0))
|
|
||||||
(maphash (lambda (k v)
|
|
||||||
(cond
|
|
||||||
((stringp k) (setq strings (1+ strings)))
|
|
||||||
((vectorp k) (setq vectors (1+ vectors)))
|
|
||||||
((consp k) (setq conses (1+ conses)))
|
|
||||||
((byte-code-function-p v) (setq bytecodes (1+ bytecodes)))
|
|
||||||
(t (setq others (1+ others)))))
|
|
||||||
purify-flag)
|
|
||||||
(message "Pure-hashed: %d strings, %d vectors, %d conses, %d bytecodes, %d others"
|
|
||||||
strings vectors conses bytecodes others)))
|
|
||||||
|
|
||||||
;; Avoid error if user loads some more libraries now and make sure the
|
;; Avoid error if user loads some more libraries now.
|
||||||
;; hash-consing hash table is GC'd.
|
|
||||||
(setq purify-flag nil)
|
(setq purify-flag nil)
|
||||||
|
|
||||||
(if (null (garbage-collect))
|
|
||||||
(setq pure-space-overflow t))
|
|
||||||
|
|
||||||
;; Make sure we will attempt bidi reordering henceforth.
|
;; Make sure we will attempt bidi reordering henceforth.
|
||||||
(setq redisplay--inhibit-bidi nil)
|
(setq redisplay--inhibit-bidi nil)
|
||||||
|
|
||||||
|
|
@ -635,8 +600,6 @@ directory got moved. This is set to be a pair in the form of:
|
||||||
(error nil))))))
|
(error nil))))))
|
||||||
(if dump-mode
|
(if dump-mode
|
||||||
(let ((output (cond ((equal dump-mode "pdump") "emacs.pdmp")
|
(let ((output (cond ((equal dump-mode "pdump") "emacs.pdmp")
|
||||||
((equal dump-mode "dump") "emacs")
|
|
||||||
((equal dump-mode "bootstrap") "emacs")
|
|
||||||
((equal dump-mode "pbootstrap") "bootstrap-emacs.pdmp")
|
((equal dump-mode "pbootstrap") "bootstrap-emacs.pdmp")
|
||||||
(t (error "Unrecognized dump mode %s" dump-mode)))))
|
(t (error "Unrecognized dump mode %s" dump-mode)))))
|
||||||
(when (and (featurep 'native-compile)
|
(when (and (featurep 'native-compile)
|
||||||
|
|
@ -661,8 +624,7 @@ directory got moved. This is set to be a pair in the form of:
|
||||||
(dump-emacs-portable (expand-file-name output invocation-directory))
|
(dump-emacs-portable (expand-file-name output invocation-directory))
|
||||||
(dump-emacs output (if (eq system-type 'ms-dos)
|
(dump-emacs output (if (eq system-type 'ms-dos)
|
||||||
"temacs.exe"
|
"temacs.exe"
|
||||||
"temacs"))
|
"temacs")))
|
||||||
(message "%d pure bytes used" pure-bytes-used))
|
|
||||||
(setq success t))
|
(setq success t))
|
||||||
(unless success
|
(unless success
|
||||||
(ignore-errors
|
(ignore-errors
|
||||||
|
|
@ -680,7 +642,7 @@ directory got moved. This is set to be a pair in the form of:
|
||||||
(eq system-type 'android))
|
(eq system-type 'android))
|
||||||
;; Don't bother adding another name if we're just
|
;; Don't bother adding another name if we're just
|
||||||
;; building bootstrap-emacs.
|
;; building bootstrap-emacs.
|
||||||
(member dump-mode '("pbootstrap" "bootstrap"))))
|
(member dump-mode '("pbootstrap"))))
|
||||||
(let ((name (format "emacs-%s.%d" emacs-version emacs-build-number))
|
(let ((name (format "emacs-%s.%d" emacs-version emacs-build-number))
|
||||||
(exe (if (eq system-type 'windows-nt) ".exe" "")))
|
(exe (if (eq system-type 'windows-nt) ".exe" "")))
|
||||||
(while (string-match "[^-+_.a-zA-Z0-9]+" name)
|
(while (string-match "[^-+_.a-zA-Z0-9]+" name)
|
||||||
|
|
|
||||||
|
|
@ -182,7 +182,7 @@ or `locate-make-command-line', determines the database."
|
||||||
:type '(choice (const :tag "None" nil) face))
|
:type '(choice (const :tag "None" nil) face))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom locate-ls-subdir-switches (purecopy "-al")
|
(defcustom locate-ls-subdir-switches "-al"
|
||||||
"`ls' switches for inserting subdirectories in `*Locate*' buffers.
|
"`ls' switches for inserting subdirectories in `*Locate*' buffers.
|
||||||
This should contain the \"-l\" switch, but not the \"-F\" or \"-b\" switches."
|
This should contain the \"-l\" switch, but not the \"-F\" or \"-b\" switches."
|
||||||
:type 'string
|
:type 'string
|
||||||
|
|
|
||||||
|
|
@ -94,14 +94,13 @@ This switch is used in conjunction with `printer-name'."
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom lpr-command
|
(defcustom lpr-command
|
||||||
(purecopy
|
|
||||||
(cond
|
(cond
|
||||||
(lpr-windows-system
|
(lpr-windows-system
|
||||||
"")
|
"")
|
||||||
(lpr-lp-system
|
(lpr-lp-system
|
||||||
"lp")
|
"lp")
|
||||||
(t
|
(t
|
||||||
"lpr")))
|
"lpr"))
|
||||||
"Name of program for printing a file.
|
"Name of program for printing a file.
|
||||||
|
|
||||||
On MS-DOS and MS-Windows systems, if the value is an empty string then
|
On MS-DOS and MS-Windows systems, if the value is an empty string then
|
||||||
|
|
|
||||||
|
|
@ -152,7 +152,7 @@ its character representation and its display representation.")
|
||||||
:group 'rmail)
|
:group 'rmail)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom rmail-file-name (purecopy "~/RMAIL")
|
(defcustom rmail-file-name "~/RMAIL"
|
||||||
"Name of user's primary mail file."
|
"Name of user's primary mail file."
|
||||||
:type 'string
|
:type 'string
|
||||||
:group 'rmail
|
:group 'rmail
|
||||||
|
|
@ -160,7 +160,6 @@ its character representation and its display representation.")
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom rmail-spool-directory
|
(defcustom rmail-spool-directory
|
||||||
(purecopy
|
|
||||||
(cond ((file-exists-p "/var/mail")
|
(cond ((file-exists-p "/var/mail")
|
||||||
;; SVR4 and recent BSD are said to use this.
|
;; SVR4 and recent BSD are said to use this.
|
||||||
;; Rather than trying to know precisely which systems use it,
|
;; Rather than trying to know precisely which systems use it,
|
||||||
|
|
@ -169,7 +168,7 @@ its character representation and its display representation.")
|
||||||
;; Many GNU/Linux systems use this name.
|
;; Many GNU/Linux systems use this name.
|
||||||
((file-exists-p "/var/spool/mail") "/var/spool/mail/")
|
((file-exists-p "/var/spool/mail") "/var/spool/mail/")
|
||||||
((memq system-type '(hpux usg-unix-v)) "/usr/mail/")
|
((memq system-type '(hpux usg-unix-v)) "/usr/mail/")
|
||||||
(t "/usr/spool/mail/")))
|
(t "/usr/spool/mail/"))
|
||||||
"Name of directory used by system mailer for delivering new mail.
|
"Name of directory used by system mailer for delivering new mail.
|
||||||
Its name should end with a slash."
|
Its name should end with a slash."
|
||||||
:initialize #'custom-initialize-delay
|
:initialize #'custom-initialize-delay
|
||||||
|
|
@ -316,7 +315,6 @@ Setting this variable has an effect only before reading a mail."
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom rmail-ignored-headers
|
(defcustom rmail-ignored-headers
|
||||||
(purecopy
|
|
||||||
(concat "^via:\\|^mail-from:\\|^origin:\\|^references:\\|^sender:"
|
(concat "^via:\\|^mail-from:\\|^origin:\\|^references:\\|^sender:"
|
||||||
"\\|^status:\\|^received:\\|^x400-originator:\\|^x400-recipients:"
|
"\\|^status:\\|^received:\\|^x400-originator:\\|^x400-recipients:"
|
||||||
"\\|^x400-received:\\|^x400-mts-identifier:\\|^x400-content-type:"
|
"\\|^x400-received:\\|^x400-mts-identifier:\\|^x400-content-type:"
|
||||||
|
|
@ -336,7 +334,7 @@ Setting this variable has an effect only before reading a mail."
|
||||||
"\\|^Received-SPF:"
|
"\\|^Received-SPF:"
|
||||||
"\\|^Authentication-Results:"
|
"\\|^Authentication-Results:"
|
||||||
"\\|^resent-face:\\|^resent-x.*:\\|^resent-organization:\\|^resent-openpgp:"
|
"\\|^resent-face:\\|^resent-x.*:\\|^resent-organization:\\|^resent-openpgp:"
|
||||||
"\\|^x-.*:"))
|
"\\|^x-.*:")
|
||||||
"Regexp to match header fields that Rmail should normally hide.
|
"Regexp to match header fields that Rmail should normally hide.
|
||||||
\(See also `rmail-nonignored-headers', which overrides this regexp.)
|
\(See also `rmail-nonignored-headers', which overrides this regexp.)
|
||||||
This variable is used for reformatting the message header,
|
This variable is used for reformatting the message header,
|
||||||
|
|
@ -385,7 +383,7 @@ If nil, display all header fields except those matched by
|
||||||
:version "29.1")
|
:version "29.1")
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom rmail-highlighted-headers (purecopy "^From:\\|^Subject:")
|
(defcustom rmail-highlighted-headers "^From:\\|^Subject:"
|
||||||
"Regexp to match Header fields that Rmail should normally highlight.
|
"Regexp to match Header fields that Rmail should normally highlight.
|
||||||
A value of nil means don't highlight. Uses the face `rmail-highlight'."
|
A value of nil means don't highlight. Uses the face `rmail-highlight'."
|
||||||
:type '(choice regexp (const :tag "None" nil))
|
:type '(choice regexp (const :tag "None" nil))
|
||||||
|
|
@ -436,12 +434,12 @@ the frame where you have the RMAIL buffer displayed."
|
||||||
:group 'rmail-reply)
|
:group 'rmail-reply)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom rmail-secondary-file-directory (purecopy "~/")
|
(defcustom rmail-secondary-file-directory "~/"
|
||||||
"Directory for additional secondary Rmail files."
|
"Directory for additional secondary Rmail files."
|
||||||
:type 'directory
|
:type 'directory
|
||||||
:group 'rmail-files)
|
:group 'rmail-files)
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom rmail-secondary-file-regexp (purecopy "\\.xmail\\'")
|
(defcustom rmail-secondary-file-regexp "\\.xmail\\'"
|
||||||
"Regexp for which files are secondary Rmail files."
|
"Regexp for which files are secondary Rmail files."
|
||||||
:type 'regexp
|
:type 'regexp
|
||||||
:group 'rmail-files)
|
:group 'rmail-files)
|
||||||
|
|
|
||||||
|
|
@ -160,7 +160,7 @@ This is used by the default mail-sending commands. See also
|
||||||
:version "24.1")
|
:version "24.1")
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom mail-header-separator (purecopy "--text follows this line--")
|
(defcustom mail-header-separator "--text follows this line--"
|
||||||
"Line used to separate headers from text in messages being composed."
|
"Line used to separate headers from text in messages being composed."
|
||||||
:type 'string)
|
:type 'string)
|
||||||
|
|
||||||
|
|
@ -201,7 +201,7 @@ The default file is defined in sendmail's configuration file, e.g.
|
||||||
:type '(choice (const :tag "Sendmail default" nil) file))
|
:type '(choice (const :tag "Sendmail default" nil) file))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom mail-personal-alias-file (purecopy "~/.mailrc")
|
(defcustom mail-personal-alias-file "~/.mailrc"
|
||||||
"If non-nil, the name of the user's personal mail alias file.
|
"If non-nil, the name of the user's personal mail alias file.
|
||||||
This file typically should be in same format as the `.mailrc' file used by
|
This file typically should be in same format as the `.mailrc' file used by
|
||||||
the `Mail' or `mailx' program.
|
the `Mail' or `mailx' program.
|
||||||
|
|
@ -260,7 +260,7 @@ regardless of what part of it (if any) is included in the cited text.")
|
||||||
(defcustom mail-citation-prefix-regexp
|
(defcustom mail-citation-prefix-regexp
|
||||||
;; Use [[:word:]] rather than \w so we don't get tripped up if one
|
;; Use [[:word:]] rather than \w so we don't get tripped up if one
|
||||||
;; of those chars has a weird `syntax-table' text property.
|
;; of those chars has a weird `syntax-table' text property.
|
||||||
(purecopy "\\([ \t]*\\([[:word:]]\\|[_.]\\)+>+\\|[ \t]*[>|]\\)+")
|
"\\([ \t]*\\([[:word:]]\\|[_.]\\)+>+\\|[ \t]*[>|]\\)+"
|
||||||
"Regular expression to match a citation prefix plus whitespace.
|
"Regular expression to match a citation prefix plus whitespace.
|
||||||
It should match whatever sort of citation prefixes you want to handle,
|
It should match whatever sort of citation prefixes you want to handle,
|
||||||
with whitespace before and after; it should also match just whitespace.
|
with whitespace before and after; it should also match just whitespace.
|
||||||
|
|
@ -379,12 +379,12 @@ and should insert whatever you want to insert."
|
||||||
:risky t)
|
:risky t)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom mail-signature-file (purecopy "~/.signature")
|
(defcustom mail-signature-file "~/.signature"
|
||||||
"File containing the text inserted at end of mail buffer."
|
"File containing the text inserted at end of mail buffer."
|
||||||
:type 'file)
|
:type 'file)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom mail-default-directory (purecopy "~/")
|
(defcustom mail-default-directory "~/"
|
||||||
"Value of `default-directory' for Mail mode buffers.
|
"Value of `default-directory' for Mail mode buffers.
|
||||||
This directory is used for auto-save files of Mail mode buffers.
|
This directory is used for auto-save files of Mail mode buffers.
|
||||||
|
|
||||||
|
|
|
||||||
714
lisp/menu-bar.el
714
lisp/menu-bar.el
File diff suppressed because it is too large
Load diff
|
|
@ -666,7 +666,7 @@ Some context functions add menu items below the separator."
|
||||||
menu)
|
menu)
|
||||||
|
|
||||||
(defvar context-menu-entry
|
(defvar context-menu-entry
|
||||||
`(menu-item ,(purecopy "Context Menu") ,(make-sparse-keymap)
|
`(menu-item "Context Menu" ,(make-sparse-keymap)
|
||||||
:filter ,(lambda (_) (context-menu-map)))
|
:filter ,(lambda (_) (context-menu-map)))
|
||||||
"Menu item that creates the context menu and can be bound to a mouse key.")
|
"Menu item that creates the context menu and can be bound to a mouse key.")
|
||||||
|
|
||||||
|
|
@ -2676,7 +2676,6 @@ a large number if you prefer a mixed multitude. The default is 4."
|
||||||
:version "20.3")
|
:version "20.3")
|
||||||
|
|
||||||
(defvar mouse-buffer-menu-mode-groups
|
(defvar mouse-buffer-menu-mode-groups
|
||||||
(mapcar (lambda (arg) (cons (purecopy (car arg)) (purecopy (cdr arg))))
|
|
||||||
'(("Info\\|Help\\|Apropos\\|Man" . "Help")
|
'(("Info\\|Help\\|Apropos\\|Man" . "Help")
|
||||||
("\\bVM\\b\\|\\bMH\\b\\|Message\\b\\|Mail\\|Group\\|Score\\|Summary\\|Article"
|
("\\bVM\\b\\|\\bMH\\b\\|Message\\b\\|Mail\\|Group\\|Score\\|Summary\\|Article"
|
||||||
. "Mail/News")
|
. "Mail/News")
|
||||||
|
|
@ -2688,7 +2687,7 @@ a large number if you prefer a mixed multitude. The default is 4."
|
||||||
("\\blog\\b\\|diff\\|\\bvc\\b\\|cvs\\|Git\\|Annotate" . "Version Control")
|
("\\blog\\b\\|diff\\|\\bvc\\b\\|cvs\\|Git\\|Annotate" . "Version Control")
|
||||||
("Threads\\|Memory\\|Disassembly\\|Breakpoints\\|Frames\\|Locals\\|Registers\\|Inferior I/O\\|Debugger"
|
("Threads\\|Memory\\|Disassembly\\|Breakpoints\\|Frames\\|Locals\\|Registers\\|Inferior I/O\\|Debugger"
|
||||||
. "GDB")
|
. "GDB")
|
||||||
("Lisp" . "Lisp")))
|
("Lisp" . "Lisp"))
|
||||||
"How to group various major modes together in \\[mouse-buffer-menu].
|
"How to group various major modes together in \\[mouse-buffer-menu].
|
||||||
Each element has the form (REGEXP . GROUPNAME).
|
Each element has the form (REGEXP . GROUPNAME).
|
||||||
If the major mode's name string matches REGEXP, use GROUPNAME instead.")
|
If the major mode's name string matches REGEXP, use GROUPNAME instead.")
|
||||||
|
|
@ -2853,11 +2852,9 @@ and selects that window."
|
||||||
|
|
||||||
(defvar x-fixed-font-alist
|
(defvar x-fixed-font-alist
|
||||||
(list
|
(list
|
||||||
(purecopy "Font Menu")
|
"Font Menu"
|
||||||
(cons
|
(cons
|
||||||
(purecopy "Misc")
|
"Misc"
|
||||||
(mapcar
|
|
||||||
(lambda (arg) (cons (purecopy (car arg)) (purecopy (cdr arg))))
|
|
||||||
;; For these, we specify the pixel height and width.
|
;; For these, we specify the pixel height and width.
|
||||||
'(("fixed" "fixed")
|
'(("fixed" "fixed")
|
||||||
("6x10" "-misc-fixed-medium-r-normal--10-*-*-*-c-60-iso8859-1" "6x10")
|
("6x10" "-misc-fixed-medium-r-normal--10-*-*-*-c-60-iso8859-1" "6x10")
|
||||||
|
|
@ -2896,12 +2893,10 @@ and selects that window."
|
||||||
"-b&h-lucidatypewriter-bold-r-normal-sans-*-240-*-*-*-*-iso8859-1")
|
"-b&h-lucidatypewriter-bold-r-normal-sans-*-240-*-*-*-*-iso8859-1")
|
||||||
;; ("lucidatypewriter-bold-r-24" "-b&h-lucidatypewriter-bold-r-normal-sans-24-240-75-75-m-140-iso8859-1")
|
;; ("lucidatypewriter-bold-r-24" "-b&h-lucidatypewriter-bold-r-normal-sans-24-240-75-75-m-140-iso8859-1")
|
||||||
;; ("fixed-medium-20" "-misc-fixed-medium-*-*-*-20-*-*-*-*-*-*-*")
|
;; ("fixed-medium-20" "-misc-fixed-medium-*-*-*-20-*-*-*-*-*-*-*")
|
||||||
)))
|
))
|
||||||
|
|
||||||
(cons
|
(cons
|
||||||
(purecopy "Courier")
|
"Courier"
|
||||||
(mapcar
|
|
||||||
(lambda (arg) (cons (purecopy (car arg)) (purecopy (cdr arg))))
|
|
||||||
;; For these, we specify the point height.
|
;; For these, we specify the point height.
|
||||||
'(("8" "-adobe-courier-medium-r-normal--*-80-*-*-m-*-iso8859-1")
|
'(("8" "-adobe-courier-medium-r-normal--*-80-*-*-m-*-iso8859-1")
|
||||||
("10" "-adobe-courier-medium-r-normal--*-100-*-*-m-*-iso8859-1")
|
("10" "-adobe-courier-medium-r-normal--*-100-*-*-m-*-iso8859-1")
|
||||||
|
|
@ -2927,7 +2922,7 @@ and selects that window."
|
||||||
("14 bold slant" "-adobe-courier-bold-o-normal--*-140-*-*-m-*-iso8859-1")
|
("14 bold slant" "-adobe-courier-bold-o-normal--*-140-*-*-m-*-iso8859-1")
|
||||||
("18 bold slant" "-adobe-courier-bold-o-normal--*-180-*-*-m-*-iso8859-1")
|
("18 bold slant" "-adobe-courier-bold-o-normal--*-180-*-*-m-*-iso8859-1")
|
||||||
("24 bold slant" "-adobe-courier-bold-o-normal--*-240-*-*-m-*-iso8859-1")
|
("24 bold slant" "-adobe-courier-bold-o-normal--*-240-*-*-m-*-iso8859-1")
|
||||||
))))
|
)))
|
||||||
"X fonts suitable for use in Emacs.")
|
"X fonts suitable for use in Emacs.")
|
||||||
|
|
||||||
(declare-function generate-fontset-menu "fontset" ())
|
(declare-function generate-fontset-menu "fontset" ())
|
||||||
|
|
@ -3653,7 +3648,7 @@ is copied instead of being cut."
|
||||||
(global-set-key [S-down-mouse-1] #'mouse-appearance-menu))
|
(global-set-key [S-down-mouse-1] #'mouse-appearance-menu))
|
||||||
;; C-down-mouse-2 is bound in facemenu.el.
|
;; C-down-mouse-2 is bound in facemenu.el.
|
||||||
(global-set-key [C-down-mouse-3]
|
(global-set-key [C-down-mouse-3]
|
||||||
`(menu-item ,(purecopy "Menu Bar") ignore
|
`(menu-item "Menu Bar" ignore
|
||||||
:filter ,(lambda (_)
|
:filter ,(lambda (_)
|
||||||
(if (zerop (or (frame-parameter nil 'menu-bar-lines) 0))
|
(if (zerop (or (frame-parameter nil 'menu-bar-lines) 0))
|
||||||
(mouse-menu-bar-map)
|
(mouse-menu-bar-map)
|
||||||
|
|
|
||||||
|
|
@ -1319,25 +1319,25 @@ This does nothing except loading eudc by autoload side-effect."
|
||||||
(defvar eudc-tools-menu
|
(defvar eudc-tools-menu
|
||||||
(let ((map (make-sparse-keymap "Directory Servers")))
|
(let ((map (make-sparse-keymap "Directory Servers")))
|
||||||
(define-key map [phone]
|
(define-key map [phone]
|
||||||
`(menu-item ,(purecopy "Get Phone") eudc-get-phone
|
'(menu-item "Get Phone" eudc-get-phone
|
||||||
:help ,(purecopy "Get the phone field of name from the directory server")))
|
:help "Get the phone field of name from the directory server"))
|
||||||
(define-key map [email]
|
(define-key map [email]
|
||||||
`(menu-item ,(purecopy "Get Email") eudc-get-email
|
'(menu-item "Get Email" eudc-get-email
|
||||||
:help ,(purecopy "Get the email field of NAME from the directory server")))
|
:help "Get the email field of NAME from the directory server"))
|
||||||
(define-key map [separator-eudc-email] menu-bar-separator)
|
(define-key map [separator-eudc-email] menu-bar-separator)
|
||||||
(define-key map [expand-inline]
|
(define-key map [expand-inline]
|
||||||
`(menu-item ,(purecopy "Expand Inline Query") eudc-expand-inline
|
'(menu-item "Expand Inline Query" eudc-expand-inline
|
||||||
:help ,(purecopy "Query the directory server, and expand the query string before point")))
|
:help "Query the directory server, and expand the query string before point"))
|
||||||
(define-key map [query]
|
(define-key map [query]
|
||||||
`(menu-item ,(purecopy "Query with Form") eudc-query-form
|
'(menu-item "Query with Form" eudc-query-form
|
||||||
:help ,(purecopy "Display a form to query the directory server")))
|
:help "Display a form to query the directory server"))
|
||||||
(define-key map [separator-eudc-query] menu-bar-separator)
|
(define-key map [separator-eudc-query] menu-bar-separator)
|
||||||
(define-key map [new]
|
(define-key map [new]
|
||||||
`(menu-item ,(purecopy "New Server") eudc-set-server
|
'(menu-item "New Server" eudc-set-server
|
||||||
:help ,(purecopy "Set the directory server to SERVER using PROTOCOL")))
|
:help "Set the directory server to SERVER using PROTOCOL"))
|
||||||
(define-key map [load]
|
(define-key map [load]
|
||||||
`(menu-item ,(purecopy "Load Hotlist of Servers") eudc-load-eudc
|
'(menu-item "Load Hotlist of Servers" eudc-load-eudc
|
||||||
:help ,(purecopy "Load the Emacs Unified Directory Client")))
|
:help "Load the Emacs Unified Directory Client"))
|
||||||
map))
|
map))
|
||||||
(fset 'eudc-tools-menu (symbol-value 'eudc-tools-menu)))
|
(fset 'eudc-tools-menu (symbol-value 'eudc-tools-menu)))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -136,7 +136,7 @@ by the close of the first pair.")
|
||||||
(put 'comment-end-skip 'safe-local-variable 'stringp)
|
(put 'comment-end-skip 'safe-local-variable 'stringp)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defvar comment-end (purecopy "")
|
(defvar comment-end ""
|
||||||
"String to insert to end a new comment.
|
"String to insert to end a new comment.
|
||||||
Should be an empty string if comments are terminated by end-of-line.")
|
Should be an empty string if comments are terminated by end-of-line.")
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
|
|
@ -288,7 +288,7 @@ See `comment-styles' for a list of available styles."
|
||||||
:group 'comment)
|
:group 'comment)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom comment-padding (purecopy " ")
|
(defcustom comment-padding " "
|
||||||
"Padding string that `comment-region' puts between comment chars and text.
|
"Padding string that `comment-region' puts between comment chars and text.
|
||||||
Can also be an integer which will be automatically turned into a string
|
Can also be an integer which will be automatically turned into a string
|
||||||
of the corresponding number of spaces.
|
of the corresponding number of spaces.
|
||||||
|
|
|
||||||
|
|
@ -415,8 +415,7 @@ FILE's modification time."
|
||||||
load-name outfile))
|
load-name outfile))
|
||||||
(let ((standard-output (marker-buffer output-start))
|
(let ((standard-output (marker-buffer output-start))
|
||||||
(print-quoted t))
|
(print-quoted t))
|
||||||
(princ `(push (purecopy
|
(princ `(push ',(cons (intern package) version)
|
||||||
',(cons (intern package) version))
|
|
||||||
package--builtin-versions))
|
package--builtin-versions))
|
||||||
(princ "\n")))))
|
(princ "\n")))))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -55,15 +55,15 @@ The default value for this variable is `pgtk-dnd-default-test-function'."
|
||||||
:group 'pgtk)
|
:group 'pgtk)
|
||||||
|
|
||||||
(defcustom pgtk-dnd-types-alist
|
(defcustom pgtk-dnd-types-alist
|
||||||
`((,(purecopy "text/uri-list") . pgtk-dnd-handle-uri-list)
|
`(("text/uri-list" . pgtk-dnd-handle-uri-list)
|
||||||
(,(purecopy "FILE_NAME") . pgtk-dnd-handle-file-name)
|
("FILE_NAME" . pgtk-dnd-handle-file-name)
|
||||||
(,(purecopy "UTF8_STRING") . pgtk-dnd-insert-utf8-text)
|
("UTF8_STRING" . pgtk-dnd-insert-utf8-text)
|
||||||
(,(purecopy "text/plain;charset=UTF-8") . pgtk-dnd-insert-utf8-text)
|
("text/plain;charset=UTF-8" . pgtk-dnd-insert-utf8-text)
|
||||||
(,(purecopy "text/plain;charset=utf-8") . pgtk-dnd-insert-utf8-text)
|
("text/plain;charset=utf-8" . pgtk-dnd-insert-utf8-text)
|
||||||
(,(purecopy "text/plain") . dnd-insert-text)
|
("text/plain" . dnd-insert-text)
|
||||||
(,(purecopy "COMPOUND_TEXT") . pgtk-dnd-insert-ctext)
|
("COMPOUND_TEXT" . pgtk-dnd-insert-ctext)
|
||||||
(,(purecopy "STRING") . dnd-insert-text)
|
("STRING" . dnd-insert-text)
|
||||||
(,(purecopy "TEXT") . dnd-insert-text))
|
("TEXT" . dnd-insert-text))
|
||||||
"Which function to call to handle a drop of that type.
|
"Which function to call to handle a drop of that type.
|
||||||
If the type for the drop is not present, or the function is nil,
|
If the type for the drop is not present, or the function is nil,
|
||||||
the drop is rejected. The function takes three arguments, WINDOW, ACTION
|
the drop is rejected. The function takes three arguments, WINDOW, ACTION
|
||||||
|
|
@ -77,7 +77,7 @@ if drop is successful, nil if not."
|
||||||
:group 'pgtk)
|
:group 'pgtk)
|
||||||
|
|
||||||
(defcustom pgtk-dnd-known-types
|
(defcustom pgtk-dnd-known-types
|
||||||
(mapcar 'purecopy '("text/uri-list"
|
'("text/uri-list"
|
||||||
"FILE_NAME"
|
"FILE_NAME"
|
||||||
"UTF8_STRING"
|
"UTF8_STRING"
|
||||||
"text/plain;charset=UTF-8"
|
"text/plain;charset=UTF-8"
|
||||||
|
|
@ -85,7 +85,7 @@ if drop is successful, nil if not."
|
||||||
"text/plain"
|
"text/plain"
|
||||||
"COMPOUND_TEXT"
|
"COMPOUND_TEXT"
|
||||||
"STRING"
|
"STRING"
|
||||||
"TEXT"))
|
"TEXT")
|
||||||
"The types accepted by default for dropped data.
|
"The types accepted by default for dropped data.
|
||||||
The types are chosen in the order they appear in the list."
|
The types are chosen in the order they appear in the list."
|
||||||
:version "22.1"
|
:version "22.1"
|
||||||
|
|
|
||||||
|
|
@ -937,7 +937,7 @@ The value nil as an element means to try the default directory."
|
||||||
(string :tag "Directory"))))
|
(string :tag "Directory"))))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom compile-command (purecopy "make -k ")
|
(defcustom compile-command "make -k "
|
||||||
"Last shell command used to do a compilation; default for next compilation.
|
"Last shell command used to do a compilation; default for next compilation.
|
||||||
|
|
||||||
Sometimes it is useful for files to supply local values for this variable.
|
Sometimes it is useful for files to supply local values for this variable.
|
||||||
|
|
|
||||||
|
|
@ -503,11 +503,7 @@ use of `macroexpand-all' as a way to find the \"underlying raw code\".")
|
||||||
var))
|
var))
|
||||||
vars))))))
|
vars))))))
|
||||||
|
|
||||||
(defvar elisp--local-variables-completion-table
|
(defconst elisp--local-variables-completion-table
|
||||||
;; Use `defvar' rather than `defconst' since defconst would purecopy this
|
|
||||||
;; value, which would doubly fail: it would fail because purecopy can't
|
|
||||||
;; handle the recursive bytecode object, and it would fail because it would
|
|
||||||
;; move `lastpos' and `lastvars' to pure space where they'd be immutable!
|
|
||||||
(let ((lastpos nil) (lastvars nil))
|
(let ((lastpos nil) (lastvars nil))
|
||||||
(letrec ((hookfun (lambda ()
|
(letrec ((hookfun (lambda ()
|
||||||
(setq lastpos nil)
|
(setq lastpos nil)
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ invoke `visit-tags-table', which is the only reliable way of
|
||||||
setting the value of this variable, whether buffer-local or global.
|
setting the value of this variable, whether buffer-local or global.
|
||||||
Use the `etags' program to make a tags table file.")
|
Use the `etags' program to make a tags table file.")
|
||||||
;; Make M-x set-variable tags-file-name like M-x visit-tags-table.
|
;; Make M-x set-variable tags-file-name like M-x visit-tags-table.
|
||||||
;;;###autoload (put 'tags-file-name 'variable-interactive (purecopy "fVisit tags table: "))
|
;;;###autoload (put 'tags-file-name 'variable-interactive "fVisit tags table: ")
|
||||||
;;;###autoload (put 'tags-file-name 'safe-local-variable 'stringp)
|
;;;###autoload (put 'tags-file-name 'safe-local-variable 'stringp)
|
||||||
|
|
||||||
(defgroup etags nil "Tags tables."
|
(defgroup etags nil "Tags tables."
|
||||||
|
|
@ -73,7 +73,7 @@ Use the `etags' program to make a tags table file."
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom tags-compression-info-list
|
(defcustom tags-compression-info-list
|
||||||
(purecopy '("" ".Z" ".bz2" ".gz" ".xz" ".tgz"))
|
'("" ".Z" ".bz2" ".gz" ".xz" ".tgz")
|
||||||
"List of extensions tried by etags when `auto-compression-mode' is on.
|
"List of extensions tried by etags when `auto-compression-mode' is on.
|
||||||
An empty string means search the non-compressed file."
|
An empty string means search the non-compressed file."
|
||||||
:version "24.1" ; added xz
|
:version "24.1" ; added xz
|
||||||
|
|
|
||||||
|
|
@ -543,18 +543,18 @@ redundant).")
|
||||||
This gets tacked on the end of the generated expressions.")
|
This gets tacked on the end of the generated expressions.")
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defvar grep-program (purecopy "grep")
|
(defvar grep-program "grep"
|
||||||
"The default grep program for `grep-command' and `grep-find-command'.
|
"The default grep program for `grep-command' and `grep-find-command'.
|
||||||
This variable's value takes effect when `grep-compute-defaults' is called.")
|
This variable's value takes effect when `grep-compute-defaults' is called.")
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defvar find-program (purecopy "find")
|
(defvar find-program "find"
|
||||||
"The default find program.
|
"The default find program.
|
||||||
This is used by commands like `grep-find-command', `find-dired'
|
This is used by commands like `grep-find-command', `find-dired'
|
||||||
and others.")
|
and others.")
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defvar xargs-program (purecopy "xargs")
|
(defvar xargs-program "xargs"
|
||||||
"The default xargs program for `grep-find-command'.
|
"The default xargs program for `grep-find-command'.
|
||||||
See `grep-find-use-xargs'.
|
See `grep-find-use-xargs'.
|
||||||
This variable's value takes effect when `grep-compute-defaults' is called.")
|
This variable's value takes effect when `grep-compute-defaults' is called.")
|
||||||
|
|
|
||||||
|
|
@ -257,7 +257,6 @@ This has effect only if `search-invisible' is set to `open'."
|
||||||
;; FIXME: Currently the check is made via
|
;; FIXME: Currently the check is made via
|
||||||
;; (assoc major-mode hs-special-modes-alist) so it doesn't pay attention
|
;; (assoc major-mode hs-special-modes-alist) so it doesn't pay attention
|
||||||
;; to the mode hierarchy.
|
;; to the mode hierarchy.
|
||||||
(mapcar #'purecopy
|
|
||||||
'((c-mode "{" "}" "/[*/]" nil nil)
|
'((c-mode "{" "}" "/[*/]" nil nil)
|
||||||
(c-ts-mode "{" "}" "/[*/]" nil nil)
|
(c-ts-mode "{" "}" "/[*/]" nil nil)
|
||||||
(c++-mode "{" "}" "/[*/]" nil nil)
|
(c++-mode "{" "}" "/[*/]" nil nil)
|
||||||
|
|
@ -270,7 +269,7 @@ This has effect only if `search-invisible' is set to `open'."
|
||||||
(lua-ts-mode "{\\|\\[\\[" "}\\|\\]\\]" "--" nil)
|
(lua-ts-mode "{\\|\\[\\[" "}\\|\\]\\]" "--" nil)
|
||||||
(mhtml-mode "{\\|<[^/>]*?" "}\\|</[^/>]*[^/]>" "<!--" mhtml-forward nil)
|
(mhtml-mode "{\\|<[^/>]*?" "}\\|</[^/>]*[^/]>" "<!--" mhtml-forward nil)
|
||||||
;; Add more support here.
|
;; Add more support here.
|
||||||
))
|
)
|
||||||
"Alist for initializing the hideshow variables for different modes.
|
"Alist for initializing the hideshow variables for different modes.
|
||||||
Each element has the form
|
Each element has the form
|
||||||
(MODE START END COMMENT-START FORWARD-SEXP-FUNC ADJUST-BEG-FUNC
|
(MODE START END COMMENT-START FORWARD-SEXP-FUNC ADJUST-BEG-FUNC
|
||||||
|
|
|
||||||
|
|
@ -4062,7 +4062,7 @@ one of the aforementioned options instead of using this mode."
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(dolist (name (list "node" "nodejs" "gjs" "rhino"))
|
(dolist (name (list "node" "nodejs" "gjs" "rhino"))
|
||||||
(add-to-list 'interpreter-mode-alist (cons (purecopy name) 'js-mode)))
|
(add-to-list 'interpreter-mode-alist (cons name 'js-mode)))
|
||||||
|
|
||||||
(provide 'js)
|
(provide 'js)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -291,7 +291,7 @@
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(add-to-list 'auto-mode-alist (cons python--auto-mode-alist-regexp 'python-mode))
|
(add-to-list 'auto-mode-alist (cons python--auto-mode-alist-regexp 'python-mode))
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(add-to-list 'interpreter-mode-alist (cons (purecopy "python[0-9.]*") 'python-mode))
|
(add-to-list 'interpreter-mode-alist '("python[0-9.]*" . python-mode))
|
||||||
|
|
||||||
(defgroup python nil
|
(defgroup python nil
|
||||||
"Python Language's flying circus support for Emacs."
|
"Python Language's flying circus support for Emacs."
|
||||||
|
|
|
||||||
|
|
@ -2734,7 +2734,7 @@ Currently there are `ruby-mode' and `ruby-ts-mode'."
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(add-to-list 'auto-mode-alist
|
(add-to-list 'auto-mode-alist
|
||||||
(cons (purecopy (concat "\\(?:\\.\\(?:"
|
(cons (concat "\\(?:\\.\\(?:"
|
||||||
"rbw?\\|ru\\|rake\\|thor\\|axlsx"
|
"rbw?\\|ru\\|rake\\|thor\\|axlsx"
|
||||||
"\\|jbuilder\\|rabl\\|gemspec\\|podspec"
|
"\\|jbuilder\\|rabl\\|gemspec\\|podspec"
|
||||||
"\\)"
|
"\\)"
|
||||||
|
|
@ -2742,12 +2742,12 @@ Currently there are `ruby-mode' and `ruby-ts-mode'."
|
||||||
"\\(?:Gem\\|Rake\\|Cap\\|Thor"
|
"\\(?:Gem\\|Rake\\|Cap\\|Thor"
|
||||||
"\\|Puppet\\|Berks\\|Brew\\|Fast"
|
"\\|Puppet\\|Berks\\|Brew\\|Fast"
|
||||||
"\\|Vagrant\\|Guard\\|Pod\\)file"
|
"\\|Vagrant\\|Guard\\|Pod\\)file"
|
||||||
"\\)\\'"))
|
"\\)\\'")
|
||||||
'ruby-mode))
|
'ruby-mode))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(dolist (name (list "ruby" "rbx" "jruby" "j?ruby\\(?:[0-9.]+\\)"))
|
(dolist (name (list "ruby" "rbx" "jruby" "j?ruby\\(?:[0-9.]+\\)"))
|
||||||
(add-to-list 'interpreter-mode-alist (cons (purecopy name) 'ruby-mode)))
|
(add-to-list 'interpreter-mode-alist (cons name 'ruby-mode)))
|
||||||
|
|
||||||
;; See ruby-ts-mode.el for why we do this.
|
;; See ruby-ts-mode.el for why we do this.
|
||||||
(setq major-mode-remap-defaults
|
(setq major-mode-remap-defaults
|
||||||
|
|
|
||||||
|
|
@ -208,7 +208,7 @@ If nil, TAB always indents current line."
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
;; Mode definition
|
;; Mode definition
|
||||||
|
|
||||||
;;;###autoload (add-to-list 'auto-mode-alist (cons (purecopy "\\.vr[hi]?\\'") 'vera-mode))
|
;;;###autoload (add-to-list 'auto-mode-alist '("\\.vr[hi]?\\'" . vera-mode))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(define-derived-mode vera-mode prog-mode "Vera"
|
(define-derived-mode vera-mode prog-mode "Vera"
|
||||||
|
|
|
||||||
|
|
@ -1785,7 +1785,6 @@ If it's nil, automatic feeding takes place."
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom ps-page-dimensions-database
|
(defcustom ps-page-dimensions-database
|
||||||
(purecopy
|
|
||||||
(list (list 'a4 (/ (* 72 21.0) 2.54) (/ (* 72 29.7) 2.54) "A4")
|
(list (list 'a4 (/ (* 72 21.0) 2.54) (/ (* 72 29.7) 2.54) "A4")
|
||||||
(list 'a3 (/ (* 72 29.7) 2.54) (/ (* 72 42.0) 2.54) "A3")
|
(list 'a3 (/ (* 72 29.7) 2.54) (/ (* 72 42.0) 2.54) "A3")
|
||||||
(list 'letter (* 72 8.5) (* 72 11.0) "Letter")
|
(list 'letter (* 72 8.5) (* 72 11.0) "Letter")
|
||||||
|
|
@ -1822,7 +1821,7 @@ If it's nil, automatic feeding takes place."
|
||||||
'(topcoatedpaper 396.0 136.0 "TopcoatedPaper150")
|
'(topcoatedpaper 396.0 136.0 "TopcoatedPaper150")
|
||||||
'(vhsface 205.0 127.0 "VHSFace")
|
'(vhsface 205.0 127.0 "VHSFace")
|
||||||
'(vhsspine 400.0 50.0 "VHSSpine")
|
'(vhsspine 400.0 50.0 "VHSSpine")
|
||||||
'(zipdisk 156.0 136.0 "ZipDisk")))
|
'(zipdisk 156.0 136.0 "ZipDisk"))
|
||||||
"List associating a symbolic paper type to its width, height and doc media.
|
"List associating a symbolic paper type to its width, height and doc media.
|
||||||
See `ps-paper-type'."
|
See `ps-paper-type'."
|
||||||
:type '(repeat (list :tag "Paper Type"
|
:type '(repeat (list :tag "Paper Type"
|
||||||
|
|
|
||||||
|
|
@ -1315,7 +1315,7 @@ a previously found match."
|
||||||
(define-key map "r" 'occur-rename-buffer)
|
(define-key map "r" 'occur-rename-buffer)
|
||||||
(define-key map "c" 'clone-buffer)
|
(define-key map "c" 'clone-buffer)
|
||||||
(define-key map "\C-c\C-f" 'next-error-follow-minor-mode)
|
(define-key map "\C-c\C-f" 'next-error-follow-minor-mode)
|
||||||
(bindings--define-key map [menu-bar occur] (cons "Occur" occur-menu-map))
|
(define-key map [menu-bar occur] (cons "Occur" occur-menu-map))
|
||||||
map)
|
map)
|
||||||
"Keymap for `occur-mode'.")
|
"Keymap for `occur-mode'.")
|
||||||
|
|
||||||
|
|
@ -1368,7 +1368,7 @@ Alternatively, click \\[occur-mode-mouse-goto] on an item to go to it.
|
||||||
(define-key map "\C-c\C-c" 'occur-cease-edit)
|
(define-key map "\C-c\C-c" 'occur-cease-edit)
|
||||||
(define-key map "\C-o" 'occur-mode-display-occurrence)
|
(define-key map "\C-o" 'occur-mode-display-occurrence)
|
||||||
(define-key map "\C-c\C-f" 'next-error-follow-minor-mode)
|
(define-key map "\C-c\C-f" 'next-error-follow-minor-mode)
|
||||||
(bindings--define-key map [menu-bar occur] (cons "Occur" occur-menu-map))
|
(define-key map [menu-bar occur] (cons "Occur" occur-menu-map))
|
||||||
map)
|
map)
|
||||||
"Keymap for `occur-edit-mode'.")
|
"Keymap for `occur-edit-mode'.")
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -92,7 +92,6 @@
|
||||||
(sexp :tag "Value")))))
|
(sexp :tag "Value")))))
|
||||||
|
|
||||||
(defcustom file-name-shadow-properties
|
(defcustom file-name-shadow-properties
|
||||||
;; FIXME: should we purecopy this?
|
|
||||||
'(face file-name-shadow field shadow)
|
'(face file-name-shadow field shadow)
|
||||||
"Properties given to the `shadowed' part of a filename in the minibuffer.
|
"Properties given to the `shadowed' part of a filename in the minibuffer.
|
||||||
Only used when `file-name-shadow-mode' is active.
|
Only used when `file-name-shadow-mode' is active.
|
||||||
|
|
@ -103,7 +102,7 @@ If Emacs is not running under a window system,
|
||||||
:version "22.1")
|
:version "22.1")
|
||||||
|
|
||||||
(defcustom file-name-shadow-tty-properties
|
(defcustom file-name-shadow-tty-properties
|
||||||
(purecopy '(before-string "{" after-string "} " field shadow))
|
'(before-string "{" after-string "} " field shadow)
|
||||||
"Properties given to the `shadowed' part of a filename in the minibuffer.
|
"Properties given to the `shadowed' part of a filename in the minibuffer.
|
||||||
Only used when `file-name-shadow-mode' is active and Emacs
|
Only used when `file-name-shadow-mode' is active and Emacs
|
||||||
is not running under a window-system; if Emacs is running under a window
|
is not running under a window-system; if Emacs is running under a window
|
||||||
|
|
|
||||||
|
|
@ -113,7 +113,7 @@
|
||||||
:group 'shell)
|
:group 'shell)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom shell-dumb-shell-regexp (purecopy "cmd\\(proxy\\)?\\.exe")
|
(defcustom shell-dumb-shell-regexp "cmd\\(proxy\\)?\\.exe"
|
||||||
"Regexp to match shells that don't save their command history, and
|
"Regexp to match shells that don't save their command history, and
|
||||||
don't handle the backslash as a quote character. For shells that
|
don't handle the backslash as a quote character. For shells that
|
||||||
match this regexp, Emacs will write out the command history when the
|
match this regexp, Emacs will write out the command history when the
|
||||||
|
|
|
||||||
|
|
@ -177,7 +177,7 @@ changes."
|
||||||
(defvar next-error-highlight-timer nil)
|
(defvar next-error-highlight-timer nil)
|
||||||
|
|
||||||
(defvar next-error-overlay-arrow-position nil)
|
(defvar next-error-overlay-arrow-position nil)
|
||||||
(put 'next-error-overlay-arrow-position 'overlay-arrow-string (purecopy "=>"))
|
(put 'next-error-overlay-arrow-position 'overlay-arrow-string "=>")
|
||||||
(add-to-list 'overlay-arrow-variable-list 'next-error-overlay-arrow-position)
|
(add-to-list 'overlay-arrow-variable-list 'next-error-overlay-arrow-position)
|
||||||
|
|
||||||
(defvar next-error-last-buffer nil
|
(defvar next-error-last-buffer nil
|
||||||
|
|
@ -4272,7 +4272,7 @@ which is defined in the `warnings' library.\n")
|
||||||
Maximum length of the history list is determined by the value
|
Maximum length of the history list is determined by the value
|
||||||
of `history-length', which see.")
|
of `history-length', which see.")
|
||||||
|
|
||||||
(defvar shell-command-switch (purecopy "-c")
|
(defvar shell-command-switch "-c"
|
||||||
"Switch used to have the shell execute its command line argument.")
|
"Switch used to have the shell execute its command line argument.")
|
||||||
|
|
||||||
(defvar shell-command-default-error-buffer nil
|
(defvar shell-command-default-error-buffer nil
|
||||||
|
|
@ -6947,7 +6947,7 @@ START and END specify the portion of the current buffer to be copied."
|
||||||
(save-excursion
|
(save-excursion
|
||||||
(insert-buffer-substring oldbuf start end)))))
|
(insert-buffer-substring oldbuf start end)))))
|
||||||
|
|
||||||
(define-error 'mark-inactive (purecopy "The mark is not active now"))
|
(define-error 'mark-inactive "The mark is not active now")
|
||||||
|
|
||||||
(defvar activate-mark-hook nil
|
(defvar activate-mark-hook nil
|
||||||
"Hook run when the mark becomes active.
|
"Hook run when the mark becomes active.
|
||||||
|
|
@ -9263,9 +9263,9 @@ if long lines are truncated."
|
||||||
(message "Word wrapping %s"
|
(message "Word wrapping %s"
|
||||||
(if word-wrap "enabled" "disabled")))
|
(if word-wrap "enabled" "disabled")))
|
||||||
|
|
||||||
(defvar overwrite-mode-textual (purecopy " Ovwrt")
|
(defvar overwrite-mode-textual " Ovwrt"
|
||||||
"The string displayed in the mode line when in overwrite mode.")
|
"The string displayed in the mode line when in overwrite mode.")
|
||||||
(defvar overwrite-mode-binary (purecopy " Bin Ovwrt")
|
(defvar overwrite-mode-binary " Bin Ovwrt"
|
||||||
"The string displayed in the mode line when in binary overwrite mode.")
|
"The string displayed in the mode line when in binary overwrite mode.")
|
||||||
|
|
||||||
(define-minor-mode overwrite-mode
|
(define-minor-mode overwrite-mode
|
||||||
|
|
|
||||||
|
|
@ -355,7 +355,7 @@ looked for.
|
||||||
Setting `init-file-user' does not prevent Emacs from loading
|
Setting `init-file-user' does not prevent Emacs from loading
|
||||||
`site-start.el'. The only way to do that is to use `--no-site-file'.")
|
`site-start.el'. The only way to do that is to use `--no-site-file'.")
|
||||||
|
|
||||||
(defcustom site-run-file (purecopy "site-start")
|
(defcustom site-run-file "site-start"
|
||||||
"File containing site-wide run-time initializations.
|
"File containing site-wide run-time initializations.
|
||||||
This file is loaded at run-time before `user-init-file'. It contains
|
This file is loaded at run-time before `user-init-file'. It contains
|
||||||
inits that need to be in place for the entire site, but which, due to
|
inits that need to be in place for the entire site, but which, due to
|
||||||
|
|
@ -427,13 +427,6 @@ from being initialized."
|
||||||
|
|
||||||
(defvar no-blinking-cursor nil)
|
(defvar no-blinking-cursor nil)
|
||||||
|
|
||||||
(defvar pure-space-overflow nil
|
|
||||||
"Non-nil if building Emacs overflowed pure space.")
|
|
||||||
|
|
||||||
(defvar pure-space-overflow-message (purecopy "\
|
|
||||||
Warning Warning!!! Pure space overflow !!!Warning Warning
|
|
||||||
\(See the node Pure Storage in the Lisp manual for details.)\n"))
|
|
||||||
|
|
||||||
(defcustom tutorial-directory
|
(defcustom tutorial-directory
|
||||||
(file-name-as-directory (expand-file-name "tutorials" data-directory))
|
(file-name-as-directory (expand-file-name "tutorials" data-directory))
|
||||||
"Directory containing the Emacs TUTORIAL files."
|
"Directory containing the Emacs TUTORIAL files."
|
||||||
|
|
@ -1107,7 +1100,7 @@ init-file, or to a default value if loading is not possible."
|
||||||
;; Else, perhaps the user init file was compiled
|
;; Else, perhaps the user init file was compiled
|
||||||
(when (and (equal (file-name-extension user-init-file) "eln")
|
(when (and (equal (file-name-extension user-init-file) "eln")
|
||||||
;; The next test is for builds without native
|
;; The next test is for builds without native
|
||||||
;; compilation support or builds with unexec.
|
;; compilation support.
|
||||||
(boundp 'comp-eln-to-el-h))
|
(boundp 'comp-eln-to-el-h))
|
||||||
(if-let* ((source (gethash (file-name-nondirectory
|
(if-let* ((source (gethash (file-name-nondirectory
|
||||||
user-init-file)
|
user-init-file)
|
||||||
|
|
@ -1696,11 +1689,11 @@ Changed settings will be marked as \"CHANGED outside of Customize\"."
|
||||||
`((changed ((t :background ,color)))))
|
`((changed ((t :background ,color)))))
|
||||||
(put 'cursor 'face-modified t))))
|
(put 'cursor 'face-modified t))))
|
||||||
|
|
||||||
(defcustom initial-scratch-message (purecopy "\
|
(defcustom initial-scratch-message "\
|
||||||
;; This buffer is for text that is not saved, and for Lisp evaluation.
|
;; This buffer is for text that is not saved, and for Lisp evaluation.
|
||||||
;; To create a file, visit it with `\\[find-file]' and enter text in its buffer.
|
;; To create a file, visit it with `\\[find-file]' and enter text in its buffer.
|
||||||
|
|
||||||
")
|
"
|
||||||
"Initial documentation displayed in *scratch* buffer at startup.
|
"Initial documentation displayed in *scratch* buffer at startup.
|
||||||
If this is nil, no message will be displayed."
|
If this is nil, no message will be displayed."
|
||||||
:type '(choice (text :tag "Message")
|
:type '(choice (text :tag "Message")
|
||||||
|
|
@ -2099,8 +2092,6 @@ splash screen in another window."
|
||||||
(erase-buffer)
|
(erase-buffer)
|
||||||
(setq default-directory command-line-default-directory)
|
(setq default-directory command-line-default-directory)
|
||||||
(make-local-variable 'startup-screen-inhibit-startup-screen)
|
(make-local-variable 'startup-screen-inhibit-startup-screen)
|
||||||
(if pure-space-overflow
|
|
||||||
(insert pure-space-overflow-message))
|
|
||||||
;; Insert the permissions notice if the user has yet to grant Emacs
|
;; Insert the permissions notice if the user has yet to grant Emacs
|
||||||
;; storage permissions.
|
;; storage permissions.
|
||||||
(when (fboundp 'android-before-splash-screen)
|
(when (fboundp 'android-before-splash-screen)
|
||||||
|
|
@ -2142,8 +2133,6 @@ splash screen in another window."
|
||||||
(setq buffer-undo-list t)
|
(setq buffer-undo-list t)
|
||||||
(let ((inhibit-read-only t))
|
(let ((inhibit-read-only t))
|
||||||
(erase-buffer)
|
(erase-buffer)
|
||||||
(if pure-space-overflow
|
|
||||||
(insert pure-space-overflow-message))
|
|
||||||
(fancy-splash-head)
|
(fancy-splash-head)
|
||||||
(dolist (text fancy-about-text)
|
(dolist (text fancy-about-text)
|
||||||
(apply #'fancy-splash-insert text)
|
(apply #'fancy-splash-insert text)
|
||||||
|
|
@ -2209,8 +2198,6 @@ splash screen in another window."
|
||||||
(setq default-directory command-line-default-directory)
|
(setq default-directory command-line-default-directory)
|
||||||
(setq-local tab-width 8)
|
(setq-local tab-width 8)
|
||||||
|
|
||||||
(if pure-space-overflow
|
|
||||||
(insert pure-space-overflow-message))
|
|
||||||
;; Insert the permissions notice if the user has yet to grant
|
;; Insert the permissions notice if the user has yet to grant
|
||||||
;; Emacs storage permissions.
|
;; Emacs storage permissions.
|
||||||
(when (fboundp 'android-before-splash-screen)
|
(when (fboundp 'android-before-splash-screen)
|
||||||
|
|
@ -2526,23 +2513,12 @@ A fancy display is used on graphic displays, normal otherwise."
|
||||||
(defalias 'about-emacs #'display-about-screen)
|
(defalias 'about-emacs #'display-about-screen)
|
||||||
(defalias 'display-splash-screen #'display-startup-screen)
|
(defalias 'display-splash-screen #'display-startup-screen)
|
||||||
|
|
||||||
;; This avoids byte-compiler warning in the unexec build.
|
;; This avoids byte-compiler warning in non-pdumper builds.
|
||||||
(declare-function pdumper-stats "pdumper.c" ())
|
(declare-function pdumper-stats "pdumper.c" ())
|
||||||
|
|
||||||
(defun command-line-1 (args-left)
|
(defun command-line-1 (args-left)
|
||||||
"A subroutine of `command-line'."
|
"A subroutine of `command-line'."
|
||||||
(display-startup-echo-area-message)
|
(display-startup-echo-area-message)
|
||||||
(when (and pure-space-overflow
|
|
||||||
(not noninteractive)
|
|
||||||
;; If we were dumped with pdumper, we don't care about
|
|
||||||
;; pure-space overflow.
|
|
||||||
(or (not (fboundp 'pdumper-stats))
|
|
||||||
(null (pdumper-stats))))
|
|
||||||
(display-warning
|
|
||||||
'initialization
|
|
||||||
"Building Emacs overflowed pure space.\
|
|
||||||
(See the node Pure Storage in the Lisp manual for details.)"
|
|
||||||
:warning))
|
|
||||||
|
|
||||||
;; `displayable-buffers' is a list of buffers that may be displayed,
|
;; `displayable-buffers' is a list of buffers that may be displayed,
|
||||||
;; which includes files parsed from the command line arguments and
|
;; which includes files parsed from the command line arguments and
|
||||||
|
|
|
||||||
|
|
@ -2038,6 +2038,10 @@ instead; it will indirectly limit the specpdl stack size as well.")
|
||||||
|
|
||||||
(define-obsolete-function-alias 'fetch-bytecode #'ignore "30.1")
|
(define-obsolete-function-alias 'fetch-bytecode #'ignore "30.1")
|
||||||
|
|
||||||
|
(define-obsolete-function-alias 'purecopy #'identity "31.1")
|
||||||
|
|
||||||
|
(make-obsolete-variable 'pure-bytes-used "no longer used." "31.1")
|
||||||
|
|
||||||
|
|
||||||
;;;; Alternate names for functions - these are not being phased out.
|
;;;; Alternate names for functions - these are not being phased out.
|
||||||
|
|
||||||
|
|
@ -5969,7 +5973,7 @@ See also `with-eval-after-load'."
|
||||||
;; evaluating it now).
|
;; evaluating it now).
|
||||||
(let* ((regexp-or-feature
|
(let* ((regexp-or-feature
|
||||||
(if (stringp file)
|
(if (stringp file)
|
||||||
(setq file (purecopy (load-history-regexp file)))
|
(setq file (load-history-regexp file))
|
||||||
file))
|
file))
|
||||||
(elt (assoc regexp-or-feature after-load-alist))
|
(elt (assoc regexp-or-feature after-load-alist))
|
||||||
(func
|
(func
|
||||||
|
|
@ -7135,7 +7139,7 @@ Also, \"-GIT\", \"-CVS\" and \"-NNN\" are treated as snapshot versions."
|
||||||
|
|
||||||
(defvar package--builtin-versions
|
(defvar package--builtin-versions
|
||||||
;; Mostly populated by loaddefs.el.
|
;; Mostly populated by loaddefs.el.
|
||||||
(purecopy `((emacs . ,(version-to-list emacs-version))))
|
`((emacs . ,(version-to-list emacs-version)))
|
||||||
"Alist giving the version of each versioned builtin package.
|
"Alist giving the version of each versioned builtin package.
|
||||||
I.e. each element of the list is of the form (NAME . VERSION) where
|
I.e. each element of the list is of the form (NAME . VERSION) where
|
||||||
NAME is the package name as a symbol, and VERSION is its version
|
NAME is the package name as a symbol, and VERSION is its version
|
||||||
|
|
|
||||||
|
|
@ -559,7 +559,7 @@ appropriate."
|
||||||
"<touchscreen-begin>" #'tab-bar-touchscreen-begin)
|
"<touchscreen-begin>" #'tab-bar-touchscreen-begin)
|
||||||
|
|
||||||
(global-set-key [tab-bar]
|
(global-set-key [tab-bar]
|
||||||
`(menu-item ,(purecopy "tab bar") ,(make-sparse-keymap)
|
`(menu-item "tab bar" ,(make-sparse-keymap)
|
||||||
:filter tab-bar-make-keymap))
|
:filter tab-bar-make-keymap))
|
||||||
|
|
||||||
(defun tab-bar-make-keymap (&optional _ignore)
|
(defun tab-bar-make-keymap (&optional _ignore)
|
||||||
|
|
|
||||||
|
|
@ -222,7 +222,6 @@ have been processed."
|
||||||
|
|
||||||
(defvar x-colors
|
(defvar x-colors
|
||||||
(if (featurep 'ns) (ns-list-colors)
|
(if (featurep 'ns) (ns-list-colors)
|
||||||
(purecopy
|
|
||||||
'("gray100" "grey100" "gray99" "grey99" "gray98" "grey98" "gray97"
|
'("gray100" "grey100" "gray99" "grey99" "gray98" "grey98" "gray97"
|
||||||
"grey97" "gray96" "grey96" "gray95" "grey95" "gray94" "grey94"
|
"grey97" "gray96" "grey96" "gray95" "grey95" "gray94" "grey94"
|
||||||
"gray93" "grey93" "gray92" "grey92" "gray91" "grey91" "gray90"
|
"gray93" "grey93" "gray92" "grey92" "gray91" "grey91" "gray90"
|
||||||
|
|
@ -383,7 +382,7 @@ have been processed."
|
||||||
"OrangeRed" "red" "white" "white smoke" "WhiteSmoke" "gainsboro"
|
"OrangeRed" "red" "white" "white smoke" "WhiteSmoke" "gainsboro"
|
||||||
"light gray" "light grey" "LightGray" "LightGrey" "gray" "grey"
|
"light gray" "light grey" "LightGray" "LightGrey" "gray" "grey"
|
||||||
"dark gray" "dark grey" "DarkGray" "DarkGrey" "dim gray"
|
"dark gray" "dark grey" "DarkGray" "DarkGrey" "dim gray"
|
||||||
"dim grey" "DimGray" "DimGrey" "black")))
|
"dim grey" "DimGray" "DimGrey" "black"))
|
||||||
"List of basic colors available on color displays.
|
"List of basic colors available on color displays.
|
||||||
For X, the list comes from the `rgb.txt' file,v 10.41 94/02/20.
|
For X, the list comes from the `rgb.txt' file,v 10.41 94/02/20.
|
||||||
For Nextstep, this is a list of non-PANTONE colors returned by
|
For Nextstep, this is a list of non-PANTONE colors returned by
|
||||||
|
|
|
||||||
|
|
@ -830,15 +830,15 @@ See the documentation of `create-fontset-from-fontset-spec' for the format.")
|
||||||
(setq menu-bar-final-items '(buffer services hide-app quit))
|
(setq menu-bar-final-items '(buffer services hide-app quit))
|
||||||
|
|
||||||
;; If running under GNUstep, "Help" is moved and renamed "Info".
|
;; If running under GNUstep, "Help" is moved and renamed "Info".
|
||||||
(bindings--define-key global-map [menu-bar help-menu]
|
(define-key global-map [menu-bar help-menu]
|
||||||
(cons "Info" menu-bar-help-menu))
|
(cons "Info" menu-bar-help-menu))
|
||||||
(bindings--define-key global-map [menu-bar quit]
|
(define-key global-map [menu-bar quit]
|
||||||
'(menu-item "Quit" save-buffers-kill-emacs
|
'(menu-item "Quit" save-buffers-kill-emacs
|
||||||
:help "Save unsaved buffers, then exit"))
|
:help "Save unsaved buffers, then exit"))
|
||||||
(bindings--define-key global-map [menu-bar hide-app]
|
(define-key global-map [menu-bar hide-app]
|
||||||
'(menu-item "Hide" ns-do-hide-emacs
|
'(menu-item "Hide" ns-do-hide-emacs
|
||||||
:help "Hide Emacs"))
|
:help "Hide Emacs"))
|
||||||
(bindings--define-key global-map [menu-bar services]
|
(define-key global-map [menu-bar services]
|
||||||
(cons "Services" (make-sparse-keymap "Services")))))
|
(cons "Services" (make-sparse-keymap "Services")))))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -186,8 +186,6 @@ EVENT is a `preedit-text' event."
|
||||||
(add-hook 'after-init-hook #'pgtk-use-im-context-handler)
|
(add-hook 'after-init-hook #'pgtk-use-im-context-handler)
|
||||||
|
|
||||||
(defcustom x-gtk-stock-map
|
(defcustom x-gtk-stock-map
|
||||||
(mapcar (lambda (arg)
|
|
||||||
(cons (purecopy (car arg)) (purecopy (cdr arg))))
|
|
||||||
'(
|
'(
|
||||||
("etc/images/new" . ("document-new" "gtk-new"))
|
("etc/images/new" . ("document-new" "gtk-new"))
|
||||||
("etc/images/open" . ("document-open" "gtk-open"))
|
("etc/images/open" . ("document-open" "gtk-open"))
|
||||||
|
|
@ -253,7 +251,7 @@ EVENT is a `preedit-text' event."
|
||||||
;; No themed versions available:
|
;; No themed versions available:
|
||||||
;; mail/preview (combining stock_mail and stock_zoom)
|
;; mail/preview (combining stock_mail and stock_zoom)
|
||||||
;; mail/save (combining stock_mail, stock_save and stock_convert)
|
;; mail/save (combining stock_mail, stock_save and stock_convert)
|
||||||
))
|
)
|
||||||
"How icons for tool bars are mapped to Gtk+ stock items.
|
"How icons for tool bars are mapped to Gtk+ stock items.
|
||||||
Emacs must be compiled with the Gtk+ toolkit for this to have any effect.
|
Emacs must be compiled with the Gtk+ toolkit for this to have any effect.
|
||||||
A value that begins with n: denotes a named icon instead of a stock icon."
|
A value that begins with n: denotes a named icon instead of a stock icon."
|
||||||
|
|
|
||||||
|
|
@ -1375,8 +1375,6 @@ This returns an error if any Emacs frames are X frames."
|
||||||
(define-key special-event-map [drag-n-drop] 'x-dnd-handle-drag-n-drop-event)
|
(define-key special-event-map [drag-n-drop] 'x-dnd-handle-drag-n-drop-event)
|
||||||
|
|
||||||
(defcustom x-gtk-stock-map
|
(defcustom x-gtk-stock-map
|
||||||
(mapcar (lambda (arg)
|
|
||||||
(cons (purecopy (car arg)) (purecopy (cdr arg))))
|
|
||||||
'(
|
'(
|
||||||
("etc/images/new" . ("document-new" "gtk-new"))
|
("etc/images/new" . ("document-new" "gtk-new"))
|
||||||
("etc/images/open" . ("document-open" "gtk-open"))
|
("etc/images/open" . ("document-open" "gtk-open"))
|
||||||
|
|
@ -1442,7 +1440,7 @@ This returns an error if any Emacs frames are X frames."
|
||||||
;; No themed versions available:
|
;; No themed versions available:
|
||||||
;; mail/preview (combining stock_mail and stock_zoom)
|
;; mail/preview (combining stock_mail and stock_zoom)
|
||||||
;; mail/save (combining stock_mail, stock_save and stock_convert)
|
;; mail/save (combining stock_mail, stock_save and stock_convert)
|
||||||
))
|
)
|
||||||
"How icons for tool bars are mapped to Gtk+ stock items.
|
"How icons for tool bars are mapped to Gtk+ stock items.
|
||||||
Emacs must be compiled with the Gtk+ toolkit for this to have any effect.
|
Emacs must be compiled with the Gtk+ toolkit for this to have any effect.
|
||||||
A value that begins with n: denotes a named icon instead of a stock icon."
|
A value that begins with n: denotes a named icon instead of a stock icon."
|
||||||
|
|
|
||||||
|
|
@ -3561,12 +3561,12 @@ BOUND limits the search."
|
||||||
(define-button-type 'bibtex-url
|
(define-button-type 'bibtex-url
|
||||||
'action 'bibtex-button-action
|
'action 'bibtex-button-action
|
||||||
'bibtex-function #'bibtex-url
|
'bibtex-function #'bibtex-url
|
||||||
'help-echo (purecopy "mouse-2, RET: follow URL"))
|
'help-echo "mouse-2, RET: follow URL")
|
||||||
|
|
||||||
(define-button-type 'bibtex-search-crossref
|
(define-button-type 'bibtex-search-crossref
|
||||||
'action 'bibtex-button-action
|
'action 'bibtex-button-action
|
||||||
'bibtex-function #'bibtex-search-crossref
|
'bibtex-function #'bibtex-search-crossref
|
||||||
'help-echo (purecopy "mouse-2, RET: follow crossref"))
|
'help-echo "mouse-2, RET: follow crossref")
|
||||||
|
|
||||||
(defun bibtex-button (beg end type &rest args)
|
(defun bibtex-button (beg end type &rest args)
|
||||||
"Make a BibTeX button from BEG to END of type TYPE in the current buffer."
|
"Make a BibTeX button from BEG to END of type TYPE in the current buffer."
|
||||||
|
|
|
||||||
|
|
@ -103,7 +103,7 @@ reinserts the fill prefix in each resulting line."
|
||||||
;; Added `%' for TeX comments.
|
;; Added `%' for TeX comments.
|
||||||
;; RMS: deleted the code to match `1.' and `(1)'.
|
;; RMS: deleted the code to match `1.' and `(1)'.
|
||||||
;; Update mail-mode's paragraph-separate if you change this.
|
;; Update mail-mode's paragraph-separate if you change this.
|
||||||
(purecopy "[-–!|#%;>*·•‣⁃◦ \t]*")
|
"[-–!|#%;>*·•‣⁃◦ \t]*"
|
||||||
"Regexp to match text at start of line that constitutes indentation.
|
"Regexp to match text at start of line that constitutes indentation.
|
||||||
If Adaptive Fill mode is enabled, a prefix matching this pattern
|
If Adaptive Fill mode is enabled, a prefix matching this pattern
|
||||||
on the first and second lines of a paragraph is used as the
|
on the first and second lines of a paragraph is used as the
|
||||||
|
|
@ -114,7 +114,7 @@ line, but in that case `adaptive-fill-first-line-regexp' also plays
|
||||||
a role."
|
a role."
|
||||||
:type 'regexp)
|
:type 'regexp)
|
||||||
|
|
||||||
(defcustom adaptive-fill-first-line-regexp (purecopy "\\`[ \t]*\\'")
|
(defcustom adaptive-fill-first-line-regexp "\\`[ \t]*\\'"
|
||||||
"Regexp specifying whether to set fill prefix from a one-line paragraph.
|
"Regexp specifying whether to set fill prefix from a one-line paragraph.
|
||||||
When a paragraph has just one line, then after `adaptive-fill-regexp'
|
When a paragraph has just one line, then after `adaptive-fill-regexp'
|
||||||
finds the prefix at the beginning of the line, if it doesn't
|
finds the prefix at the beginning of the line, if it doesn't
|
||||||
|
|
|
||||||
|
|
@ -1427,66 +1427,66 @@ The variable `ispell-library-directory' defines their location."
|
||||||
;; Define commands in menu in opposite order you want them to appear.
|
;; Define commands in menu in opposite order you want them to appear.
|
||||||
(let ((map (make-sparse-keymap "Spell")))
|
(let ((map (make-sparse-keymap "Spell")))
|
||||||
(define-key map [ispell-change-dictionary]
|
(define-key map [ispell-change-dictionary]
|
||||||
`(menu-item ,(purecopy "Change Dictionary...") ispell-change-dictionary
|
'(menu-item "Change Dictionary..." ispell-change-dictionary
|
||||||
:help ,(purecopy "Supply explicit dictionary file name")))
|
:help "Supply explicit dictionary file name"))
|
||||||
(define-key map [ispell-kill-ispell]
|
(define-key map [ispell-kill-ispell]
|
||||||
`(menu-item ,(purecopy "Kill Process")
|
`(menu-item "Kill Process"
|
||||||
(lambda () (interactive) (ispell-kill-ispell nil 'clear))
|
,(lambda () (interactive) (ispell-kill-ispell nil 'clear))
|
||||||
:enable (and (boundp 'ispell-process) ispell-process
|
:enable (and (boundp 'ispell-process) ispell-process
|
||||||
(eq (ispell-process-status) 'run))
|
(eq (ispell-process-status) 'run))
|
||||||
:help ,(purecopy "Terminate Ispell subprocess")))
|
:help "Terminate Ispell subprocess"))
|
||||||
(define-key map [ispell-pdict-save]
|
(define-key map [ispell-pdict-save]
|
||||||
`(menu-item ,(purecopy "Save Dictionary")
|
`(menu-item "Save Dictionary"
|
||||||
(lambda () (interactive) (ispell-pdict-save t t))
|
,(lambda () (interactive) (ispell-pdict-save t t))
|
||||||
:help ,(purecopy "Save personal dictionary")))
|
:help "Save personal dictionary"))
|
||||||
(define-key map [ispell-customize]
|
(define-key map [ispell-customize]
|
||||||
`(menu-item ,(purecopy "Customize...")
|
`(menu-item "Customize..."
|
||||||
(lambda () (interactive) (customize-group 'ispell))
|
,(lambda () (interactive) (customize-group 'ispell))
|
||||||
:help ,(purecopy "Customize spell checking options")))
|
:help "Customize spell checking options"))
|
||||||
(define-key map [ispell-help]
|
(define-key map [ispell-help]
|
||||||
;; use (x-popup-menu last-nonmenu-event(list "" ispell-help-list)) ?
|
;; use (x-popup-menu last-nonmenu-event(list "" ispell-help-list)) ?
|
||||||
`(menu-item ,(purecopy "Help")
|
`(menu-item "Help"
|
||||||
(lambda () (interactive) (describe-function 'ispell-help))
|
,(lambda () (interactive) (describe-function 'ispell-help))
|
||||||
:help ,(purecopy "Show standard Ispell keybindings and commands")))
|
:help "Show standard Ispell keybindings and commands"))
|
||||||
(define-key map [flyspell-mode]
|
(define-key map [flyspell-mode]
|
||||||
`(menu-item ,(purecopy "Automatic spell checking (Flyspell)")
|
'(menu-item "Automatic spell checking (Flyspell)"
|
||||||
flyspell-mode
|
flyspell-mode
|
||||||
:help ,(purecopy "Check spelling while you edit the text")
|
:help "Check spelling while you edit the text"
|
||||||
:button (:toggle . (bound-and-true-p flyspell-mode))))
|
:button (:toggle . (bound-and-true-p flyspell-mode))))
|
||||||
(define-key map [ispell-complete-word]
|
(define-key map [ispell-complete-word]
|
||||||
`(menu-item ,(purecopy "Complete Word") ispell-complete-word
|
'(menu-item "Complete Word" ispell-complete-word
|
||||||
:help ,(purecopy "Complete word at cursor using dictionary")))
|
:help "Complete word at cursor using dictionary"))
|
||||||
(define-key map [ispell-complete-word-interior-frag]
|
(define-key map [ispell-complete-word-interior-frag]
|
||||||
`(menu-item ,(purecopy "Complete Word Fragment")
|
'(menu-item "Complete Word Fragment"
|
||||||
ispell-complete-word-interior-frag
|
ispell-complete-word-interior-frag
|
||||||
:help ,(purecopy "Complete word fragment at cursor")))
|
:help "Complete word fragment at cursor"))
|
||||||
|
|
||||||
(define-key map [ispell-continue]
|
(define-key map [ispell-continue]
|
||||||
`(menu-item ,(purecopy "Continue Spell-Checking") ispell-continue
|
'(menu-item "Continue Spell-Checking" ispell-continue
|
||||||
:enable (and (boundp 'ispell-region-end)
|
:enable (and (boundp 'ispell-region-end)
|
||||||
(marker-position ispell-region-end)
|
(marker-position ispell-region-end)
|
||||||
(equal (marker-buffer ispell-region-end)
|
(equal (marker-buffer ispell-region-end)
|
||||||
(current-buffer)))
|
(current-buffer)))
|
||||||
:help ,(purecopy "Continue spell checking last region")))
|
:help "Continue spell checking last region"))
|
||||||
(define-key map [ispell-word]
|
(define-key map [ispell-word]
|
||||||
`(menu-item ,(purecopy "Spell-Check Word") ispell-word
|
'(menu-item "Spell-Check Word" ispell-word
|
||||||
:help ,(purecopy "Spell-check word at cursor")))
|
:help "Spell-check word at cursor"))
|
||||||
(define-key map [ispell-comments-and-strings]
|
(define-key map [ispell-comments-and-strings]
|
||||||
`(menu-item ,(purecopy "Spell-Check Comments")
|
'(menu-item "Spell-Check Comments"
|
||||||
ispell-comments-and-strings
|
ispell-comments-and-strings
|
||||||
:help ,(purecopy "Spell-check only comments and strings")))
|
:help "Spell-check only comments and strings"))
|
||||||
|
|
||||||
(define-key map [ispell-region]
|
(define-key map [ispell-region]
|
||||||
`(menu-item ,(purecopy "Spell-Check Region") ispell-region
|
'(menu-item "Spell-Check Region" ispell-region
|
||||||
:enable mark-active
|
:enable mark-active
|
||||||
:help ,(purecopy "Spell-check text in marked region")))
|
:help "Spell-check text in marked region"))
|
||||||
(define-key map [ispell-message]
|
(define-key map [ispell-message]
|
||||||
`(menu-item ,(purecopy "Spell-Check Message") ispell-message
|
'(menu-item "Spell-Check Message" ispell-message
|
||||||
:visible (eq major-mode 'mail-mode)
|
:visible (eq major-mode 'mail-mode)
|
||||||
:help ,(purecopy "Skip headers and included message text")))
|
:help "Skip headers and included message text"))
|
||||||
(define-key map [ispell-buffer]
|
(define-key map [ispell-buffer]
|
||||||
`(menu-item ,(purecopy "Spell-Check Buffer") ispell-buffer
|
'(menu-item "Spell-Check Buffer" ispell-buffer
|
||||||
:help ,(purecopy "Check spelling of selected buffer")))
|
:help "Check spelling of selected buffer"))
|
||||||
map)
|
map)
|
||||||
"Key map for ispell menu.")
|
"Key map for ispell menu.")
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
|
|
@ -1659,21 +1659,21 @@ objects as practicable, without too many false matches happening."
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defvar ispell-skip-region-alist
|
(defvar ispell-skip-region-alist
|
||||||
`((ispell-words-keyword forward-line)
|
'((ispell-words-keyword forward-line)
|
||||||
(ispell-dictionary-keyword forward-line)
|
(ispell-dictionary-keyword forward-line)
|
||||||
(ispell-pdict-keyword forward-line)
|
(ispell-pdict-keyword forward-line)
|
||||||
(ispell-parsing-keyword forward-line)
|
(ispell-parsing-keyword forward-line)
|
||||||
(,(purecopy "^---*BEGIN PGP [A-Z ]*--*")
|
("^---*BEGIN PGP [A-Z ]*--*"
|
||||||
. ,(purecopy "^---*END PGP [A-Z ]*--*"))
|
. "^---*END PGP [A-Z ]*--*")
|
||||||
;; assume multiline uuencoded file? "\nM.*$"?
|
;; assume multiline uuencoded file? "\nM.*$"?
|
||||||
(,(purecopy "^begin [0-9][0-9][0-9] [^ \t]+$") . ,(purecopy "\nend\n"))
|
("^begin [0-9][0-9][0-9] [^ \t]+$" . "\nend\n")
|
||||||
(,(purecopy "^%!PS-Adobe-[123].0") . ,(purecopy "\n%%EOF\n"))
|
("^%!PS-Adobe-[123].0" . "\n%%EOF\n")
|
||||||
(,(purecopy "^---* \\(Start of \\)?[Ff]orwarded [Mm]essage")
|
("^---* \\(Start of \\)?[Ff]orwarded [Mm]essage"
|
||||||
. ,(purecopy "^---* End of [Ff]orwarded [Mm]essage"))
|
. "^---* End of [Ff]orwarded [Mm]essage")
|
||||||
;; Matches e-mail addresses, file names, http addresses, etc. The
|
;; Matches e-mail addresses, file names, http addresses, etc. The
|
||||||
;; `-+' `_+' patterns are necessary for performance reasons when
|
;; `-+' `_+' patterns are necessary for performance reasons when
|
||||||
;; `-' or `_' part of word syntax.
|
;; `-' or `_' part of word syntax.
|
||||||
; (,(purecopy "\\(--+\\|_+\\|\\(/\\w\\|\\(\\(\\w\\|[-_]\\)+[.:@]\\)\\)\\(\\w\\|[-_]\\)*\\([.:/@]+\\(\\w\\|[-_~=?&]\\)+\\)+\\)"))
|
; ("\\(--+\\|_+\\|\\(/\\w\\|\\(\\(\\w\\|[-_]\\)+[.:@]\\)\\)\\(\\w\\|[-_]\\)*\\([.:/@]+\\(\\w\\|[-_~=?&]\\)+\\)+\\)")
|
||||||
;; above checks /.\w sequences
|
;; above checks /.\w sequences
|
||||||
;;("\\(--+\\|\\(/\\|\\(\\(\\w\\|[-_]\\)+[.:@]\\)\\)\\(\\w\\|[-_]\\)*\\([.:/@]+\\(\\w\\|[-_~=?&]\\)+\\)+\\)")
|
;;("\\(--+\\|\\(/\\|\\(\\(\\w\\|[-_]\\)+[.:@]\\)\\)\\(\\w\\|[-_]\\)*\\([.:/@]+\\(\\w\\|[-_~=?&]\\)+\\)+\\)")
|
||||||
;; This is a pretty complex regexp. It can be simplified to the following:
|
;; This is a pretty complex regexp. It can be simplified to the following:
|
||||||
|
|
@ -1696,7 +1696,6 @@ Valid forms include:
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defvar ispell-tex-skip-alists
|
(defvar ispell-tex-skip-alists
|
||||||
(purecopy
|
|
||||||
'((;;("%\\[" . "%\\]") ; AMStex block comment...
|
'((;;("%\\[" . "%\\]") ; AMStex block comment...
|
||||||
;; All the standard LaTeX keywords from L. Lamport's guide:
|
;; All the standard LaTeX keywords from L. Lamport's guide:
|
||||||
;; \cite, \hspace, \hspace*, \hyphenation, \include, \includeonly, \input,
|
;; \cite, \hspace, \hspace*, \hyphenation, \include, \includeonly, \input,
|
||||||
|
|
@ -1715,7 +1714,7 @@ Valid forms include:
|
||||||
("\\(figure\\|table\\)\\*?" ispell-tex-arg-end 0)
|
("\\(figure\\|table\\)\\*?" ispell-tex-arg-end 0)
|
||||||
("list" ispell-tex-arg-end 2)
|
("list" ispell-tex-arg-end 2)
|
||||||
("program" . "\\\\end[ \t]*{program}")
|
("program" . "\\\\end[ \t]*{program}")
|
||||||
("verbatim\\*?" . "\\\\end[ \t]*{verbatim\\*?}"))))
|
("verbatim\\*?" . "\\\\end[ \t]*{verbatim\\*?}")))
|
||||||
"Lists of regions to be skipped in TeX mode.
|
"Lists of regions to be skipped in TeX mode.
|
||||||
First list is used raw.
|
First list is used raw.
|
||||||
Second list has key placed inside \\begin{}.
|
Second list has key placed inside \\begin{}.
|
||||||
|
|
|
||||||
|
|
@ -1325,7 +1325,7 @@ The hook for `text-mode' is run before this one."
|
||||||
|
|
||||||
;; Use rst-mode for *.rst and *.rest files. Many ReStructured-Text files
|
;; Use rst-mode for *.rst and *.rest files. Many ReStructured-Text files
|
||||||
;; use *.txt, but this is too generic to be set as a default.
|
;; use *.txt, but this is too generic to be set as a default.
|
||||||
;;;###autoload (add-to-list 'auto-mode-alist (purecopy '("\\.re?st\\'" . rst-mode)))
|
;;;###autoload (add-to-list 'auto-mode-alist '("\\.re?st\\'" . rst-mode))
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(define-derived-mode rst-mode text-mode "ReST"
|
(define-derived-mode rst-mode text-mode "ReST"
|
||||||
"Major mode for editing reStructuredText documents.
|
"Major mode for editing reStructuredText documents.
|
||||||
|
|
|
||||||
|
|
@ -64,7 +64,7 @@
|
||||||
:group 'tex-run)
|
:group 'tex-run)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom tex-directory (purecopy ".")
|
(defcustom tex-directory "."
|
||||||
"Directory in which temporary files are written.
|
"Directory in which temporary files are written.
|
||||||
You can make this `/tmp' if your TEXINPUTS has no relative directories in it
|
You can make this `/tmp' if your TEXINPUTS has no relative directories in it
|
||||||
and you don't try to apply \\[tex-region] or \\[tex-buffer] when there are
|
and you don't try to apply \\[tex-region] or \\[tex-buffer] when there are
|
||||||
|
|
@ -98,7 +98,7 @@ if the variable is non-nil."
|
||||||
:group 'tex-file)
|
:group 'tex-file)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom tex-run-command (purecopy "tex")
|
(defcustom tex-run-command "tex"
|
||||||
"Command used to run TeX subjob.
|
"Command used to run TeX subjob.
|
||||||
TeX Mode sets `tex-command' to this string.
|
TeX Mode sets `tex-command' to this string.
|
||||||
See the documentation of that variable."
|
See the documentation of that variable."
|
||||||
|
|
@ -106,7 +106,7 @@ See the documentation of that variable."
|
||||||
:group 'tex-run)
|
:group 'tex-run)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom latex-run-command (purecopy "latex")
|
(defcustom latex-run-command "latex"
|
||||||
"Command used to run LaTeX subjob.
|
"Command used to run LaTeX subjob.
|
||||||
LaTeX Mode sets `tex-command' to this string.
|
LaTeX Mode sets `tex-command' to this string.
|
||||||
See the documentation of that variable."
|
See the documentation of that variable."
|
||||||
|
|
@ -114,7 +114,7 @@ See the documentation of that variable."
|
||||||
:group 'tex-run)
|
:group 'tex-run)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom slitex-run-command (purecopy "slitex")
|
(defcustom slitex-run-command "slitex"
|
||||||
"Command used to run SliTeX subjob.
|
"Command used to run SliTeX subjob.
|
||||||
SliTeX Mode sets `tex-command' to this string.
|
SliTeX Mode sets `tex-command' to this string.
|
||||||
See the documentation of that variable."
|
See the documentation of that variable."
|
||||||
|
|
@ -122,7 +122,7 @@ See the documentation of that variable."
|
||||||
:group 'tex-run)
|
:group 'tex-run)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom tex-start-options (purecopy "")
|
(defcustom tex-start-options ""
|
||||||
"TeX options to use when starting TeX.
|
"TeX options to use when starting TeX.
|
||||||
These immediately precede the commands in `tex-start-commands'
|
These immediately precede the commands in `tex-start-commands'
|
||||||
and the input file name, with no separating space and are not shell-quoted.
|
and the input file name, with no separating space and are not shell-quoted.
|
||||||
|
|
@ -132,7 +132,7 @@ If nil, TeX runs with no options. See the documentation of `tex-command'."
|
||||||
:version "22.1")
|
:version "22.1")
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom tex-start-commands (purecopy "\\nonstopmode\\input")
|
(defcustom tex-start-commands "\\nonstopmode\\input"
|
||||||
"TeX commands to use when starting TeX.
|
"TeX commands to use when starting TeX.
|
||||||
They are shell-quoted and precede the input file name, with a separating space.
|
They are shell-quoted and precede the input file name, with a separating space.
|
||||||
If nil, no commands are used. See the documentation of `tex-command'."
|
If nil, no commands are used. See the documentation of `tex-command'."
|
||||||
|
|
@ -163,7 +163,7 @@ Combined with `latex-standard-block-names' for minibuffer completion."
|
||||||
:group 'tex-run)
|
:group 'tex-run)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom tex-bibtex-command (purecopy "bibtex")
|
(defcustom tex-bibtex-command "bibtex"
|
||||||
"Command used by `tex-bibtex-file' to gather bibliographic data.
|
"Command used by `tex-bibtex-file' to gather bibliographic data.
|
||||||
If this string contains an asterisk (`*'), that is replaced by the file name;
|
If this string contains an asterisk (`*'), that is replaced by the file name;
|
||||||
otherwise, the file name, preceded by blank, is added at the end."
|
otherwise, the file name, preceded by blank, is added at the end."
|
||||||
|
|
@ -171,7 +171,7 @@ otherwise, the file name, preceded by blank, is added at the end."
|
||||||
:group 'tex-run)
|
:group 'tex-run)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom tex-dvi-print-command (purecopy "lpr -d")
|
(defcustom tex-dvi-print-command "lpr -d"
|
||||||
"Command used by \\[tex-print] to print a .dvi file.
|
"Command used by \\[tex-print] to print a .dvi file.
|
||||||
If this string contains an asterisk (`*'), that is replaced by the file name;
|
If this string contains an asterisk (`*'), that is replaced by the file name;
|
||||||
otherwise, the file name, preceded by blank, is added at the end."
|
otherwise, the file name, preceded by blank, is added at the end."
|
||||||
|
|
@ -179,7 +179,7 @@ otherwise, the file name, preceded by blank, is added at the end."
|
||||||
:group 'tex-view)
|
:group 'tex-view)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom tex-alt-dvi-print-command (purecopy "lpr -d")
|
(defcustom tex-alt-dvi-print-command "lpr -d"
|
||||||
"Command used by \\[tex-print] with a prefix arg to print a .dvi file.
|
"Command used by \\[tex-print] with a prefix arg to print a .dvi file.
|
||||||
If this string contains an asterisk (`*'), that is replaced by the file name;
|
If this string contains an asterisk (`*'), that is replaced by the file name;
|
||||||
otherwise, the file name, preceded by blank, is added at the end.
|
otherwise, the file name, preceded by blank, is added at the end.
|
||||||
|
|
@ -199,9 +199,9 @@ use."
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom tex-dvi-view-command
|
(defcustom tex-dvi-view-command
|
||||||
(cond ((eq window-system 'x) (purecopy "xdvi"))
|
(cond ((eq window-system 'x) "xdvi")
|
||||||
((eq window-system 'w32) (purecopy "yap"))
|
((eq window-system 'w32) "yap")
|
||||||
(t (purecopy "dvi2tty * | cat -s")))
|
(t "dvi2tty * | cat -s"))
|
||||||
"Command used by \\[tex-view] to display a `.dvi' file.
|
"Command used by \\[tex-view] to display a `.dvi' file.
|
||||||
If this string contains an asterisk (`*'), that is replaced by the file name;
|
If this string contains an asterisk (`*'), that is replaced by the file name;
|
||||||
otherwise, the file name, preceded by a space, is added at the end.
|
otherwise, the file name, preceded by a space, is added at the end.
|
||||||
|
|
@ -214,7 +214,7 @@ will lead to a warning. Set it to a string instead."
|
||||||
:group 'tex-view)
|
:group 'tex-view)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom tex-show-queue-command (purecopy "lpq")
|
(defcustom tex-show-queue-command "lpq"
|
||||||
"Command used by \\[tex-show-print-queue] to show the print queue.
|
"Command used by \\[tex-show-print-queue] to show the print queue.
|
||||||
Should show the queue(s) that \\[tex-print] puts jobs on."
|
Should show the queue(s) that \\[tex-print] puts jobs on."
|
||||||
:type 'string
|
:type 'string
|
||||||
|
|
@ -230,14 +230,14 @@ Normally set to either `plain-tex-mode' or `latex-mode'."
|
||||||
:group 'tex)
|
:group 'tex)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom tex-open-quote (purecopy "``")
|
(defcustom tex-open-quote "``"
|
||||||
"String inserted by typing \\[tex-insert-quote] to open a quotation."
|
"String inserted by typing \\[tex-insert-quote] to open a quotation."
|
||||||
:type 'string
|
:type 'string
|
||||||
:options '("``" "\"<" "\"`" "<<" "«")
|
:options '("``" "\"<" "\"`" "<<" "«")
|
||||||
:group 'tex)
|
:group 'tex)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom tex-close-quote (purecopy "''")
|
(defcustom tex-close-quote "''"
|
||||||
"String inserted by typing \\[tex-insert-quote] to close a quotation."
|
"String inserted by typing \\[tex-insert-quote] to close a quotation."
|
||||||
:type 'string
|
:type 'string
|
||||||
:options '("''" "\">" "\"'" ">>" "»")
|
:options '("''" "\">" "\"'" ">>" "»")
|
||||||
|
|
|
||||||
|
|
@ -61,12 +61,12 @@
|
||||||
:group 'docs)
|
:group 'docs)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom texinfo-open-quote (purecopy "``")
|
(defcustom texinfo-open-quote "``"
|
||||||
"String inserted by typing \\[texinfo-insert-quote] to open a quotation."
|
"String inserted by typing \\[texinfo-insert-quote] to open a quotation."
|
||||||
:type 'string)
|
:type 'string)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom texinfo-close-quote (purecopy "''")
|
(defcustom texinfo-close-quote "''"
|
||||||
"String inserted by typing \\[texinfo-insert-quote] to close a quotation."
|
"String inserted by typing \\[texinfo-insert-quote] to close a quotation."
|
||||||
:type 'string)
|
:type 'string)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -92,7 +92,7 @@ parameter is set to `top', and above the tool bar it is set to
|
||||||
`bottom'.")
|
`bottom'.")
|
||||||
|
|
||||||
(global-set-key [tool-bar]
|
(global-set-key [tool-bar]
|
||||||
`(menu-item ,(purecopy "tool bar") ignore
|
'(menu-item "tool bar" ignore
|
||||||
:filter tool-bar-make-keymap))
|
:filter tool-bar-make-keymap))
|
||||||
|
|
||||||
(declare-function image-mask-p "image.c" (spec &optional frame))
|
(declare-function image-mask-p "image.c" (spec &optional frame))
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,7 @@
|
||||||
:group 'tools)
|
:group 'tools)
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom diff-switches (purecopy "-u")
|
(defcustom diff-switches "-u"
|
||||||
"A string or list of strings specifying switches to be passed to diff.
|
"A string or list of strings specifying switches to be passed to diff.
|
||||||
|
|
||||||
This variable is also used in the `vc-diff' command (and related
|
This variable is also used in the `vc-diff' command (and related
|
||||||
|
|
@ -48,7 +48,7 @@ set (`vc-git-diff-switches' for git, for instance), and
|
||||||
:type '(choice string (repeat string)))
|
:type '(choice string (repeat string)))
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defcustom diff-command (purecopy "diff")
|
(defcustom diff-command "diff"
|
||||||
"The command to use to run diff."
|
"The command to use to run diff."
|
||||||
:type 'string)
|
:type 'string)
|
||||||
|
|
||||||
|
|
|
||||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue