merge from trunk
This commit is contained in:
commit
6d75555c5c
461 changed files with 17324 additions and 7461 deletions
99
ChangeLog
99
ChangeLog
|
@ -1,3 +1,102 @@
|
|||
2013-08-19 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Merge from gnulib, incorporating:
|
||||
2013-08-15 warnings: minor optimization
|
||||
2013-08-15 warnings: check -Wfoo rather than -Wno-foo
|
||||
|
||||
2013-08-15 Ken Brown <kbrown@cornell.edu>
|
||||
|
||||
* configure.ac (G_SLICE_ALWAYS_MALLOC): Update comment.
|
||||
|
||||
2013-08-15 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* make-dist: Do not distribute etc/refcards TeX intermediate files.
|
||||
* Makefile.in (install-arch-indep):
|
||||
Do not install etc/refcards TeX intermediate files.
|
||||
|
||||
2013-08-14 Ulrich Müller <ulm@gentoo.org>
|
||||
|
||||
* configure.ac (EMACS_CONFIGURATION): Escape backslashes. (Bug#15091)
|
||||
|
||||
2013-08-12 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* configure.ac (HAVE_ZLIB): Don't use -lz on MinGW.
|
||||
|
||||
2013-08-12 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Minor zlib configuration tweaks.
|
||||
* configure.ac (HAVE_ZLIB): Don't assume zlib is linked if PNG is.
|
||||
|
||||
2013-08-12 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* configure.ac (LIBZ): Comment on w32 peculiarities regarding LIBZ.
|
||||
|
||||
2013-08-12 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Merge from gnulib, incorporating:
|
||||
2013-08-11 fpending: port to recent Cygwin change to stdio_ext.h
|
||||
2013-08-10 sys_time: port to OpenBSD
|
||||
|
||||
2013-08-12 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* configure.ac (etcdocdir): Rename from docdir, to avoid confusion
|
||||
with configure's standard --docdir argument. All uses updated.
|
||||
* Makefile.in (etcdocdir): Rename from docdir. All uses updated.
|
||||
(install-etcdoc): Rename from install-doc. All uses updated.
|
||||
(uninstall): Run uninstall-doc.
|
||||
(PSS): Add misc-ps.
|
||||
(INSTALL_DVI, INSTALL_HTML, INSTALL_PDF, INSTALL_PS)
|
||||
(INSTALL_DOC, UNINSTALL_DVI, UNINSTALL_HTML, UNINSTALL_PDF)
|
||||
(UNINSTALL_PS, UNINSTALL_DOC): New variables.
|
||||
($(INSTALL_DOC), install-doc, install-dvi, install-html, install-pdf)
|
||||
(install-ps, $(UNINSTALL_DOC), uninstall-doc, uninstall-dvi)
|
||||
(uninstall-html, uninstall-pdf, uninstall-ps): New .PHONY rules.
|
||||
|
||||
2013-08-11 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Add --with-zlib to 'configure'.
|
||||
* configure.ac: Add --with-zlib option to 'configure', so that Emacs
|
||||
can be built without zlib. Don't assume that -lz is needed on
|
||||
non-PNG hosts. Mention zlib configuration status in 'configure' output.
|
||||
|
||||
2013-08-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* configure.ac: Test for zlib.
|
||||
|
||||
2013-08-10 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* configure.ac: Define and substitute UPDATE_MANIFEST.
|
||||
|
||||
2013-08-04 Stephen Berman <stephen.berman@gmx.net>
|
||||
|
||||
* info/dir: Add todo-mode.
|
||||
|
||||
2013-08-04 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Fix some minor races in hosts lacking mkostemp (Bug#15015).
|
||||
Gnulib's emulation of mkostemp doesn't have races that Emacs's does.
|
||||
* configure.ac (mkostemp): Remove check for this function;
|
||||
gnulib does the check now.
|
||||
(mkstemp): Remove check for this no-longer-used function.
|
||||
* lib/mkostemp.c, lib/secure_getenv.c, lib/tempname.c, lib/tempname.h:
|
||||
* m4/mkostemp.m4, m4/secure_getenv.m4, m4/tempname.m4:
|
||||
New files, copied from Gnulib.
|
||||
* lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
|
||||
|
||||
2013-07-29 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* INSTALL (DETAILED BUILDING AND INSTALLATION): Add
|
||||
--without-file-notification to --without-all.
|
||||
|
||||
2013-07-29 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* INSTALL: Fix description.
|
||||
|
||||
2013-07-27 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* configure.ac: Extend the --with-sound option to allow
|
||||
specification of OSS or ALSA (see bug#14812#64).
|
||||
|
||||
2013-07-25 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* info/dir: Add ido.
|
||||
|
|
18
INSTALL
18
INSTALL
|
@ -98,7 +98,6 @@ sections if you need to.
|
|||
first clean the source directories:
|
||||
|
||||
make distclean
|
||||
./configure
|
||||
|
||||
Note that the install automatically saves space by compressing
|
||||
(provided you have the `gzip' program) those installed Lisp source (.el)
|
||||
|
@ -324,14 +323,15 @@ equivalent to --without-sound --without-dbus --without-libotf
|
|||
--without-selinux --without-xft --without-gsettings --without-gnutls
|
||||
--without-rsvg --without-xml2 --without-gconf --without-imagemagick
|
||||
--without-m17n-flt --without-jpeg --without-tiff --without-gif
|
||||
--without-png --without-gpm. Note that --without-all leaves X support
|
||||
enabled, and using the GTK2 or GTK3 toolkit creates a lot of library
|
||||
dependencies. So if you want to build a small executable with very basic
|
||||
X support, use --without-all --with-x-toolkit=no. For the smallest possible
|
||||
executable without X, use --without-all --without-x. If you want to build
|
||||
with just a few features enabled, you can combine --without-all with
|
||||
--with-FEATURE. For example, you can use --without-all --with-dbus
|
||||
to build with DBus support and nothing more.
|
||||
--without-png --without-gpm --without-file-notification. Note that
|
||||
--without-all leaves X support enabled, and using the GTK2 or GTK3
|
||||
toolkit creates a lot of library dependencies. So if you want to
|
||||
build a small executable with very basic X support, use --without-all
|
||||
--with-x-toolkit=no. For the smallest possible executable without X,
|
||||
use --without-all --without-x. If you want to build with just a few
|
||||
features enabled, you can combine --without-all with --with-FEATURE.
|
||||
For example, you can use --without-all --with-dbus to build with DBus
|
||||
support and nothing more.
|
||||
|
||||
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
|
||||
|
|
92
Makefile.in
92
Makefile.in
|
@ -233,8 +233,8 @@ etcdir=@etcdir@
|
|||
# once.
|
||||
archlibdir=@archlibdir@
|
||||
|
||||
# Where to put the docstring file.
|
||||
docdir=@docdir@
|
||||
# Where to put the etc/DOC file.
|
||||
etcdocdir=@etcdocdir@
|
||||
|
||||
# Where to install Emacs game score files.
|
||||
gamedir=@gamedir@
|
||||
|
@ -313,7 +313,7 @@ epaths-force: FRC
|
|||
-e 's;\(#.*PATH_BITMAPS\).*$$;\1 "${bitmapdir}";' \
|
||||
-e 's;\(#.*PATH_X_DEFAULTS\).*$$;\1 "${x_default_search_path}";' \
|
||||
-e 's;\(#.*PATH_GAME\).*$$;\1 "${gamedir}";' \
|
||||
-e 's;\(#.*PATH_DOC\).*$$;\1 "${docdir}";') && \
|
||||
-e 's;\(#.*PATH_DOC\).*$$;\1 "${etcdocdir}";') && \
|
||||
${srcdir}/build-aux/move-if-change epaths.h.$$$$ src/epaths.h
|
||||
|
||||
# Convert MSYS-style /x/foo or Windows-style x:\foo file names
|
||||
|
@ -453,7 +453,7 @@ $(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
|
|||
|
||||
# ==================== Installation ====================
|
||||
|
||||
.PHONY: install install-arch-dep install-arch-indep install-doc install-info
|
||||
.PHONY: install install-arch-dep install-arch-indep install-etcdoc install-info
|
||||
.PHONY: install-man install-etc install-strip install-$(NTDIR)
|
||||
.PHONY: uninstall uninstall-$(NTDIR)
|
||||
|
||||
|
@ -461,7 +461,7 @@ $(srcdir)/src/stamp-h.in: $(AUTOCONF_INPUTS)
|
|||
## don't have to duplicate the list of utilities to install in
|
||||
## this Makefile as well.
|
||||
|
||||
install: all install-arch-indep install-doc install-arch-dep install-$(NTDIR) blessmail
|
||||
install: all install-arch-indep install-etcdoc install-arch-dep install-$(NTDIR) blessmail
|
||||
@true
|
||||
|
||||
## Ensure that $subdir contains a subdirs.el file.
|
||||
|
@ -482,7 +482,7 @@ write_subdir=if [ -f $${subdir}/subdirs.el ]; \
|
|||
### Install the executables that were compiled specifically for this machine.
|
||||
### We do install-arch-indep first because the executable needs the
|
||||
### Lisp files and DOC file to work properly.
|
||||
install-arch-dep: src install-arch-indep install-doc install-$(NTDIR)
|
||||
install-arch-dep: src install-arch-indep install-etcdoc install-$(NTDIR)
|
||||
umask 022; ${MKDIR_P} $(DESTDIR)${bindir}
|
||||
cd lib-src && \
|
||||
$(MAKE) install $(MFLAGS) prefix=${prefix} \
|
||||
|
@ -541,7 +541,12 @@ set_installuser=for installuser in $${LOGNAME} $${USERNAME} $${USER} \
|
|||
## We delete etc/DOC* because there may be irrelevant DOC files from
|
||||
## other builds in the source directory. This is ok because we just
|
||||
## deleted the entire installed etc/ directory and recreated it.
|
||||
## install-doc installs the relevant DOC.
|
||||
## install-etcdoc installs the relevant DOC.
|
||||
|
||||
## Note that we install etc/refcards/*.ps if present.
|
||||
## TODO we should compress these if GZIP_PROG is set.
|
||||
## It would be simpler to have a separate install rule for etc/refcards
|
||||
## (maybe move it to doc/refcards?).
|
||||
|
||||
## Note that the Makefiles in the etc directory are potentially useful
|
||||
## in an installed Emacs, so should not be excluded.
|
||||
|
@ -578,7 +583,12 @@ install-arch-indep: lisp leim install-info install-man ${INSTALL_ARCH_INDEP_EXTR
|
|||
(cd $${dir}; tar -chf - . ) \
|
||||
| (cd $${dest}; umask 022; \
|
||||
tar -xvf - && cat > /dev/null) || exit 1; \
|
||||
[ "$${dir}" != "${srcdir}/etc" ] || rm -f $${dest}/DOC* ; \
|
||||
if [ "$${dir}" = "${srcdir}/etc" ]; then \
|
||||
rm -f $${dest}/DOC* ; \
|
||||
rm -f $${dest}/refcards/*.aux $${dest}/refcards/*.dvi; \
|
||||
rm -f $${dest}/refcards/*.log; \
|
||||
else true; \
|
||||
fi; \
|
||||
for subdir in `find $${dest} -type d -print` ; do \
|
||||
chmod a+rx $${subdir} ; \
|
||||
rm -f $${subdir}/.gitignore ; \
|
||||
|
@ -621,16 +631,16 @@ install-arch-indep: lisp leim install-info install-man ${INSTALL_ARCH_INDEP_EXTR
|
|||
|
||||
## Note that install-arch-indep deletes and recreates the entire
|
||||
## installed etc/ directory, so we need it to run before this does.
|
||||
install-doc: src install-arch-indep
|
||||
install-etcdoc: src install-arch-indep
|
||||
-unset CDPATH; \
|
||||
umask 022; ${MKDIR_P} $(DESTDIR)${docdir} ; \
|
||||
if [ `cd ./etc; /bin/pwd` != `cd $(DESTDIR)${docdir}; /bin/pwd` ]; \
|
||||
umask 022; ${MKDIR_P} $(DESTDIR)${etcdocdir} ; \
|
||||
if [ `cd ./etc; /bin/pwd` != `cd $(DESTDIR)${etcdocdir}; /bin/pwd` ]; \
|
||||
then \
|
||||
docfile="DOC"; \
|
||||
echo "Copying etc/$${docfile} to $(DESTDIR)${docdir} ..." ; \
|
||||
${INSTALL_DATA} etc/$${docfile} $(DESTDIR)${docdir}/$${docfile}; \
|
||||
echo "Copying etc/$${docfile} to $(DESTDIR)${etcdocdir} ..." ; \
|
||||
${INSTALL_DATA} etc/$${docfile} $(DESTDIR)${etcdocdir}/$${docfile}; \
|
||||
$(set_installuser); \
|
||||
chown $${installuser} $(DESTDIR)${docdir}/$${docfile} || true ; \
|
||||
chown $${installuser} $(DESTDIR)${etcdocdir}/$${docfile} || true ; \
|
||||
else true; fi
|
||||
|
||||
install-info: info
|
||||
|
@ -716,7 +726,7 @@ install-strip:
|
|||
### create (but not the noninstalled files such as `make all' would create).
|
||||
###
|
||||
### Don't delete the lisp and etc directories if they're in the source tree.
|
||||
uninstall: uninstall-$(NTDIR)
|
||||
uninstall: uninstall-$(NTDIR) uninstall-doc
|
||||
cd lib-src && \
|
||||
$(MAKE) $(MFLAGS) uninstall \
|
||||
prefix=${prefix} exec_prefix=${exec_prefix} \
|
||||
|
@ -921,7 +931,7 @@ DVIS = lispref-dvi lispintro-dvi emacs-dvi misc-dvi
|
|||
HTMLS = lispref-html lispintro-html emacs-html misc-html
|
||||
INFOS = lispref-info lispintro-info emacs-info misc-info
|
||||
PDFS = lispref-pdf lispintro-pdf emacs-pdf misc-pdf
|
||||
PSS = lispref-ps lispintro-ps emacs-ps # no misc-ps
|
||||
PSS = lispref-ps lispintro-ps emacs-ps misc-ps
|
||||
|
||||
DOCS = $(DVIS) $(HTMLS) $(INFOS) $(PDFS) $(PSS)
|
||||
$(DOCS):
|
||||
|
@ -930,6 +940,7 @@ $(DOCS):
|
|||
.PHONY: $(DOCS) docs pdf ps
|
||||
.PHONY: info dvi dist check html info-real force-info check-info-dir
|
||||
|
||||
## TODO add etc/refcards.
|
||||
docs: $(DOCS)
|
||||
dvi: $(DVIS)
|
||||
html: $(HTMLS)
|
||||
|
@ -937,6 +948,55 @@ info-real: $(INFOS)
|
|||
pdf: $(PDFS)
|
||||
ps: $(PSS)
|
||||
|
||||
|
||||
INSTALL_DVI = install-emacs-dvi install-lispref-dvi \
|
||||
install-lispintro-dvi install-misc-dvi
|
||||
INSTALL_HTML = install-emacs-html install-lispref-html \
|
||||
install-lispintro-html install-misc-html
|
||||
INSTALL_PDF = install-emacs-pdf install-lispref-pdf \
|
||||
install-lispintro-pdf install-misc-pdf
|
||||
INSTALL_PS = install-emacs-ps install-lispref-ps \
|
||||
install-lispintro-ps install-misc-ps
|
||||
INSTALL_DOC = $(INSTALL_DVI) $(INSTALL_HTML) $(INSTALL_PDF) $(INSTALL_PS)
|
||||
|
||||
## Install non .info forms of the documentation.
|
||||
## TODO add etc/refcards.
|
||||
$(INSTALL_DOC):
|
||||
t=$@; IFS=-; set $$t; IFS=; cd doc/$$2 && $(MAKE) $(MFLAGS) $$1-$$3
|
||||
|
||||
.PHONY: $(INSTALL_DOC) install-doc
|
||||
.PHONY: install-dvi install-html install-pdf install-ps
|
||||
|
||||
install-doc: $(INSTALL_DOC)
|
||||
install-dvi: $(INSTALL_DVI)
|
||||
install-html: $(INSTALL_HTML)
|
||||
install-pdf: $(INSTALL_PDF)
|
||||
install-ps: $(INSTALL_PS)
|
||||
|
||||
|
||||
UNINSTALL_DVI = uninstall-emacs-dvi uninstall-lispref-dvi \
|
||||
uninstall-lispintro-dvi uninstall-misc-dvi
|
||||
UNINSTALL_HTML = uninstall-emacs-html uninstall-lispref-html \
|
||||
uninstall-lispintro-html uninstall-misc-html
|
||||
UNINSTALL_PDF = uninstall-emacs-pdf uninstall-lispref-pdf \
|
||||
uninstall-lispintro-pdf uninstall-misc-pdf
|
||||
UNINSTALL_PS = uninstall-emacs-ps uninstall-lispref-ps \
|
||||
uninstall-lispintro-ps uninstall-misc-ps
|
||||
UNINSTALL_DOC = $(UNINSTALL_DVI) $(UNINSTALL_HTML) $(UNINSTALL_PDF) $(UNINSTALL_PS)
|
||||
|
||||
$(UNINSTALL_DOC):
|
||||
t=$@; IFS=-; set $$t; IFS=; cd doc/$$2 && $(MAKE) $(MFLAGS) $$1-$$3
|
||||
|
||||
.PHONY: $(UNINSTALL_DOC) uninstall-doc
|
||||
.PHONY: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps
|
||||
|
||||
uninstall-doc: $(UNINSTALL_DOC)
|
||||
uninstall-dvi: $(UNINSTALL_DVI)
|
||||
uninstall-html: $(UNINSTALL_HTML)
|
||||
uninstall-pdf: $(UNINSTALL_PDF)
|
||||
uninstall-ps: $(UNINSTALL_PS)
|
||||
|
||||
|
||||
force-info:
|
||||
# Note that man/Makefile knows how to put the info files in $(srcdir),
|
||||
# so we can do ok running make in the build dir.
|
||||
|
|
|
@ -1,3 +1,20 @@
|
|||
2013-08-15 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* make-tarball.txt: Mention generating pdfs in etc/refcards.
|
||||
|
||||
2013-08-15 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* notes/hydra: More information about Hydra.
|
||||
|
||||
2013-08-10 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* notes/hydra: New file.
|
||||
|
||||
2013-08-04 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Fix some minor races in hosts lacking mkostemp (Bug#15015).
|
||||
* merge-gnulib (GNULIB_MODULES): Add mkostemp.
|
||||
|
||||
2013-07-12 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* admin.el (manual-style-string): Use non-abbreviated url.
|
||||
|
|
|
@ -3,6 +3,10 @@ Tasks needed before the next release.
|
|||
* TO BE DONE SHORTLY BEFORE RELEASE
|
||||
|
||||
** Manuals
|
||||
Check for node names using problematic characters:
|
||||
find doc -name '*.texi' -exec grep '^@node[^,]*[:.()]' {} +
|
||||
Sadly makeinfo does not warn about such characters.
|
||||
|
||||
Check cross-references between the manuals (eg from emacs to elisp)
|
||||
are correct. You can use something like the following in the info
|
||||
directory in the Emacs build tree:
|
||||
|
|
|
@ -202,6 +202,8 @@ The detected problematic options are stored in `cus-test-errors'."
|
|||
|
||||
;; Check the values
|
||||
(mapc (lambda (value)
|
||||
;; TODO for booleans, check for values that can be
|
||||
;; evaluated and are not t or nil. Usually a bug.
|
||||
(unless (widget-apply conv :match value)
|
||||
(setq mismatch 'mismatch)))
|
||||
values)
|
||||
|
|
|
@ -61,6 +61,9 @@ General steps (for each step, check for possible errors):
|
|||
5. autoreconf -i -I m4 --force
|
||||
make bootstrap
|
||||
|
||||
make -C etc/refcards
|
||||
make -C etc/refcards clean
|
||||
|
||||
6. Copy lisp/loaddefs.el to lisp/ldefs-boot.el.
|
||||
|
||||
Commit etc/AUTHORS, lisp/ldefs-boot.el, and the files changed
|
||||
|
@ -144,6 +147,8 @@ General steps (for each step, check for possible errors):
|
|||
Download them and check the signatures. Check they build.
|
||||
|
||||
12. For a pretest, announce it on emacs-devel and info-gnu-emacs@gnu.org.
|
||||
Probably should also include the platform-testers list:
|
||||
https://lists.gnu.org/mailman/listinfo/platform-testers
|
||||
For a release, also announce it on info-gnu@gnu.org. (Probably
|
||||
bcc the info- addresses to make it less likely that people will
|
||||
followup on those lists.)
|
||||
|
|
|
@ -32,7 +32,7 @@ GNULIB_MODULES='
|
|||
fcntl fcntl-h fdatasync fdopendir filemode fstatat fsync
|
||||
getloadavg getopt-gnu gettime gettimeofday
|
||||
intprops largefile lstat
|
||||
manywarnings memrchr mktime
|
||||
manywarnings memrchr mkostemp mktime
|
||||
pipe2 pselect pthread_sigmask putenv qacl readlink readlinkat
|
||||
sig2str socklen stat-time stdalign stdarg stdbool stdio
|
||||
strftime strtoimax strtoumax symlink sys_stat
|
||||
|
|
67
admin/notes/hydra
Normal file
67
admin/notes/hydra
Normal file
|
@ -0,0 +1,67 @@
|
|||
-*- outline -*-
|
||||
|
||||
Copyright (C) 2013 Free Software Foundation, Inc.
|
||||
See the end of the file for license conditions.
|
||||
|
||||
NOTES FOR EMACS CONTINUOUS BUILD ON HYDRA
|
||||
|
||||
A continuous build for Emacs trunk can be found at
|
||||
http://hydra.nixos.org/jobset/gnu/emacs-trunk
|
||||
|
||||
* It builds (and runs ERT tests) on these platforms:
|
||||
i686-cygwin
|
||||
i686-freebsd
|
||||
i686-linux
|
||||
x86_64-darwin
|
||||
x86_64-linux
|
||||
|
||||
* Mail notifications
|
||||
In addition to the web interface, Hydra can send notifications by
|
||||
email when the build status of a project changes—e.g., from
|
||||
`SUCCEEDED' to `FAILED'. It sends notifications about build status in
|
||||
Emacs trunk to emacs-buildstatus@gnu.org.
|
||||
|
||||
If you want to receive these notifications, please subscribe at
|
||||
http://lists.gnu.org/mailman/listinfo/emacs-buildstatus
|
||||
|
||||
* The Emacs jobset consists of the following jobs:
|
||||
|
||||
** The `tarball' job
|
||||
which gets the source tree as input, and is just a `make dist' after
|
||||
some autoconf/-make or bootstrap script.
|
||||
|
||||
** The `build' job
|
||||
which gets the result of the tarball job as input, together with
|
||||
system identifier, this job basically does a normal make and make install.
|
||||
|
||||
** The 'coverage' job
|
||||
is now running `make check'.
|
||||
|
||||
* Nix expressions
|
||||
The recipe for GNU Emacs are available via Git:
|
||||
http://git.savannah.gnu.org/cgit/hydra-recipes.git/tree/emacs
|
||||
|
||||
To modify the build job, email the patch to hydra-users@gnu.org. The
|
||||
build recipes are written in the Nix language.
|
||||
|
||||
* Other Information
|
||||
For a list of other GNU packages that have a continuous build on
|
||||
Hydra, see http://hydra.nixos.org/project/gnu
|
||||
|
||||
See http://www.gnu.org/software/devel.html#Hydra for more information.
|
||||
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
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
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
GNU Emacs is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
|
@ -59,7 +59,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=build-aux --avoid=close --avoid=dup --avoid=fchdir --avoid=fstat --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow --avoid=open --avoid=openat-die --avoid=opendir --avoid=raise --avoid=save-cwd --avoid=select --avoid=sigprocmask --avoid=sys_types --avoid=threadlib --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt c-ctype c-strcase careadlinkat close-stream crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dtotimespec dup2 environ execinfo faccessat fcntl fcntl-h fdatasync fdopendir filemode fstatat fsync getloadavg getopt-gnu gettime gettimeofday intprops largefile lstat manywarnings memrchr mktime pipe2 pselect pthread_sigmask putenv qacl readlink readlinkat sig2str socklen stat-time stdalign stdarg stdbool stdio strftime strtoimax strtoumax symlink sys_stat sys_time time timer-time timespec-add timespec-sub unsetenv utimens warnings
|
||||
# Reproduce by: gnulib-tool --import --dir=. --lib=libgnu --source-base=lib --m4-base=m4 --doc-base=doc --tests-base=tests --aux-dir=build-aux --avoid=close --avoid=dup --avoid=fchdir --avoid=fstat --avoid=malloc-posix --avoid=msvc-inval --avoid=msvc-nothrow --avoid=open --avoid=openat-die --avoid=opendir --avoid=raise --avoid=save-cwd --avoid=select --avoid=sigprocmask --avoid=sys_types --avoid=threadlib --makefile-name=gnulib.mk --conditional-dependencies --no-libtool --macro-prefix=gl --no-vc-files alloca-opt c-ctype c-strcase careadlinkat close-stream crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 dtoastr dtotimespec dup2 environ execinfo faccessat fcntl fcntl-h fdatasync fdopendir filemode fstatat fsync getloadavg getopt-gnu gettime gettimeofday intprops largefile lstat manywarnings memrchr mkostemp mktime pipe2 pselect pthread_sigmask putenv qacl readlink readlinkat sig2str socklen stat-time stdalign stdarg stdbool stdio strftime strtoimax strtoumax symlink sys_stat sys_time time timer-time timespec-add timespec-sub unsetenv utimens warnings
|
||||
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
|
@ -202,14 +202,14 @@ DIST_COMMON = $(srcdir)/../nt/gnulib.mk $(srcdir)/Makefile.am \
|
|||
@BUILDING_FOR_WINDOWSNT_FALSE@ getopt_int.h gettimeofday.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ group-member.c intprops.h \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ inttypes.in.h lstat.c memrchr.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ mktime-internal.h mktime.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ openat.h pathmax.h pselect.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ pthread_sigmask.c putenv.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ acl-internal.h acl.h \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ mkostemp.c mktime-internal.h \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ mktime.c openat.h pathmax.h \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ pselect.c pthread_sigmask.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ putenv.c acl-internal.h acl.h \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ acl_entries.c readlink.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ at-func.c readlinkat.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ root-uid.h sig2str.c sig2str.h \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ signal.in.h \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ root-uid.h secure_getenv.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ sig2str.c sig2str.h signal.in.h \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ $(top_srcdir)/build-aux/snippet/_Noreturn.h \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ $(top_srcdir)/build-aux/snippet/arg-nonnull.h \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ $(top_srcdir)/build-aux/snippet/c++defs.h \
|
||||
|
@ -224,12 +224,13 @@ DIST_COMMON = $(srcdir)/../nt/gnulib.mk $(srcdir)/Makefile.am \
|
|||
@BUILDING_FOR_WINDOWSNT_FALSE@ strtoimax.c strtoumax.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ symlink.c sys_select.in.h \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ sys_stat.in.h sys_time.in.h \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ time.in.h time_r.c timespec.h \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ u64.h unistd.in.h unsetenv.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ utimens.h verify.h \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ tempname.h time.in.h time_r.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ timespec.h u64.h unistd.in.h \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ unsetenv.c utimens.h verify.h \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ xalloc-oversized.h
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@@gl_GNULIB_ENABLED_be453cec5eecf5731a274f2de7f2db36_TRUE@am__append_10 = gettext.h
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@am__append_11 = sys sys
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@@gl_GNULIB_ENABLED_tempname_TRUE@am__append_12 = tempname.c
|
||||
subdir = lib
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
|
||||
|
@ -255,33 +256,35 @@ am__aclocal_m4_deps = $(top_srcdir)/m4/00gnulib.m4 \
|
|||
$(top_srcdir)/m4/largefile.m4 $(top_srcdir)/m4/longlong.m4 \
|
||||
$(top_srcdir)/m4/lstat.m4 $(top_srcdir)/m4/manywarnings.m4 \
|
||||
$(top_srcdir)/m4/md5.m4 $(top_srcdir)/m4/memrchr.m4 \
|
||||
$(top_srcdir)/m4/mktime.m4 $(top_srcdir)/m4/multiarch.m4 \
|
||||
$(top_srcdir)/m4/nocrash.m4 $(top_srcdir)/m4/off_t.m4 \
|
||||
$(top_srcdir)/m4/pathmax.m4 $(top_srcdir)/m4/pipe2.m4 \
|
||||
$(top_srcdir)/m4/pselect.m4 \
|
||||
$(top_srcdir)/m4/mkostemp.m4 $(top_srcdir)/m4/mktime.m4 \
|
||||
$(top_srcdir)/m4/multiarch.m4 $(top_srcdir)/m4/nocrash.m4 \
|
||||
$(top_srcdir)/m4/off_t.m4 $(top_srcdir)/m4/pathmax.m4 \
|
||||
$(top_srcdir)/m4/pipe2.m4 $(top_srcdir)/m4/pselect.m4 \
|
||||
$(top_srcdir)/m4/pthread_sigmask.m4 $(top_srcdir)/m4/putenv.m4 \
|
||||
$(top_srcdir)/m4/readlink.m4 $(top_srcdir)/m4/readlinkat.m4 \
|
||||
$(top_srcdir)/m4/setenv.m4 $(top_srcdir)/m4/sha1.m4 \
|
||||
$(top_srcdir)/m4/sha256.m4 $(top_srcdir)/m4/sha512.m4 \
|
||||
$(top_srcdir)/m4/sig2str.m4 $(top_srcdir)/m4/signal_h.m4 \
|
||||
$(top_srcdir)/m4/socklen.m4 $(top_srcdir)/m4/ssize_t.m4 \
|
||||
$(top_srcdir)/m4/st_dm_mode.m4 $(top_srcdir)/m4/stat-time.m4 \
|
||||
$(top_srcdir)/m4/stat.m4 $(top_srcdir)/m4/stdalign.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/string_h.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_select_h.m4 \
|
||||
$(top_srcdir)/m4/secure_getenv.m4 $(top_srcdir)/m4/setenv.m4 \
|
||||
$(top_srcdir)/m4/sha1.m4 $(top_srcdir)/m4/sha256.m4 \
|
||||
$(top_srcdir)/m4/sha512.m4 $(top_srcdir)/m4/sig2str.m4 \
|
||||
$(top_srcdir)/m4/signal_h.m4 $(top_srcdir)/m4/socklen.m4 \
|
||||
$(top_srcdir)/m4/ssize_t.m4 $(top_srcdir)/m4/st_dm_mode.m4 \
|
||||
$(top_srcdir)/m4/stat-time.m4 $(top_srcdir)/m4/stat.m4 \
|
||||
$(top_srcdir)/m4/stdalign.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/string_h.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_select_h.m4 \
|
||||
$(top_srcdir)/m4/sys_socket_h.m4 \
|
||||
$(top_srcdir)/m4/sys_stat_h.m4 $(top_srcdir)/m4/sys_time_h.m4 \
|
||||
$(top_srcdir)/m4/time_h.m4 $(top_srcdir)/m4/time_r.m4 \
|
||||
$(top_srcdir)/m4/timer_time.m4 $(top_srcdir)/m4/timespec.m4 \
|
||||
$(top_srcdir)/m4/tm_gmtoff.m4 $(top_srcdir)/m4/unistd_h.m4 \
|
||||
$(top_srcdir)/m4/utimbuf.m4 $(top_srcdir)/m4/utimens.m4 \
|
||||
$(top_srcdir)/m4/utimes.m4 $(top_srcdir)/m4/warnings.m4 \
|
||||
$(top_srcdir)/m4/wchar_t.m4 $(top_srcdir)/configure.ac
|
||||
$(top_srcdir)/m4/tempname.m4 $(top_srcdir)/m4/time_h.m4 \
|
||||
$(top_srcdir)/m4/time_r.m4 $(top_srcdir)/m4/timer_time.m4 \
|
||||
$(top_srcdir)/m4/timespec.m4 $(top_srcdir)/m4/tm_gmtoff.m4 \
|
||||
$(top_srcdir)/m4/unistd_h.m4 $(top_srcdir)/m4/utimbuf.m4 \
|
||||
$(top_srcdir)/m4/utimens.m4 $(top_srcdir)/m4/utimes.m4 \
|
||||
$(top_srcdir)/m4/warnings.m4 $(top_srcdir)/m4/wchar_t.m4 \
|
||||
$(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
|
@ -296,10 +299,11 @@ am__libgnu_a_SOURCES_DIST = allocator.c binary-io.h binary-io.c \
|
|||
careadlinkat.c close-stream.c md5.c sha1.c sha256.c sha512.c \
|
||||
dtoastr.c dtotimespec.c filemode.c gettext.h gettime.c pipe2.c \
|
||||
acl-errno-valid.c file-has-acl.c qcopy-acl.c qset-acl.c \
|
||||
stat-time.c strftime.c timespec.c timespec-add.c \
|
||||
stat-time.c strftime.c tempname.c timespec.c timespec-add.c \
|
||||
timespec-sub.c u64.c unistd.c utimens.c openat-die.c \
|
||||
save-cwd.c
|
||||
am__objects_1 =
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@@gl_GNULIB_ENABLED_tempname_TRUE@am__objects_2 = tempname.$(OBJEXT)
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@am_libgnu_a_OBJECTS = \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ allocator.$(OBJEXT) \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ binary-io.$(OBJEXT) \
|
||||
|
@ -323,6 +327,7 @@ am__objects_1 =
|
|||
@BUILDING_FOR_WINDOWSNT_FALSE@ qset-acl.$(OBJEXT) \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ stat-time.$(OBJEXT) \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ strftime.$(OBJEXT) \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ $(am__objects_2) \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ timespec.$(OBJEXT) \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ timespec-add.$(OBJEXT) \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ timespec-sub.$(OBJEXT) \
|
||||
|
@ -350,15 +355,16 @@ am__objects_1 =
|
|||
@BUILDING_FOR_WINDOWSNT_TRUE@ timespec-add.$(OBJEXT) \
|
||||
@BUILDING_FOR_WINDOWSNT_TRUE@ timespec-sub.$(OBJEXT) \
|
||||
@BUILDING_FOR_WINDOWSNT_TRUE@ u64.$(OBJEXT) utimens.$(OBJEXT) \
|
||||
@BUILDING_FOR_WINDOWSNT_TRUE@ $(am__objects_1)
|
||||
@BUILDING_FOR_WINDOWSNT_TRUE@ $(am__objects_1) $(am__objects_2)
|
||||
am__EXTRA_libgnu_a_SOURCES_DIST = openat-proc.c ftoastr.c dup2.c \
|
||||
euidaccess.c execinfo.c at-func.c faccessat.c fcntl.c \
|
||||
fdatasync.c fdopendir.c fpending.c fstatat.c fsync.c \
|
||||
getdtablesize.c getgroups.c getloadavg.c getopt.c getopt1.c \
|
||||
gettimeofday.c group-member.c lstat.c memrchr.c mktime.c \
|
||||
pselect.c pthread_sigmask.c putenv.c acl_entries.c readlink.c \
|
||||
readlinkat.c sig2str.c stat.c strtoimax.c strtol.c strtoll.c \
|
||||
strtoul.c strtoull.c strtoumax.c symlink.c time_r.c unsetenv.c
|
||||
gettimeofday.c group-member.c lstat.c memrchr.c mkostemp.c \
|
||||
mktime.c pselect.c pthread_sigmask.c putenv.c acl_entries.c \
|
||||
readlink.c readlinkat.c secure_getenv.c sig2str.c stat.c \
|
||||
strtoimax.c strtol.c strtoll.c strtoul.c strtoull.c \
|
||||
strtoumax.c symlink.c time_r.c unsetenv.c
|
||||
libgnu_a_OBJECTS = $(am_libgnu_a_OBJECTS)
|
||||
depcomp = $(SHELL) $(top_srcdir)/build-aux/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
|
@ -897,6 +903,7 @@ LIBXSM = @LIBXSM@
|
|||
LIBXTR6 = @LIBXTR6@
|
||||
LIBXT_OTHER = @LIBXT_OTHER@
|
||||
LIBX_OTHER = @LIBX_OTHER@
|
||||
LIBZ = @LIBZ@
|
||||
LIB_ACL = @LIB_ACL@
|
||||
LIB_CLOCK_GETTIME = @LIB_CLOCK_GETTIME@
|
||||
LIB_EACCESS = @LIB_EACCESS@
|
||||
|
@ -1123,6 +1130,7 @@ UNDEFINE_STRTOK_R = @UNDEFINE_STRTOK_R@
|
|||
UNEXEC_OBJ = @UNEXEC_OBJ@
|
||||
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@
|
||||
UPDATE_MANIFEST = @UPDATE_MANIFEST@
|
||||
USE_ACL = @USE_ACL@
|
||||
VERSION = @VERSION@
|
||||
VMLIMIT_OBJ = @VMLIMIT_OBJ@
|
||||
|
@ -1178,6 +1186,7 @@ datarootdir = @datarootdir@
|
|||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
etcdir = @etcdir@
|
||||
etcdocdir = @etcdocdir@
|
||||
exec_prefix = @exec_prefix@
|
||||
gamedir = @gamedir@
|
||||
gameuser = @gameuser@
|
||||
|
@ -1248,10 +1257,10 @@ DEFAULT_INCLUDES = -I. -I$(top_srcdir)/lib -I../src -I$(top_srcdir)/src
|
|||
@BUILDING_FOR_WINDOWSNT_FALSE@ acl-errno-valid.c file-has-acl.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ qcopy-acl.c qset-acl.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ stat-time.c strftime.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ timespec.c timespec-add.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ timespec-sub.c u64.c unistd.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ utimens.c openat-die.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ save-cwd.c
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ $(am__append_12) timespec.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ timespec-add.c timespec-sub.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ u64.c unistd.c utimens.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ openat-die.c save-cwd.c
|
||||
@BUILDING_FOR_WINDOWSNT_TRUE@libgnu_a_SOURCES = c-ctype.h c-ctype.c \
|
||||
@BUILDING_FOR_WINDOWSNT_TRUE@ c-strcase.h c-strcasecmp.c \
|
||||
@BUILDING_FOR_WINDOWSNT_TRUE@ c-strncasecmp.c close-stream.c \
|
||||
|
@ -1262,7 +1271,8 @@ DEFAULT_INCLUDES = -I. -I$(top_srcdir)/lib -I../src -I$(top_srcdir)/src
|
|||
@BUILDING_FOR_WINDOWSNT_TRUE@ file-has-acl.c qcopy-acl.c \
|
||||
@BUILDING_FOR_WINDOWSNT_TRUE@ stat-time.c strftime.c timespec.c \
|
||||
@BUILDING_FOR_WINDOWSNT_TRUE@ timespec-add.c timespec-sub.c \
|
||||
@BUILDING_FOR_WINDOWSNT_TRUE@ u64.c utimens.c $(am__append_10)
|
||||
@BUILDING_FOR_WINDOWSNT_TRUE@ u64.c utimens.c $(am__append_10) \
|
||||
@BUILDING_FOR_WINDOWSNT_TRUE@ $(am__append_12)
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@libgnu_a_LIBADD = $(gl_LIBOBJS)
|
||||
@BUILDING_FOR_WINDOWSNT_TRUE@libgnu_a_LIBADD = $(gl_LIBOBJS)
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@libgnu_a_DEPENDENCIES = $(gl_LIBOBJS)
|
||||
|
@ -1276,11 +1286,12 @@ DEFAULT_INCLUDES = -I. -I$(top_srcdir)/lib -I../src -I$(top_srcdir)/src
|
|||
@BUILDING_FOR_WINDOWSNT_FALSE@ getgroups.c getloadavg.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ getopt.c getopt1.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ gettimeofday.c group-member.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ lstat.c memrchr.c mktime.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ pselect.c pthread_sigmask.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ putenv.c acl_entries.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ readlink.c at-func.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ readlinkat.c sig2str.c stat.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ lstat.c memrchr.c mkostemp.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ mktime.c pselect.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ pthread_sigmask.c putenv.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ acl_entries.c readlink.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ at-func.c readlinkat.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ secure_getenv.c sig2str.c stat.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ strtoimax.c strtol.c strtoll.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ strtol.c strtoul.c strtoull.c \
|
||||
@BUILDING_FOR_WINDOWSNT_FALSE@ strtoimax.c strtoumax.c \
|
||||
|
@ -1402,6 +1413,7 @@ 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)/memrchr.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mkostemp.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mktime.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat-die.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/openat-proc.Po@am__quote@
|
||||
|
@ -1414,6 +1426,7 @@ distclean-compile:
|
|||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readlink.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readlinkat.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/save-cwd.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/secure_getenv.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@
|
||||
|
@ -1428,6 +1441,7 @@ distclean-compile:
|
|||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoull.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/strtoumax.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/symlink.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tempname.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/time_r.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timespec-add.Po@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timespec-sub.Po@am__quote@
|
||||
|
|
3
autogen/aclocal.m4
vendored
3
autogen/aclocal.m4
vendored
|
@ -1024,6 +1024,7 @@ m4_include([m4/lstat.m4])
|
|||
m4_include([m4/manywarnings.m4])
|
||||
m4_include([m4/md5.m4])
|
||||
m4_include([m4/memrchr.m4])
|
||||
m4_include([m4/mkostemp.m4])
|
||||
m4_include([m4/mktime.m4])
|
||||
m4_include([m4/multiarch.m4])
|
||||
m4_include([m4/nocrash.m4])
|
||||
|
@ -1035,6 +1036,7 @@ m4_include([m4/pthread_sigmask.m4])
|
|||
m4_include([m4/putenv.m4])
|
||||
m4_include([m4/readlink.m4])
|
||||
m4_include([m4/readlinkat.m4])
|
||||
m4_include([m4/secure_getenv.m4])
|
||||
m4_include([m4/setenv.m4])
|
||||
m4_include([m4/sha1.m4])
|
||||
m4_include([m4/sha256.m4])
|
||||
|
@ -1064,6 +1066,7 @@ m4_include([m4/sys_select_h.m4])
|
|||
m4_include([m4/sys_socket_h.m4])
|
||||
m4_include([m4/sys_stat_h.m4])
|
||||
m4_include([m4/sys_time_h.m4])
|
||||
m4_include([m4/tempname.m4])
|
||||
m4_include([m4/time_h.m4])
|
||||
m4_include([m4/time_r.m4])
|
||||
m4_include([m4/timer_time.m4])
|
||||
|
|
|
@ -192,6 +192,10 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
whether the gnulib module fscanf shall be considered present. */
|
||||
#undef GNULIB_FSCANF
|
||||
|
||||
/* Define to a C preprocessor expression that evaluates to 1 or 0, depending
|
||||
whether the gnulib module mkostemp shall be considered present. */
|
||||
#undef GNULIB_MKOSTEMP
|
||||
|
||||
/* enable some gnulib portability checks */
|
||||
#undef GNULIB_PORTCHECK
|
||||
|
||||
|
@ -206,7 +210,7 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
#undef GNU_MALLOC
|
||||
|
||||
/* Define to set the G_SLICE environment variable to "always-malloc" at
|
||||
startup, if using GTK. */
|
||||
startup. */
|
||||
#undef G_SLICE_ALWAYS_MALLOC
|
||||
|
||||
/* Define to 1 if you have the `accept4' function. */
|
||||
|
@ -404,10 +408,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
don't. */
|
||||
#undef HAVE_DECL__PUTENV
|
||||
|
||||
/* Define to 1 if you have the declaration of `__fpending', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL___FPENDING
|
||||
|
||||
/* Define to 1 if you have the declaration of `__sys_siglist', and to 0 if you
|
||||
don't. */
|
||||
#undef HAVE_DECL___SYS_SIGLIST
|
||||
|
@ -625,6 +625,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the `issetugid' function. */
|
||||
#undef HAVE_ISSETUGID
|
||||
|
||||
/* Define to 1 if you have the jpeg library (-ljpeg). */
|
||||
#undef HAVE_JPEG
|
||||
|
||||
|
@ -753,9 +756,6 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
/* Define to 1 if you have the `mkostemp' function. */
|
||||
#undef HAVE_MKOSTEMP
|
||||
|
||||
/* Define to 1 if you have the `mkstemp' function. */
|
||||
#undef HAVE_MKSTEMP
|
||||
|
||||
/* Define to 1 if you have a working `mmap' system call. */
|
||||
#undef HAVE_MMAP
|
||||
|
||||
|
@ -847,6 +847,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
/* Define to 1 if using librsvg. */
|
||||
#undef HAVE_RSVG
|
||||
|
||||
/* Define to 1 if you have the `secure_getenv' function. */
|
||||
#undef HAVE_SECURE_GETENV
|
||||
|
||||
/* Define to 1 if you have the `select' function. */
|
||||
#undef HAVE_SELECT
|
||||
|
||||
|
@ -1183,6 +1186,9 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
/* Define to 1 if you want to use the X window system. */
|
||||
#undef HAVE_X_WINDOWS
|
||||
|
||||
/* Define to 1 if you have the zlib library (-lz). */
|
||||
#undef HAVE_ZLIB
|
||||
|
||||
/* Define to 1 if the system has the type `_Bool'. */
|
||||
#undef HAVE__BOOL
|
||||
|
||||
|
@ -1198,8 +1204,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
|
|||
/* Define to 1 if you have the `__executable_start' function. */
|
||||
#undef HAVE___EXECUTABLE_START
|
||||
|
||||
/* Define to 1 if you have the `__fpending' function. */
|
||||
#undef HAVE___FPENDING
|
||||
/* Define to 1 if you have the `__secure_getenv' function. */
|
||||
#undef HAVE___SECURE_GETENV
|
||||
|
||||
/* Define to support using a Hesiod database to find the POP server. */
|
||||
#undef HESIOD
|
||||
|
|
412
autogen/configure
vendored
412
autogen/configure
vendored
|
@ -614,12 +614,16 @@ LIBGNU_LIBDEPS
|
|||
gltests_WITNESS
|
||||
gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_FALSE
|
||||
gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_TRUE
|
||||
gl_GNULIB_ENABLED_tempname_FALSE
|
||||
gl_GNULIB_ENABLED_tempname_TRUE
|
||||
gl_GNULIB_ENABLED_strtoull_FALSE
|
||||
gl_GNULIB_ENABLED_strtoull_TRUE
|
||||
gl_GNULIB_ENABLED_strtoll_FALSE
|
||||
gl_GNULIB_ENABLED_strtoll_TRUE
|
||||
gl_GNULIB_ENABLED_stat_FALSE
|
||||
gl_GNULIB_ENABLED_stat_TRUE
|
||||
gl_GNULIB_ENABLED_secure_getenv_FALSE
|
||||
gl_GNULIB_ENABLED_secure_getenv_TRUE
|
||||
gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c_FALSE
|
||||
gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c_TRUE
|
||||
gl_GNULIB_ENABLED_pathmax_FALSE
|
||||
|
@ -1275,6 +1279,7 @@ LD_SWITCH_X_SITE
|
|||
gameuser
|
||||
gamedir
|
||||
bitmapdir
|
||||
etcdocdir
|
||||
archlibdir
|
||||
etcdir
|
||||
x_default_search_path
|
||||
|
@ -1311,6 +1316,7 @@ LIBXSM
|
|||
LIBGPM
|
||||
LIBGIF
|
||||
LIBTIFF
|
||||
LIBZ
|
||||
LIBPNG
|
||||
LIBJPEG
|
||||
LIBXPM
|
||||
|
@ -1364,6 +1370,7 @@ FIRSTFILE_OBJ
|
|||
W32_RES_LINK
|
||||
CLIENTW
|
||||
CLIENTRES
|
||||
UPDATE_MANIFEST
|
||||
EMACS_MANIFEST
|
||||
EMACSRES
|
||||
W32_LIBS
|
||||
|
@ -1533,6 +1540,7 @@ with_gconf
|
|||
with_gsettings
|
||||
with_selinux
|
||||
with_gnutls
|
||||
with_zlib
|
||||
with_file_notification
|
||||
with_makeinfo
|
||||
with_compress_info
|
||||
|
@ -2233,7 +2241,9 @@ Optional Packages:
|
|||
--with-mail-unlink unlink, rather than empty, mail spool after reading
|
||||
--with-mailhost=HOSTNAME
|
||||
string giving default POP mail host
|
||||
--without-sound don't compile with sound support
|
||||
--with-sound=VALUE compile with sound support (VALUE one of: yes,
|
||||
ossaudio, alsa, no; default yes). Only for
|
||||
GNU/Linux, FreeBSD, NetBSD, MinGW.
|
||||
--with-x-toolkit=KIT use an X toolkit (KIT one of: yes or gtk, gtk2,
|
||||
gtk3, lucid or athena, motif, no)
|
||||
--with-wide-int prefer wide Emacs integers (typically 62-bit)
|
||||
|
@ -2261,6 +2271,7 @@ Optional Packages:
|
|||
--without-gsettings don't compile with GSettings support
|
||||
--without-selinux don't compile with SELinux support
|
||||
--without-gnutls don't use -lgnutls for SSL/TLS support
|
||||
--without-zlib don't compile with zlib decompression support
|
||||
--with-file-notification=LIB
|
||||
use a file notification library (LIB one of: yes,
|
||||
gfile, inotify, w32, no)
|
||||
|
@ -3376,7 +3387,6 @@ as_fn_append ac_func_list " faccessat"
|
|||
as_fn_append ac_func_list " fcntl"
|
||||
as_fn_append ac_func_list " fdopendir"
|
||||
as_fn_append ac_header_list " stdio_ext.h"
|
||||
as_fn_append ac_func_list " __fpending"
|
||||
as_fn_append ac_func_list " fstatat"
|
||||
as_fn_append ac_func_list " fsync"
|
||||
gl_getopt_required=GNU
|
||||
|
@ -3388,6 +3398,7 @@ as_fn_append ac_header_list " wchar.h"
|
|||
as_fn_append ac_header_list " stdint.h"
|
||||
as_fn_append ac_header_list " inttypes.h"
|
||||
as_fn_append ac_func_list " lstat"
|
||||
as_fn_append ac_func_list " mkostemp"
|
||||
as_fn_append ac_func_list " pipe2"
|
||||
as_fn_append ac_header_list " sys/select.h"
|
||||
as_fn_append ac_func_list " pselect"
|
||||
|
@ -3405,6 +3416,7 @@ as_fn_append ac_func_list " futimens"
|
|||
as_fn_append ac_func_list " utimensat"
|
||||
as_fn_append ac_func_list " lutimes"
|
||||
as_fn_append ac_func_list " getdtablesize"
|
||||
as_fn_append ac_func_list " secure_getenv"
|
||||
# Check that the precious variables saved in the cache have kept the same
|
||||
# value.
|
||||
ac_cache_corrupted=false
|
||||
|
@ -4001,7 +4013,7 @@ locallisppath='${datadir}/emacs/${version}/site-lisp:'\
|
|||
lisppath='${locallisppath}:${standardlisppath}'
|
||||
etcdir='${datadir}/emacs/${version}/etc'
|
||||
archlibdir='${libexecdir}/emacs/${version}/${configuration}'
|
||||
docdir='${datadir}/emacs/${version}/etc'
|
||||
etcdocdir='${datadir}/emacs/${version}/etc'
|
||||
gamedir='${localstatedir}/games/emacs'
|
||||
|
||||
|
||||
|
@ -4116,9 +4128,16 @@ fi
|
|||
|
||||
# Check whether --with-sound was given.
|
||||
if test "${with_sound+set}" = set; then :
|
||||
withval=$with_sound;
|
||||
withval=$with_sound; case "${withval}" in
|
||||
yes|no|ossaudio|alsa) val=$withval ;;
|
||||
*) as_fn_error "\`--with-sound=$withval' is invalid;
|
||||
this option's value should be \`yes', \`no', \`ossaudio', or \`alsa'." "$LINENO" 5
|
||||
;;
|
||||
esac
|
||||
with_sound=$val
|
||||
|
||||
else
|
||||
with_sound=$with_features
|
||||
with_sound=$with_features
|
||||
fi
|
||||
|
||||
|
||||
|
@ -4340,6 +4359,14 @@ else
|
|||
fi
|
||||
|
||||
|
||||
# Check whether --with-zlib was given.
|
||||
if test "${with_zlib+set}" = set; then :
|
||||
withval=$with_zlib;
|
||||
else
|
||||
with_zlib=$with_features
|
||||
fi
|
||||
|
||||
|
||||
|
||||
# Check whether --with-file-notification was given.
|
||||
if test "${with_file_notification+set}" = set; then :
|
||||
|
@ -7277,6 +7304,7 @@ esac
|
|||
# Code from module lstat:
|
||||
# Code from module manywarnings:
|
||||
# Code from module memrchr:
|
||||
# Code from module mkostemp:
|
||||
# Code from module mktime:
|
||||
# Code from module multiarch:
|
||||
# Code from module nocrash:
|
||||
|
@ -7290,6 +7318,7 @@ esac
|
|||
# Code from module readlink:
|
||||
# Code from module readlinkat:
|
||||
# Code from module root-uid:
|
||||
# Code from module secure_getenv:
|
||||
# Code from module sig2str:
|
||||
# Code from module signal-h:
|
||||
# Code from module snippet/_Noreturn:
|
||||
|
@ -7320,6 +7349,7 @@ esac
|
|||
# Code from module sys_select:
|
||||
# Code from module sys_stat:
|
||||
# Code from module sys_time:
|
||||
# Code from module tempname:
|
||||
# Code from module time:
|
||||
# Code from module time_r:
|
||||
# Code from module timer-time:
|
||||
|
@ -7890,6 +7920,10 @@ $as_echo "$gl_cv_cc_uninitialized_supported" >&6; }
|
|||
for w in $ws; do
|
||||
|
||||
as_gl_Warn=`$as_echo "gl_cv_warn_c_$w" | $as_tr_sh`
|
||||
gl_positive="$w"
|
||||
case $gl_positive in
|
||||
-Wno-*) gl_positive=-W`expr "X$gl_positive" : 'X-Wno-\(.*\)'` ;;
|
||||
esac
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C compiler handles $w" >&5
|
||||
$as_echo_n "checking whether C compiler handles $w... " >&6; }
|
||||
if { as_var=$as_gl_Warn; eval "test \"\${$as_var+set}\" = set"; }; then :
|
||||
|
@ -7897,7 +7931,7 @@ if { as_var=$as_gl_Warn; eval "test \"\${$as_var+set}\" = set"; }; then :
|
|||
else
|
||||
|
||||
gl_save_compiler_FLAGS="$CFLAGS"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors $w"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors $gl_positive"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
|
@ -7936,7 +7970,7 @@ if test "${gl_cv_warn_c__Wno_missing_field_initializers+set}" = set; then :
|
|||
else
|
||||
|
||||
gl_save_compiler_FLAGS="$CFLAGS"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-missing-field-initializers"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wmissing-field-initializers"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
|
@ -7972,7 +8006,7 @@ if test "${gl_cv_warn_c__Wno_sign_compare+set}" = set; then :
|
|||
else
|
||||
|
||||
gl_save_compiler_FLAGS="$CFLAGS"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-sign-compare"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wsign-compare"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
|
@ -8008,7 +8042,7 @@ if test "${gl_cv_warn_c__Wno_type_limits+set}" = set; then :
|
|||
else
|
||||
|
||||
gl_save_compiler_FLAGS="$CFLAGS"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-type-limits"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wtype-limits"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
|
@ -8044,7 +8078,7 @@ if test "${gl_cv_warn_c__Wno_switch+set}" = set; then :
|
|||
else
|
||||
|
||||
gl_save_compiler_FLAGS="$CFLAGS"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-switch"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wswitch"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
|
@ -8080,7 +8114,7 @@ if test "${gl_cv_warn_c__Wno_unused_parameter+set}" = set; then :
|
|||
else
|
||||
|
||||
gl_save_compiler_FLAGS="$CFLAGS"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-unused-parameter"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wunused-parameter"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
|
@ -8116,7 +8150,7 @@ if test "${gl_cv_warn_c__Wno_format_nonliteral+set}" = set; then :
|
|||
else
|
||||
|
||||
gl_save_compiler_FLAGS="$CFLAGS"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-format-nonliteral"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wformat-nonliteral"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
|
@ -8155,7 +8189,7 @@ if test "${gl_cv_warn_c__Wno_logical_op+set}" = set; then :
|
|||
else
|
||||
|
||||
gl_save_compiler_FLAGS="$CFLAGS"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-logical-op"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wlogical-op"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
|
@ -8194,7 +8228,7 @@ if test "${gl_cv_warn_c__Wno_format_extra_args+set}" = set; then :
|
|||
else
|
||||
|
||||
gl_save_compiler_FLAGS="$CFLAGS"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-format-extra-args"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wformat-extra-args"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
|
@ -8230,7 +8264,7 @@ if test "${gl_cv_warn_c__Wno_tautological_constant_out_of_range_compare+set}" =
|
|||
else
|
||||
|
||||
gl_save_compiler_FLAGS="$CFLAGS"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-tautological-constant-out-of-range-compare"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wtautological-constant-out-of-range-compare"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
|
@ -8266,7 +8300,7 @@ if test "${gl_cv_warn_c__Wno_unused_command_line_argument+set}" = set; then :
|
|||
else
|
||||
|
||||
gl_save_compiler_FLAGS="$CFLAGS"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-unused-command-line-argument"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wunused-command-line-argument"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
|
@ -8302,7 +8336,7 @@ if test "${gl_cv_warn_c__Wno_unused_value+set}" = set; then :
|
|||
else
|
||||
|
||||
gl_save_compiler_FLAGS="$CFLAGS"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wno-unused-value"
|
||||
as_fn_append CFLAGS " $gl_unknown_warnings_are_errors -Wunused-value"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
|
@ -8995,6 +9029,7 @@ fi
|
|||
|
||||
|
||||
|
||||
HAVE_SOUND=no
|
||||
if test "${with_sound}" != "no"; then
|
||||
# Sound support for GNU/Linux, the free BSDs, and MinGW.
|
||||
for ac_header in machine/soundcard.h sys/soundcard.h soundcard.h
|
||||
|
@ -9017,8 +9052,9 @@ fi
|
|||
|
||||
done
|
||||
|
||||
# Emulation library used on NetBSD.
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _oss_ioctl in -lossaudio" >&5
|
||||
if test "${with_sound}" = "ossaudio" || test "${with_sound}" = "yes"; then
|
||||
# Emulation library used on NetBSD.
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for _oss_ioctl in -lossaudio" >&5
|
||||
$as_echo_n "checking for _oss_ioctl in -lossaudio... " >&6; }
|
||||
if test "${ac_cv_lib_ossaudio__oss_ioctl+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
|
@ -9060,10 +9096,14 @@ else
|
|||
LIBSOUND=
|
||||
fi
|
||||
|
||||
test "${with_sound}" = "ossaudio" && test -z "$LIBSOUND" && \
|
||||
as_fn_error "ossaudio sound support requested but not found." "$LINENO" 5
|
||||
fi
|
||||
|
||||
|
||||
ALSA_REQUIRED=1.0.0
|
||||
ALSA_MODULES="alsa >= $ALSA_REQUIRED"
|
||||
if test "${with_sound}" = "alsa" || test "${with_sound}" = "yes"; then
|
||||
ALSA_REQUIRED=1.0.0
|
||||
ALSA_MODULES="alsa >= $ALSA_REQUIRED"
|
||||
|
||||
succeeded=no
|
||||
|
||||
|
@ -9115,12 +9155,12 @@ $as_echo "no" >&6; }
|
|||
HAVE_ALSA=no
|
||||
fi
|
||||
|
||||
if test $HAVE_ALSA = yes; then
|
||||
SAVE_CFLAGS="$CFLAGS"
|
||||
SAVE_LIBS="$LIBS"
|
||||
CFLAGS="$ALSA_CFLAGS $CFLAGS"
|
||||
LIBS="$ALSA_LIBS $LIBS"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
if test $HAVE_ALSA = yes; then
|
||||
SAVE_CFLAGS="$CFLAGS"
|
||||
SAVE_LIBS="$LIBS"
|
||||
CFLAGS="$ALSA_CFLAGS $CFLAGS"
|
||||
LIBS="$ALSA_LIBS $LIBS"
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <asoundlib.h>
|
||||
int
|
||||
|
@ -9137,8 +9177,8 @@ else
|
|||
emacs_alsa_normal=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
if test "$emacs_alsa_normal" != yes; then
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
if test "$emacs_alsa_normal" != yes; then
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <alsa/asoundlib.h>
|
||||
int
|
||||
|
@ -9155,27 +9195,30 @@ else
|
|||
emacs_alsa_subdir=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
|
||||
if test "$emacs_alsa_subdir" != yes; then
|
||||
as_fn_error "pkg-config found alsa, but it does not compile. See config.log for error messages." "$LINENO" 5
|
||||
if test "$emacs_alsa_subdir" != yes; then
|
||||
as_fn_error "pkg-config found alsa, but it does not compile. See config.log for error messages." "$LINENO" 5
|
||||
fi
|
||||
ALSA_CFLAGS="$ALSA_CFLAGS -DALSA_SUBDIR_INCLUDE"
|
||||
fi
|
||||
ALSA_CFLAGS="$ALSA_CFLAGS -DALSA_SUBDIR_INCLUDE"
|
||||
fi
|
||||
|
||||
CFLAGS="$SAVE_CFLAGS"
|
||||
LIBS="$SAVE_LIBS"
|
||||
LIBSOUND="$LIBSOUND $ALSA_LIBS"
|
||||
CFLAGS_SOUND="$CFLAGS_SOUND $ALSA_CFLAGS"
|
||||
CFLAGS="$SAVE_CFLAGS"
|
||||
LIBS="$SAVE_LIBS"
|
||||
LIBSOUND="$LIBSOUND $ALSA_LIBS"
|
||||
CFLAGS_SOUND="$CFLAGS_SOUND $ALSA_CFLAGS"
|
||||
|
||||
$as_echo "#define HAVE_ALSA 1" >>confdefs.h
|
||||
|
||||
elif test "${with_sound}" = "alsa"; then
|
||||
as_fn_error "ALSA sound support requested but not found." "$LINENO" 5
|
||||
fi
|
||||
fi
|
||||
|
||||
if test x$have_sound_header = xyes || test $HAVE_ALSA = yes; then
|
||||
if test x$have_sound_header = xyes || test $HAVE_ALSA = yes; then
|
||||
case "$opsys" in
|
||||
gnu-linux|freebsd|netbsd|mingw32)
|
||||
gnu-linux|freebsd|netbsd|mingw32)
|
||||
|
||||
$as_echo "#define HAVE_SOUND 1" >>confdefs.h
|
||||
|
||||
HAVE_SOUND=yes
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
@ -10028,7 +10071,7 @@ if test "${HAVE_NS}" = yes; then
|
|||
exec_prefix=${ns_appbindir}
|
||||
libexecdir="\${ns_appbindir}/libexec"
|
||||
archlibdir="\${ns_appbindir}/libexec"
|
||||
docdir="\${ns_appresdir}/etc"
|
||||
etcdocdir="\${ns_appresdir}/etc"
|
||||
etcdir="\${ns_appresdir}/etc"
|
||||
infodir="\${ns_appresdir}/info"
|
||||
mandir="\${ns_appresdir}/man"
|
||||
|
@ -10053,6 +10096,7 @@ CLIENTRES=
|
|||
CLIENTW=
|
||||
W32_RES_LINK=
|
||||
EMACS_MANIFEST=
|
||||
UPDATE_MANIFEST=
|
||||
if test "${with_w32}" != no; then
|
||||
case "${opsys}" in
|
||||
cygwin)
|
||||
|
@ -10216,6 +10260,7 @@ fi
|
|||
x86_64-*-*) EMACS_MANIFEST="emacs-x64.manifest" ;;
|
||||
*) EMACS_MANIFEST="emacs-x86.manifest" ;;
|
||||
esac
|
||||
UPDATE_MANIFEST=update-game-score.exe.manifest
|
||||
if test "${opsys}" = "cygwin"; then
|
||||
W32_LIBS="$W32_LIBS -lkernel32 -luser32 -lgdi32 -lole32 -lcomdlg32"
|
||||
W32_LIBS="$W32_LIBS -lusp10 -lcomctl32 -lwinspool"
|
||||
|
@ -10253,6 +10298,7 @@ fi
|
|||
|
||||
|
||||
|
||||
|
||||
if test "${HAVE_W32}" = "yes"; then
|
||||
window_system=w32
|
||||
with_xft=no
|
||||
|
@ -13595,6 +13641,83 @@ fi
|
|||
fi
|
||||
|
||||
|
||||
HAVE_ZLIB=no
|
||||
LIBZ=
|
||||
if test "${with_zlib}" != "no"; then
|
||||
OLIBS=$LIBS
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing inflateEnd" >&5
|
||||
$as_echo_n "checking for library containing inflateEnd... " >&6; }
|
||||
if test "${ac_cv_search_inflateEnd+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_func_search_save_LIBS=$LIBS
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
|
||||
/* Override any GCC internal prototype to avoid an error.
|
||||
Use char because int might match the return type of a GCC
|
||||
builtin and then its argument prototype would still apply. */
|
||||
#ifdef __cplusplus
|
||||
extern "C"
|
||||
#endif
|
||||
char inflateEnd ();
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return inflateEnd ();
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
for ac_lib in '' z; do
|
||||
if test -z "$ac_lib"; then
|
||||
ac_res="none required"
|
||||
else
|
||||
ac_res=-l$ac_lib
|
||||
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
|
||||
fi
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
ac_cv_search_inflateEnd=$ac_res
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext
|
||||
if test "${ac_cv_search_inflateEnd+set}" = set; then :
|
||||
break
|
||||
fi
|
||||
done
|
||||
if test "${ac_cv_search_inflateEnd+set}" = set; then :
|
||||
|
||||
else
|
||||
ac_cv_search_inflateEnd=no
|
||||
fi
|
||||
rm conftest.$ac_ext
|
||||
LIBS=$ac_func_search_save_LIBS
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_inflateEnd" >&5
|
||||
$as_echo "$ac_cv_search_inflateEnd" >&6; }
|
||||
ac_res=$ac_cv_search_inflateEnd
|
||||
if test "$ac_res" != no; then :
|
||||
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
|
||||
HAVE_ZLIB=yes
|
||||
fi
|
||||
|
||||
LIBS=$OLIBS
|
||||
case $ac_cv_search_inflateEnd in
|
||||
-*) LIBZ=$ac_cv_search_inflateEnd ;;
|
||||
esac
|
||||
fi
|
||||
if test "${HAVE_ZLIB}" = "yes"; then
|
||||
|
||||
$as_echo "#define HAVE_ZLIB 1" >>confdefs.h
|
||||
|
||||
### mingw32 doesn't use -lz, since it loads the library dynamically.
|
||||
if test "${opsys}" = "mingw32"; then
|
||||
LIBZ=
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
||||
### Use -ltiff if available, unless `--with-tiff=no'.
|
||||
### mingw32 doesn't use -ltiff, since it loads the library dynamically.
|
||||
HAVE_TIFF=no
|
||||
|
@ -14674,7 +14797,7 @@ select getpagesize setlocale \
|
|||
getrlimit setrlimit shutdown getaddrinfo \
|
||||
strsignal setitimer \
|
||||
sendto recvfrom getsockname getpeername getifaddrs freeifaddrs \
|
||||
gai_strerror mkostemp mkstemp getline getdelim sync \
|
||||
gai_strerror getline getdelim sync \
|
||||
difftime posix_memalign \
|
||||
getpwent endpwent getgrent endgrent \
|
||||
touchlock \
|
||||
|
@ -16947,7 +17070,7 @@ fi
|
|||
|
||||
|
||||
case $opsys in
|
||||
cygwin)
|
||||
cygwin)
|
||||
|
||||
$as_echo "#define G_SLICE_ALWAYS_MALLOC 1" >>confdefs.h
|
||||
|
||||
|
@ -17050,7 +17173,7 @@ cat >>confdefs.h <<_ACEOF
|
|||
#define EMACS_CONFIGURATION "${canonical}"
|
||||
_ACEOF
|
||||
|
||||
emacs_config_options=`echo "$emacs_config_options " | sed -e 's/--no-create //' -e 's/--no-recursion //' -e 's/ *$//' -e "s/\"/'/g"`
|
||||
emacs_config_options=`echo "$emacs_config_options " | sed -e 's/--no-create //' -e 's/--no-recursion //' -e 's/ *$//' -e "s/\"/'/g" -e 's/\\\\/\\\\\\\\/g'`
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define EMACS_CONFIG_OPTIONS "${emacs_config_options}"
|
||||
|
@ -18494,8 +18617,6 @@ _ACEOF
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
GNULIB_FCHMODAT=0;
|
||||
GNULIB_FSTAT=0;
|
||||
GNULIB_FSTATAT=0;
|
||||
|
@ -20685,6 +20806,8 @@ cat >>confdefs.h <<_ACEOF
|
|||
_ACEOF
|
||||
|
||||
|
||||
|
||||
|
||||
GNULIB_MKTIME=0;
|
||||
GNULIB_NANOSLEEP=0;
|
||||
GNULIB_STRPTIME=0;
|
||||
|
@ -21914,6 +22037,8 @@ _ACEOF
|
|||
|
||||
|
||||
|
||||
|
||||
|
||||
if false; then
|
||||
GL_COND_LIBTOOL_TRUE=
|
||||
GL_COND_LIBTOOL_FALSE='#'
|
||||
|
@ -22932,27 +23057,40 @@ _ACEOF
|
|||
|
||||
|
||||
|
||||
|
||||
fp_headers='
|
||||
# include <stdio.h>
|
||||
# if HAVE_STDIO_EXT_H
|
||||
# include <stdio_ext.h>
|
||||
# endif
|
||||
'
|
||||
ac_fn_c_check_decl "$LINENO" "__fpending" "ac_cv_have_decl___fpending" "$fp_headers
|
||||
"
|
||||
if test "x$ac_cv_have_decl___fpending" = x""yes; then :
|
||||
ac_have_decl=1
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __fpending" >&5
|
||||
$as_echo_n "checking for __fpending... " >&6; }
|
||||
if test "${gl_cv_func___fpending+set}" = set; then :
|
||||
$as_echo_n "(cached) " >&6
|
||||
else
|
||||
ac_have_decl=0
|
||||
fi
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define HAVE_DECL___FPENDING $ac_have_decl
|
||||
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
|
||||
/* end confdefs.h. */
|
||||
#include <stdio.h>
|
||||
#if HAVE_STDIO_EXT_H
|
||||
# include <stdio_ext.h>
|
||||
#endif
|
||||
|
||||
int
|
||||
main ()
|
||||
{
|
||||
return ! __fpending (stdin);
|
||||
;
|
||||
return 0;
|
||||
}
|
||||
_ACEOF
|
||||
if ac_fn_c_try_link "$LINENO"; then :
|
||||
gl_cv_func___fpending=yes
|
||||
else
|
||||
gl_cv_func___fpending=no
|
||||
fi
|
||||
rm -f core conftest.err conftest.$ac_objext \
|
||||
conftest$ac_exeext conftest.$ac_ext
|
||||
|
||||
fi
|
||||
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $gl_cv_func___fpending" >&5
|
||||
$as_echo "$gl_cv_func___fpending" >&6; }
|
||||
|
||||
if test $ac_cv_func___fpending = no; then
|
||||
if test $gl_cv_func___fpending = no; then
|
||||
|
||||
|
||||
|
||||
|
@ -24072,6 +24210,48 @@ done
|
|||
|
||||
|
||||
|
||||
if test $ac_cv_func_mkostemp != yes; then
|
||||
HAVE_MKOSTEMP=0
|
||||
fi
|
||||
|
||||
if test $HAVE_MKOSTEMP = 0; then
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
gl_LIBOBJS="$gl_LIBOBJS mkostemp.$ac_objext"
|
||||
|
||||
|
||||
|
||||
fi
|
||||
|
||||
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define GNULIB_MKOSTEMP 1
|
||||
_ACEOF
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
GNULIB_MKOSTEMP=1
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if test $APPLE_UNIVERSAL_BUILD = 1; then
|
||||
# A universal build on Apple Mac OS X platforms.
|
||||
# The test result would be 'yes' in 32-bit mode and 'no' in 64-bit mode.
|
||||
|
@ -27475,9 +27655,11 @@ $as_echo "#define FUTIMESAT_NULL_BUG 1" >>confdefs.h
|
|||
gl_gnulib_enabled_03e0aaad4cb89ca757653bd367a6ccb7=false
|
||||
gl_gnulib_enabled_pathmax=false
|
||||
gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c=false
|
||||
gl_gnulib_enabled_secure_getenv=false
|
||||
gl_gnulib_enabled_stat=false
|
||||
gl_gnulib_enabled_strtoll=false
|
||||
gl_gnulib_enabled_strtoull=false
|
||||
gl_gnulib_enabled_tempname=false
|
||||
gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec=false
|
||||
func_gl_gnulib_m4code_260941c0e5dc67ec9e87d1fb321c300b ()
|
||||
{
|
||||
|
@ -28078,6 +28260,70 @@ fi
|
|||
gl_gnulib_enabled_6099e9737f757db36c47fa9d9f02e88c=true
|
||||
fi
|
||||
}
|
||||
func_gl_gnulib_m4code_secure_getenv ()
|
||||
{
|
||||
if ! $gl_gnulib_enabled_secure_getenv; then
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if test $ac_cv_func_secure_getenv = no; then
|
||||
HAVE_SECURE_GETENV=0
|
||||
fi
|
||||
|
||||
if test $HAVE_SECURE_GETENV = 0; then
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
gl_LIBOBJS="$gl_LIBOBJS secure_getenv.$ac_objext"
|
||||
|
||||
|
||||
for ac_func in __secure_getenv
|
||||
do :
|
||||
ac_fn_c_check_func "$LINENO" "__secure_getenv" "ac_cv_func___secure_getenv"
|
||||
if test "x$ac_cv_func___secure_getenv" = x""yes; then :
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define HAVE___SECURE_GETENV 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
done
|
||||
|
||||
if test $ac_cv_func___secure_getenv = no; then
|
||||
for ac_func in issetugid
|
||||
do :
|
||||
ac_fn_c_check_func "$LINENO" "issetugid" "ac_cv_func_issetugid"
|
||||
if test "x$ac_cv_func_issetugid" = x""yes; then :
|
||||
cat >>confdefs.h <<_ACEOF
|
||||
#define HAVE_ISSETUGID 1
|
||||
_ACEOF
|
||||
|
||||
fi
|
||||
done
|
||||
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
GNULIB_SECURE_GETENV=1
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
gl_gnulib_enabled_secure_getenv=true
|
||||
fi
|
||||
}
|
||||
func_gl_gnulib_m4code_stat ()
|
||||
{
|
||||
if ! $gl_gnulib_enabled_stat; then
|
||||
|
@ -28322,6 +28568,18 @@ done
|
|||
gl_gnulib_enabled_strtoull=true
|
||||
fi
|
||||
}
|
||||
func_gl_gnulib_m4code_tempname ()
|
||||
{
|
||||
if ! $gl_gnulib_enabled_tempname; then
|
||||
|
||||
|
||||
:
|
||||
|
||||
|
||||
gl_gnulib_enabled_tempname=true
|
||||
func_gl_gnulib_m4code_secure_getenv
|
||||
fi
|
||||
}
|
||||
func_gl_gnulib_m4code_682e609604ccaac6be382e4ee3a4eaec ()
|
||||
{
|
||||
if ! $gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec; then
|
||||
|
@ -28364,6 +28622,9 @@ done
|
|||
if test $REPLACE_LSTAT = 1; then
|
||||
func_gl_gnulib_m4code_stat
|
||||
fi
|
||||
if test $HAVE_MKOSTEMP = 0; then
|
||||
func_gl_gnulib_m4code_tempname
|
||||
fi
|
||||
if test $HAVE_READLINK = 0 || test $REPLACE_READLINK = 1; then
|
||||
func_gl_gnulib_m4code_stat
|
||||
fi
|
||||
|
@ -28463,6 +28724,14 @@ else
|
|||
gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c_FALSE=
|
||||
fi
|
||||
|
||||
if $gl_gnulib_enabled_secure_getenv; then
|
||||
gl_GNULIB_ENABLED_secure_getenv_TRUE=
|
||||
gl_GNULIB_ENABLED_secure_getenv_FALSE='#'
|
||||
else
|
||||
gl_GNULIB_ENABLED_secure_getenv_TRUE='#'
|
||||
gl_GNULIB_ENABLED_secure_getenv_FALSE=
|
||||
fi
|
||||
|
||||
if $gl_gnulib_enabled_stat; then
|
||||
gl_GNULIB_ENABLED_stat_TRUE=
|
||||
gl_GNULIB_ENABLED_stat_FALSE='#'
|
||||
|
@ -28487,6 +28756,14 @@ else
|
|||
gl_GNULIB_ENABLED_strtoull_FALSE=
|
||||
fi
|
||||
|
||||
if $gl_gnulib_enabled_tempname; then
|
||||
gl_GNULIB_ENABLED_tempname_TRUE=
|
||||
gl_GNULIB_ENABLED_tempname_FALSE='#'
|
||||
else
|
||||
gl_GNULIB_ENABLED_tempname_TRUE='#'
|
||||
gl_GNULIB_ENABLED_tempname_FALSE=
|
||||
fi
|
||||
|
||||
if $gl_gnulib_enabled_682e609604ccaac6be382e4ee3a4eaec; then
|
||||
gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_TRUE=
|
||||
gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_FALSE='#'
|
||||
|
@ -28679,6 +28956,8 @@ echo " Does Emacs use -lpng? ${HAVE_PNG}"
|
|||
echo " Does Emacs use -lrsvg-2? ${HAVE_RSVG}"
|
||||
echo " Does Emacs use imagemagick? ${HAVE_IMAGEMAGICK}"
|
||||
|
||||
echo " Does Emacs support sound? ${HAVE_SOUND}"
|
||||
|
||||
echo " Does Emacs use -lgpm? ${HAVE_GPM}"
|
||||
echo " Does Emacs use -ldbus? ${HAVE_DBUS}"
|
||||
echo " Does Emacs use -lgconf? ${HAVE_GCONF}"
|
||||
|
@ -28693,6 +28972,7 @@ echo " Does Emacs use -lfreetype? ${HAVE_FREETYPE}
|
|||
echo " Does Emacs use -lm17n-flt? ${HAVE_M17N_FLT}"
|
||||
echo " Does Emacs use -lotf? ${HAVE_LIBOTF}"
|
||||
echo " Does Emacs use -lxft? ${HAVE_XFT}"
|
||||
echo " Does Emacs directly use zlib? ${HAVE_ZLIB}"
|
||||
|
||||
echo " Does Emacs use toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}"
|
||||
echo
|
||||
|
@ -28973,6 +29253,10 @@ if test -z "${gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c_TRUE}" && test
|
|||
as_fn_error "conditional \"gl_GNULIB_ENABLED_6099e9737f757db36c47fa9d9f02e88c\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
if test -z "${gl_GNULIB_ENABLED_secure_getenv_TRUE}" && test -z "${gl_GNULIB_ENABLED_secure_getenv_FALSE}"; then
|
||||
as_fn_error "conditional \"gl_GNULIB_ENABLED_secure_getenv\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
if test -z "${gl_GNULIB_ENABLED_stat_TRUE}" && test -z "${gl_GNULIB_ENABLED_stat_FALSE}"; then
|
||||
as_fn_error "conditional \"gl_GNULIB_ENABLED_stat\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
|
@ -28985,6 +29269,10 @@ if test -z "${gl_GNULIB_ENABLED_strtoull_TRUE}" && test -z "${gl_GNULIB_ENABLED_
|
|||
as_fn_error "conditional \"gl_GNULIB_ENABLED_strtoull\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
if test -z "${gl_GNULIB_ENABLED_tempname_TRUE}" && test -z "${gl_GNULIB_ENABLED_tempname_FALSE}"; then
|
||||
as_fn_error "conditional \"gl_GNULIB_ENABLED_tempname\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
fi
|
||||
if test -z "${gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_TRUE}" && test -z "${gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec_FALSE}"; then
|
||||
as_fn_error "conditional \"gl_GNULIB_ENABLED_682e609604ccaac6be382e4ee3a4eaec\" was never defined.
|
||||
Usually this means the macro was only invoked conditionally." "$LINENO" 5
|
||||
|
|
135
configure.ac
135
configure.ac
|
@ -60,7 +60,7 @@ locallisppath='${datadir}/emacs/${version}/site-lisp:'\
|
|||
lisppath='${locallisppath}:${standardlisppath}'
|
||||
etcdir='${datadir}/emacs/${version}/etc'
|
||||
archlibdir='${libexecdir}/emacs/${version}/${configuration}'
|
||||
docdir='${datadir}/emacs/${version}/etc'
|
||||
etcdocdir='${datadir}/emacs/${version}/etc'
|
||||
gamedir='${localstatedir}/games/emacs'
|
||||
|
||||
dnl Special option to disable the most of other options.
|
||||
|
@ -141,7 +141,18 @@ AC_ARG_WITH([mailhost],[AS_HELP_STRING([--with-mailhost=HOSTNAME],
|
|||
[string giving default POP mail host])],
|
||||
AC_DEFINE_UNQUOTED(MAILHOST, ["$withval"], [String giving fallback POP mail host.]))
|
||||
|
||||
OPTION_DEFAULT_ON([sound],[don't compile with sound support])
|
||||
AC_ARG_WITH([sound],[AS_HELP_STRING([--with-sound=VALUE],
|
||||
[compile with sound support (VALUE one of: yes, ossaudio, alsa, no;
|
||||
default yes). Only for GNU/Linux, FreeBSD, NetBSD, MinGW.])],
|
||||
[ case "${withval}" in
|
||||
yes|no|ossaudio|alsa) val=$withval ;;
|
||||
*) AC_MSG_ERROR([`--with-sound=$withval' is invalid;
|
||||
this option's value should be `yes', `no', `ossaudio', or `alsa'.])
|
||||
;;
|
||||
esac
|
||||
with_sound=$val
|
||||
],
|
||||
[with_sound=$with_features])
|
||||
|
||||
dnl FIXME currently it is not the last.
|
||||
dnl This should be the last --with option, because --with-x is
|
||||
|
@ -200,6 +211,7 @@ OPTION_DEFAULT_ON([gconf],[don't compile with GConf support])
|
|||
OPTION_DEFAULT_ON([gsettings],[don't compile with GSettings support])
|
||||
OPTION_DEFAULT_ON([selinux],[don't compile with SELinux support])
|
||||
OPTION_DEFAULT_ON([gnutls],[don't use -lgnutls for SSL/TLS support])
|
||||
OPTION_DEFAULT_ON([zlib],[don't compile with zlib decompression support])
|
||||
|
||||
AC_ARG_WITH([file-notification],[AS_HELP_STRING([--with-file-notification=LIB],
|
||||
[use a file notification library (LIB one of: yes, gfile, inotify, w32, no)])],
|
||||
|
@ -1253,6 +1265,7 @@ AC_DEFUN([PKG_CHECK_MODULES], [
|
|||
fi
|
||||
])
|
||||
|
||||
HAVE_SOUND=no
|
||||
if test "${with_sound}" != "no"; then
|
||||
# Sound support for GNU/Linux, the free BSDs, and MinGW.
|
||||
AC_CHECK_HEADERS([machine/soundcard.h sys/soundcard.h soundcard.h],
|
||||
|
@ -1262,47 +1275,61 @@ if test "${with_sound}" != "no"; then
|
|||
#include <windows.h>
|
||||
#endif
|
||||
])
|
||||
# Emulation library used on NetBSD.
|
||||
AC_CHECK_LIB(ossaudio, _oss_ioctl, LIBSOUND=-lossaudio, LIBSOUND=)
|
||||
if test "${with_sound}" = "ossaudio" || test "${with_sound}" = "yes"; then
|
||||
# Emulation library used on NetBSD.
|
||||
AC_CHECK_LIB(ossaudio, _oss_ioctl, LIBSOUND=-lossaudio, LIBSOUND=)
|
||||
test "${with_sound}" = "ossaudio" && test -z "$LIBSOUND" && \
|
||||
AC_MSG_ERROR([ossaudio sound support requested but not found.])
|
||||
dnl FIXME? If we did find ossaudio, should we set with_sound=ossaudio?
|
||||
dnl Traditionally, we go on to check for alsa too. Does that make sense?
|
||||
fi
|
||||
AC_SUBST(LIBSOUND)
|
||||
|
||||
ALSA_REQUIRED=1.0.0
|
||||
ALSA_MODULES="alsa >= $ALSA_REQUIRED"
|
||||
PKG_CHECK_MODULES(ALSA, $ALSA_MODULES, HAVE_ALSA=yes, HAVE_ALSA=no)
|
||||
if test $HAVE_ALSA = yes; then
|
||||
SAVE_CFLAGS="$CFLAGS"
|
||||
SAVE_LIBS="$LIBS"
|
||||
CFLAGS="$ALSA_CFLAGS $CFLAGS"
|
||||
LIBS="$ALSA_LIBS $LIBS"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <asoundlib.h>]], [[snd_lib_error_set_handler (0);]])],
|
||||
emacs_alsa_normal=yes,
|
||||
emacs_alsa_normal=no)
|
||||
if test "$emacs_alsa_normal" != yes; then
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <alsa/asoundlib.h>]],
|
||||
[[snd_lib_error_set_handler (0);]])],
|
||||
emacs_alsa_subdir=yes,
|
||||
emacs_alsa_subdir=no)
|
||||
if test "$emacs_alsa_subdir" != yes; then
|
||||
AC_MSG_ERROR([pkg-config found alsa, but it does not compile. See config.log for error messages.])
|
||||
if test "${with_sound}" = "alsa" || test "${with_sound}" = "yes"; then
|
||||
ALSA_REQUIRED=1.0.0
|
||||
ALSA_MODULES="alsa >= $ALSA_REQUIRED"
|
||||
PKG_CHECK_MODULES(ALSA, $ALSA_MODULES, HAVE_ALSA=yes, HAVE_ALSA=no)
|
||||
if test $HAVE_ALSA = yes; then
|
||||
SAVE_CFLAGS="$CFLAGS"
|
||||
SAVE_LIBS="$LIBS"
|
||||
CFLAGS="$ALSA_CFLAGS $CFLAGS"
|
||||
LIBS="$ALSA_LIBS $LIBS"
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <asoundlib.h>]], [[snd_lib_error_set_handler (0);]])],
|
||||
emacs_alsa_normal=yes,
|
||||
emacs_alsa_normal=no)
|
||||
if test "$emacs_alsa_normal" != yes; then
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include <alsa/asoundlib.h>]],
|
||||
[[snd_lib_error_set_handler (0);]])],
|
||||
emacs_alsa_subdir=yes,
|
||||
emacs_alsa_subdir=no)
|
||||
if test "$emacs_alsa_subdir" != yes; then
|
||||
AC_MSG_ERROR([pkg-config found alsa, but it does not compile. See config.log for error messages.])
|
||||
fi
|
||||
ALSA_CFLAGS="$ALSA_CFLAGS -DALSA_SUBDIR_INCLUDE"
|
||||
fi
|
||||
ALSA_CFLAGS="$ALSA_CFLAGS -DALSA_SUBDIR_INCLUDE"
|
||||
fi
|
||||
|
||||
CFLAGS="$SAVE_CFLAGS"
|
||||
LIBS="$SAVE_LIBS"
|
||||
LIBSOUND="$LIBSOUND $ALSA_LIBS"
|
||||
CFLAGS_SOUND="$CFLAGS_SOUND $ALSA_CFLAGS"
|
||||
AC_DEFINE(HAVE_ALSA, 1, [Define to 1 if ALSA is available.])
|
||||
fi
|
||||
CFLAGS="$SAVE_CFLAGS"
|
||||
LIBS="$SAVE_LIBS"
|
||||
LIBSOUND="$LIBSOUND $ALSA_LIBS"
|
||||
CFLAGS_SOUND="$CFLAGS_SOUND $ALSA_CFLAGS"
|
||||
AC_DEFINE(HAVE_ALSA, 1, [Define to 1 if ALSA is available.])
|
||||
elif test "${with_sound}" = "alsa"; then
|
||||
AC_MSG_ERROR([ALSA sound support requested but not found.])
|
||||
fi
|
||||
fi dnl with_sound = alsa|yes
|
||||
|
||||
dnl Define HAVE_SOUND if we have sound support. We know it works and
|
||||
dnl compiles only on the specified platforms. For others, it
|
||||
dnl probably doesn't make sense to try.
|
||||
dnl FIXME So surely we should bypass this whole section if not using
|
||||
dnl one of these platforms?
|
||||
if test x$have_sound_header = xyes || test $HAVE_ALSA = yes; then
|
||||
case "$opsys" in
|
||||
dnl defined __FreeBSD__ || defined __NetBSD__ || defined __linux__
|
||||
dnl Adjust the --with-sound help text if you change this.
|
||||
gnu-linux|freebsd|netbsd|mingw32)
|
||||
AC_DEFINE(HAVE_SOUND, 1, [Define to 1 if you have sound support.])
|
||||
HAVE_SOUND=yes
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
@ -1588,7 +1615,7 @@ if test "${HAVE_NS}" = yes; then
|
|||
dnl This one isn't really used, only archlibdir is.
|
||||
libexecdir="\${ns_appbindir}/libexec"
|
||||
archlibdir="\${ns_appbindir}/libexec"
|
||||
docdir="\${ns_appresdir}/etc"
|
||||
etcdocdir="\${ns_appresdir}/etc"
|
||||
etcdir="\${ns_appresdir}/etc"
|
||||
dnl FIXME maybe set datarootdir instead.
|
||||
dnl That would also get applications, icons, man.
|
||||
|
@ -1615,6 +1642,7 @@ CLIENTRES=
|
|||
CLIENTW=
|
||||
W32_RES_LINK=
|
||||
EMACS_MANIFEST=
|
||||
UPDATE_MANIFEST=
|
||||
if test "${with_w32}" != no; then
|
||||
case "${opsys}" in
|
||||
cygwin)
|
||||
|
@ -1665,6 +1693,7 @@ if test "${HAVE_W32}" = "yes"; then
|
|||
x86_64-*-*) EMACS_MANIFEST="emacs-x64.manifest" ;;
|
||||
*) EMACS_MANIFEST="emacs-x86.manifest" ;;
|
||||
esac
|
||||
UPDATE_MANIFEST=update-game-score.exe.manifest
|
||||
if test "${opsys}" = "cygwin"; then
|
||||
W32_LIBS="$W32_LIBS -lkernel32 -luser32 -lgdi32 -lole32 -lcomdlg32"
|
||||
W32_LIBS="$W32_LIBS -lusp10 -lcomctl32 -lwinspool"
|
||||
|
@ -1691,6 +1720,7 @@ AC_SUBST(W32_OBJ)
|
|||
AC_SUBST(W32_LIBS)
|
||||
AC_SUBST(EMACSRES)
|
||||
AC_SUBST(EMACS_MANIFEST)
|
||||
AC_SUBST(UPDATE_MANIFEST)
|
||||
AC_SUBST(CLIENTRES)
|
||||
AC_SUBST(CLIENTW)
|
||||
AC_SUBST(W32_RES_LINK)
|
||||
|
@ -2913,6 +2943,26 @@ elif test "${HAVE_X11}" = "yes" || test "${HAVE_W32}" = "yes"; then
|
|||
fi
|
||||
AC_SUBST(LIBPNG)
|
||||
|
||||
HAVE_ZLIB=no
|
||||
LIBZ=
|
||||
if test "${with_zlib}" != "no"; then
|
||||
OLIBS=$LIBS
|
||||
AC_SEARCH_LIBS([inflateEnd], [z], [HAVE_ZLIB=yes])
|
||||
LIBS=$OLIBS
|
||||
case $ac_cv_search_inflateEnd in
|
||||
-*) LIBZ=$ac_cv_search_inflateEnd ;;
|
||||
esac
|
||||
fi
|
||||
if test "${HAVE_ZLIB}" = "yes"; then
|
||||
AC_DEFINE([HAVE_ZLIB], 1, [Define to 1 if you have the zlib library (-lz).])
|
||||
### mingw32 doesn't use -lz, since it loads the library dynamically.
|
||||
if test "${opsys}" = "mingw32"; then
|
||||
LIBZ=
|
||||
fi
|
||||
fi
|
||||
AC_SUBST(LIBZ)
|
||||
|
||||
|
||||
### Use -ltiff if available, unless `--with-tiff=no'.
|
||||
### mingw32 doesn't use -ltiff, since it loads the library dynamically.
|
||||
HAVE_TIFF=no
|
||||
|
@ -3251,7 +3301,7 @@ select getpagesize setlocale \
|
|||
getrlimit setrlimit shutdown getaddrinfo \
|
||||
strsignal setitimer \
|
||||
sendto recvfrom getsockname getpeername getifaddrs freeifaddrs \
|
||||
gai_strerror mkostemp mkstemp getline getdelim sync \
|
||||
gai_strerror getline getdelim sync \
|
||||
difftime posix_memalign \
|
||||
getpwent endpwent getgrent endgrent \
|
||||
touchlock \
|
||||
|
@ -4290,14 +4340,16 @@ fi
|
|||
|
||||
|
||||
case $opsys in
|
||||
dnl Emacs supplies its own malloc, but glib (part of Gtk+) calls
|
||||
dnl memalign and on Cygwin, that becomes the Cygwin-supplied memalign.
|
||||
dnl As malloc is not the Cygwin malloc, the Cygwin memalign always
|
||||
dnl returns ENOSYS. A workaround is to set G_SLICE=always-malloc. */
|
||||
dnl Emacs supplies its own malloc, but glib calls posix_memalign,
|
||||
dnl and on Cygwin prior to version 1.7.24 that becomes the
|
||||
dnl Cygwin-supplied posix_memalign. As malloc is not the Cygwin
|
||||
dnl malloc, the Cygwin posix_memalign always returns ENOSYS. A
|
||||
dnl workaround is to set G_SLICE=always-malloc. This is no longer
|
||||
dnl needed starting with cygwin-1.7.24, and it is no longer
|
||||
dnl effective starting with glib-2.36. */
|
||||
cygwin)
|
||||
AC_DEFINE(G_SLICE_ALWAYS_MALLOC, 1, [Define to set the
|
||||
G_SLICE environment variable to "always-malloc" at startup, if
|
||||
using GTK.])
|
||||
G_SLICE environment variable to "always-malloc" at startup.])
|
||||
;;
|
||||
|
||||
hpux11)
|
||||
|
@ -4361,7 +4413,7 @@ AC_SUBST(lisppath)
|
|||
AC_SUBST(x_default_search_path)
|
||||
AC_SUBST(etcdir)
|
||||
AC_SUBST(archlibdir)
|
||||
AC_SUBST(docdir)
|
||||
AC_SUBST(etcdocdir)
|
||||
AC_SUBST(bitmapdir)
|
||||
AC_SUBST(gamedir)
|
||||
AC_SUBST(gameuser)
|
||||
|
@ -4389,7 +4441,7 @@ fi
|
|||
AC_DEFINE_UNQUOTED(EMACS_CONFIGURATION, "${canonical}",
|
||||
[Define to the canonical Emacs configuration name.])
|
||||
dnl Replace any embedded " characters (bug#13274).
|
||||
emacs_config_options=`echo "$emacs_config_options " | sed -e 's/--no-create //' -e 's/--no-recursion //' -e 's/ *$//' -e "s/\"/'/g"`
|
||||
emacs_config_options=`echo "$emacs_config_options " | sed -e 's/--no-create //' -e 's/--no-recursion //' -e 's/ *$//' -e "s/\"/'/g" -e 's/\\\\/\\\\\\\\/g'`
|
||||
AC_DEFINE_UNQUOTED(EMACS_CONFIG_OPTIONS, "${emacs_config_options}",
|
||||
[Define to the options passed to configure.])
|
||||
AH_TEMPLATE(config_opsysfile, [Some platforms that do not use configure
|
||||
|
@ -4749,6 +4801,8 @@ echo " Does Emacs use -lpng? ${HAVE_PNG}"
|
|||
echo " Does Emacs use -lrsvg-2? ${HAVE_RSVG}"
|
||||
echo " Does Emacs use imagemagick? ${HAVE_IMAGEMAGICK}"
|
||||
|
||||
echo " Does Emacs support sound? ${HAVE_SOUND}"
|
||||
|
||||
echo " Does Emacs use -lgpm? ${HAVE_GPM}"
|
||||
echo " Does Emacs use -ldbus? ${HAVE_DBUS}"
|
||||
echo " Does Emacs use -lgconf? ${HAVE_GCONF}"
|
||||
|
@ -4763,6 +4817,7 @@ echo " Does Emacs use -lfreetype? ${HAVE_FREETYPE}
|
|||
echo " Does Emacs use -lm17n-flt? ${HAVE_M17N_FLT}"
|
||||
echo " Does Emacs use -lotf? ${HAVE_LIBOTF}"
|
||||
echo " Does Emacs use -lxft? ${HAVE_XFT}"
|
||||
echo " Does Emacs directly use zlib? ${HAVE_ZLIB}"
|
||||
|
||||
echo " Does Emacs use toolkit scroll bars? ${USE_TOOLKIT_SCROLL_BARS}"
|
||||
echo
|
||||
|
|
|
@ -1,3 +1,71 @@
|
|||
2013-08-17 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* text.texi (Enriched Justification): Minor fixes.
|
||||
|
||||
2013-08-14 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* files.texi (Filesets): Add an index.
|
||||
|
||||
2013-08-12 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* macos.texi (GNUstep Support):
|
||||
* trouble.texi (Checklist, Contributing, Service):
|
||||
Avoid mailto: in html output.
|
||||
|
||||
* Makefile.in (prefix, datarootdir, datadir, PACKAGE_TARNAME)
|
||||
(docdir, dvidir, htmldir, pdfdir, psdir, GZIP_PROG, INSTALL)
|
||||
(INSTALL_DATA): New, set by configure.
|
||||
(HTML_OPTS, DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS):
|
||||
New variables.
|
||||
(.SUFFIXES): Add .ps and .dvi.
|
||||
(.dvi.ps): New suffix rule.
|
||||
(dvi, html, pdf, ps): Use *_TARGETS variables.
|
||||
(emacs.ps, emacs-xtra.ps): Remove explicit rules.
|
||||
(emacs.html): Use HTML_OPTS.
|
||||
(clean): Use DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS.
|
||||
(.PHONY): install-dvi, install-html, install-pdf, install-ps
|
||||
,install-doc, uninstall-dvi, uninstall-html, uninstall-pdf,
|
||||
uninstall-ps, and uninstall-doc.
|
||||
(install-dvi, install-html, install-pdf, install-ps, install-doc)
|
||||
(uninstall-dvi, uninstall-html, uninstall-ps, uninstall-pdf)
|
||||
(uninstall-doc): New rules.
|
||||
|
||||
2013-07-31 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* emacs.texi (Top): Remove menu item for the removed "Disabling
|
||||
Multibyte" node.
|
||||
|
||||
2013-07-31 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* rmail.texi (Rmail Coding): Move here from mule.texi.
|
||||
|
||||
* custom.texi (Specifying File Variables): Fix cross-references.
|
||||
|
||||
* mule.texi (Unibyte Mode): Fix cross-references.
|
||||
(Disabling Multibyte): Remove.
|
||||
|
||||
* macos.texi (Mac / GNUstep Basics): Mention `ns-alternate-modifier'.
|
||||
|
||||
* cal-xtra.texi (Advanced Calendar/Diary Usage): Update menu.
|
||||
(Mayan Calendar): Move here from calendar.texi.
|
||||
* emacs.texi (Top): Update menu.
|
||||
|
||||
2013-07-30 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* emacs.texi (Top): Add menu entry.
|
||||
|
||||
* maintaining.texi (VC Ignore): New node. Document vc-ignore.
|
||||
(VC Directory Commands): Add vc-dir-ignore.
|
||||
|
||||
2013-07-28 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* glossary.texi (Glossary): Add some entries.
|
||||
|
||||
2013-07-27 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* maintaining.texi (VC Directory Commands): Mention `D' and `L' in
|
||||
vc-dir. (Bug#14948)
|
||||
|
||||
2013-07-26 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* display.texi (Fringes): Document the variable fringe-mode.
|
||||
|
|
|
@ -38,8 +38,22 @@ buildinfodir = $(srcdir)/../../info
|
|||
# Directory with the (customized) texinfo.tex file.
|
||||
texinfodir = $(srcdir)/../misc
|
||||
|
||||
prefix = @prefix@
|
||||
datarootdir = @datarootdir@
|
||||
datadir = @datadir@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
htmldir = @htmldir@
|
||||
pdfdir = @pdfdir@
|
||||
psdir = @psdir@
|
||||
|
||||
MKDIR_P = @MKDIR_P@
|
||||
|
||||
GZIP_PROG = @GZIP_PROG@
|
||||
|
||||
HTML_OPTS = --no-split --html
|
||||
|
||||
INFO_EXT=@INFO_EXT@
|
||||
# Options used only when making info output.
|
||||
# --no-split is only needed because of MS-DOS.
|
||||
|
@ -47,6 +61,9 @@ INFO_EXT=@INFO_EXT@
|
|||
# http://lists.gnu.org/archive/html/emacs-devel/2011-01/msg01182.html
|
||||
INFO_OPTS=@INFO_OPTS@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
||||
# The makeinfo program is part of the Texinfo distribution.
|
||||
# Use --force so that it generates output even if there are errors.
|
||||
MAKEINFO = @MAKEINFO@
|
||||
|
@ -60,6 +77,10 @@ DVIPS = dvips
|
|||
ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(TEXINPUTS)" \
|
||||
MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
|
||||
|
||||
DVI_TARGETS = emacs.dvi emacs-xtra.dvi
|
||||
HTML_TARGETS = emacs.html
|
||||
PDF_TARGETS = emacs.pdf emacs-xtra.pdf
|
||||
PS_TARGETS = emacs.ps emacs-xtra.ps
|
||||
|
||||
EMACS_XTRA= \
|
||||
${srcdir}/emacs-xtra.texi \
|
||||
|
@ -128,11 +149,16 @@ mkinfodir = @${MKDIR_P} ${buildinfodir}
|
|||
|
||||
.PHONY: info dvi html pdf ps
|
||||
|
||||
.SUFFIXES: .ps .dvi
|
||||
|
||||
.dvi.ps:
|
||||
$(DVIPS) -o $@ $<
|
||||
|
||||
info: $(buildinfodir)/emacs$(INFO_EXT)
|
||||
dvi: emacs.dvi
|
||||
html: emacs.html
|
||||
pdf: emacs.pdf
|
||||
ps: emacs.ps
|
||||
dvi: $(DVI_TARGETS)
|
||||
html: $(HTML_TARGETS)
|
||||
pdf: $(PDF_TARGETS)
|
||||
ps: $(PS_TARGETS)
|
||||
|
||||
# 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.
|
||||
|
@ -145,21 +171,15 @@ $(buildinfodir)/emacs$(INFO_EXT): ${EMACSSOURCES}
|
|||
emacs.dvi: ${EMACSSOURCES}
|
||||
$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs.texi
|
||||
|
||||
emacs.ps: emacs.dvi
|
||||
$(DVIPS) -o $@ emacs.dvi
|
||||
|
||||
emacs.pdf: ${EMACSSOURCES}
|
||||
$(ENVADD) $(TEXI2PDF) ${srcdir}/emacs.texi
|
||||
|
||||
emacs.html: ${EMACSSOURCES}
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ ${srcdir}/emacs.texi
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/emacs.texi
|
||||
|
||||
emacs-xtra.dvi: $(EMACS_XTRA)
|
||||
$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-xtra.texi
|
||||
|
||||
emacs-xtra.ps: emacs-xtra.dvi
|
||||
$(DVIPS) -o $@ emacs-xtra.dvi
|
||||
|
||||
emacs-xtra.pdf: $(EMACS_XTRA)
|
||||
$(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-xtra.texi
|
||||
|
||||
|
@ -172,9 +192,7 @@ mostlyclean:
|
|||
|
||||
## Products not in the release tarfiles.
|
||||
clean: mostlyclean
|
||||
rm -f emacs.dvi emacs-xtra.dvi emacs.pdf emacs-xtra.pdf \
|
||||
emacs.ps emacs-xtra.ps
|
||||
rm -rf emacs.html/
|
||||
rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS)
|
||||
rm -f emacs-manual-${version}.tar*
|
||||
|
||||
distclean: clean
|
||||
|
@ -207,4 +225,52 @@ dist:
|
|||
tar -cf emacs-manual-${version}.tar emacs-manual-${version}
|
||||
rm -rf emacs-manual-${version}
|
||||
|
||||
|
||||
.PHONY: install-dvi install-html install-pdf install-ps install-doc
|
||||
|
||||
install-dvi: dvi
|
||||
umask 022; $(MKDIR_P) $(DESTDIR)$(dvidir)
|
||||
$(INSTALL_DATA) $(DVI_TARGETS) $(DESTDIR)$(dvidir)
|
||||
install-html: html
|
||||
umask 022; $(MKDIR_P) $(DESTDIR)$(htmldir)
|
||||
$(INSTALL_DATA) $(HTML_TARGETS) $(DESTDIR)$(htmldir)
|
||||
install-pdf: pdf
|
||||
umask 022;$(MKDIR_P) $(DESTDIR)$(pdfdir)
|
||||
$(INSTALL_DATA) $(PDF_TARGETS) $(DESTDIR)$(pdfdir)
|
||||
install-ps: ps
|
||||
umask 022; $(MKDIR_P) $(DESTDIR)$(psdir)
|
||||
for file in $(PS_TARGETS); do \
|
||||
$(INSTALL_DATA) $${file} $(DESTDIR)$(psdir); \
|
||||
[ -n "${GZIP_PROG}" ] || continue; \
|
||||
rm -f $(DESTDIR)$(psdir)/$${file}.gz; \
|
||||
${GZIP_PROG} -9n $(DESTDIR)$(psdir)/$${file}; \
|
||||
done
|
||||
|
||||
## Top-level Makefile installs the info pages.
|
||||
install-doc: install-dvi install-html install-pdf install-ps
|
||||
|
||||
|
||||
.PHONY: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps uninstall-doc
|
||||
|
||||
uninstall-dvi:
|
||||
for file in $(DVI_TARGETS); do \
|
||||
rm -f $(DESTDIR)$(dvidir)/$${file}; \
|
||||
done
|
||||
uninstall-html:
|
||||
for file in $(HTML_TARGETS); do \
|
||||
rm -f $(DESTDIR)$(htmldir)/$${file}; \
|
||||
done
|
||||
uninstall-ps:
|
||||
ext= ; [ -n "${GZIP_PROG}" ] && ext=.gz; \
|
||||
for file in $(PS_TARGETS); do \
|
||||
rm -f $(DESTDIR)$(psdir)/$${file}$${ext}; \
|
||||
done
|
||||
uninstall-pdf:
|
||||
for file in $(PDF_TARGETS); do \
|
||||
rm -f $(DESTDIR)$(pdfdir)/$${file}; \
|
||||
done
|
||||
|
||||
uninstall-doc: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps
|
||||
|
||||
|
||||
### Makefile ends here
|
||||
|
|
|
@ -17,6 +17,7 @@ your personal tastes.
|
|||
@menu
|
||||
* Calendar Customizing:: Calendar layout and hooks.
|
||||
* Holiday Customizing:: Defining your own holidays.
|
||||
* Mayan Calendar:: Moving to a date specified in a Mayan calendar.
|
||||
* Date Display Format:: Changing the format.
|
||||
* Time Display Format:: Changing the format.
|
||||
* Diary Customizing:: Defaults you can set.
|
||||
|
@ -260,6 +261,99 @@ visible in the calendar window, with descriptive strings, like this:
|
|||
(((6 4 2012) "Lunar Eclipse") ((11 13 2012) "Solar Eclipse") ... )
|
||||
@end smallexample
|
||||
|
||||
@node Mayan Calendar
|
||||
@subsection Converting from the Mayan Calendar
|
||||
@cindex Mayan calendar
|
||||
|
||||
Here are the commands to select dates based on the Mayan calendar:
|
||||
|
||||
@table @kbd
|
||||
@item g m l
|
||||
Move to a date specified by the long count calendar
|
||||
(@code{calendar-mayan-goto-long-count-date}).
|
||||
@item g m n t
|
||||
Move to the next occurrence of a place in the
|
||||
tzolkin calendar (@code{calendar-mayan-next-tzolkin-date}).
|
||||
@item g m p t
|
||||
Move to the previous occurrence of a place in the
|
||||
tzolkin calendar (@code{calendar-mayan-previous-tzolkin-date}).
|
||||
@item g m n h
|
||||
Move to the next occurrence of a place in the
|
||||
haab calendar (@code{calendar-mayan-next-haab-date}).
|
||||
@item g m p h
|
||||
Move to the previous occurrence of a place in the
|
||||
haab calendar (@code{calendar-mayan-previous-haab-date}).
|
||||
@item g m n c
|
||||
Move to the next occurrence of a place in the
|
||||
calendar round (@code{calendar-mayan-next-calendar-round-date}).
|
||||
@item g m p c
|
||||
Move to the previous occurrence of a place in the
|
||||
calendar round (@code{calendar-mayan-previous-calendar-round-date}).
|
||||
@end table
|
||||
|
||||
@cindex Mayan long count
|
||||
To understand these commands, you need to understand the Mayan calendars.
|
||||
The @dfn{long count} is a counting of days with these units:
|
||||
|
||||
@display
|
||||
1 kin = 1 day@ @ @ 1 uinal = 20 kin@ @ @ 1 tun = 18 uinal
|
||||
1 katun = 20 tun@ @ @ 1 baktun = 20 katun
|
||||
@end display
|
||||
|
||||
@kindex g m @r{(Calendar mode)}
|
||||
@findex calendar-mayan-goto-long-count-date
|
||||
@noindent
|
||||
Thus, the long count date 12.16.11.16.6 means 12 baktun, 16 katun, 11
|
||||
tun, 16 uinal, and 6 kin. The Emacs calendar can handle Mayan long
|
||||
count dates as early as 7.17.18.13.3, but no earlier. When you use the
|
||||
@kbd{g m l} command, type the Mayan long count date with the baktun,
|
||||
katun, tun, uinal, and kin separated by periods.
|
||||
|
||||
@findex calendar-mayan-previous-tzolkin-date
|
||||
@findex calendar-mayan-next-tzolkin-date
|
||||
@cindex Mayan tzolkin calendar
|
||||
The Mayan tzolkin calendar is a cycle of 260 days formed by a pair of
|
||||
independent cycles of 13 and 20 days. Since this cycle repeats
|
||||
endlessly, Emacs provides commands to move backward and forward to the
|
||||
previous or next point in the cycle. Type @kbd{g m p t} to go to the
|
||||
previous tzolkin date; Emacs asks you for a tzolkin date and moves point
|
||||
to the previous occurrence of that date. Similarly, type @kbd{g m n t}
|
||||
to go to the next occurrence of a tzolkin date.
|
||||
|
||||
@findex calendar-mayan-previous-haab-date
|
||||
@findex calendar-mayan-next-haab-date
|
||||
@cindex Mayan haab calendar
|
||||
The Mayan haab calendar is a cycle of 365 days arranged as 18 months
|
||||
of 20 days each, followed by a 5-day monthless period. Like the tzolkin
|
||||
cycle, this cycle repeats endlessly, and there are commands to move
|
||||
backward and forward to the previous or next point in the cycle. Type
|
||||
@kbd{g m p h} to go to the previous haab date; Emacs asks you for a haab
|
||||
date and moves point to the previous occurrence of that date.
|
||||
Similarly, type @kbd{g m n h} to go to the next occurrence of a haab
|
||||
date.
|
||||
|
||||
@c This is omitted because it is too long for smallbook format.
|
||||
@c @findex calendar-mayan-previous-calendar-round-date
|
||||
@findex calendar-mayan-next-calendar-round-date
|
||||
@cindex Mayan calendar round
|
||||
The Maya also used the combination of the tzolkin date and the haab
|
||||
date. This combination is a cycle of about 52 years called a
|
||||
@emph{calendar round}. If you type @kbd{g m p c}, Emacs asks you for
|
||||
both a haab and a tzolkin date and then moves point to the previous
|
||||
occurrence of that combination. Use @kbd{g m n c} to move point to the
|
||||
next occurrence of a combination. These commands signal an error if the
|
||||
haab/tzolkin date combination you have typed is impossible.
|
||||
|
||||
Emacs uses strict completion
|
||||
@iftex
|
||||
(@pxref{Completion Exit,,, emacs, the Emacs Manual})
|
||||
@end iftex
|
||||
@ifnottex
|
||||
(@pxref{Completion Exit})
|
||||
@end ifnottex
|
||||
whenever it asks you to type a Mayan name, so you don't have to worry
|
||||
about spelling.
|
||||
|
||||
@node Date Display Format
|
||||
@subsection Date Display Format
|
||||
@vindex calendar-date-display-form
|
||||
|
|
|
@ -678,7 +678,6 @@ and from several other calendars.
|
|||
(aside from Gregorian).
|
||||
* To Other Calendar:: Converting the selected date to various calendars.
|
||||
* From Other Calendar:: Moving to a date specified in another calendar.
|
||||
* Mayan Calendar:: Moving to a date specified in a Mayan calendar.
|
||||
@end menu
|
||||
|
||||
@c FIXME perhaps most of the details should be moved to cal-xtra.
|
||||
|
@ -913,93 +912,6 @@ years for the date given by point. If you are not in the calendar,
|
|||
this command first asks you for the date of death and the range of
|
||||
years, and then displays the list of yahrzeit dates.
|
||||
|
||||
@c FIXME move to emacs-xtra.
|
||||
@node Mayan Calendar
|
||||
@subsection Converting from the Mayan Calendar
|
||||
|
||||
Here are the commands to select dates based on the Mayan calendar:
|
||||
|
||||
@table @kbd
|
||||
@item g m l
|
||||
Move to a date specified by the long count calendar
|
||||
(@code{calendar-mayan-goto-long-count-date}).
|
||||
@item g m n t
|
||||
Move to the next occurrence of a place in the
|
||||
tzolkin calendar (@code{calendar-mayan-next-tzolkin-date}).
|
||||
@item g m p t
|
||||
Move to the previous occurrence of a place in the
|
||||
tzolkin calendar (@code{calendar-mayan-previous-tzolkin-date}).
|
||||
@item g m n h
|
||||
Move to the next occurrence of a place in the
|
||||
haab calendar (@code{calendar-mayan-next-haab-date}).
|
||||
@item g m p h
|
||||
Move to the previous occurrence of a place in the
|
||||
haab calendar (@code{calendar-mayan-previous-haab-date}).
|
||||
@item g m n c
|
||||
Move to the next occurrence of a place in the
|
||||
calendar round (@code{calendar-mayan-next-calendar-round-date}).
|
||||
@item g m p c
|
||||
Move to the previous occurrence of a place in the
|
||||
calendar round (@code{calendar-mayan-previous-calendar-round-date}).
|
||||
@end table
|
||||
|
||||
@cindex Mayan long count
|
||||
To understand these commands, you need to understand the Mayan calendars.
|
||||
The @dfn{long count} is a counting of days with these units:
|
||||
|
||||
@display
|
||||
1 kin = 1 day@ @ @ 1 uinal = 20 kin@ @ @ 1 tun = 18 uinal
|
||||
1 katun = 20 tun@ @ @ 1 baktun = 20 katun
|
||||
@end display
|
||||
|
||||
@kindex g m @r{(Calendar mode)}
|
||||
@findex calendar-mayan-goto-long-count-date
|
||||
@noindent
|
||||
Thus, the long count date 12.16.11.16.6 means 12 baktun, 16 katun, 11
|
||||
tun, 16 uinal, and 6 kin. The Emacs calendar can handle Mayan long
|
||||
count dates as early as 7.17.18.13.3, but no earlier. When you use the
|
||||
@kbd{g m l} command, type the Mayan long count date with the baktun,
|
||||
katun, tun, uinal, and kin separated by periods.
|
||||
|
||||
@findex calendar-mayan-previous-tzolkin-date
|
||||
@findex calendar-mayan-next-tzolkin-date
|
||||
@cindex Mayan tzolkin calendar
|
||||
The Mayan tzolkin calendar is a cycle of 260 days formed by a pair of
|
||||
independent cycles of 13 and 20 days. Since this cycle repeats
|
||||
endlessly, Emacs provides commands to move backward and forward to the
|
||||
previous or next point in the cycle. Type @kbd{g m p t} to go to the
|
||||
previous tzolkin date; Emacs asks you for a tzolkin date and moves point
|
||||
to the previous occurrence of that date. Similarly, type @kbd{g m n t}
|
||||
to go to the next occurrence of a tzolkin date.
|
||||
|
||||
@findex calendar-mayan-previous-haab-date
|
||||
@findex calendar-mayan-next-haab-date
|
||||
@cindex Mayan haab calendar
|
||||
The Mayan haab calendar is a cycle of 365 days arranged as 18 months
|
||||
of 20 days each, followed by a 5-day monthless period. Like the tzolkin
|
||||
cycle, this cycle repeats endlessly, and there are commands to move
|
||||
backward and forward to the previous or next point in the cycle. Type
|
||||
@kbd{g m p h} to go to the previous haab date; Emacs asks you for a haab
|
||||
date and moves point to the previous occurrence of that date.
|
||||
Similarly, type @kbd{g m n h} to go to the next occurrence of a haab
|
||||
date.
|
||||
|
||||
@c This is omitted because it is too long for smallbook format.
|
||||
@c @findex calendar-mayan-previous-calendar-round-date
|
||||
@findex calendar-mayan-next-calendar-round-date
|
||||
@cindex Mayan calendar round
|
||||
The Maya also used the combination of the tzolkin date and the haab
|
||||
date. This combination is a cycle of about 52 years called a
|
||||
@emph{calendar round}. If you type @kbd{g m p c}, Emacs asks you for
|
||||
both a haab and a tzolkin date and then moves point to the previous
|
||||
occurrence of that combination. Use @kbd{g m n c} to move point to the
|
||||
next occurrence of a combination. These commands signal an error if the
|
||||
haab/tzolkin date combination you have typed is impossible.
|
||||
|
||||
Emacs uses strict completion (@pxref{Completion Exit}) whenever it
|
||||
asks you to type a Mayan name, so you don't have to worry about
|
||||
spelling.
|
||||
|
||||
@node Diary
|
||||
@section The Diary
|
||||
@cindex diary
|
||||
|
|
|
@ -1166,7 +1166,10 @@ conversion of this file. @xref{Coding Systems}.
|
|||
|
||||
@item
|
||||
@code{unibyte} says to load or compile a file of Emacs Lisp in unibyte
|
||||
mode, if the value is @code{t}. @xref{Disabling Multibyte}.
|
||||
mode, if the value is @code{t}. @xref{Disabling Multibyte, ,
|
||||
Disabling Multibyte Characters, elisp, GNU Emacs Lisp Reference
|
||||
Manual}.
|
||||
|
||||
@end itemize
|
||||
|
||||
@noindent
|
||||
|
|
|
@ -544,7 +544,6 @@ Frames and Graphical Displays
|
|||
International Character Set Support
|
||||
|
||||
* International Chars:: Basic concepts of 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.
|
||||
|
@ -798,6 +797,7 @@ Version Control
|
|||
* Old Revisions:: Examining and comparing old versions.
|
||||
* VC Change Log:: Viewing the VC Change Log.
|
||||
* VC Undo:: Canceling changes before or after committing.
|
||||
* VC Ignore:: Ignore files under version control system.
|
||||
* VC Directory Mode:: Listing files managed by version control.
|
||||
* Branches:: Multiple lines of development.
|
||||
@ifnottex
|
||||
|
@ -956,7 +956,6 @@ Conversion To and From Other Calendars
|
|||
(aside from Gregorian).
|
||||
* To Other Calendar:: Converting the selected date to various calendars.
|
||||
* From Other Calendar:: Moving to a date specified in another calendar.
|
||||
* Mayan Calendar:: Moving to a date specified in a Mayan calendar.
|
||||
|
||||
The Diary
|
||||
|
||||
|
@ -971,6 +970,7 @@ More advanced features of the Calendar and Diary
|
|||
|
||||
* Calendar Customizing:: Calendar layout and hooks.
|
||||
* Holiday Customizing:: Defining your own holidays.
|
||||
* Mayan Calendar:: Moving to a date specified in a Mayan calendar.
|
||||
* Date Display Format:: Changing the format.
|
||||
* Time Display Format:: Changing the format.
|
||||
* Diary Customizing:: Defaults you can set.
|
||||
|
|
|
@ -1982,6 +1982,7 @@ thumbnails. @xref{Image-Dired}.
|
|||
@node Filesets
|
||||
@section Filesets
|
||||
@cindex filesets
|
||||
@cindex sets of files
|
||||
|
||||
@findex filesets-init
|
||||
If you regularly edit a certain group of files, you can define them
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
@c See file emacs.texi for copying conditions.
|
||||
@node Glossary
|
||||
@unnumbered Glossary
|
||||
@cindex glossary
|
||||
|
||||
@table @asis
|
||||
@anchor{Glossary---Abbrev}
|
||||
|
@ -18,7 +19,10 @@ Aborting means getting out of a recursive edit (q.v.). The
|
|||
commands @kbd{C-]} and @kbd{M-x top-level} are used for this.
|
||||
@xref{Quitting}.
|
||||
|
||||
@c FIXME? Active Region
|
||||
@item Active Region
|
||||
Setting the mark (q.v.@:) at a position in the text also activates it.
|
||||
When the mark is active, we call the region an active region.
|
||||
@xref{Mark}.
|
||||
|
||||
@item Alt
|
||||
Alt is the name of a modifier bit that a keyboard input character may
|
||||
|
@ -869,6 +873,7 @@ The Emacs major modes are a mutually exclusive set of options, each of
|
|||
which configures Emacs for editing a certain sort of text. Ideally,
|
||||
each programming language has its own major mode. @xref{Major Modes}.
|
||||
|
||||
@c FIXME: Mention margins for filling?
|
||||
@item Margin
|
||||
The space between the usable part of a window (including the
|
||||
fringe) and the window edge.
|
||||
|
@ -1365,7 +1370,11 @@ are not in a recursive editing level (q.v.@:) or the minibuffer
|
|||
(q.v.), and not in the middle of a command. You can get back to top
|
||||
level by aborting (q.v.@:) and quitting (q.v.). @xref{Quitting}.
|
||||
|
||||
@c FIXME? Transient Mark Mode
|
||||
@item Transient Mark Mode
|
||||
The default behavior of the mark (q.v.@:) and region (q.v.), in which
|
||||
setting the mark activates it and highlights the region, is called
|
||||
Transient Mark mode. In GNU Emacs 23 and onwards, it is enabled by
|
||||
default. @xref{Disabled Transient Mark}.
|
||||
|
||||
@item Transposition
|
||||
Transposing two units of text means putting each one into the place
|
||||
|
|
|
@ -109,6 +109,8 @@ number of characters. If the numeric argument is omitted or one, they
|
|||
delete all the text in the region if it is active (@pxref{Using
|
||||
Region}).
|
||||
|
||||
@c FIXME: `cycle-spacing' should be documented, too. (Maybe not in
|
||||
@c this node, tho.) --xfq
|
||||
@kindex M-\
|
||||
@findex delete-horizontal-space
|
||||
@kindex M-SPC
|
||||
|
|
|
@ -40,13 +40,16 @@ Emacs provides a set of key bindings using this modifier key that mimic
|
|||
other Mac / GNUstep applications (@pxref{Mac / GNUstep Events}). You
|
||||
can change these bindings in the usual way (@pxref{Key Bindings}).
|
||||
|
||||
@c FIXME mention ns-alternate-modifier?
|
||||
@vindex ns-alternate-modifier
|
||||
@vindex ns-right-alternate-modifier
|
||||
The variable @code{ns-right-alternate-modifier} controls the
|
||||
behavior of the right @key{alt} and @key{option} keys. These keys
|
||||
behave like the left-hand keys if the value is @code{left} (the
|
||||
default). A value of @code{control}, @code{meta}, @code{alt},
|
||||
@code{super}, or @code{hyper} makes them behave like the corresponding
|
||||
modifier keys; a value of @code{none} tells Emacs to ignore them.
|
||||
modifier keys; a value to @code{left} means be the same key as
|
||||
@code{ns-alternate-modifier}; a value of @code{none} tells Emacs to
|
||||
ignore them.
|
||||
|
||||
@kbd{S-Mouse-1} adjusts the region to the click position,
|
||||
just like @kbd{Mouse-3} (@code{mouse-save-then-kill}); it does not pop
|
||||
|
@ -207,4 +210,10 @@ restart Emacs to access newly-available services.
|
|||
|
||||
Emacs can be built and run under GNUstep, but there are still
|
||||
issues to be addressed. Interested developers should contact
|
||||
@ifnothtml
|
||||
@email{emacs-devel@@gnu.org}.
|
||||
@end ifnothtml
|
||||
@ifhtml
|
||||
@url{http://lists.gnu.org/mailman/listinfo/emacs-devel, the
|
||||
emacs-devel mailing list}.
|
||||
@end ifhtml
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
@c This is part of the Emacs manual.
|
||||
@c This is part of the Emacs manual., Abbrevs, This is part of the Emacs manual., Top
|
||||
@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2013 Free Software
|
||||
@c Foundation, Inc.
|
||||
@c See file emacs.texi for copying conditions.
|
||||
|
@ -56,6 +56,7 @@ variable @code{vc-handled-backends} to @code{nil}
|
|||
* Old Revisions:: Examining and comparing old versions.
|
||||
* VC Change Log:: Viewing the VC Change Log.
|
||||
* VC Undo:: Canceling changes before or after committing.
|
||||
* VC Ignore:: Ignore files under version control system.
|
||||
* VC Directory Mode:: Listing files managed by version control.
|
||||
* Branches:: Multiple lines of development.
|
||||
@ifnottex
|
||||
|
@ -1032,6 +1033,23 @@ unlocked; you must lock again to resume editing. You can also use
|
|||
@kbd{C-x v u} to unlock a file if you lock it and then decide not to
|
||||
change it.
|
||||
|
||||
@node VC Ignore
|
||||
@subsection Ignore Version Control Files
|
||||
|
||||
@table @kbd
|
||||
@item C-x v G
|
||||
Ignore a file under current version control system. (@code{vc-ignore}).
|
||||
@end table
|
||||
|
||||
@kindex C-x v G
|
||||
@findex vc-ignore
|
||||
Many source trees contain some files that do not need to be versioned,
|
||||
such as editor backups, object or bytecode files, and built programs.
|
||||
You can simply not add them, but then they’ll always crop up as
|
||||
unknown files. You can also tell the version control system to ignore
|
||||
these files by adding them to the ignore file at the top of the tree.
|
||||
@kbd{C-x v G} (@code{vc-ignore}) can help you do this.
|
||||
|
||||
@node VC Directory Mode
|
||||
@subsection VC Directory Mode
|
||||
|
||||
|
@ -1222,7 +1240,7 @@ Revisions}), and @w{@kbd{C-x v u}} (@pxref{VC Undo}).
|
|||
|
||||
The VC Directory buffer also defines some single-key shortcuts for
|
||||
VC commands with the @kbd{C-x v} prefix: @kbd{=}, @kbd{+}, @kbd{l},
|
||||
@kbd{i}, and @kbd{v}.
|
||||
@kbd{i}, @kbd{D}, @kbd{L}, @kbd{G} and @kbd{v}.
|
||||
|
||||
For example, you can commit a set of edited files by opening a VC
|
||||
Directory buffer, where the files are listed with the @samp{edited}
|
||||
|
|
|
@ -90,7 +90,6 @@ value to make sure Emacs interprets keyboard input correctly; see
|
|||
|
||||
@menu
|
||||
* International Chars:: Basic concepts of 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.
|
||||
|
@ -244,79 +243,6 @@ Character code properties: customize what to show
|
|||
decomposition: (65 768) ('A' '`')
|
||||
@end smallexample
|
||||
|
||||
@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
|
||||
non-@acronym{ASCII} characters using multi-byte sequences. Multibyte
|
||||
mode allows you to use all the supported languages and scripts without
|
||||
limitations.
|
||||
|
||||
@cindex turn multibyte support on or off
|
||||
Under very special circumstances, you may want to disable multibyte
|
||||
character support, for a specific buffer.
|
||||
When multibyte characters are disabled in a buffer, we call
|
||||
that @dfn{unibyte mode}. In unibyte mode, each character in the
|
||||
buffer has a character code ranging from 0 through 255 (0377 octal); 0
|
||||
through 127 (0177 octal) represent @acronym{ASCII} characters, and 128
|
||||
(0200 octal) through 255 (0377 octal) represent non-@acronym{ASCII}
|
||||
characters.
|
||||
|
||||
To edit a particular file in unibyte representation, visit it using
|
||||
@code{find-file-literally}. @xref{Visiting}. You can convert a
|
||||
multibyte buffer to unibyte by saving it to a file, killing the
|
||||
buffer, and visiting the file again with @code{find-file-literally}.
|
||||
Alternatively, you can use @kbd{C-x @key{RET} c}
|
||||
(@code{universal-coding-system-argument}) and specify @samp{raw-text}
|
||||
as the coding system with which to visit or save a file. @xref{Text
|
||||
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 packages
|
||||
such as Gnus. However, you can specify unibyte loading for a
|
||||
particular Lisp file, by adding an entry @samp{coding: raw-text} in a file
|
||||
local variables section. @xref{Specify Coding}.
|
||||
Then that file is always loaded as unibyte text.
|
||||
@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
|
||||
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.
|
||||
|
||||
@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 off multibyte support in a specific buffer by invoking the
|
||||
command @code{toggle-enable-multibyte-characters} in that buffer.
|
||||
|
||||
@node Language Environments
|
||||
@section Language Environments
|
||||
@cindex language environments
|
||||
|
@ -919,18 +845,6 @@ pattern, are decoded correctly.
|
|||
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-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. 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).
|
||||
|
||||
@node Specify Coding
|
||||
@section Specifying a File's Coding System
|
||||
|
||||
|
@ -1591,15 +1505,13 @@ 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
|
||||
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{Disabling Multibyte}.
|
||||
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}}.
|
||||
@xref{Disabling Multibyte, , Disabling Multibyte Characters, elisp,
|
||||
GNU Emacs Lisp Reference Manual}.
|
||||
|
||||
@vindex unibyte-display-via-language-environment
|
||||
Emacs can also display bytes in the range 160 to 255 as readable
|
||||
|
|
|
@ -1274,6 +1274,17 @@ It reads the name of a coding system, and then redecodes the message
|
|||
using the coding system you specified. If you specified the right
|
||||
coding system, the result should be readable.
|
||||
|
||||
@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. 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).
|
||||
|
||||
@node Rmail Editing
|
||||
@section Editing Within a Message
|
||||
|
||||
|
|
|
@ -2255,6 +2255,7 @@ Prefix}.
|
|||
|
||||
@node Enriched Justification
|
||||
@subsection Justification in Enriched Text
|
||||
@cindex justification style
|
||||
|
||||
In Enriched mode, you can use the following commands to specify
|
||||
various @dfn{justification styles} for filling. These commands apply
|
||||
|
@ -2293,13 +2294,13 @@ commands do nothing on text with this setting. You can, however,
|
|||
still indent the left margin.
|
||||
@end table
|
||||
|
||||
@c FIXME: We should explain the effect of these symbols. --xfq
|
||||
@vindex default-justification
|
||||
You can also specify justification styles using the Justification
|
||||
submenu in the Text Properties menu.
|
||||
The default justification style is specified by the per-buffer
|
||||
variable @code{default-justification}. Its value should be one of the
|
||||
symbols @code{left}, @code{right}, @code{full}, @code{center}, or
|
||||
@code{none}.
|
||||
submenu in the Text Properties menu. The default justification style
|
||||
is specified by the per-buffer variable @code{default-justification}.
|
||||
Its value should be one of the symbols @code{left}, @code{right},
|
||||
@code{full}, @code{center}, or @code{none}.
|
||||
|
||||
@node Enriched Properties
|
||||
@subsection Setting Other Text Properties
|
||||
|
|
|
@ -658,7 +658,13 @@ absolutely sure it is best to leave it, so that the developers can
|
|||
decide for themselves.
|
||||
|
||||
When you have finished writing your report, type @kbd{C-c C-c} and it
|
||||
will be sent to the Emacs maintainers at @email{bug-gnu-emacs@@gnu.org}.
|
||||
will be sent to the Emacs maintainers at
|
||||
@ifnothtml
|
||||
@email{bug-gnu-emacs@@gnu.org}.
|
||||
@end ifnothtml
|
||||
@ifhtml
|
||||
@url{http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs, bug-gnu-emacs}.
|
||||
@end ifhtml
|
||||
(If you want to suggest an improvement or new feature, use the same
|
||||
address.) If you cannot send mail from inside Emacs, you can copy the
|
||||
text of your report to your normal mail client (if your system
|
||||
|
@ -1138,15 +1144,26 @@ form that is clearly safe to install.
|
|||
@section Contributing to Emacs Development
|
||||
@cindex contributing to Emacs
|
||||
|
||||
If you would like to work on improving Emacs, please contact
|
||||
the maintainers at @email{emacs-devel@@gnu.org}. You can ask for
|
||||
suggested projects or suggest your own ideas.
|
||||
If you would like to work on improving Emacs, please contact the maintainers at
|
||||
@ifnothtml
|
||||
@email{emacs-devel@@gnu.org}.
|
||||
@end ifnothtml
|
||||
@ifhtml
|
||||
@url{http://lists.gnu.org/mailman/listinfo/emacs-devel, the
|
||||
emacs-devel mailing list}.
|
||||
@end ifhtml
|
||||
You can ask for suggested projects or suggest your own ideas.
|
||||
|
||||
If you have already written an improvement, please tell us about it. If
|
||||
you have not yet started work, it is useful to contact
|
||||
@email{emacs-devel@@gnu.org} before you start; it might be
|
||||
possible to suggest ways to make your extension fit in better with the
|
||||
rest of Emacs.
|
||||
@ifnothtml
|
||||
@email{emacs-devel@@gnu.org}
|
||||
@end ifnothtml
|
||||
@ifhtml
|
||||
@url{http://lists.gnu.org/mailman/listinfo/emacs-devel, emacs-devel}
|
||||
@end ifhtml
|
||||
before you start; it might be possible to suggest ways to make your
|
||||
extension fit in better with the rest of Emacs.
|
||||
|
||||
The development version of Emacs can be downloaded from the
|
||||
repository where it is actively maintained by a group of developers.
|
||||
|
@ -1164,10 +1181,17 @@ ways to find it:
|
|||
|
||||
@itemize @bullet
|
||||
@item
|
||||
Send a message to the mailing list
|
||||
@email{help-gnu-emacs@@gnu.org}, or post your request on
|
||||
newsgroup @code{gnu.emacs.help}. (This mailing list and newsgroup
|
||||
interconnect, so it does not matter which one you use.)
|
||||
Send a message to
|
||||
@ifnothtml
|
||||
the mailing list @email{help-gnu-emacs@@gnu.org},
|
||||
@end ifnothtml
|
||||
@ifhtml
|
||||
@url{http://lists.gnu.org/mailman/listinfo/help-gnu-emacs, the
|
||||
help-gnu-emacs mailing list},
|
||||
@end ifhtml
|
||||
or post your request on newsgroup @code{gnu.emacs.help}. (This
|
||||
mailing list and newsgroup interconnect, so it does not matter which
|
||||
one you use.)
|
||||
|
||||
@item
|
||||
Look in the service directory for someone who might help you for a fee.
|
||||
|
|
|
@ -1,3 +1,39 @@
|
|||
2013-08-12 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* emacs-lisp-intro.texi (Complete copy-region-as-kill): Fix typo.
|
||||
|
||||
* emacs-lisp-intro.texi (Thank You): Avoid mailto: in html output.
|
||||
|
||||
* Makefile.in (prefix, datarootdir, datadir, PACKAGE_TARNAME)
|
||||
(docdir, dvidir, htmldir, pdfdir, psdir, GZIP_PROG, INSTALL)
|
||||
(INSTALL_DATA): New, set by configure.
|
||||
(HTML_OPTS, DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS):
|
||||
New variables.
|
||||
(.SUFFIXES): Add .ps and .dvi.
|
||||
(.dvi.ps): New suffix rule.
|
||||
(dvi, html, pdf, ps): Use *_TARGETS variables.
|
||||
(emacs-lisp-intro.ps): Remove explicit rule.
|
||||
(emacs-lisp-intro.html): Use HTML_OPTS.
|
||||
(clean): Use DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS.
|
||||
(.PHONY): install-dvi, install-html, install-pdf, install-ps
|
||||
,install-doc, uninstall-dvi, uninstall-html, uninstall-pdf,
|
||||
uninstall-ps, and uninstall-doc.
|
||||
(install-dvi, install-html, install-pdf, install-ps, install-doc)
|
||||
(uninstall-dvi, uninstall-html, uninstall-ps, uninstall-pdf)
|
||||
(uninstall-doc): New rules.
|
||||
|
||||
2013-08-07 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* emacs-lisp-intro.texi (Beginning init File): Rename from
|
||||
"Beginning a .emacs File", since a node name cannot include a
|
||||
period.
|
||||
(Top, Emacs Initialization, Change a defun): All references
|
||||
changed. (Bug#15038)
|
||||
|
||||
2013-08-02 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* emacs-lisp-intro.texi (zap-to-char): Remove obsolete stuff.
|
||||
|
||||
2013-07-06 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* emacs-lisp-intro.texi (Top):
|
||||
|
|
|
@ -30,12 +30,29 @@ texinfodir = $(srcdir)/../misc
|
|||
# Directory with emacsver.texi.
|
||||
emacsdir = $(srcdir)/../emacs
|
||||
|
||||
prefix = @prefix@
|
||||
datarootdir = @datarootdir@
|
||||
datadir = @datadir@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
htmldir = @htmldir@
|
||||
pdfdir = @pdfdir@
|
||||
psdir = @psdir@
|
||||
|
||||
MKDIR_P = @MKDIR_P@
|
||||
|
||||
GZIP_PROG = @GZIP_PROG@
|
||||
|
||||
HTML_OPTS = --no-split --html
|
||||
|
||||
INFO_EXT=@INFO_EXT@
|
||||
# Options used only when making info output.
|
||||
INFO_OPTS=@INFO_OPTS@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAKEINFO_OPTS = --force -I $(emacsdir) -I $(srcdir)
|
||||
TEXI2DVI = texi2dvi
|
||||
|
@ -45,6 +62,11 @@ DVIPS = dvips
|
|||
ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(emacsdir):$(TEXINPUTS)" \
|
||||
MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
|
||||
|
||||
DVI_TARGETS = emacs-lisp-intro.dvi
|
||||
HTML_TARGETS = emacs-lisp-intro.html
|
||||
PDF_TARGETS = emacs-lisp-intro.pdf
|
||||
PS_TARGETS = emacs-lisp-intro.ps
|
||||
|
||||
mkinfodir = @${MKDIR_P} ${buildinfodir}
|
||||
|
||||
srcs = ${srcdir}/emacs-lisp-intro.texi ${srcdir}/doclicense.texi \
|
||||
|
@ -52,12 +74,17 @@ srcs = ${srcdir}/emacs-lisp-intro.texi ${srcdir}/doclicense.texi \
|
|||
|
||||
.PHONY: info dvi html pdf ps
|
||||
|
||||
.SUFFIXES: .ps .dvi
|
||||
|
||||
.dvi.ps:
|
||||
$(DVIPS) -o $@ $<
|
||||
|
||||
info: ${buildinfodir}/eintr$(INFO_EXT)
|
||||
|
||||
dvi: emacs-lisp-intro.dvi
|
||||
html: emacs-lisp-intro.html
|
||||
pdf: emacs-lisp-intro.pdf
|
||||
ps: emacs-lisp-intro.ps
|
||||
dvi: $(DVI_TARGETS)
|
||||
html: $(HTML_TARGETS)
|
||||
pdf: $(PDF_TARGETS)
|
||||
ps: $(PS_TARGETS)
|
||||
|
||||
# The file name eintr must fit within 5 characters, to allow for
|
||||
# -NN extensions to fit into DOS 8+3 limits without clashing.
|
||||
|
@ -69,14 +96,11 @@ ${buildinfodir}/eintr$(INFO_EXT): ${srcs}
|
|||
emacs-lisp-intro.dvi: ${srcs}
|
||||
$(ENVADD) $(TEXI2DVI) ${srcdir}/emacs-lisp-intro.texi
|
||||
|
||||
emacs-lisp-intro.ps: emacs-lisp-intro.dvi
|
||||
$(DVIPS) -o $@ emacs-lisp-intro.dvi
|
||||
|
||||
emacs-lisp-intro.pdf: ${srcs}
|
||||
$(ENVADD) $(TEXI2PDF) ${srcdir}/emacs-lisp-intro.texi
|
||||
|
||||
emacs-lisp-intro.html: ${srcs}
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ ${srcdir}/emacs-lisp-intro.texi
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/emacs-lisp-intro.texi
|
||||
|
||||
.PHONY: mostlyclean clean distclean maintainer-clean infoclean
|
||||
|
||||
|
@ -85,8 +109,7 @@ mostlyclean:
|
|||
*.op *.ops *.pg *.pgs *.tp *.tps *.vr *.vrs
|
||||
|
||||
clean: mostlyclean
|
||||
rm -f emacs-lisp-intro.dvi emacs-lisp-intro.pdf emacs-lisp-intro.ps
|
||||
rm -rf emacs-lisp-intro.html/
|
||||
rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS)
|
||||
rm -f emacs-lispintro-${version}.tar*
|
||||
|
||||
distclean: clean
|
||||
|
@ -118,4 +141,52 @@ dist:
|
|||
tar -cf emacs-lispintro-${version}.tar emacs-lispintro-${version}
|
||||
rm -rf emacs-lispintro-${version}
|
||||
|
||||
|
||||
.PHONY: install-dvi install-html install-pdf install-ps install-doc
|
||||
|
||||
install-dvi: dvi
|
||||
umask 022; $(MKDIR_P) $(DESTDIR)$(dvidir)
|
||||
$(INSTALL_DATA) $(DVI_TARGETS) $(DESTDIR)$(dvidir)
|
||||
install-html: html
|
||||
umask 022; $(MKDIR_P) $(DESTDIR)$(htmldir)
|
||||
$(INSTALL_DATA) $(HTML_TARGETS) $(DESTDIR)$(htmldir)
|
||||
install-pdf: pdf
|
||||
umask 022;$(MKDIR_P) $(DESTDIR)$(pdfdir)
|
||||
$(INSTALL_DATA) $(PDF_TARGETS) $(DESTDIR)$(pdfdir)
|
||||
install-ps: ps
|
||||
umask 022; $(MKDIR_P) $(DESTDIR)$(psdir)
|
||||
for file in $(PS_TARGETS); do \
|
||||
$(INSTALL_DATA) $${file} $(DESTDIR)$(psdir); \
|
||||
[ -n "${GZIP_PROG}" ] || continue; \
|
||||
rm -f $(DESTDIR)$(psdir)/$${file}.gz; \
|
||||
${GZIP_PROG} -9n $(DESTDIR)$(psdir)/$${file}; \
|
||||
done
|
||||
|
||||
## Top-level Makefile installs the info pages.
|
||||
install-doc: install-dvi install-html install-pdf install-ps
|
||||
|
||||
|
||||
.PHONY: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps uninstall-doc
|
||||
|
||||
uninstall-dvi:
|
||||
for file in $(DVI_TARGETS); do \
|
||||
rm -f $(DESTDIR)$(dvidir)/$${file}; \
|
||||
done
|
||||
uninstall-html:
|
||||
for file in $(HTML_TARGETS); do \
|
||||
rm -f $(DESTDIR)$(htmldir)/$${file}; \
|
||||
done
|
||||
uninstall-ps:
|
||||
ext= ; [ -n "${GZIP_PROG}" ] && ext=.gz; \
|
||||
for file in $(PS_TARGETS); do \
|
||||
rm -f $(DESTDIR)$(psdir)/$${file}$${ext}; \
|
||||
done
|
||||
uninstall-pdf:
|
||||
for file in $(PDF_TARGETS); do \
|
||||
rm -f $(DESTDIR)$(pdfdir)/$${file}; \
|
||||
done
|
||||
|
||||
uninstall-doc: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps
|
||||
|
||||
|
||||
### Makefile ends here
|
||||
|
|
|
@ -648,7 +648,7 @@ Your @file{.emacs} File
|
|||
* Default Configuration::
|
||||
* Site-wide Init:: You can write site-wide init files.
|
||||
* defcustom:: Emacs will write code for you.
|
||||
* Beginning a .emacs File:: How to write a @code{.emacs file}.
|
||||
* Beginning init File:: How to write a @file{.emacs} init file.
|
||||
* Text and Auto-fill:: Automatically wrap lines.
|
||||
* Mail Aliases:: Use abbreviations for email addresses.
|
||||
* Indent Tabs Mode:: Don't use tabs with @TeX{}
|
||||
|
@ -954,7 +954,12 @@ encouragement. My mistakes are my own.
|
|||
|
||||
@flushright
|
||||
Robert J. Chassell
|
||||
@ifnothtml
|
||||
@email{bob@@gnu.org}
|
||||
@end ifnothtml
|
||||
@ifhtml
|
||||
bob@@gnu.org
|
||||
@end ifhtml
|
||||
@end flushright
|
||||
|
||||
@c ================ Beginning of main text ================
|
||||
|
@ -3260,7 +3265,7 @@ line that follows a semicolon is a comment. The end of the line is the
|
|||
end of the comment. To stretch a comment over two or more lines, begin
|
||||
each line with a semicolon.
|
||||
|
||||
@xref{Beginning a .emacs File, , Beginning a @file{.emacs}
|
||||
@xref{Beginning init File, , Beginning a @file{.emacs}
|
||||
File}, and @ref{Comments, , Comments, elisp, The GNU Emacs Lisp
|
||||
Reference Manual}, for more about comments.
|
||||
|
||||
|
@ -7537,20 +7542,7 @@ retrieved. @xref{Yanking, , Yanking Text Back}.
|
|||
@section @code{zap-to-char}
|
||||
@findex zap-to-char
|
||||
|
||||
@c FIXME remove obsolete stuff
|
||||
The @code{zap-to-char} function changed little between GNU Emacs
|
||||
version 19 and GNU Emacs version 22. However, @code{zap-to-char}
|
||||
calls another function, @code{kill-region}, which enjoyed a major
|
||||
rewrite.
|
||||
|
||||
The @code{kill-region} function in Emacs 19 is complex, but does not
|
||||
use code that is important at this time. We will skip it.
|
||||
|
||||
The @code{kill-region} function in Emacs 22 is easier to read than the
|
||||
same function in Emacs 19 and introduces a very important concept,
|
||||
that of error handling. We will walk through the function.
|
||||
|
||||
But first, let us look at the interactive @code{zap-to-char} function.
|
||||
Let us look at the interactive @code{zap-to-char} function.
|
||||
|
||||
@menu
|
||||
* Complete zap-to-char:: The complete implementation.
|
||||
|
@ -8325,7 +8317,7 @@ As usual, this function can be divided into its component parts:
|
|||
|
||||
The arguments are @code{beg} and @code{end} and the function is
|
||||
interactive with @code{"r"}, so the two arguments must refer to the
|
||||
beginning and end of the region. If you have been reading though this
|
||||
beginning and end of the region. If you have been reading through this
|
||||
document from the beginning, understanding these parts of a function is
|
||||
almost becoming routine.
|
||||
|
||||
|
@ -16719,7 +16711,7 @@ expressions in Emacs Lisp you can change or extend Emacs.
|
|||
* Default Configuration::
|
||||
* Site-wide Init:: You can write site-wide init files.
|
||||
* defcustom:: Emacs will write code for you.
|
||||
* Beginning a .emacs File:: How to write a @code{.emacs file}.
|
||||
* Beginning init File:: How to write a @file{.emacs} init file.
|
||||
* Text and Auto-fill:: Automatically wrap lines.
|
||||
* Mail Aliases:: Use abbreviations for email addresses.
|
||||
* Indent Tabs Mode:: Don't use tabs with @TeX{}
|
||||
|
@ -16990,7 +16982,7 @@ intent is that neither programs nor users should ever change a value
|
|||
set by @code{defconst}. (You can change it; the value set is a
|
||||
variable; but please do not.)
|
||||
|
||||
@node Beginning a .emacs File
|
||||
@node Beginning init File
|
||||
@section Beginning a @file{.emacs} File
|
||||
@cindex @file{.emacs} file, beginning of
|
||||
|
||||
|
|
|
@ -1,3 +1,121 @@
|
|||
2013-08-18 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* positions.texi (Positions): Improve indexing.
|
||||
|
||||
2013-08-18 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* markers.texi (The Region): Improve indexing.
|
||||
|
||||
2013-08-17 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* modes.texi (SMIE, SMIE Grammar, SMIE Indentation): Add some indexes.
|
||||
|
||||
* text.texi (Maintaining Undo): Mention interactive call of
|
||||
buffer-disable-undo.
|
||||
(Filling): Add cross-reference for hard newlines.
|
||||
(Sorting): Fix indentation.
|
||||
(Columns): Comment out undefined behavior.
|
||||
(Case Changes): Fix an `args-out-of-range' error in the example.
|
||||
|
||||
2013-08-16 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* text.texi (Insertion): Refine.
|
||||
(Margins): Add an index.
|
||||
(Undo): Doc fix for `buffer-undo-list'.
|
||||
|
||||
* positions.texi (Character Motion):
|
||||
* markers.texi (Moving Markers):
|
||||
(Creating Markers): Comment out undefined behavior.
|
||||
|
||||
2013-08-15 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* markers.texi (The Region): Add/move indexes.
|
||||
|
||||
2013-08-13 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* display.texi (ImageMagick Images): Mention :content-type and
|
||||
`image-content-type-suffixes'.
|
||||
|
||||
2013-08-13 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* positions.texi (Word Motion): Remove redundant sentence.
|
||||
|
||||
2013-08-13 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* lists.texi (List Elements):
|
||||
Undocument behavior of nth and nthcdr with n < 0. (Bug#15059)
|
||||
|
||||
2013-08-13 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* frames.texi (Display Feature Testing): Add indexes.
|
||||
|
||||
2013-08-12 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* Makefile.in (prefix, datarootdir, datadir, PACKAGE_TARNAME)
|
||||
(docdir, dvidir, htmldir, pdfdir, psdir, GZIP_PROG, INSTALL)
|
||||
(INSTALL_DATA): New, set by configure.
|
||||
(HTML_OPTS, DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS):
|
||||
New variables.
|
||||
(.SUFFIXES): Add .ps and .dvi.
|
||||
(.dvi.ps): New suffix rule.
|
||||
(dvi, html, pdf, ps): Use *_TARGETS variables.
|
||||
(elisp.html): Use HTML_OPTS.
|
||||
(elisp.ps): Remove explicit rule.
|
||||
(.PHONY): install-dvi, install-html, install-pdf, install-ps
|
||||
,install-doc, uninstall-dvi, uninstall-html, uninstall-pdf,
|
||||
uninstall-ps, and uninstall-doc.
|
||||
(install-dvi, install-html, install-pdf, install-ps, install-doc)
|
||||
(uninstall-dvi, uninstall-html, uninstall-ps, uninstall-pdf)
|
||||
(uninstall-doc): New rules.
|
||||
(clean): Use DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS.
|
||||
|
||||
2013-08-10 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* edebug.texi (Instrumenting Macro Calls): Use @defmac for macros.
|
||||
|
||||
2013-08-09 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* control.texi (Error Symbols): Minor fix for previous change.
|
||||
|
||||
2013-08-09 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* errors.texi (Standard Errors): Don't refer to `error-conditions'.
|
||||
|
||||
* control.texi (Signaling Errors): Refer to define-error.
|
||||
(Error Symbols): Add `define-error'.
|
||||
|
||||
2013-08-06 Dmitry Antipov <dmantipov@yandex.ru>
|
||||
|
||||
* positions.texi (Motion by Screen Lines):
|
||||
* display.texi (Truncation): Rename `cache-long-line-scans'
|
||||
to `cache-long-scans'.
|
||||
|
||||
2013-08-05 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* windows.texi (Window Start and End): Add an index.
|
||||
|
||||
2013-08-02 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* display.texi (Face Functions): Add an index.
|
||||
|
||||
* variables.texi (Variable Aliases): Add an index.
|
||||
|
||||
* functions.texi (Defining Functions): Add an index.
|
||||
|
||||
* nonascii.texi (Coding System Basics): Add an index.
|
||||
|
||||
2013-07-31 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* nonascii.texi (Non-ASCII Characters): Update menu.
|
||||
(Disabling Multibyte): Move here from doc/emacs/mule.texi. Fix cross-references.
|
||||
|
||||
* elisp.texi (Top): Update menu.
|
||||
|
||||
2013-07-30 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* windows.texi (Window History): Mention the default value of
|
||||
switch-to-visible-buffer. Add cross-references.
|
||||
|
||||
2013-07-24 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* errors.texi (Standard Errors): Fix typo.
|
||||
|
|
|
@ -33,12 +33,29 @@ texinfodir = $(srcdir)/../misc
|
|||
# Directory with emacsver.texi.
|
||||
emacsdir = $(srcdir)/../emacs
|
||||
|
||||
prefix = @prefix@
|
||||
datarootdir = @datarootdir@
|
||||
datadir = @datadir@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
htmldir = @htmldir@
|
||||
pdfdir = @pdfdir@
|
||||
psdir = @psdir@
|
||||
|
||||
MKDIR_P = @MKDIR_P@
|
||||
|
||||
GZIP_PROG = @GZIP_PROG@
|
||||
|
||||
HTML_OPTS = --no-split --html
|
||||
|
||||
INFO_EXT=@INFO_EXT@
|
||||
# Options used only when making info output.
|
||||
INFO_OPTS=@INFO_OPTS@
|
||||
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MAKEINFO_OPTS = --force --enable-encoding -I $(emacsdir) -I $(srcdir)
|
||||
TEXI2DVI = texi2dvi
|
||||
|
@ -48,6 +65,11 @@ DVIPS = dvips
|
|||
ENVADD = TEXINPUTS="$(srcdir):$(texinfodir):$(emacsdir):$(TEXINPUTS)" \
|
||||
MAKEINFO="$(MAKEINFO) $(MAKEINFO_OPTS)"
|
||||
|
||||
DVI_TARGETS = elisp.dvi
|
||||
HTML_TARGETS = elisp.html
|
||||
PDF_TARGETS = elisp.pdf
|
||||
PS_TARGETS = elisp.ps
|
||||
|
||||
# List of all the texinfo files in the manual:
|
||||
|
||||
srcs = \
|
||||
|
@ -109,11 +131,16 @@ mkinfodir = @${MKDIR_P} ${buildinfodir}
|
|||
|
||||
.PHONY: info dvi pdf ps
|
||||
|
||||
.SUFFIXES: .ps .dvi
|
||||
|
||||
.dvi.ps:
|
||||
$(DVIPS) -o $@ $<
|
||||
|
||||
info: $(buildinfodir)/elisp$(INFO_EXT)
|
||||
dvi: elisp.dvi
|
||||
html: elisp.html
|
||||
pdf: elisp.pdf
|
||||
ps: elisp.ps
|
||||
dvi: $(DVI_TARGETS)
|
||||
html: $(HTML_TARGETS)
|
||||
pdf: $(PDF_TARGETS)
|
||||
ps: $(PS_TARGETS)
|
||||
|
||||
## Note: "<" is not portable in ordinary make rules.
|
||||
$(buildinfodir)/elisp$(INFO_EXT): $(srcs)
|
||||
|
@ -124,10 +151,7 @@ elisp.dvi: $(srcs)
|
|||
$(ENVADD) $(TEXI2DVI) $(srcdir)/elisp.texi
|
||||
|
||||
elisp.html: $(srcs)
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) --html -o $@ $(srcdir)/elisp.texi
|
||||
|
||||
elisp.ps: elisp.dvi
|
||||
$(DVIPS) -o $@ elisp.dvi
|
||||
$(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ $(srcdir)/elisp.texi
|
||||
|
||||
elisp.pdf: $(srcs)
|
||||
$(ENVADD) $(TEXI2PDF) $(srcdir)/elisp.texi
|
||||
|
@ -141,9 +165,8 @@ mostlyclean:
|
|||
rm -f elisp[12]* vol[12].tmp
|
||||
|
||||
clean: mostlyclean
|
||||
rm -f elisp.dvi elisp.pdf elisp.ps
|
||||
rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS)
|
||||
rm -f vol[12].dvi vol[12].pdf vol[12].ps
|
||||
rm -rf elisp.html
|
||||
rm -f emacs-lispref-${version}.tar*
|
||||
|
||||
distclean: clean
|
||||
|
@ -176,4 +199,51 @@ dist:
|
|||
tar -cf emacs-lispref-${version}.tar emacs-lispref-${version}
|
||||
rm -rf emacs-lispref-${version}
|
||||
|
||||
.PHONY: install-dvi install-html install-pdf install-ps install-doc
|
||||
|
||||
install-dvi: dvi
|
||||
umask 022; $(MKDIR_P) $(DESTDIR)$(dvidir)
|
||||
$(INSTALL_DATA) $(DVI_TARGETS) $(DESTDIR)$(dvidir)
|
||||
install-html: html
|
||||
umask 022; $(MKDIR_P) $(DESTDIR)$(htmldir)
|
||||
$(INSTALL_DATA) $(HTML_TARGETS) $(DESTDIR)$(htmldir)
|
||||
install-pdf: pdf
|
||||
umask 022;$(MKDIR_P) $(DESTDIR)$(pdfdir)
|
||||
$(INSTALL_DATA) $(PDF_TARGETS) $(DESTDIR)$(pdfdir)
|
||||
install-ps: ps
|
||||
umask 022; $(MKDIR_P) $(DESTDIR)$(psdir)
|
||||
for file in $(PS_TARGETS); do \
|
||||
$(INSTALL_DATA) $${file} $(DESTDIR)$(psdir); \
|
||||
[ -n "${GZIP_PROG}" ] || continue; \
|
||||
rm -f $(DESTDIR)$(psdir)/$${file}.gz; \
|
||||
${GZIP_PROG} -9n $(DESTDIR)$(psdir)/$${file}; \
|
||||
done
|
||||
|
||||
## Top-level Makefile installs the info pages.
|
||||
install-doc: install-dvi install-html install-pdf install-ps
|
||||
|
||||
|
||||
.PHONY: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps uninstall-doc
|
||||
|
||||
uninstall-dvi:
|
||||
for file in $(DVI_TARGETS); do \
|
||||
rm -f $(DESTDIR)$(dvidir)/$${file}; \
|
||||
done
|
||||
uninstall-html:
|
||||
for file in $(HTML_TARGETS); do \
|
||||
rm -f $(DESTDIR)$(htmldir)/$${file}; \
|
||||
done
|
||||
uninstall-ps:
|
||||
ext= ; [ -n "${GZIP_PROG}" ] && ext=.gz; \
|
||||
for file in $(PS_TARGETS); do \
|
||||
rm -f $(DESTDIR)$(psdir)/$${file}$${ext}; \
|
||||
done
|
||||
uninstall-pdf:
|
||||
for file in $(PDF_TARGETS); do \
|
||||
rm -f $(DESTDIR)$(pdfdir)/$${file}; \
|
||||
done
|
||||
|
||||
uninstall-doc: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps
|
||||
|
||||
|
||||
### Makefile ends here
|
||||
|
|
|
@ -890,9 +890,8 @@ argument @var{data} is a list of additional Lisp objects relevant to
|
|||
the circumstances of the error.
|
||||
|
||||
The argument @var{error-symbol} must be an @dfn{error symbol}---a symbol
|
||||
bearing a property @code{error-conditions} whose value is a list of
|
||||
condition names. This is how Emacs Lisp classifies different sorts of
|
||||
errors. @xref{Error Symbols}, for a description of error symbols,
|
||||
defined with @code{define-error}. This is how Emacs Lisp classifies different
|
||||
sorts of errors. @xref{Error Symbols}, for a description of error symbols,
|
||||
error conditions and condition names.
|
||||
|
||||
If the error is not handled, the two arguments are used in printing
|
||||
|
@ -1118,8 +1117,8 @@ Here are examples of handlers:
|
|||
@end example
|
||||
|
||||
Each error that occurs has an @dfn{error symbol} that describes what
|
||||
kind of error it is. The @code{error-conditions} property of this
|
||||
symbol is a list of condition names (@pxref{Error Symbols}). Emacs
|
||||
kind of error it is, and which describes also a list of condition names
|
||||
(@pxref{Error Symbols}). Emacs
|
||||
searches all the active @code{condition-case} forms for a handler that
|
||||
specifies one or more of these condition names; the innermost matching
|
||||
@code{condition-case} handles the error. Within this
|
||||
|
@ -1259,6 +1258,7 @@ should be robust if one does occur. Note that this macro uses
|
|||
@cindex condition name
|
||||
@cindex user-defined error
|
||||
@kindex error-conditions
|
||||
@kindex define-error
|
||||
|
||||
When you signal an error, you specify an @dfn{error symbol} to specify
|
||||
the kind of error you have in mind. Each error has one and only one
|
||||
|
@ -1275,42 +1275,38 @@ Thus, each error has one or more condition names: @code{error}, the
|
|||
error symbol if that is distinct from @code{error}, and perhaps some
|
||||
intermediate classifications.
|
||||
|
||||
In order for a symbol to be an error symbol, it must have an
|
||||
@code{error-conditions} property which gives a list of condition names.
|
||||
This list defines the conditions that this kind of error belongs to.
|
||||
(The error symbol itself, and the symbol @code{error}, should always be
|
||||
members of this list.) Thus, the hierarchy of condition names is
|
||||
defined by the @code{error-conditions} properties of the error symbols.
|
||||
Because quitting is not considered an error, the value of the
|
||||
@code{error-conditions} property of @code{quit} is just @code{(quit)}.
|
||||
@defun define-error name message &optional parent
|
||||
In order for a symbol to be an error symbol, it must be defined with
|
||||
@code{define-error} which takes a parent condition (defaults to @code{error}).
|
||||
This parent defines the conditions that this kind of error belongs to.
|
||||
The transitive set of parents always includes the error symbol itself, and the
|
||||
symbol @code{error}. Because quitting is not considered an error, the set of
|
||||
parents of @code{quit} is just @code{(quit)}.
|
||||
@end defun
|
||||
|
||||
@cindex peculiar error
|
||||
In addition to the @code{error-conditions} list, the error symbol
|
||||
should have an @code{error-message} property whose value is a string to
|
||||
be printed when that error is signaled but not handled. If the
|
||||
error symbol has no @code{error-message} property or if the
|
||||
@code{error-message} property exists, but is not a string, the error
|
||||
message @samp{peculiar error} is used. @xref{Definition of signal}.
|
||||
In addition to its parents, the error symbol has a @var{message} which
|
||||
is a string to be printed when that error is signaled but not handled. If that
|
||||
message is not valid, the error message @samp{peculiar error} is used.
|
||||
@xref{Definition of signal}.
|
||||
|
||||
Internally, the set of parents is stored in the @code{error-conditions}
|
||||
property of the error symbol and the message is stored in the
|
||||
@code{error-message} property of the error symbol.
|
||||
|
||||
Here is how we define a new error symbol, @code{new-error}:
|
||||
|
||||
@example
|
||||
@group
|
||||
(put 'new-error
|
||||
'error-conditions
|
||||
'(error my-own-errors new-error))
|
||||
@result{} (error my-own-errors new-error)
|
||||
@end group
|
||||
@group
|
||||
(put 'new-error 'error-message "A new error")
|
||||
@result{} "A new error"
|
||||
(define-error 'new-error "A new error" 'my-own-errors)
|
||||
@end group
|
||||
@end example
|
||||
|
||||
@noindent
|
||||
This error has three condition names: @code{new-error}, the narrowest
|
||||
This error has several condition names: @code{new-error}, the narrowest
|
||||
classification; @code{my-own-errors}, which we imagine is a wider
|
||||
classification; and @code{error}, which is the widest of all.
|
||||
classification; and all the conditions of @code{my-own-errors} which should
|
||||
include @code{error}, which is the widest of all.
|
||||
|
||||
The error string should start with a capital letter but it should
|
||||
not end with a period. This is for consistency with the rest of Emacs.
|
||||
|
@ -1326,7 +1322,7 @@ your code can do this:
|
|||
@end group
|
||||
@end example
|
||||
|
||||
This error can be handled through any of the three condition names.
|
||||
This error can be handled through any of its condition names.
|
||||
This example handles @code{new-error} and any other errors in the class
|
||||
@code{my-own-errors}:
|
||||
|
||||
|
|
|
@ -217,9 +217,9 @@ over the @code{line-prefix} variable. @xref{Special Properties}.
|
|||
continuation to display them, computing the continuation lines can
|
||||
make redisplay slow. The column computation and indentation functions
|
||||
also become slow. Then you might find it advisable to set
|
||||
@code{cache-long-line-scans} to @code{t}.
|
||||
@code{cache-long-scans} to @code{t}.
|
||||
|
||||
@defvar cache-long-line-scans
|
||||
@defvar cache-long-scans
|
||||
If this variable is non-@code{nil}, various indentation and motion
|
||||
functions, and Emacs redisplay, cache the results of scanning the
|
||||
buffer, and consult the cache to avoid rescanning regions of the buffer
|
||||
|
@ -1243,6 +1243,7 @@ Type RET when done reading
|
|||
@node Overlays
|
||||
@section Overlays
|
||||
@cindex overlays
|
||||
@c FIXME: mention intervals in this section?
|
||||
|
||||
You can use @dfn{overlays} to alter the appearance of a buffer's text on
|
||||
the screen, for the sake of presentation features. An overlay is an
|
||||
|
@ -2738,6 +2739,7 @@ differently from the default face.
|
|||
@end defun
|
||||
|
||||
@cindex face alias
|
||||
@cindex alias, for faces
|
||||
A @dfn{face alias} provides an equivalent name for a face. You can
|
||||
define a face alias by giving the alias symbol the @code{face-alias}
|
||||
property, with a value of the target face name. The following example
|
||||
|
@ -4662,6 +4664,14 @@ and if @code{:height} is set it will have precedence over
|
|||
wish. @code{:max-width} and @code{:max-height} will always preserve
|
||||
the aspect ratio.
|
||||
|
||||
@item :format
|
||||
ImageMagick tries to auto-detect the image type, but it isn't always
|
||||
able to. By using @code{:format-type}, we can give ImageMagick a hint
|
||||
to try to help it. It's used in conjunction with the
|
||||
@code{image-format-suffixes} variable, which provides a mapping from
|
||||
content types to file name suffixes. This is then given to
|
||||
ImageMagick as a file name hint.
|
||||
|
||||
@item :rotation
|
||||
Specifies a rotation angle in degrees.
|
||||
|
||||
|
|
|
@ -1132,14 +1132,14 @@ from the macro definition with @code{def-edebug-spec}. Adding
|
|||
definitions in Lisp, but @code{def-edebug-spec} makes it possible to
|
||||
define Edebug specifications for special forms implemented in C.
|
||||
|
||||
@deffn Macro def-edebug-spec macro specification
|
||||
@defmac def-edebug-spec macro specification
|
||||
Specify which expressions of a call to macro @var{macro} are forms to be
|
||||
evaluated. @var{specification} should be the edebug specification.
|
||||
Neither argument is evaluated.
|
||||
|
||||
The @var{macro} argument can actually be any symbol, not just a macro
|
||||
name.
|
||||
@end deffn
|
||||
@end defmac
|
||||
|
||||
Here is a table of the possibilities for @var{specification} and how each
|
||||
directs processing of arguments.
|
||||
|
|
|
@ -1195,6 +1195,7 @@ Text Properties
|
|||
Non-@acronym{ASCII} Characters
|
||||
|
||||
* Text Representations:: How Emacs represents text.
|
||||
* Disabling Multibyte:: Controlling whether to use multibyte characters.
|
||||
* Converting Representations:: Converting unibyte to multibyte and vice versa.
|
||||
* Selecting a Representation:: Treating a byte sequence as unibyte or multi.
|
||||
* Character Codes:: How unibyte and multibyte relate to
|
||||
|
|
|
@ -7,12 +7,11 @@
|
|||
@appendix Standard Errors
|
||||
@cindex standard errors
|
||||
|
||||
Here is a list of the more important error symbols in standard Emacs,
|
||||
grouped by concept. The list includes each symbol's message (on the
|
||||
@code{error-message} property of the symbol) and a cross reference to a
|
||||
description of how the error can occur.
|
||||
Here is a list of the more important error symbols in standard Emacs, grouped
|
||||
by concept. The list includes each symbol's message and a cross reference
|
||||
to a description of how the error can occur.
|
||||
|
||||
Each error symbol has an @code{error-conditions} property that is a
|
||||
Each error symbol has an set of parent error conditions that is a
|
||||
list of symbols. Normally this list includes the error symbol itself
|
||||
and the symbol @code{error}. Occasionally it includes additional
|
||||
symbols, which are intermediate classifications, narrower than
|
||||
|
@ -24,8 +23,6 @@ conditions, that means it has none.
|
|||
As a special exception, the error symbol @code{quit} does not have the
|
||||
condition @code{error}, because quitting is not considered an error.
|
||||
|
||||
@c You can grep for "(put 'foo 'error-conditions ...) to find
|
||||
@c examples defined in Lisp. E.g., soap-client.el, sasl.el.
|
||||
Most of these error symbols are defined in C (mainly @file{data.c}),
|
||||
but some are defined in Lisp. For example, the file @file{userlock.el}
|
||||
defines the @code{file-locked} and @code{file-supersession} errors.
|
||||
|
|
|
@ -446,7 +446,7 @@ default parameters by supplying their own parameters.
|
|||
If you invoke Emacs with command-line options that specify frame
|
||||
appearance, those options take effect by adding elements to either
|
||||
@code{initial-frame-alist} or @code{default-frame-alist}. Options
|
||||
which affect just the initial frame, such as @samp{-geometry} and
|
||||
which affect just the initial frame, such as @samp{--geometry} and
|
||||
@samp{--maximized}, add to @code{initial-frame-alist}; the others add
|
||||
to @code{default-frame-alist}. @pxref{Emacs Invocation,, Command Line
|
||||
Arguments for Emacs Invocation, emacs, The GNU Emacs Manual}.
|
||||
|
@ -1362,7 +1362,7 @@ Terminals}.
|
|||
@node Input Focus
|
||||
@section Input Focus
|
||||
@cindex input focus
|
||||
@c @cindex selected frame Duplicates selected-frame
|
||||
@c @cindex selected frame Duplicates selected-frame, same for selected-window.
|
||||
|
||||
At any time, one frame in Emacs is the @dfn{selected frame}. The selected
|
||||
window always resides on the selected frame.
|
||||
|
@ -2391,6 +2391,7 @@ displays returned by @code{display-mm-height} and
|
|||
@code{display-mm-width} in case the system provides incorrect values.
|
||||
@end defopt
|
||||
|
||||
@cindex backing store
|
||||
@defun display-backing-store &optional display
|
||||
This function returns the backing store capability of the display.
|
||||
Backing store means recording the pixels of windows (and parts of
|
||||
|
@ -2402,6 +2403,7 @@ Values can be the symbols @code{always}, @code{when-mapped}, or
|
|||
when the question is inapplicable to a certain kind of display.
|
||||
@end defun
|
||||
|
||||
@cindex SaveUnder feature
|
||||
@defun display-save-under &optional display
|
||||
This function returns non-@code{nil} if the display supports the
|
||||
SaveUnder feature. That feature is used by pop-up windows
|
||||
|
|
|
@ -580,6 +580,7 @@ redefinition from unintentional redefinition.
|
|||
@end defmac
|
||||
|
||||
@cindex function aliases
|
||||
@cindex alias, for functions
|
||||
@defun defalias name definition &optional doc
|
||||
@anchor{Definition of defalias}
|
||||
This function defines the symbol @var{name} as a function, with
|
||||
|
|
|
@ -270,8 +270,10 @@ are numbered starting with zero, so the @sc{car} of @var{list} is
|
|||
element number zero. If the length of @var{list} is @var{n} or less,
|
||||
the value is @code{nil}.
|
||||
|
||||
If @var{n} is negative, @code{nth} returns the first element of
|
||||
@var{list}.
|
||||
@c Behavior for -ve n undefined since 2013/08; see bug#15059.
|
||||
@ignore
|
||||
If @var{n} is negative, @code{nth} returns the first element of @var{list}.
|
||||
@end ignore
|
||||
|
||||
@example
|
||||
@group
|
||||
|
@ -281,10 +283,6 @@ If @var{n} is negative, @code{nth} returns the first element of
|
|||
@group
|
||||
(nth 10 '(1 2 3 4))
|
||||
@result{} nil
|
||||
@end group
|
||||
@group
|
||||
(nth -3 '(1 2 3 4))
|
||||
@result{} 1
|
||||
|
||||
(nth n x) @equiv{} (car (nthcdr n x))
|
||||
@end group
|
||||
|
@ -300,7 +298,8 @@ This function returns the @var{n}th @sc{cdr} of @var{list}. In other
|
|||
words, it skips past the first @var{n} links of @var{list} and returns
|
||||
what follows.
|
||||
|
||||
If @var{n} is zero or negative, @code{nthcdr} returns all of
|
||||
@c "or negative" removed 2013/08; see bug#15059.
|
||||
If @var{n} is zero, @code{nthcdr} returns all of
|
||||
@var{list}. If the length of @var{list} is @var{n} or less,
|
||||
@code{nthcdr} returns @code{nil}.
|
||||
|
||||
|
@ -314,7 +313,7 @@ If @var{n} is zero or negative, @code{nthcdr} returns all of
|
|||
@result{} nil
|
||||
@end group
|
||||
@group
|
||||
(nthcdr -3 '(1 2 3 4))
|
||||
(nthcdr 0 '(1 2 3 4))
|
||||
@result{} (1 2 3 4)
|
||||
@end group
|
||||
@end example
|
||||
|
|
|
@ -216,11 +216,14 @@ new marker that points to the same place and the same buffer as does
|
|||
The new marker's insertion type is specified by the argument
|
||||
@var{insertion-type}. @xref{Marker Insertion Types}.
|
||||
|
||||
@c This behavior used to be documented until 2013/08.
|
||||
@ignore
|
||||
If passed an integer argument less than 1, @code{copy-marker} returns a
|
||||
new marker that points to the beginning of the current buffer. If
|
||||
passed an integer argument greater than the length of the buffer,
|
||||
@code{copy-marker} returns a new marker that points to the end of the
|
||||
buffer.
|
||||
@end ignore
|
||||
|
||||
@example
|
||||
@group
|
||||
|
@ -279,6 +282,8 @@ This function returns the position that @var{marker} points to, or
|
|||
This function returns the buffer that @var{marker} points into, or
|
||||
@code{nil} if it points nowhere.
|
||||
|
||||
@c FIXME: The `buffer' argument of `set-marker' already defaults to
|
||||
@c the current buffer, why use `(current-buffer)' explicitly here?
|
||||
@example
|
||||
@group
|
||||
(setq m (make-marker))
|
||||
|
@ -349,11 +354,15 @@ This function moves @var{marker} to @var{position}
|
|||
in @var{buffer}. If @var{buffer} is not provided, it defaults to
|
||||
the current buffer.
|
||||
|
||||
@c This behavior used to be documented until 2013/08.
|
||||
@ignore
|
||||
If @var{position} is less than 1, @code{set-marker} moves @var{marker}
|
||||
to the beginning of the buffer. If @var{position} is greater than the
|
||||
size of the buffer (@pxref{Point}), @code{set-marker} moves marker to
|
||||
the end of the buffer. If @var{position} is @code{nil} or a marker
|
||||
that points nowhere, then @var{marker} is set to point nowhere.
|
||||
the end of the buffer.
|
||||
@end ignore
|
||||
If @var{position} is @code{nil} or a marker that points nowhere, then
|
||||
@var{marker} is set to point nowhere.
|
||||
|
||||
The value returned is @var{marker}.
|
||||
|
||||
|
@ -384,7 +393,7 @@ This is another name for @code{set-marker}.
|
|||
@node The Mark
|
||||
@section The Mark
|
||||
@cindex mark, the
|
||||
@cindex mark ring
|
||||
@c @cindex the mark?
|
||||
|
||||
Each buffer has a special marker, which is designated @dfn{the
|
||||
mark}. When a buffer is newly created, this marker exists but does
|
||||
|
@ -423,6 +432,7 @@ the mark is active. This is the main motivation for using Transient
|
|||
Mark mode. (Another is that this enables highlighting of the region
|
||||
when the mark is active. @xref{Display}.)
|
||||
|
||||
@cindex mark ring
|
||||
In addition to the mark, each buffer has a @dfn{mark ring} which is a
|
||||
list of markers containing previous values of the mark. When editing
|
||||
commands change the mark, they should normally save the old value of the
|
||||
|
@ -644,7 +654,12 @@ more marks than this are pushed onto the @code{mark-ring},
|
|||
|
||||
@node The Region
|
||||
@section The Region
|
||||
@cindex region (between point and mark)
|
||||
@c The index entry must be just ``region'' to make it the first hit
|
||||
@c when the user types ``i region RET'', because otherwise the Info
|
||||
@c reader will present substring matches in alphabetical order,
|
||||
@c putting this one near the end, with something utterly unrelated as
|
||||
@c the first hit.
|
||||
@cindex region
|
||||
|
||||
The text between point and the mark is known as @dfn{the region}.
|
||||
Various functions operate on text delimited by point and the mark, but
|
||||
|
@ -668,6 +683,7 @@ integer). This is the position of either point or the mark, whichever is
|
|||
larger.
|
||||
@end defun
|
||||
|
||||
@c FIXME: Mention it in tips.texi?
|
||||
Instead of using @code{region-beginning} and @code{region-end}, a
|
||||
command designed to operate on a region should normally use
|
||||
@code{interactive} with the @samp{r} specification to find the
|
||||
|
@ -680,6 +696,8 @@ mark is active, and there is a valid region in the buffer. This
|
|||
function is intended to be used by commands that operate on the
|
||||
region, instead of on text near point, when the mark is active.
|
||||
|
||||
@cindex empty region
|
||||
@vindex use-empty-active-region
|
||||
A region is valid if it has a non-zero size, or if the user option
|
||||
@code{use-empty-active-region} is non-@code{nil} (by default, it is
|
||||
@code{nil}). The function @code{region-active-p} is similar to
|
||||
|
|
|
@ -3381,6 +3381,7 @@ of Lisp sexps and adapts it to non-Lisp languages.
|
|||
|
||||
@node SMIE
|
||||
@subsection Simple Minded Indentation Engine
|
||||
@cindex SMIE
|
||||
|
||||
SMIE is a package that provides a generic navigation and indentation
|
||||
engine. Based on a very simple parser using an ``operator precedence
|
||||
|
@ -3548,6 +3549,8 @@ simply ignored.
|
|||
|
||||
@node SMIE Grammar
|
||||
@subsubsection Defining the Grammar of a Language
|
||||
@cindex SMIE grammar
|
||||
@cindex grammar, SMIE
|
||||
|
||||
The usual way to define the SMIE grammar of a language is by
|
||||
defining a new global variable that holds the precedence table by
|
||||
|
@ -3623,6 +3626,8 @@ formally as left associative.
|
|||
|
||||
@node SMIE Lexer
|
||||
@subsubsection Defining Tokens
|
||||
@cindex SMIE lexer
|
||||
@cindex defining tokens, SMIE
|
||||
|
||||
SMIE comes with a predefined lexical analyzer which uses syntax tables
|
||||
in the following way: any sequence of characters that have word or
|
||||
|
@ -3757,6 +3762,7 @@ surrounding text to find ad-hoc clues.
|
|||
|
||||
@node SMIE Indentation
|
||||
@subsubsection Specifying Indentation Rules
|
||||
@cindex indentation rules, SMIE
|
||||
|
||||
Based on the provided grammar, SMIE will be able to provide automatic
|
||||
indentation without any extra effort. But in practice, this default
|
||||
|
|
|
@ -13,6 +13,7 @@ how they are stored in strings and buffers.
|
|||
|
||||
@menu
|
||||
* Text Representations:: How Emacs represents text.
|
||||
* Disabling Multibyte:: Controlling whether to use multibyte characters.
|
||||
* Converting Representations:: Converting unibyte to multibyte and vice versa.
|
||||
* Selecting a Representation:: Treating a byte sequence as unibyte or multi.
|
||||
* Character Codes:: How unibyte and multibyte relate to
|
||||
|
@ -140,6 +141,55 @@ This function concatenates all its argument @var{bytes} and makes the
|
|||
result a unibyte string.
|
||||
@end defun
|
||||
|
||||
@node Disabling Multibyte
|
||||
@section Disabling Multibyte Characters
|
||||
@cindex disabling multibyte
|
||||
|
||||
By default, Emacs starts in multibyte mode: it stores the contents
|
||||
of buffers and strings using an internal encoding that represents
|
||||
non-@acronym{ASCII} characters using multi-byte sequences. Multibyte
|
||||
mode allows you to use all the supported languages and scripts without
|
||||
limitations.
|
||||
|
||||
@cindex turn multibyte support on or off
|
||||
Under very special circumstances, you may want to disable multibyte
|
||||
character support, for a specific buffer.
|
||||
When multibyte characters are disabled in a buffer, we call
|
||||
that @dfn{unibyte mode}. In unibyte mode, each character in the
|
||||
buffer has a character code ranging from 0 through 255 (0377 octal); 0
|
||||
through 127 (0177 octal) represent @acronym{ASCII} characters, and 128
|
||||
(0200 octal) through 255 (0377 octal) represent non-@acronym{ASCII}
|
||||
characters.
|
||||
|
||||
To edit a particular file in unibyte representation, visit it using
|
||||
@code{find-file-literally}. @xref{Visiting Functions}. You can
|
||||
convert a multibyte buffer to unibyte by saving it to a file, killing
|
||||
the buffer, and visiting the file again with
|
||||
@code{find-file-literally}. Alternatively, you can use @kbd{C-x
|
||||
@key{RET} c} (@code{universal-coding-system-argument}) and specify
|
||||
@samp{raw-text} as the coding system with which to visit or save a
|
||||
file. @xref{Text Coding, , Specifying a Coding System for File Text,
|
||||
emacs, GNU Emacs Manual}. Unlike @code{find-file-literally}, finding
|
||||
a file as @samp{raw-text} doesn't disable format conversion,
|
||||
uncompression, or auto mode selection.
|
||||
|
||||
@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.
|
||||
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 off multibyte support in a specific buffer by invoking the
|
||||
command @code{toggle-enable-multibyte-characters} in that buffer.
|
||||
|
||||
@node Converting Representations
|
||||
@section Converting Text Representations
|
||||
|
||||
|
@ -962,6 +1012,7 @@ The value of the @code{:mime-charset} property is also defined
|
|||
as an alias for the coding system.
|
||||
@end defun
|
||||
|
||||
@cindex alias, for coding systems
|
||||
@defun coding-system-aliases coding-system
|
||||
This function returns the list of aliases of @var{coding-system}.
|
||||
@end defun
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
@node Positions
|
||||
@chapter Positions
|
||||
@cindex position (in buffer)
|
||||
@cindex buffer position
|
||||
|
||||
A @dfn{position} is the index of a character in the text of a buffer.
|
||||
More precisely, a position identifies the place between two characters
|
||||
|
@ -146,9 +147,13 @@ that.
|
|||
|
||||
@deffn Command goto-char position
|
||||
This function sets point in the current buffer to the value
|
||||
@var{position}. If @var{position} is less than 1, it moves point to the
|
||||
beginning of the buffer. If @var{position} is greater than the length
|
||||
of the buffer, it moves point to the end.
|
||||
@var{position}.
|
||||
@c This behavior used to be documented until 2013/08.
|
||||
@ignore
|
||||
If @var{position} is less than 1, it moves point to the beginning of
|
||||
the buffer. If @var{position} is greater than the length of the
|
||||
buffer, it moves point to the end.
|
||||
@end ignore
|
||||
|
||||
If narrowing is in effect, @var{position} still counts from the
|
||||
beginning of the buffer, but point cannot go outside the accessible
|
||||
|
@ -191,8 +196,8 @@ whether a given character is part of a word. @xref{Syntax Tables}.
|
|||
|
||||
@deffn Command forward-word &optional count
|
||||
This function moves point forward @var{count} words (or backward if
|
||||
@var{count} is negative). If @var{count} is @code{nil}, it moves
|
||||
forward one word.
|
||||
@var{count} is negative). If @var{count} is omitted or @code{nil}, it
|
||||
defaults to 1.
|
||||
|
||||
``Moving one word'' means moving until point crosses a
|
||||
word-constituent character and then encounters a word-separator
|
||||
|
@ -210,7 +215,7 @@ If @code{inhibit-field-text-motion} is non-@code{nil},
|
|||
this function ignores field boundaries.
|
||||
|
||||
In an interactive call, @var{count} is specified by the numeric prefix
|
||||
argument. If @var{count} is omitted or @code{nil}, it defaults to 1.
|
||||
argument.
|
||||
@end deffn
|
||||
|
||||
@deffn Command backward-word &optional count
|
||||
|
@ -483,7 +488,7 @@ Display}.
|
|||
These functions scan text to determine where screen lines break, and
|
||||
thus take time proportional to the distance scanned. If you intend to
|
||||
use them heavily, Emacs provides caches which may improve the
|
||||
performance of your code. @xref{Truncation, cache-long-line-scans}.
|
||||
performance of your code. @xref{Truncation, cache-long-scans}.
|
||||
|
||||
@defun vertical-motion count &optional window
|
||||
This function moves point to the start of the screen line @var{count}
|
||||
|
@ -805,7 +810,7 @@ thousands of times in the Lisp sources of Emacs.
|
|||
buffer, use @code{save-current-buffer} or @code{with-current-buffer}
|
||||
instead (@pxref{Current Buffer}). If you need to save or restore
|
||||
window configurations, see the forms described in @ref{Window
|
||||
Configurations} and in @ref{Frame Configurations}.
|
||||
Configurations} and in @ref{Frame Configurations}. @c frameset?
|
||||
|
||||
@defspec save-excursion body@dots{}
|
||||
@cindex mark excursion
|
||||
|
|
|
@ -240,6 +240,7 @@ Major and minor modes can add functions to
|
|||
copied out of the buffer.
|
||||
@end defun
|
||||
|
||||
@c FIXME: `filter-buffer-substring-function' should be documented.
|
||||
@defvar filter-buffer-substring-functions
|
||||
This variable is a wrapper hook (@pxref{Running Hooks}), whose members
|
||||
should be functions that accept four arguments: @var{fun},
|
||||
|
@ -365,7 +366,8 @@ not relocate the marker, depending on the marker's insertion type
|
|||
the inserted text, regardless of the markers' insertion type.
|
||||
|
||||
Insertion functions signal an error if the current buffer is
|
||||
read-only or if they insert within read-only text.
|
||||
read-only (@pxref{Read Only Buffers}) or if they insert within
|
||||
read-only text (@pxref{Special Properties}).
|
||||
|
||||
These functions copy text characters from strings and buffers along
|
||||
with their properties. The inserted characters have exactly the same
|
||||
|
@ -421,10 +423,10 @@ insertion point. @xref{Sticky Properties}.
|
|||
|
||||
@defun insert-buffer-substring from-buffer-or-name &optional start end
|
||||
This function inserts a portion of buffer @var{from-buffer-or-name}
|
||||
(which must already exist) into the current buffer before point. The
|
||||
text inserted is the region between @var{start} and @var{end}. (These
|
||||
arguments default to the beginning and end of the accessible portion of
|
||||
that buffer.) This function returns @code{nil}.
|
||||
into the current buffer before point. The text inserted is the region
|
||||
between @var{start} (inclusive) and @var{end} (exclusive). (These
|
||||
arguments default to the beginning and end of the accessible portion
|
||||
of that buffer.) This function returns @code{nil}.
|
||||
|
||||
In this example, the form is executed with buffer @samp{bar} as the
|
||||
current buffer. We assume that buffer @samp{bar} is initially empty.
|
||||
|
@ -482,6 +484,7 @@ it except to install it on a keymap.
|
|||
|
||||
In an interactive call, @var{count} is the numeric prefix argument.
|
||||
|
||||
@c FIXME: This variable is obsolete since 23.1.
|
||||
Self-insertion translates the input character through
|
||||
@code{translation-table-for-input}. @xref{Translation of Characters}.
|
||||
|
||||
|
@ -776,6 +779,7 @@ is deleted. If point is on a nonblank line, the command deletes all
|
|||
blank lines immediately following it.
|
||||
|
||||
A blank line is defined as a line containing only tabs and spaces.
|
||||
@c and the Newline character?
|
||||
|
||||
@code{delete-blank-lines} returns @code{nil}.
|
||||
@end deffn
|
||||
|
@ -920,6 +924,7 @@ processes the text according to @code{yank-handled-properties} and
|
|||
text anyway.)
|
||||
@end defun
|
||||
|
||||
@c FIXME: Add an index for yank-handler.
|
||||
If you put a @code{yank-handler} text property on all or part of a
|
||||
string, that alters how @code{insert-for-yank} inserts the string. If
|
||||
different parts of the string have different @code{yank-handler}
|
||||
|
@ -1284,8 +1289,8 @@ This is an extensible undo item, which is undone by calling
|
|||
@item (apply @var{delta} @var{beg} @var{end} @var{funname} . @var{args})
|
||||
This is an extensible undo item, which records a change limited to the
|
||||
range @var{beg} to @var{end}, which increased the size of the buffer
|
||||
by @var{delta}. It is undone by calling @var{funname} with arguments
|
||||
@var{args}.
|
||||
by @var{delta} characters. It is undone by calling @var{funname} with
|
||||
arguments @var{args}.
|
||||
|
||||
This kind of element enables undo limited to a region to determine
|
||||
whether the element pertains to that region.
|
||||
|
@ -1376,7 +1381,8 @@ possible to undo either previous changes or any subsequent changes. If
|
|||
the undo list of @var{buffer-or-name} is already disabled, this function
|
||||
has no effect.
|
||||
|
||||
This function returns @code{nil}.
|
||||
In an interactive call, BUFFER-OR-NAME is the current buffer. You
|
||||
cannot specify any other buffer. This function returns @code{nil}.
|
||||
@end deffn
|
||||
|
||||
As editing continues, undo lists get longer and longer. To prevent
|
||||
|
@ -1493,6 +1499,7 @@ the header lines. If @var{citation-regexp} is a string, it is used as
|
|||
a regular expression; if it matches the beginning of a line, that line
|
||||
is treated as a citation marker.
|
||||
|
||||
@c FIXME: "That mode" is confusing. It isn't a major/minor mode.
|
||||
Ordinarily, @code{fill-individual-paragraphs} regards each change in
|
||||
indentation as starting a new paragraph. If
|
||||
@code{fill-individual-varying-indent} is non-@code{nil}, then only
|
||||
|
@ -1606,11 +1613,13 @@ Manual}.
|
|||
@defvar use-hard-newlines
|
||||
If this variable is non-@code{nil}, the filling functions do not delete
|
||||
newlines that have the @code{hard} text property. These ``hard
|
||||
newlines'' act as paragraph separators.
|
||||
newlines'' act as paragraph separators. @xref{Hard and Soft
|
||||
Newlines,, Hard and Soft Newlines, emacs, The GNU Emacs Manual}.
|
||||
@end defvar
|
||||
|
||||
@node Margins
|
||||
@section Margins for Filling
|
||||
@cindex margins, filling
|
||||
|
||||
@defopt fill-prefix
|
||||
This buffer-local variable, if non-@code{nil}, specifies a string of
|
||||
|
@ -1800,6 +1809,7 @@ prefix or @code{nil}, meaning it has failed to determine a prefix.
|
|||
@cindex filling, automatic
|
||||
@cindex Auto Fill mode
|
||||
|
||||
@c FIXME: I don't think any of the variables below is a/an normal/abnormal hook.
|
||||
Auto Fill mode is a minor mode that fills lines automatically as text
|
||||
is inserted. This section describes the hook used by Auto Fill mode.
|
||||
For a description of functions that you can call explicitly to fill and
|
||||
|
@ -1941,10 +1951,10 @@ its @code{sort-subr} call looks like this:
|
|||
@group
|
||||
(sort-subr reverse
|
||||
(function
|
||||
(lambda ()
|
||||
(while (and (not (eobp))
|
||||
(looking-at paragraph-separate))
|
||||
(forward-line 1))))
|
||||
(lambda ()
|
||||
(while (and (not (eobp))
|
||||
(looking-at paragraph-separate))
|
||||
(forward-line 1))))
|
||||
'forward-paragraph)
|
||||
@end group
|
||||
@end example
|
||||
|
@ -2130,9 +2140,12 @@ line and point.
|
|||
When called interactively, @var{column} is the value of prefix numeric
|
||||
argument. If @var{column} is not an integer, an error is signaled.
|
||||
|
||||
@c This behavior used to be documented until 2013/08.
|
||||
@ignore
|
||||
If column @var{column} is beyond the end of the line, point moves to
|
||||
the end of the line. If @var{column} is negative, point moves to the
|
||||
beginning of the line.
|
||||
@end ignore
|
||||
|
||||
If it is impossible to move to column @var{column} because that is in
|
||||
the middle of a multicolumn character such as a tab, point moves to the
|
||||
|
@ -2341,6 +2354,8 @@ code.
|
|||
For example, if @var{count} is 3, this command adds 3 columns of
|
||||
indentation to each of the lines beginning in the region specified.
|
||||
|
||||
@c FIXME: I suggest using message-indent-citation as the example, or
|
||||
@c just remove this paragraph. --xfq
|
||||
In Mail mode, @kbd{C-c C-y} (@code{mail-yank-original}) uses
|
||||
@code{indent-rigidly} to indent the text copied from the message being
|
||||
replied to.
|
||||
|
@ -2518,7 +2533,7 @@ This is the contents of the 5th foo.
|
|||
@end group
|
||||
|
||||
@group
|
||||
(capitalize-region 1 44)
|
||||
(capitalize-region 1 37)
|
||||
@result{} nil
|
||||
|
||||
---------- Buffer: foo ----------
|
||||
|
@ -3024,6 +3039,7 @@ Point}.
|
|||
|
||||
@table @code
|
||||
@cindex property category of text character
|
||||
@c FIXME: Isn't @kindex for keyboard commands?
|
||||
@kindex category @r{(text property)}
|
||||
@item category
|
||||
If a character has a @code{category} property, we call it the
|
||||
|
@ -4012,6 +4028,7 @@ A rectangle is represented by a list of strings.
|
|||
This represents a window configuration to restore in one frame, and a
|
||||
position to jump to in the current buffer.
|
||||
|
||||
@c FIXME: Mention frameset here.
|
||||
@item @code{(@var{frame-configuration} @var{position})}
|
||||
This represents a frame configuration to restore, and a position
|
||||
to jump to in the current buffer.
|
||||
|
|
|
@ -1838,6 +1838,7 @@ updates this list.
|
|||
@node Variable Aliases
|
||||
@section Variable Aliases
|
||||
@cindex variable aliases
|
||||
@cindex alias, for variables
|
||||
|
||||
It is sometimes useful to make two variables synonyms, so that both
|
||||
variables always have the same value, and changing either one also
|
||||
|
|
|
@ -2244,8 +2244,9 @@ window and defaults to the selected one.
|
|||
|
||||
Each list element has the form @code{(@var{buffer} @var{window-start}
|
||||
@var{window-pos})}, where @var{buffer} is a buffer previously shown in
|
||||
the window, @var{window-start} is the window start position when that
|
||||
buffer was last shown, and @var{window-pos} is the point position when
|
||||
the window, @var{window-start} is the window start position
|
||||
(@pxref{Window Start and End}) when that buffer was last shown, and
|
||||
@var{window-pos} is the point position (@pxref{Window Point}) when
|
||||
that buffer was last shown in @var{window}.
|
||||
|
||||
The list is ordered so that earlier elements correspond to more
|
||||
|
@ -2328,10 +2329,11 @@ same frame. The following option can be used to override this behavior.
|
|||
@defopt switch-to-visible-buffer
|
||||
If this variable is non-@code{nil}, @code{switch-to-prev-buffer} and
|
||||
@code{switch-to-next-buffer} may switch to a buffer that is already
|
||||
visible on the same frame, provided the buffer was shown in the relevant
|
||||
window before. If it is @code{nil}, @code{switch-to-prev-buffer} and
|
||||
@code{switch-to-next-buffer} always try to avoid switching to a buffer
|
||||
that is already visible in another window on the same frame.
|
||||
visible on the same frame, provided the buffer was shown in the
|
||||
relevant window before. If it is @code{nil},
|
||||
@code{switch-to-prev-buffer} and @code{switch-to-next-buffer} always
|
||||
try to avoid switching to a buffer that is already visible in another
|
||||
window on the same frame. The default is @code{t}.
|
||||
@end defopt
|
||||
|
||||
|
||||
|
@ -2362,6 +2364,7 @@ showing another buffer in that frame's only window. The function
|
|||
@code{replace-buffer-in-windows} (@pxref{Buffers and Windows}) which is
|
||||
called when a buffer gets killed, deletes the window in case (1) and
|
||||
behaves like @code{delete-windows-on} otherwise.
|
||||
@c FIXME: Does replace-buffer-in-windows _delete_ a window in case (1)?
|
||||
|
||||
When @code{bury-buffer} (@pxref{The Buffer List}) operates on the
|
||||
selected window (which shows the buffer that shall be buried), it
|
||||
|
@ -2566,6 +2569,7 @@ so @code{window-point} will stay behind text inserted there.
|
|||
@node Window Start and End
|
||||
@section The Window Start and End Positions
|
||||
@cindex window start position
|
||||
@cindex display-start position
|
||||
|
||||
Each window maintains a marker used to keep track of a buffer position
|
||||
that specifies where in the buffer display should start. This position
|
||||
|
@ -3191,6 +3195,7 @@ The value returned is @var{columns}.
|
|||
Here is how you can determine whether a given position @var{position}
|
||||
is off the screen due to horizontal scrolling:
|
||||
|
||||
@c FIXME: Maybe hscroll-on-screen-p is a better name?
|
||||
@example
|
||||
@group
|
||||
(defun hscroll-on-screen (window position)
|
||||
|
|
|
@ -1,3 +1,162 @@
|
|||
2013-08-19 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* emacs-mime.texi (Encoding Customization): Exclude iso-2022-jp-2 and
|
||||
shift_jis from the default value set to mm-coding-system-priorities for
|
||||
Japanese users.
|
||||
|
||||
2013-08-13 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* reftex.texi (LaTeX xr Package, Options - Table of Contents)
|
||||
(Options - Defining Label Environments, Options - Creating Labels)
|
||||
(Options - Referencing Labels, Options - Creating Citations)
|
||||
(Options - Index Support, Options - Viewing Cross-References)
|
||||
(Options - Finding Files, Options - Optimizations)
|
||||
(Options - Fontification, Options - Misc):
|
||||
* cc-mode.texi (Sample Init File):
|
||||
* edt.texi (Init file):
|
||||
* epa.texi (Encrypting/decrypting gpg files):
|
||||
* mairix-el.texi (About, Setting up the mairix interface, Using)
|
||||
(Extending):
|
||||
Rename nodes to avoid characters that can cause Texinfo problems.
|
||||
|
||||
2013-08-12 Katsumi Yamaoka <yamaoka@jpl.org>
|
||||
|
||||
* gnus.texi (Mail Source Specifiers): Fix description for pop3's :leave.
|
||||
|
||||
2013-08-12 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* Makefile.in (ada_mode_deps, auth_deps, autotype_deps)
|
||||
(bovine_deps, calc_deps, ccmode_deps, cl_deps, dbus_deps)
|
||||
(dired_x_deps, ebrowse_deps, ede_deps, ediff_deps, edt_deps)
|
||||
(eieio_deps, emacs_gnutls_deps, emacs_mime_deps, epa_deps)
|
||||
(erc_deps, ert_deps, eshell_deps, eudc_deps, faq_deps)
|
||||
(flymake_deps, forms_deps, gnus_deps, htmlfontify_deps)
|
||||
(idlwave_deps, ido_deps, info_deps, mairix_el_deps, message_deps)
|
||||
(mh_e_deps, newsticker_deps, nxml_mode_deps, org_deps)
|
||||
(pcl_cvs_deps, pgg_deps, rcirc_deps, reftex_deps, remember_deps)
|
||||
(sasl_deps, sc_deps, semantic_deps, ses_deps, sieve_deps)
|
||||
(smtpmail_deps, speedbar_deps, srecode_deps, todo_mode_deps)
|
||||
(tramp_deps, url_deps, vip_deps, viper_deps, widget_deps)
|
||||
(wisent_deps, woman_deps): New variables. Use to reduce duplication.
|
||||
|
||||
* woman.texi (Top): Avoid mailto: in html output.
|
||||
|
||||
* Makefile.in (prefix, datarootdir, datadir, PACKAGE_TARNAME)
|
||||
(docdir, dvidir, htmldir, pdfdir, psdir, GZIP_PROG, INSTALL)
|
||||
(INSTALL_DATA): New, set by configure.
|
||||
(HTML_OPTS, HTML_TARGETS, PS_TARGETS, DVIPS): New variables.
|
||||
(.PHONY): Add html, ps, install-dvi, install-html, install-pdf,
|
||||
install-ps ,install-doc, uninstall-dvi, uninstall-html, uninstall-pdf,
|
||||
uninstall-ps, and uninstall-doc.
|
||||
(.SUFFIXES): Add .ps and .dvi.
|
||||
(.dvi.ps): New suffix rule.
|
||||
(html, ps, ada-mode.html, auth.html, autotype.html, bovine.html)
|
||||
(calc.html, cc-mode.html, cl.html, dbus.html, dired-x.html)
|
||||
(ebrowse.html, ede.html, ediff.html, edt.html, eieio.html)
|
||||
(emacs-gnutls.html, emacs-mime.html, epa.html, erc.html)
|
||||
(ert.html, eshell.html, eudc.html, faq.html, flymake.html)
|
||||
(forms.html, gnus.html, htmlfontify.html, idlwave.html)
|
||||
(ido.html, mairix-el.html, message.html, mh-e.html)
|
||||
(newsticker.html, nxml-mode.html, org.html, pgg.html)
|
||||
(rcirc.html, reftex.html, remember.html, sasl.html, sc.html)
|
||||
(semantic.html, sieve.html, smtpmail.html, speedbar.html)
|
||||
(srecode.html, todo-mode.html, tramp.html, url.html, vip.html)
|
||||
(viper.html, widget.html, wisent.html, woman.html, install-dvi)
|
||||
(install-html, install-pdf, install-ps, install-doc, uninstall-dvi)
|
||||
(uninstall-html, uninstall-ps, uninstall-pdf, uninstall-doc):
|
||||
New rules.
|
||||
(clean): Remove HTML_TARGETS and PS_TARGETS.
|
||||
|
||||
2013-08-10 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* ido.texi (Working Directories):
|
||||
(Flexible Matching, Regexp Matching, Find File At Point)
|
||||
(Ignoring, Misc Customization): Use @defopt for user options.
|
||||
|
||||
2013-08-09 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* htmlfontify.texi (Customization): Remove documentation of
|
||||
`hfy-fast-lock-save'. Minor fixes.
|
||||
|
||||
2013-08-08 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* ido.texi (Top): Insert node "Working Directories" in menu.
|
||||
(Working Directories): New node.
|
||||
(Misc Customization): Add documentation of
|
||||
`ido-confirm-unique-completion' and some other user options.
|
||||
|
||||
2013-08-07 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* todo-mode.texi: Update @dircategory.
|
||||
(Overview, Todo Items as Diary Entries, Todo Mode Entry Points)
|
||||
(File Editing, Marked Items, Item Prefix): Fix usage of @xref and
|
||||
@ref.
|
||||
|
||||
2013-08-07 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* sc.texi (Introduction): Fix index.
|
||||
(Usage Overview):
|
||||
(Citations, Citation Elements, Recognizing Citations)
|
||||
(Information Keys and the Info Alist, Reference Headers)
|
||||
(The Built-in Header Rewrite Functions)
|
||||
(Electric References, Reply Buffer Initialization)
|
||||
(Filling Cited Text, Selecting an Attribution)
|
||||
(Attribution Preferences)
|
||||
(Anonymous Attributions, Author Names)
|
||||
(Using Regi, Post-yank Formatting Commands)
|
||||
(Citing Commands, Insertion Commands)
|
||||
(Mail Field Commands)
|
||||
(Hints to MUA Authors, Thanks and History): Change from one space
|
||||
between sentences to two.
|
||||
(What Supercite Does): Typo fix.
|
||||
|
||||
* newsticker.texi (Usage): Use @key for RET.
|
||||
|
||||
* cl.texi (Argument Lists):
|
||||
(For Clauses):
|
||||
(Macros): Add indexes.
|
||||
|
||||
2013-08-05 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* cl.texi (Blocks and Exits): Add an index.
|
||||
|
||||
2013-08-04 Stephen Berman <stephen.berman@gmx.net>
|
||||
|
||||
* Makefile.in (INFO_TARGETS, DVI_TARGETS, PDF_TARGETS): Add todo-mode.
|
||||
(todo-mode, $(buildinfodir)/todo-mode$(INFO_EXT)):
|
||||
(todo-mode.dvi, todo-mode.pdf): New rules.
|
||||
|
||||
* todo-mode.texi: New file.
|
||||
|
||||
2013-08-01 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* gnus.texi (Basic Usage): Mention that warp means jump here.
|
||||
(The notmuch Engine): Mention notmuch.
|
||||
|
||||
2013-07-30 Tassilo Horn <tsdh@gnu.org>
|
||||
|
||||
* gnus.texi (Sorting the Summary Buffer): Document new defcustom
|
||||
`gnus-subthread-sort-functions' and remove the obsolete documentation
|
||||
of `gnus-sort-threads-recursively'.
|
||||
|
||||
2013-07-29 David Engster <deng@randomsample.de>
|
||||
|
||||
* eieio.texi (top): Make clear that EIEIO is not a full CLOS
|
||||
implementation.
|
||||
(Introduction): Add further missing features.
|
||||
(Building Classes): Add introductory paragraph.
|
||||
(Wish List): Add metaclasses and EQL specialization.
|
||||
|
||||
2013-07-29 Michael Albinus <michael.albinus@gmx.de>
|
||||
|
||||
* tramp.texi (Frequently Asked Questions): Mention
|
||||
`tramp-use-ssh-controlmaster-options'.
|
||||
|
||||
2013-07-26 Tassilo Horn <tsdh@gnu.org>
|
||||
|
||||
* gnus.texi (Sorting the Summary Buffer): Document new defcustom
|
||||
`gnus-sort-threads-recursively'.
|
||||
|
||||
2013-07-25 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* Makefile.in (INFO_TARGETS, DVI_TARGETS, PDF_TARGETS): Add ido.
|
||||
|
@ -156,7 +315,7 @@
|
|||
|
||||
2013-05-25 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* flymake.texi: Changing from one space between sentences to two.
|
||||
* flymake.texi: Change from one space between sentences to two.
|
||||
|
||||
2013-05-04 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -241,7 +241,7 @@ functions, classes, etc.; there are other packages for that.
|
|||
* Customizing Indentation::
|
||||
* Custom Macros::
|
||||
* Odds and Ends::
|
||||
* Sample .emacs File::
|
||||
* Sample Init File::
|
||||
* Performance Issues::
|
||||
* Limitations and Known Bugs::
|
||||
* FAQ::
|
||||
|
@ -1113,7 +1113,7 @@ valid.}.
|
|||
This function is not bound to a key by default, but it's intended to be
|
||||
used on the @kbd{RET} key. If you like the behavior of
|
||||
@code{newline-and-indent} on @kbd{RET}, you should consider switching to
|
||||
this function. @xref{Sample .emacs File}.
|
||||
this function. @xref{Sample Init File}.
|
||||
|
||||
@item @kbd{M-x c-context-open-line}
|
||||
@findex c-context-open-line
|
||||
|
@ -1170,7 +1170,7 @@ and @ref{Indentation Engine Basics}.
|
|||
|
||||
You can toggle each of these minor modes on and off, and you can
|
||||
configure @ccmode{} so that it starts up with your favorite
|
||||
combination of them (@pxref{Sample .emacs File}). By default, when
|
||||
combination of them (@pxref{Sample Init File}). By default, when
|
||||
you initialize a buffer, electric mode and syntactic-indentation mode
|
||||
are enabled but the other two modes are disabled.
|
||||
|
||||
|
@ -2378,7 +2378,7 @@ those set by @code{c-default-style}.
|
|||
@vindex initialization-hook (c-)
|
||||
Hook run only once per Emacs session, when @ccmode{} is initialized.
|
||||
This is a good place to change key bindings (or add new ones) in any
|
||||
of the @ccmode{} key maps. @xref{Sample .emacs File}.
|
||||
of the @ccmode{} key maps. @xref{Sample Init File}.
|
||||
@end defvar
|
||||
|
||||
@defvar c-mode-common-hook
|
||||
|
@ -2406,7 +2406,7 @@ overwritten when @ccmode{} gets loaded.
|
|||
Here's a simplified example of what you can add to your @file{.emacs}
|
||||
file to do things whenever any @ccmode{} language is edited. See the
|
||||
Emacs manuals for more information on customizing Emacs via hooks.
|
||||
@xref{Sample .emacs File}, for a more complete sample @file{.emacs}
|
||||
@xref{Sample Init File}, for a more complete sample @file{.emacs}
|
||||
file.
|
||||
|
||||
@example
|
||||
|
@ -2685,7 +2685,7 @@ create a new @dfn{style definition}, possibly based on an existing
|
|||
style. To do this, put the new style's settings into a list with the
|
||||
following format; the list can then be passed as an argument to the
|
||||
function @code{c-add-style}. You can see an example of a style
|
||||
definition in @ref{Sample .emacs File}.
|
||||
definition in @ref{Sample Init File}.
|
||||
|
||||
@cindex style definition
|
||||
@c @defvr {List} style definition
|
||||
|
@ -2753,7 +2753,7 @@ deprecated and it might be removed from @ccmode{} in a future release.
|
|||
You should use @code{c-set-style} instead.
|
||||
|
||||
The sample @file{.emacs} file provides a concrete example of how a new
|
||||
style can be added and automatically set. @xref{Sample .emacs File}.
|
||||
style can be added and automatically set. @xref{Sample Init File}.
|
||||
@end defun
|
||||
|
||||
@defvar c-style-alist
|
||||
|
@ -6760,7 +6760,7 @@ initialization code.
|
|||
@end defun
|
||||
|
||||
@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
@node Odds and Ends, Sample .emacs File, Custom Macros, Top
|
||||
@node Odds and Ends, Sample Init File, Custom Macros, Top
|
||||
@comment node-name, next, previous, up
|
||||
@chapter Odds and Ends
|
||||
@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
@ -6804,9 +6804,9 @@ anchoring position to indent the line in that case.
|
|||
|
||||
|
||||
@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
@node Sample .emacs File, Performance Issues, Odds and Ends, Top
|
||||
@node Sample Init File, Performance Issues, Odds and Ends, Top
|
||||
@comment node-name, next, previous, up
|
||||
@appendix Sample .emacs File
|
||||
@appendix Sample Init File
|
||||
@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
Here's a sample .emacs file fragment that might help you along the way.
|
||||
|
@ -6863,7 +6863,7 @@ to change some of the actual values.
|
|||
@end verbatim
|
||||
|
||||
@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
@node Performance Issues, Limitations and Known Bugs, Sample .emacs File, Top
|
||||
@node Performance Issues, Limitations and Known Bugs, Sample Init File, Top
|
||||
@comment node-name, next, previous, up
|
||||
@chapter Performance Issues
|
||||
@cindex performance
|
||||
|
|
|
@ -461,6 +461,7 @@ matter of stylistic taste:
|
|||
@var{body}))
|
||||
@end example
|
||||
|
||||
@cindex destructuring, in argument list
|
||||
Argument lists support @dfn{destructuring}. In Common Lisp,
|
||||
destructuring is only allowed with @code{defmacro}; this package
|
||||
allows it with @code{cl-defun} and other argument lists as well.
|
||||
|
@ -1492,6 +1493,7 @@ simply returning @code{nil}.
|
|||
|
||||
@node Blocks and Exits
|
||||
@section Blocks and Exits
|
||||
@cindex block
|
||||
|
||||
@noindent
|
||||
Common Lisp @dfn{blocks} provide a non-local exit mechanism very
|
||||
|
@ -2139,6 +2141,7 @@ that was just set by the previous clause; in the second loop,
|
|||
based on the value of @code{x} left over from the previous time
|
||||
through the loop.
|
||||
|
||||
@cindex destructuring, in cl-loop
|
||||
Another feature of the @code{cl-loop} macro is @emph{destructuring},
|
||||
similar in concept to the destructuring provided by @code{defmacro}
|
||||
(@pxref{Argument Lists}).
|
||||
|
@ -2503,6 +2506,8 @@ if @var{expr} returns a list of the wrong number of arguments
|
|||
or with incorrect keyword arguments.
|
||||
@end defmac
|
||||
|
||||
@cindex compiler macros
|
||||
@cindex define compiler macros
|
||||
This package also includes the Common Lisp @code{define-compiler-macro}
|
||||
facility, which allows you to define compile-time expansions and
|
||||
optimizations for your functions.
|
||||
|
|
|
@ -789,13 +789,13 @@ so the above directions may need some modification if your site has such
|
|||
special needs.
|
||||
|
||||
@menu
|
||||
* edt-user.el:: Creating your own @file{edt-user.el} file.
|
||||
* Init file:: Creating your own @file{edt-user.el} file.
|
||||
* Words:: Specifying word entities.
|
||||
* Control keys:: Enabling EDT control key sequence bindings.
|
||||
* Scroll margins:: Setting scroll margins.
|
||||
@end menu
|
||||
|
||||
@node edt-user.el
|
||||
@node Init file
|
||||
@section Creating your own @file{edt-user.el} File
|
||||
|
||||
A sample @file{edt-user.el} file is provided in the Emacs @file{etc/}
|
||||
|
|
|
@ -46,10 +46,10 @@ modify this GNU manual.''
|
|||
@comment node-name, next, previous, up
|
||||
@top EIEIO
|
||||
|
||||
@eieio{} (``Enhanced Implementation of Emacs Interpreted Objects'') is
|
||||
a CLOS (Common Lisp Object System) compatibility layer for Emacs Lisp.
|
||||
It provides a framework for writing object-oriented applications in
|
||||
Emacs.
|
||||
@eieio{} (``Enhanced Implementation of Emacs Interpreted Objects'')
|
||||
provides an Object Oriented layer for Emacs Lisp, following the basic
|
||||
concepts of the Common Lisp Object System (CLOS). It provides a
|
||||
framework for writing object-oriented applications in Emacs.
|
||||
|
||||
@ifnottex
|
||||
@insertcopying
|
||||
|
@ -201,8 +201,6 @@ Byte compilation support of methods.
|
|||
@item
|
||||
Help system extensions for classes and methods.
|
||||
@item
|
||||
Automatic texinfo documentation generator.
|
||||
@item
|
||||
Several base classes for interesting tasks.
|
||||
@item
|
||||
Simple test suite.
|
||||
|
@ -212,20 +210,31 @@ Public and private classifications for slots (extensions to CLOS)
|
|||
Customization support in a class (extension to CLOS)
|
||||
@end enumerate
|
||||
|
||||
Here are some CLOS features that @eieio{} presently lacks:
|
||||
Here are some important CLOS features that @eieio{} presently lacks:
|
||||
|
||||
@table @asis
|
||||
@item Complete @code{defclass} tag support
|
||||
All CLOS tags are currently supported, but the following are not
|
||||
currently implemented correctly:
|
||||
|
||||
@table @code
|
||||
@item :metaclass
|
||||
There is only one base superclass for all @eieio{} classes, which is
|
||||
the @code{eieio-default-superclass}.
|
||||
@item :default-initargs
|
||||
@item Method dispatch
|
||||
EIEO does not support method dispatch for built-in types and multiple
|
||||
arguments types. In other words, method dispatch only looks at the
|
||||
first argument, and this one must be an @eieio{} type.
|
||||
|
||||
@item Support for metaclasses
|
||||
There is just one default metaclass, @code{eieio-default-superclass},
|
||||
and you cannot define your own. The @code{:metaclass} tag in
|
||||
@code{defclass} is ignored. Also, functions like `class-of' and
|
||||
`find-class', which should return instances of the metaclass, behave
|
||||
differently in @eieio{} in that they return symbols or plain structures
|
||||
instead.
|
||||
|
||||
@item EQL specialization
|
||||
EIEIO does not support it.
|
||||
|
||||
@item @code{:around} method tag
|
||||
This CLOS method tag is non-functional.
|
||||
|
||||
@item :default-initargs in @code{defclass}
|
||||
Each slot has an @code{:initarg} tag, so this is not really necessary.
|
||||
@end table
|
||||
|
||||
@item Mock object initializers
|
||||
Each class contains a mock object used for fast initialization of
|
||||
|
@ -233,15 +242,23 @@ instantiated objects. Using functions with side effects on object slot
|
|||
values can potentially cause modifications in the mock object. @eieio{}
|
||||
should use a deep copy but currently does not.
|
||||
|
||||
@item @code{:around} method tag
|
||||
This CLOS method tag is non-functional.
|
||||
|
||||
@end table
|
||||
|
||||
@node Building Classes
|
||||
@comment node-name, next, previous, up
|
||||
@chapter Building Classes
|
||||
|
||||
First off, please note that this manual cannot serve as a complete
|
||||
introduction to object oriented programming and generic functions in
|
||||
LISP. Although EIEIO is not a complete CLOS implementation and also
|
||||
differs from CLOS in several aspects, it follows the same basic
|
||||
concepts. Therefore, it is highly recommended to learn these from a
|
||||
textbook or tutorial first, especially if you only know OOP from
|
||||
languages like C++ or Java. If on the other hand you are already
|
||||
familiar with CLOS, you should be aware that @eieio{} does not implement
|
||||
the full CLOS specification and also differs in some other aspects
|
||||
(@xref{Introduction}, and @ref{CLOS compatibility}).
|
||||
|
||||
A @dfn{class} is a definition for organizing data and methods
|
||||
together. An @eieio{} class has structures similar to the classes
|
||||
found in other object-oriented (OO) languages.
|
||||
|
@ -1930,8 +1947,9 @@ Some important compatibility features that would be good to add are:
|
|||
|
||||
@enumerate
|
||||
@item
|
||||
Support for metaclasses and EQL specialization.
|
||||
@item
|
||||
@code{:around} method key.
|
||||
|
||||
@item
|
||||
Method dispatch for built-in types.
|
||||
@item
|
||||
|
|
|
@ -871,15 +871,15 @@ by using the @code{encoding} @acronym{MML} tag (@pxref{MML Definition}).
|
|||
@vindex mm-coding-system-priorities
|
||||
Prioritize coding systems to use for outgoing messages. The default
|
||||
is @code{nil}, which means to use the defaults in Emacs, but is
|
||||
@code{(iso-8859-1 iso-2022-jp iso-2022-jp-2 shift_jis utf-8)} when
|
||||
running Emacs in the Japanese language environment. It is a list of
|
||||
coding system symbols (aliases of coding systems are also allowed, use
|
||||
@kbd{M-x describe-coding-system} to make sure you are specifying correct
|
||||
coding system names). For example, if you have configured Emacs
|
||||
to prefer UTF-8, but wish that outgoing messages should be sent in
|
||||
ISO-8859-1 if possible, you can set this variable to
|
||||
@code{(iso-8859-1)}. You can override this setting on a per-message
|
||||
basis by using the @code{charset} @acronym{MML} tag (@pxref{MML Definition}).
|
||||
@code{(iso-8859-1 iso-2022-jp utf-8)} when running Emacs in the Japanese
|
||||
language environment. It is a list of coding system symbols (aliases of
|
||||
coding systems are also allowed, use @kbd{M-x describe-coding-system} to
|
||||
make sure you are specifying correct coding system names). For example,
|
||||
if you have configured Emacs to prefer UTF-8, but wish that outgoing
|
||||
messages should be sent in ISO-8859-1 if possible, you can set this
|
||||
variable to @code{(iso-8859-1)}. You can override this setting on a
|
||||
per-message basis by using the @code{charset} @acronym{MML} tag
|
||||
(@pxref{MML Definition}).
|
||||
|
||||
As different hierarchies prefer different charsets, you may want to set
|
||||
@code{mm-coding-system-priorities} according to the hierarchy in Gnus.
|
||||
|
@ -904,7 +904,7 @@ Here's an example:
|
|||
(mm-coding-system-priorities '(iso-8859-15 iso-8859-1 utf-8)))
|
||||
("^fj\\." ;; Japanese
|
||||
(mm-coding-system-priorities
|
||||
'(iso-8859-1 iso-2022-jp iso-2022-jp-2 shift_jis utf-8)))
|
||||
'(iso-8859-1 iso-2022-jp utf-8)))
|
||||
("^ru\\." ;; Cyrillic
|
||||
(mm-coding-system-priorities
|
||||
'(koi8-r iso-8859-5 iso-8859-1 utf-8))))
|
||||
|
|
|
@ -106,7 +106,7 @@ This chapter introduces various commands for typical use cases.
|
|||
* Cryptographic operations on files::
|
||||
* Dired integration::
|
||||
* Mail-mode integration::
|
||||
* Encrypting/decrypting *.gpg files::
|
||||
* Encrypting/decrypting gpg files::
|
||||
@end menu
|
||||
|
||||
@node Key management
|
||||
|
@ -346,8 +346,8 @@ key in the recipient list, use @samp{encrypt-to} option in
|
|||
|
||||
@end table
|
||||
|
||||
@node Encrypting/decrypting *.gpg files
|
||||
@section Encrypting/decrypting *.gpg files
|
||||
@node Encrypting/decrypting gpg files
|
||||
@section Encrypting/decrypting gpg files
|
||||
By default, every file whose name ends with @samp{.gpg} will be
|
||||
treated as encrypted. That is, when you open such a file, the
|
||||
decrypted text is inserted in the buffer rather than encrypted one.
|
||||
|
@ -464,7 +464,7 @@ To set up gpg-agent, follow the instruction in GnuPG manual.
|
|||
|
||||
To set up elisp passphrase cache, set
|
||||
@code{epa-file-cache-passphrase-for-symmetric-encryption}.
|
||||
@xref{Encrypting/decrypting *.gpg files}.
|
||||
@xref{Encrypting/decrypting gpg files}.
|
||||
|
||||
@node Bug Reports
|
||||
@chapter Bug Reports
|
||||
|
|
|
@ -7394,6 +7394,14 @@ say something like:
|
|||
gnus-thread-sort-by-score))
|
||||
@end lisp
|
||||
|
||||
By default, threads including their subthreads are sorted according to
|
||||
the value of @code{gnus-thread-sort-functions}. By customizing
|
||||
@code{gnus-subthread-sort-functions} you can define a custom sorting
|
||||
order for subthreads. This allows for example to sort threads from
|
||||
high score to low score in the summary buffer, but to have subthreads
|
||||
still sorted chronologically from old to new without taking their
|
||||
score into account.
|
||||
|
||||
@vindex gnus-thread-score-function
|
||||
The function in the @code{gnus-thread-score-function} variable (default
|
||||
@code{+}) is used for calculating the total score of a thread. Useful
|
||||
|
@ -14788,14 +14796,16 @@ and says what authentication scheme to use. The default is
|
|||
|
||||
@item :leave
|
||||
Non-@code{nil} if the mail is to be left on the @acronym{POP} server
|
||||
after fetching. Mails once fetched will never be fetched again by the
|
||||
@acronym{UIDL} control. Only the built-in @code{pop3-movemail} program
|
||||
(the default) supports this keyword.
|
||||
after fetching. Only the built-in @code{pop3-movemail} program (the
|
||||
default) supports this keyword.
|
||||
|
||||
If this is neither @code{nil} nor a number, all mails will be left on
|
||||
the server. If this is a number, leave mails on the server for this
|
||||
many days since you first checked new mails. If this is @code{nil}
|
||||
(the default), mails will be deleted on the server right after fetching.
|
||||
If this is a number, leave mails on the server for this many days since
|
||||
you first checked new mails. In that case, mails once fetched will
|
||||
never be fetched again by the @acronym{UIDL} control. If this is
|
||||
@code{nil} (the default), mails will be deleted on the server right
|
||||
after fetching. If this is neither @code{nil} nor a number, all mails
|
||||
will be left on the server, and you will end up getting the same mails
|
||||
again and again.
|
||||
|
||||
@vindex pop3-uidl-file
|
||||
The @code{pop3-uidl-file} variable specifies the file to which the
|
||||
|
@ -21101,17 +21111,17 @@ the articles that match this query, and takes you to a summary buffer
|
|||
showing these articles. Articles may then be read, moved and deleted
|
||||
using the usual commands.
|
||||
|
||||
The @code{nnir} group made in this way is an @code{ephemeral} group, and
|
||||
some changes are not permanent: aside from reading, moving, and
|
||||
The @code{nnir} group made in this way is an @code{ephemeral} group,
|
||||
and some changes are not permanent: aside from reading, moving, and
|
||||
deleting, you can't act on the original article. But there is an
|
||||
alternative: you can @emph{warp} to the original group for the article
|
||||
on the current line with @kbd{A W}, aka
|
||||
alternative: you can @emph{warp} (i.e., jump) to the original group
|
||||
for the article on the current line with @kbd{A W}, aka
|
||||
@code{gnus-warp-to-article}. Even better, the function
|
||||
@code{gnus-summary-refer-thread}, bound by default in summary buffers to
|
||||
@kbd{A T}, will first warp to the original group before it works its
|
||||
magic and includes all the articles in the thread. From here you can
|
||||
read, move and delete articles, but also copy them, alter article marks,
|
||||
whatever. Go nuts.
|
||||
@code{gnus-summary-refer-thread}, bound by default in summary buffers
|
||||
to @kbd{A T}, will first warp to the original group before it works
|
||||
its magic and includes all the articles in the thread. From here you
|
||||
can read, move and delete articles, but also copy them, alter article
|
||||
marks, whatever. Go nuts.
|
||||
|
||||
You say you want to search more than just the group on the current line?
|
||||
No problem: just process-mark the groups you want to search. You want
|
||||
|
@ -21153,6 +21163,7 @@ query language anyway.
|
|||
* The swish++ Engine:: Swish++ configuration and usage.
|
||||
* The swish-e Engine:: Swish-e configuration and usage.
|
||||
* The namazu Engine:: Namazu configuration and usage.
|
||||
* The notmuch Engine:: Notmuch configuration and usage.
|
||||
* The hyrex Engine:: Hyrex configuration and usage.
|
||||
* Customizations:: User customizable settings.
|
||||
@end menu
|
||||
|
@ -21382,6 +21393,26 @@ mknmz --mailnews ~/Mail/archive/ ~/Mail/mail/ ~/Mail/lists/
|
|||
For maximum searching efficiency you might want to have a cron job run
|
||||
this command periodically, say every four hours.
|
||||
|
||||
|
||||
@node The notmuch Engine
|
||||
@subsubsection The notmuch Engine
|
||||
|
||||
@table @code
|
||||
@item nnir-notmuch-program
|
||||
The name of the notmuch search executable. Defaults to
|
||||
@samp{notmuch}.
|
||||
|
||||
@item nnir-notmuch-additional-switches
|
||||
A list of strings, to be given as additional arguments to notmuch.
|
||||
|
||||
@item nnir-notmuch-remove-prefix
|
||||
The prefix to remove from each file name returned by notmuch in order
|
||||
to get a group name (albeit with @samp{/} instead of @samp{.}). This
|
||||
is a regular expression.
|
||||
|
||||
@end table
|
||||
|
||||
|
||||
@node The hyrex Engine
|
||||
@subsubsection The hyrex Engine
|
||||
This engine is obsolete.
|
||||
|
|
|
@ -1275,6 +1275,7 @@ normally be applied.
|
|||
@vindex hfy-html-quote-regex
|
||||
@anchor{hfy-html-quote-regex}
|
||||
|
||||
@c FIXME: the cross-reference below looks ugly
|
||||
Regex to match (with a single back-reference per match) strings in HTML
|
||||
which should be quoted with @ref{hfy-html-quote}
|
||||
(and @pxref{hfy-html-quote-map}) to make them safe.
|
||||
|
@ -1340,31 +1341,6 @@ See also: @ref{hfy-page-footer}
|
|||
|
||||
String to add to the @samp{<style> a} variant of an Htmlfontify CSS class.
|
||||
|
||||
@item hfy-fast-lock-save
|
||||
@vindex hfy-fast-lock-save
|
||||
@anchor{hfy-fast-lock-save}
|
||||
|
||||
Minimum size of a buffer for cached fontification.
|
||||
This value is temporarily assigned to @code{fast-lock-minimum-size} during
|
||||
html-fontification.
|
||||
|
||||
Only buffers more than this can have associated Font Lock cache files saved.
|
||||
|
||||
If nil, means cache files are never created.
|
||||
|
||||
If a list, each element should be a cons pair of the form
|
||||
@code{(@var{major-mode} . @var{size})}, where @var{major-mode}
|
||||
is a symbol or t (meaning the default). For example:
|
||||
|
||||
@lisp
|
||||
((c-mode . 25600 )
|
||||
(c++-mode . 25600 )
|
||||
(rmail-mode . 1048576))
|
||||
@end lisp
|
||||
|
||||
means that the minimum size is 25K for buffers in C or C++ modes, one megabyte
|
||||
for buffers in Rmail mode, and size is irrelevant (i.e., no saves) otherwise.
|
||||
|
||||
@item hfy-split-index
|
||||
@vindex hfy-split-index
|
||||
@anchor{hfy-split-index}
|
||||
|
@ -1383,7 +1359,7 @@ be large and take a long time to render or be difficult to navigate.
|
|||
@vindex hfy-extn
|
||||
@anchor{hfy-extn}
|
||||
|
||||
File extension used for output files
|
||||
File extension used for output files.
|
||||
|
||||
@item hfy-default-face-def
|
||||
@vindex hfy-default-face-def
|
||||
|
@ -1464,7 +1440,7 @@ which can never slow you down, but may result in incomplete fontification.
|
|||
@vindex hfy-src-doc-link-unstyle
|
||||
@anchor{hfy-src-doc-link-unstyle}
|
||||
|
||||
Regex to remove from the <style> a variant of an Htmlfontify CSS class.
|
||||
Regex to remove from the @samp{<style> a} variant of an Htmlfontify CSS class.
|
||||
|
||||
@item hfy-link-extn
|
||||
@vindex hfy-link-extn
|
||||
|
|
|
@ -53,45 +53,46 @@ modify this GNU manual.''
|
|||
@end ifnottex
|
||||
|
||||
@menu
|
||||
* Overview:: Basics, activation.
|
||||
* Matching:: Interactivity, matching, scrolling.
|
||||
* Highlighting:: Highlighting of matching items.
|
||||
* Hidden Buffers and Files:: Hidden buffers, files, and directories.
|
||||
* Customization:: Change the Ido functionality.
|
||||
* Misc:: Various other features.
|
||||
* Overview:: Basics, activation.
|
||||
* Matching:: Interactivity, matching, scrolling.
|
||||
* Highlighting:: Highlighting of matching items.
|
||||
* Hidden Buffers and Files:: Hidden buffers, files, and directories.
|
||||
* Customization:: Change the Ido functionality.
|
||||
* Misc:: Various other features.
|
||||
|
||||
Appendices
|
||||
* GNU Free Documentation License:: The license for this documentation.
|
||||
* GNU Free Documentation License:: The license for this documentation.
|
||||
|
||||
Indexes
|
||||
* Variable Index:: An entry for each documented variable.
|
||||
* Variable Index:: An entry for each documented variable.
|
||||
|
||||
@detailmenu
|
||||
--- The Detailed Node Listing ---
|
||||
|
||||
Overview
|
||||
|
||||
* Activation:: How to use this package.
|
||||
* Activation:: How to use this package.
|
||||
* Working Directories:: Where files have most recently been opened.
|
||||
|
||||
Matching
|
||||
|
||||
* Interactive Substring Matching:: Interactivity, matching, scrolling.
|
||||
* Prefix Matching:: Standard completion.
|
||||
* Flexible Matching:: More flexible matching.
|
||||
* Regexp Matching:: Matching using regular expression.
|
||||
* Interactive Substring Matching:: Interactivity, matching, scrolling.
|
||||
* Prefix Matching:: Standard completion.
|
||||
* Flexible Matching:: More flexible matching.
|
||||
* Regexp Matching:: Matching using regular expression.
|
||||
|
||||
Customization
|
||||
|
||||
* Changing List Order:: Changing the list of files.
|
||||
* Find File At Point:: Make Ido guess the context.
|
||||
* Ignoring:: Ignorance is bliss.
|
||||
* Misc Customization:: Miscellaneous customization for Ido.
|
||||
* Changing List Order:: Changing the list of files.
|
||||
* Find File At Point:: Make Ido guess the context.
|
||||
* Ignoring:: Ignorance is bliss.
|
||||
* Misc Customization:: Miscellaneous customization for Ido.
|
||||
|
||||
Miscellaneous
|
||||
|
||||
* All Matching:: Seeing all the matching buffers or files.
|
||||
* Replacement:: Replacement for @code{read-buffer} and @code{read-file-name}.
|
||||
* Other Packages:: Don't want to depend on @code{ido-everywhere}?
|
||||
* All Matching:: Seeing all the matching buffers or files.
|
||||
* Replacement:: Replacement for @code{read-buffer} and @code{read-file-name}.
|
||||
* Other Packages:: Don't want to depend on @code{ido-everywhere}?
|
||||
|
||||
@end detailmenu
|
||||
@end menu
|
||||
|
@ -116,7 +117,8 @@ This package was originally written by Kim F. Storm, based on the
|
|||
@file{iswitchb.el} package by Stephen Eglen.
|
||||
|
||||
@menu
|
||||
* Activation:: How to use this package.
|
||||
* Activation:: How to use this package.
|
||||
* Working Directories:: Where files have most recently been opened.
|
||||
@end menu
|
||||
|
||||
@node Activation
|
||||
|
@ -140,9 +142,48 @@ package.
|
|||
(ido-mode t)
|
||||
@end example
|
||||
|
||||
@c @node Working Directories
|
||||
@c @section Working Directories
|
||||
@c @cindex working directories
|
||||
@node Working Directories
|
||||
@section Working Directories
|
||||
@cindex working directories
|
||||
|
||||
@vindex ido-work-directory-list
|
||||
@noindent
|
||||
@dfn{Working directories} are directories where files have most
|
||||
recently been opened. The current directory is inserted at the front
|
||||
of this @code{ido-work-directory-list} whenever a file is opened with
|
||||
@code{ido-find-file} and other file-related functions.
|
||||
|
||||
@c @cindex merge
|
||||
@c or maybe a new node for ``merge''
|
||||
|
||||
@c @deffn Command ido-merge-work-directories
|
||||
|
||||
@c @deffn Command ido-prev-work-directory
|
||||
|
||||
@c @deffn Command ido-next-work-directory
|
||||
|
||||
@c @deffn Command ido-forget-work-directory
|
||||
|
||||
@c @defvar ido-use-merged-list
|
||||
@c @defvar ido-try-merged-list
|
||||
@c @defvar ido-pre-merge-state
|
||||
|
||||
@defopt ido-max-work-directory-list
|
||||
This user option specifies maximum number of working directories to
|
||||
record.
|
||||
@end defopt
|
||||
|
||||
@c see (info "(elisp) File Name Completion")
|
||||
@defopt ido-max-dir-file-cache
|
||||
This user option specifies maximum number of working directories to be
|
||||
cached. This is the size of the cache of
|
||||
@code{file-name-all-completions} results. Each cache entry is time
|
||||
stamped with the modification time of the directory. Some systems,
|
||||
like MS-Windows, have unreliable directory modification times, so you
|
||||
may choose to disable caching on such systems, or explicitly refresh
|
||||
the cache contents using the command @code{ido-reread-directory}
|
||||
(usually @kbd{C-l}) in the minibuffer.
|
||||
@end defopt
|
||||
|
||||
@node Matching
|
||||
@chapter Matching
|
||||
|
@ -153,10 +194,10 @@ This section describes features of this package that have to
|
|||
do with various kinds of @emph{matching}: among buffers, files, and directories.
|
||||
|
||||
@menu
|
||||
* Interactive Substring Matching:: Interactivity, matching, scrolling.
|
||||
* Prefix Matching:: Standard completion.
|
||||
* Flexible Matching:: More flexible matching.
|
||||
* Regexp Matching:: Matching using regular expression.
|
||||
* Interactive Substring Matching:: Interactivity, matching, scrolling.
|
||||
* Prefix Matching:: Standard completion.
|
||||
* Flexible Matching:: More flexible matching.
|
||||
* Regexp Matching:: Matching using regular expression.
|
||||
@end menu
|
||||
|
||||
@node Interactive Substring Matching
|
||||
|
@ -265,7 +306,7 @@ of the list and hit @key{RET}.
|
|||
To go up to the parent directory, delete any partial file name already
|
||||
specified (e.g. using @key{DEL}) and hit @key{DEL}.
|
||||
|
||||
@c @defun ido-delete-backward-updir
|
||||
@c @deffn Command ido-delete-backward-updir
|
||||
|
||||
@cindex root directory
|
||||
@cindex home directory
|
||||
|
@ -273,17 +314,17 @@ To go to the root directory (on the current drive), enter two slashes.
|
|||
On MS-DOS or Windows, to select the root of another drive, enter
|
||||
@samp{X:/} where @samp{X} is the drive letter. To go to the home
|
||||
directory, enter @samp{~/}. To enter Dired for this directory, use
|
||||
@kbd{C-d}.
|
||||
@kbd{C-d}.
|
||||
|
||||
@c TODO: a new node for ftp hosts
|
||||
@cindex ftp hosts
|
||||
You can also visit files on other hosts using the ange-ftp
|
||||
notations @samp{/host:} and @samp{/user@@host:}.
|
||||
@c @defvr {User Option} ido-record-ftp-work-directories
|
||||
@c @defvr {User Option} ido-merge-ftp-work-directories
|
||||
@c @defvr {User Option} ido-cache-ftp-work-directory-time
|
||||
@c @defvr {User Option} ido-slow-ftp-hosts
|
||||
@c @defvr {User Option} ido-slow-ftp-host-regexps
|
||||
@c @defopt ido-record-ftp-work-directories
|
||||
@c @defopt ido-merge-ftp-work-directories
|
||||
@c @defopt ido-cache-ftp-work-directory-time
|
||||
@c @defopt ido-slow-ftp-hosts
|
||||
@c @defopt ido-slow-ftp-host-regexps
|
||||
|
||||
You can type @kbd{M-p} and @kbd{M-n} to change to previous/next
|
||||
directories from the history, @kbd{M-s} to search for a file matching
|
||||
|
@ -295,22 +336,20 @@ If for some reason you cannot specify the proper file using
|
|||
@code{ido-switch-buffer}.
|
||||
|
||||
@c @kindex C-x b
|
||||
@c @findex ido-switch-buffer
|
||||
@c @defun ido-switch-buffer
|
||||
@c @deffn Command ido-switch-buffer
|
||||
@c This command switch to another buffer interactively.
|
||||
@c @end defun
|
||||
@c @end deffn
|
||||
|
||||
@c @kindex C-x C-f
|
||||
@c @findex ido-find-file
|
||||
@c @defun ido-find-file
|
||||
@c @deffn Command ido-find-file
|
||||
@c Edit file with name obtained via minibuffer.
|
||||
@c @end defun
|
||||
@c @end deffn
|
||||
|
||||
@c @kindex C-x d
|
||||
@c @findex ido-dired
|
||||
@c @defun ido-dired
|
||||
@c @deffn Command ido-dired
|
||||
@c Call Dired the Ido way.
|
||||
@c @end defun
|
||||
@c @end deffn
|
||||
|
||||
@node Prefix Matching
|
||||
@section Prefix Matching
|
||||
|
@ -338,12 +377,12 @@ of the buffer names.
|
|||
@section Flexible Matching
|
||||
@cindex flexible matching
|
||||
|
||||
@defvr {User Option} ido-enable-flex-matching
|
||||
@defopt ido-enable-flex-matching
|
||||
If non-@code{nil}, Ido will do flexible string matching. Flexible
|
||||
matching means that if the entered string does not match any item, any
|
||||
item containing the entered characters in the given sequence will
|
||||
match.
|
||||
@end defvr
|
||||
@end defopt
|
||||
|
||||
@noindent
|
||||
If @code{ido-enable-flex-matching} is non-@code{nil}, Ido will do a
|
||||
|
@ -371,11 +410,11 @@ through @code{ido-enable-regexp} (toggle with @kbd{C-t}). This allows
|
|||
you to type @samp{[ch]$} for example and see all file names ending in
|
||||
@samp{c} or @samp{h}.
|
||||
|
||||
@defvr {User Option} ido-enable-regexp
|
||||
@defopt ido-enable-regexp
|
||||
If the value of this user option is non-@code{nil}, Ido will do regexp
|
||||
matching. The value of this user option can be toggled within
|
||||
ido-mode using @code{ido-toggle-regexp}.
|
||||
@end defvr
|
||||
@end defopt
|
||||
|
||||
@strong{Please notice:} Ido-style completion is inhibited when you
|
||||
enable regexp matching.
|
||||
|
@ -405,7 +444,7 @@ buffers or files.
|
|||
You can toggle display of the hidden buffers and files with @kbd{C-a}
|
||||
(@code{ido-toggle-ignore}).
|
||||
|
||||
@c @defun ido-toggle-ignore
|
||||
@c @deffn Command ido-toggle-ignore
|
||||
|
||||
@node Customization
|
||||
@chapter Customization
|
||||
|
@ -435,6 +474,9 @@ To modify the keybindings, use the @code{ido-setup-hook}. For example:
|
|||
(define-key ido-completion-map " " 'ido-next-match))
|
||||
@end example
|
||||
|
||||
@c @defopt ido-setup-hook
|
||||
@c a new node for Ido hooks?
|
||||
|
||||
@menu
|
||||
* Changing List Order:: Changing the list of files.
|
||||
* Find File At Point:: Make Ido guess the context.
|
||||
|
@ -479,17 +521,17 @@ The following expression will make Ido guess the context:
|
|||
(setq ido-use-filename-at-point 'guess)
|
||||
@end example
|
||||
|
||||
@c @defvr {User Option} ido-use-filename-at-point
|
||||
@c @defopt ido-use-filename-at-point
|
||||
@c If the value of this user option is non-@code{nil}, ...
|
||||
@c @end defvr
|
||||
@c @end defopt
|
||||
|
||||
You can disable URL ffap support by toggling
|
||||
@code{ido-use-url-at-point}.
|
||||
|
||||
@defvr {User Option} ido-use-url-at-point
|
||||
@defopt ido-use-url-at-point
|
||||
If the value of this user option is non-@code{nil}, Ido will look for
|
||||
a URL at point. If found, call @code{find-file-at-point} to visit it.
|
||||
@end defvr
|
||||
@end defopt
|
||||
|
||||
@node Ignoring
|
||||
@section Ignoring Buffers and Files
|
||||
|
@ -500,28 +542,29 @@ a URL at point. If found, call @code{find-file-at-point} to visit it.
|
|||
Ido is capable of ignoring buffers, directories, files and extensions
|
||||
using regular expression.
|
||||
|
||||
@defvr {User Option} ido-ignore-buffers
|
||||
@defopt ido-ignore-buffers
|
||||
This variable takes a list of regular expressions for buffers to
|
||||
ignore in @code{ido-switch-buffer}.
|
||||
@end defvr
|
||||
@end defopt
|
||||
|
||||
@defvr {User Option} ido-ignore-directories
|
||||
@defopt ido-ignore-directories
|
||||
This variable takes a list of regular expressions for (sub)directories
|
||||
names to ignore in @code{ido-dired} and @code{ido-find-file}.
|
||||
@end defvr
|
||||
@end defopt
|
||||
|
||||
@defvr {User Option} ido-ignore-files
|
||||
@defopt ido-ignore-files
|
||||
This variable takes a list of regular expressions for files to ignore
|
||||
in @code{ido-find-file}.
|
||||
@end defvr
|
||||
@end defopt
|
||||
|
||||
@defvr {User Option} ido-ignore-unc-host-regexps
|
||||
@defopt ido-ignore-unc-host-regexps
|
||||
This variable takes a list of regular expressions matching UNC hosts
|
||||
to ignore. The letter case will be ignored if
|
||||
@code{ido-downcase-unc-hosts} is non-@code{nil}.
|
||||
@end defvr
|
||||
@end defopt
|
||||
|
||||
@c @defvr {User Option} ido-work-directory-list-ignore-regexps
|
||||
@c FIXME: Where to add this variable? This node or ``working directory''?
|
||||
@c @defopt ido-work-directory-list-ignore-regexps
|
||||
|
||||
To make Ido use @code{completion-ignored-extensions} you need to
|
||||
enable it:
|
||||
|
@ -542,69 +585,117 @@ the name of an ignored file, Ido will still let you open it just fine.
|
|||
@section Miscellaneous Customization
|
||||
@cindex miscellaneous customization for Ido
|
||||
|
||||
@defvr {User Option} ido-mode
|
||||
@c Variables described in this sections may be moved to new nodes in
|
||||
@c the future.
|
||||
|
||||
@defopt ido-mode
|
||||
This user option determines for which functional group (buffer and
|
||||
files) Ido behavior should be enabled.
|
||||
@end defvr
|
||||
@end defopt
|
||||
|
||||
@defvr {User Option} ido-case-fold
|
||||
@defopt ido-case-fold
|
||||
If the value of this user option is non-@code{nil}, searching of
|
||||
buffer and file names should ignore case.
|
||||
@end defvr
|
||||
@end defopt
|
||||
|
||||
@defvr {User Option} ido-show-dot-for-dired
|
||||
If the value of this user option is non-@code{nil} , always put
|
||||
@defopt ido-show-dot-for-dired
|
||||
If the value of this user option is non-@code{nil}, always put
|
||||
@samp{.} as the first item in file name lists. This allows the
|
||||
current directory to be opened immediately with Dired
|
||||
@end defvr
|
||||
@end defopt
|
||||
|
||||
@defvr {User Option} ido-enable-dot-prefix
|
||||
@defopt ido-enable-dot-prefix
|
||||
If the value of this user option is non-@code{nil}, Ido will match
|
||||
leading dot as prefix. I.e., hidden files and buffers will match only
|
||||
if you type a dot as first char (even if @code{ido-enable-prefix} is
|
||||
@code{nil}).
|
||||
@end defvr
|
||||
@end defopt
|
||||
|
||||
@c @defvr {User Option} ido-confirm-unique-completion
|
||||
@c @defvr {User Option} ido-cannot-complete-command
|
||||
@c @defvr {User Option} ido-record-commands
|
||||
@c @defvr {User Option} ido-max-file-prompt-width
|
||||
@c @defvr {User Option} ido-max-window-height
|
||||
@c @defvr {User Option} ido-enable-last-directory-history
|
||||
@c @defvr {User Option} ido-max-work-directory-list
|
||||
@c @defvr {User Option} ido-enable-tramp-completion
|
||||
@c @defvr {User Option} ido-unc-hosts
|
||||
@c @defvr {User Option} ido-downcase-unc-hosts
|
||||
@c @defvr {User Option} ido-cache-unc-host-shares-time
|
||||
@c @defvr {User Option} ido-max-work-file-list
|
||||
@c @defvr {User Option} ido-work-directory-match-only
|
||||
@c @defvr {User Option} ido-auto-merge-work-directories-length
|
||||
@c @defvr {User Option} ido-auto-merge-delay-time
|
||||
@c @defvr {User Option} ido-auto-merge-inhibit-characters-regexp
|
||||
@c @defvr {User Option} ido-merged-indicator
|
||||
@c @defvr {User Option} ido-max-dir-file-cache
|
||||
@c @defvr {User Option} ido-max-directory-size
|
||||
@c @defvr {User Option} ido-rotate-file-list-default
|
||||
@c @defvr {User Option} ido-enter-matching-directory
|
||||
@c @defvr {User Option} ido-create-new-buffer
|
||||
@c @defvr {User Option} ido-setup-hook
|
||||
@c @defvr {User Option} ido-separator
|
||||
@c @defvr {User Option} ido-decorations
|
||||
@c @defvr {User Option} ido-use-virtual-buffers
|
||||
@c @defvr {User Option} ido-use-faces
|
||||
@c @defvr {User Option} ido-make-file-list-hook
|
||||
@c @defvr {User Option} ido-make-dir-list-hook
|
||||
@c @defvr {User Option} ido-make-buffer-list-hook
|
||||
@c @defvr {User Option} ido-rewrite-file-prompt-functions
|
||||
@c @defvr {User Option} ido-completion-buffer
|
||||
@c @defvr {User Option} ido-completion-buffer-all-completions
|
||||
@c @defvr {User Option} ido-all-frames
|
||||
@c @defvr {User Option} ido-minibuffer-setup-hook
|
||||
@c @defvr {User Option} ido-save-directory-list-file
|
||||
@c @defvr {User Option} ido-read-file-name-as-directory-commands
|
||||
@c @defvr {User Option} ido-read-file-name-non-ido
|
||||
@c @defvr {User Option} ido-before-fallback-functions
|
||||
@c @defvr {User Option} ido-buffer-disable-smart-matches
|
||||
@defopt ido-confirm-unique-completion
|
||||
If the value of this user option is non-@code{nil}, even a unique
|
||||
completion must be confirmed. This means that @code{ido-complete}
|
||||
(@key{TAB}) must always be followed by @code{ido-exit-minibuffer}
|
||||
(@key{RET}) even when there is only one unique completion.
|
||||
@end defopt
|
||||
|
||||
@defopt ido-cannot-complete-command
|
||||
When @code{ido-complete} can't complete any more, it will run the
|
||||
command specified by this user option. The most useful values are
|
||||
@code{ido-completion-help}, which pops up a window with completion
|
||||
alternatives, or @code{ido-next-match} or @code{ido-prev-match}, which
|
||||
cycle the buffer list.
|
||||
@end defopt
|
||||
|
||||
@defopt ido-max-file-prompt-width
|
||||
This user option specifies the upper limit of the prompt string. If
|
||||
its value is an integer, it specifies the number of characters of the
|
||||
string. If its value is a floating point number, it specifies a
|
||||
fraction of the frame width.
|
||||
@end defopt
|
||||
|
||||
@defopt ido-max-window-height
|
||||
If the value of this user option is non-@code{nil}, its value will
|
||||
override the variable @code{max-mini-window-height}, which is the
|
||||
maximum height for resizing mini-windows (the minibuffer and the echo
|
||||
area). If it's a floating point number, it specifies a fraction of
|
||||
the mini-window frame's height. If it's an integer, it specifies the
|
||||
number of lines.
|
||||
@end defopt
|
||||
|
||||
@defopt ido-record-commands
|
||||
If the value of this user option is non-@code{nil}, Ido will record
|
||||
commands in the variable @code{command-history}. Note that non-Ido
|
||||
equivalent is recorded.
|
||||
@end defopt
|
||||
|
||||
@defopt ido-all-frames
|
||||
This user option will be passed to @code{walk-windows} as its
|
||||
@var{all-frames} argument when Ido is finding buffers. @xref{Cyclic
|
||||
Window Ordering, , Cyclic Ordering of Windows, elisp, GNU Emacs Lisp
|
||||
Reference Manual}.
|
||||
@end defopt
|
||||
|
||||
@defopt ido-minibuffer-setup-hook
|
||||
This hook variable contains Ido-specific customization of minibuffer
|
||||
setup. It is run during minibuffer setup if Ido is active, and is
|
||||
intended for use in customizing ido for interoperation with other
|
||||
packages.
|
||||
@end defopt
|
||||
|
||||
@c @defopt ido-enable-tramp-completion
|
||||
@c cross-reference to tramp.texi
|
||||
|
||||
@c @cindex UNC host names, completion
|
||||
@c @defopt ido-unc-hosts
|
||||
@c @defopt ido-downcase-unc-hosts
|
||||
@c @defopt ido-cache-unc-host-shares-time
|
||||
|
||||
@c @defopt ido-enable-last-directory-history
|
||||
@c @defopt ido-max-work-file-list
|
||||
@c @defopt ido-work-directory-match-only
|
||||
@c @defopt ido-auto-merge-work-directories-length
|
||||
@c @defopt ido-auto-merge-delay-time
|
||||
@c @defopt ido-auto-merge-inhibit-characters-regexp
|
||||
@c @defopt ido-merged-indicator
|
||||
@c @defopt ido-max-directory-size
|
||||
@c @defopt ido-rotate-file-list-default
|
||||
@c @defopt ido-enter-matching-directory
|
||||
@c @defopt ido-create-new-buffer
|
||||
@c @defopt ido-separator
|
||||
@c @defopt ido-decorations
|
||||
@c @defopt ido-use-virtual-buffers
|
||||
@c @defopt ido-use-faces
|
||||
@c @defopt ido-make-file-list-hook
|
||||
@c @defopt ido-make-dir-list-hook
|
||||
@c @defopt ido-make-buffer-list-hook
|
||||
@c @defopt ido-rewrite-file-prompt-functions
|
||||
@c @defopt ido-completion-buffer
|
||||
@c @defopt ido-completion-buffer-all-completions
|
||||
@c @defopt ido-save-directory-list-file
|
||||
@c @defopt ido-read-file-name-as-directory-commands
|
||||
@c @defopt ido-read-file-name-non-ido
|
||||
@c @defopt ido-before-fallback-functions
|
||||
@c @defopt ido-buffer-disable-smart-matches
|
||||
|
||||
@node Misc
|
||||
@chapter Miscellaneous
|
||||
|
@ -624,8 +715,8 @@ and you find that the file you are after is not in any buffer, you can
|
|||
press @kbd{C-f} to immediately drop into @code{ido-find-file}. And
|
||||
you can switch back to buffer selection with @kbd{C-b}.
|
||||
|
||||
@c @defun ido-magic-forward-char
|
||||
@c @defun ido-magic-backward-char
|
||||
@c @deffn Command ido-magic-forward-char
|
||||
@c @deffn Command ido-magic-backward-char
|
||||
|
||||
You can also use Ido in your Emacs Lisp programs:
|
||||
|
||||
|
@ -657,7 +748,7 @@ Also, to improve the responsiveness of Ido, the maximum number of
|
|||
matching items is limited to 12, but you can increase or removed this
|
||||
limit via the @code{ido-max-prospects} user option.
|
||||
|
||||
@c @defvr {User Option} ido-max-prospects
|
||||
@c @defopt ido-max-prospects
|
||||
|
||||
To see a full list of all matching buffers in a separate buffer, hit
|
||||
@kbd{?} or press @key{TAB} when there are no further completions to
|
||||
|
@ -675,8 +766,8 @@ functions @code{read-buffer} and @code{read-file-name}.
|
|||
To use ido for all buffer and file selections in Emacs, customize the
|
||||
variable @code{ido-everywhere}.
|
||||
|
||||
@c @defun ido-everywhere
|
||||
@c @defvr {User Option} ido-everywhere
|
||||
@c @deffn Command ido-everywhere
|
||||
@c @defopt ido-everywhere
|
||||
|
||||
@node Other Packages
|
||||
@section Other Packages
|
||||
|
@ -689,7 +780,7 @@ If you don't want to rely on the @code{ido-everywhere} functionality,
|
|||
@code{ido-read-directory-name} can be used by other packages to read a
|
||||
buffer name, a file name, or a directory name in the @emph{Ido} way.
|
||||
|
||||
@c @node Cheetsheet
|
||||
@c @node Cheatsheet
|
||||
|
||||
@c * History and Acknowledgments:: How Ido came into being
|
||||
@c @node History and Acknowledgments
|
||||
|
|
|
@ -55,15 +55,15 @@ database.
|
|||
@end ifnottex
|
||||
|
||||
@menu
|
||||
* About mairix and mairix.el:: About the mairix search engine and mairix.el
|
||||
* Configuring mairix:: How to configure mairix
|
||||
* Setting up mairix.el:: Set up mairix.el
|
||||
* Using mairix.el:: List of interactive functions
|
||||
* Extending mairix.el:: Support your favorite mail reader!
|
||||
* About:: About the mairix search engine and mairix.el.
|
||||
* Configuring mairix:: How to configure mairix.
|
||||
* Setting up the mairix interface:: Set up mairix.el.
|
||||
* Using:: List of interactive functions
|
||||
* Extending:: Support your favorite mail reader!
|
||||
* GNU Free Documentation License:: The license for this documentation.
|
||||
@end menu
|
||||
|
||||
@node About mairix and mairix.el
|
||||
@node About
|
||||
@chapter About mairix and mairix.el
|
||||
|
||||
Mairix is a tool for indexing and searching words in locally stored
|
||||
|
@ -98,7 +98,7 @@ Currently, @code{mairix.el} is only tested with mbox output together
|
|||
with RMail, Gnus, or VM as the Emacs mail program. However, it should
|
||||
also work with Maildir or MH, and it should be very easy to integrate
|
||||
other Emacs mail programs into @code{mairix.el}
|
||||
(@pxref{Extending mairix.el}).
|
||||
(@pxref{Extending}).
|
||||
|
||||
If you use Gnus with maildir or MH, you should really use the native
|
||||
Gnus back end @code{nnmairix} instead, since it is more tightly
|
||||
|
@ -165,8 +165,8 @@ Now simply call @code{mairix} to create the index for the first time.
|
|||
Note that this may take a few minutes, but every following index will do
|
||||
the updates incrementally and hence is very fast.
|
||||
|
||||
@node Setting up mairix.el
|
||||
@chapter Setting up mairix.el
|
||||
@node Setting up the mairix interface
|
||||
@chapter Setting up the mairix interface
|
||||
|
||||
First, put @code{mairix.el} in your Emacs search path and put
|
||||
@code{(require 'mairix)} into your @file{.emacs} file. Then, use
|
||||
|
@ -179,13 +179,12 @@ If you use Gnus with maildir or mh, use the native Gnus back end
|
|||
nnmairix instead.
|
||||
|
||||
If you use another Emacs mail program which is not yet supported by
|
||||
mairix.el, it is pretty easy to integrate it. @xref{Extending
|
||||
mairix.el}, on how to integrate it into mairix.el.
|
||||
mairix.el, it is pretty easy to integrate it. @xref{Extending},
|
||||
on how to integrate it into mairix.el.
|
||||
|
||||
Now you should be ready to go. @xref{Using mairix.el}, for the available
|
||||
commands.
|
||||
Now you should be ready to go. @xref{Using}, for the available commands.
|
||||
|
||||
@node Using mairix.el
|
||||
@node Using
|
||||
@chapter Using mairix.el
|
||||
|
||||
There are currently no default key bindings for mairix.el, since those
|
||||
|
@ -314,7 +313,7 @@ will still be usable while the update is done.
|
|||
@end table
|
||||
|
||||
|
||||
@node Extending mairix.el
|
||||
@node Extending
|
||||
@chapter Extending mairix.el
|
||||
|
||||
Your favorite Emacs mail program is not supported? Shame on me. But
|
||||
|
|
|
@ -169,9 +169,9 @@ single buffer, called @samp{*newsticker*}. The modeline in the
|
|||
@samp{*newsticker*} buffer informs you whenever new headlines have
|
||||
arrived.
|
||||
@end itemize
|
||||
In both views clicking mouse-button 2 or pressing RET on a headline
|
||||
will call @code{browse-url} to load the corresponding news story in
|
||||
your favorite web browser.
|
||||
In both views clicking mouse-button 2 or pressing @key{RET} on a
|
||||
headline will call @code{browse-url} to load the corresponding news
|
||||
story in your favorite web browser.
|
||||
|
||||
@findex newsticker-start-ticker
|
||||
@findex newsticker-stop-ticker
|
||||
|
|
|
@ -153,7 +153,7 @@ Labels and References
|
|||
* Defining Label Environments:: ... and environments it doesn't.
|
||||
* Reference Info:: View the label corresponding to a \ref.
|
||||
* Reference Styles:: Macros to be used instead of \ref.
|
||||
* xr (LaTeX package):: References to external documents.
|
||||
* LaTeX xr Package:: References to external documents.
|
||||
|
||||
Defining Label Environments
|
||||
|
||||
|
@ -196,17 +196,17 @@ AUCTeX
|
|||
|
||||
Options, Keymaps, Hooks
|
||||
|
||||
* Options (Table of Contents)::
|
||||
* Options (Defining Label Environments)::
|
||||
* Options (Creating Labels)::
|
||||
* Options (Referencing Labels)::
|
||||
* Options (Creating Citations)::
|
||||
* Options (Index Support)::
|
||||
* Options (Viewing Cross-References)::
|
||||
* Options (Finding Files)::
|
||||
* Options (Optimizations)::
|
||||
* Options (Fontification)::
|
||||
* Options (Misc)::
|
||||
* Options - Table of Contents::
|
||||
* Options - Defining Label Environments::
|
||||
* Options - Creating Labels::
|
||||
* Options - Referencing Labels::
|
||||
* Options - Creating Citations::
|
||||
* Options - Index Support::
|
||||
* Options - Viewing Cross-References::
|
||||
* Options - Finding Files::
|
||||
* Options - Optimizations::
|
||||
* Options - Fontification::
|
||||
* Options - Misc::
|
||||
|
||||
@end detailmenu
|
||||
@end menu
|
||||
|
@ -581,8 +581,8 @@ called.
|
|||
@item mouse-2
|
||||
@vindex reftex-highlight-selection
|
||||
Clicking with mouse button 2 on a line has the same effect as @key{RET}.
|
||||
See also variable @code{reftex-highlight-selection}, @ref{Options
|
||||
(Fontification)}.
|
||||
See also variable @code{reftex-highlight-selection},
|
||||
@ref{Options - Fontification}.
|
||||
|
||||
@item f
|
||||
@vindex reftex-toc-follow-mode
|
||||
|
@ -701,9 +701,8 @@ buffer.
|
|||
|
||||
@item x
|
||||
Switch to the @file{*toc*} buffer of an external document. When the
|
||||
current document is using the @code{xr} package (@pxref{xr (LaTeX
|
||||
package)}), @RefTeX{} will switch to one of the external
|
||||
documents.
|
||||
current document is using the @code{xr} package (@pxref{LaTeX xr Package}),
|
||||
@RefTeX{} will switch to one of the external documents.
|
||||
|
||||
|
||||
@tablesubheading{Automatic recentering}
|
||||
|
@ -796,7 +795,7 @@ equation counter.
|
|||
* Defining Label Environments:: ... and environments it doesn't.
|
||||
* Reference Info:: View the label corresponding to a \ref.
|
||||
* Reference Styles:: Macros to be used instead of \ref.
|
||||
* xr (LaTeX package):: References to external documents.
|
||||
* LaTeX xr Package:: References to external documents.
|
||||
@end menu
|
||||
|
||||
@node Creating Labels
|
||||
|
@ -859,8 +858,8 @@ this label later.
|
|||
|
||||
@vindex reftex-insert-label-flags
|
||||
If you want to change the way certain labels are created, check out the
|
||||
variable @code{reftex-insert-label-flags} (@pxref{Options (Creating
|
||||
Labels)}).
|
||||
variable @code{reftex-insert-label-flags} (@pxref{Options - Creating
|
||||
Labels}).
|
||||
|
||||
If you are using @AUCTeX{} to write your @LaTeX{} documents, you can
|
||||
set it up to delegate the creation of labels to
|
||||
|
@ -981,7 +980,7 @@ references all marked labels.
|
|||
@vindex reftex-highlight-selection
|
||||
Clicking with mouse button 2 on a label will accept it like @key{RET}
|
||||
would. See also variable @code{reftex-highlight-selection},
|
||||
@ref{Options (Misc)}.
|
||||
@ref{Options - Misc}.
|
||||
|
||||
@vindex reftex-multiref-punctuation
|
||||
@item m - + ,
|
||||
|
@ -1034,7 +1033,7 @@ buffer.
|
|||
@tablesubheading{Controlling what gets displayed}
|
||||
@vindex reftex-label-menu-flags
|
||||
The defaults for the following flags can be configured with the variable
|
||||
@code{reftex-label-menu-flags} (@pxref{Options (Referencing Labels)}).
|
||||
@code{reftex-label-menu-flags} (@pxref{Options - Referencing Labels}).
|
||||
|
||||
@item c
|
||||
Toggle the display of the one-line label definition context in the
|
||||
|
@ -1082,8 +1081,7 @@ a menu for that category will be shown.
|
|||
Reference a label from an external document. With the @LaTeX{} package
|
||||
@code{xr} it is possible to reference labels defined in another
|
||||
document. This key will switch to the label menu of an external
|
||||
document and let you select a label from there (@pxref{xr (LaTeX
|
||||
package),,xr}).
|
||||
document and let you select a label from there (@pxref{LaTeX xr Package,,xr}).
|
||||
|
||||
@end table
|
||||
|
||||
|
@ -1203,8 +1201,8 @@ them (@pxref{Defining Label Environments}).
|
|||
@vindex reftex-label-alist
|
||||
@RefTeX{} can be configured to recognize additional labeled
|
||||
environments and macros. This is done with the variable
|
||||
@code{reftex-label-alist} (@pxref{Options (Defining Label
|
||||
Environments)}). If you are not familiar with Lisp, you can use the
|
||||
@code{reftex-label-alist} (@pxref{Options - Defining Label
|
||||
Environments}). If you are not familiar with Lisp, you can use the
|
||||
@code{custom} library to configure this rather complex variable. To do
|
||||
this, use
|
||||
|
||||
|
@ -1302,8 +1300,7 @@ a @code{\macro} or after the @code{\begin} statement). @code{t} is
|
|||
@code{nil} means to use the text right after the label definition.
|
||||
@item
|
||||
For more complex ways of getting context, see the variable
|
||||
@code{reftex-label-alist} (@ref{Options (Defining Label
|
||||
Environments)}).
|
||||
@code{reftex-label-alist} (@ref{Options - Defining Label Environments}).
|
||||
@end itemize
|
||||
|
||||
The following list of strings is used to guess the correct label type
|
||||
|
@ -1356,9 +1353,8 @@ Reftex Label Alist: [Hide]
|
|||
Depending on how you would like the label insertion and selection for
|
||||
the new environments to work, you might want to add the letters @samp{a}
|
||||
and @samp{h} to some of the flags in the variables
|
||||
@code{reftex-insert-label-flags} (@pxref{Options (Creating Labels)})
|
||||
and @code{reftex-label-menu-flags} (@pxref{Options (Referencing
|
||||
Labels)}).
|
||||
@code{reftex-insert-label-flags} (@pxref{Options - Creating Labels})
|
||||
and @code{reftex-label-menu-flags} (@pxref{Options - Referencing Labels}).
|
||||
|
||||
|
||||
@node Quick Equation
|
||||
|
@ -1749,7 +1745,7 @@ and @code{reftex-fref-is-default} respectively. While still working,
|
|||
these variables are deprecated now. Instead of setting them, the
|
||||
variable @code{reftex-ref-style-default-list} should be adapted now.
|
||||
|
||||
@node xr (LaTeX package)
|
||||
@node LaTeX xr Package
|
||||
@section @code{xr}: Cross-Document References
|
||||
@cindex @code{xr}, LaTeX package
|
||||
@cindex LaTeX packages, @code{xr}
|
||||
|
@ -1883,8 +1879,8 @@ which the selection process was started.
|
|||
@item mouse-2
|
||||
@vindex reftex-highlight-selection
|
||||
Clicking with mouse button 2 on a citation will accept it like @key{RET}
|
||||
would. See also variable @code{reftex-highlight-selection}, @ref{Options
|
||||
(Misc)}.
|
||||
would. See also variable @code{reftex-highlight-selection},
|
||||
@ref{Options - Misc}.
|
||||
|
||||
@item m
|
||||
Mark the current entry. When one or several entries are marked,
|
||||
|
@ -2403,8 +2399,9 @@ Abort the indexing process.
|
|||
|
||||
The @samp{Find and Index in Document} menu in the phrases buffer also
|
||||
lists a few options for the indexing process. The options have
|
||||
associated customization variables to set the defaults (@pxref{Options
|
||||
(Index Support)}). Here is a short explanation of what the options do:
|
||||
associated customization variables to set the defaults
|
||||
(@pxref{Options - Index Support}). Here is a short explanation of
|
||||
what the options do:
|
||||
|
||||
@table @i
|
||||
@item Match Whole Words
|
||||
|
@ -2759,7 +2756,7 @@ variants@footnote{all macros that start with @samp{ref} or end with
|
|||
@samp{ref} or @samp{refrange}} of the @code{\ref} macro are active for
|
||||
cross-reference display. This works also for labels defined in an
|
||||
external document when the current document refers to them through the
|
||||
@code{xr} interface (@pxref{xr (LaTeX package)}).
|
||||
@code{xr} interface (@pxref{LaTeX xr Package}).
|
||||
|
||||
@item @code{\label}
|
||||
@cindex @code{\label}
|
||||
|
@ -2908,7 +2905,7 @@ the ones defined in @file{font-lock.el}. Therefore, @RefTeX{} will
|
|||
use faces only when @code{font-lock} is loaded. This seems to be
|
||||
reasonable because people who like faces will very likely have it
|
||||
loaded. If you wish to turn off fontification or change the involved
|
||||
faces, see @ref{Options (Fontification)}.
|
||||
faces, see @ref{Options - Fontification}.
|
||||
|
||||
@node Multifile Documents
|
||||
@section Multifile Documents
|
||||
|
@ -3894,21 +3891,21 @@ Lisp (and even if you are) you might find it more comfortable to use
|
|||
reftex-customize} will get you there.
|
||||
|
||||
@menu
|
||||
* Options (Table of Contents)::
|
||||
* Options (Defining Label Environments)::
|
||||
* Options (Creating Labels)::
|
||||
* Options (Referencing Labels)::
|
||||
* Options (Creating Citations)::
|
||||
* Options (Index Support)::
|
||||
* Options (Viewing Cross-References)::
|
||||
* Options (Finding Files)::
|
||||
* Options (Optimizations)::
|
||||
* Options (Fontification)::
|
||||
* Options (Misc)::
|
||||
* Options - Table of Contents::
|
||||
* Options - Defining Label Environments::
|
||||
* Options - Creating Labels::
|
||||
* Options - Referencing Labels::
|
||||
* Options - Creating Citations::
|
||||
* Options - Index Support::
|
||||
* Options - Viewing Cross-References::
|
||||
* Options - Finding Files::
|
||||
* Options - Optimizations::
|
||||
* Options - Fontification::
|
||||
* Options - Misc::
|
||||
* Keymaps and Hooks::
|
||||
@end menu
|
||||
|
||||
@node Options (Table of Contents)
|
||||
@node Options - Table of Contents
|
||||
@section Table of Contents
|
||||
@cindex Options, table of contents
|
||||
@cindex Table of contents, options
|
||||
|
@ -4032,7 +4029,7 @@ The keymap which is active in the @file{*toc*} buffer.
|
|||
(@pxref{Table of Contents}).
|
||||
@end deffn
|
||||
|
||||
@node Options (Defining Label Environments)
|
||||
@node Options - Defining Label Environments
|
||||
@section Defining Label Environments
|
||||
@cindex Options, defining label environments
|
||||
@cindex Defining label environments, options
|
||||
|
@ -4259,7 +4256,7 @@ labels fn:xxx, you may want to set this variable to the value "^fn:$" or
|
|||
non-footnote labels.
|
||||
@end defopt
|
||||
|
||||
@node Options (Creating Labels)
|
||||
@node Options - Creating Labels
|
||||
@section Creating Labels
|
||||
@cindex Options, creating labels
|
||||
@cindex Creating labels, options
|
||||
|
@ -4375,7 +4372,7 @@ Character class after abbrev point in word.
|
|||
@end table
|
||||
@end defopt
|
||||
|
||||
@node Options (Referencing Labels)
|
||||
@node Options - Referencing Labels
|
||||
@section Referencing Labels
|
||||
@cindex Options, referencing labels
|
||||
@cindex Referencing labels, options
|
||||
|
@ -4497,7 +4494,7 @@ The keymap which is active in the labels selection process
|
|||
(@pxref{Referencing Labels}).
|
||||
@end deffn
|
||||
|
||||
@node Options (Creating Citations)
|
||||
@node Options - Creating Citations
|
||||
@section Creating Citations
|
||||
@cindex Options, creating citations
|
||||
@cindex Creating citations, options
|
||||
|
@ -4676,7 +4673,7 @@ Footer to insert in BibTeX files generated by
|
|||
@end defopt
|
||||
|
||||
|
||||
@node Options (Index Support)
|
||||
@node Options - Index Support, Options - Viewing Cross-References, Options - Creating Citations, Options
|
||||
@section Index Support
|
||||
@cindex Options, Index support
|
||||
@cindex Index support, options
|
||||
|
@ -4896,7 +4893,7 @@ The keymap which is active in the @file{*Index*} buffer
|
|||
(@pxref{Index Support}).
|
||||
@end deffn
|
||||
|
||||
@node Options (Viewing Cross-References)
|
||||
@node Options - Viewing Cross-References
|
||||
@section Viewing Cross-References
|
||||
@cindex Options, viewing cross-references
|
||||
@cindex Viewing cross-references, options
|
||||
|
@ -4955,7 +4952,7 @@ saved along with the parsing information. The cache survives document
|
|||
scans. In order to clear it, use @kbd{M-x reftex-reset-mode}.
|
||||
@end defopt
|
||||
|
||||
@node Options (Finding Files)
|
||||
@node Options - Finding Files
|
||||
@section Finding Files
|
||||
@cindex Options, Finding Files
|
||||
@cindex Finding files, options
|
||||
|
@ -5045,7 +5042,7 @@ non-@code{nil}.
|
|||
@end defopt
|
||||
|
||||
@page
|
||||
@node Options (Optimizations)
|
||||
@node Options - Optimizations
|
||||
@section Optimizations
|
||||
@cindex Options, optimizations
|
||||
@cindex Optimizations, options
|
||||
|
@ -5154,7 +5151,7 @@ effect when @code{reftex-use-multiple-selection-buffers} is
|
|||
non-@code{nil}.
|
||||
@end defopt
|
||||
|
||||
@node Options (Fontification)
|
||||
@node Options - Fontification
|
||||
@section Fontification
|
||||
@cindex Options, fontification
|
||||
@cindex Fontification, options
|
||||
|
@ -5252,7 +5249,7 @@ Face name for index names (for multiple indices).
|
|||
Face name for index entries.
|
||||
@end defopt
|
||||
|
||||
@node Options (Misc)
|
||||
@node Options - Misc
|
||||
@section Miscellaneous
|
||||
@cindex Options, misc
|
||||
|
||||
|
|
194
doc/misc/sc.texi
194
doc/misc/sc.texi
|
@ -84,12 +84,15 @@ into the following chapters.
|
|||
@node Introduction
|
||||
@chapter Introduction
|
||||
|
||||
Supercite is a GNU Emacs package written entirely in Emacs Lisp. It
|
||||
@cindex MUA
|
||||
@cindex NUA
|
||||
Supercite is a GNU Emacs package written entirely in Emacs Lisp. It
|
||||
interfaces to most of the commonly used Emacs mail user agents
|
||||
(@dfn{MUAs}) and news user agents (@dfn{NUAs}), and provides
|
||||
sophisticated facilities for the citing and attributing of message
|
||||
replies. Supercite has a very specific and limited role in the process
|
||||
of composing replies to both USENET network news and electronic mail.
|
||||
replies. Supercite has a very specific and limited role in the
|
||||
process of composing replies to both USENET network news and
|
||||
electronic mail.
|
||||
|
||||
The preferred way to spell Supercite is with a capital @samp{S},
|
||||
lowercase @samp{upercite}.
|
||||
|
@ -100,8 +103,7 @@ lowercase @samp{upercite}.
|
|||
* What Supercite Does::
|
||||
@end menu
|
||||
|
||||
@cindex MUA
|
||||
@cindex NUA
|
||||
@c FIXME: move it above the menu? --xfq
|
||||
Supercite is only useful in conjunction with MUAs and NUAs such as VM,
|
||||
Gnus, RMAIL, MH-E, etc. Supercite is typically called by the MUA after a
|
||||
reply buffer has been setup. Thereafter, Supercite's many commands and
|
||||
|
@ -118,21 +120,22 @@ sent. Supercite is re-initialized in each new reply buffer.
|
|||
@cindex cite, citing
|
||||
@cindex attribute, attributing
|
||||
|
||||
Typical usage is as follows. You want to reply or followup to a message
|
||||
in your MUA@. You will probably hit @kbd{r} (i.e., ``reply'') or @kbd{f}
|
||||
(i.e., ``forward'') to begin composing the reply. In response, the MUA
|
||||
will create a reply buffer and initialize the outgoing mail headers
|
||||
appropriately. The body of the reply will usually be empty at this
|
||||
point. You now decide that you would like to include part of the
|
||||
original message in your reply. To do this, you @dfn{yank} the original
|
||||
message into the reply buffer, typically with a key stroke such as
|
||||
@kbd{C-c C-y}. This sequence will invoke an MUA-specific function which
|
||||
fills the body of the reply with the original message and then
|
||||
@dfn{attributes} this text to its author. This is called @dfn{citing}
|
||||
and its effect is to prefix every line from the original message with a
|
||||
special text tag. Most MUAs provide some default style of citing; by
|
||||
using Supercite you gain a wider flexibility in the look and style of
|
||||
citations. Supercite's only job is to cite the original message.
|
||||
Typical usage is as follows. You want to reply or followup to a
|
||||
message in your MUA@. You will probably hit @kbd{r} (i.e., ``reply'')
|
||||
or @kbd{f} (i.e., ``forward'') to begin composing the reply. In
|
||||
response, the MUA will create a reply buffer and initialize the
|
||||
outgoing mail headers appropriately. The body of the reply will
|
||||
usually be empty at this point. You now decide that you would like to
|
||||
include part of the original message in your reply. To do this, you
|
||||
@dfn{yank} the original message into the reply buffer, typically with
|
||||
a key stroke such as @kbd{C-c C-y}. This sequence will invoke an
|
||||
MUA-specific function which fills the body of the reply with the
|
||||
original message and then @dfn{attributes} this text to its author.
|
||||
This is called @dfn{citing} and its effect is to prefix every line
|
||||
from the original message with a special text tag. Most MUAs provide
|
||||
some default style of citing; by using Supercite you gain a wider
|
||||
flexibility in the look and style of citations. Supercite's only job
|
||||
is to cite the original message.
|
||||
|
||||
@node What Supercite Does Not Do
|
||||
@section What Supercite Doesn't Do
|
||||
|
@ -183,7 +186,7 @@ string carrying details about the citation it is about to perform.
|
|||
|
||||
@cindex modeline
|
||||
Next, Supercite visits each line in the reply, transforming the line
|
||||
according to a customizable ``script.'' Lines which were not previously
|
||||
according to a customizable ``script''. Lines which were not previously
|
||||
cited in the original message are given a citation, while already cited
|
||||
lines remain untouched, or are coerced to your preferred style.
|
||||
Finally, Supercite installs a keymap into the reply buffer so that you
|
||||
|
@ -253,10 +256,10 @@ make the message very difficult for the eye to scan.
|
|||
|
||||
@cindex non-nested citations
|
||||
In @dfn{non-nested citations}, each cited line begins with an
|
||||
informative string attributing that line to the original author. Only
|
||||
the first level of attribution will be shown; subsequent citations don't
|
||||
nest the citation strings. The above dialog might look like this when
|
||||
non-nested citations are used:
|
||||
informative string attributing that line to the original author. Only
|
||||
the first level of attribution will be shown; subsequent citations
|
||||
don't nest the citation strings. The above dialog might look like
|
||||
this when non-nested citations are used:
|
||||
|
||||
@example
|
||||
John> John originally wrote this
|
||||
|
@ -272,19 +275,20 @@ message did not result in a line cited with @samp{Jane>John>}.
|
|||
@vindex sc-nested-citation-p
|
||||
@vindex nested-citation-p (sc-)
|
||||
Supercite supports both styles of citation, and the variable
|
||||
@code{sc-nested-citation-p} controls which style it will use when citing
|
||||
previously uncited text. When this variable is @code{nil} (the default),
|
||||
non-nested citations are used. When non-@code{nil}, nested citations
|
||||
are used.
|
||||
@code{sc-nested-citation-p} controls which style it will use when
|
||||
citing previously uncited text. When this variable is @code{nil} (the
|
||||
default), non-nested citations are used. When non-@code{nil}, nested
|
||||
citations are used.
|
||||
|
||||
|
||||
@node Citation Elements
|
||||
@section Citation Elements
|
||||
@cindex citation string
|
||||
|
||||
@dfn{Citation strings} are composed of one or more elements. Non-nested
|
||||
citations are composed of four elements, three of which are directly
|
||||
user definable. The elements are concatenated together, in this order:
|
||||
@dfn{Citation strings} are composed of one or more elements.
|
||||
Non-nested citations are composed of four elements, three of which are
|
||||
directly user definable. The elements are concatenated together, in
|
||||
this order:
|
||||
|
||||
@cindex citation leader
|
||||
@vindex citation-leader (sc-)
|
||||
|
@ -337,10 +341,10 @@ multi-level nested citations.
|
|||
@section Recognizing Citations
|
||||
|
||||
Supercite also recognizes citations in the original article, and can
|
||||
transform these already cited lines in a number of ways. This is how
|
||||
transform these already cited lines in a number of ways. This is how
|
||||
Supercite suppresses the multiple citing of non-nested citations.
|
||||
Recognition of cited lines is controlled by variables analogous to those
|
||||
that make up the citation string as mentioned previously.
|
||||
Recognition of cited lines is controlled by variables analogous to
|
||||
those that make up the citation string as mentioned previously.
|
||||
|
||||
@vindex sc-citation-leader-regexp
|
||||
@vindex citation-leader-regexp (sc-)
|
||||
|
@ -387,16 +391,16 @@ change @code{sc-citation-root-regexp} you should always also change
|
|||
|
||||
@dfn{Mail header information keys} are nuggets of information that
|
||||
Supercite extracts from the various mail headers of the original
|
||||
message, placed in the reply buffer by the MUA@. Information is kept in
|
||||
the @dfn{Info Alist} as key-value pairs, and can be retrieved for use in
|
||||
various places within Supercite, such as in header rewrite functions and
|
||||
attribution selection. Other bits of data, composed and created by
|
||||
Supercite, are also kept as key-value pairs in this alist. In the case
|
||||
of mail fields, the key is the name of the field, omitting the trailing
|
||||
colon. Info keys are always case insensitive (as are mail headers), and
|
||||
the value for a corresponding key can be retrieved from the alist with
|
||||
the @code{sc-mail-field} function. Thus, if the following fields were
|
||||
present in the original article:@refill
|
||||
message, placed in the reply buffer by the MUA@. Information is kept
|
||||
in the @dfn{Info Alist} as key-value pairs, and can be retrieved for
|
||||
use in various places within Supercite, such as in header rewrite
|
||||
functions and attribution selection. Other bits of data, composed and
|
||||
created by Supercite, are also kept as key-value pairs in this alist.
|
||||
In the case of mail fields, the key is the name of the field, omitting
|
||||
the trailing colon. Info keys are always case insensitive (as are
|
||||
mail headers), and the value for a corresponding key can be retrieved
|
||||
from the alist with the @code{sc-mail-field} function. Thus, if the
|
||||
following fields were present in the original article:@refill
|
||||
|
||||
@example
|
||||
Date:@: 08 April 1991, 17:32:09 EST
|
||||
|
@ -419,7 +423,7 @@ then, the following lisp constructs return:
|
|||
Since the argument to @code{sc-mail-field} can be any string, it is
|
||||
possible that the mail field will not be present on the info alist
|
||||
(possibly because the mail header was not present in the original
|
||||
message). In this case, @code{sc-mail-field} will return the value of
|
||||
message). In this case, @code{sc-mail-field} will return the value of
|
||||
the variable @code{sc-mumble}.
|
||||
|
||||
Supercite always places all mail fields found in the yanked original
|
||||
|
@ -510,8 +514,8 @@ header.
|
|||
@vindex sc-rewrite-header-list
|
||||
@vindex rewrite-header-list (sc-)
|
||||
There are a number of built-in @dfn{header rewrite functions} supplied
|
||||
by Supercite, but you can write your own custom header rewrite functions
|
||||
(perhaps using the built-in ones as examples). The variable
|
||||
by Supercite, but you can write your own custom header rewrite
|
||||
functions (perhaps using the built-in ones as examples). The variable
|
||||
@code{sc-rewrite-header-list} contains the list of such header rewrite
|
||||
functions. This list is consulted both when inserting the initial
|
||||
reference header, and when displaying @dfn{electric references}.
|
||||
|
@ -521,7 +525,7 @@ reference header, and when displaying @dfn{electric references}.
|
|||
@vindex preferred-header-style (sc-)
|
||||
When Supercite is initially run on a reply buffer (via
|
||||
@code{sc-cite-original}), it will automatically call one of these
|
||||
functions. The one it uses is defined in the variable
|
||||
functions. The one it uses is defined in the variable
|
||||
@code{sc-preferred-header-style}. The value of this variable is an
|
||||
integer which is an index into the @code{sc-rewrite-header-list},
|
||||
beginning at zero.
|
||||
|
@ -556,9 +560,9 @@ problem either in your MUA or in Supercite's installation).
|
|||
@findex sc-no-header
|
||||
@findex no-header (sc-)
|
||||
@item sc-no-header
|
||||
This function produces no header. It should be used instead of
|
||||
@code{nil} to produce a blank header. This header can possibly contain
|
||||
a blank line after the @code{mail-header-separator} line.
|
||||
This function produces no header. It should be used instead of
|
||||
@code{nil} to produce a blank header. This header can possibly
|
||||
contain a blank line after the @code{mail-header-separator} line.
|
||||
|
||||
@item sc-no-blank-line-or-header
|
||||
@findex sc-no-blank-line-or-header
|
||||
|
@ -612,11 +616,11 @@ line after the @code{mail-header-separator} line will be removed.
|
|||
By default, when Supercite cites the original message for the first
|
||||
time, it just goes ahead and inserts the reference header indexed by
|
||||
@code{sc-preferred-header-style}. However, you may want to select
|
||||
different reference headers based on the type of reply or forwarding you
|
||||
are doing. You may also want to preview the reference header before
|
||||
deciding whether to insert it into the reply buffer or not. Supercite
|
||||
provides an optional @dfn{electric reference} mode which you can drop
|
||||
into to give you this functionality.
|
||||
different reference headers based on the type of reply or forwarding
|
||||
you are doing. You may also want to preview the reference header
|
||||
before deciding whether to insert it into the reply buffer or
|
||||
not. Supercite provides an optional @dfn{electric reference} mode
|
||||
which you can drop into to give you this functionality.
|
||||
|
||||
@vindex sc-electric-references-p
|
||||
@vindex electric-references-p (sc-)
|
||||
|
@ -629,7 +633,7 @@ through all the reference header rewrite functions in your
|
|||
@code{sc-rewrite-header-list}.
|
||||
|
||||
You can also set a new preferred header style, jump to any header, or
|
||||
jump to the preferred header. The header will be shown in the electric
|
||||
jump to the preferred header. The header will be shown in the electric
|
||||
reference buffer and the header index and function name will appear in
|
||||
the echo area.
|
||||
|
||||
|
@ -643,7 +647,7 @@ The following commands are available while in electric reference mode
|
|||
@kindex n
|
||||
@vindex sc-electric-circular-p
|
||||
@vindex electric-circular-p (sc-)
|
||||
Displays the next reference header in the electric reference buffer. If
|
||||
Displays the next reference header in the electric reference buffer. If
|
||||
the variable @code{sc-electric-circular-p} is non-@code{nil}, invoking
|
||||
@code{sc-eref-next} while viewing the last reference header in the list
|
||||
will wrap around to the first header.@refill
|
||||
|
@ -854,7 +858,7 @@ affect alternative citing styles.
|
|||
@vindex mail-warn-if-non-rfc822-p (sc-)
|
||||
All previously retrieved info key-value pairs are deleted from the info
|
||||
alist, then the mail headers in the body of the yanked message are
|
||||
scanned. Info key-value pairs are created for each header found. Also,
|
||||
scanned. Info key-value pairs are created for each header found. Also,
|
||||
such useful information as the author's name and email address are
|
||||
extracted. If the variable @code{sc-mail-warn-if-non-rfc822-p} is
|
||||
non-@code{nil}, then Supercite will warn you if it finds a mail header
|
||||
|
@ -931,7 +935,7 @@ in the original message should be cited or not. If this variable is
|
|||
non-@code{nil}, blank lines will be cited just like non-blank lines.
|
||||
Otherwise, blank lines will be treated as paragraph separators.
|
||||
|
||||
Citing of the original message is highly configurable. Supercite's
|
||||
Citing of the original message is highly configurable. Supercite's
|
||||
default setup does a pretty good job of citing many common forms of
|
||||
previously cited messages. But there are as many citation styles out
|
||||
there as people on the net, or just about! It would be impossible for
|
||||
|
@ -945,8 +949,8 @@ recognize those styles you see often.
|
|||
@vindex sc-post-hook
|
||||
@vindex post-hook (sc-)
|
||||
This variable is very similar to @code{sc-pre-hook}, except that it runs
|
||||
after @code{sc-cite-original} is finished. This hook is provided mostly
|
||||
for completeness and backward compatibility. Perhaps it could be used to
|
||||
after @code{sc-cite-original} is finished. This hook is provided mostly
|
||||
for completeness and backward compatibility. Perhaps it could be used to
|
||||
reset certain variables set in @code{sc-pre-hook}.@refill
|
||||
@end enumerate
|
||||
|
||||
|
@ -1012,7 +1016,7 @@ both of these variables is provided on the key binding
|
|||
@pxref{Post-yank Formatting Commands}).@refill
|
||||
|
||||
You will noticed that the minor mode string will
|
||||
show the state of these variables as qualifier characters. When both
|
||||
show the state of these variables as qualifier characters. When both
|
||||
variables are @code{nil}, the Supercite minor mode string will display
|
||||
@samp{SC}. When just @code{sc-auto-fill-region-p} is non-@code{nil}, the
|
||||
string will display @samp{SC:f}, and when just
|
||||
|
@ -1036,11 +1040,11 @@ fill cited text.
|
|||
@vindex preferred-attribution-list (sc-)
|
||||
|
||||
As you know, the attribution string is the part of the author's name
|
||||
that will be used to composed a non-nested citation string. Supercite
|
||||
that will be used to composed a non-nested citation string. Supercite
|
||||
scans the various mail headers present in the original article and uses
|
||||
a number of heuristics to extract strings which it puts into the
|
||||
@dfn{attribution association list} or @dfn{attribution alist}. This is
|
||||
analogous, but different than, the info alist previously mentioned. Each
|
||||
@dfn{attribution association list} or @dfn{attribution alist}. This is
|
||||
analogous, but different than, the info alist previously mentioned. Each
|
||||
element in the attribution alist is a key-value pair containing such
|
||||
information as the author's first name, middle names, and last name, the
|
||||
author's initials, and the author's email terminus.
|
||||
|
@ -1083,7 +1087,7 @@ the author's last name.
|
|||
the author's first middle name.
|
||||
|
||||
@item "sc-lastchoice"
|
||||
the last attribution string you have selected. This is useful when you
|
||||
the last attribution string you have selected. This is useful when you
|
||||
recite paragraphs in the reply.@refill
|
||||
|
||||
@item "sc-consult"
|
||||
|
@ -1094,7 +1098,7 @@ be used to select special attributions based on the value of any info
|
|||
key. See below for details.
|
||||
|
||||
@item "x-attribution"
|
||||
the original author's suggestion for attribution string choice. See below
|
||||
the original author's suggestion for attribution string choice. See below
|
||||
for details.@refill
|
||||
@end table
|
||||
|
||||
|
@ -1141,7 +1145,7 @@ Each element in this list contains lists of the following form:
|
|||
@findex sc-mail-field
|
||||
@findex mail-field (sc-)
|
||||
where @var{infokey} is a key for @code{sc-mail-field} and @var{regexp}
|
||||
is a regular expression to match against the @var{infokey}'s value. If
|
||||
is a regular expression to match against the @var{infokey}'s value. If
|
||||
@var{regexp} matches the @var{infokey}'s value, the @var{attribution} is
|
||||
used as the attribution string. Actually, @var{attribution} can be a
|
||||
string or a list; if it is a list, it is @code{eval}uated and the return
|
||||
|
@ -1166,7 +1170,7 @@ The fallback author name is contained in the variable
|
|||
@code{sc-default-author-name} and the fallback attribution string is
|
||||
contained in the variable @code{sc-default-attribution}. Default values
|
||||
for these variables are @code{"Anonymous"} and @code{"Anon"},
|
||||
respectively. Note that in most circumstances, getting the default
|
||||
respectively. Note that in most circumstances, getting the default
|
||||
author name or attribution is a sign that something is set up
|
||||
incorrectly.
|
||||
|
||||
|
@ -1174,7 +1178,7 @@ incorrectly.
|
|||
@vindex use-only-preference-p (sc-)
|
||||
Also, if the preferred attribution, which you specified in your
|
||||
@code{sc-preferred-attribution-list} variable cannot be found, a
|
||||
secondary method can be employed to find a valid attribution string. The
|
||||
secondary method can be employed to find a valid attribution string. The
|
||||
variable @code{sc-use-only-preference-p} controls what happens in this
|
||||
case. If the variable's value is non-@code{nil}, then
|
||||
@code{sc-default-author-name} and @code{sc-default-attribution} are
|
||||
|
@ -1209,11 +1213,11 @@ attribution alist.
|
|||
@vindex sc-confirm-always-p
|
||||
@vindex confirm-always-p (sc-)
|
||||
Once the attribution string has been automatically selected, a number of
|
||||
things can happen. If the variable @code{sc-confirm-always-p} is
|
||||
things can happen. If the variable @code{sc-confirm-always-p} is
|
||||
non-@code{nil}, you are queried for confirmation of the chosen
|
||||
attribution string. The possible values for completion are those strings
|
||||
attribution string. The possible values for completion are those strings
|
||||
in the attribution alist, however you are not limited to these choices.
|
||||
You can type any arbitrary string at the confirmation prompt. The string
|
||||
You can type any arbitrary string at the confirmation prompt. The string
|
||||
you enter becomes the value associated with the @code{"sc-lastchoice"}
|
||||
key in the attribution alist.
|
||||
|
||||
|
@ -1279,7 +1283,7 @@ author's name proper. Examples include the titles ``Dr.'', ``Mr.'',
|
|||
Also, some companies prepend or append the name of the division,
|
||||
organization, or project on the author's name. All of these titles are
|
||||
noise which should be ignored. The variable @code{sc-name-filter-alist}
|
||||
is used for this purpose. As implied by its name, this variable is an
|
||||
is used for this purpose. As implied by its name, this variable is an
|
||||
association list, where each element is a cons cell of the form:
|
||||
|
||||
@example
|
||||
|
@ -1290,7 +1294,7 @@ association list, where each element is a cons cell of the form:
|
|||
where @var{regexp} is a regular expression that is matched (using
|
||||
@code{string-match}) against each element of the @samp{From:@:} field's
|
||||
author name. @var{position} is a position indicator, starting at zero.
|
||||
Thus to strip out all titles of ``Dr.'', ``Mr.'', etc. from the name,
|
||||
Thus to strip out all titles of ``Dr.'', ``Mr.'', etc. from the name,
|
||||
@code{sc-name-filter-alist} would have an entry such as:
|
||||
|
||||
@example
|
||||
|
@ -1380,10 +1384,10 @@ The four special symbol values for @var{pred} are recognized:
|
|||
@item t
|
||||
Always produces a true outcome.
|
||||
@item begin
|
||||
Always executed before the frame is interpreted. This can be used to
|
||||
Always executed before the frame is interpreted. This can be used to
|
||||
initialize some global variables for example.
|
||||
@item end
|
||||
Always executed after frame interpreting is completed. This can be used
|
||||
Always executed after frame interpreting is completed. This can be used
|
||||
to perform any necessary post-processing.
|
||||
@item every
|
||||
Executes whenever the frame is reset, usually after the entire frame has
|
||||
|
@ -1406,12 +1410,12 @@ of the following elements:@refill
|
|||
@table @asis
|
||||
@item the symbol @code{continue}
|
||||
This tells Regi to continue processing entries after a match, instead of
|
||||
resetting the frame and moving @samp{point}. In this way, lines of text
|
||||
resetting the frame and moving @samp{point}. In this way, lines of text
|
||||
can have multiple matches, but you have to be careful to avoid entering
|
||||
infinite loops.
|
||||
|
||||
@item the symbol @code{abort}
|
||||
This tells Regi to terminate frame processing. However, any @code{end}
|
||||
This tells Regi to terminate frame processing. However, any @code{end}
|
||||
entry is still processed.
|
||||
|
||||
@item the list @code{(frame . @var{newframe})}
|
||||
|
@ -1422,7 +1426,7 @@ can be the frame in-lined.@refill
|
|||
|
||||
@item the list @code{(step . @var{step})}
|
||||
Tells Regi to move @var{step} number of lines forward as it continues
|
||||
processing. By default, Regi moves forward one line. @var{step} can be
|
||||
processing. By default, Regi moves forward one line. @var{step} can be
|
||||
zero or negative of course, but watch out for infinite loops.@refill
|
||||
@end table
|
||||
|
||||
|
@ -1510,12 +1514,12 @@ is not found from the alist, then the appropriate default frame is used.
|
|||
|
||||
Once the original message has been yanked into the reply buffer, and
|
||||
@code{sc-cite-original} has had a chance to do its thing, a number of
|
||||
useful Supercite commands will be available to you. Since there is wide
|
||||
useful Supercite commands will be available to you. Since there is wide
|
||||
variety in the keymaps that MUAs set up in their reply buffers, it is
|
||||
next to impossible for Supercite to properly sprinkle its commands into
|
||||
the existing keymap. For this reason Supercite places its commands on a
|
||||
separate keymap, putting this keymap onto a prefix key in the reply
|
||||
buffer. You can customize the prefix key Supercite uses by changing the
|
||||
buffer. You can customize the prefix key Supercite uses by changing the
|
||||
variable @code{sc-mode-map-prefix}. By default, the
|
||||
@code{sc-mode-map-prefix} is @kbd{C-c C-p}; granted, not a great choice,
|
||||
but unfortunately the best general solution so far. In the rest of this
|
||||
|
@ -1536,7 +1540,7 @@ prefix.@refill
|
|||
|
||||
Probably the three most common post-yank formatting operations that you
|
||||
will perform will be the manual citing, reciting, and unciting of
|
||||
regions of text in the reply buffer. Often you may want to recite a
|
||||
regions of text in the reply buffer. Often you may want to recite a
|
||||
paragraph to use a nickname, or manually cite a message when setting
|
||||
@code{sc-cite-region-limit} to @code{nil}. The following commands
|
||||
perform these functions on the region of text between @samp{point} and
|
||||
|
@ -1582,7 +1586,7 @@ cited line in the region by interpreting the selected frame from
|
|||
@item @code{sc-recite-region} (@kbd{C-c C-p r})
|
||||
This command recites each line the region by interpreting the selected
|
||||
frame from @code{sc-recite-frame-alist}, or the default reciting frame
|
||||
@code{sc-default-recite-frame}. It runs the hook
|
||||
@code{sc-default-recite-frame}. It runs the hook
|
||||
@code{sc-pre-recite-hook} before interpreting the frame.
|
||||
@xref{Configuring the Citation Engine}.@refill
|
||||
|
||||
|
@ -1606,7 +1610,7 @@ These two functions insert various strings into the reply buffer.
|
|||
@vindex preferred-header-style (sc-)
|
||||
Inserts a reference header into the reply buffer at @samp{point}. With
|
||||
no arguments, the header indexed by @code{sc-preferred-header-style} is
|
||||
inserted. An optional numeric argument is the index into
|
||||
inserted. An optional numeric argument is the index into
|
||||
@code{sc-rewrite-header-list} indicating which reference header to
|
||||
write.@refill
|
||||
|
||||
|
@ -1719,7 +1723,7 @@ Allows you to interactively view, modify, add, and delete info alist
|
|||
key-value pairs. With no argument, you are prompted (with completion)
|
||||
for a info key. The value associated with that key is displayed in the
|
||||
minibuffer. With an argument, this command will first ask if you want
|
||||
to view, modify, add, or delete an info key. Viewing is identical to
|
||||
to view, modify, add, or delete an info key. Viewing is identical to
|
||||
running the command with no arguments.
|
||||
|
||||
If you want to modify the value of a key, Supercite will first prompt
|
||||
|
@ -1770,7 +1774,7 @@ an optional numeric argument inserts that many new lines.@refill
|
|||
@chapter Hints to MUA Authors
|
||||
|
||||
In June of 1989, some discussion was held between the various MUA
|
||||
authors, the Supercite author, and other Supercite users. These
|
||||
authors, the Supercite author, and other Supercite users. These
|
||||
discussions centered around the need for a standard interface between
|
||||
MUAs and Supercite (or any future Supercite-like packages). This
|
||||
interface was formally proposed by Martin Neitzel on Fri, 23 Jun 89, in
|
||||
|
@ -1810,14 +1814,14 @@ some default citing when that is the case.@refill
|
|||
|
||||
If you are writing a new MUA package, or maintaining an existing MUA
|
||||
package, you should make it conform to this interface so that your users
|
||||
will be able to link Supercite easily and seamlessly. To do this, when
|
||||
will be able to link Supercite easily and seamlessly. To do this, when
|
||||
setting up a reply or forward buffer, your MUA should follow these
|
||||
steps:
|
||||
|
||||
@enumerate
|
||||
@item
|
||||
Insert the original message, including the mail headers into the reply
|
||||
buffer. At this point you should not modify the raw text in any way
|
||||
buffer. At this point you should not modify the raw text in any way
|
||||
(except for any necessary decoding, e.g., of quoted-printable text), and
|
||||
you should place all the original headers into the body of the reply.
|
||||
This means that many of the mail headers will be duplicated, one copy
|
||||
|
@ -1826,7 +1830,7 @@ there will probably be more headers below this line.@refill
|
|||
|
||||
@item
|
||||
Set @samp{point} to the beginning of the line containing the first mail
|
||||
header in the body of the reply. Set @samp{mark} at the end of the
|
||||
header in the body of the reply. Set @samp{mark} at the end of the
|
||||
message text. It is very important that the region be set around the
|
||||
text Supercite is to modify and that the mail headers are within this
|
||||
region. Supercite will not venture outside the region for any reason,
|
||||
|
@ -1834,7 +1838,7 @@ and anything within the region is fair game, so don't put anything that
|
|||
@strong{must} remain unchanged inside the region.@refill
|
||||
|
||||
@item
|
||||
Run the hook @code{mail-citation-hook}. You will probably want to
|
||||
Run the hook @code{mail-citation-hook}. You will probably want to
|
||||
provide some kind of default citation functions in cases where the user
|
||||
does not have Supercite installed. By default, your MUA should
|
||||
@code{defvar} @code{mail-citation-hook} to @code{nil}, and in your
|
||||
|
@ -1853,9 +1857,9 @@ this interface ``out of the box.''
|
|||
|
||||
The Supercite package was derived from its predecessor Superyank 1.11
|
||||
which was inspired by various bits of code and ideas from Martin Neitzel
|
||||
and Ashwin Ram. They were the folks who came up with the idea of
|
||||
and Ashwin Ram. They were the folks who came up with the idea of
|
||||
non-nested citations and implemented some rough code to provide this
|
||||
style. Superyank and Supercite version 2 evolved to the point where much
|
||||
style. Superyank and Supercite version 2 evolved to the point where much
|
||||
of the attribution selection mechanism was automatic, and features have
|
||||
been continuously added through the comments and suggestions of the
|
||||
Supercite mailing list participants.
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
% Load plain if necessary, i.e., if running under initex.
|
||||
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
||||
%
|
||||
\def\texinfoversion{2013-06-23.10}
|
||||
\def\texinfoversion{2013-08-09.09}
|
||||
%
|
||||
% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
|
||||
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||
|
@ -2377,8 +2377,10 @@
|
|||
\ifx\next,%
|
||||
\else\ifx\next-%
|
||||
\else\ifx\next.%
|
||||
\else\ifx\next\.%
|
||||
\else\ifx\next\comma%
|
||||
\else\ptexslash
|
||||
\fi\fi\fi
|
||||
\fi\fi\fi\fi\fi
|
||||
\aftersmartic
|
||||
}
|
||||
|
||||
|
@ -2519,7 +2521,9 @@
|
|||
\ifx\codedashprev\codedash
|
||||
\else \discretionary{}{}{}\fi
|
||||
\fi
|
||||
\global\let\codedashprev=\next
|
||||
% we need the space after the = for the case when \next itself is a
|
||||
% space token; it would get swallowed otherwise. As in @code{- a}.
|
||||
\global\let\codedashprev= \next
|
||||
}
|
||||
}
|
||||
\def\normaldash{-}
|
||||
|
|
1760
doc/misc/todo-mode.texi
Normal file
1760
doc/misc/todo-mode.texi
Normal file
File diff suppressed because it is too large
Load diff
|
@ -3186,13 +3186,13 @@ for example:
|
|||
@end lisp
|
||||
|
||||
Note, that "%r", "%h" and "%p" must be encoded as "%%r", "%%h" and
|
||||
"%%p", respectively. The entries of @code{ControlPath},
|
||||
@code{ControlMaster} and @code{ControlPersist} can be removed from
|
||||
this setting, if they are configured properly in your
|
||||
@file{~/.ssh/config}:
|
||||
"%%p", respectively.
|
||||
|
||||
These settings can be suppressed, if they are configured properly in
|
||||
your @file{~/.ssh/config}:
|
||||
|
||||
@lisp
|
||||
(setq tramp-ssh-controlmaster-options "")
|
||||
(setq tramp-use-ssh-controlmaster-options nil)
|
||||
@end lisp
|
||||
|
||||
|
||||
|
|
|
@ -67,7 +67,12 @@ modify this GNU manual.''
|
|||
@display
|
||||
As distributed with Emacs @value{EMACSVER}.
|
||||
|
||||
@ifnothtml
|
||||
@email{F.J.Wright@@qmw.ac.uk, Francis J. Wright}
|
||||
@end ifnothtml
|
||||
@ifhtml
|
||||
Francis J. Wright
|
||||
@end ifhtml
|
||||
@uref{http://centaur.maths.qmw.ac.uk/, School of Mathematical Sciences}
|
||||
Queen Mary and Westfield College (University of London)
|
||||
Mile End Road, London E1 4NS, UK
|
||||
|
|
|
@ -1,3 +1,65 @@
|
|||
2013-08-15 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* refcards/calccard.pdf, refcards/cs-dired-ref.pdf:
|
||||
* refcards/cs-refcard.pdf, refcards/de-refcard.pdf:
|
||||
* refcards/dired-ref.pdf, refcards/fr-dired-ref.pdf:
|
||||
* refcards/fr-refcard.pdf, refcards/gnus-booklet.pdf:
|
||||
* refcards/gnus-refcard.pdf, refcards/orgcard.pdf:
|
||||
* refcards/pl-refcard.pdf, refcards/pt-br-refcard.pdf:
|
||||
* refcards/refcard.pdf, refcards/ru-refcard.pdf:
|
||||
* refcards/sk-dired-ref.pdf, refcards/sk-refcard.pdf:
|
||||
Remove generated files from repository.
|
||||
|
||||
* refcards/Makefile: Rewrite to use portable Makefile syntax.
|
||||
Add language-specific targets.
|
||||
(distclean, extraclean): New rules.
|
||||
|
||||
2013-08-13 Glenn Morris <rgm@gnu.org>
|
||||
|
||||
* refcards/Makefile (all_pdf, all_ps, fr-survival.ps, dist):
|
||||
New rules.
|
||||
(SURVIVAL_CARDS_PDF): Add fr_survival.pdf.
|
||||
|
||||
2013-08-11 Lars Magne Ingebrigtsen <larsi@gnus.org>
|
||||
|
||||
* NEWS: Mention -lz and `decompress-gzipped-region'.
|
||||
|
||||
2013-08-08 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* NEWS: Document new keybinding of `C-x r f' to frameset-to-register.
|
||||
|
||||
2013-08-06 Dmitry Antipov <dmantipov@yandex.ru>
|
||||
|
||||
* NEWS: Mention `cache-long-scans'.
|
||||
|
||||
2013-08-05 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* tutorials/TUTORIAL.es: Fix typo (bug#15027).
|
||||
|
||||
2013-08-03 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* NEWS: Document new package frameset.el.
|
||||
|
||||
2013-08-03 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* TODO: Adjust entry about bug reporting.
|
||||
|
||||
2013-08-02 Bastien Guerry <bzg@gnu.org>
|
||||
|
||||
* DEVEL.HUMOR: New entry.
|
||||
|
||||
2013-08-02 Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* tutorials/TUTORIAL: Remove a redundant sentence about yanking.
|
||||
|
||||
* tutorials/TUTORIAL.cn: Update; synchronize with TUTORIAL.
|
||||
|
||||
* tutorials/TUTORIAL.translators (Maintainer): Update the maintainer.
|
||||
|
||||
2013-08-02 Juanma Barranquero <lekktu@gmail.com>
|
||||
|
||||
* tutorials/TUTORIAL.es: Fix typos (bug#15000).
|
||||
|
||||
2013-07-26 Micah Anderson <micah@riseup.net> (tiny change)
|
||||
|
||||
* spook.lines: Additions. (Bug#14658)
|
||||
|
|
|
@ -194,3 +194,11 @@ drivers?"
|
|||
depression or loneliness when it is left out of the picture, so I
|
||||
wouldn't worry about it too much."
|
||||
-- Lennart Borgman and Jason Rumney
|
||||
|
||||
----------------------------------------------------------------------
|
||||
|
||||
"... a non-CS-educated guy like me ..."
|
||||
|
||||
"Kind of late, but thanks for letting us know. I've just revoked your
|
||||
write access to the repository for the obvious safety reasons,"
|
||||
-- Bastien Guerry and Stefan Monnier
|
||||
|
|
60
etc/NEWS
60
etc/NEWS
|
@ -41,6 +41,11 @@ specially.
|
|||
** Directories passed to configure option `--enable-locallisppath' are
|
||||
no longer created during installation.
|
||||
|
||||
** Emacs can be compiled with zlib support. If this library is present
|
||||
(which it normally is on most systems), the function
|
||||
`zlib-decompress-region' becomes available, which can decompress gzip-
|
||||
and zlib-format compressed data.
|
||||
|
||||
---
|
||||
** Emacs for NS (OSX, GNUStep) can be built with ImageMagick support.
|
||||
pkg-config is required to find ImageMagick libraries.
|
||||
|
@ -53,6 +58,10 @@ pkg-config is required to find ImageMagick libraries.
|
|||
|
||||
** Key ? also describes prefix bindings like C-h.
|
||||
|
||||
+++
|
||||
** `cache-long-line-scans' has been renamed to `cache-long-scans'
|
||||
because it affects caching of paragraph scanning results as well.
|
||||
|
||||
+++
|
||||
** `apropos-variable' is now `apropos-user-option'
|
||||
`apropos-user-option' shows all user options while `apropos-variable'
|
||||
|
@ -127,6 +136,11 @@ You can change the default by customizing the variable blink-cursor-blinks.
|
|||
Also timers for blinking are stopped when no blinking is done, so Emacs does
|
||||
not consume CPU cycles.
|
||||
|
||||
** New command `frameset-to-register' is now bound to `C-x r f', replacing
|
||||
`frame-configuration-to-register'. It offers similar functionality, plus
|
||||
some enhancements, like the ability to restore deleted frames. Command
|
||||
`frame-configuration-to-register' is still available, but unbound.
|
||||
|
||||
|
||||
* Editing Changes in Emacs 24.4
|
||||
|
||||
|
@ -229,10 +243,28 @@ The default separator is changed to allow surrounding spaces around the comma.
|
|||
|
||||
** Calendar and Diary
|
||||
|
||||
*** New faces: `calendar-weekday-header', `calendar-weekend-header',
|
||||
`calendar-month-header'.
|
||||
|
||||
*** New option `calendar-day-header-array'.
|
||||
|
||||
*** The variable `calendar-font-lock-keywords' is obsolete.
|
||||
|
||||
+++
|
||||
*** New variable `diary-from-outlook-function', used by the command
|
||||
`diary-from-outlook'.
|
||||
|
||||
** VC and related modes
|
||||
|
||||
*** In VC directory mode, `D' displays diffs between VC-controlled
|
||||
whole tree revisions.
|
||||
|
||||
*** In VC directory mode, `L' lists the change log for the current VC
|
||||
controlled tree in a window.
|
||||
|
||||
*** `C-x v G' (globally) and `G' (in VC directory mode) ignores a
|
||||
file under current version control system.
|
||||
|
||||
** cl-lib
|
||||
|
||||
*** New macro cl-tagbody.
|
||||
|
@ -262,9 +294,9 @@ on the given date.
|
|||
auto-saves of the desktop.
|
||||
|
||||
*** `desktop-restore-frames', enabled by default, allows saving and
|
||||
restoring the window/frame configuration. Additional options
|
||||
`desktop-restore-in-current-display' and
|
||||
`desktop-restoring-reuses-frames' allow further customization.
|
||||
restoring the frame/window configuration (frameset). Additional options
|
||||
`desktop-restore-in-current-display', `desktop-restore-reuses-frames'
|
||||
and `desktop-restore-forces-onscreen' offer further customization.
|
||||
|
||||
** Dired
|
||||
|
||||
|
@ -315,6 +347,8 @@ directory, respectively.
|
|||
`f' (`image-next-frame') and `b' (`image-previous-frame') visit the
|
||||
next or previous frame. `F' (`image-goto-frame') shows a specific frame.
|
||||
|
||||
*** New commands to speed up, slow down, or reverse animation.
|
||||
|
||||
---
|
||||
*** The command `image-mode-fit-frame' deletes other windows.
|
||||
When toggling, it restores the frame's previous window configuration.
|
||||
|
@ -417,6 +451,7 @@ New features include:
|
|||
archive files, undoing or unarchiving done items;
|
||||
- reprioritizing items by inputting a numerical priority;
|
||||
- extensive customizability of operation and display, including numerous faces.
|
||||
The Todo mode user manual describes all commands and most user options.
|
||||
To support some of these features, a new file format is used, which is
|
||||
incompatible with the old format; however, you can convert old todo and done
|
||||
item files to the new format on initializing the first new todo file, or at any
|
||||
|
@ -505,6 +540,12 @@ It is layered as:
|
|||
- advice-add/advice-remove to add/remove a piece of advice on a named function,
|
||||
much like `defadvice' does.
|
||||
|
||||
** New frameset.el package.
|
||||
It provides a set of operations to save a frameset (the state of all
|
||||
or a subset of the existing frames and windows, somewhat similar to a
|
||||
frame configuration), both in-session and persistently, and restore it
|
||||
at some point in the future.
|
||||
|
||||
+++
|
||||
** The package filenotify.el provides an interface for file system
|
||||
notifications. It requires, that Emacs is compiled with one of the
|
||||
|
@ -513,6 +554,8 @@ low-level libraries gfilenotify.c, inotify.c or w32notify.c.
|
|||
|
||||
* Incompatible Lisp Changes in Emacs 24.4
|
||||
|
||||
** `defvar' and `defcustom' in a let-binding affect the "external" default.
|
||||
|
||||
** The syntax of ?» and ?« is now punctuation instead of matched parens.
|
||||
Some languages match those as »...« and others as «...» so better stay neutral.
|
||||
|
||||
|
@ -563,6 +606,9 @@ in the presence of files with negative time stamps.
|
|||
|
||||
* Lisp Changes in Emacs 24.4
|
||||
|
||||
+++
|
||||
** New function `define-error'.
|
||||
|
||||
** New hook `tty-setup-hook'.
|
||||
|
||||
+++
|
||||
|
@ -639,6 +685,8 @@ Emacs uses `image-default-frame-delay'.
|
|||
*** New functions `image-current-frame' and `image-show-frame' for getting
|
||||
and setting the current frame of a multi-frame image.
|
||||
|
||||
*** You can change the speed of animated images.
|
||||
|
||||
** Changes in encoding and decoding of text
|
||||
|
||||
---
|
||||
|
@ -672,7 +720,7 @@ These attributes are only meaningful for coding-systems of type
|
|||
with the same interpretation as the returned value of `visited-file-modtime'.
|
||||
|
||||
** time-to-seconds is not obsolete any more.
|
||||
** New function special-form-p.
|
||||
** New functions special-form-p and macrop.
|
||||
** Docstrings can be made dynamic by adding a `dynamic-docstring-function'
|
||||
text-property on the first char.
|
||||
|
||||
|
@ -852,6 +900,10 @@ treated as images.
|
|||
*** ImageMagick images now support the :max-width and :max-height
|
||||
keywords.
|
||||
|
||||
*** Some data types aren't auto-detected by ImageMagick. Adding
|
||||
:format to `create-image' may help if the content type is in the
|
||||
new variable `image-format-suffixes'.
|
||||
|
||||
** Minibuffer
|
||||
|
||||
*** In minibuffer filename prompts, `C-M-f' and `C-M-b' now move to the
|
||||
|
|
12
etc/TODO
12
etc/TODO
|
@ -76,7 +76,8 @@ to use it.
|
|||
** Convert all defvars with leading `*' in the doc-strings into defcustoms
|
||||
of appropriate :type and :group.
|
||||
|
||||
** Remove any leading `*'s from defcustom doc-strings. [done?]
|
||||
** Remove any leading `*'s from defcustom doc-strings.
|
||||
[done?] [A lot of them are in CC Mode.]
|
||||
|
||||
** Remove unnecessary autoload cookies from defcustoms.
|
||||
This needs a bit of care, since often people have become used to
|
||||
|
@ -176,6 +177,15 @@ where <device> is the network device found under the first key.
|
|||
|
||||
** Check for any included packages that define obsolete bug-reporting commands.
|
||||
Change them to use report-emacs-bug.
|
||||
*** Related functions:
|
||||
**** gnus-bug
|
||||
**** report-calc-bug
|
||||
**** org-submit-bug-report
|
||||
**** lm-report-bug
|
||||
**** tramp-bug
|
||||
**** c-submit-bug-report
|
||||
**** ffap-bug and ffap-submit-bug (obsoleted)
|
||||
[Do all of them need changing?]
|
||||
|
||||
** Allow fringe indicators to display a tooltip (provide a help-echo property?)
|
||||
|
||||
|
|
|
@ -17,124 +17,321 @@
|
|||
## You should have received a copy of the GNU General Public License
|
||||
## along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
### Commentary:
|
||||
|
||||
## Top-level targets.
|
||||
## See README for details.
|
||||
|
||||
## PDF files that are included with Emacs.
|
||||
all: refcards_pdf dired-refcards_pdf misc-refcards_pdf
|
||||
PDF_ENGLISH = \
|
||||
calccard.pdf \
|
||||
dired-ref.pdf \
|
||||
gnus-booklet.pdf \
|
||||
gnus-refcard.pdf \
|
||||
orgcard.pdf \
|
||||
refcard.pdf \
|
||||
survival.pdf \
|
||||
vipcard.pdf \
|
||||
viperCard.pdf
|
||||
|
||||
REFCARDS_PDF = refcard.pdf cs-refcard.pdf de-refcard.pdf fr-refcard.pdf \
|
||||
pl-refcard.pdf pt-br-refcard.pdf ru-refcard.pdf sk-refcard.pdf
|
||||
refcards_pdf: ${REFCARDS_PDF}
|
||||
refcards_ps: ${REFCARDS_PDF:.pdf=.ps}
|
||||
PDF_CZECH = \
|
||||
cs-dired-ref.pdf \
|
||||
cs-refcard.pdf \
|
||||
cs-survival.pdf
|
||||
|
||||
DIRED_REFCARDS_PDF = dired-ref.pdf cs-dired-ref.pdf fr-dired-ref.pdf \
|
||||
sk-dired-ref.pdf
|
||||
dired-refcards_pdf: ${DIRED_REFCARDS_PDF}
|
||||
dired-refcards_ps: ${DIRED_REFCARDS_PDF:.pdf=.ps}
|
||||
PDF_FRENCH = \
|
||||
fr-dired-ref.pdf \
|
||||
fr-refcard.pdf \
|
||||
fr-survival.pdf \
|
||||
|
||||
MISC_REFCARDS_PDF = calccard.pdf gnus-booklet.pdf gnus-refcard.pdf orgcard.pdf
|
||||
misc-refcards_pdf: ${MISC_REFCARDS_PDF}
|
||||
misc-refcards_ps: ${MISC_REFCARDS_PDF:.pdf=.ps}
|
||||
PDF_GERMAN = de-refcard.pdf
|
||||
|
||||
PDF_POLISH = pl-refcard.pdf
|
||||
|
||||
PDF_PORTUGUESE = pt-br-refcard.pdf
|
||||
|
||||
PDF_RUSSIAN = ru-refcard.pdf
|
||||
|
||||
PDF_SLOVAKIAN = \
|
||||
sk-dired-ref.pdf \
|
||||
sk-refcard.pdf \
|
||||
sk-survival.pdf
|
||||
|
||||
PDF_TARGETS = $(PDF_ENGLISH) $(PDF_CZECH) $(PDF_FRENCH) $(PDF_GERMAN) \
|
||||
$(PDF_POLISH) $(PDF_PORTUGUESE) $(PDF_RUSSIAN) $(PDF_SLOVAKIAN)
|
||||
|
||||
PS_ENGLISH = \
|
||||
calccard.ps \
|
||||
dired-ref.ps \
|
||||
gnus-booklet.ps \
|
||||
gnus-refcard.ps \
|
||||
orgcard.ps \
|
||||
refcard.ps \
|
||||
survival.ps \
|
||||
vipcard.ps \
|
||||
viperCard.ps
|
||||
|
||||
PS_CZECH = \
|
||||
cs-dired-ref.ps \
|
||||
cs-refcard.ps \
|
||||
cs-survival.ps
|
||||
|
||||
PS_FRENCH = \
|
||||
fr-dired-ref.ps \
|
||||
fr-refcard.ps \
|
||||
fr-survival.ps \
|
||||
|
||||
PS_GERMAN = de-refcard.ps
|
||||
|
||||
PS_POLISH = pl-refcard.ps
|
||||
|
||||
PS_PORTUGUESE = pt-br-refcard.ps
|
||||
|
||||
PS_RUSSIAN = ru-refcard.ps
|
||||
|
||||
PS_SLOVAKIAN = \
|
||||
sk-dired-ref.ps \
|
||||
sk-refcard.ps \
|
||||
sk-survival.ps
|
||||
|
||||
PS_TARGETS = $(PS_ENGLISH) $(PS_CZECH) $(PS_FRENCH) $(PS_GERMAN) \
|
||||
$(PS_POLISH) $(PS_PORTUGUESE) $(PS_RUSSIAN) $(PS_SLOVAKIAN)
|
||||
|
||||
|
||||
## The following files are not included with Emacs.
|
||||
SURVIVAL_CARDS_PDF = survival.pdf cs-survival.pdf sk-survival.pdf
|
||||
survival-cards_pdf: ${SURVIVAL_CARDS_PDF}
|
||||
survival-cards_ps: ${SURVIVAL_CARDS_PDF:.pdf=.ps}
|
||||
## For emacsver.tex.
|
||||
ENVADD = TEXINPUTS=".:$(TEXINPUTS)"
|
||||
|
||||
VIPER_CARDS_PDF = vipcard.pdf viperCard.pdf
|
||||
viper-cards_pdf: ${VIPER_CARDS_PDF}
|
||||
viper-cards_ps: ${VIPER_CARDS_PDF:.pdf=.ps}
|
||||
|
||||
ENVADD = TEXINPUTS=".:"
|
||||
.PHONY: all pdf ps
|
||||
|
||||
## PDF files.
|
||||
all: pdf
|
||||
pdf: $(PDF_TARGETS)
|
||||
ps: $(PS_TARGETS)
|
||||
|
||||
## The page layouts (a4/letter) are written directly in the .tex files.
|
||||
|
||||
cs-refcard.pdf cs-dired-ref.pdf cs-survival.pdf sk-refcard.pdf \
|
||||
sk-dired-ref.pdf sk-survival.pdf: %.pdf: %.tex emacsver.tex
|
||||
if pdfcsplain --version > /dev/null 2> /dev/null; then \
|
||||
${ENVADD} pdfcsplain $<; \
|
||||
.PHONY: english czech french german polish portuguese russian slovakian
|
||||
english: $(PDF_ENGLISH)
|
||||
czech: $(PDF_CZECH)
|
||||
french: $(PDF_FRENCH)
|
||||
german: $(PDF_GERMAN)
|
||||
polish: $(PDF_POLISH)
|
||||
portuguese: $(PDF_PORTUGUESE)
|
||||
russian: $(PDF_RUSSIAN)
|
||||
slovakian: $(PDF_SLOVAKIAN)
|
||||
|
||||
.PHONY: english-ps czech-ps french-ps german-ps polish-ps portuguese-ps russian-ps slovakian-ps
|
||||
english-ps: $(PS_ENGLISH)
|
||||
czech-ps: $(PS_CZECH)
|
||||
french-ps: $(PS_FRENCH)
|
||||
german-ps: $(PS_GERMAN)
|
||||
polish-ps: $(PS_POLISH)
|
||||
portuguese-ps: $(PS_PORTUGUESE)
|
||||
russian-ps: $(PS_RUSSIAN)
|
||||
slovakian-ps: $(PS_SLOVAKIAN)
|
||||
|
||||
|
||||
## Default for file that do not use a different paper size.
|
||||
.SUFFIXES: .ps .dvi
|
||||
.dvi.ps:
|
||||
dvips -t letter -o $@ $<
|
||||
|
||||
|
||||
make_cs=if pdfcsplain --version > /dev/null 2> /dev/null; then \
|
||||
$(ENVADD) pdfcsplain $$input; \
|
||||
else \
|
||||
${ENVADD} csplain "\pdfoutput=1\input $<"; \
|
||||
$(ENVADD) csplain "\pdfoutput=1\input $$input"; \
|
||||
fi
|
||||
|
||||
## For pdf output, the page layouts (a4/letter) are written directly
|
||||
## in the .tex files.
|
||||
|
||||
## For PostScript output, note that some of the tex files (refcard,
|
||||
## de-refcard, fr-refcard, pt-br-refcard) have settings for letter or
|
||||
## a4 paper. The Following are the default paper sizes (letter for English,
|
||||
## A4 for translations).
|
||||
## FIXME orgcard.ps does not fit on letter (see orgcard.tex).
|
||||
|
||||
## A4, landscape: de-refcard, fr-refcard, pt-br-refcard orgcard
|
||||
## A4, portrait: cs-*, fr-dired-ref, sk-*, pl-refcard, ru-refcard
|
||||
## Letter, landscape: calccard, refcard
|
||||
## Letter, portrait (suffix rule): dired-ref, gnus-*, survival, vip*
|
||||
|
||||
calccard_deps = calccard.tex emacsver.tex pdflayout.sty
|
||||
calccard.pdf: $(calccard_deps)
|
||||
$(ENVADD) pdftex calccard.tex
|
||||
calccard.dvi: $(calccard_deps)
|
||||
$(ENVADD) tex calccard.tex
|
||||
calccard.ps: calccard.dvi
|
||||
dvips -t letter -t landscape -o $@ calccard.dvi
|
||||
|
||||
cs_dired_ref_deps = cs-dired-ref.tex emacsver.tex pdflayout.sty
|
||||
cs-dired-ref.pdf: $(cs_dired_ref_deps)
|
||||
input=cs-dired-ref.tex; $(make_cs)
|
||||
cs-dired-ref.dvi: $(cs_dired_ref_deps)
|
||||
$(ENVADD) csplain cs-dired-ref.tex
|
||||
cs-dired-ref.ps: cs-dired-ref.dvi
|
||||
dvips -t a4 -o $@ cs-dired-ref.dvi
|
||||
|
||||
cs_refcard_deps = cs-refcard.tex emacsver.tex pdflayout.sty
|
||||
cs-refcard.pdf: $(cs_refcard_deps)
|
||||
input=cs-refcard.tex; $(make_cs)
|
||||
cs-refcard.dvi: $(cs_refcard_deps)
|
||||
$(ENVADD) csplain cs-refcard.tex
|
||||
cs-refcard.ps: cs-refcard.dvi
|
||||
dvips -t a4 -o $@ cs-refcard.dvi
|
||||
|
||||
cs_survival_deps = cs-survival.tex emacsver.tex pdflayout.sty
|
||||
cs-survival.pdf: $(cs_survival_deps)
|
||||
input=cs-survival.tex; $(make_cs)
|
||||
cs-survival.dvi: $(cs_survival_deps)
|
||||
$(ENVADD) csplain cs-survival.tex
|
||||
cs-survival.ps: cs-survival.dvi
|
||||
dvips -t a4 -o $@ cs-survival.dvi
|
||||
|
||||
de_refcard_deps = de-refcard.tex emacsver.tex pdflayout.sty
|
||||
de-refcard.pdf: $(de_refcard_deps)
|
||||
$(ENVADD) pdftex de-refcard.tex
|
||||
de-refcard.dvi: $(de_refcard_deps)
|
||||
$(ENVADD) tex de-refcard.tex
|
||||
de-refcard.ps: de-refcard.dvi
|
||||
dvips -t a4 -t landscape -o $@ de-refcard.dvi
|
||||
|
||||
dired_ref_deps = dired-ref.tex emacsver.tex pdflayout.sty
|
||||
dired-ref.pdf: $(dired_ref_deps)
|
||||
$(ENVADD) pdftex dired-ref.tex
|
||||
dired-ref.dvi: $(dired_ref_deps)
|
||||
$(ENVADD) tex dired-ref.tex
|
||||
|
||||
fr_dired_ref_deps = fr-dired-ref.tex emacsver.tex pdflayout.sty
|
||||
fr-dired-ref.pdf: $(fr_dired_ref_deps)
|
||||
$(ENVADD) pdftex fr-dired-ref.tex
|
||||
fr-dired-ref.dvi: $(fr_dired_ref_deps)
|
||||
$(ENVADD) tex fr-dired-ref.tex
|
||||
fr-dired-ref.ps: fr-dired-ref.dvi
|
||||
dvips -t a4 -o $@ fr-dired-ref.dvi
|
||||
|
||||
fr_refcard_deps = fr-refcard.tex emacsver.tex pdflayout.sty
|
||||
fr-refcard.pdf: $(fr_refcard_deps)
|
||||
$(ENVADD) pdftex fr-refcard.tex
|
||||
fr-refcard.dvi: $(fr_refcard_deps)
|
||||
$(ENVADD) tex fr-refcard.tex
|
||||
fr-refcard.ps: fr-refcard.dvi
|
||||
dvips -t a4 -t landscape -o $@ fr-refcard.dvi
|
||||
|
||||
fr_survival_deps = fr-survival.tex emacsver.tex pdflayout.sty
|
||||
fr-survival.pdf: $(fr_survival_deps)
|
||||
$(ENVADD) pdftex fr-survival.tex
|
||||
fr-survival.dvi: $(fr_survival_deps)
|
||||
$(ENVADD) tex fr-survival.tex
|
||||
fr-survival.ps: fr-survival.dvi
|
||||
dvips -t a4 -o $@ fr-survival.dvi
|
||||
|
||||
## No dependency on emacsver.tex, pdflayout.sty; no need for ENVADD.
|
||||
gnus_booklet_deps = gnus-refcard.tex gnus-logo.pdf
|
||||
gnus-booklet.pdf: $(gnus_booklet_deps)
|
||||
pdflatex -jobname=gnus-booklet '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}'
|
||||
gnus-booklet.dvi: gnus-refcard.tex gnus-logo.eps
|
||||
latex '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}'
|
||||
mv gnus-refcard.dvi $@
|
||||
|
||||
###gnus-logo.pdf: gnus-logo.eps
|
||||
### ps2pdf gnus-logo.eps
|
||||
|
||||
## No dependency on emacsver.tex, pdflayout.sty; no need for ENVADD.
|
||||
gnus_refcard_deps = gnus-refcard.tex gnus-logo.pdf
|
||||
gnus-refcard.pdf: $(gnus_refcard_deps)
|
||||
pdflatex gnus-refcard.tex
|
||||
gnus-refcard.dvi: $(gnus_refcard_deps)
|
||||
latex gnus-refcard.tex
|
||||
|
||||
orgcard_deps = orgcard.tex emacsver.tex pdflayout.sty
|
||||
orgcard.pdf: $(orgcard_deps)
|
||||
$(ENVADD) pdftex orgcard.tex
|
||||
orgcard.dvi: $(orgcard_deps)
|
||||
$(ENVADD) tex orgcard.tex
|
||||
orgcard.ps: orgcard.dvi
|
||||
dvips -t a4 -t landscape -o $@ orgcard.dvi
|
||||
|
||||
pl_refcard_deps = pl-refcard.tex emacsver.tex pdflayout.sty
|
||||
## Some versions of pdfmex seem to create dvi by default, hence output-format.
|
||||
pl-refcard.pdf: %.pdf: %.tex emacsver.tex
|
||||
pl-refcard.pdf: $(pl_refcard_deps)
|
||||
if ! kpsewhich -format=fmt mex > /dev/null && \
|
||||
! pdfmex --version > /dev/null 2> /dev/null; then \
|
||||
echo "No mex format found."; false; \
|
||||
fi
|
||||
${ENVADD} pdftex -output-format=pdf $<
|
||||
|
||||
ru-refcard.pdf: %.pdf: %.tex
|
||||
pdflatex $<
|
||||
|
||||
#gnus-logo.pdf: %.pdf: %.eps
|
||||
# ps2pdf $<
|
||||
|
||||
gnus-refcard.pdf: %.pdf: %.tex gnus-logo.pdf
|
||||
pdflatex $<
|
||||
|
||||
gnus-booklet.pdf: gnus-refcard.tex gnus-logo.pdf
|
||||
pdflatex -jobname=gnus-booklet '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}'
|
||||
|
||||
## Everything not explicitly listed above.
|
||||
%.pdf: %.tex emacsver.tex
|
||||
${ENVADD} pdftex $<
|
||||
|
||||
|
||||
## dvi files.
|
||||
|
||||
cs-refcard.dvi cs-dired-ref.dvi cs-survival.dvi sk-refcard.dvi \
|
||||
sk-dired-ref.dvi sk-survival.dvi: %.dvi: %.tex emacsver.tex
|
||||
${ENVADD} csplain $<
|
||||
|
||||
pl-refcard.dvi: %.dvi: %.tex emacsver.tex
|
||||
$(ENVADD) pdftex -output-format=pdf pl-refcard.tex
|
||||
pl-refcard.dvi: $(pl_refcard_deps)
|
||||
if ! kpsewhich -format=fmt mex > /dev/null; then \
|
||||
echo "No mex format found."; false; \
|
||||
fi
|
||||
${ENVADD} tex $<
|
||||
$(ENVADD) tex pl-refcard.tex
|
||||
pl-refcard.ps: pl-refcard.dvi
|
||||
dvips -t a4 -o $@ pl-refcard.dvi
|
||||
|
||||
ru-refcard.dvi gnus-refcard.dvi: %.dvi: %.tex
|
||||
latex $<
|
||||
pt_br_refcard_deps = pt-br-refcard.tex emacsver.tex pdflayout.sty
|
||||
pt-br-refcard.pdf: $(pt_br_refcard_deps)
|
||||
$(ENVADD) pdftex pt-br-refcard.tex
|
||||
pt-br-refcard.dvi: $(pt_br_refcard_deps)
|
||||
$(ENVADD) tex pt-br-refcard.tex
|
||||
pt-br-refcard.ps: pt-br-refcard.dvi
|
||||
dvips -t a4 -t landscape -o $@ pt-br-refcard.dvi
|
||||
|
||||
gnus-booklet.dvi: gnus-refcard.tex
|
||||
latex '\def\booklettrue{}\def\letterpapertrue{}\input{gnus-refcard}'
|
||||
mv gnus-refcard.dvi $@
|
||||
refcard_deps = refcard.tex emacsver.tex pdflayout.sty
|
||||
refcard.pdf: $(refcard_deps)
|
||||
$(ENVADD) pdftex refcard.tex
|
||||
refcard.dvi: $(refcard_deps)
|
||||
$(ENVADD) tex refcard.tex
|
||||
refcard.ps: refcard.dvi
|
||||
dvips -t letter -t landscape -o $@ refcard.dvi
|
||||
|
||||
## Everything not explicitly listed above.
|
||||
%.dvi: %.tex emacsver.tex
|
||||
${ENVADD} tex $<
|
||||
## No dependency on emacsver.tex, pdflayout.sty; no need for ENVADD.
|
||||
ru_refcard_deps = ru-refcard.tex
|
||||
ru-refcard.pdf: $(ru_refcard_deps)
|
||||
pdflatex ru-refcard.tex
|
||||
ru-refcard.dvi: $(ru_refcard_deps)
|
||||
latex ru-refcard.tex
|
||||
ru-refcard.ps: ru-refcard.dvi
|
||||
dvips -t a4 -o $@ ru-refcard.dvi
|
||||
|
||||
sk_dired_ref_deps = sk-dired-ref.tex emacsver.tex pdflayout.sty
|
||||
sk-dired-ref.pdf: $(sk_dired_ref_deps)
|
||||
input=sk-dired-ref.tex; $(make_cs)
|
||||
sk-dired-ref.dvi: $(sk_dired_ref_deps)
|
||||
$(ENVADD) csplain sk-dired-ref.tex
|
||||
sk-dired-ref.ps: sk-dired-ref.dvi
|
||||
dvips -t a4 -o $@ sk-dired-ref.dvi
|
||||
|
||||
## PostScript files.
|
||||
sk_refcard_deps = sk-refcard.tex emacsver.tex pdflayout.sty
|
||||
sk-refcard.pdf: $(sk_refcard_deps)
|
||||
input=sk-refcard.tex; $(make_cs)
|
||||
sk-refcard.dvi: $(sk_refcard_deps)
|
||||
$(ENVADD) csplain sk-refcard.tex
|
||||
sk-refcard.ps: sk-refcard.dvi
|
||||
dvips -t a4 -o $@ sk-refcard.dvi
|
||||
|
||||
## Note that some of the tex files (refcard, de-refcard, fr-refcard,
|
||||
## pt-br-refcard) have settings for letter or a4 paper. Following are
|
||||
## the default paper sizes (letter for English, A4 for translations).
|
||||
## FIXME orgcard.ps does not fit on letter (see orgcard.tex).
|
||||
sk_survival_deps = sk-survival.tex emacsver.tex pdflayout.sty
|
||||
sk-survival.pdf: $(sk_survival_deps)
|
||||
input=sk-survival.tex; $(make_cs)
|
||||
sk-survival.dvi: $(sk_survival_deps)
|
||||
$(ENVADD) csplain sk-survival.tex
|
||||
sk-survival.ps: sk-survival.dvi
|
||||
dvips -t a4 -o $@ sk-survival.dvi
|
||||
|
||||
## A4, landscape.
|
||||
de-refcard.ps fr-refcard.ps pt-br-refcard.ps orgcard.ps: %.ps: %.dvi
|
||||
dvips -t a4 -t landscape $< -o $@
|
||||
survival_deps = survival.tex emacsver.tex pdflayout.sty
|
||||
survival.pdf: $(survival_deps)
|
||||
$(ENVADD) pdftex survival.tex
|
||||
survival.dvi: $(survival_deps)
|
||||
$(ENVADD) tex survival.tex
|
||||
|
||||
## A4, portrait.
|
||||
cs-dired-ref.ps cs-refcard.ps cs-survival.ps fr-dired-ref.ps \
|
||||
pl-refcard.ps ru-refcard.ps \
|
||||
sk-dired-ref.ps sk-refcard.ps sk-survival.ps: %.ps: %.dvi
|
||||
dvips -t a4 $< -o $@
|
||||
vipcard_deps = vipcard.tex emacsver.tex pdflayout.sty
|
||||
vipcard.pdf: $(vipcard_deps)
|
||||
$(ENVADD) pdftex vipcard.tex
|
||||
vipcard.dvi: $(vipcard_deps)
|
||||
$(ENVADD) tex vipcard.tex
|
||||
|
||||
## letter, landscape.
|
||||
calccard.ps refcard.ps: %.ps: %.dvi
|
||||
dvips -t letter -t landscape $< -o $@
|
||||
|
||||
## letter, portrait.
|
||||
dired-ref.ps gnus-booklet.ps gnus-refcard.ps survival.ps vipcard.ps \
|
||||
viperCard.ps: %.ps: %.dvi
|
||||
dvips -t letter $< -o $@
|
||||
vipercard_deps = viperCard.tex emacsver.tex pdflayout.sty
|
||||
viperCard.pdf: $(vipercard_deps)
|
||||
$(ENVADD) pdftex viperCard.tex
|
||||
viperCard.dvi: $(vipercard_deps)
|
||||
$(ENVADD) tex viperCard.tex
|
||||
|
||||
|
||||
.PHONY: clean
|
||||
|
@ -142,4 +339,19 @@ viperCard.ps: %.ps: %.dvi
|
|||
clean:
|
||||
-rm -f *.dvi *.log *.aux
|
||||
|
||||
distclean: clean
|
||||
|
||||
## This should really by maintainer-clean, but the handling of the
|
||||
## refcards is funny. So abuse extraclean for this.
|
||||
extraclean: clean
|
||||
-rm -f $(PDF_TARGETS) $(PS_TARGETS)
|
||||
|
||||
## For the Emacs website.
|
||||
dist:
|
||||
rm -rf emacs-refcards
|
||||
mkdir emacs-refcards
|
||||
cp Makefile README *.tex gnus-logo.* pdflayout.sty emacs-refcards/
|
||||
tar -cf emacs-refcards.tar emacs-refcards
|
||||
rm -rf emacs-refcards
|
||||
|
||||
### Makefile ends here
|
||||
|
|
|
@ -1,5 +1,11 @@
|
|||
Copyright (C) 2013 Free Software Foundation, Inc.
|
||||
See the end of the file for license conditions.
|
||||
|
||||
|
||||
REFERENCE CARDS FOR GNU EMACS
|
||||
|
||||
To generate these refcards, you need to install the TeX document
|
||||
production system. For example, http://www.tug.org/texlive/ .
|
||||
production system. For example, <http://www.tug.org/texlive/>.
|
||||
|
||||
All modern GNU/Linux distributions provide TeX packages, so the
|
||||
easiest way is just to install those. Your distribution may have
|
||||
|
@ -7,7 +13,18 @@ split some of the files needed to process non-English output into
|
|||
separate, optional packages such as: texlive-lang-cyrillic,
|
||||
texlive-lang-czechslovak, texlive-lang-german, and texlive-lang-polish.
|
||||
|
||||
Type `make all' (or `make pdf') to generate PDF versions of all the cards.
|
||||
For PostScript format, use `make ps'.
|
||||
To only generate the cards for a specific language, use e.g.
|
||||
`make french' or `make french-ps'. As mentioned above, you may need
|
||||
to install extra TeX packages for some languages.
|
||||
|
||||
PDF and PS copies of these cards are also available at
|
||||
<http://www.gnu.org/software/emacs/refcards>. The FSF online
|
||||
store <http://shop.fsf.org/> sometimes has printed copies for sale.
|
||||
|
||||
|
||||
|
||||
COPYRIGHT AND LICENSE INFORMATION FOR IMAGE FILES
|
||||
|
||||
The file gnus-logo.eps contains copyright and license information, but
|
||||
|
@ -17,3 +34,20 @@ File: gnus-logo.eps, gnus-logo.pdf
|
|||
Author: Luis Fernandes <elf@ee.ryerson.ca>
|
||||
Copyright (C) 2001-2013 Free Software Foundation, Inc.
|
||||
License: GNU General Public License version 3 or later (see COPYING)
|
||||
|
||||
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
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
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
GNU Emacs is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -372,13 +372,15 @@ the text between the two positions.
|
|||
|
||||
The difference between "killing" and "deleting" is that "killed" text
|
||||
can be reinserted (at any position), whereas "deleted" things cannot
|
||||
be reinserted in this way (you can, however, undo a deletion--see below).
|
||||
Reinsertion of killed text is called "yanking". Generally, the
|
||||
commands that can remove a lot of text kill the text (they are set up so
|
||||
that you can yank the text), while the commands that remove just one
|
||||
character, or only remove blank lines and spaces, do deletion (so you
|
||||
cannot yank that text). <DEL> and C-d do deletion in the simplest
|
||||
case, with no argument. When given an argument, they kill instead.
|
||||
be reinserted in this way (you can, however, undo a deletion--see
|
||||
below). Reinsertion of killed text is called "yanking". (Think of it
|
||||
as yanking back, or pulling back, some text that was taken away.)
|
||||
Generally, the commands that can remove a lot of text kill the text
|
||||
(they are set up so that you can yank the text), while the commands
|
||||
that remove just one character, or only remove blank lines and spaces,
|
||||
do deletion (so you cannot yank that text). <DEL> and C-d do deletion
|
||||
in the simplest case, with no argument. When given an argument, they
|
||||
kill instead.
|
||||
|
||||
>> Move the cursor to the beginning of a line which is not empty.
|
||||
Then type C-k to kill the text on that line.
|
||||
|
@ -391,13 +393,12 @@ treats a numeric argument specially: it kills that many lines AND
|
|||
their contents. This is not mere repetition. C-u 2 C-k kills two
|
||||
lines and their newlines; typing C-k twice would not do that.
|
||||
|
||||
Reinserting killed text is called "yanking". (Think of it as yanking
|
||||
back, or pulling back, some text that was taken away.) You can yank
|
||||
the killed text either at the same place where it was killed, or at
|
||||
some other place in the text you are editing, or even in a different
|
||||
file. You can yank the same text several times; that makes multiple
|
||||
copies of it. Some other editors call killing and yanking "cutting"
|
||||
and "pasting" (see the Glossary in the Emacs manual).
|
||||
You can yank the killed text either at the same place where it was
|
||||
killed, or at some other place in the text you are editing, or even in
|
||||
a different file. You can yank the same text several times; that
|
||||
makes multiple copies of it. Some other editors call killing and
|
||||
yanking "cutting" and "pasting" (see the Glossary in the Emacs
|
||||
manual).
|
||||
|
||||
The command for yanking is C-y. It reinserts the last killed text,
|
||||
at the current cursor position.
|
||||
|
|
|
@ -14,8 +14,9 @@ META 键(有时候用 EDIT 或 ALT 来标示)。为了避免每次都要写
|
|||
先按一下 ESC 键然后放开,再输入 <chr>。我们用 <ESC> 来表示
|
||||
ESC 键。
|
||||
|
||||
重要提示:要退出 Emacs,请用 C-x C-c(两个连续的组合键)。下文中左边顶
|
||||
行的“>>”字样用来提示你尝试键盘命令。比如:
|
||||
重要提示:要退出 Emacs,请用 C-x C-c(两个连续的组合键)。
|
||||
要退出一个正在运行中的命令,请用 C-g。
|
||||
下文中左边顶行的“>>”字样用来提示你尝试键盘命令。比如:
|
||||
<<Blank lines inserted around following line by help-with-tutorial>>
|
||||
[本页当中特意留出一些空白是出于教学目的,请继续往后阅读]
|
||||
>> 现在输入 C-v (查看下一屏文字)移动到下一屏。
|
||||
|
@ -43,7 +44,9 @@ META、EDIT 或 ALT 键那么就先按 <ESC> 再按 v)。
|
|||
(注意是 CONTROL-L,不是 CONTROL-1)
|
||||
|
||||
>> 找到光标,留意其附近的文字,然后输入 C-l。
|
||||
找找光标在哪里,你会发现其附近的文字并没有变化。
|
||||
找找光标在哪里,你会发现其附近的文字与之前相同,位置却变为屏幕的中心。
|
||||
如果你再次输入 C-l ,附近的文字将移动到屏幕的顶端。再次输入 C-l ,
|
||||
文字将移动到底端。
|
||||
|
||||
如果你的键盘上有 PageUp 和 PageDn,也可以用这两个键来滚屏。不过使用
|
||||
C-v 和 M-v 的效率要更高一些。
|
||||
|
@ -78,8 +81,8 @@ P 代表 previous(上一行),N 代表 next(下一行),B 代表 backw
|
|||
>> 用 C-f 把光标移动到这一行,然后再用 C-p 往上挪。
|
||||
注意观察当光标在一行的中央时 C-p 命令的行为。
|
||||
|
||||
每行文字都以一个“换行符”结束,“换行符”把行与行区分开来。文件的最后
|
||||
一行也应该也有一个换行符(不过 Emacs 并不强制要求这一点)。
|
||||
每行文字都以一个“换行符”结束,“换行符”把行与行区分开来。(通常情况下,
|
||||
一个文件的最后一行会有一个换行符,但是 Emacs 不强制要求这一点。)
|
||||
|
||||
>> 在一行的行头输入 C-b。
|
||||
光标应该会移动到前一行的行尾,因为光标在回退过程中越过了换行符。
|
||||
|
@ -179,27 +182,20 @@ EDIT 或 ALT)键,那么还有另一种办法:按住 META 键不放,然
|
|||
标志――只要给出有一个前缀参数,不管其值为何,它都会改变命令的功能。
|
||||
|
||||
而 C-v 和 M-v 则属于另一种类型的例外。当给定一个参数时,它们将滚动你指
|
||||
定的“行数”,而不是“屏数”。举例来说,C-u 8 C-v 将屏幕向下滚动 8 行,
|
||||
而不是 8 屏。
|
||||
定的“行数”,而不是“屏数”。举例来说,C-u 8 C-v 将文本向下滚动 8 行。
|
||||
|
||||
>> 现在试试看,输入 C-u 8 C-v。
|
||||
|
||||
这个命令应该已经将文字向上滚动了 8 行。如果你想将它再次地向下滚动,你可
|
||||
以给定一个参数然后执行 M-v。
|
||||
|
||||
如果你正在使用一个窗口系统,比如 X11 或者微软的 Windows,那么在 Emacs
|
||||
窗口的边缘应该有一个长方形的区域叫“滚动条”,你可以用鼠标操纵滚动条来
|
||||
滚动文字。
|
||||
如果你正在使用图形界面,比如 X 或者微软的 Windows,那么在 Emacs窗
|
||||
口的一边应该有一个长方形的区域叫“滚动条”。你可以用鼠标操纵滚动条来滚动
|
||||
文字。
|
||||
|
||||
>> 试着在“滚动条内的反白区域”上按一下鼠标中键。
|
||||
文字应该会滚动到鼠标所指示的位置。
|
||||
如果你的鼠标有滚轮的话,你也可以使用滚轮来滚动。
|
||||
|
||||
>> 当按住中键时,试着将鼠标上下移动。
|
||||
你会看到文字随着鼠标的移动而上下滚动。
|
||||
【Windows 版本符合 Windows 程序的传统操作习惯,上述操作不适用。】
|
||||
|
||||
|
||||
* 在 EMACS 失去响应的时候(WHEN EMACS IS HUNG)
|
||||
* 如果 EMACS 失去响应(IF EMACS STOPS RESPONDING)
|
||||
-----------------------------------------------
|
||||
|
||||
如果 Emacs 对你的命令失去响应,你可以用 C-g 来安全地终止这条命令。C-g
|
||||
|
@ -234,7 +230,7 @@ C-g 还可以取消数字参数和只输入到一半的命令。
|
|||
* 窗格(WINDOWS)
|
||||
-----------------
|
||||
|
||||
Emacs 可以有多个窗格,每个窗格显示不同的文字。后面会介绍怎么对付多个窗
|
||||
Emacs 可以有多个“窗格”,每个窗格显示不同的文字。后面会介绍怎么对付多个窗
|
||||
格,现在我们先学会如何关掉多余的窗格。其实也很简单:
|
||||
|
||||
C-x 1 只保留一个窗格(也就是关掉其它所有窗格)。
|
||||
|
@ -244,49 +240,46 @@ Emacs 可以有多个窗格,每个窗格显示不同的文字。后面会介
|
|||
|
||||
>> 把光标移到本行然后输入 C-u 0 C-l。
|
||||
|
||||
>> 输入 CONTROL-h k CONTROL-f。观察当一个新窗格出现时当前窗格(用来显示
|
||||
CONTROL-f 命令的文档)是如何缩小的。
|
||||
>> 输入 C-h k C-f。观察当一个新窗格出现时当前窗格(用来显示
|
||||
C-f 命令的文档)是如何缩小的。
|
||||
|
||||
>> 输入 C-x 1 关掉文档窗格。
|
||||
|
||||
这个命令跟先前学过的命令不太一样,因为它包含了两个字符,以 CONTROL-x 开
|
||||
始。有一系列命令都是以 CONTROL-x 开始的,这些命令许多都跟“窗格、文件、
|
||||
缓冲区【缓冲区(buffer)会在后文详细介绍】”等等诸如此类的东西有关,其
|
||||
中有些命令可能包含了 2 个、3 个或者 4 个字符。
|
||||
有一系列命令是以 CONTROL-x 开始的,这些命令许多都跟“窗格、文件、缓冲区
|
||||
【缓冲区(buffer)会在后文详细介绍】”等等诸如此类的东西有关,其中有些
|
||||
命令可能包含了 2 个、3 个或者 4 个字符。
|
||||
|
||||
|
||||
* 插入与删除(INSERTING AND DELETING)
|
||||
--------------------------------------
|
||||
|
||||
插入文字很简单,直接敲键盘就可以了。你能看到的字符,比如 A、7、* 等等,
|
||||
都被 Emacs 视为文字并且可以直接插入。敲 <Return>(回车键)会插入一个换
|
||||
行符。
|
||||
插入文字很简单,直接敲键盘就可以了。普通的字符,比如 A、7、* 等等,会
|
||||
随着你的输入而插入。要插入一个换行符,输入 <Return>(这个键在键盘上有
|
||||
时会被标注成“Enter”)。
|
||||
|
||||
你可以用 <Delback> 来删除最后输入的一个字符,这个跟你在 Emacs 之外的用
|
||||
法应该一样。一般来说 <Delback> 就是位于 <Return> 键上方某处的一个大块头
|
||||
的键,通常被标示为“Delete”、“Del”或者“Backspace”。
|
||||
你可以用 <DEL> 来删除光标左边的字符,这个键通常被标注为“Backspace”――跟
|
||||
你在 Emacs 之外的用法应该一样,删除最后一个输入的字符。
|
||||
|
||||
如果你找到了“Backspace”键,那么它应该就是 <Delback>;这时哪怕你又在别
|
||||
的地方找到了一个“Del”键,那么它也应该不是 <Delback>。
|
||||
你的键盘上可能有另外一个键,标注着 <Delete>,但那个不是我们所说的 <DEL>。
|
||||
|
||||
一种更通用的说法是,<Delback> 将删除位于光标前的一个字符。
|
||||
|
||||
>> 现在就来试试――敲点字,然后按几下 <Delback> 删除它们。
|
||||
>> 现在就来试试――敲点字,然后按几下 <DEL> 删除它们。
|
||||
不用担心文件被修改,你做什么都没关系,这里就是专给你练习用的。
|
||||
|
||||
如果一行文字很长、超出了窗格的宽度,显示不下的部分会在紧邻的下一行继续
|
||||
显示。这时会有一个反斜线(在控制台下是反斜线,如果你用图形窗口系统,则
|
||||
应该是一个小小的转弯箭头)显示在右边沿,表明这是某一行的接续显示。
|
||||
显示。如果你使用的是图形界面,文本区域两边的狭窄区域(左右“边缘”)会出
|
||||
现小小的转弯箭头,表明这是某一行的接续显示。如果你使用的是文本终端,接
|
||||
续显示由屏幕最右边一列的一个反斜线来表示。
|
||||
|
||||
>> 输入文字,一直到屏幕的右边界,然后继续,你会看到一个接续行出现。
|
||||
>> 输入文字,一直到屏幕的右边界,然后继续。
|
||||
你会看到一个接续行出现。
|
||||
|
||||
>> 用 <Delback> 删掉一些文字,直到此行长度小于窗格宽度,接续行就消失了。
|
||||
>> 用 <DEL> 删掉一些文字,直到此行长度小于窗格宽度,接续行就消失了。
|
||||
|
||||
换行符跟其它字符一样可以被删除。两行中间的换行符被删除后,这两行将会合
|
||||
并成一行。如果合并后的这一行太长,超出了窗格宽度,它就会以一个接续行来
|
||||
显示。
|
||||
|
||||
>> 移动光标到某行的开头并输入 <Delback>。
|
||||
>> 移动光标到某行的开头并输入 <DEL>。
|
||||
这时该行将与其前一行一起被合并为一行。
|
||||
|
||||
>> 输入 <Return> 重新插入你刚才删除的换行符。
|
||||
|
@ -299,10 +292,10 @@ Emacs 可以有多个窗格,每个窗格显示不同的文字。后面会介
|
|||
好,现在你应该已经掌握了最基本的的文本插入和修改功能,其实删除还可以
|
||||
“以词为单位”进行,下面是一个关于“删除”操作的小结:
|
||||
|
||||
<Delback> 删除光标前的一个字符
|
||||
<DEL> 删除光标前的一个字符
|
||||
C-d 删除光标后的一个字符
|
||||
|
||||
M-<Delback> 移除光标前的一个词
|
||||
M-<DEL> 移除光标前的一个词
|
||||
M-d 移除光标后的一个词
|
||||
|
||||
C-k 移除从光标到“行尾”间的字符
|
||||
|
@ -311,29 +304,31 @@ Emacs 可以有多个窗格,每个窗格显示不同的文字。后面会介
|
|||
【可能你已经注意到了“删除(delete)”和“移除(kill)”的用词区别,后
|
||||
文会有详细说明。】
|
||||
|
||||
注意“<Delback> 和 C-d”还有“M-<Delback> 和 M-d”是根据前述惯例从 C-f
|
||||
和 M-f 衍生出来的(其实<Delback>不是控制字符,我们先忽略这一点)。C-k
|
||||
和 M-k 的关系在某种程度上与 C-e 和 M-e 一样――如果把“一行”和“一句”
|
||||
作一个类比的话。
|
||||
注意“<DEL> 和 C-d”还有“M-<DEL> 和 M-d”是根据前述惯例从 C-f和 M-f 衍生
|
||||
出来的(其实<DEL>不是控制字符,我们先忽略这一点)。C-k和 M-k 的关系在
|
||||
某种程度上与 C-e 和 M-e 一样――如果把“一行”和“一句”作一个类比的话。
|
||||
|
||||
你也可以用一种通用的办法来移除缓冲区里的任何一部分:首先把光标移动到你
|
||||
想要移除的区域的一端,然后按 C-@ 或 C-SPC(任一即可,SPC指空格)【注意,
|
||||
C-SPC 往往被中文用户设定成输入法热键,如果这样,C-SPC 就被系统拦截而无
|
||||
法传递给 Emacs 了,因此这里还是推荐使用C-@。】,然后将光标移动到另一端,
|
||||
再按 C-w 就可以把位于这两点之间的所有文字移除了。
|
||||
想要移除的区域的一端,然后按 C-<SPC>(<SPC>指空格)【注意,C-<SPC> 往
|
||||
往被中文用户设定成输入法热键,如果这样,C-<SPC> 就被系统拦截而无法传递
|
||||
给 Emacs 了,在这种情况下可以使用C-@。】,然后将光标移动到你准备移除的
|
||||
文字的另一端。这个时候, Emacs 会高亮光标和你按下 C-<SPC> 之间的文本。
|
||||
最后,按下 C-w 。这样就可以把位于这两点之间的所有文字移除了。
|
||||
|
||||
>> 移动光标到上一段开头的“你”字。
|
||||
>> 输入 C-@ 。Emacs 应该会在屏幕的下方显示一个“Mark set”的消息。
|
||||
>> 输入 C-<SPC> 。Emacs 应该会在屏幕的下方显示一个“Mark set”的消息。
|
||||
>> 移动光标到第二行中的“端”字。
|
||||
>> 输入 C-w,从“你”开始到“端”之前的文字被全部移除。
|
||||
|
||||
注意,“移除(kill)”和“删除(delete)”的不同在于被移除的东西可以找回
|
||||
来,而被删除的就不行了。【实际上,移除掉的东西虽然看起来“消失”了,但
|
||||
实际上被 Emacs 记录了下来,因此还可以找回来;而删除掉的东西虽然也可能还
|
||||
在内存里,但是已经被 Emacs“抛弃”了,所以就找不回来了。】重新插入被移
|
||||
除的文字称为“召回(yank)”。一般而言,那些可能消除很多文字的命令会把
|
||||
消除掉的文字记录下来(它们被设定成了“可召回”),而那些只消除一个字符
|
||||
或者只消除空白的命令就不会记录被消除的内容(自然你也就无法召回了)。
|
||||
注意,“移除(kill)”和“删除(delete)”的不同在于被移除的东西可以被重新
|
||||
插入(在任何位置),而被删除的就不能使用相同的方法重新插入了(不过可以
|
||||
通过撤销一个删除命令来做到,后文会提到)。【实际上,移除掉的东西虽然看
|
||||
起来“消失”了,但实际上被 Emacs 记录了下来,因此还可以找回来;而删除掉
|
||||
的东西虽然也可能还在内存里,但是已经被 Emacs“抛弃”了,所以就找不回来
|
||||
了。】重新插入被移除的文字称为“召回(yank)”。一般而言,那些可能消除很
|
||||
多文字的命令会把消除掉的文字记录下来(它们被设定成了“可召回”),而那些
|
||||
只消除一个字符或者只消除空白的命令就不会记录被消除的内容(自然你也就无
|
||||
法召回了)。
|
||||
|
||||
>> 移动光标到一非空白行的行头,然后输入 C-k 移除那一行上的文字。
|
||||
|
||||
|
@ -345,9 +340,10 @@ C-SPC 往往被中文用户设定成输入法热键,如果这样,C-SPC 就
|
|||
C-k 会把两行以及它们的换行符移除;而如果只是输入 C-k 两次显然不是这个结
|
||||
果。
|
||||
|
||||
将被移除的文字恢复的动作称为“召回(yanking)”。(就好像把别人从你身边
|
||||
重新插入被移除的文字恢复的动作称为“召回(yanking)”。(就好像把别人从你身边
|
||||
移走的东西又猛力地拉回来。)你可以在你删除文字的地方召回,也可以在别的
|
||||
地方召回,还可以多次召回同样的文字以得到它的多个拷贝。
|
||||
地方召回,还可以多次召回同样的文字以得到它的多个拷贝。很多其它的编辑器
|
||||
把移除和召回叫做“剪切”和“粘贴” (详情可见 Emacs 使用手册里的术语表)。
|
||||
|
||||
召回的命令是 C-y。它会在光标所在处插入你最后移除的文字。
|
||||
|
||||
|
@ -383,24 +379,23 @@ C-y 可以召回最近一次移除的内容,那如何召回前几次移除的
|
|||
* 撤销(UNDO)
|
||||
--------------
|
||||
|
||||
如果你修改了一段文字,又觉得改得不好,可以用 undo 命令进行撤销:
|
||||
C-x u。
|
||||
如果你修改了一段文字,又觉得改得不好,可以用 undo 命令进行撤销:C-/。
|
||||
|
||||
通常 C-x u 会消除一个命令所造成的所有改变;如果你在一行中连续多次地使用
|
||||
C-x u,你会把以前的命令也依次撤销。
|
||||
通常 C-/ 会消除一个命令所造成的所有改变;如果你在一行中连续多次地使用
|
||||
C-/,你会把以前的命令也依次撤销。
|
||||
|
||||
但是有两个例外:
|
||||
1) 没有改变文字的命令不算(包括光标移动命令和滚动命令)
|
||||
2) 从键盘输入的字符以组为单位――每组 20 个字符――来进行处理。
|
||||
(这是为了减少你在撤销“插入文字”动作时需要输入 C-x u 的次数)
|
||||
2) 从键盘输入的字符以组为单位――每组最多 20 个字符――来进行处理。
|
||||
(这是为了减少你在撤销“插入文字”动作时需要输入 C-/ 的次数)
|
||||
|
||||
>> 用 C-k 将这一行移除,然后输入 C-x u ,它会再次出现。
|
||||
>> 用 C-k 将这一行移除,然后输入 C-/ ,它会再次出现。
|
||||
|
||||
C-_ 也是撤销命令;它的作用跟 C-x u 一样,但是它比较容易多次输入。C-_ 的
|
||||
缺点是在某些键盘上可能不太容易按,这也正是我们同时提供 C-x u 的原因。在
|
||||
某些终端上,你可以按住 CONTROL 再按“/”来输入 C-_。
|
||||
C-_ 也是撤销命令;它的作用跟 C-/ 一样,但是它比较容易多次输入。在
|
||||
某些终端上,输入 C-/ 实际上向 Emacs 发送的是 C-_ 。
|
||||
另外, C-x u 和 C-/ 完全一样,但是按起来有些麻烦。
|
||||
|
||||
数字参数对于 C-_ 和 C-x u 的意义是执行撤销的重复次数。
|
||||
数字参数对于 C-/ 、 C-_ 和 C-x u 的意义是执行撤销的重复次数。
|
||||
|
||||
|
||||
* 文件(FILE)
|
||||
|
@ -416,14 +411,13 @@ C-_ 也是撤销命令;它的作用跟 C-x u 一样,但是它比较容易多
|
|||
文件也保存到计算机上。在存盘的时候,Emacs 会把存盘前的文件重命名保存,
|
||||
以防你改完之后又想反悔。
|
||||
|
||||
在屏幕的下方,你应该能够看到头尾都是短线“-”的一行,行首通常是一些诸如
|
||||
“--:-- TUTORIAL.cn”的文字,这些文字代表了你当前正在访问的文件。比如你
|
||||
现在正在访问的文件叫“TUTORIAL.cn”,它只是一个给你临时使用的拷贝。每当
|
||||
Emacs 寻找到一个文件,文件名就会出现在这个位置。
|
||||
在屏幕的下方,你应该能够看到头部有短线“-”的一行,行首通常是一些诸如“
|
||||
-:--- TUTORIAL.cn”的文字,这些文字代表了你当前正在访问的文件。比如你现
|
||||
在正在访问的文件是对 Emacs 快速指南的一份临时拷贝,叫做“TUTORIAL.cn”。
|
||||
每当Emacs 寻找到一个文件,文件名就会出现在这个位置。
|
||||
|
||||
寻找文件的命令有一个特点,那就是你必须给出文件名。我们称这个命令“从终
|
||||
端读入了一个参数”(在这里,这个参数显然就是文件名)。在你输入这条命令
|
||||
之后:
|
||||
寻找文件的命令有一个特点,那就是你必须给出文件名。我们称这个命令“读入
|
||||
了一个参数”(在这里,这个参数显然就是文件名)。在你输入这条命令之后:
|
||||
|
||||
C-x C-f 寻找一个文件
|
||||
|
||||
|
@ -437,10 +431,10 @@ Emacs 会提示你输入文件名。你输入的文件名会出现在屏幕最
|
|||
这会关掉小缓冲,同时也会取消使用小缓冲的 C-x C-f 命令。
|
||||
当然了,你也没有找任何文件。
|
||||
|
||||
用 <Return> 结束文件名的输入。这之后 C-x C-f 命令开始工作并找到你指定的
|
||||
文件。小缓冲在 C-x C-f 命令结束之后也会消失。
|
||||
用 <Return> 结束文件名的输入。之后,小缓冲会消失,C-x C-f 将会去寻找你
|
||||
指定的文件。小缓冲在 C-x C-f 命令结束之后也会消失。
|
||||
|
||||
眨眼间文件就被显示在屏幕上,你可以开始编辑了。存盘用这条命令:
|
||||
文件被显示在了屏幕上,你可以开始编辑了。存盘用这条命令:
|
||||
|
||||
C-x C-s 储存这个文件
|
||||
|
||||
|
@ -450,15 +444,16 @@ Emacs 会提示你输入文件名。你输入的文件名会出现在屏幕最
|
|||
M-x customize-variable <Return> make-backup-files <Return>】
|
||||
|
||||
存盘结束后,Emacs 会显示写入文件的文件名。你最好养成经常存盘的习惯,这
|
||||
可以减少系统崩溃和死机给你带来的损失。
|
||||
可以减少系统崩溃和死机给你带来的损失(也可参见下面的“自动保存”一节)。
|
||||
|
||||
>> 输入 C-x C-s 把本快速指南存下来。
|
||||
你会在屏幕的下方看到一条消息:“Wrote ...TUTORIAL.cn”。
|
||||
>> 输入 C-x C-s TUTORIAL.cn <Return> 。
|
||||
这将会把该指南保存为一个名为 TUTORIAL.cn 的文件,并且在屏幕的下方显
|
||||
示一条消息:“Wrote ...TUTORIAL.cn”。
|
||||
|
||||
你不但可以寻找一个已有的文件来查看或编辑,还可以寻找一个不存在的文件。
|
||||
实际上这正是 Emacs 创建新文件的方法:找到不存在的新文件。只有在存盘的时
|
||||
候,Emacs 才会真正创建这个文件。而在这之后的一切就跟编辑一个已有文件没
|
||||
有区别了。
|
||||
实际上这正是 Emacs 创建新文件的方法:找到不存在的新文件。事实上,只有
|
||||
在存盘的时候,Emacs 才会真正创建这个文件。而在这之后的一切就跟编辑一个
|
||||
已有文件没有区别了。
|
||||
|
||||
|
||||
* 缓冲区(BUFFER)
|
||||
|
@ -468,10 +463,6 @@ Emacs 会提示你输入文件名。你输入的文件名会出现在屏幕最
|
|||
切回第一个文件,一种办法是再用一次 C-x C-f。这样,你就可以在 Emacs 中同
|
||||
时打开多个文件。
|
||||
|
||||
>> 用 C-x C-f foo <Return> 的方式建立一个名为“foo”的文件。
|
||||
输入一些文字,再用 C-x C-s 保存文件“foo”。
|
||||
最后,输入 C-x C-f TUTORIAL.cn <Return> 回到这里。
|
||||
|
||||
Emacs 把每个编辑中的文件都放在一个称为“缓冲区(buffer)”的地方。每寻
|
||||
找到一个文件,Emacs 就在其内部开辟一个缓冲区。用下面的命令可以列出当前
|
||||
所有的缓冲区:
|
||||
|
@ -490,24 +481,28 @@ Emacs 把每个编辑中的文件都放在一个称为“缓冲区(buffer)
|
|||
C-x C-f 是一种办法。不过还有一个更简单的办法,那就是用 C-x b。用这条命
|
||||
令,你必须输入缓冲区的名称。
|
||||
|
||||
>> 输入 C-x b foo <Return> 以回到文件“foo”的缓冲区。
|
||||
>> 通过输入 C-x C-f foo <Return> 创建一个名为“foo”的文件。
|
||||
然后输入 C-x b TUTORIAL.cn <Return> 回到这里。
|
||||
|
||||
大多数情况下,缓冲区与跟其对应的文件是同名的(不包括目录名),不过这也
|
||||
不是绝对的。用 C-x C-b 得到的缓冲区列表总是显示缓冲区名。
|
||||
|
||||
你在 Emacs 窗格里看到的“任何”文字都一定属于某个缓冲区。然而,缓冲区未
|
||||
必有对应文件:比如显示缓冲区列表的缓冲区就是这样。再比如“*Messages*”
|
||||
缓冲区也没有对应文件,这个缓冲区里存放的都是在 Emacs 底部出现的消息。
|
||||
缓冲区未必有对应文件。显示缓冲区列表的缓冲区(叫做“*Buffer List*”)就
|
||||
是这样。这个 TUTORIAL.cn 缓冲区起初没有对应的文件,但是现在有了,因为
|
||||
在前一节你输入了 C-x C-s , 将它保存成了一个文件。
|
||||
|
||||
“*Messages*”缓冲区也没有对应文件,这个缓冲区里存放的都是在 Emacs 底部
|
||||
出现的消息。
|
||||
|
||||
>> 输入 C-x b *Messages* <Return> 瞅瞅消息缓冲区里都有什么东西。
|
||||
然后再输入 C-x b TUTORIAL.cn <Return> 回到这里。
|
||||
|
||||
如果你对某个文件做了些修改,然后切换到另一个文件,这个动作并不会帮你把
|
||||
前一个文件存盘。对第一个文件的修改仍然仅存在于 Emacs 中,也就是在它对应
|
||||
的缓冲区里。并且,对第二个文件的修改也不会影响到第一个文件。这很有用,
|
||||
但是也挺麻烦:因为如果你想要存储第一个文件,还需要先 C-x C-f 切换回去再
|
||||
用 C-x C-s 存盘。你需要一个更简便的方法,而 Emacs 已经为你准备好了:
|
||||
前一个文件存盘。对第一个文件的修改仍然仅存在于 Emacs 中,也就是在它对
|
||||
应的缓冲区里。并且,对第二个文件的修改也不会影响到第一个文件。这很有用,
|
||||
但也意味着你需要一个简便的办法来保存第一个文件的缓冲区。先切换回那个缓
|
||||
冲区,再用 C-x C-s 存盘,太麻烦了。你需要一个更简便的方法,而 Emacs 已
|
||||
经为你准备好了:
|
||||
|
||||
C-x s 保存多个缓冲区
|
||||
|
||||
|
@ -532,21 +527,18 @@ Emacs 的命令就像天上的星星,数也数不清。把它们都对应到 C
|
|||
很多扩展命令都相当有用,虽然与你已经学过的命令比起来,他们可能不那么常
|
||||
用。我们早已经见过一些扩展命令了,比如用 C-x C-f 寻找文件和用 C-x C-s
|
||||
保存文件;退出 Emacs 用的 C-x C-c 也是扩展命令。(不用担心退出 Emacs 会
|
||||
给你带来什么损失,Emacs 会在退出之前提醒你存盘的)
|
||||
给你带来什么损失,Emacs 会在退出之前提醒你存盘的。)
|
||||
|
||||
在控制台下,C-z 可以暂时离开 Emacs――当然,你还可以再回来。
|
||||
如果你使用图形界面,你不需要任何特殊的命令来切换 Emacs 和其他应用程序。
|
||||
你可以使用鼠标或者窗口管理器的命令。然而,如果你使用只能同时显示一个应
|
||||
用程序的文本终端,你需要“挂起” Emacs ,以切换到其他的应用程序。
|
||||
|
||||
在允许 C-z 的系统中,C-z 会把 Emacs“挂起”,也就是说,它会回到 shell
|
||||
但不退出 Emacs。在常用的 shell 中,通常可以用“fg”或者“%emacs”命令再
|
||||
次回到 Emacs 中。
|
||||
C-z 可以暂时离开 Emacs――当然,你还可以再回来。在允许 C-z 的系统中,C-z
|
||||
会把 Emacs“挂起”,也就是说,它会回到 shell但不杀死 Emacs 的进程。在常
|
||||
用的 shell 中,通常可以用“fg”或者“%emacs”命令再次回到 Emacs 中。
|
||||
|
||||
在没有提供挂起功能的系统中,C-z 会在 Emacs 之下创建一个子 shell 来让你
|
||||
运行其它程序,并且再次“回到”Emacs 中――虽然我们并没有真正离开过。这
|
||||
种情况下,通常用 shell 命令“exit”从子 shell 回到 Emacs。
|
||||
|
||||
你最好在打算退出登陆的时候再用 C-x C-c。在 Emacs 被诸如邮件处理程序之类
|
||||
的外部程序调用之后,也可以用 C-x C-c 退出。不过一般来讲,如果你不想退出
|
||||
登录,最好还是把 Emacs 挂起而不是退出。
|
||||
你最好在打算退出登陆的时候再用 C-x C-c。在把 Emacs 当做一个临时的编辑
|
||||
器的时候(比如被一个邮件处理程序调用),也可以用 C-x C-c 退出。
|
||||
|
||||
C-x 的扩展命令有很多,下面列出的是你已经学过的:
|
||||
|
||||
|
@ -557,11 +549,11 @@ C-x 的扩展命令有很多,下面列出的是你已经学过的:
|
|||
C-x 1 关掉其它所有窗格,只保留一个。
|
||||
C-x u 撤销。
|
||||
|
||||
用命令名扩展的命令通常并不常用,或只用在部分模式下。比如 replace-string
|
||||
(字符串替换)这个命令,它会在全文范围内把一个字符串替换成另一个。在输
|
||||
入 M-x 之后,Emacs 会在屏幕底端向你询问并等待你输入命令名。如果你想输入
|
||||
“replace-string”,其实只需要敲“repl s<TAB>”就行了,Emacs 会帮你自动
|
||||
补齐。输入完之后按 <Return> 。
|
||||
用命令名扩展的命令通常并不常用,或只用在部分模式下。比如
|
||||
replace-string(字符串替换)这个命令,它会把一个字符串替换成另一个。在
|
||||
输入 M-x 之后,Emacs 会在屏幕底端向你询问并等待你输入命令名。如果你想
|
||||
输入“replace-string”,其实只需要敲“repl s<TAB>”就行了,Emacs 会帮你自
|
||||
动补齐。输入完之后按 <Return> 提交。
|
||||
|
||||
字符串替换命令需要两个参数――被替换的字符串和用来替换它的字符串。每个
|
||||
参数的输入都以换行符来结束。
|
||||
|
@ -586,8 +578,8 @@ C-x 的扩展命令有很多,下面列出的是你已经学过的:
|
|||
“#hello.c#”。这个文件会在正常存盘之后被 Emacs 删除。
|
||||
|
||||
所以,假如不幸真的发生了,你大可以从容地打开原来的文件(注意不是自动保
|
||||
存文件)然后输入 M-x recover file<Return> 来恢复你的自动保存文件。在提
|
||||
示确认的时候,输入 yes<Return>。
|
||||
存文件)然后输入 M-x recover file <Return> 来恢复你的自动保存文件。在
|
||||
提示确认的时候,输入 yes<Return>。
|
||||
|
||||
|
||||
* 回显区(ECHO AREA)
|
||||
|
@ -602,7 +594,7 @@ C-x 的扩展命令有很多,下面列出的是你已经学过的:
|
|||
|
||||
位于回显区正上方的一行被称为“状态栏”。状态栏上会显示一些信息,比如:
|
||||
|
||||
--:** TUTORIAL.cn (Fundamental)--L670--54%----------------
|
||||
-:**- TUTORIAL.cn 63% L749 (Fundamental)
|
||||
|
||||
状态栏显示了 Emacs 的状态和你正在编辑的文字的一些信息。
|
||||
|
||||
|
@ -631,7 +623,7 @@ Emacs 的主模式林林总总。有用来编辑程序代码的――比如 Lisp
|
|||
|
||||
编辑自然语言文本――比如现在――应该用 Text 模式。
|
||||
|
||||
>> 输入 M-x text mode<Return>。
|
||||
>> 输入 M-x text-mode <Return>。
|
||||
|
||||
别担心,什么都没变。不过细心一些可以发现,M-f 和 M-b 现在把单引号(')
|
||||
视为词的一部分了。而在先前的 Fundamental 模式中,M-f 和 M-b 都将单引号
|
||||
|
@ -643,7 +635,8 @@ Emacs 里得到了很好的体现】
|
|||
|
||||
用 C-h m 可以查看当前主模式的文档。
|
||||
|
||||
>> 用 C-u C-v 将本行带到屏幕的最上方。
|
||||
>> 把光标移动到下一行。
|
||||
>> 用 C-l C-l 将本行带到屏幕的最上方。
|
||||
>> 输入 C-h m,看看 Text 模式与 Fundamental 模式有哪些不同。
|
||||
>> 输入 C-x 1 关掉文档窗格。
|
||||
|
||||
|
@ -655,12 +648,12 @@ mode)存在。辅模式并不能替代主模式,而是提供一些辅助的
|
|||
有一个叫做自动折行(Auto Fill)的辅模式很有用,特别是在编辑自然语言文本
|
||||
的时候。启用自动折行后,Emacs 会在你打字超出一行边界时自动替你换行。
|
||||
|
||||
用 M-x auto fill mode<Return> 启动自动折行模式。再用一次这条命令,自动
|
||||
折行模式会被关闭。也就是说,如果自动折行模式没有被开启,这个命令会开启
|
||||
它;如果已经开启了,这个命令会关闭它。所以我们说,这个命令可以用来“开
|
||||
关(toggle)”模式。
|
||||
用 M-x auto-fill-mode <Return> 启动自动折行模式。再用一次这条命令,自
|
||||
动折行模式会被关闭。也就是说,如果自动折行模式没有被开启,这个命令会开
|
||||
启它;如果已经开启了,这个命令会关闭它。所以我们说,这个命令可以用来
|
||||
“开关(toggle)”模式。
|
||||
|
||||
>> 现在输入 M-x auto fill mode<Return>。然后随便敲点什么,直到你看到它
|
||||
>> 现在输入 M-x auto-fill-mode <Return>。然后随便敲点什么,直到你看到它
|
||||
分成两行。你必须敲一些空格,因为 Auto Fill 只在空白处进行断行。
|
||||
【输入空格对英文来说是必须的,而对中文则不必。】
|
||||
|
||||
|
@ -680,12 +673,11 @@ mode)存在。辅模式并不能替代主模式,而是提供一些辅助的
|
|||
* 搜索(SEARCHING)
|
||||
-------------------
|
||||
|
||||
Emacs 可以向前或向后搜索字符串。搜索命令是一个移动光标的命令:搜索成功
|
||||
后,光标会停留在搜索目标出现的地方。
|
||||
Emacs 可以向前或向后搜索字符串(“字符串”指的是一组连续的字符)。搜索命
|
||||
令是一个移动光标的命令:搜索成功后,光标会停留在搜索目标出现的地方。
|
||||
|
||||
Emacs 的搜索命令的独特之处在于,它是“渐进的(incremental)”。意思是搜
|
||||
索与输入同时进行:你在键盘上一字一句地输入搜索词的过程中,Emacs 就已经
|
||||
开始替你搜索了。
|
||||
Emacs 的搜索命令是“渐进的(incremental)”。意思是搜索与输入同时进行:
|
||||
你在键盘上一字一句地输入搜索词的过程中,Emacs 就已经开始替你搜索了。
|
||||
|
||||
C-s 是向前搜索,C-r 是向后搜索。不过手别这么快!别着急试。
|
||||
|
||||
|
@ -696,7 +688,7 @@ C-s 是向前搜索,C-r 是向后搜索。不过手别这么快!别着急试
|
|||
慢慢输入“cursor”这个词,每敲一个字都停顿一下并观察光标。
|
||||
现在你应该已曾经找到“cursor”这个词了。
|
||||
>> 再按一次 C-s,搜索下一个“cursor”出现的位置。
|
||||
>> 现在按四次退格键,看看光标是如何移动的。
|
||||
>> 现在按四次 <DEL> ,看看光标是如何移动的。
|
||||
>> 敲 <Return> 结束搜索。
|
||||
|
||||
看仔细了么?在一次渐进式搜索中,Emacs 会尝试跳到搜索目标出现的位置。要
|
||||
|
@ -705,19 +697,14 @@ C-s 是向前搜索,C-r 是向后搜索。不过手别这么快!别着急试
|
|||
现 C-g 会让光标回到搜索开始的位置,而 <Return> 则让光标留在搜索结果上,
|
||||
这是很有用的功能。】
|
||||
|
||||
注意:在某些终端下,输入 C-x C-s 会冻结屏幕【屏幕没有任何输出】,使你看
|
||||
不到 Emacs 的任何变化。其原因是操作系统的“流量控制”功能拦截了 C-s 并
|
||||
冻结了屏幕。用 C-q 可以解除屏幕冻结。要解决这个问题,请参考 Emacs 手册
|
||||
里的“Spontaneous Entry to Incremental Search”一节【Emacs 手册可能还没
|
||||
有中文翻译】,那里提供了一些有用的建议。
|
||||
在渐进式搜索中,按 <DEL> 会“撤回”到最近一次搜索的命中位置。如果之前没
|
||||
有一个命中, <DEL> 会抹去搜索字符串中的最后一个字符。比如你已经输入了
|
||||
“c”,光标就停在“c”第一次出现的位置,再输入“u”,光标停在“cu”第一次出现
|
||||
的位置,这时再按 <DEL> ,“u”就从搜索字串中消失了,然后光标会回到“c”第
|
||||
一次出现的位置。
|
||||
|
||||
在渐进式搜索中,按退格键会删除目标字符串的最后一个字符,并且光标会回到
|
||||
最近一次搜索的命中位置。比如你已经输入了“c”,光标就停在“c”第一次出
|
||||
现的位置,再输入“u”,光标停在“cu”第一次出现的位置,这时再按退格键,
|
||||
“u”就从搜索字串中消失了,然后光标会回到“c”第一次出现的位置。
|
||||
|
||||
另外,如果你在搜索的时候输入了 CONTROL 或者 META 组合键的话,搜索可能会
|
||||
结束。(也有例外,比如 C-s 和 M-r 这些用于搜索的命令。)
|
||||
另外,如果你在搜索的时候输入了 control 或者 meta 组合键的话,搜索可能会
|
||||
结束。(也有例外,比如 C-s 和 C-r 这些用于搜索的命令。)
|
||||
|
||||
前面说的都是“向下”搜索,如果想“向上”搜索,可以用 C-r。C-r 与 C-s
|
||||
相比除了搜索方向相反之外,其余的操作都一样。
|
||||
|
@ -728,7 +715,7 @@ C-s 是向前搜索,C-r 是向后搜索。不过手别这么快!别着急试
|
|||
|
||||
Emacs 的迷人之处很多,能够在屏幕上同时显示多个窗格就是其中之一。
|
||||
|
||||
>> 移动光标到这一行,然后输入 C-u 0 C-l。
|
||||
>> 移动光标到这一行,然后输入 C-l C-l。
|
||||
|
||||
>> 现在输入 C-x 2,它会将屏幕划分成两个窗格。
|
||||
这两个窗格里显示的都是本篇快速指南,而光标则停留在上方的窗格里。
|
||||
|
@ -746,18 +733,17 @@ Emacs 的迷人之处很多,能够在屏幕上同时显示多个窗格就是
|
|||
>> 再输入 C-x o 将光标移回到上方的窗格里。
|
||||
光标会回到它在上方窗格中原本所在的位置。
|
||||
|
||||
连续使用 C-x o 可以遍历所有窗格。每一个窗格都有它自己的光标位置,但是只
|
||||
有一个窗格会真正显示这个光标。【其它窗格在控制台下不会显示光标,在图形
|
||||
窗口下缺省显示为镂空光标。】一般所有的编辑命令都作用于这个光标所在的窗
|
||||
格,我们称这个窗格为“被选中的窗格”。
|
||||
连续使用 C-x o 可以遍历所有窗格。“被选中的窗格”,也就是绝大多数的编辑
|
||||
操作所发生的地方,是在你不打字时闪烁光标的那个窗格。其他的窗格有它们自
|
||||
己的光标位置; 如果你在图形界面下运行 Emacs ,这些光标是镂空的长方形。
|
||||
|
||||
当你在一个窗格中编辑,但用另一个窗格作为参考的时候,C-M-v 是很有用的命
|
||||
令。你可以始终处于编辑窗格中,然后用 C-M-v 命令滚动另外一个窗格。【比如
|
||||
翻译和校对就很适合用这种方式进行。】
|
||||
令。无需离开被选中的窗格,你就可以用 C-M-v 命令滚动另外一个窗格中的文
|
||||
字。【比如翻译和校对就很适合用这种方式进行。】
|
||||
|
||||
C-M-v 是一个 CONTROL-META 组合键。如果你有 META 键的话,可以同时按住
|
||||
CONTROL 和 META 键并输入 v。CONTROL 和 META 键先按哪个都可以,因为它们
|
||||
只是用来“修饰(modify)”你输入的字符的。
|
||||
C-M-v 是一个 CONTROL-META 组合键。如果你有 META (或 Alt)键的话,可以
|
||||
同时按住CONTROL 和 META 键并输入 v。CONTROL 和 META 键先按哪个都可以,
|
||||
因为它们只是用来“修饰(modify)”你输入的字符的。
|
||||
|
||||
如果你并没有 META 键,你也可以用 ESC 来代替,不过这样的话就要注意按键顺
|
||||
序了:你必须先输入 ESC ,然后再输入 CONTROL-v。CONTROL-ESC v 是没用的,
|
||||
|
@ -779,6 +765,26 @@ CONTROL 和 META 键并输入 v。CONTROL 和 META 键先按哪个都可以,
|
|||
>> 输入 C-x o 回到上方的窗格,然后再用 C-x 1 关掉下方窗格。
|
||||
|
||||
|
||||
* 多窗口(MULTIPLE FRAMES)
|
||||
------------------
|
||||
|
||||
Emacs 可以创建多个窗口。窗口由许多窗格以及菜单、滚动条、回显区等组成。
|
||||
在图形界面下,多个窗口可以同时显示出来。在文本终端中,只能同时显示一个
|
||||
窗口。
|
||||
|
||||
>> 输入 M-x make-frame <Return>。
|
||||
可以看到一个新的窗口出现在了你的屏幕上。
|
||||
|
||||
你可以在新的窗口里做最初的窗口里可以做的任何事情。第一个窗口没有什么特
|
||||
别的。
|
||||
|
||||
>> 输入 M-x delete-frame <Return>.
|
||||
这个命令将会关闭选中的窗口。
|
||||
|
||||
你也可以通过图形系统来关闭某个窗口(通常是在窗口上面的某个角落里的一个
|
||||
“X”按钮)。如果你关闭的是 Emacs 进程的最后一个窗口, Emacs 将会退出。
|
||||
|
||||
|
||||
* 递归编辑(RECURSIVE EDITING LEVELS)
|
||||
--------------------------------------
|
||||
|
||||
|
@ -810,9 +816,7 @@ CONTROL 和 META 键并输入 v。CONTROL 和 META 键先按哪个都可以,
|
|||
么帮助。如果你连自己到底需要什么帮助都不知道,那么就输入 C-h ?,Emacs
|
||||
会告诉你它能提供了哪些帮助。如果你按了 C-h 又想反悔,可以用 C-g 取消。
|
||||
|
||||
(有些主机改变了 C-h 的意义,这种以己度人外加一刀切的做法确实不太好,不
|
||||
过倒是让你可以义正辞严地抱怨他们的系统管理员。话说回来,如果你按 C-h 之
|
||||
后没有任何帮助信息显示出来,那么试试 F1 键或者 M-x help <Return> 。)
|
||||
(如果你按 C-h 之后没有任何帮助信息显示出来,那么试试 F1 键或者 M-x help <Return> 。)
|
||||
|
||||
最基本的帮助功能是 C-h c。输入 C-h c 之后再输入一个组合键,Emacs 会给出
|
||||
这个命令的简要说明。
|
||||
|
@ -823,9 +827,9 @@ CONTROL 和 META 键并输入 v。CONTROL 和 META 键先按哪个都可以,
|
|||
|
||||
C-p runs the command previous-line
|
||||
|
||||
这条消息显示了 C-p 命令对应的函数名,函数名主要用来定制和扩展 Emacs。命
|
||||
令的功能由函数完成,所以函数名本身也可以被看成是最简单的文档――至少对
|
||||
于你已经学过的命令来说,它们的函数名足以解释它们的功能了。
|
||||
这条消息显示了 C-p 命令对应的函数名。命令的功能由函数完成,所以函数名
|
||||
本身也可以被看成是最简单的文档――至少对于你已经学过的命令来说,它们的函
|
||||
数名足以解释它们的功能了。
|
||||
|
||||
多字符命令一样可以用 C-h c 来查看。
|
||||
|
||||
|
@ -841,7 +845,7 @@ CONTROL 和 META 键并输入 v。CONTROL 和 META 键先按哪个都可以,
|
|||
|
||||
C-h f 解释一个函数。需要输入函数名。
|
||||
|
||||
>> 试试看,输入 C-h f previous-line<Return>。
|
||||
>> 试试看,输入 C-h f previous-line <Return>。
|
||||
Emacs 会给出它所知道的所有有关“实现 C-p 命令功能的函数”的信息。
|
||||
|
||||
C-h v 用来显示 Emacs 变量的文档。Emacs 变量可以被用来“定制 Emacs 的行
|
||||
|
@ -852,7 +856,7 @@ C-h v 用来显示 Emacs 变量的文档。Emacs 变量可以被用来“定制
|
|||
的命令。这些命令全都可以用 M-x 来启动。对于某些命令来说,
|
||||
相关命令搜索还会列出一两个组合键。
|
||||
|
||||
>> 输入 C-h a file<Return>。
|
||||
>> 输入 C-h a file <Return>。
|
||||
|
||||
Emacs 会在另一个窗格里显示一个 M-x 命令列表,这个列表包含了所有名称中含
|
||||
有“file”的命令。你可以看到像“C-x C-f”这样的组合键显示在“find-file”
|
||||
|
@ -862,7 +866,7 @@ Emacs 会在另一个窗格里显示一个 M-x 命令列表,这个列表包含
|
|||
|
||||
>> 输入 C-x 1 来删除 help 窗格。
|
||||
|
||||
C-h i 阅读联机手册(也就是通常讲的 Info)。
|
||||
C-h i 阅读手册(也就是通常讲的 Info)。
|
||||
这个命令会打开一个称为“*info*”的特殊缓冲区,在那里,
|
||||
你可以阅读安装在系统里的软件包使用手册。要读 Emacs 的使
|
||||
用手册,按 m emacs <Return> 就可以了。如果你之前从没用
|
||||
|
@ -875,18 +879,19 @@ Emacs 会在另一个窗格里显示一个 M-x 命令列表,这个列表包含
|
|||
---------------------------
|
||||
|
||||
想学习更多的使用技巧,Emacs 使用手册(manual)值得一读。你可以读纸版的
|
||||
书,也可以看电子版的联机手册(可以从 Help 菜单进入或者按 F10 h r)。提
|
||||
两个你可能会很感兴趣的功能吧,一个是可以帮你少敲键盘的 completion(自动
|
||||
补全),另一个是方便文件处理的 dired(目录编辑)。
|
||||
书,也可以在 Emacs 中读(可以从 Help 菜单进入或者按 C-h r)。提两个你
|
||||
可能会很感兴趣的功能吧,一个是可以帮你少敲键盘的 completion(自动补全),
|
||||
另一个是方便文件处理的 dired(目录编辑)。
|
||||
|
||||
Completion 可以替你节省不必要的键盘输入。比如说你想切换到 *Message* 缓
|
||||
冲区,你就可以用 C-x b *M<Tab> 来完成。只要 Emacs 能够根据你已经输入的
|
||||
文字确定你想要输入的内容,它就会自动帮你补齐。有关 Completion 的详细说
|
||||
明可以在 Emacs Info 中的“Completion”一节里找到。
|
||||
文字确定你想要输入的内容,它就会自动帮你补齐。Completion 也可用于命令
|
||||
名和文件名。有关 Completion 的详细说明可以在 Emacs Info 中的
|
||||
“Completion”一节里找到。
|
||||
|
||||
Dired 能够在一个缓冲区里列出一个目录下的所有文件(可以选择是否也列出子
|
||||
目录),然后你可以在这个文件列表上完成对文件的移动、访问、重命名或删除
|
||||
等等操作。Dired 也在 Emacs Info 中有详细介绍,参见“Dired”一节。
|
||||
等等操作。Dired 也在 Emacs 使用手册中有详细介绍,参见“Dired”一节。
|
||||
|
||||
Emacs 使用手册里还有许许多多的精彩功能等着你来了解。
|
||||
|
||||
|
@ -894,8 +899,7 @@ Emacs 使用手册里还有许许多多的精彩功能等着你来了解。
|
|||
* 总结(CONCLUSION)
|
||||
--------------------
|
||||
|
||||
记住,要退出 Emacs 请用 C-x C-c。要暂时切换到 shell 并且稍后再回到
|
||||
Emacs 里来,请用 C-z。【切换到 shell 仅对控制台下的 Emacs 有效】
|
||||
要退出 Emacs 请用 C-x C-c。
|
||||
|
||||
本文完全是为零起点新手所写的起步教程。如果你觉得哪里还看不明白,千万不
|
||||
要怀疑自己,那一定是我们没有写好。我们永远欢迎你的不满和抱怨。
|
||||
|
@ -905,6 +909,7 @@ Emacs 里来,请用 C-z。【切换到 shell 仅对控制台下的 Emacs 有
|
|||
---------------------
|
||||
|
||||
翻译:孙一江 <sunyijiang@gmail.com>
|
||||
维护:薛富侨 <xfq.free@gmail.com>
|
||||
校对:水木社区(www.newsmth.net)Emacs 板众多网友及众多 Emacs 中文用户
|
||||
|
||||
Emacs 快速指南(Tutorial)早有两个刘昭宏的中文译本,繁简各一。其简体版本
|
||||
|
@ -915,11 +920,11 @@ Emacs 快速指南(Tutorial)早有两个刘昭宏的中文译本,繁简各
|
|||
的译文质量很高,在翻译过程中给予过我们许多借鉴和参考,在此对刘昭宏的工作
|
||||
表示感谢。
|
||||
|
||||
翻译过程中最大的挑战莫过于术语译词的选择了。经过水木社区 Emacs 板热心网
|
||||
友小范围内的讨论,我们选择了现在的译法。用户的广泛参与是自由软件生命力
|
||||
的源泉,所以如果你有任何建议、勘误或想法,请用你喜欢的方式向我们提出。
|
||||
你可以通过电子邮件直接联系译者,也可以放到 GNU Emacs 的开发邮件列表或者
|
||||
水木社区的 Emacs 板上进行讨论。
|
||||
翻译过程中最大的挑战莫过于术语译词的选择了。经过水木社区 Emacs 板热心
|
||||
网友小范围内的讨论,我们选择了现在的译法。用户的广泛参与是自由软件生命
|
||||
力的源泉,所以如果你有任何建议、勘误或想法,请用你喜欢的方式向我们提出。
|
||||
你可以通过电子邮件直接联系维护者,也可以放到 GNU Emacs 的开发邮件列表
|
||||
或者水木社区的 Emacs 板上进行讨论。
|
||||
|
||||
下面列出主要术语的译词对照,并给出注释说明:
|
||||
|
||||
|
@ -941,6 +946,8 @@ Emacs 快速指南(Tutorial)早有两个刘昭宏的中文译本,繁简各
|
|||
search 搜索
|
||||
incremental search 渐进式搜索 [3]
|
||||
|
||||
对于其他没有提到的术语,读者可以参考 Emacs 使用手册里的术语表。
|
||||
|
||||
[1] “window”一词在计算机相关的领域一般都被译为“窗口”。但是在 Emacs
|
||||
中,还有一个“frame”的概念。在被广泛使用的 X 窗口系统和微软的视窗
|
||||
(Windows)系列操作系统中,Emacs 的一个“frame”就是一个“窗口”,因
|
||||
|
@ -977,46 +984,56 @@ Emacs 快速指南(Tutorial)早有两个刘昭宏的中文译本,繁简各
|
|||
This tutorial descends from a long line of Emacs tutorials
|
||||
starting with the one written by Stuart Cracraft for the original Emacs.
|
||||
|
||||
This version of the tutorial, like GNU Emacs, is copyrighted, and
|
||||
comes with permission to distribute copies on certain conditions:
|
||||
This version of the tutorial is a part of GNU Emacs. It is copyrighted
|
||||
and comes with permission to distribute copies on certain conditions:
|
||||
|
||||
Copyright (C) 1985, 1996, 1998, 2001-2013 Free Software Foundation, Inc.
|
||||
Copyright (C) 1985, 1996, 1998, 2001-2013 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
Permission is granted to anyone to make or distribute verbatim copies
|
||||
of this document as received, in any medium, provided that the
|
||||
copyright notice and permission notice are preserved,
|
||||
and that the distributor grants the recipient permission
|
||||
for further redistribution as permitted by this notice.
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
Permission is granted to distribute modified versions
|
||||
of this document, or of portions of it,
|
||||
under the above conditions, provided also that they
|
||||
carry prominent notices stating who last altered them.
|
||||
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
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
The conditions for copying Emacs itself are more complex, but in the
|
||||
same spirit. Please read the file COPYING and then do give copies of
|
||||
GNU Emacs to your friends. Help stamp out software obstructionism
|
||||
("ownership") by using, writing, and sharing free software!
|
||||
GNU Emacs is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Please read the file COPYING and then do give copies of GNU Emacs to
|
||||
your friends. Help stamp out software obstructionism ("ownership") by
|
||||
using, writing, and sharing free software!
|
||||
|
||||
【下面为版权声明的译文,仅供参考。实际法律效力以英文原文为准。】
|
||||
|
||||
本快速指南沿袭自历史悠久的 Emacs 快速指南,可上溯至 Stuart Cracraft 为最
|
||||
初的 Emacs 所作的版本。
|
||||
|
||||
本篇文档与 GNU Emacs 一样拥有版权,并允许在下列条件的约束下发行其拷贝:
|
||||
本篇指南是 GNU Emacs 的一部分,并允许在下列条件的约束下发行其拷贝:
|
||||
|
||||
Copyright (C) 1985, 1996, 1998, 2001-2013 Free Software Foundation, Inc.
|
||||
Copyright (C) 1985, 1996, 1998, 2001-2013 Free Software Foundation,
|
||||
Inc.
|
||||
|
||||
本文档允许在不变更文档内容的情况下由任何人发布在任何媒体上,同时必须
|
||||
完整保留版权和许可声明,且需给予受众与发行者完全相同的、如本声明所允
|
||||
许的再次发行本文档的权利。
|
||||
本文件为 GNU Emacs 的一部分。
|
||||
|
||||
本声明允许在与上述条件相同的情况下发布经过修改的全部或部分文档,同时
|
||||
必须附带显要的文字以申明文档的最后修改者。
|
||||
GNU Emacs 为自由软件;您可依据自由软件基金会所发表的GNU通用公共授权
|
||||
条款,对本程序再次发布和/或修改;无论您依据的是本授权的第三版,或
|
||||
(您可选的)任一日后发行的版本。
|
||||
|
||||
Emacs 自身的版权问题虽比本文档要复杂一些,但也基于相同的精神。敬请阅读文
|
||||
件“COPYING”,然后向你的朋友们分发 GNU Emacs 拷贝。让我们以使用、编写和
|
||||
分享自由软件的实际行动来共同祛除软件障碍主义(所谓的“所有权”)!
|
||||
GNU Emacs 是基于使用目的而加以发布,然而不负任何担保责任;亦无对适
|
||||
售性或特定目的适用性所为的默示性担保。详情请参照GNU通用公共授权。
|
||||
|
||||
您应已收到附随于 GNU Emacs 的GNU通用公共授权的副本;如果没有,请参照
|
||||
<http://www.gnu.org/licenses/>.
|
||||
|
||||
敬请阅读文件“COPYING”,然后向你的朋友们分发 GNU Emacs 拷贝。让我们以使
|
||||
用、编写和分享自由软件的实际行动来共同祛除软件障碍主义(所谓的“所有
|
||||
权”)!
|
||||
|
||||
;;; Local Variables:
|
||||
;;; coding: utf-8
|
||||
|
|
|
@ -285,7 +285,7 @@ Explicaremos después como usar múltiples ventanas. Ahora mismo
|
|||
queremos explicar cómo deshacerse de ventanas adicionales y volver a
|
||||
la edición básica en una ventana. Es sencillo:
|
||||
|
||||
C-x 1 Una ventana (p.ej., elimina todas las otras ventanas).
|
||||
C-x 1 Una ventana (es decir, elimina todas las demás ventanas).
|
||||
|
||||
Esto es CONTROL-x seguido por el dígito 1. C-x 1 expande la ventana que
|
||||
contiene el cursor, para ocupar toda la pantalla. Esto borra todas las
|
||||
|
@ -374,7 +374,7 @@ resumen de las operaciones de borrado:
|
|||
Note que <DEL> y C-d, comparados con M-<DEL> y M-d, extienden el
|
||||
paralelismo iniciado por C-f y M-f (bien, <DEL> no es realmente una
|
||||
tecla de control, pero no nos preocuparemos de eso ahora). C-k y M-k,
|
||||
en ciertas forma, son como C-e y M-e, en que las líneas de unos
|
||||
en cierta forma, son como C-e y M-e, en que las líneas de unos
|
||||
corresponden a sentencias en los otros.
|
||||
|
||||
También puede eliminar un segmento contiguo de texto con un método
|
||||
|
@ -974,7 +974,7 @@ diferentes:
|
|||
|
||||
>> Teclee C-x 4 C-f seguido del nombre de uno de sus archivos.
|
||||
Finalice con <Return>. Vea que el archivo especificado aparece en
|
||||
la ventana inferior. El cursor vá allá también.
|
||||
la ventana inferior. El cursor va allá también.
|
||||
|
||||
>> Teclee C-x o para regresar a la ventana superior, y C-x 1 para
|
||||
borrar la ventana inferior.
|
||||
|
|
|
@ -7,7 +7,7 @@ Maintainer: Ognyan Kulev <ogi@tower.3.bg>
|
|||
|
||||
* TUTORIAL.cn:
|
||||
Author: Sun Yijiang <sunyijiang@gmail.com>
|
||||
Maintainer: Sun Yijiang <sunyijiang@gmail.com>
|
||||
Maintainer: Xue Fuqiao <xfq.free@gmail.com>
|
||||
|
||||
* TUTORIAL.cs:
|
||||
Author: Milan Zamazal <pdm@zamazal.org>
|
||||
|
|
3
info/dir
3
info/dir
|
@ -36,7 +36,7 @@ Emacs editing modes
|
|||
Java, Pike, AWK, and CORBA IDL code.
|
||||
* IDLWAVE: (idlwave). Major mode and shell for IDL files.
|
||||
* nXML Mode: (nxml-mode). XML editing mode with RELAX NG support.
|
||||
* Org Mode: (org). Outline-based notes management and organizer
|
||||
* Org Mode: (org). Outline-based notes management and organizer.
|
||||
|
||||
Emacs network features
|
||||
* EUDC: (eudc). Emacs client for directory servers (LDAP, PH).
|
||||
|
@ -86,6 +86,7 @@ Emacs misc features
|
|||
* Wisent: (wisent). Semantic Wisent parser development.
|
||||
* SES: (ses). Simple Emacs Spreadsheet.
|
||||
* Speedbar: (speedbar). File/Tag summarizing utility.
|
||||
* Todo Mode: (todo-mode). Make and maintain todo lists.
|
||||
* VIP: (vip). An older VI-emulation for Emacs.
|
||||
* VIPER: (viper). A VI-emulation mode for Emacs.
|
||||
* WoMan: (woman). Browse UN*X Manual Pages "W.O. (without) Man".
|
||||
|
|
|
@ -1,3 +1,46 @@
|
|||
2013-08-10 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* update-game-score.exe.manifest: New file.
|
||||
|
||||
* Makefile.in (UPDATE_MANIFEST): New variable.
|
||||
(SCRIPTS): Add $(UPDATE_MANIFEST).
|
||||
|
||||
2013-08-05 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
||||
* makefile.w32-in (lisp2): Add nadvice.elc.
|
||||
|
||||
2013-08-05 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* update-game-score.c (read_score): Try reading a character before
|
||||
probing the stream for EOF. Initialize score->score to zero,
|
||||
before reading and accumulating the score.
|
||||
(read_scores): Fix logic that determines which value to return.
|
||||
Close the input stream when finished reading the scores (avoids
|
||||
failures in overwriting the file with a new one on MS-Windows,
|
||||
since a file that is open cannot be deleted).
|
||||
|
||||
* ntlib.h (rename): Don't undefine.
|
||||
|
||||
* ntlib.c (sys_rename): New function, needed for
|
||||
update-game-score.
|
||||
|
||||
2013-08-04 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* ntlib.h: Include fcntl.h.
|
||||
(mkostemp): Declare prototype.
|
||||
(mktemp): Don't redefine.
|
||||
|
||||
* ntlib.c (mkostemp): New function. (Bug#15015)
|
||||
|
||||
2013-08-04 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Fix some minor races in hosts lacking mkostemp (Bug#15015).
|
||||
* movemail.c (main):
|
||||
* update-game-score.c (write_scores):
|
||||
Use mkostemp (which now works on all platforms, due to changes
|
||||
in the portability layer) rather than mktemp (which has a race)
|
||||
or mkstemp (which we no longer bother with).
|
||||
|
||||
2013-07-10 Paul Eggert <eggert@cs.ucla.edu>
|
||||
|
||||
Port to C89.
|
||||
|
|
|
@ -40,6 +40,7 @@ C_SWITCH_MACHINE=@C_SWITCH_MACHINE@
|
|||
PROFILING_CFLAGS = @PROFILING_CFLAGS@
|
||||
WARN_CFLAGS = @WARN_CFLAGS@
|
||||
WERROR_CFLAGS = @WERROR_CFLAGS@
|
||||
UPDATE_MANIFEST = @UPDATE_MANIFEST@
|
||||
|
||||
# Program name transformation.
|
||||
TRANSFORM = @program_transform_name@
|
||||
|
@ -132,7 +133,7 @@ DONT_INSTALL= test-distrib${EXEEXT} make-docfile${EXEEXT}
|
|||
|
||||
# Like UTILITIES, but they're not system-dependent, and should not be
|
||||
# deleted by the distclean target.
|
||||
SCRIPTS= rcs2log
|
||||
SCRIPTS= rcs2log $(UPDATE_MANIFEST)
|
||||
|
||||
# All files that are created by the linker, i.e., whose names end in ${EXEEXT}.
|
||||
EXE_FILES = ${INSTALLABLES} ${UTILITIES} ${DONT_INSTALL}
|
||||
|
|
|
@ -251,6 +251,7 @@ lisp2 = \
|
|||
$(lispsource)register.elc \
|
||||
$(lispsource)replace.elc \
|
||||
$(lispsource)simple.elc \
|
||||
$(lispsource)emacs-lisp/nadvice.elc \
|
||||
$(lispsource)minibuffer.elc \
|
||||
$(lispsource)startup.elc \
|
||||
$(lispsource)subr.elc \
|
||||
|
|
|
@ -304,24 +304,13 @@ main (int argc, char **argv)
|
|||
|
||||
memcpy (tempname, inname, inname_dirlen);
|
||||
strcpy (tempname + inname_dirlen, "EXXXXXX");
|
||||
#ifdef HAVE_MKSTEMP
|
||||
desc = mkstemp (tempname);
|
||||
#else
|
||||
mktemp (tempname);
|
||||
if (!*tempname)
|
||||
desc = -1;
|
||||
else
|
||||
{
|
||||
unlink (tempname);
|
||||
desc = open (tempname, O_WRONLY | O_CREAT | O_EXCL, 0600);
|
||||
}
|
||||
#endif
|
||||
desc = mkostemp (tempname, 0);
|
||||
if (desc < 0)
|
||||
{
|
||||
int mkstemp_errno = errno;
|
||||
int mkostemp_errno = errno;
|
||||
error ("error while creating what would become the lock file",
|
||||
0, 0);
|
||||
errno = mkstemp_errno;
|
||||
errno = mkostemp_errno;
|
||||
pfatal_with_name (tempname);
|
||||
}
|
||||
close (desc);
|
||||
|
|
|
@ -422,3 +422,72 @@ lstat (const char * path, struct stat * buf)
|
|||
{
|
||||
return stat (path, buf);
|
||||
}
|
||||
|
||||
/* Implementation of mkostemp for MS-Windows, to avoid race conditions
|
||||
when using mktemp. Copied from w32.c.
|
||||
|
||||
This is used only in update-game-score.c. It is overkill for that
|
||||
use case, since update-game-score renames the temporary file into
|
||||
the game score file, which isn't atomic on MS-Windows anyway, when
|
||||
the game score already existed before running the program, which it
|
||||
almost always does. But using a simpler implementation just to
|
||||
make a point is uneconomical... */
|
||||
|
||||
int
|
||||
mkostemp (char * template, int flags)
|
||||
{
|
||||
char * p;
|
||||
int i, fd = -1;
|
||||
unsigned uid = GetCurrentThreadId ();
|
||||
int save_errno = errno;
|
||||
static char first_char[] = "abcdefghijklmnopqrstuvwyz0123456789!%-_@#";
|
||||
|
||||
errno = EINVAL;
|
||||
if (template == NULL)
|
||||
return -1;
|
||||
|
||||
p = template + strlen (template);
|
||||
i = 5;
|
||||
/* replace up to the last 5 X's with uid in decimal */
|
||||
while (--p >= template && p[0] == 'X' && --i >= 0)
|
||||
{
|
||||
p[0] = '0' + uid % 10;
|
||||
uid /= 10;
|
||||
}
|
||||
|
||||
if (i < 0 && p[0] == 'X')
|
||||
{
|
||||
i = 0;
|
||||
do
|
||||
{
|
||||
p[0] = first_char[i];
|
||||
if ((fd = open (template,
|
||||
flags | _O_CREAT | _O_EXCL | _O_RDWR,
|
||||
S_IRUSR | S_IWUSR)) >= 0
|
||||
|| errno != EEXIST)
|
||||
{
|
||||
if (fd >= 0)
|
||||
errno = save_errno;
|
||||
return fd;
|
||||
}
|
||||
}
|
||||
while (++i < sizeof (first_char));
|
||||
}
|
||||
|
||||
/* Template is badly formed or else we can't generate a unique name. */
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* On Windows, you cannot rename into an existing file. */
|
||||
int
|
||||
sys_rename (const char *from, const char *to)
|
||||
{
|
||||
int retval = rename (from, to);
|
||||
|
||||
if (retval < 0 && errno == EEXIST)
|
||||
{
|
||||
if (unlink (to) == 0)
|
||||
retval = rename (from, to);
|
||||
}
|
||||
return retval;
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue