1
Fork 0
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:
Paul Eggert 2012-04-21 17:53:32 -07:00
commit bbd347f5f7
310 changed files with 12242 additions and 3455 deletions

View file

@ -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.

View file

@ -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

View file

@ -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 \

View file

@ -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:

View file

@ -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

View file

@ -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.")

View file

@ -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

View file

@ -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
View file

@ -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])

View file

@ -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

File diff suppressed because it is too large Load diff

View file

@ -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)

View file

@ -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.

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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.

View file

@ -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}.

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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.

View file

@ -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.

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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.

View file

@ -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

View file

@ -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}).

View file

@ -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.

View file

@ -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.

View file

@ -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}.

View file

@ -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

View file

@ -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.

View file

@ -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.

View file

@ -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.

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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.

View file

@ -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

View file

@ -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.

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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.

View file

@ -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

View file

@ -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

View file

@ -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}.

View file

@ -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

View file

@ -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}.

View file

@ -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

View file

@ -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

View file

@ -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.

View file

@ -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.

View file

@ -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

View file

@ -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

View file

@ -1,5 +1,4 @@
@c -*-texinfo-*-
@setfilename ../../info/gpl
@node GPL, Tips, GNU Free Documentation License, Top
@comment node-name, next, previous, up

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -1,5 +1,4 @@
@c -*-texinfo-*-
@setfilename ../../info/index
@c Indexing guidelines

View file

@ -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

View file

@ -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.

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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}.

View file

@ -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

View file

@ -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

View file

@ -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.

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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}

View file

@ -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

View file

@ -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

View file

@ -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{}

View file

@ -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

View file

@ -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

View file

@ -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