mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-03 18:41:25 -08:00
Merge from trunk.
This commit is contained in:
commit
bbd347f5f7
310 changed files with 12242 additions and 3455 deletions
64
ChangeLog
64
ChangeLog
|
|
@ -1,8 +1,64 @@
|
|||
2012-04-21 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Sync from gnulib version 4f11d6bebc3098c64ffde27079ab0d0cecfd0cdc
|
||||
dated 2011-10-07. Regenerating from current gnulib would be a
|
||||
pervasive change, and currently the trunk isn't open to such changes.
|
||||
* configure.in (WARN_CFLAGS): Remove; no longer needed now
|
||||
that gnulib does it.
|
||||
* lib/gnulib.mk, m4/gl-comp.m4: Regenerate.
|
||||
|
||||
2012-04-21 Andreas Schwab <schwab@linux-m68k.org>
|
||||
|
||||
* m4/gl-comp.m4: Update. (Bug#11285)
|
||||
|
||||
2012-04-20 Ludovic Courtès <ludo@gnu.org>
|
||||
|
||||
* configure.in: Don't use the -R option (Bug#11251).
|
||||
|
||||
2012-04-18 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
configure: new option --enable-gcc-warnings (Bug#11207)
|
||||
I have been using this change for many months in my private copy
|
||||
of Emacs, and have used it to find several bugs. It's mature
|
||||
enough to publish now.
|
||||
* Makefile.in (GNULIB_MODULES): Add warnings, manywarnings.
|
||||
* configure.in: Support --enable-gcc-warnings, in the style of
|
||||
other GNU packages such as coreutils.
|
||||
(C_WARNINGS_SWITCH): Remove, replacing with...
|
||||
(WARN_CFLAGS, GNULIB_WARN_CFLAGS): New variable.
|
||||
(PKG_CHECK_MODULES, C_SWITCH_X_SITE): Use -isystem rather than -I,
|
||||
when including system files with GCC.
|
||||
* etc/NEWS: Mention --enable-gcc-warnings.
|
||||
* INSTALL (DETAILED BUILDING AND INSTALLATION): Likewise.
|
||||
* lib/Makefile.am (AM_CFLAGS): New macro.
|
||||
* m4/manywarnings.m4, m4/warnings.m4: New files, from gnulib.
|
||||
|
||||
2012-04-17 Dmitry Antipov <dmantipov@yandex.ru>
|
||||
|
||||
* configure.in (AC_CHECK_FUNCS):
|
||||
Add getpwent, endpwent, getgrent, endgrent. (Bug#7900)
|
||||
|
||||
2012-04-16 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* configure.in (NS_HAVE_NSINTEGER): Remove unnecessary variable.
|
||||
|
||||
* configure.in: Remove X libs workaround for old autoconf.
|
||||
|
||||
2012-04-12 Ken Brown <kbrown@cornell.edu>
|
||||
|
||||
* configure.in: Warn that Cygwin 1.5 is unsupported. (Bug#10398)
|
||||
|
||||
2012-04-11 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* configure.in (GNUSTEP_CFLAGS): Rename from C_SWITCH_X_SYSTEM.
|
||||
|
||||
2012-04-10 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* configure.in: Conditionally generate admin/unidata/Makefile.
|
||||
|
||||
2012-04-09 Teodor Zlatanov <tzz@lifelogs.com>
|
||||
|
||||
* info/dir (File):
|
||||
* Makefile.in: Add emacs-gnutls to the info directory and the
|
||||
INFO_FILES target.
|
||||
* info/dir, Makefile.in (INFO_FILES): Add emacs-gnutls manual.
|
||||
|
||||
2012-04-09 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
|
|
@ -2298,7 +2354,7 @@
|
|||
|
||||
2010-03-12 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
These changes remove termcap.c from the build on Posix platforms.
|
||||
These changes remove termcap.c from the build on POSIX platforms.
|
||||
* configure.in <AC_CHECK_HEADERS>: Remove termcap.h.
|
||||
|
||||
* configure: Regenerated.
|
||||
|
|
|
|||
6
INSTALL
6
INSTALL
|
|
@ -317,6 +317,12 @@ Use --with-wide-int to implement Emacs values with the type 'long long',
|
|||
even on hosts where a narrower type would do. With this option, on a
|
||||
typical 32-bit host, Emacs integers have 62 bits instead of 30.
|
||||
|
||||
Use --enable-gcc-warnings to enable compile-time checks that warn
|
||||
about possibly-questionable C code. This is intended for developers
|
||||
and is useful with GNU-compatible compilers. On a recent GNU system
|
||||
there should be no warnings; on older and on non-GNU systems the
|
||||
generated warnings may still be useful.
|
||||
|
||||
The `--prefix=PREFIXDIR' option specifies where the installation process
|
||||
should put emacs and its data files. This defaults to `/usr/local'.
|
||||
- Emacs (and the other utilities users run) go in PREFIXDIR/bin
|
||||
|
|
|
|||
|
|
@ -336,8 +336,9 @@ GNULIB_MODULES = \
|
|||
careadlinkat crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr \
|
||||
dup2 \
|
||||
filemode getloadavg getopt-gnu ignore-value intprops lstat \
|
||||
mktime pthread_sigmask readlink \
|
||||
socklen stdarg stdio strftime strtoimax strtoumax symlink sys_stat
|
||||
manywarnings mktime pthread_sigmask readlink \
|
||||
socklen stdarg stdio strftime strtoimax strtoumax symlink sys_stat \
|
||||
warnings
|
||||
GNULIB_TOOL_FLAGS = \
|
||||
--avoid=msvc-inval --avoid=msvc-nothrow \
|
||||
--avoid=raise --avoid=threadlib \
|
||||
|
|
|
|||
|
|
@ -1,3 +1,10 @@
|
|||
2012-04-10 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* bzrmerge.el (bzrmerge-skip-regexp): Add "from trunk".
|
||||
|
||||
* unidata/Makefile.in: Add FSF copyright.
|
||||
Make it use autoconf features, and work for out-of-tree builds.
|
||||
|
||||
2012-04-07 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* unidata/README:
|
||||
|
|
|
|||
|
|
@ -53,12 +53,17 @@ pt-br Rodrigo Real
|
|||
ru Alex Ott
|
||||
sk Miroslav Vaško
|
||||
|
||||
** For a major release, add a "New in Emacs XX" section to faq.texi.
|
||||
|
||||
** Remove temporary +++/--- lines in NEWS.
|
||||
|
||||
** Try to reorder NEWS: most important things first, related items together.
|
||||
|
||||
** Consider bumping customize-changed-options-previous-release.
|
||||
|
||||
** cusver-check from admin.el cam help find new defcustoms missing
|
||||
:version tags.
|
||||
|
||||
* BUGS
|
||||
|
||||
** Check for modes which bind M-s that conflicts with a new global binding M-s
|
||||
|
|
@ -155,13 +160,8 @@ mini.texi rgm
|
|||
misc.texi cyd
|
||||
modes.texi cyd
|
||||
msdog.texi rgm (can't actually test any of it though)
|
||||
It was not obvious to me that the following is true (it could well be though):
|
||||
|
||||
Emacs on Windows automatically determines your default printer and
|
||||
sets the variable `printer-name' to that printer's name.
|
||||
|
||||
msdog-xtra.texi rgm (can't actually test any of it though)
|
||||
mule.texi
|
||||
mule.texi rgm (not 100% sure about "Fontsets")
|
||||
m-x.texi cyd
|
||||
package.texi cyd
|
||||
picture-xtra.texi rgm
|
||||
|
|
@ -182,7 +182,7 @@ xresources.texi cyd
|
|||
|
||||
abbrevs.texi rgm
|
||||
advice.texi cyd
|
||||
anti.texi
|
||||
anti.texi rgm
|
||||
back.texi rgm
|
||||
backups.texi cyd
|
||||
buffers.texi cyd
|
||||
|
|
@ -211,7 +211,7 @@ loading.texi cyd
|
|||
macros.texi cyd
|
||||
maps.texi rgm
|
||||
markers.texi rgm
|
||||
minibuf.texi
|
||||
minibuf.texi rgm
|
||||
modes.texi cyd
|
||||
nonascii.texi cyd
|
||||
numbers.texi cyd
|
||||
|
|
@ -219,7 +219,7 @@ objects.texi cyd
|
|||
os.texi cyd
|
||||
package.texi rgm
|
||||
positions.texi cyd
|
||||
processes.texi
|
||||
processes.texi rgm
|
||||
searching.texi rgm
|
||||
sequences.texi cyd
|
||||
streams.texi cyd
|
||||
|
|
|
|||
|
|
@ -1,9 +1,9 @@
|
|||
;;; bzrmerge.el --- help merge one Emacs bzr branch to another
|
||||
|
||||
;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
;; Keywords:
|
||||
;; Keywords: maint
|
||||
|
||||
;; GNU Emacs is free software: you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
|
|
@ -28,7 +28,7 @@
|
|||
(require 'cl)) ; assert
|
||||
|
||||
(defvar bzrmerge-skip-regexp
|
||||
"back[- ]?port\\|merge\\|sync\\|re-?generate\\|bump version"
|
||||
"back[- ]?port\\|merge\\|sync\\|re-?generate\\|bump version\\|from trunk"
|
||||
"Regexp matching logs of revisions that might be skipped.
|
||||
`bzrmerge-missing' will ask you if it should skip any matches.")
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,7 @@
|
|||
# Makefile -- Makefile to generate character property tables.
|
||||
|
||||
# Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
|
||||
# Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011
|
||||
# National Institute of Advanced Industrial Science and Technology (AIST)
|
||||
# Registration Number H13PRO009
|
||||
|
|
@ -18,25 +21,33 @@
|
|||
# You should have received a copy of the GNU General Public License
|
||||
# along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
SHELL = /bin/sh
|
||||
|
||||
EMACS = ../../src/emacs
|
||||
DSTDIR = ../../lisp/international
|
||||
RUNEMACS = ${EMACS} -Q -batch
|
||||
srcdir = @srcdir@
|
||||
abs_builddir = @abs_builddir@
|
||||
top_srcdir = @top_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
|
||||
EMACS = ${abs_top_builddir}/src/emacs
|
||||
DSTDIR = ${top_srcdir}/lisp/international
|
||||
emacs = ${EMACS} -batch --no-site-file --no-site-lisp
|
||||
|
||||
all: ${DSTDIR}/charprop.el
|
||||
|
||||
.el.elc:
|
||||
${RUNEMACS} -batch -f batch-byte-compile $<
|
||||
${emacs} -f batch-byte-compile $<
|
||||
|
||||
unidata.txt: UnicodeData.txt
|
||||
sed -e 's/\([^;]*\);\(.*\)/(#x\1 "\2")/' -e 's/;/" "/g' < UnicodeData.txt > $@
|
||||
unidata.txt: ${srcdir}/UnicodeData.txt
|
||||
sed -e 's/\([^;]*\);\(.*\)/(#x\1 "\2")/' -e 's/;/" "/g' < ${srcdir}/UnicodeData.txt > $@
|
||||
|
||||
${DSTDIR}/charprop.el: unidata-gen.elc unidata.txt
|
||||
ELC=`/bin/pwd`/unidata-gen.elc; \
|
||||
DATADIR=`/bin/pwd`; \
|
||||
DATA=unidata.txt; \
|
||||
cd ${DSTDIR}; \
|
||||
${RUNEMACS} -batch --load $${ELC} -f unidata-gen-files $${DATADIR} $${DATA}
|
||||
${DSTDIR}/charprop.el: ${srcdir}/unidata-gen.elc unidata.txt
|
||||
cd ${DSTDIR} && ${emacs} -l ${srcdir}/unidata-gen \
|
||||
-f unidata-gen-files ${srcdir} ${abs_builddir}/unidata.txt
|
||||
|
||||
## Like the above, but generate in PWD rather than lisp/international.
|
||||
charprop.el: ${srcdir}/unidata-gen.elc unidata.txt
|
||||
${emacs} -l ${srcdir}/unidata-gen \
|
||||
-f unidata-gen-files ${srcdir} unidata.txt
|
||||
|
||||
install: charprop.el
|
||||
cp charprop.el ${DSTDIR}
|
||||
|
|
@ -46,4 +57,9 @@ clean:
|
|||
if test -f charprop.el; then \
|
||||
rm -f `sed -n 's/^;; FILE: //p' < charprop.el`; \
|
||||
fi
|
||||
rm -f charprop.el unidata-gen.elc unidata.txt
|
||||
rm -f charprop.el ${srcdir}/unidata-gen.elc unidata.txt
|
||||
|
||||
distclean: clean
|
||||
-rm -f ./Makefile
|
||||
|
||||
maintainer-clean: distclean
|
||||
|
|
|
|||
|
|
@ -70,9 +70,10 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
|
|||
$(top_srcdir)/m4/gnulib-common.m4 \
|
||||
$(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inttypes.m4 \
|
||||
$(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/longlong.m4 \
|
||||
$(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/md5.m4 \
|
||||
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/multiarch.m4 \
|
||||
$(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/pathmax.m4 \
|
||||
$(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/manywarnings.m4 \
|
||||
$(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/mktime.m4 \
|
||||
$(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nocrash.m4 \
|
||||
$(top_srcdir)/m4/pathmax.m4 \
|
||||
$(top_srcdir)/m4/pthread_sigmask.m4 \
|
||||
$(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/sha1.m4 \
|
||||
$(top_srcdir)/m4/sha256.m4 $(top_srcdir)/m4/sha512.m4 \
|
||||
|
|
@ -88,7 +89,8 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
|
|||
$(top_srcdir)/m4/symlink.m4 $(top_srcdir)/m4/sys_stat_h.m4 \
|
||||
$(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
|
||||
$(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd_h.m4 \
|
||||
$(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/configure.in
|
||||
$(top_srcdir)/m4/warnings.m4 $(top_srcdir)/m4/wchar_t.m4 \
|
||||
$(top_srcdir)/configure.in
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
|
|
@ -152,8 +154,6 @@ CYGWIN_OBJ = @CYGWIN_OBJ@
|
|||
C_SWITCH_MACHINE = @C_SWITCH_MACHINE@
|
||||
C_SWITCH_SYSTEM = @C_SWITCH_SYSTEM@
|
||||
C_SWITCH_X_SITE = @C_SWITCH_X_SITE@
|
||||
C_SWITCH_X_SYSTEM = @C_SWITCH_X_SYSTEM@
|
||||
C_WARNINGS_SWITCH = @C_WARNINGS_SWITCH@
|
||||
DBUS_CFLAGS = @DBUS_CFLAGS@
|
||||
DBUS_LIBS = @DBUS_LIBS@
|
||||
DBUS_OBJ = @DBUS_OBJ@
|
||||
|
|
@ -329,9 +329,11 @@ GNULIB_VPRINTF_POSIX = @GNULIB_VPRINTF_POSIX@
|
|||
GNULIB_VSCANF = @GNULIB_VSCANF@
|
||||
GNULIB_VSNPRINTF = @GNULIB_VSNPRINTF@
|
||||
GNULIB_VSPRINTF_POSIX = @GNULIB_VSPRINTF_POSIX@
|
||||
GNULIB_WARN_CFLAGS = @GNULIB_WARN_CFLAGS@
|
||||
GNULIB_WCTOMB = @GNULIB_WCTOMB@
|
||||
GNULIB_WRITE = @GNULIB_WRITE@
|
||||
GNULIB__EXIT = @GNULIB__EXIT@
|
||||
GNUSTEP_CFLAGS = @GNUSTEP_CFLAGS@
|
||||
GNU_OBJC_CFLAGS = @GNU_OBJC_CFLAGS@
|
||||
GREP = @GREP@
|
||||
GSETTINGS_CFLAGS = @GSETTINGS_CFLAGS@
|
||||
|
|
@ -695,7 +697,9 @@ UNISTD_H_HAVE_WINSOCK2_H = @UNISTD_H_HAVE_WINSOCK2_H@
|
|||
UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS = @UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS@
|
||||
VERSION = @VERSION@
|
||||
VMLIMIT_OBJ = @VMLIMIT_OBJ@
|
||||
WARN_CFLAGS = @WARN_CFLAGS@
|
||||
WCHAR_T_SUFFIX = @WCHAR_T_SUFFIX@
|
||||
WERROR_CFLAGS = @WERROR_CFLAGS@
|
||||
WIDGET_OBJ = @WIDGET_OBJ@
|
||||
WINT_T_SUFFIX = @WINT_T_SUFFIX@
|
||||
XFT_CFLAGS = @XFT_CFLAGS@
|
||||
|
|
@ -814,6 +818,7 @@ MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t getopt.h \
|
|||
stdio.h-t stdlib.h stdlib.h-t sys/stat.h sys/stat.h-t time.h \
|
||||
time.h-t unistd.h unistd.h-t
|
||||
noinst_LIBRARIES = libgnu.a
|
||||
AM_CFLAGS = $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS)
|
||||
DEFAULT_INCLUDES = -I. -I../src -I$(top_srcdir)/src
|
||||
libgnu_a_SOURCES = allocator.c careadlinkat.c md5.c sha1.c sha256.c \
|
||||
sha512.c dtoastr.c filemode.c $(am__append_1) strftime.c
|
||||
|
|
|
|||
2
autogen/aclocal.m4
vendored
2
autogen/aclocal.m4
vendored
|
|
@ -999,6 +999,7 @@ m4_include([m4/inttypes.m4])
|
|||
m4_include([m4/largefile.m4])
|
||||
m4_include([m4/longlong.m4])
|
||||
m4_include([m4/lstat.m4])
|
||||
m4_include([m4/manywarnings.m4])
|
||||
m4_include([m4/md5.m4])
|
||||
m4_include([m4/mktime.m4])
|
||||
m4_include([m4/multiarch.m4])
|
||||
|
|
@ -1032,4 +1033,5 @@ m4_include([m4/time_h.m4])
|
|||
m4_include([m4/time_r.m4])
|
||||
m4_include([m4/tm_gmtoff.m4])
|
||||
m4_include([m4/unistd_h.m4])
|
||||
m4_include([m4/warnings.m4])
|
||||
m4_include([m4/wchar_t.m4])
|
||||
|
|
|
|||
|
|
@ -95,6 +95,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
/* Define to make the limit macros in <stdint.h> visible. */
|
||||
#undef GL_TRIGGER_STDC_LIMIT_MACROS
|
||||
|
||||
/* enable some gnulib portability checks */
|
||||
#undef GNULIB_PORTCHECK
|
||||
|
||||
/* Define to 1 if you want to use the GNU memory allocator. */
|
||||
#undef GNU_MALLOC
|
||||
|
||||
|
|
@ -203,6 +206,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
/* Define to 1 if you have the 'dup2' function. */
|
||||
#undef HAVE_DUP2
|
||||
|
||||
/* Define to 1 if you have the `endgrent' function. */
|
||||
#undef HAVE_ENDGRENT
|
||||
|
||||
/* Define to 1 if you have the `endpwent' function. */
|
||||
#undef HAVE_ENDPWENT
|
||||
|
||||
/* Define to 1 if you have the `euidaccess' function. */
|
||||
#undef HAVE_EUIDACCESS
|
||||
|
||||
|
|
@ -254,6 +263,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
/* Define to 1 if you have the `getdomainname' function. */
|
||||
#undef HAVE_GETDOMAINNAME
|
||||
|
||||
/* Define to 1 if you have the `getgrent' function. */
|
||||
#undef HAVE_GETGRENT
|
||||
|
||||
/* Define to 1 if you have the `gethostname' function. */
|
||||
#undef HAVE_GETHOSTNAME
|
||||
|
||||
|
|
@ -278,6 +290,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
/* Define to 1 if you have the `getpt' function. */
|
||||
#undef HAVE_GETPT
|
||||
|
||||
/* Define to 1 if you have the `getpwent' function. */
|
||||
#undef HAVE_GETPWENT
|
||||
|
||||
/* Define to 1 if you have the `getrlimit' function. */
|
||||
#undef HAVE_GETRLIMIT
|
||||
|
||||
|
|
@ -1163,6 +1178,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
/* Number of bits in a file offset, on hosts where this is settable. */
|
||||
#undef _FILE_OFFSET_BITS
|
||||
|
||||
/* enable compile-time and run-time bounds-checking, and some warnings */
|
||||
#undef _FORTIFY_SOURCE
|
||||
|
||||
/* Define to 1 to make fseeko visible on some hosts (e.g. glibc 2.2). */
|
||||
#undef _LARGEFILE_SOURCE
|
||||
|
||||
|
|
@ -1270,6 +1288,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
# define __GNUC_STDC_INLINE__ 1
|
||||
#endif
|
||||
|
||||
/* Define to 1 if the compiler is checking for lint. */
|
||||
#undef lint
|
||||
|
||||
/* Define to a type if <wchar.h> does not define. */
|
||||
#undef mbstate_t
|
||||
|
||||
|
|
|
|||
876
autogen/configure
vendored
876
autogen/configure
vendored
File diff suppressed because it is too large
Load diff
206
configure.in
206
configure.in
|
|
@ -686,47 +686,121 @@ else
|
|||
test "x$NON_GCC_TEST_OPTIONS" != x && CC="$CC $NON_GCC_TEST_OPTIONS"
|
||||
fi
|
||||
|
||||
### Use -Wdeclaration-after-statement if the compiler supports it
|
||||
AC_MSG_CHECKING([whether gcc understands -Wdeclaration-after-statement])
|
||||
SAVE_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -Wdeclaration-after-statement"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], has_option=yes, has_option=no)
|
||||
if test $has_option = yes; then
|
||||
C_WARNINGS_SWITCH="-Wdeclaration-after-statement $C_WARNINGS_SWITCH"
|
||||
fi
|
||||
AC_MSG_RESULT($has_option)
|
||||
CFLAGS="$SAVE_CFLAGS"
|
||||
unset has_option
|
||||
unset SAVE_CFLAGS
|
||||
AC_ARG_ENABLE([gcc-warnings],
|
||||
[AS_HELP_STRING([--enable-gcc-warnings],
|
||||
[turn on lots of GCC warnings (for developers)])],
|
||||
[case $enableval in
|
||||
yes|no) ;;
|
||||
*) AC_MSG_ERROR([bad value $enableval for gcc-warnings option]) ;;
|
||||
esac
|
||||
gl_gcc_warnings=$enableval],
|
||||
[gl_gcc_warnings=no]
|
||||
)
|
||||
|
||||
### Use -Wold-style-definition if the compiler supports it
|
||||
# This can be removed when conversion to standard C is finished.
|
||||
AC_MSG_CHECKING([whether gcc understands -Wold-style-definition])
|
||||
SAVE_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -Wold-style-definition"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], has_option=yes, has_option=no)
|
||||
if test $has_option = yes; then
|
||||
C_WARNINGS_SWITCH="-Wold-style-definition $C_WARNINGS_SWITCH"
|
||||
fi
|
||||
AC_MSG_RESULT($has_option)
|
||||
CFLAGS="$SAVE_CFLAGS"
|
||||
unset has_option
|
||||
unset SAVE_CFLAGS
|
||||
# gl_GCC_VERSION_IFELSE([major], [minor], [run-if-found], [run-if-not-found])
|
||||
# ------------------------------------------------
|
||||
# If $CPP is gcc-MAJOR.MINOR or newer, then run RUN-IF-FOUND.
|
||||
# Otherwise, run RUN-IF-NOT-FOUND.
|
||||
AC_DEFUN([gl_GCC_VERSION_IFELSE],
|
||||
[AC_PREPROC_IFELSE(
|
||||
[AC_LANG_PROGRAM(
|
||||
[[
|
||||
#if ($1) < __GNUC__ || (($1) == __GNUC__ && ($2) <= __GNUC_MINOR__)
|
||||
/* ok */
|
||||
#else
|
||||
# error "your version of gcc is older than $1.$2"
|
||||
#endif
|
||||
]]),
|
||||
], [$3], [$4])
|
||||
]
|
||||
)
|
||||
|
||||
### Use -Wimplicit-function-declaration if the compiler supports it
|
||||
AC_MSG_CHECKING([whether gcc understands -Wimplicit-function-declaration])
|
||||
SAVE_CFLAGS="$CFLAGS"
|
||||
CFLAGS="$CFLAGS -Wimplicit-function-declaration"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]], [[]])], has_option=yes, has_option=no)
|
||||
if test $has_option = yes; then
|
||||
C_WARNINGS_SWITCH="-Wimplicit-function-declaration $C_WARNINGS_SWITCH"
|
||||
fi
|
||||
AC_MSG_RESULT($has_option)
|
||||
CFLAGS="$SAVE_CFLAGS"
|
||||
unset has_option
|
||||
unset SAVE_CFLAGS
|
||||
# When compiling with GCC, prefer -isystem to -I when including system
|
||||
# include files, to avoid generating useless diagnostics for the files.
|
||||
if test "$gl_gcc_warnings" != yes; then
|
||||
isystem='-I'
|
||||
else
|
||||
isystem='-isystem '
|
||||
|
||||
# This, $nw, is the list of warnings we disable.
|
||||
nw=
|
||||
|
||||
case $with_x_toolkit in
|
||||
lucid | athena | motif)
|
||||
# Old toolkits mishandle 'const'.
|
||||
nw="$nw -Wwrite-strings"
|
||||
;;
|
||||
*)
|
||||
gl_WARN_ADD([-Werror], [WERROR_CFLAGS])
|
||||
;;
|
||||
esac
|
||||
AC_SUBST([WERROR_CFLAGS])
|
||||
|
||||
nw="$nw -Waggregate-return" # anachronistic
|
||||
nw="$nw -Wlong-long" # C90 is anachronistic (lib/gethrxtime.h)
|
||||
nw="$nw -Wc++-compat" # We don't care about C++ compilers
|
||||
nw="$nw -Wundef" # Warns on '#if GNULIB_FOO' etc in gnulib
|
||||
nw="$nw -Wtraditional" # Warns on #elif which we use often
|
||||
nw="$nw -Wcast-qual" # Too many warnings for now
|
||||
nw="$nw -Wconversion" # Too many warnings for now
|
||||
nw="$nw -Wsystem-headers" # Don't let system headers trigger warnings
|
||||
nw="$nw -Wsign-conversion" # Too many warnings for now
|
||||
nw="$nw -Woverlength-strings" # Not a problem these days
|
||||
nw="$nw -Wtraditional-conversion" # Too many warnings for now
|
||||
nw="$nw -Wpadded" # Our structs are not padded
|
||||
nw="$nw -Wredundant-decls" # We regularly (re)declare getenv etc.
|
||||
nw="$nw -Wlogical-op" # any use of fwrite provokes this
|
||||
nw="$nw -Wformat-nonliteral" # Emacs does this a lot
|
||||
nw="$nw -Wvla" # warnings in gettext.h
|
||||
nw="$nw -Wnested-externs" # use of XARGMATCH/verify_function__
|
||||
nw="$nw -Wswitch-enum" # Too many warnings for now
|
||||
nw="$nw -Wswitch-default" # Too many warnings for now
|
||||
nw="$nw -Wfloat-equal" # e.g., ftoastr.c
|
||||
nw="$nw -Winline" # e.g., dispnew.c's inlining of row_equal_p
|
||||
|
||||
# Emacs doesn't care about shadowing; see
|
||||
# <http://lists.gnu.org/archive/html/emacs-diffs/2011-11/msg00265.html>.
|
||||
nw="$nw -Wshadow"
|
||||
|
||||
# The following lines should be removable at some point.
|
||||
nw="$nw -Wstack-protector"
|
||||
nw="$nw -Wstrict-overflow"
|
||||
nw="$nw -Wsuggest-attribute=const"
|
||||
nw="$nw -Wsuggest-attribute=pure"
|
||||
|
||||
gl_MANYWARN_ALL_GCC([ws])
|
||||
gl_MANYWARN_COMPLEMENT([ws], [$ws], [$nw])
|
||||
for w in $ws; do
|
||||
gl_WARN_ADD([$w])
|
||||
done
|
||||
gl_WARN_ADD([-Wno-missing-field-initializers]) # We need this one
|
||||
gl_WARN_ADD([-Wno-sign-compare]) # Too many warnings for now
|
||||
gl_WARN_ADD([-Wno-type-limits]) # Too many warnings for now
|
||||
gl_WARN_ADD([-Wno-switch]) # Too many warnings for now
|
||||
gl_WARN_ADD([-Wno-unused-parameter]) # Too many warnings for now
|
||||
gl_WARN_ADD([-Wno-format-nonliteral])
|
||||
|
||||
# In spite of excluding -Wlogical-op above, it is enabled, as of
|
||||
# gcc 4.5.0 20090517.
|
||||
gl_WARN_ADD([-Wno-logical-op])
|
||||
|
||||
gl_WARN_ADD([-fdiagnostics-show-option])
|
||||
gl_WARN_ADD([-funit-at-a-time])
|
||||
|
||||
AC_DEFINE([lint], [1], [Define to 1 if the compiler is checking for lint.])
|
||||
AC_DEFINE([_FORTIFY_SOURCE], [2],
|
||||
[enable compile-time and run-time bounds-checking, and some warnings])
|
||||
AC_DEFINE([GNULIB_PORTCHECK], [1], [enable some gnulib portability checks])
|
||||
|
||||
# We use a slightly smaller set of warning options for lib/.
|
||||
# Remove the following and save the result in GNULIB_WARN_CFLAGS.
|
||||
nw=
|
||||
nw="$nw -Wunused-macros"
|
||||
|
||||
gl_MANYWARN_COMPLEMENT([GNULIB_WARN_CFLAGS], [$WARN_CFLAGS], [$nw])
|
||||
AC_SUBST([GNULIB_WARN_CFLAGS])
|
||||
fi
|
||||
|
||||
AC_SUBST(C_WARNINGS_SWITCH)
|
||||
|
||||
|
||||
#### Some other nice autoconf tests.
|
||||
|
|
@ -1127,8 +1201,13 @@ AC_DEFUN([PKG_CHECK_MODULES], [
|
|||
if $PKG_CONFIG --exists "$2" 2>&AS_MESSAGE_LOG_FD &&
|
||||
$1_CFLAGS=`$PKG_CONFIG --cflags "$2" 2>&AS_MESSAGE_LOG_FD` &&
|
||||
$1_LIBS=`$PKG_CONFIG --libs "$2" 2>&AS_MESSAGE_LOG_FD`; then
|
||||
|
||||
$1_CFLAGS=`AS_ECHO(["$$1_CFLAGS"]) | sed -e 's,///*,/,g'`
|
||||
edit_cflags="
|
||||
s,///*,/,g
|
||||
s/^/ /
|
||||
s/ -I/ $isystem/g
|
||||
s/^ //
|
||||
"
|
||||
$1_CFLAGS=`AS_ECHO(["$$1_CFLAGS"]) | sed -e "$edit_cflags"`
|
||||
$1_LIBS=`AS_ECHO(["$$1_LIBS"]) | sed -e 's,///*,/,g'`
|
||||
AC_MSG_RESULT([yes CFLAGS='$$1_CFLAGS' LIBS='$$1_LIBS'])
|
||||
succeeded=yes
|
||||
|
|
@ -1421,15 +1500,6 @@ else
|
|||
window_system=x11
|
||||
fi
|
||||
|
||||
## Workaround for bug in autoconf <= 2.62.
|
||||
## http://lists.gnu.org/archive/html/emacs-devel/2008-04/msg01551.html
|
||||
## No need to do anything special for these standard directories.
|
||||
if test -n "${x_libraries}" && test x"${x_libraries}" != xNONE; then
|
||||
|
||||
x_libraries=`echo :${x_libraries}: | sed -e 's|:/usr/lib64:|:|g' -e 's|:/lib64:|:|g' -e 's|^:||' -e 's|:$||'`
|
||||
|
||||
fi
|
||||
|
||||
LD_SWITCH_X_SITE_AUX=
|
||||
LD_SWITCH_X_SITE_AUX_RPATH=
|
||||
if test "${x_libraries}" != NONE; then
|
||||
|
|
@ -1463,7 +1533,7 @@ AC_SUBST(LD_SWITCH_X_SITE_AUX)
|
|||
AC_SUBST(LD_SWITCH_X_SITE_AUX_RPATH)
|
||||
|
||||
if test "${x_includes}" != NONE && test -n "${x_includes}"; then
|
||||
C_SWITCH_X_SITE=-I`echo ${x_includes} | sed -e "s/:/ -I/g"`
|
||||
C_SWITCH_X_SITE="$isystem"`echo ${x_includes} | sed -e "s/:/ $isystem/g"`
|
||||
fi
|
||||
|
||||
if test x"${x_includes}" = x; then
|
||||
|
|
@ -1550,13 +1620,12 @@ fail;
|
|||
AC_CHECK_HEADER([AppKit/AppKit.h], [HAVE_NS=yes],
|
||||
[AC_MSG_ERROR([`--with-ns' was specified, but the include
|
||||
files are missing or cannot be compiled.])])
|
||||
NS_HAVE_NSINTEGER=yes
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([#include <Foundation/NSObjCRuntime.h>],
|
||||
[NSInteger i;])],
|
||||
ns_have_nsinteger=yes,
|
||||
ns_have_nsinteger=no)
|
||||
if test $ns_have_nsinteger = no; then
|
||||
NS_HAVE_NSINTEGER=no
|
||||
if test $ns_have_nsinteger = yes; then
|
||||
AC_DEFINE(NS_HAVE_NSINTEGER, 1, [Define to 1 if `NSInteger' is defined.])
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(TEMACS_LDFLAGS2)
|
||||
|
|
@ -2589,7 +2658,7 @@ AC_SUBST(LIBGPM)
|
|||
dnl Check for malloc/malloc.h on darwin
|
||||
AC_CHECK_HEADER(malloc/malloc.h, [AC_DEFINE(HAVE_MALLOC_MALLOC_H, 1, [Define to 1 if you have the <malloc/malloc.h> header file.])])
|
||||
|
||||
C_SWITCH_X_SYSTEM=
|
||||
GNUSTEP_CFLAGS=
|
||||
### Use NeXTstep API to implement GUI.
|
||||
if test "${HAVE_NS}" = "yes"; then
|
||||
AC_DEFINE(HAVE_NS, 1, [Define to 1 if you are using the NeXTstep API, either GNUstep or Cocoa on Mac OS X.])
|
||||
|
|
@ -2600,15 +2669,10 @@ if test "${HAVE_NS}" = "yes"; then
|
|||
AC_DEFINE(NS_IMPL_GNUSTEP, 1, [Define to 1 if you are using NS windowing under GNUstep.])
|
||||
# See also .m.o rule in Makefile.in */
|
||||
# FIXME: are all these flags really needed? Document here why. */
|
||||
dnl FIXME this should be renamed to GNUSTEP_CFLAGS, and only
|
||||
dnl used in src/Makefile.in.
|
||||
C_SWITCH_X_SYSTEM="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}"
|
||||
GNUSTEP_CFLAGS="-D_REENTRANT -fPIC -fno-strict-aliasing -I${GNUSTEP_SYSTEM_HEADERS} ${GNUSTEP_LOCAL_HEADERS}"
|
||||
## Extra CFLAGS applied to src/*.m files.
|
||||
GNU_OBJC_CFLAGS="$GNU_OBJC_CFLAGS -fgnu-runtime -Wno-import -fconstant-string-class=NSConstantString -DGNUSTEP_BASE_LIBRARY=1 -DGNU_GUI_LIBRARY=1 -DGNU_RUNTIME=1 -DGSWARN -DGSDIAGNOSE"
|
||||
fi
|
||||
if test "${NS_HAVE_NSINTEGER}" = "yes"; then
|
||||
AC_DEFINE(NS_HAVE_NSINTEGER, 1, [Define to 1 if `NSInteger' is defined.])
|
||||
fi
|
||||
# We also have mouse menus.
|
||||
HAVE_MENUS=yes
|
||||
OTHER_FILES=ns-app
|
||||
|
|
@ -2751,6 +2815,7 @@ __fpending mblen mbrlen mbsinit strsignal setitimer ualarm \
|
|||
sendto recvfrom getsockopt setsockopt getsockname getpeername \
|
||||
gai_strerror mkstemp getline getdelim mremap fsync sync \
|
||||
difftime mempcpy mblen mbrlen posix_memalign \
|
||||
getpwent endpwent getgrent endgrent \
|
||||
cfmakeraw cfsetspeed copysign __executable_start)
|
||||
|
||||
dnl Cannot use AC_CHECK_FUNCS
|
||||
|
|
@ -3222,7 +3287,7 @@ AC_SUBST(gameuser)
|
|||
## end of LIBX_BASE, but nothing ever set it.
|
||||
AC_SUBST(LD_SWITCH_X_SITE)
|
||||
AC_SUBST(C_SWITCH_X_SITE)
|
||||
AC_SUBST(C_SWITCH_X_SYSTEM)
|
||||
AC_SUBST(GNUSTEP_CFLAGS)
|
||||
AC_SUBST(CFLAGS)
|
||||
## Used in lwlib/Makefile.in.
|
||||
AC_SUBST(X_TOOLKIT_TYPE)
|
||||
|
|
@ -3443,7 +3508,7 @@ case "$opsys" in
|
|||
## had not yet been defined and was expanded to null. Hence LD_SWITCH_SYSTEM
|
||||
## had different values in configure (in ac_link) and src/Makefile.in.
|
||||
## It seems clearer therefore to put this piece in LD_SWITCH_SYSTEM_TEMACS.
|
||||
gnu-linux) LD_SWITCH_SYSTEM_TEMACS="\$(LD_SWITCH_X_SITE_AUX)" ;;
|
||||
gnu*) LD_SWITCH_SYSTEM_TEMACS="\$(LD_SWITCH_X_SITE_AUX_RPATH)" ;;
|
||||
|
||||
*) LD_SWITCH_SYSTEM_TEMACS= ;;
|
||||
esac
|
||||
|
|
@ -3802,6 +3867,13 @@ to run if these resources are not installed."
|
|||
echo
|
||||
fi
|
||||
|
||||
if test "${opsys}" = "cygwin"; then
|
||||
case `uname -r` in
|
||||
1.5.*) AC_MSG_WARN([[building Emacs on Cygwin 1.5 is not supported.]])
|
||||
echo
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Remove any trailing slashes in these variables.
|
||||
[test "${prefix}" != NONE &&
|
||||
|
|
@ -3834,6 +3906,16 @@ if test -f $srcdir/${opt_makefile}.in; then
|
|||
AC_CONFIG_FILES([test/automated/Makefile])
|
||||
fi
|
||||
|
||||
|
||||
dnl admin/ may or may not be present.
|
||||
opt_makefile=admin/unidata/Makefile
|
||||
|
||||
if test -f $srcdir/${opt_makefile}.in; then
|
||||
SUBDIR_MAKEFILES="$SUBDIR_MAKEFILES $opt_makefile"
|
||||
AC_CONFIG_FILES([admin/unidata/Makefile])
|
||||
fi
|
||||
|
||||
|
||||
SUBDIR_MAKEFILES_IN=`echo " ${SUBDIR_MAKEFILES}" | sed -e 's| | $(srcdir)/|g' -e 's|Makefile|Makefile.in|g'`
|
||||
|
||||
AC_SUBST(SUBDIR_MAKEFILES_IN)
|
||||
|
|
|
|||
|
|
@ -1,3 +1,85 @@
|
|||
2012-04-15 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* misc.texi (emacsclient Options): More clarifications.
|
||||
|
||||
2012-04-15 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* msdog.texi (Windows Printing): It doesn't set printer-name.
|
||||
|
||||
* mule.texi (Language Environments): Move font info to "Fontsets".
|
||||
(Fontsets): Move intlfonts etc here from "Language Environments".
|
||||
Copyedits.
|
||||
(Defining Fontsets, Modifying Fontsets, Undisplayable Characters)
|
||||
(Unibyte Mode, Charsets, Bidirectional Editing): Copyedits.
|
||||
|
||||
2012-04-15 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* glossary.texi (Glossary): Standardize on "text terminal"
|
||||
terminology. All callers changed.
|
||||
|
||||
* misc.texi (emacsclient Options): Document "client frame" concept
|
||||
and its effect on C-x C-c more carefully.
|
||||
|
||||
2012-04-15 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* frames.texi (Scroll Bars):
|
||||
* glossary.texi (Glossary): Use consistent case for "X Window System".
|
||||
|
||||
* mule.texi (Select Input Method, Coding Systems):
|
||||
State command names in kbd tables.
|
||||
(Recognize Coding): Add cross-ref.
|
||||
(Output Coding): Don't mention message mode in particular.
|
||||
(Text Coding, Communication Coding, File Name Coding, Terminal Coding):
|
||||
Copyedits.
|
||||
|
||||
2012-04-14 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* mule.texi (Select Input Method, Coding Systems, Recognize Coding):
|
||||
Copyedits.
|
||||
(Coding Systems): Mac OS X apparently uses newlines for EOL.
|
||||
(Recognize Coding): Remove old auto-coding-regexp-alist example.
|
||||
auto-coding-functions does not override coding: tags.
|
||||
Remove rmail-decode-mime-charset; it no longer has any effect.
|
||||
|
||||
2012-04-14 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* custom.texi (Creating Custom Themes): Add reference to Custom
|
||||
Themes node in Lisp manual.
|
||||
|
||||
2012-04-14 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* mule.texi (International): Copyedits.
|
||||
(International Chars): Update C-x = example output.
|
||||
(Disabling Multibyte): Rename from "Enabling Multibyte".
|
||||
Clarify what "unibyte: t" does, and mode-line description.
|
||||
(Unibyte Mode): Update for "Disabling Multibyte" node name change.
|
||||
Use Texinfo recommended convention for quotes+punctuation.
|
||||
(Language Environments): Copyedits.
|
||||
(Input Methods): Copyedits. Use "^" for the postfix example,
|
||||
because it is less confusing inside Info's `quotes'.
|
||||
|
||||
* custom.texi (Specifying File Variables): Fix "unibyte" description.
|
||||
Update for "Disabling Multibyte" node name change.
|
||||
* emacs.texi: Update for "Disabling Multibyte" node name change.
|
||||
|
||||
* abbrevs.texi, arevert-xtra.texi, buffers.texi, building.texi:
|
||||
* cmdargs.texi, custom.texi, entering.texi, files.texi, frames.texi:
|
||||
* glossary.texi, help.texi, macos.texi, maintaining.texi, mini.texi:
|
||||
* misc.texi, package.texi, programs.texi, screen.texi, search.texi:
|
||||
* sending.texi, text.texi, trouble.texi:
|
||||
Use @file for buffers, per the Texinfo manual.
|
||||
|
||||
* entering.texi (Entering Emacs):
|
||||
Do not mention initial-buffer-choice = t.
|
||||
|
||||
* misc.texi (Gnus Startup): Use @env for environment variables.
|
||||
|
||||
* Makefile.in: Replace non-portable use of $< in ordinary rules.
|
||||
|
||||
2012-04-12 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* ack.texi (Acknowledgments): Don't mention obsolete mailpost.el.
|
||||
|
||||
2012-04-07 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* emacsver.texi (EMACSVER): Bump version to 24.1.50.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#### Makefile for the Emacs Manual
|
||||
|
||||
# Copyright (C) 1994, 1996-2012 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1994, 1996-2012 Free Software Foundation, Inc.
|
||||
|
||||
# This file is part of GNU Emacs.
|
||||
|
||||
|
|
@ -127,31 +127,31 @@ ps: emacs.ps
|
|||
# Note that all the Info targets build the Info files in srcdir.
|
||||
# There is no provision for Info files to exist in the build directory.
|
||||
# In a distribution of Emacs, the Info files should be up to date.
|
||||
|
||||
# Note: "<" is not portable in ordinary make rules.
|
||||
$(infodir)/emacs: ${EMACSSOURCES}
|
||||
$(mkinfodir)
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) -o $@ $<
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) -o $@ ${srcdir}/emacs.texi
|
||||
|
||||
emacs.dvi: ${EMACSSOURCES}
|
||||
$(ENVADD) $(TEXI2DVI) $<
|
||||
$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs.texi
|
||||
|
||||
emacs.ps: emacs.dvi
|
||||
$(DVIPS) -o $@ $<
|
||||
$(DVIPS) -o $@ emacs.dvi
|
||||
|
||||
emacs.pdf: ${EMACSSOURCES}
|
||||
$(ENVADD) $(TEXI2PDF) $<
|
||||
$(ENVADD) $(TEXI2PDF) ${srcdir}/emacs.texi
|
||||
|
||||
emacs.html: ${EMACSSOURCES}
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ $<
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ ${srcdir}/emacs.texi
|
||||
|
||||
emacs-xtra.dvi: $(EMACS_XTRA)
|
||||
$(ENVADD) $(TEXI2DVI) $<
|
||||
$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-xtra.texi
|
||||
|
||||
emacs-xtra.ps: emacs-xtra.dvi
|
||||
$(DVIPS) -o $@ $<
|
||||
$(DVIPS) -o $@ emacs-xtra.dvi
|
||||
|
||||
emacs-xtra.pdf: $(EMACS_XTRA)
|
||||
$(ENVADD) $(TEXI2PDF) $<
|
||||
$(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-xtra.texi
|
||||
|
||||
.PHONY: mostlyclean clean distclean maintainer-clean infoclean
|
||||
|
||||
|
|
|
|||
|
|
@ -261,12 +261,12 @@ expands to itself, and save it to your abbrev file.
|
|||
@kbd{M-x edit-abbrevs} allows you to add, change or kill abbrev
|
||||
definitions by editing a list of them in an Emacs buffer. The list has
|
||||
the same format described above. The buffer of abbrevs is called
|
||||
@samp{*Abbrevs*}, and is in Edit-Abbrevs mode. Type @kbd{C-c C-c} in
|
||||
@file{*Abbrevs*}, and is in Edit-Abbrevs mode. Type @kbd{C-c C-c} in
|
||||
this buffer to install the abbrev definitions as specified in the
|
||||
buffer---and delete any abbrev definitions not listed.
|
||||
|
||||
The command @code{edit-abbrevs} is actually the same as
|
||||
@code{list-abbrevs} except that it selects the buffer @samp{*Abbrevs*}
|
||||
@code{list-abbrevs} except that it selects the buffer @file{*Abbrevs*}
|
||||
whereas @code{list-abbrevs} merely displays it in another window.
|
||||
|
||||
@node Saving Abbrevs
|
||||
|
|
|
|||
|
|
@ -251,10 +251,6 @@ color manipulation. He also made various contributions to Gnus.
|
|||
Vivek Dasmohapatra wrote @file{htmlfontify.el}, to convert a buffer or
|
||||
source tree to HTML.
|
||||
|
||||
@item
|
||||
Gary Delp wrote @file{mailpost.el}, an interface between RMAIL and the
|
||||
@file{/usr/uci/post} mailer.
|
||||
|
||||
@item
|
||||
Matthieu Devin wrote @file{delsel.el}, a package to make newly-typed
|
||||
text replace the current selection.
|
||||
|
|
@ -694,8 +690,8 @@ directory-local variables; and the @code{info-finder} feature that
|
|||
creates a virtual Info manual of package keywords.
|
||||
|
||||
@item
|
||||
Károly L@H{o}rentey wrote the ``multi-terminal'' code, which allows Emacs to
|
||||
run on graphical and text-only terminals simultaneously.
|
||||
Károly L@H{o}rentey wrote the ``multi-terminal'' code, which allows
|
||||
Emacs to run on graphical and text terminals simultaneously.
|
||||
|
||||
@item
|
||||
Martin Lorentzon wrote @file{vc-annotate.el}, support for version
|
||||
|
|
|
|||
|
|
@ -93,8 +93,8 @@ deleting or changing marks or flags will mark it modified again.
|
|||
|
||||
Remote Dired buffers are not auto-reverted (because it may be slow).
|
||||
Neither are Dired buffers for which you used shell wildcards or file
|
||||
arguments to list only some of the files. @samp{*Find*} and
|
||||
@samp{*Locate*} buffers do not auto-revert either.
|
||||
arguments to list only some of the files. @file{*Find*} and
|
||||
@file{*Locate*} buffers do not auto-revert either.
|
||||
|
||||
@c FIXME? This should be in the elisp manual?
|
||||
@node Supporting additional buffers
|
||||
|
|
|
|||
|
|
@ -372,7 +372,7 @@ the text in the region. @xref{Mark}, for a description of the region.
|
|||
On most keyboards, @key{DEL} is labeled @key{Backspace}, but we
|
||||
refer to it as @key{DEL} in this manual. (Do not confuse @key{DEL}
|
||||
with the @key{Delete} key; we will discuss @key{Delete} momentarily.)
|
||||
On some text-only terminals, Emacs may not recognize the @key{DEL} key
|
||||
On some text terminals, Emacs may not recognize the @key{DEL} key
|
||||
properly. @xref{DEL Does Not Delete}, if you encounter this problem.
|
||||
|
||||
The @key{delete} (@code{delete-forward-char}) command deletes in the
|
||||
|
|
@ -530,7 +530,7 @@ too long to fit in the window, and Emacs displays it as two or more
|
|||
@dfn{continuation}, and the long logical line is called a
|
||||
@dfn{continued line}. On a graphical display, Emacs indicates line
|
||||
wrapping with small bent arrows in the left and right window fringes.
|
||||
On a text-only terminal, Emacs indicates line wrapping by displaying a
|
||||
On a text terminal, Emacs indicates line wrapping by displaying a
|
||||
@samp{\} character at the right margin.
|
||||
|
||||
Most commands that act on lines act on logical lines, not screen
|
||||
|
|
@ -545,9 +545,9 @@ and up, respectively, by one screen line (@pxref{Moving Point}).
|
|||
continuing them. This means that every logical line occupies a single
|
||||
screen line; if it is longer than the width of the window, the rest of
|
||||
the line is not displayed. On a graphical display, a truncated line
|
||||
is indicated by a small straight arrow in the right fringe; on a
|
||||
text-only terminal, it is indicated by a @samp{$} character in the
|
||||
right margin. @xref{Line Truncation}.
|
||||
is indicated by a small straight arrow in the right fringe; on a text
|
||||
terminal, it is indicated by a @samp{$} character in the right margin.
|
||||
@xref{Line Truncation}.
|
||||
|
||||
By default, continued lines are wrapped at the right window edge.
|
||||
Since the wrapping may occur in the middle of a word, continued lines
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
the file's text. Each time you invoke Dired, a buffer is used to hold
|
||||
the directory listing. If you send a message with @kbd{C-x m}, a
|
||||
buffer is used to hold the text of the message. When you ask for a
|
||||
command's documentation, that appears in a buffer named @samp{*Help*}.
|
||||
command's documentation, that appears in a buffer named @file{*Help*}.
|
||||
|
||||
Each buffer has a unique name, which can be of any length. When a
|
||||
buffer is displayed in a window, its name is shown in the mode line
|
||||
|
|
@ -19,7 +19,7 @@ buffer is displayed in a window, its name is shown in the mode line
|
|||
matters in buffer names. Most buffers are made by visiting files, and
|
||||
their names are derived from the files' names; however, you can also
|
||||
create an empty buffer with any name you want. A newly started Emacs
|
||||
has several buffers, including one named @samp{*scratch*}, which can
|
||||
has several buffers, including one named @file{*scratch*}, which can
|
||||
be used for evaluating Lisp expressions and is not associated with any
|
||||
file (@pxref{Lisp Interaction}).
|
||||
|
||||
|
|
@ -198,7 +198,7 @@ CRM Buffer Size Mode File
|
|||
@end smallexample
|
||||
|
||||
@noindent
|
||||
The buffer @samp{*Help*} was made by a help request (@pxref{Help}); it
|
||||
The buffer @file{*Help*} was made by a help request (@pxref{Help}); it
|
||||
is not visiting any file. The buffer @code{src} was made by Dired on
|
||||
the directory @file{~/cvs/emacs/src/}. You can list only buffers that
|
||||
are visiting files by giving the command a prefix argument, as in
|
||||
|
|
@ -248,9 +248,9 @@ happens and no renaming is done.
|
|||
@kbd{M-x rename-uniquely} renames the current buffer to a similar
|
||||
name with a numeric suffix added to make it both different and unique.
|
||||
This command does not need an argument. It is useful for creating
|
||||
multiple shell buffers: if you rename the @samp{*shell*} buffer, then
|
||||
multiple shell buffers: if you rename the @file{*shell*} buffer, then
|
||||
do @kbd{M-x shell} again, it makes a new shell buffer named
|
||||
@samp{*shell*}; meanwhile, the old shell buffer continues to exist
|
||||
@file{*shell*}; meanwhile, the old shell buffer continues to exist
|
||||
under its new name. This method is also good for mail buffers,
|
||||
compilation buffers, and most Emacs features that create special
|
||||
buffers with particular names. (With some of these features, such as
|
||||
|
|
@ -354,7 +354,7 @@ operations on buffers, through an interface similar to Dired
|
|||
@findex buffer-menu
|
||||
@findex buffer-menu-other-window
|
||||
To use the buffer menu, type @kbd{C-x C-b} and switch to the window
|
||||
displaying the @samp{*Buffer List*} buffer. You can also type
|
||||
displaying the @file{*Buffer List*} buffer. You can also type
|
||||
@kbd{M-x buffer-menu} to open the buffer menu in the selected window.
|
||||
Alternatively, the command @kbd{M-x buffer-menu-other-window} opens
|
||||
the buffer menu in another window, and selects that window.
|
||||
|
|
@ -409,11 +409,11 @@ Quit the buffer menu---immediately display the most recent formerly
|
|||
visible buffer in its place.
|
||||
@item @key{RET}
|
||||
@itemx f
|
||||
Immediately select this line's buffer in place of the @samp{*Buffer
|
||||
Immediately select this line's buffer in place of the @file{*Buffer
|
||||
List*} buffer.
|
||||
@item o
|
||||
Immediately select this line's buffer in another window as if by
|
||||
@kbd{C-x 4 b}, leaving @samp{*Buffer List*} visible.
|
||||
@kbd{C-x 4 b}, leaving @file{*Buffer List*} visible.
|
||||
@item C-o
|
||||
Immediately display this line's buffer in another window, but don't
|
||||
select the window.
|
||||
|
|
@ -422,7 +422,7 @@ Immediately select this line's buffer in a full-screen window.
|
|||
@item 2
|
||||
Immediately set up two windows, with this line's buffer selected in
|
||||
one, and the previously current buffer (aside from the buffer
|
||||
@samp{*Buffer List*}) displayed in the other.
|
||||
@file{*Buffer List*}) displayed in the other.
|
||||
@item b
|
||||
Bury the buffer listed on this line.
|
||||
@item m
|
||||
|
|
@ -448,19 +448,19 @@ the inclusion of such buffers in the buffer list.
|
|||
suitable buffer, and turn on Buffer Menu mode in it. Everything else
|
||||
described above is implemented by the special commands provided in
|
||||
Buffer Menu mode. One consequence of this is that you can switch from
|
||||
the @samp{*Buffer List*} buffer to another Emacs buffer, and edit
|
||||
there. You can reselect the @samp{*Buffer List*} buffer later, to
|
||||
the @file{*Buffer List*} buffer to another Emacs buffer, and edit
|
||||
there. You can reselect the @file{*Buffer List*} buffer later, to
|
||||
perform the operations already requested, or you can kill it, or pay
|
||||
no further attention to it.
|
||||
|
||||
Normally, the buffer @samp{*Buffer List*} is not updated
|
||||
Normally, the buffer @file{*Buffer List*} is not updated
|
||||
automatically when buffers are created and killed; its contents are
|
||||
just text. If you have created, deleted or renamed buffers, the way
|
||||
to update @samp{*Buffer List*} to show what you have done is to type
|
||||
to update @file{*Buffer List*} to show what you have done is to type
|
||||
@kbd{g} (@code{revert-buffer}). You can make this happen regularly
|
||||
every @code{auto-revert-interval} seconds if you enable Auto Revert
|
||||
mode in this buffer, as long as it is not marked modified. Global
|
||||
Auto Revert mode applies to the @samp{*Buffer List*} buffer only if
|
||||
Auto Revert mode applies to the @file{*Buffer List*} buffer only if
|
||||
@code{global-auto-revert-non-file-buffers} is non-@code{nil}.
|
||||
@iftex
|
||||
@inforef{Autorevert,, emacs-xtra}, for details.
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ messages and show you where the errors occurred.
|
|||
@table @kbd
|
||||
@item M-x compile
|
||||
Run a compiler asynchronously under Emacs, with error messages going to
|
||||
the @samp{*compilation*} buffer.
|
||||
the @file{*compilation*} buffer.
|
||||
@item M-x recompile
|
||||
Invoke a compiler with the same command as in the last invocation of
|
||||
@kbd{M-x compile}.
|
||||
|
|
@ -57,7 +57,7 @@ Kill the running compilation subprocess.
|
|||
compile}. This reads a shell command line using the minibuffer, and
|
||||
then executes the command by running a shell as a subprocess (or
|
||||
@dfn{inferior process}) of Emacs. The output is inserted in a buffer
|
||||
named @samp{*compilation*}. The current buffer's default directory is
|
||||
named @file{*compilation*}. The current buffer's default directory is
|
||||
used as the working directory for the execution of the command;
|
||||
normally, therefore, compilation takes place in this directory.
|
||||
|
||||
|
|
@ -72,19 +72,19 @@ specified is automatically stored in the variable
|
|||
type @kbd{M-x compile}. A file can also specify a file-local value
|
||||
for @code{compile-command} (@pxref{File Variables}).
|
||||
|
||||
Starting a compilation displays the @samp{*compilation*} buffer in
|
||||
Starting a compilation displays the @file{*compilation*} buffer in
|
||||
another window but does not select it. While the compilation is
|
||||
running, the word @samp{run} is shown in the major mode indicator for
|
||||
the @samp{*compilation*} buffer, and the word @samp{Compiling} appears
|
||||
in all mode lines. You do not have to keep the @samp{*compilation*}
|
||||
the @file{*compilation*} buffer, and the word @samp{Compiling} appears
|
||||
in all mode lines. You do not have to keep the @file{*compilation*}
|
||||
buffer visible while compilation is running; it continues in any case.
|
||||
When the compilation ends, for whatever reason, the mode line of the
|
||||
@samp{*compilation*} buffer changes to say @samp{exit} (followed by
|
||||
@file{*compilation*} buffer changes to say @samp{exit} (followed by
|
||||
the exit code: @samp{[0]} for a normal exit), or @samp{signal} (if a
|
||||
signal terminated the process).
|
||||
|
||||
If you want to watch the compilation transcript as it appears,
|
||||
switch to the @samp{*compilation*} buffer and move point to the end of
|
||||
switch to the @file{*compilation*} buffer and move point to the end of
|
||||
the buffer. When point is at the end, new compilation output is
|
||||
inserted above point, which remains at the end. Otherwise, point
|
||||
remains fixed while compilation output is added at the end of the
|
||||
|
|
@ -93,7 +93,7 @@ buffer.
|
|||
@cindex compilation buffer, keeping point at end
|
||||
@vindex compilation-scroll-output
|
||||
If you change the variable @code{compilation-scroll-output} to a
|
||||
non-@code{nil} value, the @samp{*compilation*} buffer scrolls
|
||||
non-@code{nil} value, the @file{*compilation*} buffer scrolls
|
||||
automatically to follow the output. If the value is
|
||||
@code{first-error}, scrolling stops when the first error appears,
|
||||
leaving point at that error. For any other non-@code{nil} value,
|
||||
|
|
@ -103,22 +103,22 @@ scrolling continues until there is no more output.
|
|||
To rerun the last compilation with the same command, type @kbd{M-x
|
||||
recompile}. This reuses the compilation command from the last
|
||||
invocation of @kbd{M-x compile}. It also reuses the
|
||||
@samp{*compilation*} buffer and starts the compilation in its default
|
||||
@file{*compilation*} buffer and starts the compilation in its default
|
||||
directory, which is the directory in which the previous compilation
|
||||
was started.
|
||||
|
||||
@findex kill-compilation
|
||||
Starting a new compilation also kills any compilation already
|
||||
running in @samp{*compilation*}, as the buffer can only handle one
|
||||
running in @file{*compilation*}, as the buffer can only handle one
|
||||
compilation at any time. However, @kbd{M-x compile} asks for
|
||||
confirmation before actually killing a compilation that is running.
|
||||
You can also kill the compilation process with @kbd{M-x
|
||||
kill-compilation}.
|
||||
|
||||
To run two compilations at once, start the first one, then rename
|
||||
the @samp{*compilation*} buffer (perhaps using @code{rename-uniquely};
|
||||
the @file{*compilation*} buffer (perhaps using @code{rename-uniquely};
|
||||
@pxref{Misc Buffer}), then switch buffers and start the other
|
||||
compilation. This will create a new @samp{*compilation*} buffer.
|
||||
compilation. This will create a new @file{*compilation*} buffer.
|
||||
|
||||
@vindex compilation-environment
|
||||
You can control the environment passed to the compilation command
|
||||
|
|
@ -133,7 +133,7 @@ variable settings override the usual ones.
|
|||
@cindex Compilation mode
|
||||
@cindex mode, Compilation
|
||||
@cindex locus
|
||||
The @samp{*compilation*} buffer uses a major mode called Compilation
|
||||
The @file{*compilation*} buffer uses a major mode called Compilation
|
||||
mode. Compilation mode turns each error message in the buffer into a
|
||||
hyperlink; you can move point to it and type @key{RET}, or click on it
|
||||
with the mouse (@pxref{Mouse References}), to visit the @dfn{locus} of
|
||||
|
|
@ -145,10 +145,10 @@ position in a file where that error occurred.
|
|||
If you change the variable
|
||||
@code{compilation-auto-jump-to-first-error} to a non-@code{nil} value,
|
||||
Emacs automatically visits the locus of the first error message that
|
||||
appears in the @samp{*compilation*} buffer.
|
||||
appears in the @file{*compilation*} buffer.
|
||||
|
||||
Compilation mode provides the following additional commands. These
|
||||
commands can also be used in @samp{*grep*} buffers, where the
|
||||
commands can also be used in @file{*grep*} buffers, where the
|
||||
hyperlinks are search matches rather than error messages (@pxref{Grep
|
||||
Searching}).
|
||||
|
||||
|
|
@ -190,7 +190,7 @@ mode buffer. The first time you invoke it after a compilation, it
|
|||
visits the locus of the first error message. Each subsequent
|
||||
@w{@kbd{C-x `}} visits the next error, in a similar fashion. If you
|
||||
visit a specific error with @key{RET} or a mouse click in the
|
||||
@samp{*compilation*} buffer, subsequent @w{@kbd{C-x `}} commands
|
||||
@file{*compilation*} buffer, subsequent @w{@kbd{C-x `}} commands
|
||||
advance from there. When @w{@kbd{C-x `}} finds no more error messages
|
||||
to visit, it signals an error. @w{@kbd{C-u C-x `}} starts again from
|
||||
the beginning of the compilation buffer, and visits the first locus.
|
||||
|
|
@ -199,8 +199,8 @@ the beginning of the compilation buffer, and visits the first locus.
|
|||
through errors in the opposite direction.
|
||||
|
||||
The @code{next-error} and @code{previous-error} commands don't just
|
||||
act on the errors or matches listed in @samp{*compilation*} and
|
||||
@samp{*grep*} buffers; they also know how to iterate through error or
|
||||
act on the errors or matches listed in @file{*compilation*} and
|
||||
@file{*grep*} buffers; they also know how to iterate through error or
|
||||
match lists produced by other commands, such as @kbd{M-x occur}
|
||||
(@pxref{Other Repeating Search}). If you are already in a buffer
|
||||
containing error messages or matches, those are the ones that are
|
||||
|
|
@ -224,16 +224,16 @@ highlights the relevant source line. The duration of this highlight
|
|||
is determined by the variable @code{next-error-highlight}.
|
||||
|
||||
@vindex compilation-context-lines
|
||||
If the @samp{*compilation*} buffer is shown in a window with a left
|
||||
If the @file{*compilation*} buffer is shown in a window with a left
|
||||
fringe (@pxref{Fringes}), the locus-visiting commands put an arrow in
|
||||
the fringe, pointing to the current error message. If the window has
|
||||
no left fringe, such as on a text-only terminal, these commands scroll
|
||||
the window so that the current message is at the top of the window.
|
||||
If you change the variable @code{compilation-context-lines} to an
|
||||
integer value @var{n}, these commands scroll the window so that the
|
||||
current error message is @var{n} lines from the top, whether or not
|
||||
there is a fringe; the default value, @code{nil}, gives the behavior
|
||||
described above.
|
||||
no left fringe, such as on a text terminal, these commands scroll the
|
||||
window so that the current message is at the top of the window. If
|
||||
you change the variable @code{compilation-context-lines} to an integer
|
||||
value @var{n}, these commands scroll the window so that the current
|
||||
error message is @var{n} lines from the top, whether or not there is a
|
||||
fringe; the default value, @code{nil}, gives the behavior described
|
||||
above.
|
||||
|
||||
@vindex compilation-error-regexp-alist
|
||||
@vindex grep-regexp-alist
|
||||
|
|
@ -276,7 +276,7 @@ Names}).
|
|||
command, but specifies the option for a noninteractive shell. This
|
||||
means, in particular, that the shell should start with no prompt. If
|
||||
you find your usual shell prompt making an unsightly appearance in the
|
||||
@samp{*compilation*} buffer, it means you have made a mistake in your
|
||||
@file{*compilation*} buffer, it means you have made a mistake in your
|
||||
shell's init file by setting the prompt unconditionally. (This init
|
||||
file may be named @file{.bashrc}, @file{.profile}, @file{.cshrc},
|
||||
@file{.shrc}, etc., depending on what shell you use.) The shell init
|
||||
|
|
@ -339,14 +339,14 @@ mode (@pxref{Compilation Mode}).
|
|||
@item M-x grep
|
||||
@itemx M-x lgrep
|
||||
Run @command{grep} asynchronously under Emacs, listing matching lines in
|
||||
the buffer named @samp{*grep*}.
|
||||
the buffer named @file{*grep*}.
|
||||
@item M-x grep-find
|
||||
@itemx M-x find-grep
|
||||
@itemx M-x rgrep
|
||||
Run @command{grep} via @code{find}, and collect output in the
|
||||
@samp{*grep*} buffer.
|
||||
@file{*grep*} buffer.
|
||||
@item M-x zrgrep
|
||||
Run @code{zgrep} and collect output in the @samp{*grep*} buffer.
|
||||
Run @code{zgrep} and collect output in the @file{*grep*} buffer.
|
||||
@item M-x kill-grep
|
||||
Kill the running @command{grep} subprocess.
|
||||
@end table
|
||||
|
|
@ -369,7 +369,7 @@ can chain @command{grep} commands, like this:
|
|||
grep -nH -e foo *.el | grep bar | grep toto
|
||||
@end example
|
||||
|
||||
The output from @command{grep} goes in the @samp{*grep*} buffer. You
|
||||
The output from @command{grep} goes in the @file{*grep*} buffer. You
|
||||
can find the corresponding lines in the original files using @w{@kbd{C-x
|
||||
`}}, @key{RET}, and so forth, just like compilation errors.
|
||||
|
||||
|
|
@ -572,12 +572,12 @@ for special commands that can be used in the GUD interaction buffer.
|
|||
|
||||
As you debug a program, Emacs displays the relevant source files by
|
||||
visiting them in Emacs buffers, with an arrow in the left fringe
|
||||
indicating the current execution line. (On a text-only terminal, the
|
||||
arrow appears as @samp{=>}, overlaid on the first two text columns.)
|
||||
Moving point in such a buffer does not move the arrow. You are free
|
||||
to edit these source files, but note that inserting or deleting lines
|
||||
will throw off the arrow's positioning, as Emacs has no way to figure
|
||||
out which edited source line corresponds to the line reported by the
|
||||
indicating the current execution line. (On a text terminal, the arrow
|
||||
appears as @samp{=>}, overlaid on the first two text columns.) Moving
|
||||
point in such a buffer does not move the arrow. You are free to edit
|
||||
these source files, but note that inserting or deleting lines will
|
||||
throw off the arrow's positioning, as Emacs has no way to figure out
|
||||
which edited source line corresponds to the line reported by the
|
||||
debugger subprocess. To update this information, you typically have
|
||||
to recompile and restart the program.
|
||||
|
||||
|
|
@ -936,7 +936,7 @@ already exists there, the click removes it. A @kbd{C-Mouse-1} click
|
|||
enables or disables an existing breakpoint; a breakpoint that is
|
||||
disabled, but not unset, is indicated by a gray dot.
|
||||
|
||||
On a text-only terminal, or when fringes are disabled, enabled
|
||||
On a text terminal, or when fringes are disabled, enabled
|
||||
breakpoints are indicated with a @samp{B} character in the left margin
|
||||
of the window. Disabled breakpoints are indicated with @samp{b}.
|
||||
(The margin is only displayed if a breakpoint is present.)
|
||||
|
|
@ -1079,9 +1079,9 @@ debugger}.
|
|||
|
||||
@findex gdb-frames-select
|
||||
On graphical displays, the selected stack frame is indicated by an
|
||||
arrow in the fringe. On text-only terminals, or when fringes are
|
||||
disabled, the selected stack frame is displayed in reverse contrast.
|
||||
To select a stack frame, move point in its line and type @key{RET}
|
||||
arrow in the fringe. On text terminals, or when fringes are disabled,
|
||||
the selected stack frame is displayed in reverse contrast. To select
|
||||
a stack frame, move point in its line and type @key{RET}
|
||||
(@code{gdb-frames-select}), or click @kbd{Mouse-2} on it. Doing so
|
||||
also updates the Locals buffer
|
||||
@ifnottex
|
||||
|
|
@ -1506,14 +1506,14 @@ commands are used; its default is @code{t}.
|
|||
@section Lisp Interaction Buffers
|
||||
|
||||
@findex lisp-interaction-mode
|
||||
When Emacs starts up, it contains a buffer named @samp{*scratch*},
|
||||
When Emacs starts up, it contains a buffer named @file{*scratch*},
|
||||
which is provided for evaluating Emacs Lisp expressions interactively.
|
||||
Its major mode is Lisp Interaction mode. You can also enable Lisp
|
||||
Interaction mode by typing @kbd{M-x lisp-interaction-mode}.
|
||||
|
||||
@findex eval-print-last-sexp
|
||||
@kindex C-j @r{(Lisp Interaction mode)}
|
||||
In the @samp{*scratch*} buffer, and other Lisp Interaction mode
|
||||
In the @file{*scratch*} buffer, and other Lisp Interaction mode
|
||||
buffers, @kbd{C-j} (@code{eval-print-last-sexp}) evaluates the Lisp
|
||||
expression before point, and inserts the value at point. Thus, as you
|
||||
type expressions into the buffer followed by @kbd{C-j} after each
|
||||
|
|
@ -1522,7 +1522,7 @@ expressions and their values. All other commands in Lisp Interaction
|
|||
mode are the same as in Emacs Lisp mode.
|
||||
|
||||
@vindex initial-scratch-message
|
||||
At startup, the @samp{*scratch*} buffer contains a short message, in
|
||||
At startup, the @file{*scratch*} buffer contains a short message, in
|
||||
the form of a Lisp comment, that explains what it is for. This
|
||||
message is controlled by the variable @code{initial-scratch-message},
|
||||
which should be either a string, or @code{nil} (which means to
|
||||
|
|
@ -1533,7 +1533,7 @@ suppress the message).
|
|||
interactively is to use Inferior Emacs Lisp mode, which provides an
|
||||
interface rather like Shell mode (@pxref{Shell Mode}) for evaluating
|
||||
Emacs Lisp expressions. Type @kbd{M-x ielm} to create an
|
||||
@samp{*ielm*} buffer which uses this mode. For more information, see
|
||||
@file{*ielm*} buffer which uses this mode. For more information, see
|
||||
that command's documentation.
|
||||
|
||||
@node External Lisp
|
||||
|
|
@ -1555,13 +1555,13 @@ whose names end in @file{.l}, @file{.lsp}, or @file{.lisp}.
|
|||
evaluated. To begin an external Lisp session, type @kbd{M-x
|
||||
run-lisp}. This runs the program named @command{lisp}, and sets it up
|
||||
so that both input and output go through an Emacs buffer named
|
||||
@samp{*inferior-lisp*}. To change the name of the Lisp program run by
|
||||
@file{*inferior-lisp*}. To change the name of the Lisp program run by
|
||||
@kbd{M-x run-lisp}, change the variable @code{inferior-lisp-program}.
|
||||
|
||||
The major mode for the @samp{*lisp*} buffer is Inferior Lisp mode,
|
||||
The major mode for the @file{*lisp*} buffer is Inferior Lisp mode,
|
||||
which combines the characteristics of Lisp mode and Shell mode
|
||||
(@pxref{Shell Mode}). To send input to the Lisp session, go to the
|
||||
end of the @samp{*lisp*} buffer and type the input, followed by
|
||||
end of the @file{*lisp*} buffer and type the input, followed by
|
||||
@key{RET}. Terminal output from the Lisp session is automatically
|
||||
inserted in the buffer.
|
||||
|
||||
|
|
@ -1572,7 +1572,7 @@ inserted in the buffer.
|
|||
buffer to a Lisp session that you had started with @kbd{M-x run-lisp}.
|
||||
The expression sent is the top-level Lisp expression at or following
|
||||
point. The resulting value goes as usual into the
|
||||
@samp{*inferior-lisp*} buffer. Note that the effect of @kbd{C-M-x} in
|
||||
@file{*inferior-lisp*} buffer. Note that the effect of @kbd{C-M-x} in
|
||||
Lisp mode is thus very similar to its effect in Emacs Lisp mode
|
||||
(@pxref{Lisp Eval}), except that the expression is sent to a different
|
||||
Lisp environment instead of being evaluated in Emacs.
|
||||
|
|
@ -1587,4 +1587,4 @@ to a Scheme subprocess, are very similar. Scheme source files are
|
|||
edited in Scheme mode, which can be explicitly enabled with @kbd{M-x
|
||||
scheme-mode}. You can initiate a Scheme session by typing @kbd{M-x
|
||||
run-scheme} (the buffer for interacting with Scheme is named
|
||||
@samp{*scheme*}), and send expressions to it by typing @kbd{C-M-x}.
|
||||
@file{*scheme*}), and send expressions to it by typing @kbd{C-M-x}.
|
||||
|
|
|
|||
|
|
@ -157,7 +157,7 @@ Evaluate Lisp expression @var{expression}.
|
|||
@item --insert=@var{file}
|
||||
@opindex --insert
|
||||
@cindex insert file contents, command-line argument
|
||||
Insert the contents of @var{file} into the @samp{*scratch*} buffer
|
||||
Insert the contents of @var{file} into the @file{*scratch*} buffer
|
||||
(@pxref{Lisp Interaction}). This is like what @kbd{M-x insert-file}
|
||||
does (@pxref{Misc File Ops}).
|
||||
|
||||
|
|
@ -849,8 +849,8 @@ emacs -ms coral -cr 'slate blue' &
|
|||
You can reverse the foreground and background colors through the
|
||||
@samp{-rv} option or with the X resource @samp{reverseVideo}.
|
||||
|
||||
The @samp{-fg}, @samp{-bg}, and @samp{-rv} options function on
|
||||
text-only terminals as well as on graphical displays.
|
||||
The @samp{-fg}, @samp{-bg}, and @samp{-rv} options function on text
|
||||
terminals as well as on graphical displays.
|
||||
|
||||
@node Window Size X
|
||||
@appendixsec Options for Window Size and Position
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ starting with @key{ESC}. Thus, you can enter @kbd{M-a} by typing
|
|||
C-a}. Unlike @key{Meta}, @key{ESC} is entered as a separate
|
||||
character. You don't hold down @key{ESC} while typing the next
|
||||
character; instead, press @key{ESC} and release it, then enter the
|
||||
next character. This feature is useful on certain text-only terminals
|
||||
next character. This feature is useful on certain text terminals
|
||||
where the @key{Meta} key does not function reliably.
|
||||
|
||||
@cindex keys stolen by window manager
|
||||
|
|
|
|||
|
|
@ -561,7 +561,7 @@ format of a theme file and how to make one.
|
|||
@vindex custom-theme-directory
|
||||
@cindex color scheme
|
||||
Type @kbd{M-x customize-themes} to switch to a buffer named
|
||||
@samp{*Custom Themes*}, which lists the Custom themes that Emacs knows
|
||||
@file{*Custom Themes*}, which lists the Custom themes that Emacs knows
|
||||
about. By default, Emacs looks for theme files in two locations: the
|
||||
directory specified by the variable @code{custom-theme-directory}
|
||||
(which defaults to @file{~/.emacs.d/}), and a directory named
|
||||
|
|
@ -580,11 +580,11 @@ add the directory name to the list variable
|
|||
@code{custom-theme-directory} has the special meaning of the value of
|
||||
the variable @code{custom-theme-directory}, while @code{t} stands for
|
||||
the built-in theme directory @file{etc/themes}. The themes listed in
|
||||
the @samp{*Custom Themes*} buffer are those found in the directories
|
||||
the @file{*Custom Themes*} buffer are those found in the directories
|
||||
specified by @code{custom-theme-load-path}.
|
||||
|
||||
@kindex C-x C-s @r{(Custom Themes buffer)}
|
||||
In the @samp{*Custom Themes*} buffer, you can activate the checkbox
|
||||
In the @file{*Custom Themes*} buffer, you can activate the checkbox
|
||||
next to a Custom theme to enable or disable the theme for the current
|
||||
Emacs session. When a Custom theme is enabled, all of its settings
|
||||
(variables and faces) take effect in the Emacs session. To apply the
|
||||
|
|
@ -608,7 +608,7 @@ always considered safe.
|
|||
Setting or saving Custom themes actually works by customizing the
|
||||
variable @code{custom-enabled-themes}. The value of this variable is
|
||||
a list of Custom theme names (as Lisp symbols, e.g.@: @code{tango}).
|
||||
Instead of using the @samp{*Custom Themes*} buffer to set
|
||||
Instead of using the @file{*Custom Themes*} buffer to set
|
||||
@code{custom-enabled-themes}, you can customize the variable using the
|
||||
usual customization interface, e.g.@: with @kbd{M-x customize-option}.
|
||||
Note that Custom themes are not allowed to set
|
||||
|
|
@ -635,7 +635,7 @@ type @kbd{M-x disable-theme}.
|
|||
|
||||
@findex describe-theme
|
||||
To see a description of a Custom theme, type @kbd{?} on its line in
|
||||
the @samp{*Custom Themes*} buffer; or type @kbd{M-x describe-theme}
|
||||
the @file{*Custom Themes*} buffer; or type @kbd{M-x describe-theme}
|
||||
anywhere in Emacs and enter the theme name in the minibuffer.
|
||||
|
||||
@node Creating Custom Themes
|
||||
|
|
@ -645,12 +645,12 @@ anywhere in Emacs and enter the theme name in the minibuffer.
|
|||
@findex customize-create-theme
|
||||
You can define a Custom theme using an interface similar to the
|
||||
customization buffer, by typing @kbd{M-x customize-create-theme}.
|
||||
This switches to a buffer named @samp{*Custom Theme*}. It also offers
|
||||
This switches to a buffer named @file{*Custom Theme*}. It also offers
|
||||
to insert some common Emacs faces into the theme (a convenience, since
|
||||
Custom themes are often used to customize faces). If you answer no,
|
||||
the theme will initially contain no settings.
|
||||
|
||||
Near the top of the @samp{*Custom Theme*} buffer are editable fields
|
||||
Near the top of the @file{*Custom Theme*} buffer are editable fields
|
||||
where you can enter the theme's name and description. The name can be
|
||||
anything except @samp{user}. The description is the one that will be
|
||||
shown when you invoke @kbd{M-x describe-theme} for the theme. Its
|
||||
|
|
@ -673,7 +673,7 @@ theme, uncheck the checkbox next to its name.
|
|||
@file{@var{name}-theme.el} where @var{name} is the theme name, in the
|
||||
directory named by @code{custom-theme-directory}.
|
||||
|
||||
From the @samp{*Custom Theme*} buffer, you can view and edit an
|
||||
From the @file{*Custom Theme*} buffer, you can view and edit an
|
||||
existing Custom theme by activating the @samp{[Visit Theme]} button
|
||||
and specifying the theme name. You can also add the settings of
|
||||
another theme into the buffer, using the @samp{[Merge Theme]} button.
|
||||
|
|
@ -683,10 +683,9 @@ the @samp{[Merge Theme]} button and specifying the special theme named
|
|||
|
||||
A theme file is simply an Emacs Lisp source file, and loading the
|
||||
Custom theme works by loading the Lisp file. Therefore, you can edit
|
||||
a theme file directly instead of using the @samp{*Custom Theme*}
|
||||
buffer.
|
||||
@c Add link to the relevant Emacs Lisp Reference manual node, once
|
||||
@c that is written.
|
||||
a theme file directly instead of using the @file{*Custom Theme*}
|
||||
buffer. @xref{Custom Themes,,, elisp, The Emacs Lisp Reference
|
||||
Manual}, for details.
|
||||
|
||||
@node Variables
|
||||
@section Variables
|
||||
|
|
@ -809,7 +808,7 @@ can set any variable with a Lisp expression like this:
|
|||
@noindent
|
||||
To execute such an expression, type @kbd{M-:} (@code{eval-expression})
|
||||
and enter the expression in the minibuffer (@pxref{Lisp Eval}).
|
||||
Alternatively, go to the @samp{*scratch*} buffer, type in the
|
||||
Alternatively, go to the @file{*scratch*} buffer, type in the
|
||||
expression, and then type @kbd{C-j} (@pxref{Lisp Interaction}).
|
||||
|
||||
Setting variables, like all means of customizing Emacs except where
|
||||
|
|
@ -1163,8 +1162,8 @@ returned by that expression is ignored).
|
|||
conversion of this file. @xref{Coding Systems}.
|
||||
|
||||
@item
|
||||
@code{unibyte} says to visit the file in a unibyte buffer, if the
|
||||
value is @code{t}. @xref{Enabling Multibyte}.
|
||||
@code{unibyte} says to load or compile a file of Emacs Lisp in unibyte
|
||||
mode, if the value is @code{t}. @xref{Disabling Multibyte}.
|
||||
@end itemize
|
||||
|
||||
@noindent
|
||||
|
|
|
|||
|
|
@ -286,8 +286,8 @@ scrolling whenever point moves off the left or right edge of the
|
|||
screen. To disable automatic horizontal scrolling, set the variable
|
||||
@code{auto-hscroll-mode} to @code{nil}. Note that when the automatic
|
||||
horizontal scrolling is turned off, if point moves off the edge of the
|
||||
screen, the cursor disappears to indicate that. (On text-only
|
||||
terminals, the cursor is left at the edge instead.)
|
||||
screen, the cursor disappears to indicate that. (On text terminals,
|
||||
the cursor is left at the edge instead.)
|
||||
|
||||
@vindex hscroll-margin
|
||||
The variable @code{hscroll-margin} controls how close point can get
|
||||
|
|
@ -479,9 +479,9 @@ prompts for a regular expression, and displays only faces with names
|
|||
matching that regular expression (@pxref{Regexps}).
|
||||
|
||||
It's possible for a given face to look different in different
|
||||
frames. For instance, some text-only terminals do not support all
|
||||
face attributes, particularly font, height, and width, and some
|
||||
support a limited range of colors.
|
||||
frames. For instance, some text terminals do not support all face
|
||||
attributes, particularly font, height, and width, and some support a
|
||||
limited range of colors.
|
||||
|
||||
@cindex background color
|
||||
@cindex default face
|
||||
|
|
@ -529,13 +529,13 @@ or an @dfn{RGB triplet}.
|
|||
@samp{medium sea green}. To view a list of color names, type @kbd{M-x
|
||||
list-colors-display}. To control the order in which colors are shown,
|
||||
customize @code{list-colors-sort}. If you run this command on a
|
||||
graphical display, it shows the full range of color names known to Emacs
|
||||
(these are the standard X11 color names, defined in X's @file{rgb.txt}
|
||||
file). If you run the command on a text-only terminal, it shows only a
|
||||
small subset of colors that can be safely displayed on such terminals.
|
||||
However, Emacs understands X11 color names even on text-only terminals;
|
||||
if a face is given a color specified by an X11 color name, it is
|
||||
displayed using the closest-matching terminal color.
|
||||
graphical display, it shows the full range of color names known to
|
||||
Emacs (these are the standard X11 color names, defined in X's
|
||||
@file{rgb.txt} file). If you run the command on a text terminal, it
|
||||
shows only a small subset of colors that can be safely displayed on
|
||||
such terminals. However, Emacs understands X11 color names even on
|
||||
text terminals; if a face is given a color specified by an X11 color
|
||||
name, it is displayed using the closest-matching terminal color.
|
||||
|
||||
An RGB triplet is a string of the form @samp{#RRGGBB}. Each of the
|
||||
R, G, and B components is a hexadecimal number specifying the
|
||||
|
|
@ -651,8 +651,8 @@ at the top of a window just as the mode line appears at the bottom.
|
|||
Most windows do not have a header line---only some special modes, such
|
||||
Info mode, create one.
|
||||
@item vertical-border
|
||||
This face is used for the vertical divider between windows on
|
||||
text-only terminals.
|
||||
This face is used for the vertical divider between windows on text
|
||||
terminals.
|
||||
@item minibuffer-prompt
|
||||
@cindex @code{minibuffer-prompt} face
|
||||
@vindex minibuffer-prompt-properties
|
||||
|
|
@ -679,9 +679,9 @@ This face determines the color of the mouse pointer.
|
|||
@end table
|
||||
|
||||
The following faces likewise control the appearance of parts of the
|
||||
Emacs frame, but only on text-only terminals, or when Emacs is built
|
||||
on X with no toolkit support. (For all other cases, the appearance of
|
||||
the respective frame elements is determined by system-wide settings.)
|
||||
Emacs frame, but only on text terminals, or when Emacs is built on X
|
||||
with no toolkit support. (For all other cases, the appearance of the
|
||||
respective frame elements is determined by system-wide settings.)
|
||||
|
||||
@table @code
|
||||
@item scroll-bar
|
||||
|
|
@ -1453,9 +1453,9 @@ global-hl-line-mode} enables or disables the same mode globally.
|
|||
Emacs can display long lines by @dfn{truncation}. This means that all
|
||||
the characters that do not fit in the width of the screen or window do
|
||||
not appear at all. On graphical displays, a small straight arrow in
|
||||
the fringe indicates truncation at either end of the line. On
|
||||
text-only terminals, this is indicated with @samp{$} signs in the
|
||||
leftmost and/or rightmost columns.
|
||||
the fringe indicates truncation at either end of the line. On text
|
||||
terminals, this is indicated with @samp{$} signs in the leftmost
|
||||
and/or rightmost columns.
|
||||
|
||||
@vindex truncate-lines
|
||||
@findex toggle-truncate-lines
|
||||
|
|
@ -1577,7 +1577,7 @@ of an overline above the text, including the height of the overline
|
|||
itself, in pixels; the default is 2.
|
||||
|
||||
@findex tty-suppress-bold-inverse-default-colors
|
||||
On some text-only terminals, bold face and inverse video together
|
||||
result in text that is hard to read. Call the function
|
||||
On some text terminals, bold face and inverse video together result
|
||||
in text that is hard to read. Call the function
|
||||
@code{tty-suppress-bold-inverse-default-colors} with a non-@code{nil}
|
||||
argument to suppress the effect of bold-face in this case.
|
||||
|
|
|
|||
|
|
@ -511,12 +511,12 @@ Frames and Graphical Displays
|
|||
* Tooltips:: Displaying information at the current mouse position.
|
||||
* Mouse Avoidance:: Moving the mouse pointer out of the way.
|
||||
* Non-Window Terminals:: Multiple frames on terminals that show only one.
|
||||
* Text-Only Mouse:: Using the mouse in text-only terminals.
|
||||
* Text-Only Mouse:: Using the mouse in text terminals.
|
||||
|
||||
International Character Set Support
|
||||
|
||||
* International Chars:: Basic concepts of multibyte characters.
|
||||
* Enabling Multibyte:: Controlling whether to use multibyte characters.
|
||||
* Disabling Multibyte:: Controlling whether to use multibyte characters.
|
||||
* Language Environments:: Setting things up for the language you use.
|
||||
* Input Methods:: Entering text characters not on your keyboard.
|
||||
* Select Input Method:: Specifying your choice of input methods.
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ certain Lisp files, where to put the initial frame, and so forth.
|
|||
If the variable @code{inhibit-startup-screen} is non-@code{nil},
|
||||
Emacs does not display the startup screen. In that case, if one or
|
||||
more files were specified on the command line, Emacs simply displays
|
||||
those files; otherwise, it displays a buffer named @samp{*scratch*},
|
||||
those files; otherwise, it displays a buffer named @file{*scratch*},
|
||||
which can be used to evaluate Emacs Lisp expressions interactively.
|
||||
@xref{Lisp Interaction}. You can set the variable
|
||||
@code{inhibit-startup-screen} using the Customize facility
|
||||
|
|
@ -77,9 +77,13 @@ information about @file{site-start.el}.}
|
|||
by setting the variable @code{initial-buffer-choice} to a
|
||||
non-@code{nil} value. (In that case, even if you specify one or more
|
||||
files on the command line, Emacs opens but does not display them.)
|
||||
The value of @code{initial-buffer-choice} can be either the name of
|
||||
the desired file or directory, or @code{t}, which means to display the
|
||||
@samp{*scratch*} buffer.
|
||||
The value of @code{initial-buffer-choice} should be the name of
|
||||
the desired file or directory.
|
||||
@ignore
|
||||
@c I do not think this should be mentioned. AFAICS it is just a dodge
|
||||
@c around inhibit-startup-screen not being settable on a site-wide basis.
|
||||
or @code{t}, which means to display the @file{*scratch*} buffer.
|
||||
@end ignore
|
||||
|
||||
@node Exiting, Basic, Entering Emacs, Top
|
||||
@section Exiting Emacs
|
||||
|
|
@ -144,14 +148,14 @@ stopping the program temporarily and returning control to the parent
|
|||
process (usually a shell); in most shells, you can resume Emacs after
|
||||
suspending it with the shell command @command{%emacs}.
|
||||
|
||||
Text-only terminals usually listen for certain special characters
|
||||
whose meaning is to kill or suspend the program you are running.
|
||||
@b{This terminal feature is turned off while you are in Emacs.} The
|
||||
meanings of @kbd{C-z} and @kbd{C-x C-c} as keys in Emacs were inspired
|
||||
by the use of @kbd{C-z} and @kbd{C-c} on several operating systems as
|
||||
the characters for stopping or killing a program, but that is their
|
||||
only relationship with the operating system. You can customize these
|
||||
keys to run any commands of your choice (@pxref{Keymaps}).
|
||||
Text terminals usually listen for certain special characters whose
|
||||
meaning is to kill or suspend the program you are running. @b{This
|
||||
terminal feature is turned off while you are in Emacs.} The meanings
|
||||
of @kbd{C-z} and @kbd{C-x C-c} as keys in Emacs were inspired by the
|
||||
use of @kbd{C-z} and @kbd{C-c} on several operating systems as the
|
||||
characters for stopping or killing a program, but that is their only
|
||||
relationship with the operating system. You can customize these keys
|
||||
to run any commands of your choice (@pxref{Keymaps}).
|
||||
|
||||
@ifnottex
|
||||
@lowersections
|
||||
|
|
|
|||
|
|
@ -976,7 +976,7 @@ are not visiting files are auto-saved only if you request it explicitly;
|
|||
when they are auto-saved, the auto-save file name is made by appending
|
||||
@samp{#} to the front and rear of buffer name, then
|
||||
adding digits and letters at the end for uniqueness. For
|
||||
example, the @samp{*mail*} buffer in which you compose messages to be
|
||||
example, the @file{*mail*} buffer in which you compose messages to be
|
||||
sent might be auto-saved in a file named @file{#*mail*#704juu}. Auto-save file
|
||||
names are made this way unless you reprogram parts of Emacs to do
|
||||
something different (the functions @code{make-auto-save-file-name} and
|
||||
|
|
@ -1245,7 +1245,7 @@ for more information about using the Trash.
|
|||
@vindex diff-switches
|
||||
The command @kbd{M-x diff} prompts for two file names, using the
|
||||
minibuffer, and displays the differences between the two files in a
|
||||
buffer named @samp{*diff*}. This works by running the @command{diff}
|
||||
buffer named @file{*diff*}. This works by running the @command{diff}
|
||||
program, using options taken from the variable @code{diff-switches}.
|
||||
The value of @code{diff-switches} should be a string; the default is
|
||||
@code{"-c"} to specify a context diff. @xref{Top,, Diff, diff,
|
||||
|
|
@ -1853,7 +1853,7 @@ When typing a file name in the minibuffer, @kbd{C-@key{tab}}
|
|||
(@code{file-cache-minibuffer-complete}) completes it using the file
|
||||
name cache. If you repeat @kbd{C-@key{tab}}, that cycles through the
|
||||
possible completions of what you had originally typed. (However, note
|
||||
that the @kbd{C-@key{tab}} character cannot be typed on most text-only
|
||||
that the @kbd{C-@key{tab}} character cannot be typed on most text
|
||||
terminals.)
|
||||
|
||||
The file name cache does not fill up automatically. Instead, you
|
||||
|
|
|
|||
|
|
@ -57,9 +57,9 @@ Undo one entry in the current buffer's undo records (@code{undo}).
|
|||
@kbd{C-x u})@footnote{Aside from @kbd{C-/}, the @code{undo} command is
|
||||
also bound to @kbd{C-x u} because that is more straightforward for
|
||||
beginners to remember: @samp{u} stands for ``undo''. It is also bound
|
||||
to @kbd{C-_} because typing @kbd{C-/} on some text-only terminals
|
||||
actually enters @kbd{C-_}.}. This undoes the most recent change in
|
||||
the buffer, and moves point back to where it was before that change.
|
||||
to @kbd{C-_} because typing @kbd{C-/} on some text terminals actually
|
||||
enters @kbd{C-_}.}. This undoes the most recent change in the buffer,
|
||||
and moves point back to where it was before that change.
|
||||
|
||||
Consecutive repetitions of @kbd{C-/} (or its aliases) undo earlier
|
||||
and earlier changes in the current buffer. If all the recorded
|
||||
|
|
|
|||
|
|
@ -27,13 +27,12 @@ displays (@pxref{Exiting}). To close just the selected frame, type
|
|||
|
||||
This chapter describes Emacs features specific to graphical displays
|
||||
(particularly mouse commands), and features for managing multiple
|
||||
frames. On text-only terminals, many of these features are
|
||||
unavailable. However, it is still possible to create multiple
|
||||
``frames'' on text-only terminals; such frames are displayed one at a
|
||||
time, filling the entire terminal screen (@pxref{Non-Window
|
||||
Terminals}). It is also possible to use the mouse on some text-only
|
||||
terminals (@pxref{Text-Only Mouse}, for doing so on GNU and Unix
|
||||
systems; and
|
||||
frames. On text terminals, many of these features are unavailable.
|
||||
However, it is still possible to create multiple ``frames'' on text
|
||||
terminals; such frames are displayed one at a time, filling the entire
|
||||
terminal screen (@pxref{Non-Window Terminals}). It is also possible
|
||||
to use the mouse on some text terminals (@pxref{Text-Only Mouse}, for
|
||||
doing so on GNU and Unix systems; and
|
||||
@iftex
|
||||
@pxref{MS-DOS Mouse,,,emacs-xtra,Specialized Emacs Features},
|
||||
@end iftex
|
||||
|
|
@ -62,7 +61,7 @@ for doing so on MS-DOS).
|
|||
* Tooltips:: Displaying information at the current mouse position.
|
||||
* Mouse Avoidance:: Preventing the mouse pointer from obscuring text.
|
||||
* Non-Window Terminals:: Multiple frames on terminals that show only one.
|
||||
* Text-Only Mouse:: Using the mouse in text-only terminals.
|
||||
* Text-Only Mouse:: Using the mouse in text terminals.
|
||||
@end menu
|
||||
|
||||
@node Mouse Commands
|
||||
|
|
@ -257,7 +256,7 @@ highlighting.
|
|||
@key{RET}, or by clicking either @kbd{Mouse-1} or @kbd{Mouse-2} on the
|
||||
button. For example, in a Dired buffer, each file name is a button;
|
||||
activating it causes Emacs to visit that file (@pxref{Dired}). In a
|
||||
@samp{*Compilation*} buffer, each error message is a button, and
|
||||
@file{*Compilation*} buffer, each error message is a button, and
|
||||
activating it visits the source code for that error
|
||||
(@pxref{Compilation}).
|
||||
|
||||
|
|
@ -465,9 +464,9 @@ the ordinary, interactive frames are deleted. In this case, @kbd{C-x
|
|||
|
||||
The @kbd{C-x 5 1} (@code{delete-other-frames}) command deletes all
|
||||
other frames on the current terminal (this terminal refers to either a
|
||||
graphical display, or a text-only terminal; @pxref{Non-Window
|
||||
Terminals}). If the Emacs session has frames open on other graphical
|
||||
displays or text terminals, those are not deleted.
|
||||
graphical display, or a text terminal; @pxref{Non-Window Terminals}).
|
||||
If the Emacs session has frames open on other graphical displays or
|
||||
text terminals, those are not deleted.
|
||||
|
||||
@vindex focus-follows-mouse
|
||||
The @kbd{C-x 5 o} (@code{other-frame}) command selects the next
|
||||
|
|
@ -908,7 +907,7 @@ scroll bars on the right side of windows), @code{left} (put them on
|
|||
the left), or @code{nil} (disable scroll bars). By default, Emacs
|
||||
puts scroll bars on the right if it was compiled with GTK+ support on
|
||||
the X Window System, and on MS-Windows or Mac OS; Emacs puts scroll
|
||||
bars on the left if compiled on the X Window system without GTK+
|
||||
bars on the left if compiled on the X Window System without GTK+
|
||||
support (following the old convention for X applications).
|
||||
|
||||
@vindex scroll-bar-width
|
||||
|
|
@ -953,7 +952,7 @@ the use of menu bars at startup, customize the variable
|
|||
@code{menu-bar-mode}.
|
||||
|
||||
@kindex C-Mouse-3 @r{(when menu bar is disabled)}
|
||||
Expert users often turn off the menu bar, especially on text-only
|
||||
Expert users often turn off the menu bar, especially on text
|
||||
terminals, where this makes one additional line available for text.
|
||||
If the menu bar is off, you can still pop up a menu of its contents
|
||||
with @kbd{C-Mouse-3} on a display which supports pop-up menus.
|
||||
|
|
@ -1112,9 +1111,9 @@ raises the frame.
|
|||
|
||||
@node Non-Window Terminals
|
||||
@section Non-Window Terminals
|
||||
@cindex text-only terminal
|
||||
@cindex text terminal
|
||||
|
||||
On a text-only terminal, Emacs can display only one Emacs frame at a
|
||||
On a text terminal, Emacs can display only one Emacs frame at a
|
||||
time. However, you can still create multiple Emacs frames, and switch
|
||||
between them. Switching frames on these terminals is much like
|
||||
switching between different window configurations.
|
||||
|
|
@ -1139,11 +1138,11 @@ to select a frame according to its name. The name you specify appears
|
|||
in the mode line when the frame is selected.
|
||||
|
||||
@node Text-Only Mouse
|
||||
@section Using a Mouse in Text-only Terminals
|
||||
@section Using a Mouse in Text Terminals
|
||||
@cindex mouse support
|
||||
@cindex terminal emulators, mouse support
|
||||
|
||||
Some text-only terminals support mouse clicks in the terminal window.
|
||||
Some text terminals support mouse clicks in the terminal window.
|
||||
|
||||
@cindex xterm
|
||||
In a terminal emulator which is compatible with @command{xterm}, you
|
||||
|
|
|
|||
|
|
@ -181,7 +181,7 @@ Emacs supports a number of character sets, each of which represents a
|
|||
particular alphabet or script. @xref{International}.
|
||||
|
||||
@item Character Terminal
|
||||
@xref{Glossary - Text-only Terminal}.
|
||||
@xref{Glossary - Text Terminal}.
|
||||
|
||||
@item Click Event
|
||||
A click event is the kind of input event (q.v.@:) generated when you
|
||||
|
|
@ -193,7 +193,7 @@ press a mouse button and release it without moving the mouse.
|
|||
|
||||
@item Clipboard
|
||||
A clipboard is a buffer provided by the window system for transferring
|
||||
text between applications. On the X Window system, the clipboard is
|
||||
text between applications. On the X Window System, the clipboard is
|
||||
provided in addition to the primary selection (q.v.@:); on MS-Windows and Mac,
|
||||
the clipboard is used @emph{instead} of the primary selection.
|
||||
@xref{Clipboard}.
|
||||
|
|
@ -421,7 +421,7 @@ tell it to. @xref{Bugs}.
|
|||
The echo area is the bottom line of the screen, used for echoing the
|
||||
arguments to commands, for asking questions, and showing brief messages
|
||||
(including error messages). The messages are stored in the buffer
|
||||
@samp{*Messages*} so you can review them later. @xref{Echo Area}.
|
||||
@file{*Messages*} so you can review them later. @xref{Echo Area}.
|
||||
|
||||
@item Echoing
|
||||
Echoing is acknowledging the receipt of input events by displaying
|
||||
|
|
@ -1329,12 +1329,12 @@ Data consisting of written human language (as opposed to programs),
|
|||
or following the stylistic conventions of human language.
|
||||
@end itemize
|
||||
|
||||
@anchor{Glossary - Text-only Terminal}
|
||||
@item Text-only Terminal
|
||||
A text-only terminal is a display that is limited to displaying text in
|
||||
character units. Such a terminal cannot control individual pixels it
|
||||
displays. Emacs supports a subset of display features on text-only
|
||||
terminals.
|
||||
@anchor{Glossary - Text Terminal}
|
||||
@item Text Terminal
|
||||
A text terminal, or character terminal, is a display that is limited
|
||||
to displaying text in character units. Such a terminal cannot control
|
||||
individual pixels it displays. Emacs supports a subset of display
|
||||
features on text terminals.
|
||||
|
||||
@item Text Properties
|
||||
Text properties are annotations recorded for particular characters in
|
||||
|
|
@ -1384,7 +1384,7 @@ displaying it. @xref{Continuation Lines,Truncation}, and
|
|||
@ref{Glossary - Continuation Line}.
|
||||
|
||||
@item TTY
|
||||
@xref{Glossary - Text-only Terminal}.
|
||||
@xref{Glossary - Text Terminal}.
|
||||
|
||||
@item Undoing
|
||||
Undoing means making your previous editing go in reverse, bringing
|
||||
|
|
|
|||
|
|
@ -102,7 +102,7 @@ to (@code{describe-key-briefly}). Here @kbd{c} stands for
|
|||
Display the commands and variables whose documentation matches
|
||||
@var{topics} (@code{apropos-documentation}).
|
||||
@item C-h e
|
||||
Display the @code{*Messages*} buffer
|
||||
Display the @file{*Messages*} buffer
|
||||
(@code{view-echo-area-messages}).
|
||||
@item C-h f @var{function} @key{RET}
|
||||
Display documentation on the Lisp function named @var{function}
|
||||
|
|
@ -168,7 +168,7 @@ programming language you are editing (@code{info-lookup-symbol}).
|
|||
@item C-h .
|
||||
Display the help message for a special text area, if point is in one
|
||||
(@code{display-local-help}). (These include, for example, links in
|
||||
@samp{*Help*} buffers.)
|
||||
@file{*Help*} buffers.)
|
||||
@end table
|
||||
|
||||
@node Key Help
|
||||
|
|
@ -519,7 +519,7 @@ use @kbd{C-h c} to find out what they do.
|
|||
@findex view-echo-area-messages
|
||||
To review recent echo area messages, use @kbd{C-h e}
|
||||
(@code{view-echo-area-messages}). This displays the buffer
|
||||
@code{*Messages*}, where those messages are kept.
|
||||
@file{*Messages*}, where those messages are kept.
|
||||
|
||||
@kindex C-h m
|
||||
@findex describe-mode
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ Emacs open a file. A typical reason for this would be a user
|
|||
double-clicking a file in the Finder application. By default, Emacs
|
||||
responds to this event by opening a new frame and visiting the file in
|
||||
that frame (@code{ns-find-file}). As an exception, if the selected
|
||||
buffer is the @samp{*scratch*} buffer, Emacs visits the file in the
|
||||
buffer is the @file{*scratch*} buffer, Emacs visits the file in the
|
||||
selected frame.
|
||||
|
||||
You can change how Emacs responds to a @code{ns-open-file} event by
|
||||
|
|
|
|||
|
|
@ -477,7 +477,7 @@ If every work file in the VC fileset is unchanged, do nothing.
|
|||
|
||||
@item
|
||||
If every work file in the VC fileset has been modified, commit the
|
||||
changes. To do this, Emacs pops up a @samp{*vc-log*} buffer; type the
|
||||
changes. To do this, Emacs pops up a @file{*vc-log*} buffer; type the
|
||||
desired log entry for the new revision, followed by @kbd{C-c C-c} to
|
||||
commit. @xref{Log Buffer}.
|
||||
|
||||
|
|
@ -530,7 +530,7 @@ so that you can begin to edit it.
|
|||
|
||||
@item
|
||||
If each file is locked by you and contains changes, commit the
|
||||
changes. To do this, Emacs pops up a @samp{*vc-log*} buffer; type the
|
||||
changes. To do this, Emacs pops up a @file{*vc-log*} buffer; type the
|
||||
desired log entry for the new revision, followed by @kbd{C-c C-c} to
|
||||
commit (@pxref{Log Buffer}).
|
||||
|
||||
|
|
@ -588,7 +588,7 @@ they use the concept of ``checking out'' individual files.
|
|||
@cindex C-c C-c @r{(Log Edit mode)}
|
||||
@findex log-edit-done
|
||||
When you tell VC to commit a change, it pops up a buffer named
|
||||
@samp{*vc-log*}. In this buffer, you should write a @dfn{log entry}
|
||||
@file{*vc-log*}. In this buffer, you should write a @dfn{log entry}
|
||||
describing the changes you have made (@pxref{Why Version Control?}).
|
||||
After you are done, type @kbd{C-c C-c} (@code{log-edit-done}) to exit
|
||||
the buffer and commit the change, together with your log entry.
|
||||
|
|
@ -596,12 +596,12 @@ the buffer and commit the change, together with your log entry.
|
|||
@cindex Log Edit mode
|
||||
@cindex mode, Log Edit
|
||||
@vindex vc-log-mode-hook
|
||||
The major mode for the @samp{*vc-log*} buffer is Log Edit mode, a
|
||||
The major mode for the @file{*vc-log*} buffer is Log Edit mode, a
|
||||
variant of Text mode (@pxref{Text Mode}). On entering Log Edit mode,
|
||||
Emacs runs the hooks @code{text-mode-hook} and @code{vc-log-mode-hook}
|
||||
(@pxref{Hooks}).
|
||||
|
||||
In the @samp{*vc-log*} buffer, you can write one or more @dfn{header
|
||||
In the @file{*vc-log*} buffer, you can write one or more @dfn{header
|
||||
lines}, specifying additional information to be supplied to the
|
||||
version control system. Each header line must occupy a single line at
|
||||
the top of the buffer; the first line that is not a header line is
|
||||
|
|
@ -626,7 +626,7 @@ support it, the header is treated as part of the log entry.
|
|||
@findex log-edit-show-files
|
||||
@kindex C-c C-d @r{(Log Edit mode)}
|
||||
@findex log-edit-show-diff
|
||||
While in the @samp{*vc-log*} buffer, the ``current VC fileset'' is
|
||||
While in the @file{*vc-log*} buffer, the ``current VC fileset'' is
|
||||
considered to be the fileset that will be committed if you type
|
||||
@w{@kbd{C-c C-c}}. To view a list of the files in the VC fileset,
|
||||
type @w{@kbd{C-c C-f}} (@code{log-edit-show-files}). To view a diff
|
||||
|
|
@ -639,7 +639,7 @@ started editing (@pxref{Old Revisions}), type @kbd{C-c C-d}
|
|||
If the VC fileset includes one or more @file{ChangeLog} files
|
||||
(@pxref{Change Log}), type @kbd{C-c C-a}
|
||||
(@code{log-edit-insert-changelog}) to pull the relevant entries into
|
||||
the @samp{*vc-log*} buffer. If the topmost item in each
|
||||
the @file{*vc-log*} buffer. If the topmost item in each
|
||||
@file{ChangeLog} was made under your user name on the current date,
|
||||
this command searches that item for entries matching the file(s) to be
|
||||
committed, and inserts them.
|
||||
|
|
@ -652,7 +652,7 @@ Edit buffer.
|
|||
To abort a commit, just @strong{don't} type @kbd{C-c C-c} in that
|
||||
buffer. You can switch buffers and do other editing. As long as you
|
||||
don't try to make another commit, the entry you were editing remains
|
||||
in the @samp{*vc-log*} buffer, and you can go back to that buffer at
|
||||
in the @file{*vc-log*} buffer, and you can go back to that buffer at
|
||||
any time to complete the commit.
|
||||
|
||||
@kindex M-n @r{(Log Edit mode)}
|
||||
|
|
@ -904,10 +904,10 @@ Display the changes that will be sent by the next push operation
|
|||
@kindex C-x v l
|
||||
@findex vc-print-log
|
||||
The command @kbd{C-x v l} (@code{vc-print-log}) displays a buffer
|
||||
named @samp{*vc-change-log*}, showing the history of changes made to
|
||||
named @file{*vc-change-log*}, showing the history of changes made to
|
||||
the current file, including who made the changes, the dates, and the
|
||||
log entry for each change (these are the same log entries you would
|
||||
enter via the @samp{*vc-log*} buffer; @pxref{Log Buffer}). Point is
|
||||
enter via the @file{*vc-log*} buffer; @pxref{Log Buffer}). Point is
|
||||
centered at the revision of the file currently being visited. With a
|
||||
prefix argument, the command prompts for the revision to center on,
|
||||
and the maximum number of revisions to display.
|
||||
|
|
@ -919,7 +919,7 @@ file listed on the current line.
|
|||
@findex vc-print-root-log
|
||||
@findex log-view-toggle-entry-display
|
||||
@kbd{C-x v L} (@code{vc-print-root-log}) displays a
|
||||
@samp{*vc-change-log*} buffer showing the history of the entire
|
||||
@file{*vc-change-log*} buffer showing the history of the entire
|
||||
version-controlled directory tree (RCS, SCCS, and CVS do not support
|
||||
this feature). With a prefix argument, the command prompts for the
|
||||
maximum number of revisions to display.
|
||||
|
|
@ -927,7 +927,7 @@ maximum number of revisions to display.
|
|||
The @kbd{C-x v L} history is shown in a compact form, usually
|
||||
showing only the first line of each log entry. However, you can type
|
||||
@key{RET} (@code{log-view-toggle-entry-display}) in the
|
||||
@samp{*vc-change-log*} buffer to reveal the entire log entry for the
|
||||
@file{*vc-change-log*} buffer to reveal the entire log entry for the
|
||||
revision at point. A second @key{RET} hides it again.
|
||||
|
||||
On a decentralized version control system, the @kbd{C-x v I}
|
||||
|
|
@ -942,7 +942,7 @@ specific repository. Similarly, @kbd{C-x v O}
|
|||
another repository, the next time you run the ``push'' command; with a
|
||||
prefix argument, it prompts for a specific destination repository.
|
||||
|
||||
In the @samp{*vc-change-log*} buffer, you can use the following keys
|
||||
In the @file{*vc-change-log*} buffer, you can use the following keys
|
||||
to move between the logs of revisions and of files, and to examine and
|
||||
compare past revisions (@pxref{Old Revisions}):
|
||||
|
||||
|
|
@ -993,11 +993,11 @@ revision at point.
|
|||
|
||||
@vindex vc-log-show-limit
|
||||
Because fetching many log entries can be slow, the
|
||||
@samp{*vc-change-log*} buffer displays no more than 2000 revisions by
|
||||
@file{*vc-change-log*} buffer displays no more than 2000 revisions by
|
||||
default. The variable @code{vc-log-show-limit} specifies this limit;
|
||||
if you set the value to zero, that removes the limit. You can also
|
||||
increase the number of revisions shown in an existing
|
||||
@samp{*vc-change-log*} buffer by clicking on the @samp{Show 2X
|
||||
@file{*vc-change-log*} buffer by clicking on the @samp{Show 2X
|
||||
entries} or @samp{Show unlimited entries} buttons at the end of the
|
||||
buffer. However, RCS, SCCS, and CVS do not support this feature.
|
||||
|
||||
|
|
@ -1045,7 +1045,7 @@ it is used to specify multi-file VC filesets for commands like
|
|||
To use the VC Directory buffer, type @kbd{C-x v d} (@code{vc-dir}).
|
||||
This reads a directory name using the minibuffer, and switches to a VC
|
||||
Directory buffer for that directory. By default, the buffer is named
|
||||
@samp{*vc-dir*}. Its contents are described
|
||||
@file{*vc-dir*}. Its contents are described
|
||||
@iftex
|
||||
below.
|
||||
@end iftex
|
||||
|
|
|
|||
|
|
@ -197,7 +197,7 @@ set the variable @code{enable-recursive-minibuffers} to @code{t}.
|
|||
|
||||
@findex minibuffer-inactive-mode
|
||||
When not active, the minibuffer is in @code{minibuffer-inactive-mode},
|
||||
and clicking @kbd{Mouse-1} there shows the @samp{*Messages*} buffer.
|
||||
and clicking @kbd{Mouse-1} there shows the @file{*Messages*} buffer.
|
||||
If you use a dedicated frame for minibuffers, Emacs also recognizes
|
||||
certain keys there, for example @kbd{n} to make a new frame.
|
||||
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ file named @file{.newsrc} in your home directory which lists your
|
|||
Usenet newsgroups and subscriptions (this file is not unique to Gnus;
|
||||
it is used by many other newsreader programs). It then tries to
|
||||
contact the system's default news server, which is typically specified
|
||||
by the @samp{NNTPSERVER} environment variable.
|
||||
by the @env{NNTPSERVER} environment variable.
|
||||
|
||||
If your system does not have a default news server, or if you wish
|
||||
to use Gnus for reading email, then before invoking @kbd{M-x gnus} you
|
||||
|
|
@ -507,7 +507,7 @@ minibuffer and executes it as a shell command, in a subshell made just
|
|||
for that command. Standard input for the command comes from the null
|
||||
device. If the shell command produces any output, the output appears
|
||||
either in the echo area (if it is short), or in an Emacs buffer named
|
||||
@samp{*Shell Command Output*}, displayed in another window (if the
|
||||
@file{*Shell Command Output*}, displayed in another window (if the
|
||||
output is long).
|
||||
|
||||
For instance, one way to decompress a file named @file{foo.gz} is to
|
||||
|
|
@ -554,7 +554,7 @@ old region and replaces it with the output from the shell command.
|
|||
see what keys are in the buffer. If the buffer contains a GnuPG key,
|
||||
type @kbd{C-x h M-| gpg @key{RET}} to feed the entire buffer contents
|
||||
to @command{gpg}. This will output the list of keys to the
|
||||
@samp{*Shell Command Output*} buffer.
|
||||
@file{*Shell Command Output*} buffer.
|
||||
|
||||
@vindex shell-file-name
|
||||
The above commands use the shell specified by the variable
|
||||
|
|
@ -577,7 +577,7 @@ inserted into a buffer of that name.
|
|||
|
||||
@findex shell
|
||||
To run a subshell interactively, type @kbd{M-x shell}. This creates
|
||||
(or reuses) a buffer named @samp{*shell*}, and runs a shell subprocess
|
||||
(or reuses) a buffer named @file{*shell*}, and runs a shell subprocess
|
||||
with input coming from and output going to that buffer. That is to
|
||||
say, any terminal output from the subshell goes into the buffer,
|
||||
advancing point, and any terminal input for the subshell comes from
|
||||
|
|
@ -600,8 +600,8 @@ easier to distinguish input lines from the shell output.
|
|||
To make multiple subshells, invoke @kbd{M-x shell} with a prefix
|
||||
argument (e.g. @kbd{C-u M-x shell}). Then the command will read a
|
||||
buffer name, and create (or reuse) a subshell in that buffer. You can
|
||||
also rename the @samp{*shell*} buffer using @kbd{M-x rename-uniquely},
|
||||
then create a new @samp{*shell*} buffer using plain @kbd{M-x shell}.
|
||||
also rename the @file{*shell*} buffer using @kbd{M-x rename-uniquely},
|
||||
then create a new @file{*shell*} buffer using plain @kbd{M-x shell}.
|
||||
Subshells in different buffers run independently and in parallel.
|
||||
|
||||
@vindex explicit-shell-file-name
|
||||
|
|
@ -1183,7 +1183,7 @@ underlying shell, of course.
|
|||
@findex term
|
||||
|
||||
To run a subshell in a terminal emulator, use @kbd{M-x term}. This
|
||||
creates (or reuses) a buffer named @samp{*terminal*}, and runs a
|
||||
creates (or reuses) a buffer named @file{*terminal*}, and runs a
|
||||
subshell with input coming from your keyboard, and output going to
|
||||
that buffer.
|
||||
|
||||
|
|
@ -1212,7 +1212,7 @@ serial port. @xref{Serial Terminal}.
|
|||
|
||||
The file name used to load the subshell is determined the same way
|
||||
as for Shell mode. To make multiple terminal emulators, rename the
|
||||
buffer @samp{*terminal*} to something different using @kbd{M-x
|
||||
buffer @file{*terminal*} to something different using @kbd{M-x
|
||||
rename-uniquely}, just as with Shell mode.
|
||||
|
||||
Unlike Shell mode, Term mode does not track the current directory by
|
||||
|
|
@ -1405,7 +1405,7 @@ signaled.) Currently, this feature is mainly useful for developers.
|
|||
the shell command @samp{emacsclient @var{file}}, where @var{file} is a
|
||||
file name. This connects to an Emacs server, and tells that Emacs
|
||||
process to visit @var{file} in one of its existing frames---either a
|
||||
graphical frame, or one in a text-only terminal (@pxref{Frames}). You
|
||||
graphical frame, or one in a text terminal (@pxref{Frames}). You
|
||||
can then select that frame to begin editing.
|
||||
|
||||
If there is no Emacs server, the @command{emacsclient} program halts
|
||||
|
|
@ -1415,12 +1415,12 @@ Server})---then Emacs opens a frame on the terminal in which you
|
|||
called @command{emacsclient}.
|
||||
|
||||
You can also force @command{emacsclient} to open a new frame on a
|
||||
graphical display, or on a text-only terminal, using the @samp{-c} and
|
||||
graphical display, or on a text terminal, using the @samp{-c} and
|
||||
@samp{-t} options. @xref{emacsclient Options}.
|
||||
|
||||
If you are running on a single text-only terminal, you can switch
|
||||
between @command{emacsclient}'s shell and the Emacs server using one
|
||||
of two methods: (i) run the Emacs server and @command{emacsclient} on
|
||||
If you are running on a single text terminal, you can switch between
|
||||
@command{emacsclient}'s shell and the Emacs server using one of two
|
||||
methods: (i) run the Emacs server and @command{emacsclient} on
|
||||
different virtual terminals, and switch to the Emacs server's virtual
|
||||
terminal after calling @command{emacsclient}; or (ii) call
|
||||
@command{emacsclient} from within the Emacs server itself, using Shell
|
||||
|
|
@ -1502,16 +1502,24 @@ The environment variable @env{ALTERNATE_EDITOR} has the same effect as
|
|||
the @samp{-a} option. If both are present, the latter takes
|
||||
precedence.
|
||||
|
||||
@cindex client frame
|
||||
@item -c
|
||||
Create a new graphical frame, instead of using an existing Emacs
|
||||
frame. Emacs can create a graphical frame even if it was started in a
|
||||
text-only terminal, provided it is able to connect to a graphical
|
||||
display. If Emacs is unable to connect to a graphical display, and on
|
||||
systems, such as MS-Windows (@pxref{Windows Startup, emacsclient}),
|
||||
where it cannot create graphical frames when started from a text-only
|
||||
terminal, it creates a new text-only terminal frame (@pxref{Frames}).
|
||||
If you omit a filename argument while supplying the @samp{-c} option,
|
||||
the new frame displays the @samp{*scratch*} buffer (@pxref{Buffers}).
|
||||
Create a new graphical @dfn{client frame}, instead of using an
|
||||
existing Emacs frame. If you omit a filename argument while supplying
|
||||
the @samp{-c} option, the new frame displays the @file{*scratch*}
|
||||
buffer (@pxref{Buffers}). See below for the special behavior of
|
||||
@kbd{C-x C-c} in a client frame.
|
||||
|
||||
If Emacs is unable to create a new graphical frame (e.g.@: if it is
|
||||
unable to connect to the X server), it tries to create a text terminal
|
||||
client frame, as though you had supplied the @samp{-t} option instead
|
||||
(see below).
|
||||
|
||||
On MS-Windows, a single Emacs session cannot display frames on both
|
||||
graphical and text terminals, nor on multiple text terminals. Thus,
|
||||
if the Emacs server is running on a text terminal, the @samp{-c}
|
||||
option, like the @samp{-t} option, creates a new frame in the server's
|
||||
current text terminal. @xref{Windows Startup}.
|
||||
|
||||
@item -F @var{alist}
|
||||
@itemx --frame-parameters=@var{alist}
|
||||
|
|
@ -1593,28 +1601,46 @@ server it finds. (This option is not supported on MS-Windows.)
|
|||
@item -t
|
||||
@itemx --tty
|
||||
@itemx -nw
|
||||
Create a new Emacs frame on the current text-only terminal, instead of
|
||||
using an existing Emacs frame. Emacs can open a text-only terminal
|
||||
even if it was started in another text-only terminal, or on a
|
||||
graphical display. On systems, such as MS-Windows, where this is
|
||||
impossible, Emacs will create a new frame, either GUI or text-only, on
|
||||
the same terminal where it was started (@pxref{Windows Startup,
|
||||
emacsclient}). If you omit a filename argument while supplying this
|
||||
option, the new frame displays the @samp{*scratch*} buffer.
|
||||
@xref{Buffers}.
|
||||
Create a new client frame on the current text terminal, instead of
|
||||
using an existing Emacs frame. This is similar to the @samp{-c}
|
||||
option, above, except that it creates a text terminal frame
|
||||
(@pxref{Non-Window Terminals}). If you omit a filename argument while
|
||||
supplying this option, the new frame displays the @file{*scratch*}
|
||||
buffer (@pxref{Buffers}). See below for the special behavior of
|
||||
@kbd{C-x C-c} in a client frame.
|
||||
|
||||
On MS-Windows, a single Emacs session cannot display frames on both
|
||||
graphical and text terminals, nor on multiple text terminals. Thus,
|
||||
if the Emacs server is using the graphical display, @samp{-t} behaves
|
||||
like @samp{-c} (see above); whereas if the Emacs server is running on
|
||||
a text terminal, it creates a new frame in its current text terminal.
|
||||
@xref{Windows Startup}.
|
||||
@end table
|
||||
|
||||
If you type @kbd{C-x C-c} (@code{save-buffers-kill-terminal}) in an
|
||||
Emacs frame created with @command{emacsclient}, via the @samp{-c} or
|
||||
@samp{-t} options, Emacs deletes the frame instead of killing the
|
||||
Emacs process itself. On a text-only terminal frame created with the
|
||||
@samp{-t} option, this returns control to the terminal. Emacs also
|
||||
marks all the server buffers for the client as finished, as though you
|
||||
had typed @kbd{C-x #} in all of them.
|
||||
The new graphical or text terminal frames created by the @samp{-c}
|
||||
or @samp{-t} options are considered @dfn{client frames}. Any new
|
||||
frame that you create from a client frame is also considered a client
|
||||
frame. If you type @kbd{C-x C-c} (@code{save-buffers-kill-terminal})
|
||||
in a client frame, that command does not kill the Emacs session as it
|
||||
normally does (@pxref{Exiting}). Instead, Emacs deletes the client
|
||||
frame; furthermore, if the client frame has an @command{emacsclient}
|
||||
waiting to regain control (i.e.@: if you did not supply the @samp{-n}
|
||||
option), Emacs deletes all other frames of the same client, and marks
|
||||
the client's server buffers as finished, as though you had typed
|
||||
@kbd{C-x #} in all of them. If it so happens that there are no
|
||||
remaining frames after the client frame(s) are deleted, the Emacs
|
||||
session exits.
|
||||
|
||||
When Emacs is started as a daemon, all frames are considered client
|
||||
frames, so @kbd{C-x C-c} will never kill Emacs. To kill the Emacs
|
||||
process, type @kbd{M-x kill-emacs}.
|
||||
As an exception, when Emacs is started as a daemon, all frames are
|
||||
considered client frames, and @kbd{C-x C-c} never kills Emacs. To
|
||||
kill a daemon session, type @kbd{M-x kill-emacs}.
|
||||
|
||||
Note that the @samp{-t} and @samp{-n} options are contradictory:
|
||||
@samp{-t} says to take control of the current text terminal to create
|
||||
a new client frame, while @samp{-n} says not to take control of the
|
||||
text terminal. If you supply both options, Emacs visits the specified
|
||||
files(s) in an existing frame rather than a new client frame, negating
|
||||
the effect of @samp{-t}.
|
||||
|
||||
@node Printing, Sorting, Emacs Server, Top
|
||||
@section Printing Hard Copies
|
||||
|
|
@ -1868,7 +1894,7 @@ init file (@pxref{Init File}), followed by @code{(pr-update-menus)}.
|
|||
This function replaces the usual printing commands in the menu bar
|
||||
with a @samp{Printing} submenu that contains various printing options.
|
||||
You can also type @kbd{M-x pr-interface RET}; this creates a
|
||||
@samp{*Printing Interface*} buffer, similar to a customization buffer,
|
||||
@file{*Printing Interface*} buffer, similar to a customization buffer,
|
||||
where you can set the printing options. After selecting what and how
|
||||
to print, you start the print job using the @samp{Print} button (click
|
||||
@kbd{mouse-2} on it, or move point over it and type @kbd{RET}). For
|
||||
|
|
@ -2482,7 +2508,7 @@ encrypted in a simple monoalphabetic substitution cipher.
|
|||
@findex dissociated-press
|
||||
@kbd{M-x dissociated-press} scrambles the text in the current Emacs
|
||||
buffer, word by word or character by character, writing its output to
|
||||
a buffer named @samp{*Dissociation*}. A positive argument tells it to
|
||||
a buffer named @file{*Dissociation*}. A positive argument tells it to
|
||||
operate character by character, and specifies the number of overlap
|
||||
characters. A negative argument tells it to operate word by word, and
|
||||
specifies the number of overlap words. Dissociated Press produces
|
||||
|
|
|
|||
|
|
@ -247,7 +247,7 @@ begins at the top of the character cell.
|
|||
|
||||
@cindex frames on MS-DOS
|
||||
The MS-DOS terminal can only display a single frame at a time. The
|
||||
Emacs frame facilities work on MS-DOS much as they do on text-only
|
||||
Emacs frame facilities work on MS-DOS much as they do on text
|
||||
terminals
|
||||
@iftex
|
||||
(@pxref{Frames,,,emacs, the Emacs Manual}).
|
||||
|
|
|
|||
|
|
@ -121,8 +121,8 @@ Emacs will always create a new text-mode frame in the same
|
|||
created only if the server runs in a GUI session. Similarly, if you
|
||||
invoke @command{emacsclient} with the @option{-t} option, Emacs will
|
||||
create a GUI frame if the server runs in a GUI session, or a text-mode
|
||||
frame when the session runs in text-only mode in a @dfn{Command
|
||||
Prompt} window. @xref{emacsclient Options}.
|
||||
frame when the session runs in text mode in a @dfn{Command Prompt}
|
||||
window. @xref{emacsclient Options}.
|
||||
|
||||
@node Text and Binary
|
||||
@section Text Files and Binary Files
|
||||
|
|
@ -729,9 +729,9 @@ Posix-style @code{lpr} program is unavailable. The same Emacs
|
|||
variables control printing on all systems, but in some cases they have
|
||||
different default values on MS-DOS and MS-Windows.
|
||||
|
||||
Emacs on Windows automatically determines your default printer and
|
||||
sets the variable @code{printer-name} to that printer's name. But in
|
||||
some rare cases this can fail, or you may wish to use a different
|
||||
Emacs on MS Windows attempts to determine your default printer
|
||||
automatically (using the function @code{default-printer-name}).
|
||||
But in some rare cases this can fail, or you may wish to use a different
|
||||
printer from within Emacs. The rest of this section explains how to
|
||||
tell Emacs which printer to use.
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ including European and Vietnamese variants of the Latin alphabet, as
|
|||
well as Cyrillic, Devanagari (for Hindi and Marathi), Ethiopic, Greek,
|
||||
Han (for Chinese and Japanese), Hangul (for Korean), Hebrew, IPA,
|
||||
Kannada, Lao, Malayalam, Tamil, Thai, Tibetan, and Vietnamese scripts.
|
||||
Emacs also supports various encodings of these characters used by
|
||||
Emacs also supports various encodings of these characters that are used by
|
||||
other internationalized software, such as word processors and mailers.
|
||||
|
||||
Emacs allows editing text with international characters by supporting
|
||||
|
|
@ -60,7 +60,7 @@ for each command; see @ref{Text Coding}.
|
|||
@item
|
||||
You can display non-@acronym{ASCII} characters encoded by the various
|
||||
scripts. This works by using appropriate fonts on graphics displays
|
||||
(@pxref{Defining Fontsets}), and by sending special codes to text-only
|
||||
(@pxref{Defining Fontsets}), and by sending special codes to text
|
||||
displays (@pxref{Terminal Coding}). If some characters are displayed
|
||||
incorrectly, refer to @ref{Undisplayable Characters}, which describes
|
||||
possible problems and explains how to solve them.
|
||||
|
|
@ -74,14 +74,14 @@ others.
|
|||
@item
|
||||
You can insert non-@acronym{ASCII} characters or search for them. To do that,
|
||||
you can specify an input method (@pxref{Select Input Method}) suitable
|
||||
for your language, or use the default input method set up when you set
|
||||
for your language, or use the default input method set up when you chose
|
||||
your language environment. If
|
||||
your keyboard can produce non-@acronym{ASCII} characters, you can select an
|
||||
appropriate keyboard coding system (@pxref{Terminal Coding}), and Emacs
|
||||
will accept those characters. Latin-1 characters can also be input by
|
||||
using the @kbd{C-x 8} prefix, see @ref{Unibyte Mode}.
|
||||
|
||||
On the X Window System, your locale should be set to an appropriate
|
||||
With the X Window System, your locale should be set to an appropriate
|
||||
value to make sure Emacs interprets keyboard input correctly; see
|
||||
@ref{Language Environments, locales}.
|
||||
@end itemize
|
||||
|
|
@ -90,7 +90,7 @@ value to make sure Emacs interprets keyboard input correctly; see
|
|||
|
||||
@menu
|
||||
* International Chars:: Basic concepts of multibyte characters.
|
||||
* Enabling Multibyte:: Controlling whether to use multibyte characters.
|
||||
* Disabling Multibyte:: Controlling whether to use multibyte characters.
|
||||
* Language Environments:: Setting things up for the language you use.
|
||||
* Input Methods:: Entering text characters not on your keyboard.
|
||||
* Select Input Method:: Specifying your choice of input methods.
|
||||
|
|
@ -210,7 +210,7 @@ What keys to type to input the character in the current input method
|
|||
|
||||
@item
|
||||
If you are running Emacs on a graphical display, the font name and
|
||||
glyph code for the character. If you are running Emacs on a text-only
|
||||
glyph code for the character. If you are running Emacs on a text
|
||||
terminal, the code(s) sent to the terminal.
|
||||
|
||||
@item
|
||||
|
|
@ -224,29 +224,30 @@ faces used to display the character, and any overlays containing it
|
|||
in a buffer whose coding system is @code{utf-8-unix}:
|
||||
|
||||
@smallexample
|
||||
character: @`A (192, #o300, #xc0)
|
||||
preferred charset: unicode (Unicode (ISO10646))
|
||||
code point: 0xC0
|
||||
syntax: w which means: word
|
||||
category: j:Japanese l:Latin v:Vietnamese
|
||||
buffer code: #xC3 #x80
|
||||
file code: not encodable by coding system undecided-unix
|
||||
display: by this font (glyph code)
|
||||
position: 1 of 1 (0%), column: 0
|
||||
character: @`A (displayed as @`A) (codepoint 192, #o300, #xc0)
|
||||
preferred charset: unicode (Unicode (ISO10646))
|
||||
code point in charset: 0xC0
|
||||
syntax: w which means: word
|
||||
category: .:Base, L:Left-to-right (strong),
|
||||
j:Japanese, l:Latin, v:Viet
|
||||
buffer code: #xC3 #x80
|
||||
file code: not encodable by coding system undecided-unix
|
||||
display: by this font (glyph code)
|
||||
xft:-unknown-DejaVu Sans Mono-normal-normal-
|
||||
normal-*-13-*-*-*-m-0-iso10646-1 (#x82)
|
||||
|
||||
Character code properties: customize what to show
|
||||
name: LATIN CAPITAL LETTER A WITH GRAVE
|
||||
old-name: LATIN CAPITAL LETTER A GRAVE
|
||||
general-category: Lu (Letter, Uppercase)
|
||||
decomposition: (65 768) ('A' '`')
|
||||
old-name: LATIN CAPITAL LETTER A GRAVE
|
||||
|
||||
There are text properties here:
|
||||
auto-composed t
|
||||
@end smallexample
|
||||
|
||||
@node Enabling Multibyte
|
||||
@section Enabling Multibyte Characters
|
||||
@c FIXME? Does this section even belong in the user manual?
|
||||
@c Seems more appropriate to the lispref?
|
||||
@node Disabling Multibyte
|
||||
@section Disabling Multibyte Characters
|
||||
|
||||
By default, Emacs starts in multibyte mode: it stores the contents
|
||||
of buffers and strings using an internal encoding that represents
|
||||
|
|
@ -275,32 +276,48 @@ Coding}. Unlike @code{find-file-literally}, finding a file as
|
|||
@samp{raw-text} doesn't disable format conversion, uncompression, or
|
||||
auto mode selection.
|
||||
|
||||
@c Not a single file in Emacs uses this feature. Is it really worth
|
||||
@c mentioning in the _user_ manual? Also, this duplicates somewhat
|
||||
@c "Loading Non-ASCII" from the lispref.
|
||||
@cindex Lisp files, and multibyte operation
|
||||
@cindex multibyte operation, and Lisp files
|
||||
@cindex unibyte operation, and Lisp files
|
||||
@cindex init file, and non-@acronym{ASCII} characters
|
||||
Emacs normally loads Lisp files as multibyte.
|
||||
This includes the Emacs initialization
|
||||
file, @file{.emacs}, and the initialization files of Emacs packages
|
||||
file, @file{.emacs}, and the initialization files of packages
|
||||
such as Gnus. However, you can specify unibyte loading for a
|
||||
particular Lisp file, by putting @w{@samp{-*-unibyte: t;-*-}} in a
|
||||
comment on the first line (@pxref{File Variables}). Then that file is
|
||||
always loaded as unibyte text. The motivation for these conventions
|
||||
is that it is more reliable to always load any particular Lisp file in
|
||||
the same way. However, you can load a Lisp file as unibyte, on any
|
||||
one occasion, by typing @kbd{C-x @key{RET} c raw-text @key{RET}}
|
||||
immediately before loading it.
|
||||
particular Lisp file, by adding an entry @samp{unibyte: t} in a file
|
||||
local variables section (@pxref{File Variables}). Then that file is
|
||||
always loaded as unibyte text. Note that this does not represent a
|
||||
real @code{unibyte} variable, rather it just acts as an indicator
|
||||
to Emacs in the same way as @code{coding} does (@pxref{Specify Coding}).
|
||||
@ignore
|
||||
@c I don't see the point of this statement:
|
||||
The motivation for these conventions is that it is more reliable to
|
||||
always load any particular Lisp file in the same way.
|
||||
@end ignore
|
||||
Note also that this feature only applies to @emph{loading} Lisp files
|
||||
for evaluation, not to visiting them for editing. You can also load a
|
||||
Lisp file as unibyte, on any one occasion, by typing @kbd{C-x
|
||||
@key{RET} c raw-text @key{RET}} immediately before loading it.
|
||||
|
||||
The mode line indicates whether multibyte character support is
|
||||
enabled in the current buffer. If it is, there are two or more
|
||||
characters (most often two dashes) near the beginning of the mode
|
||||
line, before the indication of the visited file's end-of-line
|
||||
convention (colon, backslash, etc.). When multibyte characters
|
||||
are not enabled, nothing precedes the colon except a single dash.
|
||||
@xref{Mode Line}, for more details about this.
|
||||
@c See http://debbugs.gnu.org/11226 for lack of unibyte tooltip.
|
||||
@vindex enable-multibyte-characters
|
||||
The buffer-local variable @code{enable-multibyte-characters} is
|
||||
non-@code{nil} in multibyte buffers, and @code{nil} in unibyte ones.
|
||||
The mode line also indicates whether a buffer is multibyte or not.
|
||||
@xref{Mode Line}. With a graphical display, in a multibyte buffer,
|
||||
the portion of the mode line that indicates the character set has a
|
||||
tooltip that (amongst other things) says that the buffer is multibyte.
|
||||
In a unibyte buffer, the character set indicator is absent. Thus, in
|
||||
a unibyte buffer (when using a graphical display) there is normally
|
||||
nothing before the indication of the visited file's end-of-line
|
||||
convention (colon, backslash, etc.), unless you are using an input
|
||||
method.
|
||||
|
||||
@findex toggle-enable-multibyte-characters
|
||||
You can turn on multibyte support in a specific buffer by invoking the
|
||||
You can turn off multibyte support in a specific buffer by invoking the
|
||||
command @code{toggle-enable-multibyte-characters} in that buffer.
|
||||
|
||||
@node Language Environments
|
||||
|
|
@ -309,8 +326,8 @@ command @code{toggle-enable-multibyte-characters} in that buffer.
|
|||
|
||||
All supported character sets are supported in Emacs buffers whenever
|
||||
multibyte characters are enabled; there is no need to select a
|
||||
particular language in order to display its characters in an Emacs
|
||||
buffer. However, it is important to select a @dfn{language
|
||||
particular language in order to display its characters.
|
||||
However, it is important to select a @dfn{language
|
||||
environment} in order to set various defaults. Roughly speaking, the
|
||||
language environment represents a choice of preferred script rather
|
||||
than a choice of language.
|
||||
|
|
@ -327,7 +344,8 @@ language environment also specifies a default input method.
|
|||
@code{current-language-environment} or use the command @kbd{M-x
|
||||
set-language-environment}. It makes no difference which buffer is
|
||||
current when you use this command, because the effects apply globally
|
||||
to the Emacs session. The supported language environments include:
|
||||
to the Emacs session. The supported language environments
|
||||
(see the variable @code{language-info-alist}) include:
|
||||
|
||||
@cindex Euro sign
|
||||
@cindex UTF-8
|
||||
|
|
@ -347,21 +365,8 @@ UTF-8), Ukrainian, Vietnamese, Welsh, and Windows-1255 (for a setup
|
|||
which prefers Cyrillic characters and files encoded in Windows-1255).
|
||||
@end quotation
|
||||
|
||||
@cindex fonts for various scripts
|
||||
@cindex Intlfonts package, installation
|
||||
To display the script(s) used by your language environment on a
|
||||
graphical display, you need to have a suitable font. If some of the
|
||||
characters appear as empty boxes or hex codes, you should install the
|
||||
GNU Intlfonts package, which includes fonts for most supported
|
||||
scripts.@footnote{If you run Emacs on X, you need to inform the X
|
||||
server about the location of the newly installed fonts with the
|
||||
following commands:
|
||||
|
||||
@example
|
||||
xset fp+ /usr/local/share/emacs/fonts
|
||||
xset fp rehash
|
||||
@end example
|
||||
}
|
||||
graphical display, you need to have suitable fonts.
|
||||
@xref{Fontsets}, for more details about setting up your fonts.
|
||||
|
||||
@findex set-locale-environment
|
||||
|
|
@ -370,22 +375,25 @@ following commands:
|
|||
@cindex locales
|
||||
Some operating systems let you specify the character-set locale you
|
||||
are using by setting the locale environment variables @env{LC_ALL},
|
||||
@env{LC_CTYPE}, or @env{LANG}.@footnote{If more than one of these is
|
||||
@env{LC_CTYPE}, or @env{LANG}. (If more than one of these is
|
||||
set, the first one that is nonempty specifies your locale for this
|
||||
purpose.} During startup, Emacs looks up your character-set locale's
|
||||
purpose.) During startup, Emacs looks up your character-set locale's
|
||||
name in the system locale alias table, matches its canonical name
|
||||
against entries in the value of the variables
|
||||
@code{locale-charset-language-names} and @code{locale-language-names},
|
||||
@code{locale-charset-language-names} and @code{locale-language-names}
|
||||
(the former overrides the latter),
|
||||
and selects the corresponding language environment if a match is found.
|
||||
(The former variable overrides the latter.) It also adjusts the display
|
||||
It also adjusts the display
|
||||
table and terminal coding system, the locale coding system, the
|
||||
preferred coding system as needed for the locale, and---last but not
|
||||
least---the way Emacs decodes non-@acronym{ASCII} characters sent by your keyboard.
|
||||
|
||||
@c This seems unlikely, doesn't it?
|
||||
If you modify the @env{LC_ALL}, @env{LC_CTYPE}, or @env{LANG}
|
||||
environment variables while running Emacs, you may want to invoke the
|
||||
@code{set-locale-environment} function afterwards to readjust the
|
||||
language environment from the new locale.
|
||||
environment variables while running Emacs (by using @kbd{M-x setenv}),
|
||||
you may want to invoke the @code{set-locale-environment}
|
||||
function afterwards to readjust the language environment from the new
|
||||
locale.
|
||||
|
||||
@vindex locale-preferred-coding-systems
|
||||
The @code{set-locale-environment} function normally uses the preferred
|
||||
|
|
@ -421,7 +429,7 @@ this command describes the chosen language environment.
|
|||
language environment. The hook functions can test for a specific
|
||||
language environment by checking the variable
|
||||
@code{current-language-environment}. This hook is where you should
|
||||
put non-default settings for specific language environment, such as
|
||||
put non-default settings for specific language environments, such as
|
||||
coding systems for keyboard input and terminal output, the default
|
||||
input method, etc.
|
||||
|
||||
|
|
@ -441,7 +449,7 @@ for that key.
|
|||
@cindex input methods
|
||||
An @dfn{input method} is a kind of character conversion designed
|
||||
specifically for interactive input. In Emacs, typically each language
|
||||
has its own input method; sometimes several languages which use the same
|
||||
has its own input method; sometimes several languages that use the same
|
||||
characters can share one input method. A few languages support several
|
||||
input methods.
|
||||
|
||||
|
|
@ -454,14 +462,14 @@ work this way.
|
|||
characters into one letter. Many European input methods use composition
|
||||
to produce a single non-@acronym{ASCII} letter from a sequence that consists of a
|
||||
letter followed by accent characters (or vice versa). For example, some
|
||||
methods convert the sequence @kbd{a'} into a single accented letter.
|
||||
methods convert the sequence @kbd{o ^} into a single accented letter.
|
||||
These input methods have no special commands of their own; all they do
|
||||
is compose sequences of printing characters.
|
||||
|
||||
The input methods for syllabic scripts typically use mapping followed
|
||||
by composition. The input methods for Thai and Korean work this way.
|
||||
First, letters are mapped into symbols for particular sounds or tone
|
||||
marks; then, sequences of these which make up a whole syllable are
|
||||
marks; then, sequences of these that make up a whole syllable are
|
||||
mapped into one syllable sign.
|
||||
|
||||
Chinese and Japanese require more complex methods. In Chinese input
|
||||
|
|
@ -471,7 +479,8 @@ portions of the character (input methods @code{chinese-4corner} and
|
|||
@code{chinese-sw}, and others). One input sequence typically
|
||||
corresponds to many possible Chinese characters. You select the one
|
||||
you mean using keys such as @kbd{C-f}, @kbd{C-b}, @kbd{C-n},
|
||||
@kbd{C-p}, and digits, which have special meanings in this situation.
|
||||
@kbd{C-p} (or the arrow keys), and digits, which have special meanings
|
||||
in this situation.
|
||||
|
||||
The possible characters are conceptually arranged in several rows,
|
||||
with each row holding up to 10 alternatives. Normally, Emacs displays
|
||||
|
|
@ -485,8 +494,8 @@ the alternatives in the current row. As you do this, Emacs highlights
|
|||
the current alternative with a special color; type @code{C-@key{SPC}}
|
||||
to select the current alternative and use it as input. The
|
||||
alternatives in the row are also numbered; the number appears before
|
||||
the alternative. Typing a digit @var{n} selects the @var{n}th
|
||||
alternative of the current row and uses it as input.
|
||||
the alternative. Typing a number selects the associated alternative
|
||||
of the current row and uses it as input.
|
||||
|
||||
@key{TAB} in these Chinese input methods displays a buffer showing
|
||||
all the possible characters at once; then clicking @kbd{Mouse-2} on
|
||||
|
|
@ -505,15 +514,15 @@ the alternatives.
|
|||
Sometimes it is useful to cut off input method processing so that the
|
||||
characters you have just entered will not combine with subsequent
|
||||
characters. For example, in input method @code{latin-1-postfix}, the
|
||||
sequence @kbd{e '} combines to form an @samp{e} with an accent. What if
|
||||
sequence @kbd{o ^} combines to form an @samp{o} with an accent. What if
|
||||
you want to enter them as separate characters?
|
||||
|
||||
One way is to type the accent twice; this is a special feature for
|
||||
entering the separate letter and accent. For example, @kbd{e ' '} gives
|
||||
you the two characters @samp{e'}. Another way is to type another letter
|
||||
after the @kbd{e}---something that won't combine with that---and
|
||||
immediately delete it. For example, you could type @kbd{e e @key{DEL}
|
||||
'} to get separate @samp{e} and @samp{'}.
|
||||
entering the separate letter and accent. For example, @kbd{o ^ ^} gives
|
||||
you the two characters @samp{o^}. Another way is to type another letter
|
||||
after the @kbd{o}---something that won't combine with that---and
|
||||
immediately delete it. For example, you could type @kbd{o o @key{DEL}
|
||||
^} to get separate @samp{o} and @samp{^}.
|
||||
|
||||
Another method, more general but not quite as easy to type, is to use
|
||||
@kbd{C-\ C-\} between two characters to stop them from combining. This
|
||||
|
|
@ -542,7 +551,7 @@ possible characters to type next is displayed in the echo area (but
|
|||
not when you are in the minibuffer).
|
||||
|
||||
Another facility for typing characters not on your keyboard is by
|
||||
using the @kbd{C-x 8 @key{RET}} (@code{ucs-insert}) to insert a single
|
||||
using @kbd{C-x 8 @key{RET}} (@code{ucs-insert}) to insert a single
|
||||
character based on its Unicode name or code-point; see @ref{Inserting
|
||||
Text}.
|
||||
|
||||
|
|
@ -551,10 +560,10 @@ Text}.
|
|||
|
||||
@table @kbd
|
||||
@item C-\
|
||||
Enable or disable use of the selected input method.
|
||||
Enable or disable use of the selected input method (@code{toggle-input-method}).
|
||||
|
||||
@item C-x @key{RET} C-\ @var{method} @key{RET}
|
||||
Select a new input method for the current buffer.
|
||||
Select a new input method for the current buffer (@code{set-input-method}).
|
||||
|
||||
@item C-h I @var{method} @key{RET}
|
||||
@itemx C-h C-\ @var{method} @key{RET}
|
||||
|
|
@ -588,7 +597,7 @@ turn off the input method temporarily. To do this, type @kbd{C-\}
|
|||
@kbd{C-\} again.
|
||||
|
||||
If you type @kbd{C-\} and you have not yet selected an input method,
|
||||
it prompts for you to specify one. This has the same effect as using
|
||||
it prompts you to specify one. This has the same effect as using
|
||||
@kbd{C-x @key{RET} C-\} to specify an input method.
|
||||
|
||||
When invoked with a numeric argument, as in @kbd{C-u C-\},
|
||||
|
|
@ -631,7 +640,7 @@ automatically. For example:
|
|||
@end lisp
|
||||
|
||||
@noindent
|
||||
This activates the input method ``german-prefix'' automatically in the
|
||||
This automatically activates the input method ``german-prefix'' in
|
||||
Text mode.
|
||||
|
||||
@findex quail-set-keyboard-layout
|
||||
|
|
@ -645,7 +654,7 @@ the command @kbd{M-x quail-set-keyboard-layout}.
|
|||
You can use the command @kbd{M-x quail-show-key} to show what key (or
|
||||
key sequence) to type in order to input the character following point,
|
||||
using the selected keyboard layout. The command @kbd{C-u C-x =} also
|
||||
shows that information in addition to the other information about the
|
||||
shows that information, in addition to other information about the
|
||||
character.
|
||||
|
||||
@findex list-input-methods
|
||||
|
|
@ -685,11 +694,12 @@ system; for example, to visit a file encoded in codepage 850, type
|
|||
In addition to converting various representations of non-@acronym{ASCII}
|
||||
characters, a coding system can perform end-of-line conversion. Emacs
|
||||
handles three different conventions for how to separate lines in a file:
|
||||
newline, carriage-return linefeed, and just carriage-return.
|
||||
newline (``unix''), carriage-return linefeed (``dos''), and just
|
||||
carriage-return (``mac'').
|
||||
|
||||
@table @kbd
|
||||
@item C-h C @var{coding} @key{RET}
|
||||
Describe coding system @var{coding}.
|
||||
Describe coding system @var{coding} (@code{describe-coding-system}).
|
||||
|
||||
@item C-h C @key{RET}
|
||||
Describe the coding systems currently in use.
|
||||
|
|
@ -725,27 +735,27 @@ end-of-line conversion to be decided based on the contents of each file.
|
|||
For example, if the file appears to use the sequence carriage-return
|
||||
linefeed to separate lines, DOS end-of-line conversion will be used.
|
||||
|
||||
Each of the listed coding systems has three variants which specify
|
||||
Each of the listed coding systems has three variants, which specify
|
||||
exactly what to do for end-of-line conversion:
|
||||
|
||||
@table @code
|
||||
@item @dots{}-unix
|
||||
Don't do any end-of-line conversion; assume the file uses
|
||||
newline to separate lines. (This is the convention normally used
|
||||
on Unix and GNU systems.)
|
||||
on Unix and GNU systems, and Mac OS X.)
|
||||
|
||||
@item @dots{}-dos
|
||||
Assume the file uses carriage-return linefeed to separate lines, and do
|
||||
the appropriate conversion. (This is the convention normally used on
|
||||
Microsoft systems.@footnote{It is also specified for MIME @samp{text/*}
|
||||
bodies and in other network transport contexts. It is different
|
||||
from the SGML reference syntax record-start/record-end format which
|
||||
from the SGML reference syntax record-start/record-end format, which
|
||||
Emacs doesn't support directly.})
|
||||
|
||||
@item @dots{}-mac
|
||||
Assume the file uses carriage-return to separate lines, and do the
|
||||
appropriate conversion. (This is the convention normally used on the
|
||||
Macintosh system.)
|
||||
appropriate conversion. (This was the convention used on the
|
||||
Macintosh system prior to OS X.)
|
||||
@end table
|
||||
|
||||
These variant coding systems are omitted from the
|
||||
|
|
@ -763,7 +773,7 @@ be deduced from the text itself.
|
|||
|
||||
@cindex @code{raw-text}, coding system
|
||||
The coding system @code{raw-text} is good for a file which is mainly
|
||||
@acronym{ASCII} text, but may contain byte values above 127 which are
|
||||
@acronym{ASCII} text, but may contain byte values above 127 that are
|
||||
not meant to encode non-@acronym{ASCII} characters. With
|
||||
@code{raw-text}, Emacs copies those byte values unchanged, and sets
|
||||
@code{enable-multibyte-characters} to @code{nil} in the current buffer
|
||||
|
|
@ -880,37 +890,47 @@ the buffer.
|
|||
|
||||
The default value of @code{inhibit-iso-escape-detection} is
|
||||
@code{nil}. We recommend that you not change it permanently, only for
|
||||
one specific operation. That's because many Emacs Lisp source files
|
||||
one specific operation. That's because some Emacs Lisp source files
|
||||
in the Emacs distribution contain non-@acronym{ASCII} characters encoded in the
|
||||
coding system @code{iso-2022-7bit}, and they won't be
|
||||
decoded correctly when you visit those files if you suppress the
|
||||
escape sequence detection.
|
||||
@c I count a grand total of 3 such files, so is the above really true?
|
||||
|
||||
@vindex auto-coding-alist
|
||||
@vindex auto-coding-regexp-alist
|
||||
@vindex auto-coding-functions
|
||||
The variables @code{auto-coding-alist},
|
||||
@code{auto-coding-regexp-alist} and @code{auto-coding-functions} are
|
||||
The variables @code{auto-coding-alist} and
|
||||
@code{auto-coding-regexp-alist} are
|
||||
the strongest way to specify the coding system for certain patterns of
|
||||
file names, or for files containing certain patterns; these variables
|
||||
even override @samp{-*-coding:-*-} tags in the file itself. Emacs
|
||||
file names, or for files containing certain patterns, respectively.
|
||||
These variables even override @samp{-*-coding:-*-} tags in the file
|
||||
itself (@pxref{Specify Coding}). For example, Emacs
|
||||
uses @code{auto-coding-alist} for tar and archive files, to prevent it
|
||||
from being confused by a @samp{-*-coding:-*-} tag in a member of the
|
||||
archive and thinking it applies to the archive file as a whole.
|
||||
@ignore
|
||||
@c This describes old-style BABYL files, which are no longer relevant.
|
||||
Likewise, Emacs uses @code{auto-coding-regexp-alist} to ensure that
|
||||
RMAIL files, whose names in general don't match any particular
|
||||
pattern, are decoded correctly. One of the builtin
|
||||
@code{auto-coding-functions} detects the encoding for XML files.
|
||||
pattern, are decoded correctly.
|
||||
@end ignore
|
||||
|
||||
@vindex auto-coding-functions
|
||||
Another way to specify a coding system is with the variable
|
||||
@code{auto-coding-functions}. For example, one of the builtin
|
||||
@code{auto-coding-functions} detects the encoding for XML files.
|
||||
Unlike the previous two, this variable does not override any
|
||||
@samp{-*-coding:-*-} tag.
|
||||
|
||||
@c FIXME? This seems somewhat out of place. Move to the Rmail section?
|
||||
@vindex rmail-decode-mime-charset
|
||||
@vindex rmail-file-coding-system
|
||||
When you get new mail in Rmail, each message is translated
|
||||
automatically from the coding system it is written in, as if it were a
|
||||
separate file. This uses the priority list of coding systems that you
|
||||
have specified. If a MIME message specifies a character set, Rmail
|
||||
obeys that specification, unless @code{rmail-decode-mime-charset} is
|
||||
@code{nil}. For reading and saving Rmail files themselves, Emacs uses
|
||||
the coding system specified by the variable
|
||||
obeys that specification. For reading and saving Rmail files
|
||||
themselves, Emacs uses the coding system specified by the variable
|
||||
@code{rmail-file-coding-system}. The default value is @code{nil},
|
||||
which means that Rmail files are not translated (they are read and
|
||||
written in the Emacs internal character code).
|
||||
|
|
@ -969,6 +989,7 @@ and asks you to choose one of those coding systems.
|
|||
|
||||
If you insert the unsuitable characters in a mail message, Emacs
|
||||
behaves a bit differently. It additionally checks whether the
|
||||
@c What determines this?
|
||||
most-preferred coding system is recommended for use in MIME messages;
|
||||
if not, Emacs tells you that the most-preferred coding system is not
|
||||
recommended and prompts you for another coding system. This is so you
|
||||
|
|
@ -977,17 +998,22 @@ recipient's mail software will have difficulty decoding. (You can
|
|||
still use an unsuitable coding system if you type its name in response
|
||||
to the question.)
|
||||
|
||||
@c It seems that select-message-coding-system does this.
|
||||
@c Both sendmail.el and smptmail.el call it; i.e. smtpmail.el still
|
||||
@c obeys sendmail-coding-system.
|
||||
@vindex sendmail-coding-system
|
||||
When you send a message with Message mode (@pxref{Sending Mail}),
|
||||
When you send a mail message (@pxref{Sending Mail}),
|
||||
Emacs has four different ways to determine the coding system to use
|
||||
for encoding the message text. It tries the buffer's own value of
|
||||
@code{buffer-file-coding-system}, if that is non-@code{nil}.
|
||||
Otherwise, it uses the value of @code{sendmail-coding-system}, if that
|
||||
is non-@code{nil}. The third way is to use the default coding system
|
||||
for new files, which is controlled by your choice of language
|
||||
@c i.e., default-sendmail-coding-system
|
||||
environment, if that is non-@code{nil}. If all of these three values
|
||||
are @code{nil}, Emacs encodes outgoing mail using the Latin-1 coding
|
||||
system.
|
||||
@c FIXME? Where does the Latin-1 default come in?
|
||||
|
||||
@node Text Coding
|
||||
@section Specifying a Coding System for File Text
|
||||
|
|
@ -998,8 +1024,8 @@ one:
|
|||
|
||||
@table @kbd
|
||||
@item C-x @key{RET} f @var{coding} @key{RET}
|
||||
Use coding system @var{coding} to save or revisit the visited file in
|
||||
the current buffer (@code{set-buffer-file-coding-system})
|
||||
Use coding system @var{coding} to save or revisit the file in
|
||||
the current buffer (@code{set-buffer-file-coding-system}).
|
||||
|
||||
@item C-x @key{RET} c @var{coding} @key{RET}
|
||||
Specify coding system @var{coding} for the immediately following
|
||||
|
|
@ -1029,8 +1055,8 @@ buffer.
|
|||
You can also use this command to specify the end-of-line conversion
|
||||
(@pxref{Coding Systems, end-of-line conversion}) for encoding the
|
||||
current buffer. For example, @kbd{C-x @key{RET} f dos @key{RET}} will
|
||||
cause Emacs to save the current buffer's text with DOS-style CRLF line
|
||||
endings.
|
||||
cause Emacs to save the current buffer's text with DOS-style
|
||||
carriage-return linefeed line endings.
|
||||
|
||||
@kindex C-x RET c
|
||||
@findex universal-coding-system-argument
|
||||
|
|
@ -1118,7 +1144,7 @@ coding system for the next selection made in Emacs or read by Emacs.
|
|||
The variable @code{x-select-request-type} specifies the data type to
|
||||
request from the X Window System for receiving text selections from
|
||||
other applications. If the value is @code{nil} (the default), Emacs
|
||||
tries @code{COMPOUND_TEXT} and @code{UTF8_STRING}, in this order, and
|
||||
tries @code{UTF8_STRING} and @code{COMPOUND_TEXT}, in this order, and
|
||||
uses various heuristics to choose the more appropriate of the two
|
||||
results; if none of these succeed, Emacs falls back on @code{STRING}.
|
||||
If the value of @code{x-select-request-type} is one of the symbols
|
||||
|
|
@ -1150,8 +1176,8 @@ current language environment.
|
|||
The variable @code{locale-coding-system} specifies a coding system
|
||||
to use when encoding and decoding system strings such as system error
|
||||
messages and @code{format-time-string} formats and time stamps. That
|
||||
coding system is also used for decoding non-@acronym{ASCII} keyboard input on X
|
||||
Window systems. You should choose a coding system that is compatible
|
||||
coding system is also used for decoding non-@acronym{ASCII} keyboard
|
||||
input on the X Window System. You should choose a coding system that is compatible
|
||||
with the underlying system's text representation, which is normally
|
||||
specified by one of the environment variables @env{LC_ALL},
|
||||
@env{LC_CTYPE}, and @env{LANG}. (The first one, in the order
|
||||
|
|
@ -1164,27 +1190,29 @@ the text representation.)
|
|||
@table @kbd
|
||||
@item C-x @key{RET} F @var{coding} @key{RET}
|
||||
Use coding system @var{coding} for encoding and decoding file
|
||||
@emph{names} (@code{set-file-name-coding-system}).
|
||||
names (@code{set-file-name-coding-system}).
|
||||
@end table
|
||||
|
||||
@vindex file-name-coding-system
|
||||
@cindex file names with non-@acronym{ASCII} characters
|
||||
The variable @code{file-name-coding-system} specifies a coding
|
||||
system to use for encoding file names. It has no effect on reading
|
||||
and writing the @emph{contents} of files.
|
||||
|
||||
@findex set-file-name-coding-system
|
||||
@kindex C-x @key{RET} F
|
||||
If you set the variable to a coding system name (as a Lisp symbol or
|
||||
a string), Emacs encodes file names using that coding system for all
|
||||
file operations. This makes it possible to use non-@acronym{ASCII}
|
||||
characters in file names---or, at least, those non-@acronym{ASCII}
|
||||
characters which the specified coding system can encode. Use @kbd{C-x
|
||||
@key{RET} F} (@code{set-file-name-coding-system}) to specify this
|
||||
interactively.
|
||||
@cindex file names with non-@acronym{ASCII} characters
|
||||
The command @kbd{C-x @key{RET} F} (@code{set-file-name-coding-system})
|
||||
specifies a coding system to use for encoding file @emph{names}. It
|
||||
has no effect on reading and writing the @emph{contents} of files.
|
||||
|
||||
@vindex file-name-coding-system
|
||||
In fact, all this command does is set the value of the variable
|
||||
@code{file-name-coding-system}. If you set the variable to a coding
|
||||
system name (as a Lisp symbol or a string), Emacs encodes file names
|
||||
using that coding system for all file operations. This makes it
|
||||
possible to use non-@acronym{ASCII} characters in file names---or, at
|
||||
least, those non-@acronym{ASCII} characters that the specified coding
|
||||
system can encode.
|
||||
|
||||
If @code{file-name-coding-system} is @code{nil}, Emacs uses a
|
||||
default coding system determined by the selected language environment.
|
||||
default coding system determined by the selected language environment,
|
||||
and stored in the @code{default-file-name-coding-system} variable.
|
||||
@c FIXME? Is this correct? What is the "default language environment"?
|
||||
In the default language environment, non-@acronym{ASCII} characters in
|
||||
file names are not encoded specially; they appear in the file system
|
||||
using the internal Emacs representation.
|
||||
|
|
@ -1195,7 +1223,7 @@ result if you have already visited files whose names were encoded using
|
|||
the earlier coding system and cannot be encoded (or are encoded
|
||||
differently) under the new coding system. If you try to save one of
|
||||
these buffers under the visited file name, saving may use the wrong file
|
||||
name, or it may get an error. If such a problem happens, use @kbd{C-x
|
||||
name, or it may encounter an error. If such a problem happens, use @kbd{C-x
|
||||
C-w} to specify a new file name for that buffer.
|
||||
|
||||
@findex recode-file-name
|
||||
|
|
@ -1208,13 +1236,13 @@ system, and the coding system to which you wish to convert.
|
|||
@section Coding Systems for Terminal I/O
|
||||
|
||||
@table @kbd
|
||||
@item C-x @key{RET} k @var{coding} @key{RET}
|
||||
Use coding system @var{coding} for keyboard input
|
||||
(@code{set-keyboard-coding-system}).
|
||||
|
||||
@item C-x @key{RET} t @var{coding} @key{RET}
|
||||
Use coding system @var{coding} for terminal output
|
||||
(@code{set-terminal-coding-system}).
|
||||
|
||||
@item C-x @key{RET} k @var{coding} @key{RET}
|
||||
Use coding system @var{coding} for keyboard input
|
||||
(@code{set-keyboard-coding-system}).
|
||||
@end table
|
||||
|
||||
@kindex C-x RET t
|
||||
|
|
@ -1237,8 +1265,8 @@ your locale specification (@pxref{Language Environments}).
|
|||
@kindex C-x RET k
|
||||
@findex set-keyboard-coding-system
|
||||
@vindex keyboard-coding-system
|
||||
The command @kbd{C-x @key{RET} k} (@code{set-keyboard-coding-system})
|
||||
or the variable @code{keyboard-coding-system} specifies the coding
|
||||
The command @kbd{C-x @key{RET} k} (@code{set-keyboard-coding-system}),
|
||||
or the variable @code{keyboard-coding-system}, specifies the coding
|
||||
system for keyboard input. Character-code translation of keyboard
|
||||
input is useful for terminals with keys that send non-@acronym{ASCII}
|
||||
graphic characters---for example, some terminals designed for ISO
|
||||
|
|
@ -1273,30 +1301,49 @@ non-graphic characters.
|
|||
A font typically defines shapes for a single alphabet or script.
|
||||
Therefore, displaying the entire range of scripts that Emacs supports
|
||||
requires a collection of many fonts. In Emacs, such a collection is
|
||||
called a @dfn{fontset}. A fontset is defined by a list of font specs,
|
||||
called a @dfn{fontset}. A fontset is defined by a list of font specifications,
|
||||
each assigned to handle a range of character codes, and may fall back
|
||||
on another fontset for characters which are not covered by the fonts
|
||||
on another fontset for characters that are not covered by the fonts
|
||||
it specifies.
|
||||
|
||||
@cindex fonts for various scripts
|
||||
@cindex Intlfonts package, installation
|
||||
Each fontset has a name, like a font. However, while fonts are
|
||||
stored in the system and the available font names are defined by the
|
||||
system, fontsets are defined within Emacs itself. Once you have
|
||||
defined a fontset, you can use it within Emacs by specifying its name,
|
||||
anywhere that you could use a single font. Of course, Emacs fontsets
|
||||
can use only the fonts that the system supports; if certain characters
|
||||
appear on the screen as hollow boxes, this means that the fontset in
|
||||
use for them has no font for those characters.@footnote{The Emacs
|
||||
installation instructions have information on additional font
|
||||
support.}
|
||||
can use only the fonts that the system supports. If some characters
|
||||
appear on the screen as empty boxes or hex codes, this means that the
|
||||
fontset in use for them has no font for those characters. In this
|
||||
case, or if the characters are shown, but not as well as you would
|
||||
like, you may need to install extra fonts. Your operating system may
|
||||
have optional fonts that you can install; or you can install the GNU
|
||||
Intlfonts package, which includes fonts for most supported
|
||||
scripts.@footnote{If you run Emacs on X, you may need to inform the X
|
||||
server about the location of the newly installed fonts with commands
|
||||
such as:
|
||||
@c FIXME? I feel like this may be out of date.
|
||||
@c Eg the intlfonts tarfile is ~ 10 years old.
|
||||
|
||||
@example
|
||||
xset fp+ /usr/local/share/emacs/fonts
|
||||
xset fp rehash
|
||||
@end example
|
||||
}
|
||||
|
||||
Emacs creates three fontsets automatically: the @dfn{standard
|
||||
fontset}, the @dfn{startup fontset} and the @dfn{default fontset}.
|
||||
@c FIXME? The doc of *standard*-fontset-spec says:
|
||||
@c "You have the biggest chance to display international characters
|
||||
@c with correct glyphs by using the *standard* fontset." (my emphasis)
|
||||
The default fontset is most likely to have fonts for a wide variety of
|
||||
non-@acronym{ASCII} characters and is the default fallback for the
|
||||
non-@acronym{ASCII} characters, and is the default fallback for the
|
||||
other two fontsets, and if you set a default font rather than fontset.
|
||||
However it does not specify font family names, so results can be
|
||||
However, it does not specify font family names, so results can be
|
||||
somewhat random if you use it directly. You can specify use of a
|
||||
specific fontset with the @samp{-fn} option. For example,
|
||||
particular fontset by starting Emacs with the @samp{-fn} option.
|
||||
For example,
|
||||
|
||||
@example
|
||||
emacs -fn fontset-standard
|
||||
|
|
@ -1335,10 +1382,12 @@ of @code{standard-fontset-spec}. This fontset's name is
|
|||
@noindent
|
||||
or just @samp{fontset-standard} for short.
|
||||
|
||||
On GNUstep and Mac, fontset-standard is created using the value of
|
||||
@code{ns-standard-fontset-spec}, and on Windows it is
|
||||
On GNUstep and Mac OS X, the standard fontset is created using the value of
|
||||
@code{ns-standard-fontset-spec}, and on MS Windows it is
|
||||
created using the value of @code{w32-standard-fontset-spec}.
|
||||
|
||||
@c FIXME? How does one access these, or do anything with them?
|
||||
@c Does it matter?
|
||||
Bold, italic, and bold-italic variants of the standard fontset are
|
||||
created automatically. Their names have @samp{bold} instead of
|
||||
@samp{medium}, or @samp{i} instead of @samp{r}, or both.
|
||||
|
|
@ -1353,8 +1402,15 @@ started. This is the @dfn{startup fontset} and its name is
|
|||
@var{charset_encoding} field with @samp{startup}, then using the
|
||||
resulting string to specify a fontset.
|
||||
|
||||
For instance, if you start Emacs this way,
|
||||
For instance, if you start Emacs with a font of this form,
|
||||
|
||||
@c FIXME? I think this is a little misleading, because you cannot (?)
|
||||
@c actually specify a font with wildcards, it has to be a complete spec.
|
||||
@c Also, an X font specification of this form hasn't (?) been
|
||||
@c mentioned before now, and is somewhat obsolete these days.
|
||||
@c People are more likely to use a form like
|
||||
@c emacs -fn "DejaVu Sans Mono-12"
|
||||
@c How does any of this apply in that case?
|
||||
@example
|
||||
emacs -fn "*courier-medium-r-normal--14-140-*-iso8859-1"
|
||||
@end example
|
||||
|
|
@ -1367,8 +1423,8 @@ window frame:
|
|||
-*-courier-medium-r-normal-*-14-140-*-*-*-*-fontset-startup
|
||||
@end example
|
||||
|
||||
The startup fontset will use the font that you specify or a variant
|
||||
with a different registry and encoding for all the characters which
|
||||
The startup fontset will use the font that you specify, or a variant
|
||||
with a different registry and encoding, for all the characters that
|
||||
are supported by that font, and fallback on @samp{fontset-default} for
|
||||
other characters.
|
||||
|
||||
|
|
@ -1376,7 +1432,8 @@ other characters.
|
|||
just like an actual font name. But be careful not to specify a fontset
|
||||
name in a wildcard resource like @samp{Emacs*Font}---that wildcard
|
||||
specification matches various other resources, such as for menus, and
|
||||
menus cannot handle fontsets.
|
||||
@c FIXME is this still true?
|
||||
menus cannot handle fontsets. @xref{X Resources}.
|
||||
|
||||
You can specify additional fontsets using X resources named
|
||||
@samp{Fontset-@var{n}}, where @var{n} is an integer starting from 0.
|
||||
|
|
@ -1387,7 +1444,8 @@ The resource value should have this form:
|
|||
@end smallexample
|
||||
|
||||
@noindent
|
||||
@var{fontpattern} should have the form of a standard X font name, except
|
||||
@var{fontpattern} should have the form of a standard X font name (see
|
||||
the previous fontset-startup example), except
|
||||
for the last two fields. They should have the form
|
||||
@samp{fontset-@var{alias}}.
|
||||
|
||||
|
|
@ -1409,7 +1467,7 @@ that describe the character set. For the @acronym{ASCII} character font,
|
|||
In addition, when several consecutive fields are wildcards, Emacs
|
||||
collapses them into a single wildcard. This is to prevent use of
|
||||
auto-scaled fonts. Fonts made by scaling larger fonts are not usable
|
||||
for editing, and scaling a smaller font is not useful because it is
|
||||
for editing, and scaling a smaller font is not also useful, because it is
|
||||
better to use the smaller font in its own size, which is what Emacs
|
||||
does.
|
||||
|
||||
|
|
@ -1435,8 +1493,8 @@ and the font specification for Chinese GB2312 characters would be this:
|
|||
|
||||
You may not have any Chinese font matching the above font
|
||||
specification. Most X distributions include only Chinese fonts that
|
||||
have @samp{song ti} or @samp{fangsong ti} in @var{family} field. In
|
||||
such a case, @samp{Fontset-@var{n}} can be specified as below:
|
||||
have @samp{song ti} or @samp{fangsong ti} in the @var{family} field. In
|
||||
such a case, @samp{Fontset-@var{n}} can be specified as:
|
||||
|
||||
@smallexample
|
||||
Emacs.Fontset-0: -*-fixed-medium-r-normal-*-24-*-*-*-*-*-fontset-24,\
|
||||
|
|
@ -1470,8 +1528,8 @@ script.
|
|||
|
||||
Fontsets can be modified using the function @code{set-fontset-font},
|
||||
specifying a character, a charset, a script, or a range of characters
|
||||
to modify the font for, and a font-spec for the font to be used. Some
|
||||
examples are:
|
||||
to modify the font for, and a font specification for the font to be
|
||||
used. Some examples are:
|
||||
|
||||
@example
|
||||
;; Use Liberation Mono for latin-3 charset.
|
||||
|
|
@ -1498,10 +1556,10 @@ examples are:
|
|||
@node Undisplayable Characters
|
||||
@section Undisplayable Characters
|
||||
|
||||
There may be a some non-@acronym{ASCII} characters that your terminal cannot
|
||||
display. Most text-only terminals support just a single character
|
||||
set (use the variable @code{default-terminal-coding-system}
|
||||
(@pxref{Terminal Coding}) to tell Emacs which one); characters which
|
||||
There may be some non-@acronym{ASCII} characters that your
|
||||
terminal cannot display. Most text terminals support just a single
|
||||
character set (use the variable @code{default-terminal-coding-system}
|
||||
to tell Emacs which one, @ref{Terminal Coding}); characters that
|
||||
can't be encoded in that coding system are displayed as @samp{?} by
|
||||
default.
|
||||
|
||||
|
|
@ -1533,17 +1591,15 @@ the range 0240 to 0377 octal (160 to 255 decimal) to handle the
|
|||
accented letters and punctuation needed by various European languages
|
||||
(and some non-European ones). Note that Emacs considers bytes with
|
||||
codes in this range as raw bytes, not as characters, even in a unibyte
|
||||
session, i.e.@: if you disable multibyte characters. However, Emacs
|
||||
buffer, i.e.@: if you disable multibyte characters. However, Emacs
|
||||
can still handle these character codes as if they belonged to
|
||||
@emph{one} of the single-byte character sets at a time. To specify
|
||||
@emph{which} of these codes to use, invoke @kbd{M-x
|
||||
set-language-environment} and specify a suitable language environment
|
||||
such as @samp{Latin-@var{n}}.
|
||||
|
||||
For more information about unibyte operation, see @ref{Enabling
|
||||
Multibyte}. Note particularly that you probably want to ensure that
|
||||
your initialization files are read as unibyte if they contain
|
||||
non-@acronym{ASCII} characters.
|
||||
For more information about unibyte operation, see
|
||||
@ref{Disabling Multibyte}.
|
||||
|
||||
@vindex unibyte-display-via-language-environment
|
||||
Emacs can also display bytes in the range 160 to 255 as readable
|
||||
|
|
@ -1562,8 +1618,8 @@ them as raw bytes, not as characters.
|
|||
set, Emacs can display these characters as @acronym{ASCII} sequences which at
|
||||
least give you a clear idea of what the characters are. To do this,
|
||||
load the library @code{iso-ascii}. Similar libraries for other
|
||||
Latin-@var{n} character sets could be implemented, but we don't have
|
||||
them yet.
|
||||
Latin-@var{n} character sets could be implemented, but have not been
|
||||
so far.
|
||||
|
||||
@findex standard-display-8bit
|
||||
@cindex 8-bit display
|
||||
|
|
@ -1587,9 +1643,9 @@ If your keyboard can generate character codes 128 (decimal) and up,
|
|||
representing non-@acronym{ASCII} characters, you can type those character codes
|
||||
directly.
|
||||
|
||||
On a graphical display, you should not need to do anything special to use
|
||||
these keys; they should simply work. On a text-only terminal, you
|
||||
should use the command @code{M-x set-keyboard-coding-system} or the
|
||||
On a graphical display, you should not need to do anything special to
|
||||
use these keys; they should simply work. On a text terminal, you
|
||||
should use the command @code{M-x set-keyboard-coding-system} or customize the
|
||||
variable @code{keyboard-coding-system} to specify which coding system
|
||||
your keyboard uses (@pxref{Terminal Coding}). Enabling this feature
|
||||
will probably require you to use @kbd{ESC} to type Meta characters;
|
||||
|
|
@ -1613,7 +1669,7 @@ a key sequence is allowed.
|
|||
library is loaded, the @key{ALT} modifier key, if the keyboard has
|
||||
one, serves the same purpose as @kbd{C-x 8}: use @key{ALT} together
|
||||
with an accent character to modify the following letter. In addition,
|
||||
if the keyboard has keys for the Latin-1 ``dead accent characters,''
|
||||
if the keyboard has keys for the Latin-1 ``dead accent characters'',
|
||||
they too are defined to compose with the following character, once
|
||||
@code{iso-transl} is loaded.
|
||||
|
||||
|
|
@ -1657,8 +1713,9 @@ internal representation within Emacs.
|
|||
@findex list-character-sets
|
||||
@kbd{M-x list-character-sets} displays a list of all supported
|
||||
charsets. The list gives the names of charsets and additional
|
||||
information to identity each charset (see
|
||||
@url{http://www.itscj.ipsj.or.jp/ISO-IR/} for details). In this list,
|
||||
information to identity each charset; see the
|
||||
@url{http://www.itscj.ipsj.or.jp/ISO-IR/, International Register of
|
||||
Coded Character Sets} for more details. In this list,
|
||||
charsets are divided into two categories: @dfn{normal charsets} are
|
||||
listed first, followed by @dfn{supplementary charsets}. A
|
||||
supplementary charset is one that is used to define another charset
|
||||
|
|
@ -1678,8 +1735,8 @@ Chars}).
|
|||
Hebrew, whose natural ordering of horizontal text for display is from
|
||||
right to left. However, digits and Latin text embedded in these
|
||||
scripts are still displayed left to right. It is also not uncommon to
|
||||
have small portions of text in Arabic or Hebrew embedded in otherwise
|
||||
Latin document, e.g., as comments and strings in a program source
|
||||
have small portions of text in Arabic or Hebrew embedded in an otherwise
|
||||
Latin document; e.g., as comments and strings in a program source
|
||||
file. For these reasons, text that uses these scripts is actually
|
||||
@dfn{bidirectional}: a mixture of runs of left-to-right and
|
||||
right-to-left characters.
|
||||
|
|
@ -1707,6 +1764,7 @@ directionality when they are displayed. The default value is
|
|||
|
||||
Each paragraph of bidirectional text can have its own @dfn{base
|
||||
direction}, either right-to-left or left-to-right. (Paragraph
|
||||
@c paragraph-separate etc have no influence on this?
|
||||
boundaries are empty lines, i.e.@: lines consisting entirely of
|
||||
whitespace characters.) Text in left-to-right paragraphs begins at
|
||||
the left margin of the window and is truncated or continued when it
|
||||
|
|
@ -1743,5 +1801,5 @@ commands move point in the logical order, so the cursor will sometimes
|
|||
jump when point traverses reordered bidirectional text. Similarly, a
|
||||
highlighted region covering a contiguous range of character positions
|
||||
may look discontinuous if the region spans reordered text. This is
|
||||
normal and similar to behavior of other programs that support
|
||||
normal and similar to the behavior of other programs that support
|
||||
bidirectional text.
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ Emacs includes a facility that lets you easily download and install
|
|||
separate Emacs Lisp program, sometimes including other components such
|
||||
as an Info manual.
|
||||
|
||||
@kbd{M-x list-packages} brings up a buffer named @samp{*Packages*}
|
||||
@kbd{M-x list-packages} brings up a buffer named @file{*Packages*}
|
||||
with a list of all packages. You can install or uninstall packages
|
||||
via this buffer. @xref{Package Menu}.
|
||||
|
||||
|
|
|
|||
|
|
@ -1130,7 +1130,7 @@ prompts for a topic, with completion (@pxref{Completion}), and runs
|
|||
the @command{man} program to format the corresponding man page. If
|
||||
the system permits, it runs @command{man} asynchronously, so that you
|
||||
can keep on editing while the page is being formatted. The result
|
||||
goes in a buffer named @samp{*Man @var{topic}*}. These buffers use a
|
||||
goes in a buffer named @file{*Man @var{topic}*}. These buffers use a
|
||||
special major mode, Man mode, that facilitates scrolling and jumping
|
||||
to other manual pages. For details, type @kbd{C-h m} while in a Man
|
||||
mode buffer.
|
||||
|
|
@ -1165,7 +1165,7 @@ command. Unlike @kbd{M-x man}, it does not run any external programs
|
|||
to format and display the man pages; the formatting is done by Emacs,
|
||||
so it works on systems such as MS-Windows where the @command{man}
|
||||
program may be unavailable. It prompts for a man page, and displays
|
||||
it in a buffer named @samp{*WoMan @var{section} @var{topic}}.
|
||||
it in a buffer named @file{*WoMan @var{section} @var{topic}}.
|
||||
|
||||
@kbd{M-x woman} computes the completion list for manpages the first
|
||||
time you invoke the command. With a numeric argument, it recomputes
|
||||
|
|
@ -1705,7 +1705,7 @@ inserted on that line, and any @samp{\} there is deleted.
|
|||
@cindex preprocessor highlighting
|
||||
@findex cpp-highlight-buffer
|
||||
Highlight parts of the text according to its preprocessor conditionals.
|
||||
This command displays another buffer named @samp{*CPP Edit*}, which
|
||||
This command displays another buffer named @file{*CPP Edit*}, which
|
||||
serves as a graphic menu for selecting how to display particular kinds
|
||||
of conditionals and their contents. After changing various settings,
|
||||
click on @samp{[A]pply these settings} (or go to that buffer and type
|
||||
|
|
|
|||
|
|
@ -8,12 +8,12 @@
|
|||
@cindex frame
|
||||
|
||||
On a graphical display, such as on GNU/Linux using the X Window
|
||||
System, Emacs occupies a ``graphical window''. On a text-only
|
||||
terminal, Emacs occupies the entire terminal screen. We will use the
|
||||
term @dfn{frame} to mean a graphical window or terminal screen
|
||||
occupied by Emacs. Emacs behaves very similarly on both kinds of
|
||||
frames. It normally starts out with just one frame, but you can
|
||||
create additional frames if you wish (@pxref{Frames}).
|
||||
System, Emacs occupies a ``graphical window''. On a text terminal,
|
||||
Emacs occupies the entire terminal screen. We will use the term
|
||||
@dfn{frame} to mean a graphical window or terminal screen occupied by
|
||||
Emacs. Emacs behaves very similarly on both kinds of frames. It
|
||||
normally starts out with just one frame, but you can create additional
|
||||
frames if you wish (@pxref{Frames}).
|
||||
|
||||
Each frame consists of several distinct regions. At the top of the
|
||||
frame is a @dfn{menu bar}, which allows you to access commands via a
|
||||
|
|
@ -131,15 +131,15 @@ Commands that take a long time often display messages ending in
|
|||
progress has been made, as a percentage), and add @samp{done} when
|
||||
they are finished.
|
||||
|
||||
@cindex @samp{*Messages*} buffer
|
||||
@cindex @file{*Messages*} buffer
|
||||
@cindex saved echo area messages
|
||||
@cindex messages saved from echo area
|
||||
@vindex message-log-max
|
||||
Informative echo area messages are saved in a special buffer named
|
||||
@samp{*Messages*}. (We have not explained buffers yet; see
|
||||
@file{*Messages*}. (We have not explained buffers yet; see
|
||||
@ref{Buffers}, for more information about them.) If you miss a
|
||||
message that appeared briefly on the screen, you can switch to the
|
||||
@samp{*Messages*} buffer to see it again. The @samp{*Messages*}
|
||||
@file{*Messages*} buffer to see it again. The @file{*Messages*}
|
||||
buffer is limited to a certain number of lines, specified by the
|
||||
variable @code{message-log-max}. (We have not explained variables
|
||||
either; see @ref{Variables}, for more information about them.) Beyond
|
||||
|
|
@ -178,7 +178,7 @@ unselected windows, in order to make it stand out.
|
|||
@end example
|
||||
|
||||
@noindent
|
||||
On a text-only terminal, this text is followed by a series of dashes
|
||||
On a text terminal, this text is followed by a series of dashes
|
||||
extending to the right edge of the window. These dashes are omitted
|
||||
on a graphical display.
|
||||
|
||||
|
|
@ -195,7 +195,7 @@ means no conversion whatsoever, and is usually used for files
|
|||
containing non-textual data. Other characters represent various
|
||||
@dfn{coding systems}---for example, @samp{1} represents ISO Latin-1.
|
||||
|
||||
On a text-only terminal, @var{cs} is preceded by two additional
|
||||
On a text terminal, @var{cs} is preceded by two additional
|
||||
characters that describe the coding systems for keyboard input and
|
||||
terminal output. Furthermore, if you are using an input method,
|
||||
@var{cs} is preceded by a string that identifies the input method
|
||||
|
|
@ -228,7 +228,7 @@ However, if the default-directory for the current buffer is on a
|
|||
remote machine, @samp{@@} is displayed instead (@pxref{File Names}).
|
||||
|
||||
@var{fr} gives the selected frame name (@pxref{Frames}). It appears
|
||||
only on text-only terminals. The initial frame's name is @samp{F1}.
|
||||
only on text terminals. The initial frame's name is @samp{F1}.
|
||||
|
||||
@var{buf} is the name of the buffer displayed in the window.
|
||||
Usually, this is the same as the name of a file you are editing.
|
||||
|
|
@ -307,13 +307,12 @@ You can then navigate the menus with the arrow keys. To activate a
|
|||
selected menu item, press @key{RET}; to cancel menu navigation, press
|
||||
@key{ESC}.
|
||||
|
||||
On a text-only terminal, you can use the menu bar by typing
|
||||
@kbd{M-`} or @key{F10} (these run the command @code{tmm-menubar}).
|
||||
This lets you select a menu item with the keyboard. A provisional
|
||||
choice appears in the echo area. You can use the up and down arrow
|
||||
keys to move through the menu to different items, and then you can
|
||||
type @key{RET} to select the item. Each menu item is also designated
|
||||
by a letter or digit (usually the initial of some word in the item's
|
||||
name). This letter or digit is separated from the item name by
|
||||
@samp{=>}. You can type the item's letter or digit to select the
|
||||
item.
|
||||
On a text terminal, you can use the menu bar by typing @kbd{M-`} or
|
||||
@key{F10} (these run the command @code{tmm-menubar}). This lets you
|
||||
select a menu item with the keyboard. A provisional choice appears in
|
||||
the echo area. You can use the up and down arrow keys to move through
|
||||
the menu to different items, and then you can type @key{RET} to select
|
||||
the item. Each menu item is also designated by a letter or digit
|
||||
(usually the initial of some word in the item's name). This letter or
|
||||
digit is separated from the item name by @samp{=>}. You can type the
|
||||
item's letter or digit to select the item.
|
||||
|
|
|
|||
|
|
@ -1308,7 +1308,7 @@ displayed before and after each matching line.
|
|||
@kindex RET @r{(Occur mode)}
|
||||
@kindex o @r{(Occur mode)}
|
||||
@kindex C-o @r{(Occur mode)}
|
||||
In the @samp{*Occur*} buffer, you can click on each entry, or move
|
||||
In the @file{*Occur*} buffer, you can click on each entry, or move
|
||||
point there and type @key{RET}, to visit the corresponding position in
|
||||
the buffer that was searched. @kbd{o} and @kbd{C-o} display the match
|
||||
in another window; @kbd{C-o} does not select it. Alternatively, you
|
||||
|
|
@ -1317,7 +1317,7 @@ occurrences one by one (@pxref{Compilation Mode}).
|
|||
|
||||
@cindex Occur Edit mode
|
||||
@cindex mode, Occur Edit
|
||||
Typing @kbd{e} in the @samp{*Occur*} buffer switches to Occur Edit
|
||||
Typing @kbd{e} in the @file{*Occur*} buffer switches to Occur Edit
|
||||
mode, in which edits made to the entries are also applied to the text
|
||||
in the originating buffer. Type @kbd{C-c C-c} to return to Occur
|
||||
mode.
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
@kindex C-x m
|
||||
@findex compose-mail
|
||||
To send an email message from Emacs, type @kbd{C-x m}. This
|
||||
switches to a buffer named @samp{*unsent mail*}, where you can edit
|
||||
switches to a buffer named @file{*unsent mail*}, where you can edit
|
||||
the text and headers of the message. When done, type @kbd{C-c C-s} or
|
||||
@kbd{C-c C-c} to send it.
|
||||
|
||||
|
|
@ -306,7 +306,7 @@ completion, and inserts its definition at point.
|
|||
@cindex Message mode
|
||||
@cindex mode, Message
|
||||
|
||||
The default major mode for the @samp{*mail*} buffer is called
|
||||
The default major mode for the @file{*mail*} buffer is called
|
||||
Message mode. It behaves like Text mode in many ways, but provides
|
||||
several additional commands on the @kbd{C-c} prefix, which make
|
||||
editing a message more convenient.
|
||||
|
|
|
|||
|
|
@ -1548,7 +1548,7 @@ text that belongs inside. Afterward, use the command @kbd{C-c @}}
|
|||
point, and inserts two newlines to start a new paragraph. It outputs
|
||||
a message in the echo area if any mismatch is found. @kbd{M-x
|
||||
tex-validate-region} checks a region, paragraph by paragraph. The
|
||||
errors are listed in an @samp{*Occur*} buffer; you can use the usual
|
||||
errors are listed in an @file{*Occur*} buffer; you can use the usual
|
||||
Occur mode commands in that buffer, such as @kbd{C-c C-c}, to visit a
|
||||
particular mismatch (@pxref{Other Repeating Search}).
|
||||
|
||||
|
|
@ -1694,7 +1694,7 @@ name with @samp{*} in the command string. For example,
|
|||
@findex tex-recenter-output-buffer
|
||||
@kindex C-c C-l @r{(@TeX{} mode)}
|
||||
The terminal output from @TeX{}, including any error messages,
|
||||
appears in a buffer called @samp{*tex-shell*}. If @TeX{} gets an
|
||||
appears in a buffer called @file{*tex-shell*}. If @TeX{} gets an
|
||||
error, you can switch to this buffer and feed it input (this works as
|
||||
in Shell mode; @pxref{Interactive Shell}). Without switching to this
|
||||
buffer you can scroll it so that its last line is visible by typing
|
||||
|
|
|
|||
|
|
@ -172,20 +172,19 @@ used to delete forwards. If this key deletes backward in Emacs, that
|
|||
too suggests Emacs got the wrong information---but in the opposite
|
||||
sense.
|
||||
|
||||
On a text-only terminal, if you find that @key{Backspace} prompts
|
||||
for a Help command, like @kbd{Control-h}, instead of deleting a
|
||||
character, it means that key is actually sending the @key{BS}
|
||||
character. Emacs ought to be treating @key{BS} as @key{DEL}, but it
|
||||
isn't.
|
||||
On a text terminal, if you find that @key{Backspace} prompts for a
|
||||
Help command, like @kbd{Control-h}, instead of deleting a character,
|
||||
it means that key is actually sending the @key{BS} character. Emacs
|
||||
ought to be treating @key{BS} as @key{DEL}, but it isn't.
|
||||
|
||||
@findex normal-erase-is-backspace-mode
|
||||
In all of those cases, the immediate remedy is the same: use the
|
||||
command @kbd{M-x normal-erase-is-backspace-mode}. This toggles
|
||||
between the two modes that Emacs supports for handling @key{DEL}, so
|
||||
if Emacs starts in the wrong mode, this should switch to the right
|
||||
mode. On a text-only terminal, if you want to ask for help when
|
||||
@key{BS} is treated as @key{DEL}, use @key{F1}; @kbd{C-?} may also
|
||||
work, if it sends character code 127.
|
||||
mode. On a text terminal, if you want to ask for help when @key{BS}
|
||||
is treated as @key{DEL}, use @key{F1}; @kbd{C-?} may also work, if it
|
||||
sends character code 127.
|
||||
|
||||
To fix the problem in every Emacs session, put one of the following
|
||||
lines into your initialization file (@pxref{Init File}). For the
|
||||
|
|
@ -327,8 +326,8 @@ not make a backup of its old contents.
|
|||
@node Emergency Escape
|
||||
@subsection Emergency Escape
|
||||
|
||||
On text-only terminals, the @dfn{emergency escape} feature suspends
|
||||
Emacs immediately if you type @kbd{C-g} a second time before Emacs can
|
||||
On text terminals, the @dfn{emergency escape} feature suspends Emacs
|
||||
immediately if you type @kbd{C-g} a second time before Emacs can
|
||||
actually respond to the first one by quitting. This is so you can
|
||||
always get out of GNU Emacs no matter how badly it might be hung.
|
||||
When things are working properly, Emacs recognizes and handles the
|
||||
|
|
@ -636,7 +635,7 @@ Emacs, so you will have to report the bug somewhere else.
|
|||
The type of machine you are using, and the operating system name and
|
||||
version number (again, automatically included by @kbd{M-x
|
||||
report-emacs-bug}). @kbd{M-x emacs-version @key{RET}} provides this
|
||||
information too. Copy its output from the @samp{*Messages*} buffer,
|
||||
information too. Copy its output from the @file{*Messages*} buffer,
|
||||
so that you get it all and get it accurately.
|
||||
|
||||
@item
|
||||
|
|
@ -699,7 +698,7 @@ The way to collect the terminal output is to execute the Lisp expression
|
|||
@end example
|
||||
|
||||
@noindent
|
||||
using @kbd{M-:} or from the @samp{*scratch*} buffer just after
|
||||
using @kbd{M-:} or from the @file{*scratch*} buffer just after
|
||||
starting Emacs. From then on, Emacs copies all terminal output to the
|
||||
specified termscript file as well, until the Emacs process is killed.
|
||||
If the problem happens when Emacs starts up, put this expression into
|
||||
|
|
@ -725,10 +724,10 @@ Alternatively, use the @command{locale} command, if your system has it,
|
|||
to display your locale settings.
|
||||
|
||||
You can use the @kbd{M-!} command to execute these commands from
|
||||
Emacs, and then copy the output from the @samp{*Messages*} buffer into
|
||||
Emacs, and then copy the output from the @file{*Messages*} buffer into
|
||||
the bug report. Alternatively, @kbd{M-x getenv @key{RET} LC_ALL
|
||||
@key{RET}} will display the value of @code{LC_ALL} in the echo area, and
|
||||
you can copy its output from the @samp{*Messages*} buffer.
|
||||
you can copy its output from the @file{*Messages*} buffer.
|
||||
|
||||
@item
|
||||
A description of what behavior you observe that you believe is
|
||||
|
|
@ -761,7 +760,7 @@ important to report the precise text of the error message, and a
|
|||
backtrace showing how the Lisp program in Emacs arrived at the error.
|
||||
|
||||
To get the error message text accurately, copy it from the
|
||||
@samp{*Messages*} buffer into the bug report. Copy all of it, not just
|
||||
@file{*Messages*} buffer into the bug report. Copy all of it, not just
|
||||
part.
|
||||
|
||||
@findex toggle-debug-on-error
|
||||
|
|
|
|||
|
|
@ -36,8 +36,8 @@ has its own value of point.
|
|||
At any time, one Emacs window is the @dfn{selected window}; the
|
||||
buffer this window is displaying is the current buffer. On graphical
|
||||
displays, the point is indicated by a solid blinking cursor in the
|
||||
selected window, and by a hollow box in non-selected windows. On
|
||||
text-only terminals, the cursor is drawn only in the selected window.
|
||||
selected window, and by a hollow box in non-selected windows. On text
|
||||
terminals, the cursor is drawn only in the selected window.
|
||||
@xref{Cursor Display}.
|
||||
|
||||
Commands to move point affect the value of point for the selected
|
||||
|
|
|
|||
|
|
@ -1,3 +1,7 @@
|
|||
2012-04-14 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* Makefile.in: Replace non-portable use of $< in ordinary rules.
|
||||
|
||||
2012-02-28 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* emacs-lisp-intro.texi: Standardize possessive apostrophe usage.
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#### Makefile for the Emacs Lisp Introduction manual
|
||||
|
||||
# Copyright (C) 1994-1999, 2001-2012 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1994-1999, 2001-2012 Free Software Foundation, Inc.
|
||||
|
||||
# This file is part of GNU Emacs.
|
||||
|
||||
|
|
@ -48,21 +48,22 @@ ps: emacs-lisp-intro.ps
|
|||
|
||||
# The file name eintr must fit within 5 characters, to allow for
|
||||
# -NN extensions to fit into DOS 8+3 limits without clashing.
|
||||
# Note: "<" is not portable in ordinary make rules.
|
||||
${infodir}/eintr: ${srcdir}/emacs-lisp-intro.texi
|
||||
$(mkinfodir)
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) -o $@ $<
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) -o $@ ${srcdir}/emacs-lisp-intro.texi
|
||||
|
||||
emacs-lisp-intro.dvi: ${srcdir}/emacs-lisp-intro.texi
|
||||
$(ENVADD) $(TEXI2DVI) $<
|
||||
$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-lisp-intro.texi
|
||||
|
||||
emacs-lisp-intro.ps: emacs-lisp-intro.dvi
|
||||
$(DVIPS) -o $@ $<
|
||||
$(DVIPS) -o $@ emacs-lisp-intro.dvi
|
||||
|
||||
emacs-lisp-intro.pdf: ${srcdir}/emacs-lisp-intro.texi
|
||||
$(ENVADD) $(TEXI2PDF) $<
|
||||
$(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-lisp-intro.texi
|
||||
|
||||
emacs-lisp-intro.html: ${srcdir}/emacs-lisp-intro.texi
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ $<
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ ${srcdir}/emacs-lisp-intro.texi
|
||||
|
||||
.PHONY: mostlyclean clean distclean maintainer-clean infoclean
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,133 @@
|
|||
2012-04-20 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* processes.texi (Asynchronous Processes): Mention nil argument to
|
||||
start-process.
|
||||
|
||||
2012-04-20 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* minibuf.texi (Basic Completion): No need to describe obarrays here.
|
||||
Don't mention obsolete `nospace' argument of all-completions.
|
||||
(Minibuffer Completion, Completion Commands, Reading File Names)
|
||||
(Completion Variables): Copyedits.
|
||||
(Completion Commands): Mention parent keymaps.
|
||||
Remove obsolete minibuffer-local-filename-must-match-map.
|
||||
(High-Level Completion): Remove read-variable's almost
|
||||
word-for-word duplication of read-command.
|
||||
* elisp.texi, vol1.texi, vol2.texi, minibuf.texi (Completion):
|
||||
Update "High-Level Completion" description.
|
||||
|
||||
* minibuf.texi (Minibuffers):
|
||||
* elisp.texi, vol1.texi, vol2.texi: Fix minibuffer subsection order.
|
||||
|
||||
* minibuf.texi: Standardize metasyntactic variables ("history", etc).
|
||||
Use Texinfo-recommended form of quote+punctuation.
|
||||
(Intro to Minibuffers): First minibuffer is #1, not #0.
|
||||
Mention minibuffer-inactive-mode.
|
||||
(Text from Minibuffer): Copyedits.
|
||||
(Minibuffer History, Programmed Completion): Fix @var usage.
|
||||
(Object from Minibuffer): Remove overly pedantic para.
|
||||
(Minibuffer History): Copyedits. Add face-name-history.
|
||||
(Initial Input, Yes-or-No Queries, Multiple Queries)
|
||||
(Minibuffer Windows, Minibuffer Misc): Copyedits.
|
||||
(Yes-or-No Queries): Tweak example.
|
||||
(Minibuffer Commands): Add next-complete-history-element.
|
||||
(Minibuffer Misc): Mention minibuffer-message-timeout, and
|
||||
minibuffer-inactive-mode.
|
||||
|
||||
* processes.texi (Serial Ports, Byte Packing, Bindat Spec)
|
||||
(Bindat Functions): Copyedits.
|
||||
|
||||
2012-04-20 Christopher Schmidt <christopher@ch.ristopher.com>
|
||||
|
||||
* files.texi (Saving Buffers): Document `visit and `visit-save'
|
||||
values of require-final-newline.
|
||||
|
||||
2012-04-20 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* processes.texi (Output from Processes, Filter Functions):
|
||||
Mention waiting-for-user-input-p.
|
||||
(Sentinels, Query Before Exit, System Processes, Transaction Queues):
|
||||
(Network Servers, Datagrams, Network Processes, Network Options)
|
||||
(Network Feature Testing, Serial Ports): Copyedits.
|
||||
(Network): Add encrypted network overview paragraph.
|
||||
Cross-reference the Emacs-GnuTLS manual. Use @acronym.
|
||||
|
||||
2012-04-20 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* help.texi (Keys in Documentation): Mention :advertised-binding.
|
||||
|
||||
* keymaps.texi (Menu Bar): Move most of the :advertised-binding
|
||||
description to help.texi.
|
||||
|
||||
2012-04-20 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* processes.texi (Process Information, Input to Processes)
|
||||
(Signals to Processes, Output from Processes, Process Buffers)
|
||||
(Filter Functions, Decoding Output): Copyedits.
|
||||
(Accepting Output): Discourage use of `millisec' argument.
|
||||
|
||||
2012-04-15 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* processes.texi (Processes, Subprocess Creation, Shell Arguments):
|
||||
(Synchronous Processes, Asynchronous Processes, Deleting Processes):
|
||||
Copyedits.
|
||||
(Subprocess Creation): Discourage modifying exec-path directly.
|
||||
(Synchronous Processes, Asynchronous Processes):
|
||||
Update some example output.
|
||||
(Process Information): Fix typo.
|
||||
(Bindat Spec): Use Texinfo-recommended form of quote+punctuation.
|
||||
|
||||
2012-04-15 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* anti.texi (Antinews): Copyedits. Don't @dfn anything here.
|
||||
open-network-stream does exist in Emacs 23, but is simpler.
|
||||
|
||||
2012-04-15 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* customize.texi (Custom Themes): Also document load-theme etc.
|
||||
|
||||
2012-04-14 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* customize.texi (Applying Customizations):
|
||||
(Custom Themes): New nodes.
|
||||
|
||||
* display.texi (Defining Faces): Reference custom-set-faces.
|
||||
|
||||
* modes.texi (Defining Minor Modes, Defining Minor Modes):
|
||||
* os.texi (Startup Summary): Copyedits.
|
||||
|
||||
2012-04-14 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* loading.texi (Loading Non-ASCII): "unibyte:" can also be at the end.
|
||||
|
||||
* strings.texi (Case Tables):
|
||||
* objects.texi (General Escape Syntax):
|
||||
* keymaps.texi (Key Sequences): Use @acronym with "ASCII".
|
||||
|
||||
* buffers.texi, compile.texi, customize.texi, debugging.texi:
|
||||
* display.texi, edebug.texi, eval.texi, help.texi, intro.texi:
|
||||
* keymaps.texi, minibuf.texi, modes.texi, os.texi, processes.texi:
|
||||
* text.texi: Use @file for buffers, per the Texinfo manual.
|
||||
|
||||
* compile.texi (Compiler Errors): Add missing space in buffer name.
|
||||
|
||||
2012-04-14 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* processes.texi (Query Before Exit): Remove obsolete function
|
||||
process-kill-without-query (Bug#11190).
|
||||
|
||||
2012-04-14 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* files.texi, frames.texi, loading.texi, os.texi, processes.texi:
|
||||
Use @env for environment variables.
|
||||
|
||||
* Makefile.in: Replace non-portable use of $< in ordinary rules.
|
||||
|
||||
2012-04-12 Jari Aalto <jari.aalto@cante.net>
|
||||
|
||||
* processes.texi (Synchronous Processes): Mention
|
||||
`default-directory' (bug#7515).
|
||||
|
||||
2012-04-09 Chong Yidong <cyd@gnu.org>
|
||||
|
||||
* customize.texi (Variable Definitions): Remove user-variable-p.
|
||||
|
|
|
|||
|
|
@ -106,21 +106,22 @@ html: elisp.html
|
|||
pdf: elisp.pdf
|
||||
ps: elisp.ps
|
||||
|
||||
## Note: "<" is not portable in ordinary make rules.
|
||||
$(infodir)/elisp: $(srcs)
|
||||
$(mkinfodir)
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) -o $@ $<
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) -o $@ $(srcdir)/elisp.texi
|
||||
|
||||
elisp.dvi: $(srcs)
|
||||
$(ENVADD) $(TEXI2DVI) $<
|
||||
$(ENVADD) $(TEXI2DVI) $(srcdir)/elisp.texi
|
||||
|
||||
elisp.html: $(srcs)
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ $<
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ $(srcdir)/elisp.texi
|
||||
|
||||
elisp.ps: elisp.dvi
|
||||
$(DVIPS) -o $@ $<
|
||||
$(DVIPS) -o $@ elisp.dvi
|
||||
|
||||
elisp.pdf: $(srcs)
|
||||
$(ENVADD) $(TEXI2PDF) $<
|
||||
$(ENVADD) $(TEXI2PDF) $(srcdir)/elisp.texi
|
||||
|
||||
.PHONY: mostlyclean clean distclean maintainer-clean infoclean
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1994, 1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/abbrevs
|
||||
@node Abbrevs, Processes, Syntax Tables, Top
|
||||
@chapter Abbrevs and Abbrev Expansion
|
||||
@cindex abbrev
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1998-1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/advising
|
||||
@node Advising Functions, Debugging, Byte Compilation, Top
|
||||
@chapter Advising Emacs Lisp Functions
|
||||
@cindex advising functions
|
||||
|
|
|
|||
|
|
@ -65,9 +65,9 @@ Emacs windows now have most of their internal state hidden from Lisp.
|
|||
Internal windows are no longer visible to Lisp; functions such as
|
||||
@code{window-parent}, window parameters related to window arrangement,
|
||||
and window-local buffer lists have all been removed. Functions for
|
||||
resizing windows can delete windows if when they become too small.
|
||||
resizing windows can delete windows if they become too small.
|
||||
|
||||
The @dfn{action function} feature for controlling buffer display has
|
||||
The ``action function'' feature for controlling buffer display has
|
||||
been removed, including @code{display-buffer-overriding-action} and
|
||||
related variables, as well as the @var{action} argument to
|
||||
@code{display-buffer} and other functions. The way to
|
||||
|
|
@ -80,7 +80,7 @@ variables.
|
|||
The standard completion interface has been simplified, eliminating the
|
||||
@code{completion-extra-properties} variable, the @code{metadata}
|
||||
action flag for completion functions, and the concept of
|
||||
@dfn{completion categories}. Lisp programmers may now find the choice
|
||||
``completion categories''. Lisp programmers may now find the choice
|
||||
of methods for tuning completion less bewildering, but if a package
|
||||
finds the streamlined interface insufficient for its needs, it must
|
||||
implement its own specialized completion feature.
|
||||
|
|
@ -123,17 +123,19 @@ an additional @var{cache} entry in their definitions, like this:
|
|||
The @var{cache} entry is used internally by Emacs to record equivalent
|
||||
keyboard key sequences for invoking the same command; Lisp programs
|
||||
should never use it.
|
||||
@c Not really NEWS-worthy then...
|
||||
|
||||
@item
|
||||
The @code{open-network-stream} function has been removed, and so has
|
||||
the @code{gnutls} library. Lisp programs that want an encrypted
|
||||
network connection must now call external utilities such as
|
||||
@command{starttls} or @command{gnutls-cli}.
|
||||
The @code{gnutls} library has been removed, and the function
|
||||
@code{open-network-stream} correspondingly simplified.
|
||||
Lisp programs that want an encrypted network connection must now call
|
||||
external utilities such as @command{starttls} or @command{gnutls-cli}.
|
||||
|
||||
@item
|
||||
Tool bars can no longer display separators, which frees up several
|
||||
pixels of space on each graphical frame.
|
||||
|
||||
@item
|
||||
Many other functions and variables have been eliminated.
|
||||
As part of the ongoing quest for simplicity, many other functions and
|
||||
variables have been eliminated.
|
||||
@end itemize
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
@c -*-texinfo-*-
|
||||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1995, 1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 1990-1995, 1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/backups
|
||||
@node Backups and Auto-Saving, Buffers, Files, Top
|
||||
@chapter Backups and Auto-Saving
|
||||
@cindex backups and auto-saving
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/buffers
|
||||
@node Buffers, Windows, Backups and Auto-Saving, Top
|
||||
@chapter Buffers
|
||||
@cindex buffer
|
||||
|
|
@ -863,7 +862,7 @@ a buffer visible in any window on any visible frame, except as a last
|
|||
resort. If @var{visible-ok} is non-@code{nil}, then it does not matter
|
||||
whether a buffer is displayed somewhere or not.
|
||||
|
||||
If no suitable buffer exists, the buffer @samp{*scratch*} is returned
|
||||
If no suitable buffer exists, the buffer @file{*scratch*} is returned
|
||||
(and created, if necessary).
|
||||
@end defun
|
||||
|
||||
|
|
@ -874,7 +873,7 @@ selected frame's buffer list.
|
|||
|
||||
The argument @var{visible-ok} is handled as with @code{other-buffer},
|
||||
see above. If no suitable buffer can be found, the buffer
|
||||
@samp{*scratch*} is returned.
|
||||
@file{*scratch*} is returned.
|
||||
@end defun
|
||||
|
||||
@deffn Command bury-buffer &optional buffer-or-name
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/commands
|
||||
@node Command Loop, Keymaps, Minibuffers, Top
|
||||
@chapter Command Loop
|
||||
@cindex editor command loop
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
@c -*-texinfo-*-
|
||||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1994, 2001-2012 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 1990-1994, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/compile
|
||||
@node Byte Compilation, Advising Functions, Loading, Top
|
||||
@chapter Byte Compilation
|
||||
@cindex byte compilation
|
||||
|
|
@ -92,7 +91,7 @@ the @code{byte-compile} function. You can compile a whole file with
|
|||
|
||||
Sometimes, the byte compiler produces warning and/or error messages
|
||||
(@pxref{Compiler Errors}, for details). These messages are recorded
|
||||
in a buffer called @samp{*Compile-Log*}, which uses Compilation mode.
|
||||
in a buffer called @file{*Compile-Log*}, which uses Compilation mode.
|
||||
@xref{Compilation Mode,,,emacs, The GNU Emacs Manual}.
|
||||
|
||||
@cindex macro compilation
|
||||
|
|
@ -443,14 +442,14 @@ to what @code{eval-when-compile} does.
|
|||
@cindex compiler errors
|
||||
|
||||
Byte compilation outputs all errors and warnings into the buffer
|
||||
@samp{*Compile-Log*}. The messages include file names and line
|
||||
@file{*Compile-Log*}. The messages include file names and line
|
||||
numbers that identify the location of the problem. The usual Emacs
|
||||
commands for operating on compiler diagnostics work properly on these
|
||||
messages.
|
||||
|
||||
When an error is due to invalid syntax in the program, the byte
|
||||
compiler might get confused about the errors' exact location. One way
|
||||
to investigate is to switch to the buffer @w{@samp{*Compiler Input*}}.
|
||||
to investigate is to switch to the buffer @w{@file{ *Compiler Input*}}.
|
||||
(This buffer name starts with a space, so it does not show up in
|
||||
@kbd{M-x list-buffers}.) This buffer contains the program being
|
||||
compiled, and point shows how far the byte compiler was able to read;
|
||||
|
|
@ -602,7 +601,7 @@ the stack.
|
|||
@deffn Command disassemble object &optional buffer-or-name
|
||||
This command displays the disassembled code for @var{object}. In
|
||||
interactive use, or if @var{buffer-or-name} is @code{nil} or omitted,
|
||||
the output goes in a buffer named @samp{*Disassemble*}. If
|
||||
the output goes in a buffer named @file{*Disassemble*}. If
|
||||
@var{buffer-or-name} is non-@code{nil}, it must be a buffer or the
|
||||
name of an existing buffer. Then the output goes there, at point, and
|
||||
point is left before the output.
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
@c -*-texinfo-*-
|
||||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/control
|
||||
@node Control Structures, Variables, Evaluation, Top
|
||||
@chapter Control Structures
|
||||
@cindex special forms for control structures
|
||||
|
|
|
|||
|
|
@ -1,23 +1,27 @@
|
|||
@c -*-texinfo-*-
|
||||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1997-2012 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 1997-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/customize
|
||||
@node Customization, Loading, Macros, Top
|
||||
@chapter Writing Customization Definitions
|
||||
@chapter Customization Settings
|
||||
|
||||
@cindex customization definitions
|
||||
This chapter describes how to declare user options for customization,
|
||||
and also customization groups for classifying them. We use the term
|
||||
@dfn{customization item} to include both kinds of customization
|
||||
definitions---as well as face definitions (@pxref{Defining Faces}).
|
||||
@cindex customization item
|
||||
This chapter describes how to declare customizable variables and
|
||||
customization groups for classifying them. We use the term
|
||||
@dfn{customization item} to include customizable variables,
|
||||
customization groups, as well as faces.
|
||||
|
||||
@xref{Defining Faces}, for the @code{defface} macro, which is used
|
||||
for declaring customizable faces.
|
||||
|
||||
@menu
|
||||
* Common Keywords:: Common keyword arguments for all kinds of
|
||||
customization declarations.
|
||||
* Group Definitions:: Writing customization group definitions.
|
||||
* Variable Definitions:: Declaring user options.
|
||||
* Customization Types:: Specifying the type of a user option.
|
||||
* Common Keywords:: Common keyword arguments for all kinds of
|
||||
customization declarations.
|
||||
* Group Definitions:: Writing customization group definitions.
|
||||
* Variable Definitions:: Declaring user options.
|
||||
* Customization Types:: Specifying the type of a user option.
|
||||
* Applying Customizations:: Functions to apply customization settings.
|
||||
* Custom Themes:: Writing Custom themes.
|
||||
@end menu
|
||||
|
||||
@node Common Keywords
|
||||
|
|
@ -306,7 +310,7 @@ individual types for a description of how to use @code{:options}.
|
|||
@item :set @var{setfunction}
|
||||
@kindex set@r{, @code{defcustom} keyword}
|
||||
Specify @var{setfunction} as the way to change the value of this
|
||||
option when using the Customize user interface. The function
|
||||
option when using the Customize interface. The function
|
||||
@var{setfunction} should take two arguments, a symbol (the option
|
||||
name) and the new value, and should do whatever is necessary to update
|
||||
the value properly for this option (which may not mean simply setting
|
||||
|
|
@ -588,7 +592,7 @@ The value must be a coding-system name, and you can do completion with
|
|||
@item color
|
||||
The value must be a valid color name. The widget provides completion
|
||||
for color names, as well as a sample and a button for selecting a
|
||||
color name from a list of color names shown in a @samp{*Colors*}
|
||||
color name from a list of color names shown in a @file{*Colors*}
|
||||
buffer.
|
||||
@end table
|
||||
|
||||
|
|
@ -1242,3 +1246,168 @@ the inferior widgets will convert @emph{their} inferior widgets. If
|
|||
the data structure is itself recursive, this conversion is an infinite
|
||||
recursion. The @code{lazy} widget prevents the recursion: it convert
|
||||
its @code{:type} argument only when needed.
|
||||
|
||||
@node Applying Customizations
|
||||
@section Applying Customizations
|
||||
|
||||
The following functions are responsible for installing the user's
|
||||
customization settings for variables and faces, respectively. When
|
||||
the user invokes @samp{Save for future sessions} in the Customize
|
||||
interface, that takes effect by writing a @code{custom-set-variables}
|
||||
and/or a @code{custom-set-faces} form into the custom file, to be
|
||||
evaluated the next time Emacs starts up.
|
||||
|
||||
@defun custom-set-variables &rest args
|
||||
This function installs the variable customizations specified by
|
||||
@var{args}. Each argument in @var{args} should have the form
|
||||
|
||||
@example
|
||||
(@var{var} @var{expression} [@var{now} [@var{request} [@var{comment}]]])
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
@var{var} is a variable name (a symbol), and @var{expression} is an
|
||||
expression which evaluates to the desired customized value.
|
||||
|
||||
If the @code{defcustom} form for @var{var} has been evaluated prior to
|
||||
this @code{custom-set-variables} call, @var{expression} is immediately
|
||||
evaluated, and the variable's value is set to the result. Otherwise,
|
||||
@var{expression} is stored into the variable's @code{saved-value}
|
||||
property, to be evaluated when the relevant @code{defcustom} is called
|
||||
(usually when the library defining that variable is loaded into
|
||||
Emacs).
|
||||
|
||||
The @var{now}, @var{request}, and @var{comment} entries are for
|
||||
internal use only, and may be omitted. @var{now}, if non-@code{nil},
|
||||
means to set the variable's value now, even if the variable's
|
||||
@code{defcustom} form has not been evaluated. @var{request} is a list
|
||||
of features to be loaded immediately (@pxref{Named Features}).
|
||||
@var{comment} is a string describing the customization.
|
||||
@end defun
|
||||
|
||||
@defun custom-set-faces &rest args
|
||||
This function installs the face customizations specified by
|
||||
@var{args}. Each argument in @var{args} should have the form
|
||||
|
||||
@example
|
||||
(@var{face} @var{spec} [@var{now} [@var{comment}]])
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
@var{face} is a face name (a symbol), and @var{spec} is the customized
|
||||
face specification for that face (@pxref{Defining Faces}).
|
||||
|
||||
The @var{now} and @var{comment} entries are for internal use only, and
|
||||
may be omitted. @var{now}, if non-@code{nil}, means to install the
|
||||
face specification now, even if the @code{defface} form has not been
|
||||
evaluated. @var{comment} is a string describing the customization.
|
||||
@end defun
|
||||
|
||||
@node Custom Themes
|
||||
@section Custom Themes
|
||||
|
||||
@dfn{Custom themes} are collections of settings that can be enabled
|
||||
or disabled as a unit. @xref{Custom Themes,,, emacs, The GNU Emacs
|
||||
Manual}. Each Custom theme is defined by an Emacs Lisp source file,
|
||||
which should follow the conventions described in this section.
|
||||
(Instead of writing a Custom theme by hand, you can also create one
|
||||
using a Customize-like interface; @pxref{Creating Custom Themes,,,
|
||||
emacs, The GNU Emacs Manual}.)
|
||||
|
||||
A Custom theme file should be named @file{@var{foo}-theme.el}, where
|
||||
@var{foo} is the theme name. The first Lisp form in the file should
|
||||
be a call to @code{deftheme}, and the last form should be a call to
|
||||
@code{provide-theme}.
|
||||
|
||||
@defmac deftheme theme &optional doc
|
||||
This macro declares @var{theme} (a symbol) as the name of a Custom
|
||||
theme. The optional argument @var{doc} should be a string describing
|
||||
the theme; this is the description shown when the user invokes the
|
||||
@code{describe-theme} command or types @kbd{?} in the @samp{*Custom
|
||||
Themes*} buffer.
|
||||
|
||||
Two special theme names are disallowed: @code{user} is a ``dummy''
|
||||
theme which stores the user's direct customization settings, and
|
||||
@code{changed} is a ``dummy'' theme which stores changes made outside
|
||||
of the Customize system. If you specify either of these as the
|
||||
@var{theme} argument, @code{deftheme} signals an error.
|
||||
@end defmac
|
||||
|
||||
@defmac provide-theme theme
|
||||
This macro declares that the theme named @var{theme} has been fully
|
||||
specified.
|
||||
@end defmac
|
||||
|
||||
In between @code{deftheme} and @code{provide-theme} are Lisp forms
|
||||
specifying the theme settings: usually a call to
|
||||
@code{custom-theme-set-variables} and/or a call to
|
||||
@code{custom-theme-set-faces}.
|
||||
|
||||
@defun custom-theme-set-variables theme &rest args
|
||||
This function specifies the Custom theme @var{theme}'s variable
|
||||
settings. @var{theme} should be a symbol. Each argument in
|
||||
@var{args} should be a list of the form
|
||||
|
||||
@example
|
||||
(@var{var} @var{expression} [@var{now} [@var{request} [@var{comment}]]])
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
where the list entries have the same meanings as in
|
||||
@code{custom-set-variables}. @xref{Applying Customizations}.
|
||||
@end defun
|
||||
|
||||
@defun custom-theme-set-faces theme &rest args
|
||||
This function specifies the Custom theme @var{theme}'s face settings.
|
||||
@var{theme} should be a symbol. Each argument in @var{args} should be
|
||||
a list of the form
|
||||
|
||||
@example
|
||||
(@var{face} @var{spec} [@var{now} [@var{comment}]])
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
where the list entries have the same meanings as in
|
||||
@code{custom-set-faces}. @xref{Applying Customizations}.
|
||||
@end defun
|
||||
|
||||
In theory, a theme file can also contain other Lisp forms, which
|
||||
would be evaluated when loading the theme, but that is ``bad form''.
|
||||
To protect against loading themes containing malicious code, Emacs
|
||||
displays the source file and asks for confirmation from the user
|
||||
before loading any non-built-in theme for the first time.
|
||||
|
||||
The following functions are useful for programmatically enabling and
|
||||
disabling Custom themes:
|
||||
|
||||
@defun custom-theme-p theme
|
||||
This function return a non-@code{nil} value if @var{theme} (a symbol)
|
||||
is the name of a Custom theme (i.e.@: a Custom theme which has been
|
||||
loaded into Emacs, whether or not the theme is enabled). Otherwise,
|
||||
it returns @code{nil}.
|
||||
@end defun
|
||||
|
||||
@deffn Command load-theme theme &optional no-confirm no-enable
|
||||
This function loads the Custom theme named @var{theme} from its source
|
||||
file, looking for the source file in the directories specified by the
|
||||
variable @code{custom-theme-load-path}. @xref{Custom Themes,,, emacs,
|
||||
The GNU Emacs Manual}. It also @dfn{enables} the theme, causing its
|
||||
variable and face settings to take effect.
|
||||
|
||||
If the optional argument @var{no-confirm} is non-@code{nil}, this
|
||||
skips prompting the user for confirmation before loading the theme.
|
||||
|
||||
If the optional argument @var{no-enable} is non-@code{nil}, the theme
|
||||
is loaded but not enabled.
|
||||
@end deffn
|
||||
|
||||
@deffn Command enable-theme theme
|
||||
This function enables the Custom theme named @var{theme}. It signals
|
||||
an error if no such theme has been loaded.
|
||||
@end deffn
|
||||
|
||||
@deffn Command disable-theme theme
|
||||
This function disables the Custom theme named @var{theme}. The theme
|
||||
remains loaded, so that a subsequent call to @code{enable-theme} will
|
||||
re-enable it.
|
||||
@end deffn
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1994, 1998-1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/debugging
|
||||
@node Debugging, Read and Print, Advising Functions, Top
|
||||
@chapter Debugging Lisp Programs
|
||||
|
||||
|
|
@ -303,7 +302,7 @@ an implicit @code{progn} (@pxref{Sequencing}).
|
|||
@subsection Using the Debugger
|
||||
|
||||
When the debugger is entered, it displays the previously selected
|
||||
buffer in one window and a buffer named @samp{*Backtrace*} in another
|
||||
buffer in one window and a buffer named @file{*Backtrace*} in another
|
||||
window. The backtrace buffer contains one line for each level of Lisp
|
||||
function execution currently going on. At the beginning of this buffer
|
||||
is a message describing the reason that the debugger was invoked (such
|
||||
|
|
@ -412,7 +411,7 @@ the variable values within the debugger.
|
|||
|
||||
@item R
|
||||
Like @kbd{e}, but also save the result of evaluation in the
|
||||
buffer @samp{*Debugger-record*}.
|
||||
buffer @file{*Debugger-record*}.
|
||||
|
||||
@item q
|
||||
Terminate the program being debugged; return to top-level Emacs
|
||||
|
|
@ -450,7 +449,7 @@ to invoke the debugger.
|
|||
|
||||
@defun debug &rest debugger-args
|
||||
This function enters the debugger. It switches buffers to a buffer
|
||||
named @samp{*Backtrace*} (or @samp{*Backtrace*<2>} if it is the second
|
||||
named @file{*Backtrace*} (or @file{*Backtrace*<2>} if it is the second
|
||||
recursive entry to the debugger, etc.), and fills it with information
|
||||
about the stack of Lisp function calls. It then enters a recursive
|
||||
edit, showing the backtrace buffer in Debugger mode.
|
||||
|
|
@ -461,7 +460,7 @@ buffer and returns to whatever called @code{debug}. This is the only
|
|||
way the function @code{debug} can return to its caller.
|
||||
|
||||
The use of the @var{debugger-args} is that @code{debug} displays the
|
||||
rest of its arguments at the top of the @samp{*Backtrace*} buffer, so
|
||||
rest of its arguments at the top of the @file{*Backtrace*} buffer, so
|
||||
that the user can see them. Except as described below, this is the
|
||||
@emph{only} way these arguments are used.
|
||||
|
||||
|
|
@ -560,7 +559,7 @@ of @code{debug} (@pxref{Invoking the Debugger}).
|
|||
@cindex call stack
|
||||
This function prints a trace of Lisp function calls currently active.
|
||||
This is the function used by @code{debug} to fill up the
|
||||
@samp{*Backtrace*} buffer. It is written in C, since it must have access
|
||||
@file{*Backtrace*} buffer. It is written in C, since it must have access
|
||||
to the stack to determine which function calls are active. The return
|
||||
value is always @code{nil}.
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/display
|
||||
@node Display, System Interface, Processes, Top
|
||||
@chapter Emacs Display
|
||||
|
||||
|
|
@ -268,7 +267,7 @@ objects for its format specifications, like in the @code{format}
|
|||
function (@pxref{Formatting Strings}). The resulting formatted string
|
||||
is displayed in the echo area; if it contains @code{face} text
|
||||
properties, it is displayed with the specified faces (@pxref{Faces}).
|
||||
The string is also added to the @samp{*Messages*} buffer, but without
|
||||
The string is also added to the @file{*Messages*} buffer, but without
|
||||
text properties (@pxref{Logging Messages}).
|
||||
|
||||
In batch mode, the message is printed to the standard error stream,
|
||||
|
|
@ -341,7 +340,7 @@ buffer is used, the window used to display it.
|
|||
|
||||
If @var{message} is a string, then the optional argument
|
||||
@var{buffer-name} is the name of the buffer used to display it when a
|
||||
pop-up buffer is used, defaulting to @samp{*Message*}. In the case
|
||||
pop-up buffer is used, defaulting to @file{*Message*}. In the case
|
||||
where @var{message} is a string and displayed in the echo area, it is
|
||||
not specified whether the contents are inserted into the buffer anyway.
|
||||
|
||||
|
|
@ -474,16 +473,16 @@ this macro this way:
|
|||
@end defmac
|
||||
|
||||
@node Logging Messages
|
||||
@subsection Logging Messages in @samp{*Messages*}
|
||||
@subsection Logging Messages in @file{*Messages*}
|
||||
@cindex logging echo-area messages
|
||||
|
||||
Almost all the messages displayed in the echo area are also recorded
|
||||
in the @samp{*Messages*} buffer so that the user can refer back to
|
||||
in the @file{*Messages*} buffer so that the user can refer back to
|
||||
them. This includes all the messages that are output with
|
||||
@code{message}.
|
||||
|
||||
@defopt message-log-max
|
||||
This variable specifies how many lines to keep in the @samp{*Messages*}
|
||||
This variable specifies how many lines to keep in the @file{*Messages*}
|
||||
buffer. The value @code{t} means there is no limit on how many lines to
|
||||
keep. The value @code{nil} disables message logging entirely. Here's
|
||||
how to display a message and prevent it from being logged:
|
||||
|
|
@ -494,7 +493,7 @@ how to display a message and prevent it from being logged:
|
|||
@end example
|
||||
@end defopt
|
||||
|
||||
To make @samp{*Messages*} more convenient for the user, the logging
|
||||
To make @file{*Messages*} more convenient for the user, the logging
|
||||
facility combines successive identical messages. It also combines
|
||||
successive related messages for the sake of two cases: question
|
||||
followed by answer, and a series of progress messages.
|
||||
|
|
@ -624,7 +623,7 @@ and @var{type} as the warning type. @var{level} should be the
|
|||
severity level, with @code{:warning} being the default.
|
||||
|
||||
@var{buffer-name}, if non-@code{nil}, specifies the name of the buffer
|
||||
for logging the warning. By default, it is @samp{*Warnings*}.
|
||||
for logging the warning. By default, it is @file{*Warnings*}.
|
||||
@end defun
|
||||
|
||||
@defun lwarn type level message &rest args
|
||||
|
|
@ -1885,7 +1884,7 @@ in all frames. But you can also assign a face name a special set of
|
|||
attributes in one frame (@pxref{Attribute Functions}).
|
||||
|
||||
@menu
|
||||
* Defining Faces:: How to define a face with @code{defface}.
|
||||
* Defining Faces:: How to define a face.
|
||||
* Face Attributes:: What is in a face?
|
||||
* Attribute Functions:: Functions to examine and set face attributes.
|
||||
* Displaying Faces:: How Emacs combines the faces specified for a character.
|
||||
|
|
@ -1904,22 +1903,17 @@ attributes in one frame (@pxref{Attribute Functions}).
|
|||
@node Defining Faces
|
||||
@subsection Defining Faces
|
||||
|
||||
The way to define a new face is with @code{defface}. This creates a
|
||||
kind of customization item which the user can customize using the
|
||||
Customization buffer (@pxref{Customization}).
|
||||
|
||||
People are sometimes tempted to create variables whose values specify
|
||||
which faces to use (for example, Font-Lock does this). In the vast
|
||||
majority of cases, this is not necessary, and simply using faces
|
||||
directly is preferable.
|
||||
The @code{defface} macro defines a face and specifies its default
|
||||
appearance. The user can subsequently customize the face using the
|
||||
Customize interface (@pxref{Customization}).
|
||||
|
||||
@defmac defface face spec doc [keyword value]@dots{}
|
||||
This declares @var{face} as a customizable face whose default
|
||||
This macro declares @var{face} as a customizable face whose default
|
||||
attributes are given by @var{spec}. You should not quote the symbol
|
||||
@var{face}, and it should not end in @samp{-face} (that would be
|
||||
redundant). The argument @var{doc} specifies the face documentation.
|
||||
The keywords you can use in @code{defface} are the same as in
|
||||
@code{defgroup} and @code{defcustom} (@pxref{Common Keywords}).
|
||||
redundant). The argument @var{doc} is a documentation string for the
|
||||
face. The additional @var{keyword} arguments have the same meanings
|
||||
as in @code{defgroup} and @code{defcustom} (@pxref{Common Keywords}).
|
||||
|
||||
When @code{defface} executes, it defines the face according to
|
||||
@var{spec}, then uses any customizations that were read from the
|
||||
|
|
@ -1930,12 +1924,14 @@ Lisp mode (@code{eval-defun}), a special feature of @code{eval-defun}
|
|||
overrides any customizations of the face. This way, the face reflects
|
||||
exactly what the @code{defface} says.
|
||||
|
||||
The purpose of @var{spec} is to specify how the face should appear on
|
||||
different kinds of terminals. It should be an alist whose elements
|
||||
have the form @code{(@var{display} @var{atts})}. @var{display}
|
||||
specifies a class of terminals (see below), while @var{atts} is a
|
||||
property list of face attributes and their values, specifying the
|
||||
appearance of the face on matching terminals
|
||||
@cindex face specification
|
||||
The @var{spec} argument is a @dfn{face specification}, which states
|
||||
how the face should appear on different kinds of terminals. It should
|
||||
be an alist whose elements each have the form @code{(@var{display}
|
||||
@var{atts})}. @var{display} specifies a class of terminals (see
|
||||
below), while @var{atts} is a property list of face attributes and
|
||||
their values, specifying the appearance of the face on matching
|
||||
terminals
|
||||
@iftex
|
||||
(see the next section for details about face attributes).
|
||||
@end iftex
|
||||
|
|
@ -2022,14 +2018,22 @@ frame must match one of the @var{value}s specified for it in
|
|||
:group 'basic-faces)
|
||||
@end example
|
||||
|
||||
Internally, @code{defface} uses the symbol property
|
||||
@code{face-defface-spec} to record the specified face attributes. The
|
||||
attributes saved by the user with the customization buffer are
|
||||
recorded in the symbol property @code{saved-face}; the attributes
|
||||
customized by the user for the current session, but not saved, are
|
||||
recorded in the symbol property @code{customized-face}. The
|
||||
documentation string is recorded in the symbol property
|
||||
@code{face-documentation}.
|
||||
Internally, Emacs stores the face's default specification in its
|
||||
@code{face-defface-spec} symbol property (@pxref{Property Lists}).
|
||||
The @code{saved-face} property stores the face specification saved by
|
||||
the user, using the customization buffer; the @code{customized-face}
|
||||
property stores the face specification customized for the current
|
||||
session, but not saved; and the @code{theme-face} property stores an
|
||||
alist associating the active customization settings and Custom themes
|
||||
with their specifications for that face. The face's documentation
|
||||
string is stored in the @code{face-documentation} property. But
|
||||
normally you should not try to set any of these properties directly.
|
||||
@xref{Applying Customizations}, for the @code{custom-set-faces}
|
||||
function, which is used to apply customized face settings.
|
||||
|
||||
People are sometimes tempted to create variables whose values
|
||||
specify a face to use. In the vast majority of cases, this is not
|
||||
necessary; it is preferable to simply use faces directly.
|
||||
|
||||
@defopt frame-background-mode
|
||||
This option, if non-@code{nil}, specifies the background type to use for
|
||||
|
|
@ -2752,7 +2756,7 @@ For text matching a search command.
|
|||
@itemx warning
|
||||
@itemx success
|
||||
For text concerning errors, warnings, or successes. For example,
|
||||
these are used for messages in @samp{*Compilation*} buffers.
|
||||
these are used for messages in @file{*Compilation*} buffers.
|
||||
@end table
|
||||
|
||||
@node Font Selection
|
||||
|
|
|
|||
|
|
@ -622,7 +622,7 @@ back to the stop point in the source code buffer from any buffer using
|
|||
saved outside window configuration---so that even if you turn saving
|
||||
back @emph{on}, the current window configuration remains unchanged when
|
||||
you next exit Edebug (by continuing the program). However, the
|
||||
automatic redisplay of @samp{*edebug*} and @samp{*edebug-trace*} may
|
||||
automatic redisplay of @file{*edebug*} and @file{*edebug-trace*} may
|
||||
conflict with the buffers you wish to see unless you have enough windows
|
||||
open.
|
||||
|
||||
|
|
@ -661,18 +661,18 @@ lexically bound symbols created by the following constructs in
|
|||
@node Eval List
|
||||
@subsection Evaluation List Buffer
|
||||
|
||||
You can use the @dfn{evaluation list buffer}, called @samp{*edebug*}, to
|
||||
You can use the @dfn{evaluation list buffer}, called @file{*edebug*}, to
|
||||
evaluate expressions interactively. You can also set up the
|
||||
@dfn{evaluation list} of expressions to be evaluated automatically each
|
||||
time Edebug updates the display.
|
||||
|
||||
@table @kbd
|
||||
@item E
|
||||
Switch to the evaluation list buffer @samp{*edebug*}
|
||||
Switch to the evaluation list buffer @file{*edebug*}
|
||||
(@code{edebug-visit-eval-list}).
|
||||
@end table
|
||||
|
||||
In the @samp{*edebug*} buffer you can use the commands of Lisp
|
||||
In the @file{*edebug*} buffer you can use the commands of Lisp
|
||||
Interaction mode (@pxref{Lisp Interaction,,, emacs, The GNU Emacs
|
||||
Manual}) as well as these special commands:
|
||||
|
||||
|
|
@ -699,7 +699,7 @@ Switch back to the source code buffer at the current stop point
|
|||
@end table
|
||||
|
||||
You can evaluate expressions in the evaluation list window with
|
||||
@kbd{C-j} or @kbd{C-x C-e}, just as you would in @samp{*scratch*};
|
||||
@kbd{C-j} or @kbd{C-x C-e}, just as you would in @file{*scratch*};
|
||||
but they are evaluated in the context outside of Edebug.
|
||||
|
||||
The expressions you enter interactively (and their results) are lost
|
||||
|
|
@ -758,8 +758,8 @@ the expression at a suitable place, insert a new comment line, then type
|
|||
@kbd{C-c C-u}. You need not insert dashes in the comment line---its
|
||||
contents don't matter.
|
||||
|
||||
After selecting @samp{*edebug*}, you can return to the source code
|
||||
buffer with @kbd{C-c C-w}. The @samp{*edebug*} buffer is killed when
|
||||
After selecting @file{*edebug*}, you can return to the source code
|
||||
buffer with @kbd{C-c C-w}. The @file{*edebug*} buffer is killed when
|
||||
you continue execution, and recreated next time it is needed.
|
||||
|
||||
@node Printing in Edebug
|
||||
|
|
@ -819,7 +819,7 @@ for details.
|
|||
@cindex trace buffer
|
||||
|
||||
Edebug can record an execution trace, storing it in a buffer named
|
||||
@samp{*edebug-trace*}. This is a log of function calls and returns,
|
||||
@file{*edebug-trace*}. This is a log of function calls and returns,
|
||||
showing the function names and their arguments and values. To enable
|
||||
trace recording, set @code{edebug-trace} to a non-@code{nil} value.
|
||||
|
||||
|
|
@ -1567,7 +1567,7 @@ The default value is @code{step}.
|
|||
|
||||
@defopt edebug-trace
|
||||
If this is non-@code{nil}, trace each function entry and exit.
|
||||
Tracing output is displayed in a buffer named @samp{*edebug-trace*}, one
|
||||
Tracing output is displayed in a buffer named @file{*edebug-trace*}, one
|
||||
function entry or exit per line, indented by the recursion level.
|
||||
|
||||
Also see @code{edebug-tracing}, in @ref{Trace Buffer}.
|
||||
|
|
|
|||
|
|
@ -123,7 +123,7 @@ Cover art by Etienne Suvasa.
|
|||
* Functions:: A function is a Lisp program
|
||||
that can be invoked from other functions.
|
||||
* Macros:: Macros are a way to extend the Lisp language.
|
||||
* Customization:: Writing customization declarations.
|
||||
* Customization:: Making variables and faces customizable.
|
||||
|
||||
* Loading:: Reading files of Lisp code into Lisp.
|
||||
* Byte Compilation:: Compilation makes programs run faster.
|
||||
|
|
@ -500,6 +500,8 @@ Writing Customization Definitions
|
|||
* Group Definitions:: Writing customization group definitions.
|
||||
* Variable Definitions:: Declaring user options.
|
||||
* Customization Types:: Specifying the type of a user option.
|
||||
* Applying Customizations:: Functions to apply customization settings.
|
||||
* Custom Themes:: Writing Custom themes.
|
||||
|
||||
Customization Types
|
||||
|
||||
|
|
@ -635,8 +637,8 @@ Minibuffers
|
|||
* Multiple Queries:: Asking a series of similar questions.
|
||||
* Reading a Password:: Reading a password from the terminal.
|
||||
* Minibuffer Commands:: Commands used as key bindings in minibuffers.
|
||||
* Minibuffer Contents:: How such commands access the minibuffer text.
|
||||
* Minibuffer Windows:: Operating on the special minibuffer windows.
|
||||
* Minibuffer Contents:: How such commands access the minibuffer text.
|
||||
* Recursive Mini:: Whether recursive entry to minibuffer is allowed.
|
||||
* Minibuffer Misc:: Various customization hooks and variables.
|
||||
|
||||
|
|
@ -646,7 +648,7 @@ Completion
|
|||
* Minibuffer Completion:: Invoking the minibuffer with completion.
|
||||
* Completion Commands:: Minibuffer commands that do completion.
|
||||
* High-Level Completion:: Convenient special cases of completion
|
||||
(reading buffer name, file name, etc.).
|
||||
(reading buffer names, variable names, etc.).
|
||||
* Reading File Names:: Using completion to read file names and
|
||||
shell commands.
|
||||
* Completion Variables:: Variables controlling completion behavior.
|
||||
|
|
@ -1295,7 +1297,7 @@ Overlays
|
|||
|
||||
Faces
|
||||
|
||||
* Defining Faces:: How to define a face with @code{defface}.
|
||||
* Defining Faces:: How to define a face.
|
||||
* Face Attributes:: What is in a face?
|
||||
* Attribute Functions:: Functions to examine and set face attributes.
|
||||
* Displaying Faces:: How Emacs combines the faces specified for
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1993, 1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/errors
|
||||
@node Standard Errors, Standard Keymaps, GNU Emacs Internals, Top
|
||||
@appendix Standard Errors
|
||||
@cindex standard errors
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
@c -*-texinfo-*-
|
||||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1994, 1998, 2001-2012 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 1990-1994, 1998, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/eval
|
||||
@node Evaluation, Control Structures, Symbols, Top
|
||||
@chapter Evaluation
|
||||
@cindex evaluation
|
||||
|
|
@ -807,7 +806,7 @@ The value of this variable is a list of the values returned by all the
|
|||
expressions that were read, evaluated, and printed from buffers
|
||||
(including the minibuffer) by the standard Emacs commands which do
|
||||
this. (Note that this does @emph{not} include evaluation in
|
||||
@samp{*ielm*} buffers, nor evaluation using @kbd{C-j} in
|
||||
@file{*ielm*} buffers, nor evaluation using @kbd{C-j} in
|
||||
@code{lisp-interaction-mode}.) The elements are ordered most recent
|
||||
first.
|
||||
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/files
|
||||
@node Files, Backups and Auto-Saving, Documentation, Top
|
||||
@comment node-name, next, previous, up
|
||||
@chapter Files
|
||||
|
|
@ -490,11 +489,13 @@ in particular buffers.
|
|||
@defopt require-final-newline
|
||||
This variable determines whether files may be written out that do
|
||||
@emph{not} end with a newline. If the value of the variable is
|
||||
@code{t}, then @code{save-buffer} silently adds a newline at the end of
|
||||
the file whenever the buffer being saved does not already end in one.
|
||||
If the value of the variable is non-@code{nil}, but not @code{t}, then
|
||||
@code{save-buffer} asks the user whether to add a newline each time the
|
||||
case arises.
|
||||
@code{t}, then @code{save-buffer} silently adds a newline at the end
|
||||
of the buffer whenever it does not already end in one. If the value
|
||||
is @code{visit}, Emacs adds a missing newline just after it visits the
|
||||
file. If the value is @code{visit-save}, Emacs adds a missing newline
|
||||
both on visiting and on saving. For any other non-@code{nil} value,
|
||||
@code{save-buffer} asks the user whether to add a newline each time
|
||||
the case arises.
|
||||
|
||||
If the value of the variable is @code{nil}, then @code{save-buffer}
|
||||
doesn't add newlines at all. @code{nil} is the default value, but a few
|
||||
|
|
@ -2154,7 +2155,7 @@ double all @samp{$} characters to prevent subsequent incorrect
|
|||
results.
|
||||
|
||||
@c Wordy to avoid overfull hbox. --rjc 15mar92
|
||||
Here we assume that the environment variable @code{HOME}, which holds
|
||||
Here we assume that the environment variable @env{HOME}, which holds
|
||||
the user's home directory name, has value @samp{/xcssun/users/rms}.
|
||||
|
||||
@example
|
||||
|
|
@ -2239,9 +2240,9 @@ non-@code{nil}. To use it, you should expand the prefix against
|
|||
the proper directory before calling @code{make-temp-file}.
|
||||
|
||||
@defopt temporary-file-directory
|
||||
@cindex @code{TMPDIR} environment variable
|
||||
@cindex @code{TMP} environment variable
|
||||
@cindex @code{TEMP} environment variable
|
||||
@cindex @env{TMPDIR} environment variable
|
||||
@cindex @env{TMP} environment variable
|
||||
@cindex @env{TEMP} environment variable
|
||||
This variable specifies the directory name for creating temporary files.
|
||||
Its value should be a directory name (@pxref{Directory Names}), but it
|
||||
is good for Lisp programs to cope if the value is a directory's file
|
||||
|
|
@ -2249,7 +2250,7 @@ name instead. Using the value as the second argument to
|
|||
@code{expand-file-name} is a good way to achieve that.
|
||||
|
||||
The default value is determined in a reasonable way for your operating
|
||||
system; it is based on the @code{TMPDIR}, @code{TMP} and @code{TEMP}
|
||||
system; it is based on the @env{TMPDIR}, @env{TMP} and @env{TEMP}
|
||||
environment variables, with a fall-back to a system-dependent name if
|
||||
none of these variables is defined.
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/frames
|
||||
@node Frames, Positions, Windows, Top
|
||||
@chapter Frames
|
||||
@cindex frame
|
||||
|
|
@ -488,7 +487,7 @@ frame. @code{title} and @code{name} are meaningful on all terminals.
|
|||
@item display
|
||||
The display on which to open this frame. It should be a string of the
|
||||
form @code{"@var{host}:@var{dpy}.@var{screen}"}, just like the
|
||||
@code{DISPLAY} environment variable.
|
||||
@env{DISPLAY} environment variable.
|
||||
|
||||
@vindex display-type, a frame parameter
|
||||
@item display-type
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/functions
|
||||
@node Functions, Macros, Variables, Top
|
||||
@chapter Functions
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
@c -*-texinfo-*-
|
||||
@setfilename ../../info/gpl
|
||||
|
||||
@node GPL, Tips, GNU Free Documentation License, Top
|
||||
@comment node-name, next, previous, up
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
@c -*-texinfo-*-
|
||||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/hash
|
||||
@node Hash Tables, Symbols, Sequences Arrays Vectors, Top
|
||||
@chapter Hash Tables
|
||||
@cindex hash tables
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/help
|
||||
@node Documentation, Files, Modes, Top
|
||||
@chapter Documentation
|
||||
@cindex documentation strings
|
||||
|
|
@ -180,7 +179,7 @@ face.
|
|||
@c Wordy to prevent overfull hboxes. --rjc 15mar92
|
||||
Here is an example of using the two functions, @code{documentation} and
|
||||
@code{documentation-property}, to display the documentation strings for
|
||||
several symbols in a @samp{*Help*} buffer.
|
||||
several symbols in a @file{*Help*} buffer.
|
||||
|
||||
@anchor{describe-symbols example}
|
||||
@smallexample
|
||||
|
|
@ -348,6 +347,21 @@ This function scans @var{string} for the above special sequences and
|
|||
replaces them by what they stand for, returning the result as a string.
|
||||
This permits display of documentation that refers accurately to the
|
||||
user's own customized key bindings.
|
||||
|
||||
@cindex advertised binding
|
||||
If a command has multiple bindings, this function normally uses the
|
||||
first one it finds. You can specify one particular key binding by
|
||||
assigning an @code{:advertised-binding} symbol property to the
|
||||
command, like this:
|
||||
|
||||
@smallexample
|
||||
(put 'undo :advertised-binding [?\C-/])
|
||||
@end smallexample
|
||||
|
||||
@noindent
|
||||
The @code{:advertised-binding} property also affects the binding shown
|
||||
in menu items (@pxref{Menu Bar}). The property is ignored if it
|
||||
specifies a key binding that the command does not actually have.
|
||||
@end defun
|
||||
|
||||
Here are examples of the special sequences:
|
||||
|
|
@ -535,7 +549,7 @@ seems to be as a match. Each of the remaining elements is a
|
|||
documentation string, or @code{nil}, for @var{symbol} as a function,
|
||||
variable, etc.
|
||||
|
||||
It also displays the symbols in a buffer named @samp{*Apropos*}, each
|
||||
It also displays the symbols in a buffer named @file{*Apropos*}, each
|
||||
with a one-line description taken from the beginning of its
|
||||
documentation string.
|
||||
|
||||
|
|
@ -648,7 +662,7 @@ certain documentation and text files that come with Emacs.
|
|||
|
||||
@defun help-buffer
|
||||
This function returns the name of the help buffer, which is normally
|
||||
@samp{*Help*}; if such a buffer does not exist, it is first created.
|
||||
@file{*Help*}; if such a buffer does not exist, it is first created.
|
||||
@end defun
|
||||
|
||||
@defmac with-help-window buffer-name body@dots{}
|
||||
|
|
@ -662,16 +676,16 @@ scroll the help window.
|
|||
@end defmac
|
||||
|
||||
@defun help-setup-xref item interactive-p
|
||||
This function updates the cross reference data in the @samp{*Help*}
|
||||
This function updates the cross reference data in the @file{*Help*}
|
||||
buffer, which is used to regenerate the help information when the user
|
||||
clicks on the @samp{Back} or @samp{Forward} buttons. Most commands
|
||||
that use the @samp{*Help*} buffer should invoke this function before
|
||||
that use the @file{*Help*} buffer should invoke this function before
|
||||
clearing the buffer. The @var{item} argument should have the form
|
||||
@code{(@var{function} . @var{args})}, where @var{function} is a function
|
||||
to call, with argument list @var{args}, to regenerate the help buffer.
|
||||
The @var{interactive-p} argument is non-@code{nil} if the calling
|
||||
command was invoked interactively; in that case, the stack of items
|
||||
for the @samp{*Help*} buffer's @samp{Back} buttons is cleared.
|
||||
for the @file{*Help*} buffer's @samp{Back} buttons is cleared.
|
||||
@end defun
|
||||
|
||||
@xref{describe-symbols example}, for an example of using
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1993, 1998, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/hooks
|
||||
@node Standard Hooks, Index, Standard Keymaps, Top
|
||||
@appendix Standard Hooks
|
||||
@cindex standard hooks
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
@c -*-texinfo-*-
|
||||
@setfilename ../../info/index
|
||||
|
||||
@c Indexing guidelines
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1993, 1998-1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/internals
|
||||
@node GNU Emacs Internals, Standard Errors, Tips, Top
|
||||
@comment node-name, next, previous, up
|
||||
@appendix GNU Emacs Internals
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
@c -*-coding: iso-latin-1-*-
|
||||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1994, 2001-2012 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 1990-1994, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/intro
|
||||
|
||||
@node Introduction, Lisp Data Types, Top, Top
|
||||
@comment node-name, next, previous, up
|
||||
|
|
@ -247,7 +246,7 @@ indicated with @samp{@equiv{}}.
|
|||
|
||||
Many of the examples in this manual print text when they are
|
||||
evaluated. If you execute example code in a Lisp Interaction buffer
|
||||
(such as the buffer @samp{*scratch*}), the printed text is inserted into
|
||||
(such as the buffer @file{*scratch*}), the printed text is inserted into
|
||||
the buffer. If you execute the example by other means (such as by
|
||||
evaluating the function @code{eval-region}), the printed text is
|
||||
displayed in the echo area.
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1994, 1998-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/keymaps
|
||||
@node Keymaps, Modes, Command Loop, Top
|
||||
@chapter Keymaps
|
||||
@cindex keymap
|
||||
|
|
@ -64,7 +63,7 @@ constituent events; thus, @code{"\C-xl"} represents the key sequence
|
|||
@kbd{C-x l}.
|
||||
|
||||
Key sequences containing function keys, mouse button events, or
|
||||
non-ASCII characters such as @kbd{C-=} or @kbd{H-a} cannot be
|
||||
non-@acronym{ASCII} characters such as @kbd{C-=} or @kbd{H-a} cannot be
|
||||
represented as strings; they have to be represented as vectors.
|
||||
|
||||
In the vector representation, each element of the vector represents
|
||||
|
|
@ -808,7 +807,7 @@ bindings.
|
|||
@defun current-local-map
|
||||
This function returns the current buffer's local keymap, or @code{nil}
|
||||
if it has none. In the following example, the keymap for the
|
||||
@samp{*scratch*} buffer (using Lisp Interaction mode) is a sparse keymap
|
||||
@file{*scratch*} buffer (using Lisp Interaction mode) is a sparse keymap
|
||||
in which the entry for @key{ESC}, @acronym{ASCII} code 27, is another sparse
|
||||
keymap.
|
||||
|
||||
|
|
@ -1922,7 +1921,7 @@ other command. However, if @var{no-remap} is non-@code{nil}.
|
|||
|
||||
@deffn Command describe-bindings &optional prefix buffer-or-name
|
||||
This function creates a listing of all current key bindings, and
|
||||
displays it in a buffer named @samp{*Help*}. The text is grouped by
|
||||
displays it in a buffer named @file{*Help*}. The text is grouped by
|
||||
modes---minor modes first, then the major mode, then global bindings.
|
||||
|
||||
If @var{prefix} is non-@code{nil}, it should be a prefix key; then the
|
||||
|
|
@ -2549,17 +2548,8 @@ the same command (if such a key binding exists). This serves as a
|
|||
convenient hint for users who do not know the key binding. If a
|
||||
command has multiple bindings, Emacs normally displays the first one
|
||||
it finds. You can specify one particular key binding by assigning an
|
||||
@code{:advertised-binding} symbol property to the command. For
|
||||
instance, the following tells Emacs to show @kbd{C-/} for the
|
||||
@code{undo} menu item:
|
||||
|
||||
@smallexample
|
||||
(put 'undo :advertised-binding [?\C-/])
|
||||
@end smallexample
|
||||
|
||||
@noindent
|
||||
If the @code{:advertised-binding} property specifies a key binding
|
||||
that the command does not actually have, it is ignored.
|
||||
@code{:advertised-binding} symbol property to the command. @xref{Keys
|
||||
in Documentation}.
|
||||
|
||||
@node Tool Bar
|
||||
@subsection Tool bars
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
@c -*-texinfo-*-
|
||||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/lists
|
||||
@node Lists, Sequences Arrays Vectors, Strings and Characters, Top
|
||||
@chapter Lists
|
||||
@cindex lists
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/loading
|
||||
@node Loading, Byte Compilation, Customization, Top
|
||||
@chapter Loading
|
||||
@cindex loading
|
||||
|
|
@ -235,7 +234,7 @@ it skips the latter group.
|
|||
in a list of directories specified by the variable @code{load-path}.
|
||||
|
||||
@defvar load-path
|
||||
@cindex @code{EMACSLOADPATH} environment variable
|
||||
@cindex @env{EMACSLOADPATH} environment variable
|
||||
The value of this variable is a list of directories to search when
|
||||
loading files with @code{load}. Each element is a string (which must be
|
||||
a directory name) or @code{nil} (which stands for the current working
|
||||
|
|
@ -375,7 +374,7 @@ strings are multibyte strings should not be noticeable, since
|
|||
inserting them in unibyte buffers converts them to unibyte
|
||||
automatically. However, if this does make a difference, you can force
|
||||
a particular Lisp file to be interpreted as unibyte by writing
|
||||
@samp{-*-unibyte: t;-*-} in a comment on the file's first line. With
|
||||
@samp{unibyte: t} in a local variables section. With
|
||||
that designator, the file will unconditionally be interpreted as
|
||||
unibyte, even in an ordinary multibyte Emacs session. This can matter
|
||||
when making keybindings to non-@acronym{ASCII} characters written as
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
@c -*-texinfo-*-
|
||||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1995, 1998, 2001-2012 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 1990-1995, 1998, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/macros
|
||||
@node Macros, Customization, Functions, Top
|
||||
@chapter Macros
|
||||
@cindex macros
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1993, 1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/maps
|
||||
@node Standard Keymaps, Standard Hooks, Standard Errors, Top
|
||||
@appendix Standard Keymaps
|
||||
@cindex keymaps, standard
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/markers
|
||||
@node Markers, Text, Positions, Top
|
||||
@chapter Markers
|
||||
@cindex markers
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/minibuf
|
||||
@node Minibuffers, Command Loop, Read and Print, Top
|
||||
@chapter Minibuffers
|
||||
@cindex arguments, reading
|
||||
|
|
@ -30,8 +29,8 @@ argument.
|
|||
* Multiple Queries:: Asking a series of similar questions.
|
||||
* Reading a Password:: Reading a password from the terminal.
|
||||
* Minibuffer Commands:: Commands used as key bindings in minibuffers.
|
||||
* Minibuffer Contents:: How such commands access the minibuffer text.
|
||||
* Minibuffer Windows:: Operating on the special minibuffer windows.
|
||||
* Minibuffer Contents:: How such commands access the minibuffer text.
|
||||
* Recursive Mini:: Whether recursive entry to minibuffer is allowed.
|
||||
* Minibuffer Misc:: Various customization hooks and variables.
|
||||
@end menu
|
||||
|
|
@ -60,8 +59,10 @@ boundary between the prompt and the actual text.
|
|||
|
||||
The minibuffer's window is normally a single line; it grows
|
||||
automatically if the contents require more space. You can explicitly
|
||||
@c FIXME? Works in 23.4, not 24.0.95. (Bug#11276)
|
||||
resize it temporarily with the window sizing commands; it reverts to
|
||||
its normal size when the minibuffer is exited. You can resize it
|
||||
@c FIXME? Doesn't work in any version of Emacs?
|
||||
permanently by using the window sizing commands in the frame's other
|
||||
window, when the minibuffer is not active. If the frame contains just
|
||||
a minibuffer, you can change the minibuffer's size by changing the
|
||||
|
|
@ -73,9 +74,9 @@ of variables such as @code{this-command} and @code{last-command}
|
|||
code that uses the minibuffer, if you do not want that to change them.
|
||||
|
||||
Under some circumstances, a command can use a minibuffer even if
|
||||
there is an active minibuffer; such minibuffers are called a
|
||||
there is an active minibuffer; such a minibuffer is called a
|
||||
@dfn{recursive minibuffer}. The first minibuffer is named
|
||||
@w{@samp{ *Minibuf-0*}}. Recursive minibuffers are named by
|
||||
@w{@samp{ *Minibuf-1*}}. Recursive minibuffers are named by
|
||||
incrementing the number at the end of the name. (The names begin with
|
||||
a space so that they won't show up in normal buffer lists.) Of
|
||||
several recursive minibuffers, the innermost (or most recently
|
||||
|
|
@ -91,6 +92,12 @@ to be done. @xref{Text from Minibuffer}, for the non-completion
|
|||
minibuffer local maps. @xref{Completion Commands}, for the minibuffer
|
||||
local maps for completion.
|
||||
|
||||
@cindex inactive minibuffer
|
||||
When a minibuffer is inactive, its major mode is
|
||||
@code{minibuffer-inactive-mode}, with keymap
|
||||
@code{minibuffer-inactive-mode-map}. This is only really useful if
|
||||
the minibuffer is in a separate frame. @xref{Minibuffers and Frames}.
|
||||
|
||||
When Emacs is running in batch mode, any request to read from the
|
||||
minibuffer actually reads a line from the standard input descriptor that
|
||||
was supplied when Emacs was started.
|
||||
|
|
@ -111,7 +118,7 @@ middle of a Lisp function. Instead, do all minibuffer input as part of
|
|||
reading the arguments for a command, in the @code{interactive}
|
||||
specification. @xref{Defining Commands}.
|
||||
|
||||
@defun read-from-minibuffer prompt-string &optional initial-contents keymap read hist default inherit-input-method
|
||||
@defun read-from-minibuffer prompt &optional initial keymap read history default inherit-input-method
|
||||
This function is the most general way to get input from the
|
||||
minibuffer. By default, it accepts arbitrary text and returns it as a
|
||||
string; however, if @var{read} is non-@code{nil}, then it uses
|
||||
|
|
@ -119,8 +126,8 @@ string; however, if @var{read} is non-@code{nil}, then it uses
|
|||
Functions}).
|
||||
|
||||
The first thing this function does is to activate a minibuffer and
|
||||
display it with @var{prompt-string} as the prompt. This value must be a
|
||||
string. Then the user can edit text in the minibuffer.
|
||||
display it with @var{prompt} (which must be a string) as the
|
||||
prompt. Then the user can edit text in the minibuffer.
|
||||
|
||||
When the user types a command to exit the minibuffer,
|
||||
@code{read-from-minibuffer} constructs the return value from the text in
|
||||
|
|
@ -132,7 +139,7 @@ reads the text and returns the resulting Lisp object, unevaluated.
|
|||
The argument @var{default} specifies default values to make available
|
||||
through the history commands. It should be a string, a list of
|
||||
strings, or @code{nil}. The string or strings become the minibuffer's
|
||||
``future history,'' available to the user with @kbd{M-n}.
|
||||
``future history'', available to the user with @kbd{M-n}.
|
||||
|
||||
If @var{read} is non-@code{nil}, then @var{default} is also used
|
||||
as the input to @code{read}, if the user enters empty input.
|
||||
|
|
@ -149,12 +156,13 @@ value of @code{minibuffer-local-map} is used as the keymap. Specifying
|
|||
a keymap is the most important way to customize the minibuffer for
|
||||
various applications such as completion.
|
||||
|
||||
The argument @var{hist} specifies which history list variable to use
|
||||
The argument @var{history} specifies a history list variable to use
|
||||
for saving the input and for history commands used in the minibuffer.
|
||||
It defaults to @code{minibuffer-history}. @xref{Minibuffer History}.
|
||||
It defaults to @code{minibuffer-history}. You can optionally specify
|
||||
a starting position in the history list as well. @xref{Minibuffer History}.
|
||||
|
||||
If the variable @code{minibuffer-allow-text-properties} is
|
||||
non-@code{nil}, then the string which is returned includes whatever text
|
||||
non-@code{nil}, then the string that is returned includes whatever text
|
||||
properties were present in the minibuffer. Otherwise all the text
|
||||
properties are stripped when the value is returned.
|
||||
|
||||
|
|
@ -164,9 +172,9 @@ the setting of @code{enable-multibyte-characters} (@pxref{Text
|
|||
Representations}) from whichever buffer was current before entering the
|
||||
minibuffer.
|
||||
|
||||
Use of @var{initial-contents} is mostly deprecated; we recommend using
|
||||
Use of @var{initial} is mostly deprecated; we recommend using
|
||||
a non-@code{nil} value only in conjunction with specifying a cons cell
|
||||
for @var{hist}. @xref{Initial Input}.
|
||||
for @var{history}. @xref{Initial Input}.
|
||||
@end defun
|
||||
|
||||
@defun read-string prompt &optional initial history default inherit-input-method
|
||||
|
|
@ -179,11 +187,11 @@ The optional argument @var{default} is used as in
|
|||
@code{read-from-minibuffer}, except that, if non-@code{nil}, it also
|
||||
specifies a default value to return if the user enters null input. As
|
||||
in @code{read-from-minibuffer} it should be a string, a list of
|
||||
strings, or @code{nil} which is equivalent to an empty string. When
|
||||
strings, or @code{nil}, which is equivalent to an empty string. When
|
||||
@var{default} is a string, that string is the default value. When it
|
||||
is a list of strings, the first string is the default value. (All
|
||||
these strings are available to the user in the ``future minibuffer
|
||||
history.'')
|
||||
history''.)
|
||||
|
||||
This function works by calling the
|
||||
@code{read-from-minibuffer} function:
|
||||
|
|
@ -202,16 +210,16 @@ This function works by calling the
|
|||
@end smallexample
|
||||
@end defun
|
||||
|
||||
@defun read-regexp prompt &optional default-value
|
||||
@defun read-regexp prompt &optional default
|
||||
This function reads a regular expression as a string from the
|
||||
minibuffer and returns it. The argument @var{prompt} is used as in
|
||||
@code{read-from-minibuffer}. The keymap used is
|
||||
@code{minibuffer-local-map}, and @code{regexp-history} is used as the
|
||||
history list (@pxref{Minibuffer History, regexp-history}).
|
||||
|
||||
The optional argument @var{default-value} specifies a default value to
|
||||
The optional argument @var{default} specifies a default value to
|
||||
return if the user enters null input; it should be a string, or
|
||||
@code{nil} which is equivalent to an empty string.
|
||||
@code{nil}, which is equivalent to an empty string.
|
||||
|
||||
In addition, @code{read-regexp} collects a few useful candidates for
|
||||
input and passes them to @code{read-from-minibuffer}, to make them
|
||||
|
|
@ -235,9 +243,9 @@ function, after computing the list of defaults as described above.
|
|||
@end defun
|
||||
|
||||
@defvar minibuffer-allow-text-properties
|
||||
If this variable is @code{nil}, then @code{read-from-minibuffer} strips
|
||||
all text properties from the minibuffer input before returning it.
|
||||
This variable also affects @code{read-string}. However,
|
||||
If this variable is @code{nil}, then @code{read-from-minibuffer}
|
||||
and @code{read-string} strip all text properties from the minibuffer
|
||||
input before returning it. However,
|
||||
@code{read-no-blanks-input} (see below), as well as
|
||||
@code{read-minibuffer} and related functions (@pxref{Object from
|
||||
Minibuffer,, Reading Lisp Objects With the Minibuffer}), and all
|
||||
|
|
@ -275,6 +283,12 @@ default, it makes the following bindings:
|
|||
|
||||
@item @kbd{M-r}
|
||||
@code{previous-matching-history-element}
|
||||
|
||||
@ignore
|
||||
@c Does not seem worth/appropriate mentioning.
|
||||
@item @kbd{C-@key{TAB}}
|
||||
@code{file-cache-minibuffer-complete}
|
||||
@end ignore
|
||||
@end table
|
||||
@end defvar
|
||||
|
||||
|
|
@ -305,6 +319,8 @@ This function discards text properties, regardless of the value of
|
|||
@end smallexample
|
||||
@end defun
|
||||
|
||||
@c Slightly unfortunate name, suggesting it might be related to the
|
||||
@c Nextstep port...
|
||||
@defvar minibuffer-local-ns-map
|
||||
This built-in variable is the keymap used as the minibuffer local keymap
|
||||
in the function @code{read-no-blanks-input}. By default, it makes the
|
||||
|
|
@ -389,23 +405,16 @@ This function simply evaluates the result of a call to
|
|||
@end defun
|
||||
|
||||
@defun edit-and-eval-command prompt form
|
||||
This function reads a Lisp expression in the minibuffer, and then
|
||||
evaluates it. The difference between this command and
|
||||
This function reads a Lisp expression in the minibuffer, evaluates it,
|
||||
then returns the result. The difference between this command and
|
||||
@code{eval-minibuffer} is that here the initial @var{form} is not
|
||||
optional and it is treated as a Lisp object to be converted to printed
|
||||
representation rather than as a string of text. It is printed with
|
||||
@code{prin1}, so if it is a string, double-quote characters (@samp{"})
|
||||
appear in the initial text. @xref{Output Functions}.
|
||||
|
||||
The first thing @code{edit-and-eval-command} does is to activate the
|
||||
minibuffer with @var{prompt} as the prompt. Then it inserts the printed
|
||||
representation of @var{form} in the minibuffer, and lets the user edit it.
|
||||
When the user exits the minibuffer, the edited text is read with
|
||||
@code{read} and then evaluated. The resulting value becomes the value
|
||||
of @code{edit-and-eval-command}.
|
||||
|
||||
In the following example, we offer the user an expression with initial
|
||||
text which is a valid form already:
|
||||
text that is already a valid form:
|
||||
|
||||
@smallexample
|
||||
@group
|
||||
|
|
@ -425,7 +434,6 @@ Please edit: (forward-word 1)@point{}
|
|||
@noindent
|
||||
Typing @key{RET} right away would exit the minibuffer and evaluate the
|
||||
expression, thus moving point forward one word.
|
||||
@code{edit-and-eval-command} returns @code{nil} in this example.
|
||||
@end defun
|
||||
|
||||
@node Minibuffer History
|
||||
|
|
@ -441,7 +449,7 @@ is a list of strings (previous inputs), most recent first.
|
|||
kinds of inputs. It's the Lisp programmer's job to specify the right
|
||||
history list for each use of the minibuffer.
|
||||
|
||||
You specify a minibuffer history list with the optional @var{hist}
|
||||
You specify a minibuffer history list with the optional @var{history}
|
||||
argument to @code{read-from-minibuffer} or @code{completing-read}.
|
||||
Here are the possible values for it:
|
||||
|
||||
|
|
@ -457,7 +465,7 @@ Specifying 0 for @var{startpos} is equivalent to just specifying the
|
|||
symbol @var{variable}. @code{previous-history-element} will display
|
||||
the most recent element of the history list in the minibuffer. If you
|
||||
specify a positive @var{startpos}, the minibuffer history functions
|
||||
behave as if @code{(elt @var{variable} (1- @var{STARTPOS}))} were the
|
||||
behave as if @code{(elt @var{variable} (1- @var{startpos}))} were the
|
||||
history element currently shown in the minibuffer.
|
||||
|
||||
For consistency, you should also specify that element of the history
|
||||
|
|
@ -465,7 +473,7 @@ as the initial minibuffer contents, using the @var{initial} argument
|
|||
to the minibuffer input function (@pxref{Initial Input}).
|
||||
@end table
|
||||
|
||||
If you don't specify @var{hist}, then the default history list
|
||||
If you don't specify @var{history}, then the default history list
|
||||
@code{minibuffer-history} is used. For other standard history lists,
|
||||
see below. You can also create your own history list variable; just
|
||||
initialize it to @code{nil} before the first use.
|
||||
|
|
@ -504,15 +512,15 @@ If the value of this variable is @code{nil}, standard functions that
|
|||
read from the minibuffer don't add new elements to the history list.
|
||||
This lets Lisp programs explicitly manage input history by using
|
||||
@code{add-to-history}. By default, @code{history-add-new-input} is
|
||||
set to a non-@code{nil} value.
|
||||
non-@code{nil}.
|
||||
@end defvar
|
||||
|
||||
@defopt history-length
|
||||
The value of this variable specifies the maximum length for all
|
||||
history lists that don't specify their own maximum lengths. If the
|
||||
value is @code{t}, that means there is no maximum (don't delete old
|
||||
elements). The value of @code{history-length} property of the history
|
||||
list variable's symbol, if set, overrides this variable for that
|
||||
elements). If a history list variable's symbol has a non-@code{nil}
|
||||
@code{history-length} property, it overrides this variable for that
|
||||
particular history list.
|
||||
@end defopt
|
||||
|
||||
|
|
@ -556,11 +564,19 @@ A history list for arguments that are shell commands.
|
|||
A history list for arguments that are Lisp expressions to evaluate.
|
||||
@end defvar
|
||||
|
||||
@defvar face-name-history
|
||||
A history list for arguments that are faces.
|
||||
@end defvar
|
||||
|
||||
@c Less common: coding-system-history, input-method-history,
|
||||
@c command-history, grep-history, grep-find-history,
|
||||
@c read-envvar-name-history, setenv-history, yes-or-no-p-history.
|
||||
|
||||
@node Initial Input
|
||||
@section Initial Input
|
||||
|
||||
Several of the functions for minibuffer input have an argument called
|
||||
@var{initial} or @var{initial-contents}. This is a mostly-deprecated
|
||||
@var{initial}. This is a mostly-deprecated
|
||||
feature for specifying that the minibuffer should start out with
|
||||
certain text, instead of empty as usual.
|
||||
|
||||
|
|
@ -577,7 +593,7 @@ to offer useful default inputs to the user.
|
|||
|
||||
There is just one situation where you should specify a string for an
|
||||
@var{initial} argument. This is when you specify a cons cell for the
|
||||
@var{hist} or @var{history} argument. @xref{Minibuffer History}.
|
||||
@var{history} argument. @xref{Minibuffer History}.
|
||||
|
||||
@var{initial} can also be a cons cell of the form @code{(@var{string}
|
||||
. @var{position})}. This means to insert @var{string} in the
|
||||
|
|
@ -589,11 +605,10 @@ inconsistently in different functions. In @code{completing-read},
|
|||
of 0 means the beginning of the string, 1 means after the first
|
||||
character, etc. In @code{read-minibuffer}, and the other
|
||||
non-completion minibuffer input functions that support this argument,
|
||||
1 means the beginning of the string 2 means after the first character,
|
||||
1 means the beginning of the string, 2 means after the first character,
|
||||
etc.
|
||||
|
||||
Use of a cons cell as the value for @var{initial} arguments is
|
||||
deprecated in user code.
|
||||
Use of a cons cell as the value for @var{initial} arguments is deprecated.
|
||||
|
||||
@node Completion
|
||||
@section Completion
|
||||
|
|
@ -604,6 +619,7 @@ starting from an abbreviation for it. Completion works by comparing the
|
|||
user's input against a list of valid names and determining how much of
|
||||
the name is determined uniquely by what the user has typed. For
|
||||
example, when you type @kbd{C-x b} (@code{switch-to-buffer}) and then
|
||||
@c "This is the sort of English up with which I will not put."
|
||||
type the first few letters of the name of the buffer to which you wish
|
||||
to switch, and then type @key{TAB} (@code{minibuffer-complete}), Emacs
|
||||
extends the name as far as it can.
|
||||
|
|
@ -628,7 +644,7 @@ for reading certain kinds of names with completion.
|
|||
* Minibuffer Completion:: Invoking the minibuffer with completion.
|
||||
* Completion Commands:: Minibuffer commands that do completion.
|
||||
* High-Level Completion:: Convenient special cases of completion
|
||||
(reading buffer name, file name, etc.).
|
||||
(reading buffer names, variable names, etc.).
|
||||
* Reading File Names:: Using completion to read file names and
|
||||
shell commands.
|
||||
* Completion Variables:: Variables controlling completion behavior.
|
||||
|
|
@ -663,20 +679,14 @@ If @var{collection} is an alist (@pxref{Association Lists}), the
|
|||
permissible completions are the elements of the alist that are either
|
||||
strings, or conses whose @sc{car} is a string or symbol.
|
||||
Symbols are converted to strings using @code{symbol-name}. Other
|
||||
elements of the alist are ignored. (Remember that in Emacs Lisp, the
|
||||
elements of the alist are ignored. (Remember that in Emacs Lisp, the
|
||||
elements of alists do not @emph{have} to be conses.) In particular, a
|
||||
list of strings is allowed, even though we usually do not
|
||||
think of such lists as alists.
|
||||
|
||||
@cindex obarray in completion
|
||||
If @var{collection} is an obarray (@pxref{Creating Symbols}), the names
|
||||
of all symbols in the obarray form the set of permissible completions. The
|
||||
global variable @code{obarray} holds an obarray containing the names of
|
||||
all interned Lisp symbols.
|
||||
|
||||
Note that the only valid way to make a new obarray is to create it
|
||||
empty and then add symbols to it one by one using @code{intern}.
|
||||
Also, you cannot intern a given symbol in more than one obarray.
|
||||
of all symbols in the obarray form the set of permissible completions.
|
||||
|
||||
If @var{collection} is a hash table, then the keys that are strings
|
||||
are the possible completions. Other keys are ignored.
|
||||
|
|
@ -757,16 +767,20 @@ too short). Both of those begin with the string @samp{foobar}.
|
|||
@end smallexample
|
||||
@end defun
|
||||
|
||||
@defun all-completions string collection &optional predicate nospace
|
||||
@c Removed obsolete argument nospace.
|
||||
@defun all-completions string collection &optional predicate
|
||||
This function returns a list of all possible completions of
|
||||
@var{string}. The arguments to this function (aside from
|
||||
@var{nospace}) are the same as those of @code{try-completion}. Also,
|
||||
this function uses @code{completion-regexp-list} in the same way that
|
||||
@var{string}. The arguments to this function
|
||||
@c (aside from @var{nospace})
|
||||
are the same as those of @code{try-completion}, and it
|
||||
uses @code{completion-regexp-list} in the same way that
|
||||
@code{try-completion} does.
|
||||
|
||||
@ignore
|
||||
The optional argument @var{nospace} is obsolete. If it is
|
||||
non-@code{nil}, completions that start with a space are ignored unless
|
||||
@var{string} starts with a space.
|
||||
@end ignore
|
||||
|
||||
If @var{collection} is a function, it is called with three arguments:
|
||||
@var{string}, @var{predicate} and @code{t}; then @code{all-completions}
|
||||
|
|
@ -836,7 +850,7 @@ pertains to the area after @code{"/usr/"} and before @code{"/doc"}.
|
|||
@end defun
|
||||
|
||||
If you store a completion alist in a variable, you should mark the
|
||||
variable as ``risky'' with a non-@code{nil}
|
||||
variable as ``risky'' by giving it a non-@code{nil}
|
||||
@code{risky-local-variable} property. @xref{File Local Variables}.
|
||||
|
||||
@defvar completion-ignore-case
|
||||
|
|
@ -865,7 +879,7 @@ proper value is done the first time you do completion using @var{var}.
|
|||
It is done by calling @var{fun} with no arguments. The
|
||||
value @var{fun} returns becomes the permanent value of @var{var}.
|
||||
|
||||
Here is a usage example:
|
||||
Here is an example:
|
||||
|
||||
@smallexample
|
||||
(defvar foo (lazy-completion-table foo make-my-alist))
|
||||
|
|
@ -880,7 +894,7 @@ Here is a usage example:
|
|||
This section describes the basic interface for reading from the
|
||||
minibuffer with completion.
|
||||
|
||||
@defun completing-read prompt collection &optional predicate require-match initial hist default inherit-input-method
|
||||
@defun completing-read prompt collection &optional predicate require-match initial history default inherit-input-method
|
||||
This function reads a string in the minibuffer, assisting the user by
|
||||
providing completion. It activates the minibuffer with prompt
|
||||
@var{prompt}, which must be a string.
|
||||
|
|
@ -935,13 +949,13 @@ The function @code{completing-read} uses
|
|||
@code{minibuffer-local-must-match-map} if @var{require-match} is
|
||||
non-@code{nil}. @xref{Completion Commands}.
|
||||
|
||||
The argument @var{hist} specifies which history list variable to use for
|
||||
The argument @var{history} specifies which history list variable to use for
|
||||
saving the input and for minibuffer history commands. It defaults to
|
||||
@code{minibuffer-history}. @xref{Minibuffer History}.
|
||||
|
||||
The argument @var{initial} is mostly deprecated; we recommend using a
|
||||
non-@code{nil} value only in conjunction with specifying a cons cell
|
||||
for @var{hist}. @xref{Initial Input}. For default input, use
|
||||
for @var{history}. @xref{Initial Input}. For default input, use
|
||||
@var{default} instead.
|
||||
|
||||
If the argument @var{inherit-input-method} is non-@code{nil}, then the
|
||||
|
|
@ -950,7 +964,7 @@ Methods}) and the setting of @code{enable-multibyte-characters}
|
|||
(@pxref{Text Representations}) from whichever buffer was current before
|
||||
entering the minibuffer.
|
||||
|
||||
If the built-in variable @code{completion-ignore-case} is
|
||||
If the variable @code{completion-ignore-case} is
|
||||
non-@code{nil}, completion ignores case when comparing the input
|
||||
against the possible matches. @xref{Basic Completion}. In this mode
|
||||
of operation, @var{predicate} must also ignore case, or you will get
|
||||
|
|
@ -1062,7 +1076,7 @@ using the value of the variable @code{minibuffer-completion-table} as
|
|||
the @var{collection} argument, and the value of
|
||||
@code{minibuffer-completion-predicate} as the @var{predicate} argument.
|
||||
The list of completions is displayed as text in a buffer named
|
||||
@samp{*Completions*}.
|
||||
@file{*Completions*}.
|
||||
@end deffn
|
||||
|
||||
@defun display-completion-list completions &optional common-substring
|
||||
|
|
@ -1083,8 +1097,8 @@ uses this to highlight text in the completion list for better visual
|
|||
feedback. This is not needed in the minibuffer; for minibuffer
|
||||
completion, you can pass @code{nil}.
|
||||
|
||||
This function is called by @code{minibuffer-completion-help}. The
|
||||
most common way to use it is together with
|
||||
This function is called by @code{minibuffer-completion-help}. A
|
||||
common way to use it is together with
|
||||
@code{with-output-to-temp-buffer}, like this:
|
||||
|
||||
@example
|
||||
|
|
@ -1118,7 +1132,7 @@ keymap makes the following bindings:
|
|||
@end table
|
||||
|
||||
@noindent
|
||||
with other characters bound as in @code{minibuffer-local-map}
|
||||
and uses @code{minibuffer-local-map} as its parent keymap
|
||||
(@pxref{Definition of minibuffer-local-map}).
|
||||
@end defvar
|
||||
|
||||
|
|
@ -1130,15 +1144,6 @@ minibuffer unconditionally. By default, this keymap makes the following
|
|||
bindings:
|
||||
|
||||
@table @asis
|
||||
@item @kbd{?}
|
||||
@code{minibuffer-completion-help}
|
||||
|
||||
@item @key{SPC}
|
||||
@code{minibuffer-complete-word}
|
||||
|
||||
@item @key{TAB}
|
||||
@code{minibuffer-complete}
|
||||
|
||||
@item @kbd{C-j}
|
||||
@code{minibuffer-complete-and-exit}
|
||||
|
||||
|
|
@ -1147,25 +1152,21 @@ bindings:
|
|||
@end table
|
||||
|
||||
@noindent
|
||||
with other characters bound as in @code{minibuffer-local-map}.
|
||||
and uses @code{minibuffer-local-completion-map} as its parent keymap.
|
||||
@end defvar
|
||||
|
||||
@defvar minibuffer-local-filename-completion-map
|
||||
This is like @code{minibuffer-local-completion-map}
|
||||
except that it does not bind @key{SPC}. This keymap is used by the
|
||||
function @code{read-file-name}.
|
||||
This is a sparse keymap that simply unbinds @key{SPC}; because
|
||||
filenames can contain spaces. The function @code{read-file-name}
|
||||
combines this keymap with either @code{minibuffer-local-completion-map}
|
||||
or @code{minibuffer-local-must-match-map}.
|
||||
@end defvar
|
||||
|
||||
@defvar minibuffer-local-filename-must-match-map
|
||||
This is like @code{minibuffer-local-must-match-map}
|
||||
except that it does not bind @key{SPC}. This keymap is used by the
|
||||
function @code{read-file-name}.
|
||||
@end defvar
|
||||
|
||||
@node High-Level Completion
|
||||
@subsection High-Level Completion Functions
|
||||
|
||||
This section describes the higher-level convenient functions for
|
||||
This section describes the higher-level convenience functions for
|
||||
reading certain sorts of names with completion.
|
||||
|
||||
In most cases, you should not call these functions in the middle of a
|
||||
|
|
@ -1239,7 +1240,7 @@ for which @code{commandp} returns @code{t}. @xref{Interactive Call}.
|
|||
The argument @var{default} specifies what to return if the user enters
|
||||
null input. It can be a symbol, a string or a list of strings. If it
|
||||
is a string, @code{read-command} interns it before returning it.
|
||||
If it is a list, @code{read-command} returns the first element of this list.
|
||||
If it is a list, @code{read-command} interns the first element of this list.
|
||||
If @var{default} is @code{nil}, that means no default has been
|
||||
specified; then if the user enters null input, the return value is
|
||||
@code{(intern "")}, that is, a symbol whose name is an empty string.
|
||||
|
|
@ -1281,51 +1282,11 @@ complete in the set of extant Lisp symbols, and it uses the
|
|||
|
||||
@defun read-variable prompt &optional default
|
||||
@anchor{Definition of read-variable}
|
||||
This function reads the name of a user variable and returns it as a
|
||||
symbol.
|
||||
|
||||
The argument @var{default} specifies the default value to return if
|
||||
the user enters null input. It can be a symbol, a string, or a list
|
||||
of strings. If it is a string, @code{read-variable} interns it to
|
||||
make the default value. If it is a list, @code{read-variable} interns
|
||||
the first element. If @var{default} is @code{nil}, that means no
|
||||
default has been specified; then if the user enters null input, the
|
||||
return value is @code{(intern "")}.
|
||||
|
||||
@example
|
||||
@group
|
||||
(read-variable "Variable name? ")
|
||||
|
||||
;; @r{After evaluation of the preceding expression,}
|
||||
;; @r{the following prompt appears,}
|
||||
;; @r{with an empty minibuffer:}
|
||||
@end group
|
||||
|
||||
@group
|
||||
---------- Buffer: Minibuffer ----------
|
||||
Variable name? @point{}
|
||||
---------- Buffer: Minibuffer ----------
|
||||
@end group
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
If the user then types @kbd{fill-p @key{RET}}, @code{read-variable}
|
||||
returns @code{fill-prefix}.
|
||||
|
||||
In general, @code{read-variable} is similar to @code{read-command},
|
||||
but uses the predicate @code{custom-variable-p} instead of
|
||||
@code{commandp}:
|
||||
|
||||
@cindex @code{custom-variable-p} example
|
||||
@example
|
||||
@group
|
||||
(read-variable @var{prompt})
|
||||
@equiv{}
|
||||
(intern
|
||||
(completing-read @var{prompt} obarray
|
||||
'custom-variable-p t nil))
|
||||
@end group
|
||||
@end example
|
||||
This function reads the name of a customizable variable and returns it
|
||||
as a symbol. Its arguments have the same form as those of
|
||||
@code{read-command}. It behaves just like @code{read-command}, except
|
||||
that it uses the predicate @code{custom-variable-p} instead of
|
||||
@code{commandp}.
|
||||
@end defun
|
||||
|
||||
@deffn Command read-color &optional prompt convert allow-empty display
|
||||
|
|
@ -1343,7 +1304,7 @@ minibuffer. However, when called interactively or if the optional
|
|||
argument @var{convert} is non-@code{nil}, it converts any input color
|
||||
name into the corresponding RGB value string and instead returns that.
|
||||
This function requires a valid color specification to be input.
|
||||
Empty color names are allowed when @code{allow-empty} is
|
||||
Empty color names are allowed when @var{allow-empty} is
|
||||
non-@code{nil} and the user enters null input.
|
||||
|
||||
Interactively, or when @var{display} is non-@code{nil}, the return
|
||||
|
|
@ -1361,7 +1322,7 @@ and @code{read-input-method-name}, in @ref{Input Methods}.
|
|||
|
||||
The high-level completion functions @code{read-file-name},
|
||||
@code{read-directory-name}, and @code{read-shell-command} are designed
|
||||
to read file names, directory names, and shell commands respectively.
|
||||
to read file names, directory names, and shell commands, respectively.
|
||||
They provide special features, including automatic insertion of the
|
||||
default directory.
|
||||
|
||||
|
|
@ -1370,15 +1331,29 @@ This function reads a file name, prompting with @var{prompt} and
|
|||
providing completion.
|
||||
|
||||
As an exception, this function reads a file name using a graphical
|
||||
file dialog instead of the minibuffer, if (i) it is invoked via a
|
||||
mouse command, and (ii) the selected frame is on a graphical display
|
||||
supporting such dialogs, and (iii) the variable @code{use-dialog-box}
|
||||
is non-@code{nil} (@pxref{Dialog Boxes,, Dialog Boxes, emacs, The GNU
|
||||
Emacs Manual}), and (iv) the @var{directory} argument, described
|
||||
below, does not specify a remote file (@pxref{Remote Files,, Remote
|
||||
Files, emacs, The GNU Emacs Manual}). The exact behavior when using a
|
||||
graphical file dialog is platform-dependent. Here, we simply document
|
||||
the behavior when using the minibuffer.
|
||||
file dialog instead of the minibuffer, if all of the following are
|
||||
true:
|
||||
|
||||
@enumerate
|
||||
@item
|
||||
It is invoked via a mouse command.
|
||||
|
||||
@item
|
||||
The selected frame is on a graphical display supporting such dialogs.
|
||||
|
||||
@item
|
||||
The variable @code{use-dialog-box} is non-@code{nil}.
|
||||
@xref{Dialog Boxes,, Dialog Boxes, emacs, The GNU Emacs Manual}.
|
||||
|
||||
@item
|
||||
The @var{directory} argument, described below, does not specify a
|
||||
remote file. @xref{Remote Files,, Remote Files, emacs, The GNU Emacs Manual}.
|
||||
@end enumerate
|
||||
|
||||
@noindent
|
||||
The exact behavior when using a graphical file dialog is
|
||||
platform-dependent. Here, we simply document the behavior when using
|
||||
the minibuffer.
|
||||
|
||||
@code{read-file-name} does not automatically expand the returned file
|
||||
name. You must call @code{expand-file-name} yourself if an absolute
|
||||
|
|
@ -1389,7 +1364,7 @@ The optional argument @var{require-match} has the same meaning as in
|
|||
|
||||
The argument @var{directory} specifies the directory to use for
|
||||
completing relative file names. It should be an absolute directory
|
||||
name. If @code{insert-default-directory} is non-@code{nil},
|
||||
name. If the variable @code{insert-default-directory} is non-@code{nil},
|
||||
@var{directory} is also inserted in the minibuffer as initial input.
|
||||
It defaults to the current buffer's value of @code{default-directory}.
|
||||
|
||||
|
|
@ -1397,9 +1372,9 @@ If you specify @var{initial}, that is an initial file name to insert
|
|||
in the buffer (after @var{directory}, if that is inserted). In this
|
||||
case, point goes at the beginning of @var{initial}. The default for
|
||||
@var{initial} is @code{nil}---don't insert any file name. To see what
|
||||
@var{initial} does, try the command @kbd{C-x C-v}. @strong{Please
|
||||
note:} we recommend using @var{default} rather than @var{initial} in
|
||||
most cases.
|
||||
@var{initial} does, try the command @kbd{C-x C-v} in a buffer visiting
|
||||
a file. @strong{Please note:} we recommend using @var{default} rather
|
||||
than @var{initial} in most cases.
|
||||
|
||||
If @var{default} is non-@code{nil}, then the function returns
|
||||
@var{default} if the user exits the minibuffer with the same non-empty
|
||||
|
|
@ -1502,7 +1477,7 @@ use the code letters @samp{f} or @samp{F} in their interactive form.
|
|||
@xref{Interactive Codes,, Code Characters for interactive}.) Its
|
||||
value controls whether @code{read-file-name} starts by placing the
|
||||
name of the default directory in the minibuffer, plus the initial file
|
||||
name if any. If the value of this variable is @code{nil}, then
|
||||
name, if any. If the value of this variable is @code{nil}, then
|
||||
@code{read-file-name} does not place any initial input in the
|
||||
minibuffer (unless you specify initial input with the @var{initial}
|
||||
argument). In that case, the default directory is still used for
|
||||
|
|
@ -1545,17 +1520,17 @@ The file is @point{}
|
|||
@end example
|
||||
@end defopt
|
||||
|
||||
@defun read-shell-command prompt &optional initial-contents hist &rest args
|
||||
@defun read-shell-command prompt &optional initial history &rest args
|
||||
This function reads a shell command from the minibuffer, prompting
|
||||
with @var{prompt} and providing intelligent completion. It completes
|
||||
the first word of the command using candidates that are appropriate
|
||||
for command names, and the rest of the command words as file names.
|
||||
|
||||
This function uses @code{minibuffer-local-shell-command-map} as the
|
||||
keymap for minibuffer input. The @var{hist} argument specifies the
|
||||
keymap for minibuffer input. The @var{history} argument specifies the
|
||||
history list to use; if is omitted or @code{nil}, it defaults to
|
||||
@code{shell-command-history} (@pxref{Minibuffer History,
|
||||
shell-command-history}). The optional argument @var{initial-contents}
|
||||
shell-command-history}). The optional argument @var{initial}
|
||||
specifies the initial content of the minibuffer (@pxref{Initial
|
||||
Input}). The rest of @var{args}, if present, are used as the
|
||||
@var{default} and @var{inherit-input-method} arguments in
|
||||
|
|
@ -1564,20 +1539,22 @@ Input}). The rest of @var{args}, if present, are used as the
|
|||
|
||||
@defvar minibuffer-local-shell-command-map
|
||||
This keymap is used by @code{read-shell-command} for completing
|
||||
command and file names that are part of a shell command.
|
||||
command and file names that are part of a shell command. It uses
|
||||
@code{minibuffer-local-map} as its parent keymap, and binds @key{TAB}
|
||||
to @code{completion-at-point}.
|
||||
@end defvar
|
||||
|
||||
@node Completion Variables
|
||||
@subsection Completion Variables
|
||||
|
||||
Here are some variables which can be used to alter the default
|
||||
Here are some variables that can be used to alter the default
|
||||
completion behavior.
|
||||
|
||||
@cindex completion styles
|
||||
@defopt completion-styles
|
||||
The value of this variable is a list of completion style (symbols) to
|
||||
use for performing completion. A @dfn{completion style} is a set of
|
||||
rules for generating completions. Each symbol in occurring this list
|
||||
rules for generating completions. Each symbol occurring this list
|
||||
must have a corresponding entry in @code{completion-styles-alist}.
|
||||
@end defopt
|
||||
|
||||
|
|
@ -1624,13 +1601,14 @@ description of the available completion styles.
|
|||
@defopt completion-category-overrides
|
||||
This variable specifies special completion styles and other completion
|
||||
behaviors to use when completing certain types of text. Its value
|
||||
should be a list of the form @code{(@var{category} . @var{alist})}.
|
||||
@var{category} is a symbol describing what is being completed;
|
||||
currently, the @code{buffer} and @code{file} categories are defined,
|
||||
but others can be defined via specialized completion functions
|
||||
(@pxref{Programmed Completion}). @var{alist} is an association list
|
||||
describing how completion should behave for the corresponding
|
||||
category. The following alist keys are supported:
|
||||
should be an alist with elements of the form @code{(@var{category}
|
||||
. @var{alist})}. @var{category} is a symbol describing what is being
|
||||
completed; currently, the @code{buffer}, @code{file}, and
|
||||
@code{unicode-name} categories are defined, but others can be defined
|
||||
via specialized completion functions (@pxref{Programmed Completion}).
|
||||
@var{alist} is an association list describing how completion should
|
||||
behave for the corresponding category. The following alist keys are
|
||||
supported:
|
||||
|
||||
@table @code
|
||||
@item styles
|
||||
|
|
@ -1663,7 +1641,7 @@ the completion.
|
|||
The value should be a function to run after performing completion.
|
||||
The function should accept two arguments, @var{string} and
|
||||
@var{status}, where @var{string} is the text to which the field was
|
||||
completed and @var{status} indicates what kind of operation happened:
|
||||
completed, and @var{status} indicates what kind of operation happened:
|
||||
@code{finished} if text is now complete, @code{sole} if the text
|
||||
cannot be further completed but completion is not finished, or
|
||||
@code{exact} if the text is a valid completion but may be further
|
||||
|
|
@ -1727,9 +1705,10 @@ some completion alternative; @code{nil} otherwise.
|
|||
|
||||
@item (boundaries . @var{suffix})
|
||||
This specifies a @code{completion-boundaries} operation. The function
|
||||
should return @code{(boundaries START . END)}, where START is the
|
||||
position of the beginning boundary in the specified string, and END is
|
||||
the position of the end boundary in SUFFIX.
|
||||
should return @code{(boundaries @var{start} . @var{end})}, where
|
||||
@var{start} is the position of the beginning boundary in the specified
|
||||
string, and @var{end} is the position of the end boundary in
|
||||
@var{suffix}.
|
||||
|
||||
@item metadata
|
||||
This specifies a request for information about the state of the
|
||||
|
|
@ -1756,7 +1735,7 @@ completion behavior is overridden. @xref{Completion Variables}.
|
|||
The value should be a function for @dfn{annotating} completions. The
|
||||
function should take one argument, @var{string}, which is a possible
|
||||
completion. It should return a string, which is displayed after the
|
||||
completion @var{string} in the @samp{*Completions*} buffer.
|
||||
completion @var{string} in the @file{*Completions*} buffer.
|
||||
|
||||
@item display-sort-function
|
||||
The value should be a function for sorting completions. The function
|
||||
|
|
@ -1774,7 +1753,7 @@ the same as for @code{display-sort-function}.
|
|||
|
||||
@defun completion-table-dynamic function
|
||||
This function is a convenient way to write a function that can act as
|
||||
programmed completion function. The argument @var{function} should be
|
||||
a programmed completion function. The argument @var{function} should be
|
||||
a function that takes one argument, a string, and returns an alist of
|
||||
possible completions of it. You can think of
|
||||
@code{completion-table-dynamic} as a transducer between that interface
|
||||
|
|
@ -1828,7 +1807,7 @@ satisfy.
|
|||
|
||||
@item :exclusive
|
||||
If the value is @code{no}, then if the completion table fails to match
|
||||
the text at point, then @code{completion-at-point} moves on to the
|
||||
the text at point, @code{completion-at-point} moves on to the
|
||||
next function in @code{completion-at-point-functions} instead of
|
||||
reporting a completion failure.
|
||||
@end table
|
||||
|
|
@ -1842,7 +1821,7 @@ old code to using @code{completion-at-point}.
|
|||
The first function in @code{completion-at-point-functions} to return a
|
||||
non-@code{nil} value is used by @code{completion-at-point}. The
|
||||
remaining functions are not called. The exception to this is when
|
||||
there is a @code{:exclusive} specification, as described above.
|
||||
there is an @code{:exclusive} specification, as described above.
|
||||
@end defvar
|
||||
|
||||
The following function provides a convenient way to perform
|
||||
|
|
@ -1880,7 +1859,7 @@ answer.
|
|||
using the mouse---more precisely, if @code{last-nonmenu-event}
|
||||
(@pxref{Command Loop Info}) is either @code{nil} or a list---then it
|
||||
uses a dialog box or pop-up menu to ask the question. Otherwise, it
|
||||
uses keyboard input. You can force use of the mouse or use of keyboard
|
||||
uses keyboard input. You can force use either of the mouse or of keyboard
|
||||
input by binding @code{last-nonmenu-event} to a suitable value around
|
||||
the call.
|
||||
|
||||
|
|
@ -1891,7 +1870,7 @@ the call.
|
|||
This function asks the user a question, expecting input in the echo
|
||||
area. It returns @code{t} if the user types @kbd{y}, @code{nil} if the
|
||||
user types @kbd{n}. This function also accepts @key{SPC} to mean yes
|
||||
and @key{DEL} to mean no. It accepts @kbd{C-]} to mean ``quit,'' like
|
||||
and @key{DEL} to mean no. It accepts @kbd{C-]} to mean ``quit'', like
|
||||
@kbd{C-g}, because the question might look like a minibuffer and for
|
||||
that reason the user might try to use @kbd{C-]} to get out. The answer
|
||||
is a single character, with no @key{RET} needed to terminate it. Upper
|
||||
|
|
@ -1915,12 +1894,16 @@ hardwired. The keymap @code{query-replace-map} specifies them.
|
|||
In the following example, the user first types @kbd{q}, which is
|
||||
invalid. At the next prompt the user types @kbd{y}.
|
||||
|
||||
@c Need an interactive example, because otherwise the return value
|
||||
@c obscures the display of the valid answer.
|
||||
@smallexample
|
||||
@group
|
||||
(y-or-n-p "Do you need a lift? ")
|
||||
(defun ask ()
|
||||
(interactive)
|
||||
(y-or-n-p "Do you need a lift? "))
|
||||
|
||||
;; @r{After evaluation of the preceding expression,}
|
||||
;; @r{the following prompt appears in the echo area:}
|
||||
;; @r{After evaluation of the preceding definition, @kbd{M-x ask}}
|
||||
;; @r{causes the following prompt to appear in the echo area:}
|
||||
@end group
|
||||
|
||||
@group
|
||||
|
|
@ -1952,10 +1935,10 @@ We show successive lines of echo area messages, but only one actually
|
|||
appears on the screen at a time.
|
||||
@end defun
|
||||
|
||||
@defun y-or-n-p-with-timeout prompt seconds default-value
|
||||
@defun y-or-n-p-with-timeout prompt seconds default
|
||||
Like @code{y-or-n-p}, except that if the user fails to answer within
|
||||
@var{seconds} seconds, this function stops waiting and returns
|
||||
@var{default-value}. It works by setting up a timer; see @ref{Timers}.
|
||||
@var{default}. It works by setting up a timer; see @ref{Timers}.
|
||||
The argument @var{seconds} may be an integer or a floating point number.
|
||||
@end defun
|
||||
|
||||
|
|
@ -2023,7 +2006,7 @@ single-character answer in the echo area for each one.
|
|||
The value of @var{list} specifies the objects to ask questions about.
|
||||
It should be either a list of objects or a generator function. If it is
|
||||
a function, it should expect no arguments, and should return either the
|
||||
next object to ask about, or @code{nil} meaning stop asking questions.
|
||||
next object to ask about, or @code{nil}, meaning to stop asking questions.
|
||||
|
||||
The argument @var{prompter} specifies how to ask each question. If
|
||||
@var{prompter} is a string, the question text is computed like this:
|
||||
|
|
@ -2039,8 +2022,8 @@ where @var{object} is the next object to ask about (as obtained from
|
|||
If not a string, @var{prompter} should be a function of one argument
|
||||
(the next object to ask about) and should return the question text. If
|
||||
the value is a string, that is the question to ask the user. The
|
||||
function can also return @code{t} meaning do act on this object (and
|
||||
don't ask the user), or @code{nil} meaning ignore this object (and don't
|
||||
function can also return @code{t}, meaning do act on this object (and
|
||||
don't ask the user), or @code{nil}, meaning ignore this object (and don't
|
||||
ask the user).
|
||||
|
||||
The argument @var{actor} says how to act on the answers that the user
|
||||
|
|
@ -2081,7 +2064,7 @@ answer); @var{function} is a function of one argument (an object from
|
|||
|
||||
When the user responds with @var{char}, @code{map-y-or-n-p} calls
|
||||
@var{function}. If it returns non-@code{nil}, the object is considered
|
||||
``acted upon,'' and @code{map-y-or-n-p} advances to the next object in
|
||||
``acted upon'', and @code{map-y-or-n-p} advances to the next object in
|
||||
@var{list}. If it returns @code{nil}, the prompt is repeated for the
|
||||
same object.
|
||||
|
||||
|
|
@ -2093,12 +2076,14 @@ If @code{map-y-or-n-p} is called in a command that was invoked using the
|
|||
mouse---more precisely, if @code{last-nonmenu-event} (@pxref{Command
|
||||
Loop Info}) is either @code{nil} or a list---then it uses a dialog box
|
||||
or pop-up menu to ask the question. In this case, it does not use
|
||||
keyboard input or the echo area. You can force use of the mouse or use
|
||||
keyboard input or the echo area. You can force use either of the mouse or
|
||||
of keyboard input by binding @code{last-nonmenu-event} to a suitable
|
||||
value around the call.
|
||||
|
||||
The return value of @code{map-y-or-n-p} is the number of objects acted on.
|
||||
@end defun
|
||||
@c FIXME An example of this would be more useful than all the
|
||||
@c preceding examples of simple things.
|
||||
|
||||
@node Reading a Password
|
||||
@section Reading a Password
|
||||
|
|
@ -2161,6 +2146,19 @@ This command replaces the minibuffer contents with the value of the
|
|||
regular expression).
|
||||
@end deffn
|
||||
|
||||
@deffn Command previous-complete-history-element n
|
||||
This command replaces the minibuffer contents with the value of the
|
||||
@var{n}th previous (older) history element that completes the current
|
||||
contents of the minibuffer before the point.
|
||||
@end deffn
|
||||
|
||||
@deffn Command next-complete-history-element n
|
||||
This command replaces the minibuffer contents with the value of the
|
||||
@var{n}th next (newer) history element that completes the current
|
||||
contents of the minibuffer before the point.
|
||||
@end deffn
|
||||
|
||||
|
||||
@node Minibuffer Windows
|
||||
@section Minibuffer Windows
|
||||
@cindex minibuffer windows
|
||||
|
|
@ -2170,7 +2168,7 @@ and test whether they are active.
|
|||
|
||||
@defun active-minibuffer-window
|
||||
This function returns the currently active minibuffer window, or
|
||||
@code{nil} if none is currently active.
|
||||
@code{nil} if there is none.
|
||||
@end defun
|
||||
|
||||
@defun minibuffer-window &optional frame
|
||||
|
|
@ -2203,8 +2201,8 @@ there can be more than one minibuffer window if there is more than one
|
|||
frame.
|
||||
|
||||
@defun minibuffer-window-active-p window
|
||||
This function returns non-@code{nil} if @var{window}, assumed to be
|
||||
a minibuffer window, is currently active.
|
||||
This function returns non-@code{nil} if @var{window} is the currently
|
||||
active minibuffer window.
|
||||
@end defun
|
||||
|
||||
@node Minibuffer Contents
|
||||
|
|
@ -2319,7 +2317,7 @@ minibuffer, it scrolls this window.
|
|||
@end defvar
|
||||
|
||||
@defun minibuffer-selected-window
|
||||
This function returns the window which was selected when the
|
||||
This function returns the window that was selected when the
|
||||
minibuffer was entered. If selected window is not a minibuffer
|
||||
window, it returns @code{nil}.
|
||||
@end defun
|
||||
|
|
@ -2330,10 +2328,19 @@ windows. If a float, it specifies a fraction of the height of the
|
|||
frame. If an integer, it specifies a number of lines.
|
||||
@end defopt
|
||||
|
||||
@vindex minibuffer-message-timeout
|
||||
@defun minibuffer-message string &rest args
|
||||
This function displays @var{string} temporarily at the end of the
|
||||
minibuffer text, for two seconds, or until the next input event
|
||||
arrives, whichever comes first. If @var{args} is non-@code{nil}, the
|
||||
actual message is obtained by passing @var{string} and @var{args}
|
||||
through @code{format}. @xref{Formatting Strings}.
|
||||
minibuffer text, for a few seconds, or until the next input event
|
||||
arrives, whichever comes first. The variable
|
||||
@code{minibuffer-message-timeout} specifies the number of seconds to
|
||||
wait in the absence of input. It defaults to 2. If @var{args} is
|
||||
non-@code{nil}, the actual message is obtained by passing @var{string}
|
||||
and @var{args} through @code{format}. @xref{Formatting Strings}.
|
||||
@end defun
|
||||
|
||||
@deffn Command minibuffer-inactive-mode
|
||||
This is the major mode used in inactive minibuffers. It uses
|
||||
keymap @code{minibuffer-inactive-mode-map}. This can be useful
|
||||
if the minibuffer is in a separate frame. @xref{Minibuffers and Frames}.
|
||||
@end deffn
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/modes
|
||||
@node Modes, Documentation, Keymaps, Top
|
||||
@chapter Major and Minor Modes
|
||||
@cindex mode
|
||||
|
|
@ -628,7 +627,7 @@ have set.
|
|||
This function sets the major mode of @var{buffer} to the default value of
|
||||
@code{major-mode}; if that is @code{nil}, it uses the
|
||||
current buffer's major mode (if that is suitable). As an exception,
|
||||
if @var{buffer}'s name is @samp{*scratch*}, it sets the mode to
|
||||
if @var{buffer}'s name is @file{*scratch*}, it sets the mode to
|
||||
@code{initial-major-mode}.
|
||||
|
||||
The low-level primitives for creating buffers do not use this function,
|
||||
|
|
@ -637,9 +636,9 @@ but medium-level commands such as @code{switch-to-buffer} and
|
|||
@end defun
|
||||
|
||||
@defopt initial-major-mode
|
||||
@cindex @samp{*scratch*}
|
||||
@cindex @file{*scratch*}
|
||||
The value of this variable determines the major mode of the initial
|
||||
@samp{*scratch*} buffer. The value should be a symbol that is a major
|
||||
@file{*scratch*} buffer. The value should be a symbol that is a major
|
||||
mode command. The default value is @code{lisp-interaction-mode}.
|
||||
@end defopt
|
||||
|
||||
|
|
@ -908,7 +907,7 @@ common bindings, including @kbd{q} for @code{quit-window}, @kbd{z} for
|
|||
(@pxref{Reverting}).
|
||||
|
||||
An example of a major mode derived from Special mode is Buffer Menu
|
||||
mode, which is used by the @samp{*Buffer List*} buffer. @xref{List
|
||||
mode, which is used by the @file{*Buffer List*} buffer. @xref{List
|
||||
Buffers,,Listing Existing Buffers, emacs, The GNU Emacs Manual}.
|
||||
@end deffn
|
||||
|
||||
|
|
@ -1571,8 +1570,8 @@ rather than buffer-local. It defaults to @code{nil}.
|
|||
|
||||
One of the effects of making a minor mode global is that the
|
||||
@var{mode} variable becomes a customization variable. Toggling it
|
||||
through the Custom interface turns the mode on and off, and its value
|
||||
can be saved for future Emacs sessions (@pxref{Saving
|
||||
through the Customize interface turns the mode on and off, and its
|
||||
value can be saved for future Emacs sessions (@pxref{Saving
|
||||
Customizations,,, emacs, The GNU Emacs Manual}. For the saved
|
||||
variable to work, you should ensure that the @code{define-minor-mode}
|
||||
form is evaluated each time Emacs starts; for packages that are not
|
||||
|
|
@ -1691,7 +1690,7 @@ Fundamental mode; but it does not detect the creation of a new buffer
|
|||
in Fundamental mode.
|
||||
|
||||
This defines the customization option @var{global-mode} (@pxref{Customization}),
|
||||
which can be toggled in the Custom interface to turn the minor mode on
|
||||
which can be toggled in the Customize interface to turn the minor mode on
|
||||
and off. As with @code{define-minor-mode}, you should ensure that the
|
||||
@code{define-globalized-minor-mode} form is evaluated each time Emacs
|
||||
starts, for example by providing a @code{:require} keyword.
|
||||
|
|
@ -2016,7 +2015,7 @@ identify the mode name in the mode line, use @code{format-mode-line}
|
|||
This buffer-local variable contains the mode line information on process
|
||||
status in modes used for communicating with subprocesses. It is
|
||||
displayed immediately following the major mode name, with no intervening
|
||||
space. For example, its value in the @samp{*shell*} buffer is
|
||||
space. For example, its value in the @file{*shell*} buffer is
|
||||
@code{(":%s")}, which allows the shell to display its status along
|
||||
with the major mode as: @samp{(Shell:run)}. Normally this variable
|
||||
is @code{nil}.
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
@c -*-texinfo-*-
|
||||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1998-1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 1998-1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/characters
|
||||
@node Non-ASCII Characters, Searching and Matching, Text, Top
|
||||
@chapter Non-@acronym{ASCII} Characters
|
||||
@cindex multibyte characters
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/numbers
|
||||
@node Numbers, Strings and Characters, Lisp Data Types, Top
|
||||
@chapter Numbers
|
||||
@cindex integers
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/objects
|
||||
@node Lisp Data Types, Numbers, Introduction, Top
|
||||
@chapter Lisp Data Types
|
||||
@cindex object
|
||||
|
|
@ -352,7 +351,7 @@ following text.)
|
|||
|
||||
In addition to the specific escape sequences for special important
|
||||
control characters, Emacs provides several types of escape syntax that
|
||||
you can use to specify non-ASCII text characters.
|
||||
you can use to specify non-@acronym{ASCII} text characters.
|
||||
|
||||
@cindex unicode character escape
|
||||
You can specify characters by their Unicode values.
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/os
|
||||
@node System Interface, Packaging, Display, Top
|
||||
@chapter Operating System Interface
|
||||
|
||||
|
|
@ -89,7 +88,7 @@ that Emacs is being initialized.
|
|||
@c set-locale-environment
|
||||
@item
|
||||
It sets the language environment and the terminal coding system,
|
||||
if requested by environment variables such as @code{LANG}.
|
||||
if requested by environment variables such as @env{LANG}.
|
||||
|
||||
@item
|
||||
It does some basic parsing of the command-line arguments.
|
||||
|
|
@ -170,7 +169,7 @@ measurement of how long it took.
|
|||
It runs the normal hook @code{after-init-hook}.
|
||||
|
||||
@item
|
||||
If the buffer @samp{*scratch*} exists and is still in Fundamental mode
|
||||
If the buffer @file{*scratch*} exists and is still in Fundamental mode
|
||||
(as it should be by default), it sets its major mode according to
|
||||
@code{initial-major-mode}.
|
||||
|
||||
|
|
@ -196,7 +195,7 @@ It now exits if the option @code{--batch} was specified.
|
|||
|
||||
@item
|
||||
If @code{initial-buffer-choice} is a string, it visits the file with
|
||||
that name. If the @samp{*scratch*} buffer exists and is
|
||||
that name. If the @file{*scratch*} buffer exists and is
|
||||
empty, it inserts @code{initial-scratch-message} into that buffer.
|
||||
|
||||
@c To make things nice and confusing, the next three items can be
|
||||
|
|
@ -254,7 +253,7 @@ The following options affect some aspects of the startup sequence.
|
|||
|
||||
@defopt inhibit-startup-screen
|
||||
This variable, if non-@code{nil}, inhibits the startup screen. In
|
||||
that case, Emacs typically displays the @samp{*scratch*} buffer; but
|
||||
that case, Emacs typically displays the @file{*scratch*} buffer; but
|
||||
see @code{initial-buffer-choice}, below.
|
||||
|
||||
Do not set this variable in the init file of a new user, or in a way
|
||||
|
|
@ -274,7 +273,7 @@ startup screen.
|
|||
@ignore
|
||||
@c I do not think this should be mentioned. AFAICS it is just a dodge
|
||||
@c around inhibit-startup-screen not being settable on a site-wide basis.
|
||||
If its value is @code{t}, Emacs displays the @samp{*scratch*} buffer.
|
||||
If its value is @code{t}, Emacs displays the @file{*scratch*} buffer.
|
||||
@end ignore
|
||||
@end defopt
|
||||
|
||||
|
|
@ -290,17 +289,17 @@ form to your init file:
|
|||
|
||||
Emacs explicitly checks for an expression as shown above in your init
|
||||
file; your login name must appear in the expression as a Lisp string
|
||||
constant. You can also use the Custom interface. Other methods of setting
|
||||
@code{inhibit-startup-echo-area-message} to the same value do not
|
||||
inhibit the startup message. This way, you can easily inhibit the
|
||||
constant. You can also use the Customize interface. Other methods of
|
||||
setting @code{inhibit-startup-echo-area-message} to the same value do
|
||||
not inhibit the startup message. This way, you can easily inhibit the
|
||||
message for yourself if you wish, but thoughtless copying of your init
|
||||
file will not inhibit the message for someone else.
|
||||
@end defopt
|
||||
|
||||
@defopt initial-scratch-message
|
||||
This variable, if non-@code{nil}, should be a string, which is
|
||||
inserted into the @samp{*scratch*} buffer when Emacs starts up. If it
|
||||
is @code{nil}, the @samp{*scratch*} buffer is empty.
|
||||
inserted into the @file{*scratch*} buffer when Emacs starts up. If it
|
||||
is @code{nil}, the @file{*scratch*} buffer is empty.
|
||||
@end defopt
|
||||
|
||||
@noindent
|
||||
|
|
@ -352,8 +351,8 @@ control whether and where to find the init file; @samp{-q} (and the
|
|||
stronger @samp{-Q}) says not to load an init file, while @samp{-u
|
||||
@var{user}} says to load @var{user}'s init file instead of yours.
|
||||
@xref{Entering Emacs,,, emacs, The GNU Emacs Manual}. If neither
|
||||
option is specified, Emacs uses the @code{LOGNAME} environment
|
||||
variable, or the @code{USER} (most systems) or @code{USERNAME} (MS
|
||||
option is specified, Emacs uses the @env{LOGNAME} environment
|
||||
variable, or the @env{USER} (most systems) or @env{USERNAME} (MS
|
||||
systems) variable, to find your home directory and thus your init
|
||||
file; this way, even if you have su'd, Emacs still loads your own init
|
||||
file. If those environment variables are absent, though, Emacs uses
|
||||
|
|
@ -430,7 +429,7 @@ This variable holds the name of the @file{.emacs.d} directory. It is
|
|||
Each terminal type can have its own Lisp library that Emacs loads when
|
||||
run on that type of terminal. The library's name is constructed by
|
||||
concatenating the value of the variable @code{term-file-prefix} and the
|
||||
terminal type (specified by the environment variable @code{TERM}).
|
||||
terminal type (specified by the environment variable @env{TERM}).
|
||||
Normally, @code{term-file-prefix} has the value
|
||||
@code{"term/"}; changing this is not recommended. Emacs finds the file
|
||||
in the normal manner, by searching the @code{load-path} directories, and
|
||||
|
|
@ -468,7 +467,7 @@ use this hook to define initializations for terminals that do not
|
|||
have their own libraries. @xref{Hooks}.
|
||||
|
||||
@defvar term-file-prefix
|
||||
@cindex @code{TERM} environment variable
|
||||
@cindex @env{TERM} environment variable
|
||||
If the value of this variable is non-@code{nil}, Emacs loads a
|
||||
terminal-specific initialization file as follows:
|
||||
|
||||
|
|
@ -481,7 +480,7 @@ You may set the @code{term-file-prefix} variable to @code{nil} in your
|
|||
init file if you do not wish to load the
|
||||
terminal-initialization file.
|
||||
|
||||
On MS-DOS, Emacs sets the @code{TERM} environment variable to @samp{internal}.
|
||||
On MS-DOS, Emacs sets the @env{TERM} environment variable to @samp{internal}.
|
||||
@end defvar
|
||||
|
||||
@defvar term-setup-hook
|
||||
|
|
@ -1010,7 +1009,7 @@ value is @code{":"} for Unix and GNU systems, and @code{";"} for MS systems.
|
|||
|
||||
@defun parse-colon-path path
|
||||
This function takes a search path string such as the value of
|
||||
the @code{PATH} environment variable, and splits it at the separators,
|
||||
the @env{PATH} environment variable, and splits it at the separators,
|
||||
returning a list of directory names. @code{nil} in this list means
|
||||
the current directory. Although the function's name says
|
||||
``colon'', it actually uses the value of @code{path-separator}.
|
||||
|
|
@ -1113,7 +1112,7 @@ want to use the default value.
|
|||
|
||||
@defun user-login-name &optional uid
|
||||
This function returns the name under which the user is logged in.
|
||||
It uses the environment variables @code{LOGNAME} or @code{USER} if
|
||||
It uses the environment variables @env{LOGNAME} or @env{USER} if
|
||||
either is set. Otherwise, the value is based on the effective
|
||||
@acronym{UID}, not the real @acronym{UID}.
|
||||
|
||||
|
|
@ -1124,12 +1123,12 @@ corresponds to @var{uid}, or @code{nil} if there is no such user.
|
|||
@defun user-real-login-name
|
||||
This function returns the user name corresponding to Emacs's real
|
||||
@acronym{UID}. This ignores the effective @acronym{UID}, and the
|
||||
environment variables @code{LOGNAME} and @code{USER}.
|
||||
environment variables @env{LOGNAME} and @env{USER}.
|
||||
@end defun
|
||||
|
||||
@defun user-full-name &optional uid
|
||||
This function returns the full name of the logged-in user---or the value
|
||||
of the environment variable @code{NAME}, if that is set.
|
||||
of the environment variable @env{NAME}, if that is set.
|
||||
|
||||
If the Emacs process's user-id does not correspond to any known user (and
|
||||
provided @code{NAME} is not set), the result is @code{"unknown"}.
|
||||
|
|
@ -1249,9 +1248,9 @@ The argument @var{time-value}, if given, specifies a time (represented
|
|||
as a list of integers) to analyze instead of the current time.
|
||||
@end defun
|
||||
|
||||
The current time zone is determined by the @samp{TZ} environment
|
||||
The current time zone is determined by the @env{TZ} environment
|
||||
variable. @xref{System Environment}. For example, you can tell Emacs
|
||||
to use universal time with @code{(setenv "TZ" "UTC0")}. If @samp{TZ}
|
||||
to use universal time with @code{(setenv "TZ" "UTC0")}. If @env{TZ}
|
||||
is not in the environment, Emacs uses a platform-dependent default
|
||||
time zone.
|
||||
|
||||
|
|
@ -1325,7 +1324,7 @@ yourself before you call @code{encode-time}.
|
|||
The optional argument @var{zone} defaults to the current time zone and
|
||||
its daylight saving time rules. If specified, it can be either a list
|
||||
(as you would get from @code{current-time-zone}), a string as in the
|
||||
@code{TZ} environment variable, @code{t} for Universal Time, or an
|
||||
@env{TZ} environment variable, @code{t} for Universal Time, or an
|
||||
integer (as you would get from @code{decode-time}). The specified
|
||||
zone is used without any further alteration for daylight saving time.
|
||||
|
||||
|
|
@ -2233,7 +2232,7 @@ non-@code{nil}, Emacs tells the session manager to cancel the
|
|||
shutdown.
|
||||
@end defvar
|
||||
|
||||
Here is an example that just inserts some text into @samp{*scratch*} when
|
||||
Here is an example that just inserts some text into @file{*scratch*} when
|
||||
Emacs is restarted by the session manager.
|
||||
|
||||
@example
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
@c -*-texinfo-*-
|
||||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 2010-2012 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 2010-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/package
|
||||
@node Packaging, Antinews, System Interface, Top
|
||||
@chapter Preparing Lisp code for distribution
|
||||
@cindex package
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
@c -*-texinfo-*-
|
||||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/positions
|
||||
@node Positions, Markers, Frames, Top
|
||||
@chapter Positions
|
||||
@cindex position (in buffer)
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -3,7 +3,6 @@
|
|||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/searching
|
||||
@node Searching and Matching, Syntax Tables, Non-ASCII Characters, Top
|
||||
@chapter Searching and Matching
|
||||
@cindex searching
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/sequences
|
||||
@node Sequences Arrays Vectors, Hash Tables, Lists, Top
|
||||
@chapter Sequences, Arrays, and Vectors
|
||||
@cindex sequence
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
@c -*-texinfo-*-
|
||||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1994, 1998-1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 1990-1994, 1998-1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/streams
|
||||
@node Read and Print, Minibuffers, Debugging, Top
|
||||
@comment node-name, next, previous, up
|
||||
@chapter Reading and Printing Lisp Objects
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/strings
|
||||
@node Strings and Characters, Lists, Numbers, Top
|
||||
@comment node-name, next, previous, up
|
||||
@chapter Strings and Characters
|
||||
|
|
@ -1117,7 +1116,7 @@ Exits}).
|
|||
@acronym{ASCII} characters; for example, in the Turkish language
|
||||
environment, the @acronym{ASCII} character @samp{I} is downcased into
|
||||
a Turkish ``dotless i''. This can interfere with code that requires
|
||||
ordinary ASCII case conversion, such as implementations of
|
||||
ordinary @acronym{ASCII} case conversion, such as implementations of
|
||||
@acronym{ASCII}-based network protocols. In that case, use the
|
||||
@code{with-case-table} macro with the variable @var{ascii-case-table},
|
||||
which stores the unmodified case table for the @acronym{ASCII}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
@c -*-texinfo-*-
|
||||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/symbols
|
||||
@node Symbols, Evaluation, Hash Tables, Top
|
||||
@chapter Symbols
|
||||
@cindex symbol
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
@c Copyright (C) 1990-1995, 1998-1999, 2001-2012
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/syntax
|
||||
@node Syntax Tables, Abbrevs, Searching and Matching, Top
|
||||
@chapter Syntax Tables
|
||||
@cindex parsing buffer text
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
@c -*-texinfo-*-
|
||||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
|
||||
@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/text
|
||||
@node Text, Non-ASCII Characters, Markers, Top
|
||||
@chapter Text
|
||||
@cindex text
|
||||
|
|
@ -4345,7 +4344,7 @@ changed text, its length is simply the difference between the first two
|
|||
arguments.
|
||||
@end defvar
|
||||
|
||||
Output of messages into the @samp{*Messages*} buffer does not
|
||||
Output of messages into the @file{*Messages*} buffer does not
|
||||
call these functions.
|
||||
|
||||
@defmac combine-after-change-calls body@dots{}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,6 @@
|
|||
@c Copyright (C) 1990-1993, 1995, 1998-1999, 2001-2012
|
||||
@c Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/tips
|
||||
@node Tips, GNU Emacs Internals, GPL, Top
|
||||
@appendix Tips and Conventions
|
||||
@cindex tips for writing Lisp
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
@c This is part of the GNU Emacs Lisp Reference Manual.
|
||||
@c Copyright (C) 1990-1995, 1998-2012 Free Software Foundation, Inc.
|
||||
@c See the file elisp.texi for copying conditions.
|
||||
@setfilename ../../info/variables
|
||||
@node Variables, Functions, Control Structures, Top
|
||||
@chapter Variables
|
||||
@cindex variable
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@ Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}.
|
|||
* Functions:: A function is a Lisp program
|
||||
that can be invoked from other functions.
|
||||
* Macros:: Macros are a way to extend the Lisp language.
|
||||
* Customization:: Writing customization declarations.
|
||||
* Customization:: Making variables and faces customizable.
|
||||
|
||||
* Loading:: Reading files of Lisp code into Lisp.
|
||||
* Byte Compilation:: Compilation makes programs run faster.
|
||||
|
|
@ -520,6 +520,8 @@ Writing Customization Definitions
|
|||
* Group Definitions:: Writing customization group definitions.
|
||||
* Variable Definitions:: Declaring user options.
|
||||
* Customization Types:: Specifying the type of a user option.
|
||||
* Applying Customizations:: Functions to apply customization settings.
|
||||
* Custom Themes:: Writing Custom themes.
|
||||
|
||||
Customization Types
|
||||
|
||||
|
|
@ -656,8 +658,8 @@ Minibuffers
|
|||
* Multiple Queries:: Asking a series of similar questions.
|
||||
* Reading a Password:: Reading a password from the terminal.
|
||||
* Minibuffer Commands:: Commands used as key bindings in minibuffers.
|
||||
* Minibuffer Contents:: How such commands access the minibuffer text.
|
||||
* Minibuffer Windows:: Operating on the special minibuffer windows.
|
||||
* Minibuffer Contents:: How such commands access the minibuffer text.
|
||||
* Recursive Mini:: Whether recursive entry to minibuffer is allowed.
|
||||
* Minibuffer Misc:: Various customization hooks and variables.
|
||||
|
||||
|
|
@ -668,7 +670,7 @@ Completion
|
|||
* Minibuffer Completion:: Invoking the minibuffer with completion.
|
||||
* Completion Commands:: Minibuffer commands that do completion.
|
||||
* High-Level Completion:: Convenient special cases of completion
|
||||
(reading buffer name, file name, etc.).
|
||||
(reading buffer names, variable names, etc.).
|
||||
* Reading File Names:: Using completion to read file names and
|
||||
shell commands.
|
||||
* Completion Variables:: Variables controlling completion behavior.
|
||||
|
|
@ -1317,7 +1319,7 @@ Overlays
|
|||
|
||||
Faces
|
||||
|
||||
* Defining Faces:: How to define a face with @code{defface}.
|
||||
* Defining Faces:: How to define a face.
|
||||
* Face Attributes:: What is in a face?
|
||||
* Attribute Functions:: Functions to examine and set face attributes.
|
||||
* Displaying Faces:: How Emacs combines the faces specified for
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue