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/dosfns.[ch]
|
||||
src/w16select.c
|
||||
src/unexcoff.c
|
||||
lisp/term/internal.el
|
||||
lisp/term/pc-win.el
|
||||
lisp/dos-fns.el
|
||||
|
@ -262,7 +261,6 @@ Eli Zaretskii
|
|||
src/frame.c
|
||||
src/dired.c
|
||||
src/fileio.c
|
||||
src/unexw32.c
|
||||
src/w32*.[ch]
|
||||
src/window.c
|
||||
src/indent.c
|
||||
|
|
|
@ -377,7 +377,6 @@ If REALNAME is nil, ignore that author.")
|
|||
"nnmaildir\\.el"
|
||||
"nnil\\.el"
|
||||
"b2m\\.c"
|
||||
"unexhp9k800\\.c"
|
||||
"emacsclient\\.1"
|
||||
"check-doc-strings")
|
||||
"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"
|
||||
"alloc.c" "data.c" "doc.c" "editfns.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"
|
||||
"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])
|
||||
|
||||
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],
|
||||
[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
|
||||
pdumper|unexec|none) val=$withval ;;
|
||||
pdumper|none) val=$withval ;;
|
||||
*) 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
|
||||
with_dumping=$val
|
||||
|
@ -480,22 +465,10 @@ if test "$with_pdumper" = "auto"; then
|
|||
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
|
||||
AC_MSG_ERROR(['--with-dumping=pdumper' requires pdumper support])
|
||||
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
|
||||
AC_DEFINE([HAVE_PDUMPER], [1],
|
||||
[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" && \
|
||||
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],
|
||||
[emacs_cv_find_delete],
|
||||
[if touch conftest.tmp && find conftest.tmp -delete 2>/dev/null &&
|
||||
|
@ -2088,48 +2057,6 @@ AC_SUBST([FIND_DELETE])
|
|||
|
||||
PAXCTL_dumped=
|
||||
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_notdumped])
|
||||
AC_SUBST([SETFATTR])
|
||||
|
@ -2196,37 +2123,6 @@ else
|
|||
ac_link="$ac_link $NON_GCC_LINK_TEST_OPTIONS"
|
||||
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],
|
||||
[emacs_cv_sanitize_address],
|
||||
[AC_COMPILE_IFELSE(
|
||||
|
@ -2242,48 +2138,8 @@ AC_CACHE_CHECK([whether addresses are sanitized],
|
|||
[emacs_cv_sanitize_address=yes],
|
||||
[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=
|
||||
test "$with_unexec" = no || case "$opsys" in
|
||||
case "$opsys" in
|
||||
freebsd|dragonfly)
|
||||
## Let 'ld' find image libs and similar things in /usr/local/lib.
|
||||
## The system compiler, GCC, has apparently been modified to not
|
||||
|
@ -2331,22 +2187,6 @@ esac
|
|||
|
||||
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],
|
||||
[emacs_cv_gcc_bug_58416_CFLAGS],
|
||||
[emacs_cv_gcc_bug_58416_CFLAGS='none needed'
|
||||
|
@ -3158,7 +2998,6 @@ if test "${opsys}" = "mingw32"; then
|
|||
HAVE_W32=${emacs_cv_w32api}
|
||||
fi
|
||||
|
||||
FIRSTFILE_OBJ=
|
||||
NTDIR=
|
||||
LIBS_ECLIENT=
|
||||
LIB_WSOCK32=
|
||||
|
@ -3206,7 +3045,6 @@ if test "${HAVE_W32}" = "yes"; then
|
|||
W32_RES_LINK="\$(EMACSRES)"
|
||||
CLIENTRES="emacsclient.res"
|
||||
CLIENTW="emacsclientw\$(EXEEXT)"
|
||||
FIRSTFILE_OBJ=firstfile.o
|
||||
NTDIR=nt
|
||||
CM_OBJ=
|
||||
LIBS_ECLIENT="-lcomctl32"
|
||||
|
@ -3228,7 +3066,6 @@ AC_SUBST([EMACS_MANIFEST])
|
|||
AC_SUBST([CLIENTRES])
|
||||
AC_SUBST([CLIENTW])
|
||||
AC_SUBST([W32_RES_LINK])
|
||||
AC_SUBST([FIRSTFILE_OBJ])
|
||||
AC_SUBST([NTDIR])
|
||||
AC_SUBST([CM_OBJ])
|
||||
AC_SUBST([LIBS_ECLIENT])
|
||||
|
@ -3366,36 +3203,18 @@ AC_CACHE_CHECK(
|
|||
[AC_LANG_PROGRAM(
|
||||
[[#include <malloc.h>
|
||||
static void hook (void) {}]],
|
||||
[[malloc_set_state (malloc_get_state ());
|
||||
__after_morecore_hook = hook;
|
||||
[[__after_morecore_hook = hook;
|
||||
__malloc_initialize_hook = hook;]])],
|
||||
[emacs_cv_var_doug_lea_malloc=yes])
|
||||
fi])
|
||||
doug_lea_malloc=$emacs_cv_var_doug_lea_malloc
|
||||
|
||||
hybrid_malloc=
|
||||
system_malloc=yes
|
||||
|
||||
dnl This must be before the test of $ac_cv_func_sbrk below.
|
||||
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=
|
||||
HYBRID_MALLOC=
|
||||
if test "${system_malloc}" = "yes"; then
|
||||
AC_DEFINE([SYSTEM_MALLOC], [1],
|
||||
[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="
|
||||
(The GNU allocators don't work with this system configuration.)"
|
||||
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
|
||||
test "$doug_lea_malloc" != "yes" && GMALLOC_OBJ=gmalloc.o
|
||||
VMLIMIT_OBJ=vm-limit.o
|
||||
|
@ -3430,18 +3241,17 @@ else
|
|||
of the main data segment.])
|
||||
fi
|
||||
fi
|
||||
AC_SUBST([HYBRID_MALLOC])
|
||||
AC_SUBST([GMALLOC_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
|
||||
GNU_MALLOC_reason="
|
||||
(Using Doug Lea's new malloc from the GNU C Library.)"
|
||||
fi
|
||||
AC_DEFINE([DOUG_LEA_MALLOC], [1],
|
||||
[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.
|
||||
## 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_sigmask (SIG_BLOCK, &new_mask, &old_mask);
|
||||
status += pthread_kill (th, 0);
|
||||
#if ! (defined SYSTEM_MALLOC || defined HYBRID_MALLOC \
|
||||
|| defined DOUG_LEA_MALLOC)
|
||||
#if ! (defined SYSTEM_MALLOC || defined DOUG_LEA_MALLOC)
|
||||
/* Test for pthread_atfork only if gmalloc uses it,
|
||||
as older-style hosts like MirBSD 10 lack it. */
|
||||
status += pthread_atfork (noop, noop, noop);
|
||||
|
@ -5284,15 +5093,9 @@ if test "${with_native_compilation}" = "default"; then
|
|||
# Check if libgccjit really works.
|
||||
AC_RUN_IFELSE([libgccjit_smoke_test], [], [libgccjit_broken])
|
||||
fi
|
||||
if test "$with_unexec" = yes; then
|
||||
with_native_compilation=no
|
||||
fi
|
||||
fi
|
||||
|
||||
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
|
||||
AC_MSG_ERROR(['--with-native-compilation' requires zlib])
|
||||
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_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.
|
||||
AC_CHECK_FUNCS([posix_madvise madvise])
|
||||
|
||||
|
@ -7434,21 +7224,10 @@ AC_SUBST([RALLOC_OBJ])
|
|||
|
||||
if test "$opsys" = "cygwin"; then
|
||||
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
|
||||
CYGWIN_OBJ=
|
||||
PRE_ALLOC_OBJ=lastfile.o
|
||||
POST_ALLOC_OBJ=
|
||||
fi
|
||||
AC_SUBST([CYGWIN_OBJ])
|
||||
AC_SUBST([PRE_ALLOC_OBJ])
|
||||
AC_SUBST([POST_ALLOC_OBJ])
|
||||
|
||||
dnl Call this 'FORTIFY_SOUR' so that it sorts before the 'FORTIFY_SOURCE'
|
||||
dnl verbatim defined above. The tricky name is apropos, as this hack
|
||||
|
@ -7564,9 +7343,6 @@ case "$opsys" in
|
|||
## about 14 to about 34. Setting it high gets us plenty of slop and
|
||||
## only costs about 1.5K of wasted binary space.
|
||||
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
|
||||
## 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" ;;
|
||||
*) LD_SWITCH_SYSTEM_TEMACS="-Wl,-stack,0x00800000 -Wl,-heap,0x00100000 -Wl,-image-base,0x01000000 -Wl,-entry,__start -Wl,-Map,./temacs.map" ;;
|
||||
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= ;;
|
||||
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
|
||||
case $opsys in
|
||||
*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
|
||||
PDUMPER) val=${with_pdumper} ;;
|
||||
UNEXEC) val=${with_unexec} ;;
|
||||
UNEXEC) val=no ;;
|
||||
GLIB) val=${emacs_cv_links_glib} ;;
|
||||
NOTIFY|ACL) eval val=\${${opt}_SUMMARY} ;;
|
||||
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 have threading support in lisp? ${threads_enabled}
|
||||
Does Emacs support the portable dumper? ${with_pdumper}
|
||||
Does Emacs support legacy unexec dumping? ${with_unexec}
|
||||
Which dumping strategy does Emacs use? ${with_dumping}
|
||||
Does Emacs have native lisp compiler? ${HAVE_NATIVE_COMP}
|
||||
Does Emacs use version 2 of the X Input Extension? ${HAVE_XINPUT2}
|
||||
|
|
|
@ -1657,7 +1657,6 @@ Tips and Conventions
|
|||
GNU Emacs Internals
|
||||
|
||||
* 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.
|
||||
* Stack-allocated Objects:: Temporary conses and strings on C stack.
|
||||
* 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
|
||||
* 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.
|
||||
* Stack-allocated Objects:: Temporary conses and strings on C stack.
|
||||
* 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
|
||||
available. The produced dump file is usually named
|
||||
@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
|
||||
|
||||
@cindex preloaded Lisp files
|
||||
|
@ -120,19 +102,9 @@ Emacs.
|
|||
|
||||
@cindex @file{site-load.el}
|
||||
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
|
||||
with an added definition
|
||||
|
||||
@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.
|
||||
@file{site-load.el} that loads them. 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
|
||||
documentation strings for primitive and preloaded functions (and
|
||||
|
@ -228,17 +200,6 @@ that problem, you can put functions on the
|
|||
Emacs.
|
||||
@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
|
||||
If the current Emacs session restored its state from a dump
|
||||
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}.
|
||||
@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
|
||||
@section Garbage Collection
|
||||
|
||||
|
@ -526,12 +422,6 @@ Total heap size, in @var{unit-size} units.
|
|||
@item free-size
|
||||
Heap space which is not currently used, in @var{unit-size} units.
|
||||
@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
|
||||
|
||||
@defopt garbage-collection-messages
|
||||
|
@ -967,7 +857,6 @@ improves user experience.
|
|||
the variables are never written once Emacs is dumped. These variables
|
||||
with initializers are allocated in an area of memory that becomes
|
||||
read-only (on certain operating systems) as a result of dumping Emacs.
|
||||
@xref{Pure Storage}.
|
||||
|
||||
@cindex @code{defsubr}, Lisp symbol for a 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
|
||||
(keymap-global-set "<tool-bar>"
|
||||
`(menu-item ,(purecopy "tool bar") ignore
|
||||
'(menu-item "tool bar" ignore
|
||||
:filter tool-bar-make-keymap))
|
||||
@end example
|
||||
|
||||
|
|
|
@ -590,10 +590,10 @@ displays the startup messages.
|
|||
The value of this variable is @code{t} once the command line has been
|
||||
processed.
|
||||
|
||||
If you redump Emacs by calling @code{dump-emacs} (@pxref{Building
|
||||
Emacs}), you may wish to set this variable to @code{nil} first in
|
||||
order to cause the new dumped Emacs to process its new command-line
|
||||
arguments.
|
||||
If you redump Emacs by calling @code{dump-emacs-portable}
|
||||
(@pxref{Building Emacs}), you may wish to set this variable to
|
||||
@code{nil} first in order to cause the new dumped Emacs to process its
|
||||
new command-line arguments.
|
||||
@end defvar
|
||||
|
||||
@defvar command-switch-alist
|
||||
|
|
|
@ -418,7 +418,6 @@ ps
|
|||
psf
|
||||
psychotherapy
|
||||
pty
|
||||
purecopy
|
||||
qu
|
||||
quux
|
||||
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
|
||||
be evaluated at compile time. This may shift run time errors to
|
||||
compile time. This property is normally added to a function with
|
||||
@code{declare} (@pxref{Declare Form}). Not to be confused with pure
|
||||
storage (@pxref{Pure Storage}).
|
||||
@code{declare} (@pxref{Declare Form}).
|
||||
|
||||
@item risky-local-variable
|
||||
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
|
||||
|
||||
+++
|
||||
** Unexec dumper removed.
|
||||
The traditional unexec dumper, deprecated since Emacs 27, has been
|
||||
removed.
|
||||
|
||||
** Changed GCC default options 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
|
||||
|
@ -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
|
||||
52.5s".
|
||||
|
||||
+++
|
||||
** The function 'purecopy' is now an obsolete alias for 'identity'.
|
||||
|
||||
** New function 'native-compile-directory'.
|
||||
This function natively-compiles all Lisp files in a directory and in its
|
||||
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,
|
||||
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.
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
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
|
||||
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 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) \
|
||||
$(patsubst %.c,%.o,$(filter %.c,$(libgnu_a_SOURCES)))
|
||||
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
|
||||
.c.o:
|
||||
|
@ -104,18 +103,13 @@ $(libegnu_a_OBJECTS) $(libgnu_a_OBJECTS): $(BUILT_SOURCES)
|
|||
e-%.o: %.c
|
||||
$(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)
|
||||
$(AM_V_AR)rm -f $@
|
||||
$(AM_V_at)$(AR) $(ARFLAGS) $@ $(libgnu_a_OBJECTS)
|
||||
$(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):
|
||||
$(MAKE) -C $(dir $@) $(notdir $@)
|
||||
|
|
|
@ -2515,8 +2515,6 @@ Adapt also mode line."
|
|||
(read-passwd--hide-password)))))
|
||||
|
||||
(defvar read-passwd-map
|
||||
;; BEWARE: `defconst' would purecopy it, breaking the sharing with
|
||||
;; minibuffer-local-map along the way!
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(set-keymap-parent map minibuffer-local-map)
|
||||
(define-key map "\C-u" #'delete-minibuffer-contents) ;bug#12570
|
||||
|
|
125
lisp/bindings.el
125
lisp/bindings.el
|
@ -67,7 +67,7 @@ corresponding to the mode line clicked."
|
|||
(interactive "e")
|
||||
(with-selected-window (posn-window (event-start e))
|
||||
(describe-current-input-method))))
|
||||
(purecopy map)))
|
||||
map))
|
||||
|
||||
(defvar mode-line-coding-system-map
|
||||
(let ((map (make-sparse-keymap)))
|
||||
|
@ -83,7 +83,7 @@ corresponding to the mode line clicked."
|
|||
(interactive "e")
|
||||
(with-selected-window (posn-window (event-start e))
|
||||
(call-interactively 'set-buffer-file-coding-system))))
|
||||
(purecopy map))
|
||||
map)
|
||||
"Local keymap for the coding-system part of the mode line.")
|
||||
|
||||
(defun mode-line-change-eol (event)
|
||||
|
@ -203,11 +203,11 @@ mouse-3: Set coding system"
|
|||
(current-input-method
|
||||
(:propertize ("" current-input-method-title)
|
||||
help-echo (concat
|
||||
,(purecopy "Current input method: ")
|
||||
"Current input method: "
|
||||
current-input-method
|
||||
,(purecopy "\n\
|
||||
"\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
|
||||
mouse-face mode-line-highlight))
|
||||
,(propertize
|
||||
|
@ -228,7 +228,7 @@ mnemonics of the following coding systems:
|
|||
(defvar mode-line-client
|
||||
`(:eval
|
||||
(if (frame-parameter nil 'client)
|
||||
,(propertize "@" 'help-echo (purecopy "emacsclient frame"))))
|
||||
,(propertize "@" 'help-echo "emacsclient frame")))
|
||||
"Mode line construct for identifying emacsclient frames.")
|
||||
;; Autoload if this file no longer dumped.
|
||||
;;;###autoload
|
||||
|
@ -250,15 +250,15 @@ mnemonics of the following coding systems:
|
|||
(list (propertize
|
||||
"%1*"
|
||||
'help-echo 'mode-line-read-only-help-echo
|
||||
'local-map (purecopy (make-mode-line-mouse-map
|
||||
'mouse-1
|
||||
#'mode-line-toggle-read-only))
|
||||
'local-map (make-mode-line-mouse-map
|
||||
'mouse-1
|
||||
#'mode-line-toggle-read-only)
|
||||
'mouse-face 'mode-line-highlight)
|
||||
(propertize
|
||||
"%1+"
|
||||
'help-echo 'mode-line-modified-help-echo
|
||||
'local-map (purecopy (make-mode-line-mouse-map
|
||||
'mouse-1 #'mode-line-toggle-modified))
|
||||
'local-map (make-mode-line-mouse-map
|
||||
'mouse-1 #'mode-line-toggle-modified)
|
||||
'mouse-face 'mode-line-highlight))
|
||||
"Mode line construct for displaying whether current buffer is modified.")
|
||||
;;;###autoload
|
||||
|
@ -268,16 +268,16 @@ mnemonics of the following coding systems:
|
|||
(list (propertize
|
||||
"%1@"
|
||||
'mouse-face 'mode-line-highlight
|
||||
'help-echo (purecopy (lambda (window _object _point)
|
||||
(format "%s"
|
||||
(with-selected-window window
|
||||
(if (stringp default-directory)
|
||||
(concat
|
||||
(if (file-remote-p default-directory)
|
||||
"Current directory is remote: "
|
||||
"Current directory is local: ")
|
||||
default-directory)
|
||||
"Current directory is nil")))))))
|
||||
'help-echo (lambda (window _object _point)
|
||||
(format "%s"
|
||||
(with-selected-window window
|
||||
(if (stringp default-directory)
|
||||
(concat
|
||||
(if (file-remote-p default-directory)
|
||||
"Current directory is remote: "
|
||||
"Current directory is local: ")
|
||||
default-directory)
|
||||
"Current directory is nil"))))))
|
||||
"Mode line construct to indicate a remote buffer.")
|
||||
;;;###autoload
|
||||
(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
|
||||
(let ((map (make-sparse-keymap)))
|
||||
(define-key map [mode-line mouse-1] #'toggle-window-dedicated)
|
||||
(purecopy map)) "\
|
||||
Keymap for what is displayed by `mode-line-window-dedicated'.")
|
||||
map)
|
||||
"Keymap for what is displayed by `mode-line-window-dedicated'.")
|
||||
|
||||
(defun mode-line-window-control ()
|
||||
"Compute mode line construct for window dedicated state.
|
||||
|
@ -400,29 +400,6 @@ the symbol `mode-line-format-right-align' is processed by
|
|||
;;;###autoload
|
||||
(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") "\
|
||||
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
|
||||
(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
|
||||
:filter ,(lambda (_) (mouse-menu-major-mode-map))))
|
||||
(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
|
||||
:filter bindings--sort-menu-keymap))
|
||||
map) "\
|
||||
|
@ -509,15 +486,15 @@ mouse-3: Toggle minor modes"
|
|||
(defvar mode-line-column-line-number-mode-map
|
||||
(let ((map (make-sparse-keymap))
|
||||
(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
|
||||
:help "Toggle displaying a size indication in the mode-line"
|
||||
: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
|
||||
:help "Toggle displaying line numbers in the mode-line"
|
||||
: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
|
||||
:help "Toggle displaying column numbers in the mode-line"
|
||||
:button (:toggle . column-number-mode)))
|
||||
|
@ -671,8 +648,8 @@ text properties for face, help-echo, and local-map to it."
|
|||
(list (propertize fmt
|
||||
'face 'mode-line-buffer-id
|
||||
'help-echo
|
||||
(purecopy "Buffer name
|
||||
mouse-1: Previous buffer\nmouse-3: Next buffer")
|
||||
"Buffer name
|
||||
mouse-1: Previous buffer\nmouse-3: Next buffer"
|
||||
'mouse-face 'mode-line-highlight
|
||||
'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.
|
||||
;; 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
|
||||
:help "Overwrite mode: typed characters replace existing text"
|
||||
: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
|
||||
;; XXX: This needs a good, brief description.
|
||||
:help ""
|
||||
: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
|
||||
:help "Show changes in the buffer in a distinctive color"
|
||||
: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
|
||||
:help "Show/Hide code within #ifdef constructs"
|
||||
: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
|
||||
:help "Insert virtual separators to make long identifiers easy to read"
|
||||
: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
|
||||
:help "Syntax coloring"
|
||||
: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
|
||||
:help "Spell checking on the fly"
|
||||
: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
|
||||
:help "Show preview of completion suggestions as you type"
|
||||
:enable completion-at-point-functions
|
||||
: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
|
||||
:help "Revert the tail of the buffer when the file on disk grows"
|
||||
:enable (buffer-file-name)
|
||||
: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
|
||||
:help "Revert the buffer when the file on disk changes"
|
||||
: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
|
||||
:help "Automatically insert new lines"
|
||||
: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
|
||||
:help "Automatically expand abbreviations"
|
||||
: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'.")
|
||||
;;;###autoload
|
||||
(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
|
||||
'((abbrev-mode " Abbrev")
|
||||
(overwrite-mode overwrite-mode)
|
||||
|
@ -865,14 +841,11 @@ okay. See `mode-line-format'.")
|
|||
(setq completion-ignored-extensions
|
||||
(append
|
||||
(cond ((memq system-type '(ms-dos windows-nt))
|
||||
(mapcar 'purecopy
|
||||
'(".o" "~" ".bin" ".bak" ".obj" ".map" ".ico" ".pif" ".lnk"
|
||||
".a" ".ln" ".blg" ".bbl" ".dll" ".drv" ".vxd" ".386")))
|
||||
'(".o" "~" ".bin" ".bak" ".obj" ".map" ".ico" ".pif" ".lnk"
|
||||
".a" ".ln" ".blg" ".bbl" ".dll" ".drv" ".vxd" ".386"))
|
||||
(t
|
||||
(mapcar 'purecopy
|
||||
'(".o" "~" ".bin" ".lbin" ".so"
|
||||
".a" ".ln" ".blg" ".bbl"))))
|
||||
(mapcar 'purecopy
|
||||
'(".o" "~" ".bin" ".lbin" ".so"
|
||||
".a" ".ln" ".blg" ".bbl")))
|
||||
'(".elc" ".lof"
|
||||
".glo" ".idx" ".lot"
|
||||
;; VCS metadata directories
|
||||
|
@ -902,7 +875,7 @@ okay. See `mode-line-format'.")
|
|||
".cp" ".fn" ".ky" ".pg" ".tp" ".vr"
|
||||
".cps" ".fns" ".kys" ".pgs" ".tps" ".vrs"
|
||||
;; Python byte-compiled
|
||||
".pyc" ".pyo"))))
|
||||
".pyc" ".pyo")))
|
||||
|
||||
;; Suffixes used for executables.
|
||||
(setq exec-suffixes
|
||||
|
@ -1648,6 +1621,8 @@ if `inhibit-field-text-motion' is non-nil."
|
|||
;; 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.
|
||||
;; Local Variables:
|
||||
;; no-update-autoloads: t
|
||||
|
|
|
@ -2560,37 +2560,37 @@ strings returned are not."
|
|||
;;;###autoload
|
||||
(defvar menu-bar-bookmark-map
|
||||
(let ((map (make-sparse-keymap "Bookmark functions")))
|
||||
(bindings--define-key map [load]
|
||||
(define-key map [load]
|
||||
'(menu-item "Load a Bookmark File..." bookmark-load
|
||||
:help "Load bookmarks from a bookmark file)"))
|
||||
(bindings--define-key map [write]
|
||||
(define-key map [write]
|
||||
'(menu-item "Save Bookmarks As..." bookmark-write
|
||||
: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
|
||||
:help "Save currently defined bookmarks"))
|
||||
(bindings--define-key map [edit]
|
||||
(define-key map [edit]
|
||||
'(menu-item "Edit Bookmark List" bookmark-bmenu-list
|
||||
:help "Display a list of existing bookmarks"))
|
||||
(bindings--define-key map [delete]
|
||||
(define-key map [delete]
|
||||
'(menu-item "Delete Bookmark..." bookmark-delete
|
||||
: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
|
||||
:help "Delete all bookmarks from the bookmark list"))
|
||||
(bindings--define-key map [rename]
|
||||
(define-key map [rename]
|
||||
'(menu-item "Rename Bookmark..." bookmark-rename
|
||||
:help "Change the name of a bookmark"))
|
||||
(bindings--define-key map [locate]
|
||||
(define-key map [locate]
|
||||
'(menu-item "Insert Location..." bookmark-locate
|
||||
: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
|
||||
: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
|
||||
:help "Set a bookmark named inside a file."))
|
||||
(bindings--define-key map [jump]
|
||||
(define-key map [jump]
|
||||
'(menu-item "Jump to Bookmark..." bookmark-jump
|
||||
:help "Jump to a bookmark (a point in some file)"))
|
||||
map))
|
||||
|
|
|
@ -97,7 +97,7 @@ Disabling the mode will remove all buttons in the current buffer."
|
|||
(put 'default-button 'type 'button)
|
||||
;; `action' may be either a function to call, or a marker to go to.
|
||||
(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.
|
||||
(put 'default-button 'evaporate t)
|
||||
;; Prevent insertions adjacent to text-property buttons from
|
||||
|
|
|
@ -44,7 +44,6 @@
|
|||
|
||||
;;;###autoload
|
||||
(defcustom holiday-general-holidays
|
||||
(mapcar 'purecopy
|
||||
'((holiday-fixed 1 1 "New Year's Day")
|
||||
(holiday-float 1 1 3 "Martin Luther King Day")
|
||||
(holiday-fixed 2 2 "Groundhog Day")
|
||||
|
@ -61,7 +60,7 @@
|
|||
(holiday-float 10 1 2 "Columbus Day")
|
||||
(holiday-fixed 10 31 "Halloween")
|
||||
(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.
|
||||
See the documentation for `calendar-holidays' for details."
|
||||
:type 'sexp)
|
||||
|
@ -70,7 +69,6 @@ See the documentation for `calendar-holidays' for details."
|
|||
|
||||
;;;###autoload
|
||||
(defcustom holiday-oriental-holidays
|
||||
(mapcar 'purecopy
|
||||
'((holiday-chinese-new-year)
|
||||
(if calendar-chinese-all-holidays-flag
|
||||
(append
|
||||
|
@ -81,7 +79,7 @@ See the documentation for `calendar-holidays' for details."
|
|||
(holiday-chinese 8 15 "Mid-Autumn Festival")
|
||||
(holiday-chinese 9 9 "Double Ninth Festival")
|
||||
(holiday-chinese-winter-solstice)
|
||||
))))
|
||||
)))
|
||||
"Oriental holidays.
|
||||
See the documentation for `calendar-holidays' for details."
|
||||
:version "23.1" ; added more holidays
|
||||
|
@ -107,14 +105,13 @@ See the documentation for `calendar-holidays' for details."
|
|||
|
||||
;;;###autoload
|
||||
(defcustom holiday-hebrew-holidays
|
||||
(mapcar 'purecopy
|
||||
'((holiday-hebrew-passover)
|
||||
(holiday-hebrew-rosh-hashanah)
|
||||
(holiday-hebrew-hanukkah)
|
||||
(if calendar-hebrew-all-holidays-flag
|
||||
(append
|
||||
(holiday-hebrew-tisha-b-av)
|
||||
(holiday-hebrew-misc)))))
|
||||
(holiday-hebrew-misc))))
|
||||
"Jewish holidays.
|
||||
See the documentation for `calendar-holidays' for details."
|
||||
:type 'sexp
|
||||
|
@ -125,7 +122,6 @@ See the documentation for `calendar-holidays' for details."
|
|||
|
||||
;;;###autoload
|
||||
(defcustom holiday-christian-holidays
|
||||
(mapcar 'purecopy
|
||||
'((holiday-easter-etc) ; respects calendar-christian-all-holidays-flag
|
||||
(holiday-fixed 12 25 "Christmas")
|
||||
(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-greek-orthodox-easter)
|
||||
(holiday-fixed 8 15 "Assumption")
|
||||
(holiday-advent 0 "Advent")))))
|
||||
(holiday-advent 0 "Advent"))))
|
||||
"Christian holidays.
|
||||
See the documentation for `calendar-holidays' for details."
|
||||
:type 'sexp)
|
||||
|
@ -143,7 +139,6 @@ See the documentation for `calendar-holidays' for details."
|
|||
|
||||
;;;###autoload
|
||||
(defcustom holiday-islamic-holidays
|
||||
(mapcar 'purecopy
|
||||
'((holiday-islamic-new-year)
|
||||
(holiday-islamic 9 1 "Ramadan Begins")
|
||||
(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 9 27 "Shab-e Qadr")
|
||||
(holiday-islamic 10 1 "Id-al-Fitr")
|
||||
(holiday-islamic 12 10 "Id-al-Adha")))))
|
||||
(holiday-islamic 12 10 "Id-al-Adha"))))
|
||||
"Islamic holidays.
|
||||
See the documentation for `calendar-holidays' for details."
|
||||
:type 'sexp)
|
||||
|
@ -163,7 +158,6 @@ See the documentation for `calendar-holidays' for details."
|
|||
|
||||
;;;###autoload
|
||||
(defcustom holiday-bahai-holidays
|
||||
(mapcar 'purecopy
|
||||
'((holiday-bahai-new-year)
|
||||
(holiday-bahai-ridvan) ; respects calendar-bahai-all-holidays-flag
|
||||
(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
|
||||
(append
|
||||
(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.
|
||||
See the documentation for `calendar-holidays' for details."
|
||||
:type 'sexp)
|
||||
|
@ -183,7 +177,6 @@ See the documentation for `calendar-holidays' for details."
|
|||
|
||||
;;;###autoload
|
||||
(defcustom holiday-solar-holidays
|
||||
(mapcar 'purecopy
|
||||
'((solar-equinoxes-solstices)
|
||||
(holiday-sexp calendar-daylight-savings-starts
|
||||
(format "Daylight Saving Time Begins %s"
|
||||
|
@ -194,7 +187,7 @@ See the documentation for `calendar-holidays' for details."
|
|||
(format "Daylight Saving Time Ends %s"
|
||||
(solar-time-string
|
||||
(/ calendar-daylight-savings-ends-time (float 60))
|
||||
calendar-daylight-time-zone-name)))))
|
||||
calendar-daylight-time-zone-name))))
|
||||
"Sun-related holidays.
|
||||
See the documentation for `calendar-holidays' for details."
|
||||
:type 'sexp)
|
||||
|
|
|
@ -3253,7 +3253,7 @@ Note that this applies to `comint-dynamic-complete-filename' only."
|
|||
:group 'comint-completion)
|
||||
|
||||
;;;###autoload
|
||||
(defvar comint-file-name-prefix (purecopy "")
|
||||
(defvar comint-file-name-prefix ""
|
||||
"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
|
||||
directory tracking functions.")
|
||||
|
|
|
@ -755,7 +755,7 @@ All non-spacing characters have this function in
|
|||
|
||||
;; Allow for bootstrapping without uni-*.el.
|
||||
(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])))
|
||||
(map-char-table
|
||||
#'(lambda (key val)
|
||||
|
@ -764,7 +764,7 @@ All non-spacing characters have this function in
|
|||
unicode-category-table))
|
||||
;; for dotted-circle
|
||||
(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
|
||||
(set-char-table-range
|
||||
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
|
||||
;; fractional display, the characters are shown separately, not as
|
||||
;; 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)
|
||||
(vector (purecopy "[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][0-9]\u2044[0-9]+" 2 'font-shape-gstring)
|
||||
(vector "[1-9]\u2044[0-9]+" 1 'font-shape-gstring))))
|
||||
|
||||
(defun compose-gstring-for-terminal (gstring _direction)
|
||||
"Compose glyph-string GSTRING for terminal display.
|
||||
|
|
|
@ -35,10 +35,10 @@
|
|||
(not (documentation-stringp doc)))
|
||||
(error "Invalid (or missing) doc string %S" doc))
|
||||
(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)
|
||||
(when doc
|
||||
(set-face-documentation face (purecopy doc)))
|
||||
(set-face-documentation face doc))
|
||||
(custom-handle-all-keywords face args 'custom-face)
|
||||
(run-hooks 'custom-define-hook))
|
||||
face)
|
||||
|
|
|
@ -166,7 +166,7 @@ not the default value itself.
|
|||
DEFAULT is stored as SYMBOL's standard value, in SYMBOL's property
|
||||
`standard-value'. At the same time, SYMBOL's property `force-value' is
|
||||
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.
|
||||
(when (get symbol 'force-value)
|
||||
(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))
|
||||
(put symbol 'permanent-local t)))
|
||||
((eq keyword :type)
|
||||
(put symbol 'custom-type (purecopy value)))
|
||||
(put symbol 'custom-type value))
|
||||
((eq keyword :options)
|
||||
(if (get symbol 'custom-options)
|
||||
;; Slow safe code to avoid duplicates.
|
||||
|
@ -488,7 +488,7 @@ information."
|
|||
(setq members (cdr members)))
|
||||
(when doc
|
||||
;; This text doesn't get into DOC.
|
||||
(put symbol 'group-documentation (purecopy doc)))
|
||||
(put symbol 'group-documentation doc))
|
||||
(while args
|
||||
(let ((arg (car args)))
|
||||
(setq args (cdr args))
|
||||
|
@ -500,7 +500,7 @@ information."
|
|||
(error "Keyword %s is missing an argument" keyword))
|
||||
(setq args (cdr args))
|
||||
(cond ((eq keyword :prefix)
|
||||
(put symbol 'custom-prefix (purecopy value)))
|
||||
(put symbol 'custom-prefix value))
|
||||
(t
|
||||
(custom-handle-keyword symbol keyword value
|
||||
'custom-group))))))
|
||||
|
@ -587,8 +587,6 @@ Third argument TYPE is the custom option type."
|
|||
(defun custom-handle-keyword (symbol keyword value type)
|
||||
"For customization option SYMBOL, handle KEYWORD with VALUE.
|
||||
Fourth argument TYPE is the custom option type."
|
||||
(if purify-flag
|
||||
(setq value (purecopy value)))
|
||||
(cond ((eq keyword :group)
|
||||
(custom-add-to-group value symbol type))
|
||||
((eq keyword :version)
|
||||
|
@ -641,22 +639,22 @@ For other custom types, this has no effect."
|
|||
"To the custom option SYMBOL add the link WIDGET."
|
||||
(let ((links (get symbol 'custom-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)
|
||||
"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)
|
||||
"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)
|
||||
"To the custom option SYMBOL add the dependency LOAD.
|
||||
LOAD should be either a library file name, or a feature name."
|
||||
(let ((loads (get symbol 'custom-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)
|
||||
"Mark SYMBOL as autoloaded custom variable and add dependency LOAD.
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
:group 'dired)
|
||||
|
||||
;;;###autoload
|
||||
(defcustom dired-listing-switches (purecopy "-al")
|
||||
(defcustom dired-listing-switches "-al"
|
||||
"Switches passed to `ls' for Dired. MUST contain the `l' option.
|
||||
May contain all other options that don't contradict `-l';
|
||||
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
|
||||
(defcustom dnd-protocol-alist
|
||||
`((,(purecopy "^file:///") . dnd-open-local-file) ; XDND format.
|
||||
(,(purecopy "^file://[^/]") . dnd-open-file) ; URL with host
|
||||
(,(purecopy "^file:/[^/]") . dnd-open-local-file) ; Old KDE, Motif, Sun
|
||||
(,(purecopy "^file:[^/]") . dnd-open-local-file) ; MS-Windows
|
||||
(,(purecopy "^\\(https?\\|ftp\\|nfs\\)://") . dnd-open-file))
|
||||
'(("^file:///" . dnd-open-local-file) ; XDND format.
|
||||
("^file://[^/]" . dnd-open-file) ; URL with host
|
||||
("^file:/[^/]" . dnd-open-local-file) ; Old KDE, Motif, Sun
|
||||
("^file:[^/]" . dnd-open-local-file) ; MS-Windows
|
||||
("^\\(https?\\|ftp\\|nfs\\)://" . dnd-open-file))
|
||||
"The functions to call for different protocols when a drop is made.
|
||||
This variable is used by `dnd-handle-multiple-urls'.
|
||||
The list contains of (REGEXP . FUNCTION) pairs.
|
||||
|
|
|
@ -1861,7 +1861,7 @@ See Info node `(elisp) Integer Basics'."
|
|||
(side-effect-and-error-free-fns
|
||||
'(
|
||||
;; alloc.c
|
||||
bool-vector cons list make-marker purecopy record vector
|
||||
bool-vector cons list make-marker record vector
|
||||
;; buffer.c
|
||||
buffer-list buffer-live-p current-buffer overlay-lists overlayp
|
||||
;; casetab.c
|
||||
|
|
|
@ -543,7 +543,7 @@ was first made obsolete, for example a date or a release number."
|
|||
(put obsolete-name 'byte-obsolete-info
|
||||
;; The second entry used to hold the `byte-compile' handler, but
|
||||
;; is not used any more nowadays.
|
||||
(purecopy (list current-name nil when)))
|
||||
(list current-name nil when))
|
||||
obsolete-name)
|
||||
|
||||
(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'."
|
||||
(byte-run--constant-obsolete-warning obsolete-name)
|
||||
(put obsolete-name 'byte-obsolete-variable
|
||||
(purecopy (list current-name access-type when)))
|
||||
(list current-name access-type when))
|
||||
obsolete-name)
|
||||
|
||||
(defmacro define-obsolete-variable-alias ( obsolete-name current-name when
|
||||
|
@ -634,7 +634,7 @@ obsolete, for example a date or a release number."
|
|||
`(progn
|
||||
(put ,obsolete-face 'face-alias ,current-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)
|
||||
"Like `progn', but the body always runs interpreted (not compiled).
|
||||
|
|
|
@ -4640,13 +4640,12 @@ Return (TAIL VAR TEST CASES), where:
|
|||
cases))))
|
||||
(setq jump-table (make-hash-table
|
||||
:test test
|
||||
:purecopy t
|
||||
:size nvalues)))
|
||||
(setq default-tag (byte-compile-make-tag))
|
||||
;; The structure of byte-switch code:
|
||||
;;
|
||||
;; varref var
|
||||
;; constant #s(hash-table purecopy t data (val1 (TAG1) val2 (TAG2)))
|
||||
;; constant #s(hash-table data (val1 (TAG1) val2 (TAG2)))
|
||||
;; switch
|
||||
;; goto DEFAULT-TAG
|
||||
;; TAG1
|
||||
|
|
|
@ -722,7 +722,7 @@ PROPLIST is a list of the sort returned by `symbol-plist'.
|
|||
|
||||
(define-button-type 'cl-type-definition
|
||||
: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))
|
||||
|
||||
|
|
|
@ -654,11 +654,7 @@ The set of acceptable TYPEs (also called \"specializers\") is defined
|
|||
(symbol-function sym)))
|
||||
;; Prevent `defalias' from recording this as the definition site of
|
||||
;; the generic function.
|
||||
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))
|
||||
current-load-list)
|
||||
(when (listp old-adv-cc)
|
||||
(set-advertised-calling-convention gfun old-adv-cc nil))
|
||||
;; But do use `defalias', so that it interacts properly with nadvice,
|
||||
|
|
|
@ -41,7 +41,7 @@
|
|||
|
||||
;; The `assert' macro from the cl package signals
|
||||
;; `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)
|
||||
(if debug-on-error
|
||||
|
@ -183,20 +183,7 @@
|
|||
(add-to-list 'current-load-list `(define-type . ,name))
|
||||
(cl--struct-register-child parent-class tag)
|
||||
(unless (or (eq named t) (eq tag name))
|
||||
;; We used to use `defconst' instead of `set' but that
|
||||
;; 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)
|
||||
(eval `(defconst ,tag ',class) t)
|
||||
;; 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.
|
||||
;; 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
|
||||
'action (lambda (button)
|
||||
(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
|
||||
"Control how to print byte-compiled functions.
|
||||
|
|
|
@ -155,7 +155,7 @@ native compilation runs.")
|
|||
|
||||
(defvar comp-curr-allocation-class 'd-default
|
||||
"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
|
||||
comp--limplify
|
||||
|
@ -395,9 +395,6 @@ Needed to replace immediate byte-compiled lambdas with the compiled reference.")
|
|||
:documentation "Documentation index -> documentation")
|
||||
(d-default (make-comp-data-container) :type comp-data-container
|
||||
: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
|
||||
:documentation "Relocated data not necessary after load.")
|
||||
(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)
|
||||
"Return t if JMP-TABLE can be optimized out."
|
||||
;; 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)
|
||||
;; (TAG 126 . 10)
|
||||
(let ((targets (hash-table-values jmp-table)))
|
||||
|
@ -1615,7 +1612,7 @@ and the annotation emission."
|
|||
(unless for-late-load
|
||||
(comp--emit
|
||||
(comp--call 'eval
|
||||
(let ((comp-curr-allocation-class 'd-impure))
|
||||
(let ((comp-curr-allocation-class 'd-default))
|
||||
(make--comp-mvar :constant
|
||||
(byte-to-native-top-level-form form)))
|
||||
(make--comp-mvar :constant
|
||||
|
@ -1625,7 +1622,7 @@ and the annotation emission."
|
|||
"Emit the creation of subrs for lambda FUNC.
|
||||
These are stored in the reloc data array."
|
||||
(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--emit
|
||||
(comp--call 'comp--register-lambda
|
||||
|
@ -3257,7 +3254,10 @@ Set it into the `type' slot."
|
|||
;; from the corresponding m-var.
|
||||
collect (if (gethash obj
|
||||
(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))))
|
||||
|
||||
(defun comp--finalize-relocs ()
|
||||
|
@ -3271,28 +3271,15 @@ Update all insn accordingly."
|
|||
|
||||
(let* ((d-default (comp-ctxt-d-default comp-ctxt))
|
||||
(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-idx (comp-data-container-idx d-ephemeral)))
|
||||
;; We never want compiled lambdas ending up in pure space. A copy must
|
||||
;; 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.
|
||||
;; Remove entries in d-ephemeral already present in d-default
|
||||
(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))
|
||||
;; Fix-up indexes in each relocation class and fill corresponding
|
||||
;; 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.
|
||||
(cl-loop with h = (comp-ctxt-function-docs comp-ctxt)
|
||||
with v = (make-vector (hash-table-count h) nil)
|
||||
|
@ -3302,13 +3289,13 @@ Update all insn accordingly."
|
|||
finally
|
||||
do (setf (comp-ctxt-function-docs comp-ctxt) v))
|
||||
;; And now we conclude with the following: We need to pass to
|
||||
;; `comp--register-lambda' the index in the impure relocation
|
||||
;; array to store revived lambdas, but given we know it only now
|
||||
;; we fix it up as last.
|
||||
;; `comp--register-lambda' the index in the relocation array to
|
||||
;; store revived lambdas, but given we know it only now we fix it up
|
||||
;; as last.
|
||||
(cl-loop for f being each hash-keys of (comp-ctxt-lambda-fixups-h comp-ctxt)
|
||||
using (hash-value mvar)
|
||||
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
|
||||
(cl-assert (null (gethash idx reverse-h)))
|
||||
(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)))
|
||||
(unless (get ',map 'variable-documentation)
|
||||
(put ',map 'variable-documentation
|
||||
(purecopy ,(format "Keymap for `%s'." child))))
|
||||
,(format "Keymap for `%s'." child)))
|
||||
,(if declare-syntax
|
||||
`(progn
|
||||
(defvar ,syntax)
|
||||
|
@ -229,7 +229,7 @@ No problems result if this variable is not bound.
|
|||
(defvar ,syntax (make-syntax-table)))
|
||||
(unless (get ',syntax 'variable-documentation)
|
||||
(put ',syntax 'variable-documentation
|
||||
(purecopy ,(format "Syntax table for `%s'." child))))))
|
||||
,(format "Syntax table for `%s'." child)))))
|
||||
,(if declare-abbrev
|
||||
`(progn
|
||||
(defvar ,abbrev)
|
||||
|
@ -239,7 +239,7 @@ No problems result if this variable is not bound.
|
|||
(progn (define-abbrev-table ',abbrev nil) ,abbrev)))
|
||||
(unless (get ',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
|
||||
(derived-mode-set-parent ',child ',parent)
|
||||
(put ',child 'derived-mode-parent ',parent))
|
||||
|
|
|
@ -269,7 +269,7 @@ INIT-VALUE LIGHTER KEYMAP.
|
|||
(setq body (cdr body))
|
||||
(pcase keyw
|
||||
(:init-value (setq init-value (pop body)))
|
||||
(:lighter (setq lighter (purecopy (pop body))))
|
||||
(:lighter (setq lighter (pop body)))
|
||||
(:global (setq globalp (pop body))
|
||||
(when (and globalp (symbolp mode))
|
||||
(setq setter `(setq-default ,mode))
|
||||
|
|
|
@ -78,7 +78,7 @@ If nil, truncated messages will just have \"...\" to indicate truncation."
|
|||
:version "28.1")
|
||||
|
||||
;;;###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."
|
||||
: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.")
|
||||
|
||||
(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)
|
||||
"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,
|
||||
|
@ -166,7 +165,6 @@ directly. Instead, use `eldoc-add-command' and `eldoc-remove-command'.")
|
|||
|
||||
;; Not a constant.
|
||||
(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:
|
||||
0 - contains the last symbol read from the buffer.
|
||||
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
|
||||
made obsolete, for example a date or a release number."
|
||||
(put obsolete-name 'byte-obsolete-generalized-variable
|
||||
(purecopy (list current-name when)))
|
||||
(list current-name when))
|
||||
obsolete-name)
|
||||
|
||||
;; Additions for `declare'. We specify the values as named aliases so
|
||||
|
|
|
@ -94,68 +94,68 @@
|
|||
(defvar lisp-imenu-generic-expression
|
||||
(list
|
||||
(list nil
|
||||
(purecopy (concat "^\\s-*("
|
||||
(regexp-opt
|
||||
'("defun" "defmacro"
|
||||
;; Elisp.
|
||||
"defun*" "defsubst" "define-inline"
|
||||
"define-advice" "defadvice" "define-skeleton"
|
||||
"define-compilation-mode" "define-minor-mode"
|
||||
"define-global-minor-mode"
|
||||
"define-globalized-minor-mode"
|
||||
"define-derived-mode" "define-generic-mode"
|
||||
"ert-deftest"
|
||||
"cl-defun" "cl-defsubst" "cl-defmacro"
|
||||
"cl-define-compiler-macro" "cl-defgeneric"
|
||||
"cl-defmethod"
|
||||
;; CL.
|
||||
"define-compiler-macro" "define-modify-macro"
|
||||
"defsetf" "define-setf-expander"
|
||||
"define-method-combination"
|
||||
;; CLOS and EIEIO
|
||||
"defgeneric" "defmethod")
|
||||
t)
|
||||
"\\s-+\\(" (rx lisp-mode-symbol) "\\)"))
|
||||
(concat "^\\s-*("
|
||||
(regexp-opt
|
||||
'("defun" "defmacro"
|
||||
;; Elisp.
|
||||
"defun*" "defsubst" "define-inline"
|
||||
"define-advice" "defadvice" "define-skeleton"
|
||||
"define-compilation-mode" "define-minor-mode"
|
||||
"define-global-minor-mode"
|
||||
"define-globalized-minor-mode"
|
||||
"define-derived-mode" "define-generic-mode"
|
||||
"ert-deftest"
|
||||
"cl-defun" "cl-defsubst" "cl-defmacro"
|
||||
"cl-define-compiler-macro" "cl-defgeneric"
|
||||
"cl-defmethod"
|
||||
;; CL.
|
||||
"define-compiler-macro" "define-modify-macro"
|
||||
"defsetf" "define-setf-expander"
|
||||
"define-method-combination"
|
||||
;; CLOS and EIEIO
|
||||
"defgeneric" "defmethod")
|
||||
t)
|
||||
"\\s-+\\(" (rx lisp-mode-symbol) "\\)")
|
||||
2)
|
||||
;; Like the previous, but uses a quoted symbol as the name.
|
||||
(list nil
|
||||
(purecopy (concat "^\\s-*("
|
||||
(regexp-opt
|
||||
'("defalias" "define-obsolete-function-alias")
|
||||
t)
|
||||
"\\s-+'\\(" (rx lisp-mode-symbol) "\\)"))
|
||||
(concat "^\\s-*("
|
||||
(regexp-opt
|
||||
'("defalias" "define-obsolete-function-alias")
|
||||
t)
|
||||
"\\s-+'\\(" (rx lisp-mode-symbol) "\\)")
|
||||
2)
|
||||
(list (purecopy "Variables")
|
||||
(purecopy (concat "^\\s-*("
|
||||
(regexp-opt
|
||||
'(;; Elisp
|
||||
"defconst" "defcustom" "defvar-keymap"
|
||||
;; CL
|
||||
"defconstant"
|
||||
"defparameter" "define-symbol-macro")
|
||||
t)
|
||||
"\\s-+\\(" (rx lisp-mode-symbol) "\\)"))
|
||||
(list "Variables"
|
||||
(concat "^\\s-*("
|
||||
(regexp-opt
|
||||
'(;; Elisp
|
||||
"defconst" "defcustom" "defvar-keymap"
|
||||
;; CL
|
||||
"defconstant"
|
||||
"defparameter" "define-symbol-macro")
|
||||
t)
|
||||
"\\s-+\\(" (rx lisp-mode-symbol) "\\)")
|
||||
2)
|
||||
;; For `defvar'/`defvar-local', we ignore (defvar FOO) constructs.
|
||||
(list (purecopy "Variables")
|
||||
(purecopy (concat "^\\s-*(defvar\\(?:-local\\)?\\s-+\\("
|
||||
(rx lisp-mode-symbol) "\\)"
|
||||
"[[:space:]\n]+[^)]"))
|
||||
(list "Variables"
|
||||
(concat "^\\s-*(defvar\\(?:-local\\)?\\s-+\\("
|
||||
(rx lisp-mode-symbol) "\\)"
|
||||
"[[:space:]\n]+[^)]")
|
||||
1)
|
||||
(list (purecopy "Types")
|
||||
(purecopy (concat "^\\s-*("
|
||||
(regexp-opt
|
||||
'(;; Elisp
|
||||
"defgroup" "deftheme"
|
||||
"define-widget" "define-error"
|
||||
"defface" "cl-deftype" "cl-defstruct"
|
||||
;; CL
|
||||
"deftype" "defstruct"
|
||||
"define-condition" "defpackage"
|
||||
;; CLOS and EIEIO
|
||||
"defclass")
|
||||
t)
|
||||
"\\s-+'?\\(" (rx lisp-mode-symbol) "\\)"))
|
||||
(list "Types"
|
||||
(concat "^\\s-*("
|
||||
(regexp-opt
|
||||
'(;; Elisp
|
||||
"defgroup" "deftheme"
|
||||
"define-widget" "define-error"
|
||||
"defface" "cl-deftype" "cl-defstruct"
|
||||
;; CL
|
||||
"deftype" "defstruct"
|
||||
"define-condition" "defpackage"
|
||||
;; CLOS and EIEIO
|
||||
"defclass")
|
||||
t)
|
||||
"\\s-+'?\\(" (rx lisp-mode-symbol) "\\)")
|
||||
2))
|
||||
|
||||
"Imenu generic expression for Lisp mode. See `imenu-generic-expression'.")
|
||||
|
|
|
@ -441,7 +441,7 @@ don't include."
|
|||
(file-name-sans-extension
|
||||
(file-name-nondirectory file)))))
|
||||
(push (list (or local-outfile main-outfile) file
|
||||
`(push (purecopy ',(cons (intern package) version))
|
||||
`(push ',(cons (intern package) version)
|
||||
package--builtin-versions))
|
||||
defs))))
|
||||
|
||||
|
|
|
@ -172,7 +172,7 @@ also call that function before the next warning.")
|
|||
;; safely, testing the existing value, before they call one of the
|
||||
;; warnings functions.
|
||||
;;;###autoload
|
||||
(defvar warning-type-format (purecopy " (%s)")
|
||||
(defvar warning-type-format " (%s)"
|
||||
"Format for displaying the warning type in the warning message.
|
||||
The result of formatting the type this way gets included in the
|
||||
message under the control of the string in `warning-levels'.")
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
(if (fboundp '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.
|
||||
|
||||
If you set this outside Custom while epa-file is already enabled,
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
;;; Code:
|
||||
|
||||
(defcustom term-file-prefix (purecopy "term/")
|
||||
(defcustom term-file-prefix "term/"
|
||||
"If non-nil, Emacs startup performs terminal-specific initialization.
|
||||
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,
|
||||
;; which are generally available.
|
||||
(defcustom face-font-family-alternatives
|
||||
(mapcar (lambda (arg) (mapcar 'purecopy arg))
|
||||
'(("Monospace" "Cascadia Code" "Lucida Console" "courier" "fixed")
|
||||
|
||||
;; 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
|
||||
"Calibri" "Tahoma" "Lucida Sans Unicode"
|
||||
"helv" "helvetica" "arial" "fixed")
|
||||
("helv" "helvetica" "arial" "fixed")))
|
||||
("helv" "helvetica" "arial" "fixed"))
|
||||
"Alist of alternative font family names.
|
||||
Each element has the form (FAMILY ALTERNATIVE1 ALTERNATIVE2 ...).
|
||||
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.
|
||||
(defcustom face-font-registry-alternatives
|
||||
(mapcar (lambda (arg) (mapcar 'purecopy arg))
|
||||
(if (featurep 'w32)
|
||||
'(("iso8859-1" "ms-oemlatin")
|
||||
("gb2312.1980" "gb2312" "gbk" "gb18030")
|
||||
|
@ -162,7 +160,7 @@ ALTERNATIVE2 etc."
|
|||
'(("gb2312.1980" "gb2312.80&gb8565.88" "gbk" "gb18030")
|
||||
("jisx0208.1990" "jisx0208.1983" "jisx0208.1978")
|
||||
("ksc5601.1989" "ksx1001.1992" "ksc5601.1987")
|
||||
("muletibetan-2" "muletibetan-0"))))
|
||||
("muletibetan-2" "muletibetan-0")))
|
||||
"Alist of alternative font registry names.
|
||||
Each element has the form (REGISTRY ALTERNATIVE1 ALTERNATIVE2 ...).
|
||||
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
|
||||
(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"))
|
||||
(:foundry (".attributeFoundry" . "Face.AttributeFoundry"))
|
||||
(:width (".attributeWidth" . "Face.AttributeWidth"))
|
||||
|
@ -381,7 +374,7 @@ is either `foreground-color', `background-color', or a keyword."
|
|||
(:bold (".attributeBold" . "Face.AttributeBold"))
|
||||
(:italic (".attributeItalic" . "Face.AttributeItalic"))
|
||||
(:font (".attributeFont" . "Face.AttributeFont"))
|
||||
(:inherit (".attributeInherit" . "Face.AttributeInherit"))))
|
||||
(:inherit (".attributeInherit" . "Face.AttributeInherit")))
|
||||
"List of X resources and classes for face attributes.
|
||||
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
|
||||
|
@ -664,7 +657,7 @@ If FACE is a face-alias, get the documentation for the target face."
|
|||
(defun set-face-documentation (face string)
|
||||
"Set the documentation string for FACE to STRING."
|
||||
;; 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")
|
||||
|
@ -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
|
||||
specified in the face spec, `:bold' is ignored, and if `:slant'
|
||||
is specified, `:italic' is ignored."
|
||||
(setq args (purecopy args))
|
||||
(let ((where (if (null frame) 0 frame))
|
||||
(spec args)
|
||||
family foundry orig-family orig-foundry)
|
||||
|
@ -893,15 +885,13 @@ is specified, `:italic' is ignored."
|
|||
(setq family orig-family)
|
||||
(setq foundry orig-foundry)))
|
||||
(when (or (stringp family) (eq family 'unspecified))
|
||||
(internal-set-lisp-face-attribute face :family (purecopy family)
|
||||
where))
|
||||
(internal-set-lisp-face-attribute face :family family where))
|
||||
(when (or (stringp foundry) (eq foundry 'unspecified))
|
||||
(internal-set-lisp-face-attribute face :foundry (purecopy foundry)
|
||||
where)))
|
||||
(internal-set-lisp-face-attribute face :foundry foundry where)))
|
||||
(while args
|
||||
(unless (memq (car args) '(:family :foundry))
|
||||
(internal-set-lisp-face-attribute face (car args)
|
||||
(purecopy (cadr args))
|
||||
(cadr args)
|
||||
where))
|
||||
(setq args (cddr args)))))
|
||||
|
||||
|
@ -3192,16 +3182,15 @@ This face is used by `show-paren-mode'."
|
|||
(encoding "[^-]+")
|
||||
)
|
||||
(setq x-font-regexp
|
||||
(purecopy (concat "\\`\\*?[-?*]"
|
||||
(concat "\\`\\*?[-?*]"
|
||||
foundry - family - weight\? - slant\? - swidth - adstyle -
|
||||
pixelsize - pointsize - resx - resy - spacing - avgwidth -
|
||||
registry - encoding "\\*?\\'"
|
||||
)))
|
||||
registry - encoding "\\*?\\'"))
|
||||
(setq x-font-regexp-head
|
||||
(purecopy (concat "\\`[-?*]" foundry - family - weight\? - slant\?
|
||||
"\\([-*?]\\|\\'\\)")))
|
||||
(setq x-font-regexp-slant (purecopy (concat - slant -)))
|
||||
(setq x-font-regexp-weight (purecopy (concat - weight -)))
|
||||
(concat "\\`[-?*]" foundry - family - weight\? - slant\?
|
||||
"\\([-*?]\\|\\'\\)"))
|
||||
(setq x-font-regexp-slant (concat - slant -))
|
||||
(setq x-font-regexp-weight (concat - weight -))
|
||||
nil)
|
||||
|
||||
|
||||
|
|
694
lisp/files.el
694
lisp/files.el
|
@ -231,7 +231,7 @@ have fast storage with limited space, such as a RAM disk."
|
|||
:type '(choice (const nil) directory))
|
||||
|
||||
;; 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 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
|
||||
(cond ((and (eq system-type 'ms-dos) (not (msdos-long-file-names)))
|
||||
(purecopy
|
||||
(concat "^\\([^A-Z[-`a-z]\\|..+\\)?:\\|" ; colon except after drive
|
||||
"[+, ;=|<>\"?*]\\|\\[\\|\\]\\|" ; invalid characters
|
||||
"[\000-\037]\\|" ; control characters
|
||||
"\\(/\\.\\.?[^/]\\)\\|" ; leading dots
|
||||
"\\(/[^/.]+\\.[^/.]*\\.\\)"))) ; more than a single dot
|
||||
"\\(/[^/.]+\\.[^/.]*\\.\\)")) ; more than a single dot
|
||||
((memq system-type '(ms-dos windows-nt cygwin))
|
||||
(purecopy
|
||||
(concat "^\\([^A-Z[-`a-z]\\|..+\\)?:\\|" ; colon except after drive
|
||||
"[|<>\"?*\000-\037]"))) ; invalid characters
|
||||
(t (purecopy "[\000]")))
|
||||
(concat "^\\([^A-Z[-`a-z]\\|..+\\)?:\\|" ; colon except after drive
|
||||
"[|<>\"?*\000-\037]")) ; invalid characters
|
||||
(t "[\000]"))
|
||||
"Regexp recognizing file names that aren't allowed by the filesystem.")
|
||||
|
||||
(defcustom file-precious-flag nil
|
||||
|
@ -1175,7 +1173,7 @@ one or more of those symbols."
|
|||
string-dir names string-file pred action)))))
|
||||
|
||||
(defvar locate-dominating-stop-dir-regexp
|
||||
(purecopy "\\`\\(?:[\\/][\\/][^\\/]+[\\/]\\|/\\(?:net\\|afs\\|\\.\\.\\.\\)/\\)\\'")
|
||||
"\\`\\(?:[\\/][\\/][^\\/]+[\\/]\\|/\\(?:net\\|afs\\|\\.\\.\\.\\)/\\)\\'"
|
||||
"Regexp of directory names that stop the search in `locate-dominating-file'.
|
||||
Any directory whose name matches this regexp will be treated like
|
||||
a kind of root directory by `locate-dominating-file', which will stop its
|
||||
|
@ -2988,279 +2986,276 @@ 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,
|
||||
;; c++-mode, java-mode and more) are added through autoload
|
||||
;; 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
|
||||
("\\.[sx]?html?\\(\\.[a-zA-Z_]+\\)?\\'" . mhtml-mode)
|
||||
("\\.svgz?\\'" . image-mode)
|
||||
("\\.svgz?\\'" . xml-mode)
|
||||
("\\.x[bp]m\\'" . image-mode)
|
||||
("\\.x[bp]m\\'" . c-mode)
|
||||
("\\.p[bpgn]m\\'" . image-mode)
|
||||
("\\.tiff?\\'" . image-mode)
|
||||
("\\.gif\\'" . image-mode)
|
||||
("\\.png\\'" . image-mode)
|
||||
("\\.jpe?g\\'" . image-mode)
|
||||
("\\.webp\\'" . image-mode)
|
||||
("\\.te?xt\\'" . text-mode)
|
||||
("\\.[tT]e[xX]\\'" . tex-mode)
|
||||
("\\.ins\\'" . tex-mode) ;Installation files for TeX packages.
|
||||
("\\.ltx\\'" . latex-mode)
|
||||
("\\.dtx\\'" . doctex-mode)
|
||||
("\\.org\\'" . org-mode)
|
||||
;; .dir-locals.el is not really Elisp. Could use the
|
||||
;; `dir-locals-file' constant if it weren't defined below.
|
||||
("\\.dir-locals\\(?:-2\\)?\\.el\\'" . lisp-data-mode)
|
||||
("\\.eld\\'" . lisp-data-mode)
|
||||
;; FIXME: The lisp-data-mode files below should use the `.eld' extension
|
||||
;; (or a -*- mode cookie) so we don't need ad-hoc entries here.
|
||||
("eww-bookmarks\\'" . lisp-data-mode)
|
||||
("tramp\\'" . lisp-data-mode)
|
||||
("/archive-contents\\'" . lisp-data-mode)
|
||||
("places\\'" . lisp-data-mode)
|
||||
("\\.emacs-places\\'" . lisp-data-mode)
|
||||
("\\.el\\'" . emacs-lisp-mode)
|
||||
("Project\\.ede\\'" . emacs-lisp-mode)
|
||||
("\\(?:\\.\\(?:scm\\|sls\\|sld\\|stk\\|ss\\|sch\\)\\|/\\.guile\\)\\'" . scheme-mode)
|
||||
("\\.l\\'" . lisp-mode)
|
||||
("\\.li?sp\\'" . lisp-mode)
|
||||
("\\.[fF]\\'" . fortran-mode)
|
||||
("\\.for\\'" . fortran-mode)
|
||||
("\\.p\\'" . pascal-mode)
|
||||
("\\.pas\\'" . pascal-mode)
|
||||
("\\.\\(dpr\\|DPR\\)\\'" . opascal-mode)
|
||||
("\\.\\([pP]\\([Llm]\\|erl\\|od\\)\\|al\\)\\'" . perl-mode)
|
||||
("Imakefile\\'" . makefile-imake-mode)
|
||||
("Makeppfile\\(?:\\.mk\\)?\\'" . makefile-makepp-mode) ; Put this before .mk
|
||||
("\\.makepp\\'" . makefile-makepp-mode)
|
||||
,@(if (memq system-type '(berkeley-unix darwin))
|
||||
'(("\\.mk\\'" . makefile-bsdmake-mode)
|
||||
("\\.make\\'" . makefile-bsdmake-mode)
|
||||
("GNUmakefile\\'" . makefile-gmake-mode)
|
||||
("[Mm]akefile\\'" . makefile-bsdmake-mode))
|
||||
'(("\\.mk\\'" . makefile-gmake-mode) ; Might be any make, give GNU the host advantage
|
||||
("\\.make\\'" . makefile-gmake-mode)
|
||||
("[Mm]akefile\\'" . makefile-gmake-mode)))
|
||||
("\\.am\\'" . makefile-automake-mode)
|
||||
;; Less common extensions come here
|
||||
;; so more common ones above are found faster.
|
||||
("\\.texinfo\\'" . texinfo-mode)
|
||||
("\\.te?xi\\'" . texinfo-mode)
|
||||
("\\.[sS]\\'" . asm-mode)
|
||||
("\\.asm\\'" . asm-mode)
|
||||
("\\.css\\'" . css-mode)
|
||||
("\\.mixal\\'" . mixal-mode)
|
||||
("\\.gcov\\'" . compilation-mode)
|
||||
;; Besides .gdbinit, gdb documents other names to be usable for init
|
||||
;; files, cross-debuggers can use something like
|
||||
;; .PROCESSORNAME-gdbinit so that the host and target gdbinit files
|
||||
;; don't interfere with each other.
|
||||
("/[._]?[A-Za-z0-9-]*\\(?:gdbinit\\(?:\\.\\(?:ini?\\|loader\\)\\)?\\|gdb\\.ini\\)\\'" . gdb-script-mode)
|
||||
;; GDB 7.5 introduced OBJFILE-gdb.gdb script files; e.g. a file
|
||||
;; named 'emacs-gdb.gdb', if it exists, will be automatically
|
||||
;; loaded when GDB reads an objfile called 'emacs'.
|
||||
("-gdb\\.gdb" . gdb-script-mode)
|
||||
("[cC]hange\\.?[lL]og?\\'" . change-log-mode)
|
||||
("[cC]hange[lL]og[-.][0-9]+\\'" . change-log-mode)
|
||||
("\\$CHANGE_LOG\\$\\.TXT" . change-log-mode)
|
||||
("\\.scm\\.[0-9]*\\'" . scheme-mode)
|
||||
("\\.[ckz]?sh\\'\\|\\.shar\\'\\|/\\.z?profile\\'" . sh-mode)
|
||||
("\\.bash\\'" . sh-mode)
|
||||
;; Bash builtin 'fc' creates a temp file named "bash-fc.XXXXXX"
|
||||
;; to edit shell commands from its history list.
|
||||
("/bash-fc\\.[0-9A-Za-z]\\{6\\}\\'" . sh-mode)
|
||||
("/PKGBUILD\\'" . sh-mode)
|
||||
("\\(/\\|\\`\\)\\.\\(bash_\\(profile\\|history\\|log\\(in\\|out\\)\\)\\|z?log\\(in\\|out\\)\\)\\'" . sh-mode)
|
||||
("\\(/\\|\\`\\)\\.\\(shrc\\|zshrc\\|m?kshrc\\|bashrc\\|t?cshrc\\|esrc\\)\\'" . sh-mode)
|
||||
("\\(/\\|\\`\\)\\.\\([kz]shenv\\|xinitrc\\|startxrc\\|xsession\\)\\'" . sh-mode)
|
||||
("\\.m?spec\\'" . sh-mode)
|
||||
("\\.m[mes]\\'" . nroff-mode)
|
||||
("\\.man\\'" . nroff-mode)
|
||||
("\\.sty\\'" . latex-mode)
|
||||
("\\.cl[so]\\'" . latex-mode) ;LaTeX 2e class option
|
||||
("\\.bbl\\'" . latex-mode)
|
||||
("\\.bib\\'" . bibtex-mode)
|
||||
("\\.bst\\'" . bibtex-style-mode)
|
||||
("\\.sql\\'" . sql-mode)
|
||||
;; These .m4 files are Autoconf files.
|
||||
("\\(acinclude\\|aclocal\\|acsite\\)\\.m4\\'" . autoconf-mode)
|
||||
("\\.m[4c]\\'" . m4-mode)
|
||||
("\\.mf\\'" . metafont-mode)
|
||||
("\\.mp\\'" . metapost-mode)
|
||||
("\\.vhdl?\\'" . vhdl-mode)
|
||||
("\\.article\\'" . text-mode)
|
||||
("\\.letter\\'" . text-mode)
|
||||
("\\.i?tcl\\'" . tcl-mode)
|
||||
("\\.exp\\'" . tcl-mode)
|
||||
("\\.itk\\'" . tcl-mode)
|
||||
("\\.icn\\'" . icon-mode)
|
||||
("\\.sim\\'" . simula-mode)
|
||||
("\\.mss\\'" . scribe-mode)
|
||||
;; The Fortran standard does not say anything about file extensions.
|
||||
;; .f90 was widely used for F90, now we seem to be trapped into
|
||||
;; using a different extension for each language revision.
|
||||
;; Anyway, the following extensions are supported by gfortran.
|
||||
("\\.f9[05]\\'" . f90-mode)
|
||||
("\\.f0[38]\\'" . f90-mode)
|
||||
("\\.srt\\'" . srecode-template-mode)
|
||||
("\\.prolog\\'" . prolog-mode)
|
||||
("\\.tar\\'" . tar-mode)
|
||||
;; The list of archive file extensions should be in sync with
|
||||
;; `auto-coding-alist' with `no-conversion' coding system.
|
||||
("\\.\\(\
|
||||
`(;; do this first, so that .html.pl is Polish html, not Perl
|
||||
("\\.[sx]?html?\\(\\.[a-zA-Z_]+\\)?\\'" . mhtml-mode)
|
||||
("\\.svgz?\\'" . image-mode)
|
||||
("\\.svgz?\\'" . xml-mode)
|
||||
("\\.x[bp]m\\'" . image-mode)
|
||||
("\\.x[bp]m\\'" . c-mode)
|
||||
("\\.p[bpgn]m\\'" . image-mode)
|
||||
("\\.tiff?\\'" . image-mode)
|
||||
("\\.gif\\'" . image-mode)
|
||||
("\\.png\\'" . image-mode)
|
||||
("\\.jpe?g\\'" . image-mode)
|
||||
("\\.webp\\'" . image-mode)
|
||||
("\\.te?xt\\'" . text-mode)
|
||||
("\\.[tT]e[xX]\\'" . tex-mode)
|
||||
("\\.ins\\'" . tex-mode) ;Installation files for TeX packages.
|
||||
("\\.ltx\\'" . latex-mode)
|
||||
("\\.dtx\\'" . doctex-mode)
|
||||
("\\.org\\'" . org-mode)
|
||||
;; .dir-locals.el is not really Elisp. Could use the
|
||||
;; `dir-locals-file' constant if it weren't defined below.
|
||||
("\\.dir-locals\\(?:-2\\)?\\.el\\'" . lisp-data-mode)
|
||||
("\\.eld\\'" . lisp-data-mode)
|
||||
;; FIXME: The lisp-data-mode files below should use the `.eld' extension
|
||||
;; (or a -*- mode cookie) so we don't need ad-hoc entries here.
|
||||
("eww-bookmarks\\'" . lisp-data-mode)
|
||||
("tramp\\'" . lisp-data-mode)
|
||||
("/archive-contents\\'" . lisp-data-mode)
|
||||
("places\\'" . lisp-data-mode)
|
||||
("\\.emacs-places\\'" . lisp-data-mode)
|
||||
("\\.el\\'" . emacs-lisp-mode)
|
||||
("Project\\.ede\\'" . emacs-lisp-mode)
|
||||
("\\(?:\\.\\(?:scm\\|sls\\|sld\\|stk\\|ss\\|sch\\)\\|/\\.guile\\)\\'" . scheme-mode)
|
||||
("\\.l\\'" . lisp-mode)
|
||||
("\\.li?sp\\'" . lisp-mode)
|
||||
("\\.[fF]\\'" . fortran-mode)
|
||||
("\\.for\\'" . fortran-mode)
|
||||
("\\.p\\'" . pascal-mode)
|
||||
("\\.pas\\'" . pascal-mode)
|
||||
("\\.\\(dpr\\|DPR\\)\\'" . opascal-mode)
|
||||
("\\.\\([pP]\\([Llm]\\|erl\\|od\\)\\|al\\)\\'" . perl-mode)
|
||||
("Imakefile\\'" . makefile-imake-mode)
|
||||
("Makeppfile\\(?:\\.mk\\)?\\'" . makefile-makepp-mode) ; Put this before .mk
|
||||
("\\.makepp\\'" . makefile-makepp-mode)
|
||||
,@(if (memq system-type '(berkeley-unix darwin))
|
||||
'(("\\.mk\\'" . makefile-bsdmake-mode)
|
||||
("\\.make\\'" . makefile-bsdmake-mode)
|
||||
("GNUmakefile\\'" . makefile-gmake-mode)
|
||||
("[Mm]akefile\\'" . makefile-bsdmake-mode))
|
||||
'(("\\.mk\\'" . makefile-gmake-mode) ; Might be any make, give GNU the host advantage
|
||||
("\\.make\\'" . makefile-gmake-mode)
|
||||
("[Mm]akefile\\'" . makefile-gmake-mode)))
|
||||
("\\.am\\'" . makefile-automake-mode)
|
||||
;; Less common extensions come here
|
||||
;; so more common ones above are found faster.
|
||||
("\\.texinfo\\'" . texinfo-mode)
|
||||
("\\.te?xi\\'" . texinfo-mode)
|
||||
("\\.[sS]\\'" . asm-mode)
|
||||
("\\.asm\\'" . asm-mode)
|
||||
("\\.css\\'" . css-mode)
|
||||
("\\.mixal\\'" . mixal-mode)
|
||||
("\\.gcov\\'" . compilation-mode)
|
||||
;; Besides .gdbinit, gdb documents other names to be usable for init
|
||||
;; files, cross-debuggers can use something like
|
||||
;; .PROCESSORNAME-gdbinit so that the host and target gdbinit files
|
||||
;; don't interfere with each other.
|
||||
("/[._]?[A-Za-z0-9-]*\\(?:gdbinit\\(?:\\.\\(?:ini?\\|loader\\)\\)?\\|gdb\\.ini\\)\\'" . gdb-script-mode)
|
||||
;; GDB 7.5 introduced OBJFILE-gdb.gdb script files; e.g. a file
|
||||
;; named 'emacs-gdb.gdb', if it exists, will be automatically
|
||||
;; loaded when GDB reads an objfile called 'emacs'.
|
||||
("-gdb\\.gdb" . gdb-script-mode)
|
||||
("[cC]hange\\.?[lL]og?\\'" . change-log-mode)
|
||||
("[cC]hange[lL]og[-.][0-9]+\\'" . change-log-mode)
|
||||
("\\$CHANGE_LOG\\$\\.TXT" . change-log-mode)
|
||||
("\\.scm\\.[0-9]*\\'" . scheme-mode)
|
||||
("\\.[ckz]?sh\\'\\|\\.shar\\'\\|/\\.z?profile\\'" . sh-mode)
|
||||
("\\.bash\\'" . sh-mode)
|
||||
;; Bash builtin 'fc' creates a temp file named "bash-fc.XXXXXX"
|
||||
;; to edit shell commands from its history list.
|
||||
("/bash-fc\\.[0-9A-Za-z]\\{6\\}\\'" . sh-mode)
|
||||
("/PKGBUILD\\'" . sh-mode)
|
||||
("\\(/\\|\\`\\)\\.\\(bash_\\(profile\\|history\\|log\\(in\\|out\\)\\)\\|z?log\\(in\\|out\\)\\)\\'" . sh-mode)
|
||||
("\\(/\\|\\`\\)\\.\\(shrc\\|zshrc\\|m?kshrc\\|bashrc\\|t?cshrc\\|esrc\\)\\'" . sh-mode)
|
||||
("\\(/\\|\\`\\)\\.\\([kz]shenv\\|xinitrc\\|startxrc\\|xsession\\)\\'" . sh-mode)
|
||||
("\\.m?spec\\'" . sh-mode)
|
||||
("\\.m[mes]\\'" . nroff-mode)
|
||||
("\\.man\\'" . nroff-mode)
|
||||
("\\.sty\\'" . latex-mode)
|
||||
("\\.cl[so]\\'" . latex-mode) ;LaTeX 2e class option
|
||||
("\\.bbl\\'" . latex-mode)
|
||||
("\\.bib\\'" . bibtex-mode)
|
||||
("\\.bst\\'" . bibtex-style-mode)
|
||||
("\\.sql\\'" . sql-mode)
|
||||
;; These .m4 files are Autoconf files.
|
||||
("\\(acinclude\\|aclocal\\|acsite\\)\\.m4\\'" . autoconf-mode)
|
||||
("\\.m[4c]\\'" . m4-mode)
|
||||
("\\.mf\\'" . metafont-mode)
|
||||
("\\.mp\\'" . metapost-mode)
|
||||
("\\.vhdl?\\'" . vhdl-mode)
|
||||
("\\.article\\'" . text-mode)
|
||||
("\\.letter\\'" . text-mode)
|
||||
("\\.i?tcl\\'" . tcl-mode)
|
||||
("\\.exp\\'" . tcl-mode)
|
||||
("\\.itk\\'" . tcl-mode)
|
||||
("\\.icn\\'" . icon-mode)
|
||||
("\\.sim\\'" . simula-mode)
|
||||
("\\.mss\\'" . scribe-mode)
|
||||
;; The Fortran standard does not say anything about file extensions.
|
||||
;; .f90 was widely used for F90, now we seem to be trapped into
|
||||
;; using a different extension for each language revision.
|
||||
;; Anyway, the following extensions are supported by gfortran.
|
||||
("\\.f9[05]\\'" . f90-mode)
|
||||
("\\.f0[38]\\'" . f90-mode)
|
||||
("\\.srt\\'" . srecode-template-mode)
|
||||
("\\.prolog\\'" . prolog-mode)
|
||||
("\\.tar\\'" . tar-mode)
|
||||
;; The list of archive file extensions should be in sync with
|
||||
;; `auto-coding-alist' with `no-conversion' coding system.
|
||||
("\\.\\(\
|
||||
arc\\|zip\\|lzh\\|lha\\|zoo\\|[jew]ar\\|xpi\\|rar\\|cbr\\|7z\\|squashfs\\|\
|
||||
ARC\\|ZIP\\|LZH\\|LHA\\|ZOO\\|[JEW]AR\\|XPI\\|RAR\\|CBR\\|7Z\\|SQUASHFS\\)\\'" . archive-mode)
|
||||
("\\.oxt\\'" . archive-mode) ;(Open|Libre)Office extensions.
|
||||
("\\.\\(deb\\|[oi]pk\\)\\'" . archive-mode) ; Debian/Opkg packages.
|
||||
;; Mailer puts message to be edited in
|
||||
;; /tmp/Re.... or Message
|
||||
("\\`/tmp/Re" . text-mode)
|
||||
("/Message[0-9]*\\'" . text-mode)
|
||||
;; some news reader is reported to use this
|
||||
("\\`/tmp/fol/" . text-mode)
|
||||
("\\.oak\\'" . scheme-mode)
|
||||
("\\.sgml?\\'" . sgml-mode)
|
||||
("\\.x[ms]l\\'" . xml-mode)
|
||||
("\\.dbk\\'" . xml-mode)
|
||||
("\\.dtd\\'" . sgml-mode)
|
||||
("\\.ds\\(ss\\)?l\\'" . dsssl-mode)
|
||||
("\\.js[mx]?\\'" . javascript-mode)
|
||||
;; https://en.wikipedia.org/wiki/.har
|
||||
("\\.har\\'" . javascript-mode)
|
||||
("\\.json\\'" . js-json-mode)
|
||||
("\\.[ds]?va?h?\\'" . verilog-mode)
|
||||
("\\.by\\'" . bovine-grammar-mode)
|
||||
("\\.wy\\'" . wisent-grammar-mode)
|
||||
("\\.erts\\'" . erts-mode)
|
||||
;; .emacs or .gnus or .viper following a directory delimiter in
|
||||
;; Unix or MS-DOS syntax.
|
||||
("[:/\\]\\..*\\(emacs\\|gnus\\|viper\\)\\'" . emacs-lisp-mode)
|
||||
("\\`\\..*emacs\\'" . emacs-lisp-mode)
|
||||
;; _emacs following a directory delimiter in MS-DOS syntax
|
||||
("[:/]_emacs\\'" . emacs-lisp-mode)
|
||||
("/crontab\\.X*[0-9]+\\'" . shell-script-mode)
|
||||
("\\.ml\\'" . lisp-mode)
|
||||
;; Linux-2.6.9 uses some different suffix for linker scripts:
|
||||
;; "ld", "lds", "lds.S", "lds.in", "ld.script", and "ld.script.balo".
|
||||
;; eCos uses "ld" and "ldi". Netbsd uses "ldscript.*".
|
||||
("\\.ld[si]?\\'" . ld-script-mode)
|
||||
("ld\\.?script\\'" . ld-script-mode)
|
||||
;; .xs is also used for ld scripts, but seems to be more commonly
|
||||
;; associated with Perl .xs files (C with Perl bindings). (Bug#7071)
|
||||
("\\.xs\\'" . c-mode)
|
||||
;; Explained in binutils ld/genscripts.sh. Eg:
|
||||
;; A .x script file is the default script.
|
||||
;; A .xr script is for linking without relocation (-r flag). Etc.
|
||||
("\\.x[abdsru]?[cnw]?\\'" . ld-script-mode)
|
||||
("\\.zone\\'" . dns-mode)
|
||||
("\\.soa\\'" . dns-mode)
|
||||
;; Common Lisp ASDF package system.
|
||||
("\\.asd\\'" . lisp-mode)
|
||||
("\\.\\(asn\\|mib\\|smi\\)\\'" . snmp-mode)
|
||||
("\\.\\(as\\|mi\\|sm\\)2\\'" . snmpv2-mode)
|
||||
("\\.\\(diffs?\\|patch\\|rej\\)\\'" . diff-mode)
|
||||
("\\.\\(dif\\|pat\\)\\'" . diff-mode) ; for MS-DOS
|
||||
("\\.[eE]?[pP][sS]\\'" . ps-mode)
|
||||
("\\.\\(?:PDF\\|EPUB\\|CBZ\\|FB2\\|O?XPS\\|DVI\\|OD[FGPST]\\|DOCX\\|XLSX?\\|PPTX?\\|pdf\\|epub\\|cbz\\|fb2\\|o?xps\\|djvu\\|dvi\\|od[fgpst]\\|docx\\|xlsx?\\|pptx?\\)\\'" . doc-view-mode-maybe)
|
||||
("configure\\.\\(ac\\|in\\)\\'" . autoconf-mode)
|
||||
("\\.s\\(v\\|iv\\|ieve\\)\\'" . sieve-mode)
|
||||
("BROWSE\\'" . ebrowse-tree-mode)
|
||||
("\\.ebrowse\\'" . ebrowse-tree-mode)
|
||||
("#\\*mail\\*" . mail-mode)
|
||||
("\\.g\\'" . antlr-mode)
|
||||
("\\.mod\\'" . m2-mode)
|
||||
("\\.ses\\'" . ses-mode)
|
||||
("\\.docbook\\'" . sgml-mode)
|
||||
("\\.com\\'" . dcl-mode)
|
||||
("/config\\.\\(?:bat\\|log\\)\\'" . fundamental-mode)
|
||||
("/\\.?\\(authinfo\\|netrc\\)\\'" . authinfo-mode)
|
||||
;; Windows candidates may be opened case sensitively on Unix
|
||||
("\\.\\(?:[iI][nN][iI]\\|[lL][sS][tT]\\|[rR][eE][gG]\\|[sS][yY][sS]\\)\\'" . conf-mode)
|
||||
("\\.la\\'" . conf-unix-mode)
|
||||
("\\.ppd\\'" . conf-ppd-mode)
|
||||
("java.+\\.conf\\'" . conf-javaprop-mode)
|
||||
("\\.properties\\(?:\\.[a-zA-Z0-9._-]+\\)?\\'" . conf-javaprop-mode)
|
||||
("\\.toml\\'" . conf-toml-mode)
|
||||
("\\.desktop\\'" . conf-desktop-mode)
|
||||
("/\\.redshift\\.conf\\'" . conf-windows-mode)
|
||||
("\\`/etc/\\(?:DIR_COLORS\\|ethers\\|.?fstab\\|.*hosts\\|lesskey\\|login\\.?de\\(?:fs\\|vperm\\)\\|magic\\|mtab\\|pam\\.d/.*\\|permissions\\(?:\\.d/.+\\)?\\|protocols\\|rpc\\|services\\)\\'" . conf-space-mode)
|
||||
("\\`/etc/\\(?:acpid?/.+\\|aliases\\(?:\\.d/.+\\)?\\|default/.+\\|group-?\\|hosts\\..+\\|inittab\\|ksysguarddrc\\|opera6rc\\|passwd-?\\|shadow-?\\|sysconfig/.+\\)\\'" . conf-mode)
|
||||
;; ChangeLog.old etc. Other change-log-mode entries are above;
|
||||
;; this has lower priority to avoid matching changelog.sgml etc.
|
||||
("[cC]hange[lL]og[-.][-0-9a-z]+\\'" . change-log-mode)
|
||||
;; either user's dot-files or under /etc or some such
|
||||
("/\\.?\\(?:gitconfig\\|gnokiirc\\|hgrc\\|kde.*rc\\|mime\\.types\\|wgetrc\\)\\'" . conf-mode)
|
||||
("/\\.mailmap\\'" . conf-unix-mode)
|
||||
;; alas not all ~/.*rc files are like this
|
||||
("/\\.\\(?:asound\\|enigma\\|fetchmail\\|gltron\\|gtk\\|hxplayer\\|mairix\\|mbsync\\|msmtp\\|net\\|neverball\\|nvidia-settings-\\|offlineimap\\|qt/.+\\|realplayer\\|reportbug\\|rtorrent\\.\\|screen\\|scummvm\\|sversion\\|sylpheed/.+\\|xmp\\)rc\\'" . conf-mode)
|
||||
("/\\.\\(?:gdbtkinit\\|grip\\|mpdconf\\|notmuch-config\\|orbital/.+txt\\|rhosts\\|tuxracer/options\\)\\'" . conf-mode)
|
||||
("/\\.?X\\(?:default\\|resource\\|re\\)s\\>" . conf-xdefaults-mode)
|
||||
("/X11.+app-defaults/\\|\\.ad\\'" . conf-xdefaults-mode)
|
||||
("/X11.+locale/.+/Compose\\'" . conf-colon-mode)
|
||||
;; this contains everything twice, with space and with colon :-(
|
||||
("/X11.+locale/compose\\.dir\\'" . conf-javaprop-mode)
|
||||
;; Get rid of any trailing .n.m and try again.
|
||||
;; This is for files saved by cvs-merge that look like .#<file>.<rev>
|
||||
;; or .#<file>.<rev>-<rev> or VC's <file>.~<rev>~.
|
||||
;; Using mode nil rather than `ignore' would let the search continue
|
||||
;; through this list (with the shortened name) rather than start over.
|
||||
("\\.~?[0-9]+\\.[0-9][-.0-9]*~?\\'" nil t)
|
||||
("\\.\\(?:orig\\|in\\|[bB][aA][kK]\\)\\'" nil t)
|
||||
;; This should come after "in" stripping (e.g. config.h.in).
|
||||
;; *.cf, *.cfg, *.conf, *.config[.local|.de_DE.UTF8|...], */config
|
||||
("[/.]c\\(?:on\\)?f\\(?:i?g\\)?\\(?:\\.[a-zA-Z0-9._-]+\\)?\\'" . conf-mode-maybe)
|
||||
;; The following should come after the ChangeLog pattern
|
||||
;; for the sake of ChangeLog.1, etc.
|
||||
;; and after the .scm.[0-9] and CVS' <file>.<rev> patterns too.
|
||||
("\\.[1-9]\\'" . nroff-mode)
|
||||
;; Image file types probably supported by `image-convert'.
|
||||
("\\.art\\'" . image-mode)
|
||||
("\\.avs\\'" . image-mode)
|
||||
("\\.bmp\\'" . image-mode)
|
||||
("\\.cmyk\\'" . image-mode)
|
||||
("\\.cmyka\\'" . image-mode)
|
||||
("\\.crw\\'" . image-mode)
|
||||
("\\.dcm\\'" . image-mode)
|
||||
("\\.dcr\\'" . image-mode)
|
||||
("\\.dcx\\'" . image-mode)
|
||||
("\\.dng\\'" . image-mode)
|
||||
("\\.dpx\\'" . image-mode)
|
||||
("\\.fax\\'" . image-mode)
|
||||
("\\.heic\\'" . image-mode)
|
||||
("\\.hrz\\'" . image-mode)
|
||||
("\\.icb\\'" . image-mode)
|
||||
("\\.icc\\'" . image-mode)
|
||||
("\\.icm\\'" . image-mode)
|
||||
("\\.ico\\'" . image-mode)
|
||||
("\\.icon\\'" . image-mode)
|
||||
("\\.jbg\\'" . image-mode)
|
||||
("\\.jbig\\'" . image-mode)
|
||||
("\\.jng\\'" . image-mode)
|
||||
("\\.jnx\\'" . image-mode)
|
||||
("\\.miff\\'" . image-mode)
|
||||
("\\.mng\\'" . image-mode)
|
||||
("\\.mvg\\'" . image-mode)
|
||||
("\\.otb\\'" . image-mode)
|
||||
("\\.p7\\'" . image-mode)
|
||||
("\\.pcx\\'" . image-mode)
|
||||
("\\.pdb\\'" . image-mode)
|
||||
("\\.pfa\\'" . image-mode)
|
||||
("\\.pfb\\'" . image-mode)
|
||||
("\\.picon\\'" . image-mode)
|
||||
("\\.pict\\'" . image-mode)
|
||||
("\\.rgb\\'" . image-mode)
|
||||
("\\.rgba\\'" . image-mode)
|
||||
("\\.six\\'" . image-mode)
|
||||
("\\.tga\\'" . image-mode)
|
||||
("\\.wbmp\\'" . image-mode)
|
||||
("\\.webp\\'" . image-mode)
|
||||
("\\.wmf\\'" . image-mode)
|
||||
("\\.wpg\\'" . image-mode)
|
||||
("\\.xcf\\'" . image-mode)
|
||||
("\\.xmp\\'" . image-mode)
|
||||
("\\.xwd\\'" . image-mode)
|
||||
("\\.yuv\\'" . image-mode)))
|
||||
("\\.oxt\\'" . archive-mode) ;(Open|Libre)Office extensions.
|
||||
("\\.\\(deb\\|[oi]pk\\)\\'" . archive-mode) ; Debian/Opkg packages.
|
||||
;; Mailer puts message to be edited in
|
||||
;; /tmp/Re.... or Message
|
||||
("\\`/tmp/Re" . text-mode)
|
||||
("/Message[0-9]*\\'" . text-mode)
|
||||
;; some news reader is reported to use this
|
||||
("\\`/tmp/fol/" . text-mode)
|
||||
("\\.oak\\'" . scheme-mode)
|
||||
("\\.sgml?\\'" . sgml-mode)
|
||||
("\\.x[ms]l\\'" . xml-mode)
|
||||
("\\.dbk\\'" . xml-mode)
|
||||
("\\.dtd\\'" . sgml-mode)
|
||||
("\\.ds\\(ss\\)?l\\'" . dsssl-mode)
|
||||
("\\.js[mx]?\\'" . javascript-mode)
|
||||
;; https://en.wikipedia.org/wiki/.har
|
||||
("\\.har\\'" . javascript-mode)
|
||||
("\\.json\\'" . js-json-mode)
|
||||
("\\.[ds]?va?h?\\'" . verilog-mode)
|
||||
("\\.by\\'" . bovine-grammar-mode)
|
||||
("\\.wy\\'" . wisent-grammar-mode)
|
||||
("\\.erts\\'" . erts-mode)
|
||||
;; .emacs or .gnus or .viper following a directory delimiter in
|
||||
;; Unix or MS-DOS syntax.
|
||||
("[:/\\]\\..*\\(emacs\\|gnus\\|viper\\)\\'" . emacs-lisp-mode)
|
||||
("\\`\\..*emacs\\'" . emacs-lisp-mode)
|
||||
;; _emacs following a directory delimiter in MS-DOS syntax
|
||||
("[:/]_emacs\\'" . emacs-lisp-mode)
|
||||
("/crontab\\.X*[0-9]+\\'" . shell-script-mode)
|
||||
("\\.ml\\'" . lisp-mode)
|
||||
;; Linux-2.6.9 uses some different suffix for linker scripts:
|
||||
;; "ld", "lds", "lds.S", "lds.in", "ld.script", and "ld.script.balo".
|
||||
;; eCos uses "ld" and "ldi". Netbsd uses "ldscript.*".
|
||||
("\\.ld[si]?\\'" . ld-script-mode)
|
||||
("ld\\.?script\\'" . ld-script-mode)
|
||||
;; .xs is also used for ld scripts, but seems to be more commonly
|
||||
;; associated with Perl .xs files (C with Perl bindings). (Bug#7071)
|
||||
("\\.xs\\'" . c-mode)
|
||||
;; Explained in binutils ld/genscripts.sh. Eg:
|
||||
;; A .x script file is the default script.
|
||||
;; A .xr script is for linking without relocation (-r flag). Etc.
|
||||
("\\.x[abdsru]?[cnw]?\\'" . ld-script-mode)
|
||||
("\\.zone\\'" . dns-mode)
|
||||
("\\.soa\\'" . dns-mode)
|
||||
;; Common Lisp ASDF package system.
|
||||
("\\.asd\\'" . lisp-mode)
|
||||
("\\.\\(asn\\|mib\\|smi\\)\\'" . snmp-mode)
|
||||
("\\.\\(as\\|mi\\|sm\\)2\\'" . snmpv2-mode)
|
||||
("\\.\\(diffs?\\|patch\\|rej\\)\\'" . diff-mode)
|
||||
("\\.\\(dif\\|pat\\)\\'" . diff-mode) ; for MS-DOS
|
||||
("\\.[eE]?[pP][sS]\\'" . ps-mode)
|
||||
("\\.\\(?:PDF\\|EPUB\\|CBZ\\|FB2\\|O?XPS\\|DVI\\|OD[FGPST]\\|DOCX\\|XLSX?\\|PPTX?\\|pdf\\|epub\\|cbz\\|fb2\\|o?xps\\|djvu\\|dvi\\|od[fgpst]\\|docx\\|xlsx?\\|pptx?\\)\\'" . doc-view-mode-maybe)
|
||||
("configure\\.\\(ac\\|in\\)\\'" . autoconf-mode)
|
||||
("\\.s\\(v\\|iv\\|ieve\\)\\'" . sieve-mode)
|
||||
("BROWSE\\'" . ebrowse-tree-mode)
|
||||
("\\.ebrowse\\'" . ebrowse-tree-mode)
|
||||
("#\\*mail\\*" . mail-mode)
|
||||
("\\.g\\'" . antlr-mode)
|
||||
("\\.mod\\'" . m2-mode)
|
||||
("\\.ses\\'" . ses-mode)
|
||||
("\\.docbook\\'" . sgml-mode)
|
||||
("\\.com\\'" . dcl-mode)
|
||||
("/config\\.\\(?:bat\\|log\\)\\'" . fundamental-mode)
|
||||
("/\\.?\\(authinfo\\|netrc\\)\\'" . authinfo-mode)
|
||||
;; Windows candidates may be opened case sensitively on Unix
|
||||
("\\.\\(?:[iI][nN][iI]\\|[lL][sS][tT]\\|[rR][eE][gG]\\|[sS][yY][sS]\\)\\'" . conf-mode)
|
||||
("\\.la\\'" . conf-unix-mode)
|
||||
("\\.ppd\\'" . conf-ppd-mode)
|
||||
("java.+\\.conf\\'" . conf-javaprop-mode)
|
||||
("\\.properties\\(?:\\.[a-zA-Z0-9._-]+\\)?\\'" . conf-javaprop-mode)
|
||||
("\\.toml\\'" . conf-toml-mode)
|
||||
("\\.desktop\\'" . conf-desktop-mode)
|
||||
("/\\.redshift\\.conf\\'" . conf-windows-mode)
|
||||
("\\`/etc/\\(?:DIR_COLORS\\|ethers\\|.?fstab\\|.*hosts\\|lesskey\\|login\\.?de\\(?:fs\\|vperm\\)\\|magic\\|mtab\\|pam\\.d/.*\\|permissions\\(?:\\.d/.+\\)?\\|protocols\\|rpc\\|services\\)\\'" . conf-space-mode)
|
||||
("\\`/etc/\\(?:acpid?/.+\\|aliases\\(?:\\.d/.+\\)?\\|default/.+\\|group-?\\|hosts\\..+\\|inittab\\|ksysguarddrc\\|opera6rc\\|passwd-?\\|shadow-?\\|sysconfig/.+\\)\\'" . conf-mode)
|
||||
;; ChangeLog.old etc. Other change-log-mode entries are above;
|
||||
;; this has lower priority to avoid matching changelog.sgml etc.
|
||||
("[cC]hange[lL]og[-.][-0-9a-z]+\\'" . change-log-mode)
|
||||
;; either user's dot-files or under /etc or some such
|
||||
("/\\.?\\(?:gitconfig\\|gnokiirc\\|hgrc\\|kde.*rc\\|mime\\.types\\|wgetrc\\)\\'" . conf-mode)
|
||||
("/\\.mailmap\\'" . conf-unix-mode)
|
||||
;; alas not all ~/.*rc files are like this
|
||||
("/\\.\\(?:asound\\|enigma\\|fetchmail\\|gltron\\|gtk\\|hxplayer\\|mairix\\|mbsync\\|msmtp\\|net\\|neverball\\|nvidia-settings-\\|offlineimap\\|qt/.+\\|realplayer\\|reportbug\\|rtorrent\\.\\|screen\\|scummvm\\|sversion\\|sylpheed/.+\\|xmp\\)rc\\'" . conf-mode)
|
||||
("/\\.\\(?:gdbtkinit\\|grip\\|mpdconf\\|notmuch-config\\|orbital/.+txt\\|rhosts\\|tuxracer/options\\)\\'" . conf-mode)
|
||||
("/\\.?X\\(?:default\\|resource\\|re\\)s\\>" . conf-xdefaults-mode)
|
||||
("/X11.+app-defaults/\\|\\.ad\\'" . conf-xdefaults-mode)
|
||||
("/X11.+locale/.+/Compose\\'" . conf-colon-mode)
|
||||
;; this contains everything twice, with space and with colon :-(
|
||||
("/X11.+locale/compose\\.dir\\'" . conf-javaprop-mode)
|
||||
;; Get rid of any trailing .n.m and try again.
|
||||
;; This is for files saved by cvs-merge that look like .#<file>.<rev>
|
||||
;; or .#<file>.<rev>-<rev> or VC's <file>.~<rev>~.
|
||||
;; Using mode nil rather than `ignore' would let the search continue
|
||||
;; through this list (with the shortened name) rather than start over.
|
||||
("\\.~?[0-9]+\\.[0-9][-.0-9]*~?\\'" nil t)
|
||||
("\\.\\(?:orig\\|in\\|[bB][aA][kK]\\)\\'" nil t)
|
||||
;; This should come after "in" stripping (e.g. config.h.in).
|
||||
;; *.cf, *.cfg, *.conf, *.config[.local|.de_DE.UTF8|...], */config
|
||||
("[/.]c\\(?:on\\)?f\\(?:i?g\\)?\\(?:\\.[a-zA-Z0-9._-]+\\)?\\'" . conf-mode-maybe)
|
||||
;; The following should come after the ChangeLog pattern
|
||||
;; for the sake of ChangeLog.1, etc.
|
||||
;; and after the .scm.[0-9] and CVS' <file>.<rev> patterns too.
|
||||
("\\.[1-9]\\'" . nroff-mode)
|
||||
;; Image file types probably supported by `image-convert'.
|
||||
("\\.art\\'" . image-mode)
|
||||
("\\.avs\\'" . image-mode)
|
||||
("\\.bmp\\'" . image-mode)
|
||||
("\\.cmyk\\'" . image-mode)
|
||||
("\\.cmyka\\'" . image-mode)
|
||||
("\\.crw\\'" . image-mode)
|
||||
("\\.dcm\\'" . image-mode)
|
||||
("\\.dcr\\'" . image-mode)
|
||||
("\\.dcx\\'" . image-mode)
|
||||
("\\.dng\\'" . image-mode)
|
||||
("\\.dpx\\'" . image-mode)
|
||||
("\\.fax\\'" . image-mode)
|
||||
("\\.heic\\'" . image-mode)
|
||||
("\\.hrz\\'" . image-mode)
|
||||
("\\.icb\\'" . image-mode)
|
||||
("\\.icc\\'" . image-mode)
|
||||
("\\.icm\\'" . image-mode)
|
||||
("\\.ico\\'" . image-mode)
|
||||
("\\.icon\\'" . image-mode)
|
||||
("\\.jbg\\'" . image-mode)
|
||||
("\\.jbig\\'" . image-mode)
|
||||
("\\.jng\\'" . image-mode)
|
||||
("\\.jnx\\'" . image-mode)
|
||||
("\\.miff\\'" . image-mode)
|
||||
("\\.mng\\'" . image-mode)
|
||||
("\\.mvg\\'" . image-mode)
|
||||
("\\.otb\\'" . image-mode)
|
||||
("\\.p7\\'" . image-mode)
|
||||
("\\.pcx\\'" . image-mode)
|
||||
("\\.pdb\\'" . image-mode)
|
||||
("\\.pfa\\'" . image-mode)
|
||||
("\\.pfb\\'" . image-mode)
|
||||
("\\.picon\\'" . image-mode)
|
||||
("\\.pict\\'" . image-mode)
|
||||
("\\.rgb\\'" . image-mode)
|
||||
("\\.rgba\\'" . image-mode)
|
||||
("\\.six\\'" . image-mode)
|
||||
("\\.tga\\'" . image-mode)
|
||||
("\\.wbmp\\'" . image-mode)
|
||||
("\\.webp\\'" . image-mode)
|
||||
("\\.wmf\\'" . image-mode)
|
||||
("\\.wpg\\'" . image-mode)
|
||||
("\\.xcf\\'" . image-mode)
|
||||
("\\.xmp\\'" . image-mode)
|
||||
("\\.xwd\\'" . image-mode)
|
||||
("\\.yuv\\'" . image-mode))
|
||||
"Alist of file name patterns vs corresponding major mode functions.
|
||||
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.)
|
||||
|
@ -3293,34 +3288,31 @@ and `magic-mode-alist', which determines modes based on file contents.")
|
|||
;; Note: The entries for the modes defined in cc-mode.el (awk-mode
|
||||
;; and pike-mode) are added through autoload directives in that
|
||||
;; file.
|
||||
(mapcar
|
||||
(lambda (l)
|
||||
(cons (purecopy (car l)) (cdr l)))
|
||||
'(("\\(mini\\)?perl5?" . perl-mode)
|
||||
("wishx?" . tcl-mode)
|
||||
("tcl\\(sh\\)?" . tcl-mode)
|
||||
("expect" . tcl-mode)
|
||||
("octave" . octave-mode)
|
||||
("scm" . scheme-mode)
|
||||
("[acjkwz]sh" . sh-mode)
|
||||
("r?bash2?" . sh-mode)
|
||||
("dash" . sh-mode)
|
||||
("mksh" . sh-mode)
|
||||
("\\(dt\\|pd\\|w\\)ksh" . sh-mode)
|
||||
("es" . sh-mode)
|
||||
("i?tcsh" . sh-mode)
|
||||
("oash" . sh-mode)
|
||||
("rc" . sh-mode)
|
||||
("rpm" . sh-mode)
|
||||
("sh5?" . sh-mode)
|
||||
("tail" . text-mode)
|
||||
("more" . text-mode)
|
||||
("less" . text-mode)
|
||||
("pg" . text-mode)
|
||||
("make" . makefile-gmake-mode) ; Debian uses this
|
||||
("guile" . scheme-mode)
|
||||
("clisp" . lisp-mode)
|
||||
("emacs" . emacs-lisp-mode)))
|
||||
'(("\\(mini\\)?perl5?" . perl-mode)
|
||||
("wishx?" . tcl-mode)
|
||||
("tcl\\(sh\\)?" . tcl-mode)
|
||||
("expect" . tcl-mode)
|
||||
("octave" . octave-mode)
|
||||
("scm" . scheme-mode)
|
||||
("[acjkwz]sh" . sh-mode)
|
||||
("r?bash2?" . sh-mode)
|
||||
("dash" . sh-mode)
|
||||
("mksh" . sh-mode)
|
||||
("\\(dt\\|pd\\|w\\)ksh" . sh-mode)
|
||||
("es" . sh-mode)
|
||||
("i?tcsh" . sh-mode)
|
||||
("oash" . sh-mode)
|
||||
("rc" . sh-mode)
|
||||
("rpm" . sh-mode)
|
||||
("sh5?" . sh-mode)
|
||||
("tail" . text-mode)
|
||||
("more" . text-mode)
|
||||
("less" . text-mode)
|
||||
("pg" . text-mode)
|
||||
("make" . makefile-gmake-mode) ; Debian uses this
|
||||
("guile" . scheme-mode)
|
||||
("clisp" . lisp-mode)
|
||||
("emacs" . emacs-lisp-mode))
|
||||
"Alist mapping interpreter names to major modes.
|
||||
This is used for files whose first lines match `auto-mode-interpreter-regexp'.
|
||||
Each element looks like (REGEXP . MODE).
|
||||
|
@ -3334,13 +3326,13 @@ See also `auto-mode-alist'.")
|
|||
;; because we are duplicating info from auto-mode-alist.
|
||||
;; TODO many elements of this list are also in auto-coding-alist.
|
||||
(defvar inhibit-local-variables-regexps
|
||||
(mapcar 'purecopy '("\\.tar\\'" "\\.t[bg]z\\'"
|
||||
"\\.arc\\'" "\\.zip\\'" "\\.lzh\\'" "\\.lha\\'"
|
||||
"\\.zoo\\'" "\\.[jew]ar\\'" "\\.xpi\\'" "\\.rar\\'"
|
||||
"\\.7z\\'"
|
||||
"\\.sx[dmicw]\\'" "\\.odt\\'"
|
||||
"\\.diff\\'" "\\.patch\\'"
|
||||
"\\.tiff?\\'" "\\.gif\\'" "\\.png\\'" "\\.jpe?g\\'"))
|
||||
'("\\.tar\\'" "\\.t[bg]z\\'"
|
||||
"\\.arc\\'" "\\.zip\\'" "\\.lzh\\'" "\\.lha\\'"
|
||||
"\\.zoo\\'" "\\.[jew]ar\\'" "\\.xpi\\'" "\\.rar\\'"
|
||||
"\\.7z\\'"
|
||||
"\\.sx[dmicw]\\'" "\\.odt\\'"
|
||||
"\\.diff\\'" "\\.patch\\'"
|
||||
"\\.tiff?\\'" "\\.gif\\'" "\\.png\\'" "\\.jpe?g\\'")
|
||||
"List of regexps matching file names in which to ignore local variables.
|
||||
This includes `-*-' lines as well as trailing \"Local Variables\" sections.
|
||||
Files matching this list are typically binary file formats.
|
||||
|
@ -3381,25 +3373,24 @@ and `inhibit-local-variables-suffixes'. If
|
|||
temp))
|
||||
|
||||
(defvar auto-mode-interpreter-regexp
|
||||
(purecopy
|
||||
(concat
|
||||
"#![ \t]*"
|
||||
;; Optional group 1: env(1) invocation.
|
||||
"\\("
|
||||
"[^ \t\n]*/bin/env[ \t]*"
|
||||
;; Within group 1: possible -S/--split-string and environment
|
||||
;; adjustments.
|
||||
"\\(?:"
|
||||
;; -S/--split-string
|
||||
"\\(?:-[0a-z]*S[ \t]*\\|--split-string=\\)"
|
||||
;; More env arguments.
|
||||
"\\(?:-[^ \t\n]+[ \t]+\\)*"
|
||||
;; Interpreter environment modifications.
|
||||
"\\(?:[^ \t\n]+=[^ \t\n]*[ \t]+\\)*"
|
||||
"\\)?"
|
||||
"\\)?"
|
||||
;; Group 2: interpreter.
|
||||
"\\([^ \t\n]+\\)"))
|
||||
(concat
|
||||
"#![ \t]*"
|
||||
;; Optional group 1: env(1) invocation.
|
||||
"\\("
|
||||
"[^ \t\n]*/bin/env[ \t]*"
|
||||
;; Within group 1: possible -S/--split-string and environment
|
||||
;; adjustments.
|
||||
"\\(?:"
|
||||
;; -S/--split-string
|
||||
"\\(?:-[0a-z]*S[ \t]*\\|--split-string=\\)"
|
||||
;; More env arguments.
|
||||
"\\(?:-[^ \t\n]+[ \t]+\\)*"
|
||||
;; Interpreter environment modifications.
|
||||
"\\(?:[^ \t\n]+=[^ \t\n]*[ \t]+\\)*"
|
||||
"\\)?"
|
||||
"\\)?"
|
||||
;; Group 2: interpreter.
|
||||
"\\([^ \t\n]+\\)")
|
||||
"Regexp matching interpreters, for file mode determination.
|
||||
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
|
||||
|
@ -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)
|
||||
|
||||
(defvar magic-fallback-mode-alist
|
||||
(purecopy
|
||||
`((image-type-auto-detected-p . image-mode)
|
||||
("\\(PK00\\)?[P]K\003\004" . archive-mode) ; zip
|
||||
;; 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)
|
||||
("\320\317\021\340\241\261\032\341" . doc-view-mode-maybe) ; Word documents 1997-2004
|
||||
("%!PS" . ps-mode)
|
||||
("# xmcd " . conf-unix-mode)))
|
||||
("# xmcd " . conf-unix-mode))
|
||||
"Like `magic-mode-alist' but has lower priority than `auto-mode-alist'.
|
||||
Each element looks like (REGEXP . FUNCTION) or (MATCH-FUNCTION . FUNCTION).
|
||||
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))
|
||||
;; Return t so we don't ask about BUF again.
|
||||
t)
|
||||
,(purecopy "skip this buffer and mark it unmodified"))
|
||||
"skip this buffer and mark it unmodified")
|
||||
(?\C-r
|
||||
,(lambda (buf)
|
||||
(if (not enable-recursive-minibuffers)
|
||||
|
@ -6261,12 +6251,12 @@ Before and after saving the buffer, this function runs
|
|||
(recursive-edit))
|
||||
;; Return nil to ask about BUF again.
|
||||
nil)
|
||||
,(purecopy "view this buffer"))
|
||||
"view this buffer")
|
||||
(?\C-f
|
||||
,(lambda (buf)
|
||||
(funcall save-some-buffers--switch-window-callback buf)
|
||||
(setq quit-flag t))
|
||||
,(purecopy "view this buffer and quit"))
|
||||
"view this buffer and quit")
|
||||
(?d ,(lambda (buf)
|
||||
(if (null (buffer-file-name buf))
|
||||
(message "Not applicable: no file")
|
||||
|
@ -6280,7 +6270,7 @@ Before and after saving the buffer, this function runs
|
|||
(recursive-edit))))
|
||||
;; Return nil to ask about BUF again.
|
||||
nil)
|
||||
,(purecopy "view changes in this buffer")))
|
||||
"view changes in this buffer"))
|
||||
"ACTION-ALIST argument used in call to `map-y-or-n-p'.")
|
||||
(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.
|
||||
(concat "\\`" result "\\'")))
|
||||
|
||||
(defcustom list-directory-brief-switches
|
||||
(purecopy "-CF")
|
||||
(defcustom list-directory-brief-switches "-CF"
|
||||
"Switches for `list-directory' to pass to `ls' for brief listing."
|
||||
:type 'string
|
||||
:group 'dired)
|
||||
|
||||
(defcustom list-directory-verbose-switches
|
||||
(purecopy "-l")
|
||||
(defcustom list-directory-verbose-switches "-l"
|
||||
"Switches for `list-directory' to pass to `ls' for verbose listing."
|
||||
:type 'string
|
||||
:group 'dired)
|
||||
|
@ -8038,8 +8026,8 @@ need to be passed verbatim to shell commands."
|
|||
(defcustom insert-directory-program
|
||||
(if (and (memq system-type '(berkeley-unix darwin))
|
||||
(executable-find "gls"))
|
||||
(purecopy "gls")
|
||||
(purecopy "ls"))
|
||||
"gls"
|
||||
"ls")
|
||||
"Absolute or relative name of the `ls'-like program.
|
||||
This is used by `insert-directory' and `dired-insert-directory'
|
||||
\(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)
|
||||
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.
|
||||
We assume the output has the format of `df'.
|
||||
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")
|
||||
|
||||
(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'."
|
||||
:type 'string
|
||||
:group 'dired)
|
||||
|
@ -8147,11 +8135,11 @@ If DIR's free space cannot be obtained, this function returns nil."
|
|||
;; parentheses:
|
||||
;; -rw-r--r-- (modified) 2005-10-22 21:25 files.el
|
||||
;; This is not supported yet.
|
||||
(purecopy (concat "\\([0-9][BkKMGTPEZYRQ]? " iso
|
||||
"\\|.*[0-9][BkKMGTPEZYRQ]? "
|
||||
"\\(" western "\\|" western-comma
|
||||
"\\|" DD-MMM-YYYY "\\|" east-asian "\\)"
|
||||
"\\) +")))
|
||||
(concat "\\([0-9][BkKMGTPEZYRQ]? " iso
|
||||
"\\|.*[0-9][BkKMGTPEZYRQ]? "
|
||||
"\\(" western "\\|" western-comma
|
||||
"\\|" DD-MMM-YYYY "\\|" east-asian "\\)"
|
||||
"\\) +"))
|
||||
"Regular expression to match up to the file name in a directory listing.
|
||||
The default value is designed to recognize dates and times
|
||||
regardless of the language.")
|
||||
|
@ -8617,7 +8605,7 @@ arguments as the running Emacs)."
|
|||
;; so that magic file name handlers will not apply to it.
|
||||
|
||||
(setq file-name-handler-alist
|
||||
(cons (cons (purecopy "\\`/:") 'file-name-non-special)
|
||||
(cons '("\\`/:" . file-name-non-special)
|
||||
file-name-handler-alist))
|
||||
|
||||
;; 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
|
||||
(defcustom ff-special-constructs
|
||||
;; C/C++ include, for NeXTstep too
|
||||
`((,(purecopy "^#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]") .
|
||||
`(("^#\\s *\\(include\\|import\\)\\s +[<\"]\\(.*\\)[>\"]" .
|
||||
,(lambda () (match-string 2))))
|
||||
;; We include `ff-treat-as-special' documentation here so that autoload
|
||||
;; 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)
|
||||
|
||||
(defvar format-alist
|
||||
;; FIXME: maybe each item can be purecopied instead of just the strings.
|
||||
`((text/enriched ,(purecopy "Extended MIME text/enriched format.")
|
||||
,(purecopy "Content-[Tt]ype:[ \t]*text/enriched")
|
||||
`((text/enriched "Extended MIME text/enriched format."
|
||||
"Content-[Tt]ype:[ \t]*text/enriched"
|
||||
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
|
||||
;; the completion list.
|
||||
nil nil nil nil nil)
|
||||
(TeX ,(purecopy "TeX (encoding)")
|
||||
(TeX "TeX (encoding)"
|
||||
nil
|
||||
iso-tex2iso iso-iso2tex t nil)
|
||||
(gtex ,(purecopy "German TeX (encoding)")
|
||||
(gtex "German TeX (encoding)"
|
||||
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
|
||||
iso-sgml2iso iso-iso2sgml t nil)
|
||||
(rot13 ,(purecopy "rot13")
|
||||
(rot13 "rot13"
|
||||
nil
|
||||
rot13-region rot13-region t nil)
|
||||
(duden ,(purecopy "Duden Ersatzdarstellung")
|
||||
(duden "Duden Ersatzdarstellung"
|
||||
nil
|
||||
;; FROM-FN used to call the "diac" command which is not widely
|
||||
;; available and apparently not under a free software license:
|
||||
|
@ -93,14 +92,14 @@
|
|||
;; Reliable round-trip conversion is not possible anyway and
|
||||
;; would be by heuristic method, so make it write-only for now.
|
||||
iso-cvt-write-only iso-iso2duden t nil)
|
||||
(de646 ,(purecopy "German ASCII (ISO 646)")
|
||||
(de646 "German ASCII (ISO 646)"
|
||||
nil
|
||||
,(purecopy "iconv -f iso646-de -t utf-8")
|
||||
,(purecopy "iconv -f utf-8 -t iso646-de") t nil)
|
||||
(denet ,(purecopy "net German")
|
||||
"iconv -f iso646-de -t utf-8"
|
||||
"iconv -f utf-8 -t iso646-de" t nil)
|
||||
(denet "net German"
|
||||
nil
|
||||
iso-german iso-cvt-read-only t nil)
|
||||
(esnet ,(purecopy "net Spanish")
|
||||
(esnet "net Spanish"
|
||||
nil
|
||||
iso-spanish iso-cvt-read-only t nil))
|
||||
"List of information about understood file formats.
|
||||
|
|
|
@ -172,92 +172,92 @@ The format is (FUNCTION ARGS...).")
|
|||
(define-button-type 'help-function
|
||||
:supertype 'help-xref
|
||||
'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
|
||||
:supertype 'help-xref
|
||||
'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
|
||||
:supertype 'help-xref
|
||||
'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
|
||||
:supertype 'help-xref
|
||||
'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
|
||||
:supertype 'help-xref
|
||||
'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
|
||||
:supertype 'help-xref
|
||||
'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
|
||||
:supertype 'help-xref
|
||||
'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.
|
||||
|
||||
(define-button-type 'help-symbol
|
||||
:supertype 'help-xref
|
||||
'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
|
||||
:supertype 'help-xref
|
||||
'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
|
||||
:supertype 'help-xref
|
||||
'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
|
||||
:supertype 'help-xref
|
||||
;; the name of the variable is put before the argument to Info
|
||||
'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
|
||||
:supertype 'help-xref
|
||||
'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
|
||||
:supertype 'help-xref
|
||||
'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
|
||||
:supertype 'help-xref
|
||||
'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
|
||||
:supertype 'help-xref
|
||||
'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
|
||||
:supertype 'help-xref
|
||||
'help-function (lambda (v)
|
||||
(customize-variable v))
|
||||
'help-echo (purecopy "mouse-2, RET: customize variable"))
|
||||
(customize-variable v))
|
||||
'help-echo "mouse-2, RET: customize variable")
|
||||
|
||||
(define-button-type 'help-customize-face
|
||||
:supertype 'help-xref
|
||||
'help-function (lambda (v)
|
||||
(customize-face v))
|
||||
'help-echo (purecopy "mouse-2, RET: customize face"))
|
||||
(customize-face v))
|
||||
'help-echo "mouse-2, RET: customize face")
|
||||
|
||||
(defun help-function-def--button-function (fun &optional file type)
|
||||
(or file
|
||||
|
@ -295,7 +295,7 @@ The format is (FUNCTION ARGS...).")
|
|||
(define-button-type 'help-function-def
|
||||
:supertype 'help-xref
|
||||
'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.
|
||||
:supertype 'help-xref
|
||||
|
@ -316,7 +316,7 @@ The format is (FUNCTION ARGS...).")
|
|||
(forward-line 0)
|
||||
(message "Unable to find location in 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
|
||||
:supertype 'help-xref
|
||||
|
@ -337,7 +337,7 @@ The format is (FUNCTION ARGS...).")
|
|||
(widen))
|
||||
(goto-char position))
|
||||
(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
|
||||
:supertype 'help-xref
|
||||
|
@ -359,27 +359,27 @@ The format is (FUNCTION ARGS...).")
|
|||
(widen))
|
||||
(goto-char position))
|
||||
(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
|
||||
:supertype 'help-xref
|
||||
'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
|
||||
:supertype 'help-xref
|
||||
'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
|
||||
:supertype 'help-xref
|
||||
'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
|
||||
:supertype 'help-xref
|
||||
'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
|
||||
:supertype 'help-xref
|
||||
|
@ -387,7 +387,7 @@ The format is (FUNCTION ARGS...).")
|
|||
;; FIXME: this should go to the point where the
|
||||
;; local variable was defined.
|
||||
(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
|
||||
:supertype 'help-xref
|
||||
'help-function
|
||||
|
@ -396,7 +396,7 @@ The format is (FUNCTION ARGS...).")
|
|||
(view-file file)
|
||||
(view-file-other-window file))
|
||||
(goto-char pos))
|
||||
'help-echo (purecopy "mouse-2, RET: show corresponding NEWS announcement"))
|
||||
'help-echo "mouse-2, RET: show corresponding NEWS announcement")
|
||||
|
||||
;;;###autoload
|
||||
(defun help-mode--add-function-link (str fun)
|
||||
|
@ -448,21 +448,21 @@ Commands:
|
|||
;; similar should be done for widget doc strings, which currently use
|
||||
;; 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.")
|
||||
|
||||
(defvar help-forward-label (purecopy "[forward]")
|
||||
(defvar help-forward-label "[forward]"
|
||||
"Label to use by `help-make-xrefs' for the go-forward reference.")
|
||||
|
||||
(defconst help-xref-symbol-regexp
|
||||
(purecopy (concat "\\(\\<\\(\\(variable\\|option\\)\\|" ; Link to var
|
||||
"\\(function\\|command\\|call\\)\\|" ; Link to function
|
||||
"\\(face\\)\\|" ; Link to face
|
||||
"\\(symbol\\|program\\|property\\)\\|" ; Don't link
|
||||
"\\(source \\(?:code \\)?\\(?:of\\|for\\)\\)\\)"
|
||||
"[ \t\n]+\\)?"
|
||||
"\\(\\\\\\+\\)?"
|
||||
"['`‘]\\(\\(?:\\sw\\|\\s_\\)+\\|`\\)['’]"))
|
||||
(concat "\\(\\<\\(\\(variable\\|option\\)\\|" ; Link to var
|
||||
"\\(function\\|command\\|call\\)\\|" ; Link to function
|
||||
"\\(face\\)\\|" ; Link to face
|
||||
"\\(symbol\\|program\\|property\\)\\|" ; Don't link
|
||||
"\\(source \\(?:code \\)?\\(?:of\\|for\\)\\)\\)"
|
||||
"[ \t\n]+\\)?"
|
||||
"\\(\\\\\\+\\)?"
|
||||
"['`‘]\\(\\(?:\\sw\\|\\s_\\)+\\|`\\)['’]")
|
||||
"Regexp matching doc string references to symbols.
|
||||
|
||||
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
|
||||
(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.")
|
||||
|
||||
(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.")
|
||||
|
||||
(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.")
|
||||
|
||||
(defconst help-xref-url-regexp
|
||||
(purecopy "\\<[Uu][Rr][Ll][ \t\n]+['`‘]\\([^'’]+\\)['’]")
|
||||
"\\<[Uu][Rr][Ll][ \t\n]+['`‘]\\([^'’]+\\)['’]"
|
||||
"Regexp matching doc string references to a URL.")
|
||||
|
||||
;;;###autoload
|
||||
|
|
|
@ -395,7 +395,7 @@ Do not call this in the scope of `with-help-window'."
|
|||
|
||||
(defalias 'help #'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
|
||||
"(Type "
|
||||
(help--key-description-fontified (kbd "<PageDown>"))
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
|
||||
;;;###autoload
|
||||
(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.
|
||||
Filenames having one of these extensions are considered image files,
|
||||
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))))
|
||||
|
||||
|
||||
;;;###autoload (put 'info 'info-file (purecopy "emacs"))
|
||||
;;;###autoload (put 'info 'info-file "emacs")
|
||||
;;;###autoload
|
||||
(defun info (&optional file-or-node buffer)
|
||||
"Enter Info, the documentation browser.
|
||||
|
@ -4755,7 +4755,7 @@ in the first element of the returned list (which is treated specially in
|
|||
(cdr where))
|
||||
where)))
|
||||
|
||||
;;;###autoload (put 'Info-goto-emacs-command-node 'info-file (purecopy "emacs"))
|
||||
;;;###autoload (put 'Info-goto-emacs-command-node 'info-file "emacs")
|
||||
;;;###autoload
|
||||
(defun Info-goto-emacs-command-node (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")))))
|
||||
(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
|
||||
(defun Info-goto-emacs-key-command-node (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.
|
||||
|
||||
(setq font-encoding-alist
|
||||
(mapcar (lambda (arg)
|
||||
(cons (purecopy (car arg)) (cdr arg)))
|
||||
'(("iso8859-1$" . iso-8859-1)
|
||||
("iso8859-2$" . iso-8859-2)
|
||||
("iso8859-3$" . iso-8859-3)
|
||||
|
@ -122,7 +120,7 @@
|
|||
("mulelao-1" . mule-lao)
|
||||
("muletibetan-2" . tibetan)
|
||||
("muletibetan-0" . tibetan)
|
||||
("muletibetan-1" . tibetan-1-column))))
|
||||
("muletibetan-1" . tibetan-1-column)))
|
||||
|
||||
(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.
|
||||
(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.
|
||||
(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
|
||||
(list vertical-centering-font-regexp))
|
||||
|
||||
;; CDAC fonts are actually smaller than their design sizes.
|
||||
(setq face-font-rescale-alist
|
||||
(list (cons (purecopy "-cdac$") 1.3)))
|
||||
(list '("-cdac$" . 1.3)))
|
||||
|
||||
(defvar x-font-name-charset-alist nil
|
||||
"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
|
||||
;; many cases.
|
||||
(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.
|
||||
You have the biggest chance to display international characters
|
||||
with correct glyphs by using the standard fontset.
|
||||
|
|
|
@ -51,7 +51,6 @@
|
|||
|
||||
;;;###autoload
|
||||
(defcustom latex-inputenc-coding-alist
|
||||
(purecopy
|
||||
'(("ansinew" . windows-1252) ; MS Windows ANSI encoding, extension of Latin-1
|
||||
("applemac" . mac-roman)
|
||||
("ascii" . us-ascii)
|
||||
|
@ -74,7 +73,7 @@
|
|||
;; ("macce" . undecided) ; Apple Central European
|
||||
("next" . next) ; The Next encoding
|
||||
("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.
|
||||
LaTeX encodings are specified with \"\\usepackage[encoding]{inputenc}\".
|
||||
Used by the function `latexenc-find-file-coding-system'."
|
||||
|
|
|
@ -59,97 +59,97 @@
|
|||
|
||||
(defvar describe-language-environment-map
|
||||
(let ((map (make-sparse-keymap "Describe Language Environment")))
|
||||
(bindings--define-key map
|
||||
(define-key map
|
||||
[Default] '(menu-item "Default" describe-specified-language-support))
|
||||
map))
|
||||
|
||||
(defvar setup-language-environment-map
|
||||
(let ((map (make-sparse-keymap "Set Language Environment")))
|
||||
(bindings--define-key map
|
||||
(define-key map
|
||||
[Default] '(menu-item "Default" setup-specified-language-environment))
|
||||
map))
|
||||
|
||||
(defvar set-coding-system-map
|
||||
(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
|
||||
:visible (fboundp 'make-process)
|
||||
:enable (get-buffer-process (current-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
|
||||
:visible (display-selections-p)
|
||||
: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
|
||||
:visible (display-selections-p)
|
||||
:help "How to en/decode data to/from selection/clipboard"))
|
||||
|
||||
(bindings--define-key map [separator-3] menu-bar-separator)
|
||||
(bindings--define-key map [set-terminal-coding-system]
|
||||
(define-key map [separator-3] menu-bar-separator)
|
||||
(define-key map [set-terminal-coding-system]
|
||||
'(menu-item "For Terminal" set-terminal-coding-system
|
||||
:enable (null (memq initial-window-system '(x w32 ns haiku pgtk
|
||||
android)))
|
||||
: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
|
||||
:help "How to decode keyboard input"))
|
||||
|
||||
(bindings--define-key map [separator-2] menu-bar-separator)
|
||||
(bindings--define-key map [set-file-name-coding-system]
|
||||
(define-key map [separator-2] menu-bar-separator)
|
||||
(define-key map [set-file-name-coding-system]
|
||||
'(menu-item "For File Name" set-file-name-coding-system
|
||||
: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"
|
||||
revert-buffer-with-coding-system
|
||||
:enable buffer-file-name
|
||||
: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
|
||||
:help "How to encode this buffer when saved"))
|
||||
(bindings--define-key map [separator-1] menu-bar-separator)
|
||||
(bindings--define-key map [universal-coding-system-argument]
|
||||
(define-key map [separator-1] menu-bar-separator)
|
||||
(define-key map [universal-coding-system-argument]
|
||||
'(menu-item "For Next Command" universal-coding-system-argument
|
||||
:help "Coding system to be used by next command"))
|
||||
map))
|
||||
|
||||
(defvar mule-menu-keymap
|
||||
(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
|
||||
: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
|
||||
: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))
|
||||
(bindings--define-key map [describe-input-method]
|
||||
(define-key map [describe-input-method]
|
||||
'(menu-item "Describe Input Method..." describe-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"
|
||||
,describe-language-environment-map
|
||||
:help "Show multilingual settings for a specific language"))
|
||||
|
||||
(bindings--define-key map [separator-coding-system] menu-bar-separator)
|
||||
(bindings--define-key map [view-hello-file]
|
||||
(define-key map [separator-coding-system] menu-bar-separator)
|
||||
(define-key map [view-hello-file]
|
||||
'(menu-item "Show Multilingual Sample Text" view-hello-file
|
||||
:enable (file-readable-p
|
||||
(expand-file-name "HELLO" data-directory))
|
||||
: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))
|
||||
|
||||
(bindings--define-key map [separator-input-method] menu-bar-separator)
|
||||
(bindings--define-key map [activate-transient-input-method]
|
||||
(define-key map [separator-input-method] menu-bar-separator)
|
||||
(define-key map [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))
|
||||
(bindings--define-key map [toggle-input-method]
|
||||
(define-key map [toggle-input-method]
|
||||
'(menu-item "Toggle Input Method" toggle-input-method))
|
||||
|
||||
(bindings--define-key map [separator-mule] menu-bar-separator)
|
||||
(bindings--define-key map [set-language-environment]
|
||||
(define-key map [separator-mule] menu-bar-separator)
|
||||
(define-key map [set-language-environment]
|
||||
`(menu-item "Set Language Environment" ,setup-language-environment-map))
|
||||
map)
|
||||
"Keymap for Mule (Multilingual environment) menu specific commands.")
|
||||
|
@ -169,14 +169,14 @@
|
|||
|
||||
;;; Mule related hyperlinks.
|
||||
(defconst help-xref-mule-regexp-template
|
||||
(purecopy (concat "\\(\\<\\("
|
||||
"\\(coding system\\)\\|"
|
||||
"\\(input method\\)\\|"
|
||||
"\\(character set\\)\\|"
|
||||
"\\(charset\\)"
|
||||
"\\)\\s-+\\)?"
|
||||
;; Note starting with word-syntax character:
|
||||
"['`‘]\\(\\sw\\(\\sw\\|\\s_\\)+\\)['’]")))
|
||||
(concat "\\(\\<\\("
|
||||
"\\(coding system\\)\\|"
|
||||
"\\(input method\\)\\|"
|
||||
"\\(character set\\)\\|"
|
||||
"\\(charset\\)"
|
||||
"\\)\\s-+\\)?"
|
||||
;; Note starting with word-syntax character:
|
||||
"['`‘]\\(\\sw\\(\\sw\\|\\s_\\)+\\)['’]"))
|
||||
|
||||
(defun coding-system-change-eol-conversion (coding-system eol-type)
|
||||
"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
|
||||
(setq key-slot (list key))
|
||||
(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'.
|
||||
(put 'current-language-environment 'custom-type
|
||||
(cons 'choice (mapcar
|
||||
|
@ -1229,10 +1229,8 @@ where to put this language environment in the
|
|||
Describe Language Environment and Set Language Environment menus.
|
||||
For example, (\"European\") means to put this language environment
|
||||
in the European submenu in each of those two menus."
|
||||
(cond ((symbolp lang-env)
|
||||
(setq lang-env (symbol-name lang-env)))
|
||||
((stringp lang-env)
|
||||
(setq lang-env (purecopy lang-env))))
|
||||
(when (symbolp lang-env)
|
||||
(setq lang-env (symbol-name lang-env)))
|
||||
(if parents
|
||||
(while parents
|
||||
(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
|
||||
without loading the relevant Quail packages.
|
||||
\n(fn INPUT-METHOD LANG-ENV ACTIVATE-FUNC TITLE DESCRIPTION &rest ARGS)"
|
||||
(setq lang-env (if (symbolp lang-env)
|
||||
(symbol-name lang-env)
|
||||
(purecopy lang-env)))
|
||||
(setq input-method (if (symbolp input-method)
|
||||
(symbol-name input-method)
|
||||
(purecopy input-method)))
|
||||
(setq args (mapcar #'purecopy args))
|
||||
|
||||
(when (symbolp lang-env)
|
||||
(setq lang-env (symbol-name lang-env)))
|
||||
(when (symbolp input-method)
|
||||
(setq input-method (symbol-name input-method)))
|
||||
(let ((info (cons lang-env args))
|
||||
(slot (assoc input-method input-method-alist)))
|
||||
(if slot
|
||||
|
@ -2252,12 +2248,8 @@ See `set-language-info-alist' for use in programs."
|
|||
(defvar locale-translation-file-name nil
|
||||
"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
|
||||
(purecopy
|
||||
'(
|
||||
'(
|
||||
;; Locale names of the form LANGUAGE[_TERRITORY][.CODESET][@MODIFIER]
|
||||
;; as specified in the Single Unix Spec, Version 2.
|
||||
;; LANGUAGE is a language code taken from ISO 639:1988 (E/F)
|
||||
|
@ -2515,7 +2507,7 @@ See `set-language-info-alist' for use in programs."
|
|||
; mwk MS-Windows Mohawk (Canada)
|
||||
("uig" . "UTF-8") ; MS-Windows Uighur
|
||||
("kin" . "UTF-8") ; MS-Windows Kinyarwanda
|
||||
))
|
||||
)
|
||||
"Alist of locale regexps vs the corresponding languages and coding systems.
|
||||
Each element has this form:
|
||||
(LOCALE-REGEXP LANG-ENV CODING-SYSTEM)
|
||||
|
@ -2528,18 +2520,17 @@ In this case, LANG-ENV is one of generic language environments for an
|
|||
specific encoding such as \"Latin-1\" and \"UTF-8\".")
|
||||
|
||||
(defconst locale-charset-language-names
|
||||
(purecopy
|
||||
'((".*8859[-_]?1\\>" . "Latin-1")
|
||||
(".*8859[-_]?2\\>" . "Latin-2")
|
||||
(".*8859[-_]?3\\>" . "Latin-3")
|
||||
(".*8859[-_]?4\\>" . "Latin-4")
|
||||
(".*8859[-_]?9\\>" . "Latin-5")
|
||||
(".*8859[-_]?14\\>" . "Latin-8")
|
||||
(".*8859[-_]?15\\>" . "Latin-9")
|
||||
(".*utf\\(?:-?8\\)?\\>" . "UTF-8")
|
||||
;; utf-8@euro exists, so put this last. (@euro really specifies
|
||||
;; the currency, rather than the charset.)
|
||||
(".*@euro\\>" . "Latin-9")))
|
||||
'((".*8859[-_]?1\\>" . "Latin-1")
|
||||
(".*8859[-_]?2\\>" . "Latin-2")
|
||||
(".*8859[-_]?3\\>" . "Latin-3")
|
||||
(".*8859[-_]?4\\>" . "Latin-4")
|
||||
(".*8859[-_]?9\\>" . "Latin-5")
|
||||
(".*8859[-_]?14\\>" . "Latin-8")
|
||||
(".*8859[-_]?15\\>" . "Latin-9")
|
||||
(".*utf\\(?:-?8\\)?\\>" . "UTF-8")
|
||||
;; utf-8@euro exists, so put this last. (@euro really specifies
|
||||
;; the currency, rather than the charset.)
|
||||
(".*@euro\\>" . "Latin-9"))
|
||||
"List of pairs of locale regexps and charset language names.
|
||||
The first element whose locale regexp matches the start of a downcased locale
|
||||
specifies the language name whose charset corresponds to that locale.
|
||||
|
@ -2547,34 +2538,33 @@ This language name is used if the locale is not listed in
|
|||
`locale-language-names'.")
|
||||
|
||||
(defconst locale-preferred-coding-systems
|
||||
(purecopy
|
||||
'((".*8859[-_]?1\\>" . iso-8859-1)
|
||||
(".*8859[-_]?2\\>" . iso-8859-2)
|
||||
(".*8859[-_]?3\\>" . iso-8859-3)
|
||||
(".*8859[-_]?4\\>" . iso-8859-4)
|
||||
(".*8859[-_]?9\\>" . iso-8859-9)
|
||||
(".*8859[-_]?14\\>" . iso-8859-14)
|
||||
(".*8859[-_]?15\\>" . iso-8859-15)
|
||||
(".*utf\\(?:-?8\\)?" . utf-8)
|
||||
;; utf-8@euro exists, so put this after utf-8. (@euro really
|
||||
;; specifies the currency, rather than the charset.)
|
||||
(".*@euro" . iso-8859-15)
|
||||
("koi8-?r" . koi8-r)
|
||||
("koi8-?u" . koi8-u)
|
||||
("tcvn" . tcvn)
|
||||
("big5[-_]?hkscs" . big5-hkscs)
|
||||
("big5" . big5)
|
||||
("euc-?tw" . euc-tw)
|
||||
("euc-?cn" . euc-cn)
|
||||
("gb2312" . gb2312)
|
||||
("gbk" . gbk)
|
||||
("gb18030" . gb18030)
|
||||
("ja.*[._]euc" . japanese-iso-8bit)
|
||||
("ja.*[._]jis7" . iso-2022-jp)
|
||||
("ja.*[._]pck" . japanese-shift-jis)
|
||||
("ja.*[._]sjis" . japanese-shift-jis)
|
||||
("jpn" . japanese-shift-jis) ; MS-Windows uses this.
|
||||
))
|
||||
'((".*8859[-_]?1\\>" . iso-8859-1)
|
||||
(".*8859[-_]?2\\>" . iso-8859-2)
|
||||
(".*8859[-_]?3\\>" . iso-8859-3)
|
||||
(".*8859[-_]?4\\>" . iso-8859-4)
|
||||
(".*8859[-_]?9\\>" . iso-8859-9)
|
||||
(".*8859[-_]?14\\>" . iso-8859-14)
|
||||
(".*8859[-_]?15\\>" . iso-8859-15)
|
||||
(".*utf\\(?:-?8\\)?" . utf-8)
|
||||
;; utf-8@euro exists, so put this after utf-8. (@euro really
|
||||
;; specifies the currency, rather than the charset.)
|
||||
(".*@euro" . iso-8859-15)
|
||||
("koi8-?r" . koi8-r)
|
||||
("koi8-?u" . koi8-u)
|
||||
("tcvn" . tcvn)
|
||||
("big5[-_]?hkscs" . big5-hkscs)
|
||||
("big5" . big5)
|
||||
("euc-?tw" . euc-tw)
|
||||
("euc-?cn" . euc-cn)
|
||||
("gb2312" . gb2312)
|
||||
("gbk" . gbk)
|
||||
("gb18030" . gb18030)
|
||||
("ja.*[._]euc" . japanese-iso-8bit)
|
||||
("ja.*[._]jis7" . iso-2022-jp)
|
||||
("ja.*[._]pck" . japanese-shift-jis)
|
||||
("ja.*[._]sjis" . japanese-shift-jis)
|
||||
("jpn" . japanese-shift-jis) ; MS-Windows uses this.
|
||||
)
|
||||
"List of pairs of locale regexps and preferred coding systems.
|
||||
The first element whose locale regexp matches the start of a downcased 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))
|
||||
(or (stringp table)
|
||||
(error "Not a char-table nor a file name: %s" table)))
|
||||
(if (stringp table) (setq table (purecopy table)))
|
||||
(if (and (stringp table)
|
||||
(char-table-p (alist-get name char-code-property-alist)))
|
||||
;; 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).
|
||||
nil
|
||||
(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
|
||||
(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.
|
||||
|
||||
(setq file-coding-system-alist
|
||||
(mapcar (lambda (arg) (cons (purecopy (car arg)) (cdr arg)))
|
||||
'(("\\.elc\\'" . utf-8-emacs)
|
||||
("\\.el\\'" . prefer-utf-8)
|
||||
("\\.utf\\(-8\\)?\\'" . utf-8)
|
||||
|
@ -1647,7 +1646,7 @@ for decoding and encoding files, process I/O, etc."
|
|||
("\\.tar\\'" . (no-conversion . no-conversion))
|
||||
( "\\.po[tx]?\\'\\|\\.po\\." . po-find-file-coding-system)
|
||||
("\\.\\(tex\\|ltx\\|dtx\\|drv\\)\\'" . latexenc-find-file-coding-system)
|
||||
("" . (undecided . nil)))))
|
||||
("" . (undecided . nil))))
|
||||
|
||||
|
||||
;;; Setting coding categories and their priorities.
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
;;; CHARSET
|
||||
|
||||
(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
|
||||
'action (lambda (button)
|
||||
(sort-listed-character-sets (button-get button 'sort-key))))
|
||||
|
|
|
@ -265,7 +265,7 @@ attribute."
|
|||
(aset emacs-mule-charset-table emacs-mule-id name)))
|
||||
|
||||
(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
|
||||
;; elements.
|
||||
|
@ -278,19 +278,12 @@ attribute."
|
|||
|
||||
;; Add :name and :docstring properties to 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)
|
||||
(plist-put props :short-name (symbol-name name)))
|
||||
(or (plist-get props :long-name)
|
||||
(plist-put props :long-name (plist-get props :short-name)))
|
||||
(plist-put props :base name)
|
||||
;; We can probably get a worthwhile amount in purespace.
|
||||
(setq props
|
||||
(mapcar (lambda (elt)
|
||||
(if (stringp elt)
|
||||
(purecopy elt)
|
||||
elt))
|
||||
props))
|
||||
(setcdr (assq :plist attrs) props)
|
||||
|
||||
(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..." file)))
|
||||
(when purify-flag
|
||||
(push (purecopy file) preloaded-file-list))
|
||||
(push file preloaded-file-list))
|
||||
(unwind-protect
|
||||
(let ((load-true-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.
|
||||
It can be retrieved with `(get-charset-property CHARSET PROPNAME)'."
|
||||
(set-charset-plist charset
|
||||
(plist-put (charset-plist charset) propname
|
||||
(if (stringp value)
|
||||
(purecopy value)
|
||||
value))))
|
||||
(plist-put (charset-plist charset) propname value)))
|
||||
|
||||
(defun charset-description (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.
|
||||
(setq props
|
||||
(cons :name (cons name (cons :docstring (cons (purecopy docstring)
|
||||
props)))))
|
||||
(cons :name (cons name (cons :docstring (cons docstring props)))))
|
||||
(setcdr (assq :plist common-attrs) props)
|
||||
(apply #'define-coding-system-internal
|
||||
name (mapcar #'cdr (append common-attrs spec-attrs)))))
|
||||
|
@ -1529,13 +1518,12 @@ This setting is effective for the next communication only."
|
|||
;;; X selections
|
||||
|
||||
(defvar ctext-non-standard-encodings-alist
|
||||
(mapcar 'purecopy
|
||||
'(("big5-0" big5 2 big5)
|
||||
("ISO8859-14" iso-8859-14 1 latin-iso8859-14)
|
||||
("ISO8859-15" iso-8859-15 1 latin-iso8859-15)
|
||||
("gbk-0" gbk 2 chinese-gbk)
|
||||
("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.
|
||||
|
||||
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).")
|
||||
|
||||
(defvar ctext-non-standard-encodings-regexp
|
||||
(purecopy
|
||||
(string-to-multibyte
|
||||
(concat
|
||||
;; For non-standard encodings.
|
||||
"\\(\e%/[0-4][\200-\377][\200-\377]\\([^\002]+\\)\002\\)"
|
||||
"\\|"
|
||||
;; For UTF-8 encoding.
|
||||
"\\(\e%G[^\e]*\e%@\\)"))))
|
||||
"\\(\e%G[^\e]*\e%@\\)")))
|
||||
|
||||
;; Functions to support "Non-Standard Character Set Encodings" defined
|
||||
;; by the COMPOUND-TEXT spec. They also support "The UTF-8 encoding"
|
||||
|
@ -1746,7 +1733,6 @@ in-place."
|
|||
(defcustom auto-coding-alist
|
||||
;; .exe and .EXE are added to support archive-mode looking at DOS
|
||||
;; 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\\)\\'"
|
||||
|
@ -1756,7 +1742,7 @@ ARC\\|ZIP\\|LZH\\|LHA\\|ZOO\\|[JEW]AR\\|XPI\\|RAR\\|7Z\\|SQUASHFS\\)\\'"
|
|||
("\\.\\(gz\\|Z\\|bz\\|bz2\\|xz\\|gpg\\)\\'" . no-conversion)
|
||||
("\\.\\(jpe?g\\|png\\|gif\\|tiff?\\|p[bpgn]m\\)\\'" . no-conversion)
|
||||
("\\.pdf\\'" . no-conversion)
|
||||
("/#[^/]+#\\'" . utf-8-emacs-unix)))
|
||||
("/#[^/]+#\\'" . utf-8-emacs-unix))
|
||||
"Alist of filename patterns vs corresponding coding systems.
|
||||
Each element looks like (REGEXP . CODING-SYSTEM).
|
||||
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"))))
|
||||
|
||||
(defcustom auto-coding-regexp-alist
|
||||
(mapcar (lambda (arg) (cons (purecopy (car arg)) (cdr arg)))
|
||||
'(("\\`BABYL OPTIONS:[ \t]*-\\*-[ \t]*rmail[ \t]*-\\*-" . no-conversion)
|
||||
("\\`\xFE\xFF" . utf-16be-with-signature)
|
||||
("\\`\xFF\xFE" . utf-16le-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.
|
||||
Each element looks like (REGEXP . CODING-SYSTEM).
|
||||
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)
|
||||
nil)
|
||||
(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
|
||||
: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)
|
||||
"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.)"
|
||||
: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.
|
||||
When you enter a space or spaces in the incremental search, it
|
||||
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))
|
||||
|
||||
(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:
|
||||
\(Type \\<isearch-help-map>\\[help-quit] to exit the Help command.)
|
||||
|
||||
|
|
|
@ -78,19 +78,18 @@ Otherwise, it is nil.")
|
|||
|
||||
|
||||
(defun jka-compr-build-file-regexp ()
|
||||
(purecopy
|
||||
(let ((re-anchored '())
|
||||
(re-free '()))
|
||||
(dolist (e jka-compr-compression-info-list)
|
||||
(let ((re (jka-compr-info-regexp e)))
|
||||
(if (string-match "\\\\'\\'" re)
|
||||
(push (substring re 0 (match-beginning 0)) re-anchored)
|
||||
(push re re-free))))
|
||||
(concat
|
||||
(if re-free (concat (mapconcat 'identity re-free "\\|") "\\|"))
|
||||
"\\(?:"
|
||||
(mapconcat 'identity re-anchored "\\|")
|
||||
"\\)" file-name-version-regexp "?\\'"))))
|
||||
(let ((re-anchored '())
|
||||
(re-free '()))
|
||||
(dolist (e jka-compr-compression-info-list)
|
||||
(let ((re (jka-compr-info-regexp e)))
|
||||
(if (string-match "\\\\'\\'" re)
|
||||
(push (substring re 0 (match-beginning 0)) re-anchored)
|
||||
(push re re-free))))
|
||||
(concat
|
||||
(if re-free (concat (mapconcat 'identity re-free "\\|") "\\|"))
|
||||
"\\(?:"
|
||||
(mapconcat 'identity re-anchored "\\|")
|
||||
"\\)" file-name-version-regexp "?\\'")))
|
||||
|
||||
;; Functions for accessing the return value of jka-compr-get-compression-info
|
||||
;; FIXME: Use cl-defstruct!
|
||||
|
@ -202,7 +201,6 @@ options through Custom does this automatically."
|
|||
;; uncomp-message uncomp-prog uncomp-args
|
||||
;; can-append strip-extension-flag file-magic-bytes
|
||||
;; uncompress-function]
|
||||
(mapcar 'purecopy
|
||||
`(["\\.Z\\'"
|
||||
"compressing" "compress" ("-c")
|
||||
;; gzip is more common than uncompress. It can only read, not write.
|
||||
|
@ -261,7 +259,7 @@ options through Custom does this automatically."
|
|||
["\\.tzst\\'"
|
||||
"zstd compressing" "zstd" ("-c" "-q")
|
||||
"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.
|
||||
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)
|
||||
|
||||
(defcustom jka-compr-mode-alist-additions
|
||||
(purecopy '(("\\.tgz\\'" . tar-mode)
|
||||
("\\.tbz2?\\'" . tar-mode)
|
||||
("\\.txz\\'" . tar-mode)
|
||||
("\\.tzst\\'" . tar-mode)))
|
||||
'(("\\.tgz\\'" . tar-mode)
|
||||
("\\.tbz2?\\'" . tar-mode)
|
||||
("\\.txz\\'" . tar-mode)
|
||||
("\\.tzst\\'" . tar-mode))
|
||||
"List of pairs added to `auto-mode-alist' when installing jka-compr.
|
||||
Uninstalling jka-compr removes all pairs from `auto-mode-alist' that
|
||||
installing added.
|
||||
|
@ -346,7 +344,7 @@ variables. Setting this through Custom does that automatically."
|
|||
:set 'jka-compr-set
|
||||
: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.
|
||||
Enabling Auto Compression mode appends this list to `load-file-rep-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.")
|
||||
|
||||
(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
|
||||
"Ethiopic" '((setup-function . setup-ethiopic-environment-internal)
|
||||
|
|
|
@ -29,10 +29,10 @@
|
|||
|
||||
;;;###autoload
|
||||
(defvar default-korean-keyboard
|
||||
(purecopy (if (string-search "3" (or (getenv "HANGUL_KEYBOARD_TYPE") ""))
|
||||
(if (string-search "3" (or (getenv "HANGUL_KEYBOARD_TYPE") ""))
|
||||
"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.")
|
||||
|
||||
;; functions useful for Korean text input
|
||||
|
|
|
@ -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.")
|
||||
|
||||
(defvar tibetan-precomposed-regexp
|
||||
(purecopy
|
||||
(eval-when-compile
|
||||
(concat "^"
|
||||
(regexp-opt (mapcar #'car tibetan-precomposed-transcription-alist)
|
||||
t))))
|
||||
(eval-when-compile
|
||||
(concat "^"
|
||||
(regexp-opt (mapcar #'car tibetan-precomposed-transcription-alist)
|
||||
t)))
|
||||
"Regexp string to match a romanized Tibetan complex consonant.
|
||||
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.")
|
||||
|
||||
(defvar tibetan-precomposition-rule-regexp
|
||||
(purecopy
|
||||
(eval-when-compile
|
||||
(regexp-opt (mapcar #'car tibetan-precomposition-rule-alist) t)))
|
||||
(eval-when-compile
|
||||
(regexp-opt (mapcar #'car tibetan-precomposition-rule-alist) t))
|
||||
"Regexp string to match a sequence of Tibetan consonantic components.
|
||||
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
|
||||
|
|
|
@ -57,7 +57,7 @@
|
|||
;; Add subdirectories to the load-path for files that might get
|
||||
;; autoloaded when bootstrapping or running Emacs normally.
|
||||
;; 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.
|
||||
(and (stringp (nth 4 command-line-args))
|
||||
(string-match "^unidata-gen\\(\\.elc?\\)?$"
|
||||
|
@ -105,10 +105,6 @@
|
|||
;; than usual.
|
||||
(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)
|
||||
|
||||
(if dump-mode
|
||||
|
@ -184,12 +180,6 @@
|
|||
(file-error
|
||||
(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!
|
||||
|
||||
(when (interpreted-function-p (symbol-function 'add-hook))
|
||||
|
@ -503,11 +493,6 @@ lost after dumping")))
|
|||
;; Avoid storing references to build directory in the binary.
|
||||
(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)
|
||||
|
||||
(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.
|
||||
(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
|
||||
;; hash-consing hash table is GC'd.
|
||||
;; Avoid error if user loads some more libraries now.
|
||||
(setq purify-flag nil)
|
||||
|
||||
(if (null (garbage-collect))
|
||||
(setq pure-space-overflow t))
|
||||
|
||||
;; Make sure we will attempt bidi reordering henceforth.
|
||||
(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))))))
|
||||
(if dump-mode
|
||||
(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")
|
||||
(t (error "Unrecognized dump mode %s" dump-mode)))))
|
||||
(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 output (if (eq system-type 'ms-dos)
|
||||
"temacs.exe"
|
||||
"temacs"))
|
||||
(message "%d pure bytes used" pure-bytes-used))
|
||||
"temacs")))
|
||||
(setq success t))
|
||||
(unless success
|
||||
(ignore-errors
|
||||
|
@ -680,7 +642,7 @@ directory got moved. This is set to be a pair in the form of:
|
|||
(eq system-type 'android))
|
||||
;; Don't bother adding another name if we're just
|
||||
;; building bootstrap-emacs.
|
||||
(member dump-mode '("pbootstrap" "bootstrap"))))
|
||||
(member dump-mode '("pbootstrap"))))
|
||||
(let ((name (format "emacs-%s.%d" emacs-version emacs-build-number))
|
||||
(exe (if (eq system-type 'windows-nt) ".exe" "")))
|
||||
(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))
|
||||
|
||||
;;;###autoload
|
||||
(defcustom locate-ls-subdir-switches (purecopy "-al")
|
||||
(defcustom locate-ls-subdir-switches "-al"
|
||||
"`ls' switches for inserting subdirectories in `*Locate*' buffers.
|
||||
This should contain the \"-l\" switch, but not the \"-F\" or \"-b\" switches."
|
||||
:type 'string
|
||||
|
|
|
@ -94,14 +94,13 @@ This switch is used in conjunction with `printer-name'."
|
|||
|
||||
;;;###autoload
|
||||
(defcustom lpr-command
|
||||
(purecopy
|
||||
(cond
|
||||
(lpr-windows-system
|
||||
"")
|
||||
(lpr-lp-system
|
||||
"lp")
|
||||
(t
|
||||
"lpr")))
|
||||
"lpr"))
|
||||
"Name of program for printing a file.
|
||||
|
||||
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)
|
||||
|
||||
;;;###autoload
|
||||
(defcustom rmail-file-name (purecopy "~/RMAIL")
|
||||
(defcustom rmail-file-name "~/RMAIL"
|
||||
"Name of user's primary mail file."
|
||||
:type 'string
|
||||
:group 'rmail
|
||||
|
@ -160,7 +160,6 @@ its character representation and its display representation.")
|
|||
|
||||
;;;###autoload
|
||||
(defcustom rmail-spool-directory
|
||||
(purecopy
|
||||
(cond ((file-exists-p "/var/mail")
|
||||
;; SVR4 and recent BSD are said to use this.
|
||||
;; 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.
|
||||
((file-exists-p "/var/spool/mail") "/var/spool/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.
|
||||
Its name should end with a slash."
|
||||
:initialize #'custom-initialize-delay
|
||||
|
@ -316,7 +315,6 @@ Setting this variable has an effect only before reading a mail."
|
|||
|
||||
;;;###autoload
|
||||
(defcustom rmail-ignored-headers
|
||||
(purecopy
|
||||
(concat "^via:\\|^mail-from:\\|^origin:\\|^references:\\|^sender:"
|
||||
"\\|^status:\\|^received:\\|^x400-originator:\\|^x400-recipients:"
|
||||
"\\|^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:"
|
||||
"\\|^Authentication-Results:"
|
||||
"\\|^resent-face:\\|^resent-x.*:\\|^resent-organization:\\|^resent-openpgp:"
|
||||
"\\|^x-.*:"))
|
||||
"\\|^x-.*:")
|
||||
"Regexp to match header fields that Rmail should normally hide.
|
||||
\(See also `rmail-nonignored-headers', which overrides this regexp.)
|
||||
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")
|
||||
|
||||
;;;###autoload
|
||||
(defcustom rmail-highlighted-headers (purecopy "^From:\\|^Subject:")
|
||||
(defcustom rmail-highlighted-headers "^From:\\|^Subject:"
|
||||
"Regexp to match Header fields that Rmail should normally highlight.
|
||||
A value of nil means don't highlight. Uses the face `rmail-highlight'."
|
||||
:type '(choice regexp (const :tag "None" nil))
|
||||
|
@ -436,12 +434,12 @@ the frame where you have the RMAIL buffer displayed."
|
|||
:group 'rmail-reply)
|
||||
|
||||
;;;###autoload
|
||||
(defcustom rmail-secondary-file-directory (purecopy "~/")
|
||||
(defcustom rmail-secondary-file-directory "~/"
|
||||
"Directory for additional secondary Rmail files."
|
||||
:type 'directory
|
||||
:group 'rmail-files)
|
||||
;;;###autoload
|
||||
(defcustom rmail-secondary-file-regexp (purecopy "\\.xmail\\'")
|
||||
(defcustom rmail-secondary-file-regexp "\\.xmail\\'"
|
||||
"Regexp for which files are secondary Rmail files."
|
||||
:type 'regexp
|
||||
:group 'rmail-files)
|
||||
|
|
|
@ -160,7 +160,7 @@ This is used by the default mail-sending commands. See also
|
|||
:version "24.1")
|
||||
|
||||
;;;###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."
|
||||
: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))
|
||||
|
||||
;;;###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.
|
||||
This file typically should be in same format as the `.mailrc' file used by
|
||||
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
|
||||
;; Use [[:word:]] rather than \w so we don't get tripped up if one
|
||||
;; 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.
|
||||
It should match whatever sort of citation prefixes you want to handle,
|
||||
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)
|
||||
|
||||
;;;###autoload
|
||||
(defcustom mail-signature-file (purecopy "~/.signature")
|
||||
(defcustom mail-signature-file "~/.signature"
|
||||
"File containing the text inserted at end of mail buffer."
|
||||
:type 'file)
|
||||
|
||||
;;;###autoload
|
||||
(defcustom mail-default-directory (purecopy "~/")
|
||||
(defcustom mail-default-directory "~/"
|
||||
"Value of `default-directory' for 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
145
lisp/mouse.el
145
lisp/mouse.el
|
@ -666,7 +666,7 @@ Some context functions add menu items below the separator."
|
|||
menu)
|
||||
|
||||
(defvar context-menu-entry
|
||||
`(menu-item ,(purecopy "Context Menu") ,(make-sparse-keymap)
|
||||
`(menu-item "Context Menu" ,(make-sparse-keymap)
|
||||
:filter ,(lambda (_) (context-menu-map)))
|
||||
"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")
|
||||
|
||||
(defvar mouse-buffer-menu-mode-groups
|
||||
(mapcar (lambda (arg) (cons (purecopy (car arg)) (purecopy (cdr arg))))
|
||||
'(("Info\\|Help\\|Apropos\\|Man" . "Help")
|
||||
("\\bVM\\b\\|\\bMH\\b\\|Message\\b\\|Mail\\|Group\\|Score\\|Summary\\|Article"
|
||||
. "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")
|
||||
("Threads\\|Memory\\|Disassembly\\|Breakpoints\\|Frames\\|Locals\\|Registers\\|Inferior I/O\\|Debugger"
|
||||
. "GDB")
|
||||
("Lisp" . "Lisp")))
|
||||
("Lisp" . "Lisp"))
|
||||
"How to group various major modes together in \\[mouse-buffer-menu].
|
||||
Each element has the form (REGEXP . GROUPNAME).
|
||||
If the major mode's name string matches REGEXP, use GROUPNAME instead.")
|
||||
|
@ -2853,81 +2852,77 @@ and selects that window."
|
|||
|
||||
(defvar x-fixed-font-alist
|
||||
(list
|
||||
(purecopy "Font Menu")
|
||||
"Font Menu"
|
||||
(cons
|
||||
(purecopy "Misc")
|
||||
(mapcar
|
||||
(lambda (arg) (cons (purecopy (car arg)) (purecopy (cdr arg))))
|
||||
;; For these, we specify the pixel height and width.
|
||||
"Misc"
|
||||
;; For these, we specify the pixel height and width.
|
||||
'(("fixed" "fixed")
|
||||
("6x10" "-misc-fixed-medium-r-normal--10-*-*-*-c-60-iso8859-1" "6x10")
|
||||
("6x12"
|
||||
"-misc-fixed-medium-r-semicondensed--12-*-*-*-c-60-iso8859-1" "6x12")
|
||||
("6x13"
|
||||
"-misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1" "6x13")
|
||||
("7x13" "-misc-fixed-medium-r-normal--13-*-*-*-c-70-iso8859-1" "7x13")
|
||||
("7x14" "-misc-fixed-medium-r-normal--14-*-*-*-c-70-iso8859-1" "7x14")
|
||||
("8x13" "-misc-fixed-medium-r-normal--13-*-*-*-c-80-iso8859-1" "8x13")
|
||||
("9x15" "-misc-fixed-medium-r-normal--15-*-*-*-c-90-iso8859-1" "9x15")
|
||||
("10x20" "-misc-fixed-medium-r-normal--20-*-*-*-c-100-iso8859-1" "10x20")
|
||||
("11x18" "-misc-fixed-medium-r-normal--18-*-*-*-c-110-iso8859-1" "11x18")
|
||||
("12x24" "-misc-fixed-medium-r-normal--24-*-*-*-c-120-iso8859-1" "12x24")
|
||||
("")
|
||||
("clean 5x8"
|
||||
"-schumacher-clean-medium-r-normal--8-*-*-*-c-50-iso8859-1")
|
||||
("clean 6x8"
|
||||
"-schumacher-clean-medium-r-normal--8-*-*-*-c-60-iso8859-1")
|
||||
("clean 8x8"
|
||||
"-schumacher-clean-medium-r-normal--8-*-*-*-c-80-iso8859-1")
|
||||
("clean 8x10"
|
||||
"-schumacher-clean-medium-r-normal--10-*-*-*-c-80-iso8859-1")
|
||||
("clean 8x14"
|
||||
"-schumacher-clean-medium-r-normal--14-*-*-*-c-80-iso8859-1")
|
||||
("clean 8x16"
|
||||
"-schumacher-clean-medium-r-normal--16-*-*-*-c-80-iso8859-1")
|
||||
("")
|
||||
("sony 8x16" "-sony-fixed-medium-r-normal--16-*-*-*-c-80-iso8859-1")
|
||||
;; We don't seem to have these; who knows what they are.
|
||||
;; ("fg-18" "fg-18")
|
||||
;; ("fg-25" "fg-25")
|
||||
("lucidasanstypewriter-12" "-b&h-lucidatypewriter-medium-r-normal-sans-*-120-*-*-*-*-iso8859-1")
|
||||
("lucidasanstypewriter-bold-14" "-b&h-lucidatypewriter-bold-r-normal-sans-*-140-*-*-*-*-iso8859-1")
|
||||
("lucidasanstypewriter-bold-24"
|
||||
"-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")
|
||||
;; ("fixed-medium-20" "-misc-fixed-medium-*-*-*-20-*-*-*-*-*-*-*")
|
||||
)))
|
||||
("6x10" "-misc-fixed-medium-r-normal--10-*-*-*-c-60-iso8859-1" "6x10")
|
||||
("6x12"
|
||||
"-misc-fixed-medium-r-semicondensed--12-*-*-*-c-60-iso8859-1" "6x12")
|
||||
("6x13"
|
||||
"-misc-fixed-medium-r-semicondensed--13-*-*-*-c-60-iso8859-1" "6x13")
|
||||
("7x13" "-misc-fixed-medium-r-normal--13-*-*-*-c-70-iso8859-1" "7x13")
|
||||
("7x14" "-misc-fixed-medium-r-normal--14-*-*-*-c-70-iso8859-1" "7x14")
|
||||
("8x13" "-misc-fixed-medium-r-normal--13-*-*-*-c-80-iso8859-1" "8x13")
|
||||
("9x15" "-misc-fixed-medium-r-normal--15-*-*-*-c-90-iso8859-1" "9x15")
|
||||
("10x20" "-misc-fixed-medium-r-normal--20-*-*-*-c-100-iso8859-1" "10x20")
|
||||
("11x18" "-misc-fixed-medium-r-normal--18-*-*-*-c-110-iso8859-1" "11x18")
|
||||
("12x24" "-misc-fixed-medium-r-normal--24-*-*-*-c-120-iso8859-1" "12x24")
|
||||
("")
|
||||
("clean 5x8"
|
||||
"-schumacher-clean-medium-r-normal--8-*-*-*-c-50-iso8859-1")
|
||||
("clean 6x8"
|
||||
"-schumacher-clean-medium-r-normal--8-*-*-*-c-60-iso8859-1")
|
||||
("clean 8x8"
|
||||
"-schumacher-clean-medium-r-normal--8-*-*-*-c-80-iso8859-1")
|
||||
("clean 8x10"
|
||||
"-schumacher-clean-medium-r-normal--10-*-*-*-c-80-iso8859-1")
|
||||
("clean 8x14"
|
||||
"-schumacher-clean-medium-r-normal--14-*-*-*-c-80-iso8859-1")
|
||||
("clean 8x16"
|
||||
"-schumacher-clean-medium-r-normal--16-*-*-*-c-80-iso8859-1")
|
||||
("")
|
||||
("sony 8x16" "-sony-fixed-medium-r-normal--16-*-*-*-c-80-iso8859-1")
|
||||
;; We don't seem to have these; who knows what they are.
|
||||
;; ("fg-18" "fg-18")
|
||||
;; ("fg-25" "fg-25")
|
||||
("lucidasanstypewriter-12" "-b&h-lucidatypewriter-medium-r-normal-sans-*-120-*-*-*-*-iso8859-1")
|
||||
("lucidasanstypewriter-bold-14" "-b&h-lucidatypewriter-bold-r-normal-sans-*-140-*-*-*-*-iso8859-1")
|
||||
("lucidasanstypewriter-bold-24"
|
||||
"-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")
|
||||
;; ("fixed-medium-20" "-misc-fixed-medium-*-*-*-20-*-*-*-*-*-*-*")
|
||||
))
|
||||
|
||||
(cons
|
||||
(purecopy "Courier")
|
||||
(mapcar
|
||||
(lambda (arg) (cons (purecopy (car arg)) (purecopy (cdr arg))))
|
||||
;; For these, we specify the point height.
|
||||
'(("8" "-adobe-courier-medium-r-normal--*-80-*-*-m-*-iso8859-1")
|
||||
("10" "-adobe-courier-medium-r-normal--*-100-*-*-m-*-iso8859-1")
|
||||
("12" "-adobe-courier-medium-r-normal--*-120-*-*-m-*-iso8859-1")
|
||||
("14" "-adobe-courier-medium-r-normal--*-140-*-*-m-*-iso8859-1")
|
||||
("18" "-adobe-courier-medium-r-normal--*-180-*-*-m-*-iso8859-1")
|
||||
("24" "-adobe-courier-medium-r-normal--*-240-*-*-m-*-iso8859-1")
|
||||
("8 bold" "-adobe-courier-bold-r-normal--*-80-*-*-m-*-iso8859-1")
|
||||
("10 bold" "-adobe-courier-bold-r-normal--*-100-*-*-m-*-iso8859-1")
|
||||
("12 bold" "-adobe-courier-bold-r-normal--*-120-*-*-m-*-iso8859-1")
|
||||
("14 bold" "-adobe-courier-bold-r-normal--*-140-*-*-m-*-iso8859-1")
|
||||
("18 bold" "-adobe-courier-bold-r-normal--*-180-*-*-m-*-iso8859-1")
|
||||
("24 bold" "-adobe-courier-bold-r-normal--*-240-*-*-m-*-iso8859-1")
|
||||
("8 slant" "-adobe-courier-medium-o-normal--*-80-*-*-m-*-iso8859-1")
|
||||
("10 slant" "-adobe-courier-medium-o-normal--*-100-*-*-m-*-iso8859-1")
|
||||
("12 slant" "-adobe-courier-medium-o-normal--*-120-*-*-m-*-iso8859-1")
|
||||
("14 slant" "-adobe-courier-medium-o-normal--*-140-*-*-m-*-iso8859-1")
|
||||
("18 slant" "-adobe-courier-medium-o-normal--*-180-*-*-m-*-iso8859-1")
|
||||
("24 slant" "-adobe-courier-medium-o-normal--*-240-*-*-m-*-iso8859-1")
|
||||
("8 bold slant" "-adobe-courier-bold-o-normal--*-80-*-*-m-*-iso8859-1")
|
||||
("10 bold slant" "-adobe-courier-bold-o-normal--*-100-*-*-m-*-iso8859-1")
|
||||
("12 bold slant" "-adobe-courier-bold-o-normal--*-120-*-*-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")
|
||||
("24 bold slant" "-adobe-courier-bold-o-normal--*-240-*-*-m-*-iso8859-1")
|
||||
))))
|
||||
"Courier"
|
||||
;; For these, we specify the point height.
|
||||
'(("8" "-adobe-courier-medium-r-normal--*-80-*-*-m-*-iso8859-1")
|
||||
("10" "-adobe-courier-medium-r-normal--*-100-*-*-m-*-iso8859-1")
|
||||
("12" "-adobe-courier-medium-r-normal--*-120-*-*-m-*-iso8859-1")
|
||||
("14" "-adobe-courier-medium-r-normal--*-140-*-*-m-*-iso8859-1")
|
||||
("18" "-adobe-courier-medium-r-normal--*-180-*-*-m-*-iso8859-1")
|
||||
("24" "-adobe-courier-medium-r-normal--*-240-*-*-m-*-iso8859-1")
|
||||
("8 bold" "-adobe-courier-bold-r-normal--*-80-*-*-m-*-iso8859-1")
|
||||
("10 bold" "-adobe-courier-bold-r-normal--*-100-*-*-m-*-iso8859-1")
|
||||
("12 bold" "-adobe-courier-bold-r-normal--*-120-*-*-m-*-iso8859-1")
|
||||
("14 bold" "-adobe-courier-bold-r-normal--*-140-*-*-m-*-iso8859-1")
|
||||
("18 bold" "-adobe-courier-bold-r-normal--*-180-*-*-m-*-iso8859-1")
|
||||
("24 bold" "-adobe-courier-bold-r-normal--*-240-*-*-m-*-iso8859-1")
|
||||
("8 slant" "-adobe-courier-medium-o-normal--*-80-*-*-m-*-iso8859-1")
|
||||
("10 slant" "-adobe-courier-medium-o-normal--*-100-*-*-m-*-iso8859-1")
|
||||
("12 slant" "-adobe-courier-medium-o-normal--*-120-*-*-m-*-iso8859-1")
|
||||
("14 slant" "-adobe-courier-medium-o-normal--*-140-*-*-m-*-iso8859-1")
|
||||
("18 slant" "-adobe-courier-medium-o-normal--*-180-*-*-m-*-iso8859-1")
|
||||
("24 slant" "-adobe-courier-medium-o-normal--*-240-*-*-m-*-iso8859-1")
|
||||
("8 bold slant" "-adobe-courier-bold-o-normal--*-80-*-*-m-*-iso8859-1")
|
||||
("10 bold slant" "-adobe-courier-bold-o-normal--*-100-*-*-m-*-iso8859-1")
|
||||
("12 bold slant" "-adobe-courier-bold-o-normal--*-120-*-*-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")
|
||||
("24 bold slant" "-adobe-courier-bold-o-normal--*-240-*-*-m-*-iso8859-1")
|
||||
)))
|
||||
"X fonts suitable for use in Emacs.")
|
||||
|
||||
(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))
|
||||
;; C-down-mouse-2 is bound in facemenu.el.
|
||||
(global-set-key [C-down-mouse-3]
|
||||
`(menu-item ,(purecopy "Menu Bar") ignore
|
||||
`(menu-item "Menu Bar" ignore
|
||||
:filter ,(lambda (_)
|
||||
(if (zerop (or (frame-parameter nil 'menu-bar-lines) 0))
|
||||
(mouse-menu-bar-map)
|
||||
|
|
|
@ -1319,25 +1319,25 @@ This does nothing except loading eudc by autoload side-effect."
|
|||
(defvar eudc-tools-menu
|
||||
(let ((map (make-sparse-keymap "Directory Servers")))
|
||||
(define-key map [phone]
|
||||
`(menu-item ,(purecopy "Get Phone") eudc-get-phone
|
||||
:help ,(purecopy "Get the phone field of name from the directory server")))
|
||||
'(menu-item "Get Phone" eudc-get-phone
|
||||
:help "Get the phone field of name from the directory server"))
|
||||
(define-key map [email]
|
||||
`(menu-item ,(purecopy "Get Email") eudc-get-email
|
||||
:help ,(purecopy "Get the email field of NAME from the directory server")))
|
||||
'(menu-item "Get Email" eudc-get-email
|
||||
:help "Get the email field of NAME from the directory server"))
|
||||
(define-key map [separator-eudc-email] menu-bar-separator)
|
||||
(define-key map [expand-inline]
|
||||
`(menu-item ,(purecopy "Expand Inline Query") eudc-expand-inline
|
||||
:help ,(purecopy "Query the directory server, and expand the query string before point")))
|
||||
'(menu-item "Expand Inline Query" eudc-expand-inline
|
||||
:help "Query the directory server, and expand the query string before point"))
|
||||
(define-key map [query]
|
||||
`(menu-item ,(purecopy "Query with Form") eudc-query-form
|
||||
:help ,(purecopy "Display a form to query the directory server")))
|
||||
'(menu-item "Query with Form" eudc-query-form
|
||||
:help "Display a form to query the directory server"))
|
||||
(define-key map [separator-eudc-query] menu-bar-separator)
|
||||
(define-key map [new]
|
||||
`(menu-item ,(purecopy "New Server") eudc-set-server
|
||||
:help ,(purecopy "Set the directory server to SERVER using PROTOCOL")))
|
||||
'(menu-item "New Server" eudc-set-server
|
||||
:help "Set the directory server to SERVER using PROTOCOL"))
|
||||
(define-key map [load]
|
||||
`(menu-item ,(purecopy "Load Hotlist of Servers") eudc-load-eudc
|
||||
:help ,(purecopy "Load the Emacs Unified Directory Client")))
|
||||
'(menu-item "Load Hotlist of Servers" eudc-load-eudc
|
||||
:help "Load the Emacs Unified Directory Client"))
|
||||
map))
|
||||
(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)
|
||||
|
||||
;;;###autoload
|
||||
(defvar comment-end (purecopy "")
|
||||
(defvar comment-end ""
|
||||
"String to insert to end a new comment.
|
||||
Should be an empty string if comments are terminated by end-of-line.")
|
||||
;;;###autoload
|
||||
|
@ -288,7 +288,7 @@ See `comment-styles' for a list of available styles."
|
|||
:group 'comment)
|
||||
|
||||
;;;###autoload
|
||||
(defcustom comment-padding (purecopy " ")
|
||||
(defcustom comment-padding " "
|
||||
"Padding string that `comment-region' puts between comment chars and text.
|
||||
Can also be an integer which will be automatically turned into a string
|
||||
of the corresponding number of spaces.
|
||||
|
|
|
@ -415,8 +415,7 @@ FILE's modification time."
|
|||
load-name outfile))
|
||||
(let ((standard-output (marker-buffer output-start))
|
||||
(print-quoted t))
|
||||
(princ `(push (purecopy
|
||||
',(cons (intern package) version))
|
||||
(princ `(push ',(cons (intern package) version)
|
||||
package--builtin-versions))
|
||||
(princ "\n")))))
|
||||
|
||||
|
|
|
@ -55,15 +55,15 @@ The default value for this variable is `pgtk-dnd-default-test-function'."
|
|||
:group 'pgtk)
|
||||
|
||||
(defcustom pgtk-dnd-types-alist
|
||||
`((,(purecopy "text/uri-list") . pgtk-dnd-handle-uri-list)
|
||||
(,(purecopy "FILE_NAME") . pgtk-dnd-handle-file-name)
|
||||
(,(purecopy "UTF8_STRING") . pgtk-dnd-insert-utf8-text)
|
||||
(,(purecopy "text/plain;charset=UTF-8") . pgtk-dnd-insert-utf8-text)
|
||||
(,(purecopy "text/plain;charset=utf-8") . pgtk-dnd-insert-utf8-text)
|
||||
(,(purecopy "text/plain") . dnd-insert-text)
|
||||
(,(purecopy "COMPOUND_TEXT") . pgtk-dnd-insert-ctext)
|
||||
(,(purecopy "STRING") . dnd-insert-text)
|
||||
(,(purecopy "TEXT") . dnd-insert-text))
|
||||
`(("text/uri-list" . pgtk-dnd-handle-uri-list)
|
||||
("FILE_NAME" . pgtk-dnd-handle-file-name)
|
||||
("UTF8_STRING" . pgtk-dnd-insert-utf8-text)
|
||||
("text/plain;charset=UTF-8" . pgtk-dnd-insert-utf8-text)
|
||||
("text/plain;charset=utf-8" . pgtk-dnd-insert-utf8-text)
|
||||
("text/plain" . dnd-insert-text)
|
||||
("COMPOUND_TEXT" . pgtk-dnd-insert-ctext)
|
||||
("STRING" . dnd-insert-text)
|
||||
("TEXT" . dnd-insert-text))
|
||||
"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,
|
||||
the drop is rejected. The function takes three arguments, WINDOW, ACTION
|
||||
|
@ -77,15 +77,15 @@ if drop is successful, nil if not."
|
|||
:group 'pgtk)
|
||||
|
||||
(defcustom pgtk-dnd-known-types
|
||||
(mapcar 'purecopy '("text/uri-list"
|
||||
"FILE_NAME"
|
||||
"UTF8_STRING"
|
||||
"text/plain;charset=UTF-8"
|
||||
"text/plain;charset=utf-8"
|
||||
"text/plain"
|
||||
"COMPOUND_TEXT"
|
||||
"STRING"
|
||||
"TEXT"))
|
||||
'("text/uri-list"
|
||||
"FILE_NAME"
|
||||
"UTF8_STRING"
|
||||
"text/plain;charset=UTF-8"
|
||||
"text/plain;charset=utf-8"
|
||||
"text/plain"
|
||||
"COMPOUND_TEXT"
|
||||
"STRING"
|
||||
"TEXT")
|
||||
"The types accepted by default for dropped data.
|
||||
The types are chosen in the order they appear in the list."
|
||||
:version "22.1"
|
||||
|
|
|
@ -937,7 +937,7 @@ The value nil as an element means to try the default directory."
|
|||
(string :tag "Directory"))))
|
||||
|
||||
;;;###autoload
|
||||
(defcustom compile-command (purecopy "make -k ")
|
||||
(defcustom compile-command "make -k "
|
||||
"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.
|
||||
|
|
|
@ -503,11 +503,7 @@ use of `macroexpand-all' as a way to find the \"underlying raw code\".")
|
|||
var))
|
||||
vars))))))
|
||||
|
||||
(defvar 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!
|
||||
(defconst elisp--local-variables-completion-table
|
||||
(let ((lastpos nil) (lastvars nil))
|
||||
(letrec ((hookfun (lambda ()
|
||||
(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.
|
||||
Use the `etags' program to make a tags table file.")
|
||||
;; 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)
|
||||
|
||||
(defgroup etags nil "Tags tables."
|
||||
|
@ -73,7 +73,7 @@ Use the `etags' program to make a tags table file."
|
|||
|
||||
;;;###autoload
|
||||
(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.
|
||||
An empty string means search the non-compressed file."
|
||||
:version "24.1" ; added xz
|
||||
|
|
|
@ -543,18 +543,18 @@ redundant).")
|
|||
This gets tacked on the end of the generated expressions.")
|
||||
|
||||
;;;###autoload
|
||||
(defvar grep-program (purecopy "grep")
|
||||
(defvar grep-program "grep"
|
||||
"The default grep program for `grep-command' and `grep-find-command'.
|
||||
This variable's value takes effect when `grep-compute-defaults' is called.")
|
||||
|
||||
;;;###autoload
|
||||
(defvar find-program (purecopy "find")
|
||||
(defvar find-program "find"
|
||||
"The default find program.
|
||||
This is used by commands like `grep-find-command', `find-dired'
|
||||
and others.")
|
||||
|
||||
;;;###autoload
|
||||
(defvar xargs-program (purecopy "xargs")
|
||||
(defvar xargs-program "xargs"
|
||||
"The default xargs program for `grep-find-command'.
|
||||
See `grep-find-use-xargs'.
|
||||
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
|
||||
;; (assoc major-mode hs-special-modes-alist) so it doesn't pay attention
|
||||
;; to the mode hierarchy.
|
||||
(mapcar #'purecopy
|
||||
'((c-mode "{" "}" "/[*/]" nil nil)
|
||||
(c-ts-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)
|
||||
(mhtml-mode "{\\|<[^/>]*?" "}\\|</[^/>]*[^/]>" "<!--" mhtml-forward nil)
|
||||
;; Add more support here.
|
||||
))
|
||||
)
|
||||
"Alist for initializing the hideshow variables for different modes.
|
||||
Each element has the form
|
||||
(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
|
||||
(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)
|
||||
|
||||
|
|
|
@ -291,7 +291,7 @@
|
|||
;;;###autoload
|
||||
(add-to-list 'auto-mode-alist (cons python--auto-mode-alist-regexp 'python-mode))
|
||||
;;;###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
|
||||
"Python Language's flying circus support for Emacs."
|
||||
|
|
|
@ -2734,20 +2734,20 @@ Currently there are `ruby-mode' and `ruby-ts-mode'."
|
|||
|
||||
;;;###autoload
|
||||
(add-to-list 'auto-mode-alist
|
||||
(cons (purecopy (concat "\\(?:\\.\\(?:"
|
||||
"rbw?\\|ru\\|rake\\|thor\\|axlsx"
|
||||
"\\|jbuilder\\|rabl\\|gemspec\\|podspec"
|
||||
"\\)"
|
||||
"\\|/"
|
||||
"\\(?:Gem\\|Rake\\|Cap\\|Thor"
|
||||
"\\|Puppet\\|Berks\\|Brew\\|Fast"
|
||||
"\\|Vagrant\\|Guard\\|Pod\\)file"
|
||||
"\\)\\'"))
|
||||
(cons (concat "\\(?:\\.\\(?:"
|
||||
"rbw?\\|ru\\|rake\\|thor\\|axlsx"
|
||||
"\\|jbuilder\\|rabl\\|gemspec\\|podspec"
|
||||
"\\)"
|
||||
"\\|/"
|
||||
"\\(?:Gem\\|Rake\\|Cap\\|Thor"
|
||||
"\\|Puppet\\|Berks\\|Brew\\|Fast"
|
||||
"\\|Vagrant\\|Guard\\|Pod\\)file"
|
||||
"\\)\\'")
|
||||
'ruby-mode))
|
||||
|
||||
;;;###autoload
|
||||
(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.
|
||||
(setq major-mode-remap-defaults
|
||||
|
|
|
@ -208,7 +208,7 @@ If nil, TAB always indents current line."
|
|||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; 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
|
||||
(define-derived-mode vera-mode prog-mode "Vera"
|
||||
|
|
|
@ -1785,44 +1785,43 @@ If it's nil, automatic feeding takes place."
|
|||
|
||||
;;;###autoload
|
||||
(defcustom ps-page-dimensions-database
|
||||
(purecopy
|
||||
(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 'letter (* 72 8.5) (* 72 11.0) "Letter")
|
||||
(list 'legal (* 72 8.5) (* 72 14.0) "Legal")
|
||||
(list 'letter-small (* 72 7.68) (* 72 10.16) "LetterSmall")
|
||||
(list 'tabloid (* 72 11.0) (* 72 17.0) "Tabloid")
|
||||
(list 'ledger (* 72 17.0) (* 72 11.0) "Ledger")
|
||||
(list 'statement (* 72 5.5) (* 72 8.5) "Statement")
|
||||
(list 'executive (* 72 7.5) (* 72 10.0) "Executive")
|
||||
(list 'a4small (* 72 7.47) (* 72 10.85) "A4Small")
|
||||
(list 'b4 (* 72 10.125) (* 72 14.33) "B4")
|
||||
(list 'b5 (* 72 7.16) (* 72 10.125) "B5")
|
||||
;; page sizes for label printer
|
||||
;; NOTE: the page sizes below don't have n-up > 1.
|
||||
'(addresslarge 236.0 99.0 "AddressLarge")
|
||||
'(addresssmall 236.0 68.0 "AddressSmall")
|
||||
'(cuthanging13 90.0 222.0 "CutHanging13")
|
||||
'(cuthanging15 90.0 114.0 "CutHanging15")
|
||||
'(diskette 181.0 136.0 "Diskette")
|
||||
'(eurofilefolder 139.0 112.0 "EuropeanFilefolder")
|
||||
'(eurofoldernarrow 526.0 107.0 "EuroFolderNarrow")
|
||||
'(eurofolderwide 526.0 136.0 "EuroFolderWide")
|
||||
'(euronamebadge 189.0 108.0 "EuroNameBadge")
|
||||
'(euronamebadgelarge 223.0 136.0 "EuroNameBadgeLarge")
|
||||
'(filefolder 230.0 37.0 "FileFolder")
|
||||
'(jewelry 76.0 136.0 "Jewelry")
|
||||
'(mediabadge 180.0 136.0 "MediaBadge")
|
||||
'(multipurpose 126.0 68.0 "MultiPurpose")
|
||||
'(retaillabel 90.0 104.0 "RetailLabel")
|
||||
'(shipping 271.0 136.0 "Shipping")
|
||||
'(slide35mm 26.0 104.0 "Slide35mm")
|
||||
'(spine8mm 187.0 26.0 "Spine8mm")
|
||||
'(topcoated 425.19685 136.0 "TopCoatedPaper")
|
||||
'(topcoatedpaper 396.0 136.0 "TopcoatedPaper150")
|
||||
'(vhsface 205.0 127.0 "VHSFace")
|
||||
'(vhsspine 400.0 50.0 "VHSSpine")
|
||||
'(zipdisk 156.0 136.0 "ZipDisk")))
|
||||
(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 'letter (* 72 8.5) (* 72 11.0) "Letter")
|
||||
(list 'legal (* 72 8.5) (* 72 14.0) "Legal")
|
||||
(list 'letter-small (* 72 7.68) (* 72 10.16) "LetterSmall")
|
||||
(list 'tabloid (* 72 11.0) (* 72 17.0) "Tabloid")
|
||||
(list 'ledger (* 72 17.0) (* 72 11.0) "Ledger")
|
||||
(list 'statement (* 72 5.5) (* 72 8.5) "Statement")
|
||||
(list 'executive (* 72 7.5) (* 72 10.0) "Executive")
|
||||
(list 'a4small (* 72 7.47) (* 72 10.85) "A4Small")
|
||||
(list 'b4 (* 72 10.125) (* 72 14.33) "B4")
|
||||
(list 'b5 (* 72 7.16) (* 72 10.125) "B5")
|
||||
;; page sizes for label printer
|
||||
;; NOTE: the page sizes below don't have n-up > 1.
|
||||
'(addresslarge 236.0 99.0 "AddressLarge")
|
||||
'(addresssmall 236.0 68.0 "AddressSmall")
|
||||
'(cuthanging13 90.0 222.0 "CutHanging13")
|
||||
'(cuthanging15 90.0 114.0 "CutHanging15")
|
||||
'(diskette 181.0 136.0 "Diskette")
|
||||
'(eurofilefolder 139.0 112.0 "EuropeanFilefolder")
|
||||
'(eurofoldernarrow 526.0 107.0 "EuroFolderNarrow")
|
||||
'(eurofolderwide 526.0 136.0 "EuroFolderWide")
|
||||
'(euronamebadge 189.0 108.0 "EuroNameBadge")
|
||||
'(euronamebadgelarge 223.0 136.0 "EuroNameBadgeLarge")
|
||||
'(filefolder 230.0 37.0 "FileFolder")
|
||||
'(jewelry 76.0 136.0 "Jewelry")
|
||||
'(mediabadge 180.0 136.0 "MediaBadge")
|
||||
'(multipurpose 126.0 68.0 "MultiPurpose")
|
||||
'(retaillabel 90.0 104.0 "RetailLabel")
|
||||
'(shipping 271.0 136.0 "Shipping")
|
||||
'(slide35mm 26.0 104.0 "Slide35mm")
|
||||
'(spine8mm 187.0 26.0 "Spine8mm")
|
||||
'(topcoated 425.19685 136.0 "TopCoatedPaper")
|
||||
'(topcoatedpaper 396.0 136.0 "TopcoatedPaper150")
|
||||
'(vhsface 205.0 127.0 "VHSFace")
|
||||
'(vhsspine 400.0 50.0 "VHSSpine")
|
||||
'(zipdisk 156.0 136.0 "ZipDisk"))
|
||||
"List associating a symbolic paper type to its width, height and doc media.
|
||||
See `ps-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 "c" 'clone-buffer)
|
||||
(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)
|
||||
"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-o" 'occur-mode-display-occurrence)
|
||||
(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)
|
||||
"Keymap for `occur-edit-mode'.")
|
||||
|
||||
|
|
|
@ -92,7 +92,6 @@
|
|||
(sexp :tag "Value")))))
|
||||
|
||||
(defcustom file-name-shadow-properties
|
||||
;; FIXME: should we purecopy this?
|
||||
'(face file-name-shadow field shadow)
|
||||
"Properties given to the `shadowed' part of a filename in the minibuffer.
|
||||
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")
|
||||
|
||||
(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.
|
||||
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
|
||||
|
|
|
@ -113,7 +113,7 @@
|
|||
:group 'shell)
|
||||
|
||||
;;;###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
|
||||
don't handle the backslash as a quote character. For shells that
|
||||
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-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)
|
||||
|
||||
(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
|
||||
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.")
|
||||
|
||||
(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
|
||||
(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
|
||||
"Hook run when the mark becomes active.
|
||||
|
@ -9263,9 +9263,9 @@ if long lines are truncated."
|
|||
(message "Word wrapping %s"
|
||||
(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.")
|
||||
(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.")
|
||||
|
||||
(define-minor-mode overwrite-mode
|
||||
|
|
|
@ -355,7 +355,7 @@ looked for.
|
|||
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'.")
|
||||
|
||||
(defcustom site-run-file (purecopy "site-start")
|
||||
(defcustom site-run-file "site-start"
|
||||
"File containing site-wide run-time initializations.
|
||||
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
|
||||
|
@ -427,13 +427,6 @@ from being initialized."
|
|||
|
||||
(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
|
||||
(file-name-as-directory (expand-file-name "tutorials" data-directory))
|
||||
"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
|
||||
(when (and (equal (file-name-extension user-init-file) "eln")
|
||||
;; The next test is for builds without native
|
||||
;; compilation support or builds with unexec.
|
||||
;; compilation support.
|
||||
(boundp 'comp-eln-to-el-h))
|
||||
(if-let* ((source (gethash (file-name-nondirectory
|
||||
user-init-file)
|
||||
|
@ -1696,11 +1689,11 @@ Changed settings will be marked as \"CHANGED outside of Customize\"."
|
|||
`((changed ((t :background ,color)))))
|
||||
(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.
|
||||
;; To create a file, visit it with `\\[find-file]' and enter text in its buffer.
|
||||
|
||||
")
|
||||
"
|
||||
"Initial documentation displayed in *scratch* buffer at startup.
|
||||
If this is nil, no message will be displayed."
|
||||
:type '(choice (text :tag "Message")
|
||||
|
@ -2099,8 +2092,6 @@ splash screen in another window."
|
|||
(erase-buffer)
|
||||
(setq default-directory command-line-default-directory)
|
||||
(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
|
||||
;; storage permissions.
|
||||
(when (fboundp 'android-before-splash-screen)
|
||||
|
@ -2142,8 +2133,6 @@ splash screen in another window."
|
|||
(setq buffer-undo-list t)
|
||||
(let ((inhibit-read-only t))
|
||||
(erase-buffer)
|
||||
(if pure-space-overflow
|
||||
(insert pure-space-overflow-message))
|
||||
(fancy-splash-head)
|
||||
(dolist (text fancy-about-text)
|
||||
(apply #'fancy-splash-insert text)
|
||||
|
@ -2209,8 +2198,6 @@ splash screen in another window."
|
|||
(setq default-directory command-line-default-directory)
|
||||
(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
|
||||
;; Emacs storage permissions.
|
||||
(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 '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" ())
|
||||
|
||||
(defun command-line-1 (args-left)
|
||||
"A subroutine of `command-line'."
|
||||
(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,
|
||||
;; 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 '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.
|
||||
|
||||
|
@ -5969,7 +5973,7 @@ See also `with-eval-after-load'."
|
|||
;; evaluating it now).
|
||||
(let* ((regexp-or-feature
|
||||
(if (stringp file)
|
||||
(setq file (purecopy (load-history-regexp file)))
|
||||
(setq file (load-history-regexp file))
|
||||
file))
|
||||
(elt (assoc regexp-or-feature after-load-alist))
|
||||
(func
|
||||
|
@ -7135,7 +7139,7 @@ Also, \"-GIT\", \"-CVS\" and \"-NNN\" are treated as snapshot versions."
|
|||
|
||||
(defvar package--builtin-versions
|
||||
;; 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.
|
||||
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
|
||||
|
|
|
@ -559,7 +559,7 @@ appropriate."
|
|||
"<touchscreen-begin>" #'tab-bar-touchscreen-begin)
|
||||
|
||||
(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))
|
||||
|
||||
(defun tab-bar-make-keymap (&optional _ignore)
|
||||
|
|
|
@ -222,168 +222,167 @@ have been processed."
|
|||
|
||||
(defvar x-colors
|
||||
(if (featurep 'ns) (ns-list-colors)
|
||||
(purecopy
|
||||
'("gray100" "grey100" "gray99" "grey99" "gray98" "grey98" "gray97"
|
||||
"grey97" "gray96" "grey96" "gray95" "grey95" "gray94" "grey94"
|
||||
"gray93" "grey93" "gray92" "grey92" "gray91" "grey91" "gray90"
|
||||
"grey90" "gray89" "grey89" "gray88" "grey88" "gray87" "grey87"
|
||||
"gray86" "grey86" "gray85" "grey85" "gray84" "grey84" "gray83"
|
||||
"grey83" "gray82" "grey82" "gray81" "grey81" "gray80" "grey80"
|
||||
"gray79" "grey79" "gray78" "grey78" "gray77" "grey77" "gray76"
|
||||
"grey76" "gray75" "grey75" "gray74" "grey74" "gray73" "grey73"
|
||||
"gray72" "grey72" "gray71" "grey71" "gray70" "grey70" "gray69"
|
||||
"grey69" "gray68" "grey68" "gray67" "grey67" "gray66" "grey66"
|
||||
"gray65" "grey65" "gray64" "grey64" "gray63" "grey63" "gray62"
|
||||
"grey62" "gray61" "grey61" "gray60" "grey60" "gray59" "grey59"
|
||||
"gray58" "grey58" "gray57" "grey57" "gray56" "grey56" "gray55"
|
||||
"grey55" "gray54" "grey54" "gray53" "grey53" "gray52" "grey52"
|
||||
"gray51" "grey51" "gray50" "grey50" "gray49" "grey49" "gray48"
|
||||
"grey48" "gray47" "grey47" "gray46" "grey46" "gray45" "grey45"
|
||||
"gray44" "grey44" "gray43" "grey43" "gray42" "grey42" "gray41"
|
||||
"grey41" "gray40" "grey40" "gray39" "grey39" "gray38" "grey38"
|
||||
"gray37" "grey37" "gray36" "grey36" "gray35" "grey35" "gray34"
|
||||
"grey34" "gray33" "grey33" "gray32" "grey32" "gray31" "grey31"
|
||||
"gray30" "grey30" "gray29" "grey29" "gray28" "grey28" "gray27"
|
||||
"grey27" "gray26" "grey26" "gray25" "grey25" "gray24" "grey24"
|
||||
"gray23" "grey23" "gray22" "grey22" "gray21" "grey21" "gray20"
|
||||
"grey20" "gray19" "grey19" "gray18" "grey18" "gray17" "grey17"
|
||||
"gray16" "grey16" "gray15" "grey15" "gray14" "grey14" "gray13"
|
||||
"grey13" "gray12" "grey12" "gray11" "grey11" "gray10" "grey10"
|
||||
"gray9" "grey9" "gray8" "grey8" "gray7" "grey7" "gray6" "grey6"
|
||||
"gray5" "grey5" "gray4" "grey4" "gray3" "grey3" "gray2" "grey2"
|
||||
"gray1" "grey1" "gray0" "grey0"
|
||||
"LightPink1" "LightPink2" "LightPink3" "LightPink4"
|
||||
"pink1" "pink2" "pink3" "pink4"
|
||||
"PaleVioletRed1" "PaleVioletRed2" "PaleVioletRed3" "PaleVioletRed4"
|
||||
"LavenderBlush1" "LavenderBlush2" "LavenderBlush3" "LavenderBlush4"
|
||||
"VioletRed1" "VioletRed2" "VioletRed3" "VioletRed4"
|
||||
"HotPink1" "HotPink2" "HotPink3" "HotPink4"
|
||||
"DeepPink1" "DeepPink2" "DeepPink3" "DeepPink4"
|
||||
"maroon1" "maroon2" "maroon3" "maroon4"
|
||||
"orchid1" "orchid2" "orchid3" "orchid4"
|
||||
"plum1" "plum2" "plum3" "plum4"
|
||||
"thistle1" "thistle2" "thistle3" "thistle4"
|
||||
"MediumOrchid1" "MediumOrchid2" "MediumOrchid3" "MediumOrchid4"
|
||||
"DarkOrchid1" "DarkOrchid2" "DarkOrchid3" "DarkOrchid4"
|
||||
"purple1" "purple2" "purple3" "purple4"
|
||||
"MediumPurple1" "MediumPurple2" "MediumPurple3" "MediumPurple4"
|
||||
"SlateBlue1" "SlateBlue2" "SlateBlue3" "SlateBlue4"
|
||||
"RoyalBlue1" "RoyalBlue2" "RoyalBlue3" "RoyalBlue4"
|
||||
"LightSteelBlue1" "LightSteelBlue2" "LightSteelBlue3" "LightSteelBlue4"
|
||||
"SlateGray1" "SlateGray2" "SlateGray3" "SlateGray4"
|
||||
"DodgerBlue1" "DodgerBlue2" "DodgerBlue3" "DodgerBlue4"
|
||||
"SteelBlue1" "SteelBlue2" "SteelBlue3" "SteelBlue4"
|
||||
"SkyBlue1" "SkyBlue2" "SkyBlue3" "SkyBlue4"
|
||||
"LightSkyBlue1" "LightSkyBlue2" "LightSkyBlue3" "LightSkyBlue4"
|
||||
"LightBlue1" "LightBlue2" "LightBlue3" "LightBlue4"
|
||||
"CadetBlue1" "CadetBlue2" "CadetBlue3" "CadetBlue4"
|
||||
"azure1" "azure2" "azure3" "azure4"
|
||||
"LightCyan1" "LightCyan2" "LightCyan3" "LightCyan4"
|
||||
"PaleTurquoise1" "PaleTurquoise2" "PaleTurquoise3" "PaleTurquoise4"
|
||||
"DarkSlateGray1" "DarkSlateGray2" "DarkSlateGray3" "DarkSlateGray4"
|
||||
"aquamarine1" "aquamarine2" "aquamarine3" "aquamarine4"
|
||||
"SeaGreen1" "SeaGreen2" "SeaGreen3" "SeaGreen4"
|
||||
"honeydew1" "honeydew2" "honeydew3" "honeydew4"
|
||||
"DarkSeaGreen1" "DarkSeaGreen2" "DarkSeaGreen3" "DarkSeaGreen4"
|
||||
"PaleGreen1" "PaleGreen2" "PaleGreen3" "PaleGreen4"
|
||||
"DarkOliveGreen1" "DarkOliveGreen2" "DarkOliveGreen3" "DarkOliveGreen4"
|
||||
"OliveDrab1" "OliveDrab2" "OliveDrab3" "OliveDrab4"
|
||||
"ivory1" "ivory2" "ivory3" "ivory4"
|
||||
"LightYellow1" "LightYellow2" "LightYellow3" "LightYellow4"
|
||||
"khaki1" "khaki2" "khaki3" "khaki4"
|
||||
"LemonChiffon1" "LemonChiffon2" "LemonChiffon3" "LemonChiffon4"
|
||||
"LightGoldenrod1" "LightGoldenrod2" "LightGoldenrod3" "LightGoldenrod4"
|
||||
"cornsilk1" "cornsilk2" "cornsilk3" "cornsilk4"
|
||||
"goldenrod1" "goldenrod2" "goldenrod3" "goldenrod4"
|
||||
"DarkGoldenrod1" "DarkGoldenrod2" "DarkGoldenrod3" "DarkGoldenrod4"
|
||||
"wheat1" "wheat2" "wheat3" "wheat4"
|
||||
"NavajoWhite1" "NavajoWhite2" "NavajoWhite3" "NavajoWhite4"
|
||||
"burlywood1" "burlywood2" "burlywood3" "burlywood4"
|
||||
"AntiqueWhite1" "AntiqueWhite2" "AntiqueWhite3" "AntiqueWhite4"
|
||||
"bisque1" "bisque2" "bisque3" "bisque4"
|
||||
"tan1" "tan2" "tan3" "tan4"
|
||||
"PeachPuff1" "PeachPuff2" "PeachPuff3" "PeachPuff4"
|
||||
"seashell1" "seashell2" "seashell3" "seashell4"
|
||||
"chocolate1" "chocolate2" "chocolate3" "chocolate4"
|
||||
"sienna1" "sienna2" "sienna3" "sienna4"
|
||||
"LightSalmon1" "LightSalmon2" "LightSalmon3" "LightSalmon4"
|
||||
"salmon1" "salmon2" "salmon3" "salmon4"
|
||||
"coral1" "coral2" "coral3" "coral4"
|
||||
"tomato1" "tomato2" "tomato3" "tomato4"
|
||||
"MistyRose1" "MistyRose2" "MistyRose3" "MistyRose4"
|
||||
"snow1" "snow2" "snow3" "snow4"
|
||||
"RosyBrown1" "RosyBrown2" "RosyBrown3" "RosyBrown4"
|
||||
"IndianRed1" "IndianRed2" "IndianRed3" "IndianRed4"
|
||||
"firebrick1" "firebrick2" "firebrick3" "firebrick4"
|
||||
"brown1" "brown2" "brown3" "brown4"
|
||||
"magenta1" "magenta2" "magenta3" "magenta4"
|
||||
"blue1" "blue2" "blue3" "blue4"
|
||||
"DeepSkyBlue1" "DeepSkyBlue2" "DeepSkyBlue3" "DeepSkyBlue4"
|
||||
"turquoise1" "turquoise2" "turquoise3" "turquoise4"
|
||||
"cyan1" "cyan2" "cyan3" "cyan4"
|
||||
"SpringGreen1" "SpringGreen2" "SpringGreen3" "SpringGreen4"
|
||||
"green1" "green2" "green3" "green4"
|
||||
"chartreuse1" "chartreuse2" "chartreuse3" "chartreuse4"
|
||||
"yellow1" "yellow2" "yellow3" "yellow4"
|
||||
"gold1" "gold2" "gold3" "gold4"
|
||||
"orange1" "orange2" "orange3" "orange4"
|
||||
"DarkOrange1" "DarkOrange2" "DarkOrange3" "DarkOrange4"
|
||||
"OrangeRed1" "OrangeRed2" "OrangeRed3" "OrangeRed4"
|
||||
"red1" "red2" "red3" "red4"
|
||||
"lavender blush" "LavenderBlush" "ghost white" "GhostWhite"
|
||||
"lavender" "alice blue" "AliceBlue" "azure" "light cyan"
|
||||
"LightCyan" "mint cream" "MintCream" "honeydew" "ivory"
|
||||
"light goldenrod yellow" "LightGoldenrodYellow" "light yellow"
|
||||
"LightYellow" "beige" "floral white" "FloralWhite" "old lace"
|
||||
"OldLace" "blanched almond" "BlanchedAlmond" "moccasin"
|
||||
"papaya whip" "PapayaWhip" "bisque" "antique white"
|
||||
"AntiqueWhite" "linen" "peach puff" "PeachPuff" "seashell"
|
||||
"misty rose" "MistyRose" "snow" "light pink" "LightPink" "pink"
|
||||
"hot pink" "HotPink" "deep pink" "DeepPink" "maroon"
|
||||
"pale violet red" "PaleVioletRed" "violet red" "VioletRed"
|
||||
"medium violet red" "MediumVioletRed" "violet" "plum" "thistle"
|
||||
"orchid" "medium orchid" "MediumOrchid" "dark orchid"
|
||||
"DarkOrchid" "purple" "blue violet" "BlueViolet" "medium purple"
|
||||
"MediumPurple" "light slate blue" "LightSlateBlue"
|
||||
"medium slate blue" "MediumSlateBlue" "slate blue" "SlateBlue"
|
||||
"dark slate blue" "DarkSlateBlue" "midnight blue" "MidnightBlue"
|
||||
"navy" "navy blue" "NavyBlue" "dark blue" "DarkBlue"
|
||||
"light steel blue" "LightSteelBlue" "cornflower blue"
|
||||
"CornflowerBlue" "dodger blue" "DodgerBlue" "royal blue"
|
||||
"RoyalBlue" "light slate gray" "light slate grey"
|
||||
"LightSlateGray" "LightSlateGrey" "slate gray" "slate grey"
|
||||
"SlateGray" "SlateGrey" "dark slate gray" "dark slate grey"
|
||||
"DarkSlateGray" "DarkSlateGrey" "steel blue" "SteelBlue"
|
||||
"cadet blue" "CadetBlue" "light sky blue" "LightSkyBlue"
|
||||
"sky blue" "SkyBlue" "light blue" "LightBlue" "powder blue"
|
||||
"PowderBlue" "pale turquoise" "PaleTurquoise" "turquoise"
|
||||
"medium turquoise" "MediumTurquoise" "dark turquoise"
|
||||
"DarkTurquoise" "dark cyan" "DarkCyan" "aquamarine"
|
||||
"medium aquamarine" "MediumAquamarine" "light sea green"
|
||||
"LightSeaGreen" "medium sea green" "MediumSeaGreen" "sea green"
|
||||
"SeaGreen" "dark sea green" "DarkSeaGreen" "pale green"
|
||||
"PaleGreen" "lime green" "LimeGreen" "dark green" "DarkGreen"
|
||||
"forest green" "ForestGreen" "light green" "LightGreen"
|
||||
"green yellow" "GreenYellow" "yellow green" "YellowGreen"
|
||||
"olive drab" "OliveDrab" "dark olive green" "DarkOliveGreen"
|
||||
"lemon chiffon" "LemonChiffon" "khaki" "dark khaki" "DarkKhaki"
|
||||
"cornsilk" "pale goldenrod" "PaleGoldenrod" "light goldenrod"
|
||||
"LightGoldenrod" "goldenrod" "dark goldenrod" "DarkGoldenrod"
|
||||
"wheat" "navajo white" "NavajoWhite" "tan" "burlywood"
|
||||
"sandy brown" "SandyBrown" "peru" "chocolate" "saddle brown"
|
||||
"SaddleBrown" "sienna" "rosy brown" "RosyBrown" "dark salmon"
|
||||
"DarkSalmon" "coral" "tomato" "light salmon" "LightSalmon"
|
||||
"salmon" "light coral" "LightCoral" "indian red" "IndianRed"
|
||||
"firebrick" "brown" "dark red" "DarkRed" "magenta"
|
||||
"dark magenta" "DarkMagenta" "dark violet" "DarkViolet"
|
||||
"medium blue" "MediumBlue" "blue" "deep sky blue" "DeepSkyBlue"
|
||||
"cyan" "medium spring green" "MediumSpringGreen" "spring green"
|
||||
"SpringGreen" "green" "lawn green" "LawnGreen" "chartreuse"
|
||||
"yellow" "gold" "orange" "dark orange" "DarkOrange" "orange red"
|
||||
"OrangeRed" "red" "white" "white smoke" "WhiteSmoke" "gainsboro"
|
||||
"light gray" "light grey" "LightGray" "LightGrey" "gray" "grey"
|
||||
"dark gray" "dark grey" "DarkGray" "DarkGrey" "dim gray"
|
||||
"dim grey" "DimGray" "DimGrey" "black")))
|
||||
'("gray100" "grey100" "gray99" "grey99" "gray98" "grey98" "gray97"
|
||||
"grey97" "gray96" "grey96" "gray95" "grey95" "gray94" "grey94"
|
||||
"gray93" "grey93" "gray92" "grey92" "gray91" "grey91" "gray90"
|
||||
"grey90" "gray89" "grey89" "gray88" "grey88" "gray87" "grey87"
|
||||
"gray86" "grey86" "gray85" "grey85" "gray84" "grey84" "gray83"
|
||||
"grey83" "gray82" "grey82" "gray81" "grey81" "gray80" "grey80"
|
||||
"gray79" "grey79" "gray78" "grey78" "gray77" "grey77" "gray76"
|
||||
"grey76" "gray75" "grey75" "gray74" "grey74" "gray73" "grey73"
|
||||
"gray72" "grey72" "gray71" "grey71" "gray70" "grey70" "gray69"
|
||||
"grey69" "gray68" "grey68" "gray67" "grey67" "gray66" "grey66"
|
||||
"gray65" "grey65" "gray64" "grey64" "gray63" "grey63" "gray62"
|
||||
"grey62" "gray61" "grey61" "gray60" "grey60" "gray59" "grey59"
|
||||
"gray58" "grey58" "gray57" "grey57" "gray56" "grey56" "gray55"
|
||||
"grey55" "gray54" "grey54" "gray53" "grey53" "gray52" "grey52"
|
||||
"gray51" "grey51" "gray50" "grey50" "gray49" "grey49" "gray48"
|
||||
"grey48" "gray47" "grey47" "gray46" "grey46" "gray45" "grey45"
|
||||
"gray44" "grey44" "gray43" "grey43" "gray42" "grey42" "gray41"
|
||||
"grey41" "gray40" "grey40" "gray39" "grey39" "gray38" "grey38"
|
||||
"gray37" "grey37" "gray36" "grey36" "gray35" "grey35" "gray34"
|
||||
"grey34" "gray33" "grey33" "gray32" "grey32" "gray31" "grey31"
|
||||
"gray30" "grey30" "gray29" "grey29" "gray28" "grey28" "gray27"
|
||||
"grey27" "gray26" "grey26" "gray25" "grey25" "gray24" "grey24"
|
||||
"gray23" "grey23" "gray22" "grey22" "gray21" "grey21" "gray20"
|
||||
"grey20" "gray19" "grey19" "gray18" "grey18" "gray17" "grey17"
|
||||
"gray16" "grey16" "gray15" "grey15" "gray14" "grey14" "gray13"
|
||||
"grey13" "gray12" "grey12" "gray11" "grey11" "gray10" "grey10"
|
||||
"gray9" "grey9" "gray8" "grey8" "gray7" "grey7" "gray6" "grey6"
|
||||
"gray5" "grey5" "gray4" "grey4" "gray3" "grey3" "gray2" "grey2"
|
||||
"gray1" "grey1" "gray0" "grey0"
|
||||
"LightPink1" "LightPink2" "LightPink3" "LightPink4"
|
||||
"pink1" "pink2" "pink3" "pink4"
|
||||
"PaleVioletRed1" "PaleVioletRed2" "PaleVioletRed3" "PaleVioletRed4"
|
||||
"LavenderBlush1" "LavenderBlush2" "LavenderBlush3" "LavenderBlush4"
|
||||
"VioletRed1" "VioletRed2" "VioletRed3" "VioletRed4"
|
||||
"HotPink1" "HotPink2" "HotPink3" "HotPink4"
|
||||
"DeepPink1" "DeepPink2" "DeepPink3" "DeepPink4"
|
||||
"maroon1" "maroon2" "maroon3" "maroon4"
|
||||
"orchid1" "orchid2" "orchid3" "orchid4"
|
||||
"plum1" "plum2" "plum3" "plum4"
|
||||
"thistle1" "thistle2" "thistle3" "thistle4"
|
||||
"MediumOrchid1" "MediumOrchid2" "MediumOrchid3" "MediumOrchid4"
|
||||
"DarkOrchid1" "DarkOrchid2" "DarkOrchid3" "DarkOrchid4"
|
||||
"purple1" "purple2" "purple3" "purple4"
|
||||
"MediumPurple1" "MediumPurple2" "MediumPurple3" "MediumPurple4"
|
||||
"SlateBlue1" "SlateBlue2" "SlateBlue3" "SlateBlue4"
|
||||
"RoyalBlue1" "RoyalBlue2" "RoyalBlue3" "RoyalBlue4"
|
||||
"LightSteelBlue1" "LightSteelBlue2" "LightSteelBlue3" "LightSteelBlue4"
|
||||
"SlateGray1" "SlateGray2" "SlateGray3" "SlateGray4"
|
||||
"DodgerBlue1" "DodgerBlue2" "DodgerBlue3" "DodgerBlue4"
|
||||
"SteelBlue1" "SteelBlue2" "SteelBlue3" "SteelBlue4"
|
||||
"SkyBlue1" "SkyBlue2" "SkyBlue3" "SkyBlue4"
|
||||
"LightSkyBlue1" "LightSkyBlue2" "LightSkyBlue3" "LightSkyBlue4"
|
||||
"LightBlue1" "LightBlue2" "LightBlue3" "LightBlue4"
|
||||
"CadetBlue1" "CadetBlue2" "CadetBlue3" "CadetBlue4"
|
||||
"azure1" "azure2" "azure3" "azure4"
|
||||
"LightCyan1" "LightCyan2" "LightCyan3" "LightCyan4"
|
||||
"PaleTurquoise1" "PaleTurquoise2" "PaleTurquoise3" "PaleTurquoise4"
|
||||
"DarkSlateGray1" "DarkSlateGray2" "DarkSlateGray3" "DarkSlateGray4"
|
||||
"aquamarine1" "aquamarine2" "aquamarine3" "aquamarine4"
|
||||
"SeaGreen1" "SeaGreen2" "SeaGreen3" "SeaGreen4"
|
||||
"honeydew1" "honeydew2" "honeydew3" "honeydew4"
|
||||
"DarkSeaGreen1" "DarkSeaGreen2" "DarkSeaGreen3" "DarkSeaGreen4"
|
||||
"PaleGreen1" "PaleGreen2" "PaleGreen3" "PaleGreen4"
|
||||
"DarkOliveGreen1" "DarkOliveGreen2" "DarkOliveGreen3" "DarkOliveGreen4"
|
||||
"OliveDrab1" "OliveDrab2" "OliveDrab3" "OliveDrab4"
|
||||
"ivory1" "ivory2" "ivory3" "ivory4"
|
||||
"LightYellow1" "LightYellow2" "LightYellow3" "LightYellow4"
|
||||
"khaki1" "khaki2" "khaki3" "khaki4"
|
||||
"LemonChiffon1" "LemonChiffon2" "LemonChiffon3" "LemonChiffon4"
|
||||
"LightGoldenrod1" "LightGoldenrod2" "LightGoldenrod3" "LightGoldenrod4"
|
||||
"cornsilk1" "cornsilk2" "cornsilk3" "cornsilk4"
|
||||
"goldenrod1" "goldenrod2" "goldenrod3" "goldenrod4"
|
||||
"DarkGoldenrod1" "DarkGoldenrod2" "DarkGoldenrod3" "DarkGoldenrod4"
|
||||
"wheat1" "wheat2" "wheat3" "wheat4"
|
||||
"NavajoWhite1" "NavajoWhite2" "NavajoWhite3" "NavajoWhite4"
|
||||
"burlywood1" "burlywood2" "burlywood3" "burlywood4"
|
||||
"AntiqueWhite1" "AntiqueWhite2" "AntiqueWhite3" "AntiqueWhite4"
|
||||
"bisque1" "bisque2" "bisque3" "bisque4"
|
||||
"tan1" "tan2" "tan3" "tan4"
|
||||
"PeachPuff1" "PeachPuff2" "PeachPuff3" "PeachPuff4"
|
||||
"seashell1" "seashell2" "seashell3" "seashell4"
|
||||
"chocolate1" "chocolate2" "chocolate3" "chocolate4"
|
||||
"sienna1" "sienna2" "sienna3" "sienna4"
|
||||
"LightSalmon1" "LightSalmon2" "LightSalmon3" "LightSalmon4"
|
||||
"salmon1" "salmon2" "salmon3" "salmon4"
|
||||
"coral1" "coral2" "coral3" "coral4"
|
||||
"tomato1" "tomato2" "tomato3" "tomato4"
|
||||
"MistyRose1" "MistyRose2" "MistyRose3" "MistyRose4"
|
||||
"snow1" "snow2" "snow3" "snow4"
|
||||
"RosyBrown1" "RosyBrown2" "RosyBrown3" "RosyBrown4"
|
||||
"IndianRed1" "IndianRed2" "IndianRed3" "IndianRed4"
|
||||
"firebrick1" "firebrick2" "firebrick3" "firebrick4"
|
||||
"brown1" "brown2" "brown3" "brown4"
|
||||
"magenta1" "magenta2" "magenta3" "magenta4"
|
||||
"blue1" "blue2" "blue3" "blue4"
|
||||
"DeepSkyBlue1" "DeepSkyBlue2" "DeepSkyBlue3" "DeepSkyBlue4"
|
||||
"turquoise1" "turquoise2" "turquoise3" "turquoise4"
|
||||
"cyan1" "cyan2" "cyan3" "cyan4"
|
||||
"SpringGreen1" "SpringGreen2" "SpringGreen3" "SpringGreen4"
|
||||
"green1" "green2" "green3" "green4"
|
||||
"chartreuse1" "chartreuse2" "chartreuse3" "chartreuse4"
|
||||
"yellow1" "yellow2" "yellow3" "yellow4"
|
||||
"gold1" "gold2" "gold3" "gold4"
|
||||
"orange1" "orange2" "orange3" "orange4"
|
||||
"DarkOrange1" "DarkOrange2" "DarkOrange3" "DarkOrange4"
|
||||
"OrangeRed1" "OrangeRed2" "OrangeRed3" "OrangeRed4"
|
||||
"red1" "red2" "red3" "red4"
|
||||
"lavender blush" "LavenderBlush" "ghost white" "GhostWhite"
|
||||
"lavender" "alice blue" "AliceBlue" "azure" "light cyan"
|
||||
"LightCyan" "mint cream" "MintCream" "honeydew" "ivory"
|
||||
"light goldenrod yellow" "LightGoldenrodYellow" "light yellow"
|
||||
"LightYellow" "beige" "floral white" "FloralWhite" "old lace"
|
||||
"OldLace" "blanched almond" "BlanchedAlmond" "moccasin"
|
||||
"papaya whip" "PapayaWhip" "bisque" "antique white"
|
||||
"AntiqueWhite" "linen" "peach puff" "PeachPuff" "seashell"
|
||||
"misty rose" "MistyRose" "snow" "light pink" "LightPink" "pink"
|
||||
"hot pink" "HotPink" "deep pink" "DeepPink" "maroon"
|
||||
"pale violet red" "PaleVioletRed" "violet red" "VioletRed"
|
||||
"medium violet red" "MediumVioletRed" "violet" "plum" "thistle"
|
||||
"orchid" "medium orchid" "MediumOrchid" "dark orchid"
|
||||
"DarkOrchid" "purple" "blue violet" "BlueViolet" "medium purple"
|
||||
"MediumPurple" "light slate blue" "LightSlateBlue"
|
||||
"medium slate blue" "MediumSlateBlue" "slate blue" "SlateBlue"
|
||||
"dark slate blue" "DarkSlateBlue" "midnight blue" "MidnightBlue"
|
||||
"navy" "navy blue" "NavyBlue" "dark blue" "DarkBlue"
|
||||
"light steel blue" "LightSteelBlue" "cornflower blue"
|
||||
"CornflowerBlue" "dodger blue" "DodgerBlue" "royal blue"
|
||||
"RoyalBlue" "light slate gray" "light slate grey"
|
||||
"LightSlateGray" "LightSlateGrey" "slate gray" "slate grey"
|
||||
"SlateGray" "SlateGrey" "dark slate gray" "dark slate grey"
|
||||
"DarkSlateGray" "DarkSlateGrey" "steel blue" "SteelBlue"
|
||||
"cadet blue" "CadetBlue" "light sky blue" "LightSkyBlue"
|
||||
"sky blue" "SkyBlue" "light blue" "LightBlue" "powder blue"
|
||||
"PowderBlue" "pale turquoise" "PaleTurquoise" "turquoise"
|
||||
"medium turquoise" "MediumTurquoise" "dark turquoise"
|
||||
"DarkTurquoise" "dark cyan" "DarkCyan" "aquamarine"
|
||||
"medium aquamarine" "MediumAquamarine" "light sea green"
|
||||
"LightSeaGreen" "medium sea green" "MediumSeaGreen" "sea green"
|
||||
"SeaGreen" "dark sea green" "DarkSeaGreen" "pale green"
|
||||
"PaleGreen" "lime green" "LimeGreen" "dark green" "DarkGreen"
|
||||
"forest green" "ForestGreen" "light green" "LightGreen"
|
||||
"green yellow" "GreenYellow" "yellow green" "YellowGreen"
|
||||
"olive drab" "OliveDrab" "dark olive green" "DarkOliveGreen"
|
||||
"lemon chiffon" "LemonChiffon" "khaki" "dark khaki" "DarkKhaki"
|
||||
"cornsilk" "pale goldenrod" "PaleGoldenrod" "light goldenrod"
|
||||
"LightGoldenrod" "goldenrod" "dark goldenrod" "DarkGoldenrod"
|
||||
"wheat" "navajo white" "NavajoWhite" "tan" "burlywood"
|
||||
"sandy brown" "SandyBrown" "peru" "chocolate" "saddle brown"
|
||||
"SaddleBrown" "sienna" "rosy brown" "RosyBrown" "dark salmon"
|
||||
"DarkSalmon" "coral" "tomato" "light salmon" "LightSalmon"
|
||||
"salmon" "light coral" "LightCoral" "indian red" "IndianRed"
|
||||
"firebrick" "brown" "dark red" "DarkRed" "magenta"
|
||||
"dark magenta" "DarkMagenta" "dark violet" "DarkViolet"
|
||||
"medium blue" "MediumBlue" "blue" "deep sky blue" "DeepSkyBlue"
|
||||
"cyan" "medium spring green" "MediumSpringGreen" "spring green"
|
||||
"SpringGreen" "green" "lawn green" "LawnGreen" "chartreuse"
|
||||
"yellow" "gold" "orange" "dark orange" "DarkOrange" "orange red"
|
||||
"OrangeRed" "red" "white" "white smoke" "WhiteSmoke" "gainsboro"
|
||||
"light gray" "light grey" "LightGray" "LightGrey" "gray" "grey"
|
||||
"dark gray" "dark grey" "DarkGray" "DarkGrey" "dim gray"
|
||||
"dim grey" "DimGray" "DimGrey" "black"))
|
||||
"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 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))
|
||||
|
||||
;; 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))
|
||||
(bindings--define-key global-map [menu-bar quit]
|
||||
(define-key global-map [menu-bar quit]
|
||||
'(menu-item "Quit" save-buffers-kill-emacs
|
||||
: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
|
||||
:help "Hide Emacs"))
|
||||
(bindings--define-key global-map [menu-bar services]
|
||||
(define-key global-map [menu-bar 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)
|
||||
|
||||
(defcustom x-gtk-stock-map
|
||||
(mapcar (lambda (arg)
|
||||
(cons (purecopy (car arg)) (purecopy (cdr arg))))
|
||||
'(
|
||||
("etc/images/new" . ("document-new" "gtk-new"))
|
||||
("etc/images/open" . ("document-open" "gtk-open"))
|
||||
|
@ -253,7 +251,7 @@ EVENT is a `preedit-text' event."
|
|||
;; No themed versions available:
|
||||
;; mail/preview (combining stock_mail and stock_zoom)
|
||||
;; mail/save (combining stock_mail, stock_save and stock_convert)
|
||||
))
|
||||
)
|
||||
"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.
|
||||
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)
|
||||
|
||||
(defcustom x-gtk-stock-map
|
||||
(mapcar (lambda (arg)
|
||||
(cons (purecopy (car arg)) (purecopy (cdr arg))))
|
||||
'(
|
||||
("etc/images/new" . ("document-new" "gtk-new"))
|
||||
("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:
|
||||
;; mail/preview (combining stock_mail and stock_zoom)
|
||||
;; mail/save (combining stock_mail, stock_save and stock_convert)
|
||||
))
|
||||
)
|
||||
"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.
|
||||
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
|
||||
'action 'bibtex-button-action
|
||||
'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
|
||||
'action 'bibtex-button-action
|
||||
'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)
|
||||
"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.
|
||||
;; RMS: deleted the code to match `1.' and `(1)'.
|
||||
;; Update mail-mode's paragraph-separate if you change this.
|
||||
(purecopy "[-–!|#%;>*·•‣⁃◦ \t]*")
|
||||
"[-–!|#%;>*·•‣⁃◦ \t]*"
|
||||
"Regexp to match text at start of line that constitutes indentation.
|
||||
If Adaptive Fill mode is enabled, a prefix matching this pattern
|
||||
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."
|
||||
: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.
|
||||
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
|
||||
|
|
|
@ -1427,66 +1427,66 @@ The variable `ispell-library-directory' defines their location."
|
|||
;; Define commands in menu in opposite order you want them to appear.
|
||||
(let ((map (make-sparse-keymap "Spell")))
|
||||
(define-key map [ispell-change-dictionary]
|
||||
`(menu-item ,(purecopy "Change Dictionary...") ispell-change-dictionary
|
||||
:help ,(purecopy "Supply explicit dictionary file name")))
|
||||
'(menu-item "Change Dictionary..." ispell-change-dictionary
|
||||
:help "Supply explicit dictionary file name"))
|
||||
(define-key map [ispell-kill-ispell]
|
||||
`(menu-item ,(purecopy "Kill Process")
|
||||
(lambda () (interactive) (ispell-kill-ispell nil 'clear))
|
||||
`(menu-item "Kill Process"
|
||||
,(lambda () (interactive) (ispell-kill-ispell nil 'clear))
|
||||
:enable (and (boundp 'ispell-process) ispell-process
|
||||
(eq (ispell-process-status) 'run))
|
||||
:help ,(purecopy "Terminate Ispell subprocess")))
|
||||
:help "Terminate Ispell subprocess"))
|
||||
(define-key map [ispell-pdict-save]
|
||||
`(menu-item ,(purecopy "Save Dictionary")
|
||||
(lambda () (interactive) (ispell-pdict-save t t))
|
||||
:help ,(purecopy "Save personal dictionary")))
|
||||
`(menu-item "Save Dictionary"
|
||||
,(lambda () (interactive) (ispell-pdict-save t t))
|
||||
:help "Save personal dictionary"))
|
||||
(define-key map [ispell-customize]
|
||||
`(menu-item ,(purecopy "Customize...")
|
||||
(lambda () (interactive) (customize-group 'ispell))
|
||||
:help ,(purecopy "Customize spell checking options")))
|
||||
`(menu-item "Customize..."
|
||||
,(lambda () (interactive) (customize-group 'ispell))
|
||||
:help "Customize spell checking options"))
|
||||
(define-key map [ispell-help]
|
||||
;; use (x-popup-menu last-nonmenu-event(list "" ispell-help-list)) ?
|
||||
`(menu-item ,(purecopy "Help")
|
||||
(lambda () (interactive) (describe-function 'ispell-help))
|
||||
:help ,(purecopy "Show standard Ispell keybindings and commands")))
|
||||
`(menu-item "Help"
|
||||
,(lambda () (interactive) (describe-function 'ispell-help))
|
||||
:help "Show standard Ispell keybindings and commands"))
|
||||
(define-key map [flyspell-mode]
|
||||
`(menu-item ,(purecopy "Automatic spell checking (Flyspell)")
|
||||
'(menu-item "Automatic spell checking (Flyspell)"
|
||||
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))))
|
||||
(define-key map [ispell-complete-word]
|
||||
`(menu-item ,(purecopy "Complete Word") ispell-complete-word
|
||||
:help ,(purecopy "Complete word at cursor using dictionary")))
|
||||
'(menu-item "Complete Word" ispell-complete-word
|
||||
:help "Complete word at cursor using dictionary"))
|
||||
(define-key map [ispell-complete-word-interior-frag]
|
||||
`(menu-item ,(purecopy "Complete Word Fragment")
|
||||
'(menu-item "Complete Word Fragment"
|
||||
ispell-complete-word-interior-frag
|
||||
:help ,(purecopy "Complete word fragment at cursor")))
|
||||
:help "Complete word fragment at cursor"))
|
||||
|
||||
(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)
|
||||
(marker-position ispell-region-end)
|
||||
(equal (marker-buffer ispell-region-end)
|
||||
(current-buffer)))
|
||||
:help ,(purecopy "Continue spell checking last region")))
|
||||
:help "Continue spell checking last region"))
|
||||
(define-key map [ispell-word]
|
||||
`(menu-item ,(purecopy "Spell-Check Word") ispell-word
|
||||
:help ,(purecopy "Spell-check word at cursor")))
|
||||
'(menu-item "Spell-Check Word" ispell-word
|
||||
:help "Spell-check word at cursor"))
|
||||
(define-key map [ispell-comments-and-strings]
|
||||
`(menu-item ,(purecopy "Spell-Check Comments")
|
||||
'(menu-item "Spell-Check Comments"
|
||||
ispell-comments-and-strings
|
||||
:help ,(purecopy "Spell-check only comments and strings")))
|
||||
:help "Spell-check only comments and strings"))
|
||||
|
||||
(define-key map [ispell-region]
|
||||
`(menu-item ,(purecopy "Spell-Check Region") ispell-region
|
||||
'(menu-item "Spell-Check Region" ispell-region
|
||||
:enable mark-active
|
||||
:help ,(purecopy "Spell-check text in marked region")))
|
||||
:help "Spell-check text in marked region"))
|
||||
(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)
|
||||
:help ,(purecopy "Skip headers and included message text")))
|
||||
:help "Skip headers and included message text"))
|
||||
(define-key map [ispell-buffer]
|
||||
`(menu-item ,(purecopy "Spell-Check Buffer") ispell-buffer
|
||||
:help ,(purecopy "Check spelling of selected buffer")))
|
||||
'(menu-item "Spell-Check Buffer" ispell-buffer
|
||||
:help "Check spelling of selected buffer"))
|
||||
map)
|
||||
"Key map for ispell menu.")
|
||||
;;;###autoload
|
||||
|
@ -1659,21 +1659,21 @@ objects as practicable, without too many false matches happening."
|
|||
|
||||
;;;###autoload
|
||||
(defvar ispell-skip-region-alist
|
||||
`((ispell-words-keyword forward-line)
|
||||
'((ispell-words-keyword forward-line)
|
||||
(ispell-dictionary-keyword forward-line)
|
||||
(ispell-pdict-keyword forward-line)
|
||||
(ispell-parsing-keyword forward-line)
|
||||
(,(purecopy "^---*BEGIN PGP [A-Z ]*--*")
|
||||
. ,(purecopy "^---*END PGP [A-Z ]*--*"))
|
||||
("^---*BEGIN PGP [A-Z ]*--*"
|
||||
. "^---*END PGP [A-Z ]*--*")
|
||||
;; assume multiline uuencoded file? "\nM.*$"?
|
||||
(,(purecopy "^begin [0-9][0-9][0-9] [^ \t]+$") . ,(purecopy "\nend\n"))
|
||||
(,(purecopy "^%!PS-Adobe-[123].0") . ,(purecopy "\n%%EOF\n"))
|
||||
(,(purecopy "^---* \\(Start of \\)?[Ff]orwarded [Mm]essage")
|
||||
. ,(purecopy "^---* End of [Ff]orwarded [Mm]essage"))
|
||||
("^begin [0-9][0-9][0-9] [^ \t]+$" . "\nend\n")
|
||||
("^%!PS-Adobe-[123].0" . "\n%%EOF\n")
|
||||
("^---* \\(Start of \\)?[Ff]orwarded [Mm]essage"
|
||||
. "^---* End of [Ff]orwarded [Mm]essage")
|
||||
;; Matches e-mail addresses, file names, http addresses, etc. The
|
||||
;; `-+' `_+' patterns are necessary for performance reasons when
|
||||
;; `-' or `_' part of word syntax.
|
||||
; (,(purecopy "\\(--+\\|_+\\|\\(/\\w\\|\\(\\(\\w\\|[-_]\\)+[.:@]\\)\\)\\(\\w\\|[-_]\\)*\\([.:/@]+\\(\\w\\|[-_~=?&]\\)+\\)+\\)"))
|
||||
; ("\\(--+\\|_+\\|\\(/\\w\\|\\(\\(\\w\\|[-_]\\)+[.:@]\\)\\)\\(\\w\\|[-_]\\)*\\([.:/@]+\\(\\w\\|[-_~=?&]\\)+\\)+\\)")
|
||||
;; above checks /.\w sequences
|
||||
;;("\\(--+\\|\\(/\\|\\(\\(\\w\\|[-_]\\)+[.:@]\\)\\)\\(\\w\\|[-_]\\)*\\([.:/@]+\\(\\w\\|[-_~=?&]\\)+\\)+\\)")
|
||||
;; This is a pretty complex regexp. It can be simplified to the following:
|
||||
|
@ -1696,7 +1696,6 @@ Valid forms include:
|
|||
|
||||
;;;###autoload
|
||||
(defvar ispell-tex-skip-alists
|
||||
(purecopy
|
||||
'((;;("%\\[" . "%\\]") ; AMStex block comment...
|
||||
;; All the standard LaTeX keywords from L. Lamport's guide:
|
||||
;; \cite, \hspace, \hspace*, \hyphenation, \include, \includeonly, \input,
|
||||
|
@ -1715,7 +1714,7 @@ Valid forms include:
|
|||
("\\(figure\\|table\\)\\*?" ispell-tex-arg-end 0)
|
||||
("list" ispell-tex-arg-end 2)
|
||||
("program" . "\\\\end[ \t]*{program}")
|
||||
("verbatim\\*?" . "\\\\end[ \t]*{verbatim\\*?}"))))
|
||||
("verbatim\\*?" . "\\\\end[ \t]*{verbatim\\*?}")))
|
||||
"Lists of regions to be skipped in TeX mode.
|
||||
First list is used raw.
|
||||
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 *.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
|
||||
(define-derived-mode rst-mode text-mode "ReST"
|
||||
"Major mode for editing reStructuredText documents.
|
||||
|
|
|
@ -64,7 +64,7 @@
|
|||
:group 'tex-run)
|
||||
|
||||
;;;###autoload
|
||||
(defcustom tex-directory (purecopy ".")
|
||||
(defcustom tex-directory "."
|
||||
"Directory in which temporary files are written.
|
||||
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
|
||||
|
@ -98,7 +98,7 @@ if the variable is non-nil."
|
|||
:group 'tex-file)
|
||||
|
||||
;;;###autoload
|
||||
(defcustom tex-run-command (purecopy "tex")
|
||||
(defcustom tex-run-command "tex"
|
||||
"Command used to run TeX subjob.
|
||||
TeX Mode sets `tex-command' to this string.
|
||||
See the documentation of that variable."
|
||||
|
@ -106,7 +106,7 @@ See the documentation of that variable."
|
|||
:group 'tex-run)
|
||||
|
||||
;;;###autoload
|
||||
(defcustom latex-run-command (purecopy "latex")
|
||||
(defcustom latex-run-command "latex"
|
||||
"Command used to run LaTeX subjob.
|
||||
LaTeX Mode sets `tex-command' to this string.
|
||||
See the documentation of that variable."
|
||||
|
@ -114,7 +114,7 @@ See the documentation of that variable."
|
|||
:group 'tex-run)
|
||||
|
||||
;;;###autoload
|
||||
(defcustom slitex-run-command (purecopy "slitex")
|
||||
(defcustom slitex-run-command "slitex"
|
||||
"Command used to run SliTeX subjob.
|
||||
SliTeX Mode sets `tex-command' to this string.
|
||||
See the documentation of that variable."
|
||||
|
@ -122,7 +122,7 @@ See the documentation of that variable."
|
|||
:group 'tex-run)
|
||||
|
||||
;;;###autoload
|
||||
(defcustom tex-start-options (purecopy "")
|
||||
(defcustom tex-start-options ""
|
||||
"TeX options to use when starting TeX.
|
||||
These immediately precede the commands in `tex-start-commands'
|
||||
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")
|
||||
|
||||
;;;###autoload
|
||||
(defcustom tex-start-commands (purecopy "\\nonstopmode\\input")
|
||||
(defcustom tex-start-commands "\\nonstopmode\\input"
|
||||
"TeX commands to use when starting TeX.
|
||||
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'."
|
||||
|
@ -163,7 +163,7 @@ Combined with `latex-standard-block-names' for minibuffer completion."
|
|||
:group 'tex-run)
|
||||
|
||||
;;;###autoload
|
||||
(defcustom tex-bibtex-command (purecopy "bibtex")
|
||||
(defcustom tex-bibtex-command "bibtex"
|
||||
"Command used by `tex-bibtex-file' to gather bibliographic data.
|
||||
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."
|
||||
|
@ -171,7 +171,7 @@ otherwise, the file name, preceded by blank, is added at the end."
|
|||
:group 'tex-run)
|
||||
|
||||
;;;###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.
|
||||
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."
|
||||
|
@ -179,7 +179,7 @@ otherwise, the file name, preceded by blank, is added at the end."
|
|||
:group 'tex-view)
|
||||
|
||||
;;;###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.
|
||||
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.
|
||||
|
@ -199,9 +199,9 @@ use."
|
|||
|
||||
;;;###autoload
|
||||
(defcustom tex-dvi-view-command
|
||||
(cond ((eq window-system 'x) (purecopy "xdvi"))
|
||||
((eq window-system 'w32) (purecopy "yap"))
|
||||
(t (purecopy "dvi2tty * | cat -s")))
|
||||
(cond ((eq window-system 'x) "xdvi")
|
||||
((eq window-system 'w32) "yap")
|
||||
(t "dvi2tty * | cat -s"))
|
||||
"Command used by \\[tex-view] to display a `.dvi' file.
|
||||
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.
|
||||
|
@ -214,7 +214,7 @@ will lead to a warning. Set it to a string instead."
|
|||
:group 'tex-view)
|
||||
|
||||
;;;###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.
|
||||
Should show the queue(s) that \\[tex-print] puts jobs on."
|
||||
:type 'string
|
||||
|
@ -230,14 +230,14 @@ Normally set to either `plain-tex-mode' or `latex-mode'."
|
|||
:group 'tex)
|
||||
|
||||
;;;###autoload
|
||||
(defcustom tex-open-quote (purecopy "``")
|
||||
(defcustom tex-open-quote "``"
|
||||
"String inserted by typing \\[tex-insert-quote] to open a quotation."
|
||||
:type 'string
|
||||
:options '("``" "\"<" "\"`" "<<" "«")
|
||||
:group 'tex)
|
||||
|
||||
;;;###autoload
|
||||
(defcustom tex-close-quote (purecopy "''")
|
||||
(defcustom tex-close-quote "''"
|
||||
"String inserted by typing \\[tex-insert-quote] to close a quotation."
|
||||
:type 'string
|
||||
:options '("''" "\">" "\"'" ">>" "»")
|
||||
|
|
|
@ -61,12 +61,12 @@
|
|||
:group 'docs)
|
||||
|
||||
;;;###autoload
|
||||
(defcustom texinfo-open-quote (purecopy "``")
|
||||
(defcustom texinfo-open-quote "``"
|
||||
"String inserted by typing \\[texinfo-insert-quote] to open a quotation."
|
||||
:type 'string)
|
||||
|
||||
;;;###autoload
|
||||
(defcustom texinfo-close-quote (purecopy "''")
|
||||
(defcustom texinfo-close-quote "''"
|
||||
"String inserted by typing \\[texinfo-insert-quote] to close a quotation."
|
||||
:type 'string)
|
||||
|
||||
|
|
|
@ -92,8 +92,8 @@ parameter is set to `top', and above the tool bar it is set to
|
|||
`bottom'.")
|
||||
|
||||
(global-set-key [tool-bar]
|
||||
`(menu-item ,(purecopy "tool bar") ignore
|
||||
:filter tool-bar-make-keymap))
|
||||
'(menu-item "tool bar" ignore
|
||||
:filter tool-bar-make-keymap))
|
||||
|
||||
(declare-function image-mask-p "image.c" (spec &optional frame))
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
:group 'tools)
|
||||
|
||||
;;;###autoload
|
||||
(defcustom diff-switches (purecopy "-u")
|
||||
(defcustom diff-switches "-u"
|
||||
"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
|
||||
|
@ -48,7 +48,7 @@ set (`vc-git-diff-switches' for git, for instance), and
|
|||
:type '(choice string (repeat string)))
|
||||
|
||||
;;;###autoload
|
||||
(defcustom diff-command (purecopy "diff")
|
||||
(defcustom diff-command "diff"
|
||||
"The command to use to run diff."
|
||||
:type 'string)
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue