Commit 0f5860c1 authored by Paul Eggert's avatar Paul Eggert

Merge from trunk.

parents 3d29b229 54806e45
2011-07-09 Paul Eggert <eggert@cs.ucla.edu>
* lib/stdint.in.h: Merge from gnulib (Bug#9025).
This fixes a build problem on older Mac OS X hosts.
* m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Omit gl_THREADLIB
test, which runs afoul of Automake installations where, for example,
/usr/share/aclocal contains a copy of gl_THREADLIB.
Problem reported by Sven Joachim in
<http://lists.gnu.org/archive/html/emacs-devel/2011-07/msg00529.html>.
This is just a quick temporary fix, specific to Emacs; I'll work
with the other gnulib maintainers to get a more-permanent fix.
Add gnulib's strtoimax module, needed on Solaris 8.
* Makefile.in (GNULIB_MODULES): Add strtoimax.
* lib/strtoll.c, m4/strtoimax.m4, m4/strtoll.m4: New files,
......
......@@ -24,7 +24,7 @@
# the same distribution terms as the rest of that program.
#
# Generated by gnulib-tool.
# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=. --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt careadlinkat crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dup2 filemode getloadavg getopt-gnu ignore-value intprops lstat mktime readlink socklen stdarg stdio strftime strtoumax symlink sys_stat
# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=. --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt 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
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
......@@ -59,14 +59,18 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
$(top_srcdir)/m4/include_next.m4 $(top_srcdir)/m4/inttypes.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/readlink.m4 \
$(top_srcdir)/m4/sha1.m4 $(top_srcdir)/m4/sha256.m4 \
$(top_srcdir)/m4/sha512.m4 $(top_srcdir)/m4/socklen.m4 \
$(top_srcdir)/m4/multiarch.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 \
$(top_srcdir)/m4/signal_h.m4 \
$(top_srcdir)/m4/signalblocking.m4 $(top_srcdir)/m4/socklen.m4 \
$(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/st_dm_mode.m4 \
$(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdarg.m4 \
$(top_srcdir)/m4/stdbool.m4 $(top_srcdir)/m4/stddef_h.m4 \
$(top_srcdir)/m4/stdint.m4 $(top_srcdir)/m4/stdio_h.m4 \
$(top_srcdir)/m4/stdlib_h.m4 $(top_srcdir)/m4/strftime.m4 \
$(top_srcdir)/m4/strtoimax.m4 $(top_srcdir)/m4/strtoll.m4 \
$(top_srcdir)/m4/strtoull.m4 $(top_srcdir)/m4/strtoumax.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 \
......@@ -244,6 +248,7 @@ GNULIB_POPEN = @GNULIB_POPEN@
GNULIB_PREAD = @GNULIB_PREAD@
GNULIB_PRINTF = @GNULIB_PRINTF@
GNULIB_PRINTF_POSIX = @GNULIB_PRINTF_POSIX@
GNULIB_PTHREAD_SIGMASK = @GNULIB_PTHREAD_SIGMASK@
GNULIB_PTSNAME = @GNULIB_PTSNAME@
GNULIB_PUTC = @GNULIB_PUTC@
GNULIB_PUTCHAR = @GNULIB_PUTCHAR@
......@@ -263,6 +268,9 @@ GNULIB_RMDIR = @GNULIB_RMDIR@
GNULIB_RPMATCH = @GNULIB_RPMATCH@
GNULIB_SCANF = @GNULIB_SCANF@
GNULIB_SETENV = @GNULIB_SETENV@
GNULIB_SIGACTION = @GNULIB_SIGACTION@
GNULIB_SIGNAL_H_SIGPIPE = @GNULIB_SIGNAL_H_SIGPIPE@
GNULIB_SIGPROCMASK = @GNULIB_SIGPROCMASK@
GNULIB_SLEEP = @GNULIB_SLEEP@
GNULIB_SNPRINTF = @GNULIB_SNPRINTF@
GNULIB_SPRINTF_POSIX = @GNULIB_SPRINTF_POSIX@
......@@ -384,7 +392,9 @@ HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
HAVE_OS_H = @HAVE_OS_H@
HAVE_PIPE = @HAVE_PIPE@
HAVE_PIPE2 = @HAVE_PIPE2@
HAVE_POSIX_SIGNALBLOCKING = @HAVE_POSIX_SIGNALBLOCKING@
HAVE_PREAD = @HAVE_PREAD@
HAVE_PTHREAD_SIGMASK = @HAVE_PTHREAD_SIGMASK@
HAVE_PTSNAME = @HAVE_PTSNAME@
HAVE_PWRITE = @HAVE_PWRITE@
HAVE_RANDOM_H = @HAVE_RANDOM_H@
......@@ -395,9 +405,13 @@ HAVE_REALPATH = @HAVE_REALPATH@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_RPMATCH = @HAVE_RPMATCH@
HAVE_SETENV = @HAVE_SETENV@
HAVE_SIGACTION = @HAVE_SIGACTION@
HAVE_SIGHANDLER_T = @HAVE_SIGHANDLER_T@
HAVE_SIGINFO_T = @HAVE_SIGINFO_T@
HAVE_SIGNED_SIG_ATOMIC_T = @HAVE_SIGNED_SIG_ATOMIC_T@
HAVE_SIGNED_WCHAR_T = @HAVE_SIGNED_WCHAR_T@
HAVE_SIGNED_WINT_T = @HAVE_SIGNED_WINT_T@
HAVE_SIGSET_T = @HAVE_SIGSET_T@
HAVE_SLEEP = @HAVE_SLEEP@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STRPTIME = @HAVE_STRPTIME@
......@@ -405,6 +419,7 @@ HAVE_STRTOD = @HAVE_STRTOD@
HAVE_STRTOLL = @HAVE_STRTOLL@
HAVE_STRTOULL = @HAVE_STRTOULL@
HAVE_STRUCT_RANDOM_DATA = @HAVE_STRUCT_RANDOM_DATA@
HAVE_STRUCT_SIGACTION_SA_SIGACTION = @HAVE_STRUCT_SIGACTION_SA_SIGACTION@
HAVE_SYMLINK = @HAVE_SYMLINK@
HAVE_SYMLINKAT = @HAVE_SYMLINKAT@
HAVE_SYS_BITYPES_H = @HAVE_SYS_BITYPES_H@
......@@ -413,6 +428,7 @@ HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
HAVE_SYS_TYPES_H = @HAVE_SYS_TYPES_H@
HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
HAVE_UNISTD_H = @HAVE_UNISTD_H@
HAVE_UNLINKAT = @HAVE_UNLINKAT@
HAVE_UNLOCKPT = @HAVE_UNLOCKPT@
......@@ -479,6 +495,7 @@ LIBXT_OTHER = @LIBXT_OTHER@
LIBX_OTHER = @LIBX_OTHER@
LIB_GCC = @LIB_GCC@
LIB_MATH = @LIB_MATH@
LIB_PTHREAD_SIGMASK = @LIB_PTHREAD_SIGMASK@
LIB_STANDARD = @LIB_STANDARD@
LTLIBINTL = @LTLIBINTL@
LTLIBOBJS = @LTLIBOBJS@
......@@ -491,6 +508,7 @@ MKDIR_P = @MKDIR_P@
M_FILE = @M_FILE@
NEXT_AS_FIRST_DIRECTIVE_GETOPT_H = @NEXT_AS_FIRST_DIRECTIVE_GETOPT_H@
NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
NEXT_AS_FIRST_DIRECTIVE_STDARG_H = @NEXT_AS_FIRST_DIRECTIVE_STDARG_H@
NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
......@@ -501,6 +519,7 @@ NEXT_AS_FIRST_DIRECTIVE_TIME_H = @NEXT_AS_FIRST_DIRECTIVE_TIME_H@
NEXT_AS_FIRST_DIRECTIVE_UNISTD_H = @NEXT_AS_FIRST_DIRECTIVE_UNISTD_H@
NEXT_GETOPT_H = @NEXT_GETOPT_H@
NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
NEXT_STDARG_H = @NEXT_STDARG_H@
NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
......@@ -584,6 +603,7 @@ REPLACE_PERROR = @REPLACE_PERROR@
REPLACE_POPEN = @REPLACE_POPEN@
REPLACE_PREAD = @REPLACE_PREAD@
REPLACE_PRINTF = @REPLACE_PRINTF@
REPLACE_PTHREAD_SIGMASK = @REPLACE_PTHREAD_SIGMASK@
REPLACE_PUTENV = @REPLACE_PUTENV@
REPLACE_PWRITE = @REPLACE_PWRITE@
REPLACE_READ = @REPLACE_READ@
......@@ -739,25 +759,29 @@ x_default_search_path = @x_default_search_path@
# present in all Makefile.am that need it. This is ensured by the applicability
# 'all' defined above.
BUILT_SOURCES = $(ALLOCA_H) arg-nonnull.h c++defs.h $(GETOPT_H) \
inttypes.h $(STDARG_H) $(STDBOOL_H) $(STDDEF_H) $(STDINT_H) \
stdio.h stdlib.h sys/stat.h time.h unistd.h warn-on-use.h
inttypes.h signal.h $(STDARG_H) $(STDBOOL_H) $(STDDEF_H) \
$(STDINT_H) stdio.h stdlib.h sys/stat.h time.h unistd.h \
warn-on-use.h
EXTRA_DIST = alloca.in.h allocator.h $(top_srcdir)/./arg-nonnull.h \
$(top_srcdir)/./c++defs.h careadlinkat.h md5.h sha1.h sha256.h \
sha512.h dosname.h ftoastr.c ftoastr.h dup2.c filemode.h \
getloadavg.c getopt.c getopt.in.h getopt1.c getopt_int.h \
ignore-value.h intprops.h inttypes.in.h lstat.c \
mktime-internal.h mktime.c readlink.c stat.c stdarg.in.h \
stdbool.in.h stddef.in.h stdint.in.h stdio.in.h stdlib.in.h \
strftime.h strtol.c strtoul.c strtoull.c strtoimax.c \
strtoumax.c symlink.c sys_stat.in.h time.in.h time_r.c u64.h \
unistd.in.h verify.h $(top_srcdir)/./warn-on-use.h
mktime-internal.h mktime.c pthread_sigmask.c readlink.c \
signal.in.h sigprocmask.c stat.c stdarg.in.h stdbool.in.h \
stddef.in.h stdint.in.h stdio.in.h stdlib.in.h strftime.h \
strtoimax.c strtol.c strtoll.c strtol.c strtoul.c strtoull.c \
strtoimax.c strtoumax.c symlink.c sys_stat.in.h time.in.h \
time_r.c u64.h unistd.in.h verify.h \
$(top_srcdir)/./warn-on-use.h
MOSTLYCLEANDIRS = sys
MOSTLYCLEANFILES = core *.stackdump alloca.h alloca.h-t arg-nonnull.h \
arg-nonnull.h-t c++defs.h c++defs.h-t getopt.h getopt.h-t \
inttypes.h inttypes.h-t stdarg.h stdarg.h-t stdbool.h \
stdbool.h-t stddef.h stddef.h-t stdint.h stdint.h-t stdio.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 warn-on-use.h warn-on-use.h-t
inttypes.h inttypes.h-t signal.h signal.h-t stdarg.h \
stdarg.h-t stdbool.h stdbool.h-t stddef.h stddef.h-t stdint.h \
stdint.h-t stdio.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 warn-on-use.h \
warn-on-use.h-t
noinst_LIBRARIES = libgnu.a
DEFAULT_INCLUDES = -I. -I../src -I$(top_srcdir)/src
libgnu_a_SOURCES = allocator.c careadlinkat.c md5.c sha1.c sha256.c \
......@@ -765,7 +789,8 @@ libgnu_a_SOURCES = allocator.c careadlinkat.c md5.c sha1.c sha256.c \
libgnu_a_LIBADD = $(gl_LIBOBJS)
libgnu_a_DEPENDENCIES = $(gl_LIBOBJS)
EXTRA_libgnu_a_SOURCES = ftoastr.c dup2.c getloadavg.c getopt.c \
getopt1.c lstat.c mktime.c readlink.c stat.c strtol.c \
getopt1.c lstat.c mktime.c pthread_sigmask.c readlink.c \
sigprocmask.c stat.c strtoimax.c strtol.c strtoll.c strtol.c \
strtoul.c strtoull.c strtoimax.c strtoumax.c symlink.c \
time_r.c
ARG_NONNULL_H = arg-nonnull.h
......@@ -832,14 +857,17 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/lstat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/md5.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mktime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pthread_sigmask.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readlink.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha256.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sha512.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sigprocmask.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strftime.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoimax.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtol.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoll.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoul.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoull.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoumax.Po@am__quote@
......@@ -1137,6 +1165,36 @@ inttypes.h: inttypes.in.h $(top_builddir)/config.status $(WARN_ON_USE_H) $(ARG_N
} > $@-t && \
mv $@-t $@
# We need the following in order to create <signal.h> when the system
# doesn't have a complete one.
signal.h: signal.in.h $(top_builddir)/config.status $(CXXDEFS_H) $(ARG_NONNULL_H) $(WARN_ON_USE_H)
$(AM_V_GEN)rm -f $@-t $@ && \
{ echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */' && \
sed -e 's|@''GUARD_PREFIX''@|GL|g' \
-e 's|@''INCLUDE_NEXT''@|$(INCLUDE_NEXT)|g' \
-e 's|@''PRAGMA_SYSTEM_HEADER''@|@PRAGMA_SYSTEM_HEADER@|g' \
-e 's|@''PRAGMA_COLUMNS''@|@PRAGMA_COLUMNS@|g' \
-e 's|@''NEXT_SIGNAL_H''@|$(NEXT_SIGNAL_H)|g' \
-e 's|@''GNULIB_PTHREAD_SIGMASK''@|$(GNULIB_PTHREAD_SIGMASK)|g' \
-e 's/@''GNULIB_SIGNAL_H_SIGPIPE''@/$(GNULIB_SIGNAL_H_SIGPIPE)/g' \
-e 's/@''GNULIB_SIGPROCMASK''@/$(GNULIB_SIGPROCMASK)/g' \
-e 's/@''GNULIB_SIGACTION''@/$(GNULIB_SIGACTION)/g' \
-e 's|@''HAVE_POSIX_SIGNALBLOCKING''@|$(HAVE_POSIX_SIGNALBLOCKING)|g' \
-e 's|@''HAVE_PTHREAD_SIGMASK''@|$(HAVE_PTHREAD_SIGMASK)|g' \
-e 's|@''HAVE_SIGSET_T''@|$(HAVE_SIGSET_T)|g' \
-e 's|@''HAVE_SIGINFO_T''@|$(HAVE_SIGINFO_T)|g' \
-e 's|@''HAVE_SIGACTION''@|$(HAVE_SIGACTION)|g' \
-e 's|@''HAVE_STRUCT_SIGACTION_SA_SIGACTION''@|$(HAVE_STRUCT_SIGACTION_SA_SIGACTION)|g' \
-e 's|@''HAVE_TYPE_VOLATILE_SIG_ATOMIC_T''@|$(HAVE_TYPE_VOLATILE_SIG_ATOMIC_T)|g' \
-e 's|@''HAVE_SIGHANDLER_T''@|$(HAVE_SIGHANDLER_T)|g' \
-e 's|@''REPLACE_PTHREAD_SIGMASK''@|$(REPLACE_PTHREAD_SIGMASK)|g' \
-e '/definitions of _GL_FUNCDECL_RPL/r $(CXXDEFS_H)' \
-e '/definition of _GL_ARG_NONNULL/r $(ARG_NONNULL_H)' \
-e '/definition of _GL_WARN_ON_USE/r $(WARN_ON_USE_H)' \
< $(srcdir)/signal.in.h; \
} > $@-t && \
mv $@-t $@
# We need the following in order to create <stdarg.h> when the system
# doesn't have one that works with the given compiler.
@GL_GENERATE_STDARG_H_TRUE@stdarg.h: stdarg.in.h $(top_builddir)/config.status
......
......@@ -1001,10 +1001,13 @@ m4_include([m4/lstat.m4])
m4_include([m4/md5.m4])
m4_include([m4/mktime.m4])
m4_include([m4/multiarch.m4])
m4_include([m4/pthread_sigmask.m4])
m4_include([m4/readlink.m4])
m4_include([m4/sha1.m4])
m4_include([m4/sha256.m4])
m4_include([m4/sha512.m4])
m4_include([m4/signal_h.m4])
m4_include([m4/signalblocking.m4])
m4_include([m4/socklen.m4])
m4_include([m4/ssize_t.m4])
m4_include([m4/st_dm_mode.m4])
......@@ -1016,6 +1019,8 @@ m4_include([m4/stdint.m4])
m4_include([m4/stdio_h.m4])
m4_include([m4/stdlib_h.m4])
m4_include([m4/strftime.m4])
m4_include([m4/strtoimax.m4])
m4_include([m4/strtoll.m4])
m4_include([m4/strtoull.m4])
m4_include([m4/strtoumax.m4])
m4_include([m4/symlink.m4])
......
......@@ -160,6 +160,14 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
don't. */
#undef HAVE_DECL_STRMODE
/* Define to 1 if you have the declaration of `strtoimax', and to 0 if you
don't. */
#undef HAVE_DECL_STRTOIMAX
/* Define to 1 if you have the declaration of `strtoll', and to 0 if you
don't. */
#undef HAVE_DECL_STRTOLL
/* Define to 1 if you have the declaration of `strtoull', and to 0 if you
don't. */
#undef HAVE_DECL_STRTOULL
......@@ -592,6 +600,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the <pthread.h> header file. */
#undef HAVE_PTHREAD_H
/* Define to 1 if you have the `pthread_sigmask' function. */
#undef HAVE_PTHREAD_SIGMASK
/* Define to 1 if you have the <pty.h> header file. */
#undef HAVE_PTY_H
......@@ -661,6 +672,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if 'wint_t' is a signed integer type. */
#undef HAVE_SIGNED_WINT_T
/* Define to 1 if the system has the type `sigset_t'. */
#undef HAVE_SIGSET_T
/* Define to 1 if you have sound support. */
#undef HAVE_SOUND
......@@ -697,6 +711,12 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
/* Define to 1 if you have the `strsignal' function. */
#undef HAVE_STRSIGNAL
/* Define to 1 if you have the `strtoimax' function. */
#undef HAVE_STRTOIMAX
/* Define to 1 if you have the `strtoll' function. */
#undef HAVE_STRTOLL
/* Define to 1 if you have the `strtoull' function. */
#undef HAVE_STRTOULL
......
This diff is collapsed.
2011-07-10 Chong Yidong <cyd@stupidchicken.com>
* misc.texi (Amusements): Don't mention Yow; it's crippled.
* modes.texi: Rename from major.texi.
(Modes): New node. Make Major Modes and Minor Modes subsections
of this. All callers changed.
* custom.texi (Minor Modes): Move to modes.texi.
2011-07-10 Chong Yidong <cyd@stupidchicken.com>
* custom.texi (Syntax): Node deleted.
* help.texi (Help Summary):
* major.texi (Major Modes):
* programs.texi (Parentheses):
* search.texi (Regexp Backslash, Regexp Backslash)
(Regexp Backslash):
* text.texi (Words): Callers changed.
* text.texi (Refill, Longlines): Delete nodes.
* ack.texi (Acknowledgments): Longlines removed from manual.
* emacs.texi (Top): Update node listing.
2011-07-09 Glenn Morris <rgm@gnu.org>
* fortran-xtra.texi (Fortran): Update handled extensions.
......
......@@ -84,7 +84,7 @@ EMACSSOURCES= \
${srcdir}/windows.texi \
${srcdir}/frames.texi \
${srcdir}/mule.texi \
${srcdir}/major.texi \
${srcdir}/modes.texi \
${srcdir}/indent.texi \
${srcdir}/text.texi \
${srcdir}/programs.texi \
......
......@@ -190,9 +190,7 @@ prior to Emacs 23 for Mac OS.
@item
Chong Yidong was the Emacs co-maintainer for Emacs 23. He made many
improvements to the Emacs display engine; and, together with Kai
Großjohann and Alex Schroeder, wrote @file{longlines.el}, a minor
mode for wrapping long lines.
improvements to the Emacs display engine.
@item
James Clark wrote SGML mode, a mode for editing SGML documents; and
......@@ -689,14 +687,12 @@ the current window on which point is; @file{cap-words.el}, a minor mode
for motion in ``CapitalizedWordIdentifiers''; @file{latin1-disp.el}, a
package that lets you display ISO 8859 characters on Latin-1 terminals
by setting up appropriate display tables; @file{python.el}, a major mode
for the Python programming language; @file{refill.el}, a mode for
automatic paragraph refilling, akin to typical word processors;
@file{smiley.el}, a facility for displaying smiley faces;
@file{sym-comp.el}, a library for performing mode-dependent symbol
completion; @file{benchmark.el} for timing code execution; and
@file{tool-bar.el}, a mode to control the display of the Emacs tool bar.
With Riccardo Murri he wrote @file{vc-bzr.el}, support for the Bazaar
version control system.
for the Python programming language; @file{smiley.el}, a facility for
displaying smiley faces; @file{sym-comp.el}, a library for performing
mode-dependent symbol completion; @file{benchmark.el} for timing code
execution; and @file{tool-bar.el}, a mode to control the display of
the Emacs tool bar. With Riccardo Murri he wrote @file{vc-bzr.el},
support for the Bazaar version control system.
@item
Eric Ludlam wrote the Speedbar package; @file{checkdoc.el}, for checking
......
......@@ -23,169 +23,16 @@ Reference Manual}.
@end ifnottex
@menu
* Minor Modes:: Each minor mode is a feature you can turn on
independently of any others.
* Easy Customization:: Convenient way to browse and change settings.
* Variables:: Many Emacs commands examine Emacs variables
to decide what to do; by setting variables,
you can control their functioning.
* Key Bindings:: The keymaps say what command each key runs.
By changing them, you can "redefine keys".
* Syntax:: The syntax table controls how words and
expressions are parsed.
* Init File:: How to write common customizations in the
@file{.emacs} file.
@end menu
@node Minor Modes
@section Minor Modes
@cindex minor modes
@cindex mode, minor
Minor modes are optional features which you can turn on or off. For
example, Auto Fill mode is a minor mode in which @key{SPC} breaks
lines between words as you type. Minor modes are independent of one
another and of the selected major mode. Most minor modes say in the
mode line when they are enabled; for example, @samp{Fill} in the mode
line means that Auto Fill mode is enabled.
Each minor mode is associated with a command, called the @dfn{mode
command}, which turns it on or off. The name of this command consists
of the name of the minor mode, followed by @samp{-mode}; for instance,
the mode command for Auto Fill mode is @code{auto-fill-mode}. Calling
the minor mode command with no prefix argument @dfn{toggles} the mode,
turning it on if it was off, and off if it was on. A positive
argument always turns the mode on, and a zero or negative argument
always turns it off. Mode commands are usually invoked with
@kbd{M-x}, but you can bind keys to them if you wish (@pxref{Key
Bindings}).
Most minor modes also have a @dfn{mode variable}, with the same name
as the mode command. Its value is non-@code{nil} if the mode is
enabled, and @code{nil} if it is disabled. In some minor modes---but
not all---the value of the variable alone determines whether the mode
is active: the mode command works simply by setting the variable, and
changing the value of the variable has the same effect as calling the
mode command. Because not all minor modes work this way, we recommend
that you avoid changing the mode variables directly; use the mode
commands instead.
Some minor modes are @dfn{buffer-local}: they apply only to the
current buffer, so you can enable the mode in certain buffers and not
others. Other minor modes are @dfn{global}: while enabled, they
affect everything you do in the Emacs session, in all buffers. Some
global minor modes are enabled by default.
The following is a list of some buffer-local minor modes:
@itemize @bullet
@item
Abbrev mode automatically expands text based on pre-defined
abbreviation definitions. @xref{Abbrevs}.
@item
Auto Fill mode inserts newlines as you type to prevent lines from
becoming too long. @xref{Filling}.
@item
Auto Save mode saves the buffer contents periodically to reduce the
amount of work you can lose in case of a crash. @xref{Auto Save}.
@item
Enriched mode enables editing and saving of formatted text.
@xref{Formatted Text}.
@item
Flyspell mode automatically highlights misspelled words.
@xref{Spelling}.
@item
Font-Lock mode automatically highlights certain textual units found in
programs. It is enabled globally by default, but you can disable it
in individual buffers. @xref{Faces}.
@findex linum-mode
@cindex Linum mode
@item
Linum mode displays each line's line number in the window's left
margin. Its mode command is @code{linum-mode}.
@item
Outline minor mode provides similar facilities to the major mode
called Outline mode. @xref{Outline Mode}.
@cindex Overwrite mode
@cindex mode, Overwrite
@findex overwrite-mode
@kindex INSERT
@item
Overwrite mode causes ordinary printing characters to replace existing
text instead of shoving it to the right. For example, if point is in
front of the @samp{B} in @samp{FOOBAR}, then in Overwrite mode typing
a @kbd{G} changes it to @samp{FOOGAR}, instead of producing
@samp{FOOGBAR} as usual. In Overwrite mode, the command @kbd{C-q}
inserts the next character whatever it may be, even if it is a
digit---this gives you a way to insert a character instead of
replacing an existing character. The mode command,
@code{overwrite-mode}, is bound to the @key{Insert} key.
@findex binary-overwrite-mode
@item
Binary Overwrite mode is a variant of Overwrite mode for editing
binary files; it treats newlines and tabs like other characters, so
that they overwrite other characters and can be overwritten by them.
In Binary Overwrite mode, digits after @kbd{C-q} specify an octal
character code, as usual.
@item
Visual Line mode performs ``word wrapping'', causing long lines to be
wrapped at word boundaries. @xref{Visual Line Mode}.
@end itemize
Here are some useful global minor modes. Since Line Number mode and
Transient Mark mode can be enabled or disabled just by setting the
value of the minor mode variable, you @emph{can} set them differently
for particular buffers, by explicitly making the corresponding
variable local in those buffers. @xref{Locals}.
@itemize @bullet
@item
Column Number mode enables display of the current column number in the
mode line. @xref{Mode Line}.
@item
Delete Selection mode causes text insertion to first delete the text
in the region, if the region is active. @xref{Using Region}.
@item
Icomplete mode displays an indication of available completions when
you are in the minibuffer and completion is active. @xref{Completion
Options}.
@item
Line Number mode enables display of the current line number in the
mode line. It is enabled by default. @xref{Mode Line}.
@item
Menu Bar mode gives each frame a menu bar. It is enabled by default.
@xref{Menu Bars}.
@item
Scroll Bar mode gives each window a scroll bar. It is enabled by
default, but the scroll bar is only displayed on graphical terminals.
@xref{Scroll Bars}.
@item
Tool Bar mode gives each frame a tool bar. It is enabled by default,
but the tool bar is only displayed on graphical terminals. @xref{Tool
Bars}.
@item
Transient Mark mode highlights the region, and makes many Emacs
commands operate on the region when the mark is active. It is enabled
by default. @xref{Mark}.
@end itemize
@node Easy Customization
@section Easy Customization Interface
......@@ -2085,36 +1932,6 @@ invoke it; disabling also applies if the command is invoked using
@kbd{M-x}. However, disabling a command has no effect on calling it
as a function from Lisp programs.
@node Syntax
@section The Syntax Table
@cindex syntax table
All the Emacs commands which parse words or balance parentheses are
controlled by the @dfn{syntax table}. The syntax table says which
characters are opening delimiters, which are parts of words, which are
string quotes, and so on. It does this by assigning each character to
one of fifteen-odd @dfn{syntax classes}. In some cases it specifies
some additional information also.
Each major mode has its own syntax table (though related major modes
sometimes share one syntax table), which it installs in each buffer
that uses the mode. The syntax table installed in the current buffer
is the one that all commands use, so we call it ``the'' syntax table.
@kindex C-h s
@findex describe-syntax
To display a description of the contents of the current syntax
table, type @kbd{C-h s} (@code{describe-syntax}). The description of
each character includes the string you would have to give to
@code{modify-syntax-entry} to set up that character's current syntax,
starting with the character which designates its syntax class, plus
some English text to explain its meaning.
A syntax table is actually a Lisp object, a char-table, whose
elements are cons cells. For full information on the syntax table,
see @ref{Syntax Tables,, Syntax Tables, elisp, The Emacs Lisp
Reference Manual}.
@node Init File
@section The Init File, @file{~/.emacs}
@cindex init file
......
......@@ -168,15 +168,13 @@ Important Text-Changing Commands
* Killing:: Killing (cutting) text.
* Yanking:: Recovering killed text. Moving text. (Pasting.)
* Accumulating Text:: Other ways of copying text.
* Rectangles:: Operating on the text inside a rectangle on the screen.
* CUA Bindings:: Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} for copy
and paste, with enhanced rectangle support.
* Rectangles:: Operating on text in rectangular areas.
* CUA Bindings:: Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} to kill and yank.
* Registers:: Saving a text string or a location in the buffer.
* Display:: Controlling what text is displayed.
* Search:: Finding or replacing occurrences of a string.
* Fixit:: Commands especially useful for fixing typos.
* Keyboard Macros:: A keyboard macro records a sequence of
keystrokes to be replayed with a single command.
* Keyboard Macros:: Recording a sequence of keystrokes to be replayed.
Major Structures of Emacs
* Files:: All about handling files.
......@@ -186,13 +184,13 @@ Major Structures of Emacs
* International:: Using non-@acronym{ASCII} character sets.
Advanced Features
* Major Modes:: Text mode vs. Lisp mode vs. C mode...
* Modes:: Major and minor modes alter Emacs' basic behavior.
* Indentation:: Editing the white space at the beginnings of lines.
* Text:: Commands and modes for editing English.
* Programs:: Commands and modes for editing programs.
* Building:: Compiling, running and debugging programs.
* Maintaining:: Features for maintaining large programs.
* Abbrevs:: How to define text abbreviations to reduce
* Abbrevs:: Defining text abbreviations to reduce
the number of characters you must type.
@c AFAICS, the tex stuff generates its own index and does not use this one.
@ifnottex
......@@ -204,9 +202,9 @@ Advanced Features
* Dired:: You can ``edit'' a directory to manage files in it.
* Calendar/Diary:: The calendar and diary facilities.
* Document View:: Viewing PDF, PS and DVI files.
* Gnus:: How to read netnews with Emacs.
* Gnus:: A flexible mail and news reader.
* Shell:: Executing shell commands from Emacs.
* Emacs Server:: Using Emacs as an editing server for @code{mail}, etc.
* Emacs Server:: Using Emacs as an editing server.
* Printing:: Printing hardcopies of buffers or regions.
* Sorting:: Sorting lines, paragraphs or pages within Emacs.
* Narrowing:: Restricting display and editing to a portion
......@@ -551,9 +549,12 @@ International Character Set Support
to use without multibyte characters.
* Charsets:: How Emacs groups its internal character codes.
Major Modes
Modes