From eed991017a9d80651febdb5549bc75853945dfbc Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Mon, 26 Aug 2013 06:30:56 +0800 Subject: Fix broken customization in Flymake. * lisp/progmodes/flymake.el (flymake-get-real-file-name-function): Fix broken customization. (Bug#15184) --- doc/lispref/nonascii.texi | 3 +++ 1 file changed, 3 insertions(+) (limited to 'doc') diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index 090310c5545..f351829e4cf 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -248,6 +248,7 @@ unibyte string, it is returned unchanged. Use this function for characters. @end defun +@c FIXME: Should `@var{character}' be `@var{byte}'? @defun byte-to-string byte @cindex byte to string This function returns a unibyte string containing a single byte of @@ -401,6 +402,8 @@ specifies how the character behaves and how it should be handled during text processing and display. Thus, character properties are an important part of specifying the character's semantics. +@c FIXME: Use the latest URI of this chapter? +@c http://www.unicode.org/versions/latest/ch04.pdf On the whole, Emacs follows the Unicode Standard in its implementation of character properties. In particular, Emacs supports the @uref{http://www.unicode.org/reports/tr23/, Unicode Character Property -- cgit v1.2.1 From a8544941cffd259022729a7a7905582c63050031 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 26 Aug 2013 11:28:24 -0400 Subject: * lispref/variables.texi (File Local Variables): Don't recommend quoting! --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/variables.texi | 3 +-- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index d2e86c25cc1..d27f58c0efa 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-08-26 Stefan Monnier + + * variables.texi (File Local Variables): Don't recommend quoting! Ever! + 2013-08-20 Eli Zaretskii * files.texi (Information about Files): Mention file names with diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi index 557add738ba..866f3774999 100644 --- a/doc/lispref/variables.texi +++ b/doc/lispref/variables.texi @@ -1649,8 +1649,7 @@ non-@code{nil} given that value. Many commonly-encountered file variables have @code{safe-local-variable} properties; these include @code{fill-column}, @code{fill-prefix}, and @code{indent-tabs-mode}. For boolean-valued variables that are safe, use @code{booleanp} as the -property value. Lambda expressions should be quoted so that -@code{describe-variable} can display the predicate. +property value. When defining a user option using @code{defcustom}, you can set its @code{safe-local-variable} property by adding the arguments -- cgit v1.2.1 From 12c4970d70ae32fdcc81af55e1b2ff74afe96c93 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 26 Aug 2013 15:17:31 -0700 Subject: Minor merge from gnulib (mostly just for texinfo.tex). --- doc/misc/texinfo.tex | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index e8fed290734..9ba8c949fd1 100644 --- a/doc/misc/texinfo.tex +++ b/doc/misc/texinfo.tex @@ -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-08-09.09} +\def\texinfoversion{2013-08-20.10} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, @@ -281,9 +281,9 @@ \toks6=\expandafter{\prevsectiondefs}% \toks8=\expandafter{\lastcolordefs}% \mark{% - \the\toks0 \the\toks2 - \noexpand\or \the\toks4 \the\toks6 - \noexpand\else \the\toks8 + \the\toks0 \the\toks2 % 0: top marks (\last...) + \noexpand\or \the\toks4 \the\toks6 % 1: bottom marks (default, \prev...) + \noexpand\else \the\toks8 % 2: color marks }% } % \topmark doesn't work for the very first chapter (after the title @@ -5909,7 +5909,7 @@ end % % Now the second mark, after the heading break. No break points % between here and the heading. - \let\prevsectiondefs=\lastsectiondefs + \global\let\prevsectiondefs=\lastsectiondefs \domark % % Only insert the space after the number if we have a section number. -- cgit v1.2.1 From 1857cd3f9ef1103d5ea2fcecbb7b2a6a9d6b2aef Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 27 Aug 2013 00:57:39 -0700 Subject: Move source for Emacs on MS Windows FAQ here from Emacs webpages repository * Makefile.in (mostlyclean, clean, distclean, bootstrap-clean) (maintainer-clean, check-declare): Remove pointless subshells. Check cd return value. * configure.ac (DOCMISC_DVI_W32, DOCMISC_HTML_W32, DOCMISC_INFO_W32) (DOCMISC_PDF_W32, DOCMISC_PS_W32): New output variables. * Makefile.in (check-info-dir): Ignore efaq-w32. * admin/admin.el (manual-misc-manuals): Use INFO_COMMON rather than INFO_TARGETS. * doc/misc/efaq-w32.texi: Move here from the web-pages repository. * doc/misc/Makefile.in (DOCMISC_DVI_W32, DOCMISC_HTML_W32, DOCMISC_INFO_W32) (DOCMISC_PDF_W32, DOCMISC_PS_W32): New configure output variables. (INFO_COMMON, INFO_INSTALL): New derivations of INFO_TARGETS. (DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS): Add DOCMISC_*_W32 variables. (echo-info): Use INFO_INSTALL rather than INFO_TARGETS. (efaq_w32_deps): New variable. (efaq-w32, $(buildinfodir)/efaq-w32$(INFO_EXT), efaq-w32.dvi) (efaq-w32.pdf, efaq-w32.html): New rules. (clean): Remove efaq-w32 products. --- doc/misc/ChangeLog | 14 + doc/misc/Makefile.in | 41 +- doc/misc/efaq-w32.texi | 2364 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 2413 insertions(+), 6 deletions(-) create mode 100644 doc/misc/efaq-w32.texi (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 554580c769a..b0a2b4cf526 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,17 @@ +2013-08-27 Glenn Morris + + * efaq-w32.texi: Move here from the web-pages repository. + * Makefile.in (DOCMISC_DVI_W32, DOCMISC_HTML_W32, DOCMISC_INFO_W32) + (DOCMISC_PDF_W32, DOCMISC_PS_W32): New configure output variables. + (INFO_COMMON, INFO_INSTALL): New derivations of INFO_TARGETS. + (DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS): + Add DOCMISC_*_W32 variables. + (echo-info): Use INFO_INSTALL rather than INFO_TARGETS. + (efaq_w32_deps): New variable. + (efaq-w32, $(buildinfodir)/efaq-w32$(INFO_EXT), efaq-w32.dvi) + (efaq-w32.pdf, efaq-w32.html): New rules. + (clean): Remove efaq-w32 products. + 2013-08-19 Katsumi Yamaoka * emacs-mime.texi (Encoding Customization): Exclude iso-2022-jp-2 and diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index 6618e125d7c..bf9daf4d966 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in @@ -59,7 +59,15 @@ INSTALL_DATA = @INSTALL_DATA@ MAKEINFO = @MAKEINFO@ MAKEINFO_OPTS = --force -I$(emacsdir) -INFO_TARGETS = ada-mode auth autotype bovine calc ccmode cl \ +## On MS Windows, efaq-w32; otherwise blank. +DOCMISC_DVI_W32 = @DOCMISC_DVI_W32@ +DOCMISC_HTML_W32 = @DOCMISC_HTML_W32@ +DOCMISC_INFO_W32 = @DOCMISC_INFO_W32@ +DOCMISC_PDF_W32 = @DOCMISC_PDF_W32@ +DOCMISC_PS_W32 = @DOCMISC_PS_W32@ + +## Info files to build and install on all platforms. +INFO_COMMON = ada-mode auth autotype bovine calc ccmode cl \ dbus dired-x ebrowse ede ediff edt eieio \ emacs-mime epa erc ert eshell eudc efaq \ flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info \ @@ -68,7 +76,15 @@ INFO_TARGETS = ada-mode auth autotype bovine calc ccmode cl \ sc semantic ses sieve smtpmail speedbar srecode todo-mode tramp \ url vip viper widget wisent woman -DVI_TARGETS = \ +## Info files to install on current platform. +INFO_INSTALL = $(INFO_COMMON) $(DOCMISC_INFO_W32) + +## Info files to build on current platform. +## This is all of them, even though they might not all get installed, +## because the info files are pre-built in release tarfiles. +INFO_TARGETS = $(INFO_COMMON) efaq-w32 + +DVI_TARGETS = $(DOCMISC_DVI_W32) \ ada-mode.dvi \ auth.dvi \ autotype.dvi \ @@ -126,7 +142,7 @@ DVI_TARGETS = \ wisent.dvi \ woman.dvi -HTML_TARGETS = \ +HTML_TARGETS = $(DOCMISC_HTML_W32) \ ada-mode.html \ auth.html \ autotype.html \ @@ -184,7 +200,7 @@ HTML_TARGETS = \ wisent.html \ woman.html -PDF_TARGETS = \ +PDF_TARGETS = $(DOCMISC_PDF_W32) \ ada-mode.pdf \ auth.pdf \ autotype.pdf \ @@ -242,7 +258,7 @@ PDF_TARGETS = \ wisent.pdf \ woman.pdf -PS_TARGETS = \ +PS_TARGETS = $(DOCMISC_PS_W32) \ ada-mode.ps \ auth.ps \ autotype.ps \ @@ -326,7 +342,7 @@ info: $(INFO_TARGETS) ## Used by top-level Makefile. ## Base file names of output info files. echo-info: - @echo "$(INFO_TARGETS) " | \ + @echo "$(INFO_INSTALL) " | \ sed -e 's|[^ ]*/||g' -e 's/\.info//g' -e "s/ */$(INFO_EXT) /g" # please modify this for all the web manual targets @@ -612,6 +628,18 @@ faq.pdf: $(faq_deps) faq.html: $(faq_deps) $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/faq.texi +efaq_w32_deps = ${srcdir}/efaq-w32.texi $(emacsdir)/emacsver.texi +efaq-w32 : $(buildinfodir)/efaq-w32$(INFO_EXT) +$(buildinfodir)/efaq-w32$(INFO_EXT): $(efaq_w32_deps) + $(mkinfodir) + $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/efaq-w32.texi +efaq-w32.dvi: $(efaq_w32_deps) + $(ENVADD) $(TEXI2DVI) ${srcdir}/efaq-w32.texi +efaq-w32.pdf: $(efaq_w32_deps) + $(ENVADD) $(TEXI2PDF) ${srcdir}/efaq-w32.texi +efaq-w32.html: $(efaq_w32_deps) + $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/efaq-w32.texi + flymake_deps = ${srcdir}/flymake.texi ${gfdl} flymake : $(buildinfodir)/flymake$(INFO_EXT) $(buildinfodir)/flymake$(INFO_EXT): $(flymake_deps) @@ -1040,6 +1068,7 @@ mostlyclean: clean: mostlyclean rm -f $(DVI_TARGETS) $(HTML_TARGETS) $(PDF_TARGETS) $(PS_TARGETS) + rm -f efaq-w32.dvi efaq-w32.html efaq-w32.pdf efaq-w32.ps rm -f emacs-misc-${version}.tar* distclean: clean diff --git a/doc/misc/efaq-w32.texi b/doc/misc/efaq-w32.texi new file mode 100644 index 00000000000..480d7d2a175 --- /dev/null +++ b/doc/misc/efaq-w32.texi @@ -0,0 +1,2364 @@ +\input texinfo @c -*-coding:utf-8 -*- +@setfilename efaq-w32 +@settitle GNU Emacs FAQ For MS Windows +@setchapternewpage odd +@syncodeindex pg cp +@syncodeindex ky cp +@syncodeindex tp cp +@syncodeindex vr fn + +@documentdescription +Answers to Frequently asked Questions about using Emacs on Microsoft Windows. +@end documentdescription + +@set EMACSVER 24.3 + +@documentencoding utf-8 +@documentlanguage en + +@copying +Copyright @copyright{} 2008, 2010-2013 Free Software Foundation, Inc. + +@quotation +This list of frequently asked questions about GNU Emacs on MS Windows +with answers (``FAQ'') may be translated into other languages, +transformed into other formats (e.g. Texinfo, Info, WWW), and updated +with new information. + +The same conditions apply to any derivative of the FAQ as apply to the FAQ +itself. Every copy of the FAQ must include this notice or an approved +translation, information on who is currently maintaining the FAQ and how to +contact them (including their e-mail address), and information on where the +latest version of the FAQ is archived (including FTP information). + +The FAQ may be copied and redistributed under these conditions, except that +the FAQ may not be embedded in a larger literary work unless that work +itself allows free copying and redistribution. +@end quotation +@end copying + +@dircategory Emacs +@direntry +* Emacs W32 FAQ: (efaq-w32). FAQs about Emacs on MS Windows. +@end direntry + +@c The @titlepage stuff only appears in the printed version +@titlepage +@sp 10 +@center @titlefont{GNU Emacs FAQ for MS Windows} + +@c The following two commands start the copyright page. +@page +@vskip 0pt plus 1filll +@insertcopying +@end titlepage + +@footnotestyle end + +@node Top +@top GNU Emacs FAQ for MS Windows + +This is the GNU Emacs FAQ for MS Windows. + +This FAQ is maintained by the developers and users of Emacs on MS Windows. +If you find any errors, or have any suggestions, please send them to +the @url{http://lists.gnu.org/mailman/listinfo/help-emacs-windows, +help-emacs-windows} mailing list. + +At time of writing, the latest version of GNU Emacs is version @value{EMACSVER}. + +@c Links to ftp.gnu.org are given as http links, since Windows ftp clients +@c are notoriously bad at handling firewalls etc. + +@contents + +@menu +* Introduction:: +* Getting Emacs:: +* Installing Emacs:: +* Display Settings:: +* Fonts and text translation:: +* Printing:: +* Sub-processes:: +* Network access:: +* Text and Utility modes:: +* Developing with Emacs:: +* Other useful ports:: +* Further information:: +* Indexes:: +@end menu + +@c ------------------------------------------------------------ +@node Introduction +@chapter Introduction +@cindex scope of FAQ + +This FAQ covers questions that are specific to running GNU Emacs on Windows. +For more general information, see the other Emacs manuals. +@xref{Further information}. + +@menu +* Why Emacs on Windows:: +* Which versions of Windows:: +* Other versions of Emacs:: +@end menu + +@node Why Emacs on Windows +@section Why support GNU Emacs on Windows? +@cindex Why Windows + +It is not our goal to ``help Windows users'' by making text editing +on Windows more convenient. We aim to replace proprietary software, +not to enhance it. So why support GNU Emacs on Windows? + +We hope that the experience of using GNU Emacs on Windows will give +programmers a taste of freedom, and that this will later inspire them +to move to a free operating system such as GNU/Linux. That is the +main valid reason to support free applications on nonfree operating +systems. + +@node Which versions of Windows +@section Which versions of Windows are supported? +@cindex Windows, versions +@cindex supported versions of Windows + +Emacs @value{EMACSVER} is known to run on all versions of Windows from +@c FIXME does it really still support Windows 98? Does it matter? +Windows 98 and Windows NT 4.0 through to Windows 7. The Windows port is +built using the Win32 API and supports most features of the X version, +including variable width fonts, images and tooltips. + +@node Other versions of Emacs +@section What other versions of Emacs run on Windows? +@cindex other ports of Emacs + +@xref{Cygwin}. + +@cindex DOS port +@cindex Windows 3.11 port +Emacs can also be compiled for MSDOS. When run on recent MS Windows, +it supports long file names, and uses the Windows clipboard. +See the @file{msdos} directory in the Emacs sources for building +instructions (requires DJGPP). + +@c ------------------------------------------------------------ +@node Getting Emacs +@chapter Getting Emacs + +@menu +* Downloading:: +* Compiling:: +* Debugging:: +@end menu + +@node Downloading +@section Where can I download Emacs? + +@cindex precompiled binaries +@cindex where to get Emacs binaries +Pre-compiled versions are distributed from +@uref{http://ftpmirror.gnu.org/emacs/windows/, ftp.gnu.org mirrors}. +Emacs binaries are distributed as zip files, digitally +signed by the developer who built them. Generally most users will +want the file @file{emacs-@value{EMACSVER}-bin-i386.zip}, which +contains everything you need to get started. + +@cindex where to get sources +@cindex Emacs source code +@cindex source for Emacs +The latest source is available from +@uref{http://ftpmirror.gnu.org/emacs/, ftp.gnu.org mirrors}. It is +distributed as a compressed tar file, digitally signed by the maintainer +who made the release. + +@cindex Bzr, getting Emacs +@cindex latest development version of Emacs +@cindex Emacs Development +The development version of Emacs is available from +@uref{http://savannah.gnu.org/projects/emacs, Savannah}, the GNU +development site. + +@node Compiling +@section How can I compile Emacs myself? +@cindex compiling Emacs + +To compile Emacs on Windows, you will need the MingW or Cygwin port of +GCC with MingW make, or a Microsoft C compiler with nmake and the +single threaded C runtime library. Recent versions of Microsoft +Visual Studio no longer come with the single threaded C runtime +library, which is required for certain POSIX compatibility, so MingW +is usually the best choice. Image support requires external +libraries, the headers and import libraries for which will need to be +installed where your compiler can find them. You will also need ports +of GNU @command{rm} and @command{cp}, as the Windows native +equivalents are not consistent between versions. GNU texinfo will be +required to build the manuals. @xref{Other useful ports}. + +After unpacking the source, or checking out of Bzr, be sure to read the +instructions in @file{nt/README} and @file{nt/INSTALL}. + +@node Debugging +@section How do I use a debugger on Emacs? +@cindex debugging Emacs +@cindex bugs in Emacs, how to debug +@cindex Emacs debugging + +By default, Emacs is compiled with debugging on, and optimizations enabled. +The optimizations may interfere with some types of debugging; the debugger +may not show clearly where it is, or may not be able to inspect certain +variables. If this is the case, reconfigure with @option{--no-opt}. + +The file @file{etc/DEBUG} contains general debugging hints, as well as +specific notes about debugging Emacs with both gdb and Microsoft debuggers. + +@menu +* GDB:: +* Microsoft Developer Studio:: +@end menu + +@node GDB +@subsection GDB +@cindex GDB, debugging Emacs with +@cindex debugging Emacs with GDB + +GDB is the GNU debugger, which can be used to debug Emacs when it has +been compiled with GCC. The best results will be obtained if you +start gdb from the @file{src} directory as @samp{gdb oo/i386/emacs.exe}. +This will load the init file @file{.gdbinit} in that directory, to +define some extra commands for working with lisp while debugging, and +set up breakpoints to catch abnormal aborts. + +@node Microsoft Developer Studio +@subsection Microsoft Developer Studio +@cindex MSVC++, debugging Emacs with +@cindex DevStudio, debugging Emacs with +@cindex debugging Emacs with MS DevStudio + +MS DevStudio can be used to debug Emacs when it has been compiled with +a Microsoft compiler. To view lisp variables, you can call the +function @code{debug_print} from the Quickwatch window. Some +@uref{http://www.gnu.org/software/emacs/windows/ntemacs/discuss/debug.txt, +old tips} are probably still valid. + +@c ------------------------------------------------------------ +@node Installing Emacs +@chapter Installing Emacs + +@menu +* Unpacking:: +* Installing:: +* Image support:: +* Init file:: +* Location of init file:: +* Troubleshooting init file:: +* Associate files with Emacs:: +* Find-file and the Desktop:: +* Make Windows more like X:: +* Make Emacs like a Windows app:: +* Window operations:: +* Uninstall:: +* Does not run:: +* Virus:: +* Anti-virus:: +@end menu + +@node Unpacking +@section How do I unpack the distributions? +@cindex unpacking Emacs distribution +@cindex extracting Emacs distribution +@cindex unzipping Emacs distribution +@cindex untarring Emacs distribution +@cindex zip files, how to unpack Emacs binaries +@cindex tar.gz files, how to unpack Emacs sources + +The binary distributions are distributed as zip files, which are handled +natively by Windows XP and later. For earlier versions, there are many +tools that can handle the zip format, from InfoZip's command line unzip +tool, to 7zip's multi-format graphical archive explorer. Although +popular, WinZip has caused problems with line-ends in the past, and is not +Free software, so we do not recommend it. + +Source distributions are distributed as gzipped tar files. 7zip and +similar multi-format graphical tools can handle these, or you can get +Windows ports of the command line gzip and tar tools from multiple sources. +@xref{Other useful ports}. + +The command to unpack a source distribution from the command line is: +@example +tar xzf emacs-@value{EMACSVER}.tar.gz +@end example + +If this does not work with the versions of tar and gzip that you have, +you may need to try a two step process: +@example +gzip -dc emacs-@value{EMACSVER}.tar.gz | tar xvf - +@end example + +You may see many messages from tar complaining about being unable to change +the modification time on directories, and from gzip complaining about a +broken pipe. These messages are usually harmless, caused by incomplete ports +that are not fully aware of the limitations of Windows. + +@node Installing +@section How do I install Emacs after unpacking? +@cindex installing Emacs +@pindex addpm +@cindex Start Menu, creating icons for Emacs + +You can run Emacs without any extra steps, but if you want icons in your +Start Menu, or for Emacs to detect the image libraries that are already +installed on your system as part of GTK, then you should run the program +@file{emacs-@value{EMACSVER}\bin\addpm.exe}. + +@node Image support +@section How do I get image support? +@cindex images, installing libraries for +@cindex jpeg, installing image support in Emacs +@cindex png, installing image support in Emacs +@cindex gif, installing image support in Emacs +@cindex tiff, installing image support in Emacs +@cindex xpm, installing image support in Emacs +@cindex toolbar, installing color icons in +@cindex color images, installing support for images in Emacs +@cindex monochrome images, getting color images in Emacs +@cindex black and white images, getting color images in Emacs + +Emacs has built in support for XBM and PBM/PGM/PPM images. This is +sufficient to see the monochrome splash screen and tool-bar icons. +Since 22.2, the official precompiled binaries for Windows have bundled +libXpm, which is required to display the color versions of those images. + +Emacs is compiled to recognize JPEG, PNG, GIF and TIFF images also, +but displaying these image types require external DLLs which are not +bundled with Emacs. @xref{Other useful ports}. + +@node Init file +@section What is my init file? +@cindex .emacs +@cindex init file + +When Emacs starts up, it attempts to load and execute the contents of +a file commonly called @file{.emacs} (though it may have other names, +@pxref{Installing Emacs,,Where do I put my init file?}) which contains any +customizations you have made. You can manually add lisp code to your +.emacs, or you can use the Customization interface accessible from the +@emph{Options} menu. If the file does not exist, Emacs will start +with the default settings. + +@node Location of init file +@section Where do I put my init file? +@cindex HOME directory +@cindex .emacs.d +@cindex _emacs +@cindex init.el +@cindex registry, setting the HOME directory in + +On Windows, the .emacs file may be called _emacs for backward +compatibility with DOS and FAT filesystems where filenames could not +start with a dot. Some users prefer to continue using such a name, +because Explorer cannot create a file with a name starting with a dot, +even though the filesystem and most other programs can handle it. +In Emacs 22 and later, the init file may also be called +@file{.emacs.d/init.el}. Many of the other files that are created +by lisp packages are now stored in the @file{.emacs.d} directory too, +so this keeps all your Emacs related files in one place. + +All the files mentioned above should go in your @env{HOME} directory. +The @env{HOME} directory is determined by following the steps below: + +@enumerate +@item +If the environment variable @env{HOME} is set, use the directory it indicates. +@item +If the registry entry @code{HKCU\SOFTWARE\GNU\Emacs\HOME} is set, use the +directory it indicates. +@item +If the registry entry @code{HKLM\SOFTWARE\GNU\Emacs\HOME} is set, use the +directory it indicates. Not recommended, as it results in users sharing +the same HOME directory. +@item +If @file{C:\.emacs} exists, then use @file{C:/}. This is for +backward compatibility, as previous versions defaulted to @file{C:/} +if @env{HOME} was not set. +@item +Use the user's AppData directory, usually a directory called +@file{Application Data} under the user's profile directory, the location +of which varies according to Windows version and whether the computer is +part of a domain. +@end enumerate + +Within Emacs, @key{~} at the beginning of a file name is expanded to your +@env{HOME} directory, so you can always find your .emacs file with +@kbd{C-x C-f ~/.emacs}. + +@node Troubleshooting init file +@section Troubleshooting init file problems +@cindex troubleshooting init problems +@cindex debugging init problems +@cindex checking that HOME is set correctly + +If you've set @env{HOME} to a directory using one of the above +methods, and Emacs still doesn't load your init file, the first +thing you should do is check to see what Emacs thinks @env{HOME} is set +to. You can do this by evaluating the following expression in the +@file{*scratch*} buffer using @kbd{C-x C-e}: + +@example +(insert (getenv "HOME")) +@end example + +Look carefully at what is printed and make sure the value is +valid. For example, if the value has trailing whitespace, Emacs won't +be able to find the directory. Also, be sure that the value isn't a +relative drive letter (e.g., @file{d:} without a backslash); if it is, +then @env{HOME} is going to be whatever the current directory on that +drive is, which is likely not what you want to happen. + +@node Associate files with Emacs +@section How do I associate files with Emacs? +@cindex Explorer, associating Emacs with files in +@cindex emacsclient, associating files with +@cindex file associations +@cindex associating files with Emacs +@cindex ALTERNATE_EDITOR +@findex server-start + +The recommended way to associate files is to associate them with +@command{emacsclientw.exe}. In order for this to work when Emacs is +not yet started, you will also need to set the environment variable +@env{ALTERNATE_EDITOR} to @command{runemacs.exe}. To open files +in a running instance of Emacs, you will need to add the following +to your init file: +@example +(server-start) +@end example + +@menu +* Using with Explorer:: +@end menu + +@node Using with Explorer +@subsection For use with Internet Explorer +@cindex Internet Explorer, view source in Emacs +@cindex mailto urls, associating with Emacs +@cindex news urls, associating with Emacs +@cindex URLs, associating mail and news URLs with Emacs + +You can use Emacs as the editor for composing mail for +@indicateurl{mailto:} links, reading usenet for @indicateurl{news:} +links, and viewing source. The following registry entries control +this: + +@itemize @w{} +@item +Mail +@itemize +@item @strong{Key:} HKCR\mailto\shell\open\command\(Default) +@item @strong{Value:} emacsclientw -e "(message-mail (substring \"%1\" 7))" +@end itemize + +@item +News +@itemize +@item @strong{Key:} HKCR\news\shell\open\command\(Default) +@item @strong{Value:} emacsclientw -e "(gnus-fetch-group (substring \"%1\" 5)" +@end itemize + +@item +View Source +@itemize +@item @strong{Key:} HKCR\htmlfile\shell\edit\command\(Default) +@item @strong{Value:} emacsclientw "%1" +@end itemize + +@end itemize + +Thanks to Jason Rumney and Sigbjorn Finne for these tips. + +@node Find-file and the Desktop +@section How do I use find-file to open files that are on the Desktop? +@cindex Desktop, finding where it is +@cindex finding the Desktop +@cindex locating files on the Desktop + +The location of the Desktop varies between different versions of +Windows, and in a corporate environment can be moved around by the +network administrator. On NT derivatives, you can use the value of +the @env{USERPROFILE} environment variable to find where the desktop +might be: + +@example +@kbd{C-x C-f $USERPROFILE/Desktop} +@end example + +If this doesn't work, then you probably have to forgo the keyboard +just this once, and either drag a file onto the Emacs frame from the +desktop, or use the file dialog (displayed when you use the toolbar or +menu by default). Once you have a file from the Desktop inside Emacs, +@kbd{C-x C-f} will quickly reveal where your desktop is kept. + +@node Make Windows more like X +@section How can I modify Windows to act more like X? +@cindex X, making Windows behave like + +@menu +* Focus follows mouse:: +* Swap CapsLock and Control:: +@end menu + +@node Focus follows mouse +@subsection How do it make the active window follow the mouse? +@vindex focus-follows-mouse +@cindex point to focus +@cindex mouse over to focus + +Customize the variables @code{focus-follows-mouse} and +@code{mouse-autoselect-window}. The former can be used to mislead +Emacs into giving focus to other frames when the mouse is over them, +even though Windows has a click to focus policy by default (there is +software available to change that though). The latter can be used to +make Emacs use a focus-follow-mouse policy within its own frames. + +@node Swap CapsLock and Control +@subsection How do I swap CapsLock and Control? +@cindex scan codes, modifying +@cindex key layout, customizing +@cindex caps-lock, swapping with control key +@cindex control key, swapping with caps-lock +@cindex windows key, use as alt +@cindex alt key, using windows keys as additional + +This cannot be done within Emacs, but you can modify the scan code +mappings in the registry or define a new keyboard layout to swap the +keys on a system wide basis. + +@menu +* Swap Caps NT:: +* Swap Caps 98:: +@end menu + +@node Swap Caps NT +@subsubsection Windows NT/2000/XP/Vista? + +@itemize +@item +From Chris McMahon. To make CapsLock a Control key (leaving your +original control keys as they were), use this registry file: +@example +REGEDIT4 + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] +"Scancode Map"=hex:00,00,00,00,00,00,00,00,02,00,00,00,1d,00,3a,00,00,00,00,00 +@end example +To swap CapsLock and the left Control key, use: +@example +REGEDIT4 + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] +"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,1d,00,3a,00,3a,00,1d,00,00,00,00,00 +@end example +Save these as files with a @file{.reg} extension, and double-click on +them in Explorer, or ``run'' them from a command prompt to have them +update your registry (you may need to reboot). +@item +Shane Holder gives some background on how "Scancode Map" is used +by the system: +@ignore +http://ftp.gnu.org/old-gnu/emacs/windows/docs/ntemacs/contrib/caps-ctrl-registry.txt +From: Shane Holder +To: ntemacs-users@@cs.washington.edu +Date: 04 Dec 1996 14:36:21 -0600 +Message-ID: +Subject: Re: Re[2]: problem with caps/ctrl swap on NT 4.0 +@end ignore +@example +It's a binary value that lets you map keystrokes in the low-level keyboard +drivers in NT. As a result you don't have to worry about applications +bypassing mappings that you've done at a higher level (i.e. it just works). + +Here's the format of the value: + + DWORD: 0x00000000 header + DWORD: 0x00000000 header + DWORD: length (in DWORDs) of remaining data, including terminating DWORD + DWORD: mapping 1 + ... + DWORD: mapping n + DWORD: 0x00000000 terminating null DWORD + +Each mapping DWORD has two parts: the input scancode, and an output +scancode. To map scancode 0x1d (left control) to scancode 0x3a (caps +lock), you want a value of 0x003a001d. Note that this does not swap the +keys. Using just this mapping value, both the left control and the caps +lock key will behave as caps-lock. To swap, you also need to map 0x3a to +0x1d, using 0x001d003a. + +This registry value is system wide, and can't be made user-specific. It +also only takes affect on reboot. +@end example +@item +Ulfar Erlingsson has provided a registry file that sets the CapsLock key +to be a Control key and the Windows key to be an Alt key: +@example +REGEDIT4 + +[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout] +"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,1d,00,3a,00,38,00,5b,e0,00,00,00,00 +@end example +@end itemize + +@node Swap Caps 98 +@subsubsection Windows 95/98/ME + +Microsoft has a tool called keyremap that is part of their Kernel Toys add ons +for Windows 95. The tool has also been confirmed to work on Windows 98. + +@node Make Emacs like a Windows app +@section How can I modify Emacs to act more like a Windows app? +@cindex Windows, making Emacs act more like +@cindex UI, making Emacs more like other Windows apps + +Many beginning users find Emacs difficult to use because its user +interface is different in many ways. Emacs predates most UI +standards, and experienced Emacs users are used to the way things are, +so changing the defaults is difficult. Most of the ``standard'' +behavior can be approximated in Emacs after some configuring though. + +@menu +* Highlight selection:: +* CUA:: +@end menu + +@node Highlight selection +@subsection Highlighting the selection +@cindex transient-mark-mode +@cindex selection, highlighting +@cindex region, highlighting +@cindex highlighting the selected region +@cindex marked region, highlighting +@cindex point and mark, highlighting the region between +@cindex delete-selection-mode +@cindex overwriting the selected region + +Emacs has a concept of a mark and point that is similar to selections +in other programs. But the mark in Emacs is used for more than just +defining the selected region, it lives on while you continue to edit +and move around the buffer so it can also be a kind of bookmark. The +history of marks is saved so you can pop previous marks back to the +top of the stack to go back to somewhere you were some time ago. +Because of this dual purpose, the region between mark and point is not +highlighted by default unless you select a region by clicking and +dragging the mouse. + +The minor mode @code{transient-mark-mode} changes the behavior of +the mark in two ways. First, it distinguishes between an active mark +that has just been defined or reactivated, and an inactive mark. When +the mark is active, some commands that normally act on lines, words, +buffers etc. will instead act on the region. An inactive mark needs +to be reactivated to operate on it, unless @code{mark-even-if-inactive} +is set. Secondly, @code{transient-mark-mode} also highlights the +region when it is active, providing the same visual clue that you get +in other programs. + +In addition to seeing the highlighting, new Emacs users often expect +editing commands to replace the region when it is active. This behavior +can be obtained with @code{delete-selection-mode}, but see the following +question also. + +@node CUA +@subsection Standard Windows key bindings +@findex cua-mode +@cindex CUA keybindings +@cindex shift key, selecting with +@cindex standard Windows keybindings +@cindex paste with C-v +@cindex cut with C-x +@cindex copy with C-c +@cindex C-c to copy +@cindex C-x to cut +@cindex C-v to paste + +The keybindings of Emacs predate modern GUIs, and the keys that were +chosen by later GUIs for cut and copy were given important functions +as extended keymaps in Emacs. CUA mode attempts to let both bindings +co-exist by defining C-x and C-c as @code{kill-region} and +@code{copy-region-as-kill} when the region is active, and letting +them have their normal Emacs bindings when the region is not active. +Many people find this to be an acceptable compromise. CUA mode also +defines a number of other keys (C-v, Shift selection), and can be turned +on from the @emph{Options} menu. + +@node Window operations +@section Window operations +@cindex maximize frames from lisp +@cindex minimize frames from lisp +@cindex WM_SYSCOMMAND, sending system commands from lisp +@cindex system menu, simulating from lisp + +The function @code{w32-send-sys-command} can be used to simulate +choosing commands from the system menu (in the top left corner of the +Window) and a few other system wide functions. It takes an integer +argument, the value of which should be a valid @code{WM_SYSCOMMAND} +message as documented in Microsoft's API documentation. + +@node Uninstall +@section How do I uninstall Emacs? +@cindex uninstall Emacs +@cindex remove Emacs +@cindex clean Emacs registry settings +@cindex registry, cleaning the Emacs settings +@cindex Start Menu, removing Emacs from +@cindex upgrading Emacs +@cindex delete Emacs directory + +Emacs does not come with an uninstall program. No files are installed +outside of the Emacs base directory, so deleting that directory is +sufficient to clean away the files. If you ran @command{addpm}, +you'll need to delete the Start Menu group too. The registry entries +inserted by @command{addpm} will not cause any problems if you leave +them there, but for the sake of completeness, you can use @command{regedit} +to remove the keys under @code{HKEY_LOCAL_MACHINE} orx +@code{HKEY_CURRENT_USER}: @code{SOFTWARE\GNU\Emacs}, and the key +@code{HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\emacs.exe} if it exists. + +@node Does not run +@section When I run Emacs nothing happens +@cindex troubleshooting installation problems +@cindex window not appearing, Emacs +@cindex failure to run, Emacs +@cindex 8.3 filenames, problems caused + +Emacs could have failed to run for a number of reasons. The most +common symptom is that, when Emacs is started, the cursor changes for +a second but nothing happens. If this happens to you, it is quite +likely that the distribution was unpacked incorrectly. + +Check for the following to see if there was a problem during unpacking: +@enumerate +@item +Be sure to disable the CR/LF translation or the executables will be +unusable. Older versions of WinZipNT would enable this translation by +default. If you are using WinZipNT, disable it. +@item +Check that filenames were not truncated to 8.3. For example, there +should be a file CONTRIBUTE in the top level directory; if this has +been truncated to CONTRIBU or CONTRI~1, your distribution has been +corrupted while unpacking and Emacs will not start. +@end enumerate + +If it is still not working, send mail to the list, describing what +you've done, and what you are seeing. (The more information you send +the more likely it is that you'll receive a helpful response.. + +@node Virus +@section Does Emacs contain a virus? +@cindex virus reported in Emacs +@cindex anti-virus software reporting a virus in Emacs + +There have been reports in the past that some virus scanners claim +that the Emacs distribution has a virus. This is extremely unlikely if +you have downloaded Emacs from the GNU FTP site or one of its mirrors +and the GPG signature for it is valid and listed in the GNU keyring, +unless perhaps it is a new release made in the last few days, in which +case you should exercise more caution and report the problem. Past +problems seem to have been caused by virus checkers running into a +buffer size limit when unpacking large tar.gz files for scanning, and +reporting the failure as an ``unknown virus''. + +@node Anti-virus +@section What known problems are there with anti-virus software? +@cindex anti-virus software, bad interaction with +@cindex virus software, bad interaction with +@cindex firewall, bad interaction with +@cindex scan all files, anti-virus option causing problems +@cindex auto protect, anti-virus option causing problems +@cindex shell, interacting badly with anti-virus +@cindex subprocesses, interacting badly with anti-virus + +Anti-virus and firewall software can block Emacs from starting subprocesses +and opening network connections. Most such products have an Advanced +mode where they will prompt you rather than silently blocking. In some cases +the ``scan all files'' or ``auto protect'' option of anti-virus programs +has caused failures running shell related commands within Emacs. +@xref{Sub-processes,,Why is nothing happening when I enter shell commands?}. + +@c ------------------------------------------------------------ +@node Display Settings +@chapter Display Settings + +@menu +* Console window size:: +* Mouse trouble:: +* Cut and paste NUL:: +* Garbled clipboard:: +* Beep sound:: +@end menu + +@node Console window size +@section Emacs in console mode goes beyond the window size +@cindex console, window size +@cindex telnet, display size problems running emacs over +@cindex -nw, window size +@vindex w32-use-full-screen-buffer + +The variable @code{w32-use-full-screen-buffer} controls whether Emacs uses +the window size or buffer size to determine the number of lines on screen. +Normally the window size is correct, but when running Emacs over some +telnet servers, the buffer size needs to be used. Emacs tries to guess +the correct value at startup, but if it guesses wrong, you can customize +that variable yourself. + +@node Mouse trouble +@section What do I do if I have problems with my mouse buttons? +@cindex mouse buttons, problems with +@cindex 2 button mouse +@cindex two button mouse +@cindex third mouse button, simulating +@cindex middle mouse button, simulating +@cindex simulating three button mouse with two buttons +@cindex swap right and middle mouse buttons +@cindex exchange mouse-2 and mouse-3 buttons +@vindex w32-mouse-button-tolerance +@vindex w32-num-mouse-buttons +@vindex w32-swap-mouse-buttons + +Emacs assigns bindings assuming a three button mouse. On Windows, if +a two button mouse is detected, a hack is enabled which lets you +simulate the third button by pressing both mouse buttons +simultaneously. @code{w32-mouse-button-tolerance} defines the timeout +for what is considered ``simultaneous''. You can check how many +buttons Emacs thinks your mouse has with @kbd{C-h v} +@code{w32-num-mouse-buttons}. + +If you find yourself needing the mouse-3 bindings more often than mouse-2, +you can swap the buttons with the following code in your init file: +@example +(setq w32-swap-mouse-buttons t) +@end example + +@node Cut and paste NUL +@section How do I cut and paste text with NUL characters? +@cindex clipboard, NUL characters + +If you attempt to cut and paste text with NUL characters embedded in it, +then the text will be truncated at the first NUL character. This is a +limitation of the Windows clipboard, and does not affect killing and yanking +from the kill-ring within Emacs. + +@node Garbled clipboard +@section How can I fix garbled text yanked from the clipboard? +@cindex clipboard, corruption of +@cindex garbage on the clipboard +@cindex clipboard encoding +@cindex encoding, clipboard +@findex set-selection-coding-system + +You can try @code{set-selection-coding-system}, but generally such +corruption is a thing of the past, as Emacs uses Unicode for the clipboard +by default now. + +@node Beep sound +@section How do I change the sound of the Emacs beep? +@cindex beep, changing the sound +@cindex sound, changing the beep +@findex set-message-beep + +You can use the function @code{set-message-beep} to change the sound +that Emacs uses for its beep. This affects both console and GUI frames. +The doc string contains a list of the system sounds you can use. + +@c ------------------------------------------------------------ +@node Fonts and text translation +@chapter Fonts and text translation + +@menu +* Font names:: +* Bold and italic:: +* Multilingual fonts:: +* BDF fonts:: +* Font menu:: +* Line ends:: +@end menu + +@node Font names +@section Font names +@cindex XLFD font names +@cindex font XLFD name format +@cindex fontconfig font names in Emacs 23 +@cindex font dialog, using to find font names +@findex w32-select-font +@findex x-list-fonts + +Fonts in Emacs 22 and earlier are named using the X Logical Font +Description (XLFD) format. Emacs on Windows ignores many of the +fields, and populates them with * when listing fonts. Former +maintainer Andrew Innes wrote +@uref{http://www.gnu.org/software/emacs/windows/ntemacs/discuss/x-font-details, +this explanation} of what each field in the font string means and how +Emacs treated them back in 19.34. Since then, multilingual support and +a redisplay overhaul to support variable width fonts have changed things +slightly; more character sets are recognized (and the old pseudo character +sets are deprecated), and the resolution fields are used to calculate the +difference between point and pixel sizes, but normally you should leave +these at the system default. The foundry field is also populated with +an indication of whether the font is outline (.TTF, .ATM) or raster (.FON) +based when fonts are listed, which may let you differentiate between two +fonts with the same name and different technologies. + +From Emacs 23, the preferred font name format will be moving to the simpler +and more flexible fontconfig format. XLFD names will continue to be +supported for backward compatibility. + +@example +XLFD: -*-Courier New-normal-r-*-*-13-*-*-*-c-*-iso8859-1 +Fontconfig: Courier New-13 +@end example + +To find the XFLD name for a font, you can execute the following in the +@file{*scratch*} buffer by pressing C-j at the end of the line: +@example +(w32-select-font nil t) +@end example + +To see a complete list of fonts, execute the following in the +@file{*scratch*} buffer by pressing C-x C-e at the end of the line: +@example +(insert (prin1-to-string (x-list-fonts "*"))) +@end example + +The command line options and frame-parameters for changing the default font +in Emacs are documented in the manual. Fonts can also be used when defining +faces, though family and size are generally specified individually there. +In addition, Emacs on Windows reads the registry to find X Resources. This +is also documented in the manual. + +@node Bold and italic +@section How can I get bold and italic fonts to work? +@cindex italic fonts +@cindex synthesized italic and bold fonts +@cindex bold fonts, synthesized +@findex set-face-font +@vindex w32-enable-synthesized-fonts + +Emacs will only use the italic (and bold) versions of a font automatically +if it has the same width as the normal version. Many fonts have italic +and bold versions that are slightly wider. It will also only use real +bold and italic fonts by default, where other applications may use +synthesized variations that are derived from the normal font. To enable +more italic and bold fonts to be displayed, you can enable synthesized fonts +and manually set the font for italic, bold and bold-italic as follows: + +@example +(setq w32-enable-synthesized-fonts t) +(set-face-font 'italic "-*-Courier New-normal-i-*-*-11-*-*-*-c-*-iso8859-1") +(set-face-font 'bold-italic "-*-Courier New-bold-i-*-*-11-*-*-*-c-*-iso8859-1") +@end example + +@node Multilingual fonts +@section Multilingual font support +@cindex multilingual display, fonts +@cindex MULE, fonts + +@menu +* Language display:: +* Non-latin display:: +* International fonts:: +* Third-party multibyte:: +* Localized fonts:: +@end menu + +@node Language display +@subsection Is it possible to display all the supported languages? +@cindex HELLO file, displaying all +@cindex language support, fonts +@cindex GNU intlfonts, for displaying all languages +@cindex intlfonts, for displaying all languages + +To display all the languages that Emacs is capable of displaying, you will +require the BDF fonts from the GNU intlfonts package. +@xref{Fonts and text translation,,How do I use bdf fonts with Emacs?}. + +For many languages, native truetype fonts are sufficient, and in Emacs +23 the need for BDF fonts will disappear for almost all languages. At +the time of writing, some Arabic characters in the HELLO file still do +not display with native fonts, because they are pre-composed characters +from MULE character sets rather than standard Unicode Arabic, but all +other characters are able to be displayed with appropriate truetype or +opentype fonts. + +@node Non-latin display +@subsection How do I get Emacs to display non-latin characters? +@cindex fontsets, defining +@cindex language support, forcing Emacs to use specific fonts +@cindex MULE, fontsets +@cindex multilingual display, fontsets +@findex create-fontset-from-ascii-font +@findex create-fontset-from-fontset-spec + +Recent versions of Emacs display a large range of characters out of +the box, but if you are having problems with a particular character +set which you know you have fonts for, you can try defining a +new fontset with @code{create-fontset-from-ascii-font} or +@code{create-fontset-from-fontset-spec}. + +@example +(create-fontset-from-fontset-spec + "-*-Courier New-normal-r-*-*-12-*-*-*-c-*-fontset-most, + latin-iso8859-2:-*-Courier New-normal-r-*-*-12-*-*-*-c-*-iso8859-2, + latin-iso8859-3:-*-Courier New-normal-r-*-*-12-*-*-*-c-*-iso8859-3, + latin-iso8859-4:-*-Courier New-normal-r-*-*-12-*-*-*-c-*-iso8859-4, + cyrillic-iso8859-5:-*-Courier New-normal-r-*-*-12-*-*-*-c-*-iso8859-5, + greek-iso8859-7:-*-Courier New-normal-r-*-*-12-*-*-*-c-*-iso8859-7, + latin-iso8859-9:-*-Courier New-normal-r-*-*-12-*-*-*-c-*-iso8859-9, + japanese-jisx0208:-*-MS Gothic-normal-r-*-*-12-*-*-*-c-*-jisx0208-sjis, + katakana-jisx0201:-*-MS Gothic-normal-r-*-*-12-*-*-*-c-*-jisx0208-sjis, + latin-jisx0201:-*-MS Gothic-normal-r-*-*-12-*-*-*-c-*-jisx0208-sjis, + japanese-jisx0208-1978:-*-MS Gothic-normal-r-*-*-12-*-*-*-c-*-jisx0208-sjis, + korean-ksc5601:-*-Gulim-normal-r-*-*-12-*-*-*-c-*-ksc5601-*, + chinese-gb2312:-*-MS Song-normal-r-*-*-12-*-*-*-c-*-gb2312-*, + chinese-big5-1:-*-MingLiU-normal-r-*-*-12-*-*-*-c-*-big5-*, + chinese-big5-2:-*-MingLiU-normal-r-*-*-12-*-*-*-c-*-big5-*" t) +@end example + +@node International fonts +@subsection Where can I find fonts for other languages? +@cindex language support, finding fonts +@cindex fonts, where to find +@cindex MULE, finding fonts +@cindex multilingual display, finding fonts +@cindex GNU intlfonts, where to get +@cindex intlfonts, where to get + +In addition to the wide range of fonts that come with the language +support packages of various components of Windows itself, GNU/Linux +distributions these days come with a number of Free truetype fonts +that cover a wide range of languages. The GNU intlfonts source +distribution contains BDF fonts covering all of the languages that can +be displayed by Emacs 22, and can be downloaded from +@uref{http://ftpmirror.gnu.org/intlfonts, ftp.gnu.org mirrors}. + +@node Third-party multibyte +@subsection How do I use third party programs to display multibyte characters? +@cindex multilingual display, third party programs on Windows 9x/ME +@cindex language support, third party programs on Windows 9x/ME +@vindex w32-enable-unicode-output + +You probably only need to do this on the non-Unicode versions of Windows +(95, 98 and ME), and even then, various Windows and Internet Explorer +updates have made third party software unnecessary in most cases. +If you are having trouble displaying text, try defining a fontset +with the font for the languages that the third party software handles +set to what that software expects (which may not be an appropriate font +for that language, but the third party software is intercepting it +and using a different font behind the scenes). +@xref{Non-latin display}. + +In addition to defining a fontset with the expected font, you may also need +to disable unicode output with: +@example +(setq w32-enable-unicode-output nil) +@end example + +@node Localized fonts +@subsection Can I use a font with a name in my language? +@cindex fonts, localized font names +@vindex locale-coding-system + +Normally Emacs should initialize @code{locale-coding-system} appropriately +based on your locale, which will let Emacs use font names in your local +language successfully. + +@node BDF fonts +@section How do I use bdf fonts with Emacs? +@cindex BDF fonts, using +@cindex GNU intlfonts, using +@cindex intlfonts, using +@vindex w32-bdf-filename-alist +@vindex bdf-directory-alist +@vindex font-encoding-alist +@findex w32-find-bdf-fonts +@findex set-frame-font + +To use bdf fonts with Emacs, you need to tell Emacs where the fonts +are located, create fontsets for them, and then use them. We'll use +the 16 dot international fonts from @uref{http://ftpmirror.gnu.org/intlfonts, +ftp.gnu.org/gnu/intlfonts} as an +example put together by Jason Rumney. + +Download @file{16dots.tar.gz} and unpack it; I'll assume that they are in +@file{c:\intlfonts}. Then set @code{w32-bdf-filename-alist} to the list of +fonts returned by using @code{w32-find-bdf-fonts} to enumerate all of +the font files. It is a good idea to set the variable +@code{bdf-directory-list} at the same time so @code{ps-print} knows where +to find the fonts: +@example +(setq bdf-directory-list + '("c:/intlfonts/Asian" "c:/intlfonts/Chinese" + "c:/intlfonts/Chinese-X" "c:/intlfonts/Ethiopic" + "c:/intlfonts/European" "c:/intlfonts/Japanese" + "c:/intlfonts/Japanese-X" "c:/intlfonts/Korean-X" + "c:/intlfonts/Misc/")) + +(setq w32-bdf-filename-alist (w32-find-bdf-fonts bdf-directory-list)) +@end example + +Then create fontsets for the BDF fonts: + +@example +(create-fontset-from-fontset-spec + "-*-fixed-medium-r-normal-*-16-*-*-*-c-*-fontset-bdf, +japanese-jisx0208:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1983-*, +katakana-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*, +latin-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*, +japanese-jisx0208-1978:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1978-*, +thai-tis620:-misc-fixed-medium-r-normal--16-160-72-72-m-80-tis620.2529-1, +lao:-misc-fixed-medium-r-normal--16-160-72-72-m-80-MuleLao-1, +tibetan-1-column:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-80-MuleTibetan-1, +ethiopic:-Admas-Ethiomx16f-Medium-R-Normal--16-150-100-100-M-160-Ethiopic-Unicode, +tibetan:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-160-MuleTibetan-0") +@end example + +Many of the international bdf fonts from gnu.org are type 0, and therefore +need to be added to font-encoding-alist: + +@example +;; Need to add some fonts to font-encoding-alist since the bdf fonts +;; are type 0 not the default type 1. +(setq font-encoding-alist + (append '(("MuleTibetan-0" (tibetan . 0)) + ("GB2312" (chinese-gb2312 . 0)) + ("JISX0208" (japanese-jisx0208 . 0)) + ("JISX0212" (japanese-jisx0212 . 0)) + ("VISCII" (vietnamese-viscii-lower . 0)) + ("KSC5601" (korean-ksc5601 . 0)) + ("MuleArabic-0" (arabic-digit . 0)) + ("MuleArabic-1" (arabic-1-column . 0)) + ("MuleArabic-2" (arabic-2-column . 0))) font-encoding-alist)) +@end example + +You can now use the Emacs font menu (@pxref{Fonts and text +translation,,How can I have Emacs use a font menu like on X?}) to +select the @emph{bdf: 16-dot medium} fontset, or you can select it by +setting the default font: + +@example + (set-frame-font "fontset-bdf") +@end example + +Try loading the file @file{etc/HELLO}, and you should be able to see the +various international fonts displayed (except for Hindi, which is not +included in the 16-dot font distribution). + +@node Font menu +@section How can I have Emacs use a font menu like on X? +@cindex fonts, displaying a menu +@cindex fontsets, displaying a menu +@cindex font dialog, using a menu instead +@vindex w32-use-w32-font-dialog + +Place the following in your init file: + +@example +(setq w32-use-w32-font-dialog nil) +@end example + +@menu +* Add fonts to menu:: +@end menu + +@node Add fonts to menu +@subsection How can I add my font to the font menu? +@cindex font menu, adding fonts +@vindex w32-fixed-font-alist + +If you have set w32-use-w32-font-dialog to nil, you can add fonts to +the font menu by changing `w32-fixed-font-alist'. For example: + +@example +(setq w32-fixed-font-alist + (append w32-fixed-font-alist + '(("Monotype.com" + ("8" "-*-Monotype.com-normal-r-*-*-11-*-*-*-c-iso8859-1") + ("9" "-*-Monotype.com-normal-r-*-*-12-*-*-*-c-iso8859-1") + ("10" "-*-Monotype.com-normal-r-*-*-13-*-*-*-c-iso8859-1") + ("11" "-*-Monotype.com-normal-r-*-*-15-*-*-*-c-iso8859-1"))))) +@end example + +@node Line ends +@section How can I control CR/LF translation? +@cindex DOS line ends +@cindex Unix line ends +@cindex Mac line ends + +There are a number of methods by which you can control automatic CR/LF +translation in Emacs, a situation that reflects the fact that the +default support was not very robust in the past. For a discussion of +this issue, take a look at +@uref{http://www.gnu.org/software/emacs/windows/ntemacs/todo/translate, +this collection of email messages} on the topic. + +@menu +* Automatic line ends:: +* Line ends by filename:: +* Line ends by file system:: +@end menu + +@node Automatic line ends +@subsection Automatic CR/LF translation +@cindex line ends, automatic detection + +For existing files, Emacs scans the file to determine the line ending +convention as part of the same scan it does to determine the file +encoding. Embedded Ctrl-M (ASCII 13) characters and inconsistent line +ends can confuse the automatic scanning, and Emacs will present the +file in Unix (LF) mode with the Ctrl-M characters displayed as @samp{^M}. +It does this to be safe, as no data loss will occur if the file is really +binary and the Ctrl-M characters are significant. + +@node Line ends by filename +@subsection CR/LF translation by file extension +@cindex line ends, determining by filename +@cindex binary files, determining by file name +@vindex file-name-buffer-file-type-alist + +The variable @code{file-name-buffer-file-type-alist} holds a list of +filename patterns and their associated type; binary or text. Files marked +as binary will not have line-end detection performed on them, and instead +will always be displayed as is. With auto-detection in recent versions of +Emacs, this is seldom useful for existing files, but can still be used +to influence the choice of line ends for newly created files. + +@node Line ends by file system +@subsection CR/LF translation by file system +@cindex line ends, determining by filesystem +@cindex binary files, determining by filesystem +@vindex untranslated-filesystem-list +@findex add-untranslated-filesystem +@findex remove-untranslated-filesystem + +The variable @code{untranslated-filesystem-list} defines whole +directory trees that should not have CR/LF autodetection performed on +them. The list can be manipulated with the functions +@code{add-untranslated-filesystem} and +@code{remove-untranslated-filesystem}. With auto-detection in +recent versions of Emacs, this is seldom useful for existing files, +but can still be used to influence the choice of line ends for newly +created files. + +@c ------------------------------------------------------------ +@node Printing +@chapter Printing +@cindex printing + +A lot of effort has gone into making it easier to print from Emacs on +MS Windows, but this has still been insufficient to keep up with +changes in printing technology from text and postscript based printers +connected via ports that can be accessed directly, to graphical +printers that are only accessible via USB. For details, see +@uref{http://www.emacswiki.org/cgi-bin/wiki/PrintingFromEmacs, Emacs +Wiki}. + +@c ------------------------------------------------------------ +@node Sub-processes +@chapter Subprocesses +@cindex subprocesses + +@menu +* Quoting issues:: +* Subprocess hang:: +* Subprocess buffering:: +* Subprocesses and floppy drive:: +* Killing subprocesses:: +* Subprocess EOF:: +* Using shell:: +* Cygwin paths:: +* Dired ls:: +* Shell echo:: +* Shell completion forward slash:: +* Incorrect DOS version:: +* Shell commands do nothing:: +@end menu + +@node Quoting issues +@section Quoting issues +@cindex quoting arguments to subprocesses +@cindex sub-processes, quoting arguments to +@cindex cygwin, quoting arguments + +The quoting rules for native Windows shells and Cygwin shells have +some subtle differences. When Emacs spawns subprocesses, it tries to +determine whether the process is a Cygwin program and changes its +quoting mechanism appropriately. See this +@uref{http://www.gnu.org/software/emacs/windows/ntemacs/discuss/shell-quoting, +previous discussion} for details. + +@node Subprocess hang +@section Programs reading input hang +@cindex subprocesses, hanging when reading input +@cindex full-screen console programs, as subprocesses +@cindex ftp, client hanging +@findex ftp + +Programs that explicitly use a handle to the console (@file{CON} or +@file{CON:}) instead of stdin and stdout cannot be used as +subprocesses to Emacs, and they will also not work in shell-mode. The +default ftp client on Windows is an example of such a program - this +ftp program is mostly fine for use with @code{ange-ftp} or +@code{tramp}, but not for @kbd{M-x ftp} (@pxref{Network access,,How do +I use FTP within Emacs}). There is no convenient way for either Emacs +or any shell used in @code{shell-mode} to redirect the input and +output of such processes from the console to input and output pipes. +The only workaround is to use a different implementation of the +program that does not use the console directly. Microsoft's new +PowerShell appears to be another such program, so that cannot be used +as a replacement shell for Emacs. + +@node Subprocess buffering +@section Buffering in shells and subprocesses +@cindex subprocesses, buffering output +@cindex output not displaying, subprocesses +@cindex SQL subprocess hanging +@cindex cvs hanging when login needed +@cindex ssh, password prompt not appearing when using with cvs +@findex sql-mode +@findex shell-mode +@cindex setbuf, using in subprocesses to prevent buffering +@cindex setvbuf, using in subprocesses to prevent buffering + +You may notice that some programs, when run in a shell in +@code{shell-mode}, +have their output buffered (e.g., people have found this happening to +them with @code{sql-mode}). When the program has a lot of output, it +overflows the buffering and gets printed to the shell buffer; however, +if the program only outputs a small amount of text, it will remain +buffered and won't appear in the shell buffer. The same can happen +in other subprocesses that themselves run other programs as +subprocesses, for example when using @command{cvs} from Emacs, which +is itself configured to use @command{ssh}, password prompts fail to +appear when expected, and @command{cvs} appears to hang. + +Although it may at first seem like the shell is buffering the output +from the program, it is actually the program that is buffering +output. The C runtime typically decides how to buffer output based +upon whether stdout is bound to a handle to a console window or +not. If bound to a console window, output is buffered line by line; if +bound to a block device, such as a file, output is buffered block by +block. + +In a shell buffer, stdout is a pipe handle and so is buffered in +blocks. If you would like the buffering behavior of your program to +behave differently, the program itself is going to have to be changed; +you can use @code{setbuf} and @code{setvbuf} to manipulate +the buffering semantics. + +Some programs handle this by having an explicit flag to control their +buffering behaviour, typically @option{-i} for interactive. Other +programs manage to detect that they are running under Emacs, by +using @samp{getenv("emacs")} internally. + +@menu +* Perl script buffering:: +@end menu + +@node Perl script buffering +@subsection Perl script buffering +@cindex perl, avoiding buffering when used as a subprocess of Emacs + +A handy solution for Perl scripts to the above problem is to use: + +@example +# Turn all buffering off. +select((select(STDOUT), $| = 1)[0]); +select((select(STDERR), $| = 1)[0]); +select((select(STDIN), $| = 1)[0]); +@end example + +@node Subprocesses and floppy drive +@section 16-bit subprocesses accessing the floppy drive +@cindex floppy drive, access when subprocesses started +@cindex subprocess starting causes floppy drive access + +If you are finding the 16 bit DOS subprocesses cause your A: drive to +be accessed, hanging Emacs until the read times out if there is no +floppy in the drive, check to see if your virus software is causing +the problem. + +@node Killing subprocesses +@section Killing subprocesses on Windows 95/98/Me +@cindex subprocess, killing on Windows 95/98/ME +@cindex killing subprocesses, Windows 95/98/ME +@cindex shutdown, complaints about cmdproxy.exe running + +Emacs cannot guarantee that a subprocess gets killed on Windows 95 and +its descendants, and it is a difficult limitation to work around. To +avoid problems on these systems, you should let subprocesses run to +completion including explicitly exiting shells before killing the +associated buffer. + +If you find that while shutting down, Windows complains that there is +a running @command{cmdproxy.exe} even though you carefully exited all +shells and none were showing in Task Manager before the shutdown, this +could be due to buggy interaction with your virus scanner. + +@node Subprocess EOF +@section Sending EOF to subprocesses +@cindex EOF, sending to subprocesses +@cindex shell terminates when EOF sent to subprocess +@findex process-send-eof + +When an EOF is sent to a subprocess running in an interactive shell +with @code{process-send-eof}, the shell terminates unexpectedly as +if its input was closed. This affects the use of @kbd{C-c C-d} in +shell buffers. See +@uref{http://www.gnu.org/software/emacs/windows/ntemacs/todo/shell-ctrl-d, +this discussion} for more details. + +@node Using shell +@section How do I use a shell in Emacs? +@cindex interactive shell, using +@cindex shell within emacs, using +@findex shell +@findex shell-command +@vindex shell-file-name +@vindex explicit-shell-file-name + +You can start an interactive shell in Emacs by typing @kbd{M-x shell}. +Emacs uses the @env{SHELL} environment variable to determine which +program to use as the shell. To instruct Emacs to use a non-default +shell, you can either set this environment variable, or customize +@code{explicit-shell-file-name}. You can also customize +@code{shell-file-name} to change the shell that will be used by +subprocesses that are started with @code{shell-command} and +related non-interactive shell commands. + +@menu +* Bash:: +@end menu + +@node Bash +@subsection bash +@cindex cygwin bash as shell within Emacs +@cindex shell, using cygwin bash within Emacs +@cindex bash, using cygwin shell within Emacs +@vindex comint-scroll-show-maximum-output +@vindex comint-completion-addsuffix +@vindex comint-eol-on-send +@vindex w32-quote-process-args +@vindex shell-mode-hook + +Cygwin bash is a popular shell for use with Emacs. To use bash as the +default shell in Emacs, you can place the following in your init file: + +@example +(defun my-shell-setup () + "For Cygwin bash under Emacs 20" + (setq comint-scroll-show-maximum-output 'this) + (make-variable-buffer-local 'comint-completion-addsuffix)) + (setq comint-completion-addsuffix t) + ;; (setq comint-process-echoes t) ;; reported that this is no longer needed + (setq comint-eol-on-send t) + (setq w32-quote-process-args ?\") + +(setq shell-mode-hook 'my-shell-setup) +@end example + +If you find that you are having trouble with Emacs tracking drive +changes with bash, see Mike Fabian's +@uref{http://www.gnu.org/software/emacs/windows/ntemacs/discuss/drive-tracking, +note}. + +WARNING: Some versions of bash set and use the environment variable +PID. For some as yet unknown reason, if @env{PID} is set and Emacs +passes it on to bash subshells, bash dies (Emacs can inherit the +@env{PID} variable if it's started from a bash shell). If you clear +the @env{PID} variable in your init file, you should be able to +continue to use bash as your subshell: +@example + (setenv "PID" nil) +@end example + +@node Cygwin paths +@section How do I use Cygwin style paths in Emacs? +@cindex cygwin paths, using within Emacs +@cindex mount points, cygwin +@cindex cygwin mount points, using within Emacs + +The package +@uref{http://www.emacswiki.org/cgi-bin/wiki/cygwin-mount.el, +cygwin-mount.el} teaches Emacs about Cygwin mount points. + +@node Dired ls +@section How do I make dired use my ls program? +@cindex dired, using an external ls program +@cindex dired, interpreting symlinks the same way as cygwin +@cindex symlinks in dired, interpreting the same way as cygwin +@cindex cygwin symlinks in dired +@vindex ls-lisp-use-insert-directory-program +@vindex insert-directory-program + +Dired uses an internal lisp implementation of @command{ls} by default +on Windows. For consistent display of symbolic links and other +information with other programs (eg Cygwin) and performance reasons, +you may want to use a Windows port of @command{ls} instead. + +@example +(setq ls-lisp-use-insert-directory-program t) ;; use external ls +(setq insert-directory-program "c:/cygwin/bin/ls") ;; ls program name +@end example + +@node Shell echo +@section How do I prevent shell commands from being echoed? +@cindex echo, suppressing for shell input +@cindex shell commands, suppressing echo +@vindex comint-process-echoes +@vindex comint-mode-hook +@vindex explicit-cmd.exe-args +@vindex explicit-cmdproxy.exe-args +@vindex explicit-bash.exe-args +@vindex explicit-bash-args +@cindex shell specific arguments + +Some shells echo the commands that you send to them, and the echoed +commands appear in the output buffer. In particular, the default +shells, @command{command.com} and @command{cmd.exe}, have this behavior. + +To prevent echoed commands from being printed, you can place the +following in your init file: + +@example + (defun my-comint-init () + (setq comint-process-echoes t)) + (add-hook 'comint-mode-hook 'my-comint-init) +@end example + +If @code{shell-mode} still is not stripping echoed commands, then +you'll have to explicitly tell the shell to not echo commands. You can +do this by setting the @code{explicit-@var{SHELL}-args} variable +appropriately; where @var{SHELL} is the value of your @env{SHELL} +environment variable (do a @kbd{M-: (getenv "SHELL")} to see what it +is currently set to). Assuming that you are on NT and that your +@env{SHELL} environment variable is set to @command{cmd.exe}, +then placing the following in your init file will tell +@command{cmd.exe} to not echo commands: + +@example + (setq explicit-cmd.exe-args '("/q")) +@end example + +The comint package will use the value of this variable as an argument +to @command{cmd.exe} every time it starts up a new shell; the +@option{/q} is the argument to @command{cmd.exe} that stops the +echoing (invoking @samp{cmd /?} in a shell will show you all of the +command line arguments to @command{cmd.exe}). + +Note that this variable is case sensitive; if the value of your +@env{SHELL} environment variable is @command{CMD.EXE} instead, then +this variable needs to be named @code{explicit-CMD.EXE-args} instead. + +@node Shell completion forward slash +@section How can I make shell completion use forward slashes? +@cindex completion, using forward slashes in shell buffers +@cindex forward slashes for completion in shell buffers +@vindex comint-completion-addsuffix + +The character appended to directory names when completing in a shell +buffer is controlled by the variable @code{comint-completion-addsuffix}. +See its documentation (with @kbd{C-h v}) for details. + +@node Incorrect DOS version +@section Why do I get incorrect DOS version messages? +@cindex nmake, Incorrect DOS version messages +@cindex shell, Incorrect DOS version messages +@cindex COMSPEC, effect on subprocesses of subprocesses + +This might happen if, for example, you invoke @command{nmake} in a +shell and it tries to create sub-shells. The problem happens because +when the shell is initially created, the first argument to the shell +is not the directory in which the shell program resides. When this +happens, @command{command.com} fabricates a value for its +@env{COMSPEC} environment variable that is incorrect. Then, when +other programs go to use @env{COMSPEC} to find the shell, they are +given the wrong value. + +The fix for this is to either prevent any arguments from being sent to +the shell when it starts up (in which case @command{command.com} will +use a default, and correct, value for @env{COMSPEC}), or to have the +first argument be the directory in which the shell executable resides. + +@node Shell commands do nothing +@section Why is nothing happening when I enter shell commands? +@cindex shell commands not working +@cindex anti-virus software, bad interaction with +@cindex virus software, bad interaction with +@cindex firewall, bad interaction with +@cindex scan all files, anti-virus option causing problems +@cindex auto protect, anti-virus option causing problems +@cindex shell, interacting badly with anti-virus + +Some anti-virus software has been reported to cause problems with +shells in the past. Try turning off options such as ``Scan all +files''. @xref{Installing Emacs,,What known problems are there with anti-virus software?}. + +@c ------------------------------------------------------------ +@node Network access +@chapter Network access + +@menu +* Mail:: +* Attachments with Gnus:: +* Using FTP:: +* Tramp ssh:: +* telnet:: +@end menu + +@node Mail +@section How do I use mail in Emacs? + +Emacs comes with several options for reading and writing mail. These +are documented in the manual, and the choice of which method to use +depends on personal taste. There are some issues specific to Windows +however, related to the fact that Windows machines do not have the +mail infrastructure that is commonly installed on other platforms, so +mail will not work without some configuration. + +@menu +* Outgoing mail:: +* Incoming mail with Rmail:: +* Incoming mail with Gnus:: +* Incoming mail other:: +@end menu + +@node Outgoing mail +@subsection Outgoing mail +@cindex mail, outgoing +@cindex smtp server +@vindex user-full-name +@vindex user-mail-address +@vindex smtpmail-default-smtp-server +@vindex smtpmail-smtp-server +@vindex send-mail-command +@vindex message-send-mail-function +@findex smtpmail-send-it +@vindex smtpmail-debug-info + +For outgoing mail, you will need to use @file{smtpmail.el} which +allows Emacs to talk directly to SMTP mail servers. This is included +with Emacs, and can be set up as follows: + +@example +(setq user-full-name "@var{Your full name}") +(setq user-mail-address "@var{Your@@email.address}") +(setq smtpmail-default-smtp-server "@var{domain.name.of.your.smtp.server}") + +(setq send-mail-command 'smtpmail-send-it) ; For mail-mode (Rmail) +(setq message-send-mail-function 'smtpmail-send-it) ; For message-mode (Gnus) +@end example + +Note that if you want to change the name of the SMTP server after +smtpmail is loaded, then you'll need to change +@code{smtpmail-smtp-server}. + +If you are experiencing problems with sending large messages, check +the value of the variable @code{smtpmail-debug-info}. If it is non-nil, you +should set it to @code{nil}: + +@node Incoming mail with Rmail +@subsection Incoming mail with Rmail and POP3 +@cindex mail, incoming with rmail +@cindex pop3, using rmail +@cindex rmail, mail client +@cindex movemail, using pop3 +@cindex MAILHOST +@vindex rmail-primary-inbox-list +@vindex rmail-pop-password-required + +For incoming mail using the Rmail package and a POP3 server, you will +need the following configuration: + +@example +(setenv "MAILHOST" "@var{domain.name.of.your.pop3.server}") +(setq rmail-primary-inbox-list '("po:@var{your logon id}")) +(setq rmail-pop-password-required t) +@end example + +@node Incoming mail with Gnus +@subsection Incoming mail with Gnus +@cindex mail, incoming with Gnus +@cindex pop3, using Gnus +@cindex imap, using Gnus +@cindex gnus, mail and news client + +Although Gnus started life as a Usenet news reader, it also makes a +good mail reader, particularly if you subscribe to a lot of mailing +lists, or you want to use IMAP rather than POP3, which is not +supported by Rmail. @xref{Top,The Gnus manual,,gnus, The Gnus manual}. + +@node Incoming mail other +@subsection Other incoming mail options +@cindex mail, other options +@cindex wanderlust, mail and news client +@cindex vm, mail client +@cindex mh-e, mail client + +Other options for reading mail in Emacs include VM, MH-E and Wanderlust. +MH-E is included with Emacs. The others require lisp or executable code +that does not come with Emacs, so you should seek help where you +obtained the packages from if you want to use them. + +@node Attachments with Gnus +@section How do I open attachments in Gnus? +@cindex gnus, attachments +@cindex attachments, in gnus +@cindex mail, attachments in gnus +@cindex .mailcap +@cindex MIME, configuration for Gnus + +In your @env{HOME} directory create a file called @file{.mailcap}, +with contents like the following: +@example +application/zip "C:/Program Files/7-Zip/7zFM.exe" +video/* "C:/Program Files/VideoLAN/VLC/vlc.exe" +@end example + +@strong{Warning:} Associating MIME types with @command{start} or other +generic Windows commands to open arbitrary files might seem like a +good idea, but it leaves your system as open to attack as Outlook +Express was at its worst. Especially dangerous is associating +application/* or */* in this way. + +@node Using FTP +@section How do I use FTP within Emacs? +@cindex ftp, using within Emacs +@cindex ange-ftp +@cindex tramp, ftp +@cindex remote hosts via ftp +@vindex ange-ftp-ftp-program-name + +Windows built in FTP client can be used with ange-ftp. Ange-ftp is +the Emacs package that provides FTP connectivity to tramp, a +multi-protocol remote file access package for Emacs that is enabled by +default. + +The Windows FTP client does have problems with some firewalls, due to +lack of passive mode support, so you may want to try an alternative +ftp client instead. Make sure that the client you are trying is in +your @env{PATH} before the default Windows client, or rename the +default Windows client to avoid it getting in the way. Alternatively +you can customize @code{ange-ftp-ftp-program-name} to the full path to +the version you are trying. @xref{Other useful ports}. + +@node Tramp ssh +@section How do I use Tramp to work in Emacs via SSH? +@cindex tramp, ssh +@cindex ssh, accessing remote hosts within Emacs +@cindex remote hosts via ssh +@cindex openssh +@cindex PuTTY +@cindex plink +@vindex tramp-default-method +@vindex tramp-default-method-alist + +Tramp can use a number of protocols to connect to remote machines to +read files and even run commands on those files remotely. A popular +one is ssh. As well as Cygwin versions of openssh, you can use +PuTTY's command line plink program as the ssh client. The relevant +methods to use in @code{tramp-default-method} or +@code{tramp-default-method-alist} for these options are: +@itemize @w{} +@item +openssh +@itemize +@item @code{scp} Uses scp for copying, ssh for shell operations. +@item @code{scp1} scp with forced SSH protocol version 1 +@item @code{scp2} scp with forced SSH protocol version 2 +@item @code{ssh} Uses ssh with encoding on stdin/stdout for file transfer. +@item @code{ssh1} ssh with forced SSH protocol version 1 +@item @code{ssh2} ssh with forced SSH protocol version 2 +@end itemize + +@item +PuTTY +@itemize +@item @code{pscp} Uses pscp for copying, plink for shell operations. +@item @code{pscp1} pscp, with forced SSH protocol version 1 +@item @code{pscp2} pscp, with forced SSH protocol version 2 +@item @code{plink} Uses plink with encoding on stdin/stdout for file transfer. +@item @code{plink1} plink with forced SSH protocol version 1 +@item @code{plink2} plink with forced SSH protocol version 2 +@end itemize +@end itemize + +@node telnet +@section How do I use telnet with Emacs? +@cindex telnet, in Emacs +@findex telnet +@cindex telnet client, that works with Emacs + +To use telnet-mode on Windows, you need a telnet client that uses +stdin and stdout for input and output. The default Windows client is +a Windows application, and will not work as a subprocess. Several +options exist, but information that was formerly in this FAQ is out of +date now, so no concrete pointers are available. + +@c ------------------------------------------------------------ +@node Text and Utility modes +@chapter Text and Utility modes + +@menu +* TeX:: +* Spell check:: +* Encryption:: +* Mouse wheel:: +* Grep:: +@end menu + +@node TeX +@section How do I use TeX with Emacs? +@cindex tex +@cindex typesetting + +You will need an implementation of TeX for Windows. +A number of implementations are listed on the +@uref{http://www.tug.org/interest.html#free, TeX Users Group} website. + +@menu +* AUCTeX:: +@end menu + +@node AUCTeX +@subsection AUCTeX +@cindex auctex, precompiled for Windows +@cindex latex +@cindex preview-latex + +AUCTeX is an Emacs package for writing LaTeX files, which also +includes preview-latex, an Emacs mode for previewing the formatted +contents of LaTeX documents. Pre-compiled versions for Windows are +available from +@uref{http://www.gnu.org/software/auctex/download-for-windows.html, the +AUCTeX site}. + +@node Spell check +@section How do I perform spell checks? +@cindex spell checking +@cindex ispell +@cindex aspell +@cindex flyspell +@vindex ispell-program-name +@findex flyspell-mode + +Emacs has support for spell checking on demand (@code{ispell}) and as +your type (@code{flyspell}). Both packages depend on a copy of +@command{ispell} 3.2 or a compatible spell-checking program. +GNU Aspell is a popular choice these days, Windows installers are +available from the @uref{http://aspell.net/win32/, official site}. + +Once installed, you will need to configure @code{ispell-program-name} +to tell ispell and flyspell to use @command{aspell} as a replacement for +ispell. You can include the full path to the @file{aspell} binary, which +means you do not need to add its installation directory to the @env{PATH}. + +@node Encryption +@section Emacs and encryption +@cindex encryption +@cindex gpg, Windows binaries +@cindex pgp encryption, with GNU Privacy Guard +@cindex signatures on Emacs distribution, checking +@cindex Emacs distribution, checking digital signatures + +GNU Privacy Guard is a Free replacement for PGP, with Windows binaries +available. See @uref{http://www.gnupg.org/}. + +@node Mouse wheel +@section Why doesn't my wheel mouse work in Emacs? +@cindex mouse wheel +@cindex wheel mouse +@cindex middle button, on wheel mouse +@cindex scrolling, with mouse wheel + +Some wheel mice ship with default settings that do not send the +standard wheel events to programs, but instead try to simulate scroll +bar events. Usually this is configurable from the hardware specific +pages on the mouse control panel. The middle button is often mapped +in the same settings to have some functionality other than sending +middle mouse button events. In some cases, uninstalling the +manufacturer's drivers and telling Windows to use the generic USB or +PS/2 drivers is the only way to make the mouse work properly. + +@node Grep +@section How do I use grep with Emacs? +@cindex searching through files with grep +@cindex grep +@cindex findstr +@findex grep + +The best way to use @kbd{M-x grep} with Emacs is to download a port of +GNU @command{grep}. @xref{Other useful ports}. + +If you want a quick solution without installing extra tools, a poor +substitute that works for simple text searches is to specify the built +in Windows command @command{findstr} as the command to run at the +@kbd{M-x grep} prompt. Normally you will want to use the @option{/n} +argument to @command{findstr}. + +@menu +* Recursive grep:: +@end menu + +@node Recursive grep +@subsection How do I do a recursive grep? +@cindex recursive searching with grep +@cindex grep, recursive through subdirectories +@cindex findstr, recursive +@cindex find, using with grep +@cindex find, the POSIX command +@findex rgrep +@findex grep-find +@findex find-grep-dired +@vindex find-program +@vindex grep-find-command + +The Emacs commands @code{rgrep}, @code{grep-find} +and @code{find-grep-dired} are all different interfaces for +grepping recursively into subdirectories. By default, they use the +command @command{find} to determine which files to work on, and either +run @command{grep} directly from find, or use @command{xargs} to batch +up files and reduce the number of invocations of @command{grep}. + +Windows also comes with a @command{find} command, but it is not in any +way compatible with the POSIX @command{find} that Emacs tries to use. +Emacs expects a @command{find} compatible with GNU findutils. +@xref{Other useful ports}. After you have installed it, you will need +to make sure that Emacs finds this version, not the standard Windows +@command{find} command. You can do this by either renaming the +Windows command, changing your @env{PATH} to ensure that the directory +containing the findutils @file{bin} directory comes before the Windows +system directory, or set the variable @code{find-program} to the full +path to the findutils @command{find} command. + +An alternative if you have a recent version of grep is to customize +@code{grep-find-command} to use @samp{grep -r} instead of both find +and grep. Another alternative if you don't need the full capabilities +of grep is to use @samp{findstr /n /r}. + +@c ------------------------------------------------------------ +@node Developing with Emacs +@chapter Developing with Emacs + +@menu +* MSVC:: +* Borland C++ Builder:: +* Version control:: +* Perldb:: +@end menu + +@node MSVC +@section How do I use Emacs with Microsoft Visual C++ + +There are two ways you can use Emacs in conjunction with MSVC. You +can use Emacs as the editor, and do everything else in the DevStudio +IDE. Or you can use Emacs as an IDE, calling the MSVC command line +tools to build your project. + +@menu +* DevStudio:: +* MSVC command line:: +@end menu + +@node DevStudio +@subsection Emacs as the text editor for DevStudio +@cindex DevStudio, using Emacs as editor in +@cindex MSVC++, using Emacs as editor with +@cindex Visual Studio, using Emacs as editor in +@cindex VisEmacs, add in for MS Developer Studio + +Christopher Payne wrote a Visual Studio add-in that makes Emacs the +default text editor, this has now been taken over by Jeff Paquette. +See the following two URLS for details: +@itemize +@item @uref{http://sourceforge.net/projects/visemacs/} for the latest version. +@item @uref{http://www.smathers.net/VisEmacs.htm} for notes on usage. +@end itemize + +@node MSVC command line +@subsection Using MSVC command line tools from Emacs +@cindex MSVC++, compiling within Emacs +@findex compile + +This is an app note on how to use Microsoft Visual C++ with Emacs. The +experiments done below were done with Emacs 19.34.1 on Windows 95, +using Visual C++ 4.0 Standard Edition. Your mileage may vary. + +This writeup assumes minimal knowledge of Emacs hacking on the part of +the reader. + +@menu +* VC++ environment:: +* Default compile command:: +* Reverting buffers:: +* Edit MSVC:: +@end menu + +@node VC++ environment +@subsubsection VC++ Environment Variables +@cindex vcvars32.bat +@cindex MSVC++, environment variables + +There is a batch file in your VC++ installation's bin directory called +@file{vcvars32.bat}, which sets up the environment variables needed to +run the VC++ command line tools. Arrange for those same environment +variables to be set in your Emacs session. You can do this on Windows +9x by calling the @file{vcvars32.bat} script from @file{autoexec.bat}. +On other versions of Windows you can set the environment variables +globally using the System control panel. + +For all versions of Windows you can alternatively set the variables +just inside Emacs by using @code{setenv} calls in your init file. +@xref{Installing Emacs,,Where do I put my init file?}. + +You should now be able to compile from Emacs. Load a source file from +a VC++ project. Type @kbd{M-x compile}. Replace the proposed command line +with: +@example +nmake -f @var{ProjectName}.mak +@end example + +You will find that this defaults to a debug build. You can change it +to a release build with: +@example +nmake -f @var{ProjectName}.mak CFG="@var{ProjectName} - Win32 Release" +@end example + +@node Default compile command +@subsubsection Setting the default compile command +@cindex compile, setting default command +@cindex nmake, as default compile command +@vindex compile-command + +Now set the default value for the compile command line. Add the +following to your init file: + +@example +;; Set up for Visual C++ compiling +(setq compile-command "nmake -f ") +@end example + +If you work on the same project long term, you can add the project +makefile to the string. + +David Biesack suggests that perhaps it's +easy to write a @file{Makefile} in the project directory which does + +@example +PROJECT=MyProject +all: debug +debug: FORCE + nmake /f $(PROJECT).mak CFG="$(PROJECT) - Win32 Debug" +release: FORCE + nmake /f $(PROJECT).mak CFG="$(PROJECT) - Win32 Release" +FORCE: +@end example + +and then you can simply change compile-command to @command{nmake}. + +Caleb T. Deupree reports that on VC++ +5.0 and up, "You can also set an option in Options/Build to export a +makefile every time the project is saved, which you can then use to +compile with @samp{nmake -f project.mak}." VC++ 4.0 builds the make file +every time, and there is no option. + +@node Reverting buffers +@subsubsection Reverting Buffers +@cindex DevStudio, keeping source in sync +@cindex Visual Studio, keeping source in sync +@cindex MSVC++, keeping source in sync +@findex auto-revert-mode +@findex global-auto-revert-mode + +It is recommended that you use @code{auto-revert-mode} in buffers +that you have open in both Emacs and MSVC++ at the same time. Then if +you mistakenly edit the file in MSVC++, Emacs will pick up your +changes immediately, rather than after you have written lots more code +and attempt to save. + +@node Edit MSVC +@subsubsection Edit with Emacs function for MSVC +@cindex DevStudio, load in Emacs command +@cindex Visual Studio, load in Emacs command +@cindex MSVC++, load in Emacs command +@cindex emacsclient, calling from Visual Studio + +You can also set up VC++ to import a file into Emacs for you, all +ready for editing. In VC++, go to the @code{Tools} pull-down menu, and +click on @code{Customize...}. In the @code{Tools} tab, click on +@code{Add}. Use @code{Browse} to locate the +@file{emacsclientw.exe} file in your Emacs bin directory, and +select it. For arguments, use @option{+$(CurLine)} +@option{"$(FilePath)"} and for the directory use the @code{$(WkspDir)} +(the quotes around FilePath handle paths with spaces in them). Set the +Menu Text to say "Em&acs". The @option{+$(CurLine)} will set point in +Emacs to the same line as the cursor position in VC++. The ampersand +in the word @code{Em&acs} allows you to select emacs from the keyboard. (E +is already used for the OLE control test container.) + +You should now be able to go to any source file in your project. Then, +use the pull-down menu @code{Tools->Emacs}. The active file in your +VC++ IDE should now be front and center in Emacs, all ready to edit as +you wish. If you use keystrokes to work the menus, try @kbd{Alt-T A} to +move the file into Emacs. Binding this tool to a keystroke will be +left as an exercise for the student. + +If you have the option of saving files before running tools, make sure +this option is set. (I don't see it on VC++ 4.0.) + +@node Borland C++ Builder +@section Emacs and Borland C++ Builder +@cindex Borland C++, integration with Emacs + +Jonathan Arnold has written an +@uref{http://www.buddydog.org/C++Builder/c++builder.html, EmacsEdit +``expert''} for interfacing C++ Builder and Emacs. + +@node Version control +@section Is there a version of my VC software I can use with Emacs? +@cindex version control, integration with Emacs +@cindex revision control, integration with Emacs +@cindex source control, integration with Emacs +@cindex cvs, version control integration with Emacs +@cindex rcs, version control integration with Emacs +@cindex svn, version control integration with Emacs +@cindex git, version control integration with Emacs +@cindex bzr, version control integration with Emacs +@cindex arch, version control integration with Emacs +@cindex mercurial, version control integration with Emacs +@cindex hg, version control integration with Emacs +@cindex monotone, version control integration with Emacs +@cindex mcvs, version control integration with Emacs + +If you are using a graphical revision control tool already, check if +it comes with command-line tools. Many such GUI tools are just +wrappers for the same command line tools that Emacs requires for its +VC integration. Most of the supported VC systems have well supported +Free native Windows binaries. For those that don't Cygwin may be an option. +@xref{Other useful ports}. + +@node Perldb +@section How do I use the Perl debugger with Emacs? +@cindex perl, debugging within Emacs +@cindex perldb, using with Emacs + +From Jay Rogers: + +Some versions of the perl debugger itself need to be patched to work +with emacs. They are perl versions 5.001 and less, and version +5.004_01. To fix, locate and change the code similar to the following +code in lib/perl5db.pl +@example + if (-e "/dev/tty") @{ + $console = "/dev/tty"; + $rcfile=".perldb"; + @} + elsif (-e "con") @{ + $console = ""; <---- change "con" to "" + $rcfile="perldb.ini"; + @} + else @{ + $console = "sys\$command"; + $rcfile="perldb.ini"; + @} +@end example + +Doug Campbell also has some +@uref{http://www.gnu.org/software/emacs/windows/ntemacs/discuss/perldb, +suggestions} for improving the interaction of perldb and Emacs. + +@c ------------------------------------------------------------ +@node Other useful ports +@chapter Other useful ports +@cindex useful tools +@cindex subprocesses, useful tools + +@menu +* Cygwin:: +* MinGW:: +* UWIN:: +* GnuWin32:: +* GTK:: +* Read man pages:: +@end menu + +@node Cygwin +@section Cygwin +@cindex cygwin environment +@cindex cygwin, library conflicts +@cindex library conflicts with cygwin +@cindex interoperability with cygwin +@cindex subprocesses, cygwin tools +@vindex exec-path + +@uref{http://www.cygwin.com/}. + +Cygwin is a popular complete POSIX emulation environment for Windows. +Most of its tools can be used with Emacs, and it covers a wide range +of ported software. The main shell used by Cygwin is GNU +@command{bash}, but other shells are also available. Some Cygwin +tools may not interoperate well with Emacs or other native Windows +tools, due to the total immersion aspect of Cygwin, including its +non-native filesystem mapping. + +If you choose to use Cygwin, then its tools will probably be all that +you need, but you will need to get image libraries from elsewhere, as +the Cygwin ones are not compatible with non-Cygwin software. In fact, +if Cygwin is on your PATH when you run Emacs, and Emacs does not find +other versions of the image libraries first, then the Cygwin ones can +cause problems. Cygwin developers recommend that you do not put +Cygwin on your system @env{PATH} for this reason. Instead you can +make the Cygwin tools available within Emacs by setting @code{exec-path} +in your init file. + +@node MinGW +@section MinGW and MSYS +@cindex mingw tools +@cindex msys environment +@cindex subprocesses, mingw and msys + +@uref{http://www.mingw.org/} + +MinGW is a set of development tools that produce native Windows +executables, not dependent on Cygwin's POSIX emulation DLLs. + +MSYS is a POSIX shell and minimal set of tools that are commonly used in +configure scripts. Like Cygwin, this environment uses a non-native +filesystem mapping to appear more POSIX like to the scripts that it +runs. This is intended to complement the MinGW tools to make it easier +to port software to Windows. + +@node UWIN +@section UWIN +@cindex uwin environment +@cindex subprocesses, uwin + +@uref{http://www.research.att.com/sw/tools/uwin/} + +UWIN is another POSIX emulation environment, like Cygwin and MSYS, +that provides a large number of ported tools. The shell used by UWIN +is @command{ksh}, the Korn shell. + +@node GnuWin32 +@section GnuWin32 +@cindex gnuwin32 tools +@cindex subprocesses, gnuwin32 +@cindex image libraries, gnuwin32 +@cindex image libraries, development + +@uref{http://gnuwin32.sourceforge.net/} + +GnuWin32 provides precompiled native Windows ports of a wide selection +of Free software and libraries. Tools available here that are useful +for Emacs include: + +@itemize +@item Arc - used by @code{archive-mode} to edit .arc files. +@item Bzip2 - used by Emacs to automatically decompress .bz2 files. +@item CompFace - used by @code{gnus} to display XFace headers in messages. +@item CoreUtils - GNU file, shell and text utilities (also in MSYS) +@item DiffUtils - for @code{ediff} and producing patches +@item FindUtils - for @code{grep-find} and other file searches. +@item GifLib - library to support GIF images. +@item Grep - for searching through files with @code{grep}. +@item Gzip - used by Emacs to automatically decompress .gz files. +@item Jpeg - library to support JPEG images (also in GTK). +@item Lha - used by @code{archive-mode} to edit .lzh files. +@item LibPng - library to support PNG images (also in GTK). +@item LibTiff - library to support TIFF images (also in GTK). +@item Make - used by @code{compile} for building projects (also in MinGW) +@item OpenSSL - used by @code{gnus} to talk to servers over SSL. +@item Patch - used by @code{ediff-patch-file} and others to apply patches. +@item Tar - used by @code{tar-mode} to edit tar files. +@item TexInfo - used to build Emacs' manuals. +@item Unzip - used by @code{archive-mode} for extracting zip files. +@item Xpm - library to support XPM images (bundled with Emacs binaries) +@item Zip - used by @code{archive-mode} for editing zip files. +@item Zlib - required by LibPng (also in GTK). +@end itemize + +@node GTK +@section GTK +@cindex GTK image libraries +@cindex image libraries, GTK +@cindex addpm, using GTK image libraries + +GTK is a potential source for some of the image libraries that Emacs +requires. GTK is installed along with other ports of GUI software, +such as the GIMP image editor, and Pidgin instant messenger client. +If GTK is installed when you run @command{addpm}, Emacs will use the +image libraries that it provides, even if they are not on the +@env{PATH}. GTK ships with JPEG, PNG and TIFF support. + +@node Read man pages +@section How do I read man pages? +@cindex man pages +@findex woman +@findex man + +Man pages for Emacs and other ported programs that you have can be +read using Emacs' built-in manual reader @code{woman}. This +requires no external programs, but if you do have a port of +@command{man}, there is also an Emacs wrapper @code{man} that +which may be slightly faster. + +@c ------------------------------------------------------------ +@node Further information +@chapter Further information + +@menu +* More information:: +* Mailing lists:: +@end menu + +@node More information +@section Where can I get more information about Emacs? +@cindex other sources of information +@cindex faqs, general +@cindex faqs, old +@cindex help, manuals and other sources +@cindex manuals +@cindex wiki + +If you have general questions about Emacs, the best places to start +looking are @ref{Top,,, emacs, The GNU Emacs Manual}, and +@ref{Top,,, efaq, the standard Emacs FAQ}. +In Emacs, you can browse the manual using Info by typing @kbd{C-h r}, +and you can view the FAQ by typing @kbd{C-h C-f}. Other resources include: + +@itemize +@item @uref{http://www.gnu.org/software/emacs/, The Emacs homepage} +@item @uref{http://www.gnu.org/software/emacs/manual/, Other Emacs manuals} +@item @uref{http://www.emacswiki.org/, Emacs Wiki} +@end itemize + +@node Mailing lists +@section What mailing lists are there for discussing Emacs on Windows? +@cindex mailing lists +@cindex help, mailing lists + +The official mailing list for Windows specific help and discussion is +@url{http://lists.gnu.org/mailman/listinfo/help-emacs-windows, +help-emacs-windows}. See that link for information on how to subscribe +or unsubscribe. The +@uref{http://lists.gnu.org/archive/html/help-emacs-windows/, list archives} +are available online. + +@c ------------------------------------------------------------ +@node Indexes +@unnumbered Indexes + +@unnumberedsec Function and Variable Index + +@printindex fn + +@unnumberedsec Concept Index + +@printindex cp + +@bye -- cgit v1.2.1 From c076ba953a2c7fe2b4ea80a66bec55250f5b6920 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 27 Aug 2013 01:04:08 -0700 Subject: * doc/misc/Makefile.in (webhack): Remove; it's nothing to do with Emacs. Presumably it is some Gnus thing. --- doc/misc/ChangeLog | 2 ++ doc/misc/Makefile.in | 4 ---- 2 files changed, 2 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index b0a2b4cf526..4f1bb51c728 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,5 +1,7 @@ 2013-08-27 Glenn Morris + * Makefile.in (webhack): Remove; it's nothing to do with Emacs. + * efaq-w32.texi: Move here from the web-pages repository. * Makefile.in (DOCMISC_DVI_W32, DOCMISC_HTML_W32, DOCMISC_INFO_W32) (DOCMISC_PDF_W32, DOCMISC_PS_W32): New configure output variables. diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index bf9daf4d966..e3a30180330 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in @@ -345,10 +345,6 @@ echo-info: @echo "$(INFO_INSTALL) " | \ sed -e 's|[^ ]*/||g' -e 's/\.info//g' -e "s/ */$(INFO_EXT) /g" -# please modify this for all the web manual targets -webhack: clean - $(MAKE) pdf MAKEINFO_OPTS="-DWEBHACKDEVEL $(MAKEINFO_OPTS)" - dvi: $(DVI_TARGETS) html: $(HTML_TARGETS) -- cgit v1.2.1 From 79c238dc2f930224a7c87fa2f3370303ae7e5c29 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 27 Aug 2013 01:14:58 -0700 Subject: * doc/misc/efaq-w32.texi (EMACSVER): Get it from emacsver.texi. --- doc/misc/ChangeLog | 2 ++ doc/misc/efaq-w32.texi | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 4f1bb51c728..03af4b34942 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,5 +1,7 @@ 2013-08-27 Glenn Morris + * efaq-w32.texi (EMACSVER): Get it from emacsver.texi. + * Makefile.in (webhack): Remove; it's nothing to do with Emacs. * efaq-w32.texi: Move here from the web-pages repository. diff --git a/doc/misc/efaq-w32.texi b/doc/misc/efaq-w32.texi index 480d7d2a175..c6f44cea2b8 100644 --- a/doc/misc/efaq-w32.texi +++ b/doc/misc/efaq-w32.texi @@ -11,7 +11,7 @@ Answers to Frequently asked Questions about using Emacs on Microsoft Windows. @end documentdescription -@set EMACSVER 24.3 +@include emacsver.texi @documentencoding utf-8 @documentlanguage en @@ -58,7 +58,8 @@ itself allows free copying and redistribution. @node Top @top GNU Emacs FAQ for MS Windows -This is the GNU Emacs FAQ for MS Windows. +This is the FAQ for using GNU Emacs on MS Windows, as distributed with +Emacs @value{EMACSVER}. This FAQ is maintained by the developers and users of Emacs on MS Windows. If you find any errors, or have any suggestions, please send them to -- cgit v1.2.1 From 278208b8e6917af1e7e2623a3869614fa70059ed Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 27 Aug 2013 13:19:04 -0400 Subject: * doc/misc/efaq.texi: Rename from faq.texi, to match its output files. * doc/misc/Makefile.in: Update for faq.texi name change. * admin/admin.el (manual-misc-manuals): "faq" does not need special treatment any more. --- doc/misc/ChangeLog | 3 + doc/misc/Makefile.in | 58 +- doc/misc/efaq.texi | 4449 ++++++++++++++++++++++++++++++++++++++++++++++++++ doc/misc/faq.texi | 4449 -------------------------------------------------- 4 files changed, 4481 insertions(+), 4478 deletions(-) create mode 100644 doc/misc/efaq.texi delete mode 100644 doc/misc/faq.texi (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 03af4b34942..ca620a15b4f 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,5 +1,8 @@ 2013-08-27 Glenn Morris + * efaq.texi: Rename from faq.texi, to match its output files. + * Makefile.in: Update for faq.texi name change. + * efaq-w32.texi (EMACSVER): Get it from emacsver.texi. * Makefile.in (webhack): Remove; it's nothing to do with Emacs. diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index e3a30180330..0ae1edf7069 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in @@ -98,6 +98,7 @@ DVI_TARGETS = $(DOCMISC_DVI_W32) \ ede.dvi \ ediff.dvi \ edt.dvi \ + efaq.dvi \ eieio.dvi \ emacs-mime.dvi \ epa.dvi \ @@ -105,7 +106,6 @@ DVI_TARGETS = $(DOCMISC_DVI_W32) \ ert.dvi \ eshell.dvi \ eudc.dvi \ - faq.dvi \ flymake.dvi \ forms.dvi \ gnus.dvi \ @@ -156,6 +156,7 @@ HTML_TARGETS = $(DOCMISC_HTML_W32) \ ede.html \ ediff.html \ edt.html \ + efaq.html \ eieio.html \ emacs-mime.html \ epa.html \ @@ -163,7 +164,6 @@ HTML_TARGETS = $(DOCMISC_HTML_W32) \ ert.html \ eshell.html \ eudc.html \ - faq.html \ flymake.html \ forms.html \ gnus.html \ @@ -214,6 +214,7 @@ PDF_TARGETS = $(DOCMISC_PDF_W32) \ ede.pdf \ ediff.pdf \ edt.pdf \ + efaq.pdf \ eieio.pdf \ emacs-mime.pdf \ epa.pdf \ @@ -221,7 +222,6 @@ PDF_TARGETS = $(DOCMISC_PDF_W32) \ ert.pdf \ eshell.pdf \ eudc.pdf \ - faq.pdf \ flymake.pdf \ forms.pdf \ gnus.pdf \ @@ -272,6 +272,7 @@ PS_TARGETS = $(DOCMISC_PS_W32) \ ede.ps \ ediff.ps \ edt.ps \ + efaq.ps \ eieio.ps \ emacs-mime.ps \ epa.ps \ @@ -279,7 +280,6 @@ PS_TARGETS = $(DOCMISC_PS_W32) \ ert.ps \ eshell.ps \ eudc.ps \ - faq.ps \ flymake.ps \ forms.ps \ gnus.ps \ @@ -515,6 +515,31 @@ edt.pdf: $(edt_deps) edt.html: $(edt_deps) $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/edt.texi +## No gfdl dependency. +efaq_deps = ${srcdir}/efaq.texi $(emacsdir)/emacsver.texi +efaq : $(buildinfodir)/efaq$(INFO_EXT) +$(buildinfodir)/efaq$(INFO_EXT): $(efaq_deps) + $(mkinfodir) + $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/efaq.texi +efaq.dvi: $(efaq_deps) + $(ENVADD) $(TEXI2DVI) ${srcdir}/efaq.texi +efaq.pdf: $(efaq_deps) + $(ENVADD) $(TEXI2PDF) ${srcdir}/efaq.texi +efaq.html: $(efaq_deps) + $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/efaq.texi + +efaq_w32_deps = ${srcdir}/efaq-w32.texi $(emacsdir)/emacsver.texi +efaq-w32 : $(buildinfodir)/efaq-w32$(INFO_EXT) +$(buildinfodir)/efaq-w32$(INFO_EXT): $(efaq_w32_deps) + $(mkinfodir) + $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/efaq-w32.texi +efaq-w32.dvi: $(efaq_w32_deps) + $(ENVADD) $(TEXI2DVI) ${srcdir}/efaq-w32.texi +efaq-w32.pdf: $(efaq_w32_deps) + $(ENVADD) $(TEXI2PDF) ${srcdir}/efaq-w32.texi +efaq-w32.html: $(efaq_w32_deps) + $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/efaq-w32.texi + eieio_deps = ${srcdir}/eieio.texi ${gfdl} eieio : $(buildinfodir)/eieio$(INFO_EXT) $(buildinfodir)/eieio$(INFO_EXT): $(eieio_deps) @@ -611,31 +636,6 @@ eudc.pdf: $(eudc_deps) eudc.html: $(eudc_deps) $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/eudc.texi -## No gfdl dependency. -faq_deps = ${srcdir}/faq.texi $(emacsdir)/emacsver.texi -efaq : $(buildinfodir)/efaq$(INFO_EXT) -$(buildinfodir)/efaq$(INFO_EXT): $(faq_deps) - $(mkinfodir) - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/faq.texi -faq.dvi: $(faq_deps) - $(ENVADD) $(TEXI2DVI) ${srcdir}/faq.texi -faq.pdf: $(faq_deps) - $(ENVADD) $(TEXI2PDF) ${srcdir}/faq.texi -faq.html: $(faq_deps) - $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/faq.texi - -efaq_w32_deps = ${srcdir}/efaq-w32.texi $(emacsdir)/emacsver.texi -efaq-w32 : $(buildinfodir)/efaq-w32$(INFO_EXT) -$(buildinfodir)/efaq-w32$(INFO_EXT): $(efaq_w32_deps) - $(mkinfodir) - $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/efaq-w32.texi -efaq-w32.dvi: $(efaq_w32_deps) - $(ENVADD) $(TEXI2DVI) ${srcdir}/efaq-w32.texi -efaq-w32.pdf: $(efaq_w32_deps) - $(ENVADD) $(TEXI2PDF) ${srcdir}/efaq-w32.texi -efaq-w32.html: $(efaq_w32_deps) - $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/efaq-w32.texi - flymake_deps = ${srcdir}/flymake.texi ${gfdl} flymake : $(buildinfodir)/flymake$(INFO_EXT) $(buildinfodir)/flymake$(INFO_EXT): $(flymake_deps) diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi new file mode 100644 index 00000000000..1354f68cc9f --- /dev/null +++ b/doc/misc/efaq.texi @@ -0,0 +1,4449 @@ +\input texinfo @c -*- mode: texinfo; -*- +@c %**start of header +@setfilename ../../info/efaq +@settitle GNU Emacs FAQ +@c %**end of header + +@include emacsver.texi + +@c This file is maintained by Romain Francoise . +@c Feel free to install changes without prior permission (but I'd +@c appreciate a notice if you do). + +@copying +Copyright @copyright{} 2001--2013 Free Software Foundation, Inc.@* +Copyright @copyright{} 1994, 1995, 1996, 1997, 1998, 1999, 2000 +Reuven M. Lerner@* +Copyright @copyright{} 1992, 1993 Steven Byrnes@* +Copyright @copyright{} 1990, 1991, 1992 Joseph Brian Wells@* + +@quotation +This list of frequently asked questions about GNU Emacs with answers +(``FAQ'') may be translated into other languages, transformed into other +formats (e.g., Texinfo, Info, WWW, WAIS), and updated with new information. + +The same conditions apply to any derivative of the FAQ as apply to the FAQ +itself. Every copy of the FAQ must include this notice or an approved +translation, information on who is currently maintaining the FAQ and how to +contact them (including their e-mail address), and information on where the +latest version of the FAQ is archived (including FTP information). + +The FAQ may be copied and redistributed under these conditions, except that +the FAQ may not be embedded in a larger literary work unless that work +itself allows free copying and redistribution. + +[This version has been heavily edited since it was included in the Emacs +distribution.] +@end quotation +@end copying + +@dircategory Emacs +@direntry +* Emacs FAQ: (efaq). Frequently Asked Questions about Emacs. +@end direntry + +@c The @titlepage stuff only appears in the printed version +@titlepage +@sp 10 +@center @titlefont{GNU Emacs FAQ} + +@c The following two commands start the copyright page. +@page +@vskip 0pt plus 1filll +@insertcopying +@end titlepage + +@contents + +@node Top, FAQ notation, (dir), (dir) +@top The GNU Emacs FAQ + +This is the GNU Emacs FAQ. + +This FAQ is maintained as a part of GNU Emacs. If you find any errors, +or have any suggestions, please use @kbd{M-x report-emacs-bug} to report +them. + +This is the version of the FAQ distributed with Emacs @value{EMACSVER}, and +mainly describes that version. Although there is some information on +older versions, details about very old releases (now only of historical +interest) have been removed. If you are interested in this, consult +either the version of the FAQ distributed with older versions of Emacs, +or the history of this document in the Emacs source repository. + +Since Emacs releases are very stable, we recommend always running the +latest release. + +This FAQ is not updated very frequently. When you have a question about +Emacs, the Emacs manual is often the best starting point. + +@ifnottex +@insertcopying +@end ifnottex + +@menu +* FAQ notation:: +* General questions:: +* Getting help:: +* Status of Emacs:: +* Common requests:: +* Bugs and problems:: +* Compiling and installing Emacs:: +* Finding Emacs and related packages:: +* Key bindings:: +* Alternate character sets:: +* Mail and news:: +* Concept index:: +@end menu + +@c ------------------------------------------------------------ +@node FAQ notation +@chapter FAQ notation +@cindex FAQ notation + +This chapter describes notation used in the GNU Emacs FAQ, as well as in +the Emacs documentation. Consult this section if this is the first time +you are reading the FAQ, or if you are confused by notation or terms +used in the FAQ. + +@menu +* Basic keys:: +* Extended commands:: +* Emacs manual:: +* File-name conventions:: +* Common acronyms:: +@end menu + +@node Basic keys +@section What do these mean: @kbd{C-h}, @kbd{C-M-a}, @key{RET}, @kbd{@key{ESC} a}, etc.? +@cindex Basic keys +@cindex Control key, notation for +@cindex @key{Meta} key, notation for +@cindex Control-Meta characters, notation for +@cindex @kbd{C-h}, definition of +@cindex @kbd{C-M-h}, definition of +@cindex @key{DEL}, definition of +@cindex @key{ESC}, definition of +@cindex @key{LFD}, definition of +@cindex @key{RET}, definition of +@cindex @key{SPC}, definition of +@cindex @key{TAB}, definition of +@cindex Notation for keys + +@itemize @bullet + +@item +@kbd{C-x}: press the @key{x} key while holding down the @key{Control} key + +@item +@kbd{M-x}: press the @key{x} key while holding down the @key{Meta} key +(if your computer doesn't have a @key{Meta} key, @pxref{No Meta key}) + +@item +@kbd{M-C-x}: press the @key{x} key while holding down both @key{Control} +and @key{Meta} + +@item +@kbd{C-M-x}: a synonym for the above + +@item +@key{LFD}: Linefeed or Newline; same as @kbd{C-j} + +@item +@key{RET}: @key{Return}, sometimes marked @key{Enter}; same as @kbd{C-m} + +@item +@key{DEL}: @key{Delete}, usually @strong{not} the same as +@key{Backspace}; same as @kbd{C-?} (see @ref{Backspace invokes help}, if +deleting invokes Emacs help) + +@item +@key{ESC}: Escape; same as @kbd{C-[} + +@item +@key{TAB}: Tab; same as @kbd{C-i} + +@item +@key{SPC}: Space bar + +@end itemize + +Key sequences longer than one key (and some single-key sequences) are +written inside quotes or on lines by themselves, like this: + +@display + @kbd{M-x frobnicate-while-foo RET} +@end display + +@noindent +Any real spaces in such a key sequence should be ignored; only @key{SPC} +really means press the space key. + +The @acronym{ASCII} code sent by @kbd{C-x} (except for @kbd{C-?}) is the value +that would be sent by pressing just @key{x} minus 96 (or 64 for +upper-case @key{X}) and will be from 0 to 31. On Unix and GNU/Linux +terminals, the @acronym{ASCII} code sent by @kbd{M-x} is the sum of 128 and the +@acronym{ASCII} code that would be sent by pressing just @key{x}. Essentially, +@key{Control} turns off bits 5 and 6 and @key{Meta} turns on bit +7@footnote{ +DOS and Windows terminals don't set bit 7 when the @key{Meta} key is +pressed.}. + +@kbd{C-?} (aka @key{DEL}) is @acronym{ASCII} code 127. It is a misnomer to call +@kbd{C-?} a ``control'' key, since 127 has both bits 5 and 6 turned ON@. +Also, on very few keyboards does @kbd{C-?} generate @acronym{ASCII} code 127. +@c FIXME I cannot understand the previous sentence. + +@xref{Keys,,, emacs, The GNU Emacs Manual}. + +@node Extended commands +@section What does @file{M-x @var{command}} mean? +@cindex Extended commands +@cindex Commands, extended +@cindex M-x, meaning of + +@kbd{M-x @var{command}} means type @kbd{M-x}, then type the name of the +command, then type @key{RET}. (@xref{Basic keys}, if you're not sure +what @kbd{M-x} and @key{RET} mean.) + +@kbd{M-x} (by default) invokes the command +@code{execute-extended-command}. This command allows you to run any +Emacs command if you can remember the command's name. If you can't +remember the command's name, you can type @key{TAB} and @key{SPC} for +completion, @key{?} for a list of possibilities, and @kbd{M-p} and +@kbd{M-n} (or up-arrow and down-arrow) to see previous commands entered. +An Emacs @dfn{command} is an @dfn{interactive} Emacs function. + +@cindex @key{Do} key +Your system administrator may have bound other key sequences to invoke +@code{execute-extended-command}. A function key labeled @kbd{Do} is a +good candidate for this, on keyboards that have such a key. + +If you need to run non-interactive Emacs functions, see @ref{Evaluating +Emacs Lisp code}. + +@node Emacs manual +@section How do I read topic XXX in the Emacs manual? +@cindex Emacs manual, reading topics in +@cindex Reading topics in the Emacs manual +@cindex Finding topics in the Emacs manual +@cindex Info, finding topics in + +When we refer you to some @var{topic} in the Emacs manual, you can +read this manual node inside Emacs (assuming nothing is broken) by +typing @kbd{C-h i m emacs @key{RET} m @var{topic} @key{RET}}. + +This invokes Info, the GNU hypertext documentation browser. If you don't +already know how to use Info, type @key{?} from within Info. + +If we refer to @var{topic}:@var{subtopic}, type @kbd{C-h i m emacs +@key{RET} m @var{topic} @key{RET} m @var{subtopic} @key{RET}}. + +If these commands don't work as expected, your system administrator may +not have installed the Info files, or may have installed them +improperly. In this case you should complain. + +If you are reading this FAQ in Info, you can simply press @key{RET} on a +reference to follow it. + +@xref{Getting a printed manual}, if you would like a paper copy of the +Emacs manual. + +@node File-name conventions +@section What are @file{src/config.h}, @file{site-lisp/default.el}, etc.? +@cindex File-name conventions +@cindex Conventions for file names +@cindex Directories and files that come with Emacs + +These are files that come with Emacs. The Emacs distribution is divided +into subdirectories; e.g., @file{etc}, @file{lisp}, and @file{src}. +Some of these (e.g., @file{etc} and @file{lisp}) are present both in +an installed Emacs and in the sources, but some (e.g., @file{src}) are +only found in the sources. + +If you use Emacs, but don't know where it is kept on your system, start +Emacs, then type @kbd{C-h v data-directory @key{RET}}. The directory +name displayed by this will be the full pathname of the installed +@file{etc} directory. (This full path is recorded in the Emacs variable +@code{data-directory}, and @kbd{C-h v} displays the value and the +documentation of a variable.) + +The location of your Info directory (i.e., where Info documentation +is stored) is kept in the variable @code{Info-default-directory-list}. Use +@kbd{C-h v Info-default-directory-list @key{RET}} to see the value of +this variable, which will be a list of directory names. The last +directory in that list is probably where most Info files are stored. By +default, Emacs Info documentation is placed in @file{/usr/local/share/info}. + +For information on some of the files in the @file{etc} directory, +@pxref{Informational files for Emacs}. + +@node Common acronyms +@section What are FSF, LPF, GNU, RMS, FTP, and GPL? +@cindex FSF, definition of +@cindex LPF, definition of +@cindex GNU, definition of +@cindex RMS, definition of +@cindex Stallman, Richard, acronym for +@cindex Richard Stallman, acronym for +@cindex FTP, definition of +@cindex GPL, definition of +@cindex Acronyms, definitions for +@cindex Common acronyms, definitions for + +@table @asis + +@item FSF +Free Software Foundation + +@item LPF +League for Programming Freedom + +@item GNU +GNU's Not Unix + +@item RMS +Richard Matthew Stallman + +@item FTP +File Transfer Protocol + +@item GPL +GNU General Public License + +@end table + +Avoid confusing the FSF and the LPF@. The LPF opposes +look-and-feel copyrights and software patents. The FSF aims to make +high quality free software available for everyone. + +The word ``free'' in the title of the Free Software Foundation refers to +``freedom,'' not ``zero cost.'' Anyone can charge any price for +GPL-covered software that they want to. However, in practice, the +freedom enforced by the GPL leads to low prices, because you can always +get the software for less money from someone else, since everyone has +the right to resell or give away GPL-covered software. + +@c ------------------------------------------------------------ +@node General questions +@chapter General questions +@cindex General questions + +This chapter contains general questions having to do with Emacs, the +Free Software Foundation, and related organizations. + +@menu +* The LPF:: +* Real meaning of copyleft:: +* Guidelines for newsgroup postings:: +* Newsgroup archives:: +* Reporting bugs:: +* Unsubscribing from Emacs lists:: +* Contacting the FSF:: +@end menu + +@node The LPF +@section What is the LPF? +@cindex LPF, description of +@cindex League for Programming Freedom +@cindex Software patents, opposition to +@cindex Patents for software, opposition to + +The LPF opposes the expanding danger of software patents and +look-and-feel copyrights. More information on the LPF's views is +available at @uref{http://progfree.org/, the LPF home page}. + +@node Real meaning of copyleft +@section What is the real legal meaning of the GNU copyleft? +@cindex Copyleft, real meaning of +@cindex GPL, real meaning of +@cindex General Public License, real meaning of +@cindex Discussion of the GPL + +The real legal meaning of the GNU General Public License (copyleft) will +only be known if and when a judge rules on its validity and scope. +There has never been a copyright infringement case involving the GPL to +set any precedents. Although legal actions have been brought against +companies for violating the terms of the GPL, so far all have been +settled out of court (in favor of the plaintiffs). Please take any +discussion regarding this issue to the newsgroup +@uref{news:gnu.misc.discuss}, which was created to hold the extensive +flame wars on the subject. + +RMS writes: + +@quotation +The legal meaning of the GNU copyleft is less important than the spirit, +which is that Emacs is a free software project and that work pertaining +to Emacs should also be free software. ``Free'' means that all users +have the freedom to study, share, change and improve Emacs. To make +sure everyone has this freedom, pass along source code when you +distribute any version of Emacs or a related program, and give the +recipients the same freedom that you enjoyed. +@end quotation + +@node Guidelines for newsgroup postings +@section What are appropriate messages for the various Emacs newsgroups? +@cindex Newsgroups, appropriate messages for +@cindex GNU newsgroups, appropriate messages for +@cindex Usenet groups, appropriate messages for +@cindex Mailing lists, appropriate messages for +@cindex Posting messages to newsgroups + +@cindex GNU mailing lists +The file @file{etc/MAILINGLISTS} describes the purpose of each GNU +mailing list (@pxref{Informational files for Emacs}). For those lists +which are gatewayed with newsgroups, it lists both the newsgroup name +and the mailing list address. The Emacs mailing lists are also +described at @uref{http://savannah.gnu.org/mail/?group=emacs, the Emacs +Savannah page}. + +The newsgroup @uref{news:comp.emacs} is for discussion of Emacs programs +in general. The newsgroup @uref{news:gnu.emacs.help} is specifically +for GNU Emacs. It therefore makes no sense to cross-post to both +groups, since only one can be appropriate to any question. + +Messages advocating ``non-free'' software are considered unacceptable on +any of the @code{gnu.*} newsgroups except for @uref{news:gnu.misc.discuss}, +which was created to hold the extensive flame-wars on the subject. +``Non-free'' software includes any software for which the end user can't +freely modify the source code and exchange enhancements. Be careful to +remove the @code{gnu.*} groups from the @samp{Newsgroups:} line when +posting a followup that recommends such software. + +@uref{news:gnu.emacs.bug} is a place where bug reports appear, but avoid +posting bug reports to this newsgroup directly (@pxref{Reporting bugs}). + +@node Newsgroup archives +@section Where can I get old postings to @uref{news:gnu.emacs.help} and other GNU groups? +@cindex Archived postings from @code{gnu.emacs.help} +@cindex Usenet archives for GNU groups +@cindex Old Usenet postings for GNU groups + +The FSF has maintained archives of all of the GNU mailing lists for many +years, although there may be some unintentional gaps in coverage. The +archive can be browsed over the web at +@uref{http://lists.gnu.org/archive/html/, the GNU mail archive}. Raw +files can be downloaded from @uref{ftp://lists.gnu.org/}. + +Web-based Usenet search services, such as +@uref{http://groups.google.com/groups/dir?q=gnu&, Google}, also +archive the @code{gnu.*} groups. + +You can also read the archives of the @code{gnu.*} groups and post new +messages at @uref{http://gmane.org/, Gmane}. Gmane is a service that +presents mailing lists as newsgroups (even those without a traditional +mail-to-news gateway). + +@node Reporting bugs +@section Where should I report bugs and other problems with Emacs? +@cindex Bug reporting +@cindex Good bug reports +@cindex How to submit a bug report +@cindex Reporting bugs + +The correct way to report Emacs bugs is to use the command +@kbd{M-x report-emacs-bug}. It sets up a mail buffer with the +essential information and the correct e-mail address, +@email{bug-gnu-emacs@@gnu.org}. +Anything sent there also appears in the +newsgroup @uref{news:gnu.emacs.bug}, but please use e-mail instead of +news to submit the bug report. This ensures a reliable return address +so you can be contacted for further details. + +Be sure to read the ``Bugs'' section of the Emacs manual before reporting +a bug! The manual describes in detail how to submit a useful bug +report (@pxref{Bugs, , Reporting Bugs, emacs, The GNU Emacs Manual}). +(@xref{Emacs manual}, if you don't know how to read the manual.) + +RMS says: + +@quotation +Sending bug reports to +@url{http://lists.gnu.org/mailman/listinfo/help-gnu-emacs, +the help-gnu-emacs mailing list} +(which has the effect of posting on @uref{news:gnu.emacs.help}) is +undesirable because it takes the time of an unnecessarily large group +of people, most of whom are just users and have no idea how to fix +these problem. +@url{http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs, The +bug-gnu-emacs list} reaches a much smaller group of people who are +more likely to know what to do and have expressed a wish to receive +more messages about Emacs than the others. +@end quotation + +RMS says it is sometimes fine to post to @uref{news:gnu.emacs.help}: + +@quotation +If you have reported a bug and you don't hear about a possible fix, +then after a suitable delay (such as a week) it is okay to post on +@code{gnu.emacs.help} asking if anyone can help you. +@end quotation + +If you are unsure whether you have found a bug, consider the following +non-exhaustive list, courtesy of RMS: + +@quotation +If Emacs crashes, that is a bug. If Emacs gets compilation errors +while building, that is a bug. If Emacs crashes while building, that +is a bug. If Lisp code does not do what the documentation says it +does, that is a bug. +@end quotation + +@node Unsubscribing from Emacs lists +@section How do I unsubscribe from a mailing list? +@cindex Unsubscribing from GNU mailing lists +@cindex Removing yourself from GNU mailing lists + +If you are receiving a GNU mailing list named @var{list}, you should be +able to unsubscribe from it by sending a request to the address +@email{@var{list}-request@@gnu.org}. Mailing lists mails normally +contain information in either the message header +(@samp{List-Unsubscribe:}) or as a footer that tells you how to +unsubscribe. + +@node Contacting the FSF +@section How do I contact the FSF? +@cindex Contracting the FSF +@cindex Free Software Foundation, contacting + +For up-to-date information, see +@uref{http://www.fsf.org/about/contact.html, the FSF contact web-page}. +You can send general correspondence to @email{info@@fsf.org}. + +@cindex Ordering GNU software +For details on how to order items directly from the FSF, see the +@uref{http://shop.fsf.org/, FSF on-line store}. + +@c ------------------------------------------------------------ +@node Getting help +@chapter Getting help +@cindex Getting help + +This chapter tells you how to get help with Emacs. + +@menu +* Basic editing:: +* Learning how to do something:: +* Getting a printed manual:: +* Emacs Lisp documentation:: +* Installing Texinfo documentation:: +* Printing a Texinfo file:: +* Viewing Info files outside of Emacs:: +* Informational files for Emacs:: +* Help installing Emacs:: +* Obtaining the FAQ:: +@end menu + +@node Basic editing +@section I'm just starting Emacs; how do I do basic editing? +@cindex Basic editing with Emacs +@cindex Beginning editing +@cindex Tutorial, invoking the +@cindex Self-paced tutorial, invoking the +@cindex Help system, entering the + +Type @kbd{C-h t} to invoke the self-paced tutorial. Just typing +@kbd{C-h} enters the help system. Starting with Emacs 22, the tutorial +is available in many foreign languages such as French, German, Japanese, +Russian, etc. Use @kbd{M-x help-with-tutorial-spec-language @key{RET}} +to choose your language and start the tutorial. + +Your system administrator may have changed @kbd{C-h} to act like +@key{DEL} to deal with local keyboards. You can use @kbd{M-x +help-for-help} instead to invoke help. To discover what key (if any) +invokes help on your system, type @kbd{M-x where-is @key{RET} +help-for-help @key{RET}}. This will print a comma-separated list of key +sequences in the echo area. Ignore the last character in each key +sequence listed. Each of the resulting key sequences (e.g., @key{F1} is +common) invokes help. + +Emacs help works best if it is invoked by a single key whose value +should be stored in the variable @code{help-char}. + +@node Learning how to do something +@section How do I find out how to do something in Emacs? +@cindex Help for Emacs +@cindex Learning to do something in Emacs +@cindex Reference card for Emacs +@cindex Overview of help systems + +There are several methods for finding out how to do things in Emacs. + +@itemize @bullet + +@cindex Reading the Emacs manual +@item +The complete text of the Emacs manual is available via the Info +hypertext reader. Type @kbd{C-h r} to display the manual in Info mode. +Typing @key{h} immediately after entering Info will provide a short +tutorial on how to use it. + +@cindex Lookup a subject in a manual +@cindex Index search in a manual +@item +To quickly locate the section of the manual which discusses a certain +issue, or describes a command or a variable, type @kbd{C-h i m emacs +@key{RET} i @var{topic} @key{RET}}, where @var{topic} is the name of the +topic, the command, or the variable which you are looking for. If this +does not land you on the right place in the manual, press @kbd{,} +(comma) repeatedly until you find what you need. (The @kbd{i} and +@kbd{,} keys invoke the index-searching functions, which look for the +@var{topic} you type in all the indices of the Emacs manual.) + +@cindex Apropos +@item +You can list all of the commands whose names contain a certain word +(actually which match a regular expression) using @kbd{C-h a} (@kbd{M-x +command-apropos}). + +@cindex Command description in the manual +@item +The command @kbd{C-h F} (@code{Info-goto-emacs-command-node}) prompts +for the name of a command, and then attempts to find the section in the +Emacs manual where that command is described. + +@cindex Finding commands and variables +@item +You can list all of the functions and variables whose names contain a +certain word using @kbd{M-x apropos}. + +@item +You can list all of the functions and variables whose documentation +matches a regular expression or a string, using @kbd{M-x +apropos-documentation}. + +@item +You can order a hardcopy of the manual from the FSF@. @xref{Getting a +printed manual}. + +@cindex Reference cards, in other languages +@item +You can get a printed reference card listing commands and keys to +invoke them. You can order one from the FSF for $2 (or 10 for $18), +or you can print your own from the @file{etc/refcards/refcard.tex} or +@file{etc/refcards/refcard.pdf} files in the Emacs distribution. +Beginning with version 21.1, the Emacs distribution comes with +translations of the reference card into several languages; look for +files named @file{etc/refcards/@var{lang}-refcard.*}, where @var{lang} +is a two-letter code of the language. For example, the German version +of the reference card is in the files @file{etc/refcards/de-refcard.tex} +and @file{etc/refcards/de-refcard.pdf}. + +@item +There are many other commands in Emacs for getting help and +information. To get a list of these commands, type @samp{?} after +@kbd{C-h}. + +@end itemize + +@node Getting a printed manual +@section How do I get a printed copy of the Emacs manual? +@cindex Printed Emacs manual, obtaining +@cindex Manual, obtaining a printed or HTML copy of +@cindex Emacs manual, obtaining a printed or HTML copy of + +You can order a printed copy of the Emacs manual from the FSF@. For +details see the @uref{http://shop.fsf.org/, FSF on-line store}. + +The full Texinfo source for the manual also comes in the @file{doc/emacs} +directory of the Emacs distribution, if you're daring enough to try to +print out this several-hundred-page manual yourself (@pxref{Printing a Texinfo +file}). + +If you absolutely have to print your own copy, and you don't have @TeX{}, +you can get a PostScript or PDF (or HTML) version from + +@uref{http://www.gnu.org/software/emacs/manual/} + +@xref{Learning how to do something}, for how to view the manual from Emacs. + +@node Emacs Lisp documentation +@section Where can I get documentation on Emacs Lisp? +@cindex Documentation on Emacs Lisp +@cindex Function documentation +@cindex Variable documentation +@cindex Emacs Lisp Reference Manual +@cindex Reference manual for Emacs Lisp + +Within Emacs, you can type @kbd{C-h f} to get the documentation for a +function, @kbd{C-h v} for a variable. + +For more information, the Emacs Lisp Reference Manual is available +in Info format (@pxref{Top, Emacs Lisp,, elisp, The +Emacs Lisp Reference Manual}). + +You can also order a hardcopy of the manual from the FSF, for details +see the @uref{http://shop.fsf.org/, FSF on-line store}. (This manual is +not always in print.) + +An HTML version of the Emacs Lisp Reference Manual is available at + +@uref{http://www.gnu.org/software/emacs/elisp-manual/elisp.html} + +@node Installing Texinfo documentation +@section How do I install a piece of Texinfo documentation? +@cindex Texinfo documentation, installing +@cindex Installing Texinfo documentation +@cindex New Texinfo files, installing +@cindex Documentation, installing new Texinfo files +@cindex Info files, how to install + +Emacs releases come with pre-built Info files, and the normal install +process places them in the correct location. This is true for most +applications that provide Info files. The following section is only +relevant if you want to install extra Info files by hand. + +First, you must turn the Texinfo source files into Info files. You may +do this using the stand-alone @file{makeinfo} program, available as part +of the Texinfo package at + +@uref{http://www.gnu.org/software/texinfo/} + +For information about the Texinfo format, read the Texinfo manual which +comes with the Texinfo package. This manual also comes installed in +Info format, so you can read it from Emacs; type @kbd{C-h i m texinfo +@key{RET}}. + +@c FIXME is this a complete alternative? +@c Probably not, given that we require makeinfo to build Emacs. +Alternatively, you could use the Emacs command @kbd{M-x +texinfo-format-buffer}, after visiting the Texinfo source file of the +manual you want to convert. + +Neither @code{texinfo-format-buffer} nor @file{makeinfo} installs the +resulting Info files in Emacs's Info tree. To install Info files, +perform these steps: + +@enumerate +@item +Move the files to the @file{info} directory in the installed Emacs +distribution. @xref{File-name conventions}, if you don't know where that +is. + +@item +Run the @code{install-info} command, which is part of the Texinfo +distribution, to update the main Info directory menu, like this: + +@example + install-info --info-dir=@var{dir-path} @var{dir-path}/@var{file} +@end example + +@noindent +where @var{dir-path} is the full path to the directory where you copied +the produced Info file(s), and @var{file} is the name of the Info file +you produced and want to install. + +If you don't have the @code{install-info} command installed, you can +edit the file @file{info/dir} in the installed Emacs distribution, and +add a line for the top level node in the Info package that you are +installing. Follow the examples already in this file. The format is: + +@example +* Topic: (relative-pathname). Short description of topic. +@end example + +@end enumerate + +If you want to install Info files and you don't have the necessary +privileges, you have several options: + +@itemize @bullet +@item +Info files don't actually need to be installed before being used. +You can use a prefix argument for the @code{info} command and specify +the name of the Info file in the minibuffer. This goes to the node +named @samp{Top} in that file. For example, to view a Info file named +@file{@var{info-file}} in your home directory, you can type this: + +@example +@kbd{C-u C-h i ~/@var{info-file} @key{RET}} +@end example + +Alternatively, you can feed a file name to the @code{Info-goto-node} +command (invoked by pressing @key{g} in Info mode) by typing the name +of the file in parentheses, like this: + +@example +@kbd{C-h i g (~/@var{info-file}) @key{RET}} +@end example + +@item +You can create your own Info directory. You can tell Emacs where that +Info directory is by adding its pathname to the value of the variable +@code{Info-default-directory-list}. For example, to use a private Info +directory which is a subdirectory of your home directory named @file{Info}, +you could put this in your @file{.emacs} file: + +@lisp +(add-to-list 'Info-default-directory-list "~/Info") +@end lisp + +You will need a top-level Info file named @file{dir} in this directory +which has everything the system @file{dir} file has in it, except it +should list only entries for Info files in that directory. You might +not need it if (fortuitously) all files in this directory were +referenced by other @file{dir} files. The node lists from all +@file{dir} files in @code{Info-default-directory-list} are merged by the +Info system. + +@end itemize + +@node Printing a Texinfo file +@section How do I print a Texinfo file? +@cindex Printing a Texinfo file +@cindex Texinfo file, printing +@cindex Printing documentation + +You can't get nicely printed output from Info files; you must still have +the original Texinfo source file for the manual you want to print. + +Assuming you have @TeX{} installed on your system, follow these steps: + +@enumerate + +@item +Make sure the first line of the Texinfo file looks like this: + +@example +\input texinfo +@end example + +You may need to change @samp{texinfo} to the full pathname of the +@file{texinfo.tex} file, which comes with Emacs as +@file{doc/misc/texinfo.tex} (or copy or link it into the current directory). + +@item +Type @kbd{texi2dvi @var{texinfo-source}}, where @var{texinfo-source} is +the name of the Texinfo source file for which you want to produce a +printed copy. The @samp{texi2dvi} script is part of the GNU Texinfo +distribution. + +Alternatively, @samp{texi2pdf} produces PDF files. + +@item +Print the DVI file @file{@var{texinfo-source}.dvi} in the normal way for +printing DVI files at your site. For example, if you have a PostScript +printer, run the @code{dvips} program to print the DVI file on that +printer. + +@end enumerate + +To get more general instructions, retrieve the latest Texinfo package +(@pxref{Installing Texinfo documentation}). + +@node Viewing Info files outside of Emacs +@section Can I view Info files without using Emacs? +@cindex Viewing Info files +@cindex Info file viewers +@cindex Alternative Info file viewers + +Yes. Here are some alternative programs: + +@itemize @bullet + +@item +@code{info}, a stand-alone version of the Info program, comes as part of +the Texinfo package. @xref{Installing Texinfo documentation}, for +details. + +@item +Tkinfo, an Info viewer that runs under X Window system and uses Tcl/Tk. +You can get Tkinfo at +@uref{http://math-www.uni-paderborn.de/~axel/tkinfo/}. + +@end itemize + +@node Informational files for Emacs +@section What informational files are available for Emacs? +@cindex Informational files included with Emacs +@cindex Files included with Emacs +@cindex @file{COPYING}, description of file +@cindex @file{DISTRIB}, description of file +@cindex @file{GNU}, description of file +@cindex @file{INTERVIEW}, description of file +@cindex @file{MACHINES}, description of file +@cindex @file{MAILINGLISTS}, description of file +@cindex @file{NEWS}, description of file + +This isn't a frequently asked question, but it should be! A variety of +informational files about Emacs and relevant aspects of the GNU project +are available for you to read. + +The following files (and others) are available in the @file{etc} +directory of the Emacs distribution (see @ref{File-name conventions}, if +you're not sure where that is). Many of these files are available via +the Emacs @samp{Help} menu, or by typing @kbd{C-h ?} (@kbd{M-x +help-for-help}). + +@table @file + +@item COPYING +GNU General Public License + +@item DISTRIB +Emacs Availability Information + +@item GNU +The GNU Manifesto + +@item INTERVIEW +Richard Stallman discusses his public-domain UNIX-compatible software +system with BYTE editors + +@item MACHINES +Status of Emacs on Various Machines and Systems + +@item MAILINGLISTS +GNU Project Electronic Mailing Lists + +@item NEWS +Emacs news, a history of recent user-visible changes + +@end table + +More GNU information, including back issues of the @cite{GNU's +Bulletin}, are at + +@uref{http://www.gnu.org/bulletins/bulletins.html} and + +@uref{http://www.cs.pdx.edu/~trent/gnu/gnu.html} + +@node Help installing Emacs +@section Where can I get help in installing Emacs? +@cindex Installation help +@cindex Help installing Emacs + +@xref{Installing Emacs}, for some basic installation hints, and see +@ref{Problems building Emacs}, if you have problems with the installation. + +@uref{http://www.fsf.org/resources/service/, The GNU Service directory} +lists companies and individuals willing to sell you help in installing +or using Emacs and other GNU software. + +@node Obtaining the FAQ +@section Where can I get the latest version of this FAQ? +@cindex FAQ, obtaining the +@cindex Latest FAQ version, obtaining the + +The Emacs FAQ is distributed with Emacs in Info format. You can read it +by selecting the @samp{Emacs FAQ} option from the @samp{Help} menu of +the Emacs menu bar at the top of any Emacs frame, or by typing @kbd{C-h +C-f} (@kbd{M-x view-emacs-FAQ}). The very latest version is available +in the Emacs development repository (@pxref{Latest version of Emacs}). + +@c ------------------------------------------------------------ +@node Status of Emacs +@chapter Status of Emacs +@cindex Status of Emacs + +This chapter gives you basic information about Emacs, including the +status of its latest version. + +@menu +* Origin of the term Emacs:: +* Latest version of Emacs:: +* New in Emacs 24:: +* New in Emacs 23:: +* New in Emacs 22:: +* New in Emacs 21:: +* New in Emacs 20:: +@end menu + +@node Origin of the term Emacs +@section Where does the name ``Emacs'' come from? +@cindex Origin of the term ``Emacs'' +@cindex Emacs name origin +@cindex TECO +@cindex Original version of Emacs + +Emacs originally was an acronym for Editor MACroS@. RMS says he ``picked +the name Emacs because @key{E} was not in use as an abbreviation on ITS at +the time.'' The first Emacs was a set of macros written in 1976 at MIT +by RMS for the editor TECO (Text Editor and COrrector, originally Tape +Editor and COrrector) under ITS (the Incompatible Timesharing System) on +a PDP-10. RMS had already extended TECO with a ``real-time'' +full-screen mode with reprogrammable keys. Emacs was started by +@c gls@@east.sun.com +Guy Steele as a project to unify the many +divergent TECO command sets and key bindings at MIT, and completed by +RMS. + +Many people have said that TECO code looks a lot like line noise; you +can read more at @uref{news:alt.lang.teco}. Someone has written a TECO +implementation in Emacs Lisp (to find it, see @ref{Packages that do not +come with Emacs}); it would be an interesting project to run the +original TECO Emacs inside of Emacs. + +@cindex Why Emacs? +For some not-so-serious alternative reasons for Emacs to have that +name, check out the file @file{etc/JOKES} (@pxref{File-name +conventions}). + +@node Latest version of Emacs +@section What is the latest version of Emacs? +@cindex Version, latest +@cindex Latest version of Emacs +@cindex Development, Emacs +@cindex Repository, Emacs +@cindex Bazaar repository, Emacs + +Emacs @value{EMACSVER} is the current version as of this writing. A version +number with two components (e.g., @samp{22.1}) indicates a released +version; three components indicate a development +version (e.g., @samp{23.0.50} is what will eventually become @samp{23.1}). + +Emacs is under active development, hosted at +@uref{http://savannah.gnu.org/projects/emacs/, Savannah}. The source +code can be retrieved anonymously following the +@uref{http://savannah.gnu.org/bzr/?group=emacs, instructions}. +The repository is GNU Bazaar. + +Because Emacs undergoes many changes before a release, the version +number of a development version is not especially meaningful. It is +better to refer to the date on which the sources were retrieved from the +development repository. The development version is usually quite robust +for every-day use, but if stability is more important to you than the +latest features, you may want to stick to the releases. + +The following sections list some of the major new features in the last +few Emacs releases. For full details of the changes in any version of +Emacs, type @kbd{C-h C-n} (@kbd{M-x view-emacs-news}). As of Emacs 22, +you can give this command a prefix argument to read about which features +were new in older versions. + +@node New in Emacs 24 +@section What is different about Emacs 24? +@cindex Differences between Emacs 23 and Emacs 24 +@cindex Emacs 24, new features in + +@itemize +@cindex packages, installing more +@item +Emacs now includes a package manager. Type @kbd{M-x list-packages} to +get started. You can use this to download and automatically install +many more Lisp packages. + +@cindex lexical binding +@item +Emacs Lisp now supports lexical binding on a per-file basis. In +@emph{lexical binding}, variable references must be located textually +within the binding construct. This contrasts with @emph{dynamic +binding}, where programs can refer to variables defined outside their +local textual scope. A Lisp file can use a local variable setting of +@code{lexical-binding: t} to indicate that the contents should be +interpreted using lexical binding. See the Emacs Lisp Reference +Manual for more details. + +@cindex bidirectional display +@cindex right-to-left languages +@item +Some human languages, such as English, are written from left to right. +Others, such as Arabic, are written from right to left. Emacs now has +support for any mixture of these forms---this is ``bidirectional text''. + +@item +Handling of text selections has been improved, and now integrates +better with external clipboards. + +@cindex themes +@item +A new command @kbd{customize-themes} allows you to easily change the +appearance of your Emacs. + +@item +Emacs can be compiled with the GTK+ 3 toolkit. + +@item +Support for several new external libraries can be included at compile +time: + +@itemize + +@item +``Security-Enhanced Linux'' (SELinux) is a Linux kernel feature that +provides more sophisticated file access controls than ordinary +``Unix-style'' file permissions. + +@item +The ImageMagick display library. This allows you to display many more +image format in Emacs, as well as carry out transformations such as +rotations. + +@item +The GnuTLS library for secure network communications. Emacs uses this +transparently for email if your mail server supports it. + +@item +The libxml2 library for parsing XML structures. +@end itemize + +@item +Much more flexibility in the handling of windows and buffer display. + +@end itemize + +As always, consult the @file{NEWS} file for more information. + + +@node New in Emacs 23 +@section What is different about Emacs 23? +@cindex Differences between Emacs 22 and Emacs 23 +@cindex Emacs 23, new features in + +@itemize + +@cindex Anti-aliased fonts +@cindex Freetype fonts +@item +Emacs has a new font code that can use multiple font backends, +including freetype and fontconfig. Emacs can use the Xft library for +anti-aliasing, and the otf and m17n libraries for complex text layout and +text shaping. + +@cindex Unicode +@cindex Character sets +@item +The Emacs character set is now a superset of Unicode. Several new +language environments have been added. + +@cindex Multi-tty support +@cindex X and tty displays +@item +Emacs now supports using both X displays and ttys in the same session +(@samp{multi-tty}). + +@cindex Daemon mode +@item +Emacs can be started as a daemon in the background. + +@cindex NeXTstep port +@cindex GNUstep port +@cindex Mac OS X Cocoa +@item +There is a new NeXTstep port of Emacs. This supports GNUstep and Mac OS +X (via the Cocoa libraries). The Carbon port of Emacs, which supported +Mac OS X in Emacs 22, has been removed. + +@cindex Directory-local variables +@item +Directory-local variables can now be defined, in a similar manner to +file-local variables. + +@item +Transient Mark mode (@pxref{Highlighting a region}) is on by default. + +@end itemize + +@noindent +Other changes include: support for serial port access; D-Bus bindings; a +new Visual Line mode for line-motion; improved completion; a new mode +(@samp{DocView}) for viewing of PDF, PostScript, and DVI documents; nXML +mode (for editing XML documents) is included; VC has been updated for +newer version control systems; etc. + + +@node New in Emacs 22 +@section What is different about Emacs 22? +@cindex Differences between Emacs 21 and Emacs 22 +@cindex Emacs 22, new features in + +@itemize +@cindex GTK+ Toolkit +@cindex Drag-and-drop +@item +Emacs can be built with GTK+ widgets, and supports drag-and-drop +operation on X. + +@cindex Supported systems +@item +Emacs 22 features support for GNU/Linux systems on S390 and x86-64 +machines, as well as support for the Mac OS X and Cygwin operating +systems. + +@item +The native MS-Windows, and Mac OS X builds include full support +for images, toolbar, and tooltips. + +@item +Font Lock mode, Auto Compression mode, and File Name Shadow Mode are +enabled by default. + +@item +The maximum size of buffers is increased: on 32-bit machines, it is +256 MBytes for Emacs 23.1, and 512 MBytes for Emacs 23.2 and above. + +@item +Links can be followed with @kbd{mouse-1}, in addition to @kbd{mouse-2}. + +@cindex Mouse wheel +@item +Mouse wheel support is enabled by default. + +@item +Window fringes are customizable. + +@item +The mode line of the selected window is now highlighted. + +@item +The minibuffer prompt is displayed in a distinct face. + +@item +Abbrev definitions are read automatically at startup. + +@item +Grep mode is separate from Compilation mode and has many new options and +commands specific to grep. + +@item +The original Emacs macro system has been replaced by the new Kmacro +package, which provides many new commands and features and a simple +interface that uses the function keys F3 and F4. Macros are stored in a +macro ring, and can be debugged and edited interactively. + +@item +The Grand Unified Debugger (GUD) can be used with a full graphical user +interface to GDB; this provides many features found in traditional +development environments, making it easy to manipulate breakpoints, add +watch points, display the call stack, etc. Breakpoints are visually +indicated in the source buffer. + +@item +@cindex New modes +Many new modes and packages have been included in Emacs, such as Calc, +TRAMP, URL, IDO, CUA, ERC, rcirc, Table, Image-Dired, SES, Ruler, Org, +PGG, Flymake, Password, Printing, Reveal, wdired, t-mouse, longlines, +savehist, Conf mode, Python mode, DNS mode, etc. + +@cindex Multilingual Environment +@item +Leim is now part of Emacs. Unicode support has been much improved, and +the following input methods have been added: belarusian, bulgarian-bds, +bulgarian-phonetic, chinese-sisheng, croatian, dutch, georgian, +latin-alt-postfix, latin-postfix, latin-prefix, latvian-keyboard, +lithuanian-numeric, lithuanian-keyboard, malayalam-inscript, rfc1345, +russian-computer, sgml, slovenian, tamil-inscript, ucs, +ukrainian-computer, vietnamese-telex, and welsh. + +The following language environments have also been added: Belarusian, +Bulgarian, Chinese-EUC-TW, Croatian, French, Georgian, Italian, Latin-6, +Latin-7, Latvian, Lithuanian, Malayalam, Russian, Slovenian, Swedish, +Tajik, Tamil, UTF-8, Ukrainian, Welsh, and Windows-1255. + +@cindex Documentation +@cindex Emacs Lisp Manual +@item +In addition, Emacs 22 now includes the Emacs Lisp Reference Manual +(@pxref{Emacs Lisp documentation}) and the Emacs Lisp Intro. +@end itemize + + +@node New in Emacs 21 +@section What is different about Emacs 21? +@cindex Differences between Emacs 20 and Emacs 21 +@cindex Emacs 21, new features in + +@cindex Variable-size fonts +@cindex Toolbar support +Emacs 21 features a thorough rewrite of the display engine. The new +display engine supports variable-size fonts, images, and can play sounds +on platforms which support that. As a result, the visual appearance of +Emacs, when it runs on a windowed display, is much more reminiscent of +modern GUI programs, and includes 3D widgets (used for the mode line and +the scroll bars), a configurable and extensible toolbar, tooltips +(a.k.a.@: balloon help), and other niceties. + +@cindex Colors on text-only terminals +@cindex TTY colors +In addition, Emacs 21 supports faces on text-only terminals. This means +that you can now have colors when you run Emacs on a GNU/Linux console +and on @code{xterm} with @kbd{emacs -nw}. + + +@node New in Emacs 20 +@section What is different about Emacs 20? +@cindex Differences between Emacs 19 and Emacs 20 +@cindex Emacs 20, new features in + +The differences between Emacs versions 18 and 19 were rather dramatic; +the introduction of frames, faces, and colors on windowing systems was +obvious to even the most casual user. + +There are differences between Emacs versions 19 and 20 as well, but many +are more subtle or harder to find. Among the changes are the inclusion +of MULE code for languages that use non-Latin characters and for mixing +several languages in the same document; the ``Customize'' facility for +modifying variables without having to use Lisp; and automatic conversion +of files from Macintosh, Microsoft, and Unix platforms. + +@c ------------------------------------------------------------ +@node Common requests +@chapter Common requests +@cindex Common requests + +@menu +* Setting up a customization file:: +* Using Customize:: +* Colors on a TTY:: +* Debugging a customization file:: +* Displaying the current line or column:: +* Displaying the current file name in the titlebar:: +* Turning on abbrevs by default:: +* Associating modes with files:: +* Highlighting a region:: +* Replacing highlighted text:: +* Controlling case sensitivity:: +* Working with unprintable characters:: +* Searching for/replacing newlines:: +* Yanking text in isearch:: +* Wrapping words automatically:: +* Turning on auto-fill by default:: +* Changing load-path:: +* Using an already running Emacs process:: +* Compiler error messages:: +* Indenting switch statements:: +* Customizing C and C++ indentation:: +* Horizontal scrolling:: +* Overwrite mode:: +* Turning off beeping:: +* Turning the volume down:: +* Automatic indentation:: +* Matching parentheses:: +* Hiding #ifdef lines:: +* Repeating commands:: +* Valid X resources:: +* Evaluating Emacs Lisp code:: +* Changing the length of a Tab:: +* Inserting text at the beginning of each line:: +* Forcing the cursor to remain in the same column:: +* Forcing Emacs to iconify itself:: +* Using regular expressions:: +* Replacing text across multiple files:: +* Documentation for etags:: +* Disabling backups:: +* Disabling auto-save-mode:: +* Going to a line by number:: +* Modifying pull-down menus:: +* Deleting menus and menu options:: +* Turning on syntax highlighting:: +* Scrolling only one line:: +* Editing MS-DOS files:: +* Filling paragraphs with a single space:: +* Escape sequences in shell output:: +* Fullscreen mode on MS-Windows:: +@end menu + +@node Setting up a customization file +@section How do I set up a @file{.emacs} file properly? +@cindex @file{.emacs} file, setting up +@cindex @file{.emacs} file, locating +@cindex Init file, setting up +@cindex Customization file, setting up + +@xref{Init File,,, emacs, The GNU Emacs Manual}. + +In general, new Emacs users should not be provided with @file{.emacs} +files, because this can cause confusing non-standard behavior. Then +they send questions to +@url{http://lists.gnu.org/mailman/listinfo/help-gnu-emacs, +the help-gnu-emacs mailing list} asking why Emacs +isn't behaving as documented. + +Emacs includes the Customize facility (@pxref{Using Customize}). This +allows users who are unfamiliar with Emacs Lisp to modify their +@file{.emacs} files in a relatively straightforward way, using menus +rather than Lisp code. + +While Customize might indeed make it easier to configure Emacs, +consider taking a bit of time to learn Emacs Lisp and modifying your +@file{.emacs} directly. Simple configuration options are described +rather completely in @ref{Init File,,, emacs, The GNU Emacs Manual}, +for users interested in performing frequently requested, basic tasks. + +Sometimes users are unsure as to where their @file{.emacs} file should +be found. Visiting the file as @file{~/.emacs} from Emacs will find +the correct file. + +@node Using Customize +@section How do I start using Customize? +@cindex Customize groups +@cindex Customizing variables +@cindex Customizing faces + +The main Customize entry point is @kbd{M-x customize @key{RET}}. This +command takes you to a buffer listing all the available Customize +groups. From there, you can access all customizable options and faces, +change their values, and save your changes to your init file. +@xref{Easy Customization,,, emacs, The GNU Emacs Manual}. + +If you know the name of the group in advance (e.g., ``shell''), use +@kbd{M-x customize-group @key{RET}}. + +If you wish to customize a single option, use @kbd{M-x customize-option +@key{RET}}. This command prompts you for the name of the option to +customize, with completion. + +@node Colors on a TTY +@section How do I get colors and syntax highlighting on a TTY? +@cindex Colors on a TTY +@cindex Syntax highlighting on a TTY +@cindex Console, colors + +In Emacs 21.1 and later, colors and faces are supported in non-windowed mode, +i.e., on Unix and GNU/Linux text-only terminals and consoles, and when +invoked as @samp{emacs -nw} on X, and MS-Windows. (Colors and faces were +supported in the MS-DOS port since Emacs 19.29.) Emacs automatically +detects color support at startup and uses it if available. If you think +that your terminal supports colors, but Emacs won't use them, check the +@code{termcap} entry for your display type for color-related +capabilities. + +The command @kbd{M-x list-colors-display} pops up a window which +exhibits all the colors Emacs knows about on the current display. + +Syntax highlighting is on by default since version 22.1. + +@node Debugging a customization file +@section How do I debug a @file{.emacs} file? +@cindex Debugging @file{.emacs} file +@cindex @file{.emacs} debugging +@cindex Init file debugging +@cindex @samp{-debug-init} option + +Start Emacs with the @samp{-debug-init} command-line option. This +enables the Emacs Lisp debugger before evaluating your @file{.emacs} +file, and places you in the debugger if something goes wrong. The top +line in the @file{trace-back} buffer will be the error message, and the +second or third line of that buffer will display the Lisp code from your +@file{.emacs} file that caused the problem. + +You can also evaluate an individual function or argument to a function +in your @file{.emacs} file by moving the cursor to the end of the +function or argument and typing @kbd{C-x C-e} (@kbd{M-x +eval-last-sexp}). + +Use @kbd{C-h v} (@kbd{M-x describe-variable}) to check the value of +variables which you are trying to set or use. + +@node Displaying the current line or column +@section How do I make Emacs display the current line (or column) number? +@cindex @code{line-number-mode} +@cindex Displaying the current line or column +@cindex Line number, displaying the current +@cindex Column, displaying the current +@cindex @code{mode-line-format} + +By default, Emacs displays the current line number of the point in the +mode line. You can toggle this feature off or on with the command +@kbd{M-x line-number-mode}, or by setting the variable +@code{line-number-mode}. Note that Emacs will not display the line +number if the buffer's size in bytes is larger than the value of the +variable @code{line-number-display-limit}. + +You can similarly display the current column with +@kbd{M-x column-number-mode}, or by putting the form + +@lisp +(setq column-number-mode t) +@end lisp + +@noindent +in your @file{.emacs} file. This feature is off by default. + +The @code{"%c"} format specifier in the variable @code{mode-line-format} +will insert the current column's value into the mode line. See the +documentation for @code{mode-line-format} (using @kbd{C-h v +mode-line-format @key{RET}}) for more information on how to set and use +this variable. + +@cindex Set number capability in @code{vi} emulators +The @samp{linum} package (distributed with Emacs since version 23.1) +displays line numbers in the left margin, like the ``set number'' +capability of @code{vi}. The packages @samp{setnu} and +@samp{wb-line-number} (not distributed with Emacs) also implement this +feature. + +@node Displaying the current file name in the titlebar +@section How can I modify the titlebar to contain the current file name? +@cindex Titlebar, displaying the current file name in +@cindex File name, displaying in the titlebar +@cindex @code{frame-title-format} + +The contents of an Emacs frame's titlebar is controlled by the variable +@code{frame-title-format}, which has the same structure as the variable +@code{mode-line-format}. (Use @kbd{C-h v} or @kbd{M-x +describe-variable} to get information about one or both of these +variables.) + +By default, the titlebar for a frame does contain the name of the buffer +currently being visited, except if there is a single frame. In such a +case, the titlebar contains Emacs invocation name and the name of the +machine at which Emacs was invoked. This is done by setting +@code{frame-title-format} to the default value of + +@lisp +(multiple-frames "%b" ("" invocation-name "@@" system-name)) +@end lisp + +To modify the behavior such that frame titlebars contain the buffer's +name regardless of the number of existing frames, include the following +in your @file{.emacs}: + +@lisp +(setq frame-title-format "%b") +@end lisp + +@node Turning on abbrevs by default +@section How do I turn on abbrevs by default just in mode @var{mymode}? +@cindex Abbrevs, turning on by default + +Abbrev mode expands abbreviations as you type them. To turn it on in a +specific buffer, use @kbd{M-x abbrev-mode}. To turn it on in every +buffer by default, put this in your @file{.emacs} file: + +@lisp +(setq-default abbrev-mode t) +@end lisp + +@noindent To turn it on in a specific mode, use: + +@lisp +(add-hook '@var{mymode}-mode-hook + (lambda () + (setq abbrev-mode t))) +@end lisp + +@noindent If your Emacs version is older then 22.1, you will also need to use: + +@lisp +(condition-case () + (quietly-read-abbrev-file) + (file-error nil)) +@end lisp + +@node Associating modes with files +@section How do I make Emacs use a certain major mode for certain files? +@cindex Associating modes with files +@cindex File extensions and modes +@cindex @code{auto-mode-alist}, modifying +@cindex Modes, associating with file extensions + +If you want to use a certain mode @var{foo} for all files whose names end +with the extension @file{.@var{bar}}, this will do it for you: + +@lisp +(add-to-list 'auto-mode-alist '("\\.@var{bar}\\'" . @var{foo}-mode)) +@end lisp + +Alternatively, put this somewhere in the first line of any file you want to +edit in the mode @var{foo} (in the second line, if the first line begins +with @samp{#!}): + +@example +-*- @var{foo} -*- +@end example + +@cindex Major mode for shell scripts +The variable @code{interpreter-mode-alist} specifies which mode to use +when loading an interpreted script (e.g., shell, python, etc.). Emacs +determines which interpreter you're using by examining the first line of +the script. Use @kbd{C-h v} (or @kbd{M-x describe-variable}) on +@code{interpreter-mode-alist} to learn more. + +@node Highlighting a region +@section How can I highlight a region of text in Emacs? +@cindex Highlighting text +@cindex Text, highlighting +@cindex @code{transient-mark-mode} +@cindex Region, highlighting a + +You can cause the region to be highlighted when the mark is active by +including + +@lisp +(transient-mark-mode 1) +@end lisp + +@noindent +in your @file{.emacs} file. Since Emacs 23.1, this feature is on by default. + +@node Replacing highlighted text +@section How can I replace highlighted text with what I type? +@cindex @code{delete-selection-mode} +@cindex Replacing highlighted text +@cindex Highlighting and replacing text + +Use @code{delete-selection-mode}, which you can start automatically by +placing the following Lisp form in your @file{.emacs} file: + +@lisp +(delete-selection-mode 1) +@end lisp + +According to the documentation string for @code{delete-selection-mode} +(which you can read using @kbd{M-x describe-function @key{RET} +delete-selection-mode @key{RET}}): + +@quotation +When Delete Selection mode is enabled, Transient Mark mode is also +enabled and typed text replaces the selection if the selection is +active. Otherwise, typed text is just inserted at point regardless of +any selection. +@end quotation + +This mode also allows you to delete (not kill) the highlighted region by +pressing @key{DEL}. + +@node Controlling case sensitivity +@section How do I control Emacs's case-sensitivity when searching/replacing? +@cindex @code{case-fold-search} +@cindex Case sensitivity of searches +@cindex Searching without case sensitivity +@cindex Ignoring case in searches + +@c FIXME +The value of the variable @code{case-fold-search} determines whether +searches are case sensitive: + +@lisp +(setq case-fold-search nil) ; make searches case sensitive +(setq case-fold-search t) ; make searches case insensitive +@end lisp + +@cindex Case sensitivity in replacements +@cindex Replacing, and case sensitivity +@cindex @code{case-replace} +Similarly, for replacing, the variable @code{case-replace} determines +whether replacements preserve case. + +You can also toggle case sensitivity at will in isearch with @kbd{M-c}. + +To change the case sensitivity just for one major mode, use the major +mode's hook. For example: + +@lisp +(add-hook '@var{foo}-mode-hook + (lambda () + (setq case-fold-search nil))) +@end lisp + +@node Working with unprintable characters +@section How do I search for, delete, or replace unprintable (eight-bit or control) characters? +@cindex Unprintable characters, working with +@cindex Working with unprintable characters +@cindex Control characters, working with +@cindex Eight-bit characters, working with +@cindex Searching for unprintable characters +@cindex Regexps and unprintable characters + +To search for a single character that appears in the buffer as, for +example, @samp{\237}, you can type @kbd{C-s C-q 2 3 7}. +Searching for @strong{all} unprintable characters is best done with a +regular expression (@dfn{regexp}) search. The easiest regexp to use for +the unprintable chars is the complement of the regexp for the printable +chars. + +@itemize @bullet + +@item +Regexp for the printable chars: @samp{[\t\n\r\f -~]} + +@item +Regexp for the unprintable chars: @samp{[^\t\n\r\f -~]} + +@end itemize + +To type these special characters in an interactive argument to +@code{isearch-forward-regexp} or @code{re-search-forward}, you need to +use @kbd{C-q}. (@samp{\t}, @samp{\n}, @samp{\r}, and @samp{\f} stand +respectively for @key{TAB}, @key{LFD}, @key{RET}, and @kbd{C-l}.) So, +to search for unprintable characters using @code{re-search-forward}: + +@kbd{M-x re-search-forward @key{RET} [^ @key{TAB} C-q @key{LFD} C-q @key{RET} C-q C-l @key{SPC} -~] @key{RET}} + +Using @code{isearch-forward-regexp}: + +@kbd{C-M-s [^ @key{TAB} @key{LFD} C-q @key{RET} C-q C-l @key{SPC} -~]} + +To delete all unprintable characters, simply use replace-regexp: + +@kbd{M-x replace-regexp @key{RET} [^ @key{TAB} C-q @key{LFD} C-q @key{RET} C-q C-l @key{SPC} -~] @key{RET} @key{RET}} + +Replacing is similar to the above. To replace all unprintable +characters with a colon, use: + +M-x replace-regexp @key{RET} [^ @key{TAB} C-q @key{LFD} C-q @key{RET} C-q C-l @key{SPC} -~] @key{RET} : @key{RET} + +@node Searching for/replacing newlines +@section How do I input a newline character in isearch or query-replace? +@cindex Searching for newlines +@cindex Replacing newlines + +Use @kbd{C-q C-j}. For more information, +@pxref{Special Isearch,, Special Input for Incremental Search, emacs, +The GNU Emacs Manual}. + +@node Yanking text in isearch +@section How do I copy text from the kill ring into the search string? +@cindex Yanking text into the search string +@cindex isearch yanking + +Use @kbd{M-y}. @xref{Isearch Yank,,, emacs, The GNU Emacs Manual}. + +@node Wrapping words automatically +@section How do I make Emacs wrap words for me? +@cindex Wrapping word automatically +@cindex Wrapping lines +@cindex Line wrap +@cindex @code{auto-fill-mode}, introduction to +@cindex Maximum line width, default value +@cindex @code{fill-column}, default value + +Use @code{auto-fill-mode}, activated by typing @kbd{M-x auto-fill-mode}. +The default maximum line width is 70, determined by the variable +@code{fill-column}. To learn how to turn this on automatically, see +@ref{Turning on auto-fill by default}. + +@node Turning on auto-fill by default +@section How do I turn on @code{auto-fill-mode} by default? +@cindex @code{auto-fill-mode}, activating automatically +@cindex Filling automatically +@cindex Automatic entry to @code{auto-fill-mode} + +To turn on @code{auto-fill-mode} just once for one buffer, use @kbd{M-x +auto-fill-mode}. + +To turn it on for every buffer in a certain mode, you must use the hook +for that mode. For example, to turn on @code{auto-fill} mode for all +text buffers, including the following in your @file{.emacs} file: + +@lisp +(add-hook 'text-mode-hook 'turn-on-auto-fill) +@end lisp + +If you want @code{auto-fill} mode on in all major modes, do this: + +@lisp +(setq-default auto-fill-function 'do-auto-fill) +@end lisp + +@node Changing load-path +@section How do I change @code{load-path}? +@cindex @code{load-path}, modifying +@cindex Modifying @code{load-path} +@cindex Adding to @code{load-path} + +In general, you should only add to the @code{load-path}. You can add +directory @var{/dir/subdir} to the load path like this: + +@lisp +(add-to-list 'load-path "/dir/subdir/") +@end lisp + +To do this relative to your home directory: + +@lisp +(add-to-list 'load-path "~/mysubdir/") +@end lisp + +@node Using an already running Emacs process +@section How do I use an already running Emacs from another window? +@cindex @code{emacsclient} +@cindex Emacs server functions +@cindex Using an existing Emacs process + +@code{emacsclient}, which comes with Emacs, is for editing a file using +an already running Emacs rather than starting up a new Emacs. It does +this by sending a request to the already running Emacs, which must be +expecting the request. + +@itemize @bullet + +@item +Setup: + +Emacs must have executed the @code{server-start} function for +@samp{emacsclient} to work. This can be done either by a command line +option: + +@example +emacs -f server-start +@end example + +or by invoking @code{server-start} from @file{.emacs}: + +@lisp +(if (@var{some conditions are met}) (server-start)) +@end lisp + +When this is done, Emacs creates a Unix domain socket named +@file{server} in @file{/tmp/emacs@var{userid}}. See +@code{server-socket-dir}. + +To get your news reader, mail reader, etc., to invoke +@samp{emacsclient}, try setting the environment variable @code{EDITOR} +(or sometimes @code{VISUAL}) to the value @samp{emacsclient}. You may +have to specify the full pathname of the @samp{emacsclient} program +instead. Examples: + +@example +# csh commands: +setenv EDITOR emacsclient + +# using full pathname +setenv EDITOR /usr/local/emacs/etc/emacsclient + +# sh command: +EDITOR=emacsclient ; export EDITOR +@end example + +@item +Normal use: + +When @samp{emacsclient} is run, it connects to the socket and passes its +command line options to Emacs, which at the next opportunity will visit +the files specified. (Line numbers can be specified just like with +Emacs.) The user will have to switch to the Emacs window by hand. When +the user is done editing a file, the user can type @kbd{C-x #} (or +@kbd{M-x server-edit}) to indicate this. If there is another buffer +requested by @code{emacsclient}, Emacs will switch to it; otherwise +@code{emacsclient} will exit, signaling the calling program to continue. + +@cindex @code{gnuserv} +There is an alternative version of @samp{emacsclient} called +@c ange@@hplb.hpl.hp.com +@samp{gnuserv}, written by Andy Norman +(@pxref{Packages that do not come with Emacs}). @samp{gnuserv} uses +Internet domain sockets, so it can work across most network connections. + +The most recent @samp{gnuserv} package is available at + +@uref{http://meltin.net/hacks/emacs/} + +@end itemize + +@node Compiler error messages +@section How do I make Emacs recognize my compiler's funny error messages? +@cindex Compiler error messages, recognizing +@cindex Recognizing non-standard compiler errors +@cindex Regexps for recognizing compiler errors +@cindex Errors, recognizing compiler + +Customize the @code{compilation-error-regexp-alist} variable. + +@node Indenting switch statements +@section How do I change the indentation for @code{switch}? +@cindex @code{switch}, indenting +@cindex Indenting of @code{switch} + +Many people want to indent their @code{switch} statements like this: + +@example +f() +@{ + switch(x) @{ + case A: + x1; + break; + case B: + x2; + break; + default: + x3; + @} +@} +@end example + +@noindent To achieve this, add the following line to your @file{.emacs}: + +@lisp +(c-set-offset 'case-label '+) +@end lisp + +@node Customizing C and C++ indentation +@section How to customize indentation in C, C@t{++}, and Java buffers? +@cindex Indentation, how to customize +@cindex Customize indentation + +The Emacs @code{cc-mode} features an interactive procedure for +customizing the indentation style, which is fully explained in the +@cite{CC Mode} manual that is part of the Emacs distribution, see +@ref{Customizing Indentation, , Customization Indentation, ccmode, +The CC Mode Manual}. Here's a short summary of the procedure: + +@enumerate +@item +Go to the beginning of the first line where you don't like the +indentation and type @kbd{C-c C-o}. Emacs will prompt you for the +syntactic symbol; type @key{RET} to accept the default it suggests. + +@item +Emacs now prompts for the offset of this syntactic symbol, showing the +default (the current definition) inside parentheses. You can choose +one of these: + +@table @code +@item 0 +No extra indentation. +@item + +Indent one basic offset. +@item - +Outdent one basic offset. +@item ++ +Indent two basic offsets +@item -- +Outdent two basic offsets. +@item * +Indent half basic offset. +@item / +Outdent half basic offset. +@end table + +@item +After choosing one of these symbols, type @kbd{C-c C-q} to reindent +the line or the block according to what you just specified. + +@item +If you don't like the result, go back to step 1. Otherwise, add the +following line to your @file{.emacs}: + +@lisp +(c-set-offset '@var{syntactic-symbol} @var{offset}) +@end lisp + +@noindent +where @var{syntactic-symbol} is the name Emacs shows in the minibuffer +when you type @kbd{C-c C-o} at the beginning of the line, and +@var{offset} is one of the indentation symbols listed above (@code{+}, +@code{/}, @code{0}, etc.)@: that you've chosen during the interactive +procedure. + +@item +Go to the next line whose indentation is not to your liking and repeat +the process there. +@end enumerate + +It is recommended to put all the resulting @code{(c-set-offset ...)} +customizations inside a C mode hook, like this: + +@lisp +(defun my-c-mode-hook () + (c-set-offset ...) + (c-set-offset ...)) +(add-hook 'c-mode-hook 'my-c-mode-hook) +@end lisp + +@noindent +Using @code{c-mode-hook} avoids the need to put a @w{@code{(require +'cc-mode)}} into your @file{.emacs} file, because @code{c-set-offset} +might be unavailable when @code{cc-mode} is not loaded. + +Note that @code{c-mode-hook} runs for C source files only; use +@code{c++-mode-hook} for C@t{++} sources, @code{java-mode-hook} for +Java sources, etc. If you want the same customizations to be in +effect in @emph{all} languages supported by @code{cc-mode}, use +@code{c-mode-common-hook}. + +@node Horizontal scrolling +@section How can I make Emacs automatically scroll horizontally? +@cindex @code{hscroll-mode} +@cindex Horizontal scrolling +@cindex Scrolling horizontally + +In Emacs 21 and later, this is on by default: if the variable +@code{truncate-lines} is non-@code{nil} in the current buffer, Emacs +automatically scrolls the display horizontally when point moves off the +left or right edge of the window. + +Note that this is overridden by the variable +@code{truncate-partial-width-windows} if that variable is non-nil +and the current buffer is not full-frame width. + +In Emacs 20, use @code{hscroll-mode}. + +@node Overwrite mode +@section How do I make Emacs ``typeover'' or ``overwrite'' instead of inserting? +@cindex @key{Insert} +@cindex @code{overwrite-mode} +@cindex Overwriting existing text +@cindex Toggling @code{overwrite-mode} + +@kbd{M-x overwrite-mode} (a minor mode). This toggles +@code{overwrite-mode} on and off, so exiting from @code{overwrite-mode} +is as easy as another @kbd{M-x overwrite-mode}. + +On some systems, @key{Insert} toggles @code{overwrite-mode} on and off. + +@node Turning off beeping +@section How do I stop Emacs from beeping on a terminal? +@cindex Beeping, turning off +@cindex Visible bell +@cindex Bell, visible + +@c martin@@cc.gatech.edu +Martin R. Frank writes: + +Tell Emacs to use the @dfn{visible bell} instead of the audible bell, +and set the visible bell to nothing. + +That is, put the following in your @code{TERMCAP} environment variable +(assuming you have one): + +@example +... :vb=: ... +@end example + +And evaluate the following Lisp form: + +@example +(setq visible-bell t) +@end example + +@node Turning the volume down +@section How do I turn down the bell volume in Emacs running under X? +@cindex Bell, volume of +@cindex Volume of bell + +On X Window system, you can adjust the bell volume and duration for all +programs with the shell command @code{xset}. + +Invoking @code{xset} without any arguments produces some basic +information, including the following: + +@example +usage: xset [-display host:dpy] option ... + To turn bell off: + -b b off b 0 + To set bell volume, pitch and duration: + b [vol [pitch [dur]]] b on +@end example + +@node Automatic indentation +@section How do I tell Emacs to automatically indent a new line to the indentation of the previous line? +@cindex Indenting new lines +@cindex New lines, indenting of +@cindex Previous line, indenting according to +@cindex Text indentation + +Such behavior is automatic (in Text mode) in Emacs 20 and later. From the +@file{etc/NEWS} file for Emacs 20.2: + +@example +** In Text mode, now only blank lines separate paragraphs. This makes +it possible to get the full benefit of Adaptive Fill mode in Text mode, +and other modes derived from it (such as Mail mode). @key{TAB} in Text +mode now runs the command @code{indent-relative}; this makes a practical +difference only when you use indented paragraphs. + +If you want spaces at the beginning of a line to start a paragraph, use +the new mode, Paragraph Indent Text mode. +@end example + +@cindex Prefixing lines +@cindex Fill prefix +If you have @code{auto-fill-mode} turned on (@pxref{Turning on auto-fill +by default}), you can tell Emacs to prefix every line with a certain +character sequence, the @dfn{fill prefix}. Type the prefix at the +beginning of a line, position point after it, and then type @kbd{C-x .} +(@code{set-fill-prefix}) to set the fill prefix. Thereafter, +auto-filling will automatically put the fill prefix at the beginning of +new lines, and @kbd{M-q} (@code{fill-paragraph}) will maintain any fill +prefix when refilling the paragraph. + +If you have paragraphs with different levels of indentation, you will +have to set the fill prefix to the correct value each time you move to a +new paragraph. There are many packages available to deal with this +(@pxref{Packages that do not come with Emacs}). Look for ``fill'' and +``indent'' keywords for guidance. + +@node Matching parentheses +@section How do I show which parenthesis matches the one I'm looking at? +@cindex Parentheses, matching +@cindex @file{paren.el} +@cindex Highlighting matching parentheses +@cindex Pairs of parentheses, highlighting +@cindex Matching parentheses + +Call @code{show-paren-mode} in your @file{.emacs} file: + +@lisp +(show-paren-mode 1) +@end lisp + +You can also enable this mode by selecting the @samp{Paren Match +Highlighting} option from the @samp{Options} menu of the Emacs menu bar +at the top of any Emacs frame. + +Alternatives to this mode include: + +@itemize @bullet + +@item +If you're looking at a right parenthesis (or brace or bracket) you can +delete it and reinsert it. Emacs will momentarily move the cursor to +the matching parenthesis. + +@item +@kbd{C-M-f} (@code{forward-sexp}) and @kbd{C-M-b} (@code{backward-sexp}) +will skip over one set of balanced parentheses, so you can see which +parentheses match. (You can train it to skip over balanced brackets +and braces at the same time by modifying the syntax table.) + +@cindex Show matching paren as in @code{vi} +@item +Here is some Emacs Lisp that will make the @key{%} key show the matching +parenthesis, like in @code{vi}. In addition, if the cursor isn't over a +parenthesis, it simply inserts a % like normal. + +@lisp +;; By an unknown contributor + +(global-set-key "%" 'match-paren) + +(defun match-paren (arg) + "Go to the matching paren if on a paren; otherwise insert %." + (interactive "p") + (cond ((looking-at "\\s\(") (forward-list 1) (backward-char 1)) + ((looking-at "\\s\)") (forward-char 1) (backward-list 1)) + (t (self-insert-command (or arg 1))))) +@end lisp + +@end itemize + +@node Hiding #ifdef lines +@section In C mode, can I show just the lines that will be left after @code{#ifdef} commands are handled by the compiler? +@cindex @code{#ifdef}, selective display of +@cindex @code{hide-ifdef-mode} +@cindex Hiding @code{#ifdef} text +@cindex Selectively displaying @code{#ifdef} code + +@kbd{M-x hide-ifdef-mode}. (This is a minor mode.) You might also want +to investigate @file{cpp.el}, which is distributed with Emacs. + +@node Repeating commands +@section How do I repeat a command as many times as possible? +@cindex Repeating commands many times +@cindex Commands, repeating many times +@cindex @code{.}, equivalent to @code{vi} command + +As of Emacs 20.3, there is indeed a @code{repeat} command (@kbd{C-x z}) +that repeats the last command. If you preface it with a prefix +argument, the prefix arg is applied to the command. + +You can also type @kbd{C-x @key{ESC} @key{ESC}} +(@code{repeat-complex-command}) to reinvoke commands that used the +minibuffer to get arguments. In @code{repeat-complex-command} you can +type @kbd{M-p} and @kbd{M-n} (and also up-arrow and down-arrow, if your +keyboard has these keys) to scan through all the different complex +commands you've typed. + +To repeat a set of commands, use keyboard macros. Use @kbd{C-x (} and +@kbd{C-x )} to make a keyboard macro that invokes the command and then +type @kbd{C-x e}. @xref{Keyboard Macros,,, emacs, The GNU Emacs Manual}. + +If you're really desperate for the @code{.} command in @code{vi} that +redoes the last insertion/deletion, use VIPER, a @code{vi} emulation +mode which comes with Emacs, and which appears to support it. + +@node Valid X resources +@section What are the valid X resource settings (i.e., stuff in .Xdefaults)? +@cindex Resources, X +@cindex X resources +@cindex Setting X resources + +@xref{X Resources,,, emacs, The GNU Emacs Manual}. + +You can also use a resource editor, such as editres (for X11R5 and +onwards), to look at the resource names for the menu bar, assuming Emacs +was compiled with the X toolkit. + +@node Evaluating Emacs Lisp code +@section How do I execute (``evaluate'') a piece of Emacs Lisp code? +@cindex Evaluating Lisp code +@cindex Lisp forms, evaluating + +There are a number of ways to execute (@dfn{evaluate}, in Lisp lingo) an +Emacs Lisp @dfn{form}: + +@itemize @bullet + +@item +If you want it evaluated every time you run Emacs, put it in a file +named @file{.emacs} in your home directory. This is known as ``your +@file{.emacs} file,'' and contains all of your personal customizations. + +@item +You can type the form in the @file{*scratch*} buffer, and then type +@key{LFD} (or @kbd{C-j}) after it. The result of evaluating the form +will be inserted in the buffer. + +@item +In @code{emacs-lisp-mode}, typing @kbd{C-M-x} evaluates a top-level form +before or around point. + +@item +Typing @kbd{C-x C-e} in any buffer evaluates the Lisp form immediately +before point and prints its value in the echo area. + +@item +Typing @kbd{M-:} or @kbd{M-x eval-expression} allows you to type a Lisp +form in the minibuffer which will be evaluated once you press @key{RET}. + +@item +You can use @kbd{M-x load-file} to have Emacs evaluate all the Lisp +forms in a file. (To do this from Lisp use the function @code{load} +instead.) + +The functions @code{load-library}, @code{eval-region}, +@code{eval-buffer}, @code{require}, and @code{autoload} are also +useful; see @ref{Emacs Lisp documentation}, if you want to learn more +about them. + +@end itemize + +@node Changing the length of a Tab +@section How do I change Emacs's idea of the @key{TAB} character's length? +@cindex Tab length +@cindex Length of tab character + +Set the default value of the variable @code{tab-width}. For example, to set +@key{TAB} stops every 10 characters, insert the following in your +@file{.emacs} file: + +@lisp +(setq-default tab-width 10) +@end lisp + +Do not confuse variable @code{tab-width} with variable +@code{tab-stop-list}. The former is used for the display of literal +@key{TAB} characters. The latter controls what characters are inserted +when you press the @key{TAB} character in certain modes. + +@node Inserting text at the beginning of each line +@section How do I insert at the beginning of every line? +@cindex Prefixing a region with some text +@cindex Prefix character, inserting in mail/news replies +@cindex Replies to mail/news, inserting a prefix character +@cindex @code{mail-yank-prefix} +@cindex Mail replies, inserting a prefix character +@cindex News replies, inserting a prefix character + +To do this to an entire buffer, type @kbd{M-< M-x replace-regexp +@key{RET} ^ @key{RET} your text @key{RET}}. + +To do this to a region, use @code{string-insert-rectangle}. +Set the mark (@kbd{C-@key{SPC}}) at the beginning of the first line you +want to prefix, move the cursor to last line to be prefixed, and type +@kbd{M-x string-insert-rectangle @key{RET}}. To do this for the whole +buffer, type @kbd{C-x h M-x string-insert-rectangle @key{RET}}. + +If you are trying to prefix a yanked mail message with @samp{>}, you +might want to set the variable @code{mail-yank-prefix}. In Message +buffers, you can even use @kbd{M-;} to cite yanked messages (@kbd{M-;} +runs the function @code{comment-region}, it is a general-purpose +mechanism to comment regions) (@pxref{Changing the included text prefix}). + +@node Forcing the cursor to remain in the same column +@section How do I make Emacs behave like this: when I go up or down, the cursor should stay in the same column even if the line is too short? +@cindex @code{picture-mode} +@cindex Remaining in the same column, regardless of contents +@cindex Vertical movement in empty documents + +Use @kbd{M-x picture-mode}. + +See also the variable @code{track-eol} and the command +@code{set-goal-column} bound to @kbd{C-x C-n} +(@pxref{Moving Point, , , emacs, The GNU Emacs Manual}). + +@node Forcing Emacs to iconify itself +@section How do I tell Emacs to iconify itself? +@cindex Iconification under the X Window System +@cindex X Window System and iconification +@cindex Suspending Emacs + +@kbd{C-z} iconifies Emacs when running under X and suspends Emacs +otherwise. @xref{Frame Commands,,, emacs, The GNU Emacs Manual}. + +@node Using regular expressions +@section How do I use regexps (regular expressions) in Emacs? +@cindex Regexps +@cindex Regular expressions +@cindex Differences between Unix and Emacs regexps +@cindex Unix regexps, differences from Emacs +@cindex Text strings, putting regexps in + +@xref{Regexp Backslash,,, emacs, The GNU Emacs Manual}. + +The @code{or} operator is @samp{\|}, not @samp{|}, and the grouping operators +are @samp{\(} and @samp{\)}. Also, the string syntax for a backslash is +@samp{\\}. To specify a regular expression like @samp{xxx\(foo\|bar\)} +in a Lisp string, use @samp{xxx\\(foo\\|bar\\)}. + +Note the doubled backslashes! + +@itemize @bullet + +@item +Unlike in Unix @file{grep}, @file{sed}, etc., a complement character set +(@samp{[^...]}) can match a newline character (@key{LFD} a.k.a.@: +@kbd{C-j} a.k.a.@: @samp{\n}), unless newline is mentioned as one of the +characters not to match. + +@item +The character syntax regexps (e.g., @samp{\sw}) are not +meaningful inside character set regexps (e.g., @samp{[aeiou]}). (This +is actually typical for regexp syntax.) + +@end itemize + +@node Replacing text across multiple files +@section How do I perform a replace operation across more than one file? +@cindex Replacing strings across files +@cindex Multiple files, replacing across +@cindex Files, replacing strings across multiple +@cindex Recursive search/replace operations + +Dired mode (@kbd{M-x dired @key{RET}}, or @kbd{C-x d}) supports the +command @code{dired-do-query-replace-regexp} (@kbd{Q}), which allows +users to replace regular expressions in multiple files. + +You can use this command to perform search/replace operations on +multiple files by following the following steps: + +@itemize @bullet +@item +Assemble a list of files you want to operate on with either +@code{find-dired}, @code{find-name-dired} or @code{find-grep-dired}. + +@item +Mark all files in the resulting Dired buffer using @kbd{t}. + +@item +Use @kbd{Q} to start a @code{query-replace-regexp} session on the marked +files. + +@item +To accept all replacements in each file, hit @kbd{!}. +@end itemize + +Another way to do the same thing is to use the ``tags'' feature of +Emacs: it includes the command @code{tags-query-replace} which performs +a query-replace across all the files mentioned in the @file{TAGS} file. +@xref{Tags Search,,, emacs, The GNU Emacs Manual}. + +@node Documentation for etags +@section Where is the documentation for @code{etags}? +@cindex Documentation for @code{etags} +@cindex @code{etags}, documentation for + +The @code{etags} man page should be in the same place as the +@code{emacs} man page. + +Quick command-line switch descriptions are also available. For example, +@samp{etags -H}. + +@node Disabling backups +@section How do I disable backup files? +@cindex Backups, disabling +@cindex Disabling backups + +You probably don't want to do this, since backups are useful, especially +when something goes wrong. + +To avoid seeing backup files (and other ``uninteresting'' files) in Dired, +load @code{dired-x} by adding the following to your @file{.emacs} file: + +@lisp +(add-hook 'dired-load-hook + (lambda () + (require 'dired-x))) +@end lisp + +With @code{dired-x} loaded, @kbd{M-o} toggles omitting in each dired buffer. +You can make omitting the default for new dired buffers by putting the +following in your @file{.emacs}: + +@lisp +(add-hook 'dired-mode-hook 'dired-omit-toggle) +@end lisp + +If you're tired of seeing backup files whenever you do an @samp{ls} at +the Unix shell, try GNU @code{ls} with the @samp{-B} option. GNU +@code{ls} is part of the GNU Fileutils package, available from +@samp{ftp.gnu.org} and its mirrors (@pxref{Current GNU distributions}). + +To disable or change the way backups are made, +@pxref{Backup Names,,, emacs, The GNU Emacs Manual}. + +@cindex Backup files in a single directory +Beginning with Emacs 21.1, you can control where Emacs puts backup files +by customizing the variable @code{backup-directory-alist}. This +variable's value specifies that files whose names match specific patters +should have their backups put in certain directories. A typical use is +to add the element @code{("." . @var{dir})} to force Emacs to put +@strong{all} backup files in the directory @file{dir}. + +@node Disabling auto-save-mode +@section How do I disable @code{auto-save-mode}? +@cindex Disabling @code{auto-save-mode} +@cindex Auto-saving +@cindex Saving at frequent intervals + +You probably don't want to do this, since auto-saving is useful, +especially when Emacs or your computer crashes while you are editing a +document. + +Instead, you might want to change the variable +@code{auto-save-interval}, which specifies how many keystrokes Emacs +waits before auto-saving. Increasing this value forces Emacs to wait +longer between auto-saves, which might annoy you less. + +You might also want to look into Sebastian Kremer's @code{auto-save} +package (@pxref{Packages that do not come with Emacs}). This +package also allows you to place all auto-save files in one directory, +such as @file{/tmp}. + +To disable or change how @code{auto-save-mode} works, +@pxref{Auto Save,,, emacs, The GNU Emacs Manual}. + +@node Going to a line by number +@section How can I go to a certain line given its number? +@cindex Going to a line by number +@cindex Compilation error messages +@cindex Recompilation + +Are you sure you indeed need to go to a line by its number? Perhaps all +you want is to display a line in your source file for which a compiler +printed an error message? If so, compiling from within Emacs using the +@kbd{M-x compile} and @kbd{M-x recompile} commands is a much more +effective way of doing that. Emacs automatically intercepts the compile +error messages, inserts them into a special buffer called +@code{*compilation*}, and lets you visit the locus of each message in +the source. Type @kbd{C-x `} to step through the offending lines one by +one (starting with Emacs 22, you can also use @kbd{M-g M-p} and +@kbd{M-g M-n} to go to the previous and next matches directly). Click +@kbd{Mouse-2} or press @key{RET} on a message text in the +@code{*compilation*} buffer to go to the line whose number is mentioned +in that message. + +But if you indeed need to go to a certain text line, type @kbd{M-g M-g} +(which is the default binding of the @code{goto-line} function starting +with Emacs 22). Emacs will prompt you for the number of the line and go +to that line. + +You can do this faster by invoking @code{goto-line} with a numeric +argument that is the line's number. For example, @kbd{C-u 286 M-g M-g} +will jump to line number 286 in the current buffer. + +@node Modifying pull-down menus +@section How can I create or modify new pull-down menu options? +@cindex Pull-down menus, creating or modifying +@cindex Menus, creating or modifying +@cindex Creating new menu options +@cindex Modifying pull-down menus +@cindex Menus and keymaps +@cindex Keymaps and menus + +Each menu title (e.g., @samp{File}, @samp{Edit}, @samp{Buffers}) +represents a local or global keymap. Selecting a menu title with the +mouse displays that keymap's non-@code{nil} contents in the form of a menu. + +So to add a menu option to an existing menu, all you have to do is add a +new definition to the appropriate keymap. Adding a @samp{Forward Word} +item to the @samp{Edit} menu thus requires the following Lisp code: + +@lisp +(define-key global-map + [menu-bar edit forward] + '("Forward word" . forward-word)) +@end lisp + +@noindent +The first line adds the entry to the global keymap, which includes +global menu bar entries. Replacing the reference to @code{global-map} +with a local keymap would add this menu option only within a particular +mode. + +The second line describes the path from the menu-bar to the new entry. +Placing this menu entry underneath the @samp{File} menu would mean +changing the word @code{edit} in the second line to @code{file}. + +The third line is a cons cell whose first element is the title that will +be displayed, and whose second element is the function that will be +called when that menu option is invoked. + +To add a new menu, rather than a new option to an existing menu, we must +define an entirely new keymap: + +@lisp +(define-key global-map [menu-bar words] + (cons "Words" (make-sparse-keymap "Words"))) +@end lisp + +The above code creates a new sparse keymap, gives it the name +@samp{Words}, and attaches it to the global menu bar. Adding the +@samp{Forward Word} item to this new menu would thus require the +following code: + +@lisp +(define-key global-map + [menu-bar words forward] + '("Forward word" . forward-word)) +@end lisp + +@noindent +Note that because of the way keymaps work, menu options are displayed +with the more recently defined items at the top. Thus if you were to +define menu options @samp{foo}, @samp{bar}, and @samp{baz} (in that +order), the menu option @samp{baz} would appear at the top, and +@samp{foo} would be at the bottom. + +One way to avoid this problem is to use the function @code{define-key-after}, +which works the same as @code{define-key}, but lets you modify where items +appear. The following Lisp code would insert the @samp{Forward Word} +item in the @samp{Edit} menu immediately following the @samp{Undo} item: + +@lisp +(define-key-after + (lookup-key global-map [menu-bar edit]) + [forward] + '("Forward word" . forward-word) + 'undo) +@end lisp + +Note how the second and third arguments to @code{define-key-after} are +different from those of @code{define-key}, and that we have added a new +(final) argument, the function after which our new key should be +defined. + +To move a menu option from one position to another, simply evaluate +@code{define-key-after} with the appropriate final argument. + +More detailed information---and more examples of how to create and +modify menu options---are in the @cite{Emacs Lisp Reference Manual}, under +``Menu Keymaps.'' (@xref{Emacs Lisp documentation}, for information on +this manual.) + +@node Deleting menus and menu options +@section How do I delete menus and menu options? +@cindex Deleting menus and menu options +@cindex Menus, deleting + +The simplest way to remove a menu is to set its keymap to @samp{nil}. +For example, to delete the @samp{Words} menu (@pxref{Modifying pull-down +menus}), use: + +@lisp +(define-key global-map [menu-bar words] nil) +@end lisp + +Similarly, removing a menu option requires redefining a keymap entry to +@code{nil}. For example, to delete the @samp{Forward word} menu option +from the @samp{Edit} menu (we added it in @ref{Modifying pull-down +menus}), use: + +@lisp +(define-key global-map [menu-bar edit forward] nil) +@end lisp + +@node Turning on syntax highlighting +@section How do I turn on syntax highlighting? +@cindex Syntax highlighting +@cindex @code{font-lock-mode} +@cindex Highlighting based on syntax +@cindex Colorizing text +@cindex FAQ, @code{font-lock-mode} + +@code{font-lock-mode} is the standard way to have Emacs perform syntax +highlighting in the current buffer. It is enabled by default in Emacs +22.1 and later. + +With @code{font-lock-mode} turned on, different types of text will +appear in different colors. For instance, in a programming mode, +variables will appear in one face, keywords in a second, and comments in +a third. + +To turn @code{font-lock-mode} off within an existing buffer, use +@kbd{M-x font-lock-mode @key{RET}}. + +In Emacs 21 and earlier versions, you could use the following code in +your @file{.emacs} file to turn on @code{font-lock-mode} globally: + +@lisp +(global-font-lock-mode 1) +@end lisp + +Highlighting a buffer with @code{font-lock-mode} can take quite a while, +and cause an annoying delay in display, so several features exist to +work around this. + +@cindex Just-In-Time syntax highlighting +In Emacs 21 and later, turning on @code{font-lock-mode} automatically +activates the new @dfn{Just-In-Time fontification} provided by +@code{jit-lock-mode}. @code{jit-lock-mode} defers the fontification of +portions of buffer until you actually need to see them, and can also +fontify while Emacs is idle. This makes display of the visible portion +of a buffer almost instantaneous. For details about customizing +@code{jit-lock-mode}, type @kbd{C-h f jit-lock-mode @key{RET}}. + +@cindex Levels of syntax highlighting +@cindex Decoration level, in @code{font-lock-mode} +In versions of Emacs before 21, different levels of decoration are +available, from slight to gaudy. More decoration means you need to wait +more time for a buffer to be fontified (or a faster machine). To +control how decorated your buffers should become, set the value of +@code{font-lock-maximum-decoration} in your @file{.emacs} file, with a +@code{nil} value indicating default (usually minimum) decoration, and a +@code{t} value indicating the maximum decoration. For the gaudiest +possible look, then, include the line + +@lisp +(setq font-lock-maximum-decoration t) +@end lisp + +@noindent +in your @file{.emacs} file. You can also set this variable such that +different modes are highlighted in a different ways; for more +information, see the documentation for +@code{font-lock-maximum-decoration} with @kbd{C-h v} (or @kbd{M-x +describe-variable @key{RET}}). + +Also see the documentation for the function @code{font-lock-mode}, +available by typing @kbd{C-h f font-lock-mode} (@kbd{M-x +describe-function @key{RET} font-lock-mode @key{RET}}). + +To print buffers with the faces (i.e., colors and fonts) intact, use +@kbd{M-x ps-print-buffer-with-faces} or @kbd{M-x +ps-print-region-with-faces}. You will need a way to send text to a +PostScript printer, or a PostScript interpreter such as Ghostscript; +consult the documentation of the variables @code{ps-printer-name}, +@code{ps-lpr-command}, and @code{ps-lpr-switches} for more details. + +@node Scrolling only one line +@section How can I force Emacs to scroll only one line when I move past the bottom of the screen? +@cindex Scrolling only one line +@cindex Reducing the increment when scrolling + +Customize the @code{scroll-conservatively} variable with @kbd{M-x +customize-variable @key{RET} scroll-conservatively @key{RET}} and set it +to a large value like, say, 10000. For an explanation of what this +means, @pxref{Auto Scrolling,,, emacs, The GNU Emacs Manual}. + +Alternatively, use the following Lisp form in your @file{.emacs}: + +@lisp +(setq scroll-conservatively most-positive-fixnum) +@end lisp + +@node Editing MS-DOS files +@section How can I edit MS-DOS files using Emacs? +@cindex Editing MS-DOS files +@cindex MS-DOS files, editing +@cindex Microsoft files, editing +@cindex Windows files, editing + +As of Emacs 20, detection and handling of MS-DOS (and Windows) files is +performed transparently. You can open MS-DOS files on a Unix system, +edit it, and save it without having to worry about the file format. + +When editing an MS-DOS style file, the mode line will indicate that it +is a DOS file. On Unix and GNU/Linux systems, and also on a Macintosh, +the string @samp{(DOS)} will appear near the left edge of the mode line; +on DOS and Windows, where the DOS end-of-line (EOL) format is the +default, a backslash (@samp{\}) will appear in the mode line. + +@node Filling paragraphs with a single space +@section How can I tell Emacs to fill paragraphs with a single space after each period? +@cindex One space following periods +@cindex Single space following periods +@cindex Periods, one space following + +Add the following line to your @file{.emacs} file: + +@lisp +(setq sentence-end-double-space nil) +@end lisp + +@node Escape sequences in shell output +@section Why these strange escape sequences from @code{ls} from the Shell mode? +@cindex Escape sequences in @code{ls} output +@cindex @code{ls} in Shell mode + +In many systems, @code{ls} is aliased to @samp{ls --color}, which +prints using ANSI color escape sequences. Emacs version 21.1 and +later includes the @code{ansi-color} package, which lets Shell mode +recognize these escape sequences. In Emacs 23.2 and later, the +package is enabled by default; in earlier versions you can enable it +by typing @kbd{M-x ansi-color-for-comint-mode} in the Shell buffer, or +by adding @code{(add-hook 'shell-mode-hook +'ansi-color-for-comint-mode-on)} to your init file. + +In Emacs versions before 21.1, the @code{ansi-color} package is not +included. In that case, you need to unalias @code{ls} for interactive +shells running in Emacs; this can be done by checking the @code{EMACS} +variable in the environment. + +@node Fullscreen mode on MS-Windows +@section How can I start Emacs in fullscreen mode on MS-Windows? +@cindex Maximize frame +@cindex Fullscreen mode + +Use the function @code{w32-send-sys-command}. For example, you can +put the following in your @file{.emacs} file: + +@lisp +(add-hook 'term-setup-hook + #'(lambda () (w32-send-sys-command ?\xF030))) +@end lisp + +To avoid the slightly distracting visual effect of Emacs starting with +its default frame size and then growing to fullscreen, you can add an +@samp{Emacs.Geometry} entry to the Windows registry settings. +@xref{X Resources,,, emacs, The GNU Emacs Manual}. + +To compute the correct values for width and height, first maximize the +Emacs frame and then evaluate @code{(frame-height)} and +@code{(frame-width)} with @kbd{M-:}. + +@c ------------------------------------------------------------ +@node Bugs and problems +@chapter Bugs and problems +@cindex Bugs and problems + +The Emacs manual lists some common kinds of trouble users could get +into, see @ref{Lossage, , Dealing with Emacs Trouble, emacs, The GNU +Emacs Manual}, so you might look there if the problem you encounter +isn't described in this chapter. If you decide you've discovered a bug, +see @ref{Bugs, , Reporting Bugs, emacs, The GNU Emacs Manual}, for +instructions how to do that. + +The file @file{etc/PROBLEMS} in the Emacs distribution lists various +known problems with building and using Emacs on specific platforms; +type @kbd{C-h C-p} to read it. + +@menu +* Problems with very large files:: +* ^M in the shell buffer:: +* Problems with Shell Mode:: +* Termcap/Terminfo entries for Emacs:: +* Errors with init files:: +* Emacs ignores X resources:: +* Emacs ignores frame parameters:: +* Editing files with $ in the name:: +* Shell mode loses the current directory:: +* Security risks with Emacs:: +* Dired claims that no file is on this line:: +@end menu + +@node Problems with very large files +@section Does Emacs have problems with files larger than 8 megabytes? +@cindex Very large files, opening +@cindex Large files, opening +@cindex Opening very large files +@cindex Maximum file size +@cindex Files, maximum size + +Old versions (i.e., anything before 19.29) of Emacs had problems editing +files larger than 8 megabytes. In versions 19.29 and later, the maximum +buffer size is at least 2^27@minus{}1, or 134,217,727 bytes, or 132 MBytes. +The maximum buffer size on 32-bit machines increased to 256 MBytes in +Emacs 22, and again to 512 MBytes in Emacs 23.2. + +Emacs compiled on a 64-bit machine can handle much larger buffers. + +@node ^M in the shell buffer +@section How do I get rid of @samp{^M} or echoed commands in my shell buffer? +@cindex Shell buffer, echoed commands and @samp{^M} in +@cindex Echoed commands in @code{shell-mode} + +Try typing @kbd{M-x shell-strip-ctrl-m @key{RET}} while in @code{shell-mode} to +make them go away. If that doesn't work, you have several options: + +For @code{tcsh}, put this in your @file{.cshrc} (or @file{.tcshrc}) +file: + +@example +if ($?EMACS) then + if ("$EMACS" =~ /*) then + if ($?tcsh) unset edit + stty nl + endif +endif +@end example + +Or put this in your @file{.emacs_tcsh} or @file{~/.emacs.d/init_tcsh.sh} file: + +@example +unset edit +stty nl +@end example + +Alternatively, use @code{csh} in your shell buffers instead of +@code{tcsh}. One way is: + +@lisp +(setq explicit-shell-file-name "/bin/csh") +@end lisp + +@noindent +and another is to do this in your @file{.cshrc} (or @file{.tcshrc}) +file: + +@example +setenv ESHELL /bin/csh +@end example + +@noindent +(You must start Emacs over again with the environment variable properly +set for this to take effect.) + +You can also set the @code{ESHELL} environment variable in Emacs Lisp +with the following Lisp form, + +@lisp +(setenv "ESHELL" "/bin/csh") +@end lisp + +The above solutions try to prevent the shell from producing the +@samp{^M} characters in the first place. If this is not possible +(e.g., if you use a Windows shell), you can get Emacs to remove these +characters from the buffer by adding this to your @file{.emacs} init +file: + +@smalllisp +(add-hook 'comint-output-filter-functions 'shell-strip-ctrl-m) +@end smalllisp + +On a related note: if your shell is echoing your input line in the shell +buffer, you might want to customize the @code{comint-process-echoes} +variable in your shell buffers, or try the following command in your +shell start-up file: + +@example +stty -icrnl -onlcr -echo susp ^Z +@end example + +@node Problems with Shell Mode +@section Why do I get an error message when I try to run @kbd{M-x shell}? + +@cindex Shell Mode, problems +@cindex @code{explicit-shell-file-name} +This might happen because Emacs tries to look for the shell in a wrong +place. If you know where your shell executable is, set the variable +@code{explicit-shell-file-name} in your @file{.emacs} file to point to +its full file name. + +@cindex Antivirus programs, and Shell Mode +Some people have trouble with Shell Mode on MS-Windows because of +intrusive antivirus software; disabling the resident antivirus program +solves the problems in those cases. + +@node Termcap/Terminfo entries for Emacs +@section Where is the termcap/terminfo entry for terminal type @samp{emacs}? +@cindex Termcap +@cindex Terminfo +@cindex Emacs entries for termcap/terminfo + +The termcap entry for terminal type @samp{emacs} is ordinarily put in +the @samp{TERMCAP} environment variable of subshells. It may help in +certain situations (e.g., using rlogin from shell buffer) to add an +entry for @samp{emacs} to the system-wide termcap file. Here is a +correct termcap entry for @samp{emacs}: + +@example +emacs:tc=unknown: +@end example + +To make a terminfo entry for @samp{emacs}, use @code{tic} or +@code{captoinfo}. You need to generate +@file{/usr/lib/terminfo/e/emacs}. It may work to simply copy +@file{/usr/lib/terminfo/d/dumb} to @file{/usr/lib/terminfo/e/emacs}. + +Having a termcap/terminfo entry will not enable the use of full screen +programs in shell buffers. Use @kbd{M-x terminal-emulator} for that +instead. + +A workaround to the problem of missing termcap/terminfo entries is to +change terminal type @samp{emacs} to type @samp{dumb} or @samp{unknown} +in your shell start up file. @code{csh} users could put this in their +@file{.cshrc} files: + +@example +if ("$term" == emacs) set term=dumb +@end example + +@node Errors with init files +@section Why does Emacs say @samp{Error in init file}? +@cindex Error in @file{.emacs} +@cindex Error in init file +@cindex Init file, errors in +@cindex @file{.emacs} file, errors in +@cindex Debugging @file{.emacs} file + +An error occurred while loading either your @file{.emacs} file or the +system-wide file @file{site-lisp/default.el}. Emacs 21.1 and later pops the +@file{*Messages*} buffer, and puts there some additional information +about the error, to provide some hints for debugging. + +For information on how to debug your @file{.emacs} file, see +@ref{Debugging a customization file}. + +It may be the case that you need to load some package first, or use a +hook that will be evaluated after the package is loaded. A common case +of this is explained in @ref{Terminal setup code works after Emacs has +begun}. + +@node Emacs ignores X resources +@section Why does Emacs ignore my X resources (my .Xdefaults file)? +@cindex X resources being ignored +@cindex Ignored X resources +@cindex @file{.Xdefaults} + +As of version 19, Emacs searches for X resources in the files specified +by the following environment variables: + +@itemize @bullet + +@item @code{XFILESEARCHPATH} +@item @code{XUSERFILESEARCHPATH} +@item @code{XAPPLRESDIR} + +@end itemize + +This emulates the functionality provided by programs written using the +Xt toolkit. + +@code{XFILESEARCHPATH} and @code{XUSERFILESEARCHPATH} should be a list +of file names separated by colons. @code{XAPPLRESDIR} should be a list +of directory names separated by colons. + +Emacs searches for X resources: + +@enumerate + +@item +specified on the command line, with the @samp{-xrm RESOURCESTRING} option, + +@item +then in the value of the @samp{XENVIRONMENT} environment variable, + +@itemize @minus + +@item +or if that is unset, in the file named +@file{~/.Xdefaults-@var{hostname}} if it exists (where @var{hostname} is +the name of the machine Emacs is running on), + +@end itemize + +@item +then in the screen-specific and server-wide resource properties provided +by the server, + +@itemize @minus + +@item +or if those properties are unset, in the file named @file{~/.Xdefaults} +if it exists, + +@end itemize + +@item +then in the files listed in @samp{XUSERFILESEARCHPATH}, + +@itemize @minus + +@item +or in files named @file{@var{lang}/Emacs} in directories listed in +@samp{XAPPLRESDIR} (where @var{lang} is the value of the @code{LANG} +environment variable), if the @samp{LANG} environment variable is set, +@item +or in files named Emacs in the directories listed in @samp{XAPPLRESDIR} +@item +or in @file{~/@var{lang}/Emacs} (if the @code{LANG} environment variable +is set), +@item +or in @file{~/Emacs}, + +@end itemize + +@item +then in the files listed in @code{XFILESEARCHPATH}. + +@end enumerate + +@node Emacs ignores frame parameters +@section Why don't my customizations of the frame parameters work? +@cindex Frame parameters + +This probably happens because you have set the frame parameters in the +variable @code{initial-frame-alist}. That variable holds parameters +used only for the first frame created when Emacs starts. To customize +the parameters of all frames, change the variable +@code{default-frame-alist} instead. + +These two variables exist because many users customize the initial frame +in a special way. For example, you could determine the position and +size of the initial frame, but would like to control the geometry of the +other frames by individually positioning each one of them. + + +@node Editing files with $ in the name +@section How do I edit a file with a @samp{$} in its name? +@cindex Editing files with @samp{$} in the name +@cindex @samp{$} in file names +@cindex File names containing @samp{$}, editing + +When entering a file name in the minibuffer, Emacs will attempt to expand +a @samp{$} followed by a word as an environment variable. To suppress +this behavior, type @kbd{$$} instead. + +@node Shell mode loses the current directory +@section Why does shell mode lose track of the shell's current directory? +@cindex Current directory and @code{shell-mode} +@cindex @code{shell-mode} and current directory +@cindex Directory, current in @code{shell-mode} + +Emacs has no way of knowing when the shell actually changes its +directory. This is an intrinsic limitation of Unix. So it tries to +guess by recognizing @samp{cd} commands. If you type @kbd{cd} followed +by a directory name with a variable reference (@kbd{cd $HOME/bin}) or +with a shell metacharacter (@kbd{cd ../lib*}), Emacs will fail to +correctly guess the shell's new current directory. A huge variety of +fixes and enhancements to shell mode for this problem have been written +to handle this problem (@pxref{Finding a package with particular +functionality}). + +You can tell Emacs the shell's current directory with the command +@kbd{M-x dirs}. + +@node Security risks with Emacs +@section Are there any security risks in Emacs? +@cindex Security with Emacs +@cindex @samp{movemail} and security +@cindex @code{file-local-variable} and security +@cindex Synthetic X events and security +@cindex X events and security + +@itemize @bullet + +@item +The @file{movemail} incident. (No, this is not a risk.) + +In his book @cite{The Cuckoo's Egg}, Cliff Stoll describes this in +chapter 4. The site at LBL had installed the @file{/etc/movemail} +program setuid root. (As of version 19, @file{movemail} is in your +architecture-specific directory; type @kbd{C-h v exec-directory +@key{RET}} to see what it is.) Since @code{movemail} had not been +designed for this situation, a security hole was created and users could +get root privileges. + +@code{movemail} has since been changed so that this security hole will +not exist, even if it is installed setuid root. However, +@code{movemail} no longer needs to be installed setuid root, which +should eliminate this particular risk. + +We have heard unverified reports that the 1988 Internet worm took +advantage of this configuration problem. + +@item +The @code{file-local-variable} feature. (Yes, a risk, but easy to +change.) + +There is an Emacs feature that allows the setting of local values for +variables when editing a file by including specially formatted text near +the end of the file. This feature also includes the ability to have +arbitrary Emacs Lisp code evaluated when the file is visited. +Obviously, there is a potential for Trojan horses to exploit this +feature. + +As of Emacs 22, Emacs has a list of local variables that are known to +be safe to set. If a file tries to set any variable outside this +list, it asks the user to confirm whether the variables should be set. +You can also tell Emacs whether to allow the evaluation of Emacs Lisp +code found at the bottom of files by setting the variable +@code{enable-local-eval}. + +@xref{File Variables,,, emacs, The GNU Emacs Manual}. + +@item +Synthetic X events. (Yes, a risk; use @samp{MIT-MAGIC-COOKIE-1} or +better.) + +Emacs accepts synthetic X events generated by the @code{SendEvent} +request as though they were regular events. As a result, if you are +using the trivial host-based authentication, other users who can open X +connections to your X workstation can make your Emacs process do +anything, including run other processes with your privileges. + +The only fix for this is to prevent other users from being able to open +X connections. The standard way to prevent this is to use a real +authentication mechanism, such as @samp{MIT-MAGIC-COOKIE-1}. If using +the @code{xauth} program has any effect, then you are probably using +@samp{MIT-MAGIC-COOKIE-1}. Your site may be using a superior +authentication method; ask your system administrator. + +If real authentication is not a possibility, you may be satisfied by +just allowing hosts access for brief intervals while you start your X +programs, then removing the access. This reduces the risk somewhat by +narrowing the time window when hostile users would have access, but +@emph{does not eliminate the risk}. + +On most computers running Unix and X, you enable and disable +access using the @code{xhost} command. To allow all hosts access to +your X server, use + +@example +xhost + +@end example + +@noindent +at the shell prompt, which (on an HP machine, at least) produces the +following message: + +@example +access control disabled, clients can connect from any host +@end example + +To deny all hosts access to your X server (except those explicitly +allowed by name), use + +@example +xhost - +@end example + +On the test HP computer, this command generated the following message: + +@example +access control enabled, only authorized clients can connect +@end example + +@end itemize + +@node Dired claims that no file is on this line +@section Dired says, @samp{no file on this line} when I try to do something. +@cindex Dired does not see a file + +Dired uses a regular expression to find the beginning of a file name. +In a long Unix-style directory listing (@samp{ls -l}), the file name +starts after the date. The regexp has thus been written to look for the +date. By default, it should understand dates and times regardless of +the language, but if your directory listing has an unusual format, Dired +may get confused. + +There are two approaches to solving this. The first one involves +setting things up so that @samp{ls -l} outputs a more standard format. +See your OS manual for more information. + +The second approach involves changing the regular expression used by +dired, @code{directory-listing-before-filename-regexp}. + +@c ------------------------------------------------------------ +@node Compiling and installing Emacs +@chapter Compiling and installing Emacs +@cindex Compiling and installing Emacs + +@menu +* Installing Emacs:: +* Problems building Emacs:: +@end menu + +@node Installing Emacs +@section How do I install Emacs? +@cindex Installing Emacs +@cindex Unix systems, installing Emacs on +@cindex Downloading and installing Emacs +@cindex Building Emacs from source +@cindex Source code, building Emacs from + +This answer is meant for users of Unix and Unix-like systems. Users of +other operating systems should see the series of questions beginning +with @ref{Emacs for MS-DOS}, which describe where to get non-Unix source +and binaries, and how to install Emacs on those systems. + +Most GNU/Linux distributions provide pre-built Emacs packages. +If Emacs is not installed already, you can install it by running (as +root) a command such as @samp{yum install emacs} (Red Hat and +derivatives) or @samp{apt-get install emacs} (Debian and derivatives). + +If you want to compile Emacs yourself, read the file @file{INSTALL} in +the source distribution. In brief: + +@itemize @bullet + +@item +First download the Emacs sources. @xref{Current GNU distributions}, for +a list of ftp sites that make them available. On @file{ftp.gnu.org}, +the main GNU distribution site, sources are available as + +@c Don't include VER in the file name, because pretests are not there. +@uref{ftp://ftp.gnu.org/pub/gnu/emacs/emacs-VERSION.tar.gz} + +(Replace @samp{VERSION} with the relevant version number, e.g., @samp{23.1}.) + +@item +Next uncompress and extract the source files. This requires +the @code{gzip} and @code{tar} programs, which are standard utilities. +If your system does not have them, these can also be downloaded from +@file{ftp.gnu.org}. + +GNU @code{tar} can uncompress and extract in a single-step: + +@example +tar -zxvf emacs-VERSION.tar.gz +@end example + +@item +At this point, the Emacs sources should be sitting in a directory called +@file{emacs-VERSION}. On most common Unix and Unix-like systems, +you should be able to compile Emacs with the following commands: + +@example +cd emacs-VERSION +./configure # configure Emacs for your particular system +make # use Makefile to build components, then Emacs +@end example + +If the @code{make} completes successfully, the odds are fairly good that +the build has gone well. (@xref{Problems building Emacs}, if you weren't +successful.) + +@item +By default, Emacs is installed in @file{/usr/local}. To actually +install files, become the superuser and type + +@example +make install +@end example + +Note that @samp{make install} will overwrite @file{/usr/local/bin/emacs} +and any Emacs Info files that might be in @file{/usr/local/share/info/}. + +@end itemize + +@node Problems building Emacs +@section What should I do if I have trouble building Emacs? +@cindex Problems building Emacs +@cindex Errors when building Emacs + +First look in the file @file{etc/PROBLEMS} (where you unpack the Emacs +source) to see if there is already a solution for your problem. Next, +look for other questions in this FAQ that have to do with Emacs +installation and compilation problems. + +If you'd like to have someone look at your problem and help solve it, +see @ref{Help installing Emacs}. + +If you cannot find a solution in the documentation, please report the +problem (@pxref{Reporting bugs}). + + +@c ------------------------------------------------------------ +@node Finding Emacs and related packages +@chapter Finding Emacs and related packages +@cindex Finding Emacs and related packages + +@menu +* Finding Emacs on the Internet:: +* Finding a package with particular functionality:: +* Packages that do not come with Emacs:: +* Spell-checkers:: +* Current GNU distributions:: +* Difference between Emacs and XEmacs:: +* Emacs for minimalists:: +* Emacs for MS-DOS:: +* Emacs for MS-Windows:: +* Emacs for GNUstep:: +* Emacs for Mac OS X:: +@end menu + +@node Finding Emacs on the Internet +@section Where can I get Emacs on the net? +@cindex Finding Emacs on the Internet +@cindex Downloading Emacs + +Information on downloading Emacs is available at +@uref{http://www.gnu.org/software/emacs/, the Emacs home-page}. + +@xref{Installing Emacs}, for information on how to obtain and build the latest +version of Emacs, and see @ref{Current GNU distributions}, for a list of +archive sites that make GNU software available. + +@node Finding a package with particular functionality +@section How do I find a Emacs Lisp package that does XXX? +@cindex Package, finding +@cindex Finding an Emacs Lisp package +@cindex Functionality, finding a particular package + +First of all, you should check to make sure that the package isn't +already available. For example, typing @kbd{M-x apropos @key{RET} +wordstar @key{RET}} lists all functions and variables containing the +string @samp{wordstar}. + +It is also possible that the package is on your system, but has not been +loaded. To see which packages are available for loading, look through +your computer's lisp directory (@pxref{File-name conventions}). The Lisp +source to most packages contains a short description of how they +should be loaded, invoked, and configured---so before you use or +modify a Lisp package, see if the author has provided any hints in the +source code. + +The command @kbd{C-h p} (@code{finder-by-keyword}) allows you to browse +the constituent Emacs packages. + +For advice on how to find extra packages that are not part of Emacs, +see @ref{Packages that do not come with Emacs}. + +@node Packages that do not come with Emacs +@section Where can I get Emacs Lisp packages that don't come with Emacs? +@cindex Unbundled packages +@cindex Finding other packages +@cindex Lisp packages that do not come with Emacs +@cindex Packages, those that do not come with Emacs +@cindex Emacs Lisp List +@cindex Emacs Lisp Archive + +Your first port of call should be the @kbd{M-x list-packages} command. +This connects to the @uref{http:///elpa.gnu.org, GNU ELPA} (``Emacs +Lisp Package Archive'') server and fetches the list of additional +packages that it offers. These are GNU packages that are available +for use with Emacs, but are distributed separately. Select a package +to get more details about the features that it offers, and then if you +wish, Emacs can download and automatically install it for you. + +@uref{http://www.damtp.cam.ac.uk/user/sje30/emacs/ell.html, The Emacs Lisp +List (ELL)}, maintained by Stephen Eglen, +aims to provide one compact list with links to all of the current Emacs +Lisp files on the Internet. The ELL can be browsed over the web, or +from Emacs with @uref{http://www.damtp.cam.ac.uk/user/sje30/emacs/ell.el, +the @file{ell} package}. + +Many authors post their packages to the @uref{news:gnu.emacs.sources, +Emacs sources newsgroup}. You can search the archives of this +group with @uref{http://groups.google.com/group/gnu.emacs.sources, Google}, +or @uref{http://dir.gmane.org/gmane.emacs.sources, Gmane}, for example. + +Several packages are stored in +@uref{http://emacswiki.org/elisp/, the Lisp area of the Emacs Wiki}. + +Read the file @file{etc/MORE.STUFF} for more information about +external packages. + +@node Spell-checkers +@section Spell-checkers +@cindex Spell-checker +@cindex Checking spelling +@cindex Ispell +@cindex Aspell +@cindex Hunspell + +Various spell-checkers are compatible with Emacs, including: + +@table @b + +@item GNU Aspell +@uref{http://aspell.net/} + +@item Ispell +@uref{http://fmg-www.cs.ucla.edu/geoff/ispell.html} + +@item Hunspell +@uref{http://hunspell.sourceforge.net/} + +@end table + +@node Current GNU distributions +@section Where can I get other up-to-date GNU stuff? +@cindex Current GNU distributions +@cindex Sources for current GNU distributions +@cindex Stuff, current GNU +@cindex Up-to-date GNU stuff +@cindex Finding current GNU software +@cindex Official GNU software sites + +The most up-to-date official GNU software is normally kept at + +@uref{ftp://ftp.gnu.org/pub/gnu} + +A list of sites mirroring @samp{ftp.gnu.org} can be found at + +@uref{http://www.gnu.org/order/ftp.html} + +@node Difference between Emacs and XEmacs +@section What is the difference between Emacs and XEmacs (formerly Lucid Emacs)? +@cindex XEmacs +@cindex Difference Emacs and XEmacs +@cindex Lucid Emacs +@cindex Epoch + +XEmacs is a branch version of Emacs. It was first called Lucid Emacs, +and was initially derived from a prerelease version of Emacs 19. In +this FAQ, we use the name ``Emacs'' only for the official version. + +Emacs and XEmacs each come with Lisp packages that are lacking in the +other. The two versions have some significant differences at the Lisp +programming level. Their current features are roughly comparable, +though the support for some operating systems, character sets and +specific packages might be quite different. + +Some XEmacs code has been contributed to Emacs, and we would like to +use other parts, but the earlier XEmacs maintainers did not always +keep track of the authors of contributed code, which makes it +impossible for the FSF to get copyright papers signed for that code. +(The FSF requires these papers for all the code included in the Emacs +release, aside from generic C support packages that retain their +separate identity and are not integrated into the code of Emacs +proper.) + +If you want to talk about these two versions and distinguish them, +please call them ``Emacs'' and ``XEmacs.'' To contrast ``XEmacs'' +with ``GNU Emacs'' would be misleading, since XEmacs too has its +origin in the work of the GNU Project. Terms such as ``Emacsen'' and +``(X)Emacs'' are not wrong, but they are not very clear, so it +is better to write ``Emacs and XEmacs.'' + +@node Emacs for minimalists +@section I don't have enough disk space to install Emacs +@cindex Zile +@cindex Not enough disk space to install Emacs + +GNU Zile is a lightweight Emacs clone. Zile is short for @samp{Zile Is +Lossy Emacs}. It has all of Emacs's basic editing features. The Zile +binary typically has a size of about 130 kbytes, so this can be useful +if you are in an extremely space-restricted environment. More +information is available from + +@uref{http://www.gnu.org/software/zile/} + + +@node Emacs for MS-DOS +@section Where can I get Emacs for MS-DOS? +@cindex MS-DOS, Emacs for +@cindex DOS, Emacs for +@cindex Compiling Emacs for DOS +@cindex Emacs for MS-DOS + +To build Emacs from source for MS-DOS, see the instructions in the file +@file{msdos/INSTALL} in the distribution. The DOS port builds and runs +on plain DOS, and also on all versions of MS-Windows from version 3.X +onwards, including Windows XP and Vista. + +The file @file{etc/PROBLEMS} contains some additional information +regarding Emacs under MS-DOS. + +A pre-built binary distribution of the old Emacs 20 is available, as +described at + +@uref{ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/emacs.README} + +For a list of other MS-DOS implementations of Emacs (and Emacs +look-alikes), consult the list of ``Emacs implementations and literature,'' +available at + +@uref{http://www.finseth.com/emacs.html} + +Note that while many of these programs look similar to Emacs, they often +lack certain features, such as the Emacs Lisp extension language. + +@node Emacs for MS-Windows +@section Where can I get Emacs for Microsoft Windows? +@cindex FAQ for Emacs on MS-Windows +@cindex Emacs for MS-Windows +@cindex Microsoft Windows, Emacs for + +There is a @uref{http://www.gnu.org/software/emacs/windows/ntemacs.html, +separate FAQ} for Emacs on MS-Windows. For MS-DOS, @pxref{Emacs for MS-DOS}. + + +@node Emacs for GNUstep +@section Where can I get Emacs for GNUstep? +@cindex GNUstep, Emacs for + +Beginning with version 23.1, Emacs supports GNUstep natively. +See the file @file{nextstep/INSTALL} in the distribution. + +@node Emacs for Mac OS X +@section Where can I get Emacs for Mac OS X? +@cindex Apple computers, Emacs for +@cindex Macintosh, Emacs for +@cindex Mac OS X, Emacs for + +Beginning with version 22.1, Emacs supports Mac OS X natively. +See the file @file{nextstep/INSTALL} in the distribution. + +@c ------------------------------------------------------------ +@node Key bindings +@chapter Key bindings +@cindex Key bindings + +@menu +* Binding keys to commands:: +* Invalid prefix characters:: +* Terminal setup code works after Emacs has begun:: +* Working with function and arrow keys:: +* X key translations for Emacs:: +* Backspace invokes help:: +* Swapping keys:: +* Producing C-XXX with the keyboard:: +* No Meta key:: +* No Escape key:: +* Compose Character:: +* Binding combinations of modifiers and function keys:: +* Meta key does not work in xterm:: +* ExtendChar key does not work as Meta:: +* SPC no longer completes file names:: +@end menu + +@node Binding keys to commands +@section How do I bind keys (including function keys) to commands? +@cindex Binding keys to commands +@cindex Keys, binding to commands +@cindex Commands, binding keys to + +Keys can be bound to commands either interactively or in your +@file{.emacs} file. To interactively bind keys for all modes, type +@kbd{M-x global-set-key @key{RET} @var{key} @var{cmd} @key{RET}}. + +To bind a key just in the current major mode, type @kbd{M-x +local-set-key @key{RET} @var{key} @var{cmd} @key{RET}}. + +@xref{Key Bindings,,, emacs, The GNU Emacs Manual}. + +To make the process of binding keys interactively easier, use the +following ``trick'': First bind the key interactively, then immediately +type @kbd{C-x @key{ESC} @key{ESC} C-a C-k C-g}. Now, the command needed +to bind the key is in the kill ring, and can be yanked into your +@file{.emacs} file. If the key binding is global, no changes to the +command are required. For example, + +@lisp +(global-set-key (quote [f1]) (quote help-for-help)) +@end lisp + +@noindent +can be placed directly into the @file{.emacs} file. If the key binding is +local, the command is used in conjunction with the @samp{add-hook} function. +For example, in TeX mode, a local binding might be + +@lisp +(add-hook 'tex-mode-hook + (lambda () + (local-set-key (quote [f1]) (quote help-for-help)))) +@end lisp + + +@itemize @bullet + +@item +Control characters in key sequences, in the form yanked from the kill +ring are given in their graphic form---i.e., @key{CTRL} is shown as +@samp{^}, @key{TAB} as a set of spaces (usually 8), etc. You may want +to convert these into their vector or string forms. + +@item +If a prefix key of the character sequence to be bound is already +bound as a complete key, then you must unbind it before the new +binding. For example, if @kbd{ESC @{} is previously bound: + +@lisp +(global-unset-key [?\e ?@{]) ;; or +(local-unset-key [?\e ?@{]) +@end lisp + +@item +Aside from commands and ``lambda lists,'' a vector or string also +can be bound to a key and thus treated as a macro. For example: + +@lisp +(global-set-key [f10] [?\C-x?\e?\e?\C-a?\C-k?\C-g]) ;; or +(global-set-key [f10] "\C-x\e\e\C-a\C-k\C-g") +@end lisp + +@end itemize + +@node Invalid prefix characters +@section Why does Emacs say @samp{Key sequence XXX uses invalid prefix characters}? +@cindex Prefix characters, invalid +@cindex Invalid prefix characters +@cindex Misspecified key sequences + +Usually, one of two things has happened. In one case, the control +character in the key sequence has been misspecified (e.g., @samp{C-f} +used instead of @samp{\C-f} within a Lisp expression). In the other +case, a @dfn{prefix key} in the keystroke sequence you were trying to bind +was already bound as a @dfn{complete key}. Historically, the @samp{ESC [} +prefix was usually the problem, in which case you should evaluate either +of these forms before attempting to bind the key sequence: + +@lisp +(global-unset-key [?\e ?[]) ;; or +(global-unset-key "\e[") +@end lisp + +@node Terminal setup code works after Emacs has begun +@section Why doesn't this [terminal or window-system setup] code work in my @file{.emacs} file, but it works just fine after Emacs starts up? +@cindex Terminal setup code in @file{.emacs} + +During startup, Emacs initializes itself according to a given code/file +order. If some of the code executed in your @file{.emacs} file needs to +be postponed until the initial terminal or window-system setup code has +been executed but is not, then you will experience this problem (this +code/file execution order is not enforced after startup). + +To postpone the execution of Emacs Lisp code until after terminal or +window-system setup, treat the code as a @dfn{lambda list} and set the +value of either the @code{term-setup-hook} or @code{window-setup-hook} +variable to this lambda function. For example, + +@lisp +(add-hook 'term-setup-hook + (lambda () + (when (string-match "\\`vt220" (or (getenv "TERM") "")) + ;; Make vt220's "Do" key behave like M-x: + (global-set-key [do] 'execute-extended-command)))) +@end lisp + +For information on what Emacs does every time it is started, see the +@file{lisp/startup.el} file. + +@node Working with function and arrow keys +@section How do I tell what characters or symbols my function or arrow keys emit? +@cindex Working with arrow keys +@cindex Arrow keys, symbols generated by +@cindex Working with function keys +@cindex Function keys, symbols generated by +@cindex Symbols generated by function keys + +Type @kbd{C-h c} then the function or arrow keys. The command will +return either a function key symbol or character sequence (see the +Emacs documentation for an explanation). This works for other +keys as well. + +@node X key translations for Emacs +@section How do I set the X key ``translations'' for Emacs? +@cindex X key translations +@cindex Key translations under X +@cindex Translations for keys under X + +Emacs is not written using the Xt library by default, so there are no +``translations'' to be set. (We aren't sure how to set such translations +if you do build Emacs with Xt; please let us know if you've done this!) + +The only way to affect the behavior of keys within Emacs is through +@code{xmodmap} (outside Emacs) or @code{define-key} (inside Emacs). The +@code{define-key} command should be used in conjunction with the +@code{function-key-map} map. For instance, + +@lisp +(define-key function-key-map [M-@key{TAB}] [?\M-\t]) +@end lisp + +@noindent +defines the @kbd{M-@key{TAB}} key sequence. + +@node Backspace invokes help +@section Why does the @key{Backspace} key invoke help? +@cindex Backspace key invokes help +@cindex Help invoked by Backspace +@cindex DEL key does not delete + +The @key{Backspace} key (on most keyboards) generates @acronym{ASCII} code 8. +@kbd{C-h} sends the same code. In Emacs by default @kbd{C-h} invokes +help-command. This is intended to be easy to remember since the first +letter of @samp{help} is @samp{h}. The easiest solution to this problem +is to use @kbd{C-h} (and @key{Backspace}) for help and @key{DEL} (the +@key{Delete} key) for deleting the previous character. + +For many people this solution may be problematic: + +@itemize @bullet + +@item +They normally use @key{Backspace} outside of Emacs for deleting the +previous character. This can be solved by making @key{DEL} the command +for deleting the previous character outside of Emacs. On many Unix +systems, this command will remap @key{DEL}: + +@example +stty erase `^?' +@end example + +@item +The user may prefer the @key{Backspace} key for deleting the +previous character because it is more conveniently located on their +keyboard or because they don't even have a separate @key{Delete} key. +In this case, the @key{Backspace} key should be made to behave like +@key{Delete}. There are several methods. + +@itemize @minus +@item +Some terminals (e.g., VT3## terminals) and terminal emulators (e.g., +TeraTerm) allow the character generated by the @key{Backspace} key to be +changed from a setup menu. + +@item +You may be able to get a keyboard that is completely programmable, or a +terminal emulator that supports remapping of any key to any other key. + +@item +With Emacs 21.1 and later, you can control the effect of the +@key{Backspace} and @key{Delete} keys, on both dumb terminals and a +windowed displays, by customizing the option +@code{normal-erase-is-backspace-mode}, or by invoking @kbd{M-x +normal-erase-is-backspace}. See the documentation of these symbols +(@pxref{Emacs Lisp documentation}) for more info. + +@item +It is possible to swap the @key{Backspace} and @key{DEL} keys inside +Emacs: + +@lisp +(keyboard-translate ?\C-h ?\C-?) +@end lisp + +@noindent +This is the recommended method of forcing @key{Backspace} to act as +@key{DEL}, because it works even in modes which bind @key{DEL} to +something other than @code{delete-backward-char}. + +Similarly, you could remap @key{DEL} to act as @kbd{C-d}, which by +default deletes forward: + +@lisp +(keyboard-translate ?\C-? ?\C-d) +@end lisp + +@xref{Swapping keys}, for further details about @code{keyboard-translate}. + +@item +Another approach is to switch key bindings and put help on @kbd{C-x h} +instead: + +@lisp +(global-set-key "\C-h" 'delete-backward-char) + +;; overrides mark-whole-buffer +(global-set-key "\C-xh" 'help-command) +@end lisp + +@noindent +This method is not recommended, though: it only solves the problem for +those modes which bind @key{DEL} to @code{delete-backward-char}. Modes +which bind @key{DEL} to something else, such as @code{view-mode}, will +not work as you expect when you press the @key{Backspace} key. For this +reason, we recommend the @code{keyboard-translate} method, shown +above. + +Other popular key bindings for help are @kbd{M-?} and @kbd{C-x ?}. +@end itemize + +Don't try to bind @key{DEL} to @code{help-command}, because there are +many modes that have local bindings of @key{DEL} that will interfere. + +@end itemize + +When Emacs 21 or later runs on a windowed display, it binds the +@key{Delete} key to a command which deletes the character at point, to +make Emacs more consistent with keyboard operation on these systems. + +For more information about troubleshooting this problem, see @ref{DEL +Does Not Delete, , If @key{DEL} Fails to Delete, emacs, The GNU Emacs +Manual}. + +@node Swapping keys +@section How do I swap two keys? +@cindex Swapping keys +@cindex Keys, swapping +@cindex @code{keyboard-translate} + +You can swap two keys (or key sequences) by using the +@code{keyboard-translate} function. For example, to turn @kbd{C-h} +into @key{DEL} and @key{DEL} to @kbd{C-h}, use + +@lisp +(keyboard-translate ?\C-h ?\C-?) ; translate `C-h' to DEL +(keyboard-translate ?\C-? ?\C-h) ; translate DEL to `C-h'. +@end lisp + +@noindent +The first key sequence of the pair after the function identifies what is +produced by the keyboard; the second, what is matched for in the +keymaps. + +However, in the specific case of @kbd{C-h} and @key{DEL}, you should +toggle @code{normal-erase-is-backspace-mode} instead of calling +@code{keyboard-translate}. +@xref{DEL Does Not Delete,,, emacs, The GNU Emacs Manual}. + +Keyboard translations are not the same as key bindings in keymaps. +Emacs contains numerous keymaps that apply in different situations, but +there is only one set of keyboard translations, and it applies to every +character that Emacs reads from the terminal. Keyboard translations +take place at the lowest level of input processing; the keys that are +looked up in keymaps contain the characters that result from keyboard +translation. + +@node Producing C-XXX with the keyboard +@section How do I produce C-XXX with my keyboard? +@cindex Producing control characters +@cindex Generating control characters +@cindex Control characters, generating + +On terminals (but not under X), some common ``aliases'' are: + +@table @asis + +@item @kbd{C-2} or @kbd{C-@key{SPC}} +@kbd{C-@@} + +@item @kbd{C-6} +@kbd{C-^} + +@item @kbd{C-7} or @kbd{C-S--} +@kbd{C-_} + +@item @kbd{C-4} +@kbd{C-\} + +@item @kbd{C-5} +@kbd{C-]} + +@item @kbd{C-/} +@kbd{C-?} + +@end table + +Often other aliases exist; use the @kbd{C-h c} command and try +@key{CTRL} with all of the digits on your keyboard to see what gets +generated. You can also try the @kbd{C-h w} command if you know the +name of the command. + +@node No Meta key +@section What if I don't have a @key{Meta} key? +@cindex No @key{Meta} key +@cindex @key{Meta} key, what to do if you lack it + +On many keyboards, the @key{Alt} key acts as @key{Meta}, so try it. + +Instead of typing @kbd{M-a}, you can type @kbd{@key{ESC} a}. In fact, +Emacs converts @kbd{M-a} internally into @kbd{@key{ESC} a} anyway +(depending on the value of @code{meta-prefix-char}). Note that you +press @key{Meta} and @key{a} together, but with @key{ESC}, you press +@key{ESC}, release it, and then press @key{a}. + +@node No Escape key +@section What if I don't have an @key{Escape} key? +@cindex No Escape key +@cindex Lacking an Escape key +@cindex Escape key, lacking + +Type @kbd{C-[} instead. This should send @acronym{ASCII} code 27 just like an +Escape key would. @kbd{C-3} may also work on some terminal (but not +under X). For many terminals (notably DEC terminals) @key{F11} +generates @key{ESC}. If not, the following form can be used to bind it: + +@lisp +;; F11 is the documented ESC replacement on DEC terminals. +(define-key function-key-map [f11] [?\e]) +@end lisp + +@node Compose Character +@section Can I make my @key{Compose Character} key behave like a @key{Meta} key? +@cindex @key{Compose Character} key, using as @key{Meta} +@cindex @key{Meta}, using @key{Compose Character} for + +On a dumb terminal such as a VT220, no. It is rumored that certain +VT220 clones could have their @key{Compose} key configured this way. If +you're using X, you might be able to do this with the @code{xmodmap} +command. + +@node Binding combinations of modifiers and function keys +@section How do I bind a combination of modifier key and function key? +@cindex Modifiers and function keys +@cindex Function keys and modifiers +@cindex Binding modifiers and function keys + +You can represent modified function keys in vector format by adding +prefixes to the function key symbol. For example (from the Emacs +documentation): + +@lisp +(global-set-key [?\C-x right] 'forward-page) +@end lisp + +@noindent +where @samp{?\C-x} is the Lisp character constant for the character @kbd{C-x}. + +You can use the modifier keys @key{Control}, @key{Meta}, @key{Hyper}, +@key{Super}, @key{Alt}, and @key{Shift} with function keys. To +represent these modifiers, prepend the strings @samp{C-}, @samp{M-}, +@samp{H-}, @samp{s-}, @samp{A-}, and @samp{S-} to the symbol name. Here +is how to make @kbd{H-M-RIGHT} move forward a word: + +@lisp +(global-set-key [H-M-right] 'forward-word) +@end lisp + +@itemize @bullet + +@item +Not all modifiers are permitted in all situations. @key{Hyper}, +@key{Super}, and @key{Alt} are not available on Unix character +terminals. Non-@acronym{ASCII} keys and mouse events (e.g., @kbd{C-=} and +@kbd{Mouse-1}) also fall under this category. + +@end itemize + +@xref{Binding keys to commands}, for general key binding instructions. + +@node Meta key does not work in xterm +@section Why doesn't my @key{Meta} key work in an @code{xterm} window? +@cindex @key{Meta} key and @code{xterm} +@cindex Xterm and @key{Meta} key + +@xref{Unibyte Mode,, Single-Byte Character Set Support, emacs, The GNU Emacs Manual}. + +If the advice in the Emacs manual fails, try all of these methods before +asking for further help: + +@itemize @bullet + +@item +You may have big problems using @code{mwm} as your window manager. +(Does anyone know a good generic solution to allow the use of the +@key{Meta} key in Emacs with @file{mwm}?) + +@item +For X11: Make sure it really is a @key{Meta} key. Use @code{xev} to +find out what keysym your @key{Meta} key generates. It should be either +@code{Meta_L} or @code{Meta_R}. If it isn't, use @file{xmodmap} to fix +the situation. If @key{Meta} does generate @code{Meta_L} or +@code{Meta_R}, but @kbd{M-x} produces a non-@acronym{ASCII} character, put this in +your @file{~/.Xdefaults} file: + +@example + XTerm*eightBitInput: false + XTerm*eightBitOutput: true +@end example + +@item +Make sure the @code{pty} the @code{xterm} is using is passing 8 bit +characters. @samp{stty -a} (or @samp{stty everything}) should show +@samp{cs8} somewhere. If it shows @samp{cs7} instead, use @samp{stty +cs8 -istrip} (or @samp{stty pass8}) to fix it. + +@item +If there is an @code{rlogin} connection between @code{xterm} and Emacs, the +@samp{-8} argument may need to be given to rlogin to make it pass all 8 bits +of every character. + +@item +If Emacs is running on Ultrix, it is reported that evaluating +@code{(set-input-mode t nil)} helps. + +@item +If all else fails, you can make @code{xterm} generate @kbd{@key{ESC} W} when +you type @kbd{M-W}, which is the same conversion Emacs would make if it +got the @kbd{M-W} anyway. In X11R4, the following resource +specification will do this: + +@example +XTerm.VT100.EightBitInput: false +@end example + +@noindent +(This changes the behavior of the @code{insert-eight-bit} action.) + +With older @code{xterm}s, you can specify this behavior with a translation: + +@example +XTerm.VT100.Translations: #override \ + Meta: string(0x1b) insert() +@end example + +@noindent +You might have to replace @samp{Meta} with @samp{Alt}. + +@end itemize + +@node ExtendChar key does not work as Meta +@section Why doesn't my @key{ExtendChar} key work as a @key{Meta} key under HP-UX 8.0 and 9.x? +@cindex @key{ExtendChar} key as @key{Meta} +@cindex @key{Meta}, using @key{ExtendChar} for +@cindex HP-UX, the @key{ExtendChar} key + +This is a result of an internationalization extension in X11R4 and the +fact that HP is now using this extension. Emacs assumes that the +@code{XLookupString} function returns the same result regardless of the +@key{Meta} key state which is no longer necessarily true. Until Emacs +is fixed, the temporary kludge is to run this command after each time +the X server is started but preferably before any xterm clients are: + +@example +xmodmap -e 'remove mod1 = Mode_switch' +@end example + +@c FIXME: Emacs 21 supports I18N in X11; does that mean that this bug is +@c solved? + +This will disable the use of the extra keysyms systemwide, which may be +undesirable if you actually intend to use them. + +@node SPC no longer completes file names +@section Why doesn't SPC complete file names anymore? +@cindex @kbd{SPC} file name completion + +Starting with Emacs 22.1, @kbd{SPC} no longer completes file names in +the minibuffer, so that file names with embedded spaces could be typed +without the need to quote the spaces. + +You can get the old behavior by binding @kbd{SPC} to +@code{minibuffer-complete-word} in the minibuffer, as follows: + +@lisp +(define-key minibuffer-local-filename-completion-map (kbd "SPC") + 'minibuffer-complete-word) + +(define-key minibuffer-local-must-match-filename-map (kbd "SPC") + 'minibuffer-complete-word) +@end lisp + +@c ------------------------------------------------------------ +@node Alternate character sets +@chapter Alternate character sets +@cindex Alternate character sets + +@menu +* Emacs does not display 8-bit characters:: +* Inputting eight-bit characters:: +* Right-to-left alphabets:: +* How to add fonts:: +@end menu + +@node Emacs does not display 8-bit characters +@section How do I make Emacs display 8-bit characters? +@cindex Displaying eight-bit characters +@cindex Eight-bit characters, displaying + +@xref{Unibyte Mode,, Single-byte Character Set Support, emacs, The GNU +Emacs Manual}. On a Unix, when Emacs runs on a text-only terminal +display or is invoked with @samp{emacs -nw}, you typically need to use +@code{set-terminal-coding-system} to tell Emacs what the terminal can +display, even after setting the language environment; otherwise +non-@acronym{ASCII} characters will display as @samp{?}. On other operating +systems, such as MS-DOS and MS-Windows, Emacs queries the OS about the +character set supported by the display, and sets up the required +terminal coding system automatically. + +@node Inputting eight-bit characters +@section How do I input eight-bit characters? +@cindex Entering eight-bit characters +@cindex Eight-bit characters, entering +@cindex Input, 8-bit characters + +Various methods are available for input of eight-bit characters. +@xref{Unibyte Mode,, Single-byte Character Set Support, emacs, The GNU +Emacs Manual}. For more sophisticated methods, +@pxref{Input Methods,,, emacs, The GNU Emacs Manual}. + +@node Right-to-left alphabets +@section Where is an Emacs that can handle Semitic (right-to-left) alphabets? +@cindex Right-to-left alphabets +@cindex Hebrew, handling with Emacs +@cindex Semitic alphabets +@cindex Arabic +@cindex Farsi +@cindex bidirectional scripts + +Emacs supports display and editing of bidirectional scripts, such as +Arabic, Farsi, and Hebrew, since version 24.1. +@xref{New in Emacs 24, bidirectional display}. + + +@node How to add fonts +@section How do I add fonts for use with Emacs? +@cindex add fonts for use with Emacs +@cindex intlfonts + +First, download and install the BDF font files and any auxiliary +packages they need. The GNU Intlfonts distribution can be found on +@uref{http://directory.fsf.org/localization/intlfonts.html, the GNU +Software Directory Web site}. + +Next, if you are on X Window system, issue the following two commands +from the shell's prompt: + +@example + xset +fp /usr/local/share/emacs/fonts + xset fp rehash +@end example + +@noindent +(Modify the first command if you installed the fonts in a directory +that is not @file{/usr/local/share/emacs/fonts}.) You also need to +arrange for these two commands to run whenever you log in, e.g., by +adding them to your window-system startup file, such as +@file{~/.xsessionrc} or @file{~/.gnomerc}. + +Now, add the following line to your @file{~/.emacs} init file: + +@lisp + (add-to-list 'bdf-directory-list "/usr/share/emacs/fonts/bdf") +@end lisp + +@noindent +(Again, modify the file name if you installed the fonts elsewhere.) + +Finally, if you wish to use the installed fonts with @code{ps-print}, +add the following line to your @file{~/.emacs}: + +@lisp + (setq ps-multibyte-buffer 'bdf-font-except-latin) +@end lisp + +A few additional steps are necessary for MS-Windows; they are listed +below. + +First, make sure @emph{all} the directories with BDF font files are +mentioned in @code{bdf-directory-list}. On Unix and GNU/Linux +systems, one normally runs @kbd{make install} to install the BDF fonts +in the same directory. By contrast, Windows users typically don't run +the Intlfonts installation command, but unpack the distribution in +some directory, which leaves the BDF fonts in its subdirectories. For +example, assume that you unpacked Intlfonts in @file{C:/Intlfonts}; +then you should set @code{bdf-directory-list} as follows: + +@lisp + (setq bdf-directory-list + '("C:/Intlfonts/Asian" + "C:/Intlfonts/Chinese" "C:/Intlfonts/Chinese.X" + "C:/Intlfonts/Chinese.BIG" "C:/Intlfonts/Ethiopic" + "C:/Intlfonts/European" "C:/Intlfonts/European.BIG" + "C:/Intlfonts/Japanese" "C:/Intlfonts/Japanese.X" + "C:/Intlfonts/Japanese.BIG" "C:/Intlfonts/Korean.X" + "C:/Intlfonts/Misc")) +@end lisp + +@cindex @code{w32-bdf-filename-alist} +@cindex @code{w32-find-bdf-fonts} +Next, you need to set up the variable @code{w32-bdf-filename-alist} to +an alist of the BDF fonts and their corresponding file names. +Assuming you have set @code{bdf-directory-list} to name all the +directories with the BDF font files, the following Lisp snippet will +set up @code{w32-bdf-filename-alist}: + +@lisp + (setq w32-bdf-filename-alist + (w32-find-bdf-fonts bdf-directory-list)) +@end lisp + +Now, create fontsets for the BDF fonts: + +@smallexample + (create-fontset-from-fontset-spec + "-*-fixed-medium-r-normal-*-16-*-*-*-c-*-fontset-bdf, + japanese-jisx0208:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1983-*, + katakana-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*, + latin-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*, + japanese-jisx0208-1978:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1978-*, + thai-tis620:-misc-fixed-medium-r-normal--16-160-72-72-m-80-tis620.2529-1, + lao:-misc-fixed-medium-r-normal--16-160-72-72-m-80-MuleLao-1, + tibetan-1-column:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-80-MuleTibetan-1, + ethiopic:-Admas-Ethiomx16f-Medium-R-Normal--16-150-100-100-M-160-Ethiopic-Unicode, + tibetan:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-160-MuleTibetan-0") +@end smallexample + +Many of the international bdf fonts from Intlfonts are type 0, and +therefore need to be added to font-encoding-alist: + +@lisp + (setq font-encoding-alist + (append '(("MuleTibetan-0" (tibetan . 0)) + ("GB2312" (chinese-gb2312 . 0)) + ("JISX0208" (japanese-jisx0208 . 0)) + ("JISX0212" (japanese-jisx0212 . 0)) + ("VISCII" (vietnamese-viscii-lower . 0)) + ("KSC5601" (korean-ksc5601 . 0)) + ("MuleArabic-0" (arabic-digit . 0)) + ("MuleArabic-1" (arabic-1-column . 0)) + ("MuleArabic-2" (arabic-2-column . 0))) + font-encoding-alist)) +@end lisp + +You can now use the Emacs font menu to select the @samp{bdf: 16-dot medium} +fontset, or you can select it by setting the default font in your +@file{~/.emacs}: + +@lisp + (set-default-font "fontset-bdf") +@end lisp + + +@c ------------------------------------------------------------ +@node Mail and news +@chapter Mail and news +@cindex Mail and news + +@menu +* Changing the included text prefix:: +* Saving a copy of outgoing mail:: +* Expanding aliases when sending mail:: +* Sorting the messages in an Rmail folder:: +* Rmail writes to /var/spool/mail:: +* Replying to the sender of a message:: +* Automatically starting a mail or news reader:: +* Reading news with Emacs:: +* Gnus does not work with NNTP:: +* Making Gnus faster:: +* Catching up in all newsgroups:: +@end menu + +@node Changing the included text prefix +@section How do I change the included text prefix in mail/news followups? +@cindex Prefix in mail/news followups, changing +@cindex Included text prefix, changing +@cindex Setting the included text character +@cindex Quoting in mail messages + +If you read mail with Rmail, set the variable @code{mail-yank-prefix}. +For Gnus, set @code{message-yank-prefix}. For VM, set +@code{vm-included-text-prefix}. For mh-e, set @code{mh-ins-buf-prefix}. + +For fancier control of citations, use Supercite (@pxref{Top,, the Supercite +Manual, sc, The Supercite Manual}). + +To prevent Emacs from including various headers of the replied-to +message, set the value of @code{mail-yank-ignored-headers} to an +appropriate regexp. + +@node Saving a copy of outgoing mail +@section How do I save a copy of outgoing mail? +@cindex Saving a copy of outgoing mail +@cindex Copying outgoing mail to a file +@cindex Filing outgoing mail +@cindex Automatic filing of outgoing mail +@cindex Mail, saving outgoing automatically + +You can either mail yourself a copy by including a @samp{BCC} header in the +mail message, or store a copy of the message directly to a file by +including an @samp{FCC} header. + +If you use standard mail, you can automatically create a @samp{BCC} to +yourself by putting + +@lisp +(setq mail-self-blind t) +@end lisp + +@noindent +in your @file{.emacs} file. You can automatically include an @samp{FCC} +field by putting something like the following in your @file{.emacs} +file: + +@lisp +(setq mail-archive-file-name (expand-file-name "~/outgoing")) +@end lisp + +The output file will be in Unix mail format. + +If you use @code{mh-e}, add an @samp{FCC} or @samp{BCC} field to your +components file. + +It does not work to put @samp{set record filename} in the @file{.mailrc} +file. + +@node Expanding aliases when sending mail +@section Why doesn't Emacs expand my aliases when sending mail? +@cindex Expanding aliases when sending mail +@cindex Mail alias expansion +@cindex Sending mail with aliases + +@xref{Mail Aliases,, The Emacs Manual, emacs, The Emacs Manual}. + +@itemize @bullet + +@item +Normally, Emacs expands aliases when you send the message. +To expand them before this, use @kbd{M-x expand-mail-aliases}. + +@item +Emacs normally only reads the @file{.mailrc} file once per session, when +you start to compose your first mail message. If you edit the file +after this, you can use @kbd{M-x build-mail-aliases} to make Emacs +reread it. Prior to Emacs 24.1, this is not an interactive command, so +you must instead type @kbd{M-: (build-mail-aliases) @key{RET}}. + +@item +If you like, you can expand mail aliases as abbrevs, as soon as you +type them in. To enable this feature, execute the following: + +@lisp +(add-hook 'mail-mode-hook 'mail-abbrevs-setup) +@end lisp + +Note that the aliases are expanded automatically only after you type +a word-separator character (e.g., @key{RET} or @kbd{,}). You can force their +expansion by moving point to the end of the alias and typing @kbd{C-x a e} +(@kbd{M-x expand-abbrev}). +@end itemize + +@node Sorting the messages in an Rmail folder +@section How can I sort the messages in my Rmail folder? +@cindex Rmail, sorting messages in +@cindex Folder, sorting messages in an Rmail +@cindex Sorting messages in an Rmail folder + +In Rmail, type @kbd{C-c C-s C-h} to get a list of sorting functions +and their key bindings. + +@node Rmail writes to /var/spool/mail +@section Why does Rmail need to write to @file{/var/spool/mail}? +@cindex Rmail and @file{/var/spool/mail} +@cindex @file{/var/spool/mail} and Rmail + +This is the behavior of the @code{movemail} program which Rmail uses. +This indicates that @code{movemail} is configured to use lock files. + +RMS writes: + +@quotation +Certain systems require lock files to interlock access to mail files. +On these systems, @code{movemail} must write lock files, or you risk losing +mail. You simply must arrange to let @code{movemail} write them. + +Other systems use the @code{flock} system call to interlock access. On +these systems, you should configure @code{movemail} to use @code{flock}. +@end quotation + +@node Replying to the sender of a message +@section How can I force Rmail to reply to the sender of a message, but not the other recipients? +@cindex Replying only to the sender of a message +@cindex Sender, replying only to +@cindex Rmail, replying to the sender of a message in + +@c isaacson@@seas.upenn.edu +Ron Isaacson says: When you hit +@key{r} to reply in Rmail, by default it CCs all of the original +recipients (everyone on the original @samp{To} and @samp{CC} +lists). With a prefix argument (i.e., typing @kbd{C-u} before @key{r}), +it replies only to the sender. However, going through the whole +@kbd{C-u} business every time you want to reply is a pain. This is the +best fix I've been able to come up with: + +@lisp +(defun rmail-reply-t () + "Reply only to the sender of the current message. (See rmail-reply.)" + (interactive) + (rmail-reply t)) + +(add-hook 'rmail-mode-hook + (lambda () + (define-key rmail-mode-map "r" 'rmail-reply-t) + (define-key rmail-mode-map "R" 'rmail-reply))) +@end lisp + +@node Automatically starting a mail or news reader +@section How do I make Emacs automatically start my mail/news reader? +@cindex Mail reader, starting automatically +@cindex News reader, starting automatically +@cindex Starting mail/news reader automatically + +To start Emacs in Gnus: + +@example +emacs -f gnus +@end example + +@noindent +in Rmail: + +@example +emacs -f rmail +@end example + +A more convenient way to start with Gnus: + +@example +alias gnus 'emacs -f gnus' +gnus +@end example + +It is probably unwise to automatically start your mail or news reader +from your @file{.emacs} file. This would cause problems if you needed to run +two copies of Emacs at the same time. Also, this would make it difficult for +you to start Emacs quickly when you needed to. + +@node Reading news with Emacs +@section How do I read news under Emacs? +@cindex Reading news under Emacs +@cindex Usenet reader in Emacs +@cindex Gnus newsreader +@cindex FAQ for Gnus +@cindex Gnus FAQ +@cindex Learning more about Gnus + +Use @kbd{M-x gnus}. For more information on Gnus, @pxref{Top,, the Gnus +Manual, gnus, The Gnus Manual}, which includes @ref{Frequently Asked +Questions,, the Gnus FAQ, gnus, The Gnus Manual}. + + +@node Gnus does not work with NNTP +@section Why doesn't Gnus work via NNTP? +@cindex Gnus and NNTP +@cindex NNTP, Gnus fails to work with + +There is a bug in NNTP version 1.5.10, such that when multiple requests +are sent to the NNTP server, the server only handles the first one +before blocking waiting for more input which never comes. NNTP version +1.5.11 claims to fix this. + +You can work around the bug inside Emacs like this: + +@lisp +(setq nntp-maximum-request 1) +@end lisp + +You can find out what version of NNTP your news server is running by +telnetting to the NNTP port (usually 119) on the news server machine +(i.e., @kbd{telnet server-machine 119}). The server should give its +version number in the welcome message. Type @kbd{quit} to get out. + +@node Making Gnus faster +@section How do I make Gnus faster? +@cindex Faster, starting Gnus +@cindex Starting Gnus faster +@cindex Gnus, starting faster +@cindex Slow catch up in Gnus +@cindex Gnus is slow when catching up +@cindex Crosspostings make Gnus catching up slow + +From the Gnus FAQ (@pxref{Reading news with Emacs}): + +@quotation +If you have a slow machine, or are just really impatient, there are a +few things you can do to make Gnus run faster. + +Set @code{gnus-check-new-newsgroups} and +@code{gnus-check-bogus-newsgroups} to @code{nil} to make startup faster. + +Set @code{gnus-show-threads}, @code{gnus-use-cross-reference} and +@code{gnus-nov-is-evil} to @code{nil} to make entering and exiting the +summary buffer faster. +@end quotation + +@node Catching up in all newsgroups +@section How do I catch up all newsgroups in Gnus? +@cindex Catching up all newsgroups in Gnus +@cindex Gnus, Catching up all newsgroups in + +In the @file{*Newsgroup*} buffer, type @kbd{M-< C-x ( c y C-x ) M-0 C-x e} + +Leave off the initial @kbd{M-<} if you only want to catch up from point +to the end of the @file{*Newsgroup*} buffer. + +@node Concept index +@unnumbered Concept Index +@printindex cp + +@bye diff --git a/doc/misc/faq.texi b/doc/misc/faq.texi deleted file mode 100644 index 1354f68cc9f..00000000000 --- a/doc/misc/faq.texi +++ /dev/null @@ -1,4449 +0,0 @@ -\input texinfo @c -*- mode: texinfo; -*- -@c %**start of header -@setfilename ../../info/efaq -@settitle GNU Emacs FAQ -@c %**end of header - -@include emacsver.texi - -@c This file is maintained by Romain Francoise . -@c Feel free to install changes without prior permission (but I'd -@c appreciate a notice if you do). - -@copying -Copyright @copyright{} 2001--2013 Free Software Foundation, Inc.@* -Copyright @copyright{} 1994, 1995, 1996, 1997, 1998, 1999, 2000 -Reuven M. Lerner@* -Copyright @copyright{} 1992, 1993 Steven Byrnes@* -Copyright @copyright{} 1990, 1991, 1992 Joseph Brian Wells@* - -@quotation -This list of frequently asked questions about GNU Emacs with answers -(``FAQ'') may be translated into other languages, transformed into other -formats (e.g., Texinfo, Info, WWW, WAIS), and updated with new information. - -The same conditions apply to any derivative of the FAQ as apply to the FAQ -itself. Every copy of the FAQ must include this notice or an approved -translation, information on who is currently maintaining the FAQ and how to -contact them (including their e-mail address), and information on where the -latest version of the FAQ is archived (including FTP information). - -The FAQ may be copied and redistributed under these conditions, except that -the FAQ may not be embedded in a larger literary work unless that work -itself allows free copying and redistribution. - -[This version has been heavily edited since it was included in the Emacs -distribution.] -@end quotation -@end copying - -@dircategory Emacs -@direntry -* Emacs FAQ: (efaq). Frequently Asked Questions about Emacs. -@end direntry - -@c The @titlepage stuff only appears in the printed version -@titlepage -@sp 10 -@center @titlefont{GNU Emacs FAQ} - -@c The following two commands start the copyright page. -@page -@vskip 0pt plus 1filll -@insertcopying -@end titlepage - -@contents - -@node Top, FAQ notation, (dir), (dir) -@top The GNU Emacs FAQ - -This is the GNU Emacs FAQ. - -This FAQ is maintained as a part of GNU Emacs. If you find any errors, -or have any suggestions, please use @kbd{M-x report-emacs-bug} to report -them. - -This is the version of the FAQ distributed with Emacs @value{EMACSVER}, and -mainly describes that version. Although there is some information on -older versions, details about very old releases (now only of historical -interest) have been removed. If you are interested in this, consult -either the version of the FAQ distributed with older versions of Emacs, -or the history of this document in the Emacs source repository. - -Since Emacs releases are very stable, we recommend always running the -latest release. - -This FAQ is not updated very frequently. When you have a question about -Emacs, the Emacs manual is often the best starting point. - -@ifnottex -@insertcopying -@end ifnottex - -@menu -* FAQ notation:: -* General questions:: -* Getting help:: -* Status of Emacs:: -* Common requests:: -* Bugs and problems:: -* Compiling and installing Emacs:: -* Finding Emacs and related packages:: -* Key bindings:: -* Alternate character sets:: -* Mail and news:: -* Concept index:: -@end menu - -@c ------------------------------------------------------------ -@node FAQ notation -@chapter FAQ notation -@cindex FAQ notation - -This chapter describes notation used in the GNU Emacs FAQ, as well as in -the Emacs documentation. Consult this section if this is the first time -you are reading the FAQ, or if you are confused by notation or terms -used in the FAQ. - -@menu -* Basic keys:: -* Extended commands:: -* Emacs manual:: -* File-name conventions:: -* Common acronyms:: -@end menu - -@node Basic keys -@section What do these mean: @kbd{C-h}, @kbd{C-M-a}, @key{RET}, @kbd{@key{ESC} a}, etc.? -@cindex Basic keys -@cindex Control key, notation for -@cindex @key{Meta} key, notation for -@cindex Control-Meta characters, notation for -@cindex @kbd{C-h}, definition of -@cindex @kbd{C-M-h}, definition of -@cindex @key{DEL}, definition of -@cindex @key{ESC}, definition of -@cindex @key{LFD}, definition of -@cindex @key{RET}, definition of -@cindex @key{SPC}, definition of -@cindex @key{TAB}, definition of -@cindex Notation for keys - -@itemize @bullet - -@item -@kbd{C-x}: press the @key{x} key while holding down the @key{Control} key - -@item -@kbd{M-x}: press the @key{x} key while holding down the @key{Meta} key -(if your computer doesn't have a @key{Meta} key, @pxref{No Meta key}) - -@item -@kbd{M-C-x}: press the @key{x} key while holding down both @key{Control} -and @key{Meta} - -@item -@kbd{C-M-x}: a synonym for the above - -@item -@key{LFD}: Linefeed or Newline; same as @kbd{C-j} - -@item -@key{RET}: @key{Return}, sometimes marked @key{Enter}; same as @kbd{C-m} - -@item -@key{DEL}: @key{Delete}, usually @strong{not} the same as -@key{Backspace}; same as @kbd{C-?} (see @ref{Backspace invokes help}, if -deleting invokes Emacs help) - -@item -@key{ESC}: Escape; same as @kbd{C-[} - -@item -@key{TAB}: Tab; same as @kbd{C-i} - -@item -@key{SPC}: Space bar - -@end itemize - -Key sequences longer than one key (and some single-key sequences) are -written inside quotes or on lines by themselves, like this: - -@display - @kbd{M-x frobnicate-while-foo RET} -@end display - -@noindent -Any real spaces in such a key sequence should be ignored; only @key{SPC} -really means press the space key. - -The @acronym{ASCII} code sent by @kbd{C-x} (except for @kbd{C-?}) is the value -that would be sent by pressing just @key{x} minus 96 (or 64 for -upper-case @key{X}) and will be from 0 to 31. On Unix and GNU/Linux -terminals, the @acronym{ASCII} code sent by @kbd{M-x} is the sum of 128 and the -@acronym{ASCII} code that would be sent by pressing just @key{x}. Essentially, -@key{Control} turns off bits 5 and 6 and @key{Meta} turns on bit -7@footnote{ -DOS and Windows terminals don't set bit 7 when the @key{Meta} key is -pressed.}. - -@kbd{C-?} (aka @key{DEL}) is @acronym{ASCII} code 127. It is a misnomer to call -@kbd{C-?} a ``control'' key, since 127 has both bits 5 and 6 turned ON@. -Also, on very few keyboards does @kbd{C-?} generate @acronym{ASCII} code 127. -@c FIXME I cannot understand the previous sentence. - -@xref{Keys,,, emacs, The GNU Emacs Manual}. - -@node Extended commands -@section What does @file{M-x @var{command}} mean? -@cindex Extended commands -@cindex Commands, extended -@cindex M-x, meaning of - -@kbd{M-x @var{command}} means type @kbd{M-x}, then type the name of the -command, then type @key{RET}. (@xref{Basic keys}, if you're not sure -what @kbd{M-x} and @key{RET} mean.) - -@kbd{M-x} (by default) invokes the command -@code{execute-extended-command}. This command allows you to run any -Emacs command if you can remember the command's name. If you can't -remember the command's name, you can type @key{TAB} and @key{SPC} for -completion, @key{?} for a list of possibilities, and @kbd{M-p} and -@kbd{M-n} (or up-arrow and down-arrow) to see previous commands entered. -An Emacs @dfn{command} is an @dfn{interactive} Emacs function. - -@cindex @key{Do} key -Your system administrator may have bound other key sequences to invoke -@code{execute-extended-command}. A function key labeled @kbd{Do} is a -good candidate for this, on keyboards that have such a key. - -If you need to run non-interactive Emacs functions, see @ref{Evaluating -Emacs Lisp code}. - -@node Emacs manual -@section How do I read topic XXX in the Emacs manual? -@cindex Emacs manual, reading topics in -@cindex Reading topics in the Emacs manual -@cindex Finding topics in the Emacs manual -@cindex Info, finding topics in - -When we refer you to some @var{topic} in the Emacs manual, you can -read this manual node inside Emacs (assuming nothing is broken) by -typing @kbd{C-h i m emacs @key{RET} m @var{topic} @key{RET}}. - -This invokes Info, the GNU hypertext documentation browser. If you don't -already know how to use Info, type @key{?} from within Info. - -If we refer to @var{topic}:@var{subtopic}, type @kbd{C-h i m emacs -@key{RET} m @var{topic} @key{RET} m @var{subtopic} @key{RET}}. - -If these commands don't work as expected, your system administrator may -not have installed the Info files, or may have installed them -improperly. In this case you should complain. - -If you are reading this FAQ in Info, you can simply press @key{RET} on a -reference to follow it. - -@xref{Getting a printed manual}, if you would like a paper copy of the -Emacs manual. - -@node File-name conventions -@section What are @file{src/config.h}, @file{site-lisp/default.el}, etc.? -@cindex File-name conventions -@cindex Conventions for file names -@cindex Directories and files that come with Emacs - -These are files that come with Emacs. The Emacs distribution is divided -into subdirectories; e.g., @file{etc}, @file{lisp}, and @file{src}. -Some of these (e.g., @file{etc} and @file{lisp}) are present both in -an installed Emacs and in the sources, but some (e.g., @file{src}) are -only found in the sources. - -If you use Emacs, but don't know where it is kept on your system, start -Emacs, then type @kbd{C-h v data-directory @key{RET}}. The directory -name displayed by this will be the full pathname of the installed -@file{etc} directory. (This full path is recorded in the Emacs variable -@code{data-directory}, and @kbd{C-h v} displays the value and the -documentation of a variable.) - -The location of your Info directory (i.e., where Info documentation -is stored) is kept in the variable @code{Info-default-directory-list}. Use -@kbd{C-h v Info-default-directory-list @key{RET}} to see the value of -this variable, which will be a list of directory names. The last -directory in that list is probably where most Info files are stored. By -default, Emacs Info documentation is placed in @file{/usr/local/share/info}. - -For information on some of the files in the @file{etc} directory, -@pxref{Informational files for Emacs}. - -@node Common acronyms -@section What are FSF, LPF, GNU, RMS, FTP, and GPL? -@cindex FSF, definition of -@cindex LPF, definition of -@cindex GNU, definition of -@cindex RMS, definition of -@cindex Stallman, Richard, acronym for -@cindex Richard Stallman, acronym for -@cindex FTP, definition of -@cindex GPL, definition of -@cindex Acronyms, definitions for -@cindex Common acronyms, definitions for - -@table @asis - -@item FSF -Free Software Foundation - -@item LPF -League for Programming Freedom - -@item GNU -GNU's Not Unix - -@item RMS -Richard Matthew Stallman - -@item FTP -File Transfer Protocol - -@item GPL -GNU General Public License - -@end table - -Avoid confusing the FSF and the LPF@. The LPF opposes -look-and-feel copyrights and software patents. The FSF aims to make -high quality free software available for everyone. - -The word ``free'' in the title of the Free Software Foundation refers to -``freedom,'' not ``zero cost.'' Anyone can charge any price for -GPL-covered software that they want to. However, in practice, the -freedom enforced by the GPL leads to low prices, because you can always -get the software for less money from someone else, since everyone has -the right to resell or give away GPL-covered software. - -@c ------------------------------------------------------------ -@node General questions -@chapter General questions -@cindex General questions - -This chapter contains general questions having to do with Emacs, the -Free Software Foundation, and related organizations. - -@menu -* The LPF:: -* Real meaning of copyleft:: -* Guidelines for newsgroup postings:: -* Newsgroup archives:: -* Reporting bugs:: -* Unsubscribing from Emacs lists:: -* Contacting the FSF:: -@end menu - -@node The LPF -@section What is the LPF? -@cindex LPF, description of -@cindex League for Programming Freedom -@cindex Software patents, opposition to -@cindex Patents for software, opposition to - -The LPF opposes the expanding danger of software patents and -look-and-feel copyrights. More information on the LPF's views is -available at @uref{http://progfree.org/, the LPF home page}. - -@node Real meaning of copyleft -@section What is the real legal meaning of the GNU copyleft? -@cindex Copyleft, real meaning of -@cindex GPL, real meaning of -@cindex General Public License, real meaning of -@cindex Discussion of the GPL - -The real legal meaning of the GNU General Public License (copyleft) will -only be known if and when a judge rules on its validity and scope. -There has never been a copyright infringement case involving the GPL to -set any precedents. Although legal actions have been brought against -companies for violating the terms of the GPL, so far all have been -settled out of court (in favor of the plaintiffs). Please take any -discussion regarding this issue to the newsgroup -@uref{news:gnu.misc.discuss}, which was created to hold the extensive -flame wars on the subject. - -RMS writes: - -@quotation -The legal meaning of the GNU copyleft is less important than the spirit, -which is that Emacs is a free software project and that work pertaining -to Emacs should also be free software. ``Free'' means that all users -have the freedom to study, share, change and improve Emacs. To make -sure everyone has this freedom, pass along source code when you -distribute any version of Emacs or a related program, and give the -recipients the same freedom that you enjoyed. -@end quotation - -@node Guidelines for newsgroup postings -@section What are appropriate messages for the various Emacs newsgroups? -@cindex Newsgroups, appropriate messages for -@cindex GNU newsgroups, appropriate messages for -@cindex Usenet groups, appropriate messages for -@cindex Mailing lists, appropriate messages for -@cindex Posting messages to newsgroups - -@cindex GNU mailing lists -The file @file{etc/MAILINGLISTS} describes the purpose of each GNU -mailing list (@pxref{Informational files for Emacs}). For those lists -which are gatewayed with newsgroups, it lists both the newsgroup name -and the mailing list address. The Emacs mailing lists are also -described at @uref{http://savannah.gnu.org/mail/?group=emacs, the Emacs -Savannah page}. - -The newsgroup @uref{news:comp.emacs} is for discussion of Emacs programs -in general. The newsgroup @uref{news:gnu.emacs.help} is specifically -for GNU Emacs. It therefore makes no sense to cross-post to both -groups, since only one can be appropriate to any question. - -Messages advocating ``non-free'' software are considered unacceptable on -any of the @code{gnu.*} newsgroups except for @uref{news:gnu.misc.discuss}, -which was created to hold the extensive flame-wars on the subject. -``Non-free'' software includes any software for which the end user can't -freely modify the source code and exchange enhancements. Be careful to -remove the @code{gnu.*} groups from the @samp{Newsgroups:} line when -posting a followup that recommends such software. - -@uref{news:gnu.emacs.bug} is a place where bug reports appear, but avoid -posting bug reports to this newsgroup directly (@pxref{Reporting bugs}). - -@node Newsgroup archives -@section Where can I get old postings to @uref{news:gnu.emacs.help} and other GNU groups? -@cindex Archived postings from @code{gnu.emacs.help} -@cindex Usenet archives for GNU groups -@cindex Old Usenet postings for GNU groups - -The FSF has maintained archives of all of the GNU mailing lists for many -years, although there may be some unintentional gaps in coverage. The -archive can be browsed over the web at -@uref{http://lists.gnu.org/archive/html/, the GNU mail archive}. Raw -files can be downloaded from @uref{ftp://lists.gnu.org/}. - -Web-based Usenet search services, such as -@uref{http://groups.google.com/groups/dir?q=gnu&, Google}, also -archive the @code{gnu.*} groups. - -You can also read the archives of the @code{gnu.*} groups and post new -messages at @uref{http://gmane.org/, Gmane}. Gmane is a service that -presents mailing lists as newsgroups (even those without a traditional -mail-to-news gateway). - -@node Reporting bugs -@section Where should I report bugs and other problems with Emacs? -@cindex Bug reporting -@cindex Good bug reports -@cindex How to submit a bug report -@cindex Reporting bugs - -The correct way to report Emacs bugs is to use the command -@kbd{M-x report-emacs-bug}. It sets up a mail buffer with the -essential information and the correct e-mail address, -@email{bug-gnu-emacs@@gnu.org}. -Anything sent there also appears in the -newsgroup @uref{news:gnu.emacs.bug}, but please use e-mail instead of -news to submit the bug report. This ensures a reliable return address -so you can be contacted for further details. - -Be sure to read the ``Bugs'' section of the Emacs manual before reporting -a bug! The manual describes in detail how to submit a useful bug -report (@pxref{Bugs, , Reporting Bugs, emacs, The GNU Emacs Manual}). -(@xref{Emacs manual}, if you don't know how to read the manual.) - -RMS says: - -@quotation -Sending bug reports to -@url{http://lists.gnu.org/mailman/listinfo/help-gnu-emacs, -the help-gnu-emacs mailing list} -(which has the effect of posting on @uref{news:gnu.emacs.help}) is -undesirable because it takes the time of an unnecessarily large group -of people, most of whom are just users and have no idea how to fix -these problem. -@url{http://lists.gnu.org/mailman/listinfo/bug-gnu-emacs, The -bug-gnu-emacs list} reaches a much smaller group of people who are -more likely to know what to do and have expressed a wish to receive -more messages about Emacs than the others. -@end quotation - -RMS says it is sometimes fine to post to @uref{news:gnu.emacs.help}: - -@quotation -If you have reported a bug and you don't hear about a possible fix, -then after a suitable delay (such as a week) it is okay to post on -@code{gnu.emacs.help} asking if anyone can help you. -@end quotation - -If you are unsure whether you have found a bug, consider the following -non-exhaustive list, courtesy of RMS: - -@quotation -If Emacs crashes, that is a bug. If Emacs gets compilation errors -while building, that is a bug. If Emacs crashes while building, that -is a bug. If Lisp code does not do what the documentation says it -does, that is a bug. -@end quotation - -@node Unsubscribing from Emacs lists -@section How do I unsubscribe from a mailing list? -@cindex Unsubscribing from GNU mailing lists -@cindex Removing yourself from GNU mailing lists - -If you are receiving a GNU mailing list named @var{list}, you should be -able to unsubscribe from it by sending a request to the address -@email{@var{list}-request@@gnu.org}. Mailing lists mails normally -contain information in either the message header -(@samp{List-Unsubscribe:}) or as a footer that tells you how to -unsubscribe. - -@node Contacting the FSF -@section How do I contact the FSF? -@cindex Contracting the FSF -@cindex Free Software Foundation, contacting - -For up-to-date information, see -@uref{http://www.fsf.org/about/contact.html, the FSF contact web-page}. -You can send general correspondence to @email{info@@fsf.org}. - -@cindex Ordering GNU software -For details on how to order items directly from the FSF, see the -@uref{http://shop.fsf.org/, FSF on-line store}. - -@c ------------------------------------------------------------ -@node Getting help -@chapter Getting help -@cindex Getting help - -This chapter tells you how to get help with Emacs. - -@menu -* Basic editing:: -* Learning how to do something:: -* Getting a printed manual:: -* Emacs Lisp documentation:: -* Installing Texinfo documentation:: -* Printing a Texinfo file:: -* Viewing Info files outside of Emacs:: -* Informational files for Emacs:: -* Help installing Emacs:: -* Obtaining the FAQ:: -@end menu - -@node Basic editing -@section I'm just starting Emacs; how do I do basic editing? -@cindex Basic editing with Emacs -@cindex Beginning editing -@cindex Tutorial, invoking the -@cindex Self-paced tutorial, invoking the -@cindex Help system, entering the - -Type @kbd{C-h t} to invoke the self-paced tutorial. Just typing -@kbd{C-h} enters the help system. Starting with Emacs 22, the tutorial -is available in many foreign languages such as French, German, Japanese, -Russian, etc. Use @kbd{M-x help-with-tutorial-spec-language @key{RET}} -to choose your language and start the tutorial. - -Your system administrator may have changed @kbd{C-h} to act like -@key{DEL} to deal with local keyboards. You can use @kbd{M-x -help-for-help} instead to invoke help. To discover what key (if any) -invokes help on your system, type @kbd{M-x where-is @key{RET} -help-for-help @key{RET}}. This will print a comma-separated list of key -sequences in the echo area. Ignore the last character in each key -sequence listed. Each of the resulting key sequences (e.g., @key{F1} is -common) invokes help. - -Emacs help works best if it is invoked by a single key whose value -should be stored in the variable @code{help-char}. - -@node Learning how to do something -@section How do I find out how to do something in Emacs? -@cindex Help for Emacs -@cindex Learning to do something in Emacs -@cindex Reference card for Emacs -@cindex Overview of help systems - -There are several methods for finding out how to do things in Emacs. - -@itemize @bullet - -@cindex Reading the Emacs manual -@item -The complete text of the Emacs manual is available via the Info -hypertext reader. Type @kbd{C-h r} to display the manual in Info mode. -Typing @key{h} immediately after entering Info will provide a short -tutorial on how to use it. - -@cindex Lookup a subject in a manual -@cindex Index search in a manual -@item -To quickly locate the section of the manual which discusses a certain -issue, or describes a command or a variable, type @kbd{C-h i m emacs -@key{RET} i @var{topic} @key{RET}}, where @var{topic} is the name of the -topic, the command, or the variable which you are looking for. If this -does not land you on the right place in the manual, press @kbd{,} -(comma) repeatedly until you find what you need. (The @kbd{i} and -@kbd{,} keys invoke the index-searching functions, which look for the -@var{topic} you type in all the indices of the Emacs manual.) - -@cindex Apropos -@item -You can list all of the commands whose names contain a certain word -(actually which match a regular expression) using @kbd{C-h a} (@kbd{M-x -command-apropos}). - -@cindex Command description in the manual -@item -The command @kbd{C-h F} (@code{Info-goto-emacs-command-node}) prompts -for the name of a command, and then attempts to find the section in the -Emacs manual where that command is described. - -@cindex Finding commands and variables -@item -You can list all of the functions and variables whose names contain a -certain word using @kbd{M-x apropos}. - -@item -You can list all of the functions and variables whose documentation -matches a regular expression or a string, using @kbd{M-x -apropos-documentation}. - -@item -You can order a hardcopy of the manual from the FSF@. @xref{Getting a -printed manual}. - -@cindex Reference cards, in other languages -@item -You can get a printed reference card listing commands and keys to -invoke them. You can order one from the FSF for $2 (or 10 for $18), -or you can print your own from the @file{etc/refcards/refcard.tex} or -@file{etc/refcards/refcard.pdf} files in the Emacs distribution. -Beginning with version 21.1, the Emacs distribution comes with -translations of the reference card into several languages; look for -files named @file{etc/refcards/@var{lang}-refcard.*}, where @var{lang} -is a two-letter code of the language. For example, the German version -of the reference card is in the files @file{etc/refcards/de-refcard.tex} -and @file{etc/refcards/de-refcard.pdf}. - -@item -There are many other commands in Emacs for getting help and -information. To get a list of these commands, type @samp{?} after -@kbd{C-h}. - -@end itemize - -@node Getting a printed manual -@section How do I get a printed copy of the Emacs manual? -@cindex Printed Emacs manual, obtaining -@cindex Manual, obtaining a printed or HTML copy of -@cindex Emacs manual, obtaining a printed or HTML copy of - -You can order a printed copy of the Emacs manual from the FSF@. For -details see the @uref{http://shop.fsf.org/, FSF on-line store}. - -The full Texinfo source for the manual also comes in the @file{doc/emacs} -directory of the Emacs distribution, if you're daring enough to try to -print out this several-hundred-page manual yourself (@pxref{Printing a Texinfo -file}). - -If you absolutely have to print your own copy, and you don't have @TeX{}, -you can get a PostScript or PDF (or HTML) version from - -@uref{http://www.gnu.org/software/emacs/manual/} - -@xref{Learning how to do something}, for how to view the manual from Emacs. - -@node Emacs Lisp documentation -@section Where can I get documentation on Emacs Lisp? -@cindex Documentation on Emacs Lisp -@cindex Function documentation -@cindex Variable documentation -@cindex Emacs Lisp Reference Manual -@cindex Reference manual for Emacs Lisp - -Within Emacs, you can type @kbd{C-h f} to get the documentation for a -function, @kbd{C-h v} for a variable. - -For more information, the Emacs Lisp Reference Manual is available -in Info format (@pxref{Top, Emacs Lisp,, elisp, The -Emacs Lisp Reference Manual}). - -You can also order a hardcopy of the manual from the FSF, for details -see the @uref{http://shop.fsf.org/, FSF on-line store}. (This manual is -not always in print.) - -An HTML version of the Emacs Lisp Reference Manual is available at - -@uref{http://www.gnu.org/software/emacs/elisp-manual/elisp.html} - -@node Installing Texinfo documentation -@section How do I install a piece of Texinfo documentation? -@cindex Texinfo documentation, installing -@cindex Installing Texinfo documentation -@cindex New Texinfo files, installing -@cindex Documentation, installing new Texinfo files -@cindex Info files, how to install - -Emacs releases come with pre-built Info files, and the normal install -process places them in the correct location. This is true for most -applications that provide Info files. The following section is only -relevant if you want to install extra Info files by hand. - -First, you must turn the Texinfo source files into Info files. You may -do this using the stand-alone @file{makeinfo} program, available as part -of the Texinfo package at - -@uref{http://www.gnu.org/software/texinfo/} - -For information about the Texinfo format, read the Texinfo manual which -comes with the Texinfo package. This manual also comes installed in -Info format, so you can read it from Emacs; type @kbd{C-h i m texinfo -@key{RET}}. - -@c FIXME is this a complete alternative? -@c Probably not, given that we require makeinfo to build Emacs. -Alternatively, you could use the Emacs command @kbd{M-x -texinfo-format-buffer}, after visiting the Texinfo source file of the -manual you want to convert. - -Neither @code{texinfo-format-buffer} nor @file{makeinfo} installs the -resulting Info files in Emacs's Info tree. To install Info files, -perform these steps: - -@enumerate -@item -Move the files to the @file{info} directory in the installed Emacs -distribution. @xref{File-name conventions}, if you don't know where that -is. - -@item -Run the @code{install-info} command, which is part of the Texinfo -distribution, to update the main Info directory menu, like this: - -@example - install-info --info-dir=@var{dir-path} @var{dir-path}/@var{file} -@end example - -@noindent -where @var{dir-path} is the full path to the directory where you copied -the produced Info file(s), and @var{file} is the name of the Info file -you produced and want to install. - -If you don't have the @code{install-info} command installed, you can -edit the file @file{info/dir} in the installed Emacs distribution, and -add a line for the top level node in the Info package that you are -installing. Follow the examples already in this file. The format is: - -@example -* Topic: (relative-pathname). Short description of topic. -@end example - -@end enumerate - -If you want to install Info files and you don't have the necessary -privileges, you have several options: - -@itemize @bullet -@item -Info files don't actually need to be installed before being used. -You can use a prefix argument for the @code{info} command and specify -the name of the Info file in the minibuffer. This goes to the node -named @samp{Top} in that file. For example, to view a Info file named -@file{@var{info-file}} in your home directory, you can type this: - -@example -@kbd{C-u C-h i ~/@var{info-file} @key{RET}} -@end example - -Alternatively, you can feed a file name to the @code{Info-goto-node} -command (invoked by pressing @key{g} in Info mode) by typing the name -of the file in parentheses, like this: - -@example -@kbd{C-h i g (~/@var{info-file}) @key{RET}} -@end example - -@item -You can create your own Info directory. You can tell Emacs where that -Info directory is by adding its pathname to the value of the variable -@code{Info-default-directory-list}. For example, to use a private Info -directory which is a subdirectory of your home directory named @file{Info}, -you could put this in your @file{.emacs} file: - -@lisp -(add-to-list 'Info-default-directory-list "~/Info") -@end lisp - -You will need a top-level Info file named @file{dir} in this directory -which has everything the system @file{dir} file has in it, except it -should list only entries for Info files in that directory. You might -not need it if (fortuitously) all files in this directory were -referenced by other @file{dir} files. The node lists from all -@file{dir} files in @code{Info-default-directory-list} are merged by the -Info system. - -@end itemize - -@node Printing a Texinfo file -@section How do I print a Texinfo file? -@cindex Printing a Texinfo file -@cindex Texinfo file, printing -@cindex Printing documentation - -You can't get nicely printed output from Info files; you must still have -the original Texinfo source file for the manual you want to print. - -Assuming you have @TeX{} installed on your system, follow these steps: - -@enumerate - -@item -Make sure the first line of the Texinfo file looks like this: - -@example -\input texinfo -@end example - -You may need to change @samp{texinfo} to the full pathname of the -@file{texinfo.tex} file, which comes with Emacs as -@file{doc/misc/texinfo.tex} (or copy or link it into the current directory). - -@item -Type @kbd{texi2dvi @var{texinfo-source}}, where @var{texinfo-source} is -the name of the Texinfo source file for which you want to produce a -printed copy. The @samp{texi2dvi} script is part of the GNU Texinfo -distribution. - -Alternatively, @samp{texi2pdf} produces PDF files. - -@item -Print the DVI file @file{@var{texinfo-source}.dvi} in the normal way for -printing DVI files at your site. For example, if you have a PostScript -printer, run the @code{dvips} program to print the DVI file on that -printer. - -@end enumerate - -To get more general instructions, retrieve the latest Texinfo package -(@pxref{Installing Texinfo documentation}). - -@node Viewing Info files outside of Emacs -@section Can I view Info files without using Emacs? -@cindex Viewing Info files -@cindex Info file viewers -@cindex Alternative Info file viewers - -Yes. Here are some alternative programs: - -@itemize @bullet - -@item -@code{info}, a stand-alone version of the Info program, comes as part of -the Texinfo package. @xref{Installing Texinfo documentation}, for -details. - -@item -Tkinfo, an Info viewer that runs under X Window system and uses Tcl/Tk. -You can get Tkinfo at -@uref{http://math-www.uni-paderborn.de/~axel/tkinfo/}. - -@end itemize - -@node Informational files for Emacs -@section What informational files are available for Emacs? -@cindex Informational files included with Emacs -@cindex Files included with Emacs -@cindex @file{COPYING}, description of file -@cindex @file{DISTRIB}, description of file -@cindex @file{GNU}, description of file -@cindex @file{INTERVIEW}, description of file -@cindex @file{MACHINES}, description of file -@cindex @file{MAILINGLISTS}, description of file -@cindex @file{NEWS}, description of file - -This isn't a frequently asked question, but it should be! A variety of -informational files about Emacs and relevant aspects of the GNU project -are available for you to read. - -The following files (and others) are available in the @file{etc} -directory of the Emacs distribution (see @ref{File-name conventions}, if -you're not sure where that is). Many of these files are available via -the Emacs @samp{Help} menu, or by typing @kbd{C-h ?} (@kbd{M-x -help-for-help}). - -@table @file - -@item COPYING -GNU General Public License - -@item DISTRIB -Emacs Availability Information - -@item GNU -The GNU Manifesto - -@item INTERVIEW -Richard Stallman discusses his public-domain UNIX-compatible software -system with BYTE editors - -@item MACHINES -Status of Emacs on Various Machines and Systems - -@item MAILINGLISTS -GNU Project Electronic Mailing Lists - -@item NEWS -Emacs news, a history of recent user-visible changes - -@end table - -More GNU information, including back issues of the @cite{GNU's -Bulletin}, are at - -@uref{http://www.gnu.org/bulletins/bulletins.html} and - -@uref{http://www.cs.pdx.edu/~trent/gnu/gnu.html} - -@node Help installing Emacs -@section Where can I get help in installing Emacs? -@cindex Installation help -@cindex Help installing Emacs - -@xref{Installing Emacs}, for some basic installation hints, and see -@ref{Problems building Emacs}, if you have problems with the installation. - -@uref{http://www.fsf.org/resources/service/, The GNU Service directory} -lists companies and individuals willing to sell you help in installing -or using Emacs and other GNU software. - -@node Obtaining the FAQ -@section Where can I get the latest version of this FAQ? -@cindex FAQ, obtaining the -@cindex Latest FAQ version, obtaining the - -The Emacs FAQ is distributed with Emacs in Info format. You can read it -by selecting the @samp{Emacs FAQ} option from the @samp{Help} menu of -the Emacs menu bar at the top of any Emacs frame, or by typing @kbd{C-h -C-f} (@kbd{M-x view-emacs-FAQ}). The very latest version is available -in the Emacs development repository (@pxref{Latest version of Emacs}). - -@c ------------------------------------------------------------ -@node Status of Emacs -@chapter Status of Emacs -@cindex Status of Emacs - -This chapter gives you basic information about Emacs, including the -status of its latest version. - -@menu -* Origin of the term Emacs:: -* Latest version of Emacs:: -* New in Emacs 24:: -* New in Emacs 23:: -* New in Emacs 22:: -* New in Emacs 21:: -* New in Emacs 20:: -@end menu - -@node Origin of the term Emacs -@section Where does the name ``Emacs'' come from? -@cindex Origin of the term ``Emacs'' -@cindex Emacs name origin -@cindex TECO -@cindex Original version of Emacs - -Emacs originally was an acronym for Editor MACroS@. RMS says he ``picked -the name Emacs because @key{E} was not in use as an abbreviation on ITS at -the time.'' The first Emacs was a set of macros written in 1976 at MIT -by RMS for the editor TECO (Text Editor and COrrector, originally Tape -Editor and COrrector) under ITS (the Incompatible Timesharing System) on -a PDP-10. RMS had already extended TECO with a ``real-time'' -full-screen mode with reprogrammable keys. Emacs was started by -@c gls@@east.sun.com -Guy Steele as a project to unify the many -divergent TECO command sets and key bindings at MIT, and completed by -RMS. - -Many people have said that TECO code looks a lot like line noise; you -can read more at @uref{news:alt.lang.teco}. Someone has written a TECO -implementation in Emacs Lisp (to find it, see @ref{Packages that do not -come with Emacs}); it would be an interesting project to run the -original TECO Emacs inside of Emacs. - -@cindex Why Emacs? -For some not-so-serious alternative reasons for Emacs to have that -name, check out the file @file{etc/JOKES} (@pxref{File-name -conventions}). - -@node Latest version of Emacs -@section What is the latest version of Emacs? -@cindex Version, latest -@cindex Latest version of Emacs -@cindex Development, Emacs -@cindex Repository, Emacs -@cindex Bazaar repository, Emacs - -Emacs @value{EMACSVER} is the current version as of this writing. A version -number with two components (e.g., @samp{22.1}) indicates a released -version; three components indicate a development -version (e.g., @samp{23.0.50} is what will eventually become @samp{23.1}). - -Emacs is under active development, hosted at -@uref{http://savannah.gnu.org/projects/emacs/, Savannah}. The source -code can be retrieved anonymously following the -@uref{http://savannah.gnu.org/bzr/?group=emacs, instructions}. -The repository is GNU Bazaar. - -Because Emacs undergoes many changes before a release, the version -number of a development version is not especially meaningful. It is -better to refer to the date on which the sources were retrieved from the -development repository. The development version is usually quite robust -for every-day use, but if stability is more important to you than the -latest features, you may want to stick to the releases. - -The following sections list some of the major new features in the last -few Emacs releases. For full details of the changes in any version of -Emacs, type @kbd{C-h C-n} (@kbd{M-x view-emacs-news}). As of Emacs 22, -you can give this command a prefix argument to read about which features -were new in older versions. - -@node New in Emacs 24 -@section What is different about Emacs 24? -@cindex Differences between Emacs 23 and Emacs 24 -@cindex Emacs 24, new features in - -@itemize -@cindex packages, installing more -@item -Emacs now includes a package manager. Type @kbd{M-x list-packages} to -get started. You can use this to download and automatically install -many more Lisp packages. - -@cindex lexical binding -@item -Emacs Lisp now supports lexical binding on a per-file basis. In -@emph{lexical binding}, variable references must be located textually -within the binding construct. This contrasts with @emph{dynamic -binding}, where programs can refer to variables defined outside their -local textual scope. A Lisp file can use a local variable setting of -@code{lexical-binding: t} to indicate that the contents should be -interpreted using lexical binding. See the Emacs Lisp Reference -Manual for more details. - -@cindex bidirectional display -@cindex right-to-left languages -@item -Some human languages, such as English, are written from left to right. -Others, such as Arabic, are written from right to left. Emacs now has -support for any mixture of these forms---this is ``bidirectional text''. - -@item -Handling of text selections has been improved, and now integrates -better with external clipboards. - -@cindex themes -@item -A new command @kbd{customize-themes} allows you to easily change the -appearance of your Emacs. - -@item -Emacs can be compiled with the GTK+ 3 toolkit. - -@item -Support for several new external libraries can be included at compile -time: - -@itemize - -@item -``Security-Enhanced Linux'' (SELinux) is a Linux kernel feature that -provides more sophisticated file access controls than ordinary -``Unix-style'' file permissions. - -@item -The ImageMagick display library. This allows you to display many more -image format in Emacs, as well as carry out transformations such as -rotations. - -@item -The GnuTLS library for secure network communications. Emacs uses this -transparently for email if your mail server supports it. - -@item -The libxml2 library for parsing XML structures. -@end itemize - -@item -Much more flexibility in the handling of windows and buffer display. - -@end itemize - -As always, consult the @file{NEWS} file for more information. - - -@node New in Emacs 23 -@section What is different about Emacs 23? -@cindex Differences between Emacs 22 and Emacs 23 -@cindex Emacs 23, new features in - -@itemize - -@cindex Anti-aliased fonts -@cindex Freetype fonts -@item -Emacs has a new font code that can use multiple font backends, -including freetype and fontconfig. Emacs can use the Xft library for -anti-aliasing, and the otf and m17n libraries for complex text layout and -text shaping. - -@cindex Unicode -@cindex Character sets -@item -The Emacs character set is now a superset of Unicode. Several new -language environments have been added. - -@cindex Multi-tty support -@cindex X and tty displays -@item -Emacs now supports using both X displays and ttys in the same session -(@samp{multi-tty}). - -@cindex Daemon mode -@item -Emacs can be started as a daemon in the background. - -@cindex NeXTstep port -@cindex GNUstep port -@cindex Mac OS X Cocoa -@item -There is a new NeXTstep port of Emacs. This supports GNUstep and Mac OS -X (via the Cocoa libraries). The Carbon port of Emacs, which supported -Mac OS X in Emacs 22, has been removed. - -@cindex Directory-local variables -@item -Directory-local variables can now be defined, in a similar manner to -file-local variables. - -@item -Transient Mark mode (@pxref{Highlighting a region}) is on by default. - -@end itemize - -@noindent -Other changes include: support for serial port access; D-Bus bindings; a -new Visual Line mode for line-motion; improved completion; a new mode -(@samp{DocView}) for viewing of PDF, PostScript, and DVI documents; nXML -mode (for editing XML documents) is included; VC has been updated for -newer version control systems; etc. - - -@node New in Emacs 22 -@section What is different about Emacs 22? -@cindex Differences between Emacs 21 and Emacs 22 -@cindex Emacs 22, new features in - -@itemize -@cindex GTK+ Toolkit -@cindex Drag-and-drop -@item -Emacs can be built with GTK+ widgets, and supports drag-and-drop -operation on X. - -@cindex Supported systems -@item -Emacs 22 features support for GNU/Linux systems on S390 and x86-64 -machines, as well as support for the Mac OS X and Cygwin operating -systems. - -@item -The native MS-Windows, and Mac OS X builds include full support -for images, toolbar, and tooltips. - -@item -Font Lock mode, Auto Compression mode, and File Name Shadow Mode are -enabled by default. - -@item -The maximum size of buffers is increased: on 32-bit machines, it is -256 MBytes for Emacs 23.1, and 512 MBytes for Emacs 23.2 and above. - -@item -Links can be followed with @kbd{mouse-1}, in addition to @kbd{mouse-2}. - -@cindex Mouse wheel -@item -Mouse wheel support is enabled by default. - -@item -Window fringes are customizable. - -@item -The mode line of the selected window is now highlighted. - -@item -The minibuffer prompt is displayed in a distinct face. - -@item -Abbrev definitions are read automatically at startup. - -@item -Grep mode is separate from Compilation mode and has many new options and -commands specific to grep. - -@item -The original Emacs macro system has been replaced by the new Kmacro -package, which provides many new commands and features and a simple -interface that uses the function keys F3 and F4. Macros are stored in a -macro ring, and can be debugged and edited interactively. - -@item -The Grand Unified Debugger (GUD) can be used with a full graphical user -interface to GDB; this provides many features found in traditional -development environments, making it easy to manipulate breakpoints, add -watch points, display the call stack, etc. Breakpoints are visually -indicated in the source buffer. - -@item -@cindex New modes -Many new modes and packages have been included in Emacs, such as Calc, -TRAMP, URL, IDO, CUA, ERC, rcirc, Table, Image-Dired, SES, Ruler, Org, -PGG, Flymake, Password, Printing, Reveal, wdired, t-mouse, longlines, -savehist, Conf mode, Python mode, DNS mode, etc. - -@cindex Multilingual Environment -@item -Leim is now part of Emacs. Unicode support has been much improved, and -the following input methods have been added: belarusian, bulgarian-bds, -bulgarian-phonetic, chinese-sisheng, croatian, dutch, georgian, -latin-alt-postfix, latin-postfix, latin-prefix, latvian-keyboard, -lithuanian-numeric, lithuanian-keyboard, malayalam-inscript, rfc1345, -russian-computer, sgml, slovenian, tamil-inscript, ucs, -ukrainian-computer, vietnamese-telex, and welsh. - -The following language environments have also been added: Belarusian, -Bulgarian, Chinese-EUC-TW, Croatian, French, Georgian, Italian, Latin-6, -Latin-7, Latvian, Lithuanian, Malayalam, Russian, Slovenian, Swedish, -Tajik, Tamil, UTF-8, Ukrainian, Welsh, and Windows-1255. - -@cindex Documentation -@cindex Emacs Lisp Manual -@item -In addition, Emacs 22 now includes the Emacs Lisp Reference Manual -(@pxref{Emacs Lisp documentation}) and the Emacs Lisp Intro. -@end itemize - - -@node New in Emacs 21 -@section What is different about Emacs 21? -@cindex Differences between Emacs 20 and Emacs 21 -@cindex Emacs 21, new features in - -@cindex Variable-size fonts -@cindex Toolbar support -Emacs 21 features a thorough rewrite of the display engine. The new -display engine supports variable-size fonts, images, and can play sounds -on platforms which support that. As a result, the visual appearance of -Emacs, when it runs on a windowed display, is much more reminiscent of -modern GUI programs, and includes 3D widgets (used for the mode line and -the scroll bars), a configurable and extensible toolbar, tooltips -(a.k.a.@: balloon help), and other niceties. - -@cindex Colors on text-only terminals -@cindex TTY colors -In addition, Emacs 21 supports faces on text-only terminals. This means -that you can now have colors when you run Emacs on a GNU/Linux console -and on @code{xterm} with @kbd{emacs -nw}. - - -@node New in Emacs 20 -@section What is different about Emacs 20? -@cindex Differences between Emacs 19 and Emacs 20 -@cindex Emacs 20, new features in - -The differences between Emacs versions 18 and 19 were rather dramatic; -the introduction of frames, faces, and colors on windowing systems was -obvious to even the most casual user. - -There are differences between Emacs versions 19 and 20 as well, but many -are more subtle or harder to find. Among the changes are the inclusion -of MULE code for languages that use non-Latin characters and for mixing -several languages in the same document; the ``Customize'' facility for -modifying variables without having to use Lisp; and automatic conversion -of files from Macintosh, Microsoft, and Unix platforms. - -@c ------------------------------------------------------------ -@node Common requests -@chapter Common requests -@cindex Common requests - -@menu -* Setting up a customization file:: -* Using Customize:: -* Colors on a TTY:: -* Debugging a customization file:: -* Displaying the current line or column:: -* Displaying the current file name in the titlebar:: -* Turning on abbrevs by default:: -* Associating modes with files:: -* Highlighting a region:: -* Replacing highlighted text:: -* Controlling case sensitivity:: -* Working with unprintable characters:: -* Searching for/replacing newlines:: -* Yanking text in isearch:: -* Wrapping words automatically:: -* Turning on auto-fill by default:: -* Changing load-path:: -* Using an already running Emacs process:: -* Compiler error messages:: -* Indenting switch statements:: -* Customizing C and C++ indentation:: -* Horizontal scrolling:: -* Overwrite mode:: -* Turning off beeping:: -* Turning the volume down:: -* Automatic indentation:: -* Matching parentheses:: -* Hiding #ifdef lines:: -* Repeating commands:: -* Valid X resources:: -* Evaluating Emacs Lisp code:: -* Changing the length of a Tab:: -* Inserting text at the beginning of each line:: -* Forcing the cursor to remain in the same column:: -* Forcing Emacs to iconify itself:: -* Using regular expressions:: -* Replacing text across multiple files:: -* Documentation for etags:: -* Disabling backups:: -* Disabling auto-save-mode:: -* Going to a line by number:: -* Modifying pull-down menus:: -* Deleting menus and menu options:: -* Turning on syntax highlighting:: -* Scrolling only one line:: -* Editing MS-DOS files:: -* Filling paragraphs with a single space:: -* Escape sequences in shell output:: -* Fullscreen mode on MS-Windows:: -@end menu - -@node Setting up a customization file -@section How do I set up a @file{.emacs} file properly? -@cindex @file{.emacs} file, setting up -@cindex @file{.emacs} file, locating -@cindex Init file, setting up -@cindex Customization file, setting up - -@xref{Init File,,, emacs, The GNU Emacs Manual}. - -In general, new Emacs users should not be provided with @file{.emacs} -files, because this can cause confusing non-standard behavior. Then -they send questions to -@url{http://lists.gnu.org/mailman/listinfo/help-gnu-emacs, -the help-gnu-emacs mailing list} asking why Emacs -isn't behaving as documented. - -Emacs includes the Customize facility (@pxref{Using Customize}). This -allows users who are unfamiliar with Emacs Lisp to modify their -@file{.emacs} files in a relatively straightforward way, using menus -rather than Lisp code. - -While Customize might indeed make it easier to configure Emacs, -consider taking a bit of time to learn Emacs Lisp and modifying your -@file{.emacs} directly. Simple configuration options are described -rather completely in @ref{Init File,,, emacs, The GNU Emacs Manual}, -for users interested in performing frequently requested, basic tasks. - -Sometimes users are unsure as to where their @file{.emacs} file should -be found. Visiting the file as @file{~/.emacs} from Emacs will find -the correct file. - -@node Using Customize -@section How do I start using Customize? -@cindex Customize groups -@cindex Customizing variables -@cindex Customizing faces - -The main Customize entry point is @kbd{M-x customize @key{RET}}. This -command takes you to a buffer listing all the available Customize -groups. From there, you can access all customizable options and faces, -change their values, and save your changes to your init file. -@xref{Easy Customization,,, emacs, The GNU Emacs Manual}. - -If you know the name of the group in advance (e.g., ``shell''), use -@kbd{M-x customize-group @key{RET}}. - -If you wish to customize a single option, use @kbd{M-x customize-option -@key{RET}}. This command prompts you for the name of the option to -customize, with completion. - -@node Colors on a TTY -@section How do I get colors and syntax highlighting on a TTY? -@cindex Colors on a TTY -@cindex Syntax highlighting on a TTY -@cindex Console, colors - -In Emacs 21.1 and later, colors and faces are supported in non-windowed mode, -i.e., on Unix and GNU/Linux text-only terminals and consoles, and when -invoked as @samp{emacs -nw} on X, and MS-Windows. (Colors and faces were -supported in the MS-DOS port since Emacs 19.29.) Emacs automatically -detects color support at startup and uses it if available. If you think -that your terminal supports colors, but Emacs won't use them, check the -@code{termcap} entry for your display type for color-related -capabilities. - -The command @kbd{M-x list-colors-display} pops up a window which -exhibits all the colors Emacs knows about on the current display. - -Syntax highlighting is on by default since version 22.1. - -@node Debugging a customization file -@section How do I debug a @file{.emacs} file? -@cindex Debugging @file{.emacs} file -@cindex @file{.emacs} debugging -@cindex Init file debugging -@cindex @samp{-debug-init} option - -Start Emacs with the @samp{-debug-init} command-line option. This -enables the Emacs Lisp debugger before evaluating your @file{.emacs} -file, and places you in the debugger if something goes wrong. The top -line in the @file{trace-back} buffer will be the error message, and the -second or third line of that buffer will display the Lisp code from your -@file{.emacs} file that caused the problem. - -You can also evaluate an individual function or argument to a function -in your @file{.emacs} file by moving the cursor to the end of the -function or argument and typing @kbd{C-x C-e} (@kbd{M-x -eval-last-sexp}). - -Use @kbd{C-h v} (@kbd{M-x describe-variable}) to check the value of -variables which you are trying to set or use. - -@node Displaying the current line or column -@section How do I make Emacs display the current line (or column) number? -@cindex @code{line-number-mode} -@cindex Displaying the current line or column -@cindex Line number, displaying the current -@cindex Column, displaying the current -@cindex @code{mode-line-format} - -By default, Emacs displays the current line number of the point in the -mode line. You can toggle this feature off or on with the command -@kbd{M-x line-number-mode}, or by setting the variable -@code{line-number-mode}. Note that Emacs will not display the line -number if the buffer's size in bytes is larger than the value of the -variable @code{line-number-display-limit}. - -You can similarly display the current column with -@kbd{M-x column-number-mode}, or by putting the form - -@lisp -(setq column-number-mode t) -@end lisp - -@noindent -in your @file{.emacs} file. This feature is off by default. - -The @code{"%c"} format specifier in the variable @code{mode-line-format} -will insert the current column's value into the mode line. See the -documentation for @code{mode-line-format} (using @kbd{C-h v -mode-line-format @key{RET}}) for more information on how to set and use -this variable. - -@cindex Set number capability in @code{vi} emulators -The @samp{linum} package (distributed with Emacs since version 23.1) -displays line numbers in the left margin, like the ``set number'' -capability of @code{vi}. The packages @samp{setnu} and -@samp{wb-line-number} (not distributed with Emacs) also implement this -feature. - -@node Displaying the current file name in the titlebar -@section How can I modify the titlebar to contain the current file name? -@cindex Titlebar, displaying the current file name in -@cindex File name, displaying in the titlebar -@cindex @code{frame-title-format} - -The contents of an Emacs frame's titlebar is controlled by the variable -@code{frame-title-format}, which has the same structure as the variable -@code{mode-line-format}. (Use @kbd{C-h v} or @kbd{M-x -describe-variable} to get information about one or both of these -variables.) - -By default, the titlebar for a frame does contain the name of the buffer -currently being visited, except if there is a single frame. In such a -case, the titlebar contains Emacs invocation name and the name of the -machine at which Emacs was invoked. This is done by setting -@code{frame-title-format} to the default value of - -@lisp -(multiple-frames "%b" ("" invocation-name "@@" system-name)) -@end lisp - -To modify the behavior such that frame titlebars contain the buffer's -name regardless of the number of existing frames, include the following -in your @file{.emacs}: - -@lisp -(setq frame-title-format "%b") -@end lisp - -@node Turning on abbrevs by default -@section How do I turn on abbrevs by default just in mode @var{mymode}? -@cindex Abbrevs, turning on by default - -Abbrev mode expands abbreviations as you type them. To turn it on in a -specific buffer, use @kbd{M-x abbrev-mode}. To turn it on in every -buffer by default, put this in your @file{.emacs} file: - -@lisp -(setq-default abbrev-mode t) -@end lisp - -@noindent To turn it on in a specific mode, use: - -@lisp -(add-hook '@var{mymode}-mode-hook - (lambda () - (setq abbrev-mode t))) -@end lisp - -@noindent If your Emacs version is older then 22.1, you will also need to use: - -@lisp -(condition-case () - (quietly-read-abbrev-file) - (file-error nil)) -@end lisp - -@node Associating modes with files -@section How do I make Emacs use a certain major mode for certain files? -@cindex Associating modes with files -@cindex File extensions and modes -@cindex @code{auto-mode-alist}, modifying -@cindex Modes, associating with file extensions - -If you want to use a certain mode @var{foo} for all files whose names end -with the extension @file{.@var{bar}}, this will do it for you: - -@lisp -(add-to-list 'auto-mode-alist '("\\.@var{bar}\\'" . @var{foo}-mode)) -@end lisp - -Alternatively, put this somewhere in the first line of any file you want to -edit in the mode @var{foo} (in the second line, if the first line begins -with @samp{#!}): - -@example --*- @var{foo} -*- -@end example - -@cindex Major mode for shell scripts -The variable @code{interpreter-mode-alist} specifies which mode to use -when loading an interpreted script (e.g., shell, python, etc.). Emacs -determines which interpreter you're using by examining the first line of -the script. Use @kbd{C-h v} (or @kbd{M-x describe-variable}) on -@code{interpreter-mode-alist} to learn more. - -@node Highlighting a region -@section How can I highlight a region of text in Emacs? -@cindex Highlighting text -@cindex Text, highlighting -@cindex @code{transient-mark-mode} -@cindex Region, highlighting a - -You can cause the region to be highlighted when the mark is active by -including - -@lisp -(transient-mark-mode 1) -@end lisp - -@noindent -in your @file{.emacs} file. Since Emacs 23.1, this feature is on by default. - -@node Replacing highlighted text -@section How can I replace highlighted text with what I type? -@cindex @code{delete-selection-mode} -@cindex Replacing highlighted text -@cindex Highlighting and replacing text - -Use @code{delete-selection-mode}, which you can start automatically by -placing the following Lisp form in your @file{.emacs} file: - -@lisp -(delete-selection-mode 1) -@end lisp - -According to the documentation string for @code{delete-selection-mode} -(which you can read using @kbd{M-x describe-function @key{RET} -delete-selection-mode @key{RET}}): - -@quotation -When Delete Selection mode is enabled, Transient Mark mode is also -enabled and typed text replaces the selection if the selection is -active. Otherwise, typed text is just inserted at point regardless of -any selection. -@end quotation - -This mode also allows you to delete (not kill) the highlighted region by -pressing @key{DEL}. - -@node Controlling case sensitivity -@section How do I control Emacs's case-sensitivity when searching/replacing? -@cindex @code{case-fold-search} -@cindex Case sensitivity of searches -@cindex Searching without case sensitivity -@cindex Ignoring case in searches - -@c FIXME -The value of the variable @code{case-fold-search} determines whether -searches are case sensitive: - -@lisp -(setq case-fold-search nil) ; make searches case sensitive -(setq case-fold-search t) ; make searches case insensitive -@end lisp - -@cindex Case sensitivity in replacements -@cindex Replacing, and case sensitivity -@cindex @code{case-replace} -Similarly, for replacing, the variable @code{case-replace} determines -whether replacements preserve case. - -You can also toggle case sensitivity at will in isearch with @kbd{M-c}. - -To change the case sensitivity just for one major mode, use the major -mode's hook. For example: - -@lisp -(add-hook '@var{foo}-mode-hook - (lambda () - (setq case-fold-search nil))) -@end lisp - -@node Working with unprintable characters -@section How do I search for, delete, or replace unprintable (eight-bit or control) characters? -@cindex Unprintable characters, working with -@cindex Working with unprintable characters -@cindex Control characters, working with -@cindex Eight-bit characters, working with -@cindex Searching for unprintable characters -@cindex Regexps and unprintable characters - -To search for a single character that appears in the buffer as, for -example, @samp{\237}, you can type @kbd{C-s C-q 2 3 7}. -Searching for @strong{all} unprintable characters is best done with a -regular expression (@dfn{regexp}) search. The easiest regexp to use for -the unprintable chars is the complement of the regexp for the printable -chars. - -@itemize @bullet - -@item -Regexp for the printable chars: @samp{[\t\n\r\f -~]} - -@item -Regexp for the unprintable chars: @samp{[^\t\n\r\f -~]} - -@end itemize - -To type these special characters in an interactive argument to -@code{isearch-forward-regexp} or @code{re-search-forward}, you need to -use @kbd{C-q}. (@samp{\t}, @samp{\n}, @samp{\r}, and @samp{\f} stand -respectively for @key{TAB}, @key{LFD}, @key{RET}, and @kbd{C-l}.) So, -to search for unprintable characters using @code{re-search-forward}: - -@kbd{M-x re-search-forward @key{RET} [^ @key{TAB} C-q @key{LFD} C-q @key{RET} C-q C-l @key{SPC} -~] @key{RET}} - -Using @code{isearch-forward-regexp}: - -@kbd{C-M-s [^ @key{TAB} @key{LFD} C-q @key{RET} C-q C-l @key{SPC} -~]} - -To delete all unprintable characters, simply use replace-regexp: - -@kbd{M-x replace-regexp @key{RET} [^ @key{TAB} C-q @key{LFD} C-q @key{RET} C-q C-l @key{SPC} -~] @key{RET} @key{RET}} - -Replacing is similar to the above. To replace all unprintable -characters with a colon, use: - -M-x replace-regexp @key{RET} [^ @key{TAB} C-q @key{LFD} C-q @key{RET} C-q C-l @key{SPC} -~] @key{RET} : @key{RET} - -@node Searching for/replacing newlines -@section How do I input a newline character in isearch or query-replace? -@cindex Searching for newlines -@cindex Replacing newlines - -Use @kbd{C-q C-j}. For more information, -@pxref{Special Isearch,, Special Input for Incremental Search, emacs, -The GNU Emacs Manual}. - -@node Yanking text in isearch -@section How do I copy text from the kill ring into the search string? -@cindex Yanking text into the search string -@cindex isearch yanking - -Use @kbd{M-y}. @xref{Isearch Yank,,, emacs, The GNU Emacs Manual}. - -@node Wrapping words automatically -@section How do I make Emacs wrap words for me? -@cindex Wrapping word automatically -@cindex Wrapping lines -@cindex Line wrap -@cindex @code{auto-fill-mode}, introduction to -@cindex Maximum line width, default value -@cindex @code{fill-column}, default value - -Use @code{auto-fill-mode}, activated by typing @kbd{M-x auto-fill-mode}. -The default maximum line width is 70, determined by the variable -@code{fill-column}. To learn how to turn this on automatically, see -@ref{Turning on auto-fill by default}. - -@node Turning on auto-fill by default -@section How do I turn on @code{auto-fill-mode} by default? -@cindex @code{auto-fill-mode}, activating automatically -@cindex Filling automatically -@cindex Automatic entry to @code{auto-fill-mode} - -To turn on @code{auto-fill-mode} just once for one buffer, use @kbd{M-x -auto-fill-mode}. - -To turn it on for every buffer in a certain mode, you must use the hook -for that mode. For example, to turn on @code{auto-fill} mode for all -text buffers, including the following in your @file{.emacs} file: - -@lisp -(add-hook 'text-mode-hook 'turn-on-auto-fill) -@end lisp - -If you want @code{auto-fill} mode on in all major modes, do this: - -@lisp -(setq-default auto-fill-function 'do-auto-fill) -@end lisp - -@node Changing load-path -@section How do I change @code{load-path}? -@cindex @code{load-path}, modifying -@cindex Modifying @code{load-path} -@cindex Adding to @code{load-path} - -In general, you should only add to the @code{load-path}. You can add -directory @var{/dir/subdir} to the load path like this: - -@lisp -(add-to-list 'load-path "/dir/subdir/") -@end lisp - -To do this relative to your home directory: - -@lisp -(add-to-list 'load-path "~/mysubdir/") -@end lisp - -@node Using an already running Emacs process -@section How do I use an already running Emacs from another window? -@cindex @code{emacsclient} -@cindex Emacs server functions -@cindex Using an existing Emacs process - -@code{emacsclient}, which comes with Emacs, is for editing a file using -an already running Emacs rather than starting up a new Emacs. It does -this by sending a request to the already running Emacs, which must be -expecting the request. - -@itemize @bullet - -@item -Setup: - -Emacs must have executed the @code{server-start} function for -@samp{emacsclient} to work. This can be done either by a command line -option: - -@example -emacs -f server-start -@end example - -or by invoking @code{server-start} from @file{.emacs}: - -@lisp -(if (@var{some conditions are met}) (server-start)) -@end lisp - -When this is done, Emacs creates a Unix domain socket named -@file{server} in @file{/tmp/emacs@var{userid}}. See -@code{server-socket-dir}. - -To get your news reader, mail reader, etc., to invoke -@samp{emacsclient}, try setting the environment variable @code{EDITOR} -(or sometimes @code{VISUAL}) to the value @samp{emacsclient}. You may -have to specify the full pathname of the @samp{emacsclient} program -instead. Examples: - -@example -# csh commands: -setenv EDITOR emacsclient - -# using full pathname -setenv EDITOR /usr/local/emacs/etc/emacsclient - -# sh command: -EDITOR=emacsclient ; export EDITOR -@end example - -@item -Normal use: - -When @samp{emacsclient} is run, it connects to the socket and passes its -command line options to Emacs, which at the next opportunity will visit -the files specified. (Line numbers can be specified just like with -Emacs.) The user will have to switch to the Emacs window by hand. When -the user is done editing a file, the user can type @kbd{C-x #} (or -@kbd{M-x server-edit}) to indicate this. If there is another buffer -requested by @code{emacsclient}, Emacs will switch to it; otherwise -@code{emacsclient} will exit, signaling the calling program to continue. - -@cindex @code{gnuserv} -There is an alternative version of @samp{emacsclient} called -@c ange@@hplb.hpl.hp.com -@samp{gnuserv}, written by Andy Norman -(@pxref{Packages that do not come with Emacs}). @samp{gnuserv} uses -Internet domain sockets, so it can work across most network connections. - -The most recent @samp{gnuserv} package is available at - -@uref{http://meltin.net/hacks/emacs/} - -@end itemize - -@node Compiler error messages -@section How do I make Emacs recognize my compiler's funny error messages? -@cindex Compiler error messages, recognizing -@cindex Recognizing non-standard compiler errors -@cindex Regexps for recognizing compiler errors -@cindex Errors, recognizing compiler - -Customize the @code{compilation-error-regexp-alist} variable. - -@node Indenting switch statements -@section How do I change the indentation for @code{switch}? -@cindex @code{switch}, indenting -@cindex Indenting of @code{switch} - -Many people want to indent their @code{switch} statements like this: - -@example -f() -@{ - switch(x) @{ - case A: - x1; - break; - case B: - x2; - break; - default: - x3; - @} -@} -@end example - -@noindent To achieve this, add the following line to your @file{.emacs}: - -@lisp -(c-set-offset 'case-label '+) -@end lisp - -@node Customizing C and C++ indentation -@section How to customize indentation in C, C@t{++}, and Java buffers? -@cindex Indentation, how to customize -@cindex Customize indentation - -The Emacs @code{cc-mode} features an interactive procedure for -customizing the indentation style, which is fully explained in the -@cite{CC Mode} manual that is part of the Emacs distribution, see -@ref{Customizing Indentation, , Customization Indentation, ccmode, -The CC Mode Manual}. Here's a short summary of the procedure: - -@enumerate -@item -Go to the beginning of the first line where you don't like the -indentation and type @kbd{C-c C-o}. Emacs will prompt you for the -syntactic symbol; type @key{RET} to accept the default it suggests. - -@item -Emacs now prompts for the offset of this syntactic symbol, showing the -default (the current definition) inside parentheses. You can choose -one of these: - -@table @code -@item 0 -No extra indentation. -@item + -Indent one basic offset. -@item - -Outdent one basic offset. -@item ++ -Indent two basic offsets -@item -- -Outdent two basic offsets. -@item * -Indent half basic offset. -@item / -Outdent half basic offset. -@end table - -@item -After choosing one of these symbols, type @kbd{C-c C-q} to reindent -the line or the block according to what you just specified. - -@item -If you don't like the result, go back to step 1. Otherwise, add the -following line to your @file{.emacs}: - -@lisp -(c-set-offset '@var{syntactic-symbol} @var{offset}) -@end lisp - -@noindent -where @var{syntactic-symbol} is the name Emacs shows in the minibuffer -when you type @kbd{C-c C-o} at the beginning of the line, and -@var{offset} is one of the indentation symbols listed above (@code{+}, -@code{/}, @code{0}, etc.)@: that you've chosen during the interactive -procedure. - -@item -Go to the next line whose indentation is not to your liking and repeat -the process there. -@end enumerate - -It is recommended to put all the resulting @code{(c-set-offset ...)} -customizations inside a C mode hook, like this: - -@lisp -(defun my-c-mode-hook () - (c-set-offset ...) - (c-set-offset ...)) -(add-hook 'c-mode-hook 'my-c-mode-hook) -@end lisp - -@noindent -Using @code{c-mode-hook} avoids the need to put a @w{@code{(require -'cc-mode)}} into your @file{.emacs} file, because @code{c-set-offset} -might be unavailable when @code{cc-mode} is not loaded. - -Note that @code{c-mode-hook} runs for C source files only; use -@code{c++-mode-hook} for C@t{++} sources, @code{java-mode-hook} for -Java sources, etc. If you want the same customizations to be in -effect in @emph{all} languages supported by @code{cc-mode}, use -@code{c-mode-common-hook}. - -@node Horizontal scrolling -@section How can I make Emacs automatically scroll horizontally? -@cindex @code{hscroll-mode} -@cindex Horizontal scrolling -@cindex Scrolling horizontally - -In Emacs 21 and later, this is on by default: if the variable -@code{truncate-lines} is non-@code{nil} in the current buffer, Emacs -automatically scrolls the display horizontally when point moves off the -left or right edge of the window. - -Note that this is overridden by the variable -@code{truncate-partial-width-windows} if that variable is non-nil -and the current buffer is not full-frame width. - -In Emacs 20, use @code{hscroll-mode}. - -@node Overwrite mode -@section How do I make Emacs ``typeover'' or ``overwrite'' instead of inserting? -@cindex @key{Insert} -@cindex @code{overwrite-mode} -@cindex Overwriting existing text -@cindex Toggling @code{overwrite-mode} - -@kbd{M-x overwrite-mode} (a minor mode). This toggles -@code{overwrite-mode} on and off, so exiting from @code{overwrite-mode} -is as easy as another @kbd{M-x overwrite-mode}. - -On some systems, @key{Insert} toggles @code{overwrite-mode} on and off. - -@node Turning off beeping -@section How do I stop Emacs from beeping on a terminal? -@cindex Beeping, turning off -@cindex Visible bell -@cindex Bell, visible - -@c martin@@cc.gatech.edu -Martin R. Frank writes: - -Tell Emacs to use the @dfn{visible bell} instead of the audible bell, -and set the visible bell to nothing. - -That is, put the following in your @code{TERMCAP} environment variable -(assuming you have one): - -@example -... :vb=: ... -@end example - -And evaluate the following Lisp form: - -@example -(setq visible-bell t) -@end example - -@node Turning the volume down -@section How do I turn down the bell volume in Emacs running under X? -@cindex Bell, volume of -@cindex Volume of bell - -On X Window system, you can adjust the bell volume and duration for all -programs with the shell command @code{xset}. - -Invoking @code{xset} without any arguments produces some basic -information, including the following: - -@example -usage: xset [-display host:dpy] option ... - To turn bell off: - -b b off b 0 - To set bell volume, pitch and duration: - b [vol [pitch [dur]]] b on -@end example - -@node Automatic indentation -@section How do I tell Emacs to automatically indent a new line to the indentation of the previous line? -@cindex Indenting new lines -@cindex New lines, indenting of -@cindex Previous line, indenting according to -@cindex Text indentation - -Such behavior is automatic (in Text mode) in Emacs 20 and later. From the -@file{etc/NEWS} file for Emacs 20.2: - -@example -** In Text mode, now only blank lines separate paragraphs. This makes -it possible to get the full benefit of Adaptive Fill mode in Text mode, -and other modes derived from it (such as Mail mode). @key{TAB} in Text -mode now runs the command @code{indent-relative}; this makes a practical -difference only when you use indented paragraphs. - -If you want spaces at the beginning of a line to start a paragraph, use -the new mode, Paragraph Indent Text mode. -@end example - -@cindex Prefixing lines -@cindex Fill prefix -If you have @code{auto-fill-mode} turned on (@pxref{Turning on auto-fill -by default}), you can tell Emacs to prefix every line with a certain -character sequence, the @dfn{fill prefix}. Type the prefix at the -beginning of a line, position point after it, and then type @kbd{C-x .} -(@code{set-fill-prefix}) to set the fill prefix. Thereafter, -auto-filling will automatically put the fill prefix at the beginning of -new lines, and @kbd{M-q} (@code{fill-paragraph}) will maintain any fill -prefix when refilling the paragraph. - -If you have paragraphs with different levels of indentation, you will -have to set the fill prefix to the correct value each time you move to a -new paragraph. There are many packages available to deal with this -(@pxref{Packages that do not come with Emacs}). Look for ``fill'' and -``indent'' keywords for guidance. - -@node Matching parentheses -@section How do I show which parenthesis matches the one I'm looking at? -@cindex Parentheses, matching -@cindex @file{paren.el} -@cindex Highlighting matching parentheses -@cindex Pairs of parentheses, highlighting -@cindex Matching parentheses - -Call @code{show-paren-mode} in your @file{.emacs} file: - -@lisp -(show-paren-mode 1) -@end lisp - -You can also enable this mode by selecting the @samp{Paren Match -Highlighting} option from the @samp{Options} menu of the Emacs menu bar -at the top of any Emacs frame. - -Alternatives to this mode include: - -@itemize @bullet - -@item -If you're looking at a right parenthesis (or brace or bracket) you can -delete it and reinsert it. Emacs will momentarily move the cursor to -the matching parenthesis. - -@item -@kbd{C-M-f} (@code{forward-sexp}) and @kbd{C-M-b} (@code{backward-sexp}) -will skip over one set of balanced parentheses, so you can see which -parentheses match. (You can train it to skip over balanced brackets -and braces at the same time by modifying the syntax table.) - -@cindex Show matching paren as in @code{vi} -@item -Here is some Emacs Lisp that will make the @key{%} key show the matching -parenthesis, like in @code{vi}. In addition, if the cursor isn't over a -parenthesis, it simply inserts a % like normal. - -@lisp -;; By an unknown contributor - -(global-set-key "%" 'match-paren) - -(defun match-paren (arg) - "Go to the matching paren if on a paren; otherwise insert %." - (interactive "p") - (cond ((looking-at "\\s\(") (forward-list 1) (backward-char 1)) - ((looking-at "\\s\)") (forward-char 1) (backward-list 1)) - (t (self-insert-command (or arg 1))))) -@end lisp - -@end itemize - -@node Hiding #ifdef lines -@section In C mode, can I show just the lines that will be left after @code{#ifdef} commands are handled by the compiler? -@cindex @code{#ifdef}, selective display of -@cindex @code{hide-ifdef-mode} -@cindex Hiding @code{#ifdef} text -@cindex Selectively displaying @code{#ifdef} code - -@kbd{M-x hide-ifdef-mode}. (This is a minor mode.) You might also want -to investigate @file{cpp.el}, which is distributed with Emacs. - -@node Repeating commands -@section How do I repeat a command as many times as possible? -@cindex Repeating commands many times -@cindex Commands, repeating many times -@cindex @code{.}, equivalent to @code{vi} command - -As of Emacs 20.3, there is indeed a @code{repeat} command (@kbd{C-x z}) -that repeats the last command. If you preface it with a prefix -argument, the prefix arg is applied to the command. - -You can also type @kbd{C-x @key{ESC} @key{ESC}} -(@code{repeat-complex-command}) to reinvoke commands that used the -minibuffer to get arguments. In @code{repeat-complex-command} you can -type @kbd{M-p} and @kbd{M-n} (and also up-arrow and down-arrow, if your -keyboard has these keys) to scan through all the different complex -commands you've typed. - -To repeat a set of commands, use keyboard macros. Use @kbd{C-x (} and -@kbd{C-x )} to make a keyboard macro that invokes the command and then -type @kbd{C-x e}. @xref{Keyboard Macros,,, emacs, The GNU Emacs Manual}. - -If you're really desperate for the @code{.} command in @code{vi} that -redoes the last insertion/deletion, use VIPER, a @code{vi} emulation -mode which comes with Emacs, and which appears to support it. - -@node Valid X resources -@section What are the valid X resource settings (i.e., stuff in .Xdefaults)? -@cindex Resources, X -@cindex X resources -@cindex Setting X resources - -@xref{X Resources,,, emacs, The GNU Emacs Manual}. - -You can also use a resource editor, such as editres (for X11R5 and -onwards), to look at the resource names for the menu bar, assuming Emacs -was compiled with the X toolkit. - -@node Evaluating Emacs Lisp code -@section How do I execute (``evaluate'') a piece of Emacs Lisp code? -@cindex Evaluating Lisp code -@cindex Lisp forms, evaluating - -There are a number of ways to execute (@dfn{evaluate}, in Lisp lingo) an -Emacs Lisp @dfn{form}: - -@itemize @bullet - -@item -If you want it evaluated every time you run Emacs, put it in a file -named @file{.emacs} in your home directory. This is known as ``your -@file{.emacs} file,'' and contains all of your personal customizations. - -@item -You can type the form in the @file{*scratch*} buffer, and then type -@key{LFD} (or @kbd{C-j}) after it. The result of evaluating the form -will be inserted in the buffer. - -@item -In @code{emacs-lisp-mode}, typing @kbd{C-M-x} evaluates a top-level form -before or around point. - -@item -Typing @kbd{C-x C-e} in any buffer evaluates the Lisp form immediately -before point and prints its value in the echo area. - -@item -Typing @kbd{M-:} or @kbd{M-x eval-expression} allows you to type a Lisp -form in the minibuffer which will be evaluated once you press @key{RET}. - -@item -You can use @kbd{M-x load-file} to have Emacs evaluate all the Lisp -forms in a file. (To do this from Lisp use the function @code{load} -instead.) - -The functions @code{load-library}, @code{eval-region}, -@code{eval-buffer}, @code{require}, and @code{autoload} are also -useful; see @ref{Emacs Lisp documentation}, if you want to learn more -about them. - -@end itemize - -@node Changing the length of a Tab -@section How do I change Emacs's idea of the @key{TAB} character's length? -@cindex Tab length -@cindex Length of tab character - -Set the default value of the variable @code{tab-width}. For example, to set -@key{TAB} stops every 10 characters, insert the following in your -@file{.emacs} file: - -@lisp -(setq-default tab-width 10) -@end lisp - -Do not confuse variable @code{tab-width} with variable -@code{tab-stop-list}. The former is used for the display of literal -@key{TAB} characters. The latter controls what characters are inserted -when you press the @key{TAB} character in certain modes. - -@node Inserting text at the beginning of each line -@section How do I insert at the beginning of every line? -@cindex Prefixing a region with some text -@cindex Prefix character, inserting in mail/news replies -@cindex Replies to mail/news, inserting a prefix character -@cindex @code{mail-yank-prefix} -@cindex Mail replies, inserting a prefix character -@cindex News replies, inserting a prefix character - -To do this to an entire buffer, type @kbd{M-< M-x replace-regexp -@key{RET} ^ @key{RET} your text @key{RET}}. - -To do this to a region, use @code{string-insert-rectangle}. -Set the mark (@kbd{C-@key{SPC}}) at the beginning of the first line you -want to prefix, move the cursor to last line to be prefixed, and type -@kbd{M-x string-insert-rectangle @key{RET}}. To do this for the whole -buffer, type @kbd{C-x h M-x string-insert-rectangle @key{RET}}. - -If you are trying to prefix a yanked mail message with @samp{>}, you -might want to set the variable @code{mail-yank-prefix}. In Message -buffers, you can even use @kbd{M-;} to cite yanked messages (@kbd{M-;} -runs the function @code{comment-region}, it is a general-purpose -mechanism to comment regions) (@pxref{Changing the included text prefix}). - -@node Forcing the cursor to remain in the same column -@section How do I make Emacs behave like this: when I go up or down, the cursor should stay in the same column even if the line is too short? -@cindex @code{picture-mode} -@cindex Remaining in the same column, regardless of contents -@cindex Vertical movement in empty documents - -Use @kbd{M-x picture-mode}. - -See also the variable @code{track-eol} and the command -@code{set-goal-column} bound to @kbd{C-x C-n} -(@pxref{Moving Point, , , emacs, The GNU Emacs Manual}). - -@node Forcing Emacs to iconify itself -@section How do I tell Emacs to iconify itself? -@cindex Iconification under the X Window System -@cindex X Window System and iconification -@cindex Suspending Emacs - -@kbd{C-z} iconifies Emacs when running under X and suspends Emacs -otherwise. @xref{Frame Commands,,, emacs, The GNU Emacs Manual}. - -@node Using regular expressions -@section How do I use regexps (regular expressions) in Emacs? -@cindex Regexps -@cindex Regular expressions -@cindex Differences between Unix and Emacs regexps -@cindex Unix regexps, differences from Emacs -@cindex Text strings, putting regexps in - -@xref{Regexp Backslash,,, emacs, The GNU Emacs Manual}. - -The @code{or} operator is @samp{\|}, not @samp{|}, and the grouping operators -are @samp{\(} and @samp{\)}. Also, the string syntax for a backslash is -@samp{\\}. To specify a regular expression like @samp{xxx\(foo\|bar\)} -in a Lisp string, use @samp{xxx\\(foo\\|bar\\)}. - -Note the doubled backslashes! - -@itemize @bullet - -@item -Unlike in Unix @file{grep}, @file{sed}, etc., a complement character set -(@samp{[^...]}) can match a newline character (@key{LFD} a.k.a.@: -@kbd{C-j} a.k.a.@: @samp{\n}), unless newline is mentioned as one of the -characters not to match. - -@item -The character syntax regexps (e.g., @samp{\sw}) are not -meaningful inside character set regexps (e.g., @samp{[aeiou]}). (This -is actually typical for regexp syntax.) - -@end itemize - -@node Replacing text across multiple files -@section How do I perform a replace operation across more than one file? -@cindex Replacing strings across files -@cindex Multiple files, replacing across -@cindex Files, replacing strings across multiple -@cindex Recursive search/replace operations - -Dired mode (@kbd{M-x dired @key{RET}}, or @kbd{C-x d}) supports the -command @code{dired-do-query-replace-regexp} (@kbd{Q}), which allows -users to replace regular expressions in multiple files. - -You can use this command to perform search/replace operations on -multiple files by following the following steps: - -@itemize @bullet -@item -Assemble a list of files you want to operate on with either -@code{find-dired}, @code{find-name-dired} or @code{find-grep-dired}. - -@item -Mark all files in the resulting Dired buffer using @kbd{t}. - -@item -Use @kbd{Q} to start a @code{query-replace-regexp} session on the marked -files. - -@item -To accept all replacements in each file, hit @kbd{!}. -@end itemize - -Another way to do the same thing is to use the ``tags'' feature of -Emacs: it includes the command @code{tags-query-replace} which performs -a query-replace across all the files mentioned in the @file{TAGS} file. -@xref{Tags Search,,, emacs, The GNU Emacs Manual}. - -@node Documentation for etags -@section Where is the documentation for @code{etags}? -@cindex Documentation for @code{etags} -@cindex @code{etags}, documentation for - -The @code{etags} man page should be in the same place as the -@code{emacs} man page. - -Quick command-line switch descriptions are also available. For example, -@samp{etags -H}. - -@node Disabling backups -@section How do I disable backup files? -@cindex Backups, disabling -@cindex Disabling backups - -You probably don't want to do this, since backups are useful, especially -when something goes wrong. - -To avoid seeing backup files (and other ``uninteresting'' files) in Dired, -load @code{dired-x} by adding the following to your @file{.emacs} file: - -@lisp -(add-hook 'dired-load-hook - (lambda () - (require 'dired-x))) -@end lisp - -With @code{dired-x} loaded, @kbd{M-o} toggles omitting in each dired buffer. -You can make omitting the default for new dired buffers by putting the -following in your @file{.emacs}: - -@lisp -(add-hook 'dired-mode-hook 'dired-omit-toggle) -@end lisp - -If you're tired of seeing backup files whenever you do an @samp{ls} at -the Unix shell, try GNU @code{ls} with the @samp{-B} option. GNU -@code{ls} is part of the GNU Fileutils package, available from -@samp{ftp.gnu.org} and its mirrors (@pxref{Current GNU distributions}). - -To disable or change the way backups are made, -@pxref{Backup Names,,, emacs, The GNU Emacs Manual}. - -@cindex Backup files in a single directory -Beginning with Emacs 21.1, you can control where Emacs puts backup files -by customizing the variable @code{backup-directory-alist}. This -variable's value specifies that files whose names match specific patters -should have their backups put in certain directories. A typical use is -to add the element @code{("." . @var{dir})} to force Emacs to put -@strong{all} backup files in the directory @file{dir}. - -@node Disabling auto-save-mode -@section How do I disable @code{auto-save-mode}? -@cindex Disabling @code{auto-save-mode} -@cindex Auto-saving -@cindex Saving at frequent intervals - -You probably don't want to do this, since auto-saving is useful, -especially when Emacs or your computer crashes while you are editing a -document. - -Instead, you might want to change the variable -@code{auto-save-interval}, which specifies how many keystrokes Emacs -waits before auto-saving. Increasing this value forces Emacs to wait -longer between auto-saves, which might annoy you less. - -You might also want to look into Sebastian Kremer's @code{auto-save} -package (@pxref{Packages that do not come with Emacs}). This -package also allows you to place all auto-save files in one directory, -such as @file{/tmp}. - -To disable or change how @code{auto-save-mode} works, -@pxref{Auto Save,,, emacs, The GNU Emacs Manual}. - -@node Going to a line by number -@section How can I go to a certain line given its number? -@cindex Going to a line by number -@cindex Compilation error messages -@cindex Recompilation - -Are you sure you indeed need to go to a line by its number? Perhaps all -you want is to display a line in your source file for which a compiler -printed an error message? If so, compiling from within Emacs using the -@kbd{M-x compile} and @kbd{M-x recompile} commands is a much more -effective way of doing that. Emacs automatically intercepts the compile -error messages, inserts them into a special buffer called -@code{*compilation*}, and lets you visit the locus of each message in -the source. Type @kbd{C-x `} to step through the offending lines one by -one (starting with Emacs 22, you can also use @kbd{M-g M-p} and -@kbd{M-g M-n} to go to the previous and next matches directly). Click -@kbd{Mouse-2} or press @key{RET} on a message text in the -@code{*compilation*} buffer to go to the line whose number is mentioned -in that message. - -But if you indeed need to go to a certain text line, type @kbd{M-g M-g} -(which is the default binding of the @code{goto-line} function starting -with Emacs 22). Emacs will prompt you for the number of the line and go -to that line. - -You can do this faster by invoking @code{goto-line} with a numeric -argument that is the line's number. For example, @kbd{C-u 286 M-g M-g} -will jump to line number 286 in the current buffer. - -@node Modifying pull-down menus -@section How can I create or modify new pull-down menu options? -@cindex Pull-down menus, creating or modifying -@cindex Menus, creating or modifying -@cindex Creating new menu options -@cindex Modifying pull-down menus -@cindex Menus and keymaps -@cindex Keymaps and menus - -Each menu title (e.g., @samp{File}, @samp{Edit}, @samp{Buffers}) -represents a local or global keymap. Selecting a menu title with the -mouse displays that keymap's non-@code{nil} contents in the form of a menu. - -So to add a menu option to an existing menu, all you have to do is add a -new definition to the appropriate keymap. Adding a @samp{Forward Word} -item to the @samp{Edit} menu thus requires the following Lisp code: - -@lisp -(define-key global-map - [menu-bar edit forward] - '("Forward word" . forward-word)) -@end lisp - -@noindent -The first line adds the entry to the global keymap, which includes -global menu bar entries. Replacing the reference to @code{global-map} -with a local keymap would add this menu option only within a particular -mode. - -The second line describes the path from the menu-bar to the new entry. -Placing this menu entry underneath the @samp{File} menu would mean -changing the word @code{edit} in the second line to @code{file}. - -The third line is a cons cell whose first element is the title that will -be displayed, and whose second element is the function that will be -called when that menu option is invoked. - -To add a new menu, rather than a new option to an existing menu, we must -define an entirely new keymap: - -@lisp -(define-key global-map [menu-bar words] - (cons "Words" (make-sparse-keymap "Words"))) -@end lisp - -The above code creates a new sparse keymap, gives it the name -@samp{Words}, and attaches it to the global menu bar. Adding the -@samp{Forward Word} item to this new menu would thus require the -following code: - -@lisp -(define-key global-map - [menu-bar words forward] - '("Forward word" . forward-word)) -@end lisp - -@noindent -Note that because of the way keymaps work, menu options are displayed -with the more recently defined items at the top. Thus if you were to -define menu options @samp{foo}, @samp{bar}, and @samp{baz} (in that -order), the menu option @samp{baz} would appear at the top, and -@samp{foo} would be at the bottom. - -One way to avoid this problem is to use the function @code{define-key-after}, -which works the same as @code{define-key}, but lets you modify where items -appear. The following Lisp code would insert the @samp{Forward Word} -item in the @samp{Edit} menu immediately following the @samp{Undo} item: - -@lisp -(define-key-after - (lookup-key global-map [menu-bar edit]) - [forward] - '("Forward word" . forward-word) - 'undo) -@end lisp - -Note how the second and third arguments to @code{define-key-after} are -different from those of @code{define-key}, and that we have added a new -(final) argument, the function after which our new key should be -defined. - -To move a menu option from one position to another, simply evaluate -@code{define-key-after} with the appropriate final argument. - -More detailed information---and more examples of how to create and -modify menu options---are in the @cite{Emacs Lisp Reference Manual}, under -``Menu Keymaps.'' (@xref{Emacs Lisp documentation}, for information on -this manual.) - -@node Deleting menus and menu options -@section How do I delete menus and menu options? -@cindex Deleting menus and menu options -@cindex Menus, deleting - -The simplest way to remove a menu is to set its keymap to @samp{nil}. -For example, to delete the @samp{Words} menu (@pxref{Modifying pull-down -menus}), use: - -@lisp -(define-key global-map [menu-bar words] nil) -@end lisp - -Similarly, removing a menu option requires redefining a keymap entry to -@code{nil}. For example, to delete the @samp{Forward word} menu option -from the @samp{Edit} menu (we added it in @ref{Modifying pull-down -menus}), use: - -@lisp -(define-key global-map [menu-bar edit forward] nil) -@end lisp - -@node Turning on syntax highlighting -@section How do I turn on syntax highlighting? -@cindex Syntax highlighting -@cindex @code{font-lock-mode} -@cindex Highlighting based on syntax -@cindex Colorizing text -@cindex FAQ, @code{font-lock-mode} - -@code{font-lock-mode} is the standard way to have Emacs perform syntax -highlighting in the current buffer. It is enabled by default in Emacs -22.1 and later. - -With @code{font-lock-mode} turned on, different types of text will -appear in different colors. For instance, in a programming mode, -variables will appear in one face, keywords in a second, and comments in -a third. - -To turn @code{font-lock-mode} off within an existing buffer, use -@kbd{M-x font-lock-mode @key{RET}}. - -In Emacs 21 and earlier versions, you could use the following code in -your @file{.emacs} file to turn on @code{font-lock-mode} globally: - -@lisp -(global-font-lock-mode 1) -@end lisp - -Highlighting a buffer with @code{font-lock-mode} can take quite a while, -and cause an annoying delay in display, so several features exist to -work around this. - -@cindex Just-In-Time syntax highlighting -In Emacs 21 and later, turning on @code{font-lock-mode} automatically -activates the new @dfn{Just-In-Time fontification} provided by -@code{jit-lock-mode}. @code{jit-lock-mode} defers the fontification of -portions of buffer until you actually need to see them, and can also -fontify while Emacs is idle. This makes display of the visible portion -of a buffer almost instantaneous. For details about customizing -@code{jit-lock-mode}, type @kbd{C-h f jit-lock-mode @key{RET}}. - -@cindex Levels of syntax highlighting -@cindex Decoration level, in @code{font-lock-mode} -In versions of Emacs before 21, different levels of decoration are -available, from slight to gaudy. More decoration means you need to wait -more time for a buffer to be fontified (or a faster machine). To -control how decorated your buffers should become, set the value of -@code{font-lock-maximum-decoration} in your @file{.emacs} file, with a -@code{nil} value indicating default (usually minimum) decoration, and a -@code{t} value indicating the maximum decoration. For the gaudiest -possible look, then, include the line - -@lisp -(setq font-lock-maximum-decoration t) -@end lisp - -@noindent -in your @file{.emacs} file. You can also set this variable such that -different modes are highlighted in a different ways; for more -information, see the documentation for -@code{font-lock-maximum-decoration} with @kbd{C-h v} (or @kbd{M-x -describe-variable @key{RET}}). - -Also see the documentation for the function @code{font-lock-mode}, -available by typing @kbd{C-h f font-lock-mode} (@kbd{M-x -describe-function @key{RET} font-lock-mode @key{RET}}). - -To print buffers with the faces (i.e., colors and fonts) intact, use -@kbd{M-x ps-print-buffer-with-faces} or @kbd{M-x -ps-print-region-with-faces}. You will need a way to send text to a -PostScript printer, or a PostScript interpreter such as Ghostscript; -consult the documentation of the variables @code{ps-printer-name}, -@code{ps-lpr-command}, and @code{ps-lpr-switches} for more details. - -@node Scrolling only one line -@section How can I force Emacs to scroll only one line when I move past the bottom of the screen? -@cindex Scrolling only one line -@cindex Reducing the increment when scrolling - -Customize the @code{scroll-conservatively} variable with @kbd{M-x -customize-variable @key{RET} scroll-conservatively @key{RET}} and set it -to a large value like, say, 10000. For an explanation of what this -means, @pxref{Auto Scrolling,,, emacs, The GNU Emacs Manual}. - -Alternatively, use the following Lisp form in your @file{.emacs}: - -@lisp -(setq scroll-conservatively most-positive-fixnum) -@end lisp - -@node Editing MS-DOS files -@section How can I edit MS-DOS files using Emacs? -@cindex Editing MS-DOS files -@cindex MS-DOS files, editing -@cindex Microsoft files, editing -@cindex Windows files, editing - -As of Emacs 20, detection and handling of MS-DOS (and Windows) files is -performed transparently. You can open MS-DOS files on a Unix system, -edit it, and save it without having to worry about the file format. - -When editing an MS-DOS style file, the mode line will indicate that it -is a DOS file. On Unix and GNU/Linux systems, and also on a Macintosh, -the string @samp{(DOS)} will appear near the left edge of the mode line; -on DOS and Windows, where the DOS end-of-line (EOL) format is the -default, a backslash (@samp{\}) will appear in the mode line. - -@node Filling paragraphs with a single space -@section How can I tell Emacs to fill paragraphs with a single space after each period? -@cindex One space following periods -@cindex Single space following periods -@cindex Periods, one space following - -Add the following line to your @file{.emacs} file: - -@lisp -(setq sentence-end-double-space nil) -@end lisp - -@node Escape sequences in shell output -@section Why these strange escape sequences from @code{ls} from the Shell mode? -@cindex Escape sequences in @code{ls} output -@cindex @code{ls} in Shell mode - -In many systems, @code{ls} is aliased to @samp{ls --color}, which -prints using ANSI color escape sequences. Emacs version 21.1 and -later includes the @code{ansi-color} package, which lets Shell mode -recognize these escape sequences. In Emacs 23.2 and later, the -package is enabled by default; in earlier versions you can enable it -by typing @kbd{M-x ansi-color-for-comint-mode} in the Shell buffer, or -by adding @code{(add-hook 'shell-mode-hook -'ansi-color-for-comint-mode-on)} to your init file. - -In Emacs versions before 21.1, the @code{ansi-color} package is not -included. In that case, you need to unalias @code{ls} for interactive -shells running in Emacs; this can be done by checking the @code{EMACS} -variable in the environment. - -@node Fullscreen mode on MS-Windows -@section How can I start Emacs in fullscreen mode on MS-Windows? -@cindex Maximize frame -@cindex Fullscreen mode - -Use the function @code{w32-send-sys-command}. For example, you can -put the following in your @file{.emacs} file: - -@lisp -(add-hook 'term-setup-hook - #'(lambda () (w32-send-sys-command ?\xF030))) -@end lisp - -To avoid the slightly distracting visual effect of Emacs starting with -its default frame size and then growing to fullscreen, you can add an -@samp{Emacs.Geometry} entry to the Windows registry settings. -@xref{X Resources,,, emacs, The GNU Emacs Manual}. - -To compute the correct values for width and height, first maximize the -Emacs frame and then evaluate @code{(frame-height)} and -@code{(frame-width)} with @kbd{M-:}. - -@c ------------------------------------------------------------ -@node Bugs and problems -@chapter Bugs and problems -@cindex Bugs and problems - -The Emacs manual lists some common kinds of trouble users could get -into, see @ref{Lossage, , Dealing with Emacs Trouble, emacs, The GNU -Emacs Manual}, so you might look there if the problem you encounter -isn't described in this chapter. If you decide you've discovered a bug, -see @ref{Bugs, , Reporting Bugs, emacs, The GNU Emacs Manual}, for -instructions how to do that. - -The file @file{etc/PROBLEMS} in the Emacs distribution lists various -known problems with building and using Emacs on specific platforms; -type @kbd{C-h C-p} to read it. - -@menu -* Problems with very large files:: -* ^M in the shell buffer:: -* Problems with Shell Mode:: -* Termcap/Terminfo entries for Emacs:: -* Errors with init files:: -* Emacs ignores X resources:: -* Emacs ignores frame parameters:: -* Editing files with $ in the name:: -* Shell mode loses the current directory:: -* Security risks with Emacs:: -* Dired claims that no file is on this line:: -@end menu - -@node Problems with very large files -@section Does Emacs have problems with files larger than 8 megabytes? -@cindex Very large files, opening -@cindex Large files, opening -@cindex Opening very large files -@cindex Maximum file size -@cindex Files, maximum size - -Old versions (i.e., anything before 19.29) of Emacs had problems editing -files larger than 8 megabytes. In versions 19.29 and later, the maximum -buffer size is at least 2^27@minus{}1, or 134,217,727 bytes, or 132 MBytes. -The maximum buffer size on 32-bit machines increased to 256 MBytes in -Emacs 22, and again to 512 MBytes in Emacs 23.2. - -Emacs compiled on a 64-bit machine can handle much larger buffers. - -@node ^M in the shell buffer -@section How do I get rid of @samp{^M} or echoed commands in my shell buffer? -@cindex Shell buffer, echoed commands and @samp{^M} in -@cindex Echoed commands in @code{shell-mode} - -Try typing @kbd{M-x shell-strip-ctrl-m @key{RET}} while in @code{shell-mode} to -make them go away. If that doesn't work, you have several options: - -For @code{tcsh}, put this in your @file{.cshrc} (or @file{.tcshrc}) -file: - -@example -if ($?EMACS) then - if ("$EMACS" =~ /*) then - if ($?tcsh) unset edit - stty nl - endif -endif -@end example - -Or put this in your @file{.emacs_tcsh} or @file{~/.emacs.d/init_tcsh.sh} file: - -@example -unset edit -stty nl -@end example - -Alternatively, use @code{csh} in your shell buffers instead of -@code{tcsh}. One way is: - -@lisp -(setq explicit-shell-file-name "/bin/csh") -@end lisp - -@noindent -and another is to do this in your @file{.cshrc} (or @file{.tcshrc}) -file: - -@example -setenv ESHELL /bin/csh -@end example - -@noindent -(You must start Emacs over again with the environment variable properly -set for this to take effect.) - -You can also set the @code{ESHELL} environment variable in Emacs Lisp -with the following Lisp form, - -@lisp -(setenv "ESHELL" "/bin/csh") -@end lisp - -The above solutions try to prevent the shell from producing the -@samp{^M} characters in the first place. If this is not possible -(e.g., if you use a Windows shell), you can get Emacs to remove these -characters from the buffer by adding this to your @file{.emacs} init -file: - -@smalllisp -(add-hook 'comint-output-filter-functions 'shell-strip-ctrl-m) -@end smalllisp - -On a related note: if your shell is echoing your input line in the shell -buffer, you might want to customize the @code{comint-process-echoes} -variable in your shell buffers, or try the following command in your -shell start-up file: - -@example -stty -icrnl -onlcr -echo susp ^Z -@end example - -@node Problems with Shell Mode -@section Why do I get an error message when I try to run @kbd{M-x shell}? - -@cindex Shell Mode, problems -@cindex @code{explicit-shell-file-name} -This might happen because Emacs tries to look for the shell in a wrong -place. If you know where your shell executable is, set the variable -@code{explicit-shell-file-name} in your @file{.emacs} file to point to -its full file name. - -@cindex Antivirus programs, and Shell Mode -Some people have trouble with Shell Mode on MS-Windows because of -intrusive antivirus software; disabling the resident antivirus program -solves the problems in those cases. - -@node Termcap/Terminfo entries for Emacs -@section Where is the termcap/terminfo entry for terminal type @samp{emacs}? -@cindex Termcap -@cindex Terminfo -@cindex Emacs entries for termcap/terminfo - -The termcap entry for terminal type @samp{emacs} is ordinarily put in -the @samp{TERMCAP} environment variable of subshells. It may help in -certain situations (e.g., using rlogin from shell buffer) to add an -entry for @samp{emacs} to the system-wide termcap file. Here is a -correct termcap entry for @samp{emacs}: - -@example -emacs:tc=unknown: -@end example - -To make a terminfo entry for @samp{emacs}, use @code{tic} or -@code{captoinfo}. You need to generate -@file{/usr/lib/terminfo/e/emacs}. It may work to simply copy -@file{/usr/lib/terminfo/d/dumb} to @file{/usr/lib/terminfo/e/emacs}. - -Having a termcap/terminfo entry will not enable the use of full screen -programs in shell buffers. Use @kbd{M-x terminal-emulator} for that -instead. - -A workaround to the problem of missing termcap/terminfo entries is to -change terminal type @samp{emacs} to type @samp{dumb} or @samp{unknown} -in your shell start up file. @code{csh} users could put this in their -@file{.cshrc} files: - -@example -if ("$term" == emacs) set term=dumb -@end example - -@node Errors with init files -@section Why does Emacs say @samp{Error in init file}? -@cindex Error in @file{.emacs} -@cindex Error in init file -@cindex Init file, errors in -@cindex @file{.emacs} file, errors in -@cindex Debugging @file{.emacs} file - -An error occurred while loading either your @file{.emacs} file or the -system-wide file @file{site-lisp/default.el}. Emacs 21.1 and later pops the -@file{*Messages*} buffer, and puts there some additional information -about the error, to provide some hints for debugging. - -For information on how to debug your @file{.emacs} file, see -@ref{Debugging a customization file}. - -It may be the case that you need to load some package first, or use a -hook that will be evaluated after the package is loaded. A common case -of this is explained in @ref{Terminal setup code works after Emacs has -begun}. - -@node Emacs ignores X resources -@section Why does Emacs ignore my X resources (my .Xdefaults file)? -@cindex X resources being ignored -@cindex Ignored X resources -@cindex @file{.Xdefaults} - -As of version 19, Emacs searches for X resources in the files specified -by the following environment variables: - -@itemize @bullet - -@item @code{XFILESEARCHPATH} -@item @code{XUSERFILESEARCHPATH} -@item @code{XAPPLRESDIR} - -@end itemize - -This emulates the functionality provided by programs written using the -Xt toolkit. - -@code{XFILESEARCHPATH} and @code{XUSERFILESEARCHPATH} should be a list -of file names separated by colons. @code{XAPPLRESDIR} should be a list -of directory names separated by colons. - -Emacs searches for X resources: - -@enumerate - -@item -specified on the command line, with the @samp{-xrm RESOURCESTRING} option, - -@item -then in the value of the @samp{XENVIRONMENT} environment variable, - -@itemize @minus - -@item -or if that is unset, in the file named -@file{~/.Xdefaults-@var{hostname}} if it exists (where @var{hostname} is -the name of the machine Emacs is running on), - -@end itemize - -@item -then in the screen-specific and server-wide resource properties provided -by the server, - -@itemize @minus - -@item -or if those properties are unset, in the file named @file{~/.Xdefaults} -if it exists, - -@end itemize - -@item -then in the files listed in @samp{XUSERFILESEARCHPATH}, - -@itemize @minus - -@item -or in files named @file{@var{lang}/Emacs} in directories listed in -@samp{XAPPLRESDIR} (where @var{lang} is the value of the @code{LANG} -environment variable), if the @samp{LANG} environment variable is set, -@item -or in files named Emacs in the directories listed in @samp{XAPPLRESDIR} -@item -or in @file{~/@var{lang}/Emacs} (if the @code{LANG} environment variable -is set), -@item -or in @file{~/Emacs}, - -@end itemize - -@item -then in the files listed in @code{XFILESEARCHPATH}. - -@end enumerate - -@node Emacs ignores frame parameters -@section Why don't my customizations of the frame parameters work? -@cindex Frame parameters - -This probably happens because you have set the frame parameters in the -variable @code{initial-frame-alist}. That variable holds parameters -used only for the first frame created when Emacs starts. To customize -the parameters of all frames, change the variable -@code{default-frame-alist} instead. - -These two variables exist because many users customize the initial frame -in a special way. For example, you could determine the position and -size of the initial frame, but would like to control the geometry of the -other frames by individually positioning each one of them. - - -@node Editing files with $ in the name -@section How do I edit a file with a @samp{$} in its name? -@cindex Editing files with @samp{$} in the name -@cindex @samp{$} in file names -@cindex File names containing @samp{$}, editing - -When entering a file name in the minibuffer, Emacs will attempt to expand -a @samp{$} followed by a word as an environment variable. To suppress -this behavior, type @kbd{$$} instead. - -@node Shell mode loses the current directory -@section Why does shell mode lose track of the shell's current directory? -@cindex Current directory and @code{shell-mode} -@cindex @code{shell-mode} and current directory -@cindex Directory, current in @code{shell-mode} - -Emacs has no way of knowing when the shell actually changes its -directory. This is an intrinsic limitation of Unix. So it tries to -guess by recognizing @samp{cd} commands. If you type @kbd{cd} followed -by a directory name with a variable reference (@kbd{cd $HOME/bin}) or -with a shell metacharacter (@kbd{cd ../lib*}), Emacs will fail to -correctly guess the shell's new current directory. A huge variety of -fixes and enhancements to shell mode for this problem have been written -to handle this problem (@pxref{Finding a package with particular -functionality}). - -You can tell Emacs the shell's current directory with the command -@kbd{M-x dirs}. - -@node Security risks with Emacs -@section Are there any security risks in Emacs? -@cindex Security with Emacs -@cindex @samp{movemail} and security -@cindex @code{file-local-variable} and security -@cindex Synthetic X events and security -@cindex X events and security - -@itemize @bullet - -@item -The @file{movemail} incident. (No, this is not a risk.) - -In his book @cite{The Cuckoo's Egg}, Cliff Stoll describes this in -chapter 4. The site at LBL had installed the @file{/etc/movemail} -program setuid root. (As of version 19, @file{movemail} is in your -architecture-specific directory; type @kbd{C-h v exec-directory -@key{RET}} to see what it is.) Since @code{movemail} had not been -designed for this situation, a security hole was created and users could -get root privileges. - -@code{movemail} has since been changed so that this security hole will -not exist, even if it is installed setuid root. However, -@code{movemail} no longer needs to be installed setuid root, which -should eliminate this particular risk. - -We have heard unverified reports that the 1988 Internet worm took -advantage of this configuration problem. - -@item -The @code{file-local-variable} feature. (Yes, a risk, but easy to -change.) - -There is an Emacs feature that allows the setting of local values for -variables when editing a file by including specially formatted text near -the end of the file. This feature also includes the ability to have -arbitrary Emacs Lisp code evaluated when the file is visited. -Obviously, there is a potential for Trojan horses to exploit this -feature. - -As of Emacs 22, Emacs has a list of local variables that are known to -be safe to set. If a file tries to set any variable outside this -list, it asks the user to confirm whether the variables should be set. -You can also tell Emacs whether to allow the evaluation of Emacs Lisp -code found at the bottom of files by setting the variable -@code{enable-local-eval}. - -@xref{File Variables,,, emacs, The GNU Emacs Manual}. - -@item -Synthetic X events. (Yes, a risk; use @samp{MIT-MAGIC-COOKIE-1} or -better.) - -Emacs accepts synthetic X events generated by the @code{SendEvent} -request as though they were regular events. As a result, if you are -using the trivial host-based authentication, other users who can open X -connections to your X workstation can make your Emacs process do -anything, including run other processes with your privileges. - -The only fix for this is to prevent other users from being able to open -X connections. The standard way to prevent this is to use a real -authentication mechanism, such as @samp{MIT-MAGIC-COOKIE-1}. If using -the @code{xauth} program has any effect, then you are probably using -@samp{MIT-MAGIC-COOKIE-1}. Your site may be using a superior -authentication method; ask your system administrator. - -If real authentication is not a possibility, you may be satisfied by -just allowing hosts access for brief intervals while you start your X -programs, then removing the access. This reduces the risk somewhat by -narrowing the time window when hostile users would have access, but -@emph{does not eliminate the risk}. - -On most computers running Unix and X, you enable and disable -access using the @code{xhost} command. To allow all hosts access to -your X server, use - -@example -xhost + -@end example - -@noindent -at the shell prompt, which (on an HP machine, at least) produces the -following message: - -@example -access control disabled, clients can connect from any host -@end example - -To deny all hosts access to your X server (except those explicitly -allowed by name), use - -@example -xhost - -@end example - -On the test HP computer, this command generated the following message: - -@example -access control enabled, only authorized clients can connect -@end example - -@end itemize - -@node Dired claims that no file is on this line -@section Dired says, @samp{no file on this line} when I try to do something. -@cindex Dired does not see a file - -Dired uses a regular expression to find the beginning of a file name. -In a long Unix-style directory listing (@samp{ls -l}), the file name -starts after the date. The regexp has thus been written to look for the -date. By default, it should understand dates and times regardless of -the language, but if your directory listing has an unusual format, Dired -may get confused. - -There are two approaches to solving this. The first one involves -setting things up so that @samp{ls -l} outputs a more standard format. -See your OS manual for more information. - -The second approach involves changing the regular expression used by -dired, @code{directory-listing-before-filename-regexp}. - -@c ------------------------------------------------------------ -@node Compiling and installing Emacs -@chapter Compiling and installing Emacs -@cindex Compiling and installing Emacs - -@menu -* Installing Emacs:: -* Problems building Emacs:: -@end menu - -@node Installing Emacs -@section How do I install Emacs? -@cindex Installing Emacs -@cindex Unix systems, installing Emacs on -@cindex Downloading and installing Emacs -@cindex Building Emacs from source -@cindex Source code, building Emacs from - -This answer is meant for users of Unix and Unix-like systems. Users of -other operating systems should see the series of questions beginning -with @ref{Emacs for MS-DOS}, which describe where to get non-Unix source -and binaries, and how to install Emacs on those systems. - -Most GNU/Linux distributions provide pre-built Emacs packages. -If Emacs is not installed already, you can install it by running (as -root) a command such as @samp{yum install emacs} (Red Hat and -derivatives) or @samp{apt-get install emacs} (Debian and derivatives). - -If you want to compile Emacs yourself, read the file @file{INSTALL} in -the source distribution. In brief: - -@itemize @bullet - -@item -First download the Emacs sources. @xref{Current GNU distributions}, for -a list of ftp sites that make them available. On @file{ftp.gnu.org}, -the main GNU distribution site, sources are available as - -@c Don't include VER in the file name, because pretests are not there. -@uref{ftp://ftp.gnu.org/pub/gnu/emacs/emacs-VERSION.tar.gz} - -(Replace @samp{VERSION} with the relevant version number, e.g., @samp{23.1}.) - -@item -Next uncompress and extract the source files. This requires -the @code{gzip} and @code{tar} programs, which are standard utilities. -If your system does not have them, these can also be downloaded from -@file{ftp.gnu.org}. - -GNU @code{tar} can uncompress and extract in a single-step: - -@example -tar -zxvf emacs-VERSION.tar.gz -@end example - -@item -At this point, the Emacs sources should be sitting in a directory called -@file{emacs-VERSION}. On most common Unix and Unix-like systems, -you should be able to compile Emacs with the following commands: - -@example -cd emacs-VERSION -./configure # configure Emacs for your particular system -make # use Makefile to build components, then Emacs -@end example - -If the @code{make} completes successfully, the odds are fairly good that -the build has gone well. (@xref{Problems building Emacs}, if you weren't -successful.) - -@item -By default, Emacs is installed in @file{/usr/local}. To actually -install files, become the superuser and type - -@example -make install -@end example - -Note that @samp{make install} will overwrite @file{/usr/local/bin/emacs} -and any Emacs Info files that might be in @file{/usr/local/share/info/}. - -@end itemize - -@node Problems building Emacs -@section What should I do if I have trouble building Emacs? -@cindex Problems building Emacs -@cindex Errors when building Emacs - -First look in the file @file{etc/PROBLEMS} (where you unpack the Emacs -source) to see if there is already a solution for your problem. Next, -look for other questions in this FAQ that have to do with Emacs -installation and compilation problems. - -If you'd like to have someone look at your problem and help solve it, -see @ref{Help installing Emacs}. - -If you cannot find a solution in the documentation, please report the -problem (@pxref{Reporting bugs}). - - -@c ------------------------------------------------------------ -@node Finding Emacs and related packages -@chapter Finding Emacs and related packages -@cindex Finding Emacs and related packages - -@menu -* Finding Emacs on the Internet:: -* Finding a package with particular functionality:: -* Packages that do not come with Emacs:: -* Spell-checkers:: -* Current GNU distributions:: -* Difference between Emacs and XEmacs:: -* Emacs for minimalists:: -* Emacs for MS-DOS:: -* Emacs for MS-Windows:: -* Emacs for GNUstep:: -* Emacs for Mac OS X:: -@end menu - -@node Finding Emacs on the Internet -@section Where can I get Emacs on the net? -@cindex Finding Emacs on the Internet -@cindex Downloading Emacs - -Information on downloading Emacs is available at -@uref{http://www.gnu.org/software/emacs/, the Emacs home-page}. - -@xref{Installing Emacs}, for information on how to obtain and build the latest -version of Emacs, and see @ref{Current GNU distributions}, for a list of -archive sites that make GNU software available. - -@node Finding a package with particular functionality -@section How do I find a Emacs Lisp package that does XXX? -@cindex Package, finding -@cindex Finding an Emacs Lisp package -@cindex Functionality, finding a particular package - -First of all, you should check to make sure that the package isn't -already available. For example, typing @kbd{M-x apropos @key{RET} -wordstar @key{RET}} lists all functions and variables containing the -string @samp{wordstar}. - -It is also possible that the package is on your system, but has not been -loaded. To see which packages are available for loading, look through -your computer's lisp directory (@pxref{File-name conventions}). The Lisp -source to most packages contains a short description of how they -should be loaded, invoked, and configured---so before you use or -modify a Lisp package, see if the author has provided any hints in the -source code. - -The command @kbd{C-h p} (@code{finder-by-keyword}) allows you to browse -the constituent Emacs packages. - -For advice on how to find extra packages that are not part of Emacs, -see @ref{Packages that do not come with Emacs}. - -@node Packages that do not come with Emacs -@section Where can I get Emacs Lisp packages that don't come with Emacs? -@cindex Unbundled packages -@cindex Finding other packages -@cindex Lisp packages that do not come with Emacs -@cindex Packages, those that do not come with Emacs -@cindex Emacs Lisp List -@cindex Emacs Lisp Archive - -Your first port of call should be the @kbd{M-x list-packages} command. -This connects to the @uref{http:///elpa.gnu.org, GNU ELPA} (``Emacs -Lisp Package Archive'') server and fetches the list of additional -packages that it offers. These are GNU packages that are available -for use with Emacs, but are distributed separately. Select a package -to get more details about the features that it offers, and then if you -wish, Emacs can download and automatically install it for you. - -@uref{http://www.damtp.cam.ac.uk/user/sje30/emacs/ell.html, The Emacs Lisp -List (ELL)}, maintained by Stephen Eglen, -aims to provide one compact list with links to all of the current Emacs -Lisp files on the Internet. The ELL can be browsed over the web, or -from Emacs with @uref{http://www.damtp.cam.ac.uk/user/sje30/emacs/ell.el, -the @file{ell} package}. - -Many authors post their packages to the @uref{news:gnu.emacs.sources, -Emacs sources newsgroup}. You can search the archives of this -group with @uref{http://groups.google.com/group/gnu.emacs.sources, Google}, -or @uref{http://dir.gmane.org/gmane.emacs.sources, Gmane}, for example. - -Several packages are stored in -@uref{http://emacswiki.org/elisp/, the Lisp area of the Emacs Wiki}. - -Read the file @file{etc/MORE.STUFF} for more information about -external packages. - -@node Spell-checkers -@section Spell-checkers -@cindex Spell-checker -@cindex Checking spelling -@cindex Ispell -@cindex Aspell -@cindex Hunspell - -Various spell-checkers are compatible with Emacs, including: - -@table @b - -@item GNU Aspell -@uref{http://aspell.net/} - -@item Ispell -@uref{http://fmg-www.cs.ucla.edu/geoff/ispell.html} - -@item Hunspell -@uref{http://hunspell.sourceforge.net/} - -@end table - -@node Current GNU distributions -@section Where can I get other up-to-date GNU stuff? -@cindex Current GNU distributions -@cindex Sources for current GNU distributions -@cindex Stuff, current GNU -@cindex Up-to-date GNU stuff -@cindex Finding current GNU software -@cindex Official GNU software sites - -The most up-to-date official GNU software is normally kept at - -@uref{ftp://ftp.gnu.org/pub/gnu} - -A list of sites mirroring @samp{ftp.gnu.org} can be found at - -@uref{http://www.gnu.org/order/ftp.html} - -@node Difference between Emacs and XEmacs -@section What is the difference between Emacs and XEmacs (formerly Lucid Emacs)? -@cindex XEmacs -@cindex Difference Emacs and XEmacs -@cindex Lucid Emacs -@cindex Epoch - -XEmacs is a branch version of Emacs. It was first called Lucid Emacs, -and was initially derived from a prerelease version of Emacs 19. In -this FAQ, we use the name ``Emacs'' only for the official version. - -Emacs and XEmacs each come with Lisp packages that are lacking in the -other. The two versions have some significant differences at the Lisp -programming level. Their current features are roughly comparable, -though the support for some operating systems, character sets and -specific packages might be quite different. - -Some XEmacs code has been contributed to Emacs, and we would like to -use other parts, but the earlier XEmacs maintainers did not always -keep track of the authors of contributed code, which makes it -impossible for the FSF to get copyright papers signed for that code. -(The FSF requires these papers for all the code included in the Emacs -release, aside from generic C support packages that retain their -separate identity and are not integrated into the code of Emacs -proper.) - -If you want to talk about these two versions and distinguish them, -please call them ``Emacs'' and ``XEmacs.'' To contrast ``XEmacs'' -with ``GNU Emacs'' would be misleading, since XEmacs too has its -origin in the work of the GNU Project. Terms such as ``Emacsen'' and -``(X)Emacs'' are not wrong, but they are not very clear, so it -is better to write ``Emacs and XEmacs.'' - -@node Emacs for minimalists -@section I don't have enough disk space to install Emacs -@cindex Zile -@cindex Not enough disk space to install Emacs - -GNU Zile is a lightweight Emacs clone. Zile is short for @samp{Zile Is -Lossy Emacs}. It has all of Emacs's basic editing features. The Zile -binary typically has a size of about 130 kbytes, so this can be useful -if you are in an extremely space-restricted environment. More -information is available from - -@uref{http://www.gnu.org/software/zile/} - - -@node Emacs for MS-DOS -@section Where can I get Emacs for MS-DOS? -@cindex MS-DOS, Emacs for -@cindex DOS, Emacs for -@cindex Compiling Emacs for DOS -@cindex Emacs for MS-DOS - -To build Emacs from source for MS-DOS, see the instructions in the file -@file{msdos/INSTALL} in the distribution. The DOS port builds and runs -on plain DOS, and also on all versions of MS-Windows from version 3.X -onwards, including Windows XP and Vista. - -The file @file{etc/PROBLEMS} contains some additional information -regarding Emacs under MS-DOS. - -A pre-built binary distribution of the old Emacs 20 is available, as -described at - -@uref{ftp://ftp.delorie.com/pub/djgpp/current/v2gnu/emacs.README} - -For a list of other MS-DOS implementations of Emacs (and Emacs -look-alikes), consult the list of ``Emacs implementations and literature,'' -available at - -@uref{http://www.finseth.com/emacs.html} - -Note that while many of these programs look similar to Emacs, they often -lack certain features, such as the Emacs Lisp extension language. - -@node Emacs for MS-Windows -@section Where can I get Emacs for Microsoft Windows? -@cindex FAQ for Emacs on MS-Windows -@cindex Emacs for MS-Windows -@cindex Microsoft Windows, Emacs for - -There is a @uref{http://www.gnu.org/software/emacs/windows/ntemacs.html, -separate FAQ} for Emacs on MS-Windows. For MS-DOS, @pxref{Emacs for MS-DOS}. - - -@node Emacs for GNUstep -@section Where can I get Emacs for GNUstep? -@cindex GNUstep, Emacs for - -Beginning with version 23.1, Emacs supports GNUstep natively. -See the file @file{nextstep/INSTALL} in the distribution. - -@node Emacs for Mac OS X -@section Where can I get Emacs for Mac OS X? -@cindex Apple computers, Emacs for -@cindex Macintosh, Emacs for -@cindex Mac OS X, Emacs for - -Beginning with version 22.1, Emacs supports Mac OS X natively. -See the file @file{nextstep/INSTALL} in the distribution. - -@c ------------------------------------------------------------ -@node Key bindings -@chapter Key bindings -@cindex Key bindings - -@menu -* Binding keys to commands:: -* Invalid prefix characters:: -* Terminal setup code works after Emacs has begun:: -* Working with function and arrow keys:: -* X key translations for Emacs:: -* Backspace invokes help:: -* Swapping keys:: -* Producing C-XXX with the keyboard:: -* No Meta key:: -* No Escape key:: -* Compose Character:: -* Binding combinations of modifiers and function keys:: -* Meta key does not work in xterm:: -* ExtendChar key does not work as Meta:: -* SPC no longer completes file names:: -@end menu - -@node Binding keys to commands -@section How do I bind keys (including function keys) to commands? -@cindex Binding keys to commands -@cindex Keys, binding to commands -@cindex Commands, binding keys to - -Keys can be bound to commands either interactively or in your -@file{.emacs} file. To interactively bind keys for all modes, type -@kbd{M-x global-set-key @key{RET} @var{key} @var{cmd} @key{RET}}. - -To bind a key just in the current major mode, type @kbd{M-x -local-set-key @key{RET} @var{key} @var{cmd} @key{RET}}. - -@xref{Key Bindings,,, emacs, The GNU Emacs Manual}. - -To make the process of binding keys interactively easier, use the -following ``trick'': First bind the key interactively, then immediately -type @kbd{C-x @key{ESC} @key{ESC} C-a C-k C-g}. Now, the command needed -to bind the key is in the kill ring, and can be yanked into your -@file{.emacs} file. If the key binding is global, no changes to the -command are required. For example, - -@lisp -(global-set-key (quote [f1]) (quote help-for-help)) -@end lisp - -@noindent -can be placed directly into the @file{.emacs} file. If the key binding is -local, the command is used in conjunction with the @samp{add-hook} function. -For example, in TeX mode, a local binding might be - -@lisp -(add-hook 'tex-mode-hook - (lambda () - (local-set-key (quote [f1]) (quote help-for-help)))) -@end lisp - - -@itemize @bullet - -@item -Control characters in key sequences, in the form yanked from the kill -ring are given in their graphic form---i.e., @key{CTRL} is shown as -@samp{^}, @key{TAB} as a set of spaces (usually 8), etc. You may want -to convert these into their vector or string forms. - -@item -If a prefix key of the character sequence to be bound is already -bound as a complete key, then you must unbind it before the new -binding. For example, if @kbd{ESC @{} is previously bound: - -@lisp -(global-unset-key [?\e ?@{]) ;; or -(local-unset-key [?\e ?@{]) -@end lisp - -@item -Aside from commands and ``lambda lists,'' a vector or string also -can be bound to a key and thus treated as a macro. For example: - -@lisp -(global-set-key [f10] [?\C-x?\e?\e?\C-a?\C-k?\C-g]) ;; or -(global-set-key [f10] "\C-x\e\e\C-a\C-k\C-g") -@end lisp - -@end itemize - -@node Invalid prefix characters -@section Why does Emacs say @samp{Key sequence XXX uses invalid prefix characters}? -@cindex Prefix characters, invalid -@cindex Invalid prefix characters -@cindex Misspecified key sequences - -Usually, one of two things has happened. In one case, the control -character in the key sequence has been misspecified (e.g., @samp{C-f} -used instead of @samp{\C-f} within a Lisp expression). In the other -case, a @dfn{prefix key} in the keystroke sequence you were trying to bind -was already bound as a @dfn{complete key}. Historically, the @samp{ESC [} -prefix was usually the problem, in which case you should evaluate either -of these forms before attempting to bind the key sequence: - -@lisp -(global-unset-key [?\e ?[]) ;; or -(global-unset-key "\e[") -@end lisp - -@node Terminal setup code works after Emacs has begun -@section Why doesn't this [terminal or window-system setup] code work in my @file{.emacs} file, but it works just fine after Emacs starts up? -@cindex Terminal setup code in @file{.emacs} - -During startup, Emacs initializes itself according to a given code/file -order. If some of the code executed in your @file{.emacs} file needs to -be postponed until the initial terminal or window-system setup code has -been executed but is not, then you will experience this problem (this -code/file execution order is not enforced after startup). - -To postpone the execution of Emacs Lisp code until after terminal or -window-system setup, treat the code as a @dfn{lambda list} and set the -value of either the @code{term-setup-hook} or @code{window-setup-hook} -variable to this lambda function. For example, - -@lisp -(add-hook 'term-setup-hook - (lambda () - (when (string-match "\\`vt220" (or (getenv "TERM") "")) - ;; Make vt220's "Do" key behave like M-x: - (global-set-key [do] 'execute-extended-command)))) -@end lisp - -For information on what Emacs does every time it is started, see the -@file{lisp/startup.el} file. - -@node Working with function and arrow keys -@section How do I tell what characters or symbols my function or arrow keys emit? -@cindex Working with arrow keys -@cindex Arrow keys, symbols generated by -@cindex Working with function keys -@cindex Function keys, symbols generated by -@cindex Symbols generated by function keys - -Type @kbd{C-h c} then the function or arrow keys. The command will -return either a function key symbol or character sequence (see the -Emacs documentation for an explanation). This works for other -keys as well. - -@node X key translations for Emacs -@section How do I set the X key ``translations'' for Emacs? -@cindex X key translations -@cindex Key translations under X -@cindex Translations for keys under X - -Emacs is not written using the Xt library by default, so there are no -``translations'' to be set. (We aren't sure how to set such translations -if you do build Emacs with Xt; please let us know if you've done this!) - -The only way to affect the behavior of keys within Emacs is through -@code{xmodmap} (outside Emacs) or @code{define-key} (inside Emacs). The -@code{define-key} command should be used in conjunction with the -@code{function-key-map} map. For instance, - -@lisp -(define-key function-key-map [M-@key{TAB}] [?\M-\t]) -@end lisp - -@noindent -defines the @kbd{M-@key{TAB}} key sequence. - -@node Backspace invokes help -@section Why does the @key{Backspace} key invoke help? -@cindex Backspace key invokes help -@cindex Help invoked by Backspace -@cindex DEL key does not delete - -The @key{Backspace} key (on most keyboards) generates @acronym{ASCII} code 8. -@kbd{C-h} sends the same code. In Emacs by default @kbd{C-h} invokes -help-command. This is intended to be easy to remember since the first -letter of @samp{help} is @samp{h}. The easiest solution to this problem -is to use @kbd{C-h} (and @key{Backspace}) for help and @key{DEL} (the -@key{Delete} key) for deleting the previous character. - -For many people this solution may be problematic: - -@itemize @bullet - -@item -They normally use @key{Backspace} outside of Emacs for deleting the -previous character. This can be solved by making @key{DEL} the command -for deleting the previous character outside of Emacs. On many Unix -systems, this command will remap @key{DEL}: - -@example -stty erase `^?' -@end example - -@item -The user may prefer the @key{Backspace} key for deleting the -previous character because it is more conveniently located on their -keyboard or because they don't even have a separate @key{Delete} key. -In this case, the @key{Backspace} key should be made to behave like -@key{Delete}. There are several methods. - -@itemize @minus -@item -Some terminals (e.g., VT3## terminals) and terminal emulators (e.g., -TeraTerm) allow the character generated by the @key{Backspace} key to be -changed from a setup menu. - -@item -You may be able to get a keyboard that is completely programmable, or a -terminal emulator that supports remapping of any key to any other key. - -@item -With Emacs 21.1 and later, you can control the effect of the -@key{Backspace} and @key{Delete} keys, on both dumb terminals and a -windowed displays, by customizing the option -@code{normal-erase-is-backspace-mode}, or by invoking @kbd{M-x -normal-erase-is-backspace}. See the documentation of these symbols -(@pxref{Emacs Lisp documentation}) for more info. - -@item -It is possible to swap the @key{Backspace} and @key{DEL} keys inside -Emacs: - -@lisp -(keyboard-translate ?\C-h ?\C-?) -@end lisp - -@noindent -This is the recommended method of forcing @key{Backspace} to act as -@key{DEL}, because it works even in modes which bind @key{DEL} to -something other than @code{delete-backward-char}. - -Similarly, you could remap @key{DEL} to act as @kbd{C-d}, which by -default deletes forward: - -@lisp -(keyboard-translate ?\C-? ?\C-d) -@end lisp - -@xref{Swapping keys}, for further details about @code{keyboard-translate}. - -@item -Another approach is to switch key bindings and put help on @kbd{C-x h} -instead: - -@lisp -(global-set-key "\C-h" 'delete-backward-char) - -;; overrides mark-whole-buffer -(global-set-key "\C-xh" 'help-command) -@end lisp - -@noindent -This method is not recommended, though: it only solves the problem for -those modes which bind @key{DEL} to @code{delete-backward-char}. Modes -which bind @key{DEL} to something else, such as @code{view-mode}, will -not work as you expect when you press the @key{Backspace} key. For this -reason, we recommend the @code{keyboard-translate} method, shown -above. - -Other popular key bindings for help are @kbd{M-?} and @kbd{C-x ?}. -@end itemize - -Don't try to bind @key{DEL} to @code{help-command}, because there are -many modes that have local bindings of @key{DEL} that will interfere. - -@end itemize - -When Emacs 21 or later runs on a windowed display, it binds the -@key{Delete} key to a command which deletes the character at point, to -make Emacs more consistent with keyboard operation on these systems. - -For more information about troubleshooting this problem, see @ref{DEL -Does Not Delete, , If @key{DEL} Fails to Delete, emacs, The GNU Emacs -Manual}. - -@node Swapping keys -@section How do I swap two keys? -@cindex Swapping keys -@cindex Keys, swapping -@cindex @code{keyboard-translate} - -You can swap two keys (or key sequences) by using the -@code{keyboard-translate} function. For example, to turn @kbd{C-h} -into @key{DEL} and @key{DEL} to @kbd{C-h}, use - -@lisp -(keyboard-translate ?\C-h ?\C-?) ; translate `C-h' to DEL -(keyboard-translate ?\C-? ?\C-h) ; translate DEL to `C-h'. -@end lisp - -@noindent -The first key sequence of the pair after the function identifies what is -produced by the keyboard; the second, what is matched for in the -keymaps. - -However, in the specific case of @kbd{C-h} and @key{DEL}, you should -toggle @code{normal-erase-is-backspace-mode} instead of calling -@code{keyboard-translate}. -@xref{DEL Does Not Delete,,, emacs, The GNU Emacs Manual}. - -Keyboard translations are not the same as key bindings in keymaps. -Emacs contains numerous keymaps that apply in different situations, but -there is only one set of keyboard translations, and it applies to every -character that Emacs reads from the terminal. Keyboard translations -take place at the lowest level of input processing; the keys that are -looked up in keymaps contain the characters that result from keyboard -translation. - -@node Producing C-XXX with the keyboard -@section How do I produce C-XXX with my keyboard? -@cindex Producing control characters -@cindex Generating control characters -@cindex Control characters, generating - -On terminals (but not under X), some common ``aliases'' are: - -@table @asis - -@item @kbd{C-2} or @kbd{C-@key{SPC}} -@kbd{C-@@} - -@item @kbd{C-6} -@kbd{C-^} - -@item @kbd{C-7} or @kbd{C-S--} -@kbd{C-_} - -@item @kbd{C-4} -@kbd{C-\} - -@item @kbd{C-5} -@kbd{C-]} - -@item @kbd{C-/} -@kbd{C-?} - -@end table - -Often other aliases exist; use the @kbd{C-h c} command and try -@key{CTRL} with all of the digits on your keyboard to see what gets -generated. You can also try the @kbd{C-h w} command if you know the -name of the command. - -@node No Meta key -@section What if I don't have a @key{Meta} key? -@cindex No @key{Meta} key -@cindex @key{Meta} key, what to do if you lack it - -On many keyboards, the @key{Alt} key acts as @key{Meta}, so try it. - -Instead of typing @kbd{M-a}, you can type @kbd{@key{ESC} a}. In fact, -Emacs converts @kbd{M-a} internally into @kbd{@key{ESC} a} anyway -(depending on the value of @code{meta-prefix-char}). Note that you -press @key{Meta} and @key{a} together, but with @key{ESC}, you press -@key{ESC}, release it, and then press @key{a}. - -@node No Escape key -@section What if I don't have an @key{Escape} key? -@cindex No Escape key -@cindex Lacking an Escape key -@cindex Escape key, lacking - -Type @kbd{C-[} instead. This should send @acronym{ASCII} code 27 just like an -Escape key would. @kbd{C-3} may also work on some terminal (but not -under X). For many terminals (notably DEC terminals) @key{F11} -generates @key{ESC}. If not, the following form can be used to bind it: - -@lisp -;; F11 is the documented ESC replacement on DEC terminals. -(define-key function-key-map [f11] [?\e]) -@end lisp - -@node Compose Character -@section Can I make my @key{Compose Character} key behave like a @key{Meta} key? -@cindex @key{Compose Character} key, using as @key{Meta} -@cindex @key{Meta}, using @key{Compose Character} for - -On a dumb terminal such as a VT220, no. It is rumored that certain -VT220 clones could have their @key{Compose} key configured this way. If -you're using X, you might be able to do this with the @code{xmodmap} -command. - -@node Binding combinations of modifiers and function keys -@section How do I bind a combination of modifier key and function key? -@cindex Modifiers and function keys -@cindex Function keys and modifiers -@cindex Binding modifiers and function keys - -You can represent modified function keys in vector format by adding -prefixes to the function key symbol. For example (from the Emacs -documentation): - -@lisp -(global-set-key [?\C-x right] 'forward-page) -@end lisp - -@noindent -where @samp{?\C-x} is the Lisp character constant for the character @kbd{C-x}. - -You can use the modifier keys @key{Control}, @key{Meta}, @key{Hyper}, -@key{Super}, @key{Alt}, and @key{Shift} with function keys. To -represent these modifiers, prepend the strings @samp{C-}, @samp{M-}, -@samp{H-}, @samp{s-}, @samp{A-}, and @samp{S-} to the symbol name. Here -is how to make @kbd{H-M-RIGHT} move forward a word: - -@lisp -(global-set-key [H-M-right] 'forward-word) -@end lisp - -@itemize @bullet - -@item -Not all modifiers are permitted in all situations. @key{Hyper}, -@key{Super}, and @key{Alt} are not available on Unix character -terminals. Non-@acronym{ASCII} keys and mouse events (e.g., @kbd{C-=} and -@kbd{Mouse-1}) also fall under this category. - -@end itemize - -@xref{Binding keys to commands}, for general key binding instructions. - -@node Meta key does not work in xterm -@section Why doesn't my @key{Meta} key work in an @code{xterm} window? -@cindex @key{Meta} key and @code{xterm} -@cindex Xterm and @key{Meta} key - -@xref{Unibyte Mode,, Single-Byte Character Set Support, emacs, The GNU Emacs Manual}. - -If the advice in the Emacs manual fails, try all of these methods before -asking for further help: - -@itemize @bullet - -@item -You may have big problems using @code{mwm} as your window manager. -(Does anyone know a good generic solution to allow the use of the -@key{Meta} key in Emacs with @file{mwm}?) - -@item -For X11: Make sure it really is a @key{Meta} key. Use @code{xev} to -find out what keysym your @key{Meta} key generates. It should be either -@code{Meta_L} or @code{Meta_R}. If it isn't, use @file{xmodmap} to fix -the situation. If @key{Meta} does generate @code{Meta_L} or -@code{Meta_R}, but @kbd{M-x} produces a non-@acronym{ASCII} character, put this in -your @file{~/.Xdefaults} file: - -@example - XTerm*eightBitInput: false - XTerm*eightBitOutput: true -@end example - -@item -Make sure the @code{pty} the @code{xterm} is using is passing 8 bit -characters. @samp{stty -a} (or @samp{stty everything}) should show -@samp{cs8} somewhere. If it shows @samp{cs7} instead, use @samp{stty -cs8 -istrip} (or @samp{stty pass8}) to fix it. - -@item -If there is an @code{rlogin} connection between @code{xterm} and Emacs, the -@samp{-8} argument may need to be given to rlogin to make it pass all 8 bits -of every character. - -@item -If Emacs is running on Ultrix, it is reported that evaluating -@code{(set-input-mode t nil)} helps. - -@item -If all else fails, you can make @code{xterm} generate @kbd{@key{ESC} W} when -you type @kbd{M-W}, which is the same conversion Emacs would make if it -got the @kbd{M-W} anyway. In X11R4, the following resource -specification will do this: - -@example -XTerm.VT100.EightBitInput: false -@end example - -@noindent -(This changes the behavior of the @code{insert-eight-bit} action.) - -With older @code{xterm}s, you can specify this behavior with a translation: - -@example -XTerm.VT100.Translations: #override \ - Meta: string(0x1b) insert() -@end example - -@noindent -You might have to replace @samp{Meta} with @samp{Alt}. - -@end itemize - -@node ExtendChar key does not work as Meta -@section Why doesn't my @key{ExtendChar} key work as a @key{Meta} key under HP-UX 8.0 and 9.x? -@cindex @key{ExtendChar} key as @key{Meta} -@cindex @key{Meta}, using @key{ExtendChar} for -@cindex HP-UX, the @key{ExtendChar} key - -This is a result of an internationalization extension in X11R4 and the -fact that HP is now using this extension. Emacs assumes that the -@code{XLookupString} function returns the same result regardless of the -@key{Meta} key state which is no longer necessarily true. Until Emacs -is fixed, the temporary kludge is to run this command after each time -the X server is started but preferably before any xterm clients are: - -@example -xmodmap -e 'remove mod1 = Mode_switch' -@end example - -@c FIXME: Emacs 21 supports I18N in X11; does that mean that this bug is -@c solved? - -This will disable the use of the extra keysyms systemwide, which may be -undesirable if you actually intend to use them. - -@node SPC no longer completes file names -@section Why doesn't SPC complete file names anymore? -@cindex @kbd{SPC} file name completion - -Starting with Emacs 22.1, @kbd{SPC} no longer completes file names in -the minibuffer, so that file names with embedded spaces could be typed -without the need to quote the spaces. - -You can get the old behavior by binding @kbd{SPC} to -@code{minibuffer-complete-word} in the minibuffer, as follows: - -@lisp -(define-key minibuffer-local-filename-completion-map (kbd "SPC") - 'minibuffer-complete-word) - -(define-key minibuffer-local-must-match-filename-map (kbd "SPC") - 'minibuffer-complete-word) -@end lisp - -@c ------------------------------------------------------------ -@node Alternate character sets -@chapter Alternate character sets -@cindex Alternate character sets - -@menu -* Emacs does not display 8-bit characters:: -* Inputting eight-bit characters:: -* Right-to-left alphabets:: -* How to add fonts:: -@end menu - -@node Emacs does not display 8-bit characters -@section How do I make Emacs display 8-bit characters? -@cindex Displaying eight-bit characters -@cindex Eight-bit characters, displaying - -@xref{Unibyte Mode,, Single-byte Character Set Support, emacs, The GNU -Emacs Manual}. On a Unix, when Emacs runs on a text-only terminal -display or is invoked with @samp{emacs -nw}, you typically need to use -@code{set-terminal-coding-system} to tell Emacs what the terminal can -display, even after setting the language environment; otherwise -non-@acronym{ASCII} characters will display as @samp{?}. On other operating -systems, such as MS-DOS and MS-Windows, Emacs queries the OS about the -character set supported by the display, and sets up the required -terminal coding system automatically. - -@node Inputting eight-bit characters -@section How do I input eight-bit characters? -@cindex Entering eight-bit characters -@cindex Eight-bit characters, entering -@cindex Input, 8-bit characters - -Various methods are available for input of eight-bit characters. -@xref{Unibyte Mode,, Single-byte Character Set Support, emacs, The GNU -Emacs Manual}. For more sophisticated methods, -@pxref{Input Methods,,, emacs, The GNU Emacs Manual}. - -@node Right-to-left alphabets -@section Where is an Emacs that can handle Semitic (right-to-left) alphabets? -@cindex Right-to-left alphabets -@cindex Hebrew, handling with Emacs -@cindex Semitic alphabets -@cindex Arabic -@cindex Farsi -@cindex bidirectional scripts - -Emacs supports display and editing of bidirectional scripts, such as -Arabic, Farsi, and Hebrew, since version 24.1. -@xref{New in Emacs 24, bidirectional display}. - - -@node How to add fonts -@section How do I add fonts for use with Emacs? -@cindex add fonts for use with Emacs -@cindex intlfonts - -First, download and install the BDF font files and any auxiliary -packages they need. The GNU Intlfonts distribution can be found on -@uref{http://directory.fsf.org/localization/intlfonts.html, the GNU -Software Directory Web site}. - -Next, if you are on X Window system, issue the following two commands -from the shell's prompt: - -@example - xset +fp /usr/local/share/emacs/fonts - xset fp rehash -@end example - -@noindent -(Modify the first command if you installed the fonts in a directory -that is not @file{/usr/local/share/emacs/fonts}.) You also need to -arrange for these two commands to run whenever you log in, e.g., by -adding them to your window-system startup file, such as -@file{~/.xsessionrc} or @file{~/.gnomerc}. - -Now, add the following line to your @file{~/.emacs} init file: - -@lisp - (add-to-list 'bdf-directory-list "/usr/share/emacs/fonts/bdf") -@end lisp - -@noindent -(Again, modify the file name if you installed the fonts elsewhere.) - -Finally, if you wish to use the installed fonts with @code{ps-print}, -add the following line to your @file{~/.emacs}: - -@lisp - (setq ps-multibyte-buffer 'bdf-font-except-latin) -@end lisp - -A few additional steps are necessary for MS-Windows; they are listed -below. - -First, make sure @emph{all} the directories with BDF font files are -mentioned in @code{bdf-directory-list}. On Unix and GNU/Linux -systems, one normally runs @kbd{make install} to install the BDF fonts -in the same directory. By contrast, Windows users typically don't run -the Intlfonts installation command, but unpack the distribution in -some directory, which leaves the BDF fonts in its subdirectories. For -example, assume that you unpacked Intlfonts in @file{C:/Intlfonts}; -then you should set @code{bdf-directory-list} as follows: - -@lisp - (setq bdf-directory-list - '("C:/Intlfonts/Asian" - "C:/Intlfonts/Chinese" "C:/Intlfonts/Chinese.X" - "C:/Intlfonts/Chinese.BIG" "C:/Intlfonts/Ethiopic" - "C:/Intlfonts/European" "C:/Intlfonts/European.BIG" - "C:/Intlfonts/Japanese" "C:/Intlfonts/Japanese.X" - "C:/Intlfonts/Japanese.BIG" "C:/Intlfonts/Korean.X" - "C:/Intlfonts/Misc")) -@end lisp - -@cindex @code{w32-bdf-filename-alist} -@cindex @code{w32-find-bdf-fonts} -Next, you need to set up the variable @code{w32-bdf-filename-alist} to -an alist of the BDF fonts and their corresponding file names. -Assuming you have set @code{bdf-directory-list} to name all the -directories with the BDF font files, the following Lisp snippet will -set up @code{w32-bdf-filename-alist}: - -@lisp - (setq w32-bdf-filename-alist - (w32-find-bdf-fonts bdf-directory-list)) -@end lisp - -Now, create fontsets for the BDF fonts: - -@smallexample - (create-fontset-from-fontset-spec - "-*-fixed-medium-r-normal-*-16-*-*-*-c-*-fontset-bdf, - japanese-jisx0208:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1983-*, - katakana-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*, - latin-jisx0201:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0201*-*, - japanese-jisx0208-1978:-*-*-medium-r-normal-*-16-*-*-*-c-*-jisx0208.1978-*, - thai-tis620:-misc-fixed-medium-r-normal--16-160-72-72-m-80-tis620.2529-1, - lao:-misc-fixed-medium-r-normal--16-160-72-72-m-80-MuleLao-1, - tibetan-1-column:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-80-MuleTibetan-1, - ethiopic:-Admas-Ethiomx16f-Medium-R-Normal--16-150-100-100-M-160-Ethiopic-Unicode, - tibetan:-TibMdXA-fixed-medium-r-normal--16-160-72-72-m-160-MuleTibetan-0") -@end smallexample - -Many of the international bdf fonts from Intlfonts are type 0, and -therefore need to be added to font-encoding-alist: - -@lisp - (setq font-encoding-alist - (append '(("MuleTibetan-0" (tibetan . 0)) - ("GB2312" (chinese-gb2312 . 0)) - ("JISX0208" (japanese-jisx0208 . 0)) - ("JISX0212" (japanese-jisx0212 . 0)) - ("VISCII" (vietnamese-viscii-lower . 0)) - ("KSC5601" (korean-ksc5601 . 0)) - ("MuleArabic-0" (arabic-digit . 0)) - ("MuleArabic-1" (arabic-1-column . 0)) - ("MuleArabic-2" (arabic-2-column . 0))) - font-encoding-alist)) -@end lisp - -You can now use the Emacs font menu to select the @samp{bdf: 16-dot medium} -fontset, or you can select it by setting the default font in your -@file{~/.emacs}: - -@lisp - (set-default-font "fontset-bdf") -@end lisp - - -@c ------------------------------------------------------------ -@node Mail and news -@chapter Mail and news -@cindex Mail and news - -@menu -* Changing the included text prefix:: -* Saving a copy of outgoing mail:: -* Expanding aliases when sending mail:: -* Sorting the messages in an Rmail folder:: -* Rmail writes to /var/spool/mail:: -* Replying to the sender of a message:: -* Automatically starting a mail or news reader:: -* Reading news with Emacs:: -* Gnus does not work with NNTP:: -* Making Gnus faster:: -* Catching up in all newsgroups:: -@end menu - -@node Changing the included text prefix -@section How do I change the included text prefix in mail/news followups? -@cindex Prefix in mail/news followups, changing -@cindex Included text prefix, changing -@cindex Setting the included text character -@cindex Quoting in mail messages - -If you read mail with Rmail, set the variable @code{mail-yank-prefix}. -For Gnus, set @code{message-yank-prefix}. For VM, set -@code{vm-included-text-prefix}. For mh-e, set @code{mh-ins-buf-prefix}. - -For fancier control of citations, use Supercite (@pxref{Top,, the Supercite -Manual, sc, The Supercite Manual}). - -To prevent Emacs from including various headers of the replied-to -message, set the value of @code{mail-yank-ignored-headers} to an -appropriate regexp. - -@node Saving a copy of outgoing mail -@section How do I save a copy of outgoing mail? -@cindex Saving a copy of outgoing mail -@cindex Copying outgoing mail to a file -@cindex Filing outgoing mail -@cindex Automatic filing of outgoing mail -@cindex Mail, saving outgoing automatically - -You can either mail yourself a copy by including a @samp{BCC} header in the -mail message, or store a copy of the message directly to a file by -including an @samp{FCC} header. - -If you use standard mail, you can automatically create a @samp{BCC} to -yourself by putting - -@lisp -(setq mail-self-blind t) -@end lisp - -@noindent -in your @file{.emacs} file. You can automatically include an @samp{FCC} -field by putting something like the following in your @file{.emacs} -file: - -@lisp -(setq mail-archive-file-name (expand-file-name "~/outgoing")) -@end lisp - -The output file will be in Unix mail format. - -If you use @code{mh-e}, add an @samp{FCC} or @samp{BCC} field to your -components file. - -It does not work to put @samp{set record filename} in the @file{.mailrc} -file. - -@node Expanding aliases when sending mail -@section Why doesn't Emacs expand my aliases when sending mail? -@cindex Expanding aliases when sending mail -@cindex Mail alias expansion -@cindex Sending mail with aliases - -@xref{Mail Aliases,, The Emacs Manual, emacs, The Emacs Manual}. - -@itemize @bullet - -@item -Normally, Emacs expands aliases when you send the message. -To expand them before this, use @kbd{M-x expand-mail-aliases}. - -@item -Emacs normally only reads the @file{.mailrc} file once per session, when -you start to compose your first mail message. If you edit the file -after this, you can use @kbd{M-x build-mail-aliases} to make Emacs -reread it. Prior to Emacs 24.1, this is not an interactive command, so -you must instead type @kbd{M-: (build-mail-aliases) @key{RET}}. - -@item -If you like, you can expand mail aliases as abbrevs, as soon as you -type them in. To enable this feature, execute the following: - -@lisp -(add-hook 'mail-mode-hook 'mail-abbrevs-setup) -@end lisp - -Note that the aliases are expanded automatically only after you type -a word-separator character (e.g., @key{RET} or @kbd{,}). You can force their -expansion by moving point to the end of the alias and typing @kbd{C-x a e} -(@kbd{M-x expand-abbrev}). -@end itemize - -@node Sorting the messages in an Rmail folder -@section How can I sort the messages in my Rmail folder? -@cindex Rmail, sorting messages in -@cindex Folder, sorting messages in an Rmail -@cindex Sorting messages in an Rmail folder - -In Rmail, type @kbd{C-c C-s C-h} to get a list of sorting functions -and their key bindings. - -@node Rmail writes to /var/spool/mail -@section Why does Rmail need to write to @file{/var/spool/mail}? -@cindex Rmail and @file{/var/spool/mail} -@cindex @file{/var/spool/mail} and Rmail - -This is the behavior of the @code{movemail} program which Rmail uses. -This indicates that @code{movemail} is configured to use lock files. - -RMS writes: - -@quotation -Certain systems require lock files to interlock access to mail files. -On these systems, @code{movemail} must write lock files, or you risk losing -mail. You simply must arrange to let @code{movemail} write them. - -Other systems use the @code{flock} system call to interlock access. On -these systems, you should configure @code{movemail} to use @code{flock}. -@end quotation - -@node Replying to the sender of a message -@section How can I force Rmail to reply to the sender of a message, but not the other recipients? -@cindex Replying only to the sender of a message -@cindex Sender, replying only to -@cindex Rmail, replying to the sender of a message in - -@c isaacson@@seas.upenn.edu -Ron Isaacson says: When you hit -@key{r} to reply in Rmail, by default it CCs all of the original -recipients (everyone on the original @samp{To} and @samp{CC} -lists). With a prefix argument (i.e., typing @kbd{C-u} before @key{r}), -it replies only to the sender. However, going through the whole -@kbd{C-u} business every time you want to reply is a pain. This is the -best fix I've been able to come up with: - -@lisp -(defun rmail-reply-t () - "Reply only to the sender of the current message. (See rmail-reply.)" - (interactive) - (rmail-reply t)) - -(add-hook 'rmail-mode-hook - (lambda () - (define-key rmail-mode-map "r" 'rmail-reply-t) - (define-key rmail-mode-map "R" 'rmail-reply))) -@end lisp - -@node Automatically starting a mail or news reader -@section How do I make Emacs automatically start my mail/news reader? -@cindex Mail reader, starting automatically -@cindex News reader, starting automatically -@cindex Starting mail/news reader automatically - -To start Emacs in Gnus: - -@example -emacs -f gnus -@end example - -@noindent -in Rmail: - -@example -emacs -f rmail -@end example - -A more convenient way to start with Gnus: - -@example -alias gnus 'emacs -f gnus' -gnus -@end example - -It is probably unwise to automatically start your mail or news reader -from your @file{.emacs} file. This would cause problems if you needed to run -two copies of Emacs at the same time. Also, this would make it difficult for -you to start Emacs quickly when you needed to. - -@node Reading news with Emacs -@section How do I read news under Emacs? -@cindex Reading news under Emacs -@cindex Usenet reader in Emacs -@cindex Gnus newsreader -@cindex FAQ for Gnus -@cindex Gnus FAQ -@cindex Learning more about Gnus - -Use @kbd{M-x gnus}. For more information on Gnus, @pxref{Top,, the Gnus -Manual, gnus, The Gnus Manual}, which includes @ref{Frequently Asked -Questions,, the Gnus FAQ, gnus, The Gnus Manual}. - - -@node Gnus does not work with NNTP -@section Why doesn't Gnus work via NNTP? -@cindex Gnus and NNTP -@cindex NNTP, Gnus fails to work with - -There is a bug in NNTP version 1.5.10, such that when multiple requests -are sent to the NNTP server, the server only handles the first one -before blocking waiting for more input which never comes. NNTP version -1.5.11 claims to fix this. - -You can work around the bug inside Emacs like this: - -@lisp -(setq nntp-maximum-request 1) -@end lisp - -You can find out what version of NNTP your news server is running by -telnetting to the NNTP port (usually 119) on the news server machine -(i.e., @kbd{telnet server-machine 119}). The server should give its -version number in the welcome message. Type @kbd{quit} to get out. - -@node Making Gnus faster -@section How do I make Gnus faster? -@cindex Faster, starting Gnus -@cindex Starting Gnus faster -@cindex Gnus, starting faster -@cindex Slow catch up in Gnus -@cindex Gnus is slow when catching up -@cindex Crosspostings make Gnus catching up slow - -From the Gnus FAQ (@pxref{Reading news with Emacs}): - -@quotation -If you have a slow machine, or are just really impatient, there are a -few things you can do to make Gnus run faster. - -Set @code{gnus-check-new-newsgroups} and -@code{gnus-check-bogus-newsgroups} to @code{nil} to make startup faster. - -Set @code{gnus-show-threads}, @code{gnus-use-cross-reference} and -@code{gnus-nov-is-evil} to @code{nil} to make entering and exiting the -summary buffer faster. -@end quotation - -@node Catching up in all newsgroups -@section How do I catch up all newsgroups in Gnus? -@cindex Catching up all newsgroups in Gnus -@cindex Gnus, Catching up all newsgroups in - -In the @file{*Newsgroup*} buffer, type @kbd{M-< C-x ( c y C-x ) M-0 C-x e} - -Leave off the initial @kbd{M-<} if you only want to catch up from point -to the end of the @file{*Newsgroup*} buffer. - -@node Concept index -@unnumbered Concept Index -@printindex cp - -@bye -- cgit v1.2.1 From 63e984f8fd60ea26f438b9d5107173876a452324 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 27 Aug 2013 15:40:24 -0400 Subject: Update location of Emacs on MS Windows FAQ --- doc/misc/ChangeLog | 2 ++ doc/misc/efaq.texi | 5 +++-- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index ca620a15b4f..13851514c15 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,5 +1,7 @@ 2013-08-27 Glenn Morris + * efaq.texi (Emacs for MS-Windows): Update location of MS FAQ. + * efaq.texi: Rename from faq.texi, to match its output files. * Makefile.in: Update for faq.texi name change. diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index 1354f68cc9f..54e067d65bd 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi @@ -3452,8 +3452,9 @@ lack certain features, such as the Emacs Lisp extension language. @cindex Emacs for MS-Windows @cindex Microsoft Windows, Emacs for -There is a @uref{http://www.gnu.org/software/emacs/windows/ntemacs.html, -separate FAQ} for Emacs on MS-Windows. For MS-DOS, @pxref{Emacs for MS-DOS}. +There is a separate FAQ for Emacs on MS-Windows, +@pxref{Top,,,efaq-w32,FAQ for Emacs on MS Windows}. +For MS-DOS, @pxref{Emacs for MS-DOS}. @node Emacs for GNUstep -- cgit v1.2.1 From 0acfedd3496a4a375c27215d13bf63466fdb1071 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 27 Aug 2013 21:37:13 -0400 Subject: Try to reduce redundancy in doc/misc/Makefile.in. * configure.ac (DOCMISC_W32): New var to replace DOCMISC_*_W32. * doc/misc/Makefile.in (DOCMISC_W32): New var to replace DOCMISC_*_W32. (TARGETS): New intermediate variable. (DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS): Use it. --- doc/misc/ChangeLog | 7 ++ doc/misc/Makefile.in | 246 +++------------------------------------------------ 2 files changed, 17 insertions(+), 236 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 13851514c15..c08de7e4a59 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,10 @@ +2013-08-28 Stefan Monnier + + Try to reduce redundancy in doc/misc/Makefile.in. + * Makefile.in (DOCMISC_W32): New var to replace DOCMISC_*_W32. + (TARGETS): New intermediate variable. + (DVI_TARGETS, HTML_TARGETS, PDF_TARGETS, PS_TARGETS): Use it. + 2013-08-27 Glenn Morris * efaq.texi (Emacs for MS-Windows): Update location of MS FAQ. diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index 0ae1edf7069..0c2b48aa67e 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in @@ -60,11 +60,7 @@ MAKEINFO = @MAKEINFO@ MAKEINFO_OPTS = --force -I$(emacsdir) ## On MS Windows, efaq-w32; otherwise blank. -DOCMISC_DVI_W32 = @DOCMISC_DVI_W32@ -DOCMISC_HTML_W32 = @DOCMISC_HTML_W32@ -DOCMISC_INFO_W32 = @DOCMISC_INFO_W32@ -DOCMISC_PDF_W32 = @DOCMISC_PDF_W32@ -DOCMISC_PS_W32 = @DOCMISC_PS_W32@ +DOCMISC_W32 = @DOCMISC_W32@ ## Info files to build and install on all platforms. INFO_COMMON = ada-mode auth autotype bovine calc ccmode cl \ @@ -84,237 +80,15 @@ INFO_INSTALL = $(INFO_COMMON) $(DOCMISC_INFO_W32) ## because the info files are pre-built in release tarfiles. INFO_TARGETS = $(INFO_COMMON) efaq-w32 -DVI_TARGETS = $(DOCMISC_DVI_W32) \ - ada-mode.dvi \ - auth.dvi \ - autotype.dvi \ - bovine.dvi \ - calc.dvi \ - cc-mode.dvi \ - cl.dvi \ - dbus.dvi \ - dired-x.dvi \ - ebrowse.dvi \ - ede.dvi \ - ediff.dvi \ - edt.dvi \ - efaq.dvi \ - eieio.dvi \ - emacs-mime.dvi \ - epa.dvi \ - erc.dvi \ - ert.dvi \ - eshell.dvi \ - eudc.dvi \ - flymake.dvi \ - forms.dvi \ - gnus.dvi \ - emacs-gnutls.dvi \ - htmlfontify.dvi \ - idlwave.dvi \ - ido.dvi \ - info.dvi \ - mairix-el.dvi \ - message.dvi \ - mh-e.dvi \ - newsticker.dvi \ - nxml-mode.dvi \ - org.dvi \ - pcl-cvs.dvi \ - pgg.dvi \ - rcirc.dvi \ - reftex.dvi \ - remember.dvi \ - sasl.dvi \ - sc.dvi \ - semantic.dvi \ - ses.dvi \ - sieve.dvi \ - smtpmail.dvi \ - speedbar.dvi \ - srecode.dvi \ - todo-mode.dvi \ - tramp.dvi \ - url.dvi \ - vip.dvi \ - viper.dvi \ - widget.dvi \ - wisent.dvi \ - woman.dvi - -HTML_TARGETS = $(DOCMISC_HTML_W32) \ - 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 \ - efaq.html \ - eieio.html \ - emacs-mime.html \ - epa.html \ - erc.html \ - ert.html \ - eshell.html \ - eudc.html \ - flymake.html \ - forms.html \ - gnus.html \ - emacs-gnutls.html \ - htmlfontify.html \ - idlwave.html \ - ido.html \ - info.html \ - mairix-el.html \ - message.html \ - mh-e.html \ - newsticker.html \ - nxml-mode.html \ - org.html \ - pcl-cvs.html \ - pgg.html \ - rcirc.html \ - reftex.html \ - remember.html \ - sasl.html \ - sc.html \ - semantic.html \ - ses.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 - -PDF_TARGETS = $(DOCMISC_PDF_W32) \ - ada-mode.pdf \ - auth.pdf \ - autotype.pdf \ - bovine.pdf \ - calc.pdf \ - cc-mode.pdf \ - cl.pdf \ - dbus.pdf \ - dired-x.pdf \ - ebrowse.pdf \ - ede.pdf \ - ediff.pdf \ - edt.pdf \ - efaq.pdf \ - eieio.pdf \ - emacs-mime.pdf \ - epa.pdf \ - erc.pdf \ - ert.pdf \ - eshell.pdf \ - eudc.pdf \ - flymake.pdf \ - forms.pdf \ - gnus.pdf \ - htmlfontify.pdf \ - emacs-gnutls.pdf \ - idlwave.pdf \ - ido.pdf \ - info.pdf \ - mairix-el.pdf \ - message.pdf \ - mh-e.pdf \ - newsticker.pdf \ - nxml-mode.pdf \ - org.pdf \ - pcl-cvs.pdf \ - pgg.pdf \ - rcirc.pdf \ - reftex.pdf \ - remember.pdf \ - sasl.pdf \ - sc.pdf \ - semantic.pdf \ - ses.pdf \ - sieve.pdf \ - smtpmail.pdf \ - speedbar.pdf \ - srecode.pdf \ - todo-mode.pdf \ - tramp.pdf \ - url.pdf \ - vip.pdf \ - viper.pdf \ - widget.pdf \ - wisent.pdf \ - woman.pdf - -PS_TARGETS = $(DOCMISC_PS_W32) \ - ada-mode.ps \ - auth.ps \ - autotype.ps \ - bovine.ps \ - calc.ps \ - cc-mode.ps \ - cl.ps \ - dbus.ps \ - dired-x.ps \ - ebrowse.ps \ - ede.ps \ - ediff.ps \ - edt.ps \ - efaq.ps \ - eieio.ps \ - emacs-mime.ps \ - epa.ps \ - erc.ps \ - ert.ps \ - eshell.ps \ - eudc.ps \ - flymake.ps \ - forms.ps \ - gnus.ps \ - htmlfontify.ps \ - emacs-gnutls.ps \ - idlwave.ps \ - ido.ps \ - info.ps \ - mairix-el.ps \ - message.ps \ - mh-e.ps \ - newsticker.ps \ - nxml-mode.ps \ - org.ps \ - pcl-cvs.ps \ - pgg.ps \ - rcirc.ps \ - reftex.ps \ - remember.ps \ - sasl.ps \ - sc.ps \ - semantic.ps \ - ses.ps \ - sieve.ps \ - smtpmail.ps \ - speedbar.ps \ - srecode.ps \ - todo-mode.ps \ - tramp.ps \ - url.ps \ - vip.ps \ - viper.ps \ - widget.ps \ - wisent.ps \ - woman.ps +# There are some naming differences between the info targets and the other +# targets, so let's resolve them here. +TARGETS_1 = $(INFO_INSTALL:ccmode=cc-mode) +TARGETS = $(TARGETS_1:info.info=info) + +DVI_TARGETS = $(TARGETS:=.dvi) +HTML_TARGETS = $(TARGETS:=.html) +PDF_TARGETS = $(TARGETS:=.pdf) +PS_TARGETS = $(TARGETS:=.ps) TEXI2DVI = texi2dvi TEXI2PDF = texi2pdf -- cgit v1.2.1 From 50b13cdedb19f4bdd6737e8d2cdb4daa4e886c92 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Tue, 27 Aug 2013 23:01:52 -0700 Subject: * Makefile.in (SHELL): Now @SHELL@, not /bin/sh, for portability to hosts where /bin/sh has problems. --- doc/emacs/ChangeLog | 5 +++++ doc/emacs/Makefile.in | 2 +- doc/lispintro/ChangeLog | 5 +++++ doc/lispintro/Makefile.in | 2 +- doc/lispref/ChangeLog | 5 +++++ doc/lispref/Makefile.in | 2 +- doc/misc/ChangeLog | 5 +++++ doc/misc/Makefile.in | 2 +- 8 files changed, 24 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index f94db60f25f..2dd245a92ba 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,8 @@ +2013-08-28 Paul Eggert + + * Makefile.in (SHELL): Now @SHELL@, not /bin/sh, + for portability to hosts where /bin/sh has problems. + 2013-08-17 Xue Fuqiao * text.texi (Enriched Justification): Minor fixes. diff --git a/doc/emacs/Makefile.in b/doc/emacs/Makefile.in index 7aeead4e2f6..bf9f8152ad4 100644 --- a/doc/emacs/Makefile.in +++ b/doc/emacs/Makefile.in @@ -17,7 +17,7 @@ # You should have received a copy of the GNU General Public License # along with GNU Emacs. If not, see . -SHELL = /bin/sh +SHELL = @SHELL@ # NB If you add any more configure variables, # update the sed rules in the dist target below. diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index db02a257a3a..a47183f4d27 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -1,3 +1,8 @@ +2013-08-28 Paul Eggert + + * Makefile.in (SHELL): Now @SHELL@, not /bin/sh, + for portability to hosts where /bin/sh has problems. + 2013-08-12 Glenn Morris * emacs-lisp-intro.texi (Complete copy-region-as-kill): Fix typo. diff --git a/doc/lispintro/Makefile.in b/doc/lispintro/Makefile.in index ad1b978f255..363e12215b3 100644 --- a/doc/lispintro/Makefile.in +++ b/doc/lispintro/Makefile.in @@ -17,7 +17,7 @@ # You should have received a copy of the GNU General Public License # along with GNU Emacs. If not, see . -SHELL = /bin/sh +SHELL = @SHELL@ # NB If you add any more configure variables, # update the sed rules in the dist target below. diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index d27f58c0efa..8b5aa65ff96 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-08-28 Paul Eggert + + * Makefile.in (SHELL): Now @SHELL@, not /bin/sh, + for portability to hosts where /bin/sh has problems. + 2013-08-26 Stefan Monnier * variables.texi (File Local Variables): Don't recommend quoting! Ever! diff --git a/doc/lispref/Makefile.in b/doc/lispref/Makefile.in index c7aa5ac1a28..164646ac433 100644 --- a/doc/lispref/Makefile.in +++ b/doc/lispref/Makefile.in @@ -17,7 +17,7 @@ # You should have received a copy of the GNU General Public License # along with GNU Emacs. If not, see . -SHELL = /bin/sh +SHELL = @SHELL@ # NB If you add any more configure variables, # update the sed rules in the dist target below. diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index c08de7e4a59..22148deace0 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,8 @@ +2013-08-28 Paul Eggert + + * Makefile.in (SHELL): Now @SHELL@, not /bin/sh, + for portability to hosts where /bin/sh has problems. + 2013-08-28 Stefan Monnier Try to reduce redundancy in doc/misc/Makefile.in. diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index 0c2b48aa67e..30fc4953172 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in @@ -17,7 +17,7 @@ # You should have received a copy of the GNU General Public License # along with GNU Emacs. If not, see . -SHELL = /bin/sh +SHELL = @SHELL@ # Where to find the source code. $(srcdir) will be the man-aux # subdirectory of the source tree. This is -- cgit v1.2.1 From 5d85cfe6f7c80faeb1259fe8bed95885cd4450ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ulrich=20M=C3=BCller?= Date: Sat, 31 Aug 2013 12:49:52 -0700 Subject: * doc/emacs/xresources.texi (Motif Resources): Rename from LessTif Resources. Update xrefs. * doc/emacs/emacs.texi: Update menu. * doc/man/emacs.1: Update manual links. Fixes: debbugs:15145 --- doc/emacs/ChangeLog | 6 ++++++ doc/emacs/emacs.texi | 2 +- doc/emacs/xresources.texi | 20 ++++++++++---------- doc/man/ChangeLog | 4 ++++ doc/man/emacs.1 | 4 ++-- 5 files changed, 23 insertions(+), 13 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 2dd245a92ba..e4ab9a1e466 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,9 @@ +2013-08-31 Ulrich Müller + + * xresources.texi (Motif Resources): + Rename from LessTif Resources. Update xrefs. (Bug#15145) + * emacs.texi: Update menu. + 2013-08-28 Paul Eggert * Makefile.in (SHELL): Now @SHELL@, not /bin/sh, diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 8a518b82abb..985466810f2 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -1189,7 +1189,7 @@ X Options and Resources * Resources:: Using X resources with Emacs (in general). * Table of Resources:: Table of specific X resources that affect Emacs. * Lucid Resources:: X resources for Lucid menus. -* LessTif Resources:: X resources for LessTif and Motif menus. +* Motif Resources:: X resources for Motif and LessTif menus. * GTK resources:: Resources for GTK widgets. GTK resources diff --git a/doc/emacs/xresources.texi b/doc/emacs/xresources.texi index 3723c8e5e1d..b2ebf634ba0 100644 --- a/doc/emacs/xresources.texi +++ b/doc/emacs/xresources.texi @@ -27,7 +27,7 @@ system registry (@pxref{MS-Windows Registry}). * Resources:: Using X resources with Emacs (in general). * Table of Resources:: Table of specific X resources that affect Emacs. * Lucid Resources:: X resources for Lucid menus. -* LessTif Resources:: X resources for LessTif and Motif menus. +* Motif Resources:: X resources for Motif and LessTif menus. * GTK resources:: Resources for GTK widgets. @end menu @@ -260,7 +260,7 @@ compiled with GTK+ support. @ifnottex @item @code{selectionFont} (class @code{SelectionFont}) Font name for pop-up menu items, in non-toolkit versions of Emacs. (For -toolkit versions, see @ref{Lucid Resources}, also see @ref{LessTif +toolkit versions, see @ref{Lucid Resources}, also see @ref{Motif Resources}.) @item @code{selectionTimeout} (class @code{SelectionTimeout}) @@ -370,15 +370,15 @@ elements. Default is 1. Margin of the menu bar, in characters. Default is 1. @end table -@node LessTif Resources -@appendixsec LessTif Menu X Resources -@cindex Menu X Resources (LessTif widgets) -@cindex LessTif Widget X Resources +@node Motif Resources +@appendixsec Motif Menu X Resources +@cindex Menu X Resources (Motif widgets) +@cindex Motif Widget X Resources - If Emacs is compiled with the X toolkit support using LessTif or -Motif widgets, you can use X resources to customize the appearance of -the menu bar, pop-up menus, and dialog boxes. However, the resources -are organized differently from Lucid widgets. + If Emacs is compiled with the X toolkit support using Motif or +LessTif widgets, you can use X resources to customize the appearance +of the menu bar, pop-up menus, and dialog boxes. However, the +resources are organized differently from Lucid widgets. The resource names for the menu bar are in the @samp{pane.menubar} class, and they must be specified in this form: diff --git a/doc/man/ChangeLog b/doc/man/ChangeLog index 8b550dc4417..0235b5f7b9b 100644 --- a/doc/man/ChangeLog +++ b/doc/man/ChangeLog @@ -1,3 +1,7 @@ +2013-08-31 Ulrich Müller + + * emacs.1: Update manual links. + 2013-04-20 Petr Hracek (tiny change) * emacs.1: Add some more command-line options. (Bug#14165) diff --git a/doc/man/emacs.1 b/doc/man/emacs.1 index 9149be2c523..a306edc3ca9 100644 --- a/doc/man/emacs.1 +++ b/doc/man/emacs.1 @@ -445,7 +445,7 @@ Gives frames menu bars if .IR on ; don't have menu bars if .IR off . -See the Emacs manual, sections "Lucid Resources" and "LessTif +See the Emacs manual, sections "Lucid Resources" and "Motif Resources", for how to control the appearance of the menu bar if you have one. .TP @@ -492,7 +492,7 @@ The scroll bar width in pixels, equivalent to the frame parameter Font name for pop-up menu items, in non-toolkit versions of .IR Emacs . (For toolkit versions, see the Emacs manual, sections -"Lucid Resources" and "LessTif Resources".) +"Lucid Resources" and "Motif Resources".) .TP .BR selectionTimeout " (class " SelectionTimeout ) Number of milliseconds to wait for a selection reply. -- cgit v1.2.1 From 5229f00af6b0a901903bff4c68c049b6eb80cb59 Mon Sep 17 00:00:00 2001 From: Dani Moncayo Date: Sat, 31 Aug 2013 18:18:41 -0700 Subject: * emacs-lisp-intro.texi (beginning-of-buffer complete): Update function details. Fixes: debbugs:15085 --- doc/lispintro/ChangeLog | 5 +++++ doc/lispintro/emacs-lisp-intro.texi | 11 ++--------- 2 files changed, 7 insertions(+), 9 deletions(-) (limited to 'doc') diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index a47183f4d27..7c2cf7c1e07 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -1,3 +1,8 @@ +2013-09-01 Dani Moncayo + + * emacs-lisp-intro.texi (beginning-of-buffer complete): + Update function details. (Bug#15085) + 2013-08-28 Paul Eggert * Makefile.in (SHELL): Now @SHELL@, not /bin/sh, diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 18ea8e87e19..b3087a276a8 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -6323,7 +6323,7 @@ and avoids clobbering the mark." (/ (+ 10 (* size (prefix-numeric-value arg))) 10))) (point-min)))) - (if arg (forward-line 1))) + (if (and arg (not (consp arg))) (forward-line 1))) @end group @end smallexample @@ -6390,7 +6390,7 @@ to move point to the beginning of the next line if the command is invoked with an argument: @smallexample -(if arg (forward-line 1))) +(if (and arg (not (consp arg))) (forward-line 1)) @end smallexample @noindent @@ -6401,13 +6401,6 @@ tenths of the way through the buffer, which is a nicety that is, perhaps, not necessary, but which, if it did not occur, would be sure to draw complaints. -On the other hand, it also means that if you specify the command with -a @kbd{C-u}, but without a number, that is to say, if the `raw prefix -argument' is simply a cons cell, then the command puts you at the -beginning of the second line @dots{} I don't know whether this is -intended or whether no one has dealt with the code to avoid this -happening. - @node Second Buffer Related Review @section Review -- cgit v1.2.1 From 3a2a2fada1724820e6970ea7954a05bb026c92d4 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sat, 31 Aug 2013 18:23:06 -0700 Subject: * lispintro/emacs-lisp-intro.texi (beginning-of-buffer complete): Put back a version of the removed paragraph about raw prefix arg. --- doc/lispintro/ChangeLog | 5 +++++ doc/lispintro/emacs-lisp-intro.texi | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index 7c2cf7c1e07..ec082eecb52 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -1,3 +1,8 @@ +2013-09-01 Glenn Morris + + * emacs-lisp-intro.texi (beginning-of-buffer complete): + Put back a version of the removed paragraph about raw prefix arg. + 2013-09-01 Dani Moncayo * emacs-lisp-intro.texi (beginning-of-buffer complete): diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index b3087a276a8..84c9d905487 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -6399,7 +6399,10 @@ appropriate tenths position in the buffer. This is a flourish that means that the cursor is always located @emph{at least} the requested tenths of the way through the buffer, which is a nicety that is, perhaps, not necessary, but which, if it did not occur, would be sure -to draw complaints. +to draw complaints. (The @code{(not (consp arg))} portion is so that +if you specify the command with a @kbd{C-u}, but without a number, +that is to say, if the `raw prefix argument' is simply a cons cell, +the command does not put you at the beginning of the second line.) @node Second Buffer Related Review @section Review -- cgit v1.2.1 From 63191d9f2043d2e67657e85a7b3842805dd1dad6 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Wed, 4 Sep 2013 08:31:13 +0800 Subject: Some fixes for vc-ignore. * lisp/vc/vc.el (vc-ignore): Rewrite. (vc-default-ignore): New function. (vc-default-ignore-completion-table): Use find-ignore-file. * lisp/vc/vc-bzr.el (vc-bzr-ignore, vc-bzr-ignore-completion-table): * lisp/vc/vc-git.el (vc-git-ignore, vc-git-ignore-completion-table): * lisp/vc/vc-hg.el (vc-hg-ignore, vc-hg-ignore-completion-table): Remove. Most code moved to vc.el. * doc/emacs/maintaining.texi (VC Ignore): Mention `vc-ignore' with prefix argument. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/maintaining.texi | 14 ++++++++------ 2 files changed, 12 insertions(+), 6 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index ad411e44ba6..73de1ce2920 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-09-04 Xue Fuqiao + + * maintaining.texi (VC Ignore): Mention `vc-ignore' with prefix argument. + 2013-07-31 Eli Zaretskii * emacs.texi (Top): Remove menu item for the removed "Disabling diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index 553375442d5..4a61db5509b 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi @@ -1043,12 +1043,14 @@ Ignore a file under current version control system. (@code{vc-ignore}). @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. + 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. When +called with a prefix argument, you can remove a file from the ignored +file list. @node VC Directory Mode @subsection VC Directory Mode -- cgit v1.2.1 From 97e99cc328b3b98b060bc57ac865c535790cffdd Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Fri, 6 Sep 2013 10:25:15 +0200 Subject: * tramp.texi (Alternative Syntax): Remove chapter. --- doc/misc/ChangeLog | 4 ++++ doc/misc/tramp.texi | 42 ------------------------------------------ 2 files changed, 4 insertions(+), 42 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 22148deace0..85143fc2692 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2013-09-06 Michael Albinus + + * tramp.texi (Alternative Syntax): Remove chapter. + 2013-08-28 Paul Eggert * Makefile.in (SHELL): Now @SHELL@, not /bin/sh, diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 03c6da3b73f..aa4cea58f04 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi @@ -225,7 +225,6 @@ Configuring @value{tramp} for use Using @value{tramp} * Filename Syntax:: @value{tramp} filename conventions. -* Alternative Syntax:: URL-like filename syntax. * Filename completion:: Filename completion. * Ad-hoc multi-hops:: Declaring multiple hops in the file name. * Remote processes:: Integration with other @value{emacsname} packages. @@ -2356,7 +2355,6 @@ minute you have already forgotten that you hit that key! @menu * Filename Syntax:: @value{tramp} filename conventions. -* Alternative Syntax:: URL-like filename syntax. * Filename completion:: Filename completion. * Ad-hoc multi-hops:: Declaring multiple hops in the file name. * Remote processes:: Integration with other @value{emacsname} packages. @@ -2453,46 +2451,6 @@ by adding @file{#} to the host name, like in @file{@trampfn{ssh, daniel, melancholia#42, .emacs}}. -@node Alternative Syntax -@section URL-like filename syntax -@cindex filename syntax -@cindex filename examples - -Additionally to the syntax described in the previous chapter, it is -possible to use a URL-like syntax for @value{tramp}. This can be -switched on by customizing the variable @code{tramp-syntax}. Please -note that this feature is experimental for the time being. - -The variable @code{tramp-syntax} must be set before requiring @value{tramp}: - -@lisp -(setq tramp-syntax 'url) -(require 'tramp) -@end lisp - -Then, a @value{tramp} filename would look like this: -@file{/@var{method}://@var{user}@@@var{machine}:@var{port}/@var{path/to.file}}. -@file{/@var{method}://} is mandatory, all other parts are optional. -@file{:@var{port}} is useful for methods only who support this. - -The last example from the previous section would look like this: -@file{/ssh://daniel@@melancholia/.emacs}. - -For the time being, @code{tramp-syntax} can have the following values: - -@itemize @w{} -@ifset emacs -@item @code{ftp}---That is the default syntax -@item @code{url}---URL-like syntax -@end ifset -@ifset xemacs -@item @code{sep}---That is the default syntax -@item @code{url}---URL-like syntax -@item @code{ftp}---EFS-like syntax -@end ifset -@end itemize - - @node Filename completion @section Filename completion @cindex filename completion -- cgit v1.2.1 From eb31a86cb21c2f19a34830d3b7cdf7a087be826b Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sun, 8 Sep 2013 14:01:25 -0400 Subject: * doc/lispref/macros.texi (Defining Macros): Prefer "function" to "lambda expression". Fixes: debbugs:15296 --- doc/lispref/ChangeLog | 5 +++++ doc/lispref/macros.texi | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 8b5aa65ff96..145d595b1d2 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-09-08 Stefan Monnier + + * macros.texi (Defining Macros): Prefer "function" to "lambda + expression" (bug#15296). + 2013-08-28 Paul Eggert * Makefile.in (SHELL): Now @SHELL@, not /bin/sh, diff --git a/doc/lispref/macros.texi b/doc/lispref/macros.texi index 5520bbbd1df..a2526f383aa 100644 --- a/doc/lispref/macros.texi +++ b/doc/lispref/macros.texi @@ -191,8 +191,8 @@ During Compile}). @section Defining Macros A Lisp macro object is a list whose @sc{car} is @code{macro}, and -whose @sc{cdr} is a lambda expression. Expansion of the macro works -by applying the lambda expression (with @code{apply}) to the list of +whose @sc{cdr} is a function. Expansion of the macro works +by applying the function (with @code{apply}) to the list of @emph{unevaluated} arguments from the macro call. It is possible to use an anonymous Lisp macro just like an anonymous -- cgit v1.2.1 From 7dc61a66e79e4d6102e2574e99eb704184e802b7 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sun, 8 Sep 2013 16:31:14 -0700 Subject: * doc/misc/emacs-gnutls.texi: Tweak direntry. * info/dir: Tweak emacs-gnutls entry. --- doc/misc/ChangeLog | 4 ++++ doc/misc/emacs-gnutls.texi | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 85143fc2692..e3ad5688f22 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2013-09-08 Glenn Morris + + * emacs-gnutls.texi: Tweak direntry. + 2013-09-06 Michael Albinus * tramp.texi (Alternative Syntax): Remove chapter. diff --git a/doc/misc/emacs-gnutls.texi b/doc/misc/emacs-gnutls.texi index 740dfee41ed..b1c4c13c5ff 100644 --- a/doc/misc/emacs-gnutls.texi +++ b/doc/misc/emacs-gnutls.texi @@ -25,7 +25,7 @@ modify this GNU manual.'' @dircategory Emacs network features @direntry -* GnuTLS: (emacs-gnutls). The Emacs GnuTLS integration. +* Emacs GnuTLS: (emacs-gnutls). The Emacs GnuTLS integration. @end direntry @titlepage -- cgit v1.2.1 From 412a09723c5cf5f8b8a28fc0ef104750de3a6d7f Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Wed, 11 Sep 2013 22:06:22 +0800 Subject: Minor fixes for ido.texi. * doc/misc/ido.texi (Interactive Substring Matching): Use @key{RET} instead of @kbd{RET}. (Prefix Matching): Add an index. --- doc/emacs/trouble.texi | 1 + doc/lispref/nonascii.texi | 2 ++ doc/misc/ChangeLog | 6 ++++++ doc/misc/ido.texi | 3 ++- 4 files changed, 11 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi index 0d5ce6820c7..34783796899 100644 --- a/doc/emacs/trouble.texi +++ b/doc/emacs/trouble.texi @@ -1140,6 +1140,7 @@ Please help us keep up with the workload by designing the patch in a form that is clearly safe to install. @end itemize +@c FIXME: Include the node above? @node Contributing @section Contributing to Emacs Development @cindex contributing to Emacs diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index f351829e4cf..ec949b37684 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -549,6 +549,8 @@ is @code{nil}, which means the character itself. @defun get-char-code-property char propname This function returns the value of @var{char}'s @var{propname} property. +@c FIXME: Use ‘?\s’ instead of ‘? ’ for the space character in the +@c first example? --xfq @example @group (get-char-code-property ? 'general-category) diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index e3ad5688f22..aa1e69891a2 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,9 @@ +2013-09-11 Xue Fuqiao + + * ido.texi (Interactive Substring Matching): Use @key{RET} instead + of @kbd{RET}. + (Prefix Matching): Add an index. + 2013-09-08 Glenn Morris * emacs-gnutls.texi: Tweak direntry. diff --git a/doc/misc/ido.texi b/doc/misc/ido.texi index 623fb4bfa79..64885179259 100644 --- a/doc/misc/ido.texi +++ b/doc/misc/ido.texi @@ -258,7 +258,7 @@ Buffer: 23@{123456 | 123@} At this point, you still have two matching buffers. If you want the first buffer in the list, you can simply press @key{RET}. If you want the second in the list, you can press @kbd{C-s} to move it to the top -of the list and then press @kbd{RET} to select it. +of the list and then press @key{RET} to select it. However, if you type @kbd{4}, you'll only have one match left: @@ -366,6 +366,7 @@ users Ido offers in addition to the default substring matching method the only difference to the description of the substring matching above. +@cindex toggle prefix matching You can toggle prefix matching with @kbd{C-p} (@code{ido-toggle-prefix}). -- cgit v1.2.1 From 44ee21472c20889fdf7fde888060a6951da7843b Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Thu, 12 Sep 2013 07:05:21 +0800 Subject: Character properties fix in lispref. * doc/lispref/nonascii.texi (Character Properties): Character properties fix for decimal-digit-value and digit-value. --- doc/lispref/ChangeLog | 5 +++++ doc/lispref/nonascii.texi | 10 +++++----- 2 files changed, 10 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 145d595b1d2..574aba493c0 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-09-11 Xue Fuqiao + + * nonascii.texi (Character Properties): Character properties fix + for decimal-digit-value and digit-value. + 2013-09-08 Stefan Monnier * macros.texi (Defining Macros): Prefer "function" to "lambda diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index ec949b37684..64c0033847c 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -478,14 +478,14 @@ unassigned codepoints, the value is the character itself. @item decimal-digit-value Corresponds to the Unicode @code{Numeric_Value} property for -characters whose @code{Numeric_Type} is @samp{Digit}. The value is an -integer number. For unassigned codepoints, the value is @code{nil}, -which means @acronym{NaN}, or ``not-a-number''. +characters whose @code{Numeric_Type} is @samp{Decimal}. The value is +an integer number. For unassigned codepoints, the value is +@code{nil}, which means @acronym{NaN}, or ``not-a-number''. @item digit-value Corresponds to the Unicode @code{Numeric_Value} property for -characters whose @code{Numeric_Type} is @samp{Decimal}. The value is -an integer number. Examples of such characters include compatibility +characters whose @code{Numeric_Type} is @samp{Digit}. The value is an +integer number. Examples of such characters include compatibility subscript and superscript digits, for which the value is the corresponding number. For unassigned codepoints, the value is @code{nil}, which means @acronym{NaN}. -- cgit v1.2.1 From 384a7d723ee9cfa2adde22670b1063be8d1a49b4 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Thu, 12 Sep 2013 20:04:18 +0800 Subject: * doc/emacs/text.texi (Enriched Justification): Explain values of default-justification. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/text.texi | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 7ff13a70718..b263ca7671a 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-09-12 Xue Fuqiao + + * text.texi (Enriched Justification): Explain values of default-justification. + 2013-09-04 Xue Fuqiao * maintaining.texi (VC Ignore): Mention `vc-ignore' with prefix argument. diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi index e5743b064fb..b2cb5ee3d3b 100644 --- a/doc/emacs/text.texi +++ b/doc/emacs/text.texi @@ -2086,6 +2086,7 @@ newlines are used for filling. The @key{RET} (@code{newline}) and commands, including Auto Fill (@pxref{Auto Fill}), insert only soft newlines and delete only soft newlines, leaving hard newlines alone. +@c FIXME: I don't see ‘unfilled’ in that node. --xfq Thus, when editing with Enriched mode, you should not use @key{RET} or @kbd{C-o} to break lines in the middle of filled paragraphs. Use Auto Fill mode or explicit fill commands (@pxref{Fill Commands}) @@ -2294,13 +2295,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}. +@code{full}, @code{center}, or @code{none}; their meanings correspond +to the commands above. @node Enriched Properties @subsection Setting Other Text Properties -- cgit v1.2.1 From 99d8e6d6c226fd69f7a8927d89a485044bb9c0a3 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Thu, 12 Sep 2013 20:22:17 +0800 Subject: * doc/lispref/functions.texi (Obsolete Functions): Add an index for obsolete functions. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/functions.texi | 1 + 2 files changed, 5 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 574aba493c0..ed073456e7e 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-09-12 Xue Fuqiao + + * functions.texi (Obsolete Functions): Add an index for obsolete functions. + 2013-09-11 Xue Fuqiao * nonascii.texi (Character Properties): Character properties fix diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi index 39a9ff6b62c..f1d8c54f49c 100644 --- a/doc/lispref/functions.texi +++ b/doc/lispref/functions.texi @@ -1135,6 +1135,7 @@ examining or altering the structure of closure objects. @node Obsolete Functions @section Declaring Functions Obsolete +@cindex obsolete functions You can mark a named function as @dfn{obsolete}, meaning that it may be removed at some point in the future. This causes Emacs to warn -- cgit v1.2.1 From 4dfa4b9bd944fa385b248b5b0b56e95979119420 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Thu, 12 Sep 2013 22:21:21 +0800 Subject: Comments. --- doc/lispref/nonascii.texi | 3 +++ 1 file changed, 3 insertions(+) (limited to 'doc') diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index 64c0033847c..e8e810ce61f 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -686,6 +686,7 @@ which case the returned charset must be supported by that coding system (@pxref{Coding Systems}). @end defun +@c TODO: Explain the properties here and add indexes such as ‘charset property’. @defun charset-plist charset This function returns the property list of the character set @var{charset}. Although @var{charset} is a symbol, this is not the @@ -851,6 +852,8 @@ systems specifies its own translation tables, the table that is the value of this variable, if non-@code{nil}, is applied after them. @end defvar +@c FIXME: This variable is obsolete since 23.1. We should mention +@c that here or simply remove this defvar. --xfq @defvar translation-table-for-input Self-inserting characters are translated through this translation table before they are inserted. Search commands also translate their -- cgit v1.2.1 From 3509fb4083986c2d2d4b98f114abbf0a11564105 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 13 Sep 2013 11:26:03 +0300 Subject: doc/lispref/text.texi (Not Intervals): Minor wording fix. --- doc/lispref/ChangeLog | 7 ++++++- doc/lispref/text.texi | 9 +++++---- 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index ed073456e7e..b37fa4e64f3 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,6 +1,11 @@ +2013-09-13 Eli Zaretskii + + * text.texi (Not Intervals): Minor wording fix. + 2013-09-12 Xue Fuqiao - * functions.texi (Obsolete Functions): Add an index for obsolete functions. + * functions.texi (Obsolete Functions): Add an index for obsolete + functions. 2013-09-11 Xue Fuqiao diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index c4250f2f0ba..aa19338ddaf 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -3920,10 +3920,11 @@ between one interval and two. Insertion of text at the border between intervals also raises questions that have no satisfactory answer. - However, it is easy to arrange for editing to behave consistently for -questions of the form, ``What are the properties of this character?'' -So we have decided these are the only questions that make sense; we have -not implemented asking questions about where intervals start or end. + However, it is easy to arrange for editing to behave consistently +for questions of the form, ``What are the properties of text at this +buffer or string position?'' So we have decided these are the only +questions that make sense; we have not implemented asking questions +about where intervals start or end. In practice, you can usually use the text property search functions in place of explicit interval boundaries. You can think of them as finding -- cgit v1.2.1 From 0df00f5905b75a5a0601c8696f41c8796c3d1baa Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 14 Sep 2013 12:24:34 +0300 Subject: Fix bug #15375 with inaccurate docs of display margin width values. doc/lispref/display.texi (Display Margins): State the units of measuring margin width. src/buffer.c (syms_of_buffer) : Doc fix. --- doc/lispref/ChangeLog | 5 +++++ doc/lispref/display.texi | 26 ++++++++++++++++---------- 2 files changed, 21 insertions(+), 10 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index b37fa4e64f3..a1503ea4dde 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-09-14 Eli Zaretskii + + * display.texi (Display Margins): State the units of measuring + margin width. (Bug#15375) + 2013-09-13 Eli Zaretskii * text.texi (Not Intervals): Minor wording fix. diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index ff9d98170d1..2e7d4f4c010 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -4189,13 +4189,15 @@ them a nonzero width. The usual way to do that is to set these variables: @defvar left-margin-width -This variable specifies the width of the left margin. -It is buffer-local in all buffers. +This variable specifies the width of the left margin, in character +cell units. It is buffer-local in all buffers. A value of @code{nil} +means no left marginal area. @end defvar @defvar right-margin-width -This variable specifies the width of the right margin. -It is buffer-local in all buffers. +This variable specifies the width of the right margin, in character +cell units. It is buffer-local in all buffers. A value of @code{nil} +means no right marginal area. @end defvar Setting these variables does not immediately affect the window. These @@ -4206,15 +4208,19 @@ Thus, you can make changes take effect by calling You can also set the margin widths immediately. @defun set-window-margins window left &optional right -This function specifies the margin widths for window @var{window}. -The argument @var{left} controls the left margin and -@var{right} controls the right margin (default @code{0}). +This function specifies the margin widths for window @var{window}, in +character cell (a.k.a.@: ``column''), units. The argument @var{left} +controls the left margin and @var{right} controls the right margin +(default @code{0}). @end defun @defun window-margins &optional window -This function returns the left and right margins of @var{window} -as a cons cell of the form @code{(@var{left} . @var{right})}. -If @var{window} is @code{nil}, the selected window is used. +This function returns the width of the left and right margins of +@var{window} as a cons cell of the form @w{@code{(@var{left} +. @var{right})}}. If one of the two marginal areas does not exist, +its width is returned as @code{nil}; if none of the two margins exist, +the function returns @code{nil}. If @var{window} is @code{nil}, the +selected window is used. @end defun @node Images -- cgit v1.2.1 From d1ec44a551b0b1035df73e14ff9c8b83f51757b8 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 14 Sep 2013 18:34:33 +0300 Subject: Fix last change in lispref/display.texi. Fixes: debbugs:15375 --- doc/lispref/display.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 2e7d4f4c010..d63f98c55c4 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -4219,7 +4219,7 @@ This function returns the width of the left and right margins of @var{window} as a cons cell of the form @w{@code{(@var{left} . @var{right})}}. If one of the two marginal areas does not exist, its width is returned as @code{nil}; if none of the two margins exist, -the function returns @code{nil}. If @var{window} is @code{nil}, the +the function returns @code{(nil)}. If @var{window} is @code{nil}, the selected window is used. @end defun -- cgit v1.2.1 From 6990c412efd951bc8cc4e4986600893b17d7b148 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 14 Sep 2013 19:33:12 +0300 Subject: Minor fixes for last change in lispref/display.texi. Fixes: debbugs:15375 --- doc/lispref/display.texi | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) (limited to 'doc') diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index d63f98c55c4..8ebf440c9fe 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -4190,8 +4190,8 @@ variables: @defvar left-margin-width This variable specifies the width of the left margin, in character -cell units. It is buffer-local in all buffers. A value of @code{nil} -means no left marginal area. +cell (a.k.a.@: ``column'') units. It is buffer-local in all buffers. +A value of @code{nil} means no left marginal area. @end defvar @defvar right-margin-width @@ -4209,16 +4209,15 @@ Thus, you can make changes take effect by calling @defun set-window-margins window left &optional right This function specifies the margin widths for window @var{window}, in -character cell (a.k.a.@: ``column''), units. The argument @var{left} -controls the left margin and @var{right} controls the right margin -(default @code{0}). +character cell units. The argument @var{left} controls the left +margin, and @var{right} controls the right margin (default @code{0}). @end defun @defun window-margins &optional window This function returns the width of the left and right margins of @var{window} as a cons cell of the form @w{@code{(@var{left} . @var{right})}}. If one of the two marginal areas does not exist, -its width is returned as @code{nil}; if none of the two margins exist, +its width is returned as @code{nil}; if neither of the two margins exist, the function returns @code{(nil)}. If @var{window} is @code{nil}, the selected window is used. @end defun -- cgit v1.2.1 From fe30962e0b82e6069c72b4c929c1c660017635b8 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sat, 14 Sep 2013 16:47:54 -0700 Subject: * doc/misc/eshell.texi: Markup fixes. --- doc/misc/ChangeLog | 4 ++++ doc/misc/eshell.texi | 24 ++++++++++++------------ 2 files changed, 16 insertions(+), 12 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index aa1e69891a2..4a52e2314ca 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2013-09-14 Glenn Morris + + * eshell.texi: Markup fixes. + 2013-09-11 Xue Fuqiao * ido.texi (Interactive Substring Matching): Use @key{RET} instead diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index 4604b262e72..bbe741a7a1d 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi @@ -353,7 +353,7 @@ sudo is an alias, defined as "*sudo $*" @vindex eshell-prefer-lisp-functions If you would prefer to use the built-in commands instead of the external -commands, set @var{eshell-prefer-lisp-functions} to @code{t}. +commands, set @code{eshell-prefer-lisp-functions} to @code{t}. Some of the built-in commands have different behaviour from their external counterparts, and some have no external counterpart. Most of @@ -515,7 +515,7 @@ Aliases are commands that expand to a longer input line. For example, with the command invocation @samp{alias ll ls -l}; with this defined, running @samp{ll foo} in Eshell will actually run @samp{ls -l foo}. Aliases defined (or deleted) by the @command{alias} command are -automatically written to the file named by @var{eshell-aliases-file}, +automatically written to the file named by @code{eshell-aliases-file}, which you can also edit directly (although you will have to manually reload it). @@ -539,7 +539,7 @@ by @code{!foo:n}. The history ring is loaded from a file at the start of every session, and written back to the file at the end of every session. The file path -is specified in @var{eshell-history-file-name}. Unlike other shells, +is specified in @code{eshell-history-file-name}. Unlike other shells, such as Bash, Eshell can not be configured to keep a history ring of a different size than that of the history file. @@ -721,11 +721,11 @@ terminal emulator. Programs that need a terminal to display output properly are referred to in this manual as ``visual commands,'' because they are not simply line-oriented. You must tell Eshell which commands are visual, by -adding them to @var{eshell-visual-commands}; for commands that are +adding them to @code{eshell-visual-commands}; for commands that are visual for only certain @emph{sub}-commands -- e.g. @samp{git log} but -not @samp{git status} -- use @var{eshell-visual-subcommands}; and for +not @samp{git status} -- use @code{eshell-visual-subcommands}; and for commands that are visual only when passed certain options, use -@var{eshell-visual-options}. +@code{eshell-visual-options}. @section Redirection Redirection is mostly the same in Eshell as it is in other command @@ -740,16 +740,16 @@ on the right-hand side, into which it inserts the output of the left-hand side. e.g., @samp{echo hello >>> #} inserts the string @code{"hello"} into the @code{*scratch*} buffer. -@var{eshell-virtual-targets} is a list of mappings of virtual device +@code{eshell-virtual-targets} is a list of mappings of virtual device names to functions. Eshell comes with two virtual devices: @file{/dev/kill}, which sends the text to the kill ring, and @file{/dev/clip}, which sends text to the clipboard. You can, of course, define your own virtual targets. They are defined -by adding a list of the form @code{("/dev/name" function mode)} to -@var{eshell-virtual-targets}. The first element is the device name; -@code{function} may be either a lambda or a function name. If -@code{mode} is nil, then the function is the output function; if it is +by adding a list of the form @samp{("/dev/name" @var{function} @var{mode})} to +@code{eshell-virtual-targets}. The first element is the device name; +@var{function} may be either a lambda or a function name. If +@var{mode} is nil, then the function is the output function; if it is non-nil, then the function is passed the redirection mode as a symbol--@code{overwrite} for @code{>}, @code{append} for @code{>>}, or @code{insert} for @code{>>>}--and the function is expected to return @@ -774,7 +774,7 @@ Eshell module.} You also need to load the following as shown: @example (eval-when-compile - (require 'cl) + (require 'cl-lib) (require 'esh-mode) (require 'eshell)) -- cgit v1.2.1 From 230fe2a5a10f2bc128f354e3fb1b48536b1f143b Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Thu, 19 Sep 2013 14:40:08 -0700 Subject: Merge from gnulib. This incorporates the following changes: 2013-09-19 stdio: OS X port of putc_unlocked + extern inline 2013-09-19 signal: OS X port of sigaddset etc. + extern inline 2013-09-19 extern-inline: do not always suppress extern inline on OS X 2013-09-17 getgroups: statement without effect 2013-08-28 headers: check that _GL_INLINE_HEADER_BEGIN is defined --- doc/misc/texinfo.tex | 82 +++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 62 insertions(+), 20 deletions(-) (limited to 'doc') diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index 9ba8c949fd1..bfd765dd211 100644 --- a/doc/misc/texinfo.tex +++ b/doc/misc/texinfo.tex @@ -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-08-20.10} +\def\texinfoversion{2013-09-11.11} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, @@ -322,10 +322,13 @@ % % Do this outside of the \shipout so @code etc. will be expanded in % the headline as they should be, not taken literally (outputting ''code). + \def\commmonheadfootline{\let\hsize=\pagewidth \texinfochars} + % \ifodd\pageno \getoddheadingmarks \else \getevenheadingmarks \fi - \setbox\headlinebox = \vbox{\let\hsize=\pagewidth \makeheadline}% + \global\setbox\headlinebox = \vbox{\commmonheadfootline \makeheadline}% + % \ifodd\pageno \getoddfootingmarks \else \getevenfootingmarks \fi - \setbox\footlinebox = \vbox{\let\hsize=\pagewidth \makefootline}% + \global\setbox\footlinebox = \vbox{\commmonheadfootline \makefootline}% % {% % Have to do this stuff outside the \shipout because we want it to @@ -2891,6 +2894,15 @@ end \def\inlinefmtname{#1}% \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\fi } +% +% @inlinefmtifelse{FMTNAME,THEN-TEXT,ELSE-TEXT} expands THEN-TEXT if +% FMTNAME is tex, else ELSE-TEXT. +\long\def\inlinefmtifelse#1{\doinlinefmtifelse #1,,,\finish} +\long\def\doinlinefmtifelse#1,#2,#3,#4,\finish{% + \def\inlinefmtname{#1}% + \ifx\inlinefmtname\outfmtnametex \ignorespaces #2\else \ignorespaces #3\fi +} +% % For raw, must switch into @tex before parsing the argument, to avoid % setting catcodes prematurely. Doing it this way means that, for % example, @inlineraw{html, foo{bar} gets a parse error instead of being @@ -2907,6 +2919,23 @@ end \endgroup % close group opened by \tex. } +% @inlineifset{VAR, TEXT} expands TEXT if VAR is @set. +% +\long\def\inlineifset#1{\doinlineifset #1,\finish} +\long\def\doinlineifset#1,#2,\finish{% + \def\inlinevarname{#1}% + \expandafter\ifx\csname SET\inlinevarname\endcsname\relax + \else\ignorespaces#2\fi +} + +% @inlineifclear{VAR, TEXT} expands TEXT if VAR is not @set. +% +\long\def\inlineifclear#1{\doinlineifclear #1,\finish} +\long\def\doinlineifclear#1,#2,\finish{% + \def\inlinevarname{#1}% + \expandafter\ifx\csname SET\inlinevarname\endcsname\relax \ignorespaces#2\fi +} + \message{glyphs,} % and logos. @@ -4202,7 +4231,7 @@ end \def\value{\begingroup\makevalueexpandable\valuexxx} \def\valuexxx#1{\expandablevalue{#1}\endgroup} { - \catcode`\- = \active \catcode`\_ = \active + \catcode`\-=\active \catcode`\_=\active % \gdef\makevalueexpandable{% \let\value = \expandablevalue @@ -4222,7 +4251,12 @@ end % variable's value contains other Texinfo commands, it's almost certain % it will fail (although perhaps we could fix that with sufficient work % to do a one-level expansion on the result, instead of complete). -% +% +% Unfortunately, this has the consequence that when _ is in the *value* +% of an @set, it does not print properly in the roman fonts (get the cmr +% dot accent at position 126 instead). No fix comes to mind, and it's +% been this way since 2003 or earlier, so just ignore it. +% \def\expandablevalue#1{% \expandafter\ifx\csname SET#1\endcsname\relax {[No value for ``#1'']}% @@ -6276,8 +6310,8 @@ end \catcode `\|=\other \catcode `\<=\other \catcode `\>=\other - \catcode`\`=\other - \catcode`\'=\other + \catcode `\`=\other + \catcode `\'=\other \escapechar=`\\ % % ' is active in math mode (mathcode"8000). So reset it, and all our @@ -6301,7 +6335,7 @@ end \let\/=\ptexslash \let\*=\ptexstar \let\t=\ptext - \expandafter \let\csname top\endcsname=\ptextop % outer + \expandafter \let\csname top\endcsname=\ptextop % we've made it outer \let\frenchspacing=\plainfrenchspacing % \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% @@ -9944,11 +9978,9 @@ directory should work if nowhere else does.} \catcode`\"=\active \def\activedoublequote{{\tt\char34}} \let"=\activedoublequote -\catcode`\~=\active -\def~{{\tt\char126}} +\catcode`\~=\active \def\activetilde{{\tt\char126}} \let~ = \activetilde \chardef\hat=`\^ -\catcode`\^=\active -\def^{{\tt \hat}} +\catcode`\^=\active \def\activehat{{\tt \hat}} \let^ = \activehat \catcode`\_=\active \def_{\ifusingtt\normalunderscore\_} @@ -9958,16 +9990,26 @@ directory should work if nowhere else does.} \catcode`\|=\active \def|{{\tt\char124}} + \chardef \less=`\< -\catcode`\<=\active -\def<{{\tt \less}} +\catcode`\<=\active \def\activeless{{\tt \less}}\let< = \activeless \chardef \gtr=`\> -\catcode`\>=\active -\def>{{\tt \gtr}} -\catcode`\+=\active -\def+{{\tt \char 43}} -\catcode`\$=\active -\def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix +\catcode`\>=\active \def\activegtr{{\tt \gtr}}\let> = \activegtr +\catcode`\+=\active \def+{{\tt \char 43}} +\catcode`\$=\active \def${\ifusingit{{\sl\$}}\normaldollar}%$ font-lock fix + +% used for headline/footline in the output routine, in case the page +% breaks in the middle of an @tex block. +\def\texinfochars{% + \let< = \activeless + \let> = \activegtr + \let~ = \activetilde + \let^ = \activehat + \markupsetuplqdefault \markupsetuprqdefault + \let\b = \strong + \let\i = \smartitalic + % in principle, all other definitions in \tex have to be undone too. +} % If a .fmt file is being used, characters that might appear in a file % name cannot be active until we have parsed the command line. -- cgit v1.2.1 From d052d3bdf357c710b2885d6acb77194726705937 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sat, 21 Sep 2013 16:16:13 +0800 Subject: Add keybinding for vc-log-incoming in vc-dir. * doc/emacs/maintaining.texi (VC Directory Commands): Add keybinding for vc-log-incoming in vc-dir. * lisp/vc/vc-dir.el (vc-dir-mode-map): Add keybinding for vc-log-incoming. --- doc/emacs/ChangeLog | 5 +++++ doc/emacs/maintaining.texi | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index b263ca7671a..1fddd4ab180 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,8 @@ +2013-09-21 Xue Fuqiao + + * maintaining.texi (VC Directory Commands): Add keybinding for + vc-log-incoming in vc-dir. + 2013-09-12 Xue Fuqiao * text.texi (Enriched Justification): Explain values of default-justification. diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index 4a61db5509b..9cb6c70e0fb 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi @@ -1242,7 +1242,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}, @kbd{D}, @kbd{L}, @kbd{G} and @kbd{v}. +@kbd{i}, @kbd{D}, @kbd{L}, @kbd{G}, @kbd{I} 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} -- cgit v1.2.1 From cb8165496a3d4127259ace86116fdf4d53ee2c68 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sat, 21 Sep 2013 16:22:57 +0800 Subject: Comments. --- doc/emacs/maintaining.texi | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index 9cb6c70e0fb..7404607cb63 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi @@ -599,6 +599,7 @@ the buffer and commit the change, together with your log entry. @cindex Log Edit mode @cindex mode, Log Edit @vindex vc-log-mode-hook +@c FIXME: Mention log-edit-mode-hook here? --xfq The major mode for the @file{*vc-log*} buffer is Log Edit mode, a variant of Text mode (@pxref{Text Mode}). On entering Log Edit mode, Emacs runs the hooks @code{text-mode-hook} and @code{vc-log-mode-hook} -- cgit v1.2.1 From f6bb09828c0457ece76a383e106e42b7efa1cdcc Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sat, 21 Sep 2013 16:31:45 +0800 Subject: * doc/emacs/maintaining.texi (Log Buffer): Use @emph instead of @strong. --- doc/emacs/ChangeLog | 1 + doc/emacs/maintaining.texi | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 1fddd4ab180..0ad3a310885 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -2,6 +2,7 @@ * maintaining.texi (VC Directory Commands): Add keybinding for vc-log-incoming in vc-dir. + (Log Buffer): Use @emph instead of @strong. 2013-09-12 Xue Fuqiao diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index 7404607cb63..7fd3fb1c9d4 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi @@ -653,7 +653,7 @@ opposite way of working---generating ChangeLog entries from the Log Edit buffer. @end ifnottex - To abort a commit, just @strong{don't} type @kbd{C-c C-c} in that + To abort a commit, just @emph{don't} type @kbd{C-c C-c} in that buffer. You can switch buffers and do other editing. As long as you don't try to make another commit, the entry you were editing remains in the @file{*vc-log*} buffer, and you can go back to that buffer at -- cgit v1.2.1 From 878294497c10c1548fcfde5be3ea2fe35757839e Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sat, 21 Sep 2013 18:58:39 +0800 Subject: Add information about carriage-return in lispref. * doc/lispref/nonascii.texi (Coding System Basics): Add information about carriage-return. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/nonascii.texi | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index a1503ea4dde..921e54eb5c1 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-09-21 Xue Fuqiao + + * nonascii.texi (Coding System Basics): Add information about carriage-return. + 2013-09-14 Eli Zaretskii * display.texi (Display Margins): State the units of measuring diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index e8e810ce61f..6ae6fa1bf7c 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -962,7 +962,8 @@ Unix convention, used on GNU and Unix systems, is to use the linefeed character (also called newline). The DOS convention, used on MS-Windows and MS-DOS systems, is to use a carriage-return and a linefeed at the end of a line. The Mac convention is to use just -carriage-return. +carriage-return. (This was the convention used on the Macintosh +system prior to OS X.) @cindex base coding system @cindex variant coding system -- cgit v1.2.1 From 3a4be55b4d956799201169bb4ba49c0e948eec32 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 22 Sep 2013 10:13:44 +0800 Subject: @refill is no longer needed. * doc/emacs/fixit.texi (Transpose): (Fixing Case): Remove @refill. --- doc/emacs/ChangeLog | 5 +++++ doc/emacs/fixit.texi | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 0ad3a310885..6b4c12511dd 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,8 @@ +2013-09-22 Xue Fuqiao + + * fixit.texi (Transpose): + (Fixing Case): Remove @refill. + 2013-09-21 Xue Fuqiao * maintaining.texi (VC Directory Commands): Add keybinding for diff --git a/doc/emacs/fixit.texi b/doc/emacs/fixit.texi index b6eb1ed11a2..a6aff77b583 100644 --- a/doc/emacs/fixit.texi +++ b/doc/emacs/fixit.texi @@ -190,7 +190,7 @@ point forward across three other characters. It would change @samp{f@point{}oobar} into @samp{oobf@point{}ar}. This is equivalent to repeating @kbd{C-t} three times. @kbd{C-u - 4 M-t} moves the word before point backward across four words. @kbd{C-u - C-M-t} would cancel -the effect of plain @kbd{C-M-t}.@refill +the effect of plain @kbd{C-M-t}. A numeric argument of zero is assigned a special meaning (because otherwise a command with a repeat count of zero would do nothing): to @@ -216,7 +216,7 @@ Convert last word to lower case with capital initial. the word case-conversion commands @kbd{M-l}, @kbd{M-u} and @kbd{M-c} have a special feature when used with a negative argument: they do not move the cursor. As soon as you see you have mistyped the last word, you can simply -case-convert it and go on typing. @xref{Case}.@refill +case-convert it and go on typing. @xref{Case}. @node Spelling @section Checking and Correcting Spelling -- cgit v1.2.1 From 69b3debcd2359d53a074a781ac74101142c03191 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 22 Sep 2013 20:49:53 +0800 Subject: * doc/lispref/nonascii.texi (Default Coding Systems): Typo fix. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/nonascii.texi | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 921e54eb5c1..2fa3fc13e31 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-09-22 Xue Fuqiao + + * nonascii.texi (Default Coding Systems): Typo fix. + 2013-09-21 Xue Fuqiao * nonascii.texi (Coding System Basics): Add information about carriage-return. diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index 6ae6fa1bf7c..94a7bdf1b23 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -1572,7 +1572,7 @@ the alist; otherwise it returns @code{nil}. If @var{operation} is @code{insert-file-contents}, the argument corresponding to the target may be a cons cell of the form -@code{(@var{filename} . @var{buffer})}). In that case, @var{filename} +@code{(@var{filename} . @var{buffer})}. In that case, @var{filename} is a file name to look up in @code{file-coding-system-alist}, and @var{buffer} is a buffer that contains the file's contents (not yet decoded). If @code{file-coding-system-alist} specifies a function to -- cgit v1.2.1 From 6232855dd2c418f10e60b2d2f397c07643c5a272 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Thu, 26 Sep 2013 21:42:29 +0800 Subject: * doc/emacs/emacs.texi (Intro): Minor cleanup. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/emacs.texi | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 6b4c12511dd..cf866fef9ef 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-09-26 Xue Fuqiao + + * emacs.texi (Intro): Minor cleanup. + 2013-09-22 Xue Fuqiao * fixit.texi (Transpose): diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 985466810f2..7c594503afb 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -1469,7 +1469,7 @@ Neal Ziring, Teodor Zlatanov, and Detlev Zundel. You are reading about GNU Emacs, the GNU incarnation of the advanced, self-documenting, customizable, extensible editor Emacs. -(The `G' in `GNU' is not silent.) +(The @samp{G} in @acronym{GNU, @acronym{GNU}'s Not Unix} is not silent.) We call Emacs @dfn{advanced} because it can do much more than simple insertion and deletion of text. It can control subprocesses, indent -- cgit v1.2.1 From 09f62a15c0429d4cc5dd62290d354ea1d282b976 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Thu, 26 Sep 2013 22:22:49 +0800 Subject: * doc/emacs/dired.texi (Flagging Many Files): Use @emph instead of @strong. --- doc/emacs/ChangeLog | 2 ++ doc/emacs/dired.texi | 6 +++--- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index cf866fef9ef..f356d35f1c5 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,7 @@ 2013-09-26 Xue Fuqiao + * dired.texi (Flagging Many Files): Use @emph instead of @strong. + * emacs.texi (Intro): Minor cleanup. 2013-09-22 Xue Fuqiao diff --git a/doc/emacs/dired.texi b/doc/emacs/dired.texi index f4ca6c30a5a..391cd99fbce 100644 --- a/doc/emacs/dired.texi +++ b/doc/emacs/dired.texi @@ -281,9 +281,9 @@ say they are backup files---that is, files whose names end in the backup files for deletion: all but the oldest few and newest few backups of any one file. Normally, the number of newest versions kept for each file is given by the variable @code{dired-kept-versions} -(@strong{not} @code{kept-new-versions}; that applies only when -saving). The number of oldest versions to keep is given by the -variable @code{kept-old-versions}. +(@emph{not} @code{kept-new-versions}; that applies only when saving). +The number of oldest versions to keep is given by the variable +@code{kept-old-versions}. Period with a positive numeric argument, as in @kbd{C-u 3 .}, specifies the number of newest versions to keep, overriding -- cgit v1.2.1 From e1db6a162a1401ac01bc7f31310e0719c177ace2 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sat, 28 Sep 2013 09:48:06 +0800 Subject: Comment. --- doc/lispref/sequences.texi | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'doc') diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi index 00384de7ec8..16103aa6dc6 100644 --- a/doc/lispref/sequences.texi +++ b/doc/lispref/sequences.texi @@ -713,6 +713,16 @@ This returns @code{t} if @var{object} is a bool-vector, and @code{nil} otherwise. @end defun +@c FIXME: Document these functions: +@c `bool-vector-exclusive-or' +@c `bool-vector-union' +@c `bool-vector-intersection' +@c `bool-vector-set-difference' +@c `bool-vector-not' +@c `bool-vector-subset' +@c `bool-vector-count-matches' +@c `bool-vector-count-matches-at' + Here is an example of creating, examining, and updating a bool-vector. Note that the printed form represents up to 8 boolean values as a single character. -- cgit v1.2.1 From 25201ef030764e1dbc1d4c01eb78ba66fb2de1cd Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sat, 28 Sep 2013 09:52:23 +0800 Subject: Fix typo. --- doc/lispref/sequences.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi index 16103aa6dc6..b6cf322211e 100644 --- a/doc/lispref/sequences.texi +++ b/doc/lispref/sequences.texi @@ -719,7 +719,7 @@ and @code{nil} otherwise. @c `bool-vector-intersection' @c `bool-vector-set-difference' @c `bool-vector-not' -@c `bool-vector-subset' +@c `bool-vector-subsetp' @c `bool-vector-count-matches' @c `bool-vector-count-matches-at' -- cgit v1.2.1 From f046996ea0be2a757297541fab740d306dc087f6 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 29 Sep 2013 06:26:29 +0800 Subject: Remove an unnecessary FIXME. --- doc/lispref/sequences.texi | 10 ---------- 1 file changed, 10 deletions(-) (limited to 'doc') diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi index b6cf322211e..00384de7ec8 100644 --- a/doc/lispref/sequences.texi +++ b/doc/lispref/sequences.texi @@ -713,16 +713,6 @@ This returns @code{t} if @var{object} is a bool-vector, and @code{nil} otherwise. @end defun -@c FIXME: Document these functions: -@c `bool-vector-exclusive-or' -@c `bool-vector-union' -@c `bool-vector-intersection' -@c `bool-vector-set-difference' -@c `bool-vector-not' -@c `bool-vector-subsetp' -@c `bool-vector-count-matches' -@c `bool-vector-count-matches-at' - Here is an example of creating, examining, and updating a bool-vector. Note that the printed form represents up to 8 boolean values as a single character. -- cgit v1.2.1 From 4ec3c26861690141a17134cba95315353573c8b6 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 29 Sep 2013 12:30:11 +0800 Subject: Remove unnecessary @refill. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/fortran-xtra.texi | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index f356d35f1c5..2dab6535a84 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-09-29 Xue Fuqiao + + * fortran-xtra.texi (Fortran Abbrev): Remove @refill. + 2013-09-26 Xue Fuqiao * dired.texi (Flagging Many Files): Use @emph instead of @strong. diff --git a/doc/emacs/fortran-xtra.texi b/doc/emacs/fortran-xtra.texi index da618fc4841..ec178153b6b 100644 --- a/doc/emacs/fortran-xtra.texi +++ b/doc/emacs/fortran-xtra.texi @@ -575,7 +575,7 @@ yourself. To use them, you must turn on Abbrev mode. semicolon. For example, one built-in Fortran abbrev is @samp{;c} for @samp{continue}. If you insert @samp{;c} and then insert a punctuation character such as a space or a newline, the @samp{;c} expands automatically -to @samp{continue}, provided Abbrev mode is enabled.@refill +to @samp{continue}, provided Abbrev mode is enabled. Type @samp{;?} or @samp{;C-h} to display a list of all the built-in Fortran abbrevs and what they stand for. -- cgit v1.2.1 From 6cfe977d9f4cc0ac1321ef25a18c4f2a7d5fb9b1 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 29 Sep 2013 14:16:45 +0800 Subject: Refine documentation of `looking-back'. * lisp/subr.el (looking-back): Do not recommend using looking-back. (bug#5689) * doc/lispref/searching.texi (Regexp Search): Refine. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/searching.texi | 14 +++++++------- 2 files changed, 11 insertions(+), 7 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 2fa3fc13e31..4a55b17127d 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-09-29 Xue Fuqiao + + * searching.texi (Regexp Search): Refine. + 2013-09-22 Xue Fuqiao * nonascii.texi (Default Coding Systems): Typo fix. diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi index 386d5bdde4c..993c2b26772 100644 --- a/doc/lispref/searching.texi +++ b/doc/lispref/searching.texi @@ -1146,13 +1146,7 @@ implemented by searching backwards from point for a match that ends at point. That can be quite slow if it has to search a long distance. You can bound the time required by specifying @var{limit}, which says not to search before @var{limit}. In this case, the match that is -found must begin at or after @var{limit}. - -If @var{greedy} is non-@code{nil}, this function extends the match -backwards as far as possible, stopping when a single additional -previous character cannot be part of a match for regexp. When the -match is extended, its starting position is allowed to occur before -@var{limit}. +found must begin at or after @var{limit}. Here's an example: @example @group @@ -1168,6 +1162,12 @@ comes back" twice. @end group @end example +If @var{greedy} is non-@code{nil}, this function extends the match +backwards as far as possible, stopping when a single additional +previous character cannot be part of a match for regexp. When the +match is extended, its starting position is allowed to occur before +@var{limit}. + @c http://debbugs.gnu.org/5689 As a general recommendation, try to avoid using @code{looking-back} wherever possible, since it is slow. For this reason, there are no -- cgit v1.2.1 From afae9a69536f96194f8486118830dd6601f371e5 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Wed, 2 Oct 2013 15:52:32 +0200 Subject: Sync with Tramp 2.2.8. * tramp.texi (External packages): Use `non-essential'. * trampver.texi: Update release number. --- doc/misc/ChangeLog | 7 +++++++ doc/misc/tramp.texi | 5 ++--- doc/misc/trampver.texi | 2 +- 3 files changed, 10 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 4a52e2314ca..d88d461b5ec 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,10 @@ +2013-10-02 Michael Albinus + + Sync with Tramp 2.2.8. + + * tramp.texi (External packages): Use `non-essential'. + * trampver.texi: Update release number. + 2013-09-14 Glenn Morris * eshell.texi: Markup fixes. diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index aa4cea58f04..2c02891d60f 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi @@ -3738,14 +3738,13 @@ therefore the last input character you have typed. If this is still in filename completion, and it does not connect to the possible remote host @option{ssh}. -@vindex tramp-completion-mode External packages, which use other characters for completing filenames in the minibuffer, must signal this to @value{tramp}. For this case, -the variable @code{tramp-completion-mode} can be bound temporarily to +the variable @code{non-essential} can be bound temporarily to a non-@code{nil} value. @lisp -(let ((tramp-completion-mode t)) +(let ((non-essential t)) ...) @end lisp diff --git a/doc/misc/trampver.texi b/doc/misc/trampver.texi index c22141335e1..5634430758b 100644 --- a/doc/misc/trampver.texi +++ b/doc/misc/trampver.texi @@ -8,7 +8,7 @@ @c In the Tramp CVS, the version number is auto-frobbed from @c configure.ac, so you should edit that file and run @c "autoconf && ./configure" to change the version number. -@set trampver 2.2.8-pre +@set trampver 2.2.8 @c Other flags from configuration @set instprefix /usr/local -- cgit v1.2.1 From 8c1f51ffff1b4761a4c3b4dbe17237bb5902b4eb Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Wed, 2 Oct 2013 23:14:06 +0800 Subject: Add an index for the table of syntax classes. * doc/lispref/syntax.texi (Syntax Class Table): Add an index for syntax class table. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/searching.texi | 1 + doc/lispref/syntax.texi | 1 + 3 files changed, 6 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 4a55b17127d..bfd55468812 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-10-02 Xue Fuqiao + + * syntax.texi (Syntax Class Table): Add an index for syntax class table. + 2013-09-29 Xue Fuqiao * searching.texi (Regexp Search): Refine. diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi index 993c2b26772..4a222a6e7af 100644 --- a/doc/lispref/searching.texi +++ b/doc/lispref/searching.texi @@ -1770,6 +1770,7 @@ Do not take action for this question---in other words, ``no''. Answer this question ``no'', and give up on the entire series of questions, assuming that the answers will be ``no''. +@c FIXME: Document ‘unread-comment-events’? --xfq @item exit-prefix Like @code{exit}, but add the key that was pressed to @code{unread-comment-events}. diff --git a/doc/lispref/syntax.texi b/doc/lispref/syntax.texi index 6bbd7a3a7b7..ae84cc974a8 100644 --- a/doc/lispref/syntax.texi +++ b/doc/lispref/syntax.texi @@ -141,6 +141,7 @@ Internals}. @node Syntax Class Table @subsection Table of Syntax Classes +@cindex syntax class table Here is a table of syntax classes, the characters that designate them, their meanings, and examples of their use. -- cgit v1.2.1 From 4b65d539569ff6a13be00e0d75db12b75c8a5266 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Wed, 2 Oct 2013 20:27:52 +0300 Subject: Documentation updates. --- doc/emacs/ChangeLog | 10 ++++++++++ doc/emacs/display.texi | 11 +++++++++++ doc/emacs/files.texi | 4 ++++ doc/emacs/frames.texi | 2 +- doc/emacs/screen.texi | 38 +++++++++++++++++++++----------------- 5 files changed, 47 insertions(+), 18 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index f356d35f1c5..abe173d31cc 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,13 @@ +2013-10-02 Eli Zaretskii + + * screen.texi (Menu Bar): Adapt to TTY menus. + + * frames.texi (Frames): Mention menu support on text terminals. + + * files.texi (Visiting): Mention the "File" menu-bar menu. + + * display.texi (Standard Faces): Mention TTY faces for menus. + 2013-09-26 Xue Fuqiao * dired.texi (Flagging Many Files): Use @emph instead of @strong. diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index aa9977a52e5..9327e7c8076 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi @@ -710,6 +710,17 @@ This face determines the color of tool bar icons. @xref{Tool Bars}. @cindex customization of @code{menu} face This face determines the colors and font of Emacs's menus. @xref{Menu Bars}. +@item tty-menu-enabled-face +@cindex faces for text-mode menus +@cindex TTY menu faces +This face is used to display enabled menu items on text-mode +terminals. +@item tty-menu-disabled-face +This face is used to display disabled menu items on text-mode +terminals. +@item tty-menu-selected-face +This face is used to display on text-mode terminals the menu item that +would be selected if you click a mouse or press @key{RET}. @end table @node Text Scale diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index bff0926f347..1ebe4caa290 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi @@ -286,6 +286,10 @@ exception, dropping a file into a window displaying a Dired buffer moves or copies the file into the displayed directory. For details, see @ref{Drag and Drop}, and @ref{Misc Dired Features}. + On text-mode terminals and on graphical displays when Emacs was +built without a GUI toolkit, you can visit files via the menu-bar +``File'' menu, which has a ``Visit New File'' item. + Each time you visit a file, Emacs automatically scans its contents to detect what character encoding and end-of-line convention it uses, and converts these to Emacs's internal encoding and end-of-line diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi index 5365bdc6e03..45f137d3b78 100644 --- a/doc/emacs/frames.texi +++ b/doc/emacs/frames.texi @@ -39,7 +39,7 @@ doing so on GNU and Unix systems; and @ifnottex @pxref{MS-DOS Mouse}, @end ifnottex -for doing so on MS-DOS). +for doing so on MS-DOS). Menus are supported on all text terminals. @menu * Mouse Commands:: Moving, cutting, and pasting, with the mouse. diff --git a/doc/emacs/screen.texi b/doc/emacs/screen.texi index 39077921a88..3306680f525 100644 --- a/doc/emacs/screen.texi +++ b/doc/emacs/screen.texi @@ -287,13 +287,12 @@ here, as you can more easily see them yourself. @kindex M-` @kindex F10 -@findex tmm-menubar @findex menu-bar-open - On a graphical display, you can use the mouse to choose a command -from the menu bar. An arrow on the right edge of a menu item means it -leads to a subsidiary menu, or @dfn{submenu}. A @samp{...} at the end -of a menu item means that the command will prompt you for further -input before it actually does anything. + On a display that support a mouse, you can use the mouse to choose a +command from the menu bar. An arrow on the right edge of a menu item +means it leads to a subsidiary menu, or @dfn{submenu}. A @samp{...} +at the end of a menu item means that the command will prompt you for +further input before it actually does anything. Some of the commands in the menu bar have ordinary key bindings as well; if so, a key binding is shown in parentheses after the item @@ -305,14 +304,19 @@ the usual way (@pxref{Key Help}). item by pressing @key{F10} (to run the command @code{menu-bar-open}). You can then navigate the menus with the arrow keys. To activate a selected menu item, press @key{RET}; to cancel menu navigation, press -@key{ESC}. - - On a text terminal, you can use the menu bar by typing @kbd{M-`} or -@key{F10} (these run the command @code{tmm-menubar}). This lets you -select a menu item with the keyboard. A provisional choice appears in -the echo area. You can use the up and down arrow keys to move through -the menu to different items, and then you can type @key{RET} to select -the item. Each menu item is also designated by a letter or digit -(usually the initial of some word in the item's name). This letter or -digit is separated from the item name by @samp{==>}. You can type the -item's letter or digit to select the item. +@kbd{C-g} or @kbd{ESC ESC ESC}. + +@findex tmm-menubar +@vindex tty-menu-open-use-tmm + On a text terminal, you can optionally access the menu-bar menus in +the echo area. To this end, customize the variable +@code{tty-menu-open-use-tmm} to a non-@code{nil} value. Then typing +@kbd{M-`} or @key{F10} will run the command @code{tmm-menubar} instead +of dropping down the menu. This lets you select a menu item with the +keyboard. A provisional choice appears in the echo area. You can use +the up and down arrow keys to move through the menu to different +items, and then you can type @key{RET} to select the item. Each menu +item is also designated by a letter or digit (usually the initial of +some word in the item's name). This letter or digit is separated from +the item name by @samp{==>}. You can type the item's letter or digit +to select the item. -- cgit v1.2.1 From d797af5518e6e918bd35bfe1c84c9b9ed5545eae Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Wed, 2 Oct 2013 20:40:29 +0300 Subject: Fix documentation. --- doc/emacs/screen.texi | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'doc') diff --git a/doc/emacs/screen.texi b/doc/emacs/screen.texi index 3306680f525..05c17d6931a 100644 --- a/doc/emacs/screen.texi +++ b/doc/emacs/screen.texi @@ -311,12 +311,13 @@ selected menu item, press @key{RET}; to cancel menu navigation, press On a text terminal, you can optionally access the menu-bar menus in the echo area. To this end, customize the variable @code{tty-menu-open-use-tmm} to a non-@code{nil} value. Then typing -@kbd{M-`} or @key{F10} will run the command @code{tmm-menubar} instead -of dropping down the menu. This lets you select a menu item with the -keyboard. A provisional choice appears in the echo area. You can use -the up and down arrow keys to move through the menu to different -items, and then you can type @key{RET} to select the item. Each menu -item is also designated by a letter or digit (usually the initial of -some word in the item's name). This letter or digit is separated from -the item name by @samp{==>}. You can type the item's letter or digit -to select the item. +@key{F10} will run the command @code{tmm-menubar} instead of dropping +down the menu. (You can also type @kbd{M-`}, which always invokes +@code{tmm-menubar}.) @code{tmm-menubar} lets you select a menu item +with the keyboard. A provisional choice appears in the echo area. +You can use the up and down arrow keys to move through the menu to +different items, and then you can type @key{RET} to select the item. +Each menu item is also designated by a letter or digit (usually the +initial of some word in the item's name). This letter or digit is +separated from the item name by @samp{==>}. You can type the item's +letter or digit to select the item. -- cgit v1.2.1 From 79b3ad55f60bf4ae4be8e5f9dfefc97878cf1026 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Thu, 3 Oct 2013 23:09:18 +0800 Subject: * doc/lispref/syntax.texi (Syntax Flags): Add an index for comment style. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/syntax.texi | 1 + 2 files changed, 5 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index bfd55468812..0fbac479317 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-10-03 Xue Fuqiao + + * syntax.texi (Syntax Flags): Add an index for comment style. + 2013-10-02 Xue Fuqiao * syntax.texi (Syntax Class Table): Add an index for syntax class table. diff --git a/doc/lispref/syntax.texi b/doc/lispref/syntax.texi index ae84cc974a8..4597058ba6e 100644 --- a/doc/lispref/syntax.texi +++ b/doc/lispref/syntax.texi @@ -336,6 +336,7 @@ that this kind of comment can be nested. For a two-character comment delimiter, @samp{n} on either character makes it nestable. +@cindex comment style Emacs supports several comment styles simultaneously in any one syntax table. A comment style is a set of flags @samp{b}, @samp{c}, and @samp{n}, so there can be up to 8 different comment styles. -- cgit v1.2.1 From c9358b45b947dd66de05527629511679bb90392a Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Thu, 3 Oct 2013 23:32:10 +0800 Subject: Add an index for modify-syntax-entry. --- doc/lispref/ChangeLog | 3 ++- doc/lispref/syntax.texi | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 0fbac479317..e6a71b01660 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,6 +1,7 @@ 2013-10-03 Xue Fuqiao - * syntax.texi (Syntax Flags): Add an index for comment style. + * syntax.texi (Syntax Flags): + (Syntax Table Functions): Add indexes. 2013-10-02 Xue Fuqiao diff --git a/doc/lispref/syntax.texi b/doc/lispref/syntax.texi index 4597058ba6e..45b73e31e8b 100644 --- a/doc/lispref/syntax.texi +++ b/doc/lispref/syntax.texi @@ -411,6 +411,7 @@ is not a syntax table. @end defun @deffn Command modify-syntax-entry char syntax-descriptor &optional table +@cindex syntax entry, setting This function sets the syntax entry for @var{char} according to @var{syntax-descriptor}. @var{char} must be a character, or a cons cell of the form @code{(@var{min} . @var{max})}; in the latter case, -- cgit v1.2.1 From 981b26a63adc88532c7a39f87c871e98d6a59602 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Thu, 3 Oct 2013 22:10:34 +0300 Subject: More updates for documentation. --- doc/lispref/ChangeLog | 8 ++++++++ doc/lispref/frames.texi | 35 ++++++++++++++++++++--------------- doc/lispref/keymaps.texi | 33 +++++++++++++++++---------------- 3 files changed, 45 insertions(+), 31 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 2fa3fc13e31..c93f1b7c659 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,11 @@ +2013-10-03 Eli Zaretskii + + * keymaps.texi (Defining Menus, Mouse Menus, Menu Bar): Modify + wording to the effect that menus are supported on TTYs. + + * frames.texi (Pop-Up Menus, Dialog Boxes) + (Display Feature Testing): Update for menu support on TTYs. + 2013-09-22 Xue Fuqiao * nonascii.texi (Default Coding Systems): Typo fix. diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index 370098c8b62..4935534d6eb 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi @@ -1741,8 +1741,10 @@ allows to know if the pointer has been hidden. @node Pop-Up Menus @section Pop-Up Menus - When using a window system, a Lisp program can pop up a menu so that -the user can choose an alternative with the mouse. + A Lisp program can pop up a menu so that the user can choose an +alternative with the mouse. On a text terminal, if the mouse is not +available, the user can choose an alternative using the keyboard +motion keys---@kbd{C-n}, @kbd{C-p}, or up- and down-arrow keys. @defun x-popup-menu position menu This function displays a pop-up menu and returns an indication of @@ -1763,20 +1765,22 @@ pixels, counting from the top left corner of @var{window}. @var{window} may be a window or a frame. If @var{position} is @code{t}, it means to use the current mouse -position. If @var{position} is @code{nil}, it means to precompute the -key binding equivalents for the keymaps specified in @var{menu}, -without actually displaying or popping up the menu. +position (or the top-left corner of the frame if the mouse is not +available on a text terminal). If @var{position} is @code{nil}, it +means to precompute the key binding equivalents for the keymaps +specified in @var{menu}, without actually displaying or popping up the +menu. The argument @var{menu} says what to display in the menu. It can be a keymap or a list of keymaps (@pxref{Menu Keymaps}). In this case, the return value is the list of events corresponding to the user's choice. This list has more than one element if the choice occurred in a submenu. (Note that @code{x-popup-menu} does not actually execute the -command bound to that sequence of events.) On toolkits that support -menu titles, the title is taken from the prompt string of @var{menu} -if @var{menu} is a keymap, or from the prompt string of the first -keymap in @var{menu} if it is a list of keymaps (@pxref{Defining -Menus}). +command bound to that sequence of events.) On text terminals and +toolkits that support menu titles, the title is taken from the prompt +string of @var{menu} if @var{menu} is a keymap, or from the prompt +string of the first keymap in @var{menu} if it is a list of keymaps +(@pxref{Defining Menus}). Alternatively, @var{menu} can have the following form: @@ -1800,7 +1804,7 @@ cell; this makes a non-selectable menu item. If the user gets rid of the menu without making a valid choice, for instance by clicking the mouse away from a valid choice or by typing -keyboard input, then this normally results in a quit and +@kbd{C-g}, then this normally results in a quit and @code{x-popup-menu} does not return. But if @var{position} is a mouse button event (indicating that the user invoked the menu with the mouse) then no quit occurs and @code{x-popup-menu} returns @code{nil}. @@ -1872,7 +1876,8 @@ window don't matter; only the frame matters. If @var{header} is non-@code{nil}, the frame title for the box is @samp{Information}, otherwise it is @samp{Question}. The former is used -for @code{message-box} (@pxref{message-box}). +for @code{message-box} (@pxref{message-box}). (On text terminals, the +box title is not displayed.) In some configurations, Emacs cannot display a real dialog box; so instead it displays the same items in a pop-up menu in the center of the @@ -2284,9 +2289,9 @@ obtain information about displays. @defun display-popup-menus-p &optional display This function returns @code{t} if popup menus are supported on -@var{display}, @code{nil} if not. Support for popup menus requires that -the mouse be available, since the user cannot choose menu items without -a mouse. +@var{display}, @code{nil} if not. Support for popup menus requires +that the mouse be available, since the menu is popped up by clicking +the mouse on some portion of the Emacs display. @end defun @defun display-graphic-p &optional display diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi index ef020364082..73d869d59fd 100644 --- a/doc/lispref/keymaps.texi +++ b/doc/lispref/keymaps.texi @@ -2023,7 +2023,7 @@ which is a string that appears as an element of the keymap. the menu's commands. Emacs displays the overall prompt string as the menu title in some cases, depending on the toolkit (if any) used for displaying menus.@footnote{It is required for menus which do not use a -toolkit, e.g., under MS-DOS.} Keyboard menus also display the +toolkit, e.g., on a text terminal.} Keyboard menus also display the overall prompt string. The easiest way to construct a keymap with a prompt string is to @@ -2371,16 +2371,17 @@ if the menu keymap contains a single nested keymap and no other menu items, the menu shows the contents of the nested keymap directly, not as a submenu. - However, if Emacs is compiled without X toolkit support, submenus -are not supported. Each nested keymap is shown as a menu item, but -clicking on it does not automatically pop up the submenu. If you wish -to imitate the effect of submenus, you can do that by giving a nested -keymap an item string which starts with @samp{@@}. This causes Emacs -to display the nested keymap using a separate @dfn{menu pane}; the -rest of the item string after the @samp{@@} is the pane label. If -Emacs is compiled without X toolkit support, menu panes are not used; -in that case, a @samp{@@} at the beginning of an item string is -omitted when the menu label is displayed, and has no other effect. + However, if Emacs is compiled without X toolkit support, or on text +terminals, submenus are not supported. Each nested keymap is shown as +a menu item, but clicking on it does not automatically pop up the +submenu. If you wish to imitate the effect of submenus, you can do +that by giving a nested keymap an item string which starts with +@samp{@@}. This causes Emacs to display the nested keymap using a +separate @dfn{menu pane}; the rest of the item string after the +@samp{@@} is the pane label. If Emacs is compiled without X toolkit +support, or if a menu is displayed on a text terminal, menu panes are +not used; in that case, a @samp{@@} at the beginning of an item string +is omitted when the menu label is displayed, and has no other effect. @node Keyboard Menus @subsection Menus and the Keyboard @@ -2485,10 +2486,10 @@ can do it this way: @subsection The Menu Bar @cindex menu bar - On graphical displays, there is usually a @dfn{menu bar} at the top -of each frame. @xref{Menu Bars,,,emacs, The GNU Emacs Manual}. Menu -bar items are subcommands of the fake ``function key'' -@code{menu-bar}, as defined in the active keymaps. + Emacs usually shows a @dfn{menu bar} at the top of each frame. +@xref{Menu Bars,,,emacs, The GNU Emacs Manual}. Menu bar items are +subcommands of the fake ``function key'' @code{menu-bar}, as defined +in the active keymaps. To add an item to the menu bar, invent a fake ``function key'' of your own (let's call it @var{key}), and make a binding for the key sequence @@ -2575,7 +2576,7 @@ in Documentation}. A @dfn{tool bar} is a row of clickable icons at the top of a frame, just below the menu bar. @xref{Tool Bars,,,emacs, The GNU Emacs -Manual}. +Manual}. Emacs normally shows a tool bar on graphical displays. On each frame, the frame parameter @code{tool-bar-lines} controls how many lines' worth of height to reserve for the tool bar. A zero -- cgit v1.2.1 From 9e73b2421653f1eb3f082d314b8ee96d8891df30 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sat, 5 Oct 2013 19:49:02 +0800 Subject: * doc/lispref/syntax.texi (Categories): Add an index for category sets. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/syntax.texi | 1 + 2 files changed, 5 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index e6a71b01660..ce2ff2e1665 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-10-05 Xue Fuqiao + + * syntax.texi (Categories): Add an index for category sets. + 2013-10-03 Xue Fuqiao * syntax.texi (Syntax Flags): diff --git a/doc/lispref/syntax.texi b/doc/lispref/syntax.texi index 45b73e31e8b..cdc82b00385 100644 --- a/doc/lispref/syntax.texi +++ b/doc/lispref/syntax.texi @@ -1060,6 +1060,7 @@ standard categories are available in all modes. the range @w{@samp{ }} to @samp{~}. You specify the name of a category when you define it with @code{define-category}. +@cindex category set The category table is actually a char-table (@pxref{Char-Tables}). The element of the category table at index @var{c} is a @dfn{category set}---a bool-vector---that indicates which categories character @var{c} -- cgit v1.2.1 From 544a2a8049b9f1660134e1868a32c9e829d3c952 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sat, 5 Oct 2013 23:06:17 +0800 Subject: Minor doc fixes. --- doc/lispref/display.texi | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc') diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 8ebf440c9fe..99cbb4d3458 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -168,6 +168,7 @@ entire frame width). @end defopt @defopt truncate-partial-width-windows +@cindex partial-width windows This variable controls line truncation in @dfn{partial-width} windows. A partial-width window is one that does not occupy the entire frame width (@pxref{Splitting Windows}). If the value is @code{nil}, line @@ -235,6 +236,7 @@ This variable is automatically buffer-local in every buffer. @cindex error display @cindex echo area +@c FIXME: Why not use @xref{Minibuffers} directly? --xfq The @dfn{echo area} is used for displaying error messages (@pxref{Errors}), for messages made with the @code{message} primitive, and for echoing keystrokes. It is not the same as the minibuffer, -- cgit v1.2.1 From 9548391ca23cd639f27f0847f2875c4c603012ff Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 6 Oct 2013 17:46:04 +0800 Subject: Remove unnecessary @refill. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/cal-xtra.texi | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 2dab6535a84..368d106fc48 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-10-06 Xue Fuqiao + + * cal-xtra.texi (Calendar Customizing, Diary Display): Remove @refill. + 2013-09-29 Xue Fuqiao * fortran-xtra.texi (Fortran Abbrev): Remove @refill. diff --git a/doc/emacs/cal-xtra.texi b/doc/emacs/cal-xtra.texi index 5c964bbb369..067272a794b 100644 --- a/doc/emacs/cal-xtra.texi +++ b/doc/emacs/cal-xtra.texi @@ -68,7 +68,7 @@ the calendar). Starting the calendar runs the normal hook @code{calendar-initial-window-hook}. Recomputation of the calendar display does not run this hook. But if you leave the calendar with the -@kbd{q} command and reenter it, the hook runs again.@refill +@kbd{q} command and reenter it, the hook runs again. @vindex calendar-today-visible-hook @findex calendar-star-date @@ -631,7 +631,7 @@ example, to sort the entries by the dates they apply to. Ordinarily, the fancy diary buffer does not show days for which there are no diary entries, even if that day is a holiday. If you want such days to be shown in the fancy diary buffer, set the variable -@code{diary-list-include-blanks} to @code{t}.@refill +@code{diary-list-include-blanks} to @code{t}. The fancy diary buffer enables View mode @iftex -- cgit v1.2.1 From 6de913c47e8efa3d2e234cb78c4c28ad681cfd21 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Sun, 6 Oct 2013 23:46:32 -0400 Subject: * doc/lispref/tips.texi (Comment Tips): Discourage use of triple semi-colons for non-headings. --- doc/lispref/ChangeLog | 5 +++++ doc/lispref/tips.texi | 30 +++++++----------------------- 2 files changed, 12 insertions(+), 23 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index ce2ff2e1665..0a89dbea3d9 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-10-07 Stefan Monnier + + * tips.texi (Comment Tips): Discourage use of triple semi-colons for + non-headings. + 2013-10-05 Xue Fuqiao * syntax.texi (Categories): Add an index for category sets. diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi index 2e3760e573e..26d81f738fc 100644 --- a/doc/lispref/tips.texi +++ b/doc/lispref/tips.texi @@ -836,10 +836,10 @@ For example: @smallexample @group -(setq base-version-list ; there was a base +(setq base-version-list ; There was a base (assoc (substring fn 0 start-vn) ; version to which file-version-assoc-list)) ; this looks like - ; a subversion + ; a subversion. @end group @end smallexample @@ -877,30 +877,14 @@ strings, though. @item ;;; Comments that start with three semicolons, @samp{;;;}, should start at -the left margin. These are used, occasionally, for comments within -functions that should start at the margin. We also use them sometimes -for comments that are between functions---whether to use two or three -semicolons depends on whether the comment should be considered a +the left margin. We use them +for comments which should be considered a ``heading'' by Outline minor mode. By default, comments starting with at least three semicolons (followed by a single space and a non-whitespace character) are considered headings, comments starting -with two or fewer are not. - -Another use for triple-semicolon comments is for commenting out lines -within a function. We use three semicolons for this precisely so that -they remain at the left margin. By default, Outline minor mode does -not consider a comment to be a heading (even if it starts with at -least three semicolons) if the semicolons are followed by at least two -spaces. Thus, if you add an introductory comment to the commented out -code, make sure to indent it by at least two spaces after the three -semicolons. - -@smallexample -(defun foo (a) -;;; This is no longer necessary. -;;; (force-mode-line-update) - (message "Finished with %s" a)) -@end smallexample +with two or fewer are not. Historically, triple-semicolon comments have +also been used for commenting out lines within a function, but this use +is discouraged. When commenting out entire functions, use two semicolons. -- cgit v1.2.1 From 81856d28fc944c68c0fd76f8df5c4ae073ed67f2 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Mon, 7 Oct 2013 14:48:18 +0200 Subject: * trampver.texi: Update release number. --- doc/misc/ChangeLog | 4 ++++ doc/misc/trampver.texi | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index d88d461b5ec..c02987568a1 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2013-10-07 Michael Albinus + + * trampver.texi: Update release number. + 2013-10-02 Michael Albinus Sync with Tramp 2.2.8. diff --git a/doc/misc/trampver.texi b/doc/misc/trampver.texi index 5634430758b..b4547ed1a52 100644 --- a/doc/misc/trampver.texi +++ b/doc/misc/trampver.texi @@ -8,7 +8,7 @@ @c In the Tramp CVS, the version number is auto-frobbed from @c configure.ac, so you should edit that file and run @c "autoconf && ./configure" to change the version number. -@set trampver 2.2.8 +@set trampver 2.2.9-pre @c Other flags from configuration @set instprefix /usr/local -- cgit v1.2.1 From b0904477b398c3778198b10a6bd0b1631284bc3f Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Tue, 8 Oct 2013 21:42:25 +0300 Subject: Fix bug #15557 with spelling in the manual. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ack.texi (Acknowledgments): Fix spelling of Hrvoje Nikֵ¡iִ‡'s name. --- doc/emacs/ChangeLog | 3 +++ doc/emacs/ack.texi | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 66665d6ddf9..698ddb7ffdf 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,8 @@ 2013-10-08 Eli Zaretskii + * ack.texi (Acknowledgments): Fix spelling of Hrvoje Nikšić's + name. (Bug#15557) + Support menus on text-mode terminals. * screen.texi (Menu Bar): Adapt to TTY menus. diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi index 47e5be88ce1..c47dfbbd02c 100644 --- a/doc/emacs/ack.texi +++ b/doc/emacs/ack.texi @@ -884,7 +884,7 @@ and @code{winterm} terminal emulators; and @file{vc-dir.el}, displaying the status of version-controlled directories. @item -Hrvoje Niksic wrote @file{savehist.el}, for saving the minibuffer +Hrvoje Nikšić wrote @file{savehist.el}, for saving the minibuffer history between Emacs sessions. @item -- cgit v1.2.1 From fa02290953acd2d0cda982d98ffd32e9f6873d28 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 9 Oct 2013 13:17:20 -0400 Subject: Doc tweaks for cond * doc/lispref/control.texi (Conditionals): Copyedits. * src/eval.c (Fcond): Doc tweak. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/control.texi | 17 ++++++++--------- 2 files changed, 12 insertions(+), 9 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 4f6a92ef5f3..8b55cfddec2 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-10-09 Glenn Morris + + * control.texi (Conditionals): Copyedits. (Bug#15558) + 2013-10-08 Eli Zaretskii Support menus on text-mode terminals. diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi index 70eabcd84a4..34a02aab69d 100644 --- a/doc/lispref/control.texi +++ b/doc/lispref/control.texi @@ -218,15 +218,11 @@ list is the @var{condition}; the remaining elements, if any, the @code{cond} tries the clauses in textual order, by evaluating the @var{condition} of each clause. If the value of @var{condition} is non-@code{nil}, the clause ``succeeds''; then @code{cond} evaluates its -@var{body-forms}, and the value of the last of @var{body-forms} becomes -the value of the @code{cond}. The remaining clauses are ignored. +@var{body-forms}, and returns the value of the last of @var{body-forms}. +Any remaining clauses are ignored. If the value of @var{condition} is @code{nil}, the clause ``fails'', so -the @code{cond} moves on to the following clause, trying its -@var{condition}. - -If every @var{condition} evaluates to @code{nil}, so that every clause -fails, @code{cond} returns @code{nil}. +the @code{cond} moves on to the following clause, trying its @var{condition}. A clause may also look like this: @@ -235,8 +231,11 @@ A clause may also look like this: @end example @noindent -Then, if @var{condition} is non-@code{nil} when tested, the value of -@var{condition} becomes the value of the @code{cond} form. +Then, if @var{condition} is non-@code{nil} when tested, the @code{cond} +form returns the value of @var{condition}. + +If every @var{condition} evaluates to @code{nil}, so that every clause +fails, @code{cond} returns @code{nil}. The following example has four clauses, which test for the cases where the value of @code{x} is a number, string, buffer and symbol, -- cgit v1.2.1 From 8c106d177f1a5b54f056ed4073e6501a684bc5d7 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sat, 12 Oct 2013 17:31:19 -0700 Subject: Use accented form of some names * doc/emacs/ack.texi (Acknowledgments): * doc/emacs/emacs.texi (Acknowledgments): * doc/lispref/intro.texi (Acknowledgments): Use accented form of some names. * lisp/emacs-lisp/authors.el (authors-aliases, authors-ignored-files): Add some entries. (authors-fixed-entries): Use accented form of name. --- doc/emacs/ChangeLog | 5 +++++ doc/emacs/ack.texi | 11 ++++++----- doc/emacs/emacs.texi | 12 ++++++------ doc/lispref/ChangeLog | 4 ++++ doc/lispref/intro.texi | 2 +- doc/misc/gnus.texi | 2 +- 6 files changed, 23 insertions(+), 13 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 698ddb7ffdf..30211fe7fb0 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,8 @@ +2013-10-13 Glenn Morris + + * ack.texi (Acknowledgments): + * emacs.texi (Acknowledgments): Use accented form of some names. + 2013-10-08 Eli Zaretskii * ack.texi (Acknowledgments): Fix spelling of Hrvoje Nikšić's diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi index c47dfbbd02c..7c0d28c752a 100644 --- a/doc/emacs/ack.texi +++ b/doc/emacs/ack.texi @@ -104,7 +104,7 @@ footnotes in email messages; and @file{gnus-audio.el} and @item Alexander L. Belikoff, Sergey Berezin, Sacha Chua, David Edmondson, Noah Friedman, Andreas Fuchs, Mario Lang, Ben Mesander, Lawrence -Mitchell, Gergely Nagy, Michael Olson, Per Persson, Jorgen Schaefer, +Mitchell, Gergely Nagy, Michael Olson, Per Persson, Jorgen Schäfer, Alex Schroeder, and Tom Tromey wrote ERC, an advanced Internet Relay Chat client (for more information, see the file @file{CREDITS} in the ERC distribution). @@ -276,7 +276,7 @@ over maintainership. Benjamin Andresen, Thomas Baumann, Joel Boehland, Jan Böc Borgman, Baoqiu Cui, Dan Davison, Christian Egli, Eric S. Fraga, Daniel German, Chris Gray, Konrad Hinsen, Tassilo Horn, Philip Jackson, Martyn Jago, Thorsten Jolitz, Jambunathan K, Tokuya Kameshima, Sergey Litvinov, David Maus, Ross Patterson, Juan Pechiar, Sebastian Rose, Eric Schulte, Paul Sexton, Ulf Stegemann, Andy Stewart, Christopher Suckling, David O'Toole, John Wiegley, Zhang Weize, -Piotr Zielinski, and others also wrote various Org mode components. +Piotr Zieliński, and others also wrote various Org mode components. For more information, @pxref{History and Acknowledgments,,, org, The Org Manual}. @item @@ -819,7 +819,7 @@ used in mail messages and news articles; and @file{terminal.el}, a terminal emulator for Emacs subprocesses. @item -Gerd Moellmann was the Emacs maintainer from the beginning of Emacs 21 +Gerd Möllmann was the Emacs maintainer from the beginning of Emacs 21 development until the release of 21.1. He wrote the new display engine used from Emacs 21 onwards, and the asynchronous timers facility. He also wrote @code{ebrowse}, the C@t{++} browser; @@ -979,7 +979,7 @@ minor mode for displaying a ruler in the header line; and structures. @item -Francesco A. Potorti wrote @file{cmacexp.el}, providing a command which +Francesco A. Potortì wrote @file{cmacexp.el}, providing a command which runs the C preprocessor on a region of a file and displays the results. He also expanded and redesigned the @code{etags} program. @@ -1099,8 +1099,9 @@ Ronald S. Schnell wrote @file{dunnet.el}, a text adventure game. Philippe Schnoebelen wrote @file{gomoku.el}, a Go Moku game played against Emacs; and @file{mpuz.el}, a multiplication puzzle. +@c FIXME files no longer included; but see bug 15601. @item -Rainer Schoepf contributed to Alpha and OSF1 support. +Rainer Schöpf contributed to Alpha and OSF1 support. @item Jan Schormann wrote @file{solitaire.el}, an implementation of the diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 7c594503afb..68d431ac4bc 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -1416,18 +1416,18 @@ Christopher J. Madsen, Neil M. Mager, Ken Manheimer, Bill Mann, Brian Marick, Simon Marshall, Bengt Martensson, Charlie Martin, Yukihiro Matsumoto, Tomohiro Matsuyama, David Maus, Thomas May, Will Mengarini, David Megginson, Stefan Merten, Ben A. Mesander, Wayne Mesard, Brad -Miller, Lawrence Mitchell, Richard Mlynarik, Gerd Moellmann, Stefan +Miller, Lawrence Mitchell, Richard Mlynarik, Gerd Möllmann, Stefan Monnier, Keith Moore, Jan Moringen, Morioka Tomohiko, Glenn Morris, Don Morrison, Diane Murray, Riccardo Murri, Sen Nagata, Erik Naggum, Gergely Nagy, Nobuyoshi Nakada, Thomas Neumann, Mike Newton, Thien-Thi Nguyen, -Jurgen Nickelsen, Dan Nicolaescu, Hrvoje Niksic, Jeff Norden, +Jurgen Nickelsen, Dan Nicolaescu, Hrvoje Nikšić, Jeff Norden, Andrew Norman, Edward O'Connor, Kentaro Ohkouchi, Christian Ohler, Kenichi Okada, Alexandre Oliva, Bob Olson, Michael Olson, Takaaki Ota, Pieter E. J. Pareit, Ross Patterson, David Pearson, Juan Pechiar, Jeff Peck, Damon Anton Permezel, Tom Perrine, William M. Perry, Per Persson, Jens Petersen, Daniel Pfeiffer, Justus Piater, Richard L. Pieri, Fred Pierresteguy, François Pinard, Daniel Pittman, Christian -Plaunt, Alexander Pohoyda, David Ponce, Francesco A. Potorti, +Plaunt, Alexander Pohoyda, David Ponce, Francesco A. Potortì, Michael D. Prange, Mukesh Prasad, Ken Raeburn, Marko Rahamaa, Ashwin Ram, Eric S. Raymond, Paul Reilly, Edward M. Reingold, David Reitter, Alex Rezinsky, Rob Riepel, Lara Rios, Adrian Robert, Nick @@ -1435,10 +1435,10 @@ Roberts, Roland B. Roberts, John Robinson, Denis B. Roegel, Danny Roozendaal, Sebastian Rose, William Rosenblatt, Markus Rost, Guillermo J. Rozas, Martin Rudalics, Ivar Rummelhoff, Jason Rumney, Wolfgang Rupprecht, Benjamin Rutt, Kevin Ryde, James B. Salem, Masahiko Sato, -Timo Savola, Jorgen Schaefer, Holger Schauer, William Schelter, Ralph +Timo Savola, Jorgen Schäfer, Holger Schauer, William Schelter, Ralph Schleicher, Gregor Schmid, Michael Schmidt, Ronald S. Schnell, Philippe Schnoebelen, Jan Schormann, Alex Schroeder, Stefan Schoef, -Rainer Schoepf, Raymond Scholz, Eric Schulte, Andreas Schwab, Randal +Rainer Schöpf, Raymond Scholz, Eric Schulte, Andreas Schwab, Randal Schwartz, Oliver Seidel, Manuel Serrano, Paul Sexton, Hovav Shacham, Stanislav Shalunov, Marc Shapiro, Richard Sharman, Olin Shivers, Tibor Šimko, Espen Skoglund, Rick Sladkey, Lynn Slater, Chris Smith, @@ -1460,7 +1460,7 @@ Wohler, Steven A. Wood, Dale R. Worley, Francis J. Wright, Felix S. T. Wu, Tom Wurgler, Yamamoto Mitsuharu, Katsumi Yamaoka, Masatake Yamato, Jonathan Yavner, Ryan Yeske, Ilya Zakharevich, Milan Zamazal, Victor Zandy, Eli Zaretskii, Jamie Zawinski, Andrew Zhilin, -Shenghuo Zhu, Piotr Zielinski, Ian T. Zimmermann, Reto Zimmermann, +Shenghuo Zhu, Piotr Zieliński, Ian T. Zimmermann, Reto Zimmermann, Neal Ziring, Teodor Zlatanov, and Detlev Zundel. @end iftex diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 8b55cfddec2..c7d70eed41e 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-10-13 Glenn Morris + + * intro.texi (Acknowledgments): Use accented form of some names. + 2013-10-09 Glenn Morris * control.texi (Conditionals): Copyedits. (Bug#15558) diff --git a/doc/lispref/intro.texi b/doc/lispref/intro.texi index 803e5229f6e..84da0bd3769 100644 --- a/doc/lispref/intro.texi +++ b/doc/lispref/intro.texi @@ -545,7 +545,7 @@ Eirik Fuller, Stephen Gildea, Bob Glickstein, Eric Hanchrow, Jesper Harder, George Hartzell, Nathan Hess, Masayuki Ida, Dan Jacobson, Jak Kirman, Bob Knighten, Frederick M. Korz, Joe Lammens, Glenn M. Lewis, K. Richard Magill, Brian Marick, Roland McGrath, Stefan Monnier, Skip -Montanaro, John Gardiner Myers, Thomas A. Peterson, Francesco Potorti, +Montanaro, John Gardiner Myers, Thomas A. Peterson, Francesco Potortì, Friedrich Pukelsheim, Arnold D. Robbins, Raul Rockwell, Jason Rumney, Per Starbäck, Shinichirou Sugou, Kimmo Suominen, Edward Tharp, Bill Trost, Rickard Westman, Jean White, Eduard Wiebe, Matthew Wilding, diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index f7f373664c6..d05ed53e69b 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -22998,7 +22998,7 @@ elements on the line is (i.e., the non-info part). If you put additional elements on the mode line (e.g., a clock), you should modify this variable: -@c Hook written by Francesco Potorti` +@c Hook written by Francesco Potortì @lisp (add-hook 'display-time-hook (lambda () (setq gnus-mode-non-string-length -- cgit v1.2.1 From b22d06865b8497477b16d41388941cf231909b25 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sat, 12 Oct 2013 22:17:42 -0700 Subject: Doc fixes for text-scale-adjust * lisp/face-remap.el (text-scale-adjust): Doc fix. * doc/emacs/display.texi (Text Scale): Update text-scale-adjust details. Fixes: debbugs:15434 --- doc/emacs/ChangeLog | 2 ++ doc/emacs/display.texi | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 30211fe7fb0..d37c30ea81a 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,7 @@ 2013-10-13 Glenn Morris + * display.texi (Text Scale): Update text-scale-adjust details. + * ack.texi (Acknowledgments): * emacs.texi (Acknowledgments): Use accented form of some names. diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index 9327e7c8076..80dffe2e4c9 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi @@ -743,9 +743,9 @@ determine which action to take. @kbd{C-x}. For instance, @kbd{C-x C-= C-= C-=} increases the face height by three steps. Each step scales the text height by a factor of 1.2; to change this factor, customize the variable -@code{text-scale-mode-step}. As an exception, a numeric argument of 0 +@code{text-scale-mode-step}. A numeric argument of 0 to the @code{text-scale-adjust} command restores the default height, -similar to typing @kbd{C-x C-0}. +the same as typing @kbd{C-x C-0}. @cindex increase buffer face height @findex text-scale-increase -- cgit v1.2.1 From 524aabace84ea27390827d8f2851877f31d90d6c Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 13 Oct 2013 18:22:34 +0800 Subject: Remove unnecessary @refill. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/calendar.texi | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index d37c30ea81a..cf6b2fa3906 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-10-13 Xue Fuqiao + + * calendar.texi (Special Diary Entries): Remove @refill. + 2013-10-13 Glenn Morris * display.texi (Text Scale): Update text-scale-adjust details. diff --git a/doc/emacs/calendar.texi b/doc/emacs/calendar.texi index 88f46984207..c305be6f670 100644 --- a/doc/emacs/calendar.texi +++ b/doc/emacs/calendar.texi @@ -1347,7 +1347,7 @@ mean ``second'', @minus{}2 would mean ``second-to-last'', and so on). The month can be a single month or a list of months. Thus you could change the 11 above to @samp{'(1 2 3)} and have the entry apply to the last Thursday of January, February, and March. If the month is @code{t}, the -entry applies to all months of the year.@refill +entry applies to all months of the year. Each of the standard sexp diary entries takes an optional parameter specifying the name of a face or a single-character string to use when -- cgit v1.2.1 From 9148ee920e97405e0c89298a63aeb3088a4cf31f Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sun, 13 Oct 2013 16:01:20 -0700 Subject: * configure.ac [alpha]: Explicit error in non-ELF case. * doc/emacs/ack.texi (Acknowledgments): Comment out old alpha stuff. * lisp/emacs-lisp/authors.el (authors-fixed-entries): Comment out old alpha stuff. Fixes: debbugs:15601 --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/ack.texi | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index cf6b2fa3906..389757eee65 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-10-13 Glenn Morris + + * ack.texi (Acknowledgments): Comment out old alpha stuff. + 2013-10-13 Xue Fuqiao * calendar.texi (Special Diary Entries): Remove @refill. diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi index 7c0d28c752a..0cfcfb5e4b3 100644 --- a/doc/emacs/ack.texi +++ b/doc/emacs/ack.texi @@ -1099,9 +1099,11 @@ Ronald S. Schnell wrote @file{dunnet.el}, a text adventure game. Philippe Schnoebelen wrote @file{gomoku.el}, a Go Moku game played against Emacs; and @file{mpuz.el}, a multiplication puzzle. -@c FIXME files no longer included; but see bug 15601. +@ignore +@c Removed in 24.1. @item Rainer Schöpf contributed to Alpha and OSF1 support. +@end ignore @item Jan Schormann wrote @file{solitaire.el}, an implementation of the -- cgit v1.2.1 From c463be09eb74597309dc4014ac7f96d0b05ce01c Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Tue, 15 Oct 2013 06:20:52 +0800 Subject: Comment --- doc/lispref/display.texi | 3 +++ 1 file changed, 3 insertions(+) (limited to 'doc') diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 99cbb4d3458..ae24439c41f 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -611,6 +611,9 @@ program signals a Lisp error and then handles it with @code{condition-case}, the user won't see the error message; it could show the message to the user by reporting it as a warning.) +@c FIXME: Why use ‘(bytecomp)’ instead of ‘'bytecomp’ or simply +@c ‘bytecomp’ here? The parens are part of ‘warning-type-format’ but +@c not part of the warning type. --xfq @cindex warning type Each warning has a @dfn{warning type} to classify it. The type is a list of symbols. The first symbol should be the custom group that you -- cgit v1.2.1 From f55f544f4010368eb422b07c086b205ee2e39cf4 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Tue, 15 Oct 2013 06:25:14 +0800 Subject: * doc/misc/cl.texi (Argument Lists): Add indexes for &key and &aux. --- doc/misc/ChangeLog | 4 ++++ doc/misc/cl.texi | 2 ++ 2 files changed, 6 insertions(+) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index c02987568a1..a05a9f67ac4 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2013-10-14 Xue Fuqiao + + * cl.texi (Argument Lists): Add indexes for &key and &aux. + 2013-10-07 Michael Albinus * trampver.texi: Update release number. diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi index 6dfc41d83f3..49c02568475 100644 --- a/doc/misc/cl.texi +++ b/doc/misc/cl.texi @@ -273,6 +273,8 @@ and the @code{cl-eval-when} construct. @node Argument Lists @section Argument Lists +@cindex &key +@cindex &aux @noindent Emacs Lisp's notation for argument lists of functions is a subset of -- cgit v1.2.1 From 2641f1a547735f506a3d8039053d457a1da5e5ea Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Tue, 15 Oct 2013 16:43:56 +0800 Subject: =?UTF-8?q?*=20doc/lispref/display.texi=20(Warning=20Basics):=20Me?= =?UTF-8?q?ntion=20the=20=E2=80=98*Warnings*=E2=80=99=20buffer.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/display.texi | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index c7d70eed41e..7e1bee186ed 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-10-15 Xue Fuqiao + + * display.texi (Warning Basics): Mention the ‘*Warnings*’ buffer. + 2013-10-13 Glenn Morris * intro.texi (Acknowledgments): Use accented form of some names. diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index ae24439c41f..c8cf77fb6cf 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -633,8 +633,8 @@ for logging the warning. By default, it is @file{*Warnings*}. @defun lwarn type level message &rest args This function reports a warning using the value of @code{(format -@var{message} @var{args}...)} as the message. In other respects it is -equivalent to @code{display-warning}. +@var{message} @var{args}...)} as the message in the @file{*Warnings*} +buffer. In other respects it is equivalent to @code{display-warning}. @end defun @defun warn message &rest args -- cgit v1.2.1 From 89f20e05797d4d69a0731559c87c656fd54ac338 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Wed, 16 Oct 2013 21:46:01 +0800 Subject: Add an index for explicit selective display. * doc/lispref/display.texi (Selective Display): Add an index for explicit selective display. --- doc/lispref/ChangeLog | 5 +++++ doc/lispref/display.texi | 1 + 2 files changed, 6 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 7e1bee186ed..f6d34c01466 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-10-16 Xue Fuqiao + + * display.texi (Selective Display): Add an index for explicit + selective display. + 2013-10-15 Xue Fuqiao * display.texi (Warning Basics): Mention the ‘*Warnings*’ buffer. diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index c8cf77fb6cf..bd80d1cbcc7 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -961,6 +961,7 @@ make it invisible again. @dfn{Selective display} refers to a pair of related features for hiding certain lines on the screen. +@cindex explicit selective display The first variant, explicit selective display, is designed for use in a Lisp program: it controls which lines are hidden by altering the text. This kind of hiding in some ways resembles the effect of the -- cgit v1.2.1 From c8722a9799832942ff219f4ae881f44985c35924 Mon Sep 17 00:00:00 2001 From: Jay Belanger Date: Wed, 16 Oct 2013 22:37:05 -0500 Subject: * calc/calc-comb.el (math-prime-test): Don't assume large integers are represented by lists. * doc/misc/calc.el (Data Type Formats): Don't specify the size at which integers begin to be represented by lists. --- doc/misc/ChangeLog | 5 +++++ doc/misc/calc.texi | 13 ++++++++----- 2 files changed, 13 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index a05a9f67ac4..76d3954cfcf 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,8 @@ +2013-10-17 Jay Belanger + + * calc.el (Data Type Formats): Don't specify the size at + which integers begin to be represented by lists. + 2013-10-14 Xue Fuqiao * cl.texi (Argument Lists): Add indexes for &key and &aux. diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index b2b054ec1ea..04160eafad0 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi @@ -33306,12 +33306,15 @@ Lisp integers. This is the only storage format for Calc data objects which is not a Lisp list. Large integers are stored as lists of the form @samp{(bigpos @var{d0} -@var{d1} @var{d2} @dots{})} for positive integers 1000000 or more, or -@samp{(bigneg @var{d0} @var{d1} @var{d2} @dots{})} for negative integers -@mathit{-1000000} or less. Each @var{d} is a base-1000 ``digit,'' a Lisp integer -from 0 to 999. The least significant digit is @var{d0}; the last digit, +@var{d1} @var{d2} @dots{})} for sufficiently large positive integers +(where ``sufficiently large'' depends on the machine), or +@samp{(bigneg @var{d0} @var{d1} @var{d2} @dots{})} for negative +integers. Each @var{d} is a base-@expr{10^n} ``digit'' (where again, +@expr{n} depends on the machine), a Lisp integer from 0 to +99@dots{}9. The least significant digit is @var{d0}; the last digit, @var{dn}, which is always nonzero, is the most significant digit. For -example, the integer @mathit{-12345678} is stored as @samp{(bigneg 678 345 12)}. +example, the integer @mathit{-12345678} might be stored as +@samp{(bigneg 678 345 12)}. The distinction between small and large integers is entirely hidden from the user. In @code{defmath} definitions, the Lisp predicate @code{integerp} -- cgit v1.2.1 From 12b10f017c486ebca34a3cf0e9233f11ecf55dc9 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Thu, 17 Oct 2013 19:43:40 +0800 Subject: Trivial doc fix. --- doc/lispref/display.texi | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index bd80d1cbcc7..8be8df55c5c 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -1126,6 +1126,7 @@ The value of the last form in @var{forms} is returned. @result{} # ---------- Buffer: foo ---------- + 20 # -- cgit v1.2.1 From 475c7d3f4f9d61a8f097635656aa8c744aff3e0a Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Thu, 17 Oct 2013 21:46:44 +0800 Subject: =?UTF-8?q?*=20doc/lispref/display.texi=20(Width):=20Fix=20argumen?= =?UTF-8?q?ts=20of=20=E2=80=98truncate-string-to-width=E2=80=99.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/display.texi | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index f6d34c01466..253398a3ec2 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-10-17 Xue Fuqiao + + * display.texi (Width): Fix arguments of ‘truncate-string-to-width’. + 2013-10-16 Xue Fuqiao * display.texi (Selective Display): Add an index for explicit diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 8be8df55c5c..75c27daa96e 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -1796,8 +1796,8 @@ the beginning of the result if one multi-column character in If @var{ellipsis} is non-@code{nil}, it should be a string which will replace the end of @var{str} (including any padding) if it extends -beyond @var{end-column}, unless the display width of @var{str} is -equal to or less than the display width of @var{ellipsis}. If +beyond @var{width}, unless the display width of @var{string} is equal +to or less than the display width of @var{ellipsis}. If @var{ellipsis} is non-@code{nil} and not a string, it stands for @code{"..."}. -- cgit v1.2.1 From 14cf4bfea97d5a3fb24e416b84f0b8ae08c08229 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Thu, 17 Oct 2013 21:56:37 +0800 Subject: Continuation of previous change. --- doc/lispref/display.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 75c27daa96e..81ee4d7a1d9 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -1795,7 +1795,7 @@ the beginning of the result if one multi-column character in @var{string} extends across the column @var{start-column}. If @var{ellipsis} is non-@code{nil}, it should be a string which will -replace the end of @var{str} (including any padding) if it extends +replace the end of @var{string} (including any padding) if it extends beyond @var{width}, unless the display width of @var{string} is equal to or less than the display width of @var{ellipsis}. If @var{ellipsis} is non-@code{nil} and not a string, it stands for -- cgit v1.2.1 From 917ac5ebf788a706ab2154b944de7193655aee40 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Fri, 18 Oct 2013 22:22:55 +0800 Subject: * doc/lispref/display.texi (Line Height): Add an index for line height. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/display.texi | 1 + 2 files changed, 5 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 253398a3ec2..e946f98c9d0 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-10-18 Xue Fuqiao + + * display.texi (Line Height): Add an index for line height. + 2013-10-17 Xue Fuqiao * display.texi (Width): Fix arguments of ‘truncate-string-to-width’. diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 81ee4d7a1d9..40fd1615729 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -1812,6 +1812,7 @@ to or less than the display width of @var{ellipsis}. If @node Line Height @section Line Height @cindex line height +@cindex height of a line The total height of each display line consists of the height of the contents of the line, plus optional additional vertical line spacing -- cgit v1.2.1 From 74f202ae2dbdcaaffede545dfab5e26f4d75523d Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Fri, 18 Oct 2013 22:27:44 +0800 Subject: Another index for line height. --- doc/lispref/ChangeLog | 2 +- doc/lispref/display.texi | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index e946f98c9d0..d3ea6b24311 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,6 +1,6 @@ 2013-10-18 Xue Fuqiao - * display.texi (Line Height): Add an index for line height. + * display.texi (Line Height): Add indexes for line height. 2013-10-17 Xue Fuqiao diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 40fd1615729..481e4a887d5 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -1847,6 +1847,7 @@ First Emacs uses @var{height} as a height spec to control extra space to bring the total line height up to @var{total}. In this case, the other ways to specify the line spacing are ignored. +@cindex height spec Any other kind of property value is a height spec, which translates into a number---the specified line height. There are several ways to write a height spec; here's how each of them translates into a number: -- cgit v1.2.1 From 8d02f0ad3ba4cb4863f99579454c29e55149ffd9 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sat, 19 Oct 2013 21:53:01 +0800 Subject: =?UTF-8?q?Add=20indexes=20for=20the=20=E2=80=98:box=E2=80=99=20fa?= =?UTF-8?q?ce=20attribute.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/lispref/display.texi (Face Attributes): Add indexes for the ‘:box’ face attribute. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/display.texi | 2 ++ 2 files changed, 6 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index d3ea6b24311..42659150058 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-10-19 Xue Fuqiao + + * display.texi (Face Attributes): Add indexes for the ‘:box’ face attribute. + 2013-10-18 Xue Fuqiao * display.texi (Line Height): Add indexes for line height. diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 481e4a887d5..cd2626043d7 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -2077,6 +2077,8 @@ value @code{nil} means do not overline. Whether or not characters should be strike-through, and in what color. The value is used like that of @code{:overline}. +@cindex 2D box +@cindex 3D box @item :box Whether or not a box should be drawn around characters, its color, the width of the box lines, and 3D appearance. Here are the possible -- cgit v1.2.1 From 8715f5a6aa568928e807c6b18011265bfe2d79fe Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Mon, 21 Oct 2013 06:33:05 +0800 Subject: Remove unnecessary @refill. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/custom.texi | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 389757eee65..f36097e5ed6 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-10-20 Xue Fuqiao + + * custom.texi (Init Syntax, Terminal Init, Terminal Init): Remove @refill. + 2013-10-13 Glenn Morris * ack.texi (Acknowledgments): Comment out old alpha stuff. diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi index f3e07fd8ba0..741028cc0a8 100644 --- a/doc/emacs/custom.texi +++ b/doc/emacs/custom.texi @@ -2188,7 +2188,7 @@ sequences are mandatory. @samp{\C-} can be used as a prefix for a control character, as in @samp{\C-s} for @acronym{ASCII} control-S, and @samp{\M-} can be used as a prefix for a Meta character, as in @samp{\M-a} for @kbd{Meta-A} or @samp{\M-\C-a} for -@kbd{Control-Meta-A}.@refill +@kbd{Control-Meta-A}. @xref{Init Non-ASCII}, for information about including non-@acronym{ASCII} in your init file. @@ -2451,7 +2451,7 @@ it is run on that type of terminal. For a terminal type named found by searching the directories @code{load-path} as usual and trying the suffixes @samp{.elc} and @samp{.el}. Normally it appears in the subdirectory @file{term} of the directory where most Emacs libraries are -kept.@refill +kept. The usual purpose of the terminal-specific library is to map the escape sequences used by the terminal's function keys onto more @@ -2466,7 +2466,7 @@ function keys that Termcap does not specify. before the first hyphen is significant in choosing the library name. Thus, terminal types @samp{aaa-48} and @samp{aaa-30-rv} both use the library @file{term/aaa}. The code in the library can use -@code{(getenv "TERM")} to find the full terminal type name.@refill +@code{(getenv "TERM")} to find the full terminal type name. @vindex term-file-prefix The library's name is constructed by concatenating the value of the -- cgit v1.2.1 From 48f73cfbf3d028b29655b207491e129607b88632 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 23 Oct 2013 00:20:57 -0700 Subject: Progress towards allowing installation in directories with whitespace * Makefile.in (COPYDESTS, write_subdir, install-arch-dep) (install-arch-indep, install-etcdoc, install-info, install-man) (install-etc, uninstall): Quote entities that might contain whitespace. * build-aux/update-subdirs: Handle whitespace in argument. Check cd return value. * doc/emacs/Makefile.in (install-dvi, install-html, install-pdf) (install-ps, uninstall-dvi, uninstall-html, uninstall-ps) (uninstall-pdf): Quote entities that might contain whitespace. * doc/lispintro/Makefile.in (install-dvi, install-html, install-pdf) (install-ps, uninstall-dvi, uninstall-html, uninstall-ps) (uninstall-pdf): Quote entities that might contain whitespace. * doc/lispref/Makefile.in (install-dvi, install-html, install-pdf) (install-ps, uninstall-dvi, uninstall-html, uninstall-ps) (uninstall-pdf): Quote entities that might contain whitespace. * doc/misc/Makefile.in (install-dvi, install-html, install-pdf) (install-ps, uninstall-dvi, uninstall-html, uninstall-ps) (uninstall-pdf): Quote entities that might contain whitespace. * lib-src/Makefile.in ($(DESTDIR)${archlibdir}, need-blessmail, install) (uninstall): Quote entities that might contain whitespace. * nt/Makefile.in ($(DESTDIR)${archlibdir}, install, uninstall): Quote entities that might contain whitespace. --- doc/emacs/ChangeLog | 9 ++++++++- doc/emacs/Makefile.in | 28 ++++++++++++++-------------- doc/lispintro/ChangeLog | 6 ++++++ doc/lispintro/Makefile.in | 28 ++++++++++++++-------------- doc/lispref/ChangeLog | 6 ++++++ doc/lispref/Makefile.in | 28 ++++++++++++++-------------- doc/misc/ChangeLog | 6 ++++++ doc/misc/Makefile.in | 28 ++++++++++++++-------------- 8 files changed, 82 insertions(+), 57 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index f36097e5ed6..eb82535031f 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,6 +1,13 @@ +2013-10-23 Glenn Morris + + * Makefile.in (install-dvi, install-html, install-pdf) + (install-ps, uninstall-dvi, uninstall-html, uninstall-ps) + (uninstall-pdf): Quote entities that might contain whitespace. + 2013-10-20 Xue Fuqiao - * custom.texi (Init Syntax, Terminal Init, Terminal Init): Remove @refill. + * custom.texi (Init Syntax, Terminal Init, Terminal Init): + Remove @refill. 2013-10-13 Glenn Morris diff --git a/doc/emacs/Makefile.in b/doc/emacs/Makefile.in index bf9f8152ad4..9c4a90db4aa 100644 --- a/doc/emacs/Makefile.in +++ b/doc/emacs/Makefile.in @@ -229,21 +229,21 @@ dist: .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) + 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) + 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) + umask 022;$(MKDIR_P) "$(DESTDIR)$(pdfdir)" + $(INSTALL_DATA) $(PDF_TARGETS) "$(DESTDIR)$(pdfdir)" install-ps: ps - umask 022; $(MKDIR_P) $(DESTDIR)$(psdir) + umask 022; $(MKDIR_P) "$(DESTDIR)$(psdir)" for file in $(PS_TARGETS); do \ - $(INSTALL_DATA) $${file} $(DESTDIR)$(psdir); \ + $(INSTALL_DATA) $${file} "$(DESTDIR)$(psdir)"; \ [ -n "${GZIP_PROG}" ] || continue; \ - rm -f $(DESTDIR)$(psdir)/$${file}.gz; \ - ${GZIP_PROG} -9n $(DESTDIR)$(psdir)/$${file}; \ + rm -f "$(DESTDIR)$(psdir)/$${file}.gz"; \ + ${GZIP_PROG} -9n "$(DESTDIR)$(psdir)/$${file}"; \ done ## Top-level Makefile installs the info pages. @@ -254,20 +254,20 @@ install-doc: install-dvi install-html install-pdf install-ps uninstall-dvi: for file in $(DVI_TARGETS); do \ - rm -f $(DESTDIR)$(dvidir)/$${file}; \ + rm -f "$(DESTDIR)$(dvidir)/$${file}"; \ done uninstall-html: for file in $(HTML_TARGETS); do \ - rm -f $(DESTDIR)$(htmldir)/$${file}; \ + 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}; \ + rm -f "$(DESTDIR)$(psdir)/$${file}$${ext}"; \ done uninstall-pdf: for file in $(PDF_TARGETS); do \ - rm -f $(DESTDIR)$(pdfdir)/$${file}; \ + rm -f "$(DESTDIR)$(pdfdir)/$${file}"; \ done uninstall-doc: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index ec082eecb52..2e6164968c3 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -1,3 +1,9 @@ +2013-10-23 Glenn Morris + + * Makefile.in (install-dvi, install-html, install-pdf) + (install-ps, uninstall-dvi, uninstall-html, uninstall-ps) + (uninstall-pdf): Quote entities that might contain whitespace. + 2013-09-01 Glenn Morris * emacs-lisp-intro.texi (beginning-of-buffer complete): diff --git a/doc/lispintro/Makefile.in b/doc/lispintro/Makefile.in index 363e12215b3..9a643c004ed 100644 --- a/doc/lispintro/Makefile.in +++ b/doc/lispintro/Makefile.in @@ -145,21 +145,21 @@ dist: .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) + 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) + 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) + umask 022;$(MKDIR_P) "$(DESTDIR)$(pdfdir)" + $(INSTALL_DATA) $(PDF_TARGETS) "$(DESTDIR)$(pdfdir)" install-ps: ps - umask 022; $(MKDIR_P) $(DESTDIR)$(psdir) + umask 022; $(MKDIR_P) "$(DESTDIR)$(psdir)" for file in $(PS_TARGETS); do \ - $(INSTALL_DATA) $${file} $(DESTDIR)$(psdir); \ + $(INSTALL_DATA) $${file} "$(DESTDIR)$(psdir)"; \ [ -n "${GZIP_PROG}" ] || continue; \ - rm -f $(DESTDIR)$(psdir)/$${file}.gz; \ - ${GZIP_PROG} -9n $(DESTDIR)$(psdir)/$${file}; \ + rm -f "$(DESTDIR)$(psdir)/$${file}.gz"; \ + ${GZIP_PROG} -9n "$(DESTDIR)$(psdir)/$${file}"; \ done ## Top-level Makefile installs the info pages. @@ -170,20 +170,20 @@ install-doc: install-dvi install-html install-pdf install-ps uninstall-dvi: for file in $(DVI_TARGETS); do \ - rm -f $(DESTDIR)$(dvidir)/$${file}; \ + rm -f "$(DESTDIR)$(dvidir)/$${file}"; \ done uninstall-html: for file in $(HTML_TARGETS); do \ - rm -f $(DESTDIR)$(htmldir)/$${file}; \ + 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}; \ + rm -f "$(DESTDIR)$(psdir)/$${file}$${ext}"; \ done uninstall-pdf: for file in $(PDF_TARGETS); do \ - rm -f $(DESTDIR)$(pdfdir)/$${file}; \ + rm -f "$(DESTDIR)$(pdfdir)/$${file}"; \ done uninstall-doc: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 42659150058..7efe70f683d 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,9 @@ +2013-10-23 Glenn Morris + + * Makefile.in (install-dvi, install-html, install-pdf) + (install-ps, uninstall-dvi, uninstall-html, uninstall-ps) + (uninstall-pdf): Quote entities that might contain whitespace. + 2013-10-19 Xue Fuqiao * display.texi (Face Attributes): Add indexes for the ‘:box’ face attribute. diff --git a/doc/lispref/Makefile.in b/doc/lispref/Makefile.in index 164646ac433..e2cc9ac088a 100644 --- a/doc/lispref/Makefile.in +++ b/doc/lispref/Makefile.in @@ -201,21 +201,21 @@ dist: .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) + 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) + 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) + umask 022;$(MKDIR_P) "$(DESTDIR)$(pdfdir)" + $(INSTALL_DATA) $(PDF_TARGETS) "$(DESTDIR)$(pdfdir)" install-ps: ps - umask 022; $(MKDIR_P) $(DESTDIR)$(psdir) + umask 022; $(MKDIR_P) "$(DESTDIR)$(psdir)" for file in $(PS_TARGETS); do \ - $(INSTALL_DATA) $${file} $(DESTDIR)$(psdir); \ + $(INSTALL_DATA) $${file} "$(DESTDIR)$(psdir)"; \ [ -n "${GZIP_PROG}" ] || continue; \ - rm -f $(DESTDIR)$(psdir)/$${file}.gz; \ - ${GZIP_PROG} -9n $(DESTDIR)$(psdir)/$${file}; \ + rm -f "$(DESTDIR)$(psdir)/$${file}.gz"; \ + ${GZIP_PROG} -9n "$(DESTDIR)$(psdir)/$${file}"; \ done ## Top-level Makefile installs the info pages. @@ -226,20 +226,20 @@ install-doc: install-dvi install-html install-pdf install-ps uninstall-dvi: for file in $(DVI_TARGETS); do \ - rm -f $(DESTDIR)$(dvidir)/$${file}; \ + rm -f "$(DESTDIR)$(dvidir)/$${file}"; \ done uninstall-html: for file in $(HTML_TARGETS); do \ - rm -f $(DESTDIR)$(htmldir)/$${file}; \ + 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}; \ + rm -f "$(DESTDIR)$(psdir)/$${file}$${ext}"; \ done uninstall-pdf: for file in $(PDF_TARGETS); do \ - rm -f $(DESTDIR)$(pdfdir)/$${file}; \ + rm -f "$(DESTDIR)$(pdfdir)/$${file}"; \ done uninstall-doc: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 76d3954cfcf..3563c1e768d 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,9 @@ +2013-10-23 Glenn Morris + + * Makefile.in (install-dvi, install-html, install-pdf) + (install-ps, uninstall-dvi, uninstall-html, uninstall-ps) + (uninstall-pdf): Quote entities that might contain whitespace. + 2013-10-17 Jay Belanger * calc.el (Data Type Formats): Don't specify the size at diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index 30fc4953172..f43520e97a4 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in @@ -877,21 +877,21 @@ dist: .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) + 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) + 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) + umask 022;$(MKDIR_P) "$(DESTDIR)$(pdfdir)" + $(INSTALL_DATA) $(PDF_TARGETS) "$(DESTDIR)$(pdfdir)" install-ps: ps - umask 022; $(MKDIR_P) $(DESTDIR)$(psdir) + umask 022; $(MKDIR_P) "$(DESTDIR)$(psdir)" for file in $(PS_TARGETS); do \ - $(INSTALL_DATA) $${file} $(DESTDIR)$(psdir); \ + $(INSTALL_DATA) $${file} "$(DESTDIR)$(psdir)"; \ [ -n "${GZIP_PROG}" ] || continue; \ - rm -f $(DESTDIR)$(psdir)/$${file}.gz; \ - ${GZIP_PROG} -9n $(DESTDIR)$(psdir)/$${file}; \ + rm -f "$(DESTDIR)$(psdir)/$${file}.gz"; \ + ${GZIP_PROG} -9n "$(DESTDIR)$(psdir)/$${file}"; \ done ## Top-level Makefile installs the info pages. @@ -903,20 +903,20 @@ install-doc: install-dvi install-html install-pdf install-ps uninstall-dvi: for file in $(DVI_TARGETS); do \ - rm -f $(DESTDIR)$(dvidir)/$${file}; \ + rm -f "$(DESTDIR)$(dvidir)/$${file}"; \ done uninstall-html: for file in $(HTML_TARGETS); do \ - rm -f $(DESTDIR)$(htmldir)/$${file}; \ + 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}; \ + rm -f "$(DESTDIR)$(psdir)/$${file}$${ext}"; \ done uninstall-pdf: for file in $(PDF_TARGETS); do \ - rm -f $(DESTDIR)$(pdfdir)/$${file}; \ + rm -f "$(DESTDIR)$(pdfdir)/$${file}"; \ done uninstall-doc: uninstall-dvi uninstall-html uninstall-pdf uninstall-ps -- cgit v1.2.1 From 93be1936a38e4e6f409d60df2b7278bf1994a33e Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Wed, 23 Oct 2013 21:29:39 +0800 Subject: Comment --- doc/lispref/display.texi | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index cd2626043d7..bc8e4f8b7f7 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -2392,6 +2392,7 @@ For example, @end example @end defun +@c FIXME: Add an index for "relative face attribute", maybe here? --xfq @defun face-attribute-relative-p attribute value This function returns non-@code{nil} if @var{value}, when used as the value of the face attribute @var{attribute}, is relative. This means -- cgit v1.2.1 From 76f1a3c3143b61dd58c02a3bd2eb533802646679 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 23 Oct 2013 13:20:09 -0400 Subject: Remove remaining @refills from doc/*/*.texi files --- doc/emacs/ChangeLog | 3 ++ doc/emacs/files.texi | 2 +- doc/emacs/glossary.texi | 2 +- doc/emacs/killing.texi | 2 +- doc/emacs/search.texi | 12 ++--- doc/emacs/sending.texi | 2 +- doc/lispref/ChangeLog | 6 ++- doc/lispref/eval.texi | 2 +- doc/lispref/files.texi | 6 +-- doc/lispref/intro.texi | 2 +- doc/lispref/objects.texi | 2 +- doc/lispref/searching.texi | 18 ++++---- doc/misc/ChangeLog | 4 ++ doc/misc/dired-x.texi | 3 +- doc/misc/ebrowse.texi | 16 +++---- doc/misc/ede.texi | 85 ------------------------------------ doc/misc/eieio.texi | 1 - doc/misc/eshell.texi | 12 ++--- doc/misc/pcl-cvs.texi | 88 ++++++++++++++++++------------------- doc/misc/sc.texi | 106 ++++++++++++++++++++++----------------------- doc/misc/srecode.texi | 3 -- doc/misc/vip.texi | 51 +++++++++++----------- doc/misc/viper.texi | 74 +++++++++++++++---------------- doc/misc/widget.texi | 5 +-- 24 files changed, 212 insertions(+), 295 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index eb82535031f..cdb1ac845c9 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,8 @@ 2013-10-23 Glenn Morris + * files.texi, glossary.texi, killing.texi, search.texi, sending.texi: + Nuke @refill. + * Makefile.in (install-dvi, install-html, install-pdf) (install-ps, uninstall-dvi, uninstall-html, uninstall-ps) (uninstall-pdf): Quote entities that might contain whitespace. diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index 1ebe4caa290..4117248cbe4 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi @@ -1089,7 +1089,7 @@ of data with the command @kbd{M-x recover-file @key{RET} @var{file} restores the contents from its auto-save file @file{#@var{file}#}. You can then save with @kbd{C-x C-s} to put the recovered text into @var{file} itself. For example, to recover file @file{foo.c} from its -auto-save file @file{#foo.c#}, do:@refill +auto-save file @file{#foo.c#}, do: @example M-x recover-file @key{RET} foo.c @key{RET} diff --git a/doc/emacs/glossary.texi b/doc/emacs/glossary.texi index e4693a5293f..c8b4b40416f 100644 --- a/doc/emacs/glossary.texi +++ b/doc/emacs/glossary.texi @@ -256,7 +256,7 @@ abbreviation for a name into the entire name. Completion is done for minibuffer (q.v.@:) arguments when the set of possible valid inputs is known; for example, on command names, buffer names, and file names. Completion usually occurs when @key{TAB}, @key{SPC} or -@key{RET} is typed. @xref{Completion}.@refill +@key{RET} is typed. @xref{Completion}. @anchor{Glossary---Continuation Line} @item Continuation Line diff --git a/doc/emacs/killing.texi b/doc/emacs/killing.texi index cb33327faa1..30b3a2c5ff0 100644 --- a/doc/emacs/killing.texi +++ b/doc/emacs/killing.texi @@ -423,7 +423,7 @@ ring. But you can force it to append by first typing the command tells the following command, if it is a kill command, to append the text it kills to the last killed text, instead of starting a new entry. With @kbd{C-M-w}, you can kill several separated pieces of text and -accumulate them to be yanked back in one place.@refill +accumulate them to be yanked back in one place. A kill command following @kbd{M-w} (@code{kill-ring-save}) does not append to the text that @kbd{M-w} copied into the kill ring. diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi index ead7c3cbf16..13e61b70264 100644 --- a/doc/emacs/search.texi +++ b/doc/emacs/search.texi @@ -668,7 +668,7 @@ it possible to match the rest of the pattern. For example, in matching tries to match all three @samp{a}s; but the rest of the pattern is @samp{ar} and there is only @samp{r} left to match, so this try fails. The next alternative is for @samp{a*} to match only two @samp{a}s. -With this choice, the rest of the regexp matches successfully.@refill +With this choice, the rest of the regexp matches successfully. @item @kbd{+} is a postfix operator, similar to @samp{*} except that it must match @@ -830,11 +830,11 @@ either @var{a} matches it or @var{b} matches it. It works by trying to match @var{a}, and if that fails, by trying to match @var{b}. Thus, @samp{foo\|bar} matches either @samp{foo} or @samp{bar} -but no other string.@refill +but no other string. @samp{\|} applies to the largest possible surrounding expressions. Only a surrounding @samp{\( @dots{} \)} grouping can limit the grouping power of -@samp{\|}.@refill +@samp{\|}. Full backtracking capability exists to handle multiple uses of @samp{\|}. @@ -850,7 +850,7 @@ Thus, @samp{\(foo\|bar\)x} matches either @samp{foox} or @samp{barx}. To enclose a complicated expression for the postfix operators @samp{*}, @samp{+} and @samp{?} to operate on. Thus, @samp{ba\(na\)*} matches @samp{bananana}, etc., with any (zero or more) number of @samp{na} -strings.@refill +strings. @item To record a matched substring for future reference. @@ -912,7 +912,7 @@ matches the empty string, but only at point. matches the empty string, but only at the beginning or end of a word. Thus, @samp{\bfoo\b} matches any occurrence of @samp{foo} as a separate word. @samp{\bballs?\b} matches -@samp{ball} or @samp{balls} as a separate word.@refill +@samp{ball} or @samp{balls} as a separate word. @samp{\b} matches at the beginning or end of the buffer regardless of what text appears next to it. @@ -1005,7 +1005,7 @@ searching through, if you specify the text in lower case. Thus, if you specify searching for @samp{foo}, then @samp{Foo} and @samp{foo} also match. Regexps, and in particular character sets, behave likewise: @samp{[ab]} matches @samp{a} or @samp{A} or @samp{b} or -@samp{B}.@refill +@samp{B}. An upper-case letter anywhere in the incremental search string makes the search case-sensitive. Thus, searching for @samp{Foo} does not find diff --git a/doc/emacs/sending.texi b/doc/emacs/sending.texi index 1402d8a85be..ac723fb63ad 100644 --- a/doc/emacs/sending.texi +++ b/doc/emacs/sending.texi @@ -256,7 +256,7 @@ This means that @var{nick} should expand into @var{fulladdresses}, where @var{fulladdresses} can be either a single address, or multiple addresses separated with spaces. For instance, to make @code{maingnu} stand for @code{gnu@@gnu.org} plus a local address of your own, put in -this line:@refill +this line: @example alias maingnu gnu@@gnu.org local-gnu diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 7efe70f683d..944c7f7649b 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,12 +1,16 @@ 2013-10-23 Glenn Morris + * eval.texi, files.texi, intro.texi, objects.texi, searching.texi: + Nuke @refill. + * Makefile.in (install-dvi, install-html, install-pdf) (install-ps, uninstall-dvi, uninstall-html, uninstall-ps) (uninstall-pdf): Quote entities that might contain whitespace. 2013-10-19 Xue Fuqiao - * display.texi (Face Attributes): Add indexes for the ‘:box’ face attribute. + * display.texi (Face Attributes): Add indexes for the ‘:box’ + face attribute. 2013-10-18 Xue Fuqiao diff --git a/doc/lispref/eval.texi b/doc/lispref/eval.texi index 4b83d575fef..1139331f0ef 100644 --- a/doc/lispref/eval.texi +++ b/doc/lispref/eval.texi @@ -523,7 +523,7 @@ GNU Emacs Lisp and Common Lisp. @code{setq}, @code{if}, and doesn't exist in Common Lisp. @code{throw} is a special form in Common Lisp (because it must be able to throw multiple values), but it is a function in Emacs Lisp (which doesn't have multiple -values).@refill +values). @end quotation @node Autoloading diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 1f7169522cc..944a1e37cc4 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -2378,7 +2378,7 @@ buffer's default directory is prepended to @var{directory}, if In the following example, suppose that @file{~rms/lewis} is the current default directory, and has five files whose names begin with @samp{f}: @file{foo}, @file{file~}, @file{file.c}, @file{file.c.~1~}, and -@file{file.c.~2~}.@refill +@file{file.c.~2~}. @example @group @@ -2409,7 +2409,7 @@ function returns @code{t}. The function returns @code{nil} if directory In the following example, suppose that the current default directory has five files whose names begin with @samp{f}: @file{foo}, @file{file~}, @file{file.c}, @file{file.c.~1~}, and -@file{file.c.~2~}.@refill +@file{file.c.~2~}. @example @group @@ -2438,7 +2438,7 @@ has five files whose names begin with @samp{f}: @file{foo}, @code{file-name-completion} usually ignores file names that end in any string in this list. It does not ignore them when all the possible completions end in one of these suffixes. This variable has no effect -on @code{file-name-all-completions}.@refill +on @code{file-name-all-completions}. A typical value might look like this: diff --git a/doc/lispref/intro.texi b/doc/lispref/intro.texi index 84da0bd3769..82c4d851762 100644 --- a/doc/lispref/intro.texi +++ b/doc/lispref/intro.texi @@ -456,7 +456,7 @@ described using a format like that for functions, except that there are no arguments. Here is a description of the imaginary @code{electric-future-map} -variable.@refill +variable. @defvar electric-future-map The value of this variable is a full keymap used by Electric Command diff --git a/doc/lispref/objects.texi b/doc/lispref/objects.texi index 3b7dc41335b..a145b1e9bd2 100644 --- a/doc/lispref/objects.texi +++ b/doc/lispref/objects.texi @@ -1301,7 +1301,7 @@ called @dfn{subrs} or @dfn{built-in functions}. (The word ``subr'' is derived from ``subroutine''.) Most primitive functions evaluate all their arguments when they are called. A primitive function that does not evaluate all its arguments is called a @dfn{special form} -(@pxref{Special Forms}).@refill +(@pxref{Special Forms}). It does not matter to the caller of a function whether the function is primitive. However, this does matter if you try to redefine a primitive diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi index 4a222a6e7af..15aa23f77ea 100644 --- a/doc/lispref/searching.texi +++ b/doc/lispref/searching.texi @@ -273,12 +273,12 @@ expression is ordinary, unless a @samp{\} precedes it. therefore @samp{f} is a regular expression that matches the string @samp{f} and no other string. (It does @emph{not} match the string @samp{fg}, but it does match a @emph{part} of that string.) Likewise, -@samp{o} is a regular expression that matches only @samp{o}.@refill +@samp{o} is a regular expression that matches only @samp{o}. Any two regular expressions @var{a} and @var{b} can be concatenated. The result is a regular expression that matches a string if @var{a} matches some amount of the beginning of that string and @var{b} matches the rest of -the string.@refill +the string. As a simple example, we can concatenate the regular expressions @samp{f} and @samp{o} to get the regular expression @samp{fo}, which matches only @@ -304,7 +304,7 @@ expression. is a special character that matches any single character except a newline. Using concatenation, we can make regular expressions like @samp{a.b}, which matches any three-character string that begins with @samp{a} and ends with -@samp{b}.@refill +@samp{b}. @item @samp{*} @cindex @samp{*} in regexp @@ -488,7 +488,7 @@ example, the regular expression that matches the @samp{\} character is @samp{\\}. To write a Lisp string that contains the characters @samp{\\}, Lisp syntax requires you to quote each @samp{\} with another @samp{\}. Therefore, the read syntax for a regular expression matching -@samp{\} is @code{"\\\\"}.@refill +@samp{\} is @code{"\\\\"}. @end table @strong{Please note:} For historical compatibility, special characters @@ -496,7 +496,7 @@ are treated as ordinary ones if they are in contexts where their special meanings make no sense. For example, @samp{*foo} treats @samp{*} as ordinary since there is no preceding expression on which the @samp{*} can act. It is poor practice to depend on this behavior; quote the -special character anyway, regardless of where it appears.@refill +special character anyway, regardless of where it appears. As a @samp{\} is not special inside a character alternative, it can never remove the special meaning of @samp{-} or @samp{]}. So you @@ -599,14 +599,14 @@ a table of the special @samp{\} constructs. specifies an alternative. Two regular expressions @var{a} and @var{b} with @samp{\|} in between form an expression that matches anything that either @var{a} or -@var{b} matches.@refill +@var{b} matches. Thus, @samp{foo\|bar} matches either @samp{foo} or @samp{bar} -but no other string.@refill +but no other string. @samp{\|} applies to the largest possible surrounding expressions. Only a surrounding @samp{\( @dots{} \)} grouping can limit the grouping power of -@samp{\|}.@refill +@samp{\|}. If you need full backtracking capability to handle multiple uses of @samp{\|}, use the POSIX regular expression functions (@pxref{POSIX @@ -785,7 +785,7 @@ matches the empty string, but only at point. matches the empty string, but only at the beginning or end of a word. Thus, @samp{\bfoo\b} matches any occurrence of @samp{foo} as a separate word. @samp{\bballs?\b} matches -@samp{ball} or @samp{balls} as a separate word.@refill +@samp{ball} or @samp{balls} as a separate word. @samp{\b} matches at the beginning or end of the buffer (or string) regardless of what text appears next to it. diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 3563c1e768d..ad045fc6d5f 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,5 +1,9 @@ 2013-10-23 Glenn Morris + * dired-x.texi, ebrowse.texi, ede.texi, eieio.texi, eshell.texi: + * pcl-cvs.texi, sc.texi, srecode.texi, vip.texi, viper.texi: + * widget.texi: Nuke @refill. + * Makefile.in (install-dvi, install-html, install-pdf) (install-ps, uninstall-dvi, uninstall-html, uninstall-ps) (uninstall-pdf): Quote entities that might contain whitespace. diff --git a/doc/misc/dired-x.texi b/doc/misc/dired-x.texi index 1e3d11f6dc6..0b88604543e 100644 --- a/doc/misc/dired-x.texi +++ b/doc/misc/dired-x.texi @@ -560,7 +560,7 @@ of marked files. @vindex dired-guess-shell-alist-default Predefined rules for shell commands. Set this to @code{nil} to turn guessing off. The elements of @code{dired-guess-shell-alist-user} (defined by the -user) will override these rules.@refill +user) will override these rules. @item dired-guess-shell-alist-user @vindex dired-guess-shell-alist-user @@ -568,7 +568,6 @@ If non-@code{nil}, a user-defined alist of file regexps and their suggested commands. These rules take precedence over the predefined rules in the variable @code{dired-guess-shell-alist-default} (to which they are prepended) when @code{dired-do-shell-command} is run). -@refill Each element of the alist looks like diff --git a/doc/misc/ebrowse.texi b/doc/misc/ebrowse.texi index c7f3e3b1a61..aa9df988969 100644 --- a/doc/misc/ebrowse.texi +++ b/doc/misc/ebrowse.texi @@ -138,7 +138,7 @@ list of the pseudo-class @samp{*Globals*}; @item Types (@code{enum}s, and @code{typedef}s defined with class -scope).@refill +scope). @end itemize You can switch member buffers from one list to another, or to another @@ -210,7 +210,7 @@ per line. @findex --help When invoked with option @samp{--help}, @command{ebrowse} prints a list of -available command line options.@refill +available command line options. @menu * Input files:: Specifying which files to parse @@ -478,12 +478,12 @@ name. This command views the class declaration if the database contains information about it. If you don't parse the entire source you are working on, some classes will only be known to exist but the -location of their declarations and definitions will not be known.@refill +location of their declarations and definitions will not be known. @item RET Works like @kbd{SPC}, except that it finds the class declaration rather than viewing it, so that it is ready for -editing.@refill +editing. @end table The same functionality is available from the menu opened with @@ -570,7 +570,7 @@ positions the cursor on the class in the class tree. If the branch of the class tree containing the class searched for is currently collapsed, the class itself and all its base classes are recursively made visible. (See also @ref{Expanding and -Collapsing}.)@refill +Collapsing}.) This function is also available from the tree buffer's context menu. @@ -634,7 +634,7 @@ Here is an example of a tree buffer with file names displayed. You can expand and collapse parts of a tree to reduce the complexity of large class hierarchies. Expanding or collapsing branches of a tree has no impact on the functionality of other commands, like @kbd{/}. (See -also @ref{Go to Class}.)@refill +also @ref{Go to Class}.) Collapsed branches are indicated with an ellipsis following the class name like in the example below. @@ -734,7 +734,7 @@ context menu. Classes can be marked for operations similar to the standard Emacs commands @kbd{M-x tags-search} and @kbd{M-x tags-query-replace} (see -also @xref{Tags-like Functions}.)@refill +also @xref{Tags-like Functions}.) @table @kbd @cindex toggle mark @@ -1292,7 +1292,7 @@ When jumping to a member declaration or definition with one of Ebrowse's commands, the position from where you performed the jump and the position where you jumped to are recorded in a @dfn{position stack}. There are several ways in which you can quickly -move to positions in the stack:@refill +move to positions in the stack: @table @kbd @cindex return to original position diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi index f2e787fd588..283082141dc 100644 --- a/doc/misc/ede.texi +++ b/doc/misc/ede.texi @@ -1564,26 +1564,22 @@ Type: @code{string} @* Default Value: @code{"Untitled"} The name used when generating distribution files. -@refill @item :version Type: @code{string} @* Default Value: @code{"1.0"} The version number used when distributing files. -@refill @item :directory Type: @code{string} Directory this project is associated with. -@refill @item :file Type: @code{string} File name where this project is stored. -@refill @end table @@ -1656,35 +1652,30 @@ Make sure placeholder @var{THIS} is replaced with the real thing, and pass throu Type: @code{list} List of top level targets in this project. -@refill @item :tool-cache Type: @code{list} List of tool cache configurations in this project. This allows any tool to create, manage, and persist project-specific settings. -@refill @item :web-site-url Type: @code{string} @* URL to this projects web site. This is a URL to be sent to a web site for documentation. -@refill @item :web-site-directory @* A directory where web pages can be found by Emacs. For remote locations use a path compatible with ange-ftp or EFS@. You can also use TRAMP for use with rcp & scp. -@refill @item :web-site-file @* A file which contains the home page for this project. This file can be relative to slot @code{web-site-directory}. This can be a local file, use ange-ftp, EFS, or TRAMP. -@refill @item :ftp-site Type: @code{string} @* @@ -1692,7 +1683,6 @@ Type: @code{string} @* FTP site where this project's distribution can be found. This FTP site should be in Emacs form, as needed by @code{ange-ftp}, but can also be of a form used by TRAMP for use with scp, or rcp. -@refill @item :ftp-upload-site Type: @code{string} @* @@ -1700,7 +1690,6 @@ Type: @code{string} @* FTP Site to upload new distributions to. This FTP site should be in Emacs form as needed by @code{ange-ftp}. If this slot is @code{nil}, then use @code{ftp-site} instead. -@refill @item :configurations Type: @code{list} @* @@ -1709,19 +1698,16 @@ Default Value: @code{("debug" "release")} List of available configuration types. Individual target/project types can form associations between a configuration, and target specific elements such as build variables. -@refill @item :configuration-default @* Default Value: @code{"debug"} The default configuration. -@refill @item :local-variables @* Default Value: @code{nil} Project local variables -@refill @end table @@ -1966,7 +1952,6 @@ buffer's @code{default-directory} (not starting with a /). Directories that are relative to the project's root should start with a /, such as "/include", meaning the directory @code{include} off the project root directory. -@refill @item :system-include-path Type: @code{list} @* @@ -1976,7 +1961,6 @@ The system include path for files in this project. C files initialized in an ede-cpp-root-project have their semantic system include path set to this value. If this is @code{nil}, then the semantic path is not modified. -@refill @item :spp-table Type: @code{list} @* @@ -1988,7 +1972,6 @@ These macros might be passed in through the command line compiler, or are critical symbols derived from header files. Providing header files macro values through this slot improves accuracy and performance. Use `:spp-files' to use these files directly. -@refill @item :spp-files Type: @code{list} @* @@ -1998,14 +1981,12 @@ C header file with Preprocessor macros for your files. The PreProcessor symbols appearing in these files will be used while parsing files in this project. See @code{semantic-lex-c-preprocessor-symbol-map} for more on how this works. -@refill @item :header-match-regexp Type: @code{string} @* Default Value: @code{"\\.\\(h\\(h\\|xx\\|pp\\|\\+\\+\\)?\\|H\\)$\\|\\<\\w+$"} Regexp used to identify C/C++ header files. -@refill @item :locate-fcn Type: @code{(or null function)} @* @@ -2020,7 +2001,6 @@ The function symbol must take two arguments: It should return the fully qualified file name passed in from NAME@. If that file does not exist, it should return nil. -@refill @end table @@ -2144,14 +2124,12 @@ The type of Makefile to generate. Can be one of @code{'Makefile}, 'Makefile.in, or 'Makefile.am. If this value is NOT @code{'Makefile}, then that overrides the @code{:makefile} slot in targets. -@refill @item :variables Type: @code{list} @* Default Value: @code{nil} Variables to set in this Makefile. -@refill @item :configuration-variables Type: @code{list} @* @@ -2159,27 +2137,23 @@ Default Value: @code{("debug" (("DEBUG" . "1")))} Makefile variables to use in different configurations. These variables are used in the makefile when a configuration becomes active. -@refill @item :inference-rules @* Default Value: @code{nil} Inference rules to add to the makefile. -@refill @item :include-file @* Default Value: @code{nil} Additional files to include. These files can contain additional rules, variables, and customizations. -@refill @item :automatic-dependencies Type: @code{boolean} @* Default Value: @code{t} Non-@code{nil} to do implement automatic dependencies in the Makefile. -@refill @item :metasubproject Type: @code{boolean} @* @@ -2190,7 +2164,6 @@ Usually, a subproject is determined by a parent project. If multiple top level projects are grouped into a large project not maintained by EDE, then you need to set this to non-nil. The only effect is that the @code{dist} rule will then avoid making a tar file. -@refill @end table @@ -2380,7 +2353,6 @@ Type: @code{list} @* Default Value: @code{nil} Variables to set in this Makefile, at top of file. -@refill @item :additional-variables Type: @code{(or null list)} @* @@ -2388,7 +2360,6 @@ Default Value: @code{nil} Arbitrary variables needed from this project. It is safe to leave this blank. -@refill @item :additional-rules Type: @code{(or null list)} @* @@ -2396,7 +2367,6 @@ Default Value: @code{nil} Arbitrary rules and dependencies needed to make this target. It is safe to leave this blank. -@refill @item :installation-domain Type: @code{symbol} @* @@ -2404,7 +2374,6 @@ Default Value: @code{user} Installation domain specification. The variable GNUSTEP_INSTALLATION_DOMAIN is set at this value. -@refill @item :preamble Type: @code{(or null list)} @* @@ -2412,7 +2381,6 @@ Default Value: @code{(quote ("GNUmakefile.preamble"))} The auxiliary makefile for additional variables. Included just before the specific target files. -@refill @item :postamble Type: @code{(or null list)} @* @@ -2420,7 +2388,6 @@ Default Value: @code{(quote ("GNUmakefile.postamble"))} The auxiliary makefile for additional rules. Included just after the specific target files. -@refill @item :metasubproject Type: @code{boolean} @* @@ -2431,7 +2398,6 @@ Usually, a subproject is determined by a parent project. If multiple top level projects are grouped into a large project not maintained by EDE, then you need to set this to non-nil. The only effect is that the @code{dist} rule will then avoid making a tar file. -@refill @end table @@ -2536,21 +2502,18 @@ Commit change to local variables in @var{PROJ}. Type: @code{string} Name of this target. -@refill @item :path Type: @code{string} The path to the sources of this target. Relative to the path of the project it belongs to. -@refill @item :source Type: @code{list} @* Default Value: @code{nil} Source files in this target. -@refill @item :versionsource Type: @code{list} @* @@ -2560,7 +2523,6 @@ Source files with a version string in them. These files are checked for a version string whenever the EDE version of the master project is changed. When strings are found, the version previously there is updated. -@refill @end table @@ -2752,14 +2714,12 @@ Retrieves the slot @code{menu} from an object of class @code{ede-target} Type: @code{string} Name of this target. -@refill @item :path Type: @code{string} The path to the sources of this target. Relative to the path of the project it belongs to. -@refill @item :auxsource Type: @code{list} @* @@ -2768,7 +2728,6 @@ Default Value: @code{nil} Auxiliary source files included in this target. Each of these is considered equivalent to a source file, but it is not distributed, and each should have a corresponding rule to build it. -@refill @item :compiler Type: @code{(or null symbol)} @* @@ -2778,7 +2737,6 @@ The compiler to be used to compile this object. This should be a symbol, which contains the object defining the compiler. This enables save/restore to do so by name, permitting the sharing of these compiler resources, and global customization thereof. -@refill @item :linker Type: @code{(or null symbol)} @* @@ -2788,7 +2746,6 @@ The linker to be used to link compiled sources for this object. This should be a symbol, which contains the object defining the linker. This enables save/restore to do so by name, permitting the sharing of these linker resources, and global customization thereof. -@refill @end table @@ -2950,7 +2907,6 @@ Type: @code{string} @* Default Value: @code{"Makefile"} File name of generated Makefile. -@refill @item :partofall Type: @code{boolean} @* @@ -2959,7 +2915,6 @@ Default Value: @code{t} Non @code{nil} means the rule created is part of the all target. Setting this to @code{nil} creates the rule to build this item, but does not include it in the ALL`all:' rule. -@refill @item :configuration-variables Type: @code{list} @* @@ -2969,7 +2924,6 @@ Makefile variables appended to use in different configurations. These variables are used in the makefile when a configuration becomes active. Target variables are always renamed such as foo_CFLAGS, then included into commands where the variable would usually appear. -@refill @item :rules Type: @code{list} @* @@ -2977,7 +2931,6 @@ Default Value: @code{nil} Arbitrary rules and dependencies needed to make this target. It is safe to leave this blank. -@refill @end table @@ -3221,7 +3174,6 @@ The linker flag "-l" is automatically prepended. Do not include a "lib" prefix, or a ".so" suffix. Note: Currently only used for Automake projects. -@refill @item :ldflags Type: @code{list} @* @@ -3232,7 +3184,6 @@ Use ldlibs to add addition libraries. Use this to specify specific options to the linker. Note: Not currently used. This bug needs to be fixed. -@refill @end table @@ -3358,7 +3309,6 @@ Additional packages needed. There should only be one toplevel package per auxiliary tool needed. These packages location is found, and added to the compile time load path. -@refill @end table @@ -3439,7 +3389,6 @@ Default Value: @code{"loaddefs.el"} The file that autoload definitions are placed in. There should be one load defs file for a given package. The load defs are created for all Emacs Lisp sources that exist in the directory of the created target. -@refill @item :autoload-dirs Type: @code{list} @* @@ -3447,7 +3396,6 @@ Default Value: @code{nil} The directories to scan for autoload definitions. If @code{nil} defaults to the current directory. -@refill @end table @@ -3547,7 +3495,6 @@ Default Value: @code{""} Miscellaneous sources which have a specialized makefile. The sub-makefile is used to build this target. -@refill @end table @@ -3604,7 +3551,6 @@ Default Value: @code{""} The main menu resides in this file. All other sources should be included independently. -@refill @end table @@ -3687,7 +3633,6 @@ Type: @code{string} @* Default Value: @code{"guile"} The preferred interpreter for this code. -@refill @end table @@ -3817,7 +3762,6 @@ No children Default Value: @code{nil} Additional LD args. -@refill @end table @end table @@ -3949,7 +3893,6 @@ No children Default Value: @code{nil} Additional texinfo included in this one. -@refill @end table @end table @@ -4036,21 +3979,18 @@ Type: @code{eieio-instance-inheritor-child} The parent of this instance. If a slot of this class is reference, and is unbound, then the parent is checked for a value. -@refill @item :name Type: @code{string} The name of this type of source code. Such as "C" or "Emacs Lisp" -@refill @item :sourcepattern Type: @code{string} @* Default Value: @code{".*"} Emacs regex matching sourcecode this target accepts. -@refill @item :auxsourcepattern Type: @code{(or null string)} @* @@ -4059,7 +3999,6 @@ Default Value: @code{nil} Emacs regex matching auxiliary source code this target accepts. Aux source are source code files needed for compilation, which are not compiled themselves. -@refill @item :enable-subdirectories Type: @code{boolean} @* @@ -4069,7 +4008,6 @@ Non @code{nil} if this sourcecode type uses subdirectores. If sourcecode always lives near the target creating it, this should be nil. If sourcecode can, or typically lives in a subdirectory of the owning target, set this to t. -@refill @item :garbagepattern Type: @code{list} @* @@ -4078,7 +4016,6 @@ Default Value: @code{nil} Shell file regex matching files considered as garbage. This is a list of items added to an @code{rm} command when executing a @code{clean} type directive. -@refill @end table @@ -4158,13 +4095,11 @@ Type: @code{eieio-instance-inheritor-child} The parent of this instance. If a slot of this class is reference, and is unbound, then the parent is checked for a value. -@refill @item :name Type: @code{string} Name of this type of compiler. -@refill @item :variables Type: @code{list} @@ -4173,7 +4108,6 @@ Variables needed in the Makefile for this compiler. An assoc list where each element is (VARNAME . VALUE) where VARNAME is a string, and VALUE is either a string, or a list of strings. For example, GCC would define CC=gcc, and emacs would define EMACS=emacs. -@refill @item :sourcetype Type: @code{list} @@ -4181,7 +4115,6 @@ Type: @code{list} A list of @code{ede-sourcecode} @xref{ede-sourcecode}. objects this class will handle. This is used to match target objects with the compilers and linkers they can use, and which files this object is interested in. -@refill @item :rules Type: @code{list} @* @@ -4189,7 +4122,6 @@ Default Value: @code{nil} Auxiliary rules needed for this compiler to run. For example, yacc/lex files need additional chain rules, or inferences. -@refill @item :commands Type: @code{list} @@ -4197,7 +4129,6 @@ Type: @code{list} The commands used to execute this compiler. The object which uses this compiler will place these commands after it's rule definition. -@refill @item :autoconf Type: @code{list} @* @@ -4208,14 +4139,12 @@ When a project is in Automake mode, this defines the autoconf function to call to initialize automake to use this compiler. For example, there may be multiple C compilers, but they all probably use the same autoconf form. -@refill @item :objectextention Type: @code{string} A string which is the extension used for object files. For example, C code uses .o on unix, and Emacs Lisp uses .elc. -@refill @end table @@ -4285,13 +4214,11 @@ Type: @code{eieio-instance-inheritor-child} The parent of this instance. If a slot of this class is reference, and is unbound, then the parent is checked for a value. -@refill @item :name Type: @code{string} Name of this type of compiler. -@refill @item :variables Type: @code{list} @@ -4300,7 +4227,6 @@ Variables needed in the Makefile for this compiler. An assoc list where each element is (VARNAME . VALUE) where VARNAME is a string, and VALUE is either a string, or a list of strings. For example, GCC would define CC=gcc, and emacs would define EMACS=emacs. -@refill @item :sourcetype Type: @code{list} @@ -4308,7 +4234,6 @@ Type: @code{list} A list of @code{ede-sourcecode} @xref{ede-sourcecode}. objects this class will handle. This is used to match target objects with the compilers and linkers they can use, and which files this object is interested in. -@refill @item :commands Type: @code{list} @@ -4316,21 +4241,18 @@ Type: @code{list} The commands used to execute this compiler. The object which uses this compiler will place these commands after it's rule definition. -@refill @item :objectextention Type: @code{string} A string which is the extension used for object files. For example, C code uses .o on unix, and Emacs Lisp uses .elc. -@refill @item :makedepends Type: @code{boolean} @* Default Value: @code{nil} Non-@code{nil} if this compiler can make dependencies. -@refill @item :uselinker Type: @code{boolean} @* @@ -4339,7 +4261,6 @@ Default Value: @code{nil} Non-@code{nil} if this compiler creates code that can be linked. This requires that the containing target also define a list of available linkers that can be used. -@refill @end table @@ -4399,7 +4320,6 @@ Default Value: @code{t} Type: @code{list} A variable dedicated to dependency generation. -@refill @end table @end table @@ -4439,7 +4359,6 @@ No children Type: @code{string} Name of this type of compiler. -@refill @item :variables Type: @code{list} @@ -4448,7 +4367,6 @@ Variables needed in the Makefile for this compiler. An assoc list where each element is (VARNAME . VALUE) where VARNAME is a string, and VALUE is either a string, or a list of strings. For example, GCC would define CC=gcc, and emacs would define EMACS=emacs. -@refill @item :sourcetype Type: @code{list} @@ -4456,7 +4374,6 @@ Type: @code{list} A list of @code{ede-sourcecode} @xref{ede-sourcecode}. objects this class will handle. This is used to match target objects with the compilers and linkers they can use, and which files this object is interested in. -@refill @item :commands Type: @code{list} @@ -4464,14 +4381,12 @@ Type: @code{list} The commands used to execute this compiler. The object which uses this compiler will place these commands after it's rule definition. -@refill @item :objectextention Type: @code{string} A string which is the extension used for object files. For example, C code uses .o on unix, and Emacs Lisp uses .elc. -@refill @end table @end table diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi index e199417aa9d..5b9f3a8e004 100644 --- a/doc/misc/eieio.texi +++ b/doc/misc/eieio.texi @@ -1625,7 +1625,6 @@ inherit from a special class stored in with it, certain default methods or attributes can be added to all objects. In CLOS, this would be named @code{STANDARD-CLASS}, and that symbol is an alias to @code{eieio-default-superclass}. -@refill Currently, the default superclass is defined as follows: diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index bbe741a7a1d..e8fab42b899 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi @@ -158,25 +158,25 @@ The following persons have made contributions to Eshell. @item Eli Zaretskii made it possible for Eshell to run without requiring asynchronous subprocess support. This is important for MS-DOS, which -does not have such support.@refill +does not have such support. @item -Miles Bader contributed many fixes during the port to Emacs 21.@refill +Miles Bader contributed many fixes during the port to Emacs 21. @item Stefan Monnier fixed the things which bothered him, which of course made -things better for all.@refill +things better for all. @item Gerd Moellmann also helped to contribute bug fixes during the initial -integration with Emacs 21.@refill +integration with Emacs 21. @item Alex Schroeder contributed code for interactively querying the user -before overwriting files.@refill +before overwriting files. @item -Sudish Joseph helped with some XEmacs compatibility issues.@refill +Sudish Joseph helped with some XEmacs compatibility issues. @end itemize Apart from these, a lot of people have sent suggestions, ideas, diff --git a/doc/misc/pcl-cvs.texi b/doc/misc/pcl-cvs.texi index 1276eb95aa8..11123f977a0 100644 --- a/doc/misc/pcl-cvs.texi +++ b/doc/misc/pcl-cvs.texi @@ -176,18 +176,18 @@ PCL-CVS as well as all the documentation. Inge Wallin wrote the skeleton of @file{pcl-cvs.texi}, and gave useful comments on it. He also wrote the files @file{elib-node.el} and @file{compile-all.el}. The file -@file{cookie.el} was inspired by Inge.@refill +@file{cookie.el} was inspired by Inge. @item @c linus@@lysator.liu.se Linus Tolke contributed useful comments -on both the functionality and the documentation.@refill +on both the functionality and the documentation. @item @c jwz@@jwz.com Jamie Zawinski contributed @file{pcl-cvs-lucid.el}, which was later renamed to -@file{pcl-cvs-xemacs.el}.@refill +@file{pcl-cvs-xemacs.el}. @item Leif Lonnblad contributed RCVS support (since superseded by the new @@ -297,7 +297,7 @@ You can move the cursor up and down in the buffer with @kbd{C-n} and repository. @xref{Committing changes}. You can also press @kbd{O} to update any of the files that are marked @samp{Need-Update}. You can also run @kbd{M-x cvs-update @key{RET}} (bound to @kbd{M-u} in the -@samp{*cvs*} buffer) to update all the files.@refill +@samp{*cvs*} buffer) to update all the files. You can then press @kbd{=} to easily get a @samp{diff} between your modified file and the base version that you started from, or you can @@ -324,7 +324,7 @@ how we got to the current state, for example @samp{patched}, @item An asterisk when the file is @dfn{marked} (@pxref{Selected -files}).@refill +files}). @item The actual status of the file wrt the repository. See below. @@ -350,7 +350,7 @@ the following substatus: @item merged The file was modified in your working directory, and there were modifications in the repository as well, but they were merged -successfully, without conflict, in your working directory.@refill +successfully, without conflict, in your working directory. @end table @item Conflict @@ -360,7 +360,7 @@ working directory) is now the output of the @code{rcsmerge} command on the two versions; an unmodified copy of your file is also in your working directory, with the name @file{.#@var{file}.@var{version}}, where @var{version} is the RCS revision that your modified file started -from. @xref{Viewing differences}, for more details.@refill +from. @xref{Viewing differences}, for more details. A conflict can also come from a disagreement on the existence of the file rather than on its content. This case is indicated by the following @@ -382,17 +382,17 @@ repository. @item Added The file has been added by you, but it still needs to be checked in to -the repository.@refill +the repository. @item Removed The file has been removed by you, but it still needs to be checked in to the repository. You can resurrect it by typing @kbd{a} (@pxref{Adding -and removing files}).@refill +and removing files}). @item Unknown A file that was detected in your directory, but that neither appears in the repository, nor is present on the list of files that CVS should -ignore.@refill +ignore. @item Up-to-date The file is up to date with respect to the version in the repository. @@ -400,29 +400,29 @@ This status can have a substatus of: @table @samp @item added -You have just added the file to the repository.@refill +You have just added the file to the repository. @item updated The file was brought up to date with respect to the repository. This is done for any file that exists in the repository but not in your source, and for files that you haven't changed but are not the most recent -versions available in the repository.@refill +versions available in the repository. @item patched The file was brought up to date with respect to the remote repository by way of fetching and applying a patch to the file in your source. This is equivalent to @samp{updated} except that CVS decided to use a hopefully -more efficient method.@refill +more efficient method. @item committed -You just committed the file.@refill +You just committed the file. @end table @item Need-Update Either a newer version than the one in your source is available in the repository and you have not modified your checked out version, or the file exists in the repository but not in your source. Use -@samp{cvs-mode-update} bound to @kbd{O} to update the file.@refill +@samp{cvs-mode-update} bound to @kbd{O} to update the file. @item Need-Merge You have modified the checked out version of the file, and a newer @@ -610,11 +610,11 @@ explicitly. The special prefixes are: @table @kbd @item T -Toggles whether or not marks will be active in the next command.@refill +Toggles whether or not marks will be active in the next command. @item b Provide the next command with a branch (can be any version -specifier) to work on.@refill +specifier) to work on. @item B Secondary branch argument. Only meaningful if @kbd{b} is also used. @@ -640,13 +640,13 @@ to update the display: @table @kbd @item M-u -Runs the command @samp{cvs-update}.@refill +Runs the command @samp{cvs-update}. @item M-e -Runs the command @samp{cvs-examine}.@refill +Runs the command @samp{cvs-examine}. @item M-s -Runs the command @samp{cvs-status}.@refill +Runs the command @samp{cvs-status}. @end table In addition to the above commands which operate on the whole module, @@ -656,18 +656,18 @@ files/directories with these keys: @table @kbd @item O Runs @code{cvs-mode-update} on the selected files. When run on the -top-level directory, this is equivalent to @kbd{M-u}.@refill +top-level directory, this is equivalent to @kbd{M-u}. @item e Runs @code{cvs-mode-examine} on the selected files. When run on the -top-level directory, this is equivalent to @kbd{M-e}.@refill +top-level directory, this is equivalent to @kbd{M-e}. @findex cvs-status-mode @item s Runs @code{cvs-mode-status} on the selected files. When run on the top-level directory, this is equivalent to @kbd{M-s}, except that CVS output will be shown in a @samp{*cvs-info*} buffer that will be -put in @samp{cvs-status-mode}.@refill +put in @samp{cvs-status-mode}. @end table @@ -689,7 +689,7 @@ the fact that the buffer is a PCL-CVS buffer: @item @key{SPC} @itemx n These keys move the cursor one file forward, towards the end of the -buffer (@code{cvs-mode-next-line}).@refill +buffer (@code{cvs-mode-next-line}). @item p This key moves one file backward, towards the beginning of the buffer @@ -725,12 +725,12 @@ You can mark and unmark files with these commands: @item m This marks the file that the cursor is positioned on. If the cursor is positioned on a directory all files in that directory are marked -(@code{cvs-mode-mark}).@refill +(@code{cvs-mode-mark}). @item u Unmark the file that the cursor is positioned on. If the cursor is on a directory, all files in that directory are unmarked -(@code{cvs-mode-unmark}).@refill +(@code{cvs-mode-unmark}). @item M Mark @emph{all} files in the buffer (@code{cvs-mode-mark-all-files}). @@ -774,7 +774,7 @@ Committing changes basically works as follows: @item After having selected the files you want to commit, you type either @kbd{c} or @kbd{C} which brings up a special buffer -@samp{*cvs-commit*}.@refill +@samp{*cvs-commit*}. @item You type in the log message describing the changes you're about to @@ -782,7 +782,7 @@ commit (@pxref{Log Edit Mode}). @item When you're happy with it, you type @kbd{C-c C-c} to do the actual -commit.@refill +commit. @end enumerate There's no hidden state, so you can abort the process or pick it up @@ -841,13 +841,13 @@ the cursor points to a directory, run @code{dired} on that directory; @item o Like @kbd{f}, but use another window -(@code{cvs-mode-find-file-other-window}).@refill +(@code{cvs-mode-find-file-other-window}). @item A Invoke @samp{add-change-log-entry-other-window} to edit a @file{ChangeLog} file. The @file{ChangeLog} file will be found in the directory of the file the cursor points to, or in a parent of that -directory (@code{cvs-mode-add-change-log-entry-other-window}).@refill +directory (@code{cvs-mode-add-change-log-entry-other-window}). @end table @@ -897,7 +897,7 @@ Add all selected files. This command can be used on @samp{Unknown} files (@pxref{Buffer contents}). The status of the file will change to @samp{Added}, and you will have to use @kbd{c} (@samp{cvs-mode-commit} @pxref{Committing changes}), to really add the file to the -repository.@refill +repository. This command can also be used on @samp{Removed} files (before you commit them) to resurrect them. @@ -911,7 +911,7 @@ confirmation). The files are deleted from your directory and also be @samp{cvs remove}d. If the files' status was @samp{Unknown} they will disappear from the buffer. Otherwise their status will change to @samp{Removed}, and you must use @kbd{c} (@samp{cvs-mode-commit}, -@pxref{Committing changes}) to commit the removal.@refill +@pxref{Committing changes}) to commit the removal. The command that is run is @code{cvs-mode-remove-file}. @end table @@ -957,7 +957,7 @@ get an overview of what needs to be done. @vindex cvs-mode-remove-handled@r{ (variable)} @kbd{x} invokes @code{cvs-mode-remove-handled}. If @samp{cvs-auto-remove-handled} is set to non-@code{nil}, this will -automatically be performed after every commit.@refill +automatically be performed after every commit. @item C-k This command can be used for lines that @samp{cvs-mode-remove-handled} would @@ -1008,22 +1008,22 @@ This runs @code{cvs-mode-ignore}. @item = @itemx d = Display a @samp{cvs diff} between the selected files and the version -that they are based on (@code{cvs-mode-diff}).@refill +that they are based on (@code{cvs-mode-diff}). @item d b If CVS finds a conflict while merging two versions of a file (during a @samp{cvs update}, @pxref{Updating the buffer}) it will save the original file in a file called @file{.#@var{file}.@var{version}} where @var{file} is the name of the file, and @var{version} is the revision -number that @var{file} was based on.@refill +number that @var{file} was based on. With the @kbd{d b} command you can run a @samp{diff} on the files -@file{.#@var{file}.@var{version}} and @file{@var{file}}.@refill +@file{.#@var{file}.@var{version}} and @file{@var{file}}. @item d h Display a @samp{cvs diff} between the selected files and the head revision (the most recent version on the current -branch) in the repository (@code{cvs-mode-diff-head}).@refill +branch) in the repository (@code{cvs-mode-diff-head}). @item d r Display a @samp{cvs diff} between the base revision of the selected @@ -1035,12 +1035,12 @@ a checkout, update or commit operation @item d v Display a @samp{cvs diff} between the selected files and the head revision of the vendor branch in the repository -(@code{cvs-mode-diff-vendor}).@refill +(@code{cvs-mode-diff-vendor}). @item d y Display a @samp{cvs diff} between the selected files and yesterday's head revision in the repository -(@code{cvs-mode-diff-yesterday}).@refill +(@code{cvs-mode-diff-yesterday}). @end table By default, @samp{diff} commands ignore the marks. This can be changed @@ -1075,7 +1075,7 @@ to do an interactive 3-way merge. CVS has already performed a merge. The resulting file is not used in any way if you use this command. If you use the @kbd{q} command inside @samp{ediff} (to successfully terminate a merge) the file that CVS -created will be overwritten.@refill +created will be overwritten. @end table @node Updating files @@ -1247,24 +1247,24 @@ argument, these commands move that many messages of files. If you have an idea about any customization that would be handy but isn't present in this list, please tell us! -For info on how to reach us, see @ref{Bugs}.@refill +For info on how to reach us, see @ref{Bugs}. @table @samp @item cvs-auto-remove-handled If this variable is set to any non-@code{nil} value, @samp{cvs-mode-remove-handled} will be called every time you check in files, after the check-in is ready. @xref{Removing handled -entries}.@refill +entries}. @item cvs-auto-remove-directories If this variable is set to any non-@code{nil} value, directories that do not contain any files to be checked in will not be listed in the -@samp{*cvs*} buffer.@refill +@samp{*cvs*} buffer. @item cvs-auto-revert If this variable is set to any non-@samp{nil} value any buffers you have that visit a file that is committed will be automatically reverted. -This variable defaults to @samp{t}. @xref{Committing changes}.@refill +This variable defaults to @samp{t}. @xref{Committing changes}. @item cvs-update-prog-output-skip-regexp The @samp{-u} flag in the @file{modules} file can be used to run a command diff --git a/doc/misc/sc.texi b/doc/misc/sc.texi index aa0752c80cd..11dbf2eda5e 100644 --- a/doc/misc/sc.texi +++ b/doc/misc/sc.texi @@ -146,7 +146,7 @@ Supercite should provide them. For example, many people would like to be able to yank (and cite) only a portion of the original message. Since Supercite only modifies the text it finds in the reply buffer as set up by the MUA, it is the MUA's responsibility to do partial yanking. -@xref{Reply Buffer Initialization}.@refill +@xref{Reply Buffer Initialization}. @vindex mail-header-separator Another potentially useful thing would be for Supercite to set up the @@ -156,7 +156,7 @@ But by previously agreed upon convention, any text above the bodies cannot be modified by Supercite. Supercite, in fact, doesn't know anything about the meaning of these headers, and never ventures outside the designated region. @xref{Hints to MUA Authors}, for more -details.@refill +details. @node What Supercite Does @section What Supercite Does @@ -168,14 +168,14 @@ by calling a hook variable to which Supercite's top-level function @code{sc-cite-original} has been added. When @code{sc-cite-original} is executed, the original message must be set up in a very specific way, but this is handled automatically by the MUA@. @xref{Hints to MUA -Authors}.@refill +Authors}. @cindex info alist The first thing Supercite does, via @code{sc-cite-original}, is to parse through the original message's mail headers. It saves this data in an @dfn{information association list}, or @dfn{info alist}. The information in this list is used in a number of places throughout Supercite. -@xref{Information Keys and the Info Alist}.@refill +@xref{Information Keys and the Info Alist}. @cindex nuking mail headers @cindex reference header @@ -207,7 +207,7 @@ Supercited text and will fill them appropriately. Emacs's built-in filling routines, e.g., @code{fill-paragraph}, do not recognize cited text and will not re-fill them properly because it cannot guess the @code{fill-prefix} being used. -@xref{Post-yank Formatting Commands}, for details.@refill +@xref{Post-yank Formatting Commands}, for details. As mentioned above, Supercite provides commands to recite or uncite regions of text in the reply buffer, and commands to perform other @@ -216,7 +216,7 @@ informative citations throughout. Supercite tries to be as configurable as possible to allow for a wide range of personalized citation styles, but it is also immediately useful with the default configuration, once it has been properly connected to your MUA@. @xref{Getting Connected}, -for more details.@refill +for more details. @node Citations @chapter Citations @@ -304,7 +304,7 @@ string containing four spaces. The @dfn{attribution string}. This element is supplied automatically by Supercite, based on your preferences and the original message's mail headers, though you may be asked to confirm Supercite's choice. -@xref{Selecting an Attribution}, for more details.@refill +@xref{Selecting an Attribution}, for more details. @cindex citation delimiter @vindex sc-citation-delimiter @@ -330,7 +330,7 @@ In this case, the composed, non-nested citation string used might be something like @code{@asis{" Jane> "}}. This citation string will be inserted in front of -every line in the original message that is not already cited.@refill +every line in the original message that is not already cited. Nested citations, being simpler than non-nested citations, are composed of the same elements, sans the attribution string. Supercite is smart @@ -379,7 +379,7 @@ non-nested citation. Thus the variable @code{sc-citation-nonnested-root-regexp} is used to describe only non-nested citation roots. It is important to remember that if you change @code{sc-citation-root-regexp} you should always also change -@code{sc-citation-nonnested-root-regexp}.@refill +@code{sc-citation-nonnested-root-regexp}. @node Information Keys and the Info Alist @chapter Information Keys and the Info Alist @@ -400,7 +400,7 @@ 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 +following fields were present in the original article: @example Date:@: 08 April 1991, 17:32:09 EST @@ -489,7 +489,7 @@ the author's first middle name. If the author's name has more than one middle name, they will appear as info keys with the appropriate index (e.g., @code{"sc-middlename-2"}, -@dots{}). @xref{Selecting an Attribution}.@refill +@dots{}). @xref{Selecting an Attribution}. @node Reference Headers @chapter Reference Headers @@ -540,7 +540,7 @@ examples below as @var{infokey} indicates that the corresponding value of the info key from the info alist will be inserted there. (@pxref{Information Keys and the Info Alist}). For example, in @code{sc-header-on-said} below, @var{date} and @var{from} correspond to the values of the -@samp{Date:@:} and @samp{From:@:} mail headers respectively.@refill +@samp{Date:@:} and @samp{From:@:} mail headers respectively. @vindex sc-reference-tag-string @vindex reference-tag-string (sc-) @@ -650,7 +650,7 @@ The following commands are available while in electric reference mode 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 +will wrap around to the first header. @item @code{sc-eref-prev} (@kbd{p}) @findex sc-eref-prev @@ -658,7 +658,7 @@ will wrap around to the first header.@refill @kindex p Displays the previous reference header in the electric reference buffer. If the variable @code{sc-electric-circular-p} is non-@code{nil}, -invoking @code{sc-eref-prev} will wrap around to the last header.@refill +invoking @code{sc-eref-prev} will wrap around to the last header. @item @code{sc-eref-goto} (@kbd{g}) @findex sc-eref-goto @@ -667,7 +667,7 @@ invoking @code{sc-eref-prev} will wrap around to the last header.@refill Goes to a specified reference header. The index (into the @code{sc-rewrite-header-list}) can be specified as a numeric argument to the command. Otherwise, Supercite will query you for the index in the -minibuffer.@refill +minibuffer. @item @code{sc-eref-jump} (@kbd{j}) @findex sc-eref-jump @@ -681,7 +681,7 @@ value of @code{sc-preferred-header-style}. @findex eref-setn (sc-) @kindex s Set the preferred reference header (i.e., -@code{sc-preferred-header-style}) to the currently displayed header.@refill +@code{sc-preferred-header-style}) to the currently displayed header. @item @code{sc-eref-exit} (@kbd{C-j}, @key{RET}, and @key{ESC C-c}) @kindex RET @@ -690,7 +690,7 @@ Set the preferred reference header (i.e., @findex sc-eref-exit @findex eref-exit (sc-) Exit from electric reference mode and insert the current header into the -reply buffer.@refill +reply buffer. @item @code{sc-eref-abort} (@kbd{q}, @kbd{x}) @findex sc-eref-abort @@ -729,7 +729,7 @@ hook variable has a @code{nil} value, which the MUA recognizes to mean, ``use your default citation function.'' When you add Supercite's citation function to the hook, thereby giving the variable a non-@code{nil} value, it tells the MUA to run the hook via -@code{run-hooks} instead of using the default citation.@refill +@code{run-hooks} instead of using the default citation. Early in Supercite's development, the Supercite author, a few MUA authors, and some early Supercite users got together and agreed upon a @@ -767,7 +767,7 @@ expects the original article's mail headers to be present within this region. Note that Supercite @emph{never} touches any text outside this region. Note further that the region need not be active for @code{sc-cite-original} to do its job. -@xref{Hints to MUA Authors}.@refill +@xref{Hints to MUA Authors}. The other step in the getting connected process is to make sure your MUA calls @code{sc-cite-original} at the right time. As mentioned @@ -784,7 +784,7 @@ this hook since it is only run once. This will not work, however, if your Emacs maintainer has put Supercite into your dumped Emacs image. In that case, you can use the @code{sc-pre-hook} variable, but this will get executed every time @code{sc-cite-original} is called. @xref{Reply -Buffer Initialization}.@refill +Buffer Initialization}. @node Replying and Yanking @chapter Replying and Yanking @@ -814,7 +814,7 @@ This hook variable is run before @code{sc-cite-original} does any other work. You could conceivably use this hook to set certain Supercite variables based on the reply buffer's mode or name (i.e., to do something different based on whether you are replying or following up to -an article).@refill +an article). @item @emph{Inserts Supercite's keymap.} @@ -942,7 +942,7 @@ there as people on the net, or just about! It would be impossible for Supercite to anticipate every style in existence, and you probably wouldn't encounter them all anyway. But you can configure Supercite to recognize those styles you see often. -@xref{Configuring the Citation Engine}, for details.@refill +@xref{Configuring the Citation Engine}, for details. @item @emph{Runs @code{sc-post-hook}.} @@ -951,7 +951,7 @@ recognize those styles you see often. 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 -reset certain variables set in @code{sc-pre-hook}.@refill +reset certain variables set in @code{sc-pre-hook}. @end enumerate @node Filling Cited Text @@ -987,7 +987,7 @@ setup. Also, Supercite will collapse leading whitespace between the citation string and the text on a line when the variable @code{sc-fixup-whitespace-p} is non-@code{nil}. The default value for -this variable is @code{nil}.@refill +this variable is @code{nil}. @vindex fill-prefix Its important to understand that Supercite's automatic filling (during @@ -1005,7 +1005,7 @@ When Supercite's automatic filling breaks on a particular message, I will use Emacs's undo feature to undo back before the citation was applied to the original message. Then I'll toggle the variables and manually cite those paragraphs that I don't want to fill or collapse -whitespace on. @xref{Variable Toggling Shortcuts}.@refill +whitespace on. @xref{Variable Toggling Shortcuts}. @kindex C-c C-p C-p If you find that Supercite's automatic filling is just too fragile for @@ -1013,7 +1013,7 @@ your tastes, you might consider one of these alternate approaches. Also, to make life easier, a shortcut function to toggle the state of both of these variables is provided on the key binding @kbd{C-c C-p C-p} (with the default value of @code{sc-mode-map-prefix}; -@pxref{Post-yank Formatting Commands}).@refill +@pxref{Post-yank Formatting Commands}). You will noticed that the minor mode string will show the state of these variables as qualifier characters. When both @@ -1025,7 +1025,7 @@ string will display @samp{SC:f}, and when just display @samp{SC:fw}. Note that the qualifiers chosen are mnemonics for the default bindings of the toggling function for each respective variable. -@xref{Variable Toggling Shortcuts}.@refill +@xref{Variable Toggling Shortcuts}. Why are these variables not set to @code{nil} by default? It is because many users won't manually fill paragraphs that are Supercited, and there @@ -1088,7 +1088,7 @@ the author's first middle name. @item "sc-lastchoice" the last attribution string you have selected. This is useful when you -recite paragraphs in the reply.@refill +recite paragraphs in the reply. @item "sc-consult" @vindex sc-attrib-selection-list @@ -1099,7 +1099,7 @@ key. See below for details. @item "x-attribution" the original author's suggestion for attribution string choice. See below -for details.@refill +for details. @end table Middle name indexes can be any positive integer greater than zero, @@ -1184,7 +1184,7 @@ case. If the variable's value is non-@code{nil}, then @code{sc-default-author-name} and @code{sc-default-attribution} are used, otherwise, the following steps are taken to find a valid attribution string, and the first step to return a non-@code{nil}, -non-empty string becomes the attribution:@refill +non-empty string becomes the attribution: @enumerate @item @@ -1244,7 +1244,7 @@ variables in your hook functions, you change the attribution and citation strings used by Supercite. One possible use of this would be to override any automatically derived attribution string when it is only one character long; e.g., you prefer to use @code{"initials"} but the -author only has one name.@refill +author only has one name. @node Author Names @section Author Names @@ -1376,7 +1376,7 @@ matched against the current line, from the beginning, using @code{looking-at}. This match folds case if the optional @var{case-fold-search} is non-@code{nil}. If @var{pred} is not a string, or does not @code{eval}uate to a string, it is interpreted as a -binary value (@code{nil} or non-@code{nil}).@refill +binary value (@code{nil} or non-@code{nil}). The four special symbol values for @var{pred} are recognized: @@ -1405,7 +1405,7 @@ processing. By default, if your @var{func} returns @code{nil} (as it should be careful to do explicitly), Regi will reset the frame to the first entry, and advance @samp{point} to the beginning of the next line. If a list is returned from your function, it can contain any combination -of the following elements:@refill +of the following elements: @table @asis @item the symbol @code{continue} @@ -1422,16 +1422,16 @@ entry is still processed. This tells Regi to substitute @var{newframe} as the frame it is interpreting. In other words, your @var{func} can modify the Regi frame on the fly. @var{newframe} can be a variable containing a frame, or it -can be the frame in-lined.@refill +can be the frame in-lined. @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 -zero or negative of course, but watch out for infinite loops.@refill +zero or negative of course, but watch out for infinite loops. @end table During execution of your @var{func}, the following variables will be -temporarily bound to some useful information:@refill +temporarily bound to some useful information: @table @code @item curline @@ -1471,7 +1471,7 @@ preferred style. In a similar vein, there are default frames for @dfn{unciting} and @dfn{reciting}, contained in the variables @code{sc-default-uncite-frame} and @code{sc-default-recite-frame} -respectively.@refill +respectively. As mentioned earlier (@pxref{Recognizing Citations}), citations are recognized through the values of the regular expressions @@ -1500,7 +1500,7 @@ Where @var{infokey} is a key suitable for @code{sc-mail-field}, @var{regexp} is a regular expression which is @code{string-match}'d against the value of the @code{sc-mail-field} key, and @var{frame} is the frame to use if a match occurred. @var{frame} can be a variable -containing a frame or a frame in-lined.@refill +containing a frame or a frame in-lined. When Supercite is about to cite, uncite, or recite a region, it consults the appropriate alist and attempts to find a frame to use. If one @@ -1524,7 +1524,7 @@ 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 chapter, we'll assume you've installed Supercite's keymap on the default -prefix.@refill +prefix. @menu * Citing Commands:: @@ -1546,7 +1546,7 @@ paragraph to use a nickname, or manually cite a message when setting perform these functions on the region of text between @samp{point} and @samp{mark}. Each of them sets the @dfn{undo boundary} before modifying the region so that the command can be undone in the standard Emacs -way.@refill +way. Here is the list of Supercite citing commands: @@ -1567,7 +1567,7 @@ frame @code{sc-default-cite-frame}. It runs the hook universal argument (@kbd{C-u}), it temporarily sets @code{sc-confirm-always-p} to @code{t} so you can confirm the attribution string for a single manual citing. -@xref{Configuring the Citation Engine}.@refill +@xref{Configuring the Citation Engine}. @findex sc-uncite-region @findex uncite-region (sc-) @@ -1578,7 +1578,7 @@ cited line in the region by interpreting the selected frame from @code{sc-uncite-frame-alist}, or the default unciting frame @code{sc-default-uncite-frame}. It runs the hook @code{sc-pre-uncite-hook} before interpreting the frame. -@xref{Configuring the Citation Engine}.@refill +@xref{Configuring the Citation Engine}. @findex sc-recite-region @findex recite-region (sc-) @@ -1588,7 +1588,7 @@ 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-pre-recite-hook} before interpreting the frame. -@xref{Configuring the Citation Engine}.@refill +@xref{Configuring the Citation Engine}. @vindex sc-confirm-always-p @vindex confirm-always-p (sc-) @@ -1612,7 +1612,7 @@ 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 @code{sc-rewrite-header-list} indicating which reference header to -write.@refill +write. With just the universal argument (@kbd{C-u}), electric reference mode is entered, regardless of the value of @code{sc-electric-references-p}. @@ -1640,7 +1640,7 @@ this easy to do. Like Supercite commands in general, the toggling commands are placed on a keymap prefix within the greater Supercite keymap. For the default value of @code{sc-mode-map-prefix}, this will be -@kbd{C-c C-p C-t}.@refill +@kbd{C-c C-p C-t}. The following commands toggle the value of certain Supercite variables which take only a binary value: @@ -1700,7 +1700,7 @@ One special command is provided to toggle both @code{sc-auto-fill-region-p} and @code{sc-fixup-whitespace-p} together. This is because you typically want to run Supercite with either variable as @code{nil} or non-@code{nil}. The command to toggle these variables -together is bound on @kbd{C-c C-p C-p}.@refill +together is bound on @kbd{C-c C-p C-p}. Finally, the command @kbd{C-c C-p C-t h} (also @kbd{C-c C-p C-t ?}) brings up a Help message on the toggling keymap. @@ -1711,7 +1711,7 @@ brings up a Help message on the toggling keymap. These commands allow you to view, modify, add, and delete various bits of information from the info alist. -@xref{Information Keys and the Info Alist}.@refill +@xref{Information Keys and the Info Alist}. @table @asis @kindex C-c C-p f @@ -1753,7 +1753,7 @@ This function is especially useful for replying to digest messages where Supercite will initially set up its information for the digest originator, but you want to cite each component article with the real message author. Note that unless an error during processing occurs, any -old information is lost.@refill +old information is lost. @end table @node Miscellaneous Commands @@ -1767,7 +1767,7 @@ old information is lost.@refill @item @code{sc-open-line} (@kbd{C-c C-p o}) Similar to Emacs's standard @code{open-line} commands, but inserts the citation string in front of the new line. As with @code{open-line}, -an optional numeric argument inserts that many new lines.@refill +an optional numeric argument inserts that many new lines. @end table @node Hints to MUA Authors @@ -1810,7 +1810,7 @@ the release of Emacs 19. Instead of the variable @code{mail-yank-hooks}, the hook variable that the MUA should provide is @code{mail-citation-hook}. Richard Stallman suggests that the MUAs should @code{defvar} @code{mail-citation-hook} to @code{nil} and perform -some default citing when that is the case.@refill +some default citing when that is the case. 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 @@ -1826,7 +1826,7 @@ buffer. At this point you should not modify the raw text in any way 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 above the @code{mail-header-separator} line and one copy below, however -there will probably be more headers below this line.@refill +there will probably be more headers below this line. @item Set @samp{point} to the beginning of the line containing the first mail @@ -1835,7 +1835,7 @@ 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, and anything within the region is fair game, so don't put anything that -@strong{must} remain unchanged inside the region.@refill +@strong{must} remain unchanged inside the region. @item Run the hook @code{mail-citation-hook}. You will probably want to @@ -1846,7 +1846,7 @@ yanking function, check its value. If it finds @code{mail-citation-hook} to be @code{nil}, it should perform some default citing behavior. User who want to connect to Supercite then need only add @code{sc-cite-original} to this list of hooks using -@code{add-hook}.@refill +@code{add-hook}. @end enumerate If you do all this your MUA will join the ranks of those that conform to diff --git a/doc/misc/srecode.texi b/doc/misc/srecode.texi index d76f9e09184..2a3cfdf0993 100644 --- a/doc/misc/srecode.texi +++ b/doc/misc/srecode.texi @@ -247,7 +247,6 @@ features of the current file name, user name, time, etc. Some arguments are major-mode specific, such as the @code{:el} or @code{:cpp} arguments. -@refill @section Template Insertion Context A context can be provided for templates in a file. This helps @@ -257,7 +256,6 @@ contexts to have the same name. Some standard contexts are A context can be automatically derived as well based on the parsing state from @i{Semantic}. @inforef{Top, Semantic Manual, semantic}. -@refill @section Applications Commands that do a particular user task which involves also writing @@ -781,7 +779,6 @@ All the text and macros within a section are either not shown at all (if that section is not 'visible') or the section is shown one time for each dictionary added to that symbol. @xref{Developing Template Functions}. -@refill Macros prefixed with ``>'' will include another template. Include macros would look like this: diff --git a/doc/misc/vip.texi b/doc/misc/vip.texi index 7c998b37010..28e78f5d381 100644 --- a/doc/misc/vip.texi +++ b/doc/misc/vip.texi @@ -56,7 +56,7 @@ you start using VIP@. Other nodes may be visited as needed. Comments and bug reports are welcome. Please send messages to @code{ms@@Sail.Stanford.Edu} if you are outside of Japan and to -@code{masahiko@@sato.riec.tohoku.junet} if you are in Japan.@refill +@code{masahiko@@sato.riec.tohoku.junet} if you are in Japan. @insertcopying @@ -128,14 +128,13 @@ the character; otherwise we say that point is @dfn{at the end of buffer}. @key{PNT} and @key{MRK} are used to indicate positions in a buffer and they are not part of the text of the buffer. If a buffer contains a @key{MRK} then the text between @key{MRK} -and @key{PNT} is called the @dfn{region} of the buffer.@refill +and @key{PNT} is called the @dfn{region} of the buffer. @cindex window Emacs provides (multiple) @dfn{windows} on the screen, and you can see the content of a buffer through the window associated with the buffer. The cursor of the screen is always positioned on the character after @key{PNT}. -@refill @cindex mode @cindex keymap @@ -149,7 +148,7 @@ buffers. Each buffer has its @dfn{local keymap} that determines the a function is bound to some key in the local keymap then that function will be executed when you type the key. If no function is bound to a key in the local map, however, the function bound to the key in the global map becomes -in effect.@refill +in effect. @node Loading VIP @section Loading VIP @@ -187,7 +186,7 @@ Loading VIP has the effect of globally binding @kbd{C-z} (@kbd{Control-z}) to the function @code{vip-change-mode-to-vi}. The default binding of @kbd{C-z} in GNU Emacs is @code{suspend-emacs}, but, you can also call @code{suspend-emacs} by typing @kbd{C-x C-z}. Other than this, all the -key bindings of Emacs remain the same after loading VIP.@refill +key bindings of Emacs remain the same after loading VIP. @cindex vi mode @@ -198,12 +197,12 @@ called and you will be in @dfn{vi mode}. (Some major modes may locally bind invoked by @kbd{M-x}. Here @kbd{M-x} means @kbd{Meta-x}, and if your terminal does not have a @key{META} key you can enter it by typing @kbd{@key{ESC} x}. The same effect can also be achieve by typing -@kbd{M-x vip-mode}.)@refill +@kbd{M-x vip-mode}.) @cindex mode line You can observe the change of mode by looking at the @dfn{mode line}. For -instance, if the mode line is:@refill +instance, if the mode line is: @example -----Emacs: *scratch* (Lisp Interaction)----All------------ @end example @@ -219,7 +218,7 @@ Thus the word @samp{Emacs} in the mode line will change to @samp{Vi}. @cindex emacs mode You can go back to the original @dfn{emacs mode} by typing @kbd{C-z} in -vi mode. Thus @kbd{C-z} toggles between these two modes.@refill +vi mode. Thus @kbd{C-z} toggles between these two modes. Note that modes in VIP exist orthogonally to modes in Emacs. This means that you can be in vi mode and at the same time, say, shell mode. @@ -265,7 +264,7 @@ emacs mode vi mode insert mode You will be in this mode just after you loaded VIP@. You can do all normal Emacs editing in this mode. Note that the key @kbd{C-z} is globally bound to @code{vip-change-mode-to-vi}. So, if you type @kbd{C-z} in this mode -then you will be in vi mode.@refill +then you will be in vi mode. @node Vi Mode @subsection Vi Mode @@ -332,7 +331,7 @@ The major differences from Vi are explained below. You can repeat undoing by the @kbd{.} key. So, @kbd{u} will undo a single change, while @kbd{u .@: .@: .@:}, for instance, will undo 4 previous changes. Undo is undoable as in Vi. So the content of the buffer will -be the same before and after @kbd{u u}.@refill +be the same before and after @kbd{u u}. @node Changing @subsection Changing @@ -345,7 +344,7 @@ then VIP will prompt you for a new word in the minibuffer by the prompt @key{ESC} to complete the command. Before you enter @key{RET} or @key{ESC} you can abort the command by typing @kbd{C-g}. In general, @kindex 007 @kbd{C-g} (@code{vip-keyboard-quit}) -you can abort a partially formed command by typing @kbd{C-g}.@refill +you can abort a partially formed command by typing @kbd{C-g}. @node Searching @subsection Searching @@ -361,7 +360,7 @@ A search for empty string will toggle the search mode between vanilla search and regular expression search. You cannot give an offset to the search string. (It is a limitation.) By default, search will wrap around the buffer as in Vi. You can change this by rebinding the variable -@code{vip-search-wrap-around}. @xref{Customization}, for how to do this.@refill +@code{vip-search-wrap-around}. @xref{Customization}, for how to do this. @node z Command @subsection z Command @@ -376,7 +375,7 @@ the buffer as in Vi. You can change this by rebinding the variable For those of you who cannot remember which of @kbd{z} followed by @key{RET}, @kbd{.}@: and @kbd{-} do what. You can also use @kbd{z} followed by @kbd{H}, @kbd{M} and @kbd{L} to place the current line in the Home (Middle, and -Last) line of the window.@refill +Last) line of the window. @node Counts @subsection Counts @@ -436,7 +435,7 @@ delimited by point and mark.) The key @kbd{r} is used for this purpose. Thus @kbd{d r} will delete the current region. If @kbd{R} is used instead of @kbd{r} the region will first be enlarged so that it will become the smallest region containing the original region and consisting of whole -lines. Thus @kbd{m .@: d R} will have the same effect as @kbd{d d}.@refill +lines. Thus @kbd{m .@: d R} will have the same effect as @kbd{d d}. @node New Commands @subsection Some New Commands @@ -478,7 +477,7 @@ can execute a single Emacs command. After executing the Emacs command you will be in vi mode again. You can give a count before typing @kbd{\}. Thus @kbd{5 \ *}, as well as @kbd{\ C-u 5 *}, will insert @samp{*****} before point. Similarly @kbd{1 0 \ C-p} will move the point 10 lines above -the current line.@refill +the current line. @item K @kindex 113 @kbd{K} (@code{vip-kill-buffer}) Kill current buffer if it is not modified. Useful when you selected a @@ -504,7 +503,7 @@ similar, but will use window different from the current window. If followed by a certain character @var{ch}, it becomes an operator whose argument is the region determined by the motion command that follows. Currently, @var{ch} can be one of @kbd{c}, @kbd{C}, @kbd{g}, @kbd{q} and -@kbd{s}.@refill +@kbd{s}. @item # c @kindex 0432 @kbd{# c} (@code{downcase-region}) Change upper-case characters in the region to lower case @@ -517,7 +516,7 @@ Change lower-case characters in the region to upper case. For instance, @item # g @kindex 0432 @kbd{# g} (@code{vip-global-execute}) Execute last keyboard macro for each line in the region -(@code{vip-global-execute}).@refill +(@code{vip-global-execute}). @item # q @kindex 0432 @kbd{# q} (@code{vip-quote-region}) Insert specified string at the beginning of each line in the region @@ -577,7 +576,7 @@ mode. You get the same effect by typing @kbd{C-x C-s} in vi mode, but the idea here is that you can execute useful Emacs commands without typing control characters. For example, if you hit @kbd{X} (or @kbd{C-x}) followed by @kbd{2}, then the current window will be split into 2 and you will be in -vi mode again.@refill +vi mode again. @end table In addition to these, @code{ctl-x-map} is slightly modified: @@ -723,7 +722,7 @@ Most Vi commands accept a @dfn{numeric argument} which can be supplied as a prefix to the commands. A numeric argument is also called a @dfn{count}. In many cases, if a count is given, the command is executed that many times. For instance, @kbd{5 d d} deletes 5 lines while simple @kbd{d d} deletes a -line. In this manual the metavariable @var{n} will denote a count.@refill +line. In this manual the metavariable @var{n} will denote a count. @node Important Keys @section Important Keys @@ -742,7 +741,7 @@ Clear the screen and reprint everything (@code{recenter}). In Emacs many commands are bound to the key strokes that start with @kbd{C-x}, @kbd{C-c} and @key{ESC}. These commands can be -accessed from vi mode as easily as from emacs mode.@refill +accessed from vi mode as easily as from emacs mode. @table @kbd @item C-x @@ -772,7 +771,7 @@ Escape to emacs mode. Hitting the @kbd{\} key will take you to emacs mode, and you can execute a single Emacs command. After executing the Emacs command you will be in vi mode again. You can give a count before typing @kbd{\}. Thus @kbd{5 \ +}, as well as @kbd{\ C-u 5 +}, will insert -@samp{+++++} before point.@refill +@samp{+++++} before point. @end table @node Buffers and Windows @@ -784,7 +783,7 @@ typing @kbd{\}. Thus @kbd{5 \ +}, as well as @kbd{\ C-u 5 +}, will insert In Emacs the text you edit is stored in a @dfn{buffer}. See GNU Emacs Manual, for details. There is always one @dfn{current} -buffer, also called the @dfn{selected buffer}.@refill +buffer, also called the @dfn{selected buffer}. @cindex window @cindex modified (buffer) @@ -883,7 +882,7 @@ file in the current window, you can just type @kbd{v}. Emacs maintains the @dfn{default directory} which is specific to each buffer. Suppose, for instance, that the default directory of the current buffer is @file{/usr/masahiko/lisp/}. Then you will get the following prompt in the -minibuffer.@refill +minibuffer. @example visit file: /usr/masahiko/lisp/ @end example @@ -911,7 +910,7 @@ window. You can verify which file you are editing by typing @kbd{g}. (You can also type @kbd{X B} to get information on other buffers too.) If you type -@kbd{g} you will get an information like below in the echo area:@refill +@kbd{g} you will get an information like below in the echo area: @example "/usr/masahiko/man/vip.texinfo" line 921 of 1949 @end example @@ -921,7 +920,7 @@ you may wish to save it in a file. If you wish to save it in the file associated with the buffer (@file{/usr/masahiko/man/vip.texinfo}, in this case), you can just say @kbd{X S}. If you wish to save it in another file, you can type @kbd{X W}. You will then get a similar prompt as you get for -@kbd{v}, to which you can enter the file name.@refill +@kbd{v}, to which you can enter the file name. @node Viewing the Buffer @section Viewing the Buffer @@ -1453,7 +1452,7 @@ For example, if point is at the beginning of a word @samp{foo} and you wish to change it to @samp{bar}, you can type @kbd{c w}. Then, as @kbd{w} is a point command, you will get the prompt @samp{foo =>} in the minibuffer, for which you can type @kbd{b a r @key{RET}} to complete the change -command.@refill +command. @table @kbd @item c c diff --git a/doc/misc/viper.texi b/doc/misc/viper.texi index 8b4c9e93f7c..db5a5736888 100644 --- a/doc/misc/viper.texi +++ b/doc/misc/viper.texi @@ -88,7 +88,7 @@ be visited as needed. Comments and bug reports are welcome. @code{kifer@@cs.stonybrook.edu} is the current address for Viper bug reports. -Please use the Ex command @kbd{:submitReport} for this purpose.@refill +Please use the Ex command @kbd{:submitReport} for this purpose. @insertcopying @end ifnottex @@ -147,7 +147,7 @@ comes with Emacs. This manual can be read as an Info file. Try the command Comments and bug reports are welcome. @code{kifer@@cs.stonybrook.edu} is the current address for Viper bug reports. -Please use the Ex command @kbd{:submitReport} for this purpose.@refill +Please use the Ex command @kbd{:submitReport} for this purpose. @end iftex @@ -197,21 +197,21 @@ Emacs can edit several files at once. A file in Emacs is placed in a @dfn{buffer} that usually has the same name as the file. Buffers are also used for other purposes, such as shell interfaces, directory editing, etc. @xref{Dired,,Directory Editor,emacs,The -GNU Emacs Manual}, for an example.@refill +GNU Emacs Manual}, for an example. A buffer has a distinguished position called the @dfn{point}. A @dfn{point} is always between 2 characters, and is @dfn{looking at} the right hand character. The cursor is positioned on the right hand character. Thus, when the @dfn{point} is looking at the end-of-line, the cursor is on the end-of-line character, i.e., beyond the last -character on the line. This is the default Emacs behavior.@refill +character on the line. This is the default Emacs behavior. The default settings of Viper try to mimic the behavior of Vi, preventing the cursor from going beyond the last character on the line. By using Emacs commands directly (such as those bound to arrow keys), it is possible to get the cursor beyond the end-of-line. However, this won't (or shouldn't) happen if you restrict yourself to standard Vi keys, unless you -modify the default editing style. @xref{Customization}.@refill +modify the default editing style. @xref{Customization}. In addition to the @dfn{point}, there is another distinguished buffer position called the @dfn{mark}. @xref{Mark,,Mark,emacs,The GNU Emacs @@ -232,7 +232,7 @@ assuming that the current region starts at line 123 and ends at line 135. There is no need to type the line numbers, since Viper inserts them automatically in front of the Ex command. -@xref{Basics}, for more info.@refill +@xref{Basics}, for more info. @cindex window @cindex mode line @@ -255,7 +255,7 @@ show the buffer name and current major and minor modes (see below). A special buffer called @dfn{Minibuffer} is displayed as the last line in a minibuffer window. The minibuffer window is used for command input output. Viper uses minibuffer window for @kbd{/} and @kbd{:} -commands.@refill +commands. @cindex mode @cindex keymap @@ -275,7 +275,7 @@ keymap then that function will be executed when you type the key. If no function is bound to a key in the local map, however, the function bound to the key in the global map will be executed. @xref{Major Modes,Major Modes,Major Modes,emacs,The -GNU Emacs Manual}, for more information.@refill +GNU Emacs Manual}, for more information. A buffer can also have a @dfn{minor mode}. Minor modes are options that you can use or not. A buffer in @code{text-mode} can have @@ -283,7 +283,7 @@ you can use or not. A buffer in @code{text-mode} can have any time. In Emacs, a minor mode may have it own keymap, which overrides the local keymap when the minor mode is turned on. For more information, @pxref{Minor Modes,Minor Modes,Minor Modes,emacs,The -GNU Emacs Manual} @refill +GNU Emacs Manual}. @cindex Viper as minor mode @cindex Control keys @@ -293,7 +293,7 @@ Viper is implemented as a collection of minor modes. Different minor modes are involved when Viper emulates Vi command mode, Vi insert mode, etc. You can also turn Viper on and off at any time while in Vi command mode. @xref{States in Viper}, for -more information.@refill +more information. Emacs uses Control and Meta modifiers. These are denoted as C and M, e.g., @kbd{^Z} as @kbd{C-z} and @kbd{Meta-x} as @kbd{M-x}. The Meta key is @@ -303,7 +303,7 @@ holding the Meta key down. For keyboards that do not have a Meta key, @key{ESC} is used as Meta. Thus @kbd{M-x} is typed as @kbd{@key{ESC} x}. Viper uses @key{ESC} to switch from Insert state to Vi state. Therefore Viper defines @kbd{C-\} as its Meta key in Vi state. @xref{Vi State}, for -more info.@refill +more info. Emacs is structured as a Lisp interpreter around a C core. Emacs keys cause Lisp functions to be called. It is possible to call these @@ -357,7 +357,7 @@ command line, it will show the @samp{*scratch*} buffer, in the editing files by using @kbd{:e}, @kbd{:vi}, or @kbd{v} commands. (@xref{File and Buffer Handling}, for more information on @kbd{v} and other new commands that, in many cases, are more convenient than @kbd{:e}, -@kbd{:vi}, and similar old-style Vi commands.)@refill +@kbd{:vi}, and similar old-style Vi commands.) Finally, if at some point you would want to de-Viperize your running copy of Emacs after Viper has been loaded, the command @kbd{M-x @@ -386,7 +386,7 @@ This is the state plain vanilla Emacs is normally in. After you have loaded Viper, @kbd{C-z} will normally take you to Vi command state. Another @kbd{C-z} will take you back to Emacs state. This toggle key can be changed, @pxref{Customization} You can also type @kbd{M-x viper-mode} to -change to Vi state.@refill +change to Vi state. For users who chose to set their user level to 1 at Viper setup time, @@ -424,7 +424,7 @@ boundary of a replacement region (usually designated via a @samp{$} sign), it will automatically change to Insert state. You do not have to worry about it. The key bindings remain practically the same as in Insert state. If you type @key{ESC}, Viper will switch to Vi command mode, terminating the -replacement state.@refill +replacement state. @end table @cindex mode line @@ -488,7 +488,7 @@ for editing LaTeX documents, Dired for directory editing, etc. These are major modes, each with a different set of key-bindings. Viper states are orthogonal to these Emacs major modes. The presence of these language sensitive and other modes is a major win over Vi. @xref{Improvements over -Vi}, for more.@refill +Vi}, for more. The bindings for these modes can be made available in the Viper Insert state as well as in Emacs state. Unless you specify your user level as 1 (a @@ -541,7 +541,6 @@ functionality and no key-binding. Recursive edits are indicated by Edit,Recursive Edit,emacs,The GNU Emacs Manual}. At user level 1, @kbd{C-g} is bound to @code{viper-info-on-file} function instead. -@refill @item C-\ @kindex @kbd{C-\} @cindex Meta key @@ -652,7 +651,6 @@ In contrast to @kbd{:w!@: foo}, if the command were @kbd{:r foo}, the entire command will appear in the history list. This is because having @kbd{:r} alone as a default is meaningless, since this command requires a file argument. -@refill @end table @noindent As in Vi, Viper's destructive commands can be re-executed by typing `@kbd{.}'. @@ -673,7 +671,7 @@ Emacs major modes cannot be used in Insert state. It is strongly recommended that as soon as you are comfortable, make the Emacs state bindings visible (by changing your user level to 3 or higher). @xref{Customization}, -to see how to do this.@refill +to see how to do this. Once this is done, it is possible to do quite a bit of editing in Insert state. For instance, Emacs has a @dfn{yank} command, @kbd{C-y}, @@ -823,13 +821,13 @@ If you set marker @samp{a} in file @file{foo}, start editing file @file{bar} and type @kbd{'a}, then @emph{YOU WILL SWITCH TO FILE @file{foo}}. You can see the contents of a textmarker using the Viper command @kbd{[} where are the -textmarkers, e.g., @kbd{[a} to view marker @samp{a} .@refill +textmarkers, e.g., @kbd{[a} to view marker @samp{a} . @item Repeated Commands Command repetitions are common over files. Typing @kbd{!!} will repeat the last @kbd{!} command whichever file it was issued from. Typing @kbd{.} will repeat the last command from any file, and searches will repeat the last search. Ex commands can be repeated by typing -@kbd{: @key{RET}}.@refill +@kbd{: @key{RET}}. Note: in some rare cases, that @kbd{: @key{RET}} may do something dangerous. However, usually its effect can be undone by typing @kbd{u}. @item Registers @@ -897,7 +895,7 @@ more powerful facilities for defining abbreviations. it is not implemented. A useful alternative is @code{cat -t -e file}. Unfortunately, it cannot be used directly inside Emacs, since Emacs will obdurately change @samp{^I} -back to normal tabs.@refill +back to normal tabs. @end itemize @node Improvements over Vi @@ -928,7 +926,7 @@ The Vi command set is based on the idea of combining motion commands with other commands. The motion command is used as a text region specifier for other commands. We classify motion commands into @dfn{point commands} and -@dfn{line commands}.@refill +@dfn{line commands}. @cindex point commands @@ -1010,7 +1008,7 @@ direction. Since the undo size is limited, Viper can create backup files and auto-save files. It will normally do this automatically. It is possible to have numbered backups, etc. For details, @pxref{Backup,,Backup and -Auto-Save,emacs,The GNU Emacs Manual} @refill +Auto-Save,emacs,The GNU Emacs Manual}. @comment [ balance parens @cindex viewing registers and markers @@ -1083,7 +1081,7 @@ where @samp{register} is any character from @samp{a} through @samp{z}. Then you can execute this macro using @kbd{@@register}. It is, of course, possible to yank some text into a register and execute it using @kbd{@@register}. Typing @kbd{@@@@}, @kbd{@@RET}, or @kbd{@@C-j} will -execute the last macro that was executed using @kbd{@@register}.@refill +execute the last macro that was executed using @kbd{@@register}. Viper will automatically lowercase the register, so that pressing the @kbd{SHIFT} key for @kbd{@@} will not create problems. This is for @@ -1105,7 +1103,7 @@ The last keyboard macro can also be executed using This is useful for Emacs style keyboard macros defined using @kbd{C-x(} and @kbd{C-x)}. Emacs keyboard macros have more capabilities. @xref{Keyboard Macros,,Keyboard Macros,emacs, The GNU Emacs Manual}, for -details.@refill +details. Keyboard Macros allow an interesting form of Query-Replace: @kbd{/pattern} or @kbd{n} to go to the next pattern (the query), followed by a @@ -1161,7 +1159,7 @@ as you go along. Incremental Search is normally bound to @kbd{C-s} and @kbd{C-r}. @xref{Customization}, to find out how to change the bindings of @kbd{C-r or C-s}. For details, @pxref{Incremental Search,,Incremental -Search,emacs,The GNU Emacs Manual} @refill +Search,emacs,The GNU Emacs Manual}. @cindex query replace @@ -1308,7 +1306,7 @@ into 2. Except for novice users, @kbd{C-c} is also set to execute an Emacs command from the current major mode. @key{ESC} will do the same, if you configure @key{ESC} as Meta by setting @code{viper-no-multiple-ESC} to @code{nil} in @file{.viper}. @xref{Customization}. @kbd{C-\} in Insert, Replace, or Vi -states will make Emacs think @kbd{Meta} has been hit.@refill +states will make Emacs think @kbd{Meta} has been hit. @item \ @kindex @kbd{\} Escape to Emacs to execute a single Emacs command. For instance, @@ -1339,7 +1337,7 @@ argument is the region determined by the motion command that follows (indicated as ). Currently, @var{ch} can be one of @kbd{c}, @kbd{C}, @kbd{g}, @kbd{q}, and @kbd{s}. For instance, @kbd{#qr} will prompt you for a string and then -prepend this string to each line in the buffer.@refill +prepend this string to each line in the buffer. @item # c @kindex @kbd{#c} @cindex changing case @@ -1355,7 +1353,7 @@ Emacs command @kbd{M-u} does the same for words. @item # g @kindex @kbd{#g} Execute last keyboard macro for each line in the region -(@code{viper-global-execute}).@refill +(@code{viper-global-execute}). @item # q @kindex @kbd{#q} Insert specified string at the beginning of each line in the region @@ -1401,7 +1399,7 @@ Go to end of heading. @item g <@emph{movement command}> Search buffer for text delimited by movement command. The canonical example is @kbd{gw} to search for the word under the cursor. -@xref{Improved Search}, for details.@refill +@xref{Improved Search}, for details. @item C-g and C-] @kindex @kbd{C-g} @kindex @kbd{C-]} @@ -1560,7 +1558,7 @@ patches. @noindent Emacs Lisp archives exist on @samp{archive.cis.ohio-state.edu} -and @samp{wuarchive.wustl.edu}@refill +and @samp{wuarchive.wustl.edu} @node Customization @@ -1583,7 +1581,7 @@ Elisp code in your @file{.emacs} file before and after the @code{(require 'viper)} line. This method is @emph{not} recommended, unless you know what you are doing. Only two variables, @code{viper-mode} and @code{viper-custom-file-name}, are supposed to be customized in @file{.emacs}, -prior to loading Viper (i.e., prior to @code{(require 'viper)} command.@refill +prior to loading Viper (i.e., prior to @code{(require 'viper)} command. @item @cindex :customize By executing the @kbd{:customize} Ex command. This takes you to the Emacs @@ -2780,7 +2778,7 @@ macros) lets the user define keyboard macros that ask for confirmation or even prompt the user for input and then continue. To do this, one should type @kbd{C-x q} (for confirmation) or @kbd{C-u C-x q} (for prompt). For details, @pxref{Keyboard Macro Query,,Customization,emacs,The GNU Emacs -Manual} @refill +Manual}. When the user finishes defining a macro (which is done by typing @kbd{C-x)}, a departure from Vi), you will be asked whether you want this @@ -2994,7 +2992,7 @@ currently defined. To see all macros along with their definitions, type This section is a semi-automatically bowdlerized version of the Vi reference created by @* @samp{maart@@cs.vu.nl} and others. It can be -found on the Vi archives. This reference has been adapted for Viper.@refill +found on the Vi archives. This reference has been adapted for Viper. @menu * Groundwork:: Textual Conventions and Viper basics @@ -3015,7 +3013,7 @@ The VI command set is based on the idea of combining motion commands with other commands. The motion command is used as a text region specifier for other commands. We classify motion commands into @dfn{point commands} and -@dfn{line commands}.@refill +@dfn{line commands}. @cindex point commands @@ -4187,7 +4185,7 @@ the whole file. @cindex @samp{#} (Previous file) Similarly, @samp{#} expands to the previous file. The previous file is the first file in @kbd{:args} listing. This defaults to the previous file in -the VI sense if you have one window.@refill +the VI sense if you have one window. Symbols @samp{%} and @samp{#} are also used in the Ex commands @kbd{:e} and @kbd{:r }. The commands @kbd{:w} and the regular @kbd{:r @@ -4425,7 +4423,7 @@ a region under the mouse pointer. This command can take a prefix argument. Note: Viper sets this binding only if this mouse action is not already bound to something else. -@xref{Viper Specials}, for more information.@refill +@xref{Viper Specials}, for more information. @item S-Mouse-2 Holding Shift and clicking button 2 of the mouse will @@ -4433,7 +4431,7 @@ insert a region surrounding the mouse pointer. This command can also take a prefix argument. Note: Viper sets this binding only if this mouse action is not already bound to something else. -@xref{Viper Specials}, for more details.@refill +@xref{Viper Specials}, for more details. @end table @kindex @kbd{S-Mouse-1} @kindex @kbd{S-Mouse-2} diff --git a/doc/misc/widget.texi b/doc/misc/widget.texi index f2c403a2c14..2fe247dd750 100644 --- a/doc/misc/widget.texi +++ b/doc/misc/widget.texi @@ -431,7 +431,6 @@ Set up a buffer to support widgets. This should be called after creating all the widgets and before allowing the user to edit them. -@refill @end defun If you want to insert text outside the widgets in the form, the @@ -450,7 +449,7 @@ There is a standard widget keymap which you might find useful. @key{TAB} and @kbd{C-@key{TAB}} are bound to @code{widget-forward} and @code{widget-backward}, respectively. @key{RET} and @kbd{Mouse-2} are bound to @code{widget-button-press} and -@code{widget-button-click}.@refill +@code{widget-button-click}. @end defvr @defvar widget-global-map @@ -1718,7 +1717,7 @@ Keymap used in @code{widget-minor-mode}. @defun widget-prompt-value widget prompt [ value unbound ] Prompt for a value matching @var{widget}, using @var{prompt}. The current value is assumed to be @var{value}, unless @var{unbound} is -non-@code{nil}.@refill +non-@code{nil}. @end defun @defun widget-get-sibling widget -- cgit v1.2.1 From 955ada112b25068c6756b9fa904c6701da9911b0 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Thu, 24 Oct 2013 09:40:05 +0200 Subject: * ert.texi (Running Tests Interactively): Adapt examle output. (Tests and Their Environment): Mention skip-unless. --- doc/misc/ChangeLog | 5 +++++ doc/misc/ert.texi | 20 +++++++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index ad045fc6d5f..1396fc12f43 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,8 @@ +2013-10-24 Michael Albinus + + * ert.texi (Running Tests Interactively): Adapt examle output. + (Tests and Their Environment): Mention skip-unless. + 2013-10-23 Glenn Morris * dired-x.texi, ebrowse.texi, ede.texi, eieio.texi, eshell.texi: diff --git a/doc/misc/ert.texi b/doc/misc/ert.texi index 8728d53ea27..ac87b98eae9 100644 --- a/doc/misc/ert.texi +++ b/doc/misc/ert.texi @@ -183,9 +183,10 @@ tests run. It looks like this: @example Selector: t -Passed: 31 -Failed: 2 (2 unexpected) -Total: 33/33 +Passed: 31 +Skipped: 0 +Failed: 2 (2 unexpected) +Total: 33/33 Started at: 2008-09-11 08:39:25-0700 Finished. @@ -454,6 +455,19 @@ versions, specific architectures, etc.: @node Tests and Their Environment @section Tests and Their Environment +Sometimes, it doesn't make sense to run a test due to missing +preconditions. A required Emacs feature might not be compiled in, the +function to be tested could call an external binary which might not be +available on the test machine, you name it. In this case, the macro +@code{skip-unless} could be used to skip the test: + +@lisp +(ert-deftest test-dbus () + "A test that checks D-BUS functionality." + (skip-unless (featurep 'dbusbind)) + ...) +@end lisp + The outcome of running a test should not depend on the current state of the environment, and each test should leave its environment in the same state it found it in. In particular, a test should not depend on -- cgit v1.2.1 From 578ef6b9a298e46249fcf4b63abf7e81e133073a Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Thu, 24 Oct 2013 20:17:57 +0800 Subject: * doc/lispref/display.texi (Face Remapping): Add indexes for face remapping. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/display.texi | 2 ++ 2 files changed, 6 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 944c7f7649b..f4b38f3bf50 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-10-24 Xue Fuqiao + + * display.texi (Face Remapping): Add indexes for face remapping. + 2013-10-23 Glenn Morris * eval.texi, files.texi, intro.texi, objects.texi, searching.texi: diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index bc8e4f8b7f7..8361a2090de 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -2651,6 +2651,8 @@ then the new definition of the @code{mode-line} face inherits from the @code{mode-line} face. @end defvar +@cindex relative remapping, faces +@cindex base remapping, faces The following functions implement a higher-level interface to @code{face-remapping-alist}. Most Lisp code should use these functions instead of setting @code{face-remapping-alist} directly, to -- cgit v1.2.1 From 235bd03a9f2d4a58f34adea56b90055eecf3653c Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Thu, 24 Oct 2013 21:16:51 +0800 Subject: * doc/lispref/display.texi (Font Selection): Add indexes for font selection. --- doc/lispref/ChangeLog | 1 + doc/lispref/display.texi | 2 ++ 2 files changed, 3 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index f4b38f3bf50..e0ce3d5e799 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,6 +1,7 @@ 2013-10-24 Xue Fuqiao * display.texi (Face Remapping): Add indexes for face remapping. + (Font Selection): Add indexes for font selection. 2013-10-23 Glenn Morris diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 8361a2090de..6f0d052dd6f 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -2864,6 +2864,8 @@ these are used for messages in @file{*Compilation*} buffers. @node Font Selection @subsection Font Selection +@cindex font selection +@cindex selecting a font Before Emacs can draw a character on a graphical display, it must select a @dfn{font} for that character@footnote{In this context, the -- cgit v1.2.1 From 8b78f36c3a5b6ae010ca4d4d9d2df47cda9cbf4b Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Thu, 24 Oct 2013 21:53:20 +0800 Subject: * doc/lispref/display.texi (Low-Level Font): Add an index for font registry. --- doc/lispref/ChangeLog | 1 + doc/lispref/display.texi | 1 + 2 files changed, 2 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index e0ce3d5e799..617bdab0cb5 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -2,6 +2,7 @@ * display.texi (Face Remapping): Add indexes for face remapping. (Font Selection): Add indexes for font selection. + (Low-Level Font): Add an index for font registry. 2013-10-23 Glenn Morris diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 6f0d052dd6f..687bbae01d7 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -3241,6 +3241,7 @@ size, or a floating point number that specifies the point size. Additional typographic style information for the font, such as @samp{sans}. The value should be a string or a symbol. +@cindex font registry @item :registry The charset registry and encoding of the font, such as @samp{iso8859-1}. The value should be a string or a symbol. -- cgit v1.2.1 From 4fa11a36643d54628ae52cc21b95f714930edc96 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Thu, 24 Oct 2013 22:00:59 +0800 Subject: Improve indexing. --- doc/lispref/ChangeLog | 2 +- doc/lispref/display.texi | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 617bdab0cb5..ef6d7cfc535 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,7 +1,7 @@ 2013-10-24 Xue Fuqiao * display.texi (Face Remapping): Add indexes for face remapping. - (Font Selection): Add indexes for font selection. + (Font Selection): Add indexes. (Low-Level Font): Add an index for font registry. 2013-10-23 Glenn Morris diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 687bbae01d7..ce579f0ef54 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -2936,6 +2936,7 @@ other registries given in @var{alternate-registries}, one by one, until it finds a registry that does exist. @end defopt +@cindex scalable fonts Emacs can make use of scalable fonts, but by default it does not use them. -- cgit v1.2.1 From 619a46f8d277f6ebb669f13287b620f5a2512ee0 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Fri, 25 Oct 2013 19:44:35 +0800 Subject: * doc/lispref/display.texi (Fontsets): Minor wording fix. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/display.texi | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index ef6d7cfc535..cbbb51787d2 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-10-25 Xue Fuqiao + + * display.texi (Fontsets): Minor wording fix. + 2013-10-24 Xue Fuqiao * display.texi (Face Remapping): Add indexes for face remapping. diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index ce579f0ef54..425c69a691e 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -3064,7 +3064,7 @@ function does nothing. If optional argument @var{style-variant-p} is non-@code{nil}, that says to create bold, italic and bold-italic variants of the fontset as well. These variant fontsets do not have a short name, only a long one, which -is made by altering @var{fontpattern} to indicate the bold or italic +is made by altering @var{fontpattern} to indicate the bold and/or italic status. The specification string also says which fonts to use in the fontset. -- cgit v1.2.1 From 2194b2a4b0425019ee80bb5a26673361cb059678 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Fri, 25 Oct 2013 20:23:07 +0800 Subject: * doc/lispref/nonascii.texi (Character Properties): Add an index for script symbols. --- doc/lispref/ChangeLog | 2 ++ doc/lispref/nonascii.texi | 1 + 2 files changed, 3 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index cbbb51787d2..367d5b25227 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,5 +1,7 @@ 2013-10-25 Xue Fuqiao + * nonascii.texi (Character Properties): Add an index for script symbols. + * display.texi (Fontsets): Minor wording fix. 2013-10-24 Xue Fuqiao diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index 94a7bdf1b23..96adb629f37 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -610,6 +610,7 @@ property as a symbol. @end defvar @defvar char-script-table +@cindex script symbols The value of this variable is a char-table that specifies, for each character, a symbol whose name is the script to which the character belongs, according to the Unicode Standard classification of the -- cgit v1.2.1 From 3e1300f765befac6ed9e7f59c022f5f886babfd5 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Fri, 25 Oct 2013 21:12:58 +0800 Subject: * doc/lispref/display.texi (Low-Level Font): Improve indexing. --- doc/lispref/ChangeLog | 5 +++-- doc/lispref/display.texi | 3 +++ 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 367d5b25227..b0df928a3be 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,8 +1,9 @@ 2013-10-25 Xue Fuqiao - * nonascii.texi (Character Properties): Add an index for script symbols. - * display.texi (Fontsets): Minor wording fix. + (Low-Level Font): Improve indexing. + + * nonascii.texi (Character Properties): Add an index for script symbols. 2013-10-24 Xue Fuqiao diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 425c69a691e..b4e9baf877f 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -3199,6 +3199,7 @@ should be one of @code{font-object}, @code{font-spec}, or @code{font-entity}. @end defun +@cindex font object A font object is a Lisp object that represents a font that Emacs has @dfn{opened}. Font objects cannot be modified in Lisp, but they can be inspected. @@ -3212,6 +3213,7 @@ otherwise, @var{string} should be a string, and @var{position} specifies a position in that string. @end defun +@cindex font spec A font spec is a Lisp object that contains a set of specifications that can be used to find a font. More than one font may match the specifications in a font spec. @@ -3277,6 +3279,7 @@ Set the font property @var{property} in the font-spec @var{font-spec} to @var{value}. @end defun +@cindex font entity A font entity is a reference to a font that need not be open. Its properties are intermediate between a font object and a font spec: like a font object, and unlike a font spec, it refers to a single, -- cgit v1.2.1 From 651c39f8e859e9945af91be55aeeb6dceb745ef2 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Fri, 25 Oct 2013 21:34:21 +0800 Subject: Continuation of previous change. --- doc/lispref/display.texi | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index b4e9baf877f..952191a246b 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -3253,6 +3253,7 @@ The charset registry and encoding of the font, such as The script that the font must support (a symbol). @item :otf +@cindex OpenType font The font must be an OpenType font that supports these OpenType features, provided Emacs is compiled with support for @samp{libotf} (a library for performing complex text layout in certain scripts). The -- cgit v1.2.1 From 8b022e34fd15fbfd191c2dd79ff24d43ddac23a6 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Fri, 25 Oct 2013 21:56:59 +0800 Subject: Improve indexing. --- doc/lispref/display.texi | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 952191a246b..b6a502ae532 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -3181,6 +3181,7 @@ does that, this function's value may not be accurate. @node Low-Level Font @subsection Low-Level Font Representation +@cindex font property Normally, it is not necessary to manipulate fonts directly. In case you need to do so, this section explains how. -- cgit v1.2.1 From 68c9b8763c9495e230687e70ae94d0972bd94159 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sat, 26 Oct 2013 10:02:51 +0800 Subject: Comment --- doc/lispref/display.texi | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc') diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index b6a502ae532..88f1f3866a3 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -3575,6 +3575,8 @@ See the next subsection for details. @xref{Fringe Bitmaps}. @end ifnottex +@c FIXME: I can't find the ‘fringes-indicator-alist’ variable. Maybe +@c it should be ‘fringe-indicator-alist’ or ‘fringe-cursor-alist’? --xfq When @code{fringe-cursor-alist} has a buffer-local value, and there is no bitmap defined for a cursor type, the corresponding value from the default value of @code{fringes-indicator-alist} is used. -- cgit v1.2.1 From 7db9c31e3d188dcd017cad1f75e62e21a2447330 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sat, 26 Oct 2013 10:20:04 +0800 Subject: * doc/lispref/display.texi (Fringe Indicators): Add indexes for fringe indicators. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/display.texi | 2 ++ 2 files changed, 6 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index b0df928a3be..f191f4e895f 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-10-26 Xue Fuqiao + + * display.texi (Fringe Indicators): Add indexes for fringe indicators. + 2013-10-25 Xue Fuqiao * display.texi (Fontsets): Minor wording fix. diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 88f1f3866a3..5b103bab0d6 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -3440,6 +3440,7 @@ etc. @defopt indicate-empty-lines @cindex fringes, and empty line indication +@cindex empty lines, indicating When this is non-@code{nil}, Emacs displays a special glyph in the fringe of each empty line at the end of the buffer, on graphical displays. @xref{Fringes}. This variable is automatically @@ -3447,6 +3448,7 @@ buffer-local in every buffer. @end defopt @defopt indicate-buffer-boundaries +@cindex buffer boundaries, indicating This buffer-local variable controls how the buffer boundaries and window scrolling are indicated in the window fringes. -- cgit v1.2.1 From 918a7ad426e75acc0d38d87c2900ec6ba9a52bf3 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sat, 26 Oct 2013 10:25:54 +0800 Subject: Add an index for customizing fringe bitmaps. --- doc/lispref/ChangeLog | 1 + doc/lispref/display.texi | 1 + 2 files changed, 2 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index f191f4e895f..65106dc272f 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,6 +1,7 @@ 2013-10-26 Xue Fuqiao * display.texi (Fringe Indicators): Add indexes for fringe indicators. + (Customizing Bitmaps): Add an index for customizing fringe bitmaps. 2013-10-25 Xue Fuqiao diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 5b103bab0d6..62c36815457 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -3670,6 +3670,7 @@ If @var{pos} is @code{nil}, that stands for the value of point in @node Customizing Bitmaps @subsection Customizing Fringe Bitmaps +@cindex fringe bitmaps, customizing @defun define-fringe-bitmap bitmap bits &optional height width align This function defines the symbol @var{bitmap} as a new fringe bitmap, -- cgit v1.2.1 From 3c640e29b82ea656a982686d0a3da718a2d80261 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 27 Oct 2013 12:40:16 +0800 Subject: Add an index for edge-detection algorithms. * doc/lispref/display.texi (Image Descriptors): Add an index for edge-detection algorithms. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/display.texi | 2 ++ 2 files changed, 6 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 65106dc272f..768a82a6550 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-10-27 Xue Fuqiao + + * display.texi (Image Descriptors): Add an index for edge-detection algorithms. + 2013-10-26 Xue Fuqiao * display.texi (Fringe Indicators): Add indexes for fringe indicators. diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 62c36815457..3b64d54bbfa 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -4132,6 +4132,7 @@ Here are the possibilities for @var{height}: @table @asis @item @code{(+ @var{n})} +@c FIXME: Add an index for "step"? --xfq This means to use a font that is @var{n} steps larger. A ``step'' is defined by the set of available fonts---specifically, those that match what was otherwise specified for this text, in all attributes except @@ -4412,6 +4413,7 @@ sometimes consider this useful for displaying the image for a ``disabled'' button. @item (edge-detection :matrix @var{matrix} :color-adjust @var{adjust}) +@cindex edge detection, images Specifies a general edge-detection algorithm. @var{matrix} must be either a nine-element list or a nine-element vector of numbers. A pixel at position @math{x/y} in the transformed image is computed from -- cgit v1.2.1 From 44e0cfaf5781b3b6e0af985277e5d6edf25e827e Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 27 Oct 2013 21:07:24 +0800 Subject: Add an index for image maps. --- doc/lispref/ChangeLog | 2 +- doc/lispref/display.texi | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 768a82a6550..3b664884e89 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,6 +1,6 @@ 2013-10-27 Xue Fuqiao - * display.texi (Image Descriptors): Add an index for edge-detection algorithms. + * display.texi (Image Descriptors): Improve indexing. 2013-10-26 Xue Fuqiao diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 3b64d54bbfa..4d7d7bf560d 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -4497,6 +4497,7 @@ This specifies the pointer shape when the mouse pointer is over this image. @xref{Pointer Shape}, for available pointer shapes. @item :map @var{map} +@cindex image maps This associates an image map of @dfn{hot spots} with this image. An image map is an alist where each element has the format -- cgit v1.2.1 From 77197f90a07a1b7ae2276b6ce923185ffd97dc14 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 27 Oct 2013 22:12:16 +0800 Subject: Comment --- doc/lispref/display.texi | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 4d7d7bf560d..ac39a8b4eb4 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -4700,6 +4700,7 @@ 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. +@c FIXME: ‘:format-type’ or ‘:format’? --xfq @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 -- cgit v1.2.1 From 18c9f8a224e17082270b83fb77a1fc9d41072cff Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Mon, 28 Oct 2013 06:53:48 +0800 Subject: * lisp/image.el (defimage): Doc fix. --- doc/lispref/display.texi | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index ac39a8b4eb4..cdec1953999 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -4781,6 +4781,7 @@ from the file's name. The remaining arguments, @var{props}, specify additional image properties---for example, +@c ‘:heuristic-mask’ is not documented? @example (create-image "foo.xpm" 'xpm nil :heuristic-mask t) @end example -- cgit v1.2.1 From 81cf3b079aae5b8c12e20bebc6a2885c6814aeec Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Tue, 29 Oct 2013 18:25:35 +0800 Subject: Add an index for image-size. * doc/lispref/display.texi (Showing Images): Add an index for image-size. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/display.texi | 1 + 2 files changed, 5 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 3b664884e89..c6091a6a38f 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-10-29 Xue Fuqiao + + * display.texi (Showing Images): Add an index for image-size. + 2013-10-27 Xue Fuqiao * display.texi (Image Descriptors): Improve indexing. diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index cdec1953999..2e8d10dc5d9 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -4968,6 +4968,7 @@ This removes only images that were put into @var{buffer} the way @end defun @defun image-size spec &optional pixels frame +@cindex size of image This function returns the size of an image as a pair @w{@code{(@var{width} . @var{height})}}. @var{spec} is an image specification. @var{pixels} non-@code{nil} means return sizes -- cgit v1.2.1 From 64ba53a23c59e8baffd64b6ade8a2132bcafd9c7 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Tue, 29 Oct 2013 18:52:03 +0800 Subject: Use @code instead of @var for a normal variable, since @var should indicate metasyntactic variables. --- doc/lispref/ChangeLog | 3 ++- doc/lispref/display.texi | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index c6091a6a38f..5ba773e712f 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,6 +1,7 @@ 2013-10-29 Xue Fuqiao - * display.texi (Showing Images): Add an index for image-size. + * display.texi (Showing Images): Add an index for image-size. Use + @code instead of @var for a normal variable. 2013-10-27 Xue Fuqiao diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 2e8d10dc5d9..d3adc034e66 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -4994,7 +4994,7 @@ The purpose of this variable is to prevent unreasonably large images from accidentally being loaded into Emacs. It only takes effect the first time an image is loaded. Once an image is placed in the image cache, it can always be displayed, even if the value of -@var{max-image-size} is subsequently changed (@pxref{Image Cache}). +@code{max-image-size} is subsequently changed (@pxref{Image Cache}). @end defvar @node Multi-Frame Images -- cgit v1.2.1 From 027d950f5c0a7c58ab0fa712bfcc8efaec761af0 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Tue, 29 Oct 2013 19:20:24 +0800 Subject: Add an index for multi-frame images. * doc/lispref/display.texi (Multi-Frame Images): Add an index for multi-frame images. --- doc/lispref/ChangeLog | 5 +++-- doc/lispref/display.texi | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 5ba773e712f..0d649933f56 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,7 +1,8 @@ 2013-10-29 Xue Fuqiao - * display.texi (Showing Images): Add an index for image-size. Use - @code instead of @var for a normal variable. + * display.texi (Showing Images): Add an index for image-size. + Use @code instead of @var for a normal variable. + (Multi-Frame Images): Add an index for multi-frame images. 2013-10-27 Xue Fuqiao diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index d3adc034e66..f24179f6d37 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -4999,6 +4999,7 @@ cache, it can always be displayed, even if the value of @node Multi-Frame Images @subsection Multi-Frame Images +@cindex multi-frame images @cindex animation @cindex image animation -- cgit v1.2.1 From 142207c0e687e9202d5e8efc54a54f5fc56ccc72 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Tue, 29 Oct 2013 19:58:50 +0800 Subject: * doc/lispref/display.texi (Multi-Frame Images): Improve indexing. --- doc/lispref/ChangeLog | 2 +- doc/lispref/display.texi | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 0d649933f56..abb0ebf64bc 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -2,7 +2,7 @@ * display.texi (Showing Images): Add an index for image-size. Use @code instead of @var for a normal variable. - (Multi-Frame Images): Add an index for multi-frame images. + (Multi-Frame Images): Improve indexing. 2013-10-27 Xue Fuqiao diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index f24179f6d37..1194e26bdfc 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -5047,6 +5047,8 @@ or @code{nil}, the image animates once only; if @code{t} it loops forever; if a number animation stops after that many seconds. @end defun +@vindex image-minimum-frame-delay +@vindex image-default-frame-delay @noindent Animation operates by means of a timer. Note that Emacs imposes a minimum frame delay of 0.01 (@code{image-minimum-frame-delay}) seconds. If the image itself does not specify a delay, Emacs uses -- cgit v1.2.1 From 3440d80e12f46a6d907f8a08bbaec09f7711410d Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Tue, 29 Oct 2013 22:15:52 +0800 Subject: Use @code instead of @var for a normal variable. * doc/lispref/display.texi (Button Buffer Commands): Use @code instead of @var for a normal variable. --- doc/lispref/ChangeLog | 1 + doc/lispref/display.texi | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index abb0ebf64bc..dc3358dd8c6 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -3,6 +3,7 @@ * display.texi (Showing Images): Add an index for image-size. Use @code instead of @var for a normal variable. (Multi-Frame Images): Improve indexing. + (Button Buffer Commands): Use @code instead of @var for a normal variable. 2013-10-27 Xue Fuqiao diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 1194e26bdfc..9b07a92bf6f 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -5393,7 +5393,7 @@ additionally available in the keymap stored in @code{button-buffer-map} as a parent keymap for its keymap. If the button has a non-@code{nil} @code{follow-link} property, and -@var{mouse-1-click-follows-link} is set, a quick @key{Mouse-1} click +@code{mouse-1-click-follows-link} is set, a quick @key{Mouse-1} click will also activate the @code{push-button} command. @xref{Clickable Text}. -- cgit v1.2.1 From 836b4313282d81f53237b704b8a315eed0a25565 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Tue, 29 Oct 2013 22:23:07 +0800 Subject: Fix a typo. --- doc/lispref/display.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 9b07a92bf6f..a489b424e9f 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -5432,7 +5432,7 @@ is skipped over. Returns the button found. @defun next-button pos &optional count-current @defunx previous-button pos &optional count-current -Return the next button after (for @code{next-button} or before (for +Return the next button after (for @code{next-button}) or before (for @code{previous-button}) position @var{pos} in the current buffer. If @var{count-current} is non-@code{nil}, count any button at @var{pos} in the search, instead of starting at the next button. -- cgit v1.2.1 From e54711f396a93b280f6a8b879330e0780425c1ae Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Tue, 29 Oct 2013 22:36:01 +0800 Subject: * doc/lispref/display.texi (Abstract Display): Explain the meaning of Ewoc. --- doc/lispref/ChangeLog | 1 + doc/lispref/display.texi | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index dc3358dd8c6..3007db94975 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -4,6 +4,7 @@ Use @code instead of @var for a normal variable. (Multi-Frame Images): Improve indexing. (Button Buffer Commands): Use @code instead of @var for a normal variable. + (Abstract Display): Explain the meaning of Ewoc. 2013-10-27 Xue Fuqiao diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index a489b424e9f..129fb76f238 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -5449,7 +5449,8 @@ in the search, instead of starting at the next button. The Ewoc package constructs buffer text that represents a structure of Lisp objects, and updates the text to follow changes in that structure. This is like the ``view'' component in the -``model/view/controller'' design paradigm. +``model/view/controller'' design paradigm. Ewoc means ``Emacs's +Widget for Object Collections''. An @dfn{ewoc} is a structure that organizes information required to construct buffer text that represents certain Lisp data. The buffer -- cgit v1.2.1 From 23af34b00ca14782ba5d1bbada43cd26962739b4 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 29 Oct 2013 10:49:10 -0400 Subject: * doc/lispref/display.texi (Selective Display): Discourage the use of explicit selective display. --- doc/lispref/ChangeLog | 5 +++++ doc/lispref/display.texi | 9 ++++----- 2 files changed, 9 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 3007db94975..f2ca420ea90 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-10-29 Stefan Monnier + + * display.texi (Selective Display): Discourage the use of explicit + selective display. + 2013-10-29 Xue Fuqiao * display.texi (Showing Images): Add an index for image-size. diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 129fb76f238..898da89c24a 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -962,11 +962,10 @@ make it invisible again. hiding certain lines on the screen. @cindex explicit selective display - The first variant, explicit selective display, is designed for use -in a Lisp program: it controls which lines are hidden by altering the -text. This kind of hiding in some ways resembles the effect of the -@code{invisible} property (@pxref{Invisible Text}), but the two -features are different and do not work the same way. + The first variant, explicit selective display, was designed for use in a Lisp +program: it controls which lines are hidden by altering the text. This kind of +hiding is now obsolete; instead you can get the same effect with the +@code{invisible} property (@pxref{Invisible Text}). In the second variant, the choice of lines to hide is made automatically based on indentation. This variant is designed to be a -- cgit v1.2.1 From bc5184ab59487d9ff5808a5b53a0af25a22e706d Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Wed, 30 Oct 2013 18:08:11 +0800 Subject: * doc/lispref/display.texi (Abstract Display): Improve indexing. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/display.texi | 4 ++++ 2 files changed, 8 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index f2ca420ea90..fa081f1e7aa 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-10-30 Xue Fuqiao + + * display.texi (Abstract Display): Improve indexing. + 2013-10-29 Stefan Monnier * display.texi (Selective Display): Discourage the use of explicit diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 898da89c24a..07ab2c6745f 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -5469,6 +5469,8 @@ The text's start position in the buffer. The header and footer strings. @item +@cindex node, ewoc +@c or "@cindex node, abstract display"? A doubly-linked chain of @dfn{nodes}, each of which contains: @itemize @@ -5493,6 +5495,8 @@ between buffer positions and nodes, move point from one node's textual representation to another, and so forth. @xref{Abstract Display Functions}. +@cindex encapsulation, ewoc +@c or "@cindex encapsulation, abstract display"? A node @dfn{encapsulates} a data element much the way a variable holds a value. Normally, encapsulation occurs as a part of adding a node to the ewoc. You can retrieve the data element value and place a -- cgit v1.2.1 From 3c334c1412e708585fddba61b7f91e0902a830f4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Dj=C3=A4rv?= Date: Fri, 1 Nov 2013 16:47:10 +0100 Subject: Add :distant-foreground to faces. * doc/lispref/display.texi (Face Attributes): Document :distant-foreground. * etc/NEWS: Mention :distant-foreground. * lisp/faces.el (face-x-resources): Add :distant-foreground. (region): Use :distant-foreground for gtk and ns. * src/dispextern.h (lface_attribute_index): Add LFACE_DISTANT_FOREGROUND_INDEX. * src/xfaces.c: Declare color_distance. (QCdistant_foreground): New variable. (NEAR_SAME_COLOR_THRESHOLD): New define. (load_color2): New function. (load_color): Call load_color2. (load_face_colors): Call load_color2 and if distant-color is specified calculate distant and use distant-color if colors are near. (LFACE_DISTANT_FOREGROUND): New define. (merge_face_ref, Finternal_set_lisp_face_attribute) (Finternal_get_lisp_face_attribute) (x_supports_face_attributes_p): Handle distant-foreground similar to foreground. (syms_of_xfaces): DEFSYM QCdistant_foreground. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/display.texi | 9 +++++++++ 2 files changed, 13 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index fa081f1e7aa..cc214aa6dfa 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-11-01 Jan Djärv + + * display.texi (Face Attributes): Document :distant-foreground. + 2013-10-30 Xue Fuqiao * display.texi (Abstract Display): Improve indexing. diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 07ab2c6745f..ebb61a76b59 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -2036,6 +2036,15 @@ name, or a hexadecimal color specification. @xref{Color Names}. On black-and-white displays, certain shades of gray are implemented by stipple patterns. +@item :distant-foreground +Alternative foreground color, a string. This is like @code{:foreground} +but the color is only used as a foreground when the background color is +near to the foreground that would have been used. This is useful for +example when marking text (i.e. the region face). If the text has a foreground +that is visible with the region face, that foreground is used. +If the foreground is near the region face background, +@code{:distant-foreground} is used instead so the text is readable. + @item :background Background color, a string. The value can be a system-defined color name, or a hexadecimal color specification. @xref{Color Names}. -- cgit v1.2.1 From 1ba6984e4247719ffc8f89fff2527f1b27935a7d Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sat, 2 Nov 2013 16:29:01 -0700 Subject: * doc/emacs/cmdargs.texi (Action Arguments): Clarify that `-L' prepends --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/cmdargs.texi | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index cdb1ac845c9..55fbf5ca3a9 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-11-02 Glenn Morris + + * cmdargs.texi (Action Arguments): Clarify that `-L' prepends. + 2013-10-23 Glenn Morris * files.texi, glossary.texi, killing.texi, search.texi, sending.texi: diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi index 3dc64fdd127..5c43b1ac85d 100644 --- a/doc/emacs/cmdargs.texi +++ b/doc/emacs/cmdargs.texi @@ -135,7 +135,7 @@ visited. @opindex -L @itemx --directory=@var{dir} @opindex --directory -Add directory @var{dir} to the variable @code{load-path}. +Prepend directory @var{dir} to the variable @code{load-path}. @item -f @var{function} @opindex -f -- cgit v1.2.1 From 881db7e0c4644fca4bd1bcd4edbbb71c353d50d5 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sat, 2 Nov 2013 16:36:32 -0700 Subject: * doc/emacs/cmdargs.texi (Action Arguments): Clarify `-L' a bit. --- doc/emacs/ChangeLog | 2 +- doc/emacs/cmdargs.texi | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 55fbf5ca3a9..79047e3285b 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,6 +1,6 @@ 2013-11-02 Glenn Morris - * cmdargs.texi (Action Arguments): Clarify that `-L' prepends. + * cmdargs.texi (Action Arguments): Clarify `-L' a bit. 2013-10-23 Glenn Morris diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi index 5c43b1ac85d..1ef6529f295 100644 --- a/doc/emacs/cmdargs.texi +++ b/doc/emacs/cmdargs.texi @@ -136,6 +136,9 @@ visited. @itemx --directory=@var{dir} @opindex --directory Prepend directory @var{dir} to the variable @code{load-path}. +If you specify multiple @samp{-L} options, Emacs preserves the +relative order; i.e., using @samp{-L /foo -L /bar} results in +a @code{load-path} of the form @code{("/foo" "/bar" @dots{})}. @item -f @var{function} @opindex -f -- cgit v1.2.1 From a0833f62d5e41901b5ab12fb19a7728593b088ed Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sun, 3 Nov 2013 17:36:14 -0800 Subject: * lisp/startup.el (command-line-1): Allow `-L :...' to append to load-path. * doc/emacs/cmdargs.texi (Action Arguments): Mention that `-L :...' appends. * etc/NEWS: Mention this. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/cmdargs.texi | 2 ++ 2 files changed, 6 insertions(+) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 79047e3285b..7f051e751e5 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-11-04 Glenn Morris + + * cmdargs.texi (Action Arguments): Mention that `-L :...' appends. + 2013-11-02 Glenn Morris * cmdargs.texi (Action Arguments): Clarify `-L' a bit. diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi index 1ef6529f295..d0f5f1e06b1 100644 --- a/doc/emacs/cmdargs.texi +++ b/doc/emacs/cmdargs.texi @@ -139,6 +139,8 @@ Prepend directory @var{dir} to the variable @code{load-path}. If you specify multiple @samp{-L} options, Emacs preserves the relative order; i.e., using @samp{-L /foo -L /bar} results in a @code{load-path} of the form @code{("/foo" "/bar" @dots{})}. +If @var{dir} begins with @samp{:}, Emacs removes the @samp{:} and +appends (rather than prepends) the remainder to @code{load-path}. @item -f @var{function} @opindex -f -- cgit v1.2.1 From 29aa2b718c072c78d0fda78ae40b0a0d2e32bdbd Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Tue, 5 Nov 2013 17:00:52 +0800 Subject: Doc fix. * doc/lispref/display.texi (Glyphs): Add an index for glyph code. * src/xdisp.c (syms_of_xdisp): Mention the active display table in doc string of glyphless-char-display. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/display.texi | 1 + 2 files changed, 5 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index cc214aa6dfa..5b945c6d06e 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-11-05 Xue Fuqiao + + * display.texi (Glyphs): Add an index for glyph code. + 2013-11-01 Jan Djärv * display.texi (Face Attributes): Document :distant-foreground. diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index ebb61a76b59..36d8502fe9e 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -6112,6 +6112,7 @@ the standard display table. @subsection Glyphs @cindex glyph +@cindex glyph code A @dfn{glyph} is a graphical symbol which occupies a single character position on the screen. Each glyph is represented in Lisp as a @dfn{glyph code}, which specifies a character and optionally a -- cgit v1.2.1 From f5e49f5ba5fcd22bc33afc6d4e7af9ccfac68758 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Tue, 5 Nov 2013 19:27:35 +0800 Subject: * doc/lispref/display.texi (Bidirectional Display): Add an index for UBA. --- doc/lispref/ChangeLog | 1 + doc/lispref/display.texi | 1 + 2 files changed, 2 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 5b945c6d06e..97d6ec47ac3 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,6 +1,7 @@ 2013-11-05 Xue Fuqiao * display.texi (Glyphs): Add an index for glyph code. + (Bidirectional Display): Add an index for UBA. 2013-11-01 Jan Djärv diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 36d8502fe9e..f0eb2379358 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -6388,6 +6388,7 @@ and displaying bidirectional text. @cindex reading order @cindex visual order @cindex unicode bidirectional algorithm +@cindex UBA @cindex bidirectional reordering Text is stored in Emacs buffers and strings in @dfn{logical} (or @dfn{reading}) order, i.e., the order in which a human would read -- cgit v1.2.1 From 5e21526fc5a8b481c06ee008838366cb792412f3 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Tue, 5 Nov 2013 19:42:58 +0800 Subject: Improve indexing. --- doc/lispref/ChangeLog | 4 +++- doc/lispref/display.texi | 1 + doc/lispref/lists.texi | 1 + 3 files changed, 5 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 97d6ec47ac3..b1f458ccb67 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,7 +1,9 @@ 2013-11-05 Xue Fuqiao + * lists.texi (Rearrangement): Improve indexing. + * display.texi (Glyphs): Add an index for glyph code. - (Bidirectional Display): Add an index for UBA. + (Bidirectional Display): Improve indexing. 2013-11-01 Jan Djärv diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index f0eb2379358..1c58731a033 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -6390,6 +6390,7 @@ and displaying bidirectional text. @cindex unicode bidirectional algorithm @cindex UBA @cindex bidirectional reordering +@cindex reordering, in bidi Text is stored in Emacs buffers and strings in @dfn{logical} (or @dfn{reading}) order, i.e., the order in which a human would read each character. In right-to-left and bidirectional text, the order in diff --git a/doc/lispref/lists.texi b/doc/lispref/lists.texi index 9daf01cd0a2..6bb200060ca 100644 --- a/doc/lispref/lists.texi +++ b/doc/lispref/lists.texi @@ -1044,6 +1044,7 @@ x1 @node Rearrangement @subsection Functions that Rearrange Lists @cindex rearrangement of lists +@cindex reordering, in lists @cindex modification of lists Here are some functions that rearrange lists ``destructively'' by -- cgit v1.2.1 From 95a23e62a95e69dbe9235c57a8bc71b549714ac3 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Tue, 5 Nov 2013 19:48:39 +0800 Subject: Another indexing improvement for Unicode. --- doc/lispref/display.texi | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 1c58731a033..de344f985e4 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -6441,6 +6441,7 @@ or overlay string includes non-@sc{ascii} characters, these characters are assumed to have left-to-right direction. @cindex display properties, and bidi reordering of text +@cindex Object Replacement Character Text covered by @code{display} text properties, by overlays with @code{display} properties whose value is a string, and by any other properties that replace buffer text, is treated as a single unit when -- cgit v1.2.1 From c67c5132e9082b551350973e4b1c28bb193f9b70 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Tue, 5 Nov 2013 19:47:48 +0200 Subject: Fix indexing in the lispref manual. doc/lispref/lists.texi (Rearrangement): Fix indexing. doc/lispref/display.texi (Bidirectional Display): Fix indexing. --- doc/lispref/ChangeLog | 6 ++++++ doc/lispref/display.texi | 2 +- doc/lispref/lists.texi | 2 +- 3 files changed, 8 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index b1f458ccb67..9ee30b97523 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,9 @@ +2013-11-05 Eli Zaretskii + + * lists.texi (Rearrangement): Fix indexing. + + * display.texi (Bidirectional Display): Fix indexing. + 2013-11-05 Xue Fuqiao * lists.texi (Rearrangement): Improve indexing. diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index de344f985e4..a70580c7f22 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -6390,7 +6390,7 @@ and displaying bidirectional text. @cindex unicode bidirectional algorithm @cindex UBA @cindex bidirectional reordering -@cindex reordering, in bidi +@cindex reordering, of bidirectional text Text is stored in Emacs buffers and strings in @dfn{logical} (or @dfn{reading}) order, i.e., the order in which a human would read each character. In right-to-left and bidirectional text, the order in diff --git a/doc/lispref/lists.texi b/doc/lispref/lists.texi index 6bb200060ca..45115d48332 100644 --- a/doc/lispref/lists.texi +++ b/doc/lispref/lists.texi @@ -1044,7 +1044,7 @@ x1 @node Rearrangement @subsection Functions that Rearrange Lists @cindex rearrangement of lists -@cindex reordering, in lists +@cindex reordering, of elements in lists @cindex modification of lists Here are some functions that rearrange lists ``destructively'' by -- cgit v1.2.1 From cfeda3902887b85bc719534678262e16745b8fd2 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Wed, 6 Nov 2013 22:22:02 +0800 Subject: Revert an indexing change. See http://lists.gnu.org/archive/html/emacs-devel/2013-11/msg00193.html --- doc/lispref/display.texi | 1 - 1 file changed, 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index a70580c7f22..ba25056ded7 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -6441,7 +6441,6 @@ or overlay string includes non-@sc{ascii} characters, these characters are assumed to have left-to-right direction. @cindex display properties, and bidi reordering of text -@cindex Object Replacement Character Text covered by @code{display} text properties, by overlays with @code{display} properties whose value is a string, and by any other properties that replace buffer text, is treated as a single unit when -- cgit v1.2.1 From f358e6e5d3518dac27f2ace7544247877783305e Mon Sep 17 00:00:00 2001 From: Alex Schroeder Date: Fri, 8 Nov 2013 09:49:40 +0100 Subject: Fix a typo in (epa) Encrypting/decrypting *.gpg files --- doc/misc/epa.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/misc/epa.texi b/doc/misc/epa.texi index bdba071be55..79f76560eb4 100644 --- a/doc/misc/epa.texi +++ b/doc/misc/epa.texi @@ -396,7 +396,7 @@ which encryption method should be used through @xref{File Variables, , variable for this. @vindex epa-file-encrypt-to -For example, if you want an Elisp file should be encrypted with a +For example, if you want an Elisp file to be encrypted with a public key associated with an email address @samp{ueno@@unixuser.org}, add the following line to the beginning of the file. -- cgit v1.2.1 From 8acb09ca61fdceb7b3df3456e0833b7ce657ce2b Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Fri, 8 Nov 2013 12:27:15 +0200 Subject: Documentation followup to last commit. doc/lispref/display.texi (Truncation): Document that cache-long-scans is now non-nil by default. (Bug#15797) --- doc/lispref/ChangeLog | 5 +++++ doc/lispref/display.texi | 17 +++++++---------- 2 files changed, 12 insertions(+), 10 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 9ee30b97523..12830ef884d 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-11-08 Eli Zaretskii + + * display.texi (Truncation): Document that cache-long-scans is now + non-nil by default. (Bug#15797) + 2013-11-05 Eli Zaretskii * lists.texi (Rearrangement): Fix indexing. diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index ba25056ded7..eeede08ecd9 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -214,19 +214,16 @@ A line prefix may also be specified for regions of text using the over the @code{line-prefix} variable. @xref{Special Properties}. @end defvar - If your buffer contains @emph{very} long lines, and you use -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-scans} to @code{t}. + If your buffer contains only very short lines, you might find it +advisable to set @code{cache-long-scans} to @code{nil}. @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 -unless they are modified. +If this variable is non-@code{nil} (the default), 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 unless they are modified. -Turning on the cache slows down processing of short lines somewhat. +Turning off the cache speeds up processing of short lines somewhat. This variable is automatically buffer-local in every buffer. @end defvar -- cgit v1.2.1 From be9d2b46f0571503adfc7f82d666cec73e3a1cff Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sat, 9 Nov 2013 10:36:46 +0800 Subject: * doc/lispref/os.texi (Startup Summary): Add an index about startup screen. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/os.texi | 1 + 2 files changed, 5 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 12830ef884d..ab56cb2d5f8 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-11-09 Xue Fuqiao + + * os.texi (Startup Summary): Add an index about startup screen. + 2013-11-08 Eli Zaretskii * display.texi (Truncation): Document that cache-long-scans is now diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index 071fcf526da..f9cbca77fab 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -218,6 +218,7 @@ specify. It runs @code{window-setup-hook}. @xref{Window Systems}. @item +@cindex startup screen It displays the @dfn{startup screen}, which is a special buffer that contains information about copyleft and basic Emacs usage. This is not done if @code{inhibit-startup-screen} or @code{initial-buffer-choice} -- cgit v1.2.1 From 6e46645997572bd35b3b575d375261db152a8625 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sat, 9 Nov 2013 13:38:28 +0800 Subject: * doc/lispref/os.texi (Startup Summary): Typo fix. --- doc/lispref/ChangeLog | 1 + doc/lispref/os.texi | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index ab56cb2d5f8..d3b71ed8cc1 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,6 +1,7 @@ 2013-11-09 Xue Fuqiao * os.texi (Startup Summary): Add an index about startup screen. + Typo fix. 2013-11-08 Eli Zaretskii diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index f9cbca77fab..c96a3af3c36 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -317,7 +317,7 @@ Run without an interactive terminal. @xref{Batch Mode}. Do not initialize any display; just start a server in the background. @item --no-init-file -@itemx -Q +@itemx -q Do not load either the init file, or the @file{default} library. @item --no-site-file -- cgit v1.2.1 From d612ddbb11f5b3ae77b5e67b390d4dd988ede0ee Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sat, 9 Nov 2013 15:19:16 +0800 Subject: Add an cross-reference. * doc/lispref/os.texi (Command-Line Arguments): Add cross-reference for `dump-emacs'. --- doc/lispref/ChangeLog | 1 + doc/lispref/os.texi | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index d3b71ed8cc1..94f3bb594bd 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -2,6 +2,7 @@ * os.texi (Startup Summary): Add an index about startup screen. Typo fix. + (Command-Line Arguments): Add cross-reference for `dump-emacs'. 2013-11-08 Eli Zaretskii diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index c96a3af3c36..ae1d2f4d0e2 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -517,9 +517,10 @@ displays the startup messages. The value of this variable is @code{t} once the command line has been processed. -If you redump Emacs by calling @code{dump-emacs}, you may wish to set -this variable to @code{nil} first in order to cause the new dumped Emacs -to process its new command-line arguments. +If you redump Emacs by calling @code{dump-emacs} (@pxref{Building +Emacs}), you may wish to set this variable to @code{nil} first in +order to cause the new dumped Emacs to process its new command-line +arguments. @end defvar @defvar command-switch-alist -- cgit v1.2.1 From fb193bb4a1dc7fa73a2c8bccd4ad0bb0c145f62d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Dj=C3=A4rv?= Date: Sun, 10 Nov 2013 13:18:03 +0100 Subject: * keymaps.texi (Tool Bar): Mention that Gtk+/NS ignores item 1 to 3. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/keymaps.texi | 3 +++ 2 files changed, 7 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 94f3bb594bd..504a6d55837 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-11-10 Jan Djärv + + * keymaps.texi (Tool Bar): Mention that Gtk+/NS ignores item 1 to 3. + 2013-11-09 Xue Fuqiao * os.texi (Startup Summary): Add an index about startup screen. diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi index 73d869d59fd..855420a70c9 100644 --- a/doc/lispref/keymaps.texi +++ b/doc/lispref/keymaps.texi @@ -2631,6 +2631,9 @@ Used when the item is disabled and deselected. @end table @end table +The GTK+ and NS versions of Emacs ignores items 1 to 3, because disabled and/or +deselected images are autocomputed from item 0. + If @var{image} is a single image specification, Emacs draws the tool bar button in disabled state by applying an edge-detection algorithm to the image. -- cgit v1.2.1 From 7d3bb5692e56a7e0785cfbe36e3ecdb92aa32505 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Tue, 12 Nov 2013 06:52:08 +0800 Subject: Doc fixes. * doc/lispref/os.texi (User Identification, Time of Day, Time Conversion): Minor fixes. --- doc/lispref/ChangeLog | 5 +++++ doc/lispref/os.texi | 21 +++++++++++++-------- 2 files changed, 18 insertions(+), 8 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 504a6d55837..7c4fb4e9c6d 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-11-11 Xue Fuqiao + + * os.texi (User Identification, Time of Day, Time Conversion): + Minor fixes. + 2013-11-10 Jan Djärv * keymaps.texi (Tool Bar): Mention that Gtk+/NS ignores item 1 to 3. diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index ae1d2f4d0e2..9b10a437b16 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -552,8 +552,8 @@ sole argument. In some cases, the option is followed in the command line by an argument. In these cases, the @var{handler-function} can find all the remaining command-line arguments in the variable -@code{command-line-args-left}. (The entire list of command-line -arguments is in @code{command-line-args}.) +@code{command-line-args-left} (see below). (The entire list of +command-line arguments is in @code{command-line-args}.) The command-line arguments are parsed by the @code{command-line-1} function in the @file{startup.el} file. See also @ref{Emacs @@ -961,6 +961,7 @@ to access the value of @var{variable}. If @var{value} is omitted or removes @var{variable} from the environment. Otherwise, @var{value} should be a string. +@c FIXME: Document `substitute-env-vars'? --xfq If the optional argument @var{substitute} is non-@code{nil}, Emacs calls the function @code{substitute-env-vars} to expand any environment variables in @var{value}. @@ -1097,9 +1098,9 @@ originally logged in. The value reflects command-line options such as Lisp packages that load files of customizations, or any other sort of user profile, should obey this variable in deciding where to find it. They should load the profile of the user name found in this variable. -If @code{init-file-user} is @code{nil}, meaning that the @samp{-q} -option was used, then Lisp packages should not load any customization -files or user profile. +If @code{init-file-user} is @code{nil}, meaning that the @samp{-q}, +@samp{-Q}, or @samp{-batch} option was used, then Lisp packages should +not load any customization files or user profile. @end defvar @defopt user-mail-address @@ -1149,6 +1150,7 @@ you to ``fake out'' Emacs by telling the functions what to return. The variables are also useful for constructing frame titles (@pxref{Frame Titles}). +@cindex UID @defun user-real-uid This function returns the real @acronym{UID} of the user. The value may be a floating point number, in the (unlikely) event that @@ -1160,6 +1162,7 @@ This function returns the effective @acronym{UID} of the user. The value may be a floating point number. @end defun +@cindex GID @defun group-gid This function returns the effective @acronym{GID} of the Emacs process. The value may be a floating point number. @@ -1219,9 +1222,9 @@ file-attributes}). In function arguments, e.g., the @var{time-value} argument to @code{current-time-string}, two-, three-, and four-integer lists are accepted. You can convert times from the list representation into standard human-readable strings using -@code{current-time}, or to other forms using the @code{decode-time} -and @code{format-time-string} functions documented in the following -sections. +@code{current-time-string}, or to other forms using the +@code{decode-time} and @code{format-time-string} functions documented +in the following sections. @defun current-time-string &optional time-value This function returns the current time and date as a human-readable @@ -1265,6 +1268,7 @@ exact. Do not use this function if precise time stamps are required. @end defun @defun current-time-zone &optional time-value +@cindex time zone, current This function returns a list describing the time zone that the user is in. @@ -1291,6 +1295,7 @@ time zone. @node Time Conversion @section Time Conversion +@cindex calendrical information These functions convert time values (lists of two to four integers, as explained in the previous section) into calendrical information and -- cgit v1.2.1 From 271672fad74cdbc9065d23d6e6cee1b8540f571b Mon Sep 17 00:00:00 2001 From: Bastien Guerry Date: Tue, 12 Nov 2013 14:06:26 +0100 Subject: Merge Org version 8.2.3a. --- doc/misc/ChangeLog | 480 +++++ doc/misc/org.texi | 5657 +++++++++++++++++++++++++++++++--------------------- 2 files changed, 3895 insertions(+), 2242 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 1396fc12f43..976922a3978 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,483 @@ +2013-11-12 Aaron Ecay + + * org.texi (Exporting code blocks): Document the 'inline-only + setting for `org-export-babel-evaluate'. Document how :var + introduces code block dependencies. + +2013-11-12 Achim Gratz + + * org.texi (Header arguments): Document header-args[:lang] + properties and remove deprecated old-style properties from + documentation. + + * org.texi (Agenda commands): Remove footnote from @tsubheading + and add a sentence with the reference instead. + +2013-11-12 Bastien Guerry + + * org.texi (Catching invisible edits): + * org.texi (Plain lists, Plain lists): + * org.texi (Advanced configuration): + * org.texi (Tag groups): + * org.texi (Conventions): + * org.texi (Checkboxes, Radio lists): + * org.texi (Top, Summary, Exporting): + * org.texi (In-buffer settings): Fix typos. + + * org.texi (Refile and copy): Document `org-copy' and `C-3 C-c + C-w'. Add an index entry for `org-refile-keep'. + + * org.texi (Plain lists): Add an index entry for sorting plain + list. Document sorting by checked status for check lists. + + * org.texi (Publishing options): Fix old variable names. + + * org.texi (Orgstruct mode): Fix suggested setting of + `orgstruct-heading-prefix-regexp'. + + * org.texi (Export settings): Document + `org-export-allow-bind-keywords'. + + * org.texi (History and Acknowledgments): Small rephrasing. + + * org.texi (Template elements): Add a footnote about tags accepted + in a year datetree. + + * org.texi (Beamer export, @LaTeX{} and PDF export) + (Header and sectioning, @LaTeX{} specific attributes): Enhance + style. + + * org.texi (Agenda commands): Add a footnote about dragging agenda + lines: it does not persist and it does not change the .org files. + + * org.texi (Agenda commands): Add a table heading for dragging + agenda lines forward/backward. + + * org.texi (Agenda commands): Add documentation for + `org-agenda-bulk-toggle' and `org-agenda-bulk-toggle-all'. + + * org.texi (Publishing options): Update the list of options. + (Simple example, Complex example): Fix the examples. + + * org.texi (Formula syntax for Calc): Don't use a bold font the + warning. + + * org.texi (Other built-in back-ends): New section. + + * org.texi (Editing source code): Document + `org-edit-src-auto-save-idle-delay' and + `org-edit-src-turn-on-auto-save'. + + * org.texi (External links): Document contributed link types + separately. + + * org.texi (Closing items): Document + `org-closed-keep-when-no-todo'. + + * org.texi (Export back-ends): Rename from "Export formats". + (The Export Dispatcher): Remove reference to + `org-export-run-in-background'. + (Export settings): Minor rewrites. + (ASCII/Latin-1/UTF-8 export): Update variable's name. + (In-buffer settings): Add #+HTML_HEAD_EXTRA. + + * org.texi (Export in foreign buffers): New section. + (Exporting): Remove documentation about converting the selected + region. + + * org.texi (Advanced configuration): Put the filter valid types in + a table. Use @lisp and @smalllisp. + + * org.texi: Use @code{nil} instead of nil. Update the maintainer + contact info. + + * org.texi (Exporting): Better introductory sentence. Add a note + about conversion commands. + (Feedback, Orgstruct mode, Built-in table editor) + (Built-in table editor, Orgtbl mode, Updating the table) + (Property syntax, Capturing column view, Capture) + (Agenda files, Agenda commands, CDLaTeX mode, CDLaTeX mode) + (Exporting, Extending ODT export) + (Working with @LaTeX{} math snippets, dir, Customization) + (Radio tables, A @LaTeX{} example, Pulling from MobileOrg): + Uniformly use @kbd{M-x command RET}. + + * org.texi (Filtering/limiting agenda items): New subsection. + Document the use of `org-agenda-max-*' options and + `org-agenda-limit-interactively' from the agenda. + (Agenda commands): Move details about filtering commands to + the new section, only include a summary here. + (Customizing tables in ODT export) + (System-wide header arguments, Conflicts, Dynamic blocks): Use + spaces for indentation. + + * org.texi (Emphasis and monospace): Mention `org-emphasis-alist'. + + * org.texi (Links in HTML export, Images in HTML export) + (post): Fix syntax within #+ATTR_*. + (Tables in HTML export): Document `org-html-table-row-tags' + and use `org-html-table-default-attributes' instead of + `org-html-table-tag'. + + * org.texi (Publishing action, Publishing options) + (Publishing links): Major rewrite. Enhance explanations for + `org-org-publish-to-org'. Remove reference to + `org-export-run-in-background'. + + * org.texi: Fix many small typos. Use #+NAME instead of + #+TBLNAME. Use @smalllisp instead of @example. + (Special symbols): Add index? + (HTML preamble and postamble): Don't mention obsolete use of + opt-plist. + (JavaScript support): Don't mention the org-jsinfo.el file as it + has been merged with ox-html.el. + + * org.texi (Installation, Feedback, Setting Options) + (Code evaluation security, org-crypt.el): Use @lisp instead of + @example. + (Agenda commands): Use @table instead of @example. + + * org.texi (Adding hyperlink types): New appendix. + + * org.texi (ODT export commands, Extending ODT export) + (Applying custom styles, Images in ODT export) + (Labels and captions in ODT export) + (Literal examples in ODT export) + (Configuring a document converter) + (Working with OpenDocument style files) + (Customizing tables in ODT export) + (Validating OpenDocument XML): Fix options names. + + * org.texi (History and Acknowledgments): Update acknowledgments + to Nicolas. Add Nicolas Goaziou to the list of contributors. + + * org.texi (System-wide header arguments): Don't use "customizing" + for setting a variable. Also remove comments. + + * org.texi (Weekly/daily agenda): Add `org-agenda-start-day' and + `org-agenda-start-on-weekday' to the variable index and document + them. + + * org.texi (Sparse trees, Agenda commands) + (@LaTeX{} fragments, Selective export, Export options) + (The export dispatcher, ASCII/Latin-1/UTF-8 export) + (HTML Export commands, @LaTeX{}/PDF export commands) + (iCalendar export, Publishing options, Triggering publication) + (In-buffer settings): Update to reflect changes from the new + export engine. + + * org.texi (Matching tags and properties): More examples. Explain + group tags expansion as regular expressions. + + * org.texi (Tag groups): New section. + + * org.texi (Setting tags): Tiny formatting fixes. + + * org.texi (Plain lists, Checkboxes): Use non-obsolete variable + names. + + * org.texi (Storing searches): Add "agenda" and "agenda*" to the + concept index. Include example for these agenda views. + (Special agenda views): Mention the "agenda*" agenda view. + + * org.texi (Repeated tasks): Document how to ignore a repeater + when using both a scheduled and a deadline timetamp. + + * org.texi (Global and local cycling): Wrap in a new subsection. + (Initial visibility, Catching invisible edits): New subsections. + + * org.texi (Visibility cycling): Mention that + `org-agenda-inhibit-startup' will prevent visibility setting when + the agenda opens an Org file for the first time. + + * org.texi (Org syntax): New section. + + * org.texi (Orgstruct mode): Document + `orgstruct-heading-prefix-regexp'. + + * org.texi (Speeding up your agendas): New section. + + * org.texi (Installation): When installing Org from ELPA, users + should do this from an Emacs session where no .org file has been + visited. + + * org.texi (CSS support, In-buffer settings): Update HTML options + names. + + * org.texi (Structure editing): Update documentation for + `org-insert-heading-or-item'. + (Plain lists, Relative timer): Update index entry. + + * org.texi (JavaScript support): Update variable names. + + * org.texi (comments): Minor formatting fix. + + * org.texi (@LaTeX{} fragments): Minor enhancement. + + * org.texi: Update the list contributions. + + * org.texi (Agenda commands): Exporting the agenda to an .org file + will not copy the subtrees and the inherited tags. Document + `org-agenda-filter-by-regexp'. + + * org.texi (Publishing action, Complex example): Fix names of + publishing functions. + + * org.texi (Top, Exporting): Delete references to Freemind. + (Freemind export): Delete section. + + * org.texi (Top, Exporting): Delete references to the XOXO export. + (XOXO export): Delete section. + + * org.texi (Capture): Mention that org-remember.el is not + supported anymore. + + * org.texi (Top, Exporting, Beamer class export): Delete + references to the TaskJuggler export. + (History and Acknowledgments): Mention that the TaskJuggler has + been rewritten by Nicolas and now lives in the contrib/ directory + of Org's distribution. Mention that Jambunathan rewrote the HTML + exporter. Remove Jambunathan from my own acknowledgments. + (TaskJuggler export): Delete. + + * org.texi (HTML preamble and postamble) + (Tables in HTML export, Images in HTML export) + (Math formatting in HTML export, CSS support) + (@LaTeX{} and PDF export, Publishing options): Fix the names of + the HTML export and publishing options. + + * org.texi (Literal examples, Export options) + (@LaTeX{} and PDF export, Header and sectioning) + (Publishing options): Fix LaTeX options names. + + * org.texi (Export options, CSS support, In-buffer settings): Fix + references to HTML_LINK_* and HTML_STYLE keywords. + + * org.texi (Export options, In-buffer settings): Fix references to + #+SELECT_TAGS and #+EXCLUDE_TAGS and remove reference to #+XSLT. + + * org.texi (Top, Markup, Initial text, Images and tables) + (@LaTeX{} fragments, @LaTeX{} fragments, Exporting) + (Export options, JavaScript support, Beamer class export): Remove + references to the DocBook export, which has been deleted. + (History and Acknowledgments): Mention that DocBook has been + deleted, suggest to use the Texinfo exporter instead, then to + convert the .texi to DocBook with makeinfo. + (Links in ODT export, Tables in ODT export): Fix indices. + + * org.texi (Deadlines and scheduling): Add a variable to the + index. Add documentation about delays for scheduled tasks. + + * org.texi (Emphasis and monospace): Mention + `org-fontify-emphasized-text' and + `org-emphasis-regexp-components'. + + * org.texi (References): Small enhancement. + + * org.texi (Column width and alignment): Make the example visually + more clear. + + * org.texi (The clock table): Document :mstart and :wstart as a + way to set the starting day of the week. + + * org.texi (In-buffer settings): Document new startup keywords. + Thanks to John J Foerch for this idea. + + * org.texi (Include files): Tiny formatting fix. + + * org.texi (Activation): Point to the "Conflicts" section. + +2013-11-12 Carsten Dominik + + * org.texi (CSS support): Clarify this section. + + * org.texi (@LaTeX{} specific attributes): Document that tabu and + tabularx packages are not in the default set of packages. + + * org.texi (Agenda commands): Document fortnight view. + + * org.texi: Document conflict with ecomplete.el. + + * org.texi (History and Acknowledgments): Acknowledgements for + Jason Dunsmore and Rakcspace. + + * org.texi: Rename org-crypt.el node to org-crypt. + + * org.texi (A @LaTeX{} example): Fix typo in variable name. + + * org.texi (MobileOrg): Mention the new iPhone developer. + + * org.texi (Table of contents) Improve documentation of TOC + placement. + + * org.texi: Explain that date/time information at read-date prompt + should start at the beginning, not anywhere in the middle of a + long string. + +2013-11-12 Christopher Schmidt + + * org.texi (Orgstruct mode): Fix wrong regexp. + +2013-11-12 Eric Abrahamsen + + * org.texi: Document export to (X)HTML flavors. + +2013-11-12 Eric Schulte + + * org.texi (Extracting source code): Mention the prefix argument + to org-babel-tangle. + (noweb): Removed erroneous negative. + (Specific header arguments): Document new header arguments. + Documentation for new tangle-mode header argument. + (Top): Documentation for new tangle-mode header argument. + (rownames): Documentation for new tangle-mode header argument. + Mention elisp as special rowname case. + (tangle-mode): Documentation for new tangle-mode header argument. + (post): Documentation and an example of usage. + (var): Remove the "Alternate argument syntax" section from the + documentation. + (hlines): Note that :hline has no effect for Emacs Lisp code + blocks. + +2013-11-12 Feng Shu + + * org.texi (@LaTeX{} fragments, Previewing @LaTeX{} fragments) + (Math formatting in HTML export) + (Working with @LaTeX{} math snippets): Add document about creating + formula image with imagemagick. + + * org.texi (@LaTeX{} specific attributes): Document `:caption' + attribute of #+ATTR_LATEX. + +2013-11-12 Grégoire Jadi + + * org.texi (Handling links): Fix a typo in + `org-startup-with-inline-images' documentation. + + * org.texi (Previewing @LaTeX{} fragments): Document the startup + keywords to use for previewing LaTeX fragments or not. + (Summary of in-buffer settings): Improve formatting and add an + entry for the variable `org-startup-with-latex-preview'. + + * org.texi (Property syntax): Recall the user to refresh the org + buffer when properties are set on a per-file basis. + +2013-11-12 Gustav Wikström (tiny change) + + * org.texi (Matching tags and properties): Clarification. + +2013-11-12 Ippei Furuhashi + + * org.texi (Editing and debugging formulas): Add an example when a + table has multiple #+TBLFM lines. + +2013-11-12 Ivan Vilata i Balaguer (tiny change) + + * org.texi (The clock table): Document acceptance of relative + times in tstart and tend, link to syntax description and provide + example. + +2013-11-12 Jarmo Hurri + + * org.texi (The spreadsheet): Document lookup functions. + +2013-11-12 Kodi Arfer (tiny change) + + * org.text (CSS support): Mention .figure-number, .listing-number, + and .table-number. + +2013-11-12 Michael Brand + + * org.texi + (Formula syntax for Calc, Emacs Lisp forms as formulas): Reformat + spreadsheet formula mode strings and some examples from @example + block with xy @r{yz} to @table. + + * org.texi (Formula syntax for Calc): Improve the documentation of + empty fields in formulas for spreadsheet. Add explanation and + example for empty field. Extend explanations of format + specifiers. Add a sentence to mention Calc defmath. + + * org.texi (Column formulas): Add a sentence to be more explicit + about when a table header is mandatory. + +2013-11-12 Nicolas Goaziou + + * org.texi (Subscripts and superscripts): Remove reference to + quoted underscores until this mechanism is implemented again. + + * org.texi (Beamer export): Be more accurate about BEAMER_OPT + property. + + * org.texi (Document title): Subtree export is no longer triggered + by marking one as the region. + (Horizontal rules): LaTeX export doesn't use "\hrule" anymore, and + giving examples isn't very useful: "horizontal rule" is, at least, + as explicit as
. + + * org.texi (HTML doctypes): Reflect keyword removal. + (CSS support): Reflect keyword removal. + + * org.texi (@LaTeX{} specific attributes): Document new :float + values. + + * org.texi (Export settings): Improve documentation. + + * org.texi (Math formatting in HTML export): Fix OPTIONS item's name. + (Text areas in HTML export): Update text areas. + (HTML Export commands): Update export commands. + + * org.texi (Header and sectioning): Add a footnote about the + different between LATEX_HEADER_EXTRA and LATEX_HEADER. + + * org.texi (The Export Dispatcher): Document + `org-export-in-background'. + + * org.texi (Footnotes): Export back-ends do not use + `org-footnote-normalize' anymore. + + * org.texi: Document variable changes. + + * org.texi (Export settings): Doument p: item in OPTIONS keyword. + + * org.texi (Exporting): Massive rewrite of the first sections. + (Selective export): Delete. + (The Export Dispatcher): Rewrite. + (Export options): Rewrite as "Export settings". + + * org.texi: Small changes to documentation for embedded LaTeX. + + * org.texi (Internal links): Document #+NAME keyword and + cross-referencing during export. + + * org.texi (Include files): Remove reference to :prefix1 + and :prefix. Give more details for :minlevel. + + * org.texi (Macro replacement): Fix macro name. Update + documentation about possible locations and escaping mechanism. + + * org.texi (Table of contents): Update documentation. Document + lists of listings and lists of tables. Add documentation for + optional title and #+TOC: keyword. + +2013-11-12 Rick Frankel + + * org.texi (results): Add Format section, broken out of Type + section to match code. + (hlines, colnames): Remove incorrect Emacs Lisp exception. Note + that the actual default handling (at least for python and + emacs-lisp) does not seem to match the description. + +2013-11-12 Sacha Chua (tiny change) + + * org.texi (The date/time prompt): Update the documentation to + reflect the new way `org-read-date-get-relative' handles weekdays. + +2013-11-12 Yasushi Shoji + + * org.texi (Resolving idle time): Document + `org-clock-x11idle-program-name'. + 2013-10-24 Michael Albinus * ert.texi (Running Tests Interactively): Adapt examle output. diff --git a/doc/misc/org.texi b/doc/misc/org.texi index 832976e9ea0..94f7ac30ac8 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi @@ -2,7 +2,8 @@ @c %**start of header @setfilename ../../info/org @settitle The Org Manual -@set VERSION 7.9.3f (GNU Emacs 24.3) + +@include org-version.inc @c Use proper quote and backtick for code sections in PDF output @c Cf. Texinfo manual 14.2 @@ -10,7 +11,7 @@ @set txicodequotebacktick @c Version and Contact Info -@set MAINTAINERSITE @uref{http://orgmode.org,maintainers webpage} +@set MAINTAINERSITE @uref{http://orgmode.org,maintainers web page} @set AUTHOR Carsten Dominik @set MAINTAINER Carsten Dominik @set MAINTAINEREMAIL @email{carsten at orgmode dot org} @@ -287,7 +288,8 @@ modify this GNU manual.'' @subtitle Release @value{VERSION} @author by Carsten Dominik -with contributions by David O'Toole, Bastien Guerry, Philip Rooke, Dan Davison, Eric Schulte, Thomas Dye and Jambunathan K. +with contributions by David O'Toole, Bastien Guerry, Philip Rooke, Dan +Davison, Eric Schulte, Thomas Dye, Jambunathan K and Nicolas Goaziou. @c The following two commands start the copyright page. @page @@ -320,7 +322,7 @@ with contributions by David O'Toole, Bastien Guerry, Philip Rooke, Dan Davison, * Capture - Refile - Archive:: The ins and outs for projects * Agenda Views:: Collecting information into views * Markup:: Prepare text for rich export -* Exporting:: Sharing and publishing of notes +* Exporting:: Sharing and publishing notes * Publishing:: Create a web site of linked Org files * Working With Source Code:: Export, evaluate, and tangle code blocks * Miscellaneous:: All the rest which did not fit elsewhere @@ -357,6 +359,18 @@ Document structure * Blocks:: Folding blocks * Footnotes:: How footnotes are defined in Org's syntax * Orgstruct mode:: Structure editing outside Org +* Org syntax:: Formal description of Org's syntax + +Visibility cycling + +* Global and local cycling:: Cycling through various visibility states +* Initial visibility:: Setting the initial visibility state +* Catching invisible edits:: Preventing mistakes when editing invisible parts + +Global and local cycling + +* Initial visibility:: Setting the initial visibility state +* Catching invisible edits:: Preventing mistakes when editing invisible parts Tables @@ -375,6 +389,7 @@ The spreadsheet * Durations and time values:: How to compute durations and time values * Field and range formulas:: Formula for specific (ranges of) fields * Column formulas:: Formulas valid for an entire column +* Lookup functions:: Lookup functions for searching tables * Editing and debugging formulas:: Fixing formulas * Updating the table:: Recomputing all dependent fields * Advanced features:: Field and column names, parameters and automatic recalc @@ -423,6 +438,7 @@ Tags * Tag inheritance:: Tags use the tree structure of the outline * Setting tags:: How to assign tags to a headline +* Tag groups:: Use one tag to search for several tags * Tag searches:: Searching for combinations of tags Properties and columns @@ -477,7 +493,7 @@ Capture - Refile - Archive * Attachments:: Add files to tasks * RSS Feeds:: Getting input from RSS feeds * Protocols:: External (e.g., Browser) access to Emacs and Org -* Refiling notes:: Moving a tree from one place to another +* Refile and copy:: Moving/copying a tree from one place to another * Archiving:: What to do with finished projects Capture @@ -521,7 +537,8 @@ Presentation and sorting * Categories:: Not all tasks are equal * Time-of-day specifications:: How the agenda knows the time -* Sorting of agenda items:: The order of things +* Sorting agenda items:: The order of things +* Filtering/limiting agenda items:: Dynamically narrow the agenda Custom agenda views @@ -532,19 +549,19 @@ Custom agenda views Markup for rich export * Structural markup elements:: The basic structure as seen by the exporter -* Images and tables:: Tables and Images will be included +* Images and tables:: Images, tables and caption mechanism * Literal examples:: Source code examples with special formatting * Include files:: Include additional files into a document * Index entries:: Making an index -* Macro replacement:: Use macros to create complex output +* Macro replacement:: Use macros to create templates * Embedded @LaTeX{}:: LaTeX can be freely used inside Org documents +* Special blocks:: Containers targeted at export back-ends Structural markup elements * Document title:: Where the title is taken from * Headings and sections:: The document structure as seen by the exporter * Table of contents:: The if and where of the table of contents -* Initial text:: Text before the first heading? * Lists:: Lists * Paragraphs:: Paragraphs * Footnote markup:: Footnotes @@ -562,22 +579,24 @@ Embedded @LaTeX{} Exporting -* Selective export:: Using tags to select and exclude trees -* Export options:: Per-file export settings -* The export dispatcher:: How to access exporter commands +* The Export Dispatcher:: The main exporter interface +* Export back-ends:: Built-in export formats +* Export settings:: Generic export settings * ASCII/Latin-1/UTF-8 export:: Exporting to flat files with encoding +* Beamer export:: Exporting as a Beamer presentation * HTML export:: Exporting to HTML * @LaTeX{} and PDF export:: Exporting to @LaTeX{}, and processing to PDF -* DocBook export:: Exporting to DocBook +* Markdown export:: Exporting to Markdown * OpenDocument Text export:: Exporting to OpenDocument Text -* TaskJuggler export:: Exporting to TaskJuggler -* Freemind export:: Exporting to Freemind mind maps -* XOXO export:: Exporting to XOXO -* iCalendar export:: Exporting in iCalendar format +* iCalendar export:: Exporting to iCalendar +* Other built-in back-ends:: Exporting to @code{Texinfo}, a man page, or Org +* Export in foreign buffers:: Author tables in lists in Org syntax +* Advanced configuration:: Fine-tuning the export output HTML export * HTML Export commands:: How to invoke HTML export +* HTML doctypes:: Org can export to various (X)HTML flavors * HTML preamble and postamble:: How to insert a preamble and a postamble * Quoting HTML tags:: Using direct HTML in Org mode * Links in HTML export:: How links will be interpreted and formatted @@ -590,21 +609,10 @@ HTML export @LaTeX{} and PDF export -* @LaTeX{}/PDF export commands:: +* @LaTeX{} export commands:: How to export to LaTeX and PDF * Header and sectioning:: Setting up the export file structure * Quoting @LaTeX{} code:: Incorporating literal @LaTeX{} code -* Tables in @LaTeX{} export:: Options for exporting tables to @LaTeX{} -* Images in @LaTeX{} export:: How to insert figures into @LaTeX{} output -* Beamer class export:: Turning the file into a presentation - -DocBook export - -* DocBook export commands:: How to invoke DocBook export -* Quoting DocBook code:: Incorporating DocBook code in Org files -* Recursive sections:: Recursive sections in DocBook -* Tables in DocBook export:: Tables are exported as HTML tables -* Images in DocBook export:: How to insert figures into DocBook output -* Special characters:: How to handle special characters +* @LaTeX{} specific attributes:: Controlling @LaTeX{} output OpenDocument Text export @@ -680,8 +688,8 @@ Using header arguments * System-wide header arguments:: Set global default values * Language-specific header arguments:: Set default values by language -* Buffer-wide header arguments:: Set default values for a specific buffer * Header arguments in Org mode properties:: Set default values for a buffer or heading +* Language-specific header arguments in Org mode properties:: Set langugage-specific default values for a buffer or heading * Code block specific header arguments:: The most common way to set values * Header arguments in function calls:: The most specific level @@ -714,8 +722,12 @@ Specific header arguments * colnames:: Handle column names in tables * rownames:: Handle row names in tables * shebang:: Make tangled files executable +* tangle-mode:: Set permission of tangled files * eval:: Limit evaluation of specific code blocks * wrap:: Mark source block evaluation results +* post:: Post processing of code block results +* prologue:: Text to prepend to code block body +* epilogue:: Text to append to code block body Miscellaneous @@ -729,7 +741,7 @@ Miscellaneous * Clean view:: Getting rid of leading stars in the outline * TTY keys:: Using Org on a tty * Interaction:: Other Emacs packages -* org-crypt.el:: Encrypting Org files +* org-crypt:: Encrypting Org files Interaction with other packages @@ -741,11 +753,13 @@ Hacking * Hooks:: How to reach into Org's internals * Add-on packages:: Available extensions * Adding hyperlink types:: New custom link types +* Adding export back-ends:: How to write new export back-ends * Context-sensitive commands:: How to add functionality to such commands * Tables in arbitrary syntax:: Orgtbl for @LaTeX{} and other programs * Dynamic blocks:: Automatically filled blocks * Special agenda views:: Customized views -* Extracting agenda information:: Postprocessing of agenda information +* Speeding up your agendas:: Tips on how to speed up your agendas +* Extracting agenda information:: Post-processing of agenda information * Using the property API:: Writing programs that use entry properties * Using the mapping API:: Mapping over all or selected entries @@ -754,7 +768,7 @@ Tables and lists in arbitrary syntax * Radio tables:: Sending and receiving radio tables * A @LaTeX{} example:: Step by step, almost a tutorial * Translator functions:: Copy and modify -* Radio lists:: Doing the same for lists +* Radio lists:: Sending and receiving lists MobileOrg @@ -794,7 +808,7 @@ timestamps, and scheduling. It dynamically compiles entries into an agenda that utilizes and smoothly integrates much of the Emacs calendar and diary. Plain text URL-like links connect to websites, emails, Usenet messages, BBDB entries, and any files related to the projects. -For printing and sharing of notes, an Org file can be exported as a +For printing and sharing notes, an Org file can be exported as a structured ASCII file, as HTML, or (TODO and agenda items only) as an iCalendar file. It can also serve as a publishing tool for a set of linked web pages. @@ -828,7 +842,7 @@ ends, for example: @pindex GTD, Getting Things Done @r{@bullet{} an environment in which to implement David Allen's GTD system} @r{@bullet{} a simple hypertext system, with HTML and @LaTeX{} export} -@r{@bullet{} a publishing tool to create a set of interlinked webpages} +@r{@bullet{} a publishing tool to create a set of interlinked web pages} @r{@bullet{} an environment for literate programming} @end example @@ -867,10 +881,11 @@ We @b{strongly recommend} to stick to a single installation method. Recent Emacs distributions include a packaging system which lets you install Elisp libraries. You can install Org with @kbd{M-x package-install RET org}. -To make sure your Org configuration is well taken into account, initialize -the package system with @code{(package-initialize)} before setting any Org -option. If you want to use Org's package repository, check out the -@uref{http://orgmode.org/elpa.html, Org ELPA page}. +You need to do this in a session where no @code{.org} file has been visited. +Then, to make sure your Org configuration is taken into account, initialize +the package system with @code{(package-initialize)} in your @file{.emacs} +before setting any Org option. If you want to use Org's package repository, +check out the @uref{http://orgmode.org/elpa.html, Org ELPA page}. @subsubheading Downloading Org as an archive @@ -878,17 +893,17 @@ You can download Org latest release from @uref{http://orgmode.org/, Org's website}. In this case, make sure you set the load-path correctly in your @file{.emacs}: -@example +@lisp (add-to-list 'load-path "~/path/to/orgdir/lisp") -@end example +@end lisp The downloaded archive contains contributed libraries that are not included in Emacs. If you want to use them, add the @file{contrib} directory to your load-path: -@example +@lisp (add-to-list 'load-path "~/path/to/orgdir/contrib/lisp" t) -@end example +@end lisp Optionally, you can compile the files and/or install them in your system. Run @code{make help} to list compilation and installation options. @@ -1001,10 +1016,10 @@ version of Org available---if you are running an outdated version, it is quite possible that the bug has been fixed already. If the bug persists, prepare a report and provide as much information as possible, including the version information of Emacs (@kbd{M-x emacs-version @key{RET}}) and Org -(@kbd{M-x org-version @key{RET}}), as well as the Org related setup in +(@kbd{M-x org-version RET}), as well as the Org related setup in @file{.emacs}. The easiest way to do this is to use the command @example -@kbd{M-x org-submit-bug-report} +@kbd{M-x org-submit-bug-report RET} @end example @noindent which will put all this information into an Emacs mail buffer so that you only need to add your description. If you re not sending the Email @@ -1025,7 +1040,7 @@ is not necessary. In that case it is sufficient to start Emacs as @code{emacs -Q}. The @code{minimal-org.el} setup file can have contents as shown below. -@example +@lisp ;;; Minimal setup to load latest `org-mode' ;; activate debugging @@ -1036,7 +1051,7 @@ shown below. ;; add latest org-mode to load path (add-to-list 'load-path (expand-file-name "/path/to/org-mode/lisp")) (add-to-list 'load-path (expand-file-name "/path/to/org-mode/contrib/lisp" t)) -@end example +@end lisp If an error occurs, a backtrace can be very useful (see below on how to create one). Often a small example file helps, along with clear information @@ -1064,7 +1079,7 @@ Reload uncompiled versions of all Org mode Lisp files. The backtrace contains much more information if it is produced with uncompiled code. To do this, use @example -C-u M-x org-reload RET +@kbd{C-u M-x org-reload RET} @end example @noindent or select @code{Org -> Refresh/Reload -> Reload Org uncompiled} from the @@ -1109,7 +1124,7 @@ and @i{environment keywords} (like @code{#+BEGIN_HTML} to start a @code{HTML} environment). They are written in uppercase in the manual to enhance its readability, but you can use lowercase in your Org files@footnote{Easy templates insert lowercase keywords and Babel dynamically inserts -@code{#+results}.} +@code{#+results}.}. @subsubheading Keybindings and commands @kindex C-c a @@ -1152,6 +1167,7 @@ edit the structure of the document. * Blocks:: Folding blocks * Footnotes:: How footnotes are defined in Org's syntax * Orgstruct mode:: Structure editing outside Org +* Org syntax:: Formal description of Org's syntax @end menu @node Outlines, Headlines, Document Structure, Document Structure @@ -1213,6 +1229,15 @@ variable @code{org-cycle-separator-lines} to modify this behavior. @cindex show hidden text @cindex hide text +@menu +* Global and local cycling:: Cycling through various visibility states +* Initial visibility:: Setting the initial visibility state +* Catching invisible edits:: Preventing mistakes when editing invisible parts +@end menu + +@node Global and local cycling, Initial visibility, Visibility cycling, Visibility cycling +@subsection Global and local cycling + Outlines make it possible to hide parts of the text in the buffer. Org uses just two commands, bound to @key{TAB} and @kbd{S-@key{TAB}} to change the visibility in the buffer. @@ -1295,6 +1320,15 @@ the previously used indirect buffer. Copy the @i{visible} text in the region into the kill ring. @end table +@menu +* Initial visibility:: Setting the initial visibility state +* Catching invisible edits:: Preventing mistakes when editing invisible parts +@end menu + +@node Initial visibility, Catching invisible edits, Global and local cycling, Visibility cycling +@subsection Initial visibility + +@cindex visibility, initialize @vindex org-startup-folded @vindex org-agenda-inhibit-startup @cindex @code{overview}, STARTUP keyword @@ -1302,11 +1336,13 @@ Copy the @i{visible} text in the region into the kill ring. @cindex @code{showall}, STARTUP keyword @cindex @code{showeverything}, STARTUP keyword -When Emacs first visits an Org file, the global state is set to -OVERVIEW, i.e., only the top level headlines are visible. This can be -configured through the variable @code{org-startup-folded}, or on a -per-file basis by adding one of the following lines anywhere in the -buffer: +When Emacs first visits an Org file, the global state is set to OVERVIEW, +i.e., only the top level headlines are visible@footnote{When +@code{org-agenda-inhibit-startup} is non-@code{nil}, Org will not honor the default +visibility state when first opening a file for the agenda (@pxref{Speeding up +your agendas}).} This can be configured through the variable +@code{org-startup-folded}, or on a per-file basis by adding one of the +following lines anywhere in the buffer: @example #+STARTUP: overview @@ -1317,7 +1353,7 @@ buffer: The startup visibility options are ignored when the file is open for the first time during the agenda generation: if you want the agenda to honor -the startup visibility, set @code{org-agenda-inhibit-startup} to nil. +the startup visibility, set @code{org-agenda-inhibit-startup} to @code{nil}. @cindex property, VISIBILITY @noindent @@ -1325,6 +1361,7 @@ Furthermore, any entries with a @samp{VISIBILITY} property (@pxref{Properties and Columns}) will get their visibility adapted accordingly. Allowed values for this property are @code{folded}, @code{children}, @code{content}, and @code{all}. + @table @asis @orgcmd{C-u C-u @key{TAB},org-set-startup-visibility} Switch back to the startup visibility of the buffer, i.e., whatever is @@ -1332,6 +1369,17 @@ requested by startup options and @samp{VISIBILITY} properties in individual entries. @end table +@node Catching invisible edits, , Initial visibility, Visibility cycling +@subsection Catching invisible edits + +@vindex org-catch-invisible-edits +@cindex edits, catching invisible +Sometimes you may inadvertently edit an invisible part of the buffer and be +confused on what has been edited and how to undo the mistake. Setting +@code{org-catch-invisible-edits} to non-@code{nil} will help prevent this. See the +docstring of this option on how Org should catch invisible edits and process +them. + @node Motion, Structure editing, Visibility cycling, Document Structure @section Motion @cindex motion, between headlines @@ -1369,7 +1417,7 @@ q @r{Quit} @end example @vindex org-goto-interface @noindent -See also the variable @code{org-goto-interface}. +See also the option @code{org-goto-interface}. @end table @node Structure editing, Sparse trees, Motion, Document Structure @@ -1388,17 +1436,20 @@ See also the variable @code{org-goto-interface}. @table @asis @orgcmd{M-@key{RET},org-insert-heading} @vindex org-M-RET-may-split-line -Insert new heading with same level as current. If the cursor is in a plain -list item, a new item is created (@pxref{Plain lists}). To force creation of -a new headline, use a prefix argument. When this command is used in the -middle of a line, the line is split and the rest of the line becomes the new -headline@footnote{If you do not want the line to be split, customize the -variable @code{org-M-RET-may-split-line}.}. If the command is used at the -beginning of a headline, the new headline is created before the current line. -If at the beginning of any other line, the content of that line is made the -new heading. If the command is used at the end of a folded subtree (i.e., -behind the ellipses at the end of a headline), then a headline like the -current one will be inserted after the end of the subtree. +Insert a new heading/item with the same level than the one at point. +If the cursor is in a plain list item, a new item is created +(@pxref{Plain lists}). To prevent this behavior in lists, call the +command with a prefix argument. When this command is used in the +middle of a line, the line is split and the rest of the line becomes +the new item or headline@footnote{If you do not want the line to be +split, customize the variable @code{org-M-RET-may-split-line}.}. If +the command is used at the @emph{beginning} of a headline, the new +headline is created before the current line. If the command is used +at the @emph{end} of a folded subtree (i.e., behind the ellipses at +the end of a headline), then a headline will be +inserted after the end of the subtree. Calling this command with +@kbd{C-u C-u} will unconditionally respect the headline's content and +create a new item at the end of the parent subtree. @orgcmd{C-@key{RET},org-insert-heading-respect-content} Just like @kbd{M-@key{RET}}, except when adding a new heading below the current heading, the new heading is placed after the body instead of before @@ -1450,7 +1501,7 @@ headline marker like @samp{****}. @orgcmd{C-y,org-yank} @vindex org-yank-adjusted-subtrees @vindex org-yank-folded-subtrees -Depending on the variables @code{org-yank-adjusted-subtrees} and +Depending on the options @code{org-yank-adjusted-subtrees} and @code{org-yank-folded-subtrees}, Org's internal @code{yank} command will paste subtrees folded and in a clever way, using the same command as @kbd{C-c C-x C-y}. With the default settings, no level adjustment will take place, @@ -1468,7 +1519,7 @@ to create a number of tasks related to a series of lectures to prepare. For more details, see the docstring of the command @code{org-clone-subtree-with-time-shift}. @orgcmd{C-c C-w,org-refile} -Refile entry or region to a different location. @xref{Refiling notes}. +Refile entry or region to a different location. @xref{Refile and copy}. @orgcmd{C-c ^,org-sort} Sort same-level entries. When there is an active region, all entries in the region will be sorted. Otherwise the children of the current headline are @@ -1550,11 +1601,10 @@ Jump to the next sparse tree match in this buffer. Jump to the previous sparse tree match in this buffer. @end table - @noindent @vindex org-agenda-custom-commands For frequently used sparse trees of specific search strings, you can -use the variable @code{org-agenda-custom-commands} to define fast +use the option @code{org-agenda-custom-commands} to define fast keyboard access to specific sparse trees. These commands will then be accessible through the agenda dispatcher (@pxref{Agenda dispatcher}). For example: @@ -1570,15 +1620,15 @@ a sparse tree matching the string @samp{FIXME}. The other sparse tree commands select headings based on TODO keywords, tags, or properties and will be discussed later in this manual. -@kindex C-c C-e v +@kindex C-c C-e C-v @cindex printing sparse trees @cindex visible text, printing To print a sparse tree, you can use the Emacs command @code{ps-print-buffer-with-faces} which does not print invisible parts of the document @footnote{This does not work under XEmacs, because XEmacs uses selective display for outlining, not text properties.}. -Or you can use the command @kbd{C-c C-e v} to export only the visible -part of the document and print the resulting file. +Or you can use @kbd{C-c C-e C-v} to export only the visible part of +the document and print the resulting file. @node Plain lists, Drawers, Sparse trees, Document Structure @section Plain lists @@ -1604,12 +1654,12 @@ is supported, it may be better to not use it for plain list items.} as bullets. @item @vindex org-plain-list-ordered-item-terminator -@vindex org-alphabetical-lists +@vindex org-list-allow-alphabetical @emph{Ordered} list items start with a numeral followed by either a period or a right parenthesis@footnote{You can filter out any of them by configuring @code{org-plain-list-ordered-item-terminator}.}, such as @samp{1.} or @samp{1)}@footnote{You can also get @samp{a.}, @samp{A.}, @samp{a)} and -@samp{A)} by configuring @code{org-alphabetical-lists}. To minimize +@samp{A)} by configuring @code{org-list-allow-alphabetical}. To minimize confusion with normal text, those are limited to one character only. Beyond that limit, bullets will automatically fallback to numbers.}. If you want a list to start with a different value (e.g., 20), start the text of the item @@ -1629,11 +1679,11 @@ line. In particular, if an ordered list reaches number @samp{10.}, then the list. An item ends before the next line that is less or equally indented than its bullet/number. -@vindex org-empty-line-terminates-plain-lists +@vindex org-list-empty-line-terminates-plain-lists A list ends whenever every item has ended, which means before any line less or equally indented than items at top level. It also ends before two blank -lines@footnote{See also @code{org-empty-line-terminates-plain-lists}.}. In -that case, all items are closed. Here is an example: +lines@footnote{See also @code{org-list-empty-line-terminates-plain-lists}.}. +In that case, all items are closed. Here is an example: @example @group @@ -1705,7 +1755,7 @@ one. @table @kbd @kindex M-S-@key{RET} -@item M-S-RET +@item M-S-@key{RET} Insert a new item with a checkbox (@pxref{Checkboxes}). @kindex S-@key{down} @item S-up @@ -1724,7 +1774,7 @@ similar effect. @item M-up @itemx M-down Move the item including subitems up/down@footnote{See -@code{org-liste-use-circular-motion} for a cyclic behavior.} (swap with +@code{org-list-use-circular-motion} for a cyclic behavior.} (swap with previous/next item of same indentation). If the list is ordered, renumbering is automatic. @kindex M-@key{left} @@ -1734,8 +1784,8 @@ is automatic. Decrease/increase the indentation of an item, leaving children alone. @kindex M-S-@key{left} @kindex M-S-@key{right} -@item M-S-left -@itemx M-S-right +@item M-S-@key{left} +@itemx M-S-@key{right} Decrease/increase the indentation of the item, including subitems. Initially, the item tree is selected based on current indentation. When these commands are executed several times in direct succession, the initially @@ -1781,9 +1831,11 @@ This command also cycles bullet styles when the cursor in on the bullet or anywhere in an item line, details depending on @code{org-support-shift-select}. @kindex C-c ^ +@cindex sorting, of plain list @item C-c ^ Sort the plain list. You will be prompted for the sorting method: -numerically, alphabetically, by time, or by custom function. +numerically, alphabetically, by time, by checked status for check lists, +or by a custom function. @end table @node Drawers, Blocks, Plain lists, Document Structure @@ -1797,10 +1849,9 @@ numerically, alphabetically, by time, or by custom function. @kindex C-c C-x d Sometimes you want to keep information associated with an entry, but you normally don't want to see it. For this, Org mode has @emph{drawers}. -Drawers need to be configured with the variable -@code{org-drawers}@footnote{You can define additional drawers on a -per-file basis with a line like @code{#+DRAWERS: HIDDEN STATE}}. Drawers -look like this: +Drawers need to be configured with the option @code{org-drawers}@footnote{You +can define additional drawers on a per-file basis with a line like +@code{#+DRAWERS: HIDDEN STATE}}. Drawers look like this: @example ** This is a headline @@ -1833,6 +1884,12 @@ want to store a quick note in the LOGBOOK drawer, in a similar way to state chan Add a time-stamped note to the LOGBOOK drawer. @end table +@vindex org-export-with-drawers +You can select the name of the drawers which should be exported with +@code{org-export-with-drawers}. In that case, drawer contents will appear in +export output. Property drawers are not affected by this variable and are +never exported. + @node Blocks, Footnotes, Drawers, Document Structure @section Blocks @@ -1842,7 +1899,7 @@ Org mode uses begin...end blocks for various purposes from including source code examples (@pxref{Literal examples}) to capturing time logging information (@pxref{Clocking work time}). These blocks can be folded and unfolded by pressing TAB in the begin line. You can also get all blocks -folded at startup by configuring the variable @code{org-hide-block-startup} +folded at startup by configuring the option @code{org-hide-block-startup} or on a per-file basis by using @cindex @code{hideblocks}, STARTUP keyword @@ -1857,13 +1914,13 @@ or on a per-file basis by using @cindex footnotes Org mode supports the creation of footnotes. In contrast to the -@file{footnote.el} package, Org mode's footnotes are designed for work on a -larger document, not only for one-off documents like emails. The basic -syntax is similar to the one used by @file{footnote.el}, i.e., a footnote is -defined in a paragraph that is started by a footnote marker in square -brackets in column 0, no indentation allowed. If you need a paragraph break -inside a footnote, use the @LaTeX{} idiom @samp{\par}. The footnote reference -is simply the marker in square brackets, inside text. For example: +@file{footnote.el} package, Org mode's footnotes are designed for work on +a larger document, not only for one-off documents like emails. + +A footnote is started by a footnote marker in square brackets in column 0, no +indentation allowed. It ends at the next footnote definition, headline, or +after two consecutive empty lines. The footnote reference is simply the +marker in square brackets, inside text. For example: @example The Org homepage[fn:1] now looks a lot better than it used to. @@ -1913,11 +1970,11 @@ is at a definition, jump to the (first) reference. @vindex org-footnote-define-inline @vindex org-footnote-section @vindex org-footnote-auto-adjust -Otherwise, create a new footnote. Depending on the variable +Otherwise, create a new footnote. Depending on the option @code{org-footnote-define-inline}@footnote{The corresponding in-buffer setting is: @code{#+STARTUP: fninline} or @code{#+STARTUP: nofninline}}, the definition will be placed right into the text as part of the reference, or -separately into the location determined by the variable +separately into the location determined by the option @code{org-footnote-section}. When this command is called with a prefix argument, a menu of additional @@ -1928,17 +1985,16 @@ s @r{Sort the footnote definitions by reference sequence. During editing,} @r{sequence. If you want them sorted, use this command, which will} @r{also move entries according to @code{org-footnote-section}. Automatic} @r{sorting after each insertion/deletion can be configured using the} - @r{variable @code{org-footnote-auto-adjust}.} + @r{option @code{org-footnote-auto-adjust}.} r @r{Renumber the simple @code{fn:N} footnotes. Automatic renumbering} - @r{after each insertion/deletion can be configured using the variable} + @r{after each insertion/deletion can be configured using the option} @r{@code{org-footnote-auto-adjust}.} S @r{Short for first @code{r}, then @code{s} action.} n @r{Normalize the footnotes by collecting all definitions (including} @r{inline definitions) into a special section, and then numbering them} @r{in sequence. The references will then also be numbers. This is} @r{meant to be the final step before finishing a document (e.g., sending} - @r{off an email). The exporters do this automatically, and so could} - @r{something like @code{message-send-hook}.} + @r{off an email).} d @r{Delete the footnote at point, and all definitions of and references} @r{to it.} @end example @@ -1960,7 +2016,7 @@ Footnote labels are also links to the corresponding definition/reference, and you can use the usual commands to follow these links. @end table -@node Orgstruct mode, , Footnotes, Document Structure +@node Orgstruct mode, Org syntax, Footnotes, Document Structure @section The Orgstruct minor mode @cindex Orgstruct mode @cindex minor mode for structure editing @@ -1968,7 +2024,7 @@ you can use the usual commands to follow these links. If you like the intuitive way the Org mode structure editing and list formatting works, you might want to use these commands in other modes like Text mode or Mail mode as well. The minor mode @code{orgstruct-mode} makes -this possible. Toggle the mode with @kbd{M-x orgstruct-mode}, or +this possible. Toggle the mode with @kbd{M-x orgstruct-mode RET}, or turn it on by default, for example in Message mode, with one of: @lisp @@ -1980,10 +2036,42 @@ When this mode is active and the cursor is on a line that looks to Org like a headline or the first line of a list item, most structure editing commands will work, even if the same keys normally have different functionality in the major mode you are using. If the cursor is not in one of those special -lines, Orgstruct mode lurks silently in the shadows. When you use -@code{orgstruct++-mode}, Org will also export indentation and autofill -settings into that mode, and detect item context after the first line of an -item. +lines, Orgstruct mode lurks silently in the shadows. + +When you use @code{orgstruct++-mode}, Org will also export indentation and +autofill settings into that mode, and detect item context after the first +line of an item. + +@vindex orgstruct-heading-prefix-regexp +You can also use Org structure editing to fold and unfold headlines in +@emph{any} file, provided you defined @code{orgstruct-heading-prefix-regexp}: +the regular expression must match the local prefix to use before Org's +headlines. For example, if you set this variable to @code{";; "} in Emacs +Lisp files, you will be able to fold and unfold headlines in Emacs Lisp +commented lines. Some commands like @code{org-demote} are disabled when the +prefix is set, but folding/unfolding will work correctly. + +@node Org syntax, , Orgstruct mode, Document Structure +@section Org syntax +@cindex Org syntax + +A reference document providing a formal description of Org's syntax is +available as @uref{http://orgmode.org/worg/dev/org-syntax.html, a draft on +Worg}, written and maintained by Nicolas Goaziou. It defines Org's core +internal concepts such as @code{headlines}, @code{sections}, @code{affiliated +keywords}, @code{(greater) elements} and @code{objects}. Each part of an Org +file falls into one of the categories above. + +To explore the abstract structure of an Org buffer, run this in a buffer: + +@lisp +M-: (org-element-parse-buffer) RET +@end lisp + +It will output a list containing the buffer's content represented as an +abstract structure. The export engine relies on the information stored in +this list. Most interactive commands (e.g., for structure editing) also +rely on the syntactic meaning of the surrounding context. @node Tables, Hyperlinks, Document Structure, Top @chapter Tables @@ -2046,7 +2134,7 @@ inserting and deleting avoids shifting other fields. Also, when typing @emph{immediately after the cursor was moved into a new field with @kbd{@key{TAB}}, @kbd{S-@key{TAB}} or @kbd{@key{RET}}}, the field is automatically made blank. If this behavior is too -unpredictable for you, configure the variables +unpredictable for you, configure the options @code{org-enable-table-editor} and @code{org-table-auto-blank-field}. @table @kbd @@ -2066,7 +2154,7 @@ table. But it is easier just to start typing, like @tsubheading{Re-aligning and field motion} @orgcmd{C-c C-c,org-table-align} -Re-align the table without moving the cursor. +Re-align the table and don't move to another field. @c @orgcmd{,org-table-next-field} Re-align the table, move to the next field. Creates a new row if @@ -2165,7 +2253,7 @@ be inserted with @kbd{C-y}. @vindex org-table-copy-increment When current field is empty, copy from first non-empty field above. When not empty, copy current field down to next row and move cursor along with it. -Depending on the variable @code{org-table-copy-increment}, integer field +Depending on the option @code{org-table-copy-increment}, integer field values will be incremented during copy. Integers that are too large will not be incremented. Also, a @code{0} prefix argument temporarily disables the increment. This key is also used by shift-selection and related modes @@ -2181,7 +2269,7 @@ window follow the cursor through the table and always show the current field. The follow mode exits automatically when the cursor leaves the table, or when you repeat this command with @kbd{C-u C-u C-c `}. @c -@item M-x org-table-import +@item M-x org-table-import RET Import a file as a table. The table should be TAB or whitespace separated. Use, for example, to import a spreadsheet table or data from a database, because these programs generally can write @@ -2194,12 +2282,12 @@ Tables can also be imported by pasting tabular text into the Org buffer, selecting the pasted text with @kbd{C-x C-x} and then using the @kbd{C-c |} command (see above under @i{Creation and conversion}). @c -@item M-x org-table-export +@item M-x org-table-export RET @findex org-table-export @vindex org-table-export-default-format Export the table, by default as a TAB-separated file. Use for data exchange with, for example, spreadsheet or database programs. The format -used to export the file can be configured in the variable +used to export the file can be configured in the option @code{org-table-export-default-format}. You may also use properties @code{TABLE_EXPORT_FILE} and @code{TABLE_EXPORT_FORMAT} to specify the file name and the format for table export in a subtree. Org supports quite @@ -2274,7 +2362,7 @@ If you would like to overrule the automatic alignment of number-rich columns to the right and of string-rich column to the left, you can use @samp{}, @samp{}@footnote{Centering does not work inside Emacs, but it does have an effect when exporting to HTML.} or @samp{} in a similar fashion. You may -also combine alignment and field width like this: @samp{}. +also combine alignment and field width like this: @samp{}. Lines which only contain these formatting cookies will be removed automatically when exporting the document. @@ -2323,7 +2411,7 @@ every vertical line you would like to have: If you like the intuitive way the Org table editor works, you might also want to use it in other modes like Text mode or Mail mode. The minor mode Orgtbl mode makes this possible. You can always toggle -the mode with @kbd{M-x orgtbl-mode}. To turn it on by default, for +the mode with @kbd{M-x orgtbl-mode RET}. To turn it on by default, for example in Message mode, use @lisp @@ -2359,6 +2447,7 @@ formula, moving these references by arrow keys * Durations and time values:: How to compute durations and time values * Field and range formulas:: Formula for specific (ranges of) fields * Column formulas:: Formulas valid for an entire column +* Lookup functions:: Lookup functions for searching tables * Editing and debugging formulas:: Fixing formulas * Updating the table:: Recomputing all dependent fields * Advanced features:: Field and column names, parameters and automatic recalc @@ -2384,8 +2473,8 @@ combination like @code{B3}, meaning the 2nd field in the 3rd row. @vindex org-table-use-standard-references However, Org prefers@footnote{Org will understand references typed by the user as @samp{B4}, but it will not use this syntax when offering a formula -for editing. You can customize this behavior using the variable -@code{org-table-use-standard-references}.} to use another, more general +for editing. You can customize this behavior using the option +@code{org-table-use-standard-references}.} to use another, more general representation that looks like this: @example @@@var{row}$@var{column} @@ -2452,15 +2541,15 @@ $1..$3 @r{first three fields in the current row} $P..$Q @r{range, using column names (see under Advanced)} $<<<..$>> @r{start in third column, continue to the one but last} @@2$1..@@4$3 @r{6 fields between these two fields (same as @code{A2..C4})} -@@-1$-2..@@-1 @r{in the first row up, 3 fields from 2 columns on the left} +@@-1$-2..@@-1 @r{3 fields in the row above, starting from 2 columns on the left} @@I..II @r{between first and second hline, short for @code{@@I..@@II}} @end example @noindent Range references return a vector of values that can be fed -into Calc vector functions. Empty fields in ranges are normally -suppressed, so that the vector contains only the non-empty fields (but -see the @samp{E} mode switch below). If there are no non-empty fields, -@samp{[0]} is returned to avoid syntax errors in formulas. +into Calc vector functions. Empty fields in ranges are normally suppressed, +so that the vector contains only the non-empty fields. For other options +with the mode switches @samp{E}, @samp{N} and examples @pxref{Formula syntax +for Calc}. @subsubheading Field coordinates in formulas @cindex field coordinates @@ -2493,7 +2582,7 @@ number of rows. @vindex org-table-formula-constants @samp{$name} is interpreted as the name of a column, parameter or -constant. Constants are defined globally through the variable +constant. Constants are defined globally through the option @code{org-table-formula-constants}, and locally (for the file) through a line like @@ -2526,7 +2615,7 @@ numbers. @cindex references, to a different table @cindex name, of column or field @cindex constants, in calculations -@cindex #+TBLNAME +@cindex #+NAME, for table You may also reference constants, fields and ranges from a different table, either in the current file or even in a different file. The syntax is @@ -2537,7 +2626,7 @@ remote(NAME-OR-ID,REF) @noindent where NAME can be the name of a table in the current file as set by a -@code{#+TBLNAME: NAME} line before the table. It can also be the ID of an +@code{#+NAME: Name} line before the table. It can also be the ID of an entry, even in a different file, and the reference then refers to the first table in that entry. REF is an absolute field or range reference as described above for example @code{@@3$3} or @code{$somename}, valid in the @@ -2548,14 +2637,13 @@ referenced table. @cindex formula syntax, Calc @cindex syntax, of formulas -A formula can be any algebraic expression understood by the Emacs -@file{Calc} package. @b{Note that @file{calc} has the -non-standard convention that @samp{/} has lower precedence than -@samp{*}, so that @samp{a/b*c} is interpreted as @samp{a/(b*c)}.} Before -evaluation by @code{calc-eval} (@pxref{Calling Calc from -Your Programs, calc-eval, Calling Calc from Your Lisp Programs, calc, GNU -Emacs Calc Manual}), -variable substitution takes place according to the rules described above. +A formula can be any algebraic expression understood by the Emacs @file{Calc} +package. Note that @file{calc} has the non-standard convention that @samp{/} +has lower precedence than @samp{*}, so that @samp{a/b*c} is interpreted as +@samp{a/(b*c)}. Before evaluation by @code{calc-eval} (@pxref{Calling Calc +from Your Programs, calc-eval, Calling Calc from Your Lisp Programs, calc, +GNU Emacs Calc Manual}), variable substitution takes place according to the +rules described above. @cindex vectors, in table calculations The range vectors can be directly fed into the Calc vector functions like @samp{vmean} and @samp{vsum}. @@ -2568,33 +2656,52 @@ string consists of flags to influence Calc and other modes during execution. By default, Org uses the standard Calc modes (precision 12, angular units degrees, fraction and symbolic modes off). The display format, however, has been changed to @code{(float 8)} to keep tables -compact. The default settings can be configured using the variable +compact. The default settings can be configured using the option @code{org-calc-default-modes}. -@example -p20 @r{set the internal Calc calculation precision to 20 digits} -n3 s3 e2 f4 @r{Normal, scientific, engineering, or fixed} - @r{format of the result of Calc passed back to Org.} - @r{Calc formatting is unlimited in precision as} - @r{long as the Calc calculation precision is greater.} -D R @r{angle modes: degrees, radians} -F S @r{fraction and symbolic modes} -N @r{interpret all fields as numbers, use 0 for non-numbers} -E @r{keep empty fields in ranges} -L @r{literal} -@end example +@noindent List of modes: + +@table @asis +@item @code{p20} +Set the internal Calc calculation precision to 20 digits. +@item @code{n3}, @code{s3}, @code{e2}, @code{f4} +Normal, scientific, engineering or fixed format of the result of Calc passed +back to Org. Calc formatting is unlimited in precision as long as the Calc +calculation precision is greater. +@item @code{D}, @code{R} +Degree and radian angle modes of Calc. +@item @code{F}, @code{S} +Fraction and symbolic modes of Calc. +@item @code{T}, @code{t} +Duration computations in Calc or Lisp, @pxref{Durations and time values}. +@item @code{E} +If and how to consider empty fields. Without @samp{E} empty fields in range +references are suppressed so that the Calc vector or Lisp list contains only +the non-empty fields. With @samp{E} the empty fields are kept. For empty +fields in ranges or empty field references the value @samp{nan} (not a +number) is used in Calc formulas and the empty string is used for Lisp +formulas. Add @samp{N} to use 0 instead for both formula types. For the +value of a field the mode @samp{N} has higher precedence than @samp{E}. +@item @code{N} +Interpret all fields as numbers, use 0 for non-numbers. See the next section +to see how this is essential for computations with Lisp formulas. In Calc +formulas it is used only occasionally because there number strings are +already interpreted as numbers without @samp{N}. +@item @code{L} +Literal, for Lisp formulas only. See the next section. +@end table @noindent -Unless you use large integer numbers or high-precision-calculation -and -display for floating point numbers you may alternatively provide a -@code{printf} format specifier to reformat the Calc result after it has been +Unless you use large integer numbers or high-precision-calculation and +-display for floating point numbers you may alternatively provide a +@samp{printf} format specifier to reformat the Calc result after it has been passed back to Org instead of letting Calc already do the -formatting@footnote{The @code{printf} reformatting is limited in precision -because the value passed to it is converted into an @code{integer} or -@code{double}. The @code{integer} is limited in size by truncating the -signed value to 32 bits. The @code{double} is limited in precision to 64 -bits overall which leaves approximately 16 significant decimal digits.}. -A few examples: +formatting@footnote{The @samp{printf} reformatting is limited in precision +because the value passed to it is converted into an @samp{integer} or +@samp{double}. The @samp{integer} is limited in size by truncating the +signed value to 32 bits. The @samp{double} is limited in precision to 64 +bits overall which leaves approximately 16 significant decimal digits.}. A +few examples: @example $1+$2 @r{Sum of first and second field} @@ -2605,19 +2712,38 @@ $0;%.1f @r{Reformat current cell to 1 decimal} $c/$1/$cm @r{Hz -> cm conversion, using @file{constants.el}} tan($1);Dp3s1 @r{Compute in degrees, precision 3, display SCI 1} sin($1);Dp3%.1e @r{Same, but use printf specifier for display} -vmean($2..$7) @r{Compute column range mean, using vector function} -vmean($2..$7);EN @r{Same, but treat empty fields as 0} taylor($3,x=7,2) @r{Taylor series of $3, at x=7, second degree} @end example -Calc also contains a complete set of logical operations. For example +Calc also contains a complete set of logical operations, (@pxref{Logical +Operations, , Logical Operations, calc, GNU Emacs Calc Manual}). For example -@example -if($1<20,teen,string("")) @r{"teen" if age $1 less than 20, else empty} -@end example +@table @code +@item if($1 < 20, teen, string("")) +"teen" if age $1 is less than 20, else the Org table result field is set to +empty with the empty string. +@item if("$1" == "nan" || "$2" == "nan", string(""), $1 + $2); E +Sum of the first two columns. When at least one of the input fields is empty +the Org table result field is set to empty. +@item if(typeof(vmean($1..$7)) == 12, string(""), vmean($1..$7); E +Mean value of a range unless there is any empty field. Every field in the +range that is empty is replaced by @samp{nan} which lets @samp{vmean} result +in @samp{nan}. Then @samp{typeof == 12} detects the @samp{nan} from +@samp{vmean} and the Org table result field is set to empty. Use this when +the sample set is expected to never have missing values. +@item if("$1..$7" == "[]", string(""), vmean($1..$7)) +Mean value of a range with empty fields skipped. Every field in the range +that is empty is skipped. When all fields in the range are empty the mean +value is not defined and the Org table result field is set to empty. Use +this when the sample set can have a variable size. +@item vmean($1..$7); EN +To complete the example before: Mean value of a range with empty fields +counting as samples with value 0. Use this only when incomplete sample sets +should be padded with 0 to the full size. +@end table -Note that you can also use two org-specific flags @code{T} and @code{t} for -durations computations @ref{Durations and time values}. +You can add your own Calc functions defined in Emacs Lisp with @code{defmath} +and use them in formula syntax for Calc. @node Formula syntax for Lisp, Durations and time values, Formula syntax for Calc, The spreadsheet @subsection Emacs Lisp forms as formulas @@ -2646,14 +2772,14 @@ fields, so you can embed them in list or vector syntax. Here are a few examples---note how the @samp{N} mode is used when we do computations in Lisp: -@example -@r{Swap the first two characters of the content of column 1} - '(concat (substring $1 1 2) (substring $1 0 1) (substring $1 2)) -@r{Add columns 1 and 2, equivalent to Calc's @code{$1+$2}} - '(+ $1 $2);N -@r{Compute the sum of columns 1--4, like Calc's @code{vsum($1..$4)}} - '(apply '+ '($1..$4));N -@end example +@table @code +@item '(concat (substring $1 1 2) (substring $1 0 1) (substring $1 2)) +Swap the first two characters of the content of column 1. +@item '(+ $1 $2);N +Add columns 1 and 2, equivalent to Calc's @code{$1+$2}. +@item '(apply '+ '($1..$4));N +Compute the sum of columns 1 to 4, like Calc's @code{vsum($1..$4)}. +@end table @node Durations and time values, Field and range formulas, Formula syntax for Lisp, The spreadsheet @subsection Durations and time values @@ -2677,7 +2803,7 @@ formulas or Elisp formulas: Input duration values must be of the form @code{[HH:MM[:SS]}, where seconds are optional. With the @code{T} flag, computed durations will be displayed as @code{HH:MM:SS} (see the first formula above). With the @code{t} flag, -computed durations will be displayed according to the value of the variable +computed durations will be displayed according to the value of the option @code{org-table-duration-custom-format}, which defaults to @code{'hours} and will display the result as a fraction of hours (see the second formula in the example above). @@ -2741,7 +2867,7 @@ can also be used to assign a formula to some but not all fields in a row. Named field, see @ref{Advanced features}. @end table -@node Column formulas, Editing and debugging formulas, Field and range formulas, The spreadsheet +@node Column formulas, Lookup functions, Field and range formulas, The spreadsheet @subsection Column formulas @cindex column formula @cindex formula, for table column @@ -2749,10 +2875,13 @@ Named field, see @ref{Advanced features}. When you assign a formula to a simple column reference like @code{$3=}, the same formula will be used in all fields of that column, with the following very convenient exceptions: (i) If the table contains horizontal separator -hlines, everything before the first such line is considered part of the table -@emph{header} and will not be modified by column formulas. (ii) Fields that -already get a value from a field/range formula will be left alone by column -formulas. These conditions make column formulas very easy to use. +hlines with rows above and below, everything before the first such hline is +considered part of the table @emph{header} and will not be modified by column +formulas. Therefore a header is mandatory when you use column formulas and +want to add hlines to group rows, like for example to separate a total row at +the bottom from the summand rows above. (ii) Fields that already get a value +from a field/range formula will be left alone by column formulas. These +conditions make column formulas very easy to use. To assign a formula to a column, type it directly into any field in the column, preceded by an equal sign, like @samp{=$1+$2}. When you press @@ -2777,19 +2906,62 @@ stores it. With a numeric prefix argument(e.g., @kbd{C-5 C-c =}) the command will apply it to that many consecutive fields in the current column. @end table -@node Editing and debugging formulas, Updating the table, Column formulas, The spreadsheet +@node Lookup functions, Editing and debugging formulas, Column formulas, The spreadsheet +@subsection Lookup functions +@cindex lookup functions in tables +@cindex table lookup functions + +Org has three predefined Emacs Lisp functions for lookups in tables. +@table @code +@item (org-lookup-first VAL S-LIST R-LIST &optional PREDICATE) +@findex org-lookup-first +Searches for the first element @code{S} in list @code{S-LIST} for which +@lisp +(PREDICATE VAL S) +@end lisp +is @code{t}; returns the value from the corresponding position in list +@code{R-LIST}. The default @code{PREDICATE} is @code{equal}. Note that the +parameters @code{VAL} and @code{S} are passed to @code{PREDICATE} in the same +order as the corresponding parameters are in the call to +@code{org-lookup-first}, where @code{VAL} precedes @code{S-LIST}. If +@code{R-LIST} is @code{nil}, the matching element @code{S} of @code{S-LIST} +is returned. +@item (org-lookup-last VAL S-LIST R-LIST &optional PREDICATE) +@findex org-lookup-last +Similar to @code{org-lookup-first} above, but searches for the @i{last} +element for which @code{PREDICATE} is @code{t}. +@item (org-lookup-all VAL S-LIST R-LIST &optional PREDICATE) +@findex org-lookup-all +Similar to @code{org-lookup-first}, but searches for @i{all} elements for +which @code{PREDICATE} is @code{t}, and returns @i{all} corresponding +values. This function can not be used by itself in a formula, because it +returns a list of values. However, powerful lookups can be built when this +function is combined with other Emacs Lisp functions. +@end table + +If the ranges used in these functions contain empty fields, the @code{E} mode +for the formula should usually be specified: otherwise empty fields will not be +included in @code{S-LIST} and/or @code{R-LIST} which can, for example, result +in an incorrect mapping from an element of @code{S-LIST} to the corresponding +element of @code{R-LIST}. + +These three functions can be used to implement associative arrays, count +matching cells, rank results, group data etc. For practical examples +see @uref{http://orgmode.org/worg/org-tutorials/org-lookups.html, this +tutorial on Worg}. + +@node Editing and debugging formulas, Updating the table, Lookup functions, The spreadsheet @subsection Editing and debugging formulas @cindex formula editing @cindex editing, of table formulas @vindex org-table-use-standard-references -You can edit individual formulas in the minibuffer or directly in the -field. Org can also prepare a special buffer with all active -formulas of a table. When offering a formula for editing, Org -converts references to the standard format (like @code{B3} or @code{D&}) -if possible. If you prefer to only work with the internal format (like -@code{@@3$2} or @code{$4}), configure the variable -@code{org-table-use-standard-references}. +You can edit individual formulas in the minibuffer or directly in the field. +Org can also prepare a special buffer with all active formulas of a table. +When offering a formula for editing, Org converts references to the standard +format (like @code{B3} or @code{D&}) if possible. If you prefer to only work +with the internal format (like @code{@@3$2} or @code{$4}), configure the +option @code{org-table-use-standard-references}. @table @kbd @orgcmdkkc{C-c =,C-u C-c =,org-table-eval-formula} @@ -2821,6 +2993,7 @@ active formula, the cursor in the formula editor will mark it. While inside the special buffer, Org will automatically highlight any field or range reference at the cursor position. You may edit, remove and add formulas, and use the following commands: + @table @kbd @orgcmdkkc{C-c C-c,C-x C-s,org-table-fedit-finish} Exit the formula editor and store the modified formulas. With @kbd{C-u} @@ -2872,6 +3045,52 @@ You may edit the @samp{#+TBLFM} directly and re-apply the changed equations with @kbd{C-c C-c} in that line or with the normal recalculation commands in the table. +@anchor{Using multiple #+TBLFM lines} +@subsubheading Using multiple #+TBLFM lines +@cindex #+TBLFM line, multiple +@cindex #+TBLFM +@cindex #+TBLFM, switching +@kindex C-c C-c + +You may apply the formula temporarily. This is useful when you +switch the formula. Place multiple @samp{#+TBLFM} lines right +after the table, and then press @kbd{C-c C-c} on the formula to +apply. Here is an example: + +@example +| x | y | +|---+---| +| 1 | | +| 2 | | +#+TBLFM: $2=$1*1 +#+TBLFM: $2=$1*2 +@end example + +@noindent +Pressing @kbd{C-c C-c} in the line of @samp{#+TBLFM: $2=$1*2} yields: + +@example +| x | y | +|---+---| +| 1 | 2 | +| 2 | 4 | +#+TBLFM: $2=$1*1 +#+TBLFM: $2=$1*2 +@end example + +@noindent +Note: If you recalculate this table (with @kbd{C-u C-c *}, for example), you +will get the following result of applying only the first @samp{#+TBLFM} line. + +@example +| x | y | +|---+---| +| 1 | 1 | +| 2 | 2 | +#+TBLFM: $2=$1*1 +#+TBLFM: $2=$1*2 +@end example + @subsubheading Debugging formulas @cindex formula debugging @cindex debugging, of table formulas @@ -2910,10 +3129,10 @@ hline are left alone, assuming that these are part of the table header. Iterate the table by recomputing it until no further changes occur. This may be necessary if some computed fields use the value of other fields that are computed @i{later} in the calculation sequence. -@item M-x org-table-recalculate-buffer-tables +@item M-x org-table-recalculate-buffer-tables RET @findex org-table-recalculate-buffer-tables Recompute all tables in the current buffer. -@item M-x org-table-iterate-buffer-tables +@item M-x org-table-iterate-buffer-tables RET @findex org-table-iterate-buffer-tables Iterate all tables in the current buffer, in order to converge table-to-table dependencies. @@ -2966,6 +3185,7 @@ empty first field. @cindex marking characters, tables The marking characters have the following meaning: + @table @samp @item ! The fields in this line define names for the columns, so that you may @@ -3167,10 +3387,8 @@ internal structure of all links, use the menu entry If the link does not look like a URL, it is considered to be internal in the current file. The most important case is a link like @samp{[[#my-custom-id]]} which will link to the entry with the -@code{CUSTOM_ID} property @samp{my-custom-id}. Such custom IDs are very good -for HTML export (@pxref{HTML export}) where they produce pretty section -links. You are responsible yourself to make sure these custom IDs are unique -in a file. +@code{CUSTOM_ID} property @samp{my-custom-id}. You are responsible yourself +to make sure these custom IDs are unique in a file. Links such as @samp{[[My Target]]} or @samp{[[My Target][Find my target]]} lead to a text search in the current file. @@ -3178,27 +3396,48 @@ lead to a text search in the current file. The link can be followed with @kbd{C-c C-o} when the cursor is on the link, or with a mouse click (@pxref{Handling links}). Links to custom IDs will point to the corresponding headline. The preferred match for a text link is -a @i{dedicated target}: the same string in double angular brackets. Targets -may be located anywhere; sometimes it is convenient to put them into a -comment line. For example +a @i{dedicated target}: the same string in double angular brackets, like +@samp{<>}. + +@cindex #+NAME +If no dedicated target exists, the link will then try to match the exact name +of an element within the buffer. Naming is done with the @code{#+NAME} +keyword, which has to be put the line before the element it refers to, as in +the following example @example -# <> +#+NAME: My Target +| a | table | +|----+------------| +| of | four cells | @end example -@noindent In HTML export (@pxref{HTML export}), such targets will become -named anchors for direct access through @samp{http} links@footnote{Note that -text before the first headline is usually not exported, so the first such -target should be after the first headline, or in the line directly before the -first headline.}. - -If no dedicated target exists, Org will search for a headline that is exactly +If none of the above succeeds, Org will search for a headline that is exactly the link text but may also include a TODO keyword and tags@footnote{To insert -a link targeting a headline, in-buffer completion can be used. Just type a -star followed by a few optional letters into the buffer and press +a link targeting a headline, in-buffer completion can be used. Just type +a star followed by a few optional letters into the buffer and press @kbd{M-@key{TAB}}. All headlines in the current buffer will be offered as -completions.}. In non-Org files, the search will look for the words in the -link text. In the above example the search would be for @samp{my target}. +completions.}. + +During export, internal links will be used to mark objects and assign them +a number. Marked objects will then be referenced by links pointing to them. +In particular, links without a description will appear as the number assigned +to the marked object@footnote{When targeting a @code{#+NAME} keyword, +@code{#+CAPTION} keyword is mandatory in order to get proper numbering +(@pxref{Images and tables}).}. In the following excerpt from an Org buffer + +@example +- one item +- <>another item +Here we refer to item [[target]]. +@end example + +@noindent +The last sentence will appear as @samp{Here we refer to item 2} when +exported. + +In non-Org files, the search will look for the words in the link text. In +the above example the search would be for @samp{my target}. Following a link pushes a mark onto Org's own mark ring. You can return to the previous position with @kbd{C-c &}. Using this command @@ -3229,26 +3468,23 @@ cursor on or at a target. @section External links @cindex links, external @cindex external links -@cindex links, external @cindex Gnus links @cindex BBDB links @cindex IRC links @cindex URL links @cindex file links -@cindex VM links @cindex RMAIL links -@cindex WANDERLUST links @cindex MH-E links @cindex USENET links @cindex SHELL links @cindex Info links @cindex Elisp links -Org supports links to files, websites, Usenet and email messages, -BBDB database entries and links to both IRC conversations and their -logs. External links are URL-like locators. They start with a short -identifying string followed by a colon. There can be no space after -the colon. The following list shows examples for each link type. +Org supports links to files, websites, Usenet and email messages, BBDB +database entries and links to both IRC conversations and their logs. +External links are URL-like locators. They start with a short identifying +string followed by a colon. There can be no space after the colon. The +following list shows examples for each link type. @example http://www.astro.uva.nl/~dominik @r{on the web} @@ -3263,8 +3499,8 @@ file:sometextfile::NNN @r{file, jump to line number} file:projects.org @r{another Org file} file:projects.org::some words @r{text search in Org file}@footnote{ The actual behavior of the search will depend on the value of -the variable @code{org-link-search-must-match-exact-headline}. If its value -is nil, then a fuzzy text search will be done. If it is t, then only the +the option @code{org-link-search-must-match-exact-headline}. If its value +is @code{nil}, then a fuzzy text search will be done. If it is t, then only the exact headline will be matched. If the value is @code{'query-to-create}, then an exact headline will be searched; if it is not found, then the user will be queried to create it.} @@ -3275,13 +3511,6 @@ docview:papers/last.pdf::NNN @r{open in doc-view mode at page} id:B7423F4D-2E8A-471B-8810-C40F074717E9 @r{Link to heading by ID} news:comp.emacs @r{Usenet link} mailto:adent@@galaxy.net @r{Mail link} -vm:folder @r{VM folder link} -vm:folder#id @r{VM message link} -vm://myself@@some.where.org/folder#id @r{VM on remote machine} -vm-imap:account:folder @r{VM IMAP folder link} -vm-imap:account:folder#id @r{VM IMAP message link} -wl:folder @r{WANDERLUST folder link} -wl:folder#id @r{WANDERLUST message link} mhe:folder @r{MH-E folder link} mhe:folder#id @r{MH-E message link} rmail:folder @r{RMAIL folder link} @@ -3296,11 +3525,27 @@ elisp:org-agenda @r{Interactive Elisp command} elisp:(find-file-other-frame "Elisp.org") @r{Elisp form to evaluate} @end example +@cindex VM links +@cindex WANDERLUST links +On top of these built-in link types, some are available through the +@code{contrib/} directory (@pxref{Installation}). For example, these links +to VM or Wanderlust messages are available when you load the corresponding +libraries from the @code{contrib/} directory: + +@example +vm:folder @r{VM folder link} +vm:folder#id @r{VM message link} +vm://myself@@some.where.org/folder#id @r{VM on remote machine} +vm-imap:account:folder @r{VM IMAP folder link} +vm-imap:account:folder#id @r{VM IMAP message link} +wl:folder @r{WANDERLUST folder link} +wl:folder#id @r{WANDERLUST message link} +@end example + For customizing Org to add new link types @ref{Adding hyperlink types}. -A link should be enclosed in double brackets and may contain a -descriptive text to be displayed instead of the URL (@pxref{Link -format}), for example: +A link should be enclosed in double brackets and may contain a descriptive +text to be displayed instead of the URL (@pxref{Link format}), for example: @example [[http://www.gnu.org/software/emacs/][GNU Emacs]] @@ -3349,14 +3594,13 @@ timestamp in the headline.}. If the headline has a @code{CUSTOM_ID} property, a link to this custom ID will be stored. In addition or alternatively (depending on the value of @code{org-id-link-to-org-use-id}), a globally unique @code{ID} property will -be created and/or used to construct a link@footnote{The library @code{org-id} -must first be loaded, either through @code{org-customize} by enabling -@code{id} in @code{org-modules} , or by adding @code{(require 'org-id)} in -your @file{.emacs}.}. So using this command in Org -buffers will potentially create two links: a human-readable from the custom -ID, and one that is globally unique and works even if the entry is moved from -file to file. Later, when inserting the link, you need to decide which one -to use. +be created and/or used to construct a link@footnote{The library +@file{org-id.el} must first be loaded, either through @code{org-customize} by +enabling @code{org-id} in @code{org-modules}, or by adding @code{(require +'org-id)} in your @file{.emacs}.}. So using this command in Org buffers will +potentially create two links: a human-readable from the custom ID, and one +that is globally unique and works even if the entry is moved from file to +file. Later, when inserting the link, you need to decide which one to use. @b{Email/News clients: VM, Rmail, Wanderlust, MH-E, Gnus}@* Pretty much all Emacs mail clients are supported. The link will point to the @@ -3371,10 +3615,10 @@ Links created in a BBDB buffer will point to the current entry. @b{Chat: IRC}@* @vindex org-irc-link-to-logs -For IRC links, if you set the variable @code{org-irc-link-to-logs} to -@code{t}, a @samp{file:/} style link to the relevant point in the logs for -the current conversation is created. Otherwise an @samp{irc:/} style link to -the user/channel/server under the point will be stored. +For IRC links, if you set the option @code{org-irc-link-to-logs} to @code{t}, +a @samp{file:/} style link to the relevant point in the logs for the current +conversation is created. Otherwise an @samp{irc:/} style link to the +user/channel/server under the point will be stored. @b{Other files}@* For any other files, the link will point to the file, with a search string @@ -3476,7 +3720,7 @@ would. Under Emacs 22 and later, @kbd{mouse-1} will also follow a link. @vindex org-display-internal-link-with-indirect-buffer Like @kbd{mouse-2}, but force file links to be opened with Emacs, and internal links to be displayed in another window@footnote{See the -variable @code{org-display-internal-link-with-indirect-buffer}}. +option @code{org-display-internal-link-with-indirect-buffer}}. @c @orgcmd{C-c C-x C-v,org-toggle-inline-images} @cindex inlining images @@ -3490,7 +3734,7 @@ be inlined during export. When called with a prefix argument, also display images that do have a link description. You can ask for inline images to be displayed at startup by configuring the variable @code{org-startup-with-inline-images}@footnote{with corresponding -@code{#+STARTUP} keywords @code{inlineimages} and @code{inlineimages}}. +@code{#+STARTUP} keywords @code{inlineimages} and @code{noinlineimages}}. @orgcmd{C-c %,org-mark-ring-push} @cindex mark ring Push the current position onto the mark ring, to be able to return @@ -3728,7 +3972,7 @@ Rotate the TODO state of the current item among If TODO keywords have fast access keys (see @ref{Fast access to TODO states}), you will be prompted for a TODO keyword through the fast selection interface; this is the default behavior when -@var{org-use-fast-todo-selection} is @code{non-nil}. +@code{org-use-fast-todo-selection} is non-@code{nil}. The same rotation can also be done ``remotely'' from the timeline and agenda buffers with the @kbd{t} command key (@pxref{Agenda commands}). @@ -3736,7 +3980,7 @@ buffers with the @kbd{t} command key (@pxref{Agenda commands}). @orgkey{C-u C-c C-t} When TODO keywords have no selection keys, select a specific keyword using completion; otherwise force cycling through TODO states with no prompt. When -@var{org-use-fast-todo-selection} is set to @code{prefix}, use the fast +@code{org-use-fast-todo-selection} is set to @code{prefix}, use the fast selection interface. @kindex S-@key{right} @@ -3754,12 +3998,11 @@ with @code{shift-selection-mode}. See also the variable View TODO items in a @emph{sparse tree} (@pxref{Sparse trees}). Folds the entire buffer, but shows all TODO items (with not-DONE state) and the headings hierarchy above them. With a prefix argument (or by using @kbd{C-c -/ T}), search for a specific TODO@. You will be prompted for the keyword, and -you can also give a list of keywords like @code{KWD1|KWD2|...} to list +/ T}), search for a specific TODO@. You will be prompted for the keyword, +and you can also give a list of keywords like @code{KWD1|KWD2|...} to list entries that match any one of these keywords. With a numeric prefix argument -N, show the tree for the Nth keyword in the variable -@code{org-todo-keywords}. With two prefix arguments, find all TODO states, -both un-done and done. +N, show the tree for the Nth keyword in the option @code{org-todo-keywords}. +With two prefix arguments, find all TODO states, both un-done and done. @orgcmd{C-c a t,org-todo-list} Show the global TODO list. Collects the TODO items (with not-DONE states) from all agenda files (@pxref{Agenda Views}) into a single buffer. The new @@ -3930,7 +4173,7 @@ each keyword, in parentheses@footnote{All characters are allowed except @vindex org-fast-tag-selection-include-todo If you then press @kbd{C-c C-t} followed by the selection key, the entry will be switched to this state. @kbd{SPC} can be used to remove any TODO -keyword from an entry.@footnote{Check also the variable +keyword from an entry.@footnote{Check also the option @code{org-fast-tag-selection-include-todo}, it allows you to change the TODO state through the tags interface (@pxref{Setting tags}), in case you like to mingle the two concepts. Note that this means you need to come up with @@ -3994,7 +4237,7 @@ Org mode highlights TODO keywords with special faces: @code{org-todo} for keywords indicating that an item still has to be acted upon, and @code{org-done} for keywords indicating that an item is finished. If you are using more than 2 different states, you might want to use -special faces for some of them. This can be done using the variable +special faces for some of them. This can be done using the option @code{org-todo-keyword-faces}. For example: @lisp @@ -4007,7 +4250,7 @@ special faces for some of them. This can be done using the variable While using a list with face properties as shown for CANCELED @emph{should} work, this does not always seem to be the case. If necessary, define a -special face and use that. A string is interpreted as a color. The variable +special face and use that. A string is interpreted as a color. The option @code{org-faces-easy-properties} determines if that color is interpreted as a foreground or a background color. @@ -4023,7 +4266,7 @@ dependencies. Usually, a parent TODO task should not be marked DONE until all subtasks (defined as children tasks) are marked as DONE@. And sometimes there is a logical sequence to a number of (sub)tasks, so that one task cannot be acted upon before all siblings above it are done. If you customize -the variable @code{org-enforce-todo-dependencies}, Org will block entries +the option @code{org-enforce-todo-dependencies}, Org will block entries from changing state to DONE while they have children that are not DONE@. Furthermore, if an entry has a property @code{ORDERED}, each of its children will be blocked until all earlier siblings are marked DONE@. Here is an @@ -4050,21 +4293,21 @@ example: Toggle the @code{ORDERED} property of the current entry. A property is used for this behavior because this should be local to the current entry, not inherited like a tag. However, if you would like to @i{track} the value of -this property with a tag for better visibility, customize the variable +this property with a tag for better visibility, customize the option @code{org-track-ordered-property-with-tag}. @orgkey{C-u C-u C-u C-c C-t} Change TODO state, circumventing any state blocking. @end table @vindex org-agenda-dim-blocked-tasks -If you set the variable @code{org-agenda-dim-blocked-tasks}, TODO entries +If you set the option @code{org-agenda-dim-blocked-tasks}, TODO entries that cannot be closed because of such dependencies will be shown in a dimmed font or even made invisible in agenda views (@pxref{Agenda Views}). @cindex checkboxes and TODO dependencies @vindex org-enforce-todo-dependencies You can also block changes of TODO states by looking at checkboxes -(@pxref{Checkboxes}). If you set the variable +(@pxref{Checkboxes}). If you set the option @code{org-enforce-todo-checkbox-dependencies}, an entry that has unchecked checkboxes will be blocked from switching to DONE. @@ -4102,13 +4345,17 @@ in-buffer setting is: @code{#+STARTUP: logdone}} (setq org-log-done 'time) @end lisp +@vindex org-closed-keep-when-no-todo @noindent -Then each time you turn an entry from a TODO (not-done) state into any -of the DONE states, a line @samp{CLOSED: [timestamp]} will be inserted -just after the headline. If you turn the entry back into a TODO item -through further state cycling, that line will be removed again. If you -want to record a note along with the timestamp, use@footnote{The -corresponding in-buffer setting is: @code{#+STARTUP: lognotedone}} +Then each time you turn an entry from a TODO (not-done) state into any of the +DONE states, a line @samp{CLOSED: [timestamp]} will be inserted just after +the headline. If you turn the entry back into a TODO item through further +state cycling, that line will be removed again. If you turn the entry back +to a non-TODO state (by pressing @key{C-c C-t SPC} for example), that line +will also be removed, unless you set @code{org-closed-keep-when-no-todo} to +non-@code{nil}. If you want to record a note along with the timestamp, +use@footnote{The corresponding in-buffer setting is: @code{#+STARTUP: +lognotedone}.} @lisp (setq org-log-done 'note) @@ -4134,11 +4381,11 @@ When TODO keywords are used as workflow states (@pxref{Workflow states}), you might want to keep track of when a state change occurred and maybe take a note about this change. You can either record just a timestamp, or a time-stamped note for a change. These records will be inserted after the -headline as an itemized list, newest first@footnote{See the variable +headline as an itemized list, newest first@footnote{See the option @code{org-log-states-order-reversed}}. When taking a lot of notes, you might want to get the notes out of the way into a drawer (@pxref{Drawers}). -Customize the variable @code{org-log-into-drawer} to get this behavior---the -recommended drawer for this is called @code{LOGBOOK}@footnote{Note that the +Customize @code{org-log-into-drawer} to get this behavior---the recommended +drawer for this is called @code{LOGBOOK}@footnote{Note that the @code{LOGBOOK} drawer is unfolded when pressing @key{SPC} in the agenda to show an entry---use @key{C-u SPC} to keep it folded here}. You can also overrule the setting of this variable for a subtree by setting a @@ -4186,7 +4433,7 @@ to a buffer: @cindex property, LOGGING In order to define logging settings that are local to a subtree or a single item, define a LOGGING property in this entry. Any non-empty -LOGGING property resets all logging settings to nil. You may then turn +LOGGING property resets all logging settings to @code{nil}. You may then turn on logging for this specific tree using STARTUP keywords like @code{lognotedone} or @code{logrepeat}, as well as adding state specific settings like @code{TODO(!)}. For example @@ -4215,8 +4462,7 @@ called ``habits''. A habit has the following properties: @enumerate @item -You have enabled the @code{habits} module by customizing the variable -@code{org-modules}. +You have enabled the @code{habits} module by customizing @code{org-modules}. @item The habit is a TODO item, with a TODO keyword representing an open state. @item @@ -4298,7 +4544,7 @@ The amount of history, in days before today, to appear in consistency graphs. @item org-habit-following-days The number of days after today that will appear in consistency graphs. @item org-habit-show-habits-only-for-today -If non-nil, only show habits in today's agenda view. This is set to true by +If non-@code{nil}, only show habits in today's agenda view. This is set to true by default. @end table @@ -4326,7 +4572,7 @@ By default, Org mode supports three priorities: @samp{A}, @samp{B}, and treated just like priority @samp{B}. Priorities make a difference only for sorting in the agenda (@pxref{Weekly/daily agenda}); outside the agenda, they have no inherent meaning to Org mode. The cookies can be highlighted with -special faces by customizing the variable @code{org-priority-faces}. +special faces by customizing @code{org-priority-faces}. Priorities can be attached to any outline node; they do not need to be TODO items. @@ -4353,7 +4599,7 @@ also used to modify timestamps (@pxref{Creating timestamps}). See also @vindex org-highest-priority @vindex org-lowest-priority @vindex org-default-priority -You can change the range of allowed priorities by setting the variables +You can change the range of allowed priorities by setting the options @code{org-highest-priority}, @code{org-lowest-priority}, and @code{org-default-priority}. For an individual buffer, you may set these values (highest, lowest, default) like this (please make sure that @@ -4397,7 +4643,7 @@ this issue. @vindex org-hierarchical-todo-statistics If you would like to have the statistics cookie count any TODO entries in the -subtree (not just direct children), configure the variable +subtree (not just direct children), configure @code{org-hierarchical-todo-statistics}. To do this for a single subtree, include the word @samp{recursive} into the value of the @code{COOKIE_DATA} property. @@ -4462,15 +4708,15 @@ checked. @cindex statistics, for checkboxes @cindex checkbox statistics @cindex property, COOKIE_DATA -@vindex org-hierarchical-checkbox-statistics +@vindex org-checkbox-hierarchical-statistics The @samp{[2/4]} and @samp{[1/3]} in the first and second line are cookies indicating how many checkboxes present in this entry have been checked off, and the total number of checkboxes present. This can give you an idea on how many checkboxes remain, even without opening a folded entry. The cookies can be placed into a headline or into (the first line of) a plain list item. Each cookie covers checkboxes of direct children structurally below the -headline/item on which the cookie appears@footnote{Set the variable -@code{org-hierarchical-checkbox-statistics} if you want such cookies to +headline/item on which the cookie appears@footnote{Set the option +@code{org-checkbox-hierarchical-statistics} if you want such cookies to count all checkboxes below the cookie, not just those belonging to direct children.}. You have to insert the cookie yourself by typing either @samp{[/]} or @samp{[%]}. With @samp{[/]} you get an @samp{n out of m} @@ -4522,8 +4768,7 @@ Toggle the @code{ORDERED} property of the entry, to toggle if checkboxes must be checked off in sequence. A property is used for this behavior because this should be local to the current entry, not inherited like a tag. However, if you would like to @i{track} the value of this property with a tag -for better visibility, customize the variable -@code{org-track-ordered-property-with-tag}. +for better visibility, customize @code{org-track-ordered-property-with-tag}. @orgcmd{C-c #,org-update-statistics-cookies} Update the statistics cookie in the current outline entry. When called with a @kbd{C-u} prefix, update the entire file. Checkbox statistic cookies are @@ -4550,13 +4795,14 @@ headline. Tags are normal words containing letters, numbers, @samp{_}, and @samp{@@}. Tags must be preceded and followed by a single colon, e.g., @samp{:work:}. Several tags can be specified, as in @samp{:work:urgent:}. Tags will by default be in bold face with the same color as the headline. -You may specify special faces for specific tags using the variable +You may specify special faces for specific tags using the option @code{org-tag-faces}, in much the same way as you can for TODO keywords (@pxref{Faces for TODO keywords}). @menu * Tag inheritance:: Tags use the tree structure of the outline * Setting tags:: How to assign tags to a headline +* Tag groups:: Use one tag to search for several tags * Tag searches:: Searching for combinations of tags @end menu @@ -4602,8 +4848,8 @@ on, all the sublevels in the same tree will (for a simple match form) match as well@footnote{This is only true if the search does not involve more complex tests including properties (@pxref{Property searches}).}. The list of matches may then become very long. If you only want to see the first tags -match in a subtree, configure the variable -@code{org-tags-match-list-sublevels} (not recommended). +match in a subtree, configure @code{org-tags-match-list-sublevels} (not +recommended). @vindex org-agenda-use-tag-inheritance Tag inheritance is relevant when the agenda search tries to match a tag, @@ -4611,10 +4857,10 @@ either in the @code{tags} or @code{tags-todo} agenda types. In other agenda types, @code{org-use-tag-inheritance} has no effect. Still, you may want to have your tags correctly set in the agenda, so that tag filtering works fine, with inherited tags. Set @code{org-agenda-use-tag-inheritance} to control -this: the default value includes all agenda types, but setting this to nil +this: the default value includes all agenda types, but setting this to @code{nil} can really speed up agenda generation. -@node Setting tags, Tag searches, Tag inheritance, Tags +@node Setting tags, Tag groups, Tag inheritance, Tags @section Setting tags @cindex setting tags @cindex tags, setting @@ -4635,6 +4881,7 @@ to @code{org-tags-column}. When called with a @kbd{C-u} prefix, all tags in the current buffer will be aligned to that column, just to make things look nice. TAGS are automatically realigned after promotion, demotion, and TODO state changes (@pxref{TODO basics}). + @orgcmd{C-c C-c,org-set-tags-command} When the cursor is in a headline, this does the same as @kbd{C-c C-q}. @end table @@ -4722,7 +4969,7 @@ and @samp{@@tennisclub} should be selected. Multiple such groups are allowed. these lines to activate any changes. @noindent -To set these mutually exclusive groups in the variable @code{org-tags-alist}, +To set these mutually exclusive groups in the variable @code{org-tag-alist}, you must use the dummy tags @code{:startgroup} and @code{:endgroup} instead of the braces. Similarly, you can use @code{:newline} to indicate a line break. The previous example would be set globally by the following @@ -4785,17 +5032,58 @@ alternatively with @kbd{C-c C-c C-c w}. Adding the non-predefined tag @vindex org-fast-tag-selection-single-key If you find that most of the time you need only a single key press to -modify your list of tags, set the variable -@code{org-fast-tag-selection-single-key}. Then you no longer have to -press @key{RET} to exit fast tag selection---it will immediately exit -after the first change. If you then occasionally need more keys, press -@kbd{C-c} to turn off auto-exit for the current tag selection process -(in effect: start selection with @kbd{C-c C-c C-c} instead of @kbd{C-c -C-c}). If you set the variable to the value @code{expert}, the special -window is not even shown for single-key tag selection, it comes up only -when you press an extra @kbd{C-c}. - -@node Tag searches, , Setting tags, Tags +modify your list of tags, set @code{org-fast-tag-selection-single-key}. +Then you no longer have to press @key{RET} to exit fast tag selection---it +will immediately exit after the first change. If you then occasionally +need more keys, press @kbd{C-c} to turn off auto-exit for the current tag +selection process (in effect: start selection with @kbd{C-c C-c C-c} +instead of @kbd{C-c C-c}). If you set the variable to the value +@code{expert}, the special window is not even shown for single-key tag +selection, it comes up only when you press an extra @kbd{C-c}. + +@node Tag groups, Tag searches, Setting tags, Tags +@section Tag groups + +@cindex group tags +@cindex tags, groups +In a set of mutually exclusive tags, the first tag can be defined as a +@emph{group tag}. When you search for a group tag, it will return matches +for all members in the group. In an agenda view, filtering by a group tag +will display headlines tagged with at least one of the members of the +group. This makes tag searches and filters even more flexible. + +You can set group tags by inserting a colon between the group tag and other +tags---beware that all whitespaces are mandatory so that Org can parse this +line correctly: + +@example +#+TAGS: @{ @@read : @@read_book @@read_ebook @} +@end example + +In this example, @samp{@@read} is a @emph{group tag} for a set of three +tags: @samp{@@read}, @samp{@@read_book} and @samp{@@read_ebook}. + +You can also use the @code{:grouptags} keyword directly when setting +@code{org-tag-alist}: + +@lisp +(setq org-tag-alist '((:startgroup . nil) + ("@@read" . nil) + (:grouptags . nil) + ("@@read_book" . nil) + ("@@read_ebook" . nil) + (:endgroup . nil))) +@end lisp + +You cannot nest group tags or use a group tag as a tag in another group. + +@kindex C-c C-x q +@vindex org-group-tags +If you want to ignore group tags temporarily, toggle group tags support +with @command{org-toggle-tags-groups}, bound to @kbd{C-c C-x q}. If you +want to disable tag groups completely, set @code{org-group-tags} to @code{nil}. + +@node Tag searches, , Tag groups, Tags @section Tag searches @cindex tag searches @cindex searching for tags @@ -4805,15 +5093,16 @@ information into special lists. @table @kbd @orgcmdkkc{C-c / m,C-c \\,org-match-sparse-tree} -Create a sparse tree with all headlines matching a tags search. With a -@kbd{C-u} prefix argument, ignore headlines that are not a TODO line. -@orgcmd{C-c a m,org-tags-view} -Create a global list of tag matches from all agenda files. +Create a sparse tree with all headlines matching a tags/property/TODO search. +With a @kbd{C-u} prefix argument, ignore headlines that are not a TODO line. @xref{Matching tags and properties}. +@orgcmd{C-c a m,org-tags-view} +Create a global list of tag matches from all agenda files. @xref{Matching +tags and properties}. @orgcmd{C-c a M,org-tags-view} @vindex org-tags-match-list-sublevels Create a global list of tag matches from all agenda files, but check -only TODO items and force checking subitems (see variable +only TODO items and force checking subitems (see the option @code{org-tags-match-list-sublevels}). @end table @@ -4908,6 +5197,9 @@ file, use a line like #+PROPERTY: NDisks_ALL 1 2 3 4 @end example +Contrary to properties set from a special drawer, you have to refresh the +buffer with @kbd{C-c C-c} to activate this changes. + If you want to add to the value of an existing property, append a @code{+} to the property name. The following results in the property @code{var} having the value ``foo=1 bar=2''. @@ -4954,7 +5246,7 @@ in the current file will be offered as possible completions. @orgcmd{C-c C-x p,org-set-property} Set a property. This prompts for a property name and a value. If necessary, the property drawer is created as well. -@item C-u M-x org-insert-drawer +@item C-u M-x org-insert-drawer RET @cindex org-insert-drawer Insert a property drawer into the current entry. The drawer will be inserted early in the entry, but after the lines with planning @@ -5033,6 +5325,7 @@ FILE @r{The filename the entry is located in.} To create sparse trees and special lists with selection based on properties, the same commands are used as for tag searches (@pxref{Tag searches}). + @table @kbd @orgcmdkkc{C-c / m,C-c \\,org-match-sparse-tree} Create a sparse tree with all matching entries. With a @@ -5043,7 +5336,7 @@ Create a global list of tag/property matches from all agenda files. @orgcmd{C-c a M,org-tags-view} @vindex org-tags-match-list-sublevels Create a global list of tag matches from all agenda files, but check -only TODO items and force checking of subitems (see variable +only TODO items and force checking of subitems (see the option @code{org-tags-match-list-sublevels}). @end table @@ -5077,7 +5370,7 @@ useful, you can turn it on by setting the variable @code{org-use-property-inheritance}. It may be set to @code{t} to make all properties inherited from the parent, to a list of properties that should be inherited, or to a regular expression that matches -inherited properties. If a property has the value @samp{nil}, this is +inherited properties. If a property has the value @code{nil}, this is interpreted as an explicit undefine of the property, so that inheritance search will stop at this value and return @code{nil}. @@ -5351,7 +5644,7 @@ global @r{make a global view, including all headings in the file} @r{run column view at the top of this file} "@var{ID}" @r{call column view in the tree that has an @code{:ID:}} @r{property with the value @i{label}. You can use} - @r{@kbd{M-x org-id-copy} to create a globally unique ID for} + @r{@kbd{M-x org-id-copy RET} to create a globally unique ID for} @r{the current entry and copy it to the kill-ring.} @end example @item :hlines @@ -5604,10 +5897,9 @@ the following column). @vindex org-read-date-prefer-future When Org mode prompts for a date/time, the default is shown in default date/time format, and the prompt therefore seems to ask for a specific -format. But it will in fact accept any string containing some date and/or -time information, and it is really smart about interpreting your input. You -can, for example, use @kbd{C-y} to paste a (possibly multi-line) string -copied from an email message. Org mode will find whatever information is in +format. But it will in fact accept date/time information in a variety of +formats. Generally, the information should start at the beginning of the +string. Org mode will find whatever information is in there and derive anything you have not specified from the @emph{default date and time}. The default is usually the current date and time, but when modifying an existing timestamp, or when entering the second stamp of a @@ -5630,7 +5922,7 @@ in @b{bold}. 14 @result{} @b{2006}-@b{06}-14 12 @result{} @b{2006}-@b{07}-12 2/5 @result{} @b{2007}-02-05 -Fri @result{} nearest Friday (default date or later) +Fri @result{} nearest Friday after the default date sep 15 @result{} @b{2006}-09-15 feb 15 @result{} @b{2007}-02-15 sep 12 9 @result{} 2009-09-12 @@ -5641,13 +5933,12 @@ w4 @result{} ISO week for of the current year @b{2006} 2012-w04-5 @result{} Same as above @end example -Furthermore you can specify a relative date by giving, as the -@emph{first} thing in the input: a plus/minus sign, a number and a -letter ([dwmy]) to indicate change in days, weeks, months, or years. With a -single plus or minus, the date is always relative to today. With a -double plus or minus, it is relative to the default date. If instead of -a single letter, you use the abbreviation of day name, the date will be -the Nth such day, e.g.: +Furthermore you can specify a relative date by giving, as the @emph{first} +thing in the input: a plus/minus sign, a number and a letter ([hdwmy]) to +indicate change in hours, days, weeks, months, or years. With a single plus +or minus, the date is always relative to today. With a double plus or minus, +it is relative to the default date. If instead of a single letter, you use +the abbreviation of day name, the date will be the Nth such day, e.g.: @example +0 @result{} today @@ -5656,7 +5947,8 @@ the Nth such day, e.g.: +4 @result{} same as above +2w @result{} two weeks from today ++5 @result{} five days from default date -+2tue @result{} second Tuesday from now. ++2tue @result{} second Tuesday from now +-wed @result{} last Wednesday @end example @vindex parse-time-months @@ -5720,7 +6012,7 @@ The actions of the date/time prompt may seem complex, but I assure you they will grow on you, and you will start getting annoyed by pretty much any other way of entering a date/time out there. To help you understand what is going on, the current interpretation of your input will be displayed live in the -minibuffer@footnote{If you find this distracting, turn the display of with +minibuffer@footnote{If you find this distracting, turn the display off with @code{org-read-date-display-live}.}. @node Custom time format, , The date/time prompt, Creating timestamps @@ -5734,7 +6026,7 @@ minibuffer@footnote{If you find this distracting, turn the display of with Org mode uses the standard ISO notation for dates and times as it is defined in ISO 8601. If you cannot get used to this and require another representation of date and time to keep you happy, you can get it by -customizing the variables @code{org-display-custom-times} and +customizing the options @code{org-display-custom-times} and @code{org-time-stamp-custom-formats}. @table @kbd @@ -5784,6 +6076,7 @@ Meaning: the task (most likely a TODO item, though not necessarily) is supposed to be finished on that date. @vindex org-deadline-warning-days +@vindex org-agenda-skip-deadline-prewarning-if-scheduled On the deadline date, the task will be listed in the agenda. In addition, the agenda for @emph{today} will carry a warning about the approaching or missed deadline, starting @@ -5798,7 +6091,9 @@ until the entry is marked DONE@. An example: You can specify a different lead time for warnings for a specific deadlines using the following syntax. Here is an example with a warning -period of 5 days @code{DEADLINE: <2004-02-29 Sun -5d>}. +period of 5 days @code{DEADLINE: <2004-02-29 Sun -5d>}. This warning is +deactivated if the task get scheduled and you set +@code{org-agenda-skip-deadline-prewarning-if-scheduled} to @code{t}. @item SCHEDULED @cindex SCHEDULED keyword @@ -5819,6 +6114,17 @@ the task will automatically be forwarded until completed. SCHEDULED: <2004-12-25 Sat> @end example +@vindex org-scheduled-delay-days +@vindex org-agenda-skip-scheduled-delay-if-deadline +If you want to @emph{delay} the display of this task in the agenda, use +@code{SCHEDULED: <2004-12-25 Sat -2d>}: the task is still scheduled on the +25th but will appear two days later. In case the task contains a repeater, +the delay is considered to affect all occurrences; if you want the delay to +only affect the first scheduled occurrence of the task, use @code{--2d} +instead. See @code{org-scheduled-delay-days} and +@code{org-agenda-skip-scheduled-delay-if-deadline} for details on how to +control this globally or per agenda. + @noindent @b{Important:} Scheduling an item in Org mode should @i{not} be understood in the same way that we understand @i{scheduling a meeting}. @@ -5979,8 +6285,14 @@ special repeaters @samp{++} and @samp{.+}. For example: today. @end example -You may have both scheduling and deadline information for a specific -task---just make sure that the repeater intervals on both are the same. +@vindex org-agenda-skip-scheduled-if-deadline-is-shown +You may have both scheduling and deadline information for a specific task. +If the repeater is set for the scheduling information only, you probably want +the repeater to be ignored after the deadline. If so, set the variable +@code{org-agenda-skip-scheduled-if-deadline-is-shown} to +@code{repeated-after-deadline}. If you want both scheduling and deadline +information to repeat after the same interval, set the same repeater for both +timestamps. An alternative to using a repeater is to create a number of copies of a task subtree, with dates shifted in each copy. The command @kbd{C-c C-x c} was @@ -6192,7 +6504,14 @@ be selected: thisyear, lastyear, thisyear-@var{N} @r{a relative year} @r{Use @kbd{S-@key{left}/@key{right}} keys to shift the time interval.} :tstart @r{A time string specifying when to start considering times.} + @r{Relative times like @code{"<-2w>"} can also be used. See} + @r{@ref{Matching tags and properties} for relative time syntax.} :tend @r{A time string specifying when to stop considering times.} + @r{Relative times like @code{""} can also be used. See} + @r{@ref{Matching tags and properties} for relative time syntax.} +:wstart @r{The starting day of the week. The default is 1 for monday.} +:mstart @r{The starting day of the month. The default 1 is for the first} + @r{day of the month.} :step @r{@code{week} or @code{day}, to split the table into chunks.} @r{To use this, @code{:block} or @code{:tstart}, @code{:tend} are needed.} :stepskip0 @r{Do not show steps that have zero time.} @@ -6243,6 +6562,11 @@ only to fit it into the manual.} :tend "<2006-08-10 Thu 12:00>" #+END: clocktable @end example +A range starting a week ago and ending right now could be written as +@example +#+BEGIN: clocktable :tstart "<-1w>" :tend "" +#+END: clocktable +@end example A summary of the current subtree with % times would be @example #+BEGIN: clocktable :scope subtree :link t :formula % @@ -6260,6 +6584,7 @@ would be @subsubheading Resolving idle time @cindex resolve idle time +@vindex org-clock-x11idle-program-name @cindex idle, resolve, dangling If you clock in on a work item, and then walk away from your @@ -6273,12 +6598,14 @@ as 10 or 15, Emacs can alert you when you get back to your computer after being idle for that many minutes@footnote{On computers using Mac OS X, idleness is based on actual user idleness, not just Emacs' idle time. For X11, you can install a utility program @file{x11idle.c}, available in the -@code{contrib/scripts} directory of the Org git distribution, to get the same -general treatment of idleness. On other systems, idle time refers to Emacs -idle time only.}, and ask what you want to do with the idle time. There will -be a question waiting for you when you get back, indicating how much idle -time has passed (constantly updated with the current amount), as well as a -set of choices to correct the discrepancy: +@code{contrib/scripts} directory of the Org git distribution, or install the +@file{xprintidle} package and set it to the variable +@code{org-clock-x11idle-program-name} if you are running Debian, to get the +same general treatment of idleness. On other systems, idle time refers to +Emacs idle time only.}, and ask what you want to do with the idle time. +There will be a question waiting for you when you get back, indicating how +much idle time has passed (constantly updated with the current amount), as +well as a set of choices to correct the discrepancy: @table @kbd @item k @@ -6470,7 +6797,7 @@ trees to an archive file keeps the system compact and fast. * Attachments:: Add files to tasks * RSS Feeds:: Getting input from RSS feeds * Protocols:: External (e.g., Browser) access to Emacs and Org -* Refiling notes:: Moving a tree from one place to another +* Refile and copy:: Moving/copying a tree from one place to another * Archiving:: What to do with finished projects @end menu @@ -6478,25 +6805,22 @@ trees to an archive file keeps the system compact and fast. @section Capture @cindex capture -Org's method for capturing new items is heavily inspired by John Wiegley -excellent remember package. Up to version 6.36 Org used a special setup -for @file{remember.el}. @file{org-remember.el} is still part of Org mode for -backward compatibility with existing setups. You can find the documentation -for org-remember at @url{http://orgmode.org/org-remember.pdf}. +Capture lets you quickly store notes with little interruption of your work +flow. Org's method for capturing new items is heavily inspired by John +Wiegley excellent @file{remember.el} package. Up to version 6.36, Org +used a special setup for @file{remember.el}, then replaced it with +@file{org-remember.el}. As of version 8.0, @file{org-remember.el} has +been completely replaced by @file{org-capture.el}. -The new capturing setup described here is preferred and should be used by new -users. To convert your @code{org-remember-templates}, run the command +If your configuration depends on @file{org-remember.el}, you need to update +it and use the setup described below. To convert your +@code{org-remember-templates}, run the command @example -@kbd{M-x org-capture-import-remember-templates @key{RET}} +@kbd{M-x org-capture-import-remember-templates RET} @end example @noindent and then customize the new variable with @kbd{M-x customize-variable org-capture-templates}, check the result, and save the -customization. You can then use both remember and capture until -you are familiar with the new mechanism. - -Capture lets you quickly store notes with little interruption of your work -flow. The basic process of capturing is very similar to remember, but Org -does enhance it with templates and more. +customization. @menu * Setting up capture:: Where notes will be stored @@ -6512,10 +6836,12 @@ a global key@footnote{Please select your own key, @kbd{C-c c} is only a suggestion.} for capturing new material. @vindex org-default-notes-file -@example +@smalllisp +@group (setq org-default-notes-file (concat org-directory "/notes.org")) (define-key global-map "\C-cc" 'org-capture) -@end example +@end group +@end smalllisp @node Using capture, Capture templates, Setting up capture, Capture @subsection Using capture @@ -6537,7 +6863,7 @@ so that you can resume your work without further distraction. When called with a prefix arg, finalize and then jump to the captured item. @orgcmd{C-c C-w,org-capture-refile} -Finalize the capture process by refiling (@pxref{Refiling notes}) the note to +Finalize the capture process by refiling (@pxref{Refile and copy}) the note to a different place. Please realize that this is a normal refiling command that will be executed---so the cursor position at the moment you run this command is important. If you have inserted a tree with a parent and @@ -6594,13 +6920,15 @@ your file @file{~/org/gtd.org}. Also, a date tree in the file @file{journal.org} should capture journal entries. A possible configuration would look like: -@example +@smalllisp +@group (setq org-capture-templates '(("t" "Todo" entry (file+headline "~/org/gtd.org" "Tasks") "* TODO %?\n %i\n %a") ("j" "Journal" entry (file+datetree "~/org/journal.org") "* %?\nEntered on %U\n %i\n %a"))) -@end example +@end group +@end smalllisp @noindent If you then press @kbd{C-c c t}, Org will prepare the template for you like this: @@ -6613,7 +6941,7 @@ for you like this: During expansion of the template, @code{%a} has been replaced by a link to the location from where you called the capture command. This can be extremely useful for deriving tasks from emails, for example. You fill in -the task definition, press @code{C-c C-c} and Org returns you to the same +the task definition, press @kbd{C-c C-c} and Org returns you to the same place where you started the capture process. To define special keys to capture to a particular template without going @@ -6645,9 +6973,9 @@ single key, or @code{"bt"} for selection with two keys. When using several keys, keys using the same prefix key must be sequential in the list and preceded by a 2-element entry explaining the prefix key, for example -@example +@smalllisp ("b" "Templates for marking stuff to buy") -@end example +@end smalllisp @noindent If you do not define a template for the @kbd{C} key, this key will be used to open the customize buffer for this complex variable. @@ -6657,6 +6985,7 @@ selection. @item type The type of entry, a symbol. Valid values are: + @table @code @item entry An Org mode node, with a headline. Will be filed as the child of the target @@ -6685,6 +7014,7 @@ the empty string, it defaults to @code{org-default-notes-file}. A file can also be given as a variable, function, or Emacs Lisp form. Valid values are: + @table @code @item (file "path/to/file") Text will be placed at the beginning or end of that file. @@ -6702,7 +7032,10 @@ For non-unique headings, the full path is safer. Use a regular expression to position the cursor. @item (file+datetree "path/to/file") -Will create a heading in a date tree for today's date. +Will create a heading in a date tree for today's date@footnote{Datetree +headlines for years accept tags, so if you use both @code{* 2013 :noexport:} +and @code{* 2013} in your file, the capture will refile the note to the first +one matched.}. @item (file+datetree+prompt "path/to/file") Will create a heading in a date tree, but will prompt for the date. @@ -6729,6 +7062,7 @@ more details. @item properties The rest of the entry is a property list of additional options. Recognized properties are: + @table @code @item :prepend Normally new captured information will be appended at @@ -6782,7 +7116,9 @@ dynamic insertion of content. The templates are expanded in the order given her @smallexample %[@var{file}] @r{Insert the contents of the file given by @var{file}.} %(@var{sexp}) @r{Evaluate Elisp @var{sexp} and replace with the result.} - @r{The sexp must return a string.} + @r{For convenience, %:keyword (see below) placeholders} + @r{within the expression will be expanded prior to this.} + @r{The sexp must return a string.} %<...> @r{The result of format-time-string on the ... format specification.} %t @r{Timestamp, date only.} %T @r{Timestamp, with date and time.} @@ -6855,22 +7191,22 @@ To place the cursor after template expansion use: @vindex org-capture-templates-contexts To control whether a capture template should be accessible from a specific -context, you can customize @var{org-capture-templates-contexts}. Let's say +context, you can customize @code{org-capture-templates-contexts}. Let's say for example that you have a capture template @code{"p"} for storing Gnus emails containing patches. Then you would configure this option like this: -@example +@smalllisp (setq org-capture-templates-contexts '(("p" (in-mode . "message-mode")))) -@end example +@end smalllisp You can also tell that the command key @code{"p"} should refer to another template. In that case, add this command key like this: -@example +@smalllisp (setq org-capture-templates-contexts '(("p" "q" (in-mode . "message-mode")))) -@end example +@end smalllisp See the docstring of the variable for more information. @@ -6901,7 +7237,6 @@ directory. @noindent The following commands deal with attachments: @table @kbd - @orgcmd{C-c C-a,org-attach} The dispatcher for commands related to the attachment system. After these keys, a list of commands is displayed and you must press an additional key @@ -6975,12 +7310,14 @@ web to import tasks into Org. To access feeds, configure the variable @code{org-feed-alist}. The docstring of this variable has detailed information. Here is just an example: -@example +@smalllisp +@group (setq org-feed-alist '(("Slashdot" "http://rss.slashdot.org/Slashdot/slashdot" "~/txt/org/feeds.org" "Slashdot Entries"))) -@end example +@end group +@end smalllisp @noindent will configure that new items from the feed provided by @@ -7009,7 +7346,7 @@ list of drawers in that file: For more information, including how to read atom feeds, see @file{org-feed.el} and the docstring of @code{org-feed-alist}. -@node Protocols, Refiling notes, RSS Feeds, Capture - Refile - Archive +@node Protocols, Refile and copy, RSS Feeds, Capture - Refile - Archive @section Protocols for external access @cindex protocols, for external access @cindex emacsserver @@ -7023,17 +7360,22 @@ a remote website you are looking at with the browser. See @uref{http://orgmode.org/worg/org-contrib/org-protocol.php} for detailed documentation and setup instructions. -@node Refiling notes, Archiving, Protocols, Capture - Refile - Archive -@section Refiling notes +@node Refile and copy, Archiving, Protocols, Capture - Refile - Archive +@section Refile and copy @cindex refiling notes +@cindex copying notes -When reviewing the captured data, you may want to refile some of the entries -into a different list, for example into a project. Cutting, finding the -right location, and then pasting the note is cumbersome. To simplify this -process, you can use the following special command: +When reviewing the captured data, you may want to refile or to copy some of +the entries into a different list, for example into a project. Cutting, +finding the right location, and then pasting the note is cumbersome. To +simplify this process, you can use the following special command: @table @kbd +@orgcmd{C-c M-w,org-copy} +@findex org-copy +Copying works like refiling, except that the original note is not deleted. @orgcmd{C-c C-w,org-refile} +@findex org-refile @vindex org-reverse-note-order @vindex org-refile-targets @vindex org-refile-use-outline-path @@ -7041,6 +7383,7 @@ process, you can use the following special command: @vindex org-refile-allow-creating-parent-nodes @vindex org-log-refile @vindex org-refile-use-cache +@vindex org-refile-keep Refile the entry or region at point. This command offers possible locations for refiling the entry and lets you select one with completion. The item (or all items in the region) is filed below the target heading as a subitem. @@ -7064,13 +7407,17 @@ Use the refile interface to jump to a heading. Jump to the location where @code{org-refile} last moved a tree to. @item C-2 C-c C-w Refile as the child of the item currently being clocked. +@item C-3 C-c C-w +Refile and keep the entry in place. Also see @code{org-refile-keep} to make +this the default behavior, and beware that this may result in duplicated +@code{ID} properties. @orgcmdtkc{C-0 C-c C-w @ @r{or} @ C-u C-u C-u C-c C-w,C-0 C-c C-w,org-refile-cache-clear} Clear the target cache. Caching of refile targets can be turned on by setting @code{org-refile-use-cache}. To make the command see new possible targets, you have to clear the cache with this command. @end table -@node Archiving, , Refiling notes, Capture - Refile - Archive +@node Archiving, , Refile and copy, Capture - Refile - Archive @section Archiving @cindex archiving @@ -7307,7 +7654,7 @@ Remove current file from the list of agenda files. @itemx C-, Cycle through agenda file list, visiting one file after the other. @kindex M-x org-iswitchb -@item M-x org-iswitchb +@item M-x org-iswitchb RET Command to use an @code{iswitchb}-like interface to switch to and between Org buffers. @end table @@ -7338,6 +7685,7 @@ Remove the permanent restriction created by @kbd{C-c C-x <}. @noindent When working with @file{speedbar.el}, you can use the following commands in the Speedbar frame: + @table @kbd @orgcmdtkc{< @r{in the speedbar frame},<,org-speedbar-set-agenda-restriction} Permanently restrict the agenda to the item---either an Org file or a subtree @@ -7358,6 +7706,7 @@ following we will assume that @kbd{C-c a} is indeed how the dispatcher is accessed and list keyboard access to commands accordingly. After pressing @kbd{C-c a}, an additional letter is required to execute a command. The dispatcher offers the following default commands: + @table @kbd @item a Create the calendar-like agenda (@pxref{Weekly/daily agenda}). @@ -7446,11 +7795,16 @@ C-c a a}) you may set the number of days to be displayed. @vindex org-agenda-span @vindex org-agenda-ndays +@vindex org-agenda-start-day +@vindex org-agenda-start-on-weekday The default number of days displayed in the agenda is set by the variable @code{org-agenda-span} (or the obsolete @code{org-agenda-ndays}). This variable can be set to any number of days you want to see by default in the -agenda, or to a span name, such a @code{day}, @code{week}, @code{month} or -@code{year}. +agenda, or to a span name, such as @code{day}, @code{week}, @code{month} or +@code{year}. For weekly agendas, the default is to start on the previous +monday (see @code{org-agenda-start-on-weekday}). You can also set the start +date using a date shift: @code{(setq org-agenda-start-day "+10d")} will +start the agenda ten days from today in the future. Remote editing from the agenda buffer means, for example, that you can change the dates of deadlines and appointments from the agenda buffer. @@ -7656,16 +8010,21 @@ commands}. @subsubheading Match syntax @cindex Boolean logic, for tag/property searches -A search string can use Boolean operators @samp{&} for AND and @samp{|} for -OR@. @samp{&} binds more strongly than @samp{|}. Parentheses are currently -not implemented. Each element in the search is either a tag, a regular -expression matching tags, or an expression like @code{PROPERTY OPERATOR -VALUE} with a comparison operator, accessing a property value. Each element -may be preceded by @samp{-}, to select against it, and @samp{+} is syntactic -sugar for positive selection. The AND operator @samp{&} is optional when -@samp{+} or @samp{-} is present. Here are some examples, using only tags. +A search string can use Boolean operators @samp{&} for @code{AND} and +@samp{|} for @code{OR}@. @samp{&} binds more strongly than @samp{|}. +Parentheses are not implemented. Each element in the search is either a +tag, a regular expression matching tags, or an expression like +@code{PROPERTY OPERATOR VALUE} with a comparison operator, accessing a +property value. Each element may be preceded by @samp{-}, to select +against it, and @samp{+} is syntactic sugar for positive selection. The +@code{AND} operator @samp{&} is optional when @samp{+} or @samp{-} is +present. Here are some examples, using only tags. @table @samp +@item work +Select headlines tagged @samp{:work:}. +@item work&boss +Select headlines tagged @samp{:work:} and @samp{:boss:}. @item +work-boss Select headlines tagged @samp{:work:}, but discard those also tagged @samp{:boss:}. @@ -7682,6 +8041,13 @@ braces. For example, @samp{work+@{^boss.*@}} matches headlines that contain the tag @samp{:work:} and any tag @i{starting} with @samp{boss}. +@cindex group tags, as regular expressions +Group tags (@pxref{Tag groups}) are expanded as regular expressions. E.g., +if @samp{:work:} is a group tag for the group @samp{:work:lab:conf:}, then +searching for @samp{work} will search for @samp{@{\(?:work\|lab\|conf\)@}} +and searching for @samp{-work} will search for all headlines but those with +one of the tag in the group (i.e., @samp{-@{\(?:work\|lab\|conf\)@}}). + @cindex TODO keyword matching, with tags search @cindex level, require for tags/property match @cindex category, require for tags/property match @@ -7690,16 +8056,20 @@ You may also test for properties (@pxref{Properties and Columns}) at the same time as matching tags. The properties may be real properties, or special properties that represent other metadata (@pxref{Special properties}). For example, the ``property'' @code{TODO} represents the TODO keyword of the -entry. Or, the ``property'' @code{LEVEL} represents the level of an entry. -So a search @samp{+LEVEL=3+boss-TODO="DONE"} lists all level three headlines -that have the tag @samp{boss} and are @emph{not} marked with the TODO keyword -DONE@. In buffers with @code{org-odd-levels-only} set, @samp{LEVEL} does not -count the number of stars, but @samp{LEVEL=2} will correspond to 3 stars etc. -The ITEM special property cannot currently be used in tags/property +entry and the ``propety'' @code{PRIORITY} represents the PRIORITY keyword of +the entry. The ITEM special property cannot currently be used in tags/property searches@footnote{But @pxref{x-agenda-skip-entry-regexp, ,skipping entries based on regexp}.}. +Except the @pxref{Special properties}, one other ``property'' can also be +used. @code{LEVEL} represents the level of an entry. So a search +@samp{+LEVEL=3+boss-TODO="DONE"} lists all level three headlines that have +the tag @samp{boss} and are @emph{not} marked with the TODO keyword DONE@. +In buffers with @code{org-odd-levels-only} set, @samp{LEVEL} does not count +the number of stars, but @samp{LEVEL=2} will correspond to 3 stars etc. + Here are more examples: + @table @samp @item work+TODO="WAITING" Select @samp{:work:}-tagged TODO lines with the specific TODO @@ -7899,7 +8269,8 @@ associated with the item. @menu * Categories:: Not all tasks are equal * Time-of-day specifications:: How the agenda knows the time -* Sorting of agenda items:: The order of things +* Sorting agenda items:: The order of things +* Filtering/limiting agenda items:: Dynamically narrow the agenda @end menu @node Categories, Time-of-day specifications, Presentation and sorting, Presentation and sorting @@ -7936,7 +8307,7 @@ longer than 10 characters. You can set up icons for category by customizing the @code{org-agenda-category-icon-alist} variable. -@node Time-of-day specifications, Sorting of agenda items, Categories, Presentation and sorting +@node Time-of-day specifications, Sorting agenda items, Categories, Presentation and sorting @subsection Time-of-day specifications @cindex time-of-day specification @@ -7987,8 +8358,8 @@ The time grid can be turned on and off with the variable @code{org-agenda-use-time-grid}, and can be configured with @code{org-agenda-time-grid}. -@node Sorting of agenda items, , Time-of-day specifications, Presentation and sorting -@subsection Sorting of agenda items +@node Sorting agenda items, Filtering/limiting agenda items, Time-of-day specifications, Presentation and sorting +@subsection Sorting agenda items @cindex sorting, of agenda items @cindex priorities, of agenda items Before being inserted into a view, the items are sorted. How this is @@ -8021,66 +8392,249 @@ Sorting can be customized using the variable @code{org-agenda-sorting-strategy}, and may also include criteria based on the estimated effort of an entry (@pxref{Effort estimates}). -@node Agenda commands, Custom agenda views, Presentation and sorting, Agenda Views -@section Commands in the agenda buffer -@cindex commands, in agenda buffer +@node Filtering/limiting agenda items, , Sorting agenda items, Presentation and sorting +@subsection Filtering/limiting agenda items -Entries in the agenda buffer are linked back to the Org file or diary -file where they originate. You are not allowed to edit the agenda -buffer itself, but commands are provided to show and jump to the -original entry location, and to edit the Org files ``remotely'' from -the agenda buffer. In this way, all information is stored only once, -removing the risk that your agenda and note files may diverge. +Agenda built-in or customized commands are statically defined. Agenda +filters and limits provide two ways of dynamically narrowing down the list of +agenda entries: @emph{fitlers} and @emph{limits}. Filters only act on the +display of the items, while limits take effect before the list of agenda +entries is built. Filter are more often used interactively, while limits are +mostly useful when defined as local variables within custom agenda commands. -Some commands can be executed with mouse clicks on agenda lines. For -the other commands, the cursor needs to be in the desired line. +@subsubheading Filtering in the agenda +@cindex filtering, by tag, category, top headline and effort, in agenda +@cindex tag filtering, in agenda +@cindex category filtering, in agenda +@cindex top headline filtering, in agenda +@cindex effort filtering, in agenda +@cindex query editing, in agenda @table @kbd -@tsubheading{Motion} -@cindex motion commands in agenda -@orgcmd{n,org-agenda-next-line} -Next line (same as @key{down} and @kbd{C-n}). -@orgcmd{p,org-agenda-previous-line} -Previous line (same as @key{up} and @kbd{C-p}). -@tsubheading{View/Go to Org file} -@orgcmdkkc{@key{SPC},mouse-3,org-agenda-show-and-scroll-up} -Display the original location of the item in another window. -With prefix arg, make sure that the entire entry is made visible in the -outline, not only the heading. -@c -@orgcmd{L,org-agenda-recenter} -Display original location and recenter that window. -@c -@orgcmdkkc{@key{TAB},mouse-2,org-agenda-goto} -Go to the original location of the item in another window. -@c -@orgcmd{@key{RET},org-agenda-switch-to} -Go to the original location of the item and delete other windows. -@c -@orgcmd{F,org-agenda-follow-mode} -@vindex org-agenda-start-with-follow-mode -Toggle Follow mode. In Follow mode, as you move the cursor through -the agenda buffer, the other window always shows the corresponding -location in the Org file. The initial setting for this mode in new -agenda buffers can be set with the variable -@code{org-agenda-start-with-follow-mode}. -@c -@orgcmd{C-c C-x b,org-agenda-tree-to-indirect-buffer} -Display the entire subtree of the current item in an indirect buffer. With a -numeric prefix argument N, go up to level N and then take that tree. If N is -negative, go up that many levels. With a @kbd{C-u} prefix, do not remove the -previously used indirect buffer. +@orgcmd{/,org-agenda-filter-by-tag} +@vindex org-agenda-tag-filter-preset +Filter the agenda view with respect to a tag and/or effort estimates. The +difference between this and a custom agenda command is that filtering is very +fast, so that you can switch quickly between different filters without having +to recreate the agenda.@footnote{Custom commands can preset a filter by +binding the variable @code{org-agenda-tag-filter-preset} as an option. This +filter will then be applied to the view and persist as a basic filter through +refreshes and more secondary filtering. The filter is a global property of +the entire agenda view---in a block agenda, you should only set this in the +global options section, not in the section of an individual block.} -@orgcmd{C-c C-o,org-agenda-open-link} -Follow a link in the entry. This will offer a selection of any links in the -text belonging to the referenced Org node. If there is only one link, it -will be followed without a selection prompt. +You will be prompted for a tag selection letter; @key{SPC} will mean any tag at +all. Pressing @key{TAB} at that prompt will offer use completion to select a +tag (including any tags that do not have a selection character). The command +then hides all entries that do not contain or inherit this tag. When called +with prefix arg, remove the entries that @emph{do} have the tag. A second +@kbd{/} at the prompt will turn off the filter and unhide any hidden entries. +If the first key you press is either @kbd{+} or @kbd{-}, the previous filter +will be narrowed by requiring or forbidding the selected additional tag. +Instead of pressing @kbd{+} or @kbd{-} after @kbd{/}, you can also +immediately use the @kbd{\} command. -@tsubheading{Change display} -@cindex display changing, in agenda -@kindex A -@item A -Interactively select another agenda view and append it to the current view. +@vindex org-sort-agenda-noeffort-is-high +In order to filter for effort estimates, you should set up allowed +efforts globally, for example +@lisp +(setq org-global-properties + '(("Effort_ALL". "0 0:10 0:30 1:00 2:00 3:00 4:00"))) +@end lisp +You can then filter for an effort by first typing an operator, one of +@kbd{<}, @kbd{>}, and @kbd{=}, and then the one-digit index of an effort +estimate in your array of allowed values, where @kbd{0} means the 10th value. +The filter will then restrict to entries with effort smaller-or-equal, equal, +or larger-or-equal than the selected value. If the digits 0--9 are not used +as fast access keys to tags, you can also simply press the index digit +directly without an operator. In this case, @kbd{<} will be assumed. For +application of the operator, entries without a defined effort will be treated +according to the value of @code{org-sort-agenda-noeffort-is-high}. To filter +for tasks without effort definition, press @kbd{?} as the operator. + +Org also supports automatic, context-aware tag filtering. If the variable +@code{org-agenda-auto-exclude-function} is set to a user-defined function, +that function can decide which tags should be excluded from the agenda +automatically. Once this is set, the @kbd{/} command then accepts @kbd{RET} +as a sub-option key and runs the auto exclusion logic. For example, let's +say you use a @code{Net} tag to identify tasks which need network access, an +@code{Errand} tag for errands in town, and a @code{Call} tag for making phone +calls. You could auto-exclude these tags based on the availability of the +Internet, and outside of business hours, with something like this: + +@smalllisp +@group +(defun org-my-auto-exclude-function (tag) + (and (cond + ((string= tag "Net") + (/= 0 (call-process "/sbin/ping" nil nil nil + "-c1" "-q" "-t1" "mail.gnu.org"))) + ((or (string= tag "Errand") (string= tag "Call")) + (let ((hour (nth 2 (decode-time)))) + (or (< hour 8) (> hour 21))))) + (concat "-" tag))) + +(setq org-agenda-auto-exclude-function 'org-my-auto-exclude-function) +@end group +@end smalllisp + +@orgcmd{\\,org-agenda-filter-by-tag-refine} +Narrow the current agenda filter by an additional condition. When called with +prefix arg, remove the entries that @emph{do} have the tag, or that do match +the effort criterion. You can achieve the same effect by pressing @kbd{+} or +@kbd{-} as the first key after the @kbd{/} command. + +@c +@kindex [ +@kindex ] +@kindex @{ +@kindex @} +@item [ ] @{ @} +@table @i +@item @r{in} search view +add new search words (@kbd{[} and @kbd{]}) or new regular expressions +(@kbd{@{} and @kbd{@}}) to the query string. The opening bracket/brace will +add a positive search term prefixed by @samp{+}, indicating that this search +term @i{must} occur/match in the entry. The closing bracket/brace will add a +negative search term which @i{must not} occur/match in the entry for it to be +selected. +@end table + +@orgcmd{<,org-agenda-filter-by-category} +@vindex org-agenda-category-filter-preset + +Filter the current agenda view with respect to the category of the item at +point. Pressing @code{<} another time will remove this filter. You can add +a filter preset through the option @code{org-agenda-category-filter-preset} +(see below.) + +@orgcmd{^,org-agenda-filter-by-top-headline} +Filter the current agenda view and only display the siblings and the parent +headline of the one at point. + +@orgcmd{=,org-agenda-filter-by-regexp} +@vindex org-agenda-regexp-filter-preset + +Filter the agenda view by a regular expression: only show agenda entries +matching the regular expression the user entered. When called with a prefix +argument, it will filter @emph{out} entries matching the regexp. With two +universal prefix arguments, it will remove all the regexp filters, which can +be accumulated. You can add a filter preset through the option +@code{org-agenda-category-filter-preset} (see below.) + +@orgcmd{|,org-agenda-filter-remove-all} +Remove all filters in the current agenda view. +@end table + +@subsubheading Setting limits for the agenda +@cindex limits, in agenda +@vindex org-agenda-max-entries +@vindex org-agenda-max-effort +@vindex org-agenda-max-todos +@vindex org-agenda-max-tags + +Here is a list of options that you can set, either globally, or locally in +your custom agenda views@pxref{Custom agenda views}. + +@table @var +@item org-agenda-max-entries +Limit the number of entries. +@item org-agenda-max-effort +Limit the duration of accumulated efforts (as minutes). +@item org-agenda-max-todos +Limit the number of entries with TODO keywords. +@item org-agenda-max-tags +Limit the number of tagged entries. +@end table + +When set to a positive integer, each option will exclude entries from other +catogories: for example, @code{(setq org-agenda-max-effort 100)} will limit +the agenda to 100 minutes of effort and exclude any entry that as no effort +property. If you want to include entries with no effort property, use a +negative value for @code{org-agenda-max-effort}. + +One useful setup is to use @code{org-agenda-max-entries} locally in a custom +command. For example, this custom command will display the next five entries +with a @code{NEXT} TODO keyword. + +@smalllisp +(setq org-agenda-custom-commands + '(("n" todo "NEXT" + ((org-agenda-max-entries 5))))) +@end smalllisp + +Once you mark one of these five entry as @code{DONE}, rebuilding the agenda +will again the next five entries again, including the first entry that was +excluded so far. + +You can also dynamically set temporary limits@footnote{Those temporary limits +are lost when rebuilding the agenda.}: + +@table @kbd +@orgcmd{~,org-agenda-limit-interactively} +This prompts for the type of limit to apply and its value. +@end table + +@node Agenda commands, Custom agenda views, Presentation and sorting, Agenda Views +@section Commands in the agenda buffer +@cindex commands, in agenda buffer + +Entries in the agenda buffer are linked back to the Org file or diary +file where they originate. You are not allowed to edit the agenda +buffer itself, but commands are provided to show and jump to the +original entry location, and to edit the Org files ``remotely'' from +the agenda buffer. In this way, all information is stored only once, +removing the risk that your agenda and note files may diverge. + +Some commands can be executed with mouse clicks on agenda lines. For +the other commands, the cursor needs to be in the desired line. + +@table @kbd +@tsubheading{Motion} +@cindex motion commands in agenda +@orgcmd{n,org-agenda-next-line} +Next line (same as @key{down} and @kbd{C-n}). +@orgcmd{p,org-agenda-previous-line} +Previous line (same as @key{up} and @kbd{C-p}). +@tsubheading{View/Go to Org file} +@orgcmdkkc{@key{SPC},mouse-3,org-agenda-show-and-scroll-up} +Display the original location of the item in another window. +With prefix arg, make sure that the entire entry is made visible in the +outline, not only the heading. +@c +@orgcmd{L,org-agenda-recenter} +Display original location and recenter that window. +@c +@orgcmdkkc{@key{TAB},mouse-2,org-agenda-goto} +Go to the original location of the item in another window. +@c +@orgcmd{@key{RET},org-agenda-switch-to} +Go to the original location of the item and delete other windows. +@c +@orgcmd{F,org-agenda-follow-mode} +@vindex org-agenda-start-with-follow-mode +Toggle Follow mode. In Follow mode, as you move the cursor through +the agenda buffer, the other window always shows the corresponding +location in the Org file. The initial setting for this mode in new +agenda buffers can be set with the variable +@code{org-agenda-start-with-follow-mode}. +@c +@orgcmd{C-c C-x b,org-agenda-tree-to-indirect-buffer} +Display the entire subtree of the current item in an indirect buffer. With a +numeric prefix argument N, go up to level N and then take that tree. If N is +negative, go up that many levels. With a @kbd{C-u} prefix, do not remove the +previously used indirect buffer. + +@orgcmd{C-c C-o,org-agenda-open-link} +Follow a link in the entry. This will offer a selection of any links in the +text belonging to the referenced Org node. If there is only one link, it +will be followed without a selection prompt. + +@tsubheading{Change display} +@cindex display changing, in agenda +@kindex A +@item A +Interactively select another agenda view and append it to the current view. @c @kindex o @item o @@ -8088,6 +8642,7 @@ Delete other windows. @c @orgcmdkskc{v d,d,org-agenda-day-view} @xorgcmdkskc{v w,w,org-agenda-week-view} +@xorgcmd{v t,org-agenda-fortnight-view} @xorgcmd{v m,org-agenda-month-view} @xorgcmd{v y,org-agenda-year-view} @xorgcmd{v SPC,org-agenda-reset-view} @@ -8134,7 +8689,7 @@ entries that have been clocked on that day. You can configure the entry types that should be included in log mode using the variable @code{org-agenda-log-mode-items}. When called with a @kbd{C-u} prefix, show all possible logbook entries, including state changes. When called with two -prefix args @kbd{C-u C-u}, show only logging information, nothing else. +prefix arguments @kbd{C-u C-u}, show only logging information, nothing else. @kbd{v L} is equivalent to @kbd{C-u v l}. @c @orgcmdkskc{v [,[,org-agenda-manipulate-query-add} @@ -8152,7 +8707,7 @@ press @kbd{v a} again. @vindex org-agenda-start-with-clockreport-mode @vindex org-clock-report-include-clocking-task Toggle Clockreport mode. In Clockreport mode, the daily/weekly agenda will -always show a table with the clocked times for the timespan and file scope +always show a table with the clocked times for the time span and file scope covered by the current agenda view. The initial setting for this mode in new agenda buffers can be set with the variable @code{org-agenda-start-with-clockreport-mode}. By using a prefix argument @@ -8212,108 +8767,39 @@ Remove the restriction lock on the agenda, if it is currently restricted to a file or subtree (@pxref{Agenda files}). @tsubheading{Secondary filtering and query editing} -@cindex filtering, by tag category and effort, in agenda -@cindex tag filtering, in agenda -@cindex category filtering, in agenda -@cindex effort filtering, in agenda -@cindex query editing, in agenda -@orgcmd{<,org-agenda-filter-by-category} -@vindex org-agenda-category-filter-preset - -Filter the current agenda view with respect to the category of the item at -point. Pressing @code{<} another time will remove this filter. You can add -a filter preset through the option @code{org-agenda-category-filter-preset} -(see below.) +For a detailed description of these commands, see @pxref{Filtering/limiting +agenda items}. @orgcmd{/,org-agenda-filter-by-tag} @vindex org-agenda-tag-filter-preset -Filter the current agenda view with respect to a tag and/or effort estimates. -The difference between this and a custom agenda command is that filtering is -very fast, so that you can switch quickly between different filters without -having to recreate the agenda.@footnote{Custom commands can preset a filter by -binding the variable @code{org-agenda-tag-filter-preset} as an option. This -filter will then be applied to the view and persist as a basic filter through -refreshes and more secondary filtering. The filter is a global property of -the entire agenda view---in a block agenda, you should only set this in the -global options section, not in the section of an individual block.} +Filter the agenda view with respect to a tag and/or effort estimates. -You will be prompted for a tag selection letter; @key{SPC} will mean any tag at -all. Pressing @key{TAB} at that prompt will offer use completion to select a -tag (including any tags that do not have a selection character). The command -then hides all entries that do not contain or inherit this tag. When called -with prefix arg, remove the entries that @emph{do} have the tag. A second -@kbd{/} at the prompt will turn off the filter and unhide any hidden entries. -If the first key you press is either @kbd{+} or @kbd{-}, the previous filter -will be narrowed by requiring or forbidding the selected additional tag. -Instead of pressing @kbd{+} or @kbd{-} after @kbd{/}, you can also -immediately use the @kbd{\} command. +@orgcmd{\\,org-agenda-filter-by-tag-refine} +Narrow the current agenda filter by an additional condition. -@vindex org-sort-agenda-noeffort-is-high -In order to filter for effort estimates, you should set up allowed -efforts globally, for example -@lisp -(setq org-global-properties - '(("Effort_ALL". "0 0:10 0:30 1:00 2:00 3:00 4:00"))) -@end lisp -You can then filter for an effort by first typing an operator, one of -@kbd{<}, @kbd{>}, and @kbd{=}, and then the one-digit index of an effort -estimate in your array of allowed values, where @kbd{0} means the 10th value. -The filter will then restrict to entries with effort smaller-or-equal, equal, -or larger-or-equal than the selected value. If the digits 0--9 are not used -as fast access keys to tags, you can also simply press the index digit -directly without an operator. In this case, @kbd{<} will be assumed. For -application of the operator, entries without a defined effort will be treated -according to the value of @code{org-sort-agenda-noeffort-is-high}. To filter -for tasks without effort definition, press @kbd{?} as the operator. +@orgcmd{<,org-agenda-filter-by-category} +@vindex org-agenda-category-filter-preset -Org also supports automatic, context-aware tag filtering. If the variable -@code{org-agenda-auto-exclude-function} is set to a user-defined function, -that function can decide which tags should be excluded from the agenda -automatically. Once this is set, the @kbd{/} command then accepts @kbd{RET} -as a sub-option key and runs the auto exclusion logic. For example, let's -say you use a @code{Net} tag to identify tasks which need network access, an -@code{Errand} tag for errands in town, and a @code{Call} tag for making phone -calls. You could auto-exclude these tags based on the availability of the -Internet, and outside of business hours, with something like this: +Filter the current agenda view with respect to the category of the item at +point. Pressing @code{<} another time will remove this filter. -@lisp -@group -(defun org-my-auto-exclude-function (tag) - (and (cond - ((string= tag "Net") - (/= 0 (call-process "/sbin/ping" nil nil nil - "-c1" "-q" "-t1" "mail.gnu.org"))) - ((or (string= tag "Errand") (string= tag "Call")) - (let ((hour (nth 2 (decode-time)))) - (or (< hour 8) (> hour 21))))) - (concat "-" tag))) +@orgcmd{^,org-agenda-filter-by-top-headline} +Filter the current agenda view and only display the siblings and the parent +headline of the one at point. -(setq org-agenda-auto-exclude-function 'org-my-auto-exclude-function) -@end group -@end lisp +@orgcmd{=,org-agenda-filter-by-regexp} +@vindex org-agenda-regexp-filter-preset -@orgcmd{\\,org-agenda-filter-by-tag-refine} -Narrow the current agenda filter by an additional condition. When called with -prefix arg, remove the entries that @emph{do} have the tag, or that do match -the effort criterion. You can achieve the same effect by pressing @kbd{+} or -@kbd{-} as the first key after the @kbd{/} command. +Filter the agenda view by a regular expression: only show agenda entries +matching the regular expression the user entered. When called with a prefix +argument, it will filter @emph{out} entries matching the regexp. With two +universal prefix arguments, it will remove all the regexp filters, which can +be accumulated. You can add a filter preset through the option +@code{org-agenda-category-filter-preset} (see below.) -@c -@kindex [ -@kindex ] -@kindex @{ -@kindex @} -@item [ ] @{ @} -@table @i -@item @r{in} search view -add new search words (@kbd{[} and @kbd{]}) or new regular expressions -(@kbd{@{} and @kbd{@}}) to the query string. The opening bracket/brace will -add a positive search term prefixed by @samp{+}, indicating that this search -term @i{must} occur/match in the entry. The closing bracket/brace will add a -negative search term which @i{must not} occur/match in the entry for it to be -selected. -@end table +@orgcmd{|,org-agenda-filter-remove-all} +Remove all filters in the current agenda view. @tsubheading{Remote editing} @cindex remote editing, from agenda @@ -8440,29 +8926,50 @@ Jump to the running clock in another window. @c @orgcmd{k,org-agenda-capture} Like @code{org-capture}, but use the date at point as the default date for -the capture template. See @var{org-capture-use-agenda-date} to make this +the capture template. See @code{org-capture-use-agenda-date} to make this the default behavior of @code{org-capture}. @cindex capturing, from agenda @vindex org-capture-use-agenda-date +@tsubheading{Dragging agenda lines forward/backward} +@cindex dragging, agenda lines + +@orgcmd{M-,org-agenda-drag-line-backward} +Drag the line at point backward one line@footnote{Moving agenda lines does +not persist after an agenda refresh and does not modify the contributing +@file{.org} files}. With a numeric prefix argument, drag backward by that +many lines. + +@orgcmd{M-,org-agenda-drag-line-forward} +Drag the line at point forward one line. With a numeric prefix argument, +drag forward by that many lines. + @tsubheading{Bulk remote editing selected entries} @cindex remote editing, bulk, from agenda -@vindex org-agenda-bulk-persistent-marks @vindex org-agenda-bulk-custom-functions @orgcmd{m,org-agenda-bulk-mark} -Mark the entry at point for bulk action. With prefix arg, mark that many -successive entries. +Mark the entry at point for bulk action. With numeric prefix argument, mark +that many successive entries. @c -@orgcmd{%,org-agenda-bulk-mark-regexp} -Mark entries matching a regular expression for bulk action. +@orgcmd{*,org-agenda-bulk-mark-all} +Mark all visible agenda entries for bulk action. @c @orgcmd{u,org-agenda-bulk-unmark} -Unmark entry for bulk action. +Unmark entry at point for bulk action. @c @orgcmd{U,org-agenda-bulk-remove-all-marks} Unmark all marked entries for bulk action. @c +@orgcmd{M-m,org-agenda-bulk-toggle} +Toggle mark of the entry at point for bulk action. +@c +@orgcmd{M-*,org-agenda-bulk-toggle-all} +Toggle marks of all visible entries for bulk action. +@c +@orgcmd{%,org-agenda-bulk-mark-regexp} +Mark entries matching a regular expression for bulk action. +@c @orgcmd{B,org-agenda-bulk-action} Bulk action: act on all marked entries in the agenda. This will prompt for another key to select the action to be applied. The prefix arg to @kbd{B} @@ -8471,40 +8978,55 @@ these special timestamps. By default, marks are removed after the bulk. If you want them to persist, set @code{org-agenda-bulk-persistent-marks} to @code{t} or hit @kbd{p} at the prompt. -@example -* @r{Toggle persistent marks.} -$ @r{Archive all selected entries.} -A @r{Archive entries by moving them to their respective archive siblings.} -t @r{Change TODO state. This prompts for a single TODO keyword and} - @r{changes the state of all selected entries, bypassing blocking and} - @r{suppressing logging notes (but not timestamps).} -+ @r{Add a tag to all selected entries.} -- @r{Remove a tag from all selected entries.} -s @r{Schedule all items to a new date. To shift existing schedule dates} - @r{by a fixed number of days, use something starting with double plus} - @r{at the prompt, for example @samp{++8d} or @samp{++2w}.} -d @r{Set deadline to a specific date.} -r @r{Prompt for a single refile target and move all entries. The entries} - @r{will no longer be in the agenda; refresh (@kbd{g}) to bring them back.} -S @r{Reschedule randomly into the coming N days. N will be prompted for.} - @r{With prefix arg (@kbd{C-u B S}), scatter only across weekdays.} -f @r{Apply a function@footnote{You can also create persistent custom functions through@code{org-agenda-bulk-custom-functions}.} to marked entries.} - @r{For example, the function below sets the CATEGORY property of the} - @r{entries to web.} - @r{(defun set-category ()} - @r{ (interactive "P")} - @r{ (let* ((marker (or (org-get-at-bol 'org-hd-marker)} - @r{ (org-agenda-error)))} - @r{ (buffer (marker-buffer marker)))} - @r{ (with-current-buffer buffer} - @r{ (save-excursion} - @r{ (save-restriction} - @r{ (widen)} - @r{ (goto-char marker)} - @r{ (org-back-to-heading t)} - @r{ (org-set-property "CATEGORY" "web"))))))} -@end example +@table @kbd +@item * +Toggle persistent marks. +@item $ +Archive all selected entries. +@item A +Archive entries by moving them to their respective archive siblings. +@item t +Change TODO state. This prompts for a single TODO keyword and changes the +state of all selected entries, bypassing blocking and suppressing logging +notes (but not timestamps). +@item + +Add a tag to all selected entries. +@item - +Remove a tag from all selected entries. +@item s +Schedule all items to a new date. To shift existing schedule dates by a +fixed number of days, use something starting with double plus at the prompt, +for example @samp{++8d} or @samp{++2w}. +@item d +Set deadline to a specific date. +@item r +Prompt for a single refile target and move all entries. The entries will no +longer be in the agenda; refresh (@kbd{g}) to bring them back. +@item S +Reschedule randomly into the coming N days. N will be prompted for. With +prefix arg (@kbd{C-u B S}), scatter only across weekdays. +@item f +Apply a function@footnote{You can also create persistent custom functions +through @code{org-agenda-bulk-custom-functions}.} to marked entries. For +example, the function below sets the CATEGORY property of the entries to web. +@lisp +@group +(defun set-category () + (interactive "P") + (let* ((marker (or (org-get-at-bol 'org-hd-marker) + (org-agenda-error))) + (buffer (marker-buffer marker))) + (with-current-buffer buffer + (save-excursion + (save-restriction + (widen) + (goto-char marker) + (org-back-to-heading t) + (org-set-property "CATEGORY" "web")))))) +@end group +@end lisp +@end table @tsubheading{Calendar commands} @cindex calendar commands, from agenda @@ -8551,7 +9073,7 @@ calendars. @orgcmd{H,org-agenda-holidays} Show holidays for three months around the cursor date. -@item M-x org-export-icalendar-combine-agenda-files +@item M-x org-icalendar-combine-agenda-files RET Export a single iCalendar file containing entries from all agenda files. This is a globally available command, and also available in the agenda menu. @@ -8561,12 +9083,13 @@ This is a globally available command, and also available in the agenda menu. @cindex agenda views, exporting @vindex org-agenda-exporter-settings Write the agenda view to a file. Depending on the extension of the selected -file name, the view will be exported as HTML (extension @file{.html} or -@file{.htm}), Postscript (extension @file{.ps}), PDF (extension @file{.pdf}), -and plain text (any other extension). When called with a @kbd{C-u} prefix -argument, immediately open the newly created file. Use the variable -@code{org-agenda-exporter-settings} to set options for @file{ps-print} and -for @file{htmlize} to be used during export. +file name, the view will be exported as HTML (@file{.html} or @file{.htm}), +Postscript (@file{.ps}), PDF (@file{.pdf}), Org (@file{.org}) and plain text +(any other extension). When exporting to Org, only the body of original +headlines are exported, not subtrees or inherited tags. When called with a +@kbd{C-u} prefix argument, immediately open the newly created file. Use the +variable @code{org-agenda-exporter-settings} to set options for +@file{ps-print} and for @file{htmlize} to be used during export. @tsubheading{Quit and Exit} @orgcmd{q,org-agenda-quit} @@ -8606,6 +9129,8 @@ buffer). @kindex C-c a C @vindex org-agenda-custom-commands @cindex agenda views, main example +@cindex agenda, as an agenda views +@cindex agenda*, as an agenda views @cindex tags, as an agenda view @cindex todo, as an agenda view @cindex tags-todo @@ -8616,13 +9141,15 @@ buffer). Custom commands are configured in the variable @code{org-agenda-custom-commands}. You can customize this variable, for example by pressing @kbd{C-c a C}. You can also directly set it with Emacs -Lisp in @file{.emacs}. The following example contains all valid search -types: +Lisp in @file{.emacs}. The following example contains all valid agenda +views: @lisp @group (setq org-agenda-custom-commands - '(("w" todo "WAITING") + '(("x" agenda) + ("y" agenda*) + ("w" todo "WAITING") ("W" todo-tree "WAITING") ("u" tags "+boss-urgent") ("v" tags-todo "+boss-urgent") @@ -8648,6 +9175,15 @@ expression to be used for the matching. The example above will therefore define: @table @kbd +@item C-c a x +as a global search for agenda entries planned@footnote{@emph{Planned} means +here that these entries have some planning information attached to them, like +a time-stamp, a scheduled or a deadline string. See +@code{org-agenda-entry-types} on how to set what planning information will be +taken into account.} this week/day. +@item C-c a y +as a global search for agenda entries planned this week/day, but only those +with an hour specification like @code{[h]h:mm}---think of them as appointments. @item C-c a w as a global search for TODO entries with @samp{WAITING} as the TODO keyword @@ -8782,23 +9318,23 @@ yourself. @vindex org-agenda-custom-commands-contexts To control whether an agenda command should be accessible from a specific -context, you can customize @var{org-agenda-custom-commands-contexts}. Let's +context, you can customize @code{org-agenda-custom-commands-contexts}. Let's say for example that you have an agenda commands @code{"o"} displaying a view that you only need when reading emails. Then you would configure this option like this: -@example +@lisp (setq org-agenda-custom-commands-contexts '(("o" (in-mode . "message-mode")))) -@end example +@end lisp You can also tell that the command key @code{"o"} should refer to another command key @code{"r"}. In that case, add this command key like this: -@example +@lisp (setq org-agenda-custom-commands-contexts '(("o" "r" (in-mode . "message-mode")))) -@end example +@end lisp See the docstring of the variable for more information. @@ -9009,19 +9545,20 @@ spent (via @code{CLOCKSUM}) and with the planned total effort for it. @chapter Markup for rich export When exporting Org mode documents, the exporter tries to reflect the -structure of the document as accurately as possible in the backend. Since -export targets like HTML, @LaTeX{}, or DocBook allow much richer formatting, -Org mode has rules on how to prepare text for rich export. This section -summarizes the markup rules used in an Org mode buffer. +structure of the document as accurately as possible in the back-end. Since +export targets like HTML, @LaTeX{} allow much richer formatting, Org mode has +rules on how to prepare text for rich export. This section summarizes the +markup rules used in an Org mode buffer. @menu * Structural markup elements:: The basic structure as seen by the exporter -* Images and tables:: Tables and Images will be included +* Images and tables:: Images, tables and caption mechanism * Literal examples:: Source code examples with special formatting * Include files:: Include additional files into a document * Index entries:: Making an index -* Macro replacement:: Use macros to create complex output +* Macro replacement:: Use macros to create templates * Embedded @LaTeX{}:: LaTeX can be freely used inside Org documents +* Special blocks:: Containers targeted at export back-ends @end menu @node Structural markup elements, Images and tables, Markup, Markup @@ -9031,7 +9568,6 @@ summarizes the markup rules used in an Org mode buffer. * Document title:: Where the title is taken from * Headings and sections:: The document structure as seen by the exporter * Table of contents:: The if and where of the table of contents -* Initial text:: Text before the first heading? * Lists:: Lists * Paragraphs:: Paragraphs * Footnote markup:: Footnotes @@ -9053,15 +9589,13 @@ The title of the exported document is taken from the special line @end example @noindent -If this line does not exist, the title is derived from the first non-empty, -non-comment line in the buffer. If no such line exists, or if you have -turned off exporting of the text before the first headline (see below), the -title will be the file name without extension. +If this line does not exist, the title will be the name of the file +associated to buffer, without extension, or the buffer name. @cindex property, EXPORT_TITLE -If you are exporting only a subtree by marking is as the region, the heading -of the subtree will become the title of the document. If the subtree has a -property @code{EXPORT_TITLE}, that will take precedence. +If you are exporting only a subtree, its heading will become the title of the +document. If the subtree has a property @code{EXPORT_TITLE}, that will take +precedence. @node Headings and sections, Table of contents, Document title, Structural markup elements @subheading Headings and sections @@ -9081,58 +9615,55 @@ per-file basis with a line #+OPTIONS: H:4 @end example -@node Table of contents, Initial text, Headings and sections, Structural markup elements +@node Table of contents, Lists, Headings and sections, Structural markup elements @subheading Table of contents @cindex table of contents, markup rules +@cindex #+TOC @vindex org-export-with-toc The table of contents is normally inserted directly before the first headline -of the file. If you would like to get it to a different location, insert the -string @code{[TABLE-OF-CONTENTS]} on a line by itself at the desired -location. The depth of the table of contents is by default the same as the -number of headline levels, but you can choose a smaller number, or turn off -the table of contents entirely, by configuring the variable -@code{org-export-with-toc}, or on a per-file basis with a line like +of the file. The depth of the table is by default the same as the number of +headline levels, but you can choose a smaller number, or turn off the table +of contents entirely, by configuring the variable @code{org-export-with-toc}, +or on a per-file basis with a line like @example #+OPTIONS: toc:2 (only to two levels in TOC) -#+OPTIONS: toc:nil (no TOC at all) +#+OPTIONS: toc:nil (no default TOC at all) @end example -@node Initial text, Lists, Table of contents, Structural markup elements -@subheading Text before the first headline -@cindex text before first headline, markup rules -@cindex #+TEXT +If you would like to move the table of contents to a different location, you +should turn off the detault table using @code{org-export-with-toc} or +@code{#+OPTIONS} and insert @code{#+TOC: headlines N} at the desired +location(s). -Org mode normally exports the text before the first headline, and even uses -the first line as the document title. The text will be fully marked up. If -you need to include literal HTML, @LaTeX{}, or DocBook code, use the special -constructs described below in the sections for the individual exporters. - -@vindex org-export-skip-text-before-1st-heading -Some people like to use the space before the first headline for setup and -internal links and therefore would like to control the exported text before -the first headline in a different way. You can do so by setting the variable -@code{org-export-skip-text-before-1st-heading} to @code{t}. On a per-file -basis, you can get the same effect with @samp{#+OPTIONS: skip:t}. +@example +#+OPTIONS: toc:nil (no default TOC) +... +#+TOC: headlines 2 (insert TOC here, with two headline levels) +@end example -@noindent -If you still want to have some text before the first headline, use the -@code{#+TEXT} construct: +Multiple @code{#+TOC: headline} lines are allowed. The same @code{TOC} +keyword can also generate a list of all tables (resp.@: all listings) with a +caption in the buffer. @example -#+OPTIONS: skip:t -#+TEXT: This text will go before the *first* headline. -#+TEXT: [TABLE-OF-CONTENTS] -#+TEXT: This goes between the table of contents and the *first* headline +#+TOC: listings (build a list of listings) +#+TOC: tables (build a list of tables) @end example -@node Lists, Paragraphs, Initial text, Structural markup elements +@cindex property, ALT_TITLE +The headline's title usually determines its corresponding entry in a table of +contents. However, it is possible to specify an alternative title by +setting @code{ALT_TITLE} property accordingly. It will then be used when +building the table. + +@node Lists, Paragraphs, Table of contents, Structural markup elements @subheading Lists @cindex lists, markup rules -Plain lists as described in @ref{Plain lists}, are translated to the backend's -syntax for such lists. Most backends support unordered, ordered, and +Plain lists as described in @ref{Plain lists}, are translated to the back-end's +syntax for such lists. Most back-ends support unordered, ordered, and description lists. @node Paragraphs, Footnote markup, Lists, Structural markup elements @@ -9184,7 +9715,7 @@ but not any simpler @cindex @file{footnote.el} Footnotes defined in the way described in @ref{Footnotes}, will be exported -by all backends. Org allows multiple references to the same note, and +by all back-ends. Org allows multiple references to the same note, and multiple footnotes side by side. @node Emphasis and monospace, Horizontal rules, Footnote markup, Structural markup elements @@ -9196,16 +9727,27 @@ multiple footnotes side by side. @cindex verbatim text, markup rules @cindex code text, markup rules @cindex strike-through text, markup rules +@vindex org-fontify-emphasized-text +@vindex org-emphasis-regexp-components +@vindex org-emphasis-alist You can make words @b{*bold*}, @i{/italic/}, _underlined_, @code{=code=} and @code{~verbatim~}, and, if you must, @samp{+strike-through+}. Text in the code and verbatim string is not processed for Org mode specific -syntax; it is exported verbatim. +syntax, it is exported verbatim. + +To turn off fontification for marked up text, you can set +@code{org-fontify-emphasized-text} to @code{nil}. To narrow down the list of +available markup syntax, you can customize @code{org-emphasis-alist}. To fine +tune what characters are allowed before and after the markup characters, you +can tweak @code{org-emphasis-regexp-components}. Beware that changing one of +the above variables will no take effect until you reload Org, for which you +may need to restart Emacs. @node Horizontal rules, Comment lines, Emphasis and monospace, Structural markup elements @subheading Horizontal rules @cindex horizontal rules, markup rules A line consisting of only dashes, and at least 5 of them, will be exported as -a horizontal line (@samp{
} in HTML and @code{\hrule} in @LaTeX{}). +a horizontal line. @node Comment lines, , Horizontal rules, Structural markup elements @subheading Comment lines @@ -9231,45 +9773,48 @@ Toggle the COMMENT keyword at the beginning of an entry. @cindex tables, markup rules @cindex #+CAPTION -@cindex #+LABEL +@cindex #+NAME Both the native Org mode tables (@pxref{Tables}) and tables formatted with the @file{table.el} package will be exported properly. For Org mode tables, the lines before the first horizontal separator line will become table header lines. You can use the following lines somewhere before the table to assign a caption and a label for cross references, and in the text you can refer to -the object with @code{\ref@{tab:basic-data@}}: +the object with @code{[[tab:basic-data]]} (@pxref{Internal links}): @example #+CAPTION: This is the caption for the next table (or link) -#+LABEL: tab:basic-data +#+NAME: tab:basic-data | ... | ...| |-----|----| @end example Optionally, the caption can take the form: @example -#+CAPTION: [Caption for list of figures]@{Caption for table (or link).@} +#+CAPTION[Caption for list of tables]: Caption for table. @end example @cindex inlined images, markup rules -Some backends (HTML, @LaTeX{}, and DocBook) allow you to directly include -images into the exported document. Org does this, if a link to an image -files does not have a description part, for example @code{[[./img/a.jpg]]}. -If you wish to define a caption for the image and maybe a label for internal -cross references, make sure that the link is on a line by itself and precede -it with @code{#+CAPTION} and @code{#+LABEL} as follows: +Some back-ends allow you to directly include images into the exported +document. Org does this, if a link to an image files does not have +a description part, for example @code{[[./img/a.jpg]]}. If you wish to +define a caption for the image and maybe a label for internal cross +references, make sure that the link is on a line by itself and precede it +with @code{#+CAPTION} and @code{#+NAME} as follows: @example #+CAPTION: This is the caption for the next figure link (or table) -#+LABEL: fig:SED-HR4049 +#+NAME: fig:SED-HR4049 [[./img/a.jpg]] @end example -You may also define additional attributes for the figure. As this is -backend-specific, see the sections about the individual backends for more -information. +@noindent +Such images can be displayed within the buffer. @xref{Handling links,the +discussion of image links}. -@xref{Handling links,the discussion of image links}. +Even though images and tables are prominent examples of captioned structures, +the same caption mechanism can apply to many others (e.g., @LaTeX{} +equations, source code blocks). Depending on the export back-end, those may +or may not be handled. @node Literal examples, Include files, Images and tables, Markup @section Literal examples @@ -9302,11 +9847,11 @@ Here is an example If the example is source code from a programming language, or any other text that can be marked up by font-lock in Emacs, you can ask for the example to look like the fontified Emacs buffer@footnote{This works automatically for -the HTML backend (it requires version 1.34 of the @file{htmlize.el} package, +the HTML back-end (it requires version 1.34 of the @file{htmlize.el} package, which is distributed with Org). Fontified code chunks in @LaTeX{} can be achieved using either the listings or the @url{http://code.google.com/p/minted, minted,} package. Refer to -@code{org-export-latex-listings} documentation for details.}. This is done +@code{org-latex-listings} documentation for details.}. This is done with the @samp{src} block, where you also need to specify the name of the major mode that should be used to fontify the example@footnote{Code in @samp{src} blocks may also be evaluated either interactively or on export. @@ -9398,20 +9943,24 @@ include your @file{.emacs} file, you could use: @example #+INCLUDE: "~/.emacs" src emacs-lisp @end example + @noindent The optional second and third parameter are the markup (e.g., @samp{quote}, @samp{example}, or @samp{src}), and, if the markup is @samp{src}, the language for formatting the contents. The markup is optional; if it is not given, the text will be assumed to be in Org mode format and will be -processed normally. The include line will also allow additional keyword -parameters @code{:prefix1} and @code{:prefix} to specify prefixes for the -first line and for each following line, @code{:minlevel} in order to get -Org mode content demoted to a specified level, as well as any options -accepted by the selected markup. For example, to include a file as an item, -use +processed normally. + +Contents of the included file will belong to the same structure (headline, +item) containing the @code{INCLUDE} keyword. In particular, headlines within +the file will become children of the current section. That behaviour can be +changed by providing an additional keyword parameter, @code{:minlevel}. In +that case, all headlines in the included file will be shifted so the one with +the lowest level reaches that specified level. For example, to make a file +become a sibling of the current top-level headline, use @example -#+INCLUDE: "~/snippets/xx" :prefix1 " + " :prefix " " +#+INCLUDE: "~/my-book/chapter2.org" :minlevel 1 @end example You can also include a portion of a file by specifying a lines range using @@ -9460,21 +10009,24 @@ You can define text snippets with #+MACRO: name replacement text $1, $2 are arguments @end example -@noindent which can be referenced anywhere in the document (even in -code examples) with @code{@{@{@{name(arg1,arg2)@}@}@}}. In addition to -defined macros, @code{@{@{@{title@}@}@}}, @code{@{@{@{author@}@}@}}, etc., -will reference information set by the @code{#+TITLE:}, @code{#+AUTHOR:}, and -similar lines. Also, @code{@{@{@{date(@var{FORMAT})@}@}@}} and +@noindent which can be referenced in +paragraphs, verse blocks, table cells and some keywords with +@code{@{@{@{name(arg1,arg2)@}@}@}}@footnote{Since commas separate arguments, +commas within arguments have to be escaped with a backslash character. +Conversely, backslash characters before a comma, and only them, need to be +escaped with another backslash character.}. In addition to defined macros, +@code{@{@{@{title@}@}@}}, @code{@{@{@{author@}@}@}}, etc., will reference +information set by the @code{#+TITLE:}, @code{#+AUTHOR:}, and similar lines. +Also, @code{@{@{@{time(@var{FORMAT})@}@}@}} and @code{@{@{@{modification-time(@var{FORMAT})@}@}@}} refer to current date time and to the modification time of the file being exported, respectively. @var{FORMAT} should be a format string understood by @code{format-time-string}. -Macro expansion takes place during export, and some people use it to -construct complex HTML code. +Macro expansion takes place during export. -@node Embedded @LaTeX{}, , Macro replacement, Markup +@node Embedded @LaTeX{}, Special blocks, Macro replacement, Markup @section Embedded @LaTeX{} @cindex @TeX{} interpretation @cindex @LaTeX{} interpretation @@ -9487,7 +10039,7 @@ Donald E. Knuth's @TeX{} system. Many of the features described here as distinction.} is widely used to typeset scientific documents. Org mode supports embedding @LaTeX{} code into its files, because many academics are used to writing and reading @LaTeX{} source code, and because it can be -readily processed to produce pretty output for a number of export backends. +readily processed to produce pretty output for a number of export back-ends. @menu * Special symbols:: Greek letters and other symbols @@ -9506,11 +10058,11 @@ readily processed to produce pretty output for a number of export backends. @cindex HTML entities @cindex @LaTeX{} entities -You can use @LaTeX{} macros to insert special symbols like @samp{\alpha} to -indicate the Greek letter, or @samp{\to} to indicate an arrow. Completion -for these macros is available, just type @samp{\} and maybe a few letters, +You can use @LaTeX{}-like syntax to insert special symbols like @samp{\alpha} +to indicate the Greek letter, or @samp{\to} to indicate an arrow. Completion +for these symbols is available, just type @samp{\} and maybe a few letters, and press @kbd{M-@key{TAB}} to see possible completions. Unlike @LaTeX{} -code, Org mode allows these macros to be present without surrounding math +code, Org mode allows these symbols to be present without surrounding math delimiters, for example: @example @@ -9519,7 +10071,7 @@ Angles are written as Greek letters \alpha, \beta and \gamma. @vindex org-entities During export, these symbols will be transformed into the native format of -the exporter backend. Strings like @code{\alpha} will be exported as +the exporter back-end. Strings like @code{\alpha} will be exported as @code{α} in the HTML output, and as @code{$\alpha$} in the @LaTeX{} output. Similarly, @code{\nbsp} will become @code{ } in HTML and @code{~} in @LaTeX{}. If you need such a symbol inside a word, terminate it @@ -9531,12 +10083,13 @@ A large number of entities is provided, with names taken from both HTML and @samp{...} are all converted into special commands creating hyphens of different lengths or a compact set of dots. -If you would like to see entities displayed as UTF8 characters, use the +If you would like to see entities displayed as UTF-8 characters, use the following command@footnote{You can turn this on by default by setting the variable @code{org-pretty-entities}, or on a per-file base with the @code{#+STARTUP} option @code{entitiespretty}.}: @table @kbd +@cindex @code{entitiespretty}, STARTUP keyword @kindex C-c C-x \ @item C-c C-x \ Toggle display of entities as UTF-8 characters. This does not change the @@ -9549,31 +10102,23 @@ for display purposes only. @cindex subscript @cindex superscript -Just like in @LaTeX{}, @samp{^} and @samp{_} are used to indicate super- -and subscripts. Again, these can be used without embedding them in -math-mode delimiters. To increase the readability of ASCII text, it is -not necessary (but OK) to surround multi-character sub- and superscripts -with curly braces. For example +Just like in @LaTeX{}, @samp{^} and @samp{_} are used to indicate super- and +subscripts. Again, these can be used without embedding them in math-mode +delimiters. To increase the readability of ASCII text, it is not necessary +(but OK) to surround multi-character sub- and superscripts with curly braces. +For example @example The mass of the sun is M_sun = 1.989 x 10^30 kg. The radius of the sun is R_@{sun@} = 6.96 x 10^8 m. @end example -@vindex org-export-with-sub-superscripts -To avoid interpretation as raised or lowered text, you can quote @samp{^} and -@samp{_} with a backslash: @samp{\^} and @samp{\_}. If you write a text -where the underscore is often used in a different context, Org's convention -to always interpret these as subscripts can get in your way. Configure the -variable @code{org-export-with-sub-superscripts} to globally change this -convention, or use, on a per-file basis: - -@example -#+OPTIONS: ^:@{@} -@end example - -@noindent With this setting, @samp{a_b} will not be interpreted as a -subscript, but @samp{a_@{b@}} will. +@vindex org-use-sub-superscripts +If you write a text where the underscore is often used in a different +context, Org's convention to always interpret these as subscripts can get in +your way. Configure the variable @code{org-use-sub-superscripts} to change +this convention. For example, when setting this variable to @code{@{@}}, +@samp{a_b} will not be interpreted as a subscript, but @samp{a_@{b@}} will. @table @kbd @kindex C-c C-x \ @@ -9589,31 +10134,31 @@ format sub- and superscripts in a WYSIWYM way. @vindex org-format-latex-header Going beyond symbols and sub- and superscripts, a full formula language is needed. Org mode can contain @LaTeX{} math fragments, and it supports ways -to process these for several export backends. When exporting to @LaTeX{}, +to process these for several export back-ends. When exporting to @LaTeX{}, the code is obviously left as it is. When exporting to HTML, Org invokes the @uref{http://www.mathjax.org, MathJax library} (@pxref{Math formatting in HTML export}) to process and display the math@footnote{If you plan to use this regularly or on pages with significant page views, you should install -@file{MathJax} on your own -server in order to limit the load of our server.}. Finally, it can also -process the mathematical expressions into images@footnote{For this to work -you need to be on a system with a working @LaTeX{} installation. You also -need the @file{dvipng} program or the @file{convert}, respectively available -at @url{http://sourceforge.net/projects/dvipng/} and from the -@file{imagemagick} suite. The @LaTeX{} header that will be used when -processing a fragment can be configured with the variable -@code{org-format-latex-header}.} that can be displayed in a browser or in -DocBook documents. +@file{MathJax} on your own server in order to limit the load of our server.}. +Finally, it can also process the mathematical expressions into +images@footnote{For this to work you need to be on a system with a working +@LaTeX{} installation. You also need the @file{dvipng} program or the +@file{convert}, respectively available at +@url{http://sourceforge.net/projects/dvipng/} and from the @file{imagemagick} +suite. The @LaTeX{} header that will be used when processing a fragment can +be configured with the variable @code{org-format-latex-header}.} that can be +displayed in a browser. @LaTeX{} fragments don't need any special marking at all. The following snippets will be identified as @LaTeX{} source code: @itemize @bullet @item Environments of any kind@footnote{When @file{MathJax} is used, only the -environment recognized by @file{MathJax} will be processed. When -@file{dvipng} is used to create images, any @LaTeX{} environments will be -handled.}. The only requirement is that the @code{\begin} statement appears -on a new line, preceded by only whitespace. +environments recognized by @file{MathJax} will be processed. When +@file{dvipng} program or @file{imagemagick} suite is used to create images, +any @LaTeX{} environment will be handled.}. The only requirement is that the +@code{\begin} and @code{\end} statements appear on a new line, at the +beginning of the line or after whitespaces only. @item Text within the usual @LaTeX{} math delimiters. To avoid conflicts with currency specifications, single @samp{$} characters are only recognized as @@ -9627,40 +10172,44 @@ For the other delimiters, there is no such restriction, so when in doubt, use @noindent For example: @example -\begin@{equation@} % arbitrary environments, -x=\sqrt@{b@} % even tables, figures -\end@{equation@} % etc +\begin@{equation@} +x=\sqrt@{b@} +\end@{equation@} If $a^2=b$ and \( b=2 \), then the solution must be either $$ a=+\sqrt@{2@} $$ or \[ a=-\sqrt@{2@} \]. @end example -@noindent -@vindex org-format-latex-options -If you need any of the delimiter ASCII sequences for other purposes, you -can configure the option @code{org-format-latex-options} to deselect the -ones you do not wish to have interpreted by the @LaTeX{} converter. +@c FIXME +@c @noindent +@c @vindex org-format-latex-options +@c If you need any of the delimiter ASCII sequences for other purposes, you +@c can configure the option @code{org-format-latex-options} to deselect the +@c ones you do not wish to have interpreted by the @LaTeX{} converter. -@vindex org-export-with-LaTeX-fragments +@vindex org-export-with-latex @LaTeX{} processing can be configured with the variable -@code{org-export-with-LaTeX-fragments}. The default setting is @code{t} -which means @file{MathJax} for HTML, and no processing for DocBook, ASCII and -@LaTeX{} backends. You can also set this variable on a per-file basis using one -of these lines: +@code{org-export-with-latex}. The default setting is @code{t} which means +@file{MathJax} for HTML, and no processing for ASCII and @LaTeX{} back-ends. +You can also set this variable on a per-file basis using one of these +lines: @example -#+OPTIONS: LaTeX:t @r{Do the right thing automatically (MathJax)} -#+OPTIONS: LaTeX:dvipng @r{Force using dvipng images} -#+OPTIONS: LaTeX:nil @r{Do not process @LaTeX{} fragments at all} -#+OPTIONS: LaTeX:verbatim @r{Verbatim export, for jsMath or so} +#+OPTIONS: tex:t @r{Do the right thing automatically (MathJax)} +#+OPTIONS: tex:nil @r{Do not process @LaTeX{} fragments at all} +#+OPTIONS: tex:verbatim @r{Verbatim export, for jsMath or so} @end example @node Previewing @LaTeX{} fragments, CDLaTeX mode, @LaTeX{} fragments, Embedded @LaTeX{} @subsection Previewing @LaTeX{} fragments @cindex @LaTeX{} fragments, preview -If you have @file{dvipng} installed, @LaTeX{} fragments can be processed to -produce preview images of the typeset expressions: +@vindex org-latex-create-formula-image-program +If you have @file{dvipng} or @file{imagemagick} installed@footnote{Choose the +converter by setting the variable +@code{org-latex-create-formula-image-program} accordingly.}, @LaTeX{} +fragments can be processed to produce preview images of the typeset +expressions: @table @kbd @kindex C-c C-x C-l @@ -9682,6 +10231,19 @@ some aspects of the preview. In particular, the @code{:scale} (and for HTML export, @code{:html-scale}) property can be used to adjust the size of the preview images. +@vindex org-startup-with-latex-preview +You can turn on the previewing of all @LaTeX{} fragments in a file with + +@example +#+STARTUP: latexpreview +@end example + +To disable it, simply use + +@example +#+STARTUP: nolatexpreview +@end example + @node CDLaTeX mode, , Previewing @LaTeX{} fragments, Embedded @LaTeX{} @subsection Using CD@LaTeX{} to enter math @cindex CD@LaTeX{} @@ -9694,7 +10256,7 @@ some of the features of CD@LaTeX{} mode. You need to install AUC@TeX{}) from @url{http://www.astro.uva.nl/~dominik/Tools/cdlatex}. Don't use CD@LaTeX{} mode itself under Org mode, but use the light version @code{org-cdlatex-mode} that comes as part of Org mode. Turn it -on for the current buffer with @code{M-x org-cdlatex-mode}, or for all +on for the current buffer with @kbd{M-x org-cdlatex-mode RET}, or for all Org files with @lisp @@ -9719,7 +10281,7 @@ the second brace. Even outside fragments, @key{TAB} will expand environment abbreviations at the beginning of a line. For example, if you write @samp{equ} at the beginning of a line and press @key{TAB}, this abbreviation will be expanded to an @code{equation} environment. -To get a list of all abbreviations, type @kbd{M-x cdlatex-command-help}. +To get a list of all abbreviations, type @kbd{M-x cdlatex-command-help RET}. @item @kindex _ @kindex ^ @@ -9743,235 +10305,394 @@ modification will work only inside @LaTeX{} fragments; outside the quote is normal. @end itemize +@node Special blocks, , Embedded @LaTeX{}, Markup +@section Special blocks +@cindex Special blocks + +Org syntax includes pre-defined blocks (@pxref{Paragraphs} and @ref{Literal +examples}). It is also possible to create blocks containing raw code +targeted at a specific back-ends (e.g., @samp{#+BEGIN_LATEX}). + +Any other block is a @emph{special block}. Each export back-end decides if +they should be exported, and how. When the block is ignored, its contents +are still exported, as if the block were not there. For example, when +exporting a @samp{#+BEGIN_TEST} block, HTML back-end wraps its contents +within @samp{
} tag. Refer to back-end specific +documentation for more information. + @node Exporting, Publishing, Markup, Top @chapter Exporting @cindex exporting -Org mode documents can be exported into a variety of other formats. For -printing and sharing of notes, ASCII export produces a readable and simple -version of an Org file. HTML export allows you to publish a notes file on -the web, while the XOXO format provides a solid base for exchange with a -broad range of other applications. @LaTeX{} export lets you use Org mode and -its structured editing functions to easily create @LaTeX{} files. DocBook -export makes it possible to convert Org files to many other formats using -DocBook tools. OpenDocument Text (ODT) export allows seamless -collaboration across organizational boundaries. For project management you -can create gantt and resource charts by using TaskJuggler export. To -incorporate entries with associated times like deadlines or appointments into -a desktop calendar program like iCal, Org mode can also produce extracts in -the iCalendar format. Currently, Org mode only supports export, not import of -these different formats. - -Org supports export of selected regions when @code{transient-mark-mode} is -enabled (default in Emacs 23). +The Org mode export facilities can be used to export Org documents or parts +of Org documents to a variety of other formats. In addition, these +facilities can be used with @code{orgtbl-mode} and/or @code{orgstruct-mode} +in foreign buffers so you can author tables and lists in Org syntax and +convert them in place to the target language. + +ASCII export produces a readable and simple version of an Org file for +printing and sharing notes. HTML export allows you to easily publish notes +on the web, or to build full-fledged websites. @LaTeX{} export lets you use +Org mode and its structured editing functions to create arbitrarily complex +@LaTeX{} files for any kind of document. OpenDocument Text (ODT) export +allows seamless collaboration across organizational boundaries. Markdown +export lets you seamlessly collaborate with other developers. Finally, iCal +export can extract entries with deadlines or appointments to produce a file +in the iCalendar format. @menu -* Selective export:: Using tags to select and exclude trees -* Export options:: Per-file export settings -* The export dispatcher:: How to access exporter commands +* The Export Dispatcher:: The main exporter interface +* Export back-ends:: Built-in export formats +* Export settings:: Generic export settings * ASCII/Latin-1/UTF-8 export:: Exporting to flat files with encoding +* Beamer export:: Exporting as a Beamer presentation * HTML export:: Exporting to HTML * @LaTeX{} and PDF export:: Exporting to @LaTeX{}, and processing to PDF -* DocBook export:: Exporting to DocBook +* Markdown export:: Exporting to Markdown * OpenDocument Text export:: Exporting to OpenDocument Text -* TaskJuggler export:: Exporting to TaskJuggler -* Freemind export:: Exporting to Freemind mind maps -* XOXO export:: Exporting to XOXO -* iCalendar export:: Exporting in iCalendar format +* iCalendar export:: Exporting to iCalendar +* Other built-in back-ends:: Exporting to @code{Texinfo}, a man page, or Org +* Export in foreign buffers:: Author tables in lists in Org syntax +* Advanced configuration:: Fine-tuning the export output @end menu -@node Selective export, Export options, Exporting, Exporting -@section Selective export -@cindex export, selective by tags or TODO keyword +@node The Export Dispatcher, Export back-ends, Exporting, Exporting +@section The Export Dispatcher +@vindex org-export-dispatch-use-expert-ui +@cindex Export, dispatcher + +The main entry point for export related tasks is the dispatcher, a +hierarchical menu from which it is possible to select an export format and +toggle export options@footnote{It is also possible to use a less intrusive +interface by setting @code{org-export-dispatch-use-expert-ui} to a +non-@code{nil} value. In that case, only a prompt is visible from the +minibuffer. From there one can still switch back to regular menu by pressing +@key{?}.} from which it is possible to select an export format and to toggle +export options. + +@c @quotation +@table @asis +@orgcmd{C-c C-e,org-export-dispatch} -@vindex org-export-select-tags -@vindex org-export-exclude-tags -@cindex org-export-with-tasks -You may use tags to select the parts of a document that should be exported, -or to exclude parts from export. This behavior is governed by two variables: -@code{org-export-select-tags} and @code{org-export-exclude-tags}, -respectively defaulting to @code{'(:export:)} and @code{'(:noexport:)}. +Dispatch for export and publishing commands. When called with a @kbd{C-u} +prefix argument, repeat the last export command on the current buffer while +preserving toggled options. If the current buffer hasn't changed and subtree +export was activated, the command will affect that same subtree. +@end table +@c @end quotation -@enumerate -@item -Org first checks if any of the @emph{select} tags is present in the -buffer. If yes, all trees that do not carry one of these tags will be -excluded. If a selected tree is a subtree, the heading hierarchy above it -will also be selected for export, but not the text below those headings. +Normally the entire buffer is exported, but if there is an active region +only that part of the buffer will be exported. -@item -If none of the select tags is found, the whole buffer will be selected for -export. +Several export options (@pxref{Export settings}) can be toggled from the +export dispatcher with the following key combinations: -@item -Finally, all subtrees that are marked by any of the @emph{exclude} tags will -be removed from the export buffer. -@end enumerate +@table @kbd +@item C-a +@vindex org-export-async-init-file +Toggle asynchronous export. Asynchronous export uses an external Emacs +process that is configured with a specified initialization file. -The variable @code{org-export-with-tasks} can be configured to select which -kind of tasks should be included for export. See the docstring of the -variable for more information. +While exporting asynchronously, the output is not displayed. It is stored in +a list called ``the export stack'', and can be viewed from there. The stack +can be reached by calling the dispatcher with a double @kbd{C-u} prefix +argument, or with @kbd{&} key from the dispatcher. -@node Export options, The export dispatcher, Selective export, Exporting -@section Export options -@cindex options, for export +@vindex org-export-in-background +To make this behaviour the default, customize the variable +@code{org-export-in-background}. -@cindex completion, of option keywords -The exporter recognizes special lines in the buffer which provide -additional information. These lines may be put anywhere in the file. -The whole set of lines can be inserted into the buffer with @kbd{C-c -C-e t}. For individual lines, a good way to make sure the keyword is -correct is to type @samp{#+} and then use @kbd{M-@key{TAB}} completion -(@pxref{Completion}). For a summary of other in-buffer settings not -specifically related to export, see @ref{In-buffer settings}. -In particular, note that you can place commonly-used (export) options in -a separate file which can be included using @code{#+SETUPFILE}. +@item C-b +Toggle body-only export. Its effect depends on the back-end used. +Typically, if the back-end has a header section (like @code{...} +in the HTML back-end), a body-only export will not include this header. + +@item C-s +@vindex org-export-initial-scope +Toggle subtree export. The top heading becomes the document title. + +You can change the default state of this option by setting +@code{org-export-initial-scope}. + +@item C-v +Toggle visible-only export. Only export the text that is currently +visible, i.e. not hidden by outline visibility in the buffer. -@table @kbd -@orgcmd{C-c C-e t,org-insert-export-options-template} -Insert template with export options, see example below. @end table -@cindex #+TITLE -@cindex #+AUTHOR -@cindex #+DATE -@cindex #+EMAIL -@cindex #+DESCRIPTION -@cindex #+KEYWORDS -@cindex #+LANGUAGE -@cindex #+TEXT -@cindex #+OPTIONS -@cindex #+BIND -@cindex #+LINK_UP -@cindex #+LINK_HOME -@cindex #+EXPORT_SELECT_TAGS -@cindex #+EXPORT_EXCLUDE_TAGS -@cindex #+XSLT -@cindex #+LaTeX_HEADER +@vindex org-export-copy-to-kill-ring +With the exception of asynchronous export, a successful export process writes +its output to the kill-ring. You can configure this behavior by altering the +option @code{org-export-copy-to-kill-ring}. + +@node Export back-ends, Export settings, The Export Dispatcher, Exporting +@section Export back-ends +@cindex Export, back-ends + +An export back-end is a library that translates Org syntax into a foreign +format. An export format is not available until the proper back-end has been +loaded. + +@vindex org-export-backends +By default, the following four back-ends are loaded: @code{ascii}, +@code{html}, @code{icalendar} and @code{latex}. It is possible to add more +(or remove some) by customizing @code{org-export-backends}. + +Built-in back-ends include: + +@itemize +@item ascii (ASCII format) +@item beamer (@LaTeX{} Beamer format) +@item html (HTML format) +@item icalendar (iCalendar format) +@item latex (@LaTeX{} format) +@item man (Man page format) +@item md (Markdown format) +@item odt (OpenDocument Text format) +@item texinfo (Texinfo format) +@end itemize + +Other back-ends might be found in the @code{contrib/} directory +(@pxref{Installation}). + +@node Export settings, ASCII/Latin-1/UTF-8 export, Export back-ends, Exporting +@section Export settings +@cindex Export, settings + +Export options can be set: globally with variables; for an individual file by +making variables buffer-local with in-buffer settings (@pxref{In-buffer +settings}), by setting individual keywords, or by specifying them in a +compact form with the @code{#+OPTIONS} keyword; or for a tree by setting +properties (@pxref{Properties and Columns}). Options set at a specific level +override options set at a more general level. + +@cindex #+SETUPFILE +In-buffer settings may appear anywhere in the file, either directly or +indirectly through a file included using @samp{#+SETUPFILE: filename} syntax. +Option keyword sets tailored to a particular back-end can be inserted from +the export dispatcher (@pxref{The Export Dispatcher}) using the @code{Insert +template} command by pressing @key{#}. To insert keywords individually, +a good way to make sure the keyword is correct is to type @code{#+} and then +to use @kbd{M-} for completion. + +The export keywords available for every back-end, and their equivalent global +variables, include: + +@table @samp +@item AUTHOR @vindex user-full-name +The document author (@code{user-full-name}). + +@item CREATOR +@vindex org-export-creator-string +Entity responsible for output generation (@code{org-export-creator-string}). + +@item DATE +@vindex org-export-date-timestamp-format +A date or a time-stamp@footnote{The variable +@code{org-export-date-timestamp-format} defines how this time-stamp will be +exported.}. + +@item DESCRIPTION +The document description. Back-ends handle it as they see fit (e.g., for the +XHTML meta tag), if at all. You can use several such keywords for long +descriptions. + +@item EMAIL @vindex user-mail-address +The email address (@code{user-mail-address}). + +@item KEYWORDS +The keywords defining the contents of the document. Back-ends handle it as +they see fit (e.g., for the XHTML meta tag), if at all. You can use several +such keywords if the list is long. + +@item LANGUAGE @vindex org-export-default-language -@vindex org-export-date-timestamp-format -@example -#+TITLE: the title to be shown (default is the buffer name) -#+AUTHOR: the author (default taken from @code{user-full-name}) -#+DATE: a date, an Org timestamp@footnote{@code{org-export-date-timestamp-format} defines how this timestamp will be exported.}, or a format string for @code{format-time-string} -#+EMAIL: his/her email address (default from @code{user-mail-address}) -#+DESCRIPTION: the page description, e.g., for the XHTML meta tag -#+KEYWORDS: the page keywords, e.g., for the XHTML meta tag -#+LANGUAGE: language for HTML, e.g., @samp{en} (@code{org-export-default-language}) -#+TEXT: Some descriptive text to be inserted at the beginning. -#+TEXT: Several lines may be given. -#+OPTIONS: H:2 num:t toc:t \n:nil @@:t ::t |:t ^:t f:t TeX:t ... -#+BIND: lisp-var lisp-val, e.g., @code{org-export-latex-low-levels itemize} - @r{You need to confirm using these, or configure @code{org-export-allow-BIND}} -#+LINK_UP: the ``up'' link of an exported page -#+LINK_HOME: the ``home'' link of an exported page -#+LaTeX_HEADER: extra line(s) for the @LaTeX{} header, like \usepackage@{xyz@} -#+EXPORT_SELECT_TAGS: Tags that select a tree for export -#+EXPORT_EXCLUDE_TAGS: Tags that exclude a tree from export -#+XSLT: the XSLT stylesheet used by DocBook exporter to generate FO file -@end example +The language used for translating some strings +(@code{org-export-default-language}). E.g., @samp{#+LANGUAGE: fr} will tell +Org to translate @emph{File} (english) into @emph{Fichier} (french) in the +clocktable. -@noindent -The @code{#+OPTIONS} line is a compact@footnote{If you want to configure many options -this way, you can use several @code{#+OPTIONS} lines.} form to specify export -settings. Here you can: -@cindex headline levels -@cindex section-numbers -@cindex table of contents -@cindex line-break preservation -@cindex quoted HTML tags -@cindex fixed-width sections -@cindex tables -@cindex @TeX{}-like syntax for sub- and superscripts -@cindex footnotes -@cindex special strings -@cindex emphasized text -@cindex @TeX{} macros -@cindex @LaTeX{} fragments -@cindex author info, in export -@cindex time info, in export -@vindex org-export-plist-vars -@vindex org-export-author-info -@vindex org-export-creator-info -@vindex org-export-email-info +@item SELECT_TAGS +@vindex org-export-select-tags +The tags that select a tree for export (@code{org-export-select-tags}). The +default value is @code{:export:}. Within a subtree tagged with +@code{:export:}, you can still exclude entries with @code{:noexport:} (see +below). + +@item EXCLUDE_TAGS +The tags that exclude a tree from export (@code{org-export-exclude-tags}). +The default value is @code{:noexport:}. Entries with the @code{:noexport:} +tag will be unconditionally excluded from the export, even if they have an +@code{:export:} tag. + +@item TITLE +The title to be shown (otherwise derived from buffer's name). You can use +several such keywords for long titles. +@end table + +The @code{#+OPTIONS} keyword is a compact@footnote{If you want to configure +many options this way, you can use several @code{#+OPTIONS} lines.} form that +recognizes the following arguments: + +@table @code +@item ': +@vindex org-export-with-smart-quotes +Toggle smart quotes (@code{org-export-with-smart-quotes}). + +@item *: +Toggle emphasized text (@code{org-export-with-emphasize}). + +@item -: +@vindex org-export-with-special-strings +Toggle conversion of special strings +(@code{org-export-with-special-strings}). + +@item :: +@vindex org-export-with-fixed-width +Toggle fixed-width sections +(@code{org-export-with-fixed-width}). + +@item <: +@vindex org-export-with-timestamps +Toggle inclusion of any time/date active/inactive stamps +(@code{org-export-with-timestamps}). + +@item : +@vindex org-export-preserve-breaks +Toggle line-break-preservation (@code{org-export-preserve-breaks}). + +@item ^: +@vindex org-export-with-sub-superscripts +Toggle @TeX{}-like syntax for sub- and superscripts. If you write "^:@{@}", +@samp{a_@{b@}} will be interpreted, but the simple @samp{a_b} will be left as +it is (@code{org-export-with-sub-superscripts}). + +@item arch: +@vindex org-export-with-archived-trees +Configure export of archived trees. Can be set to @code{headline} to only +process the headline, skipping its contents +(@code{org-export-with-archived-trees}). + +@item author: +@vindex org-export-with-author +Toggle inclusion of author name into exported file +(@code{org-export-with-author}). + +@item c: +@vindex org-export-with-clocks +Toggle inclusion of CLOCK keywords (@code{org-export-with-clocks}). + +@item creator: +@vindex org-export-with-creator +Configure inclusion of creator info into exported file. It may be set to +@code{comment} (@code{org-export-with-creator}). + +@item d: +@vindex org-export-with-drawers +Toggle inclusion of drawers, or list drawers to include +(@code{org-export-with-drawers}). + +@item e: +@vindex org-export-with-entities +Toggle inclusion of entities (@code{org-export-with-entities}). + +@item email: +@vindex org-export-with-email +Toggle inclusion of the author's e-mail into exported file +(@code{org-export-with-email}). + +@item f: +@vindex org-export-with-footnotes +Toggle the inclusion of footnotes (@code{org-export-with-footnotes}). + +@item H: +@vindex org-export-headline-levels +Set the number of headline levels for export +(@code{org-export-headline-levels}). Below that level, headlines are treated +differently. In most back-ends, they become list items. + +@item inline: +@vindex org-export-with-inlinetasks +Toggle inclusion of inlinetasks (@code{org-export-with-inlinetasks}). + +@item num: +@vindex org-export-with-section-numbers +Toggle section-numbers (@code{org-export-with-section-numbers}). It can also +be set to a number @samp{n}, so only headlines at that level or above will be +numbered. + +@item p: +@vindex org-export-with-planning +Toggle export of planning information (@code{org-export-with-planning}). +``Planning information'' is the line containing the @code{SCHEDULED:}, the +@code{DEADLINE:} or the @code{CLOSED:} cookies or a combination of them. + +@item pri: +@vindex org-export-with-priority +Toggle inclusion of priority cookies (@code{org-export-with-priority}). + +@item stat: +@vindex org-export-with-statistics-cookies +Toggle inclusion of statistics cookies +(@code{org-export-with-statistics-cookies}). + +@item tags: +@vindex org-export-with-tags +Toggle inclusion of tags, may also be @code{not-in-toc} +(@code{org-export-with-tags}). + +@item tasks: +@vindex org-export-with-tasks +Toggle inclusion of tasks (TODO items), can be @code{nil} to remove all +tasks, @code{todo} to remove DONE tasks, or a list of keywords to keep +(@code{org-export-with-tasks}). + +@item tex: +@vindex org-export-with-latex +Configure export of @LaTeX{} fragments and environments. It may be set to +@code{verbatim} (@code{org-export-with-latex}). + +@item timestamp: @vindex org-export-time-stamp-file -@example -H: @r{set the number of headline levels for export} -num: @r{turn on/off section-numbers} -toc: @r{turn on/off table of contents, or set level limit (integer)} -\n: @r{turn on/off line-break-preservation (DOES NOT WORK)} -@@: @r{turn on/off quoted HTML tags} -:: @r{turn on/off fixed-width sections} -|: @r{turn on/off tables} -^: @r{turn on/off @TeX{}-like syntax for sub- and superscripts. If} - @r{you write "^:@{@}", @code{a_@{b@}} will be interpreted, but} - @r{the simple @code{a_b} will be left as it is.} --: @r{turn on/off conversion of special strings.} -f: @r{turn on/off footnotes like this[1].} -todo: @r{turn on/off inclusion of TODO keywords into exported text} -tasks: @r{turn on/off inclusion of tasks (TODO items), can be nil to remove} - @r{all tasks, @code{todo} to remove DONE tasks, or list of kwds to keep} -pri: @r{turn on/off priority cookies} -tags: @r{turn on/off inclusion of tags, may also be @code{not-in-toc}} -<: @r{turn on/off inclusion of any time/date stamps like DEADLINES} -*: @r{turn on/off emphasized text (bold, italic, underlined)} -TeX: @r{turn on/off simple @TeX{} macros in plain text} -LaTeX: @r{configure export of @LaTeX{} fragments. Default @code{auto}} -skip: @r{turn on/off skipping the text before the first heading} -author: @r{turn on/off inclusion of author name/email into exported file} -email: @r{turn on/off inclusion of author email into exported file} -creator: @r{turn on/off inclusion of creator info into exported file} -timestamp: @r{turn on/off inclusion creation time into exported file} -d: @r{turn on/off inclusion of drawers, or list drawers to include} -@end example -@noindent -These options take effect in both the HTML and @LaTeX{} export, except for -@code{TeX} and @code{LaTeX} options, which are respectively @code{t} and -@code{nil} for the @LaTeX{} export. - -The default values for these and many other options are given by a set of -variables. For a list of such variables, the corresponding OPTIONS keys and -also the publishing keys (@pxref{Project alist}), see the constant -@code{org-export-plist-vars}. - -When exporting only a single subtree by selecting it with @kbd{C-c @@} before -calling an export command, the subtree can overrule some of the file's export -settings with properties @code{EXPORT_FILE_NAME}, @code{EXPORT_TITLE}, -@code{EXPORT_TEXT}, @code{EXPORT_AUTHOR}, @code{EXPORT_DATE}, and -@code{EXPORT_OPTIONS}. - -@node The export dispatcher, ASCII/Latin-1/UTF-8 export, Export options, Exporting -@section The export dispatcher -@cindex dispatcher, for export commands - -All export commands can be reached using the export dispatcher, which is a -prefix key that prompts for an additional key specifying the command. -Normally the entire file is exported, but if there is an active region that -contains one outline tree, the first heading is used as document title and -the subtrees are exported. +Toggle inclusion of the creation time into exported file +(@code{org-export-time-stamp-file}). -@table @kbd -@orgcmd{C-c C-e,org-export} -@vindex org-export-run-in-background -Dispatcher for export and publishing commands. Displays a help-window -listing the additional key(s) needed to launch an export or publishing -command. The prefix arg is passed through to the exporter. A double prefix -@kbd{C-u C-u} causes most commands to be executed in the background, in a -separate Emacs process@footnote{To make this behavior the default, customize -the variable @code{org-export-run-in-background}.}. -@orgcmd{C-c C-e v,org-export-visible} -Like @kbd{C-c C-e}, but only export the text that is currently visible -(i.e., not hidden by outline visibility). -@orgcmd{C-u C-u C-c C-e,org-export} -@vindex org-export-run-in-background -Call the exporter, but reverse the setting of -@code{org-export-run-in-background}, i.e., request background processing if -not set, or force processing in the current Emacs process if set. +@item toc: +@vindex org-export-with-toc +Toggle inclusion of the table of contents, or set the level limit +(@code{org-export-with-toc}). + +@item todo: +@vindex org-export-with-todo-keywords +Toggle inclusion of TODO keywords into exported text +(@code{org-export-with-todo-keywords}). + +@item |: +@vindex org-export-with-tables +Toggle inclusion of tables (@code{org-export-with-tables}). @end table -@node ASCII/Latin-1/UTF-8 export, HTML export, The export dispatcher, Exporting +@cindex property, EXPORT_FILE_NAME +When exporting only a subtree, each of the previous keywords@footnote{With +the exception of @samp{SETUPFILE}.} can be overriden locally by special node +properties. These begin with @samp{EXPORT_}, followed by the name of the +keyword they supplant. For example, @samp{DATE} and @samp{OPTIONS} keywords +become, respectively, @samp{EXPORT_DATE} and @samp{EXPORT_OPTIONS} +properties. Subtree export also supports the self-explicit +@samp{EXPORT_FILE_NAME} property@footnote{There is no buffer-wide equivalent +for this property. The file name in this case is derived from the file +associated to the buffer, if possible, or asked to the user otherwise.}. + +@cindex #+BIND +@vindex org-export-allow-bind-keywords +If @code{org-export-allow-bind-keywords} is non-@code{nil}, Emacs variables +can become buffer-local during export by using the BIND keyword. Its syntax +is @samp{#+BIND: variable value}. This is particularly useful for in-buffer +settings that cannot be changed using specific keywords. + +@node ASCII/Latin-1/UTF-8 export, Beamer export, Export settings, Exporting @section ASCII/Latin-1/UTF-8 export @cindex ASCII export @cindex Latin-1 export @@ -9981,58 +10702,277 @@ ASCII export produces a simple and very readable version of an Org mode file, containing only plain ASCII@. Latin-1 and UTF-8 export augment the file with special characters and symbols available in these encodings. -@cindex region, active -@cindex active region -@cindex transient-mark-mode +@vindex org-ascii-links-to-notes +Links are exported in a footnote-like style, with the descriptive part in the +text and the link in a note before the next heading. See the variable +@code{org-ascii-links-to-notes} for details and other options. + +@subheading ASCII export commands + @table @kbd -@orgcmd{C-c C-e a,org-export-as-ascii} -@cindex property, EXPORT_FILE_NAME +@orgcmd{C-c C-e t a/l/u,org-ascii-export-to-ascii} Export as an ASCII file. For an Org file, @file{myfile.org}, the ASCII file -will be @file{myfile.txt}. The file will be overwritten without -warning. If there is an active region@footnote{This requires -@code{transient-mark-mode} be turned on.}, only the region will be -exported. If the selected region is a single tree@footnote{To select the -current subtree, use @kbd{C-c @@}.}, the tree head will -become the document title. If the tree head entry has or inherits an -@code{EXPORT_FILE_NAME} property, that name will be used for the -export. -@orgcmd{C-c C-e A,org-export-as-ascii-to-buffer} +will be @file{myfile.txt}. The file will be overwritten without warning. +When the original file is @file{myfile.txt}, the resulting file becomes +@file{myfile.txt.txt} in order to prevent data loss. +@orgcmd{C-c C-e t A/L/U,org-ascii-export-as-ascii} Export to a temporary buffer. Do not create a file. -@orgcmd{C-c C-e n,org-export-as-latin1} -@xorgcmd{C-c C-e N,org-export-as-latin1-to-buffer} -Like the above commands, but use Latin-1 encoding. -@orgcmd{C-c C-e u,org-export-as-utf8} -@xorgcmd{C-c C-e U,org-export-as-utf8-to-buffer} -Like the above commands, but use UTF-8 encoding. -@item C-c C-e v a/n/u -Export only the visible part of the document. @end table -@cindex headline levels, for exporting -In the exported version, the first 3 outline levels will become -headlines, defining a general document structure. Additional levels -will be exported as itemized lists. If you want that transition to occur -at a different level, specify it with a prefix argument. For example, +@subheading Header and sectioning structure + +In the exported version, the first three outline levels become headlines, +defining a general document structure. Additional levels are exported as +lists. The transition can also occur at a different level (@pxref{Export +settings}). + +@subheading Quoting ASCII text + +You can insert text that will only appear when using @code{ASCII} back-end +with the following constructs: + +@cindex #+ASCII +@cindex #+BEGIN_ASCII +@example +Text @@@@ascii:and additional text@@@@ within a paragraph. + +#+ASCII: Some text + +#+BEGIN_ASCII +All lines in this block will appear only when using this back-end. +#+END_ASCII +@end example + +@subheading ASCII specific attributes +@cindex #+ATTR_ASCII +@cindex horizontal rules, in ASCII export + +@code{ASCII} back-end only understands one attribute, @code{:width}, which +specifies the length, in characters, of a given horizontal rule. It must be +specified using an @code{ATTR_ASCII} line, directly preceding the rule. + +@example +#+ATTR_ASCII: :width 10 +----- +@end example + +@node Beamer export, HTML export, ASCII/Latin-1/UTF-8 export, Exporting +@section Beamer export +@cindex Beamer export + +The @LaTeX{} class @emph{Beamer} allows production of high quality +presentations using @LaTeX{} and pdf processing. Org mode has special +support for turning an Org mode file or tree into a Beamer presentation. + +@subheading Beamer export commands + +@table @kbd +@orgcmd{C-c C-e l b,org-beamer-export-to-latex} +Export as a @LaTeX{} file. For an Org file @file{myfile.org}, the @LaTeX{} +file will be @file{myfile.tex}. The file will be overwritten without +warning. +@orgcmd{C-c C-e l B,org-beamer-export-as-latex} +Export to a temporary buffer. Do not create a file. +@orgcmd{C-c C-e l P,org-beamer-export-to-pdf} +Export as @LaTeX{} and then process to PDF. +@item C-c C-e l O +Export as @LaTeX{} and then process to PDF, then open the resulting PDF file. +@end table + +@subheading Sectioning, Frames and Blocks + +Any tree with not-too-deep level nesting should in principle be exportable as +a Beamer presentation. Headlines fall into three categories: sectioning +elements, frames and blocks. + +@itemize @minus +@item +@vindex org-beamer-frame-level +Headlines become frames when their level is equal to +@code{org-beamer-frame-level} or @code{H} value in an @code{OPTIONS} line +(@pxref{Export settings}). + +@cindex property, BEAMER_ENV +Though, if a headline in the current tree has a @code{BEAMER_ENV} property +set to either to @code{frame} or @code{fullframe}, its level overrides the +variable. A @code{fullframe} is a frame with an empty (ignored) title. + +@item +@vindex org-beamer-environments-default +@vindex org-beamer-environments-extra +All frame's children become @code{block} environments. Special block types +can be enforced by setting headline's @code{BEAMER_ENV} property@footnote{If +this property is set, the entry will also get a @code{:B_environment:} tag to +make this visible. This tag has no semantic meaning, it is only a visual +aid.} to an appropriate value (see @code{org-beamer-environments-default} for +supported values and @code{org-beamer-environments-extra} for adding more). + +@item +@cindex property, BEAMER_REF +As a special case, if the @code{BEAMER_ENV} property is set to either +@code{appendix}, @code{note}, @code{noteNH} or @code{againframe}, the +headline will become, respectively, an appendix, a note (within frame or +between frame, depending on its level), a note with its title ignored or an +@code{\againframe} command. In the latter case, a @code{BEAMER_REF} property +is mandatory in order to refer to the frame being resumed, and contents are +ignored. + +Also, a headline with an @code{ignoreheading} environment will have its +contents only inserted in the output. This special value is useful to have +data between frames, or to properly close a @code{column} environment. +@end itemize + +@cindex property, BEAMER_ACT +@cindex property, BEAMER_OPT +Headlines also support @code{BEAMER_ACT} and @code{BEAMER_OPT} properties. +The former is translated as an overlay/action specification, or a default +overlay specification when enclosed within square brackets. The latter +specifies options@footnote{The @code{fragile} option is added automatically +if it contains code that requires a verbatim environment, though.} for the +current frame or block. The export back-end will automatically wrap +properties within angular or square brackets when appropriate. + +@cindex property, BEAMER_COL +Moreover, headlines handle the @code{BEAMER_COL} property. Its value should +be a decimal number representing the width of the column as a fraction of the +total text width. If the headline has no specific environment, its title +will be ignored and its contents will fill the column created. Otherwise, +the block will fill the whole column and the title will be preserved. Two +contiguous headlines with a non-@code{nil} @code{BEAMER_COL} value share the same +@code{columns} @LaTeX{} environment. It will end before the next headline +without such a property. This environment is generated automatically. +Although, it can also be explicitly created, with a special @code{columns} +value for @code{BEAMER_ENV} property (if it needs to be set up with some +specific options, for example). + +@subheading Beamer specific syntax + +Beamer back-end is an extension of @LaTeX{} back-end. As such, all @LaTeX{} +specific syntax (e.g., @samp{#+LATEX:} or @samp{#+ATTR_LATEX:}) is +recognized. See @ref{@LaTeX{} and PDF export} for more information. + +@cindex #+BEAMER_THEME +@cindex #+BEAMER_COLOR_THEME +@cindex #+BEAMER_FONT_THEME +@cindex #+BEAMER_INNER_THEME +@cindex #+BEAMER_OUTER_THEME +Beamer export introduces a number of keywords to insert code in the +document's header. Four control appearance of the presentantion: +@code{#+BEAMER_THEME}, @code{#+BEAMER_COLOR_THEME}, +@code{#+BEAMER_FONT_THEME}, @code{#+BEAMER_INNER_THEME} and +@code{#+BEAMER_OUTER_THEME}. All of them accept optional arguments +within square brackets. The last one, @code{#+BEAMER_HEADER}, is more +generic and allows you to append any line of code in the header. + +@example +#+BEAMER_THEME: Rochester [height=20pt] +#+BEAMER_COLOR_THEME: spruce +@end example + +Table of contents generated from @code{toc:t} @code{OPTION} keyword are +wrapped within a @code{frame} environment. Those generated from a @code{TOC} +keyword (@pxref{Table of contents}) are not. In that case, it is also +possible to specify options, enclosed within square brackets. + +@example +#+TOC: headlines [currentsection] +@end example + +Beamer specific code can be inserted with the following constructs: + +@cindex #+BEAMER +@cindex #+BEGIN_BEAMER +@example +#+BEAMER: \pause + +#+BEGIN_BEAMER +All lines in this block will appear only when using this back-end. +#+END_BEAMER + +Text @@@@beamer:some code@@@@ within a paragraph. +@end example + +In particular, this last example can be used to add overlay specifications to +objects whose type is among @code{bold}, @code{item}, @code{link}, +@code{radio-target} and @code{target}, when the value is enclosed within +angular brackets and put at the beginning the object. + +@example +A *@@@@beamer:<2->@@@@useful* feature +@end example + +@cindex #+ATTR_BEAMER +Eventually, every plain list has support for @code{:environment}, +@code{:overlay} and @code{:options} attributes through +@code{ATTR_BEAMER} affiliated keyword. The first one allows the use +of a different environment, the second sets overlay specifications and +the last one inserts optional arguments in current list environment. + +@example +#+ATTR_BEAMER: :overlay +- +- item 1 +- item 2 +@end example + +@subheading Editing support + +You can turn on a special minor mode @code{org-beamer-mode} for faster +editing with: + +@example +#+STARTUP: beamer +@end example + +@table @kbd +@orgcmd{C-c C-b,org-beamer-select-environment} +In @code{org-beamer-mode}, this key offers fast selection of a Beamer +environment or the @code{BEAMER_COL} property. +@end table + +Also, a template for useful in-buffer settings or properties can be inserted +into the buffer with @kbd{M-x org-beamer-insert-options-template}. Among +other things, this will install a column view format which is very handy for +editing special properties used by Beamer. + +@subheading An example -@example -@kbd{C-1 C-c C-e a} -@end example +Here is a simple example Org document that is intended for Beamer export. -@noindent -creates only top level headlines and exports the rest as items. When -headlines are converted to items, the indentation of the text following -the headline is changed to fit nicely under the item. This is done with -the assumption that the first body line indicates the base indentation of -the body text. Any indentation larger than this is adjusted to preserve -the layout relative to the first line. Should there be lines with less -indentation than the first one, these are left alone. - -@vindex org-export-ascii-links-to-notes -Links will be exported in a footnote-like style, with the descriptive part in -the text and the link in a note before the next heading. See the variable -@code{org-export-ascii-links-to-notes} for details and other options. - -@node HTML export, @LaTeX{} and PDF export, ASCII/Latin-1/UTF-8 export, Exporting +@smallexample +#+TITLE: Example Presentation +#+AUTHOR: Carsten Dominik +#+OPTIONS: H:2 +#+LATEX_CLASS: beamer +#+LATEX_CLASS_OPTIONS: [presentation] +#+BEAMER_THEME: Madrid +#+COLUMNS: %45ITEM %10BEAMER_ENV(Env) %10BEAMER_ACT(Act) %4BEAMER_COL(Col) %8BEAMER_OPT(Opt) + +* This is the first structural section + +** Frame 1 +*** Thanks to Eric Fraga :B_block:BMCOL: + :PROPERTIES: + :BEAMER_COL: 0.48 + :BEAMER_ENV: block + :END: + for the first viable Beamer setup in Org +*** Thanks to everyone else :B_block:BMCOL: + :PROPERTIES: + :BEAMER_COL: 0.48 + :BEAMER_ACT: <2-> + :BEAMER_ENV: block + :END: + for contributing to the discussion +**** This will be formatted as a beamer note :B_note: + :PROPERTIES: + :BEAMER_env: note + :END: +** Frame 2 (where we will not use columns) +*** Request + Please test this stuff! +@end smallexample + +@node HTML export, @LaTeX{} and PDF export, Beamer export, Exporting @section HTML export @cindex HTML export @@ -10042,6 +10982,7 @@ language, but with additional support for tables. @menu * HTML Export commands:: How to invoke HTML export +* HTML doctypes:: Org can export to various (X)HTML flavors * HTML preamble and postamble:: How to insert a preamble and a postamble * Quoting HTML tags:: Using direct HTML in Org mode * Links in HTML export:: How links will be interpreted and formatted @@ -10053,100 +10994,161 @@ language, but with additional support for tables. * JavaScript support:: Info and Folding in a web browser @end menu -@node HTML Export commands, HTML preamble and postamble, HTML export, HTML export +@node HTML Export commands, HTML doctypes, HTML export, HTML export @subsection HTML export commands -@cindex region, active -@cindex active region -@cindex transient-mark-mode @table @kbd -@orgcmd{C-c C-e h,org-export-as-html} -@cindex property, EXPORT_FILE_NAME +@orgcmd{C-c C-e h h,org-html-export-to-html} Export as a HTML file. For an Org file @file{myfile.org}, the HTML file will be @file{myfile.html}. The file will be overwritten -without warning. If there is an active region@footnote{This requires -@code{transient-mark-mode} be turned on.}, only the region will be -exported. If the selected region is a single tree@footnote{To select the -current subtree, use @kbd{C-c @@}.}, the tree head will become the document -title. If the tree head entry has, or inherits, an @code{EXPORT_FILE_NAME} -property, that name will be used for the export. -@orgcmd{C-c C-e b,org-export-as-html-and-open} +without warning. +@kbd{C-c C-e h o} Export as a HTML file and immediately open it with a browser. -@orgcmd{C-c C-e H,org-export-as-html-to-buffer} +@orgcmd{C-c C-e h H,org-html-export-as-html} Export to a temporary buffer. Do not create a file. -@orgcmd{C-c C-e R,org-export-region-as-html} -Export the active region to a temporary buffer. With a prefix argument, do -not produce the file header and footer, but just the plain HTML section for -the region. This is good for cut-and-paste operations. -@item C-c C-e v h/b/H/R -Export only the visible part of the document. -@item M-x org-export-region-as-html -Convert the region to HTML under the assumption that it was in Org mode -syntax before. This is a global command that can be invoked in any -buffer. -@item M-x org-replace-region-by-HTML -Replace the active region (assumed to be in Org mode syntax) by HTML -code. @end table -@cindex headline levels, for exporting -In the exported version, the first 3 outline levels will become headlines, -defining a general document structure. Additional levels will be exported as -itemized lists. If you want that transition to occur at a different level, -specify it with a numeric prefix argument. For example, +@c FIXME Exporting sublevels +@c @cindex headline levels, for exporting +@c In the exported version, the first 3 outline levels will become headlines, +@c defining a general document structure. Additional levels will be exported as +@c itemized lists. If you want that transition to occur at a different level, +@c specify it with a numeric prefix argument. For example, + +@c @example +@c @kbd{C-2 C-c C-e b} +@c @end example + +@c @noindent +@c creates two levels of headings and does the rest as items. + +@node HTML doctypes, HTML preamble and postamble, HTML Export commands, HTML export +@subsection HTML doctypes +@vindex org-html-doctype +@vindex org-html-doctype-alist + +Org can export to various (X)HTML flavors. + +Setting the variable @code{org-html-doctype} allows you to export to different +(X)HTML variants. The exported HTML will be adjusted according to the sytax +requirements of that variant. You can either set this variable to a doctype +string directly, in which case the exporter will try to adjust the syntax +automatically, or you can use a ready-made doctype. The ready-made options +are: + +@itemize +@item +``html4-strict'' +@item +``html4-transitional'' +@item +``html4-frameset'' +@item +``xhtml-strict'' +@item +``xhtml-transitional'' +@item +``xhtml-frameset'' +@item +``xhtml-11'' +@item +``html5'' +@item +``xhtml5'' +@end itemize + +See the variable @code{org-html-doctype-alist} for details. The default is +``xhtml-strict''. + +@subsubheading Fancy HTML5 export +@vindex org-html-html5-fancy +@vindex org-html-html5-elements + +HTML5 introduces several new element types. By default, Org will not make +use of these element types, but you can set @code{org-html-html5-fancy} to +@code{t} (or set @code{html5-fancy} item in an @code{OPTIONS} line), to +enable a few new block-level elements. These are created using arbitrary +#+BEGIN and #+END blocks. For instance: @example -@kbd{C-2 C-c C-e b} +#+BEGIN_ASIDE +Lorem ipsum +#+END_ASIDE @end example -@noindent -creates two levels of headings and does the rest as items. +Will export to: + +@example + +@end example + +While this: + +@example +#+ATTR_HTML: :controls controls :width 350 +#+BEGIN_VIDEO +#+HTML: +#+HTML: +Your browser does not support the video tag. +#+END_VIDEO +@end example + +Becomes: + +@example + +@end example + +Special blocks that do not correspond to HTML5 elements (see +@code{org-html-html5-elements}) will revert to the usual behavior, +i.e. #+BEGIN_LEDERHOSEN will still export to
. +Headlines cannot appear within special blocks. To wrap a headline and its +contents in e.g.
or
tags, set the @code{HTML_CONTAINER} +property on the headline itself. -@node HTML preamble and postamble, Quoting HTML tags, HTML Export commands, HTML export +@node HTML preamble and postamble, Quoting HTML tags, HTML doctypes, HTML export @subsection HTML preamble and postamble -@vindex org-export-html-preamble -@vindex org-export-html-postamble -@vindex org-export-html-preamble-format -@vindex org-export-html-postamble-format -@vindex org-export-html-validation-link -@vindex org-export-author-info -@vindex org-export-email-info -@vindex org-export-creator-info +@vindex org-html-preamble +@vindex org-html-postamble +@vindex org-html-preamble-format +@vindex org-html-postamble-format +@vindex org-html-validation-link +@vindex org-export-creator-string @vindex org-export-time-stamp-file The HTML exporter lets you define a preamble and a postamble. -The default value for @code{org-export-html-preamble} is @code{t}, which -means that the preamble is inserted depending on the relevant format string -in @code{org-export-html-preamble-format}. - -Setting @code{org-export-html-preamble} to a string will override the default -format string. Setting it to a function, will insert the output of the -function, which must be a string; such a function takes no argument but you -can check against the value of @code{opt-plist}, which contains the list of -publishing properties for the current file. Setting to @code{nil} will not -insert any preamble. - -The default value for @code{org-export-html-postamble} is @code{'auto}, which -means that the HTML exporter will look for the value of -@code{org-export-author-info}, @code{org-export-email-info}, -@code{org-export-creator-info} and @code{org-export-time-stamp-file}, -@code{org-export-html-validation-link} and build the postamble from these -values. Setting @code{org-export-html-postamble} to @code{t} will insert the -postamble from the relevant format string found in -@code{org-export-html-postamble-format}. Setting it to @code{nil} will not -insert any postamble. +The default value for @code{org-html-preamble} is @code{t}, which means +that the preamble is inserted depending on the relevant format string in +@code{org-html-preamble-format}. + +Setting @code{org-html-preamble} to a string will override the default format +string. If you set it to a function, it will insert the output of the +function, which must be a string. Setting to @code{nil} will not insert any +preamble. + +The default value for @code{org-html-postamble} is @code{'auto}, which means +that the HTML exporter will look for information about the author, the email, +the creator and the date, and build the postamble from these values. Setting +@code{org-html-postamble} to @code{t} will insert the postamble from the +relevant format string found in @code{org-html-postamble-format}. Setting it +to @code{nil} will not insert any postamble. @node Quoting HTML tags, Links in HTML export, HTML preamble and postamble, HTML export @subsection Quoting HTML tags Plain @samp{<} and @samp{>} are always transformed to @samp{<} and -@samp{>} in HTML export. If you want to include simple HTML tags -which should be interpreted as such, mark them with @samp{@@} as in -@samp{@@bold text@@}. Note that this really works only for -simple tags. For more extensive HTML that should be copied verbatim to -the exported file use either +@samp{>} in HTML export. If you want to include raw HTML code, which +should only appear in HTML export, mark it with @samp{@@@@html:} as in +@samp{@@@@html:@@@@bold text@@@@html:@@@@}. For more extensive HTML +that should be copied verbatim to the exported file use either @cindex #+HTML @cindex #+BEGIN_HTML @@ -10187,37 +11189,42 @@ and @code{style} attributes for a link: @cindex #+ATTR_HTML @example -#+ATTR_HTML: title="The Org mode homepage" style="color:red;" +#+ATTR_HTML: :title The Org mode homepage :style color:red; [[http://orgmode.org]] @end example @node Tables in HTML export, Images in HTML export, Links in HTML export, HTML export @subsection Tables @cindex tables, in HTML -@vindex org-export-html-table-tag +@vindex org-html-table-default-attributes -Org mode tables are exported to HTML using the table tag defined in -@code{org-export-html-table-tag}. The default setting makes tables without -cell borders and frame. If you would like to change this for individual -tables, place something like the following before the table: +Org mode tables are exported to HTML using the table attributes defined in +@code{org-html-table-default-attributes}. The default setting makes tables +without cell borders and frame. If you would like to change this for +individual tables, place something like the following before the table: @cindex #+CAPTION @cindex #+ATTR_HTML @example #+CAPTION: This is a table with lines around and between cells -#+ATTR_HTML: border="2" rules="all" frame="border" +#+ATTR_HTML: :border 2 :rules all :frame border @end example +@vindex org-html-table-row-tags +You can also modify the default tags used for each row by setting +@code{org-html-table-row-tags}. See the docstring for an example on +how to use this option. + @node Images in HTML export, Math formatting in HTML export, Tables in HTML export, HTML export @subsection Images in HTML export @cindex images, inline in HTML @cindex inlining images in HTML -@vindex org-export-html-inline-images +@vindex org-html-inline-images HTML export can inline images given as links in the Org file, and it can make an image the clickable part of a link. By default@footnote{But see the variable -@code{org-export-html-inline-images}.}, images are inlined if a link does +@code{org-html-inline-images}.}, images are inlined if a link does not have a description. So @samp{[[file:myimg.jpg]]} will be inlined, while @samp{[[file:myimg.jpg][the image]]} will just produce a link @samp{the image} that points to the image. If the description part @@ -10238,7 +11245,7 @@ support text viewers and accessibility, and align it to the right. @cindex #+ATTR_HTML @example #+CAPTION: A black cat stalking a spider -#+ATTR_HTML: alt="cat/spider image" title="Action!" align="right" +#+ATTR_HTML: :alt cat/spider image :title Action! :align right [[./img/a.jpg]] @end example @@ -10249,36 +11256,43 @@ You could use @code{http} addresses just as well. @subsection Math formatting in HTML export @cindex MathJax @cindex dvipng +@cindex imagemagick @LaTeX{} math snippets (@pxref{@LaTeX{} fragments}) can be displayed in two different ways on HTML pages. The default is to use the @uref{http://www.mathjax.org, MathJax system} which should work out of the -box with Org mode installation because @code{http://orgmode.org} serves +box with Org mode installation because @uref{http://orgmode.org} serves @file{MathJax} for Org mode users for small applications and for testing purposes. @b{If you plan to use this regularly or on pages with significant page views, you should install@footnote{Installation instructions can be found on the MathJax website, see @uref{http://www.mathjax.org/resources/docs/?installation.html}.} MathJax on your own server in order to limit the load of our server.} To configure -@file{MathJax}, use the variable @code{org-export-html-mathjax-options} or +@file{MathJax}, use the variable @code{org-html-mathjax-options} or insert something like the following into the buffer: @example -#+MATHJAX: align:"left" mathml:t path:"/MathJax/MathJax.js" +#+HTML_MATHJAX: align:"left" mathml:t path:"/MathJax/MathJax.js" @end example @noindent See the docstring of the variable -@code{org-export-html-mathjax-options} for the meaning of the parameters in +@code{org-html-mathjax-options} for the meaning of the parameters in this line. If you prefer, you can also request that @LaTeX{} fragments are processed into small images that will be inserted into the browser page. Before the availability of MathJax, this was the default method for Org files. This -method requires that the @file{dvipng} program is available on your system. -You can still get this processing with +method requires that the @file{dvipng} program or @file{imagemagick} suite is +available on your system. You can still get this processing with + +@example +#+OPTIONS: tex:dvipng +@end example + +or: @example -#+OPTIONS: LaTeX:dvipng +#+OPTIONS: tex:imagemagick @end example @node Text areas in HTML export, CSS support, Math formatting in HTML export, HTML export @@ -10287,15 +11301,16 @@ You can still get this processing with @cindex text areas, in HTML An alternative way to publish literal code examples in HTML is to use text areas, where the example can even be edited before pasting it into an -application. It is triggered by a @code{-t} switch at an @code{example} or -@code{src} block. Using this switch disables any options for syntax and -label highlighting, and line numbering, which may be present. You may also -use @code{-h} and @code{-w} switches to specify the height and width of the -text area, which default to the number of lines in the example, and 80, -respectively. For example +application. It is triggered by @code{:textarea} attribute at an +@code{example} or @code{src} block. + +You may also use @code{:height} and @code{:width} attributes to specify the +height and width of the text area, which default to the number of lines in +the example, and 80, respectively. For example @example -#+BEGIN_EXAMPLE -t -w 40 +#+ATTR_HTML: :textarea t :width 40 +#+BEGIN_EXAMPLE (defun org-xor (a b) "Exclusive or." (if a (not b) b)) @@ -10308,15 +11323,15 @@ respectively. For example @cindex CSS, for HTML export @cindex HTML export, CSS -@vindex org-export-html-todo-kwd-class-prefix -@vindex org-export-html-tag-class-prefix -You can also give style information for the exported file. The HTML exporter -assigns the following special CSS classes@footnote{If the classes on TODO -keywords and tags lead to conflicts, use the variables -@code{org-export-html-todo-kwd-class-prefix} and -@code{org-export-html-tag-class-prefix} to make them unique.} to appropriate -parts of the document---your style specifications may change these, in -addition to any of the standard classes like for headlines, tables, etc. +@vindex org-html-todo-kwd-class-prefix +@vindex org-html-tag-class-prefix +You can modify the CSS style definitions for the exported file. The HTML +exporter assigns the following special CSS classes@footnote{If the classes on +TODO keywords and tags lead to conflicts, use the variables +@code{org-html-todo-kwd-class-prefix} and @code{org-html-tag-class-prefix} to +make them unique.} to appropriate parts of the document---your style +specifications may change these, in addition to any of the standard classes +like for headlines, tables, etc. @example p.author @r{author information, including email} p.date @r{publishing date} @@ -10336,6 +11351,9 @@ p.creator @r{creator info, about org mode version} div.outline-N @r{div for outline level N (headline plus text))} div.outline-text-N @r{extra div for text at outline level N} .section-number-N @r{section number in headlines, different for each level} +.figure-number @r{label like "Figure 1:"} +.table-number @r{label like "Table 1:"} +.listing-number @r{label like "Listing 1:"} div.figure @r{how to format an inlined image} pre.src @r{formatted source code} pre.example @r{normal example} @@ -10346,24 +11364,26 @@ p.footnote @r{footnote definition paragraph, containing a footnote} .footnum @r{footnote number in footnote definition (always )} @end example -@vindex org-export-html-style-default -@vindex org-export-html-style-include-default -@vindex org-export-html-style -@vindex org-export-html-extra -@vindex org-export-html-style-default +@vindex org-html-style-default +@vindex org-html-head-include-default-style +@vindex org-html-head +@vindex org-html-head-extra +@cindex #+HTML_INCLUDE_STYLE Each exported file contains a compact default style that defines these classes in a basic way@footnote{This style is defined in the constant -@code{org-export-html-style-default}, which you should not modify. To turn +@code{org-html-style-default}, which you should not modify. To turn inclusion of these defaults off, customize -@code{org-export-html-style-include-default}}. You may overwrite these -settings, or add to them by using the variables @code{org-export-html-style} -(for Org-wide settings) and @code{org-export-html-style-extra} (for more -fine-grained settings, like file-local settings). To set the latter variable -individually for each file, you can use +@code{org-html-head-include-default-style} or set @code{html-style} to +@code{nil} in an @code{OPTIONS} line.}. You may overwrite these settings, or +add to them by using the variables @code{org-html-head} and +@code{org-html-head-extra}. You can override the global values of these +variables for each file by using these keywords: -@cindex #+STYLE +@cindex #+HTML_HEAD +@cindex #+HTML_HEAD_EXTRA @example -#+STYLE: +#+HTML_HEAD: +#+HTML_HEAD_EXTRA: @end example @noindent @@ -10392,15 +11412,12 @@ as well, press @kbd{?} for an overview of the available keys). The second view type is a @emph{folding} view much like Org provides inside Emacs. The script is available at @url{http://orgmode.org/org-info.js} and you can find the documentation for it at @url{http://orgmode.org/worg/code/org-info-js/}. -We host the script at our site, but if you use it a lot, you might -not want to be dependent on @url{http://orgmode.org} and prefer to install a local +We host the script at our site, but if you use it a lot, you might not want +to be dependent on @url{http://orgmode.org} and prefer to install a local copy on your own web server. -To use the script, you need to make sure that the @file{org-jsinfo.el} module -gets loaded. It should be loaded by default, but you can try @kbd{M-x -customize-variable @key{RET} org-modules @key{RET}} to convince yourself that -this is indeed the case. All it then takes to make use of the program is -adding a single line to the Org file: +All it then takes to use this program is adding a single line to the Org +file: @cindex #+INFOJS_OPT @example @@ -10440,92 +11457,61 @@ buttons: @r{Should view-toggle buttons be everywhere? When @code{nil} (the} @r{default), only one such button will be present.} @end example @noindent -@vindex org-infojs-options -@vindex org-export-html-use-infojs +@vindex org-html-infojs-options +@vindex org-html-use-infojs You can choose default values for these options by customizing the variable -@code{org-infojs-options}. If you always want to apply the script to your -pages, configure the variable @code{org-export-html-use-infojs}. +@code{org-html-infojs-options}. If you always want to apply the script to your +pages, configure the variable @code{org-html-use-infojs}. -@node @LaTeX{} and PDF export, DocBook export, HTML export, Exporting +@node @LaTeX{} and PDF export, Markdown export, HTML export, Exporting @section @LaTeX{} and PDF export @cindex @LaTeX{} export @cindex PDF export -@cindex Guerry, Bastien - -Org mode contains a @LaTeX{} exporter written by Bastien Guerry. With -further processing@footnote{The default @LaTeX{} output is designed for -processing with @code{pdftex} or @LaTeX{}. It includes packages that are not -compatible with @code{xetex} and possibly @code{luatex}. See the variables -@code{org-export-latex-default-packages-alist} and -@code{org-export-latex-packages-alist}.}, this backend is also used to -produce PDF output. Since the @LaTeX{} output uses @file{hyperref} to -implement links and cross references, the PDF output file will be fully -linked. Beware of the fact that your @code{org} file has to be properly -structured in order to be correctly exported: respect the hierarchy of -sections. + +@LaTeX{} export can produce an arbitrarily complex LaTeX document of any +standard or custom document class. With further processing@footnote{The +default @LaTeX{} output is designed for processing with @code{pdftex} or +@LaTeX{}. It includes packages that are not compatible with @code{xetex} and +possibly @code{luatex}. The @LaTeX{} exporter can be configured to support +alternative TeX engines, see the options +@code{org-latex-default-packages-alist} and @code{org-latex-packages-alist}.}, +which the @LaTeX{} exporter is able to control, this back-end is able to +produce PDF output. Because the @LaTeX{} exporter can be configured to use +the @code{hyperref} package, the default setup produces fully-linked PDF +output. + +As in @LaTeX{}, blank lines are meaningful for this back-end: a paragraph +will not be started if two contiguous syntactical elements are not separated +by an empty line. + +This back-end also offers enhanced support for footnotes. Thus, it handles +nested footnotes, footnotes in tables and footnotes in a list item's +description. @menu -* @LaTeX{}/PDF export commands:: +* @LaTeX{} export commands:: How to export to LaTeX and PDF * Header and sectioning:: Setting up the export file structure * Quoting @LaTeX{} code:: Incorporating literal @LaTeX{} code -* Tables in @LaTeX{} export:: Options for exporting tables to @LaTeX{} -* Images in @LaTeX{} export:: How to insert figures into @LaTeX{} output -* Beamer class export:: Turning the file into a presentation +* @LaTeX{} specific attributes:: Controlling @LaTeX{} output @end menu -@node @LaTeX{}/PDF export commands, Header and sectioning, @LaTeX{} and PDF export, @LaTeX{} and PDF export +@node @LaTeX{} export commands, Header and sectioning, @LaTeX{} and PDF export, @LaTeX{} and PDF export @subsection @LaTeX{} export commands -@cindex region, active -@cindex active region -@cindex transient-mark-mode @table @kbd -@orgcmd{C-c C-e l,org-export-as-latex} -@cindex property EXPORT_FILE_NAME -Export as a @LaTeX{} file. For an Org file -@file{myfile.org}, the @LaTeX{} file will be @file{myfile.tex}. The file will -be overwritten without warning. If there is an active region@footnote{This -requires @code{transient-mark-mode} be turned on.}, only the region will be -exported. If the selected region is a single tree@footnote{To select the -current subtree, use @kbd{C-c @@}.}, the tree head will become the document -title. If the tree head entry has or inherits an @code{EXPORT_FILE_NAME} -property, that name will be used for the export. -@orgcmd{C-c C-e L,org-export-as-latex-to-buffer} +@orgcmd{C-c C-e l l,org-latex-export-to-latex} +Export as a @LaTeX{} file. For an Org file @file{myfile.org}, the @LaTeX{} +file will be @file{myfile.tex}. The file will be overwritten without +warning. +@orgcmd{C-c C-e l L,org-latex-export-as-latex} Export to a temporary buffer. Do not create a file. -@item C-c C-e v l/L -Export only the visible part of the document. -@item M-x org-export-region-as-latex -Convert the region to @LaTeX{} under the assumption that it was in Org mode -syntax before. This is a global command that can be invoked in any -buffer. -@item M-x org-replace-region-by-latex -Replace the active region (assumed to be in Org mode syntax) by @LaTeX{} -code. -@orgcmd{C-c C-e p,org-export-as-pdf} +@orgcmd{C-c C-e l p,org-latex-export-to-pdf} Export as @LaTeX{} and then process to PDF. -@orgcmd{C-c C-e d,org-export-as-pdf-and-open} +@item C-c C-e l o Export as @LaTeX{} and then process to PDF, then open the resulting PDF file. @end table -@cindex headline levels, for exporting -@vindex org-latex-low-levels -In the exported version, the first 3 outline levels will become -headlines, defining a general document structure. Additional levels -will be exported as description lists. The exporter can ignore them or -convert them to a custom string depending on -@code{org-latex-low-levels}. - -If you want that transition to occur at a different level, specify it -with a numeric prefix argument. For example, - -@example -@kbd{C-2 C-c C-e l} -@end example - -@noindent -creates two levels of headings and does the rest as items. - -@node Header and sectioning, Quoting @LaTeX{} code, @LaTeX{}/PDF export commands, @LaTeX{} and PDF export +@node Header and sectioning, Quoting @LaTeX{} code, @LaTeX{} export commands, @LaTeX{} and PDF export @subsection Header and sectioning structure @cindex @LaTeX{} class @cindex @LaTeX{} sectioning structure @@ -10533,493 +11519,368 @@ creates two levels of headings and does the rest as items. @cindex header, for @LaTeX{} files @cindex sectioning structure, for @LaTeX{} export +By default, the first three outline levels become headlines, defining a +general document structure. Additional levels are exported as @code{itemize} +or @code{enumerate} lists. The transition can also occur at a different +level (@pxref{Export settings}). + By default, the @LaTeX{} output uses the class @code{article}. -@vindex org-export-latex-default-class -@vindex org-export-latex-classes -@vindex org-export-latex-default-packages-alist -@vindex org-export-latex-packages-alist -@cindex #+LaTeX_HEADER -@cindex #+LaTeX_CLASS -@cindex #+LaTeX_CLASS_OPTIONS -@cindex property, LaTeX_CLASS -@cindex property, LaTeX_CLASS_OPTIONS +@vindex org-latex-default-class +@vindex org-latex-classes +@vindex org-latex-default-packages-alist +@vindex org-latex-packages-alist You can change this globally by setting a different value for -@code{org-export-latex-default-class} or locally by adding an option like -@code{#+LaTeX_CLASS: myclass} in your file, or with a @code{:LaTeX_CLASS:} -property that applies when exporting a region containing only this (sub)tree. -The class must be listed in @code{org-export-latex-classes}. This variable -defines a header template for each class@footnote{Into which the values of -@code{org-export-latex-default-packages-alist} and -@code{org-export-latex-packages-alist} are spliced.}, and allows you to -define the sectioning structure for each class. You can also define your own -classes there. @code{#+LaTeX_CLASS_OPTIONS} or a @code{:LaTeX_CLASS_OPTIONS:} -property can specify the options for the @code{\documentclass} macro. The -options to documentclass have to be provided, as expected by @LaTeX{}, within -square brackets. You can also use @code{#+LaTeX_HEADER: \usepackage@{xyz@}} -to add lines to the header. See the docstring of -@code{org-export-latex-classes} for more information. An example is shown -below. - -@example -#+LaTeX_CLASS: article -#+LaTeX_CLASS_OPTIONS: [a4paper] -#+LaTeX_HEADER: \usepackage@{xyz@} +@code{org-latex-default-class} or locally by adding an option like +@code{#+LATEX_CLASS: myclass} in your file, or with +a @code{EXPORT_LATEX_CLASS} property that applies when exporting a region +containing only this (sub)tree. The class must be listed in +@code{org-latex-classes}. This variable defines a header template for each +class@footnote{Into which the values of +@code{org-latex-default-packages-alist} and @code{org-latex-packages-alist} +are spliced.}, and allows you to define the sectioning structure for each +class. You can also define your own classes there. + +@cindex #+LATEX_CLASS +@cindex #+LATEX_CLASS_OPTIONS +@cindex property, EXPORT_LATEX_CLASS +@cindex property, EXPORT_LATEX_CLASS_OPTIONS +The @code{LATEX_CLASS_OPTIONS} keyword or @code{EXPORT_LATEX_CLASS_OPTIONS} +property can specify the options for the @code{\documentclass} macro. These +options have to be provided, as expected by @LaTeX{}, within square brackets. + +@cindex #+LATEX_HEADER +@cindex #+LATEX_HEADER_EXTRA +You can also use the @code{LATEX_HEADER} and +@code{LATEX_HEADER_EXTRA}@footnote{Unlike @code{LATEX_HEADER}, contents +from @code{LATEX_HEADER_EXTRA} keywords will not be loaded when previewing +@LaTeX{} snippets (@pxref{Previewing @LaTeX{} fragments}).} keywords in order +to add lines to the header. See the docstring of @code{org-latex-classes} for +more information. + +An example is shown below. + +@example +#+LATEX_CLASS: article +#+LATEX_CLASS_OPTIONS: [a4paper] +#+LATEX_HEADER: \usepackage@{xyz@} * Headline 1 some text @end example -@node Quoting @LaTeX{} code, Tables in @LaTeX{} export, Header and sectioning, @LaTeX{} and PDF export +@node Quoting @LaTeX{} code, @LaTeX{} specific attributes, Header and sectioning, @LaTeX{} and PDF export @subsection Quoting @LaTeX{} code Embedded @LaTeX{} as described in @ref{Embedded @LaTeX{}}, will be correctly -inserted into the @LaTeX{} file. This includes simple macros like -@samp{\ref@{LABEL@}} to create a cross reference to a figure. Furthermore, -you can add special code that should only be present in @LaTeX{} export with -the following constructs: +inserted into the @LaTeX{} file. Furthermore, you can add special code that +should only be present in @LaTeX{} export with the following constructs: -@cindex #+LaTeX -@cindex #+BEGIN_LaTeX +@cindex #+LATEX +@cindex #+BEGIN_LATEX @example -#+LaTeX: Literal @LaTeX{} code for export -@end example +Code within @@@@latex:some code@@@@ a paragraph. -@noindent or -@cindex #+BEGIN_LaTeX +#+LATEX: Literal @LaTeX{} code for export -@example -#+BEGIN_LaTeX +#+BEGIN_LATEX All lines between these markers are exported literally -#+END_LaTeX +#+END_LATEX @end example +@node @LaTeX{} specific attributes, , Quoting @LaTeX{} code, @LaTeX{} and PDF export +@subsection @LaTeX{} specific attributes +@cindex #+ATTR_LATEX -@node Tables in @LaTeX{} export, Images in @LaTeX{} export, Quoting @LaTeX{} code, @LaTeX{} and PDF export -@subsection Tables in @LaTeX{} export +@LaTeX{} understands attributes specified in an @code{ATTR_LATEX} line. They +affect tables, images, plain lists, special blocks and source blocks. + +@subsubheading Tables in @LaTeX{} export @cindex tables, in @LaTeX{} export -For @LaTeX{} export of a table, you can specify a label, a caption and -placement options (@pxref{Images and tables}). You can also use the -@code{ATTR_LaTeX} line to request a @code{longtable} environment for the -table, so that it may span several pages, or to change the default table -environment from @code{table} to @code{table*} or to change the default inner -tabular environment to @code{tabularx} or @code{tabulary}. Finally, you can -set the alignment string, and (with @code{tabularx} or @code{tabulary}) the -width: +For @LaTeX{} export of a table, you can specify a label and a caption +(@pxref{Images and tables}). You can also use attributes to control table +layout and contents. Valid @LaTeX{} attributes include: + +@table @code +@item :mode +@vindex org-latex-default-table-mode +Nature of table's contents. It can be set to @code{table}, @code{math}, +@code{inline-math} or @code{verbatim}. In particular, when in @code{math} or +@code{inline-math} mode, every cell is exported as-is, horizontal rules are +ignored and the table will be wrapped in a math environment. Also, +contiguous tables sharing the same math mode will be wrapped within the same +environment. Default mode is determined in +@code{org-latex-default-table-mode}. +@item :environment +@vindex org-latex-default-table-environment +Environment used for the table. It can be set to any @LaTeX{} table +environment, like @code{tabularx}@footnote{Requires adding the +@code{tabularx} package to @code{org-latex-packages-alist}.}, +@code{longtable}, @code{array}, @code{tabu}@footnote{Requires adding the +@code{tabu} package to @code{org-latex-packages-alist}.}, +@code{bmatrix}@enddots{} It defaults to +@code{org-latex-default-table-environment} value. +@item :caption +@code{#+CAPTION} keyword is the simplest way to set a caption for a table +(@pxref{Images and tables}). If you need more advanced commands for that +task, you can use @code{:caption} attribute instead. Its value should be raw +@LaTeX{} code. It has precedence over @code{#+CAPTION}. +@item :float +@itemx :placement +Float environment for the table. Possible values are @code{sidewaystable}, +@code{multicolumn}, @code{t} and @code{nil}. When unspecified, a table with +a caption will have a @code{table} environment. Moreover, @code{:placement} +attribute can specify the positioning of the float. +@item :align +@itemx :font +@itemx :width +Set, respectively, the alignment string of the table, its font size and its +width. They only apply on regular tables. +@item :spread +Boolean specific to the @code{tabu} and @code{longtabu} environments, and +only takes effect when used in conjunction with the @code{:width} attribute. +When @code{:spread} is non-@code{nil}, the table will be spread or shrunk by the +value of @code{:width}. +@item :booktabs +@itemx :center +@itemx :rmlines +@vindex org-latex-tables-booktabs +@vindex org-latex-tables-centered +They toggle, respectively, @code{booktabs} usage (assuming the package is +properly loaded), table centering and removal of every horizontal rule but +the first one (in a "table.el" table only). In particular, +@code{org-latex-tables-booktabs} (respectively @code{org-latex-tables-centered}) +activates the first (respectively second) attribute globally. +@item :math-prefix +@itemx :math-suffix +@itemx :math-arguments +A string that will be inserted, respectively, before the table within the +math environment, after the table within the math environment, and between +the macro name and the contents of the table. The @code{:math-arguments} +attribute is used for matrix macros that require more than one argument +(e.g., @code{qbordermatrix}). +@end table + +Thus, attributes can be used in a wide array of situations, like writing +a table that will span over multiple pages, or a matrix product: -@cindex #+CAPTION -@cindex #+LABEL -@cindex #+ATTR_LaTeX @example -#+CAPTION: A long table -#+LABEL: tbl:long -#+ATTR_LaTeX: longtable align=l|lp@{3cm@}r|l +#+ATTR_LATEX: :environment longtable :align l|lp@{3cm@}r|l | ..... | ..... | | ..... | ..... | + +#+ATTR_LATEX: :mode math :environment bmatrix :math-suffix \times +| a | b | +| c | d | +#+ATTR_LATEX: :mode math :environment bmatrix +| 1 | 2 | +| 3 | 4 | @end example -or to specify a multicolumn table with @code{tabulary} +In the example below, @LaTeX{} command +@code{\bicaption@{HeadingA@}@{HeadingB@}} will set the caption. -@cindex #+CAPTION -@cindex #+LABEL -@cindex #+ATTR_LaTeX @example -#+CAPTION: A wide table with tabulary -#+LABEL: tbl:wide -#+ATTR_LaTeX: table* tabulary width=\textwidth +#+ATTR_LATEX: :caption \bicaption@{HeadingA@}@{HeadingB@} | ..... | ..... | | ..... | ..... | @end example -@node Images in @LaTeX{} export, Beamer class export, Tables in @LaTeX{} export, @LaTeX{} and PDF export -@subsection Images in @LaTeX{} export + +@subsubheading Images in @LaTeX{} export @cindex images, inline in @LaTeX{} @cindex inlining images in @LaTeX{} Images that are linked to without a description part in the link, like @samp{[[file:img.jpg]]} or @samp{[[./img.jpg]]} will be inserted into the PDF output file resulting from @LaTeX{} processing. Org will use an -@code{\includegraphics} macro to insert the image. If you have specified a -caption and/or a label as described in @ref{Images and tables}, the figure -will be wrapped into a @code{figure} environment and thus become a floating -element. You can use an @code{#+ATTR_LaTeX:} line to specify various other -options. You can ask org to export an image as a float without specifying -a label or a caption by using the keyword @code{float} in this line. Various -optional arguments to the @code{\includegraphics} macro can also be specified -in this fashion. To modify the placement option of the floating environment, -add something like @samp{placement=[h!]} to the attributes. It is to be noted -this option can be used with tables as well@footnote{One can also take -advantage of this option to pass other, unrelated options into the figure or -table environment. For an example see the section ``Exporting org files'' in -@url{http://orgmode.org/worg/org-hacks.html}}. - -If you would like to let text flow around the image, add the word @samp{wrap} -to the @code{#+ATTR_LaTeX:} line, which will make the figure occupy the left -half of the page. To fine-tune, the @code{placement} field will be the set -of additional arguments needed by the @code{wrapfigure} environment. Note -that if you change the size of the image, you need to use compatible settings -for @code{\includegraphics} and @code{wrapfigure}. +@code{\includegraphics} macro to insert the image@footnote{In the case of +TikZ (@url{http://sourceforge.net/projects/pgf/}) images, it will become an +@code{\input} macro wrapped within a @code{tikzpicture} environment.}. + +You can specify specify image width or height with, respectively, +@code{:width} and @code{:height} attributes. It is also possible to add any +other option with the @code{:options} attribute, as shown in the following +example: -@cindex #+CAPTION -@cindex #+LABEL -@cindex #+ATTR_LaTeX @example -#+CAPTION: The black-body emission of the disk around HR 4049 -#+LABEL: fig:SED-HR4049 -#+ATTR_LaTeX: width=5cm,angle=90 +#+ATTR_LATEX: :width 5cm :options angle=90 [[./img/sed-hr4049.pdf]] - -#+ATTR_LaTeX: width=0.38\textwidth wrap placement=@{r@}@{0.4\textwidth@} -[[./img/hst.png]] @end example -If you wish to include an image which spans multiple columns in a page, you -can use the keyword @code{multicolumn} in the @code{#+ATTR_LaTeX} line. This -will export the image wrapped in a @code{figure*} environment. +If you need a specific command for the caption, use @code{:caption} +attribute. It will override standard @code{#+CAPTION} value, if any. -If you need references to a label created in this way, write -@samp{\ref@{fig:SED-HR4049@}} just like in @LaTeX{}. - -@node Beamer class export, , Images in @LaTeX{} export, @LaTeX{} and PDF export -@subsection Beamer class export - -The @LaTeX{} class @file{beamer} allows production of high quality presentations -using @LaTeX{} and pdf processing. Org mode has special support for turning an -Org mode file or tree into a @file{beamer} presentation. - -When the @LaTeX{} class for the current buffer (as set with @code{#+LaTeX_CLASS: -beamer}) or subtree (set with a @code{LaTeX_CLASS} property) is -@code{beamer}, a special export mode will turn the file or tree into a beamer -presentation. Any tree with not-too-deep level nesting should in principle be -exportable as a beamer presentation. By default, the top-level entries (or -the first level below the selected subtree heading) will be turned into -frames, and the outline structure below this level will become itemize lists. -You can also configure the variable @code{org-beamer-frame-level} to a -different level---then the hierarchy above frames will produce the sectioning -structure of the presentation. - -A template for useful in-buffer settings or properties can be inserted into -the buffer with @kbd{M-x org-insert-beamer-options-template}. Among other -things, this will install a column view format which is very handy for -editing special properties used by beamer. - -You can influence the structure of the presentation using the following -properties: +@example +#+ATTR_LATEX: :caption \bicaption@{HeadingA@}@{HeadingB@} +[[./img/sed-hr4049.pdf]] +@end example -@table @code -@item BEAMER_env -The environment that should be used to format this entry. Valid environments -are defined in the constant @code{org-beamer-environments-default}, and you -can define more in @code{org-beamer-environments-extra}. If this property is -set, the entry will also get a @code{:B_environment:} tag to make this -visible. This tag has no semantic meaning, it is only a visual aid. -@item BEAMER_envargs -The beamer-special arguments that should be used for the environment, like -@code{[t]} or @code{[<+->]} of @code{<2-3>}. If the @code{BEAMER_col} -property is also set, something like @code{C[t]} can be added here as well to -set an options argument for the implied @code{columns} environment. -@code{c[t]} or @code{c<2->} will set an options for the implied @code{column} +If you have specified a caption as described in @ref{Images and tables}, the +picture will be wrapped into a @code{figure} environment and thus become +a floating element. You can also ask Org to export an image as a float +without specifying caption by setting the @code{:float} attribute. You may +also set it to: +@itemize @minus +@item +@code{t}: if you want to use the standard @samp{figure} environment. It is +used by default if you provide a caption to the image. +@item +@code{multicolumn}: if you wish to include an image which spans multiple +columns in a page. This will export the image wrapped in a @code{figure*} environment. -@item BEAMER_col -The width of a column that should start with this entry. If this property is -set, the entry will also get a @code{:BMCOL:} property to make this visible. -Also this tag is only a visual aid. When this is a plain number, it will be -interpreted as a fraction of @code{\textwidth}. Otherwise it will be assumed -that you have specified the units, like @samp{3cm}. The first such property -in a frame will start a @code{columns} environment to surround the columns. -This environment is closed when an entry has a @code{BEAMER_col} property -with value 0 or 1, or automatically at the end of the frame. -@item BEAMER_extra -Additional commands that should be inserted after the environment has been -opened. For example, when creating a frame, this can be used to specify -transitions. -@end table - -Frames will automatically receive a @code{fragile} option if they contain -source code that uses the verbatim environment. Special @file{beamer} -specific code can be inserted using @code{#+BEAMER:} and -@code{#+BEGIN_BEAMER...#+END_BEAMER} constructs, similar to other export -backends, but with the difference that @code{#+LaTeX:} stuff will be included -in the presentation as well. - -Outline nodes with @code{BEAMER_env} property value @samp{note} or -@samp{noteNH} will be formatted as beamer notes, i,e, they will be wrapped -into @code{\note@{...@}}. The former will include the heading as part of the -note text, the latter will ignore the heading of that node. To simplify note -generation, it is actually enough to mark the note with a @emph{tag} (either -@code{:B_note:} or @code{:B_noteNH:}) instead of creating the -@code{BEAMER_env} property. - -You can turn on a special minor mode @code{org-beamer-mode} for editing -support with +@item +@code{wrap}: if you would like to let text flow around the image. It will +make the figure occupy the left half of the page. +@item +@code{nil}: if you need to avoid any floating environment, even when +a caption is provided. +@end itemize +@noindent +To modify the placement option of any floating environment, set the +@code{placement} attribute. @example -#+STARTUP: beamer +#+ATTR_LATEX: :float wrap :width 0.38\textwidth :placement @{r@}@{0.4\textwidth@} +[[./img/hst.png]] @end example -@table @kbd -@orgcmd{C-c C-b,org-beamer-select-environment} -In @code{org-beamer-mode}, this key offers fast selection of a beamer -environment or the @code{BEAMER_col} property. -@end table - -Column view provides a great way to set the environment of a node and other -important parameters. Make sure you are using a COLUMN format that is geared -toward this special purpose. The command @kbd{M-x -org-insert-beamer-options-template} defines such a format. - -Here is a simple example Org document that is intended for beamer export. - -@smallexample -#+LaTeX_CLASS: beamer -#+TITLE: Example Presentation -#+AUTHOR: Carsten Dominik -#+LaTeX_CLASS_OPTIONS: [presentation] -#+BEAMER_FRAME_LEVEL: 2 -#+BEAMER_HEADER_EXTRA: \usetheme@{Madrid@}\usecolortheme@{default@} -#+COLUMNS: %35ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Args) %4BEAMER_col(Col) %8BEAMER_extra(Ex) - -* This is the first structural section - -** Frame 1 \\ with a subtitle -*** Thanks to Eric Fraga :BMCOL:B_block: - :PROPERTIES: - :BEAMER_env: block - :BEAMER_envargs: C[t] - :BEAMER_col: 0.5 - :END: - for the first viable beamer setup in Org -*** Thanks to everyone else :BMCOL:B_block: - :PROPERTIES: - :BEAMER_col: 0.5 - :BEAMER_env: block - :BEAMER_envargs: <2-> - :END: - for contributing to the discussion -**** This will be formatted as a beamer note :B_note: -** Frame 2 \\ where we will not use columns -*** Request :B_block: - Please test this stuff! - :PROPERTIES: - :BEAMER_env: block - :END: -@end smallexample - -For more information, see the documentation on Worg. +If the @code{:comment-include} attribute is set to a non-@code{nil} value, +the @LaTeX{} @code{\includegraphics} macro will be commented out. -@node DocBook export, OpenDocument Text export, @LaTeX{} and PDF export, Exporting -@section DocBook export -@cindex DocBook export -@cindex PDF export -@cindex Cui, Baoqiu +@subsubheading Plain lists in @LaTeX{} export +@cindex plain lists, in @LaTeX{} export -Org contains a DocBook exporter written by Baoqiu Cui. Once an Org file is -exported to DocBook format, it can be further processed to produce other -formats, including PDF, HTML, man pages, etc., using many available DocBook -tools and stylesheets. +Plain lists accept two optional attributes: @code{:environment} and +@code{:options}. The first one allows the use of a non-standard +environment (e.g., @samp{inparaenum}). The second one specifies +optional arguments for that environment (square brackets may be +omitted). -Currently DocBook exporter only supports DocBook V5.0. +@example +#+ATTR_LATEX: :environment compactitem :options $\circ$ +- you need ``paralist'' package to reproduce this example. +@end example -@menu -* DocBook export commands:: How to invoke DocBook export -* Quoting DocBook code:: Incorporating DocBook code in Org files -* Recursive sections:: Recursive sections in DocBook -* Tables in DocBook export:: Tables are exported as HTML tables -* Images in DocBook export:: How to insert figures into DocBook output -* Special characters:: How to handle special characters -@end menu +@subsubheading Source blocks in @LaTeX{} export +@cindex source blocks, in @LaTeX{} export -@node DocBook export commands, Quoting DocBook code, DocBook export, DocBook export -@subsection DocBook export commands +In addition to syntax defined in @ref{Literal examples}, names and captions +(@pxref{Images and tables}), source blocks also accept a @code{:float} +attribute. You may set it to: +@itemize @minus +@item +@code{t}: if you want to make the source block a float. It is the default +value when a caption is provided. +@item +@code{mulicolumn}: if you wish to include a source block which spans multiple +colums in a page. +@item +@code{nil}: if you need to avoid any floating evironment, even when a caption +is provided. It is useful for source code that may not fit in a single page. +@end itemize -@cindex region, active -@cindex active region -@cindex transient-mark-mode -@table @kbd -@orgcmd{C-c C-e D,org-export-as-docbook} -@cindex property EXPORT_FILE_NAME -Export as a DocBook file. For an Org file, @file{myfile.org}, the DocBook XML -file will be @file{myfile.xml}. The file will be overwritten without -warning. If there is an active region@footnote{This requires -@code{transient-mark-mode} to be turned on}, only the region will be -exported. If the selected region is a single tree@footnote{To select the -current subtree, use @kbd{C-c @@}.}, the tree head will become the document -title. If the tree head entry has, or inherits, an @code{EXPORT_FILE_NAME} -property, that name will be used for the export. -@orgcmd{C-c C-e V,org-export-as-docbook-pdf-and-open} -Export as a DocBook file, process to PDF, then open the resulting PDF file. - -@vindex org-export-docbook-xslt-proc-command -@vindex org-export-docbook-xsl-fo-proc-command -Note that, in order to produce PDF output based on an exported DocBook file, -you need to have XSLT processor and XSL-FO processor software installed on your -system. Check variables @code{org-export-docbook-xslt-proc-command} and -@code{org-export-docbook-xsl-fo-proc-command}. - -@vindex org-export-docbook-xslt-stylesheet -The stylesheet argument @code{%s} in variable -@code{org-export-docbook-xslt-proc-command} is replaced by the value of -variable @code{org-export-docbook-xslt-stylesheet}, which needs to be set by -the user. You can also overrule this global setting on a per-file basis by -adding an in-buffer setting @code{#+XSLT:} to the Org file. - -@orgkey{C-c C-e v D} -Export only the visible part of the document. -@end table +@example +#+ATTR_LATEX: :float nil +#+BEGIN_SRC emacs-lisp +Code that may not fit in a single page. +#+END_SRC +@end example -@node Quoting DocBook code, Recursive sections, DocBook export commands, DocBook export -@subsection Quoting DocBook code +@subsubheading Special blocks in @LaTeX{} export +@cindex special blocks, in @LaTeX{} export -You can quote DocBook code in Org files and copy it verbatim into exported -DocBook file with the following constructs: +In @LaTeX{} back-end, special blocks become environments of the same name. +Value of @code{:options} attribute will be appended as-is to that +environment's opening string. For example: -@cindex #+DOCBOOK -@cindex #+BEGIN_DOCBOOK @example -#+DOCBOOK: Literal DocBook code for export +#+ATTR_LATEX: :options [Proof of important theorem] +#+BEGIN_PROOF +... +Therefore, any even number greater than 2 is the sum of two primes. +#+END_PROOF @end example -@noindent or -@cindex #+BEGIN_DOCBOOK +@noindent +becomes @example -#+BEGIN_DOCBOOK -All lines between these markers are exported by DocBook exporter -literally. -#+END_DOCBOOK +\begin@{proof@}[Proof of important theorem] +... +Therefore, any even number greater than 2 is the sum of two primes. +\end@{proof@} @end example -For example, you can use the following lines to include a DocBook warning -admonition. As to what this warning says, you should pay attention to the -document context when quoting DocBook code in Org files. You may make -exported DocBook XML files invalid by not quoting DocBook code correctly. +If you need to insert a specific caption command, use @code{:caption} +attribute. It will override standard @code{#+CAPTION} value, if any. For +example: @example -#+BEGIN_DOCBOOK - - You should know what you are doing when quoting DocBook XML code - in your Org file. Invalid DocBook XML may be generated by - DocBook exporter if you are not careful! - -#+END_DOCBOOK +#+ATTR_LATEX: :caption \MyCaption@{HeadingA@} +#+BEGIN_PROOF +... +#+END_PROOF @end example -@node Recursive sections, Tables in DocBook export, Quoting DocBook code, DocBook export -@subsection Recursive sections -@cindex DocBook recursive sections - -DocBook exporter exports Org files as articles using the @code{article} -element in DocBook. Recursive sections, i.e., @code{section} elements, are -used in exported articles. Top level headlines in Org files are exported as -top level sections, and lower level headlines are exported as nested -sections. The entire structure of Org files will be exported completely, no -matter how many nested levels of headlines there are. - -Using recursive sections makes it easy to port and reuse exported DocBook -code in other DocBook document types like @code{book} or @code{set}. +@subsubheading Horizontal rules +@cindex horizontal rules, in @LaTeX{} export -@node Tables in DocBook export, Images in DocBook export, Recursive sections, DocBook export -@subsection Tables in DocBook export -@cindex tables, in DocBook export +Width and thickness of a given horizontal rule can be controlled with, +respectively, @code{:width} and @code{:thickness} attributes: -Tables in Org files are exported as HTML tables, which have been supported since -DocBook V4.3. - -If a table does not have a caption, an informal table is generated using the -@code{informaltable} element; otherwise, a formal table will be generated -using the @code{table} element. - -@node Images in DocBook export, Special characters, Tables in DocBook export, DocBook export -@subsection Images in DocBook export -@cindex images, inline in DocBook -@cindex inlining images in DocBook - -Images that are linked to without a description part in the link, like -@samp{[[file:img.jpg]]} or @samp{[[./img.jpg]]}, will be exported to DocBook -using @code{mediaobject} elements. Each @code{mediaobject} element contains -an @code{imageobject} that wraps an @code{imagedata} element. If you have -specified a caption for an image as described in @ref{Images and tables}, a -@code{caption} element will be added in @code{mediaobject}. If a label is -also specified, it will be exported as an @code{xml:id} attribute of the -@code{mediaobject} element. - -@vindex org-export-docbook-default-image-attributes -Image attributes supported by the @code{imagedata} element, like @code{align} -or @code{width}, can be specified in two ways: you can either customize -variable @code{org-export-docbook-default-image-attributes} or use the -@code{#+ATTR_DOCBOOK:} line. Attributes specified in variable -@code{org-export-docbook-default-image-attributes} are applied to all inline -images in the Org file to be exported (unless they are overridden by image -attributes specified in @code{#+ATTR_DOCBOOK:} lines). - -The @code{#+ATTR_DOCBOOK:} line can be used to specify additional image -attributes or override default image attributes for individual images. If -the same attribute appears in both the @code{#+ATTR_DOCBOOK:} line and -variable @code{org-export-docbook-default-image-attributes}, the former -takes precedence. Here is an example about how image attributes can be -set: - -@cindex #+CAPTION -@cindex #+LABEL -@cindex #+ATTR_DOCBOOK @example -#+CAPTION: The logo of Org mode -#+LABEL: unicorn-svg -#+ATTR_DOCBOOK: scalefit="1" width="100%" depth="100%" -[[./img/org-mode-unicorn.svg]] +#+ATTR_LATEX: :width .6\textwidth :thickness 0.8pt +----- @end example -@vindex org-export-docbook-inline-image-extensions -By default, DocBook exporter recognizes the following image file types: -@file{jpeg}, @file{jpg}, @file{png}, @file{gif}, and @file{svg}. You can -customize variable @code{org-export-docbook-inline-image-extensions} to add -more types to this list as long as DocBook supports them. +@node Markdown export, OpenDocument Text export, @LaTeX{} and PDF export, Exporting +@section Markdown export +@cindex Markdown export -@node Special characters, , Images in DocBook export, DocBook export -@subsection Special characters in DocBook export -@cindex Special characters in DocBook export +@code{md} export back-end generates Markdown syntax@footnote{Vanilla flavour, +as defined at @url{http://daringfireball.net/projects/markdown/}.} for an Org +mode buffer. -@vindex org-export-docbook-doctype -@vindex org-entities -Special characters that are written in @TeX{}-like syntax, such as @code{\alpha}, -@code{\Gamma}, and @code{\Zeta}, are supported by DocBook exporter. These -characters are rewritten to XML entities, like @code{α}, -@code{Γ}, and @code{Ζ}, based on the list saved in variable -@code{org-entities}. As long as the generated DocBook file includes the -corresponding entities, these special characters are recognized. +It is built over HTML back-end: any construct not supported by Markdown +syntax (e.g., tables) will be controlled and translated by @code{html} +back-end (@pxref{HTML export}). -You can customize variable @code{org-export-docbook-doctype} to include the -entities you need. For example, you can set variable -@code{org-export-docbook-doctype} to the following value to recognize all -special characters included in XHTML entities: +@subheading Markdown export commands -@example -" -%xhtml1-symbol; -]> -" -@end example +@table @kbd +@orgcmd{C-c C-e m m,org-md-export-to-markdown} +Export as a text file written in Markdown syntax. For an Org file, +@file{myfile.org}, the resulting file will be @file{myfile.md}. The file +will be overwritten without warning. +@orgcmd{C-c C-e m M,org-md-export-as-markdown} +Export to a temporary buffer. Do not create a file. +@item C-c C-e m o +Export as a text file with Markdown syntax, then open it. +@end table + +@subheading Header and sectioning structure + +@vindex org-md-headline-style +Markdown export can generate both @code{atx} and @code{setext} types for +headlines, according to @code{org-md-headline-style}. The former introduces +a hard limit of two levels, whereas the latter pushes it to six. Headlines +below that limit are exported as lists. You can also set a soft limit before +that one (@pxref{Export settings}). @c begin opendocument -@node OpenDocument Text export, TaskJuggler export, DocBook export, Exporting +@node OpenDocument Text export, iCalendar export, Markdown export, Exporting @section OpenDocument Text export -@cindex K, Jambunathan @cindex ODT @cindex OpenDocument @cindex export, OpenDocument @cindex LibreOffice -@cindex org-odt.el -@cindex org-modules -Org Mode@footnote{Versions 7.8 or later} supports export to OpenDocument Text -(ODT) format using the @file{org-odt.el} module. Documents created -by this exporter use the @cite{OpenDocument-v1.2 +Org mode@footnote{Versions 7.8 or later} supports export to OpenDocument Text +(ODT) format. Documents created by this exporter use the +@cite{OpenDocument-v1.2 specification}@footnote{@url{http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html, Open Document Format for Office Applications (OpenDocument) Version 1.2}} and are compatible with LibreOffice 3.4. @@ -11054,14 +11915,14 @@ output. Check the availability of this program before proceeding further. @cindex active region @cindex transient-mark-mode @table @kbd -@orgcmd{C-c C-e o,org-export-as-odt} +@orgcmd{C-c C-e o o,org-odt-export-to-odt} @cindex property EXPORT_FILE_NAME Export as OpenDocument Text file. -@vindex org-export-odt-preferred-output-format -If @code{org-export-odt-preferred-output-format} is specified, automatically -convert the exported file to that format. @xref{x-export-to-other-formats, , +@vindex org-odt-preferred-output-format +If @code{org-odt-preferred-output-format} is specified, automatically convert +the exported file to that format. @xref{x-export-to-other-formats, , Automatically exporting to other formats}. For an Org file @file{myfile.org}, the ODT file will be @@ -11073,13 +11934,13 @@ tree head will become the document title. If the tree head entry has, or inherits, an @code{EXPORT_FILE_NAME} property, that name will be used for the export. -@orgcmd{C-c C-e O,org-export-as-odt-and-open} +@kbd{C-c C-e o O} Export as an OpenDocument Text file and open the resulting file. -@vindex org-export-odt-preferred-output-format -If @code{org-export-odt-preferred-output-format} is specified, open the -converted file instead. @xref{x-export-to-other-formats, , Automatically -exporting to other formats}. +@vindex org-odt-preferred-output-format +If @code{org-odt-preferred-output-format} is specified, open the converted +file instead. @xref{x-export-to-other-formats, , Automatically exporting to +other formats}. @end table @node Extending ODT export, Applying custom styles, ODT export commands, OpenDocument Text export @@ -11095,7 +11956,7 @@ one format (say @samp{csv}) to another format (say @samp{ods} or @samp{xls}). If you have a working installation of LibreOffice, a document converter is pre-configured for you and you can use it right away. If you would like to use @file{unoconv} as your preferred converter, customize the variable -@code{org-export-odt-convert-process} to point to @code{unoconv}. You can +@code{org-odt-convert-process} to point to @code{unoconv}. You can also use your own favorite converter or tweak the default settings of the @file{LibreOffice} and @samp{unoconv} converters. @xref{Configuring a document converter}. @@ -11103,12 +11964,12 @@ document converter}. @subsubsection Automatically exporting to other formats @anchor{x-export-to-other-formats} -@vindex org-export-odt-preferred-output-format +@vindex org-odt-preferred-output-format Very often, you will find yourself exporting to ODT format, only to immediately save the exported document to other formats like @samp{doc}, @samp{docx}, @samp{rtf}, @samp{pdf} etc. In such cases, you can specify your preferred output format by customizing the variable -@code{org-export-odt-preferred-output-format}. This way, the export commands +@code{org-odt-preferred-output-format}. This way, the export commands (@pxref{x-export-to-odt,,Exporting to ODT}) can be extended to export to a format that is of immediate interest to you. @@ -11121,10 +11982,10 @@ ODT format. LibreOffice converter, mentioned above, is one such converter. Once a converter is configured, you can interact with it using the following command. -@vindex org-export-odt-convert +@vindex org-odt-convert @table @kbd -@item M-x org-export-odt-convert +@item M-x org-odt-convert RET Convert an existing document from one format to another. With a prefix argument, also open the newly produced file. @end table @@ -11161,8 +12022,8 @@ OpenDocument Text (@file{.odt}) or OpenDocument Template (@file{.ott}) file. @item @cindex #+ODT_STYLES_FILE -@vindex org-export-odt-styles-file -Customize the variable @code{org-export-odt-styles-file} and point it to the +@vindex org-odt-styles-file +Customize the variable @code{org-odt-styles-file} and point it to the newly created file. For additional configuration options @pxref{x-overriding-factory-styles,,Overriding factory styles}. @@ -11192,7 +12053,7 @@ the factory settings. @node Links in ODT export, Tables in ODT export, Applying custom styles, OpenDocument Text export @subsection Links in ODT export -@cindex tables, in DocBook export +@cindex links, in ODT export ODT exporter creates native cross-references for internal links. It creates Internet-style links for all other links. @@ -11206,7 +12067,7 @@ with a cross-reference and sequence number of the labeled entity. @node Tables in ODT export, Images in ODT export, Links in ODT export, OpenDocument Text export @subsection Tables in ODT export -@cindex tables, in DocBook export +@cindex tables, in ODT export Export of native Org mode tables (@pxref{Tables}) and simple @file{table.el} tables is supported. However, export of complex @file{table.el} tables---tables @@ -11285,17 +12146,17 @@ You can control the size and scale of the embedded images using the @code{#+ATTR_ODT} attribute. @cindex identify, ImageMagick -@vindex org-export-odt-pixels-per-inch +@vindex org-odt-pixels-per-inch The exporter specifies the desired size of the image in the final document in units of centimeters. In order to scale the embedded images, the exporter queries for pixel dimensions of the images using one of a) ImageMagick's @file{identify} program or b) Emacs `create-image' and `image-size' -APIs.@footnote{Use of @file{ImageMagick} is only desirable. However, if you +APIs@footnote{Use of @file{ImageMagick} is only desirable. However, if you routinely produce documents that have large images or you export your Org files that has images using a Emacs batch script, then the use of -@file{ImageMagick} is mandatory.} The pixel dimensions are subsequently +@file{ImageMagick} is mandatory.}. The pixel dimensions are subsequently converted in to units of centimeters using -@code{org-export-odt-pixels-per-inch}. The default value of this variable is +@code{org-odt-pixels-per-inch}. The default value of this variable is set to @code{display-pixels-per-inch}. You can tweak this variable to achieve the best results. @@ -11404,27 +12265,34 @@ You can use the following commands to quickly verify the reliability of the @LaTeX{}-to-MathML converter. @table @kbd - -@item M-x org-export-as-odf +@item M-x org-odt-export-as-odf RET Convert a @LaTeX{} math snippet to an OpenDocument formula (@file{.odf}) file. -@item M-x org-export-as-odf-and-open +@item M-x org-odt-export-as-odf-and-open RET Convert a @LaTeX{} math snippet to an OpenDocument formula (@file{.odf}) file and open the formula file with the system-registered application. @end table @cindex dvipng +@cindex imagemagick @item PNG images This option is activated on a per-file basis with @example -#+OPTIONS: LaTeX:dvipng +#+OPTIONS: tex:dvipng +@end example + +or: + +@example +#+OPTIONS: tex:imagemagick @end example With this option, @LaTeX{} fragments are processed into PNG images and the resulting images are embedded in the exported document. This method requires -that the @file{dvipng} program be available on your system. +that the @file{dvipng} program or @file{imagemagick} suite be available on +your system. @end enumerate @node Working with MathML or OpenDocument formula files, , Working with @LaTeX{} math snippets, Math formatting in ODT export @@ -11471,15 +12339,15 @@ It could be rendered as shown below in the exported document. Figure 2: Bell curve @end example -@vindex org-export-odt-category-strings +@vindex org-odt-category-map-alist You can modify the category component of the caption by customizing the -variable @code{org-export-odt-category-strings}. For example, to tag all -embedded images with the string @samp{Illustration} (instead of the default -@samp{Figure}) use the following setting. +option @code{org-odt-category-map-alist}. For example, to tag all embedded +images with the string @samp{Illustration} (instead of the default +@samp{Figure}) use the following setting: @lisp -(setq org-export-odt-category-strings - '(("en" "Table" "Illustration" "Equation" "Equation"))) +(setq org-odt-category-map-alist + (("__Figure__" "Illustration" "value" "Figure" org-odt--enumerable-image-p))) @end lisp With this, previous image will be captioned as below in the exported @@ -11500,14 +12368,14 @@ fontification to be turned on.} The auto-generated styles have @samp{OrgSrc} as prefix and inherit their color from the faces used by Emacs @code{font-lock} library for the source language. -@vindex org-export-odt-fontify-srcblocks -If you prefer to use your own custom styles for fontification, you can do so -by customizing the variable -@code{org-export-odt-create-custom-styles-for-srcblocks}. +@vindex org-odt-fontify-srcblocks +If you prefer to use your own custom styles for fontification, you can do +so by customizing the option +@code{org-odt-create-custom-styles-for-srcblocks}. -@vindex org-export-odt-create-custom-styles-for-srcblocks +@vindex org-odt-create-custom-styles-for-srcblocks You can turn off fontification of literal examples by customizing the -variable @code{org-export-odt-fontify-srcblocks}. +option @code{org-odt-fontify-srcblocks}. @node Advanced topics in ODT export, , Literal examples in ODT export, OpenDocument Text export @subsection Advanced topics in ODT export @@ -11538,27 +12406,27 @@ like to tweak the default converter settings, proceed as below. @enumerate @item Register the converter -@vindex org-export-odt-convert-processes -Name your converter and add it to the list of known converters by customizing -the variable @code{org-export-odt-convert-processes}. Also specify how the -converter can be invoked via command-line to effect the conversion. +@vindex org-odt-convert-processes +Name your converter and add it to the list of known converters by +customizing the option @code{org-odt-convert-processes}. Also specify how +the converter can be invoked via command-line to effect the conversion. @item Configure its capabilities -@vindex org-export-odt-convert-capabilities -@anchor{x-odt-converter-capabilities} -Specify the set of formats the converter can handle by customizing the -variable @code{org-export-odt-convert-capabilities}. Use the default value -for this variable as a guide for configuring your converter. As suggested by -the default setting, you can specify the full set of formats supported by the +@vindex org-odt-convert-capabilities +@anchor{x-odt-converter-capabilities} Specify the set of formats the +converter can handle by customizing the variable +@code{org-odt-convert-capabilities}. Use the default value for this +variable as a guide for configuring your converter. As suggested by the +default setting, you can specify the full set of formats supported by the converter and not limit yourself to specifying formats that are related to just the OpenDocument Text format. @item Choose the converter -@vindex org-export-odt-convert-process +@vindex org-odt-convert-process Select the newly added converter as the preferred one by customizing the -variable @code{org-export-odt-convert-process}. +option @code{org-odt-convert-process}. @end enumerate @node Working with OpenDocument style files, Creating one-off styles, Configuring a document converter, Advanced topics in ODT export @@ -11626,9 +12494,9 @@ customize these variables to override the factory styles used by the exporter. @itemize -@anchor{x-org-export-odt-styles-file} +@anchor{x-org-odt-styles-file} @item -@code{org-export-odt-styles-file} +@code{org-odt-styles-file} Use this variable to specify the @file{styles.xml} that will be used in the final output. You can specify one of the following values: @@ -11657,9 +12525,9 @@ like header and footer images. Use the default @file{styles.xml} @end enumerate -@anchor{x-org-export-odt-content-template-file} +@anchor{x-org-odt-content-template-file} @item -@code{org-export-odt-content-template-file} +@code{org-odt-content-template-file} Use this variable to specify the blank @file{content.xml} that will be used in the final output. @@ -11709,7 +12577,7 @@ custom @samp{PageBreak} style as shown below. @example + style:parent-style-name="Text_20_body"> @end example @@ -11746,22 +12614,21 @@ OpenDocument-v1.2 specification.@footnote{@url{http://docs.oasis-open.org/office/v1.2/OpenDocument-v1.2.html, OpenDocument-v1.2 Specification}} - - @subsubheading Custom table styles: an illustration -To have a quick preview of this feature, install the below setting and export -the table that follows. +@vindex org-odt-table-styles +To have a quick preview of this feature, install the below setting and +export the table that follows: @lisp -(setq org-export-odt-table-styles - (append org-export-odt-table-styles - '(("TableWithHeaderRowAndColumn" "Custom" - ((use-first-row-styles . t) - (use-first-column-styles . t))) - ("TableWithFirstRowandLastRow" "Custom" - ((use-first-row-styles . t) - (use-last-row-styles . t)))))) +(setq org-odt-table-styles + (append org-odt-table-styles + '(("TableWithHeaderRowAndColumn" "Custom" + ((use-first-row-styles . t) + (use-first-column-styles . t))) + ("TableWithFirstRowandLastRow" "Custom" + ((use-first-row-styles . t) + (use-last-row-styles . t)))))) @end lisp @example @@ -11774,9 +12641,9 @@ the table that follows. In the above example, you used a template named @samp{Custom} and installed two table styles with the names @samp{TableWithHeaderRowAndColumn} and @samp{TableWithFirstRowandLastRow}. (@strong{Important:} The OpenDocument -styles needed for producing the above template have been pre-defined for you. -These styles are available under the section marked @samp{Custom Table -Template} in @file{OrgOdtContentTemplate.xml} +styles needed for producing the above template have been pre-defined for +you. These styles are available under the section marked @samp{Custom +Table Template} in @file{OrgOdtContentTemplate.xml} (@pxref{x-orgodtcontenttemplate-xml,,Factory styles}). If you need additional templates you have to define these styles yourselves. @@ -11860,9 +12727,9 @@ Define a table style@footnote{See the attributes @code{table:template-name}, @code{table:use-banding-column-styles} of the @code{} element in the OpenDocument-v1.2 specification} -@vindex org-export-odt-table-styles +@vindex org-odt-table-styles To define a table style, create an entry for the style in the variable -@code{org-export-odt-table-styles} and specify the following: +@code{org-odt-table-styles} and specify the following: @itemize @minus @item the name of the table template created in step (1) @@ -11875,211 +12742,53 @@ based on the same template @samp{Custom}. The styles achieve their intended effect by selectively activating the individual cell styles in that template. @lisp -(setq org-export-odt-table-styles - (append org-export-odt-table-styles - '(("TableWithHeaderRowAndColumn" "Custom" - ((use-first-row-styles . t) - (use-first-column-styles . t))) - ("TableWithFirstRowandLastRow" "Custom" - ((use-first-row-styles . t) - (use-last-row-styles . t)))))) +(setq org-odt-table-styles + (append org-odt-table-styles + '(("TableWithHeaderRowAndColumn" "Custom" + ((use-first-row-styles . t) + (use-first-column-styles . t))) + ("TableWithFirstRowandLastRow" "Custom" + ((use-first-row-styles . t) + (use-last-row-styles . t)))))) @end lisp -@item -Associate a table with the table style - -To do this, specify the table style created in step (2) as part of -the @code{ATTR_ODT} line as shown below. - -@example -#+ATTR_ODT: :style "TableWithHeaderRowAndColumn" -| Name | Phone | Age | -| Peter | 1234 | 17 | -| Anna | 4321 | 25 | -@end example -@end enumerate - -@node Validating OpenDocument XML, , Customizing tables in ODT export, Advanced topics in ODT export -@subsubsection Validating OpenDocument XML - -Occasionally, you will discover that the document created by the -ODT exporter cannot be opened by your favorite application. One of -the common reasons for this is that the @file{.odt} file is corrupt. In such -cases, you may want to validate the document against the OpenDocument RELAX -NG Compact Syntax (RNC) schema. - -For de-compressing the @file{.odt} file@footnote{@file{.odt} files are -nothing but @samp{zip} archives}: @inforef{File Archives,,emacs}. For -general help with validation (and schema-sensitive editing) of XML files: -@inforef{Introduction,,nxml-mode}. - -@vindex org-export-odt-schema-dir -If you have ready access to OpenDocument @file{.rnc} files and the needed -schema-locating rules in a single folder, you can customize the variable -@code{org-export-odt-schema-dir} to point to that directory. The -ODT exporter will take care of updating the -@code{rng-schema-locating-files} for you. - -@c end opendocument - -@node TaskJuggler export, Freemind export, OpenDocument Text export, Exporting -@section TaskJuggler export -@cindex TaskJuggler export -@cindex Project management - -@uref{http://www.taskjuggler.org/, TaskJuggler} is a project management tool. -It provides an optimizing scheduler that computes your project time lines and -resource assignments based on the project outline and the constraints that -you have provided. - -The TaskJuggler exporter is a bit different from other exporters, such as the -@code{HTML} and @LaTeX{} exporters for example, in that it does not export all the -nodes of a document or strictly follow the order of the nodes in the -document. - -Instead the TaskJuggler exporter looks for a tree that defines the tasks and -a optionally tree that defines the resources for this project. It then -creates a TaskJuggler file based on these trees and the attributes defined in -all the nodes. - -@subsection TaskJuggler export commands - -@table @kbd -@orgcmd{C-c C-e j,org-export-as-taskjuggler} -Export as a TaskJuggler file. - -@orgcmd{C-c C-e J,org-export-as-taskjuggler-and-open} -Export as a TaskJuggler file and then open the file with TaskJugglerUI. -@end table - -@subsection Tasks - -@vindex org-export-taskjuggler-project-tag -Create your tasks as you usually do with Org mode. Assign efforts to each -task using properties (it is easiest to do this in the column view). You -should end up with something similar to the example by Peter Jones in -@url{http://www.contextualdevelopment.com/static/artifacts/articles/2008/project-planning/project-planning.org}. -Now mark the top node of your tasks with a tag named -@code{:taskjuggler_project:} (or whatever you customized -@code{org-export-taskjuggler-project-tag} to). You are now ready to export -the project plan with @kbd{C-c C-e J} which will export the project plan and -open a gantt chart in TaskJugglerUI. - -@subsection Resources - -@vindex org-export-taskjuggler-resource-tag -Next you can define resources and assign those to work on specific tasks. You -can group your resources hierarchically. Tag the top node of the resources -with @code{:taskjuggler_resource:} (or whatever you customized -@code{org-export-taskjuggler-resource-tag} to). You can optionally assign an -identifier (named @samp{resource_id}) to the resources (using the standard -Org properties commands, @pxref{Property syntax}) or you can let the exporter -generate identifiers automatically (the exporter picks the first word of the -headline as the identifier as long as it is unique---see the documentation of -@code{org-taskjuggler-get-unique-id}). Using that identifier you can then -allocate resources to tasks. This is again done with the @samp{allocate} -property on the tasks. Do this in column view or when on the task type -@kbd{C-c C-x p allocate @key{RET} @key{RET}}. - -Once the allocations are done you can again export to TaskJuggler and check -in the Resource Allocation Graph which person is working on what task at what -time. - -@subsection Export of properties - -The exporter also takes TODO state information into consideration, i.e., if a -task is marked as done it will have the corresponding attribute in -TaskJuggler (@samp{complete 100}). Also it will export any property on a task -resource or resource node which is known to TaskJuggler, such as -@samp{limits}, @samp{vacation}, @samp{shift}, @samp{booking}, -@samp{efficiency}, @samp{journalentry}, @samp{rate} for resources or -@samp{account}, @samp{start}, @samp{note}, @samp{duration}, @samp{end}, -@samp{journalentry}, @samp{milestone}, @samp{reference}, @samp{responsible}, -@samp{scheduling}, etc.@: for tasks. - -@subsection Dependencies - -The exporter will handle dependencies that are defined in the tasks either -with the @samp{ORDERED} attribute (@pxref{TODO dependencies}), with the -@samp{BLOCKER} attribute (see @file{org-depend.el}) or alternatively with a -@samp{depends} attribute. Both the @samp{BLOCKER} and the @samp{depends} -attribute can be either @samp{previous-sibling} or a reference to an -identifier (named @samp{task_id}) which is defined for another task in the -project. @samp{BLOCKER} and the @samp{depends} attribute can define multiple -dependencies separated by either space or comma. You can also specify -optional attributes on the dependency by simply appending it. The following -examples should illustrate this: - -@example -* Preparation - :PROPERTIES: - :task_id: preparation - :ORDERED: t - :END: -* Training material - :PROPERTIES: - :task_id: training_material - :ORDERED: t - :END: -** Markup Guidelines - :PROPERTIES: - :Effort: 2d - :END: -** Workflow Guidelines - :PROPERTIES: - :Effort: 2d - :END: -* Presentation - :PROPERTIES: - :Effort: 2d - :BLOCKER: training_material @{ gapduration 1d @} preparation - :END: -@end example - -@subsection Reports - -@vindex org-export-taskjuggler-default-reports -TaskJuggler can produce many kinds of reports (e.g., gantt chart, resource -allocation, etc). The user defines what kind of reports should be generated -for a project in the TaskJuggler file. The exporter will automatically insert -some default reports in the file. These defaults are defined in -@code{org-export-taskjuggler-default-reports}. They can be modified using -customize along with a number of other options. For a more complete list, see -@kbd{M-x customize-group @key{RET} org-export-taskjuggler @key{RET}}. +@item +Associate a table with the table style -For more information and examples see the Org-taskjuggler tutorial at -@uref{http://orgmode.org/worg/org-tutorials/org-taskjuggler.html}. +To do this, specify the table style created in step (2) as part of +the @code{ATTR_ODT} line as shown below. -@node Freemind export, XOXO export, TaskJuggler export, Exporting -@section Freemind export -@cindex Freemind export -@cindex mind map +@example +#+ATTR_ODT: :style "TableWithHeaderRowAndColumn" +| Name | Phone | Age | +| Peter | 1234 | 17 | +| Anna | 4321 | 25 | +@end example +@end enumerate -The Freemind exporter was written by Lennart Borgman. +@node Validating OpenDocument XML, , Customizing tables in ODT export, Advanced topics in ODT export +@subsubsection Validating OpenDocument XML -@table @kbd -@orgcmd{C-c C-e m,org-export-as-freemind} -Export as a Freemind mind map. For an Org file @file{myfile.org}, the Freemind -file will be @file{myfile.mm}. -@end table +Occasionally, you will discover that the document created by the +ODT exporter cannot be opened by your favorite application. One of +the common reasons for this is that the @file{.odt} file is corrupt. In such +cases, you may want to validate the document against the OpenDocument RELAX +NG Compact Syntax (RNC) schema. -@node XOXO export, iCalendar export, Freemind export, Exporting -@section XOXO export -@cindex XOXO export +For de-compressing the @file{.odt} file@footnote{@file{.odt} files are +nothing but @samp{zip} archives}: @inforef{File Archives,,emacs}. For +general help with validation (and schema-sensitive editing) of XML files: +@inforef{Introduction,,nxml-mode}. -Org mode contains an exporter that produces XOXO-style output. -Currently, this exporter only handles the general outline structure and -does not interpret any additional Org mode features. +@vindex org-odt-schema-dir +If you have ready access to OpenDocument @file{.rnc} files and the needed +schema-locating rules in a single folder, you can customize the variable +@code{org-odt-schema-dir} to point to that directory. The ODT exporter +will take care of updating the @code{rng-schema-locating-files} for you. -@table @kbd -@orgcmd{C-c C-e x,org-export-as-xoxo} -Export as an XOXO file. For an Org file @file{myfile.org}, the XOXO file will be -@file{myfile.html}. -@orgkey{C-c C-e v x} -Export only the visible part of the document. -@end table +@c end opendocument -@node iCalendar export, , XOXO export, Exporting +@node iCalendar export, Other built-in back-ends, OpenDocument Text export, Exporting @section iCalendar export @cindex iCalendar export @@ -12118,19 +12827,19 @@ In this way the UID remains unique, but a synchronization program can still figure out from which entry all the different instances originate. @table @kbd -@orgcmd{C-c C-e i,org-export-icalendar-this-file} -Create iCalendar entries for the current file and store them in the same +@orgcmd{C-c C-e c f,org-icalendar-export-to-ics} +Create iCalendar entries for the current buffer and store them in the same directory, using a file extension @file{.ics}. -@orgcmd{C-c C-e I, org-export-icalendar-all-agenda-files} +@orgcmd{C-c C-e c a, org-icalendar-export-agenda-files} @vindex org-agenda-files -Like @kbd{C-c C-e i}, but do this for all files in +Like @kbd{C-c C-e c f}, but do this for all files in @code{org-agenda-files}. For each of these files, a separate iCalendar file will be written. -@orgcmd{C-c C-e c,org-export-icalendar-combine-agenda-files} -@vindex org-combined-agenda-icalendar-file +@orgcmd{C-c C-e c c,org-icalendar-combine-agenda-files} +@vindex org-icalendar-combined-agenda-file Create a single large iCalendar file from all files in @code{org-agenda-files} and write it to the file given by -@code{org-combined-agenda-icalendar-file}. +@code{org-icalendar-combined-agenda-file}. @end table @vindex org-use-property-inheritance @@ -12148,6 +12857,233 @@ and the description from the body (limited to How this calendar is best read and updated, depends on the application you are using. The FAQ covers this issue. +@node Other built-in back-ends, Export in foreign buffers, iCalendar export, Exporting +@section Other built-in back-ends +@cindex export back-ends, built-in +@vindex org-export-backends + +On top of the aforemetioned back-ends, Org comes with other built-in ones: + +@itemize +@item @file{ox-man.el}: export to a man page. +@item @file{ox-texinfo.el}: export to @code{Texinfo} format. +@item @file{ox-org.el}: export to an Org document. +@end itemize + +To activate these export back-end, customize @code{org-export-backends} or +load them directly with e.g., @code{(require 'ox-texinfo)}. This will add +new keys in the export dispatcher (@pxref{The Export Dispatcher}). + +See the comment section of these files for more information on how to use +them. + +@node Export in foreign buffers, Advanced configuration, Other built-in back-ends, Exporting +@section Export in foreign buffers + +Most built-in back-ends come with a command to convert the selected region +into a selected format and replace this region by the exported output. Here +is a list of such conversion commands: + +@table @code +@item org-html-convert-region-to-html +Convert the selected region into HTML. +@item org-latex-convert-region-to-latex +Convert the selected region into @LaTeX{}. +@item org-texinfo-convert-region-to-texinfo +Convert the selected region into @code{Texinfo}. +@item org-md-convert-region-to-md +Convert the selected region into @code{MarkDown}. +@end table + +This is particularily useful for converting tables and lists in foreign +buffers. E.g., in a HTML buffer, you can turn on @code{orgstruct-mode}, then +use Org commands for editing a list, and finally select and convert the list +with @code{M-x org-html-convert-region-to-html RET}. + +@node Advanced configuration, , Export in foreign buffers, Exporting +@section Advanced configuration + +@subheading Hooks + +@vindex org-export-before-processing-hook +@vindex org-export-before-parsing-hook +Two hooks are run during the first steps of the export process. The first +one, @code{org-export-before-processing-hook} is called before expanding +macros, Babel code and include keywords in the buffer. The second one, +@code{org-export-before-parsing-hook}, as its name suggests, happens just +before parsing the buffer. Their main use is for heavy duties, that is +duties involving structural modifications of the document. For example, one +may want to remove every headline in the buffer during export. The following +code can achieve this: + +@lisp +@group +(defun my-headline-removal (backend) + "Remove all headlines in the current buffer. +BACKEND is the export back-end being used, as a symbol." + (org-map-entries + (lambda () (delete-region (point) (progn (forward-line) (point)))))) + +(add-hook 'org-export-before-parsing-hook 'my-headline-removal) +@end group +@end lisp + +Note that functions used in these hooks require a mandatory argument, +a symbol representing the back-end used. + +@subheading Filters + +@cindex Filters, exporting +Filters are lists of functions applied on a specific part of the output from +a given back-end. More explicitly, each time a back-end transforms an Org +object or element into another language, all functions within a given filter +type are called in turn on the string produced. The string returned by the +last function will be the one used in the final output. + +There are filters sets for each type of element or object, for plain text, +for the parse tree, for the export options and for the final output. They +are all named after the same scheme: @code{org-export-filter-TYPE-functions}, +where @code{TYPE} is the type targeted by the filter. Valid types are: + +@multitable @columnfractions .33 .33 .33 +@item bold +@tab babel-call +@tab center-block +@item clock +@tab code +@tab comment +@item comment-block +@tab diary-sexp +@tab drawer +@item dynamic-block +@tab entity +@tab example-block +@item export-block +@tab export-snippet +@tab final-output +@item fixed-width +@tab footnote-definition +@tab footnote-reference +@item headline +@tab horizontal-rule +@tab inline-babel-call +@item inline-src-block +@tab inlinetask +@tab italic +@item item +@tab keyword +@tab latex-environment +@item latex-fragment +@tab line-break +@tab link +@item node-property +@tab options +@tab paragraph +@item parse-tree +@tab plain-list +@tab plain-text +@item planning +@tab property-drawer +@tab quote-block +@item quote-section +@tab radio-target +@tab section +@item special-block +@tab src-block +@tab statistics-cookie +@item strike-through +@tab subscript +@tab superscript +@item table +@tab table-cell +@tab table-row +@item target +@tab timestamp +@tab underline +@item verbatim +@tab verse-block +@tab +@end multitable + +For example, the following snippet allows me to use non-breaking spaces in +the Org buffer and get them translated into @LaTeX{} without using the +@code{\nbsp} macro (where @code{_} stands for the non-breaking space): + +@lisp +@group +(defun my-latex-filter-nobreaks (text backend info) + "Ensure \" \" are properly handled in LaTeX export." + (when (org-export-derived-backend-p backend 'latex) + (replace-regexp-in-string " " "~" text))) + +(add-to-list 'org-export-filter-plain-text-functions + 'my-latex-filter-nobreaks) +@end group +@end lisp + +Three arguments must be provided to a filter: the code being changed, the +back-end used, and some information about the export process. You can safely +ignore the third argument for most purposes. Note the use of +@code{org-export-derived-backend-p}, which ensures that the filter will only +be applied when using @code{latex} back-end or any other back-end derived +from it (e.g., @code{beamer}). + +@subheading Extending an existing back-end + +This is obviously the most powerful customization, since the changes happen +at the parser level. Indeed, some export back-ends are built as extensions +of other ones (e.g. Markdown back-end an extension of HTML back-end). + +Extending a back-end means that if an element type is not transcoded by the +new back-end, it will be handled by the original one. Hence you can extend +specific parts of a back-end without too much work. + +As an example, imagine we want the @code{ascii} back-end to display the +language used in a source block, when it is available, but only when some +attribute is non-@code{nil}, like the following: + +@example +#+ATTR_ASCII: :language t +@end example + +Because that back-end is lacking in that area, we are going to create a new +back-end, @code{my-ascii} that will do the job. + +@lisp +@group +(defun my-ascii-src-block (src-block contents info) + "Transcode a SRC-BLOCK element from Org to ASCII. +CONTENTS is nil. INFO is a plist used as a communication +channel." + (if (not (org-export-read-attribute :attr_ascii src-block :language)) + (org-export-with-backend 'ascii src-block contents info) + (concat + (format ",--[ %s ]--\n%s`----" + (org-element-property :language src-block) + (replace-regexp-in-string + "^" "| " + (org-element-normalize-string + (org-export-format-code-default src-block info))))))) + +(org-export-define-derived-backend 'my-ascii 'ascii + :translate-alist '((src-block . my-ascii-src-block))) +@end group +@end lisp + +The @code{my-ascii-src-block} function looks at the attribute above the +element. If it isn’t true, it gives hand to the @code{ascii} back-end. +Otherwise, it creates a box around the code, leaving room for the language. +A new back-end is then created. It only changes its behaviour when +translating @code{src-block} type element. Now, all it takes to use the new +back-end is calling the following from an Org buffer: + +@smalllisp +(org-export-to-buffer 'my-ascii "*Org MY-ASCII Export*") +@end smalllisp + +It is obviously possible to write an interactive function for this, install +it in the export dispatcher menu, and so on. + @node Publishing, Working With Source Code, Exporting, Top @chapter Publishing @cindex publishing @@ -12227,7 +13163,7 @@ and where to put published files. @tab Directory containing publishing source files @item @code{:publishing-directory} @tab Directory where output files will be published. You can directly -publish to a webserver using a file name syntax appropriate for +publish to a web server using a file name syntax appropriate for the Emacs @file{tramp} package. Or you can publish to a local directory and use external tools to upload your website (@pxref{Uploading files}). @item @code{:preparation-function} @@ -12266,7 +13202,7 @@ extension. and @code{:exclude}. @item @code{:recursive} -@tab Non-nil means, check base-directory recursively for files to publish. +@tab non-@code{nil} means, check base-directory recursively for files to publish. @end multitable @node Publishing action, Publishing options, Selecting files, Configuration @@ -12276,201 +13212,164 @@ and @code{:exclude}. Publishing means that a file is copied to the destination directory and possibly transformed in the process. The default transformation is to export Org files as HTML files, and this is done by the function -@code{org-publish-org-to-html} which calls the HTML exporter (@pxref{HTML +@code{org-html-publish-to-html}, which calls the HTML exporter (@pxref{HTML export}). But you also can publish your content as PDF files using -@code{org-publish-org-to-pdf}, or as @code{ascii}, @code{latin1} or -@code{utf8} encoded files using the corresponding functions. If you want to -publish the Org file itself, but with @i{archived}, @i{commented}, and -@i{tag-excluded} trees removed, use @code{org-publish-org-to-org} and set the -parameters @code{:plain-source} and/or @code{:htmlized-source}. This will -produce @file{file.org} and @file{file.org.html} in the publishing -directory@footnote{@file{file-source.org} and @file{file-source.org.html} if -source and publishing directories are equal. Note that with this kind of -setup, you need to add @code{:exclude "-source\\.org"} to the project -definition in @code{org-publish-project-alist} to prevent the published -source files from being considered as new org files the next time the project -is published.}. Other files like images only need to be copied to the -publishing destination; for this you may use @code{org-publish-attachment}. -For non-Org files, you always need to specify the publishing function: +@code{org-latex-publish-to-pdf} or as @code{ascii}, @code{Texinfo}, etc., +using the corresponding functions. + +If you want to publish the Org file as an @code{.org} file but with the +@i{archived}, @i{commented} and @i{tag-excluded} trees removed, use the +function @code{org-org-publish-to-org}. This will produce @file{file.org} +and put it in the publishing directory. If you want a htmlized version of +this file, set the parameter @code{:htmlized-source} to @code{t}, it will +produce @file{file.org.html} in the publishing directory@footnote{If the +publishing directory is the same than the source directory, @file{file.org} +will be exported as @file{file.org.org}, so probably don't want to do this.}. + +Other files like images only need to be copied to the publishing destination. +For this you can use @code{org-publish-attachment}. For non-org files, you +always need to specify the publishing function: @multitable @columnfractions 0.3 0.7 @item @code{:publishing-function} @tab Function executing the publication of a file. This may also be a list of functions, which will all be called in turn. -@item @code{:plain-source} -@tab Non-nil means, publish plain source. @item @code{:htmlized-source} -@tab Non-nil means, publish htmlized source. +@tab non-@code{nil} means, publish htmlized source. @end multitable The function must accept three arguments: a property list containing at least -a @code{:publishing-directory} property, the name of the file to be -published, and the path to the publishing directory of the output file. It -should take the specified file, make the necessary transformation (if any) -and place the result into the destination folder. +a @code{:publishing-directory} property, the name of the file to be published +and the path to the publishing directory of the output file. It should take +the specified file, make the necessary transformation (if any) and place the +result into the destination folder. @node Publishing options, Publishing links, Publishing action, Configuration -@subsection Options for the HTML/@LaTeX{} exporters +@subsection Options for the exporters @cindex options, for publishing -The property list can be used to set many export options for the HTML -and @LaTeX{} exporters. In most cases, these properties correspond to user -variables in Org. The table below lists these properties along -with the variable they belong to. See the documentation string for the -respective variable for details. +The property list can be used to set many export options for the exporters. +In most cases, these properties correspond to user variables in Org. The +first table below lists these properties along with the variable they belong +to. The second table list HTML specific properties. See the documentation +string of these options for details. -@vindex org-export-html-link-up -@vindex org-export-html-link-home -@vindex org-export-default-language @vindex org-display-custom-times +@vindex org-export-default-language +@vindex org-export-exclude-tags @vindex org-export-headline-levels -@vindex org-export-with-section-numbers -@vindex org-export-section-number-format -@vindex org-export-with-toc @vindex org-export-preserve-breaks +@vindex org-export-publishing-directory +@vindex org-export-select-tags @vindex org-export-with-archived-trees +@vindex org-export-with-author +@vindex org-export-with-creator +@vindex org-export-with-drawers +@vindex org-export-with-email @vindex org-export-with-emphasize -@vindex org-export-with-sub-superscripts -@vindex org-export-with-special-strings +@vindex org-export-with-fixed-width @vindex org-export-with-footnotes -@vindex org-export-with-drawers +@vindex org-export-with-latex +@vindex org-export-with-planning +@vindex org-export-with-priority +@vindex org-export-with-section-numbers +@vindex org-export-with-special-strings +@vindex org-export-with-sub-superscripts +@vindex org-export-with-tables @vindex org-export-with-tags -@vindex org-export-with-todo-keywords @vindex org-export-with-tasks -@vindex org-export-with-done-tasks -@vindex org-export-with-priority -@vindex org-export-with-TeX-macros -@vindex org-export-with-LaTeX-fragments -@vindex org-export-skip-text-before-1st-heading -@vindex org-export-with-fixed-width @vindex org-export-with-timestamps -@vindex org-export-author-info -@vindex org-export-email-info -@vindex org-export-creator-info -@vindex org-export-time-stamp-file -@vindex org-export-with-tables -@vindex org-export-highlight-first-table-line -@vindex org-export-html-style-include-default -@vindex org-export-html-style-include-scripts -@vindex org-export-html-style -@vindex org-export-html-style-extra -@vindex org-export-html-link-org-files-as-html -@vindex org-export-html-inline-images -@vindex org-export-html-extension -@vindex org-export-html-table-tag -@vindex org-export-html-expand -@vindex org-export-html-with-timestamp -@vindex org-export-publishing-directory -@vindex org-export-html-preamble -@vindex org-export-html-postamble -@vindex user-full-name +@vindex org-export-with-toc +@vindex org-export-with-todo-keywords @vindex user-mail-address -@vindex org-export-select-tags -@vindex org-export-exclude-tags @multitable @columnfractions 0.32 0.68 -@item @code{:link-up} @tab @code{org-export-html-link-up} -@item @code{:link-home} @tab @code{org-export-html-link-home} -@item @code{:language} @tab @code{org-export-default-language} -@item @code{:customtime} @tab @code{org-display-custom-times} +@item @code{:archived-trees} @tab @code{org-export-with-archived-trees} +@item @code{:exclude-tags} @tab @code{org-export-exclude-tags} @item @code{:headline-levels} @tab @code{org-export-headline-levels} -@item @code{:section-numbers} @tab @code{org-export-with-section-numbers} -@item @code{:section-number-format} @tab @code{org-export-section-number-format} -@item @code{:table-of-contents} @tab @code{org-export-with-toc} +@item @code{:language} @tab @code{org-export-default-language} @item @code{:preserve-breaks} @tab @code{org-export-preserve-breaks} -@item @code{:archived-trees} @tab @code{org-export-with-archived-trees} -@item @code{:emphasize} @tab @code{org-export-with-emphasize} -@item @code{:sub-superscript} @tab @code{org-export-with-sub-superscripts} -@item @code{:special-strings} @tab @code{org-export-with-special-strings} -@item @code{:footnotes} @tab @code{org-export-with-footnotes} -@item @code{:drawers} @tab @code{org-export-with-drawers} -@item @code{:tags} @tab @code{org-export-with-tags} -@item @code{:todo-keywords} @tab @code{org-export-with-todo-keywords} -@item @code{:tasks} @tab @code{org-export-with-tasks} -@item @code{:priority} @tab @code{org-export-with-priority} -@item @code{:TeX-macros} @tab @code{org-export-with-TeX-macros} -@item @code{:LaTeX-fragments} @tab @code{org-export-with-LaTeX-fragments} -@item @code{:latex-listings} @tab @code{org-export-latex-listings} -@item @code{:skip-before-1st-heading} @tab @code{org-export-skip-text-before-1st-heading} -@item @code{:fixed-width} @tab @code{org-export-with-fixed-width} -@item @code{:timestamps} @tab @code{org-export-with-timestamps} -@item @code{:author} @tab @code{user-full-name} -@item @code{:email} @tab @code{user-mail-address} : @code{addr;addr;..} -@item @code{:author-info} @tab @code{org-export-author-info} -@item @code{:email-info} @tab @code{org-export-email-info} -@item @code{:creator-info} @tab @code{org-export-creator-info} -@item @code{:tables} @tab @code{org-export-with-tables} -@item @code{:table-auto-headline} @tab @code{org-export-highlight-first-table-line} -@item @code{:style-include-default} @tab @code{org-export-html-style-include-default} -@item @code{:style-include-scripts} @tab @code{org-export-html-style-include-scripts} -@item @code{:style} @tab @code{org-export-html-style} -@item @code{:style-extra} @tab @code{org-export-html-style-extra} -@item @code{:convert-org-links} @tab @code{org-export-html-link-org-files-as-html} -@item @code{:inline-images} @tab @code{org-export-html-inline-images} -@item @code{:html-extension} @tab @code{org-export-html-extension} -@item @code{:html-preamble} @tab @code{org-export-html-preamble} -@item @code{:html-postamble} @tab @code{org-export-html-postamble} -@item @code{:xml-declaration} @tab @code{org-export-html-xml-declaration} -@item @code{:html-table-tag} @tab @code{org-export-html-table-tag} -@item @code{:expand-quoted-html} @tab @code{org-export-html-expand} -@item @code{:timestamp} @tab @code{org-export-html-with-timestamp} @item @code{:publishing-directory} @tab @code{org-export-publishing-directory} +@item @code{:section-numbers} @tab @code{org-export-with-section-numbers} @item @code{:select-tags} @tab @code{org-export-select-tags} -@item @code{:exclude-tags} @tab @code{org-export-exclude-tags} -@item @code{:latex-image-options} @tab @code{org-export-latex-image-default-option} +@item @code{:with-author} @tab @code{org-export-with-author} +@item @code{:with-creator} @tab @code{org-export-with-creator} +@item @code{:with-drawers} @tab @code{org-export-with-drawers} +@item @code{:with-email} @tab @code{org-export-with-email} +@item @code{:with-emphasize} @tab @code{org-export-with-emphasize} +@item @code{:with-fixed-width} @tab @code{org-export-with-fixed-width} +@item @code{:with-footnotes} @tab @code{org-export-with-footnotes} +@item @code{:with-latex} @tab @code{org-export-with-latex} +@item @code{:with-planning} @tab @code{org-export-with-planning} +@item @code{:with-priority} @tab @code{org-export-with-priority} +@item @code{:with-special-strings} @tab @code{org-export-with-special-strings} +@item @code{:with-sub-superscript} @tab @code{org-export-with-sub-superscripts} +@item @code{:with-tables} @tab @code{org-export-with-tables} +@item @code{:with-tags} @tab @code{org-export-with-tags} +@item @code{:with-tasks} @tab @code{org-export-with-tasks} +@item @code{:with-timestamps} @tab @code{org-export-with-timestamps} +@item @code{:with-toc} @tab @code{org-export-with-toc} +@item @code{:with-todo-keywords} @tab @code{org-export-with-todo-keywords} @end multitable -Most of the @code{org-export-with-*} variables have the same effect in -both HTML and @LaTeX{} exporters, except for @code{:TeX-macros} and -@code{:LaTeX-fragments} options, respectively @code{nil} and @code{t} in the -@LaTeX{} export. See @code{org-export-plist-vars} to check this list of -options. - +@vindex org-html-doctype +@vindex org-html-xml-declaration +@vindex org-html-link-up +@vindex org-html-link-home +@vindex org-html-link-org-files-as-html +@vindex org-html-head +@vindex org-html-head-extra +@vindex org-html-inline-images +@vindex org-html-extension +@vindex org-html-preamble +@vindex org-html-postamble +@vindex org-html-table-default-attributes +@vindex org-html-head-include-default-style +@vindex org-html-head-include-scripts +@multitable @columnfractions 0.32 0.68 +@item @code{:html-doctype} @tab @code{org-html-doctype} +@item @code{:html-xml-declaration} @tab @code{org-html-xml-declaration} +@item @code{:html-link-up} @tab @code{org-html-link-up} +@item @code{:html-link-home} @tab @code{org-html-link-home} +@item @code{:html-link-org-as-html} @tab @code{org-html-link-org-files-as-html} +@item @code{:html-head} @tab @code{org-html-head} +@item @code{:html-head-extra} @tab @code{org-html-head-extra} +@item @code{:html-inline-images} @tab @code{org-html-inline-images} +@item @code{:html-extension} @tab @code{org-html-extension} +@item @code{:html-preamble} @tab @code{org-html-preamble} +@item @code{:html-postamble} @tab @code{org-html-postamble} +@item @code{:html-table-attributes} @tab @code{org-html-table-default-attributes} +@item @code{:html-head-include-default-style} @tab @code{org-html-head-include-default-style} +@item @code{:html-head-include-scripts} @tab @code{org-html-head-include-scripts} +@end multitable +Most of the @code{org-export-with-*} variables have the same effect in each +exporter. @vindex org-publish-project-alist -When a property is given a value in @code{org-publish-project-alist}, -its setting overrides the value of the corresponding user variable (if -any) during publishing. Options set within a file (@pxref{Export -options}), however, override everything. +When a property is given a value in @code{org-publish-project-alist}, its +setting overrides the value of the corresponding user variable (if any) +during publishing. Options set within a file (@pxref{Export settings}), +however, override everything. @node Publishing links, Sitemap, Publishing options, Configuration @subsection Links between published files @cindex links, publishing -To create a link from one Org file to another, you would use -something like @samp{[[file:foo.org][The foo]]} or simply -@samp{file:foo.org.} (@pxref{Hyperlinks}). When published, this link -becomes a link to @file{foo.html}. In this way, you can interlink the -pages of your "org web" project and the links will work as expected when -you publish them to HTML@. If you also publish the Org source file and want -to link to that, use an @code{http:} link instead of a @code{file:} link, -because @code{file:} links are converted to link to the corresponding -@file{html} file. +To create a link from one Org file to another, you would use something like +@samp{[[file:foo.org][The foo]]} or simply @samp{file:foo.org.} +(@pxref{Hyperlinks}). When published, this link becomes a link to +@file{foo.html}. You can thus interlink the pages of your "org web" project +and the links will work as expected when you publish them to HTML@. If you +also publish the Org source file and want to link to it, use an @code{http:} +link instead of a @code{file:} link, because @code{file:} links are converted +to link to the corresponding @file{html} file. You may also link to related files, such as images. Provided you are careful with relative file names, and provided you have also configured Org to upload the related files, these links will work too. See @ref{Complex example}, for an example of this usage. -Sometimes an Org file to be published may contain links that are -only valid in your production environment, but not in the publishing -location. In this case, use the property - -@multitable @columnfractions 0.4 0.6 -@item @code{:link-validation-function} -@tab Function to validate links -@end multitable - -@noindent -to define a function for checking link validity. This function must -accept two arguments, the file name and a directory relative to which -the file name is interpreted in the production environment. If this -function returns @code{nil}, then the HTML generator will only insert a -description into the HTML file, but no link. One option for this -function is @code{org-publish-validate-link} which checks if the given -file is part of any project in @code{org-publish-project-alist}. - @node Sitemap, Generating an index, Publishing links, Configuration @subsection Generating a sitemap @cindex sitemap, of published pages @@ -12480,7 +13379,7 @@ a map of files for a given project. @multitable @columnfractions 0.35 0.65 @item @code{:auto-sitemap} -@tab When non-nil, publish a sitemap during @code{org-publish-current-project} +@tab When non-@code{nil}, publish a sitemap during @code{org-publish-current-project} or @code{org-publish-all}. @item @code{:sitemap-filename} @@ -12525,7 +13424,7 @@ a sitemap entry's date is to be formatted. This property bypasses @code{org-publish-sitemap-date-format} which defaults to @code{%Y-%m-%d}. @item @code{:sitemap-sans-extension} -@tab When non-nil, remove filenames' extensions from the generated sitemap. +@tab When non-@code{nil}, remove filenames' extensions from the generated sitemap. Useful to have cool URIs (see @uref{http://www.w3.org/Provider/Style/URI}). Defaults to @code{nil}. @@ -12539,7 +13438,7 @@ Org mode can generate an index across the files of a publishing project. @multitable @columnfractions 0.25 0.75 @item @code{:makeindex} -@tab When non-nil, generate in index in the file @file{theindex.org} and +@tab When non-@code{nil}, generate in index in the file @file{theindex.org} and publish it as @file{theindex.html}. @end multitable @@ -12605,10 +13504,10 @@ directory on the local machine. :base-directory "~/org/" :publishing-directory "~/public_html" :section-numbers nil - :table-of-contents nil - :style ""))) + :with-toc nil + :html-head ""))) @end lisp @node Complex example, , Simple example, Sample configuration @@ -12638,12 +13537,12 @@ right place on the web server, and publishing images to it. :base-directory "~/org/" :base-extension "org" :publishing-directory "/ssh:user@@host:~/html/notebook/" - :publishing-function org-publish-org-to-html + :publishing-function org-html-publish-to-html :exclude "PrivatePage.org" ;; regexp :headline-levels 3 :section-numbers nil - :table-of-contents nil - :style "" :html-preamble t) @@ -12667,13 +13566,13 @@ right place on the web server, and publishing images to it. Once properly configured, Org can publish with the following commands: @table @kbd -@orgcmd{C-c C-e X,org-publish} +@orgcmd{C-c C-e P x,org-publish} Prompt for a specific project and publish all files that belong to it. -@orgcmd{C-c C-e P,org-publish-current-project} +@orgcmd{C-c C-e P p,org-publish-current-project} Publish the project containing the current file. -@orgcmd{C-c C-e F,org-publish-current-file} +@orgcmd{C-c C-e P f,org-publish-current-file} Publish only the current file. -@orgcmd{C-c C-e E,org-publish-all} +@orgcmd{C-c C-e P a,org-publish-all} Publish every project. @end table @@ -12770,7 +13669,7 @@ src_[
]@{@} @table @code @item <#+NAME: name> This line associates a name with the code block. This is similar to the -@code{#+TBLNAME: NAME} lines that can be used to name tables in Org mode +@code{#+NAME: Name} lines that can be used to name tables in Org mode files. Referencing the name of a code block makes it possible to evaluate the block from other places in the file, from other files, or from Org mode table formulas (see @ref{The spreadsheet}). Names are assumed to be unique @@ -12802,11 +13701,16 @@ Source code in the specified language. @cindex code block, editing @cindex source code, editing +@vindex org-edit-src-auto-save-idle-delay +@vindex org-edit-src-turn-on-auto-save @kindex C-c ' -Use @kbd{C-c '} to edit the current code block. This brings up -a language major-mode edit buffer containing the body of the code -block. Saving this buffer will write the new contents back to the Org -buffer. Use @kbd{C-c '} again to exit. +Use @kbd{C-c '} to edit the current code block. This brings up a language +major-mode edit buffer containing the body of the code block. Manually +saving this buffer with @key{C-x C-s} will write the contents back to the Org +buffer. You can also set @code{org-edit-src-auto-save-idle-delay} to save the +base buffer after some idle delay, or @code{org-edit-src-turn-on-auto-save} +to auto-save this buffer into a separate file using @code{auto-save-mode}. +Use @kbd{C-c '} again to exit. The @code{org-src-mode} minor mode will be active in the edit buffer. The following variables can be used to configure the behavior of the edit @@ -12826,7 +13730,7 @@ This variable is especially useful for tangling languages such as Python, in which whitespace indentation in the output is critical. @item org-src-ask-before-returning-to-edit-buffer By default, Org will ask before returning to an open edit buffer. Set this -variable to nil to switch without asking. +variable to @code{nil} to switch without asking. @end table To turn on native code fontification in the @emph{Org} buffer, configure the @@ -12851,6 +13755,7 @@ The @code{:exports} header argument can be used to specify export behavior: @subsubheading Header arguments: + @table @code @item :exports code The default in most languages. The body of the code block is exported, as @@ -12872,7 +13777,12 @@ Setting the @code{org-export-babel-evaluate} variable to @code{nil} will ensure that no code blocks are evaluated as part of the export process. This can be useful in situations where potentially untrusted Org mode files are exported in an automated fashion, for example when Org mode is used as the -markup language for a wiki. +markup language for a wiki. It is also possible to set this variable to +@code{‘inline-only}. In that case, only inline code blocks will be +evaluated, in order to insert their results. Non-inline code blocks are +assumed to have their results already inserted in the buffer by manual +evaluation. This setting is useful to avoid expensive recalculations during +export, not to provide security. @comment node-name, next, previous, up @comment Extracting source code, Evaluating code blocks, Exporting code blocks, Working With Source Code @@ -12889,6 +13799,7 @@ using @code{org-babel-expand-src-block} which can expand both variable and ``noweb'' style references (see @ref{Noweb reference syntax}). @subsubheading Header arguments + @table @code @item :tangle no The default. The code block is not included in the tangled output. @@ -12902,14 +13813,18 @@ Include the code block in the tangled output to file @samp{filename}. @kindex C-c C-v t @subsubheading Functions + @table @code @item org-babel-tangle Tangle the current file. Bound to @kbd{C-c C-v t}. + +With prefix argument only tangle the current code block. @item org-babel-tangle-file Choose a file to tangle. Bound to @kbd{C-c C-v f}. @end table @subsubheading Hooks + @table @code @item org-babel-post-tangle-hook This hook is run from within code files tangled by @code{org-babel-tangle}. @@ -12917,6 +13832,21 @@ Example applications could include post-processing, compilation or evaluation of tangled code files. @end table +@subsubheading Jumping between code and Org + +When tangling code from an Org-mode buffer to a source code file, you'll +frequently find yourself viewing the file of tangled source code (e.g., many +debuggers point to lines of the source code file). It is useful to be able +to navigate from the tangled source to the Org-mode buffer from which the +code originated. + +The @code{org-babel-tangle-jump-to-org} function provides this jumping from +code to Org-mode functionality. Two header arguments are required for +jumping to work, first the @code{padline} (@ref{padline}) option must be set +to true (the default setting), second the @code{comments} (@ref{comments}) +header argument must be set to @code{links}, which will insert comments into +the source code buffer which point back to the original Org-mode file. + @node Evaluating code blocks, Library of Babel, Extracting source code, Working With Source Code @section Evaluating code blocks @cindex code block, evaluating @@ -12943,7 +13873,7 @@ used to define a code block). @kindex C-c C-c There are a number of ways to evaluate code blocks. The simplest is to press @kbd{C-c C-c} or @kbd{C-c C-v e} with the point on a code block@footnote{The -@code{org-babel-no-eval-on-ctrl-c-ctrl-c} variable can be used to remove code +option @code{org-babel-no-eval-on-ctrl-c-ctrl-c} can be used to remove code evaluation from the @kbd{C-c C-c} key binding.}. This will call the @code{org-babel-execute-src-block} function to evaluate the block and insert its results into the Org mode buffer. @@ -13054,10 +13984,10 @@ Language-specific documentation is available for some languages. If available, it can be found at @uref{http://orgmode.org/worg/org-contrib/babel/languages.html}. -The @code{org-babel-load-languages} controls which languages are enabled for -evaluation (by default only @code{emacs-lisp} is enabled). This variable can -be set using the customization interface or by adding code like the following -to your emacs configuration. +The option @code{org-babel-load-languages} controls which languages are +enabled for evaluation (by default only @code{emacs-lisp} is enabled). This +variable can be set using the customization interface or by adding code like +the following to your emacs configuration. @quotation The following disables @code{emacs-lisp} evaluation and enables evaluation of @@ -13099,13 +14029,16 @@ describes each header argument in detail. @node Using header arguments, Specific header arguments, Header arguments, Header arguments @subsection Using header arguments -The values of header arguments can be set in six different ways, each more -specific (and having higher priority) than the last. +The values of header arguments can be set in several way. When the header +arguments in each layer have been determined, they are combined in order from +the first, least specific (having the lowest priority) up to the last, most +specific (having the highest priority). A header argument with a higher +priority replaces the same header argument specified at lower priority. @menu * System-wide header arguments:: Set global default values * Language-specific header arguments:: Set default values by language -* Buffer-wide header arguments:: Set default values for a specific buffer * Header arguments in Org mode properties:: Set default values for a buffer or heading +* Language-specific header arguments in Org mode properties:: Set language-specific default values for a buffer or heading * Code block specific header arguments:: The most common way to set values * Header arguments in function calls:: The most specific level @end menu @@ -13114,7 +14047,7 @@ specific (and having higher priority) than the last. @node System-wide header arguments, Language-specific header arguments, Using header arguments, Using header arguments @subsubheading System-wide header arguments @vindex org-babel-default-header-args -System-wide values of header arguments can be specified by customizing the +System-wide values of header arguments can be specified by adapting the @code{org-babel-default-header-args} variable: @example @@ -13125,20 +14058,6 @@ System-wide values of header arguments can be specified by customizing the :noweb => "no" @end example -@c @example -@c org-babel-default-header-args is a variable defined in `org-babel.el'. -@c Its value is -@c ((:session . "none") -@c (:results . "replace") -@c (:exports . "code") -@c (:cache . "no") -@c (:noweb . "no")) - - -@c Documentation: -@c Default arguments to use when evaluating a code block. -@c @end example - For example, the following example could be used to set the default value of @code{:noweb} header arguments to @code{yes}. This would have the effect of expanding @code{:noweb} references by default when evaluating source code @@ -13147,64 +14066,88 @@ blocks. @lisp (setq org-babel-default-header-args (cons '(:noweb . "yes") - (assq-delete-all :noweb org-babel-default-header-args))) + (assq-delete-all :noweb org-babel-default-header-args))) @end lisp -@node Language-specific header arguments, Buffer-wide header arguments, System-wide header arguments, Using header arguments +@node Language-specific header arguments, Header arguments in Org mode properties, System-wide header arguments, Using header arguments @subsubheading Language-specific header arguments -Each language can define its own set of default header arguments. See the -language-specific documentation available online at +Each language can define its own set of default header arguments in variable +@code{org-babel-default-header-args:}, where @code{} is the name +of the language. See the language-specific documentation available online at @uref{http://orgmode.org/worg/org-contrib/babel}. -@node Buffer-wide header arguments, Header arguments in Org mode properties, Language-specific header arguments, Using header arguments -@subsubheading Buffer-wide header arguments +@node Header arguments in Org mode properties, Language-specific header arguments in Org mode properties, Language-specific header arguments, Using header arguments +@subsubheading Header arguments in Org mode properties + Buffer-wide header arguments may be specified as properties through the use of @code{#+PROPERTY:} lines placed anywhere in an Org mode file (see @ref{Property syntax}). -For example the following would set @code{session} to @code{*R*}, and -@code{results} to @code{silent} for every code block in the buffer, ensuring -that all execution took place in the same session, and no results would be -inserted into the buffer. +For example the following would set @code{session} to @code{*R*} (only for R +code blocks), and @code{results} to @code{silent} for every code block in the +buffer, ensuring that all execution took place in the same session, and no +results would be inserted into the buffer. @example -#+PROPERTY: session *R* -#+PROPERTY: results silent -@end example - -@node Header arguments in Org mode properties, Code block specific header arguments, Buffer-wide header arguments, Using header arguments -@subsubheading Header arguments in Org mode properties - -Header arguments are also read from Org mode properties (see @ref{Property -syntax}), which can be set on a buffer-wide or per-heading basis. An example -of setting a header argument for all code blocks in a buffer is - -@example -#+PROPERTY: tangle yes +#+PROPERTY: header-args:R :session *R* +#+PROPERTY: header-args :results silent @end example +Header arguments read from Org mode properties can also be set on a +per-subtree basis using property drawers (see @ref{Property syntax}). @vindex org-use-property-inheritance -When properties are used to set default header arguments, they are looked up -with inheritance, regardless of the value of -@code{org-use-property-inheritance}. In the following example the value of +When properties are used to set default header arguments, they are always +looked up with inheritance, regardless of the value of +@code{org-use-property-inheritance}. Properties are evaluated as seen by the +outermost call or source block.@footnote{The deprecated syntax for default +header argument properties, using the name of the header argument as a +property name directly, evaluates the property as seen by the corresponding +source block definition. This behaviour has been kept for backwards +compatibility.} + +In the following example the value of the @code{:cache} header argument will default to @code{yes} in all code blocks in the subtree rooted at the following heading: @example * outline header :PROPERTIES: - :cache: yes + :header-args: :cache yes :END: @end example @kindex C-c C-x p @vindex org-babel-default-header-args Properties defined in this way override the properties set in -@code{org-babel-default-header-args}. It is convenient to use the -@code{org-set-property} function bound to @kbd{C-c C-x p} to set properties -in Org mode documents. +@code{org-babel-default-header-args} and are applied for all activated +languages. It is convenient to use the @code{org-set-property} function +bound to @kbd{C-c C-x p} to set properties in Org mode documents. + +@node Language-specific header arguments in Org mode properties, Code block specific header arguments, Header arguments in Org mode properties, Using header arguments +@subsubheading Language-specific header arguments in Org mode properties + +Language-specific header arguments are also read from properties +@code{header-args:} where @code{} is the name of the language +targeted. As an example + +@example +* Heading + :PROPERTIES: + :header-args:clojure: :session *clojure-1* + :header-args:R: :session *R* + :END: +** Subheading + :PROPERTIES: + :header-args:clojure: :session *clojure-2* + :END: +@end example + +would independently set a default session header argument for R and clojure +for calls and source blocks under subtree ``Heading'' and change to a +different clojure setting for evaluations under subtree ``Subheading'', while +the R session is inherited from ``Heading'' and therefore unchanged. -@node Code block specific header arguments, Header arguments in function calls, Header arguments in Org mode properties, Using header arguments +@node Code block specific header arguments, Header arguments in function calls, Language-specific header arguments in Org mode properties, Using header arguments @subsubheading Code block specific header arguments The most common way to assign values to header arguments is at the @@ -13318,8 +14261,12 @@ argument in lowercase letters. The following header arguments are defined: * colnames:: Handle column names in tables * rownames:: Handle row names in tables * shebang:: Make tangled files executable +* tangle-mode:: Set permission of tangled files * eval:: Limit evaluation of specific code blocks * wrap:: Mark source block evaluation results +* post:: Post processing of code block results +* prologue:: Text to prepend to code block body +* epilogue:: Text to append to code block body @end menu Additional header arguments are defined on a language-specific basis, see @@ -13334,11 +14281,13 @@ syntax used to specify arguments is the same across all languages. In every case, variables require a default value when they are declared. The values passed to arguments can either be literal values, references, or -Emacs Lisp code (see @ref{var, Emacs Lisp evaluation of variables}). References -include anything in the Org mode file that takes a @code{#+NAME:}, -@code{#+TBLNAME:}, or @code{#+RESULTS:} line. This includes tables, lists, -@code{#+BEGIN_EXAMPLE} blocks, other code blocks, and the results of other -code blocks. +Emacs Lisp code (see @ref{var, Emacs Lisp evaluation of variables}). +References include anything in the Org mode file that takes a @code{#+NAME:} +or @code{#+RESULTS:} line: tables, lists, @code{#+BEGIN_EXAMPLE} blocks, +other code blocks and the results of other code blocks. + +Note: When a reference is made to another code block, the referenced block +will be evaluated unless it has current cached results (see @ref{cache}). Argument values can be indexed in a manner similar to arrays (see @ref{var, Indexable variable values}). @@ -13360,10 +14309,10 @@ Here are examples of passing values by reference: @table @dfn @item table -an Org mode table named with either a @code{#+NAME:} or @code{#+TBLNAME:} line +an Org mode table named with either a @code{#+NAME:} line @example -#+TBLNAME: example-table +#+NAME: example-table | 1 | | 2 | | 3 | @@ -13456,19 +14405,6 @@ on two lines @end table -@subsubheading Alternate argument syntax -It is also possible to specify arguments in a potentially more natural way -using the @code{#+NAME:} line of a code block. As in the following -example, arguments can be packed inside of parentheses, separated by commas, -following the source name. - -@example -#+NAME: double(input=0, x=2) -#+BEGIN_SRC emacs-lisp -(* 2 (+ input x)) -#+END_SRC -@end example - @subsubheading Indexable variable values It is possible to reference portions of variable values by ``indexing'' into the variables. Indexes are 0 based with negative values counting back from @@ -13593,7 +14529,7 @@ Emacs Lisp, as shown in the following example. @node results, file, var, Specific header arguments @subsubsection @code{:results} -There are three classes of @code{:results} header argument. Only one option +There are four classes of @code{:results} header argument. Only one option per class may be supplied per code block. @itemize @bullet @@ -13602,6 +14538,10 @@ per class may be supplied per code block. from the code block @item @b{type} header arguments specify what type of result the code block will +return---which has implications for how they will be processed before +insertion into the Org mode buffer +@item +@b{format} header arguments specify what type of result the code block will return---which has implications for how they will be inserted into the Org mode buffer @item @@ -13647,6 +14587,15 @@ buffer as quoted text. E.g., @code{:results value verbatim}. @item @code{file} The results will be interpreted as the path to a file, and will be inserted into the Org mode buffer as a file link. E.g., @code{:results value file}. +@end itemize + +@subsubheading Format + +The following options are mutually exclusive and specify what type of results +the code block will return. By default, results are inserted according to the +type as specified above. + +@itemize @bullet @item @code{raw} The results are interpreted as raw Org mode code and are inserted directly into the buffer. If the results look like a table they will be aligned as @@ -13728,7 +14677,7 @@ While the @code{:file} header argument can be used to specify the path to the output file, @code{:dir} specifies the default directory during code block execution. If it is absent, then the directory associated with the current buffer is used. In other words, supplying @code{:dir path} temporarily has -the same effect as changing the current directory with @kbd{M-x cd path}, and +the same effect as changing the current directory with @kbd{M-x cd path RET}, and then not supplying @code{:dir}. Under the surface, @code{:dir} simply sets the value of the Emacs variable @code{default-directory}. @@ -13853,7 +14802,6 @@ original Org file from which the code was tangled. A synonym for ``link'' to maintain backwards compatibility. @item @code{org} Include text from the Org mode file as a comment. - The text is picked from the leading context of the tangled code and is limited by the nearest headline or source block as the case may be. @item @code{both} @@ -13925,7 +14873,7 @@ references will not be expanded when the code block is exported. @item @code{strip-export} ``Noweb'' syntax references in the body of the code block will be expanded before the block is evaluated or tangled. However, ``noweb'' syntax -references will not be removed when the code block is exported. +references will be removed when the code block is exported. @item @code{eval} ``Noweb'' syntax references in the body of the code block will only be expanded before the block is evaluated. @@ -14085,7 +15033,7 @@ variable and raises an error. Setting @code{:hlines no} or relying on the default value yields the following results. @example -#+TBLNAME: many-cols +#+NAME: many-cols | a | b | c | |---+---+---| | d | e | f | @@ -14107,7 +15055,7 @@ default value yields the following results. Leaves hlines in the table. Setting @code{:hlines yes} has this effect. @example -#+TBLNAME: many-cols +#+NAME: many-cols | a | b | c | |---+---+---| | d | e | f | @@ -14134,9 +15082,7 @@ Leaves hlines in the table. Setting @code{:hlines yes} has this effect. The @code{:colnames} header argument accepts the values @code{yes}, @code{no}, or @code{nil} for unassigned. The default value is @code{nil}. Note that the behavior of the @code{:colnames} header argument may differ -across languages. For example Emacs Lisp code blocks ignore the -@code{:colnames} header argument entirely given the ease with which tables -with column names may be handled directly in Emacs Lisp. +across languages. @itemize @bullet @item @code{nil} @@ -14146,7 +15092,7 @@ names will be removed from the table before processing, then reapplied to the results. @example -#+TBLNAME: less-cols +#+NAME: less-cols | a | |---| | b | @@ -14179,8 +15125,10 @@ hline) @node rownames, shebang, colnames, Specific header arguments @subsubsection @code{:rownames} -The @code{:rownames} header argument can take on the values @code{yes} -or @code{no}, with a default value of @code{no}. +The @code{:rownames} header argument can take on the values @code{yes} or +@code{no}, with a default value of @code{no}. Note that Emacs Lisp code +blocks ignore the @code{:rownames} header argument entirely given the ease +with which tables with row names may be handled directly in Emacs Lisp. @itemize @bullet @item @code{no} @@ -14191,7 +15139,7 @@ The first column of the table is removed from the table before processing, and is then reapplied to the results. @example -#+TBLNAME: with-rownames +#+NAME: with-rownames | one | 1 | 2 | 3 | 4 | 5 | | two | 6 | 7 | 8 | 9 | 10 | @@ -14210,7 +15158,7 @@ variable indexing @xref{var, Indexable variable values}. @end itemize -@node shebang, eval, rownames, Specific header arguments +@node shebang, tangle-mode, rownames, Specific header arguments @subsubsection @code{:shebang} Setting the @code{:shebang} header argument to a string value @@ -14218,7 +15166,21 @@ Setting the @code{:shebang} header argument to a string value first line of any tangled file holding the code block, and the file permissions of the tangled file are set to make it executable. -@node eval, wrap, shebang, Specific header arguments + +@node tangle-mode, eval, shebang, Specific header arguments +@subsubsection @code{:tangle-mode} + +The @code{tangle-mode} header argument controls the permission set on tangled +files. The value of this header argument will be passed to +@code{set-file-modes}. For example, to set a tangled file as read only use +@code{:tangle-mode (identity #o444)}, or to set a tangled file as executable +use @code{:tangle-mode (identity #o755)}. Blocks with @code{shebang} +(@ref{shebang}) header arguments will automatically be made executable unless +the @code{tangle-mode} header argument is also used. The behavior is +undefined if multiple code blocks with different values for the +@code{tangle-mode} header argument are tangled to the same file. + +@node eval, wrap, tangle-mode, Specific header arguments @subsubsection @code{:eval} The @code{:eval} header argument can be used to limit the evaluation of specific code blocks. The @code{:eval} header argument can be useful for @@ -14243,7 +15205,7 @@ If this header argument is not set then evaluation is determined by the value of the @code{org-confirm-babel-evaluate} variable see @ref{Code evaluation security}. -@node wrap, , eval, Specific header arguments +@node wrap, post, eval, Specific header arguments @subsubsection @code{:wrap} The @code{:wrap} header argument is used to mark the results of source block evaluation. The header argument can be passed a string that will be appended @@ -14251,6 +15213,59 @@ to @code{#+BEGIN_} and @code{#+END_}, which will then be used to wrap the results. If not string is specified then the results will be wrapped in a @code{#+BEGIN/END_RESULTS} block. +@node post, prologue, wrap, Specific header arguments +@subsubsection @code{:post} +The @code{:post} header argument is used to post-process the results of a +code block execution. When a post argument is given, the results of the code +block will temporarily be bound to the @code{*this*} variable. This variable +may then be included in header argument forms such as those used in @ref{var} +header argument specifications allowing passing of results to other code +blocks, or direct execution via Emacs Lisp. + +The following example illustrates the usage of the @code{:post} header +argument. + +@example +#+name: attr_wrap +#+begin_src sh :var data="" :var width="\\textwidth" :results output + echo "#+ATTR_LATEX :width $width" + echo "$data" +#+end_src + +#+header: :file /tmp/it.png +#+begin_src dot :post attr_wrap(width="5cm", data=*this*) :results drawer + digraph@{ + a -> b; + b -> c; + c -> a; + @} +#+end_src + +#+RESULTS: +:RESULTS: +#+ATTR_LATEX :width 5cm +[[file:/tmp/it.png]] +:END: +@end example + +@node prologue, epilogue, post, Specific header arguments +@subsubsection @code{:prologue} +The value of the @code{prologue} header argument will be prepended to the +code block body before execution. For example, @code{:prologue "reset"} may +be used to reset a gnuplot session before execution of a particular code +block, or the following configuration may be used to do this for all gnuplot +code blocks. Also see @ref{epilogue}. + +@lisp +(add-to-list 'org-babel-default-header-args:gnuplot + '((:prologue . "reset"))) +@end lisp + +@node epilogue, , prologue, Specific header arguments +@subsubsection @code{:epilogue} +The value of the @code{epilogue} header argument will be appended to the code +block body before execution. Also see @ref{prologue}. + @node Results of evaluation, Noweb reference syntax, Header arguments, Working With Source Code @section Results of evaluation @cindex code block, results of evaluation @@ -14380,7 +15395,7 @@ syntactically valid in languages that you use, then please consider setting the default value. Note: if noweb tangling is slow in large Org mode files consider setting the -@code{*org-babel-use-quick-and-dirty-noweb-expansion*} variable to true. +@code{org-babel-use-quick-and-dirty-noweb-expansion} variable to @code{t}. This will result in faster noweb reference resolution at the expense of not correctly resolving inherited values of the @code{:noweb-ref} header argument. @@ -14540,7 +15555,7 @@ emacs -Q --batch \ * Clean view:: Getting rid of leading stars in the outline * TTY keys:: Using Org on a tty * Interaction:: Other Emacs packages -* org-crypt.el:: Encrypting Org files +* org-crypt:: Encrypting Org files @end menu @@ -14694,19 +15709,19 @@ which take off the default security brakes. @defopt org-confirm-babel-evaluate When t (the default), the user is asked before every code block evaluation. -When nil, the user is not asked. When set to a function, it is called with +When @code{nil}, the user is not asked. When set to a function, it is called with two arguments (language and body of the code block) and should return t to -ask and nil not to ask. +ask and @code{nil} not to ask. @end defopt For example, here is how to execute "ditaa" code (which is considered safe) without asking: -@example +@lisp (defun my-org-confirm-babel-evaluate (lang body) (not (string= lang "ditaa"))) ; don't ask for ditaa (setq org-confirm-babel-evaluate 'my-org-confirm-babel-evaluate) -@end example +@end lisp @item Following @code{shell} and @code{elisp} links Org has two link types that can directly evaluate code (@pxref{External @@ -14734,7 +15749,7 @@ either by the @i{calc} interpreter, or by the @i{Emacs Lisp} interpreter. There are more than 500 variables that can be used to customize Org. For the sake of compactness of the manual, I am not describing the variables here. A structured overview of customization -variables is available with @kbd{M-x org-customize}. Or select +variables is available with @kbd{M-x org-customize RET}. Or select @code{Browse Org Group} from the @code{Org->Customization} menu. Many settings can also be activated on a per-file basis, by putting special lines into the buffer (@pxref{In-buffer settings}). @@ -14809,7 +15824,7 @@ as if they had been included in the buffer. In particular, the file can be any other Org mode file with internal setup. You can visit the file the cursor is in the line with @kbd{C-c '}. @item #+STARTUP: -@cindex #+STARTUP: +@cindex #+STARTUP This line sets options to be used at startup of Org mode, when an Org file is being visited. @@ -14862,6 +15877,18 @@ inlineimages @r{show inline images} noinlineimages @r{don't show inline images on startup} @end example +@vindex org-startup-with-latex-preview +When visiting a file, @LaTeX{} fragments can be converted to images +automatically. The variable @code{org-startup-with-latex-preview} which +controls this behavior, is set to @code{nil} by default to avoid delays on +startup. +@cindex @code{latexpreview}, STARTUP keyword +@cindex @code{nolatexpreview}, STARTUP keyword +@example +latexpreview @r{preview @LaTeX{} fragments} +nolatexpreview @r{don't preview @LaTeX{} fragments} +@end example + @vindex org-log-done @vindex org-log-note-clock-out @vindex org-log-repeat @@ -14885,25 +15912,34 @@ configured using these options (see variables @code{org-log-done}, @cindex @code{logrefile}, STARTUP keyword @cindex @code{lognoterefile}, STARTUP keyword @cindex @code{nologrefile}, STARTUP keyword -@example -logdone @r{record a timestamp when an item is marked DONE} -lognotedone @r{record timestamp and a note when DONE} -nologdone @r{don't record when items are marked DONE} -logrepeat @r{record a time when reinstating a repeating item} -lognoterepeat @r{record a note when reinstating a repeating item} -nologrepeat @r{do not record when reinstating repeating item} -lognoteclock-out @r{record a note when clocking out} -nolognoteclock-out @r{don't record a note when clocking out} -logreschedule @r{record a timestamp when scheduling time changes} -lognotereschedule @r{record a note when scheduling time changes} -nologreschedule @r{do not record when a scheduling date changes} -logredeadline @r{record a timestamp when deadline changes} -lognoteredeadline @r{record a note when deadline changes} -nologredeadline @r{do not record when a deadline date changes} -logrefile @r{record a timestamp when refiling} -lognoterefile @r{record a note when refiling} -nologrefile @r{do not record when refiling} +@cindex @code{logdrawer}, STARTUP keyword +@cindex @code{nologdrawer}, STARTUP keyword +@cindex @code{logstatesreversed}, STARTUP keyword +@cindex @code{nologstatesreversed}, STARTUP keyword +@example +logdone @r{record a timestamp when an item is marked DONE} +lognotedone @r{record timestamp and a note when DONE} +nologdone @r{don't record when items are marked DONE} +logrepeat @r{record a time when reinstating a repeating item} +lognoterepeat @r{record a note when reinstating a repeating item} +nologrepeat @r{do not record when reinstating repeating item} +lognoteclock-out @r{record a note when clocking out} +nolognoteclock-out @r{don't record a note when clocking out} +logreschedule @r{record a timestamp when scheduling time changes} +lognotereschedule @r{record a note when scheduling time changes} +nologreschedule @r{do not record when a scheduling date changes} +logredeadline @r{record a timestamp when deadline changes} +lognoteredeadline @r{record a note when deadline changes} +nologredeadline @r{do not record when a deadline date changes} +logrefile @r{record a timestamp when refiling} +lognoterefile @r{record a note when refiling} +nologrefile @r{do not record when refiling} +logdrawer @r{store log into drawer} +nologdrawer @r{store log outside of drawer} +logstatesreversed @r{reverse the order of states notes} +nologstatesreversed @r{do not reverse the order of states notes} @end example + @vindex org-hide-leading-stars @vindex org-odd-levels-only Here are the options for hiding leading stars in outline headings, and for @@ -14922,6 +15958,7 @@ noindent @r{no virtual indentation according to outline level} odd @r{allow only odd outline levels (1,3,...)} oddeven @r{allow all outline levels} @end example + @vindex org-put-time-stamp-overlays @vindex org-time-stamp-overlay-formats To turn on custom format overlays over timestamps (variables @@ -14931,6 +15968,7 @@ To turn on custom format overlays over timestamps (variables @example customtime @r{overlay custom time format} @end example + @vindex constants-unit-system The following options influence the table spreadsheet (variable @code{constants-unit-system}). @@ -14940,6 +15978,7 @@ The following options influence the table spreadsheet (variable constcgs @r{@file{constants.el} should use the c-g-s unit system} constSI @r{@file{constants.el} should use the SI unit system} @end example + @vindex org-footnote-define-inline @vindex org-footnote-auto-label @vindex org-footnote-auto-adjust @@ -14966,6 +16005,7 @@ fnplain @r{create @code{[1]}-like labels automatically} fnadjust @r{automatically renumber and sort footnotes} nofnadjust @r{do not renumber and sort automatically} @end example + @cindex org-hide-block-startup To hide blocks on startup, use these keywords. The corresponding variable is @code{org-hide-block-startup}. @@ -14975,6 +16015,7 @@ To hide blocks on startup, use these keywords. The corresponding variable is hideblocks @r{Hide all begin/end blocks on startup} nohideblocks @r{Do not hide blocks on startup} @end example + @cindex org-pretty-entities The display of entities as UTF-8 characters is governed by the variable @code{org-pretty-entities} and the keywords @@ -14984,20 +16025,29 @@ The display of entities as UTF-8 characters is governed by the variable entitiespretty @r{Show entities as UTF-8 characters where possible} entitiesplain @r{Leave entities plain} @end example + @item #+TAGS: TAG1(c1) TAG2(c2) @vindex org-tag-alist These lines (several such lines are allowed) specify the valid tags in this file, and (potentially) the corresponding @emph{fast tag selection} keys. The corresponding variable is @code{org-tag-alist}. +@cindex #+TBLFM @item #+TBLFM: This line contains the formulas for the table directly above the line. -@item #+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+TEXT:, #+DATE:, -@itemx #+OPTIONS:, #+BIND:, #+XSLT:, + +Table can have multiple lines containing @samp{#+TBLFM:}. Note +that only the first line of @samp{#+TBLFM:} will be applied when +you recalculate the table. For more details see @ref{Using +multiple #+TBLFM lines} in @ref{Editing and debugging formulas}. + +@item #+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+DATE:, +@itemx #+OPTIONS:, #+BIND:, @itemx #+DESCRIPTION:, #+KEYWORDS:, -@itemx #+LaTeX_HEADER:, #+STYLE:, #+LINK_UP:, #+LINK_HOME:, -@itemx #+EXPORT_SELECT_TAGS:, #+EXPORT_EXCLUDE_TAGS: +@itemx #+LaTeX_HEADER:, #+LaTeX_HEADER_EXTRA:, +@itemx #+HTML_HEAD:, #+HTML_HEAD_EXTRA:, #+HTML_LINK_UP:, #+HTML_LINK_HOME:, +@itemx #+SELECT_TAGS:, #+EXCLUDE_TAGS: These lines provide settings for exporting files. For more details see -@ref{Export options}. +@ref{Export settings}. @item #+TODO: #+SEQ_TODO: #+TYP_TODO: @vindex org-todo-keywords These lines set the TODO keywords and their interpretation in the @@ -15042,7 +16092,7 @@ If the cursor is in a property line or at the start or end of a property drawer, offer property commands. @item If the cursor is at a footnote reference, go to the corresponding -definition, and vice versa. +definition, and @emph{vice versa}. @item If the cursor is on a statistics cookie, update it. @item @@ -15221,7 +16271,7 @@ tty you would rather use @kbd{C-c .} to re-insert the timestamp. @end multitable -@node Interaction, org-crypt.el, TTY keys, Miscellaneous +@node Interaction, org-crypt, TTY keys, Miscellaneous @section Interaction with other packages @cindex packages, interaction with other Org lives in the world of GNU Emacs and interacts in various ways @@ -15367,6 +16417,18 @@ Yes, these are unfortunately more difficult to remember. If you want to have other replacement keys, look at the variable @code{org-disputed-keys}. +@item @file{ecomplete.el} by Lars Magne Ingebrigtsen @email{larsi@@gnus.org} +@cindex @file{ecomplete.el} + +Ecomplete provides ``electric'' address completion in address header +lines in message buffers. Sadly Orgtbl mode cuts ecompletes power +supply: No completion happens when Orgtbl mode is enabled in message +buffers while entering text in address header lines. If one wants to +use ecomplete one should @emph{not} follow the advice to automagically +turn on Orgtbl mode in message buffers (see @ref{Orgtbl mode}), but +instead---after filling in the message headers---turn on Orgtbl mode +manually when needed in the messages body. + @item @file{filladapt.el} by Kyle Jones @cindex @file{filladapt.el} @@ -15381,7 +16443,7 @@ this: @item @file{yasnippet.el} @cindex @file{yasnippet.el} -The way Org mode binds the TAB key (binding to @code{[tab]} instead of +The way Org mode binds the @key{TAB} key (binding to @code{[tab]} instead of @code{"\t"}) overrules YASnippet's access to this key. The following code fixed this problem: @@ -15406,10 +16468,10 @@ Then, tell Org mode what to do with the new function: @lisp (add-hook 'org-mode-hook (lambda () - (make-variable-buffer-local 'yas/trigger-key) - (setq yas/trigger-key [tab]) - (add-to-list 'org-tab-first-hook 'yas/org-very-safe-expand) - (define-key yas/keymap [tab] 'yas/next-field))) + (make-variable-buffer-local 'yas/trigger-key) + (setq yas/trigger-key [tab]) + (add-to-list 'org-tab-first-hook 'yas/org-very-safe-expand) + (define-key yas/keymap [tab] 'yas/next-field))) @end lisp @item @file{windmove.el} by Hovav Shacham @@ -15440,9 +16502,11 @@ another key for this command, or override the key in (define-key viper-vi-global-user-map "C-c /" 'org-sparse-tree) @end lisp + + @end table -@node org-crypt.el, , Interaction, Miscellaneous +@node org-crypt, , Interaction, Miscellaneous @section org-crypt.el @cindex @file{org-crypt.el} @cindex @code{org-decrypt-entry} @@ -15458,7 +16522,7 @@ customize the @code{org-crypt-tag-matcher} setting. To use org-crypt it is suggested that you have the following in your @file{.emacs}: -@example +@lisp (require 'org-crypt) (org-crypt-use-before-save-magic) (setq org-tags-exclude-from-inheritance (quote ("crypt"))) @@ -15476,7 +16540,7 @@ To use org-crypt it is suggested that you have the following in your ;; To turn it off only locally, you can insert this: ;; ;; # -*- buffer-auto-save-file-name: nil; -*- -@end example +@end lisp Excluding the crypt tag from inheritance prevents already encrypted text being encrypted again. @@ -15492,11 +16556,13 @@ Org. * Hooks:: How to reach into Org's internals * Add-on packages:: Available extensions * Adding hyperlink types:: New custom link types +* Adding export back-ends:: How to write new export back-ends * Context-sensitive commands:: How to add functionality to such commands * Tables in arbitrary syntax:: Orgtbl for @LaTeX{} and other programs * Dynamic blocks:: Automatically filled blocks * Special agenda views:: Customized views -* Extracting agenda information:: Postprocessing of agenda information +* Speeding up your agendas:: Tips on how to speed up your agendas +* Extracting agenda information:: Post-processing of agenda information * Using the property API:: Writing programs that use entry properties * Using the mapping API:: Mapping over all or selected entries @end menu @@ -15516,15 +16582,14 @@ maintained by the Worg project and can be found at @cindex add-on packages A large number of add-on packages have been written by various authors. + These packages are not part of Emacs, but they are distributed as contributed -packages with the separate release available at the Org mode home page at -@uref{http://orgmode.org}. The list of contributed packages, along with -documentation about each package, is maintained by the Worg project at +packages with the separate release available at @uref{http://orgmode.org}. +See the @file{contrib/README} file in the source code directory for a list of +contributed files. You may also find some more information on the Worg page: @uref{http://orgmode.org/worg/org-contrib/}. - - -@node Adding hyperlink types, Context-sensitive commands, Add-on packages, Hacking +@node Adding hyperlink types, Adding export back-ends, Add-on packages, Hacking @section Adding hyperlink types @cindex hyperlinks, adding new types @@ -15627,7 +16692,37 @@ When it makes sense for your new link type, you may also define a function support for inserting such a link with @kbd{C-c C-l}. Such a function should not accept any arguments, and return the full link with prefix. -@node Context-sensitive commands, Tables in arbitrary syntax, Adding hyperlink types, Hacking +@node Adding export back-ends, Context-sensitive commands, Adding hyperlink types, Hacking +@section Adding export back-ends +@cindex Export, writing back-ends + +Org 8.0 comes with a completely rewritten export engine which makes it easy +to write new export back-ends, either from scratch, or from deriving them +from existing ones. + +Your two entry points are respectively @code{org-export-define-backend} and +@code{org-export-define-derived-backend}. To grok these functions, you +should first have a look at @file{ox-latex.el} (for how to define a new +back-end from scratch) and @file{ox-beamer.el} (for how to derive a new +back-end from an existing one. + +When creating a new back-end from scratch, the basic idea is to set the name +of the back-end (as a symbol) and an an alist of elements and export +functions. On top of this, you will need to set additional keywords like +@code{:menu-entry} (to display the back-end in the export dispatcher), +@code{:export-block} (to specify what blocks should not be exported by this +back-end), and @code{:options-alist} (to let the user set export options that +are specific to this back-end.) + +Deriving a new back-end is similar, except that you need to set +@code{:translate-alist} to an alist of export functions that should be used +instead of the parent back-end functions. + +For a complete reference documentation, see +@url{http://orgmode.org/worg/dev/org-export-reference.html, the Org Export +Reference on Worg}. + +@node Context-sensitive commands, Tables in arbitrary syntax, Adding export back-ends, Hacking @section Context-sensitive commands @cindex context-sensitive commands, hooks @cindex add-ons, context-sensitive commands @@ -15696,7 +16791,7 @@ can use Org's facilities to edit and structure lists by turning * Radio tables:: Sending and receiving radio tables * A @LaTeX{} example:: Step by step, almost a tutorial * Translator functions:: Copy and modify -* Radio lists:: Doing the same for lists +* Radio lists:: Sending and receiving lists @end menu @node Radio tables, A @LaTeX{} example, Tables in arbitrary syntax, Tables in arbitrary syntax @@ -15704,9 +16799,10 @@ can use Org's facilities to edit and structure lists by turning @cindex radio tables To define the location of the target table, you first need to create two -lines that are comments in the current mode, but contain magic words for -Orgtbl mode to find. Orgtbl mode will insert the translated table -between these lines, replacing whatever was there before. For example: +lines that are comments in the current mode, but contain magic words +@code{BEGIN/END RECEIVE ORGTBL} for Orgtbl mode to find. Orgtbl mode will +insert the translated table between these lines, replacing whatever was there +before. For example in C mode where comments are between @code{/* ... */}: @example /* BEGIN RECEIVE ORGTBL table_name */ @@ -15744,8 +16840,8 @@ removal of these columns, the function never knows that there have been additional columns. @item :no-escape t -When non-nil, do not escape special characters @code{&%#_^} when exporting -the table. The default value is nil. +When non-@code{nil}, do not escape special characters @code{&%#_^} when exporting +the table. The default value is @code{nil}. @end table @noindent @@ -15766,7 +16862,7 @@ in @LaTeX{}. @item You can just comment the table line-by-line whenever you want to process the file, and uncomment it whenever you need to edit the table. This -only sounds tedious---the command @kbd{M-x orgtbl-toggle-comment} +only sounds tedious---the command @kbd{M-x orgtbl-toggle-comment RET} makes this comment-toggling very easy, in particular if you bind it to a key. @end itemize @@ -15780,8 +16876,8 @@ The best way to wrap the source table in @LaTeX{} is to use the activated by placing @code{\usepackage@{comment@}} into the document header. Orgtbl mode can insert a radio table skeleton@footnote{By default this works only for @LaTeX{}, HTML, and Texinfo. Configure the -variable @code{orgtbl-radio-tables} to install templates for other -modes.} with the command @kbd{M-x orgtbl-insert-radio-table}. You will +variable @code{orgtbl-radio-table-templates} to install templates for other +modes.} with the command @kbd{M-x orgtbl-insert-radio-table RET}. You will be prompted for a table name, let's say we use @samp{salesfigures}. You will then get the following template: @@ -15860,7 +16956,7 @@ interprets the following parameters (see also @pxref{Translator functions}): @table @code @item :splice nil/t When set to t, return only table body lines, don't wrap them into a -tabular environment. Default is nil. +tabular environment. Default is @code{nil}. @item :fmt fmt A format to be used to wrap each field, it should contain @code{%s} for the @@ -16052,7 +17148,7 @@ The corresponding block writer function could look like this: (defun org-dblock-write:block-update-time (params) (let ((fmt (or (plist-get params :format) "%d. %m. %Y"))) (insert "Last block update at: " - (format-time-string fmt (current-time))))) + (format-time-string fmt (current-time))))) @end lisp If you want to make sure that all dynamic blocks are always up-to-date, @@ -16064,21 +17160,25 @@ written in a way such that it does nothing in buffers that are not in You can narrow the current buffer to the current dynamic block (like any other block) with @code{org-narrow-to-block}. -@node Special agenda views, Extracting agenda information, Dynamic blocks, Hacking +@node Special agenda views, Speeding up your agendas, Dynamic blocks, Hacking @section Special agenda views @cindex agenda views, user-defined @vindex org-agenda-skip-function @vindex org-agenda-skip-function-global Org provides a special hook that can be used to narrow down the selection -made by these agenda views: @code{agenda}, @code{todo}, @code{alltodo}, -@code{tags}, @code{tags-todo}, @code{tags-tree}. You may specify a function -that is used at each match to verify if the match should indeed be part of -the agenda view, and if not, how much should be skipped. You can specify a -global condition that will be applied to all agenda views, this condition -would be stored in the variable @code{org-agenda-skip-function-global}. More -commonly, such a definition is applied only to specific custom searches, -using @code{org-agenda-skip-function}. +made by these agenda views: @code{agenda}, @code{agenda*}@footnote{The +@code{agenda*} view is the same than @code{agenda} except that it only +considers @emph{appointments}, i.e., scheduled and deadline items that have a +time specification @code{[h]h:mm} in their time-stamps.}, @code{todo}, +@code{alltodo}, @code{tags}, @code{tags-todo}, @code{tags-tree}. You may +specify a function that is used at each match to verify if the match should +indeed be part of the agenda view, and if not, how much should be skipped. +You can specify a global condition that will be applied to all agenda views, +this condition would be stored in the variable +@code{org-agenda-skip-function-global}. More commonly, such a definition is +applied only to specific custom searches, using +@code{org-agenda-skip-function}. Let's say you want to produce a list of projects that contain a WAITING tag anywhere in the project tree. Let's further assume that you have @@ -16165,7 +17265,48 @@ like this, even without defining a special function: (org-agenda-overriding-header "Projects waiting for something: ")))) @end lisp -@node Extracting agenda information, Using the property API, Special agenda views, Hacking +@node Speeding up your agendas, Extracting agenda information, Special agenda views, Hacking +@section Speeding up your agendas +@cindex agenda views, optimization + +When your Org files grow in both number and size, agenda commands may start +to become slow. Below are some tips on how to speed up the agenda commands. + +@enumerate +@item +Reduce the number of Org agenda files: this will reduce the slowliness caused +by accessing to a hard drive. +@item +Reduce the number of DONE and archived headlines: this way the agenda does +not need to skip them. +@item +@vindex org-agenda-dim-blocked-tasks +Inhibit the dimming of blocked tasks: +@lisp +(setq org-agenda-dim-blocked-tasks nil) +@end lisp +@item +@vindex org-startup-folded +@vindex org-agenda-inhibit-startup +Inhibit agenda files startup options: +@lisp +(setq org-agenda-inhibit-startup nil) +@end lisp +@item +@vindex org-agenda-show-inherited-tags +@vindex org-agenda-use-tag-inheritance +Disable tag inheritance in agenda: +@lisp +(setq org-agenda-use-tag-inheritance nil) +@end lisp +@end enumerate + +You can set these options for specific agenda views only. See the docstrings +of these variables for details on why they affect the agenda generation, and +this @uref{http://orgmode.org/worg/agenda-optimization.html, dedicated Worg +page} for further explanations. + +@node Extracting agenda information, Using the property API, Speeding up your agendas, Hacking @section Extracting agenda information @cindex agenda, pipe @cindex Scripts, for agenda processing @@ -16282,27 +17423,27 @@ This includes the TODO keyword, the tags, time strings for deadline, scheduled, and clocking, and any additional properties defined in the entry. The return value is an alist. Keys may occur multiple times if the property key was used several times.@* -POM may also be nil, in which case the current entry is used. -If WHICH is nil or `all', get all properties. If WHICH is +POM may also be @code{nil}, in which case the current entry is used. +If WHICH is @code{nil} or `all', get all properties. If WHICH is `special' or `standard', only get that subclass. @end defun @vindex org-use-property-inheritance @findex org-insert-property-drawer @defun org-entry-get pom property &optional inherit -Get value of PROPERTY for entry at point-or-marker POM@. By default, -this only looks at properties defined locally in the entry. If INHERIT -is non-nil and the entry does not have the property, then also check -higher levels of the hierarchy. If INHERIT is the symbol +Get value of @code{PROPERTY} for entry at point-or-marker @code{POM}@. By default, +this only looks at properties defined locally in the entry. If @code{INHERIT} +is non-@code{nil} and the entry does not have the property, then also check +higher levels of the hierarchy. If @code{INHERIT} is the symbol @code{selective}, use inheritance if and only if the setting of -@code{org-use-property-inheritance} selects PROPERTY for inheritance. +@code{org-use-property-inheritance} selects @code{PROPERTY} for inheritance. @end defun @defun org-entry-delete pom property -Delete the property PROPERTY from entry at point-or-marker POM. +Delete the property @code{PROPERTY} from entry at point-or-marker POM. @end defun @defun org-entry-put pom property value -Set PROPERTY to VALUE for entry at point-or-marker POM. +Set @code{PROPERTY} to @code{VALUE} for entry at point-or-marker POM. @end defun @defun org-buffer-property-keys &optional include-specials @@ -16314,28 +17455,29 @@ Insert a property drawer for the current entry. Also @end defun @defun org-entry-put-multivalued-property pom property &rest values -Set PROPERTY at point-or-marker POM to VALUES@. VALUES should be a list of -strings. They will be concatenated, with spaces as separators. +Set @code{PROPERTY} at point-or-marker @code{POM} to @code{VALUES}@. +@code{VALUES} should be a list of strings. They will be concatenated, with +spaces as separators. @end defun @defun org-entry-get-multivalued-property pom property -Treat the value of the property PROPERTY as a whitespace-separated list of -values and return the values as a list of strings. +Treat the value of the property @code{PROPERTY} as a whitespace-separated +list of values and return the values as a list of strings. @end defun @defun org-entry-add-to-multivalued-property pom property value -Treat the value of the property PROPERTY as a whitespace-separated list of -values and make sure that VALUE is in this list. +Treat the value of the property @code{PROPERTY} as a whitespace-separated +list of values and make sure that @code{VALUE} is in this list. @end defun @defun org-entry-remove-from-multivalued-property pom property value -Treat the value of the property PROPERTY as a whitespace-separated list of -values and make sure that VALUE is @emph{not} in this list. +Treat the value of the property @code{PROPERTY} as a whitespace-separated +list of values and make sure that @code{VALUE} is @emph{not} in this list. @end defun @defun org-entry-member-in-multivalued-property pom property value -Treat the value of the property PROPERTY as a whitespace-separated list of -values and check if VALUE is in this list. +Treat the value of the property @code{PROPERTY} as a whitespace-separated +list of values and check if @code{VALUE} is in this list. @end defun @defopt org-property-allowed-value-functions @@ -16359,30 +17501,29 @@ functions for each or selected entries. The main entry point for this API is: @defun org-map-entries func &optional match scope &rest skip -Call FUNC at each headline selected by MATCH in SCOPE. +Call @code{FUNC} at each headline selected by @code{MATCH} in @code{SCOPE}. -FUNC is a function or a Lisp form. The function will be called without -arguments, with the cursor positioned at the beginning of the headline. -The return values of all calls to the function will be collected and -returned as a list. +@code{FUNC} is a function or a Lisp form. The function will be called +without arguments, with the cursor positioned at the beginning of the +headline. The return values of all calls to the function will be collected +and returned as a list. -The call to FUNC will be wrapped into a save-excursion form, so FUNC -does not need to preserve point. After evaluation, the cursor will be -moved to the end of the line (presumably of the headline of the -processed entry) and search continues from there. Under some -circumstances, this may not produce the wanted results. For example, -if you have removed (e.g., archived) the current (sub)tree it could -mean that the next entry will be skipped entirely. In such cases, you -can specify the position from where search should continue by making -FUNC set the variable `org-map-continue-from' to the desired buffer -position. +The call to @code{FUNC} will be wrapped into a save-excursion form, so +@code{FUNC} does not need to preserve point. After evaluation, the cursor +will be moved to the end of the line (presumably of the headline of the +processed entry) and search continues from there. Under some circumstances, +this may not produce the wanted results. For example, if you have removed +(e.g., archived) the current (sub)tree it could mean that the next entry will +be skipped entirely. In such cases, you can specify the position from where +search should continue by making @code{FUNC} set the variable +@code{org-map-continue-from} to the desired buffer position. -MATCH is a tags/property/todo match as it is used in the agenda match view. -Only headlines that are matched by this query will be considered during -the iteration. When MATCH is nil or t, all headlines will be -visited by the iteration. +@code{MATCH} is a tags/property/todo match as it is used in the agenda match +view. Only headlines that are matched by this query will be considered +during the iteration. When @code{MATCH} is @code{nil} or @code{t}, all +headlines will be visited by the iteration. -SCOPE determines the scope of this command. It can be any of: +@code{SCOPE} determines the scope of this command. It can be any of: @example nil @r{the current buffer, respecting the restriction if any} @@ -16420,17 +17561,18 @@ Here are a couple of functions that might be handy: @defun org-todo &optional arg Change the TODO state of the entry. See the docstring of the functions for -the many possible values for the argument ARG. +the many possible values for the argument @code{ARG}. @end defun @defun org-priority &optional action Change the priority of the entry. See the docstring of this function for the -possible values for ACTION. +possible values for @code{ACTION}. @end defun @defun org-toggle-tag tag &optional onoff -Toggle the tag TAG in the current entry. Setting ONOFF to either @code{on} -or @code{off} will not toggle tag, but ensure that it is either on or off. +Toggle the tag @code{TAG} in the current entry. Setting @code{ONOFF} to +either @code{on} or @code{off} will not toggle tag, but ensure that it is +either on or off. @end defun @defun org-promote @@ -16466,10 +17608,10 @@ The following example counts the number of entries with TODO keyword @i{MobileOrg} is the name of the mobile companion app for Org mode, currently available for iOS and for Android. @i{MobileOrg} offers offline viewing and capture support for an Org mode system rooted on a ``real'' computer. It -does also allow you to record changes to existing entries. -The @uref{http://mobileorg.ncogni.to/, iOS implementation} for the -@i{iPhone/iPod Touch/iPad} series of devices, was developed by Richard -Moreland. Android users should check out +does also allow you to record changes to existing entries. The +@uref{https://github.com/MobileOrg/, iOS implementation} for the +@i{iPhone/iPod Touch/iPad} series of devices, was started by Richard Moreland +and is now in the hands Sean Escriva. Android users should check out @uref{http://wiki.github.com/matburt/mobileorg-android/, MobileOrg Android} by Matt Jones. The two implementations are not identical but offer similar features. @@ -16479,7 +17621,7 @@ format that can be displayed by @i{MobileOrg}, and for integrating notes captured and changes made by @i{MobileOrg} into the main system. For changing tags and TODO states in MobileOrg, you should have set up the -customization variables @code{org-todo-keywords} and @code{org-tags-alist} to +customization variables @code{org-todo-keywords} and @code{org-tag-alist} to cover all important tags and TODO keywords, even if individual files use only part of these. MobileOrg will also offer you states and tags set up with in-buffer settings, but it will understand the logistics of TODO state @@ -16580,6 +17722,7 @@ should then go through these entries and do whatever actions are necessary. If a note has been stored while flagging an entry in @i{MobileOrg}, that note will be displayed in the echo area when the cursor is on the corresponding agenda line. + @table @kbd @kindex ? @item ? @@ -16596,11 +17739,11 @@ this flagged entry is finished. @kindex C-c a ? If you are not able to process all flagged entries directly, you can always return to this agenda view@footnote{Note, however, that there is a subtle -difference. The view created automatically by @kbd{M-x org-mobile-pull -@key{RET}} is guaranteed to search all files that have been addressed by the -last pull. This might include a file that is not currently in your list of -agenda files. If you later use @kbd{C-c a ?} to regenerate the view, only -the current agenda files will be searched.} using @kbd{C-c a ?}. +difference. The view created automatically by @kbd{M-x org-mobile-pull RET} +is guaranteed to search all files that have been addressed by the last pull. +This might include a file that is not currently in your list of agenda files. +If you later use @kbd{C-c a ?} to regenerate the view, only the current +agenda files will be searched.} using @kbd{C-c a ?}. @node History and Acknowledgments, GNU Free Documentation License, MobileOrg, Top @appendix History and acknowledgments @@ -16660,7 +17803,7 @@ of his great @file{remember.el}. Without Sebastian, the HTML/XHTML publishing of Org would be the pitiful work of an ignorant amateur. Sebastian has pushed this part of Org onto a much higher level. He also wrote @file{org-info.js}, a Java script for displaying -webpages derived from Org using an Info-like or a folding interface with +web pages derived from Org using an Info-like or a folding interface with single-key navigation. @end table @@ -16674,8 +17817,8 @@ would not be complete without adding a few more acknowledgements and thanks to Carsten's ones above. I am first grateful to Carsten for his trust while handing me over the -maintainership of Org. His support as been great since day one of this new -adventure, and it helped a lot. +maintainership of Org. His unremitting support is what really helped me +getting more confident over time, with both the community and the code. When I took over maintainership, I knew I would have to make Org more collaborative than ever, as I would have to rely on people that are more @@ -16689,15 +17832,13 @@ Eric is maintaining the Babel parts of Org. His reactivity here kept me away from worrying about possible bugs here and let me focus on other parts. @item Nicolas Goaziou -Nicolas is maintaining the consistency of the deepest parts of Org. His work -on @file{org-element.el} and @file{org-export.el} has been outstanding, and -opened the doors for many new ideas and features. - -@item Jambunathan K -Jambunathan contributed the ODT exporter, definitely a killer feature of -Org mode. He also contributed the new HTML exporter, which is another core -feature of Org. Here too, I knew I could rely on him to fix bugs in these -areas and to patiently explain the users what was the problems and solutions. +Nicolas is maintaining the consistency of the deepest parts of Org. His +work on @file{org-element.el} and @file{ox.el} has been outstanding, and +opened the doors for many new ideas and features. He rewrote many of the +old exporters to use the new export engine, and helped with documenting +this major change. More importantly (if that's possible), he has been more +than reliable during all the work done for Org 8.0, and always very +reactive on the mailing list. @item Achim Gratz Achim rewrote the building process of Org, turning some @emph{ad hoc} tools @@ -16721,8 +17862,17 @@ complete if the ones above were not mentioned in this manual. @item @i{Russel Adams} came up with the idea for drawers. @item +@i{Suvayu Ali} has steadily helped on the mailing list, providing useful +feedback on many features and several patches. +@item +@i{Luis Anaya} wrote @file{ox-man.el}. +@item @i{Thomas Baumann} wrote @file{org-bbdb.el} and @file{org-mhe.el}. @item +@i{Michael Brand} helped by reporting many bugs and testing many features. +He also implemented the distinction between empty fields and 0-value fields +in Org's spreadsheets. +@item @i{Christophe Bataillon} created the great unicorn logo that we use on the Org mode website. @item @@ -16746,7 +17896,11 @@ calculations and improved XEmacs compatibility, in particular by porting @item @i{Sacha Chua} suggested copying some linking code from Planner. @item -@i{Baoqiu Cui} contributed the DocBook exporter. +@i{Toby S. Cubitt} contributed to the code for clock formats. +@item +@i{Baoqiu Cui} contributed the DocBook exporter. It has been deleted from +Org 8.0: you can now export to Texinfo and export the @file{.texi} file to +DocBook using @code{makeinfo}. @item @i{Eddward DeVilla} proposed and tested checkbox statistics. He also came up with the idea of properties, and that there should be an API for @@ -16758,16 +17912,23 @@ them. inspired some of the early development, including HTML export. He also asked for a way to narrow wide table columns. @item +@i{Jason Dunsmore} has been maintaining the Org-Mode server at Rackspace for +several years now. He also sponsered the hosting costs until Rackspace +started to host us for free. +@item @i{Thomas S. Dye} contributed documentation on Worg and helped integrating the Org-Babel documentation into the manual. @item @i{Christian Egli} converted the documentation into Texinfo format, inspired the agenda, patched CSS formatting into the HTML exporter, and wrote -@file{org-taskjuggler.el}. +@file{org-taskjuggler.el}, which has been rewritten by Nicolas Goaziou as +@file{ox-taskjuggler.el} for Org 8.0. @item @i{David Emery} provided a patch for custom CSS support in exported HTML agendas. @item +@i{Sean Escriva} took over MobileOrg development on the iPhone platform. +@item @i{Nic Ferrier} contributed mailcap and XOXO support. @item @i{Miguel A. Figueroa-Villanueva} implemented hierarchical checkboxes. @@ -16789,7 +17950,9 @@ publication through Network Theory Ltd. @item @i{Niels Giesen} had the idea to automatically archive DONE trees. @item -@i{Nicolas Goaziou} rewrote much of the plain list code. +@i{Nicolas Goaziou} rewrote much of the plain list code. He also wrote +@file{org-element.el} and @file{org-export.el}, which was a huge step forward +in implementing a clean framework for Org exporters. @item @i{Kai Grossjohann} pointed out key-binding conflicts with other packages. @item @@ -16812,6 +17975,8 @@ folded entries, and column view for properties. @item @i{Tokuya Kameshima} wrote @file{org-wl.el} and @file{org-mew.el}. @item +@i{Jonathan Leech-Pepin} wrote @file{ox-texinfo.el}. +@item @i{Shidai Liu} ("Leo") asked for embedded @LaTeX{} and tested it. He also provided frequent feedback and some patches. @item @@ -16824,7 +17989,7 @@ small fixes and patches. @item @i{Jason F. McBrayer} suggested agenda export to CSV format. @item -@i{Max Mikhanosha} came up with the idea of refiling. +@i{Max Mikhanosha} came up with the idea of refiling and sticky agendas. @item @i{Dmitri Minaev} sent a patch to set priority limits on a per-file basis. @@ -16858,9 +18023,14 @@ links, among other things. @i{Pete Phillips} helped during the development of the TAGS feature, and provided frequent feedback. @item +@i{Francesco Pizzolante} provided patches that helped speeding up the agenda +generation. +@item @i{Martin Pohlack} provided the code snippet to bundle character insertion into bundles of 20 for undo. @item +@i{Rackspace.com} is hosting our website for free. Thank you Rackspace! +@item @i{T.V. Raman} reported bugs and suggested improvements. @item @i{Matthias Rempe} (Oelde) provided ideas, Windows support, and quality @@ -16883,6 +18053,9 @@ of feedback, developed and applied standards to the Org documentation. @i{Christian Schlauer} proposed angular brackets around links, among other things. @item +@i{Christopher Schmidt} reworked @code{orgstruct-mode} so that users can +enjoy folding in non-org buffers by using Org headlines in comments. +@item @i{Paul Sexton} wrote @file{org-ctags.el}. @item Linking to VM/BBDB/Gnus was first inspired by @i{Tom Shannon}'s @@ -16914,7 +18087,7 @@ with links transformation to Org syntax. @i{David O'Toole} wrote @file{org-publish.el} and drafted the manual chapter about publishing. @item -@i{Jambunathan K} contributed the ODT exporter. +@i{Jambunathan K} contributed the ODT exporter and rewrote the HTML exporter. @item @i{Sebastien Vauban} reported many issues with @LaTeX{} and BEAMER export and enabled source code highlighting in Gnus. -- cgit v1.2.1 From ae0cb5361ecde3386b96bb036e012992a58ce5ac Mon Sep 17 00:00:00 2001 From: Bastien Guerry Date: Tue, 12 Nov 2013 15:54:41 +0100 Subject: Remove org-docbook.el, which is not in Org 8.2.3a. Fix error in org.texi header. Thanks to Sean Sieger and Michael Albinus for reporting this. --- doc/misc/org.texi | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/misc/org.texi b/doc/misc/org.texi index 94f7ac30ac8..d20aa6ecdad 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi @@ -2,8 +2,7 @@ @c %**start of header @setfilename ../../info/org @settitle The Org Manual - -@include org-version.inc +@set VERSION 8.2.3 (GNU Emacs 24.3) @c Use proper quote and backtick for code sections in PDF output @c Cf. Texinfo manual 14.2 -- cgit v1.2.1 From 90794abbf92f3cb206e69f054928847044427220 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 14 Nov 2013 00:38:50 -0800 Subject: * doc/lispref/loading.texi (Library Search): Update section. --- doc/lispref/ChangeLog | 4 ++ doc/lispref/loading.texi | 96 +++++++++++++++++++++++++++++------------------- 2 files changed, 62 insertions(+), 38 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 7c4fb4e9c6d..520f87f2f8b 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-11-14 Glenn Morris + + * loading.texi (Library Search): Update section. + 2013-11-11 Xue Fuqiao * os.texi (User Identification, Time of Day, Time Conversion): diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi index dab8e8d1255..637057c99b0 100644 --- a/doc/lispref/loading.texi +++ b/doc/lispref/loading.texi @@ -253,37 +253,38 @@ it skips the latter group. in a list of directories specified by the variable @code{load-path}. @defvar load-path -@cindex @env{EMACSLOADPATH} environment variable The value of this variable is a list of directories to search when loading files with @code{load}. Each element is a string (which must be a directory name) or @code{nil} (which stands for the current working directory). @end defvar - Each time Emacs starts up, it sets up the value of @code{load-path} -in several steps. First, it initializes @code{load-path} to the -directories specified by the environment variable @env{EMACSLOADPATH}, -if that exists. The syntax of @env{EMACSLOADPATH} is the same as used -for @code{PATH}; directory names are separated by @samp{:} (or -@samp{;}, on some operating systems), and @samp{.} stands for the -current default directory. Here is an example of how to set -@env{EMACSLOADPATH} variable from @command{sh}: + When Emacs starts up, it sets up the value of @code{load-path} +in several steps. First, it initializes @code{load-path} using +default locations set when Emacs was compiled. Normally, this +is a directory something like @example -export EMACSLOADPATH -EMACSLOADPATH=/home/foo/.emacs.d/lisp:/opt/emacs/lisp +"/usr/local/share/emacs/@var{version}/lisp" @end example -@noindent -Here is how to set it from @code{csh}: +followed by a similarly named @file{leim} directory. These +directories contain the standard Lisp files that come with Emacs. +If Emacs cannot find them, it will not start correctly. -@example -setenv EMACSLOADPATH /home/foo/.emacs.d/lisp:/opt/emacs/lisp -@end example +If you run Emacs from the directory where it was built---that is, an +executable that has not been formally installed---Emacs instead +initializes @code{load-path} using the @file{lisp} and @file{leim} +directories in the directory containing the sources from which it +was built. If you built Emacs in a separate directory from the +sources, it also adds those directories from the build directory. +(In all cases, elements are represented as absolute file names.) @cindex site-lisp directories - If @env{EMACSLOADPATH} is not set (which is usually the case), Emacs -initializes @code{load-path} with the following two directories: +Unless you start Emacs with the @option{--no-site-lisp} option, +it then adds two more @file{site-lisp} directories to the front of +@code{load-path}. These are intended for locally installed Lisp files, +and are normally of the form: @example "/usr/local/share/emacs/@var{version}/site-lisp" @@ -297,26 +298,45 @@ and @end example @noindent -The first one is for locally installed packages for a particular Emacs -version; the second is for locally installed packages meant for use -with all installed Emacs versions. - - If you run Emacs from the directory where it was built---that is, an -executable that has not been formally installed---Emacs puts two more -directories in @code{load-path}. These are the @code{lisp} and -@code{site-lisp} subdirectories of the main build directory. (Both -are represented as absolute file names.) - - Next, Emacs ``expands'' the initial list of directories in -@code{load-path} by adding the subdirectories of those directories. -Both immediate subdirectories and subdirectories multiple levels down -are added. But it excludes subdirectories whose names do not start -with a letter or digit, and subdirectories named @file{RCS} or -@file{CVS}, and subdirectories containing a file named -@file{.nosearch}. - - Next, Emacs adds any extra load directory that you specify using the -@samp{-L} command-line option (@pxref{Action Arguments,,,emacs, The +The first one is for locally installed files for a specific Emacs +version; the second is for locally installed files meant for use +with all installed Emacs versions. (If Emacs is running uninstalled, +it also adds @file{site-lisp} directories from the source and build +directories, if they exist. Normally these directories do not contain +@file{site-lisp} directories.) + +@cindex @env{EMACSLOADPATH} environment variable +If the environment variable @env{EMACSLOADPATH} is set, it overrides +the above initialization procedure. That is, Emacs initializes +@code{load-path} based solely on the value of the environment +variable. You must therefore include the directory containing the +standard Lisp files, else Emacs will not function. In most +situations, it is better to use the @option{-L} command-line option +(see below) to add elements to @code{load-path}. + +The syntax of @env{EMACSLOADPATH} is the same as used for @code{PATH}; +directory names are separated by @samp{:} (or @samp{;}, on some +operating systems), and @samp{.} stands for the current default +directory. Here is an example of how to set @env{EMACSLOADPATH} +variable (from a @command{sh}-style shell): + +@example +export EMACSLOADPATH +EMACSLOADPATH=/home/foo/.emacs.d/lisp:/usr/local/emacs/24.3/lisp +@end example + + For each directory in @code{load-path}, Emacs then checks to see if +it contains a file @file{subdirs.el}, and if so, loads it. The +@file{subdirs.el} file is created when Emacs is built/installed, +and contains code that causes Emacs to add any subdirectories of those +directories to @code{load-path}. Both immediate subdirectories and +subdirectories multiple levels down are added. But it excludes +subdirectories whose names do not start with a letter or digit, and +subdirectories named @file{RCS} or @file{CVS}, and subdirectories +containing a file named @file{.nosearch}. + + Next, Emacs adds any extra load directories that you specify using the +@option{-L} command-line option (@pxref{Action Arguments,,,emacs, The GNU Emacs Manual}). It also adds the directories where optional packages are installed, if any (@pxref{Packaging Basics}). -- cgit v1.2.1 From 014690de705b6be7c55aa0b9ea85694c4fa1fd73 Mon Sep 17 00:00:00 2001 From: Jay Belanger Date: Sat, 16 Nov 2013 22:22:24 -0600 Subject: * calc/calc.el (calc-context-sensitive-enter): New variable. (calc-enter): Use `calc-context-sensitive-enter'. * doc/misc/calc.texi (Customizing Calc): Mention the new variable `calc-context-sensitive-enter'. --- doc/misc/ChangeLog | 5 +++++ doc/misc/calc.texi | 8 ++++++++ 2 files changed, 13 insertions(+) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 976922a3978..ca4169316c5 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,8 @@ +2013-11-17 Jay Belanger + + * calc.texi (Customizing Calc): Mention new variable + `calc-context-sensitive-enter'. + 2013-11-12 Aaron Ecay * org.texi (Exporting code blocks): Document the 'inline-only diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index 04160eafad0..0154c82750a 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi @@ -35696,6 +35696,14 @@ have different dimensions. The default value of @code{calc-ensure-consistent-uni is @code{nil}. @end defvar +@defvar calc-context-sensitive-enter +The command @code{calc-enter} will typically duplicate the top of the +stack. If @code{calc-context-sensitive-enter} is non-@code{nil}, +then the @code{calc-enter} will copy the element at the cursor to the +top of the stack. The default value of +@code{calc-context-sensitive-enter} is @code{nil}. +@end defvar + @defvar calc-undo-length The variable @code{calc-undo-length} determines the number of undo steps that Calc will keep track of when @code{calc-quit} is called. -- cgit v1.2.1 From d1389828747d3e78ed968ea4a3341e61e8df4a1d Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 16 Nov 2013 23:51:24 -0800 Subject: Spelling fixes. * lisp/org/ob-python.el (org-babel-python-with-earmuffs): Rename from org-babel-python-with-earmufs. All uses changed. (org-babel-python-without-earmuffs): Rename from org-babel-python-without-earmufs. All uses changed. --- doc/misc/ChangeLog | 4 ++-- doc/misc/org.texi | 42 +++++++++++++++++++++--------------------- 2 files changed, 23 insertions(+), 23 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index ca4169316c5..6ea80e4be8d 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1773,7 +1773,7 @@ * org.texi (Clocking commands): Document the use of S-M- on clock timestamps. - * org.texi (Fast access to TODO states): Explicitely says only + * org.texi (Fast access to TODO states): Explicitly says only letters are supported as fast TODO selection keys. * org.texi (Link abbreviations): Illustrate the use of the "%h" @@ -2549,7 +2549,7 @@ 2012-01-03 Bastien Guerry (tiny change) - * org.texi (Selective export): Explicitely mention the default + * org.texi (Selective export): Explicitly mention the default values for `org-export-select-tags', `org-export-exclude-tags'. diff --git a/doc/misc/org.texi b/doc/misc/org.texi index d20aa6ecdad..5c416b65d77 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi @@ -688,7 +688,7 @@ Using header arguments * System-wide header arguments:: Set global default values * Language-specific header arguments:: Set default values by language * Header arguments in Org mode properties:: Set default values for a buffer or heading -* Language-specific header arguments in Org mode properties:: Set langugage-specific default values for a buffer or heading +* Language-specific header arguments in Org mode properties:: Set language-specific default values for a buffer or heading * Code block specific header arguments:: The most common way to set values * Header arguments in function calls:: The most specific level @@ -3874,7 +3874,7 @@ Jump to line 255. Search for a link target @samp{<>}, or do a text search for @samp{my target}, similar to the search in internal links, see @ref{Internal links}. In HTML export (@pxref{HTML export}), such a file -link will become a HTML reference to the corresponding named anchor in +link will become an HTML reference to the corresponding named anchor in the linked file. @item *My Target In an Org file, restrict search to headlines. @@ -8055,7 +8055,7 @@ You may also test for properties (@pxref{Properties and Columns}) at the same time as matching tags. The properties may be real properties, or special properties that represent other metadata (@pxref{Special properties}). For example, the ``property'' @code{TODO} represents the TODO keyword of the -entry and the ``propety'' @code{PRIORITY} represents the PRIORITY keyword of +entry and the ``property'' @code{PRIORITY} represents the PRIORITY keyword of the entry. The ITEM special property cannot currently be used in tags/property searches@footnote{But @pxref{x-agenda-skip-entry-regexp, ,skipping entries based on regexp}.}. @@ -8547,7 +8547,7 @@ Limit the number of tagged entries. @end table When set to a positive integer, each option will exclude entries from other -catogories: for example, @code{(setq org-agenda-max-effort 100)} will limit +categories: for example, @code{(setq org-agenda-max-effort 100)} will limit the agenda to 100 minutes of effort and exclude any entry that as no effort property. If you want to include entries with no effort property, use a negative value for @code{org-agenda-max-effort}. @@ -9632,7 +9632,7 @@ or on a per-file basis with a line like @end example If you would like to move the table of contents to a different location, you -should turn off the detault table using @code{org-export-with-toc} or +should turn off the default table using @code{org-export-with-toc} or @code{#+OPTIONS} and insert @code{#+TOC: headlines N} at the desired location(s). @@ -10856,7 +10856,7 @@ recognized. See @ref{@LaTeX{} and PDF export} for more information. @cindex #+BEAMER_INNER_THEME @cindex #+BEAMER_OUTER_THEME Beamer export introduces a number of keywords to insert code in the -document's header. Four control appearance of the presentantion: +document's header. Four control appearance of the presentation: @code{#+BEAMER_THEME}, @code{#+BEAMER_COLOR_THEME}, @code{#+BEAMER_FONT_THEME}, @code{#+BEAMER_INNER_THEME} and @code{#+BEAMER_OUTER_THEME}. All of them accept optional arguments @@ -10975,7 +10975,7 @@ Here is a simple example Org document that is intended for Beamer export. @section HTML export @cindex HTML export -Org mode contains a HTML (XHTML 1.0 strict) exporter with extensive +Org mode contains an HTML (XHTML 1.0 strict) exporter with extensive HTML formatting, in ways similar to John Gruber's @emph{markdown} language, but with additional support for tables. @@ -10998,11 +10998,11 @@ language, but with additional support for tables. @table @kbd @orgcmd{C-c C-e h h,org-html-export-to-html} -Export as a HTML file. For an Org file @file{myfile.org}, +Export as an HTML file. For an Org file @file{myfile.org}, the HTML file will be @file{myfile.html}. The file will be overwritten without warning. @kbd{C-c C-e h o} -Export as a HTML file and immediately open it with a browser. +Export as an HTML file and immediately open it with a browser. @orgcmd{C-c C-e h H,org-html-export-as-html} Export to a temporary buffer. Do not create a file. @end table @@ -11029,7 +11029,7 @@ Export to a temporary buffer. Do not create a file. Org can export to various (X)HTML flavors. Setting the variable @code{org-html-doctype} allows you to export to different -(X)HTML variants. The exported HTML will be adjusted according to the sytax +(X)HTML variants. The exported HTML will be adjusted according to the syntax requirements of that variant. You can either set this variable to a doctype string directly, in which case the exporter will try to adjust the syntax automatically, or you can use a ready-made doctype. The ready-made options @@ -11176,7 +11176,7 @@ includes automatic links created by radio targets (@pxref{Radio targets}). Links to external files will still work if the target file is on the same @i{relative} path as the published Org file. Links to other @file{.org} files will be translated into HTML links under the assumption -that a HTML version also exists of the linked file, at the same relative +that an HTML version also exists of the linked file, at the same relative path. @samp{id:} links can then be used to jump to specific entries across files. For information related to linking files while publishing them to a publishing directory see @ref{Publishing links}. @@ -11773,10 +11773,10 @@ attribute. You may set it to: @code{t}: if you want to make the source block a float. It is the default value when a caption is provided. @item -@code{mulicolumn}: if you wish to include a source block which spans multiple -colums in a page. +@code{multicolumn}: if you wish to include a source block which spans multiple +columns in a page. @item -@code{nil}: if you need to avoid any floating evironment, even when a caption +@code{nil}: if you need to avoid any floating environment, even when a caption is provided. It is useful for source code that may not fit in a single page. @end itemize @@ -11838,7 +11838,7 @@ respectively, @code{:width} and @code{:thickness} attributes: @section Markdown export @cindex Markdown export -@code{md} export back-end generates Markdown syntax@footnote{Vanilla flavour, +@code{md} export back-end generates Markdown syntax@footnote{Vanilla flavor, as defined at @url{http://daringfireball.net/projects/markdown/}.} for an Org mode buffer. @@ -12861,7 +12861,7 @@ you are using. The FAQ covers this issue. @cindex export back-ends, built-in @vindex org-export-backends -On top of the aforemetioned back-ends, Org comes with other built-in ones: +On top of the aforementioned back-ends, Org comes with other built-in ones: @itemize @item @file{ox-man.el}: export to a man page. @@ -12894,8 +12894,8 @@ Convert the selected region into @code{Texinfo}. Convert the selected region into @code{MarkDown}. @end table -This is particularily useful for converting tables and lists in foreign -buffers. E.g., in a HTML buffer, you can turn on @code{orgstruct-mode}, then +This is particularly useful for converting tables and lists in foreign +buffers. E.g., in an HTML buffer, you can turn on @code{orgstruct-mode}, then use Org commands for editing a list, and finally select and convert the list with @code{M-x org-html-convert-region-to-html RET}. @@ -17273,8 +17273,8 @@ to become slow. Below are some tips on how to speed up the agenda commands. @enumerate @item -Reduce the number of Org agenda files: this will reduce the slowliness caused -by accessing to a hard drive. +Reduce the number of Org agenda files: this will reduce the slowness caused +by accessing a hard drive. @item Reduce the number of DONE and archived headlines: this way the agenda does not need to skip them. @@ -17912,7 +17912,7 @@ inspired some of the early development, including HTML export. He also asked for a way to narrow wide table columns. @item @i{Jason Dunsmore} has been maintaining the Org-Mode server at Rackspace for -several years now. He also sponsered the hosting costs until Rackspace +several years now. He also sponsored the hosting costs until Rackspace started to host us for free. @item @i{Thomas S. Dye} contributed documentation on Worg and helped integrating -- cgit v1.2.1 From de586f99e98f9ace3dc33933094046671ee7fa3c Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Mon, 18 Nov 2013 06:30:44 +0800 Subject: Minor doc fixes. * doc/lispref/os.texi (Time Parsing): (Processor Run Time, Input Modes, Terminal Output): Minor fixes. --- doc/lispref/ChangeLog | 5 +++++ doc/lispref/os.texi | 22 ++++++++++++---------- 2 files changed, 17 insertions(+), 10 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 520f87f2f8b..f4fc1acfa69 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-11-17 Xue Fuqiao + + * os.texi (Time Parsing): + (Processor Run Time, Input Modes, Terminal Output): Minor fixes. + 2013-11-14 Glenn Morris * loading.texi (Library Search): Update section. diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index 9b10a437b16..0cd9e1465dc 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -1524,7 +1524,7 @@ system. @defun seconds-to-time seconds This function converts @var{seconds}, a floating point number of seconds since the epoch, to a time value and returns that. To perform -the inverse conversion, use @code{float-time}. +the inverse conversion, use @code{float-time} (@pxref{Time of Day}). @end defun @defun format-seconds format-string seconds @@ -1586,6 +1586,7 @@ most-positive-fixnum}). both elapsed and processor time, used by the Emacs process. @deffn Command emacs-uptime &optional format +@cindex uptime of Emacs This function returns a string representing the Emacs @dfn{uptime}---the elapsed wall-clock time this instance of Emacs is running. The string is formatted by @code{format-seconds} according @@ -1922,10 +1923,10 @@ functions. @defun set-input-mode interrupt flow meta &optional quit-char This function sets the mode for reading keyboard input. If -@var{interrupt} is non-null, then Emacs uses input interrupts. If it is -@code{nil}, then it uses @sc{cbreak} mode. The default setting is -system-dependent. Some systems always use @sc{cbreak} mode regardless -of what is specified. +@var{interrupt} is non-@code{nil}, then Emacs uses input interrupts. +If it is @code{nil}, then it uses @sc{cbreak} mode. The default +setting is system-dependent. Some systems always use @sc{cbreak} mode +regardless of what is specified. When Emacs communicates directly with X, it ignores this argument and uses interrupts if that is the way it knows how to communicate. @@ -2075,17 +2076,17 @@ often than to actual Emacs bugs. Once you are certain which characters were actually output, you can determine reliably whether they correspond to the Termcap specifications in use. -You close the termscript file by calling this function with an -argument of @code{nil}. - -See also @code{open-dribble-file} in @ref{Recording Input}. - @example @group (open-termscript "../junk/termscript") @result{} nil @end group @end example + +You close the termscript file by calling this function with an +argument of @code{nil}. + +See also @code{open-dribble-file} in @ref{Recording Input}. @end deffn @node Sound Output @@ -2096,6 +2097,7 @@ See also @code{open-dribble-file} in @ref{Recording Input}. certain systems are supported; if you call @code{play-sound} on a system which cannot really do the job, it gives an error. +@c FIXME: Add indexes for Au and WAV? --xfq The sound must be stored as a file in RIFF-WAVE format (@samp{.wav}) or Sun Audio format (@samp{.au}). -- cgit v1.2.1 From 4ae3802fbff3f1892abb86562509d078e28779db Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Tue, 19 Nov 2013 06:53:47 +0800 Subject: Add some indexes and a cross-reference. * doc/lispref/os.texi (Session Management, Desktop Notifications): Add some indexes and a cross-reference. --- doc/emacs/cmdargs.texi | 1 + doc/lispref/ChangeLog | 5 +++++ doc/lispref/os.texi | 5 ++++- 3 files changed, 10 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi index d0f5f1e06b1..143e03cde63 100644 --- a/doc/emacs/cmdargs.texi +++ b/doc/emacs/cmdargs.texi @@ -10,6 +10,7 @@ @cindex switches (command line) @cindex startup (command line arguments) @cindex invocation (command line arguments) +@c FIXME: Document `--smid'? --xfq Emacs supports command line arguments to request various actions when invoking Emacs. These are for compatibility with other editors diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index f4fc1acfa69..b35358366e3 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-11-18 Xue Fuqiao + + * os.texi (Session Management, Desktop Notifications): Add some + indexes and a cross-reference. + 2013-11-17 Xue Fuqiao * os.texi (Time Parsing): diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index 0cd9e1465dc..c0e029be912 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -2244,6 +2244,7 @@ saved session to restore. For Emacs, this argument is @samp{--smid @var{session}}. @defvar emacs-save-session-functions +@cindex session file Emacs supports saving state via a hook called @code{emacs-save-session-functions}. Emacs runs this hook when the session manager tells it that the window system is shutting down. The @@ -2283,11 +2284,13 @@ Emacs is restarted by the session manager. @node Desktop Notifications @section Desktop Notifications @cindex desktop notifications +@cindex notifications, on desktop Emacs is able to send @dfn{notifications} on systems that support the freedesktop.org Desktop Notifications Specification. In order to use this functionality, Emacs must have been compiled with D-Bus support, -and the @code{notifications} library must be loaded. +and the @code{notifications} library must be loaded. @xref{Top, , +D-Bus,dbus,D-Bus integration in Emacs}. @defun notifications-notify &rest params This function sends a notification to the desktop via D-Bus, -- cgit v1.2.1 From a6e3a5d5d5f56c5f523f65e42fa76aa22e0adcf1 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Tue, 19 Nov 2013 17:47:02 +0800 Subject: Doc fixes. * lisp/filenotify.el (file-notify-add-watch): Refine doc string. * doc/lispref/os.texi (File Notifications): Add an index. * doc/lispref/loading.texi (Loading): Add an cross-reference. --- doc/lispref/ChangeLog | 6 ++++++ doc/lispref/files.texi | 2 ++ doc/lispref/loading.texi | 2 ++ doc/lispref/os.texi | 1 + 4 files changed, 11 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index b35358366e3..e298f79d1c0 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,9 @@ +2013-11-19 Xue Fuqiao + + * os.texi (File Notifications): Add an index. + + * loading.texi (Loading): Add an cross-reference. + 2013-11-18 Xue Fuqiao * os.texi (Session Management, Desktop Notifications): Add some diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 944a1e37cc4..36c6aa5e5ee 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -1663,6 +1663,8 @@ version of an existing file; saving a file preserves its existing permissions. @end defun +@c FIXME: The return value is decimal? Octal? We should explain it +@c further. --xfq @defun default-file-modes This function returns the default file permissions, as an integer. @end defun diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi index 637057c99b0..07dbce21cb2 100644 --- a/doc/lispref/loading.texi +++ b/doc/lispref/loading.texi @@ -29,6 +29,8 @@ into a buffer and evaluated there. (Indeed, most code is tested this way.) Most often, the forms are function definitions and variable definitions. +For on-demand loading of external libraries, @pxref{Dynamic Libraries}. + @menu * How Programs Do Loading:: The @code{load} function and others. * Load Suffixes:: Details about the suffixes that @code{load} tries. diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index c0e029be912..ed9b8b93a89 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -2526,6 +2526,7 @@ specification prior to @samp{"1.0"}. @node File Notifications @section Notifications on File Changes @cindex file notifications +@cindex watch, for filesystem events Several operating systems support watching of filesystems for changes of files. If configured properly, Emacs links a respective library -- cgit v1.2.1 From f0cfa5feabab3986c002e55c1c6825f3c206d5c2 Mon Sep 17 00:00:00 2001 From: Leo Liu Date: Wed, 20 Nov 2013 10:44:38 +0800 Subject: * doc/lispref/windows.texi (Choosing Window): Mention `no-display-ok'. * etc/NEWS: Mention new display action alist entry `no-display-ok'. (Bug#13594) * lisp/window.el (display-buffer-alist): Doc fix. (Bug#13594) --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/windows.texi | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index e298f79d1c0..16ee55a173c 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-11-20 Leo Liu + + * windows.texi (Choosing Window): Mention `no-display-ok'. (Bug#13594) + 2013-11-19 Xue Fuqiao * os.texi (File Notifications): Add an index. diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi index 13c9ca53222..8f592dfebb3 100644 --- a/doc/lispref/windows.texi +++ b/doc/lispref/windows.texi @@ -1842,7 +1842,10 @@ The constant @code{display-buffer-fallback-action}. @noindent Each action function is called in turn, passing the buffer as the first argument and the combined action alist as the second argument, -until one of the functions returns non-@code{nil}. +until one of the functions returns non-@code{nil}. The caller can +pass @code{(no-display-ok . t)} as an element of the action alist to +indicate its readiness to handle the case of not displaying the +buffer. The argument @var{action} can also have a non-@code{nil}, non-list value. This has the special meaning that the buffer should be -- cgit v1.2.1 From fd5fb2f4fd603235eb1b879d224005e957038a19 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Wed, 20 Nov 2013 10:52:35 +0800 Subject: Remove a FIXME. --- doc/lispref/files.texi | 2 -- 1 file changed, 2 deletions(-) (limited to 'doc') diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 36c6aa5e5ee..944a1e37cc4 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -1663,8 +1663,6 @@ version of an existing file; saving a file preserves its existing permissions. @end defun -@c FIXME: The return value is decimal? Octal? We should explain it -@c further. --xfq @defun default-file-modes This function returns the default file permissions, as an integer. @end defun -- cgit v1.2.1 From 0ec16636be13e2209cddf6917d81a2ab00e44c5d Mon Sep 17 00:00:00 2001 From: era eriksson Date: Wed, 20 Nov 2013 00:52:15 -0800 Subject: * doc/misc/ses.texi (Quick Tutorial): New chapter. (The Basics, Formulas): Copyedits. (Resizing, Printer functions): Add index entries. Fixes: debbugs:14748 --- doc/misc/ChangeLog | 6 +++ doc/misc/ses.texi | 106 ++++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 111 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 6ea80e4be8d..f2254f912da 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,9 @@ +2013-11-20 era eriksson + + * ses.texi (Quick Tutorial): New chapter. (Bug#14748) + (The Basics, Formulas): Copyedits. + (Resizing, Printer functions): Add index entries. + 2013-11-17 Jay Belanger * calc.texi (Customizing Calc): Mention new variable diff --git a/doc/misc/ses.texi b/doc/misc/ses.texi index a44d790781d..8ac023b8135 100644 --- a/doc/misc/ses.texi +++ b/doc/misc/ses.texi @@ -66,6 +66,7 @@ To report bugs, use @kbd{M-x report-emacs-bug}. @menu * Sales Pitch:: Why use @acronym{SES}? +* Quick Tutorial:: A quick introduction * The Basics:: Basic spreadsheet commands * Advanced Features:: Want to know more? * For Gurus:: Want to know @emph{even more}? @@ -98,6 +99,95 @@ To report bugs, use @kbd{M-x report-emacs-bug}. @c =================================================================== +@node Quick Tutorial +@chapter Quick Tutorial +@cindex introduction +@cindex tutorial + +If you want to get started quickly and think that you know what to +expect from a simple spreadsheet, this chapter may be all that you +need. + +First, visit a new file with the @file{.ses} extension. +Emacs presents you with an empty spreadsheet containing a single cell. + +Begin by inserting a headline: @kbd{"Income"@key{RET}}. The double +quotes indicate that this is a text cell. (Notice that Emacs +automatically inserts the closing quotation mark.) + +To insert your first income value, you must first resize the +spreadsheet. Press @key{TAB} to add a new cell and navigate back up +to it. Enter a number, such as @samp{2.23}. Then proceed to add a +few more income entries, e.g.: + +@example +@group +A + Income + 2.23 + 0.02 + 15.76 + -4.00 +@end group +@end example + +To add up the values, enter a Lisp expression: + +@example +(+ A2 A3 A4 A5) +@end example + +Perhaps you want to add a cell to the right of cell A4 to explain +why you have a negative entry. Pressing @kbd{TAB} in that cell +adds an entire new column @samp{B}, where you can add such a note. + +The column is fairly narrow by default, but pressing @kbd{w} allows +you to resize it as needed. Make it 20 characters wide. You can +now add descriptive legends for all the entries, e.g.: + +@example +@group +A B + Income + 2.23 Consulting fee + 0.02 Informed opinion + 15.76 Lemonade stand + -4 Loan to Joe + 14.01 Total +@end group +@end example + +By default, the labels in column B are right-justified. To change +that, you can enter a printer function for the whole column, using +e.g., @kbd{M-p ("%s")}. You can override a column's printer function +in any individual cell using @kbd{p}. + +If Joe pays back his loan, you might blank that entry; e.g., by +positioning the cursor in cell A5 and pressing @kbd{C-d} twice. +If you do that, the total cell will display @samp{######}. That is +because the regular @code{+} operator does not handle a range that +contains some empty cells. Instead of emptying the cell, you could +enter a literal @samp{0}, or delete the entire row using @kbd{C-k}. +An alternative is to use the special function @code{ses+} instead of +the regular @code{+}: + +@example +(ses+ A2 A3 A4 A5) +@end example + +To make a formula robust against changes in the spreadsheet geometry, +you can use the @code{ses-range} macro to refer to a range of cells by +the end-points, e.g.: + +@example +(apply 'ses+ (ses-range A2 A5)) +@end example + +(The @code{apply} is necessary because @code{ses-range} produces a +@emph{list} of values. This allows for more complex possibilities.) + +@c =================================================================== + @node The Basics @comment node-name, next, previous, up @chapter The Basics @@ -117,6 +207,7 @@ A @dfn{cell identifier} is a symbol with a column letter and a row number. Cell B7 is the 2nd column of the 7th row. For very wide spreadsheets, there are two column letters: cell AB7 is the 28th column of the 7th row. Super wide spreadsheets get AAA1, etc. +You move around with the regular Emacs movement commands. @table @kbd @item j @@ -161,13 +252,17 @@ Highlight all cells (@code{mark-whole-buffer}). @section Cell formulas @cindex formulas @cindex formulas, entering +@cindex values +@cindex cell values +@cindex editing cells @findex ses-read-cell @findex ses-read-symbol @findex ses-edit-cell @findex ses-recalculate-cell @findex ses-recalculate-all -To enter a number into the current cell, just start typing: +To insert a value into a cell, simply type a numeric expression, +@samp{"double-quoted text"}, or a Lisp expression. @table @kbd @item 0..9 @@ -213,6 +308,13 @@ Recalculate the entire spreadsheet (@code{ses-recalculate-all}). @node Resizing @section Resizing the spreadsheet @cindex resizing spreadsheets +@cindex dimensions +@cindex row, adding or removing +@cindex column, adding or removing +@cindex adding rows or columns +@cindex inserting rows or columns +@cindex removing rows or columns +@cindex deleting rows or columns @findex ses-insert-row @findex ses-insert-column @findex ses-delete-row @@ -269,6 +371,8 @@ Undo previous action (@code{(undo)}). @node Printer functions @section Printer functions @cindex printer functions +@cindex cell formatting +@cindex formatting cells @findex ses-read-cell-printer @findex ses-read-column-printer @findex ses-read-default-printer -- cgit v1.2.1 From 2df102287e7cf5fe20b38961413a468d94d99824 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 20 Nov 2013 19:21:50 -0500 Subject: Use path-separator with -L, rather than just : * lisp/startup.el (command-line-1): Use path-separator with -L. * test/automated/Makefile.in (PATH_SEPARATOR): New, set by configure. (EMACSOPT): Use PATH_SEPARATOR. * doc/emacs/cmdargs.texi (Action Arguments): Use path-separator with -L. * etc/NEWS: Related edit. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/cmdargs.texi | 2 ++ 2 files changed, 6 insertions(+) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 7f051e751e5..229929d132d 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-11-21 Glenn Morris + + * cmdargs.texi (Action Arguments): Use path-separator with -L. + 2013-11-04 Glenn Morris * cmdargs.texi (Action Arguments): Mention that `-L :...' appends. diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi index 143e03cde63..92861c443f1 100644 --- a/doc/emacs/cmdargs.texi +++ b/doc/emacs/cmdargs.texi @@ -142,6 +142,8 @@ relative order; i.e., using @samp{-L /foo -L /bar} results in a @code{load-path} of the form @code{("/foo" "/bar" @dots{})}. If @var{dir} begins with @samp{:}, Emacs removes the @samp{:} and appends (rather than prepends) the remainder to @code{load-path}. +(On MS Windows, use @samp{;} instead of @samp{:}; i.e., use +the value of @code{path-separator}.) @item -f @var{function} @opindex -f -- cgit v1.2.1 From 88fa559d2743522d709bab6ed179be5800d8c1bc Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 21 Nov 2013 18:59:02 -0800 Subject: * doc/lispref/loading.texi (Library Search): Minor clarification. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/loading.texi | 8 +++++--- 2 files changed, 9 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 16ee55a173c..8a082a851c9 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-11-22 Glenn Morris + + * loading.texi (Library Search): Minor clarification. + 2013-11-20 Leo Liu * windows.texi (Choosing Window): Mention `no-display-ok'. (Bug#13594) diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi index 07dbce21cb2..38a73b4e296 100644 --- a/doc/lispref/loading.texi +++ b/doc/lispref/loading.texi @@ -270,9 +270,11 @@ is a directory something like "/usr/local/share/emacs/@var{version}/lisp" @end example -followed by a similarly named @file{leim} directory. These -directories contain the standard Lisp files that come with Emacs. -If Emacs cannot find them, it will not start correctly. +followed by a similarly named @file{leim} directory. +(In this and the following examples, replace @file{/usr/local} with +the installation prefix appropriate for your Emacs.) +These directories contain the standard Lisp files that come with +Emacs. If Emacs cannot find them, it will not start correctly. If you run Emacs from the directory where it was built---that is, an executable that has not been formally installed---Emacs instead -- cgit v1.2.1 From 17e0445be4a6a4f437f4be4924074c90d6477481 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Fri, 22 Nov 2013 17:55:16 -0800 Subject: Empty elements in EMACSLOADPATH now stand for the default * src/lread.c (load_path_check): Take path to check as argument. (load_path_default): New, split from init_lread. (init_lread): Move calc of default load-path to load_path_default. Empty elements in EMACSLOADPATH now stand for the default. (load-path): Doc fix. * src/emacs.c (decode_env_path): Add option to treat empty elements as nil rather than ".". * src/callproc.c (init_callproc_1, init_callproc): * src/image.c (Vx_bitmap_file_path): * src/lisp.h (decode_env_path): * lread.c (Vsource_directory): Update for new argument spec of decode_env_path. * leim/Makefile.in (RUN_EMACS): Empty EMACSLOADPATH rather than unsetting. * lisp/Makefile.in (emacs): Empty EMACSLOADPATH rather than unsetting. * test/automated/Makefile.in (emacs): Empty EMACSLOADPATH rather than unsetting. * doc/emacs/cmdargs.texi (General Variables): Empty elements in EMACSLOADPATH now mean the default load-path. * doc/lispref/loading.texi (Library Search): Empty elements in EMACSLOADPATH now mean the default load-path. * etc/NEWS: Mention this. Fixes: debbugs:12100 --- doc/emacs/ChangeLog | 5 +++++ doc/emacs/cmdargs.texi | 11 +++++++---- doc/lispref/ChangeLog | 5 +++++ doc/lispref/loading.texi | 33 +++++++++++++++++++++------------ 4 files changed, 38 insertions(+), 16 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 229929d132d..a0d5344641e 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,8 @@ +2013-11-23 Glenn Morris + + * cmdargs.texi (General Variables): + Empty elements in EMACSLOADPATH now mean the default load-path. + 2013-11-21 Glenn Morris * cmdargs.texi (Action Arguments): Use path-separator with -L. diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi index 92861c443f1..4294f775e5e 100644 --- a/doc/emacs/cmdargs.texi +++ b/doc/emacs/cmdargs.texi @@ -455,13 +455,16 @@ This is used to initialize the variable @code{data-directory}. Directory for the documentation string file, which is used to initialize the Lisp variable @code{doc-directory}. @item EMACSLOADPATH -A colon-separated list of directories@footnote{ Here and below, +A colon-separated list of directories@footnote{Here and below, whenever we say ``colon-separated list of directories'', it pertains to Unix and GNU/Linux systems. On MS-DOS and MS-Windows, the directories are separated by semi-colons instead, since DOS/Windows -file names might include a colon after a drive letter.} to search for -Emacs Lisp files. If set, it overrides the usual initial value of the -@code{load-path} variable (@pxref{Lisp Libraries}). +file names might include a colon after a drive letter.} to search for +Emacs Lisp files. If set, it modifies the usual initial value of the +@code{load-path} variable (@pxref{Lisp Libraries}). An empty element +stands for the default value of @code{load-path}; e.g., using +@samp{EMACSLOADPATH="/tmp:"} adds @file{/tmp} to the front of +the default @code{load-path}. @item EMACSPATH A colon-separated list of directories to search for executable files. If set, Emacs uses this in addition to @env{PATH} (see below) when diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 8a082a851c9..5251efec3e4 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-11-23 Glenn Morris + + * loading.texi (Library Search): + Empty elements in EMACSLOADPATH now mean the default load-path. + 2013-11-22 Glenn Morris * loading.texi (Library Search): Minor clarification. diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi index 38a73b4e296..aae92de99cb 100644 --- a/doc/lispref/loading.texi +++ b/doc/lispref/loading.texi @@ -310,25 +310,34 @@ directories, if they exist. Normally these directories do not contain @file{site-lisp} directories.) @cindex @env{EMACSLOADPATH} environment variable -If the environment variable @env{EMACSLOADPATH} is set, it overrides -the above initialization procedure. That is, Emacs initializes -@code{load-path} based solely on the value of the environment -variable. You must therefore include the directory containing the -standard Lisp files, else Emacs will not function. In most -situations, it is better to use the @option{-L} command-line option -(see below) to add elements to @code{load-path}. +If the environment variable @env{EMACSLOADPATH} is set, it modifies +the above initialization procedure. Emacs initializes +@code{load-path} based on the value of the environment variable. The syntax of @env{EMACSLOADPATH} is the same as used for @code{PATH}; directory names are separated by @samp{:} (or @samp{;}, on some -operating systems), and @samp{.} stands for the current default -directory. Here is an example of how to set @env{EMACSLOADPATH} -variable (from a @command{sh}-style shell): +operating systems). +@ignore +@c AFAICS, does not (yet) work right to specify non-absolute elements. +and @samp{.} stands for the current default directory. +@end ignore +Here is an example of how to set @env{EMACSLOADPATH} variable (from a +@command{sh}-style shell): @example -export EMACSLOADPATH -EMACSLOADPATH=/home/foo/.emacs.d/lisp:/usr/local/emacs/24.3/lisp +export EMACSLOADPATH=/home/foo/.emacs.d/lisp: @end example +An empty element in the value of the environment variable, whether +trailing (as in the above example), leading, or embedded, is replaced +by the default value of @code{load-path} as determined by the standard +initialization procedure. If there are no such empty elements, then +@env{EMACSLOADPATH} specifies the entire @code{load-path}. You must +include either an empty element, or the explicit path to the directory +containing the standard Lisp files, else Emacs will not function. +(Another way to modify @code{load-path} is to use the @option{-L} +command-line option when starting Emacs; see below.) + For each directory in @code{load-path}, Emacs then checks to see if it contains a file @file{subdirs.el}, and if so, loads it. The @file{subdirs.el} file is created when Emacs is built/installed, -- cgit v1.2.1 From 92f78ea3d1a1c1368bc419bcd57d6ad0472d99b9 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Fri, 22 Nov 2013 18:21:51 -0800 Subject: * etc/enriched.txt: Rename from enriched.doc. Misc small updates for this hardly being "new" any more. * lisp/textmodes/enriched.el (enriched-mode): Doc fix. * lisp/emacs-lisp/authors.el (authors-renamed-files-alist): Add enriched.doc -> enriched.txt. Fixes: debbugs:15947 --- doc/emacs/text.texi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi index b2cb5ee3d3b..e45189ba1d0 100644 --- a/doc/emacs/text.texi +++ b/doc/emacs/text.texi @@ -2011,8 +2011,8 @@ highlighting (@pxref{Font Lock}). Unlike Enriched mode, Font Lock mode assigns text properties automatically, based on the current buffer contents; those properties are not saved to disk. - The file @file{etc/enriched.doc} in the Emacs distribution serves as -an example of the features of Enriched mode. + The file @file{enriched.txt} in Emacs's @code{data-directory} +serves as an example of the features of Enriched mode. @menu * Enriched Mode:: Entering and exiting Enriched mode. -- cgit v1.2.1 From 4899e078eea3139f1e5995207bffd9b6b50e16c7 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sat, 23 Nov 2013 22:19:32 +0800 Subject: * etc/TODO: Minor update. --- doc/emacs/emacs.texi | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 68d431ac4bc..0968c629ec3 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -115,6 +115,7 @@ display editor. This manual describes how to edit with Emacs and some of the ways to customize it; it corresponds to GNU Emacs version @value{EMACSVER}. +@c See `manual-html-mono' and `manual-html-node' in admin/admin.el. @ifset WWW_GNU_ORG @html The homepage for GNU Emacs is at -- cgit v1.2.1 From f6083c67c54ba1a4951ecf7b3b242d097de8bff2 Mon Sep 17 00:00:00 2001 From: Brian Jenkins Date: Sat, 23 Nov 2013 11:07:34 -0800 Subject: Documentation for focus-in,out hooks (tiny change) * doc/lispref/frames.texi (Input Focus): * doc/lispref/hooks.texi (Standard Hooks): Mention focus-in-hook, focus-out-hook. * etc/NEWS: Copyedit. --- doc/lispref/ChangeLog | 5 +++++ doc/lispref/frames.texi | 8 ++++++++ doc/lispref/hooks.texi | 6 ++++++ 3 files changed, 19 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 5251efec3e4..bd84546551f 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-11-23 Brian Jenkins (tiny change) + + * frames.texi (Input Focus): + * hooks.texi (Standard Hooks): Mention focus-in-hook, focus-out-hook. + 2013-11-23 Glenn Morris * loading.texi (Library Search): diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index 4935534d6eb..01ced2bf6ab 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi @@ -1479,6 +1479,14 @@ The redirection lasts until @code{redirect-frame-focus} is called to change it. @end defun +@defvar focus-in-hook +This is a normal hook run when an Emacs frame gains input focus. +@end defvar + +@defvar focus-out-hook +This is a normal hook run when an Emacs frame loses input focus. +@end defvar + @defopt focus-follows-mouse This option is how you inform Emacs whether the window manager transfers focus when the user moves the mouse. Non-@code{nil} says that it does. diff --git a/doc/lispref/hooks.texi b/doc/lispref/hooks.texi index 745393f8166..74adda1d495 100644 --- a/doc/lispref/hooks.texi +++ b/doc/lispref/hooks.texi @@ -115,6 +115,12 @@ Function to call to ``quit'' the current buffer. @vindex delayed-warnings-hook The command loop runs this soon after @code{post-command-hook} (q.v.). +@item focus-in-hook +@vindex focus-in-hook +@itemx focus-out-hook +@vindex focus-out-hook +@xref{Input Focus}. + @item delete-frame-functions @xref{Deleting Frames}. -- cgit v1.2.1 From d668605594cb2bb8622d77b1fc07b5beeb3252c1 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Mon, 25 Nov 2013 21:58:51 -0500 Subject: * doc/lispref/os.texi (Startup Summary): Update for leim-list being preloaded. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/os.texi | 13 ++++++++----- 2 files changed, 12 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index bd84546551f..778e952697f 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-11-26 Glenn Morris + + * os.texi (Startup Summary): Update for leim-list being preloaded. + 2013-11-23 Brian Jenkins (tiny change) * frames.texi (Input Focus): diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index ed9b8b93a89..c5949fd5f15 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -71,11 +71,14 @@ in their turn. The files @file{subdirs.el} are normally generated automatically when Emacs is installed. @item -If the library @file{leim-list.el} exists, Emacs loads it. This -optional library is intended for registering input methods; Emacs -looks for it in @code{load-path} (@pxref{Library Search}), skipping -those directories containing the standard Emacs libraries (since -@file{leim-list.el} should not exist in those directories). +It loads any @file{leim-list.el} that it finds in the @code{load-path} +directories. This file is intended for registering input methods. +The search is only for any personal @file{leim-list.el} files that you +may have created; so it skips the directories containing the standard Emacs +libraries (for efficiency, since @file{leim-list.el} should not exist +in those directories), as well as the @file{leim} directory that is +part of the distribution (since the @file{leim-list.el} file in this +directory is compiled into the Emacs executable). @vindex before-init-time @item -- cgit v1.2.1 From cb6c95a394d9a9d2f068bf8ee240f2d2297867d1 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 26 Nov 2013 22:15:06 -0800 Subject: Move runtime leim lisp files to lisp/leim directory This allows us to reuse much of the lisp build and installation machinery, rather than duplicating it. * Makefile.in (abs_builddir, leimdir): Remove. (buildlisppath, SUBDIR, COPYDIR, COPYDESTS): No more leim directory. (epaths-force-w32): No longer set BLD. (leim): Remove. (install-arch-indep): No longer run or install leim. (mostlyclean, clean): No longer run leim rule. (bootstrap-clean): Change leim target. (maintainer-clean): Add leim. (check-declare): Remove leim. * README: Update for leim changes. * configure.ac (leimdir): Remove. (standardlisppath): No more leimdir. * make-dist: Update for files from leim/ now being in lisp/leim/. * doc/lispref/loading.texi (Library Search): * doc/lispref/os.texi (Startup Summary): No more leim directory. * leim/Makefile.in (leimdir): New variable. (TIT_GB, TIT_BIG5, MISC, changed.tit, changed.misc) (${leimdir}/leim-list.el, ${leimdir}/ja-dic/ja-dic.el): Generate in $leimdir. (all): Remove compilation, add ja-dic. (leim-list.el): Now PHONY. (setwins, compile-targets, compile-main, clean, mostlyclean) (extraclean): Remove. (bootstrap-clean): Delete all generated files. * leim/README: Update for moved leim/ directory. * leim/leim-ext.el (ucs-input-activate, hangul-input-method-activate): Remove manual autoloads; now in loaddefs.el. Disable byte-compile, version-control, autoloads in the output. * lisp/Makefile.in (setwins_for_subdirs): Skip leim/ directory. (compile-main): Depend on lisp/leim rule. (leim): New rule. * lisp/loadup.el: Move leim-list.el to leim/ subdirectory. * lisp/startup.el (normal-top-level): No more leim directory. * lisp/international/ja-dic-cnv.el (skkdic-convert): Disable version-control and autoloads in output files. * lisp/international/titdic-cnv.el (titdic-convert, miscdic-convert): Disable version-control and autoloads in output files. * lisp/leim/quail: Move here from ../leim. * lisp/leim/quail/hangul.el (hangul-input-method-activate): Add autoload cookie. (generated-autoload-load-name): Set file-local value. * lisp/leim/quail/uni-input.el (ucs-input-activate): Add autoload cookie. (generated-autoload-load-name): Set file-local value. * nt/README.W32: * nt/addpm.c (env_vars): * nt/epaths.nt (PATH_LOADSEARCH, PATH_DUMPLOADSEARCH): * nt/paths.h (PATH_LOADSEARCH): No more leim directory. * src/Makefile.in (leimdir): Now in lisp source directory. ($(leimdir)/leim-list.el): Just use ../leim . * src/epaths.in (PATH_DUMPLOADSEARCH): * src/lread.c (load_path_default): * src/nsterm.m (ns_load_path): No more leim directory. * .bzrignore: Update for relocated leim files. --- doc/lispref/ChangeLog | 5 +++++ doc/lispref/loading.texi | 11 ++++++----- doc/lispref/os.texi | 8 +++----- 3 files changed, 14 insertions(+), 10 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 778e952697f..ba7fe63a1b5 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-11-27 Glenn Morris + + * loading.texi (Library Search): + * os.texi (Startup Summary): No more leim directory. + 2013-11-26 Glenn Morris * os.texi (Startup Summary): Update for leim-list being preloaded. diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi index aae92de99cb..0505b67961d 100644 --- a/doc/lispref/loading.texi +++ b/doc/lispref/loading.texi @@ -270,7 +270,6 @@ is a directory something like "/usr/local/share/emacs/@var{version}/lisp" @end example -followed by a similarly named @file{leim} directory. (In this and the following examples, replace @file{/usr/local} with the installation prefix appropriate for your Emacs.) These directories contain the standard Lisp files that come with @@ -278,10 +277,12 @@ Emacs. If Emacs cannot find them, it will not start correctly. If you run Emacs from the directory where it was built---that is, an executable that has not been formally installed---Emacs instead -initializes @code{load-path} using the @file{lisp} and @file{leim} -directories in the directory containing the sources from which it -was built. If you built Emacs in a separate directory from the -sources, it also adds those directories from the build directory. +initializes @code{load-path} using the @file{lisp} +directory in the directory containing the sources from which it +was built. +@c Though there should be no *.el files in builddir/lisp, so it's pointless. +If you built Emacs in a separate directory from the +sources, it also adds the lisp directories from the build directory. (In all cases, elements are represented as absolute file names.) @cindex site-lisp directories diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index c5949fd5f15..38ebcccb688 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -74,11 +74,9 @@ automatically when Emacs is installed. It loads any @file{leim-list.el} that it finds in the @code{load-path} directories. This file is intended for registering input methods. The search is only for any personal @file{leim-list.el} files that you -may have created; so it skips the directories containing the standard Emacs -libraries (for efficiency, since @file{leim-list.el} should not exist -in those directories), as well as the @file{leim} directory that is -part of the distribution (since the @file{leim-list.el} file in this -directory is compiled into the Emacs executable). +may have created; it skips the directories containing the standard Emacs +libraries (these should contain only a single @file{leim-list.el} file, +which is compiled into the Emacs executable). @vindex before-init-time @item -- cgit v1.2.1 From c8f0efc2e89d9cfc7befa7f20f584f3f0b12f487 Mon Sep 17 00:00:00 2001 From: Andreas Politz Date: Fri, 29 Nov 2013 05:38:20 +0200 Subject: * doc/lispref/modes.texi (Imenu): Make it clear that sub-alist is the cdr. * lisp/imenu.el (imenu--subalist-p): Don't error on non-conses and allow non-lambda lists as functions. (imenu--in-alist): Don't recurse into non-subalists. (imenu): Don't pass function itself as an argument. Fixes: debbugs:14029 --- doc/lispref/ChangeLog | 5 +++++ doc/lispref/modes.texi | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index ba7fe63a1b5..59e61bbdc74 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-11-29 Andreas Politz + + * modes.texi (Imenu): Make it clear that sub-alist is the cdr + (Bug#14029). + 2013-11-27 Glenn Morris * loading.texi (Library Search): diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index 180fef7241d..dc643bda9c8 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi @@ -2483,7 +2483,7 @@ Selecting a special element performs: A nested sub-alist element looks like this: @example -(@var{menu-title} @var{sub-alist}) +(@var{menu-title} . @var{sub-alist}) @end example It creates the submenu @var{menu-title} specified by @var{sub-alist}. -- cgit v1.2.1 From 1659fa3fbd9c0d644930d4e7c8efb2c2e55467dc Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 29 Nov 2013 13:54:14 -0500 Subject: * doc/emacs/buffers.texi (Icomplete): Rename from Iswitchb and rewrite accordingly. --- doc/emacs/ChangeLog | 5 +++++ doc/emacs/buffers.texi | 54 +++++++++++++++++++++----------------------------- 2 files changed, 28 insertions(+), 31 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index a0d5344641e..6cd432c26ae 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,8 @@ +2013-11-29 Stefan Monnier + + * buffers.texi (Icomplete): Rename from Iswitchb and + rewrite accordingly. + 2013-11-23 Glenn Morris * cmdargs.texi (General Variables): diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi index 2d3ff5b05d8..2fadb7b4910 100644 --- a/doc/emacs/buffers.texi +++ b/doc/emacs/buffers.texi @@ -598,7 +598,7 @@ convenient to switch between buffers. @menu * Uniquify:: Making buffer names unique with directory parts. -* Iswitchb:: Switching between buffers with substrings. +* Icomplete:: Fast minibuffer selection. * Buffer Menus:: Configurable buffer menu. @end menu @@ -641,39 +641,31 @@ buffer names before you type one. But as an experienced user, if you know the rule, you won't have to look. And then you may find that one rule or another is easier for you to remember and apply quickly. -@node Iswitchb -@subsection Switching Between Buffers using Substrings - -@findex iswitchb-mode -@cindex Iswitchb mode -@cindex mode, Iswitchb -@kindex C-x b @r{(Iswitchb mode)} -@kindex C-x 4 b @r{(Iswitchb mode)} -@kindex C-x 5 b @r{(Iswitchb mode)} -@kindex C-x 4 C-o @r{(Iswitchb mode)} - - Iswitchb global minor mode provides convenient switching between -buffers using substrings of their names. It replaces the normal -definitions of @kbd{C-x b}, @kbd{C-x 4 b}, @kbd{C-x 5 b}, and @kbd{C-x -4 C-o} with alternative commands that are somewhat ``smarter''. - - When one of these commands prompts you for a buffer name, you can -type in just a substring of the name you want to choose. As you enter -the substring, Iswitchb mode continuously displays a list of buffers -that match the substring you have typed. - - At any time, you can type @key{RET} to select the first buffer in -the list. So the way to select a particular buffer is to make it the +@node Icomplete +@subsection Fast minibuffer selection + +@findex icomplete-mode +@cindex Icomplete mode + + Icomplete global minor mode provides a convenient way to quickly select an +element among the possible completions in a minibuffer. When enabled, typing +in the minibuffer continuously displays a list of possible completions that +match the string you have typed. + + At any time, you can type @key{C-j} to select the first completion in +the list. So the way to select a particular completion is to make it the first in the list. There are two ways to do this. You can type more -of the buffer name and thus narrow down the list, excluding unwanted -buffers above the desired one. Alternatively, you can use @kbd{C-s} -and @kbd{C-r} to rotate the list until the desired buffer is first. +of the completion name and thus narrow down the list, excluding unwanted +completions above the desired one. Alternatively, you can use @kbd{C-.} +and @kbd{C-,} to rotate the list until the desired buffer is first. - @key{TAB} while entering the buffer name performs completion on the -string you have entered, based on the displayed list of buffers. + @key{M-TAB} will select the first completion in the list, like @key{C-j} but +without exiting the minibuffer, so you can edit it further. This is typically +used when entering a file name, where @key{M-TAB} can be used a few times to +descend in the hierarchy of directories. - To enable Iswitchb mode, type @kbd{M-x iswitchb-mode}, or customize -the variable @code{iswitchb-mode} to @code{t} (@pxref{Easy + To enable Icomplete mode, type @kbd{M-x icomplete-mode}, or customize +the variable @code{icomplete-mode} to @code{t} (@pxref{Easy Customization}). @node Buffer Menus -- cgit v1.2.1 From ba25559eac42de6d061ecda14ac755d4c981f48b Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Fri, 29 Nov 2013 11:55:31 -0800 Subject: Update main menu for previous buffers.texi change --- doc/emacs/emacs.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 0968c629ec3..8d502645b3a 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -502,7 +502,7 @@ Using Multiple Buffers Convenience Features and Customization of Buffer Handling * Uniquify:: Making buffer names unique with directory parts. -* Iswitchb:: Switching between buffers with substrings. +* Icomplete:: Fast minibuffer selection. * Buffer Menus:: Configurable buffer menu. Multiple Windows -- cgit v1.2.1 From 26e4aa7db63a3aa6383a76cdad2f6b1e1108a297 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sat, 30 Nov 2013 10:34:58 -0800 Subject: doc/ distclean rules should remove Makefiles * emacs/Makefile.in (distclean): * lispintro/Makefile.in (distclean): * lispref/Makefile.in (distclean): * misc/Makefile.in (distclean): Remove Makefile. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/Makefile.in | 1 + doc/lispintro/ChangeLog | 4 ++++ doc/lispintro/Makefile.in | 1 + doc/lispref/ChangeLog | 4 ++++ doc/lispref/Makefile.in | 1 + doc/misc/ChangeLog | 4 ++++ doc/misc/Makefile.in | 2 +- 8 files changed, 20 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 6cd432c26ae..cf37ab25199 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-11-30 Glenn Morris + + * Makefile.in (distclean): Remove Makefile. + 2013-11-29 Stefan Monnier * buffers.texi (Icomplete): Rename from Iswitchb and diff --git a/doc/emacs/Makefile.in b/doc/emacs/Makefile.in index 9c4a90db4aa..527b2f7a77d 100644 --- a/doc/emacs/Makefile.in +++ b/doc/emacs/Makefile.in @@ -196,6 +196,7 @@ clean: mostlyclean rm -f emacs-manual-${version}.tar* distclean: clean + rm -f Makefile ## In the standalone tarfile, the clean rule runs this. infoclean: diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index 2e6164968c3..f1900bc9d6d 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -1,3 +1,7 @@ +2013-11-30 Glenn Morris + + * Makefile.in (distclean): Remove Makefile. + 2013-10-23 Glenn Morris * Makefile.in (install-dvi, install-html, install-pdf) diff --git a/doc/lispintro/Makefile.in b/doc/lispintro/Makefile.in index 9a643c004ed..9fca51861dc 100644 --- a/doc/lispintro/Makefile.in +++ b/doc/lispintro/Makefile.in @@ -113,6 +113,7 @@ clean: mostlyclean rm -f emacs-lispintro-${version}.tar* distclean: clean + rm -f Makefile infoclean: -cd $(buildinfodir) && rm -f eintr$(INFO_EXT) eintr$(INFO_EXT)-[1-9] diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 59e61bbdc74..cd94a72f77d 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-11-30 Glenn Morris + + * Makefile.in (distclean): Remove Makefile. + 2013-11-29 Andreas Politz * modes.texi (Imenu): Make it clear that sub-alist is the cdr diff --git a/doc/lispref/Makefile.in b/doc/lispref/Makefile.in index e2cc9ac088a..d7348754657 100644 --- a/doc/lispref/Makefile.in +++ b/doc/lispref/Makefile.in @@ -169,6 +169,7 @@ clean: mostlyclean rm -f emacs-lispref-${version}.tar* distclean: clean + rm -f Makefile infoclean: -cd $(buildinfodir) && rm -f elisp$(INFO_EXT) elisp$(INFO_EXT)-[1-9] elisp$(INFO_EXT)-[1-9][0-9] diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index f2254f912da..9b2be001777 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2013-11-30 Glenn Morris + + * Makefile.in (distclean): Remove Makefile. + 2013-11-20 era eriksson * ses.texi (Quick Tutorial): New chapter. (Bug#14748) diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index f43520e97a4..70fb05e23e3 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in @@ -842,7 +842,7 @@ clean: mostlyclean rm -f emacs-misc-${version}.tar* distclean: clean -# rm -f Makefile + rm -f Makefile ## buildinfodir is relative to srcdir. infoclean: -- cgit v1.2.1 From 29bacfa95849ccc7f60e490d5207671412b1f2bd Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 2 Dec 2013 09:55:40 -0800 Subject: * emacs-lisp-intro.texi (Counting Words): Don't use ':' in xref titles, as this isn't supported by Texinfo. --- doc/lispintro/ChangeLog | 5 +++++ doc/lispintro/emacs-lisp-intro.texi | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index f1900bc9d6d..f9cdeda17b6 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -1,3 +1,8 @@ +2013-12-02 Paul Eggert + + * emacs-lisp-intro.texi (Counting Words): Don't use ':' in xref + titles, as this isn't supported by Texinfo. + 2013-11-30 Glenn Morris * Makefile.in (distclean): Remove Makefile. diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 84c9d905487..d05cf3ec866 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -13544,7 +13544,7 @@ regexps. @xref{the-the, , @code{the-the} Duplicated Words Function}. @end itemize @node Counting Words -@chapter Counting: Repetition and Regexps +@chapter Counting via Repetition and Regexps @cindex Repetition for word counting @cindex Regular expressions for word counting @@ -14428,7 +14428,7 @@ exclamation mark, and question mark. Do the same using recursion. Our next project is to count the number of words in a function definition. Clearly, this can be done using some variant of -@code{@value{COUNT-WORDS}}. @xref{Counting Words, , Counting Words: +@code{@value{COUNT-WORDS}}. @xref{Counting Words, , Counting via Repetition and Regexps}. If we are just going to count the words in one definition, it is easy enough to mark the definition with the @kbd{C-M-h} (@code{mark-defun}) command, and then call @@ -15602,7 +15602,7 @@ Let's write a function definition to do these tasks. We will use a directory, checking what needs to be done; and we will use a recursive call to repeat the actions on each sub-directory. The recursive pattern is `accumulate' -(@pxref{Accumulate, , Recursive Pattern: @emph{accumulate}}), +(@pxref{Accumulate}), using @code{append} as the combiner. @ignore -- cgit v1.2.1 From 9139632a34c396ccd1677e86f3e4e870c025b2e3 Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Tue, 3 Dec 2013 03:19:24 +0200 Subject: * lisp/window.el (display-buffer-no-window): New action function. (display-buffer-alist, display-buffer): Doc fix. (Bug#13594) * lisp/simple.el (shell-command): Add window alist entry `allow-no-window' to `display-buffer'. (async-shell-command): Doc fix. * lisp/progmodes/compile.el (compilation-start): Rename window alist entry `no-display-ok' to `allow-no-window'. * doc/lispref/windows.texi (Choosing Window): Rename `no-display-ok' to `allow-no-window'. --- doc/lispref/ChangeLog | 5 +++++ doc/lispref/windows.texi | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index cd94a72f77d..92335dc616d 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-12-03 Juri Linkov + + * windows.texi (Choosing Window): Rename `no-display-ok' to + `allow-no-window'. (Bug#13594) + 2013-11-30 Glenn Morris * Makefile.in (distclean): Remove Makefile. diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi index 8f592dfebb3..661860025f3 100644 --- a/doc/lispref/windows.texi +++ b/doc/lispref/windows.texi @@ -1843,9 +1843,9 @@ The constant @code{display-buffer-fallback-action}. Each action function is called in turn, passing the buffer as the first argument and the combined action alist as the second argument, until one of the functions returns non-@code{nil}. The caller can -pass @code{(no-display-ok . t)} as an element of the action alist to +pass @code{(allow-no-window . t)} as an element of the action alist to indicate its readiness to handle the case of not displaying the -buffer. +buffer in a window. The argument @var{action} can also have a non-@code{nil}, non-list value. This has the special meaning that the buffer should be -- cgit v1.2.1 From c085e5b909ea10f8e593f35f2d4a57df147c0591 Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Wed, 4 Dec 2013 02:12:02 +0200 Subject: * lisp/isearch.el (isearch-mode, isearch-done): Don't set arg LOCAL in add-hook and remove-hook for multi-buffer search. * doc/lispref/searching.texi (Search and Replace): Fix `unread-command-events' and add ref. Fixes: debbugs:16035 --- doc/lispref/ChangeLog | 5 +++++ doc/lispref/searching.texi | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 92335dc616d..f4f036f33ad 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-12-04 Juri Linkov + + * searching.texi (Search and Replace): Fix `unread-command-events' + and add ref. + 2013-12-03 Juri Linkov * windows.texi (Choosing Window): Rename `no-display-ok' to diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi index 15aa23f77ea..a5bd5ab719b 100644 --- a/doc/lispref/searching.texi +++ b/doc/lispref/searching.texi @@ -1770,10 +1770,9 @@ Do not take action for this question---in other words, ``no''. Answer this question ``no'', and give up on the entire series of questions, assuming that the answers will be ``no''. -@c FIXME: Document ‘unread-comment-events’? --xfq @item exit-prefix Like @code{exit}, but add the key that was pressed to -@code{unread-comment-events}. +@code{unread-command-events} (@pxref{Event Input Misc}). @item act-and-exit Answer this question ``yes'', and give up on the entire series of -- cgit v1.2.1 From 543dd9697c601a27b95e15630c1311a503c0552d Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Thu, 5 Dec 2013 16:34:30 +0100 Subject: * dbus.texi (Type Conversion): Clarify unibyte-ness of strings. --- doc/misc/ChangeLog | 4 ++++ doc/misc/dbus.texi | 31 +++++++++++++++++++++---------- 2 files changed, 25 insertions(+), 10 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 9b2be001777..bc1c83d39d6 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2013-12-05 Michael Albinus + + * dbus.texi (Type Conversion): Clarify unibyte-ness of strings. + 2013-11-30 Glenn Morris * Makefile.in (distclean): Remove Makefile. diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi index 52c3c883cc8..1e887e02a30 100644 --- a/doc/misc/dbus.texi +++ b/doc/misc/dbus.texi @@ -1138,10 +1138,11 @@ The signal @code{PropertyModified}, discussed as example in (@var{INTEGER} ((@var{STRING} @var{BOOL} @var{BOOL}) (@var{STRING} @var{BOOL} @var{BOOL}) @dots{})) @end lisp -@defun dbus-byte-array-to-string byte-array +@defun dbus-byte-array-to-string byte-array &optional multibyte If a D-Bus method or signal returns an array of bytes, which are known to represent an UTF8 string, this function converts @var{byte-array} -to the corresponding string. Example: +to the corresponding string. The string is unibyte encoded, unless +@var{multibyte} is non-@code{nil}. Example: @lisp (dbus-byte-array-to-string '(47 101 116 99 47 104 111 115 116 115)) @@ -1151,20 +1152,30 @@ to the corresponding string. Example: @end defun @defun dbus-unescape-from-identifier string -Retrieve the original string from the encoded @var{string}. -@var{string} must have been coded with +Retrieve the original string from the encoded @var{string} as unibyte +string. @var{string} must have been encoded with @code{dbus-escape-as-identifier}. Example: @lisp (dbus-unescape-from-identifier "_30123abc_5fxyz_01_ff") -@ifinfo -@result{} "0123abc_xyz^Aÿ" -@end ifinfo -@ifnotinfo -@result{} "0123abc_xyz^A@"y" -@end ifnotinfo +@result{} "0123abc_xyz\x01\xff" @end lisp + +If the original string used in @code{dbus-escape-as-identifier} is a +multibyte string, it cannot be expected that this function returns +that string: + +@lisp +(string-equal + (dbus-unescape-from-identifier + (dbus-escape-as-identifier "Grüß Göttin")) + "Grüß Göttin") + +@result{} nil +@end lisp + + @end defun -- cgit v1.2.1 From 73d3db828e8149847b3666acbc38f94898ac15a9 Mon Sep 17 00:00:00 2001 From: Bastien Guerry Date: Fri, 6 Dec 2013 12:21:31 +0100 Subject: Merge Org 8.2.4 --- doc/misc/ChangeLog | 9 +++++++++ doc/misc/org.texi | 15 ++++++++------- 2 files changed, 17 insertions(+), 7 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index bc1c83d39d6..6e427fa24b0 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,12 @@ +2013-12-06 Nicolas Goaziou + + * org.texi (Creating one-off styles): Use new export snippet + syntax. + + * org.texi (Export settings): documentation describing how text + above the first heading is ignored when an :export: tag is in a + file. + 2013-12-05 Michael Albinus * dbus.texi (Type Conversion): Clarify unibyte-ness of strings. diff --git a/doc/misc/org.texi b/doc/misc/org.texi index 5c416b65d77..9ebbb0a6295 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi @@ -2,7 +2,7 @@ @c %**start of header @setfilename ../../info/org @settitle The Org Manual -@set VERSION 8.2.3 (GNU Emacs 24.3) +@set VERSION 8.2.4 (GNU Emacs 24.3) @c Use proper quote and backtick for code sections in PDF output @c Cf. Texinfo manual 14.2 @@ -10518,7 +10518,8 @@ clocktable. The tags that select a tree for export (@code{org-export-select-tags}). The default value is @code{:export:}. Within a subtree tagged with @code{:export:}, you can still exclude entries with @code{:noexport:} (see -below). +below). When headlines are selectively exported with @code{:export:} +anywhere in a file, text before the first headline is ignored. @item EXCLUDE_TAGS The tags that exclude a tree from export (@code{org-export-exclude-tags}). @@ -12542,13 +12543,13 @@ file. The use of this feature is better illustrated with couple of examples. @enumerate @item Embedding ODT tags as part of regular text -You can include simple OpenDocument tags by prefixing them with -@samp{@@}. For example, to highlight a region of text do the following: +You can inline OpenDocument syntax by enclosing it within +@samp{@@@@odt:...@@@@} markup. For example, to highlight a region of text do +the following: @example -@@This is a -highlighted text@@. But this is a -regular text. +@@@@odt:This is a highlighted +text@@@@. But this is a regular text. @end example @strong{Hint:} To see the above example in action, edit your -- cgit v1.2.1 From ed72f323bfd7697517171b2a6079fb5da20d8b22 Mon Sep 17 00:00:00 2001 From: Bastien Guerry Date: Fri, 6 Dec 2013 15:43:10 +0100 Subject: org.texi: Don't include Emacs version within Org's version Thanks to Glenn for reporting this. --- doc/misc/ChangeLog | 4 ++++ doc/misc/org.texi | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 6e427fa24b0..5a7b301d5b0 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2013-12-06 Bastien Guerry + + * org.texi: Don't include Emacs version within Org's version. + 2013-12-06 Nicolas Goaziou * org.texi (Creating one-off styles): Use new export snippet diff --git a/doc/misc/org.texi b/doc/misc/org.texi index 9ebbb0a6295..015b519df6c 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi @@ -2,7 +2,7 @@ @c %**start of header @setfilename ../../info/org @settitle The Org Manual -@set VERSION 8.2.4 (GNU Emacs 24.3) +@set VERSION 8.2.4 @c Use proper quote and backtick for code sections in PDF output @c Cf. Texinfo manual 14.2 -- cgit v1.2.1 From 7df14908a304c99289eaa314987f65565f94f4df Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sat, 7 Dec 2013 18:51:33 +0200 Subject: Updated documentation. --- doc/emacs/mule.texi | 15 +++++++++++++++ doc/lispref/nonascii.texi | 10 ++++++++++ 2 files changed, 25 insertions(+) (limited to 'doc') diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi index ebddc46be94..6efbc2b7190 100644 --- a/doc/emacs/mule.texi +++ b/doc/emacs/mule.texi @@ -1130,6 +1130,21 @@ In the default language environment, non-@acronym{ASCII} characters in file names are not encoded specially; they appear in the file system using the internal Emacs representation. +@cindex file-name encoding, MS-Windows +@vindex w32-unicode-filenames + When Emacs runs on MS-Windows versions that are descendants of the +NT family (Windows 2000, XP, Vista, Windows 7, and Windows 8), the +value of @code{file-name-coding-system} is largely ignored, as Emacs +by default uses APIs that allow to pass Unicode file names directly. +By contrast, on Windows 9X, file names are encoded using +@code{file-name-coding-system}, which should be set to the codepage +(@pxref{Coding Systems, codepage}) pertinent for the current system +locale. The value of the variable @code{w32-unicode-filenames} +controls whether Emacs uses the Unicode APIs when it calls OS +functions that accept file names. This variable is set by the startup +code to @code{nil} on Windows 9X, and to @code{t} on newer versions of +MS-Windows. + @strong{Warning:} if you change @code{file-name-coding-system} (or the language environment) in the middle of an Emacs session, problems can result if you have already visited files whose names were encoded using diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index 96adb629f37..4132c1f8de0 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -1108,6 +1108,16 @@ visited file name, saving may use the wrong file name, or it may get an error. If such a problem happens, use @kbd{C-x C-w} to specify a new file name for that buffer. +@cindex file-name encoding, MS-Windows + On Windows 2000 and later, Emacs by default uses Unicode APIs to +pass file names to the OS, so the value of +@code{file-name-coding-system} is largely ignored. Lisp applications +that need to encode or decode file names on the Lisp level should use +@code{utf-8} coding-system when @code{system-type} is +@code{windows-nt}; the conversion of UTF-8 encoded file names to the +encoding appropriate for communicating with the OS is performed +internally by Emacs. + @node Lisp and Coding Systems @subsection Coding Systems in Lisp -- cgit v1.2.1 From 36291308801eefe5c04280c32d4b247bf7aa984e Mon Sep 17 00:00:00 2001 From: Juanma Barranquero Date: Sun, 8 Dec 2013 16:33:27 +0100 Subject: Fix typos in doc files (bug#16089). * emacs/msdog.texi (Windows Keyboard): Fix typo. * lispref/display.texi (Progress, Face Remapping): * lispref/processes.texi (Serial Ports): * lispref/windows.texi (Recombining Windows): Fix typos. * misc/dbus.texi (Properties and Annotations): Fix typo. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/msdog.texi | 2 +- doc/lispref/ChangeLog | 6 ++++++ doc/lispref/display.texi | 4 ++-- doc/lispref/processes.texi | 2 +- doc/lispref/windows.texi | 2 +- doc/misc/ChangeLog | 4 ++++ doc/misc/dbus.texi | 2 +- 8 files changed, 20 insertions(+), 6 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index cf37ab25199..5da37003152 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-12-08 Juanma Barranquero + + * msdog.texi (Windows Keyboard): Fix typo. + 2013-11-30 Glenn Morris * Makefile.in (distclean): Remove Makefile. diff --git a/doc/emacs/msdog.texi b/doc/emacs/msdog.texi index 0f01958b51c..5fbf2e45e4a 100644 --- a/doc/emacs/msdog.texi +++ b/doc/emacs/msdog.texi @@ -482,7 +482,7 @@ the variable @code{w32-alt-is-meta} to a @code{nil} value. @kbd{Alt-@key{TAB}}, for its own use. These key combinations are intercepted by the system before Emacs can see them. You can use the @code{w32-register-hot-key} function to allow a key sequence to be -seen by Emacs instead of being grabbed by Windows. This functions +seen by Emacs instead of being grabbed by Windows. This function registers a key sequence as a @dfn{hot key}, overriding the special meaning of that key sequence for Windows. (MS-Windows is told that the key sequence is a hot key only when one of the Emacs windows has diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index f4f036f33ad..d2173793d00 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,9 @@ +2013-12-08 Juanma Barranquero + + * display.texi (Progress, Face Remapping): + * processes.texi (Serial Ports): + * windows.texi (Recombining Windows): Fix typos. (Bug#16089) + 2013-12-04 Juri Linkov * searching.texi (Search and Replace): Fix `unread-command-events' diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index eeede08ecd9..c6eeaf9c6a8 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -439,7 +439,7 @@ that it prints a message in the echo area unconditionally. The first two arguments have the same meaning as for @code{progress-reporter-update}. Optional @var{new-message} allows -you to change the message of the @var{reporter}. Since this functions +you to change the message of the @var{reporter}. Since this function always updates the echo area, such a change will be immediately presented to the user. @end defun @@ -2683,7 +2683,7 @@ and @code{face-remap-reset-base} functions; it is intended for major modes to remap faces in the buffers they control. @defun face-remap-add-relative face &rest specs -This functions adds the face spec in @var{specs} as relative +This function adds the face spec in @var{specs} as relative remappings for face @var{face} in the current buffer. The remaining arguments, @var{specs}, should form either a list of face names, or a property list of attribute/value pairs. diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi index 1181244a974..880d5fff598 100644 --- a/doc/lispref/processes.texi +++ b/doc/lispref/processes.texi @@ -2613,7 +2613,7 @@ Here is an example: @cindex stopbits, in serial connections @cindex flowcontrol, in serial connections -This functions configures a serial port connection. Arguments are +This function configures a serial port connection. Arguments are specified as keyword/argument pairs. Attributes that are not given are re-initialized from the process's current configuration (available via the function @code{process-contact}), or set to reasonable default diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi index 661860025f3..673351005fb 100644 --- a/doc/lispref/windows.texi +++ b/doc/lispref/windows.texi @@ -1164,7 +1164,7 @@ vertical combination @var{W1}. @cindex window combination limit @defun set-window-combination-limit window limit -This functions sets the @dfn{combination limit} of the window +This function sets the @dfn{combination limit} of the window @var{window} to @var{limit}. This value can be retrieved via the function @code{window-combination-limit}. See below for its effects; note that it is only meaningful for internal windows. The diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 5a7b301d5b0..83e681990aa 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2013-12-08 Juanma Barranquero + + * dbus.texi (Properties and Annotations): Fix typo. + 2013-12-06 Bastien Guerry * org.texi: Don't include Emacs version within Org's version. diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi index 1e887e02a30..a6155e2e724 100644 --- a/doc/misc/dbus.texi +++ b/doc/misc/dbus.texi @@ -760,7 +760,7 @@ If there are no properties, @code{nil} is returned. Example: @end defun @defun dbus-get-all-managed-objects bus service path -This functions returns all objects at @var{bus}, @var{service}, +This function returns all objects at @var{bus}, @var{service}, @var{path}, and the children of @var{path}. The result is a list of objects. Every object is a cons of an existing path name, and the list of available interface objects. An interface object is another -- cgit v1.2.1 From ed4bc201f5015aa6c4c901eca9e33036e21fdb65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Wed, 11 Dec 2013 14:50:46 +0100 Subject: Import `octave-mode' manual from GNU Octave. The manual was written by Kurt Hornik. He agreed to assign the copyright for it to the FSF. I have updated and modified the manual. * doc/misc/octave-mode.texi: Imported from GNU Octave (doc/interpreter/emacs.txi). * doc/misc/Makefile.in: Add octave-mode.texi. * lisp/progmodes/octave.el (octave-mode, inferior-octave-mode): Link to info manual and show keybindings and set `:group' keyword. --- doc/misc/Makefile.in | 14 +- doc/misc/octave-mode.texi | 477 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 490 insertions(+), 1 deletion(-) create mode 100644 doc/misc/octave-mode.texi (limited to 'doc') diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index 70fb05e23e3..4c72aaa18ff 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in @@ -67,7 +67,7 @@ INFO_COMMON = ada-mode auth autotype bovine calc ccmode cl \ dbus dired-x ebrowse ede ediff edt eieio \ emacs-mime epa erc ert eshell eudc efaq \ flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info \ - mairix-el message mh-e newsticker nxml-mode \ + mairix-el message mh-e newsticker nxml-mode octave-mode \ org pcl-cvs pgg rcirc remember reftex sasl \ sc semantic ses sieve smtpmail speedbar srecode todo-mode tramp \ url vip viper widget wisent woman @@ -564,6 +564,18 @@ nxml-mode.pdf: $(nxml_mode_deps) nxml-mode.html: $(nxml_mode_deps) $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/nxml-mode.texi +octave_mode_deps = ${srcdir}/octave-mode.texi ${gfdl} +octave-mode : $(buildinfodir)/octave-mode$(INFO_EXT) +$(buildinfodir)/octave-mode$(INFO_EXT): $(octave_mode_deps) + $(mkinfodir) + $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/octave-mode.texi +octave-mode.dvi: $(octave_mode_deps) + $(ENVADD) $(TEXI2DVI) ${srcdir}/octave-mode.texi +octave-mode.pdf: $(octave_mode_deps) + $(ENVADD) $(TEXI2PDF) ${srcdir}/octave-mode.texi +octave-mode.html: $(octave_mode_deps) + $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/octave-mode.texi + org_deps = ${srcdir}/org.texi ${gfdl} org : $(buildinfodir)/org$(INFO_EXT) $(buildinfodir)/org$(INFO_EXT): $(org_deps) diff --git a/doc/misc/octave-mode.texi b/doc/misc/octave-mode.texi new file mode 100644 index 00000000000..2efe9f9d1c4 --- /dev/null +++ b/doc/misc/octave-mode.texi @@ -0,0 +1,477 @@ +\input texinfo @c -*-texinfo-*- +@c %**start of header +@setfilename ../../info/octave-mode +@settitle Octave Mode +@c %**end of header + +@copying +Copyright @copyright{} 1996--2013 Free Software Foundation, Inc. + +@quotation +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with no +Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +and with the Back-Cover Texts as in (a) below. A copy of the license +is included in the section entitled ``GNU Free Documentation License.'' + +(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and +modify this GNU manual.'' +@end quotation +@end copying + +@dircategory Emacs editing modes +@direntry +* Octave mode: (octave-mode). Emacs mode for editing GNU Octave files. +@end direntry + +@finalout + +@titlepage +@title Octave Mode +@subtitle An Emacs mode for programming in GNU Octave + +@page +@vskip 0pt plus 1filll +@insertcopying +@end titlepage + +@contents + +@ifnottex +@node Top +@top Octave Mode + +@insertcopying +@end ifnottex + +@menu +* Overview:: +* Using Octave Mode:: +* Running Octave from Within Emacs:: +* GNU Free Documentation License:: +* Key Index:: +* Variable Index:: +* Lisp Function Index:: +* Concept Index:: +@end menu + +@node Overview +@chapter Overview + +The development of Octave code can greatly be facilitated using Emacs +with Octave mode, a major mode for editing Octave files which can +e.g.@: automatically indent the code, do some of the typing (with +Abbrev mode) and show keywords, comments, strings, etc.@: in different +faces (with Font-lock mode on devices that support it). + +It is also possible to run Octave from within Emacs, either by +directly entering commands at the prompt in a buffer in Inferior +Octave mode, or by interacting with Octave from within a file with +Octave code. This is useful in particular for debugging Octave code. + +@node Using Octave Mode +@chapter Using Octave Mode +@cindex Using Octave Mode + +In Octave mode, the following special Emacs commands can be used in +addition to the standard Emacs commands. + +@table @kbd +@item C-M-j +@kindex C-M-j +@findex octave-indent-new-comment-line +@vindex octave-continuation-string +Break Octave line at point, continuing comment if within one. Insert +@code{octave-continuation-string} before breaking the line unless +inside a list. Signal an error if within a single-quoted string. + +@item C-c ; +@kindex C-c ; +@findex octave-update-function-file-comment +Query replace function names in function file comment. + +@item C-c C-p +@kindex C-c C-p +@findex octave-previous-code-line +Move one line of Octave code backward, skipping empty and comment +lines (@code{octave-previous-code-line}). With numeric prefix +argument @var{n}, move that many code lines backward (forward if +@var{n} is negative). + +@item C-c C-n +@kindex C-c C-n +@findex octave-next-code-line +Move one line of Octave code forward, skipping empty and comment lines +(@code{octave-next-code-line}). With numeric prefix argument @var{n}, +move that many code lines forward (backward if @var{n} is negative). + +@item C-c C-a +@kindex C-c C-a +@findex octave-beginning-of-line +Move to the beginning of the physical line +(@code{octave-beginning-of-line}). If point is in an empty or comment +line, simply go to its beginning; otherwise, move backwards to the +beginning of the first code line which is not inside a continuation +statement, i.e., which does not follow a code line ending in +@samp{...} or @samp{\}, or is inside an open parenthesis list. + +@item C-c C-e +@kindex C-c C-e +@findex octave-end-of-line +Move to the end of the physical line (@code{octave-end-of-line}). If +point is in a code line, move forward to the end of the first Octave +code line which does not end in @samp{...} or @samp{\} or is inside an +open parenthesis list. Otherwise, simply go to the end of the current +line. + +@item C-c M-C-h +@kindex C-c M-C-h +@findex octave-mark-block +Put point at the beginning of this block, mark at the end +(@code{octave-mark-block}). The block marked is the one that contains +point or follows point. + +@item C-c ] +@kindex C-c ] +Close the current block on a separate line (@code{smie-close-block}). +An error is signaled if no block to close is found. + +@item C-c C-f +@kindex C-c C-f +@findex octave-insert-defun +Insert a function skeleton, prompting for the function's name, arguments +and return values which have to be entered without parentheses +(@code{octave-insert-defun}). +@noindent +in one of your Emacs startup files. +@end table + +A common problem is that the @key{RET} key does @emph{not} indent the +line to where the new text should go after inserting the newline. This +is because the standard Emacs convention is that @key{RET} (aka +@kbd{C-m}) just adds a newline, whereas @key{LFD} (aka @kbd{C-j}) adds a +newline and indents it. This is particularly inconvenient for users with +keyboards which do not have a special @key{LFD} key at all; in such +cases, it is typically more convenient to use @key{RET} as the @key{LFD} +key (rather than typing @kbd{C-j}). + +You can make @key{RET} do this by adding +@lisp +(define-key octave-mode-map "\C-m" + 'octave-reindent-then-newline-and-indent) +@end lisp +@noindent +to one of your Emacs startup files. Another, more generally applicable +solution is +@lisp +(defun RET-behaves-as-LFD () + (let ((x (key-binding "\C-j"))) + (local-set-key "\C-m" x))) +(add-hook 'octave-mode-hook 'RET-behaves-as-LFD) +@end lisp +@noindent +(this works for all modes by adding to the startup hooks, without +having to know the particular binding of @key{RET} in that mode!). +Similar considerations apply for using @key{M-RET} as @key{M-LFD}. As +@email{bwarsaw@@cnri.reston.va.us, Barry A. Warsaw} says in the +documentation for his @code{cc-mode}, ``This is a very common +question. @code{:-)} If you want this to be the default behavior, +don't lobby me, lobby RMS!'' + +The following variables can be used to customize Octave mode. + +@vtable @code +@item octave-blink-matching-block +Non-@code{nil} means show matching begin of block when inserting a space, +newline or @samp{;} after an else or end keyword. Default is @code{t}. +This is an extremely useful feature for automatically verifying that the +keywords match---if they don't, an error message is displayed. + +@item octave-block-offset +Extra indentation applied to statements in block structures. +Default is 2. + +@item octave-continuation-offset +Extra indentation applied to Octave continuation lines. +Default is 4. + +@item octave-font-lock-texinfo-comment +Highlight texinfo comment blocks. The default value is @code{t}. +@end vtable + +If Font Lock mode is enabled, Octave mode will display + +@itemize @bullet +@item +strings in @code{font-lock-string-face} + +@item +comments in @code{font-lock-comment-face} + +@item +the Octave reserved words (such as all block keywords) and the text +functions (such as @samp{cd} or @samp{who}) which are also reserved +using @code{font-lock-keyword-face} + +@item +the built-in operators (@samp{&&}, @samp{==}, @dots{}) using +@code{font-lock-reference-face} + +@item +and the function names in function declarations in +@code{font-lock-function-name-face}. + +@item +Function comments blocks in @code{octave-function-comment-block} +@end itemize + +@cindex Imenu Support +There is also rudimentary support for Imenu (@pxref{Imenu,,, emacs, +The GNU Emacs Manual}). Currently, function names can be indexed. + +@cindex ElDoc Mode Support +@vindex octave-eldoc-message-style +ElDoc mode (@pxref{Lisp Doc,,, emacs, The GNU Emacs Manual}) is +supported. By customizing @code{octave-eldoc-message-style} it can be +changed from displaying one or multi line hints. + +@c @cindex TAGS +@c @cindex Emacs TAGS files +@c @cindex @file{octave-tags} +@c You can generate TAGS files for Emacs from Octave @file{.m} files using +@c the shell script @file{octave-tags} that is installed alongside your copy of +@c Octave. +@c +@vindex octave-mode-hook +Customization of Octave mode can be performed by modification of the +variable @code{octave-mode-hook}. + +@node Running Octave from Within Emacs +@chapter Running Octave from Within Emacs +@cindex Inferior Octave Mode + +Octave mode provides commands for running an inferior +Octave process in a special Emacs buffer. Use +@lisp +M-x run-octave +@end lisp +@noindent +to directly start an inferior Octave process. + +@vindex inferior-octave-buffer +This will start Octave in a special buffer the name of which is +specified by the variable @code{inferior-octave-buffer} and defaults +to @file{*Inferior Octave*}. From within this buffer, you can +interact with the inferior Octave process `as usual', i.e., by +entering Octave commands at the prompt. The buffer is in Inferior +Octave mode, which is derived from the standard Comint mode, a major +mode for interacting with an inferior interpreter. See the +documentation for @code{comint-mode} for more details, and use +@kbd{C-h b} to find out about available special keybindings. + +You can also communicate with an inferior Octave process from within +files with Octave code (i.e., buffers in Octave mode), using the +following commands. + +@table @kbd +@item C-c C-i l +@kindex C-c C-i l +@findex octave-send-line +@vindex octave-send-line-auto-forward +Send the current line to the inferior Octave process +(@code{octave-send-line}). With positive prefix argument @var{n}, +send that many lines. If @code{octave-send-line-auto-forward} is +non-@code{nil}, go to the next unsent code line. + +@item C-c C-i b +@kindex C-c C-i b +@findex octave-send-block +Send the current block to the inferior Octave process +(@code{octave-send-block}). + +@item C-c C-i f +@kindex C-c C-i f +@findex octave-send-defun +Send the current function to the inferior Octave process +(@code{octave-send-defun}). + +@item C-c C-i r +@kindex C-c C-i r +@findex octave-send-region +Send the region to the inferior Octave process +(@code{octave-send-region}). + +@item C-c C-i a +@kindex C-c C-i a +@findex octave-send-buffer +Send the entire buffer to the inferior Octave process +(@code{octave-send-buffer}). If the buffer is associated with a file +then sourcing the buffer by using @kbd{C-c C-l} +(@code{octave-source-file}) should be preferred. + +@item C-c C-i s +@kindex C-c C-i s +@findex octave-show-process-buffer +Make sure that `inferior-octave-buffer' is displayed +(@code{octave-show-process-buffer}). + +@item C-c C-i q +@kindex C-c C-i q +@findex octave-hide-process-buffer +Delete all windows that display the inferior Octave buffer +(@code{octave-hide-process-buffer}). + +@item C-c C-i k +@kindex C-c C-i k +@findex octave-kill-process +Kill the inferior Octave process and its buffer +(@code{octave-kill-process}). + +@item C-c C-l +@kindex C-c C-l +@findex octave-source-file +Parse and execute the current file in the inferior Octave buffer +(@code{octave-source-file}). This is done using Octave's +@code{source} function. + +@item M-. +@kindex M-. +@findex octave-find-definition +@vindex octave-source-directories +Find the definition of a function or variable. Functions implemented +in C++ can be found if variable @code{octave-source-directories} is +set correctly (@code{octave-find-definition}). + +@item C-h d +@kindex C-h d +@findex octave-help +@vindex octave-help-buffer +Display the documentation for function (@code{octave-help}). The +buffer name can be changed by customizing @code{octave-help-buffer}. + +@item C-h a +@kindex C-h a +@findex octave-lookfor +Search for a given string in all the first sentence of function help +strings (@code{octave-lookfor}). With a @code{universal-argument} the +entire help string is searched. + +@end table + +The effect of the commands which send code to the Octave process can be +customized by the following variables. + +@vtable @code +@item octave-send-echo-input +Non-@code{nil} means echo input sent to the inferior Octave process. +Default is @code{t}. + +@item octave-send-show-buffer +Non-@code{nil} means display the buffer running the Octave process after +sending a command (but without selecting it). +Default is @code{t}. +@end vtable + +If you send code and there is no inferior Octave process yet, it will +be started automatically. + +@vindex inferior-octave-startup-args +The startup of the inferior Octave process is highly customizable. +The variable @code{inferior-octave-startup-args} can be used for +specifying command lines arguments to be passed to Octave on startup +as a list of strings. For example, to suppress the startup message +and use `traditional' mode, set this to @code{("-q" "--traditional")}. +You can also specify a startup file of Octave commands to be loaded on +startup; note that these commands will not produce any visible output +in the process buffer. Which file to use is controlled by the +variable @code{inferior-octave-startup-file}. The default is +@file{~/.emacs-octave} or if this file is not found +@file{~/.emacs.d/init_octave.m}. + +@vindex inferior-octave-prompt-read-only +By customizing @code{inferior-octave-prompt-read-only} the prompt can +be changed to be read only. The default value is the same as +@code{comint-prompt-read-only}. + +@vindex inferior-octave-mode-hook +And finally, @code{inferior-octave-mode-hook} is run after starting +the process and putting its buffer into Inferior Octave mode. Hence, +if you like the up and down arrow keys to behave in the interaction +buffer as in the shell, and you want this buffer to use nice colors, +add +@lisp +(add-hook 'inferior-octave-mode-hook + (lambda () + (define-key inferior-octave-mode-map [up] + 'comint-previous-input) + (define-key inferior-octave-mode-map [down] + 'comint-next-input))) +@end lisp +@noindent +to your @file{.emacs} or @file{init.el} file. You could also swap the +roles of @kbd{C-a} (@code{beginning-of-line}) and @code{C-c C-a} +(@code{comint-bol}) using this hook. + +@vindex inferior-octave-prompt +@quotation +@strong{Note} that if you set your Octave prompts to something different +from the defaults, make sure that @code{inferior-octave-prompt} matches +them. Otherwise, @emph{nothing} will work, because Emacs will not know +when Octave is waiting for input, or done sending output. +@end quotation + +@node GNU Free Documentation License +@chapter GNU Free Documentation License +@include doclicense.texi + +@node Key Index +@unnumbered Key Index + +@printindex ky + +@node Variable Index +@unnumbered Variable Index + +@printindex vr + +@node Lisp Function Index +@unnumbered Function Index + +@printindex fn + +@node Concept Index +@unnumbered Concept Index + +@printindex cp + + +@bye + +@c TODO Update + +@c @node Using the Emacs Info Reader for Octave +@c @chapter Using the Emacs Info Reader for Octave + +@c You may also use the Emacs Info reader with Octave's @code{doc} function. + +@c If @file{gnuserv} is installed, add the lines +@c @lisp +@c (autoload 'octave-help "octave-hlp" nil t) +@c (require 'gnuserv) +@c (gnuserv-start) +@c @end lisp +@c @noindent +@c to your @file{.emacs} file. + +@c You can use either `plain' Emacs Info or the function @code{octave-help} +@c as your Octave info reader (for @samp{help -i}). In the former case, +@c use @code{info_program ("info-emacs-info")}. +@c The latter is perhaps more attractive because it allows to look up keys +@c in the indices of @emph{several} info files related to Octave (provided +@c that the Emacs variable @code{octave-help-files} is set correctly). In +@c this case, use @code{info_program ("info-emacs-octave-help")}. + +@c If you use Octave from within Emacs, it is best to add these settings to +@c your @file{~/.emacs-octave} startup file (or the file pointed to by the +@c Emacs variable @code{inferior-octave-startup-file}). -- cgit v1.2.1 From b94b96b2b8684e30e8419216285f806bf9c74cae Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 11 Dec 2013 08:57:40 -0800 Subject: ChangeLog fixes --- doc/misc/ChangeLog | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 83e681990aa..3a8fe5b540d 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,12 @@ +2013-12-11 Rüdiger Sonderfeld + + * Makefile.in: Add octave-mode.texi. + +2013-12-11 Kurt Hornik + Rüdiger Sonderfeld + + * octave-mode.texi: Import from GNU Octave (doc/interpreter/emacs.txi). + 2013-12-08 Juanma Barranquero * dbus.texi (Properties and Annotations): Fix typo. -- cgit v1.2.1 From d5ccb7be025ddc5a6ac8c5291d89596b78d9745c Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Thu, 12 Dec 2013 02:42:16 +0200 Subject: * lisp/uniquify.el (uniquify-buffer-name-style): Change default to `post-forward-angle-brackets'. * lisp/menu-bar.el (menu-bar-options-menu): Don't require preloaded `uniquify'. Change default to `post-forward-angle-brackets'. http://lists.gnu.org/archive/html/emacs-devel/2013-12/msg00317.html --- doc/emacs/buffers.texi | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi index 2fadb7b4910..a62f2bdac8d 100644 --- a/doc/emacs/buffers.texi +++ b/doc/emacs/buffers.texi @@ -614,8 +614,7 @@ names (all but one of them). @vindex uniquify-buffer-name-style Other methods work by adding parts of each file's directory to the -buffer name. To select one, load the library @file{uniquify} (e.g., -using @code{(require 'uniquify)}), and customize the variable +buffer name. To select one, customize the variable @code{uniquify-buffer-name-style} (@pxref{Easy Customization}). To begin with, the @code{forward} naming method includes part of the -- cgit v1.2.1 From f9405d87cdbb4e2072b6c53ee9c5c01ca14d41de Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 11 Dec 2013 19:37:38 -0800 Subject: Add support for auto-generating info/dir * admin/update_autogen: Add option to generate info/dir. (Usage): Add -I. (info_flag): New variable. (-I): New option. (doc): Maybe check its status. (info_dir): New function. * admin/dir_top: New file. * doc/emacs/emacs.texi: * doc/lispintro/emacs-lisp-intro.texi: * doc/lispref/elisp.texi: * doc/misc/autotype.texi, doc/misc/cc-mode.texi, doc/misc/ediff.texi: * doc/misc/ert.texi, doc/misc/htmlfontify.texi, doc/misc/ido.texi: * doc/misc/octave-mode.texi, doc/misc/org.texi, doc/misc/srecode.texi: * doc/misc/todo-mode.texi, doc/misc/tramp.texi: Sync direntry with info/dir version. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/emacs.texi | 2 +- doc/lispintro/ChangeLog | 4 ++++ doc/lispintro/emacs-lisp-intro.texi | 3 +-- doc/lispref/ChangeLog | 4 ++++ doc/lispref/elisp.texi | 2 +- doc/misc/ChangeLog | 7 +++++++ doc/misc/autotype.texi | 4 ++-- doc/misc/cc-mode.texi | 2 +- doc/misc/ediff.texi | 3 ++- doc/misc/ert.texi | 2 +- doc/misc/htmlfontify.texi | 2 +- doc/misc/ido.texi | 4 ++-- doc/misc/octave-mode.texi | 2 +- doc/misc/org.texi | 2 +- doc/misc/srecode.texi | 2 +- doc/misc/todo-mode.texi | 2 +- doc/misc/tramp.texi | 2 +- 18 files changed, 36 insertions(+), 17 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 5da37003152..fa43c3ef53e 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-12-12 Glenn Morris + + * emacs.texi: Sync direntry with info/dir version. + 2013-12-08 Juanma Barranquero * msdog.texi (Windows Keyboard): Fix typo. diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 8d502645b3a..9eb7db9ee82 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -48,7 +48,7 @@ developing GNU and promoting software freedom.'' @dircategory Emacs @direntry -* Emacs: (emacs). The extensible self-documenting text editor. +* Emacs: (emacs). The extensible self-documenting text editor. @end direntry @c in general, keep the following line commented out, unless doing a diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index f9cdeda17b6..b8c2c93bbb6 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -1,3 +1,7 @@ +2013-12-12 Glenn Morris + + * emacs-lisp-intro.texi: Sync direntry with info/dir version. + 2013-12-02 Paul Eggert * emacs-lisp-intro.texi (Counting Words): Don't use ':' in xref diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index d05cf3ec866..0111c58ad82 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -98,8 +98,7 @@ @dircategory GNU Emacs Lisp @direntry -* Emacs Lisp Intro: (eintr). - A simple introduction to Emacs Lisp programming. +* Emacs Lisp Intro: (eintr). A simple introduction to Emacs Lisp programming. @end direntry @copying diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index d2173793d00..c224e523a84 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-12-12 Glenn Morris + + * elisp.texi: Sync direntry with info/dir version. + 2013-12-08 Juanma Barranquero * display.texi (Progress, Face Remapping): diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index 230da1867dd..0e09b1eed2d 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi @@ -119,7 +119,7 @@ developing GNU and promoting software freedom.'' @dircategory GNU Emacs Lisp @direntry -* Elisp: (elisp). The Emacs Lisp Reference Manual. +* Elisp: (elisp). The Emacs Lisp Reference Manual. @end direntry @titlepage diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 3a8fe5b540d..d067631f032 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,10 @@ +2013-12-12 Glenn Morris + + * autotype.texi, cc-mode.texi, ediff.texi, ert.texi: + * htmlfontify.texi, ido.texi, octave-mode.texi, org.texi: + * srecode.texi, todo-mode.texi, tramp.texi: + Sync direntry with info/dir version. + 2013-12-11 Rüdiger Sonderfeld * Makefile.in: Add octave-mode.texi. diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi index 137ed6b43e8..92cd5cdeccd 100644 --- a/doc/misc/autotype.texi +++ b/doc/misc/autotype.texi @@ -28,8 +28,8 @@ modify this GNU manual.'' @dircategory Emacs misc features @direntry -* Autotype: (autotype). Convenient features for text that you - enter frequently in Emacs. +* Autotype: (autotype). Convenient features for text that you enter + frequently in Emacs. @end direntry @titlepage diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi index c62d7026541..7d1baf7bf0c 100644 --- a/doc/misc/cc-mode.texi +++ b/doc/misc/cc-mode.texi @@ -176,7 +176,7 @@ modify this GNU manual.'' @dircategory Emacs editing modes @direntry * CC Mode: (ccmode). Emacs mode for editing C, C++, Objective-C, - Java, Pike, AWK, and CORBA IDL code. + Java, Pike, AWK, and CORBA IDL code. @end direntry @comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! diff --git a/doc/misc/ediff.texi b/doc/misc/ediff.texi index 378eee08c51..bb315fc41ef 100644 --- a/doc/misc/ediff.texi +++ b/doc/misc/ediff.texi @@ -42,7 +42,8 @@ modify this GNU manual.'' @dircategory Emacs misc features @direntry -* Ediff: (ediff). A visual interface for comparing and merging programs. +* Ediff: (ediff). A visual interface for comparing and + merging programs. @end direntry @titlepage diff --git a/doc/misc/ert.texi b/doc/misc/ert.texi index ac87b98eae9..926a02fd1de 100644 --- a/doc/misc/ert.texi +++ b/doc/misc/ert.texi @@ -6,7 +6,7 @@ @dircategory Emacs misc features @direntry -* ERT: (ert). Emacs Lisp regression testing tool. +* ERT: (ert). Emacs Lisp regression testing tool. @end direntry @copying diff --git a/doc/misc/htmlfontify.texi b/doc/misc/htmlfontify.texi index 4bb6a9d6900..9f3b99a1027 100644 --- a/doc/misc/htmlfontify.texi +++ b/doc/misc/htmlfontify.texi @@ -26,7 +26,7 @@ modify this GNU manual.'' @dircategory Emacs misc features @direntry -* Htmlfontify: (htmlfontify). Convert source code to html. +* Htmlfontify: (htmlfontify). Convert source code to html. @end direntry @titlepage diff --git a/doc/misc/ido.texi b/doc/misc/ido.texi index 64885179259..747a9d57d3f 100644 --- a/doc/misc/ido.texi +++ b/doc/misc/ido.texi @@ -21,9 +21,9 @@ modify this GNU manual.'' @end quotation @end copying -@dircategory Emacs lisp libraries +@dircategory Emacs misc features @direntry -* Ido: (ido). Interactively do things with buffers and files. +* Ido: (ido). Interactively do things with buffers and files. @end direntry @finalout diff --git a/doc/misc/octave-mode.texi b/doc/misc/octave-mode.texi index 2efe9f9d1c4..50bb4f11f2a 100644 --- a/doc/misc/octave-mode.texi +++ b/doc/misc/octave-mode.texi @@ -22,7 +22,7 @@ modify this GNU manual.'' @dircategory Emacs editing modes @direntry -* Octave mode: (octave-mode). Emacs mode for editing GNU Octave files. +* Octave mode: (octave-mode). Emacs mode for editing GNU Octave files. @end direntry @finalout diff --git a/doc/misc/org.texi b/doc/misc/org.texi index 015b519df6c..a90f3d4d536 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi @@ -279,7 +279,7 @@ modify this GNU manual.'' @dircategory Emacs editing modes @direntry -* Org Mode: (org). Outline-based notes management and organizer +* Org Mode: (org). Outline-based notes management and organizer. @end direntry @titlepage diff --git a/doc/misc/srecode.texi b/doc/misc/srecode.texi index 2a3cfdf0993..d6cf4d53edc 100644 --- a/doc/misc/srecode.texi +++ b/doc/misc/srecode.texi @@ -32,7 +32,7 @@ modify this GNU manual.'' @dircategory Emacs misc features @direntry -* SRecode: (srecode). Template code generator. +* SRecode: (srecode). Semantic template code generator. @end direntry @titlepage diff --git a/doc/misc/todo-mode.texi b/doc/misc/todo-mode.texi index a622298ba12..4920a9ccc81 100644 --- a/doc/misc/todo-mode.texi +++ b/doc/misc/todo-mode.texi @@ -25,7 +25,7 @@ modify this GNU manual.'' @dircategory Emacs misc features @direntry -* Todo Mode: (todo-mode). Make and maintain todo lists. +* Todo Mode: (todo-mode). Make and maintain todo lists. @end direntry @titlepage diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 2c02891d60f..6168d11b527 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi @@ -84,7 +84,7 @@ copy and modify this GNU manual.'' @dircategory @value{emacsname} network features @direntry * TRAMP: (tramp). Transparent Remote Access, Multiple Protocol - @value{emacsname} remote file access via rsh and rcp. + @value{emacsname} remote file access via rsh and rcp. @end direntry @titlepage -- cgit v1.2.1 From 62bd73fa7a8c50504bc6f916b86603ea654fc472 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 12 Dec 2013 00:54:21 -0800 Subject: Stop keeping info/dir in the repository. * build-aux/dir_top: Move here from admin/. * build-aux/make-info-dir: New script. * Makefile.in (bootstrap-clean): Delete info/. (info-dir, ${srcdir}/info/dir): New rules. (info): Also make info-dir. (check-info): Rename from check-info-dir. Instead of info/dir entries, check @dircategory in info/*.info. * make-dist: Use `info' rule rather than `info-real'. No more info/COPYING (not even the right license for info/ files). * info/: Remove from repository. * admin/update_autogen (info_dir): Use dir_top from build-aux/ rather than admin/. * .bzrignore: Ignore info/ altogether. * doc/emacs/Makefile.in: Comment. --- doc/emacs/Makefile.in | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/emacs/Makefile.in b/doc/emacs/Makefile.in index 527b2f7a77d..ffe219baf40 100644 --- a/doc/emacs/Makefile.in +++ b/doc/emacs/Makefile.in @@ -143,8 +143,7 @@ EMACSSOURCES= \ ${srcdir}/kmacro.texi \ $(EMACS_XTRA) -## This seems pointless. The info/ directory exists in both the -## repository and the release tarfiles. +## The info/ directory exists in release tarfiles but not the repository. mkinfodir = @${MKDIR_P} ${buildinfodir} .PHONY: info dvi html pdf ps -- cgit v1.2.1 From c4246a6008ef0c69db296df4aab95530f8e2b95e Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Thu, 12 Dec 2013 10:57:56 +0100 Subject: * tramp.texi (direntry): Use ssh but rsh. (all): Encode all environment variable names with @env{...}. (Bug Reports): Refer to Testing node. --- doc/misc/ChangeLog | 6 ++++++ doc/misc/tramp.texi | 19 ++++++++++++++++--- 2 files changed, 22 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index d067631f032..8db1f7fa23b 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,9 @@ +2013-12-12 Michael Albinus + + * tramp.texi (direntry): Use ssh but rsh. + (all): Encode all environment variable names with @env{...}. + (Bug Reports): Refer to Testing node. + 2013-12-12 Glenn Morris * autotype.texi, cc-mode.texi, ediff.texi, ert.texi: diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 6168d11b527..7b2d2b33ba2 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi @@ -84,7 +84,7 @@ copy and modify this GNU manual.'' @dircategory @value{emacsname} network features @direntry * TRAMP: (tramp). Transparent Remote Access, Multiple Protocol - @value{emacsname} remote file access via rsh and rcp. + @value{emacsname} remote file access via ssh and scp. @end direntry @titlepage @@ -240,6 +240,7 @@ How file names, directories and localnames are mangled and managed @end detailmenu @end menu + @node Overview @chapter An overview of @value{tramp} @cindex overview @@ -497,6 +498,7 @@ the first release including @value{tramp} was Emacs 22.1. @include trampinst.texi @end ifset + @node Configuration @chapter Configuring @value{tramp} for use @cindex configuration @@ -1005,7 +1007,7 @@ This special method uses the Android Debug Bridge for accessing Android devices. The Android Debug Bridge must be installed locally. Some GNU/Linux distributions offer it for installation, otherwise it can be installed as part of the Android SDK. If the @command{adb} -program is not found via the @code{$PATH} environment variable, the +program is not found via the @env{PATH} environment variable, the variable @var{tramp-adb-program} must point to its absolute path. Tramp does not connect Android devices to @command{adb}. This must be @@ -2083,7 +2085,7 @@ You can instruct @value{tramp} by this form: with @samp{192.168.0.26} being the IP address of your Android device (@pxref{Predefined connection information}). -The user settings for the @code{$PATH} environment variable must be +The user settings for the @env{PATH} environment variable must be preserved. It has also been reported, that the commands in @file{/system/xbin} are better suited than the ones in @file{/system/bin}. Add these setting: @@ -2918,6 +2920,13 @@ Subscribing to the list is performed via @uref{http://lists.gnu.org/mailman/listinfo/tramp-devel/, the @value{tramp} Mail Subscription Page}. +@ifset emacs +@ifset installchapter +Before sending a bug report, you could check whether @value{tramp} +works at all. Run the test suite on your local machine, @ref{Testing}. +@end ifset +@end ifset + @findex tramp-bug To report a bug in @value{tramp}, you should execute @kbd{M-x tramp-bug}. This will automatically generate a buffer with the details @@ -3917,18 +3926,22 @@ for @value{emacsothername}. @end ifset @end itemize + @node GNU Free Documentation License @appendix GNU Free Documentation License @include doclicense.texi + @node Function Index @unnumbered Function Index @printindex fn + @node Variable Index @unnumbered Variable Index @printindex vr + @node Concept Index @unnumbered Concept Index @printindex cp -- cgit v1.2.1 From b55e11bf851ac73e1041a4a24cca3f81d93039e4 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 12 Dec 2013 17:41:31 -0500 Subject: Generate info/dir from .texi files rather than .info files * Makefile.in (install-info): Handle missing info/dir. (info_dir_deps): New variable. (${srcdir}/info/dir): Depend on .texi files rather than .info files. (check-info): Update topics. * build-aux/make-info-dir: Use .texi files rather than .info files. Update topics. * doc/lispintro/emacs-lisp-intro.texi: * doc/lispref/elisp.texi: Tweak dircategory (all the others use "Emacs" + lower-case). --- doc/lispintro/ChangeLog | 2 ++ doc/lispintro/emacs-lisp-intro.texi | 2 +- doc/lispref/ChangeLog | 4 ++++ doc/lispref/elisp.texi | 2 +- 4 files changed, 8 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index b8c2c93bbb6..57dc740fbfa 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -1,5 +1,7 @@ 2013-12-12 Glenn Morris + * emacs-lisp-intro.texi: Tweak dircategory. + * emacs-lisp-intro.texi: Sync direntry with info/dir version. 2013-12-02 Paul Eggert diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 0111c58ad82..396780408a5 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -96,7 +96,7 @@ @c ---------------------------------------------------- -@dircategory GNU Emacs Lisp +@dircategory Emacs lisp @direntry * Emacs Lisp Intro: (eintr). A simple introduction to Emacs Lisp programming. @end direntry diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index f2b6026fe26..9bdc35a112c 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-12-12 Glenn Morris + + * elisp.texi: Tweak dircategory. + 2013-12-12 Eli Zaretskii * nonascii.texi (Encoding and I/O): Document file-name encoding diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index 0e09b1eed2d..d6f7df5fb01 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi @@ -117,7 +117,7 @@ developing GNU and promoting software freedom.'' @documentencoding UTF-8 -@dircategory GNU Emacs Lisp +@dircategory Emacs lisp @direntry * Elisp: (elisp). The Emacs Lisp Reference Manual. @end direntry -- cgit v1.2.1 From 06a4f1102f40c2cb7ffa035b4f16b9039efaf95b Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Fri, 13 Dec 2013 13:25:30 -0500 Subject: Unconditionally reset load-path after dumping * src/lread.c: (dump_path): Remove. (load-path-default): Remove `changed' argument. Do not set dump_path permanently. Simplify. (init_lread): Simplify. (syms_of_lread): Remove dump_path. * lisp/loadup.el (load-path): Warn if site-load or site-init changes it. No more need to reset it when bootstrapping. * doc/lispref/internals.texi (Building Emacs): * doc/lispref/loading.texi (Library Search): Mention that site-load, site-init cannot change load-path. * INSTALL: No longer mention load-path and site-init/site-load. * etc/NEWS: Mention this. Fixes: debbugs:16107 --- doc/lispref/ChangeLog | 6 ++++++ doc/lispref/internals.texi | 5 +++++ doc/lispref/loading.texi | 10 ++++------ 3 files changed, 15 insertions(+), 6 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 9bdc35a112c..4f5ff0ecf44 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,9 @@ +2013-12-13 Glenn Morris + + * internals.texi (Building Emacs): + * loading.texi (Library Search): Mention that site-load, + site-init cannot change load-path. + 2013-12-12 Glenn Morris * elisp.texi: Tweak dircategory. diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi index 06375c1e18e..8cbf3c4e14c 100644 --- a/doc/lispref/internals.texi +++ b/doc/lispref/internals.texi @@ -116,6 +116,11 @@ time.) expect in an ordinary unmodified Emacs. If you feel you must override normal features for your site, do it with @file{default.el}, so that users can override your changes if they wish. @xref{Startup Summary}. +Note that if either @file{site-load.el} or @file{site-init.el} changes +@code{load-path}, the changes will be lost after dumping. +@xref{Library Search}. To make a permanent change to +@code{load-path}, use the @option{--enable-locallisppath} option +of @command{configure}. In a package that can be preloaded, it is sometimes necessary (or useful) to delay certain evaluations until Emacs subsequently starts diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi index 0505b67961d..48866a10687 100644 --- a/doc/lispref/loading.texi +++ b/doc/lispref/loading.texi @@ -361,12 +361,10 @@ add one or more directories to @code{load-path}. For example: (push "~/.emacs.d/lisp" load-path) @end example - Dumping Emacs uses a special value of @code{load-path}. If the -value of @code{load-path} at the end of dumping is unchanged (that is, -still the same special value), the dumped Emacs switches to the -ordinary @code{load-path} value when it starts up, as described above. -But if @code{load-path} has any other value at the end of dumping, -that value is used for execution of the dumped Emacs also. + Dumping Emacs uses a special value of @code{load-path}. If you use +a @file{site-load.el} or @file{site-init.el} file to customize the +dumped Emacs (@pxref{Building Emacs}), any changes to @code{load-path} +that these files make will be lost after dumping. @deffn Command locate-library library &optional nosuffix path interactive-call This command finds the precise file name for library @var{library}. It -- cgit v1.2.1 From 9718dea2e16ce975d2cda02985ed2349f2d7a085 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Tue, 17 Dec 2013 23:57:38 +0800 Subject: * killing.texi (Appending Kills): Note that append-next-kill can prepend the kill. --- doc/emacs/ChangeLog | 5 +++++ doc/emacs/killing.texi | 16 +++++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index c765d479385..c5330da779b 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,8 @@ +2013-12-17 Chong Yidong + + * killing.texi (Appending Kills): Note that append-next-kill can + prepend the kill. + 2013-12-12 Eli Zaretskii * mule.texi (File Name Coding): Document file-name encoding diff --git a/doc/emacs/killing.texi b/doc/emacs/killing.texi index 30b3a2c5ff0..5f2b5aa6605 100644 --- a/doc/emacs/killing.texi +++ b/doc/emacs/killing.texi @@ -417,13 +417,15 @@ killed it. @kindex C-M-w @findex append-next-kill If a kill command is separated from the last kill command by other -commands (not just numeric arguments), it starts a new entry on the kill -ring. But you can force it to append by first typing the command -@kbd{C-M-w} (@code{append-next-kill}) right before it. The @kbd{C-M-w} -tells the following command, if it is a kill command, to append the text -it kills to the last killed text, instead of starting a new entry. With -@kbd{C-M-w}, you can kill several separated pieces of text and -accumulate them to be yanked back in one place. +commands (not just numeric arguments), it starts a new entry on the +kill ring. But you can force it to combine with the last killed text, +by typing @kbd{C-M-w} (@code{append-next-kill}) right beforehand. The +@kbd{C-M-w} tells its following command, if it is a kill command, to +treat the kill as part of the sequence of previous kills. As usual, +the kill is appended to the previous killed text if the command kills +forward, and prepended if the command kills backward. In this way, +you can kill several separated pieces of text and accumulate them to +be yanked back in one place. A kill command following @kbd{M-w} (@code{kill-ring-save}) does not append to the text that @kbd{M-w} copied into the kill ring. -- cgit v1.2.1 From fb891cc8185d27e99e432bf07c424441c8017a27 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Wed, 18 Dec 2013 13:31:11 +0800 Subject: Minor fixes for Lispref's modes.texi * modes.texi (Defining Minor Modes): Fix typo. (Keymaps and Minor Modes): Fix binding convention. Fixes: debbugs:11522 debbugs:14874 --- doc/lispref/ChangeLog | 5 +++++ doc/lispref/modes.texi | 10 ++++++---- 2 files changed, 11 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 4f5ff0ecf44..07d153ed80e 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-12-18 Chong Yidong + + * modes.texi (Defining Minor Modes): Fix typo (Bug#14874). + (Keymaps and Minor Modes): Fix binding convention (Bug#11522). + 2013-12-13 Glenn Morris * internals.texi (Building Emacs): diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index dc643bda9c8..f04c0c1ea9f 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi @@ -1506,9 +1506,11 @@ designed for abbrevs and Auto Fill mode. Do not try substituting your own definition of @code{self-insert-command} for the standard one. The editor command loop handles this function specially.) -The key sequences bound in a minor mode should consist of @kbd{C-c} -followed by one of @kbd{.,/?`'"[]\|~!#$%^&*()-_+=}. (The other -punctuation characters are reserved for major modes.) +Minor modes may bind commands to key sequences consisting of @kbd{C-c} +followed by a punctuation character. However, sequences consisting of +@kbd{C-c} followed by one of @kbd{@{@}<>:;}, or a control character or +digit, are reserved for major modes. Also, @kbd{C-c @var{letter}} is +reserved for users. @xref{Key Binding Conventions}. @node Defining Minor Modes @subsection Defining Minor Modes @@ -1683,7 +1685,7 @@ minor modes don't need any. This defines a global toggle named @var{global-mode} whose meaning is to enable or disable the buffer-local minor mode @var{mode} in all buffers. To turn on the minor mode in a buffer, it uses the function -@var{turn-on}; to turn off the minor mode, it calls @code{mode} with +@var{turn-on}; to turn off the minor mode, it calls @var{mode} with @minus{}1 as argument. Globally enabling the mode also affects buffers subsequently created -- cgit v1.2.1 From 18874304db15434bbc2a9bcf28b71c86f6dc4bd8 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Wed, 18 Dec 2013 22:54:24 +0800 Subject: * customize.texi (Custom Themes): Document custom-known-themes. * custom.el (custom-available-themes): Doc fix. Fixes: debbugs:15717 --- doc/lispref/ChangeLog | 3 +++ doc/lispref/customize.texi | 11 +++++++++++ 2 files changed, 14 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 07d153ed80e..af09f4371f9 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,5 +1,8 @@ 2013-12-18 Chong Yidong + * customize.texi (Custom Themes): Document custom-known-themes + (Bug#15717). + * modes.texi (Defining Minor Modes): Fix typo (Bug#14874). (Keymaps and Minor Modes): Fix binding convention (Bug#11522). diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi index e9260309057..e895fe34e53 100644 --- a/doc/lispref/customize.texi +++ b/doc/lispref/customize.texi @@ -1428,6 +1428,17 @@ loaded into Emacs, whether or not the theme is enabled). Otherwise, it returns @code{nil}. @end defun +@defvar custom-known-themes +The value of this variable is a list of themes loaded into Emacs. +Each theme is represented by a Lisp symbol (the theme name). The +default value of this variable is a list containing two ``dummy'' +themes: @code{(user changed)}. The @code{changed} theme stores +settings made before any Custom themes are applied (e.g., variables +set outside of Customize). The @code{user} theme stores settings the +user has customized and saved. Any additional themes declared with +the @code{deftheme} macro are added to the front of this list. +@end defvar + @deffn Command load-theme theme &optional no-confirm no-enable This function loads the Custom theme named @var{theme} from its source file, looking for the source file in the directories specified by the -- cgit v1.2.1 From 26b75b456e536c1fb2d3979e07e82455b2d9c1ca Mon Sep 17 00:00:00 2001 From: Jay Belanger Date: Thu, 19 Dec 2013 22:53:24 -0600 Subject: lisp/calc/calc.el (calc-enter, calc-pop): Use the variable `calc-context-sensitive-enter'. doc/misc/calc.texi (Stack Manipulation Commands): Mention using the variable `calc-context-sensitive-enter' for `calc-enter' and `calc-pop'. --- doc/misc/ChangeLog | 5 +++++ doc/misc/calc.texi | 24 +++++++++++++++++++----- 2 files changed, 24 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 8db1f7fa23b..fc07ad6dc08 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,8 @@ +2013-12-20 Jay Belanger + + * calc.texi (Stack Manipulation Commands): Mention using the variable + `calc-context-sensitive-enter' for `calc-enter' and `calc-pop'. + 2013-12-12 Michael Albinus * tramp.texi (direntry): Use ssh but rsh. diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index 0154c82750a..425cd349784 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi @@ -11801,6 +11801,18 @@ Thus @kbd{M-@key{DEL}} by itself removes the second-from-top stack element, leaving the first, third, fourth, and so on; @kbd{M-3 M-@key{DEL}} deletes the third stack element. +The above commands do not depend on the location of the cursor. +If the customizable variable @code{calc-context-sensitive-enter} is +non-@code{nil} (@pxref{Customizing Calc}), these commands will become +context sensitive. For example, instead of duplicating the top of the stack, +@key{RET} will copy the element at the cursor to the top of the +stack. With a positive numeric prefix, a copy of the element at the +cursor and the appropriate number of preceding elements will be placed +at the top of the stack. A negative prefix will still duplicate the +specified element of the stack regardless of the cursor position. +Similarly, @key{DEL} will remove the corresponding elements from the +stack. + @kindex @key{TAB} @pindex calc-roll-down To exchange the top two elements of the stack, press @key{TAB} @@ -35697,11 +35709,13 @@ is @code{nil}. @end defvar @defvar calc-context-sensitive-enter -The command @code{calc-enter} will typically duplicate the top of the -stack. If @code{calc-context-sensitive-enter} is non-@code{nil}, -then the @code{calc-enter} will copy the element at the cursor to the -top of the stack. The default value of -@code{calc-context-sensitive-enter} is @code{nil}. +The commands @code{calc-enter} and @code{calc-pop} will typically +duplicate the top of the stack. If +@code{calc-context-sensitive-enter} is non-@code{nil}, then the +@code{calc-enter} will copy the element at the cursor to the +top of the stack and @code{calc-pop} will delete the element at the +cursor. The default value of @code{calc-context-sensitive-enter} is +@code{nil}. @end defvar @defvar calc-undo-length -- cgit v1.2.1 From f5df4cebdb5e2edfddd8b8e16b1c237e2dd45855 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Fri, 20 Dec 2013 15:12:04 +0800 Subject: Add/fix docs for add-face-text-property * doc/lispref/text.texi (Changing Properties): Improve documentation for add-face-text-property. (Special Properties): Mention add-face-text-property. * src/textprop.c (Fadd_face_text_property): Doc fix. Rename `appendp' argument to `append'. --- doc/lispref/ChangeLog | 6 ++++++ doc/lispref/text.texi | 43 +++++++++++++++++++++++++++---------------- 2 files changed, 33 insertions(+), 16 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index af09f4371f9..3ae7e0040cc 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,9 @@ +2013-12-20 Chong Yidong + + * text.texi (Changing Properties): Improve documentation for + add-face-text-property. + (Special Properties): Mention add-face-text-property. + 2013-12-18 Chong Yidong * customize.texi (Custom Themes): Document custom-known-themes diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index aa19338ddaf..b814d553296 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -2825,29 +2825,37 @@ Do not rely on the return value of this function. @end defun @defun add-face-text-property start end face &optional appendp object -@code{face} text attributes can be combined. If you want to make a -section both italic and green, you can either define a new face that -have those attributes, or you can add both these attributes separately -to text: +This function acts on the text between @var{start} and @var{end}, +adding the face @var{face} to the @code{face} text property. +@var{face} should be a valid value for the @code{face} property +(@pxref{Special Properties}), such as a face name or an anonymous face +(@pxref{Faces}). + +If any text in the region already has a non-nil @code{face} property, +those face(s) are retained. This function sets the @code{face} +property to a list of faces, with @var{face} as the first element (by +default) and the pre-existing faces as the remaining elements. If the +optional argument @var{append} is non-@code{nil}, @var{face} is +appended to the end of the list instead. Note that in a face list, +the first occurring value for each attribute takes precedence. + +For example, the following code would assign a italicized green face +to the text between @var{start} and @var{end}: @example (add-face-text-property @var{start} @var{end} 'italic) -(add-face-text-property @var{start} @var{end} '(:foreground "#00ff00")) +(add-face-text-property @var{start} @var{end} '(:foreground "red")) +(add-face-text-property @var{start} @var{end} '(:foreground "green")) @end example -The attribute is (by default) prepended to the list of face -attributes, and the first attribute of the same type takes -precedence. So if you have two @code{:foreground} specifications, the -first one will take effect. - -If you pass in @var{appendp}, the attribute will be appended instead -of prepended, which means that it will have no effect if there is -already an attribute of the same type. - +The optional argument @var{object}, if non-@code{nil}, specifies a +buffer or string to act on, rather than the current buffer. If +@var{object} is a string, then @var{start} and @var{end} are +zero-based indices into the string. @end defun - The easiest way to make a string with text properties -is with @code{propertize}: + The easiest way to make a string with text properties is with +@code{propertize}: @defun propertize string &rest properties This function returns a copy of @var{string} which has the text @@ -3081,6 +3089,9 @@ Font Lock mode (@pxref{Font Lock Mode}) works in most buffers by dynamically updating the @code{face} property of characters based on the context. +The @code{add-face-text-property} function provides a convenient way +to set this text property. @xref{Changing Properties}. + @item font-lock-face @kindex font-lock-face @r{(text property)} This property specifies a value for the @code{face} property that Font -- cgit v1.2.1 From a34a0ac8914ee6bb968dc3b3b5f9fc3ec0d5ebea Mon Sep 17 00:00:00 2001 From: Tassilo Horn Date: Fri, 20 Dec 2013 14:55:44 +0100 Subject: Document prefix key description in terms of ? * doc/emacs/help.texi: Document that `?' now also shows subcommands of prefix keys. --- doc/emacs/ChangeLog | 5 +++++ doc/emacs/help.texi | 23 +++++++++++++---------- 2 files changed, 18 insertions(+), 10 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index c5330da779b..2a7a03d5278 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,8 @@ +2013-12-20 Tassilo Horn + + * help.texi: Document that `?' now also shows subcommands of + prefix keys. + 2013-12-17 Chong Yidong * killing.texi (Appending Kills): Note that append-next-kill can diff --git a/doc/emacs/help.texi b/doc/emacs/help.texi index e41d68a5f51..2a31a96c004 100644 --- a/doc/emacs/help.texi +++ b/doc/emacs/help.texi @@ -55,11 +55,12 @@ This displays the available Emacs packages based on keywords. @xref{Package Keywords}. @end table - @kbd{C-h} or @key{F1} means ``help'' in various other contexts as -well. For instance, you can type them after a prefix key to view a -list of the keys that can follow the prefix key. (A few prefix keys -don't support @kbd{C-h} in this way, because they define other -meanings for it, but they all support @key{F1} for help.) + @kbd{C-h}, @key{F1}, or @kbd{?} means ``help'' in various other +contexts as well. For instance, you can type them after a prefix key +to view a list of the keys that can follow the prefix key. (A few +prefix keys don't support @kbd{C-h} or @kbd{?} in this way, because +they define other meanings for it, but they all support @key{F1} for +help.) @menu * Help Summary:: Brief list of all Help commands. @@ -549,11 +550,13 @@ Emacs Lisp Reference Manual}). @findex describe-prefix-bindings You can get a list of subcommands for a particular prefix key by -typing @kbd{C-h} (@code{describe-prefix-bindings}) after the prefix -key. (There are a few prefix keys for which this does not -work---those that provide their own bindings for @kbd{C-h}. One of -these is @key{ESC}, because @kbd{@key{ESC} C-h} is actually -@kbd{C-M-h}, which marks a defun.) +typing @kbd{C-h}, @kbd{?}, or @kbd{F1} +(@code{describe-prefix-bindings}) after the prefix key. (There are a +few prefix keys for which not all of these keys work---those that +provide their own bindings for one of them. One of these prefix keys +is @key{ESC} in combination with @kbd{C-h}, because @kbd{ESC C-h} is +actually @kbd{C-M-h}, which marks a defun. However, @kbd{ESC F1} and +@kbd{ESC ?} work fine.) @node Help Files @section Help Files -- cgit v1.2.1 From dfff928448aab7e56fec6c1476383b5b104b4c6d Mon Sep 17 00:00:00 2001 From: Tassilo Horn Date: Fri, 20 Dec 2013 15:18:21 +0100 Subject: Document `initial-buffer-choice' changes. * doc/emacs/entering.texi: Document `initial-buffer-choice' changes. * doc/emacs/misc.texi (arguments): Document `initial-buffer-choice' changes. * doc/lispref/os.texi: Document `initial-buffer-choice' changes. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/entering.texi | 13 ++++++++----- doc/emacs/misc.texi | 6 +++--- doc/lispref/ChangeLog | 4 ++++ doc/lispref/os.texi | 10 +++++----- 5 files changed, 24 insertions(+), 13 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 2a7a03d5278..f2be12e2002 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,9 @@ 2013-12-20 Tassilo Horn + * entering.texi: Document `initial-buffer-choice' changes. + + * misc.texi (arguments): Document `initial-buffer-choice' changes. + * help.texi: Document that `?' now also shows subcommands of prefix keys. diff --git a/doc/emacs/entering.texi b/doc/emacs/entering.texi index bb89e6ffd8b..66b90d14476 100644 --- a/doc/emacs/entering.texi +++ b/doc/emacs/entering.texi @@ -74,11 +74,14 @@ up before reading @file{site-start.el}. @xref{Init File}, for information about @file{site-start.el}.} You can also force Emacs to display a file or directory at startup -by setting the variable @code{initial-buffer-choice} to a -non-@code{nil} value. (In that case, even if you specify one or more -files on the command line, Emacs opens but does not display them.) -The value of @code{initial-buffer-choice} should be the name of -the desired file or directory. +by setting the variable @code{initial-buffer-choice} to a a string +naming that file or directory. The value of +@code{initial-buffer-choice} may also be a function which should +return a buffer which is then displayed. @code{initial-buffer-choice} +may also be @code{t} in which case the @file{*scratch*} buffer will be +shown. In any case, even if you specify one or more files on the +command line, Emacs opens but does not display them if +@code{initial-buffer-choice} is non-nil. @node Exiting @section Exiting Emacs diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index 73c1c85e2f8..d2dfe281d7c 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi @@ -1542,9 +1542,9 @@ option, like the @samp{-t} option, creates a new frame in the server's current text terminal. @xref{Windows Startup}. If you omit a filename argument while supplying the @samp{-c} option, -the new frame displays the @file{*scratch*} buffer by default. If -@code{initial-buffer-choice} is a string (@pxref{Entering Emacs}), the -new frame displays that file or directory instead. +the new frame displays the @file{*scratch*} buffer by default. This +behavior can be customized using the variable +@code{initial-buffer-choice} (@pxref{Entering Emacs}). @item -F @var{alist} @itemx --frame-parameters=@var{alist} diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 3ae7e0040cc..64c3ec42ca6 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-12-20 Tassilo Horn + + * os.texi: Document `initial-buffer-choice' changes. + 2013-12-20 Chong Yidong * text.texi (Changing Properties): Improve documentation for diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index 38ebcccb688..bb2a797b637 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -195,7 +195,9 @@ It now exits if the option @code{--batch} was specified. @item If @code{initial-buffer-choice} is a string, it visits the file with -that name. If the @file{*scratch*} buffer exists and is +that name. If it is a function, it calls the function and selects the +buffer returned by the function. It it is @code{t}, it selects the +@file{*scratch*} buffer. If the @file{*scratch*} buffer exists and is empty, it inserts @code{initial-scratch-message} into that buffer. @c To make things nice and confusing, the next three items can be @@ -271,11 +273,9 @@ aliases for this variable. If non-@code{nil}, this variable is a string that specifies a file or directory for Emacs to display after starting up, instead of the startup screen. -@ignore -@c I do not think this should be mentioned. AFAICS it is just a dodge -@c around inhibit-startup-screen not being settable on a site-wide basis. +If its value is a function, Emacs calls that function which must +return a buffer which is then displayed. If its value is @code{t}, Emacs displays the @file{*scratch*} buffer. -@end ignore @end defopt @defopt inhibit-startup-echo-area-message -- cgit v1.2.1 From 6f1de4d1f115228b4fa7f0f3d3d17e2dbf4291c7 Mon Sep 17 00:00:00 2001 From: Tassilo Horn Date: Fri, 20 Dec 2013 15:28:01 +0100 Subject: Document *Messages* buffer changes. * doc/emacs/buffers.texi: Update list-buffers "screeshop" to show Messages as major-mode. * doc/lispref/display.texi: Document `messages-buffer'. --- doc/emacs/ChangeLog | 3 +++ doc/emacs/buffers.texi | 2 +- doc/lispref/ChangeLog | 2 ++ doc/lispref/display.texi | 9 ++++++++- 4 files changed, 14 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index f2be12e2002..4b2beb17d45 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,8 @@ 2013-12-20 Tassilo Horn + * buffers.texi: Update list-buffers "screeshop" to show Messages + as major-mode. + * entering.texi: Document `initial-buffer-choice' changes. * misc.texi (arguments): Document `initial-buffer-choice' changes. diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi index a62f2bdac8d..9e5f996aae0 100644 --- a/doc/emacs/buffers.texi +++ b/doc/emacs/buffers.texi @@ -194,7 +194,7 @@ CRM Buffer Size Mode File % HELLO 1607 Fundamental ~/cvs/emacs/etc/HELLO % NEWS 481184 Outline ~/cvs/emacs/etc/NEWS *scratch* 191 Lisp Interaction - * *Messages* 1554 Fundamental + * *Messages* 1554 Messages @end smallexample @noindent diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 64c3ec42ca6..be050b7141e 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,5 +1,7 @@ 2013-12-20 Tassilo Horn + * display.texi: Document `messages-buffer'. + * os.texi: Document `initial-buffer-choice' changes. 2013-12-20 Chong Yidong diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index c6eeaf9c6a8..ead436ab809 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -478,7 +478,14 @@ this macro this way: Almost all the messages displayed in the echo area are also recorded in the @file{*Messages*} buffer so that the user can refer back to them. This includes all the messages that are output with -@code{message}. +@code{message}. This buffer is read-only and has the major-mode +@code{messages-buffer-mode}. The best way to retrieve that buffer is +the function @code{messages-buffer}. + +@defun messages-buffer +Return the @file{*Messages*} buffer. +If it does not exist, create and it switch it to @code{messages-buffer-mode}. +@end defun @defopt message-log-max This variable specifies how many lines to keep in the @file{*Messages*} -- cgit v1.2.1 From 98104aea4155a3bf1ec88f46101de76fc6f56ca1 Mon Sep 17 00:00:00 2001 From: Tassilo Horn Date: Fri, 20 Dec 2013 15:51:53 +0100 Subject: Document `blink-cursor-blinks'. * doc/emacs/display.texi (Cursor Display): Document `blink-cursor-blinks'. --- doc/emacs/ChangeLog | 5 ++++- doc/emacs/display.texi | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 4b2beb17d45..5fd0fa5abe7 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,11 +1,14 @@ 2013-12-20 Tassilo Horn + * display.texi (Cursor Display): Document `blink-cursor-blinks'. + * buffers.texi: Update list-buffers "screeshop" to show Messages as major-mode. * entering.texi: Document `initial-buffer-choice' changes. - * misc.texi (arguments): Document `initial-buffer-choice' changes. + * misc.texi (emacsclient Options): Document + `initial-buffer-choice' changes. * help.texi: Document that `?' now also shows subcommands of prefix keys. diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index 80dffe2e4c9..9eace49d91f 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi @@ -1473,8 +1473,12 @@ pixels tall), or @code{nil} (no cursor at all). @findex blink-cursor-mode @cindex cursor, blinking @cindex blinking cursor +@vindex blink-cursor-mode +@vindex blink-cursor-blinks @vindex blink-cursor-alist - To disable cursor blinking, change the variable + By default, the cursor stops blinking after 10 blinks. This can be +changed by customizing the variable @code{blink-cursor-blinks}. To +disable cursor blinking altogether, change the variable @code{blink-cursor-mode} to @code{nil} (@pxref{Easy Customization}), or add the line @code{(blink-cursor-mode 0)} to your init file. Alternatively, you can change how the cursor looks when it ``blinks -- cgit v1.2.1 From 75a1e0347184743a79d96c01cb83cb681700cead Mon Sep 17 00:00:00 2001 From: Tassilo Horn Date: Fri, 20 Dec 2013 15:56:23 +0100 Subject: Document that `electric-indent-mode' is enabled by default. * doc/emacs/indent.texi: Document that `electric-indent-mode' is enabled by default. --- doc/emacs/ChangeLog | 3 +++ doc/emacs/indent.texi | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 5fd0fa5abe7..f63f2f5fa69 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,8 @@ 2013-12-20 Tassilo Horn + * indent.texi: Document that `electric-indent-mode' is enabled by + default. + * display.texi (Cursor Display): Document `blink-cursor-blinks'. * buffers.texi: Update list-buffers "screeshop" to show Messages diff --git a/doc/emacs/indent.texi b/doc/emacs/indent.texi index 72ec68812ce..43294866b7b 100644 --- a/doc/emacs/indent.texi +++ b/doc/emacs/indent.texi @@ -236,5 +236,6 @@ indentation; otherwise, it inserts a tab character. @cindex mode, Electric Indent @findex electric-indent-mode Electric Indent mode is a global minor mode that automatically -indents the line after every @key{RET} you type. To toggle this minor -mode, type @kbd{M-x electric-indent-mode}. +indents the line after every @key{RET} you type. This mode is enabled +by default. To toggle this minor mode, type @kbd{M-x +electric-indent-mode}. -- cgit v1.2.1 From 2cd12d2869d4b084b299269afff16afbec351a74 Mon Sep 17 00:00:00 2001 From: Tassilo Horn Date: Fri, 20 Dec 2013 16:18:50 +0100 Subject: Document buffer name uniquification changes. * doc/emacs/buffers.texi: Document buffer name uniquification changes. --- doc/emacs/ChangeLog | 4 +++- doc/emacs/buffers.texi | 32 +++++++++++++++++++------------- 2 files changed, 22 insertions(+), 14 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index f63f2f5fa69..0eddd0d1954 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,11 +1,13 @@ 2013-12-20 Tassilo Horn + * buffers.texi: Document buffer name uniquification changes. + * indent.texi: Document that `electric-indent-mode' is enabled by default. * display.texi (Cursor Display): Document `blink-cursor-blinks'. - * buffers.texi: Update list-buffers "screeshop" to show Messages + * buffers.texi: Update list-buffers "screeshot" to show Messages as major-mode. * entering.texi: Document `initial-buffer-choice' changes. diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi index 9e5f996aae0..516eedca772 100644 --- a/doc/emacs/buffers.texi +++ b/doc/emacs/buffers.texi @@ -608,31 +608,37 @@ convenient to switch between buffers. @cindex unique buffer names @cindex directories in buffer names When several buffers visit identically-named files, Emacs must give -the buffers distinct names. The usual method for making buffer names -unique adds @samp{<2>}, @samp{<3>}, etc. to the end of the buffer -names (all but one of them). +the buffers distinct names. The default method +(@code{uniquify-buffer-name-style} set to +@code{post-forward-angle-brackets}) for making buffer names unique +adds @samp{}, @samp{}, etc. to the end of the buffer +names. @vindex uniquify-buffer-name-style - Other methods work by adding parts of each file's directory to the -buffer name. To select one, customize the variable -@code{uniquify-buffer-name-style} (@pxref{Easy Customization}). + There are several styles to make buffer names unique. To select +one, customize the variable @code{uniquify-buffer-name-style} +(@pxref{Easy Customization}). - To begin with, the @code{forward} naming method includes part of the -file's directory name at the beginning of the buffer name; using this -method, buffers visiting the files @file{/u/rms/tmp/Makefile} and + The @code{forward} naming method includes part of the file's +directory name at the beginning of the buffer name; using this method, +buffers visiting the files @file{/u/rms/tmp/Makefile} and @file{/usr/projects/zaphod/Makefile} would be named -@samp{tmp/Makefile} and @samp{zaphod/Makefile}, respectively (instead -of @samp{Makefile} and @samp{Makefile<2>}). +@samp{tmp/Makefile} and @samp{zaphod/Makefile}. In contrast, the @code{post-forward} naming method would call the -buffers @samp{Makefile|tmp} and @samp{Makefile|zaphod}, and the +buffers @samp{Makefile|tmp} and @samp{Makefile|zaphod}. The default +method @code{post-forward-angle-brackets} is like @code{post-forward} +except that it prepends the unique path in angle brackets. The @code{reverse} naming method would call them @samp{Makefile\tmp} and @samp{Makefile\zaphod}. The nontrivial difference between @code{post-forward} and @code{reverse} occurs when just one directory name is not enough to distinguish two files; then @code{reverse} puts the directory names in reverse order, so that @file{/top/middle/file} becomes @samp{file\middle\top}, while @code{post-forward} puts them in -forward order after the file name, as in @samp{file|top/middle}. +forward order after the file name, as in @samp{file|top/middle}. If +@code{uniquify-buffer-name-style} is set to @code{nil}, the buffer +names simply get a @samp{<2>} etc. prepended. This used to be the +default behavior in Emacs versions up to 24.4. Which rule to follow for putting the directory names in the buffer name is not very important if you are going to @emph{look} at the -- cgit v1.2.1 From 7b4ec5497f42a3db1bbb0bfdba5560091587480f Mon Sep 17 00:00:00 2001 From: Tassilo Horn Date: Fri, 20 Dec 2013 16:35:53 +0100 Subject: Document `toggle-frame-maximized' and `toggle-frame-fullscreen'. * doc/emacs/frames.texi: Document `toggle-frame-maximized' and `toggle-frame-fullscreen' with their respective keys. --- doc/emacs/ChangeLog | 3 +++ doc/emacs/frames.texi | 10 ++++++++++ 2 files changed, 13 insertions(+) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 0eddd0d1954..47d3125f196 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,8 @@ 2013-12-20 Tassilo Horn + * frames.texi: Document `toggle-frame-maximized' and + `toggle-frame-fullscreen' with their respective keys. + * buffers.texi: Document buffer name uniquification changes. * indent.texi: Document that `electric-indent-mode' is enabled by diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi index 45f137d3b78..d2c25b9dc05 100644 --- a/doc/emacs/frames.texi +++ b/doc/emacs/frames.texi @@ -453,6 +453,16 @@ cycles through all the frames on your terminal. @kindex C-x 5 1 @findex delete-other-frames Delete all frames on the current terminal, except the selected one. + +@item M- +@kindex M- +@findex toggle-frame-maximized +Toggle maximization state of the current frame. + +@item +@kindex +@findex toggle-frame-fullscreen +Toggle fullscreen mode of the current frame. @end table The @kbd{C-x 5 0} (@code{delete-frame}) command deletes the selected -- cgit v1.2.1 From 30aafaf5163efc0eef0baae304ea19e194e20aa1 Mon Sep 17 00:00:00 2001 From: Tassilo Horn Date: Fri, 20 Dec 2013 17:03:12 +0100 Subject: Document `S-SPC' as alternative to scrolling down with `DEL'. * doc/emacs/rmail.texi: Document `S-SPC' as alternative to scrolling down with `DEL'. * doc/emacs/calendar.texi: Ditto. * doc/emacs/display.texi: Ditto. * doc/emacs/help.texi: Ditto. * doc/misc/info.texi: Document `S-SPC' as alternative to `DEL' for scrolling. * doc/misc/woman.texi: Ditto. --- doc/emacs/ChangeLog | 9 +++++++++ doc/emacs/calendar.texi | 2 ++ doc/emacs/display.texi | 4 ++-- doc/emacs/help.texi | 5 +++-- doc/emacs/rmail.texi | 4 ++-- doc/misc/ChangeLog | 7 +++++++ doc/misc/info.texi | 33 +++++++++++++++++---------------- doc/misc/woman.texi | 5 +++++ 8 files changed, 47 insertions(+), 22 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 47d3125f196..65b9e4836be 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,14 @@ 2013-12-20 Tassilo Horn + * rmail.texi: Document `S-SPC' as alternative to scrolling down + with `DEL'. + + * help.texi: Ditto. + + * display.texi: Ditto. + + * calendar.texi: Ditto. + * frames.texi: Document `toggle-frame-maximized' and `toggle-frame-fullscreen' with their respective keys. diff --git a/doc/emacs/calendar.texi b/doc/emacs/calendar.texi index c305be6f670..f5a0c720d1e 100644 --- a/doc/emacs/calendar.texi +++ b/doc/emacs/calendar.texi @@ -305,6 +305,8 @@ Regenerate the calendar window (@code{calendar-redraw}). Scroll the next window up (@code{scroll-other-window}). @item DEL Scroll the next window down (@code{scroll-other-window-down}). +@item S-SPC +Scroll the next window down (@code{scroll-other-window-down}). @item q Exit from calendar (@code{calendar-exit}). @end table diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index 9eace49d91f..940e6d40d82 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi @@ -428,8 +428,8 @@ it. @xref{Disabling}. screenfuls. It provides commands for scrolling through the buffer conveniently but not for changing it. Apart from the usual Emacs cursor motion commands, you can type @key{SPC} to scroll forward one -windowful, @key{DEL} to scroll backward, and @kbd{s} to start an -incremental search. +windowful, @key{S-SPC} or @key{DEL} to scroll backward, and @kbd{s} to +start an incremental search. @kindex q @r{(View mode)} @kindex e @r{(View mode)} diff --git a/doc/emacs/help.texi b/doc/emacs/help.texi index 2a31a96c004..42fa3438b69 100644 --- a/doc/emacs/help.texi +++ b/doc/emacs/help.texi @@ -377,8 +377,9 @@ alphabetical order, change the variable @section Help Mode Commands Help buffers provide the same commands as View mode (@pxref{View -Mode}); for instance, @key{SPC} scrolls forward, and @key{DEL} scrolls -backward. A few special commands are also provided: +Mode}); for instance, @key{SPC} scrolls forward, and @key{DEL} or +@kbd{S-SPC} scrolls backward. A few special commands are also +provided: @table @kbd @item @key{RET} diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi index 67afc29a277..072af578332 100644 --- a/doc/emacs/rmail.texi +++ b/doc/emacs/rmail.texi @@ -112,8 +112,8 @@ Scroll to end of message (@code{rmail-end-of-message}). @kindex DEL @r{(Rmail)} Since the most common thing to do while reading a message is to scroll through it by screenfuls, Rmail makes @key{SPC} and @key{DEL} -do the same as @kbd{C-v} (@code{scroll-up-command}) and @kbd{M-v} -(@code{scroll-down-command}) respectively. +or @key{S-SPC} do the same as @kbd{C-v} (@code{scroll-up-command}) and +@kbd{M-v} (@code{scroll-down-command}) respectively. @kindex . @r{(Rmail)} @kindex / @r{(Rmail)} diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index fc07ad6dc08..47dd91aa051 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,10 @@ +2013-12-20 Tassilo Horn + + * info.texi: Document `S-SPC' as alternative to `DEL' for + scrolling. + + * woman.texi: Ditto. + 2013-12-20 Jay Belanger * calc.texi (Stack Manipulation Commands): Mention using the variable diff --git a/doc/misc/info.texi b/doc/misc/info.texi index d17a65571f1..32aee99868d 100644 --- a/doc/misc/info.texi +++ b/doc/misc/info.texi @@ -157,12 +157,12 @@ text @samp{Top} instead, it means that there is more text below that does not fit. To move forward through the text and see another screen full, press @key{SPC}, the Space bar. To move back up, press the key labeled @samp{Backspace} or @samp{DEL} (on some keyboards, this key -might be labeled @samp{Delete}). +might be labeled @samp{Delete}), or @key{S-SPC}. @ifinfo -Here are 40 lines of junk, so you can try @key{SPC} and @key{DEL} and -see what they do. At the end are instructions of what you should do -next. +Here are 40 lines of junk, so you can try @key{SPC} and @key{DEL} (or +@key{S-SPC}) and see what they do. At the end are instructions of +what you should do next. @format This is line 20 @@ -208,7 +208,7 @@ This is line 59 @end format If you have managed to get here, go back to the beginning with -@kbd{DEL} (or @key{BACKSPACE}), and come back here again, then you +@kbd{DEL} (or @key{S-SPC}), and come back here again, then you understand the about the @samp{Space} and @samp{Backspace} keys. So now type an @kbd{n}---just one character; don't type the quotes and don't type the Return key afterward---to get to the normal start of @@ -481,10 +481,10 @@ you to the following node in the manual @emph{regardless of level}. If you immediately want to go to that node, without having to scroll to the bottom of the screen first, you can type @kbd{]}. -Similarly, @kbd{@key{BACKSPACE}} carries you to the preceding node -regardless of level, after you scrolled to the beginning of the -present node. If you want to go to the preceding node immediately, -you can type @kbd{[}. +Similarly, @kbd{@key{BACKSPACE}} (or @kbd{@key{S-SPC}}) carries you to +the preceding node regardless of level, after you scrolled to the +beginning of the present node. If you want to go to the preceding +node immediately, you can type @kbd{[}. For instance, typing this sequence will come back here in three steps: @kbd{[ n [}. To do the same backward, type @kbd{] p ]}. @@ -1204,13 +1204,14 @@ all text that could potentially be useful. @item Info-scroll-prefer-subnodes If set to a non-@code{nil} value, @key{SPC} and @key{BACKSPACE} (or -@key{DEL}) keys in a menu visit subnodes of the current node before -scrolling to its end or beginning, respectively. For example, if the -node's menu appears on the screen, the next @key{SPC} moves to a -subnode indicated by the following menu item. Setting this option to -@code{nil} results in behavior similar to the stand-alone Info reader -program, which visits the first subnode from the menu only when you -hit the end of the current node. The default is @code{nil}. +@key{DEL}, or @key{S-SPC}) keys in a menu visit subnodes of the +current node before scrolling to its end or beginning, respectively. +For example, if the node's menu appears on the screen, the next +@key{SPC} moves to a subnode indicated by the following menu item. +Setting this option to @code{nil} results in behavior similar to the +stand-alone Info reader program, which visits the first subnode from +the menu only when you hit the end of the current node. The default +is @code{nil}. @item Info-isearch-search If non-@code{nil}, isearch in Info searches through multiple nodes. diff --git a/doc/misc/woman.texi b/doc/misc/woman.texi index 8005d58ce8a..0502ab5c220 100644 --- a/doc/misc/woman.texi +++ b/doc/misc/woman.texi @@ -633,6 +633,11 @@ Scroll the man page up the window (@code{scroll-up}). @findex scroll-down Scroll the man page down the window (@code{scroll-down}). +@item @key{S-SPC} +@kindex S-SPC +@findex scroll-down +Scroll the man page down the window (@code{scroll-down}). + @item n @kindex n @findex Man-next-section -- cgit v1.2.1 From 3fbba716fbf09f0c13c73e822df10a7607aa6799 Mon Sep 17 00:00:00 2001 From: Tassilo Horn Date: Fri, 20 Dec 2013 19:41:31 +0100 Subject: Document that =, <, <=, >, >= now accept one or many arguments. * doc/lispref/numbers.texi (numbers): Document that =, <, <=, >, >= now accept one or many arguments. --- doc/lispref/ChangeLog | 3 +++ doc/lispref/numbers.texi | 31 ++++++++++++++++--------------- 2 files changed, 19 insertions(+), 15 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index be050b7141e..15730515301 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,5 +1,8 @@ 2013-12-20 Tassilo Horn + * numbers.texi (numbers): Document that =, <, <=, >, >= now accept + one or many arguments. + * display.texi: Document `messages-buffer'. * os.texi: Document `initial-buffer-choice' changes. diff --git a/doc/lispref/numbers.texi b/doc/lispref/numbers.texi index 2b6f31b670b..1f08d31a4b1 100644 --- a/doc/lispref/numbers.texi +++ b/doc/lispref/numbers.texi @@ -354,9 +354,9 @@ can have just one integer object for any given value because it has a limited range of integer values. @end quotation -@defun = number-or-marker1 number-or-marker2 -This function tests whether its arguments are numerically equal, and -returns @code{t} if so, @code{nil} otherwise. +@defun = number-or-marker &rest number-or-markers +This function tests whether all its arguments are numerically equal, +and returns @code{t} if so, @code{nil} otherwise. @end defun @defun eql value1 value2 @@ -371,26 +371,27 @@ This function tests whether its arguments are numerically equal, and returns @code{t} if they are not, and @code{nil} if they are. @end defun -@defun < number-or-marker1 number-or-marker2 -This function tests whether its first argument is strictly less than -its second argument. It returns @code{t} if so, @code{nil} otherwise. +@defun < number-or-marker &rest number-or-markers +This function tests whether every argument is strictly less than the +respective next argument. It returns @code{t} if so, @code{nil} +otherwise. @end defun -@defun <= number-or-marker1 number-or-marker2 -This function tests whether its first argument is less than or equal -to its second argument. It returns @code{t} if so, @code{nil} +@defun <= number-or-marker &rest number-or-markers +This function tests whether every argument is less than or equal to +the respective next argument. It returns @code{t} if so, @code{nil} otherwise. @end defun -@defun > number-or-marker1 number-or-marker2 -This function tests whether its first argument is strictly greater -than its second argument. It returns @code{t} if so, @code{nil} +@defun > number-or-marker &rest number-or-markers +This function tests whether every argument is strictly greater than +the respective next argument. It returns @code{t} if so, @code{nil} otherwise. @end defun -@defun >= number-or-marker1 number-or-marker2 -This function tests whether its first argument is greater than or -equal to its second argument. It returns @code{t} if so, @code{nil} +@defun >= number-or-marker &rest number-or-markers +This function tests whether every argument is greater than or equal to +the respective next argument. It returns @code{t} if so, @code{nil} otherwise. @end defun -- cgit v1.2.1 From eea2cba48e1ad87992a896c75d6d2ed8afb24a30 Mon Sep 17 00:00:00 2001 From: Tassilo Horn Date: Fri, 20 Dec 2013 21:08:56 +0100 Subject: Don't duplicate descriptions if there are alternative keys. --- doc/emacs/calendar.texi | 1 - doc/emacs/rmail.texi | 6 ++++-- doc/misc/woman.texi | 5 +---- 3 files changed, 5 insertions(+), 7 deletions(-) (limited to 'doc') diff --git a/doc/emacs/calendar.texi b/doc/emacs/calendar.texi index f5a0c720d1e..2d4c3a6919d 100644 --- a/doc/emacs/calendar.texi +++ b/doc/emacs/calendar.texi @@ -304,7 +304,6 @@ Regenerate the calendar window (@code{calendar-redraw}). @item SPC Scroll the next window up (@code{scroll-other-window}). @item DEL -Scroll the next window down (@code{scroll-other-window-down}). @item S-SPC Scroll the next window down (@code{scroll-other-window-down}). @item q diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi index 072af578332..945eb6b8b76 100644 --- a/doc/emacs/rmail.texi +++ b/doc/emacs/rmail.texi @@ -101,6 +101,7 @@ frequent that it deserves to be easier. @item @key{SPC} Scroll forward (@code{scroll-up-command}). @item @key{DEL} +@item @key{S-SPC} Scroll backward (@code{scroll-down-command}). @item . Scroll to start of message (@code{rmail-beginning-of-message}). @@ -110,10 +111,11 @@ Scroll to end of message (@code{rmail-end-of-message}). @kindex SPC @r{(Rmail)} @kindex DEL @r{(Rmail)} +@kindex S-SPC @r{(Rmail)} Since the most common thing to do while reading a message is to scroll through it by screenfuls, Rmail makes @key{SPC} and @key{DEL} -or @key{S-SPC} do the same as @kbd{C-v} (@code{scroll-up-command}) and -@kbd{M-v} (@code{scroll-down-command}) respectively. +(or @key{S-SPC}) do the same as @kbd{C-v} (@code{scroll-up-command}) +and @kbd{M-v} (@code{scroll-down-command}) respectively. @kindex . @r{(Rmail)} @kindex / @r{(Rmail)} diff --git a/doc/misc/woman.texi b/doc/misc/woman.texi index 0502ab5c220..839f1ab2665 100644 --- a/doc/misc/woman.texi +++ b/doc/misc/woman.texi @@ -629,11 +629,8 @@ the @code{man} key bindings. Scroll the man page up the window (@code{scroll-up}). @item @key{DEL} -@kindex DEL -@findex scroll-down -Scroll the man page down the window (@code{scroll-down}). - @item @key{S-SPC} +@kindex DEL @kindex S-SPC @findex scroll-down Scroll the man page down the window (@code{scroll-down}). -- cgit v1.2.1 From 77221051a20d22ab785b0e0441a320862ec589a0 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Sat, 21 Dec 2013 16:37:08 +0800 Subject: Tweak C-x TAB behavior changes, and update docs. * lisp/indent.el (indent-rigidly-map): Add docstring, and move commands into named functions. (indent-rigidly-left, indent-rigidly-right) (indent-rigidly-left-to-tab-stop) (indent-rigidly-right-to-tab-stop): New functions. Decide on indentation direction based on bidi direction, and accumulate sequential commands in a single undo boundary. (indent-rigidly--pop-undo): New utility function. * doc/emacs/indent.texi (Indentation Commands): Document C-x TAB changes. * doc/lispref/text.texi (Region Indent): Note the new interactive behavior of indent-rigidly. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/indent.texi | 28 ++++++++++++++++++++-------- doc/lispref/ChangeLog | 5 +++++ doc/lispref/text.texi | 20 +++++++++----------- 4 files changed, 38 insertions(+), 19 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 65b9e4836be..850c38a4dd4 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-12-21 Chong Yidong + + * indent.texi (Indentation Commands): Document C-x TAB changes. + 2013-12-20 Tassilo Horn * rmail.texi: Document `S-SPC' as alternative to scrolling down diff --git a/doc/emacs/indent.texi b/doc/emacs/indent.texi index 43294866b7b..0e35a63aa98 100644 --- a/doc/emacs/indent.texi +++ b/doc/emacs/indent.texi @@ -127,14 +127,26 @@ that column number. @kindex C-x TAB @findex indent-rigidly @cindex remove indentation -Shift each line in the region by a fixed distance, to the right or -left (@code{indent-rigidly}). The distance to move is determined by -the numeric argument (positive to move rightward, negative to move -leftward). - -This command can be used to remove all indentation from the lines in -the region, by invoking it with a large negative argument, -e.g., @kbd{C-u -1000 C-x @key{TAB}}. +This command is used to change the indentation of all lines that begin +in the region, moving the affected lines as a ``rigid'' unit. + +If called with no argument, the command activates a transient mode for +adjusting the indentation of the affected lines interactively. While +this transient mode is active, typing @key{LEFT} or @key{RIGHT} +indents leftward and rightward, respectively, by one space. You can +also type @kbd{S-@key{LEFT}} or @kbd{S-@key{RIGHT}} to indent leftward +or rightward to the next tab stop (@pxref{Tab Stops}). Typing any +other key disables the transient mode, and resumes normal editing. + +If called with a prefix argument @var{n}, this command indents the +lines forward by @var{n} spaces (without enabling the transient mode). +Negative values of @var{n} indent backward, so you can remove all +indentation from the lines in the region using a large negative +argument, like this: + +@smallexample +C-u -999 C-x @key{TAB} +@end smallexample @end table @node Tab Stops diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 15730515301..ccd236403b8 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-12-21 Chong Yidong + + * text.texi (Region Indent): Note the new interactive behavior of + indent-rigidly. + 2013-12-20 Tassilo Horn * numbers.texi (numbers): Document that =, <, <=, >, >= now accept diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index b814d553296..1deb4a6530a 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -2344,21 +2344,19 @@ a different meaning and does not use this variable. @end defvar @deffn Command indent-rigidly start end count -This command indents all lines starting between @var{start} +This function indents all lines starting between @var{start} (inclusive) and @var{end} (exclusive) sideways by @var{count} columns. This ``preserves the shape'' of the affected region, moving it as a -rigid unit. Consequently, this command is useful not only for indenting -regions of unindented text, but also for indenting regions of formatted -code. +rigid unit. -For example, if @var{count} is 3, this command adds 3 columns of -indentation to each of the lines beginning in the region specified. +This is useful not only for indenting regions of unindented text, but +also for indenting regions of formatted code. For example, if +@var{count} is 3, this command adds 3 columns of indentation to every +line that begins in the specified region. -@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. +If called interactively with no prefix argument, this command invokes +a transient mode for adjusting indentation rigidly. @xref{Indentation +Commands,,, emacs, The GNU Emacs Manual}. @end deffn @deffn Command indent-code-rigidly start end columns &optional nochange-regexp -- cgit v1.2.1 From daef8ab14060424f69810348b6821356d87b5ec0 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 22 Dec 2013 09:45:13 +0800 Subject: Document `scroll-bar-adjust-thumb-portion'. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/frames.texi | 11 +++++++++++ 2 files changed, 15 insertions(+) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 850c38a4dd4..a3ec110bcd2 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-12-22 Xue Fuqiao + + * frames.texi (Scroll Bars): Document `scroll-bar-adjust-thumb-portion'. + 2013-12-21 Chong Yidong * indent.texi (Indentation Commands): Document C-x TAB changes. diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi index d2c25b9dc05..3f4d6b12704 100644 --- a/doc/emacs/frames.texi +++ b/doc/emacs/frames.texi @@ -930,6 +930,17 @@ or disable the scroll bars (@pxref{Resources}). To control the scroll bar width, change the @code{scroll-bar-width} frame parameter (@pxref{Frame Parameters,,, elisp, The Emacs Lisp Reference Manual}). +@vindex scroll-bar-adjust-thumb-portion +@cindex overscrolling +If you're using Emacs on X (with GTK+ or Motif), you can customize the +variable @code{scroll-bar-adjust-thumb-portion} to control +@dfn{overscrolling} of the scroll bar, i.e. dragging the thumb down even +when the end of the buffer is visible. If its value is +non-@code{nil}, the scroll bar can be dragged downwards even if the +end of the buffer is shown; if @code{nil}, the thumb will be at the +bottom when the end of the buffer is shown. You can not over-scroll +when the entire buffer is visible. + @node Drag and Drop @section Drag and Drop @cindex drag and drop -- cgit v1.2.1 From 2ab18afbea51a7e773a1cb99755c6ebb5a395bfc Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 22 Dec 2013 09:56:52 +0800 Subject: Doc fix for `tab-stop-list'. * doc/emacs/indent.texi (Tab Stops): Mention recent changes about `tab-stop-list'. --- doc/emacs/ChangeLog | 2 ++ doc/emacs/indent.texi | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index a3ec110bcd2..c8a9054e7c8 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,7 @@ 2013-12-22 Xue Fuqiao + * indent.texi (Tab Stops): Mention recent changes about `tab-stop-list'. + * frames.texi (Scroll Bars): Document `scroll-bar-adjust-thumb-portion'. 2013-12-21 Chong Yidong diff --git a/doc/emacs/indent.texi b/doc/emacs/indent.texi index 0e35a63aa98..a5edac0dd0f 100644 --- a/doc/emacs/indent.texi +++ b/doc/emacs/indent.texi @@ -178,7 +178,8 @@ To install changes, type C-c C-c @noindent The first line contains a colon at each tab stop. The numbers on the -next two lines are present just to indicate where the colons are. +next two lines are present just to indicate where the colons are. It +is implicitly extended to infinity by repeating the last step. You can edit this buffer to specify different tab stops by placing colons on the desired columns. The buffer uses Overwrite mode -- cgit v1.2.1 From ced5cc2911ef5457d64db91b73543cd92f650521 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 22 Dec 2013 10:55:43 +0800 Subject: * doc/emacs/regs.texi (File Registers): Document `kmacro-to-register'. --- doc/emacs/ChangeLog | 2 ++ doc/emacs/emacs.texi | 15 ++++++++------- doc/emacs/regs.texi | 18 ++++++++++++++++++ 3 files changed, 28 insertions(+), 7 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index c8a9054e7c8..5c66a2a6ea6 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,7 @@ 2013-12-22 Xue Fuqiao + * regs.texi (File Registers): Document `kmacro-to-register'. + * indent.texi (Tab Stops): Mention recent changes about `tab-stop-list'. * frames.texi (Scroll Bars): Document `scroll-bar-adjust-thumb-portion'. diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 9eb7db9ee82..4845d49b823 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -345,13 +345,14 @@ Yanking Registers -* Position Registers:: Saving positions in registers. -* Text Registers:: Saving text in registers. -* Rectangle Registers:: Saving rectangles in registers. -* Configuration Registers:: Saving window configurations in registers. -* Number Registers:: Numbers in registers. -* File Registers:: File names in registers. -* Bookmarks:: Bookmarks are like registers, but persistent. +* Position Registers:: Saving positions in registers. +* Text Registers:: Saving text in registers. +* Rectangle Registers:: Saving rectangles in registers. +* Configuration Registers:: Saving window configurations in registers. +* Number Registers:: Numbers in registers. +* File Registers:: File names in registers. +* Keyboard Macro Registers:: Keyboard macros in registers. +* Bookmarks:: Bookmarks are like registers, but persistent. Controlling the Display diff --git a/doc/emacs/regs.texi b/doc/emacs/regs.texi index 77545dff5b2..bc6bcb3799f 100644 --- a/doc/emacs/regs.texi +++ b/doc/emacs/regs.texi @@ -41,6 +41,7 @@ this chapter. * Configuration Registers:: Saving window configurations in registers. * Number Registers:: Numbers in registers. * File Registers:: File names in registers. +* Keyboard Macro Registers:: Keyboard macros in registers. * Bookmarks:: Bookmarks are like registers, but persistent. @end menu @@ -251,6 +252,23 @@ puts the file name shown in register @samp{z}. @var{r}}. (This is the same command used to jump to a position or restore a frame configuration.) +@node Keyboard Macro Registers +@section Keyboard Macro Registers +@cindex saving keyboard macro in a register +@cindex keyboard macros, in registers + +@kindex C-x C-k x +@findex kmacro-to-register + If you execute certain keyboard macros (@pxref{Keyboard Macros}) +frequently, you can execute them more conveniently if putting them in +registers or save them (@pxref{Save Keyboard Macro}). @kbd{C-x C-k x +@var{r}} (@code{kmacro-to-register}) stores the last keyboard macro in +register @var{r}. + + To execute the keyboard macro in register @var{r}, type @kbd{C-x r j +@var{r}}. (This is the same command used to jump to a position or +restore a frameset.) + @node Bookmarks @section Bookmarks @cindex bookmarks -- cgit v1.2.1 From c9832cd81039676761e5c40d5ed939435f1b0c56 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 22 Dec 2013 11:36:04 +0800 Subject: Document `debugger-toggle-locals'. * doc/lispref/debugging.texi (Debugger Commands): Document `debugger-toggle-locals'. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/debugging.texi | 5 +++++ 2 files changed, 9 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index ccd236403b8..540ac07bf9f 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-12-22 Xue Fuqiao + + * debugging.texi (Debugger Commands): Document `debugger-toggle-locals'. + 2013-12-21 Chong Yidong * text.texi (Region Indent): Note the new interactive behavior of diff --git a/doc/lispref/debugging.texi b/doc/lispref/debugging.texi index 335e3f802d2..6cbc0b48b5e 100644 --- a/doc/lispref/debugging.texi +++ b/doc/lispref/debugging.texi @@ -388,6 +388,7 @@ the same function. (To do this, visit the source for the function and type @kbd{C-M-x} on its definition.) You cannot use the Lisp debugger to step through a primitive function. +@c FIXME: Add @findex for the following commands? --xfq Here is a list of Debugger mode commands: @table @kbd @@ -462,6 +463,10 @@ This is a list of functions that are set to break on entry by means of @code{debug-on-entry}. @strong{Warning:} if you redefine such a function and thus cancel the effect of @code{debug-on-entry}, it may erroneously show up in this list. + +@item v +Display local variables (@pxref{Local Variables}) of the current stack +frame. Press @kbd{e} again to hide them. @end table @node Invoking the Debugger -- cgit v1.2.1 From 44b9b800f1c67e89d1fe1442c68a1530a8e070d7 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 22 Dec 2013 12:55:31 +0800 Subject: Another NEWS mark. --- doc/emacs/ChangeLog | 2 ++ doc/emacs/display.texi | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 5c66a2a6ea6..de8dea74501 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,7 @@ 2013-12-22 Xue Fuqiao + * display.texi (Optional Mode Line): Fix an index. + * regs.texi (File Registers): Document `kmacro-to-register'. * indent.texi (Tab Stops): Mention recent changes about `tab-stop-list'. diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index 940e6d40d82..5b960615c00 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi @@ -1325,7 +1325,7 @@ specify the mail file to check, or set for incoming mail (any nonempty regular file in the directory is considered as ``newly arrived mail''). -@cindex mail (on mode line) +@cindex battery status (on mode line) @findex display-battery-mode @vindex display-battery-mode @vindex battery-mode-line-format -- cgit v1.2.1 From 8d3c54a0b225a159002c92bd13ebe1086857dac2 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 22 Dec 2013 13:20:03 +0800 Subject: Document image-{next, previous}-file, plus some minor tweak. --- doc/emacs/ChangeLog | 2 ++ doc/emacs/files.texi | 8 +++++++- 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index de8dea74501..64b77d9c1da 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,7 @@ 2013-12-22 Xue Fuqiao + * files.texi (File Conveniences): Document `image-next-file' and `image-previous-file'. + * display.texi (Optional Mode Line): Fix an index. * regs.texi (File Registers): Document `kmacro-to-register'. diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index 4117248cbe4..c28a30bf823 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi @@ -1944,6 +1944,8 @@ point. Partial Completion mode offers other features extending @findex image-mode @findex image-toggle-display @findex image-toggle-animation +@findex image-next-file +@findex image-previous-file @cindex images, viewing @cindex image animation @cindex animated images @@ -1955,7 +1957,11 @@ Displaying the file as an image works only if Emacs is compiled with support for displaying such images. If the displayed image is wider or taller than the frame, the usual point motion keys (@kbd{C-f}, @kbd{C-p}, and so forth) cause different parts of the image to be -displayed. If the image can be animated, the command @kbd{RET} +displayed. You can press @kbd{n} (@code{image-next-file}) and @kbd{p} +(@code{image-previous-file}) to visit the next image file and the +previous image file in the same directory, respectively. + +If the image can be animated, the command @kbd{RET} (@code{image-toggle-animation}) starts or stops the animation. Animation plays once, unless the option @code{image-animate-loop} is non-@code{nil}. -- cgit v1.2.1 From 07e9eaa2dc08892075f110a30c768a7751da083c Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 22 Dec 2013 13:36:29 +0800 Subject: Document `isearch-forward-symbol-at-point'. * doc/emacs/search.texi (Symbol Search): Document `isearch-forward-symbol-at-point'. --- doc/emacs/ChangeLog | 2 ++ doc/emacs/search.texi | 10 ++++++++-- 2 files changed, 10 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 64b77d9c1da..fbc7da4b1c7 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,7 @@ 2013-12-22 Xue Fuqiao + * search.texi (Symbol Search): Document `isearch-forward-symbol-at-point'. + * files.texi (File Conveniences): Document `image-next-file' and `image-previous-file'. * display.texi (Optional Mode Line): Fix an index. diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi index 13e61b70264..16eed9b16dc 100644 --- a/doc/emacs/search.texi +++ b/doc/emacs/search.texi @@ -506,6 +506,9 @@ searching source code. If incremental search is active, toggle symbol search mode (@code{isearch-toggle-symbol}); otherwise, begin an incremental forward symbol search (@code{isearch-forward-symbol}). +@item M-s . +Start a symbol incremental search forward with the symbol found near +point added to the search string initially. @item M-s _ @key{RET} @var{symbol} @key{RET} Search forward for @var{symbol}, nonincrementally. @item M-s _ C-r @key{RET} @var{symbol} @key{RET} @@ -513,9 +516,12 @@ Search backward for @var{symbol}, nonincrementally. @end table @kindex M-s _ +@kindex M-s . @findex isearch-forward-symbol - To begin a forward incremental symbol search, type @kbd{M-s _}. If -incremental search is not already active, this runs the command +@findex isearch-forward-symbol-at-point + To begin a forward incremental symbol search, type @kbd{M-s _} (or +@kbd{M-s .} if the symbol to search is near point). If incremental +search is not already active, this runs the command @code{isearch-forward-symbol}. If incremental search is already active, @kbd{M-s _} switches to a symbol search, preserving the direction of the search and the current search string; you can disable -- cgit v1.2.1 From 57b837ab5f6d61bb52270b2bbc25bcf517d4e345 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 22 Dec 2013 13:57:32 +0800 Subject: Document negative argument of replacement commands. * doc/emacs/search.texi (Special Isearch): (Query Replace): Document negative argument of replacement commands. --- doc/emacs/ChangeLog | 4 +++- doc/emacs/search.texi | 7 ++++--- 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index fbc7da4b1c7..2af2d5daa70 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,6 +1,8 @@ 2013-12-22 Xue Fuqiao - * search.texi (Symbol Search): Document `isearch-forward-symbol-at-point'. + * search.texi (Special Isearch): + (Query Replace): Document negative argument of replacement commands. + (Symbol Search): Document `isearch-forward-symbol-at-point'. * files.texi (File Conveniences): Document `image-next-file' and `image-previous-file'. diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi index 16eed9b16dc..a7c40000233 100644 --- a/doc/emacs/search.texi +++ b/doc/emacs/search.texi @@ -272,8 +272,8 @@ current buffer afterwards. @kindex M-% @r{(Incremental search)} Typing @kbd{M-%} in incremental search invokes @code{query-replace} or @code{query-replace-regexp} (depending on search mode) with the -current search string used as the string to replace. @xref{Query -Replace}. +current search string used as the string to replace. A negative +prefix argument means to replace backward. @xref{Query Replace}. @kindex M-TAB @r{(Incremental search)} Typing @kbd{M-@key{TAB}} in incremental search invokes @@ -1243,7 +1243,8 @@ occurrence and asks you whether to replace it. Aside from querying, (@pxref{Unconditional Replace}). In particular, it preserves case provided @code{case-replace} is non-@code{nil}, as it normally is (@pxref{Replacement and Case}). A numeric argument means to consider -only occurrences that are bounded by word-delimiter characters. +only occurrences that are bounded by word-delimiter characters. A +negative prefix argument replaces backward. @kindex C-M-% @findex query-replace-regexp -- cgit v1.2.1 From b345c561829091aec1ad9cd327ca5a97d1050e80 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 22 Dec 2013 14:15:17 +0800 Subject: Document `enable-dir-local-variables'. * doc/lispref/variables.texi (Directory Local Variables): Document `enable-dir-local-variables'. --- doc/lispref/ChangeLog | 2 ++ doc/lispref/variables.texi | 6 ++++++ 2 files changed, 8 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 540ac07bf9f..14facae6ba5 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,5 +1,7 @@ 2013-12-22 Xue Fuqiao + * variables.texi (Directory Local Variables): Document `enable-dir-local-variables'. + * debugging.texi (Debugger Commands): Document `debugger-toggle-locals'. 2013-12-21 Chong Yidong diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi index 866f3774999..941b2d880e4 100644 --- a/doc/lispref/variables.texi +++ b/doc/lispref/variables.texi @@ -1834,6 +1834,12 @@ modification times of the associated directory local variables file updates this list. @end defvar +@defvar enable-dir-local-variables +If @code{nil}, directory-local variables are ignored. This variable +may be useful for modes that want to ignore directory-locals while +still respecting file-local variables (@pxref{File Local Variables}). +@end defvar + @node Variable Aliases @section Variable Aliases @cindex variable aliases -- cgit v1.2.1 From 05e8f1ae2e6c55b59da6dd508d3e48cc7807dfc9 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 22 Dec 2013 14:25:57 +0800 Subject: Document `get-pos-property'. * doc/lispref/text.texi (Examining Properties): Document `get-pos-property'. --- doc/lispref/ChangeLog | 2 ++ doc/lispref/text.texi | 7 +++++++ 2 files changed, 9 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 14facae6ba5..a92ae299250 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,5 +1,7 @@ 2013-12-22 Xue Fuqiao + * text.texi (Examining Properties): Document `get-pos-property'. + * variables.texi (Directory Local Variables): Document `enable-dir-local-variables'. * debugging.texi (Debugger Commands): Document `debugger-toggle-locals'. diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index 1deb4a6530a..0ddff24aa15 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -2679,6 +2679,13 @@ followed by the text properties. If @var{object} is a string, only text properties are considered, since strings never have overlays. @end defun +@defun get-pos-property position prop &optional object +This function is like @code{get-char-property}, except that it pays +attention to properties' stickiness and overlays' advancement settings +instead of the property of the character at (i.e. right after) +@var{position}. +@end defun + @defun get-char-property-and-overlay position prop &optional object This is like @code{get-char-property}, but gives extra information about the overlay that the property value comes from. -- cgit v1.2.1 From 8fc36a68035c3145d90460de481aa78eda3c8d86 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 22 Dec 2013 15:11:05 +0800 Subject: Document new bool-vector set operation functions. * doc/lispref/sequences.texi (Bool-Vectors): Document new bool-vector set operation functions. --- doc/lispref/ChangeLog | 2 ++ doc/lispref/sequences.texi | 48 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 50 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index a92ae299250..d03f6ae39da 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,5 +1,7 @@ 2013-12-22 Xue Fuqiao + * sequences.texi (Bool-Vectors): Document new bool-vector set operation functions. + * text.texi (Examining Properties): Document `get-pos-property'. * variables.texi (Directory Local Variables): Document `enable-dir-local-variables'. diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi index 00384de7ec8..acf8cb38ade 100644 --- a/doc/lispref/sequences.texi +++ b/doc/lispref/sequences.texi @@ -711,6 +711,54 @@ each one initialized to @var{initial}. @defun bool-vector-p object This returns @code{t} if @var{object} is a bool-vector, and @code{nil} otherwise. +@end defun + +There are also some bool-vector set operation functions, described below: + +@defun bool-vector-exclusive-or a b &optional c +Return @dfn{bitwise exclusive or} of bool vectors @var{a} and @var{b}. +If optional argument @var{c} is given, the result of this operation is +stored into @var{c}. All arguments should be bool vectors of the same length. +@end defun + +@defun bool-vector-union a b &optional c +Return @dfn{bitwise or} of bool vectors @var{a} and @var{b}. If +optional argument @var{c} is given, the result of this operation is +stored into @var{c}. All arguments should be bool vectors of the same length. +@end defun + +@defun bool-vector-intersection a b &optional c +Return @dfn{bitwise and} of bool vectors @var{a} and @var{b}. If +optional argument @var{c} is given, the result of this operation is +stored into @var{c}. All arguments should be bool vectors of the same length. +@end defun + +@defun bool-vector-set-difference a b &optional c +Return @dfn{set difference} of bool vectors @var{a} and @var{b}. If +optional argument @var{c} is given, the result of this operation is +stored into @var{c}. All arguments should be bool vectors of the same length. +@end defun + +@defun bool-vector-not a &optional b +Return @dfn{set complement} of bool vector @var{a}. If optional +argument @var{b} is given, the result of this operation is stored into +@var{b}. All arguments should be bool vectors of the same length. +@end defun + +@defun bool-vector-subsetp a b +Return @code{t} if every @code{t} value in @var{a} is also t in +@var{b}, nil otherwise. All arguments should be bool vectors of the +same length. +@end defun + +@defun bool-vector-count-consecutive a b i +Return the number of consecutive elements in @var{a} equal @var{b} +starting at @var{i}. @code{a} is a bool vector, @var{b} is @code{t} +or @code{nil}, and @var{i} is an index into @code{a}. +@end defun + +@defun bool-vector-count-population a +Return the number of elements that are @code{t} in bool vector @var{a}. @end defun Here is an example of creating, examining, and updating a -- cgit v1.2.1 From 77e5bcc52eadbcfc8e6d9a463782c04f5dc63c25 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sun, 22 Dec 2013 20:02:37 +0200 Subject: Fix bug #16216 with 'name' Unicode property of control characters. admin/unidata/unidata-gen.el (unidata-split-name): Don't give any NAME to characters: the Unicode Standard says they have no name. doc/lispref/nonascii.texi (Character Properties): NAME or OLD-NAME properties can be nil (there's no empty string). --- doc/lispref/ChangeLog | 14 +++++++++++--- doc/lispref/nonascii.texi | 5 +++-- 2 files changed, 14 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index d03f6ae39da..c0a3c81e926 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,12 +1,20 @@ +2013-12-22 Eli Zaretskii + + * nonascii.texi (Character Properties): NAME or OLD-NAME + properties can be nil (there's no empty string). + 2013-12-22 Xue Fuqiao - * sequences.texi (Bool-Vectors): Document new bool-vector set operation functions. + * sequences.texi (Bool-Vectors): Document new bool-vector set + operation functions. * text.texi (Examining Properties): Document `get-pos-property'. - * variables.texi (Directory Local Variables): Document `enable-dir-local-variables'. + * variables.texi (Directory Local Variables): Document + `enable-dir-local-variables'. - * debugging.texi (Debugger Commands): Document `debugger-toggle-locals'. + * debugging.texi (Debugger Commands): Document + `debugger-toggle-locals'. 2013-12-21 Chong Yidong diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index 4132c1f8de0..ee4c8b77f3d 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -440,7 +440,7 @@ properties that Emacs knows about: Corresponds to the @code{Name} Unicode property. The value is a string consisting of upper-case Latin letters A to Z, digits, spaces, and hyphen @samp{-} characters. For unassigned codepoints, the value -is an empty string. +is @code{nil}. @cindex unicode general category @item general-category @@ -522,7 +522,8 @@ is @code{nil}. @item old-name Corresponds to the Unicode @code{Unicode_1_Name} property. The value -is a string. For unassigned codepoints, the value is an empty string. +is a string. Unassigned codepoints, and characters that have no value +for this property, the value is @code{nil}. @item iso-10646-comment Corresponds to the Unicode @code{ISO_Comment} property. The value is -- cgit v1.2.1 From a9877c32e32d45f25f9fd64a03c0b73a587a455d Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sun, 22 Dec 2013 20:17:20 +0200 Subject: Update UCD reference in ELisp manual. --- doc/lispref/ChangeLog | 1 + doc/lispref/nonascii.texi | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index c0a3c81e926..508eb2718a4 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -2,6 +2,7 @@ * nonascii.texi (Character Properties): NAME or OLD-NAME properties can be nil (there's no empty string). + (Character Properties): Update the reference to the UCD. 2013-12-22 Xue Fuqiao diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index ee4c8b77f3d..ddbb5aeaa6b 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -409,7 +409,7 @@ of character properties. In particular, Emacs supports the @uref{http://www.unicode.org/reports/tr23/, Unicode Character Property Model}, and the Emacs character property database is derived from the Unicode Character Database (@acronym{UCD}). See the -@uref{http://www.unicode.org/versions/Unicode5.0.0/ch04.pdf, Character +@uref{http://www.unicode.org/versions/Unicode6.2.0/ch04.pdf, Character Properties chapter of the Unicode Standard}, for a detailed description of Unicode character properties and their meaning. This section assumes you are already familiar with that chapter of the -- cgit v1.2.1 From 569c1c6ea15600c76df0e8532b91c439915fa127 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sun, 22 Dec 2013 20:31:38 +0200 Subject: Fix last commit in doc/emacs/regs.texi. --- doc/emacs/ChangeLog | 10 ++++++++-- doc/emacs/regs.texi | 10 +++++----- 2 files changed, 13 insertions(+), 7 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 2af2d5daa70..92aef049a83 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,10 +1,15 @@ +2013-12-22 Eli Zaretskii + + * regs.texi (Keyboard Macro Registers): Fix last change. + 2013-12-22 Xue Fuqiao * search.texi (Special Isearch): (Query Replace): Document negative argument of replacement commands. (Symbol Search): Document `isearch-forward-symbol-at-point'. - * files.texi (File Conveniences): Document `image-next-file' and `image-previous-file'. + * files.texi (File Conveniences): Document `image-next-file' and + `image-previous-file'. * display.texi (Optional Mode Line): Fix an index. @@ -12,7 +17,8 @@ * indent.texi (Tab Stops): Mention recent changes about `tab-stop-list'. - * frames.texi (Scroll Bars): Document `scroll-bar-adjust-thumb-portion'. + * frames.texi (Scroll Bars): Document + `scroll-bar-adjust-thumb-portion'. 2013-12-21 Chong Yidong diff --git a/doc/emacs/regs.texi b/doc/emacs/regs.texi index bc6bcb3799f..998d194a8e4 100644 --- a/doc/emacs/regs.texi +++ b/doc/emacs/regs.texi @@ -259,11 +259,11 @@ restore a frame configuration.) @kindex C-x C-k x @findex kmacro-to-register - If you execute certain keyboard macros (@pxref{Keyboard Macros}) -frequently, you can execute them more conveniently if putting them in -registers or save them (@pxref{Save Keyboard Macro}). @kbd{C-x C-k x -@var{r}} (@code{kmacro-to-register}) stores the last keyboard macro in -register @var{r}. + If you need to execute a keyboard macro (@pxref{Keyboard Macros}) +frequently, it is more convenient to put it in a register or save it +(@pxref{Save Keyboard Macro}). @kbd{C-x C-k x @var{r}} +(@code{kmacro-to-register}) stores the last keyboard macro in register +@var{r}. To execute the keyboard macro in register @var{r}, type @kbd{C-x r j @var{r}}. (This is the same command used to jump to a position or -- cgit v1.2.1 From 91dedc43f25e55b940d333ac9b341945d6b76132 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sun, 22 Dec 2013 15:13:18 -0800 Subject: Misc small fixes for some recent doc changes * doc/emacs/calendar.texi (General Calendar): * doc/emacs/rmail.texi (Rmail Scrolling): * doc/misc/woman.texi (Navigation): Use itemx where appropriate. * doc/emacs/entering.texi (Entering Emacs): Typo fix. --- doc/emacs/ChangeLog | 17 +++++++++-------- doc/emacs/calendar.texi | 2 +- doc/emacs/entering.texi | 2 +- doc/emacs/rmail.texi | 2 +- doc/misc/ChangeLog | 10 ++++++---- doc/misc/woman.texi | 2 +- 6 files changed, 19 insertions(+), 16 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 92aef049a83..cb6bcbb7bff 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,10 @@ +2013-12-22 Glenn Morris + + * entering.texi (Entering Emacs): Typo fix. + + * calendar.texi (General Calendar): + * rmail.texi (Rmail Scrolling): Use itemx where appropriate. + 2013-12-22 Eli Zaretskii * regs.texi (Keyboard Macro Registers): Fix last change. @@ -26,14 +33,8 @@ 2013-12-20 Tassilo Horn - * rmail.texi: Document `S-SPC' as alternative to scrolling down - with `DEL'. - - * help.texi: Ditto. - - * display.texi: Ditto. - - * calendar.texi: Ditto. + * calendar.texi, display.texi, help.texi, rmail.texi: + Document `S-SPC' as alternative to scrolling down with `DEL'. * frames.texi: Document `toggle-frame-maximized' and `toggle-frame-fullscreen' with their respective keys. diff --git a/doc/emacs/calendar.texi b/doc/emacs/calendar.texi index 2d4c3a6919d..ab28fc5adc9 100644 --- a/doc/emacs/calendar.texi +++ b/doc/emacs/calendar.texi @@ -304,7 +304,7 @@ Regenerate the calendar window (@code{calendar-redraw}). @item SPC Scroll the next window up (@code{scroll-other-window}). @item DEL -@item S-SPC +@itemx S-SPC Scroll the next window down (@code{scroll-other-window-down}). @item q Exit from calendar (@code{calendar-exit}). diff --git a/doc/emacs/entering.texi b/doc/emacs/entering.texi index 66b90d14476..c0b113e963f 100644 --- a/doc/emacs/entering.texi +++ b/doc/emacs/entering.texi @@ -74,7 +74,7 @@ up before reading @file{site-start.el}. @xref{Init File}, for information about @file{site-start.el}.} You can also force Emacs to display a file or directory at startup -by setting the variable @code{initial-buffer-choice} to a a string +by setting the variable @code{initial-buffer-choice} to a string naming that file or directory. The value of @code{initial-buffer-choice} may also be a function which should return a buffer which is then displayed. @code{initial-buffer-choice} diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi index 945eb6b8b76..06d47439904 100644 --- a/doc/emacs/rmail.texi +++ b/doc/emacs/rmail.texi @@ -101,7 +101,7 @@ frequent that it deserves to be easier. @item @key{SPC} Scroll forward (@code{scroll-up-command}). @item @key{DEL} -@item @key{S-SPC} +@itemx @key{S-SPC} Scroll backward (@code{scroll-down-command}). @item . Scroll to start of message (@code{rmail-beginning-of-message}). diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 47dd91aa051..c7986b3ba93 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,9 +1,11 @@ -2013-12-20 Tassilo Horn +2013-12-22 Glenn Morris + + * woman.texi (Navigation): Use itemx where appropriate. - * info.texi: Document `S-SPC' as alternative to `DEL' for - scrolling. +2013-12-20 Tassilo Horn - * woman.texi: Ditto. + * info.texi, woman.texi: + Document `S-SPC' as alternative to `DEL' for scrolling. 2013-12-20 Jay Belanger diff --git a/doc/misc/woman.texi b/doc/misc/woman.texi index 839f1ab2665..df67f02119c 100644 --- a/doc/misc/woman.texi +++ b/doc/misc/woman.texi @@ -629,7 +629,7 @@ the @code{man} key bindings. Scroll the man page up the window (@code{scroll-up}). @item @key{DEL} -@item @key{S-SPC} +@itemx @key{S-SPC} @kindex DEL @kindex S-SPC @findex scroll-down -- cgit v1.2.1 From bb962da29aed412d70ac4b0b02bb343eb133dc88 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Mon, 23 Dec 2013 07:19:42 +0800 Subject: Document `hash-table-keys and `hash-table-values'. * doc/lispref/hash.texi (Other Hash): Document `hash-table-keys and `hash-table-values'. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/hash.texi | 11 +++++++++++ 2 files changed, 15 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 508eb2718a4..96fdb94ca20 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-12-22 Xue Fuqiao + + * hash.texi (Other Hash): Document `hash-table-keys and `hash-table-values'. + 2013-12-22 Eli Zaretskii * nonascii.texi (Character Properties): NAME or OLD-NAME diff --git a/doc/lispref/hash.texi b/doc/lispref/hash.texi index 655f31ab114..56037acaf75 100644 --- a/doc/lispref/hash.texi +++ b/doc/lispref/hash.texi @@ -353,3 +353,14 @@ This returns the rehash threshold of @var{table}. @defun hash-table-size table This returns the current nominal size of @var{table}. @end defun + +The following two functions are provided by the @file{subr-x} library. +To use them, you need to load this library first. + +@defun hash-table-keys hash-table +This returns a list of keys in @var{hash-table}. +@end defun + +@defun hash-table-values hash-table +This returns a list of values in @var{hash-table}. +@end defun -- cgit v1.2.1 From aec3bf9f49c8c0d0356a0e57f362bd0e23206e7d Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sun, 22 Dec 2013 18:54:28 -0800 Subject: Some documenting of load-prefer-newer * doc/lispref/loading.texi (How Programs Do Loading, Load Suffixes): Mention `load-prefer-newer'. * src/lread.c (Fload): Mention load-prefer-newer in doc. --- doc/lispref/ChangeLog | 16 +++++++++++----- doc/lispref/loading.texi | 10 ++++++++++ 2 files changed, 21 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 96fdb94ca20..dbe148dbcf8 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,6 +1,12 @@ +2013-12-23 Glenn Morris + + * loading.texi (How Programs Do Loading, Load Suffixes): + Mention `load-prefer-newer'. + 2013-12-22 Xue Fuqiao - * hash.texi (Other Hash): Document `hash-table-keys and `hash-table-values'. + * hash.texi (Other Hash): Document `hash-table-keys' + and `hash-table-values'. 2013-12-22 Eli Zaretskii @@ -15,11 +21,11 @@ * text.texi (Examining Properties): Document `get-pos-property'. - * variables.texi (Directory Local Variables): Document - `enable-dir-local-variables'. + * variables.texi (Directory Local Variables): + Document `enable-dir-local-variables'. - * debugging.texi (Debugger Commands): Document - `debugger-toggle-locals'. + * debugging.texi (Debugger Commands): + Document `debugger-toggle-locals'. 2013-12-21 Chong Yidong diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi index 48866a10687..d1bcfd26a0b 100644 --- a/doc/lispref/loading.texi +++ b/doc/lispref/loading.texi @@ -93,6 +93,10 @@ If the optional argument @var{must-suffix} is non-@code{nil}, then @samp{.el} or @samp{.elc} (possibly extended with a compression suffix), unless it contains an explicit directory name. +If the option @code{load-prefer-newer} is non-@code{nil}, then when +searching suffixes, @code{load} selects whichever version of a file +(@samp{.elc}, @samp{.el}, etc.) has been modified most recently. + If @var{filename} is a relative file name, such as @file{foo} or @file{baz/foo.bar}, @code{load} searches for the file using the variable @code{load-path}. It appends @var{filename} to each of the directories @@ -246,6 +250,12 @@ value of @code{(get-load-suffixes)} and then those in it skips the former group, and if @var{must-suffix} is non-@code{nil}, it skips the latter group. +@defopt load-prefer-newer +If this option is non-@code{nil}, then rather than stopping at the +first suffix that exists, @code{load} tests them all, and uses +whichever file is the newest. +@end defopt + @node Library Search @section Library Search @cindex library search -- cgit v1.2.1 From 8cd22a0818f3ed6832d4caa1883b32bab3107b54 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 23 Dec 2013 11:59:10 +0800 Subject: Rename set-temporary-overlay-map -> set-transient-map * lisp/subr.el (set-transient-map): Rename from set-temporary-overlay-map. Doc fix. * lisp/face-remap.el (text-scale-adjust): * lisp/indent.el (indent-rigidly): * lisp/kmacro.el (kmacro-call-macro): * lisp/minibuffer.el (minibuffer-force-complete): * lisp/repeat.el (repeat): * lisp/simple.el (universal-argument--mode): * lisp/calendar/todo-mode.el (todo-insert-item--next-param): * lisp/progmodes/f90.el (f90-abbrev-start): Callers changed. * lisp/org/org.el (orgstruct-make-binding): Call set-transient-map instead of old name set-temporary-overlay-map. * doc/lispref/keymaps.texi (Controlling Active Maps): Renamed set-temporary-overlay-map to set-transient map. Doc fixes. (Searching Keymaps): The transient keymap takes precedence. --- doc/lispref/ChangeLog | 6 +++++ doc/lispref/keymaps.texi | 57 +++++++++++++++++++++++++++++------------------- 2 files changed, 40 insertions(+), 23 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index dbe148dbcf8..aae5a1a6cc2 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,9 @@ +2013-12-23 Chong Yidong + + * keymaps.texi (Controlling Active Maps): Renamed + set-temporary-overlay-map to set-transient map. Doc fixes. + (Searching Keymaps): The transient keymap takes precedence. + 2013-12-23 Glenn Morris * loading.texi (How Programs Do Loading, Load Suffixes): diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi index 855420a70c9..86e205cf14d 100644 --- a/doc/lispref/keymaps.texi +++ b/doc/lispref/keymaps.texi @@ -747,13 +747,13 @@ pseudo-Lisp description of the order and conditions for searching them: @lisp -(or (cond +(or (@var{find-in} @var{transient-map}) + (cond (overriding-terminal-local-map (@var{find-in} overriding-terminal-local-map)) (overriding-local-map (@var{find-in} overriding-local-map)) ((or (@var{find-in} (get-char-property (point) 'keymap)) - (@var{find-in} @var{temp-map}) (@var{find-in-any} emulation-mode-map-alists) (@var{find-in-any} minor-mode-overriding-map-alist) (@var{find-in-any} minor-mode-map-alist) @@ -764,14 +764,17 @@ them: @end lisp @noindent -@var{find-in} and @var{find-in-any} are pseudo functions that search -in one keymap and in an alist of keymaps, respectively. (Searching a -single keymap for a binding is called @dfn{key lookup}; see @ref{Key -Lookup}.) If the key sequence starts with a mouse event, that event's position -is used instead of point and the current buffer. Mouse events on an -embedded string use non-@code{nil} text properties from that string -instead of the buffer. @var{temp-map} is a pseudo variable that -represents the effect of a @code{set-temporary-overlay-map} call. +Here, @var{find-in} and @var{find-in-any} are pseudo functions that +search in one keymap and in an alist of keymaps, respectively. +(Searching a single keymap for a binding is called @dfn{key lookup}; +see @ref{Key Lookup}.) @var{transient-map} is a pseudo variable that +represents the effect of a @code{set-transient-map} call +(@pxref{Controlling Active Maps}). + + In the above pseudo-code, if a key sequence starts with a mouse +event, that event's position is used instead of point and the current +buffer. Mouse events on an embedded string use non-@code{nil} text +properties from that string instead of the buffer. When a match is found (@pxref{Key Lookup}), if the binding in the keymap is a function, the search is over. However if the keymap entry @@ -951,19 +954,27 @@ are used before @code{minor-mode-map-alist} and @code{minor-mode-overriding-map-alist}. @end defvar -@defun set-temporary-overlay-map keymap &optional keep -This function adds @var{keymap} as a temporary keymap that takes -precedence over most other keymaps. It does not take precedence over -the ``overriding'' maps (see above); and unlike them, if no match for -a key is found in @var{keymap}, the search continues. - -Normally, @var{keymap} is used only once. If the optional argument -@var{pred} is @code{t}, the map stays active if a key from @var{keymap} -is used. @var{pred} can also be a function of no arguments: if it returns -non-@code{nil} then @var{keymap} stays active. - -For a pseudo-Lisp description of exactly how and when this keymap applies, -@pxref{Searching Keymaps}. +@cindex transient keymap +@defun set-transient-map keymap &optional keep +This function adds @var{keymap} as a @dfn{transient} keymap, which +takes precedence over other keymaps for one (or more) subsequent keys. + +Normally, @var{keymap} is used just once, to look up the very next +key. If the optional argument @var{pred} is @code{t}, the map stays +active as long as the user types keys defined in @var{keymap}; when +the user types a key that is not in @var{keymap}, the transient keymap +is deactivated and normal key lookup continues for that key. + +The @var{pred} argument can also be a function. In that case, the +function is called with no arguments, prior to running each command, +while @var{keymap} is active; it should return non-@code{nil} if +@var{keymap} should stay active. + +The transient keymap takes precedence over the ``overriding'' maps +(see above); and unlike them, if no match for a key is found in +@var{keymap}, the key lookup process continues. For a pseudo-Lisp +description of exactly how and when this keymap applies, +@xref{Searching Keymaps}. @end defun @node Key Lookup -- cgit v1.2.1 From 46291d111fe5c915099ab38cc54b07ebc82bcea0 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Mon, 23 Dec 2013 15:55:08 +0800 Subject: Document TRIM in `split-string'. * doc/lispref/strings.texi (Creating Strings): Document TRIM in `split-string'. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/strings.texi | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index aae5a1a6cc2..c598cf0f5aa 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-12-23 Xue Fuqiao + + * strings.texi (Creating Strings): Document TRIM in `split-string'. + 2013-12-23 Chong Yidong * keymaps.texi (Controlling Active Maps): Renamed diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi index 340115062f9..0fe319d97fb 100644 --- a/doc/lispref/strings.texi +++ b/doc/lispref/strings.texi @@ -268,7 +268,7 @@ string to be used as a shell command, see @ref{Shell Arguments, combine-and-quote-strings}. @end defun -@defun split-string string &optional separators omit-nulls +@defun split-string string &optional separators omit-nulls trim This function splits @var{string} into substrings based on the regular expression @var{separators} (@pxref{Regular Expressions}). Each match for @var{separators} defines a splitting point; the substrings between @@ -350,6 +350,11 @@ practice: @result{} ("o" "o" "o") @end example +If the optional argument @var{trim} is non-@code{nil}, it should be a +regular expression to match text to trim from the beginning and end of +each substring. If trimming makes the substring empty, it is treated +as null. + If you need to split a string into a list of individual command-line arguments suitable for @code{call-process} or @code{start-process}, see @ref{Shell Arguments, split-string-and-unquote}. -- cgit v1.2.1 From 882b0b86e634c7677ee2829c607affe7385c758a Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Mon, 23 Dec 2013 16:50:31 +0800 Subject: Fix an argument of `copy-file'. * doc/lispref/files.texi (Changing Files): Fix an argument of `copy-file'. --- doc/lispref/ChangeLog | 2 ++ doc/lispref/files.texi | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index c598cf0f5aa..6fd0f6a271b 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,5 +1,7 @@ 2013-12-23 Xue Fuqiao + * files.texi (Changing Files): Fix an argument of `copy-file'. + * strings.texi (Creating Strings): Document TRIM in `split-string'. 2013-12-23 Chong Yidong diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 944a1e37cc4..c1eae5eefa3 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -1550,7 +1550,7 @@ with @code{add-name-to-file} and then deleting @var{filename} has the same effect as renaming, aside from momentary intermediate states. @end deffn -@deffn Command copy-file oldname newname &optional ok-if-exists time preserve-uid-gid preserve-selinux +@deffn Command copy-file oldname newname &optional ok-if-exists time preserve-uid-gid preserve-extended-attributes This command copies the file @var{oldname} to @var{newname}. An error is signaled if @var{oldname} does not exist. If @var{newname} names a directory, it copies @var{oldname} into that directory, -- cgit v1.2.1 From 2d778742a406e5d099c281943b78115768867690 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Mon, 23 Dec 2013 19:27:29 +0800 Subject: Document `special-form-p' and `macrop'. * doc/lispref/eval.texi (Special Forms): Document `special-form-p'. * doc/lispref/macros.texi (Simple Macro): Document `macrop'. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/eval.texi | 5 +++++ doc/lispref/macros.texi | 5 +++++ 3 files changed, 14 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 6fd0f6a271b..bee08a59072 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,5 +1,9 @@ 2013-12-23 Xue Fuqiao + * eval.texi (Special Forms): Document `special-form-p'. + + * macros.texi (Simple Macro): Document `macrop'. + * files.texi (Changing Files): Fix an argument of `copy-file'. * strings.texi (Creating Strings): Document TRIM in `split-string'. diff --git a/doc/lispref/eval.texi b/doc/lispref/eval.texi index 1139331f0ef..df30b909cbd 100644 --- a/doc/lispref/eval.texi +++ b/doc/lispref/eval.texi @@ -440,6 +440,11 @@ begins with @code{lambda} but is not a well-formed @code{lambda} expression, so Emacs may signal an error, or may return 3 or 4 or @code{nil}, or may behave in other ways. +@defun special-form-p object +This predicate tests whether its argument is a special form, and +returns @code{t} if so, @code{nil} otherwise. +@end defun + Here is a list, in alphabetical order, of all of the special forms in Emacs Lisp with a reference to where each is described. diff --git a/doc/lispref/macros.texi b/doc/lispref/macros.texi index a2526f383aa..53751b03774 100644 --- a/doc/lispref/macros.texi +++ b/doc/lispref/macros.texi @@ -55,6 +55,11 @@ expansion, which is @code{(setq x (1+ x))}. Once the macro definition returns this expansion, Lisp proceeds to evaluate it, thus incrementing @code{x}. +@defun macrop object +This predicate tests whether its argument is a macro, and returns +@code{t} if so, @code{nil} otherwise. +@end defun + @node Expansion @section Expansion of a Macro Call @cindex expansion of macros -- cgit v1.2.1 From a0f20f21e08af104e9e95498ea00b23059e3b056 Mon Sep 17 00:00:00 2001 From: Ted Zlatanov Date: Mon, 23 Dec 2013 07:50:47 -0500 Subject: Document `gnutls-verify-error'. * emacs-gnutls.texi (Help For Users): Document `gnutls-verify-error'. --- doc/misc/ChangeLog | 4 ++++ doc/misc/emacs-gnutls.texi | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index c7986b3ba93..03ff3d12dfe 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2013-12-23 Teodor Zlatanov + + * emacs-gnutls.texi (Help For Users): Document `gnutls-verify-error'. + 2013-12-22 Glenn Morris * woman.texi (Navigation): Use itemx where appropriate. diff --git a/doc/misc/emacs-gnutls.texi b/doc/misc/emacs-gnutls.texi index b1c4c13c5ff..369c6c3c3a1 100644 --- a/doc/misc/emacs-gnutls.texi +++ b/doc/misc/emacs-gnutls.texi @@ -132,6 +132,24 @@ know if you do, so we can make the change to benefit the other users of that platform. @end defvar +@defvar gnutls-verify-error +The @code{gnutls-verify-error} variable allows you to verify SSL/TLS +server certificates for all connections or by host name. It defaults +to @code{nil} for now but will likely be changed to @code{t} later, +meaning that all certificates will be verified. + +There are two checks available currently, that the certificate has +been issued by a trusted authority as defined by +@code{gnutls-trustfiles}, and that the hostname matches the +certificate. @code{t} enables both checks, but you can enable them +individually as well with @code{:trustfiles} and @code{:hostname} +instead. + +Because of the low-level interactions with the GnuTLS library, there +is no way currently to ask if a certificate can be accepted. You have +to look in the @code{*Messages*} buffer. +@end defvar + @defvar gnutls-min-prime-bits The @code{gnutls-min-prime-bits} variable is a pretty exotic customization for cases where you want to refuse handshakes with keys -- cgit v1.2.1 From 595c4578bd1c775e3338becab8c2b28a3417605f Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Mon, 23 Dec 2013 21:01:25 +0800 Subject: Minor doc fixes. * doc/emacs/misc.texi (Shell Mode): Add a cross-reference. * doc/emacs/building.texi (Lisp Eval): Add an index. --- doc/emacs/ChangeLog | 6 ++++++ doc/emacs/building.texi | 1 + doc/emacs/misc.texi | 4 ++-- 3 files changed, 9 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index cb6bcbb7bff..2c10713b191 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,9 @@ +2013-12-23 Xue Fuqiao + + * misc.texi (Shell Mode): Add a cross-reference. + + * building.texi (Lisp Eval): Add an index. + 2013-12-22 Glenn Morris * entering.texi (Entering Emacs): Typo fix. diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi index 1072d49ea20..22a51a2a13f 100644 --- a/doc/emacs/building.texi +++ b/doc/emacs/building.texi @@ -1422,6 +1422,7 @@ Emacs to crash. Set the variable @code{load-dangerous-libraries} to @section Evaluating Emacs Lisp Expressions @cindex Emacs Lisp mode @cindex mode, Emacs Lisp +@cindex evaluation, Emacs Lisp @findex emacs-lisp-mode Emacs Lisp mode is the major mode for editing Emacs Lisp. Its mode diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index d2dfe281d7c..a773ec022de 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi @@ -810,8 +810,8 @@ echoing. This is useful when a shell command runs a program that asks for a password. Please note that Emacs will not echo passwords by default. If you -really want them to be echoed, evaluate the following Lisp -expression: +really want them to be echoed, evaluate (@pxref{Lisp Eval}) the +following Lisp expression: @example (remove-hook 'comint-output-filter-functions -- cgit v1.2.1 From b7a017ad7d3f556e88ec4b21ec949e056b562066 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Mon, 23 Dec 2013 21:17:59 +0800 Subject: * doc/emacs/regs.texi (Bookmarks): Document `bookmark-default-file'. --- doc/emacs/ChangeLog | 2 ++ doc/emacs/regs.texi | 4 ++++ 2 files changed, 6 insertions(+) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 2c10713b191..80619f3a007 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,7 @@ 2013-12-23 Xue Fuqiao + * regs.texi (Bookmarks): Document `bookmark-default-file'. + * misc.texi (Shell Mode): Add a cross-reference. * building.texi (Lisp Eval): Add an index. diff --git a/doc/emacs/regs.texi b/doc/emacs/regs.texi index 998d194a8e4..daf4417f656 100644 --- a/doc/emacs/regs.texi +++ b/doc/emacs/regs.texi @@ -335,6 +335,10 @@ a number, says how many bookmark modifications should go by between saving. If you set this variable to @code{nil}, Emacs only saves bookmarks if you explicitly use @kbd{M-x bookmark-save}. +@vindex bookmark-default-file + The variable @code{bookmark-default-file} specifies the file in +which to save bookmarks by default. + @vindex bookmark-search-size Bookmark position values are saved with surrounding context, so that @code{bookmark-jump} can find the proper position even if the file is -- cgit v1.2.1 From 65faed732bd8faf0864f70351ff6312bc49f2f06 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Tue, 24 Dec 2013 11:07:21 +0800 Subject: * doc/emacs/trouble.texi (Understanding Bug Reporting): Minor update. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/trouble.texi | 7 +++++++ 2 files changed, 11 insertions(+) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 80619f3a007..09a8f1c8f0b 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-12-24 Xue Fuqiao + + * trouble.texi (Understanding Bug Reporting): Minor update. + 2013-12-23 Xue Fuqiao * regs.texi (Bookmarks): Document `bookmark-default-file'. diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi index 34783796899..083f211bd23 100644 --- a/doc/emacs/trouble.texi +++ b/doc/emacs/trouble.texi @@ -631,6 +631,13 @@ easily reproducible at all. In that case, you should report what you have---but, as before, please stick to the raw facts about what you did to trigger the bug the first time. + Please do not stack multiple issues into one report unless it is +really necessary. For example, jamming @code{electric-indent-mode} +and @code{electric-pair-mode} into one report, reporting multiple key +binding problems into one report (e.g., @kbd{C-i} doesn't indent the +current line, @code{M-h} doesn't set mark, etc.). Please make one +report for each individual problem. + @node Checklist @subsection Checklist for Bug Reports -- cgit v1.2.1 From 1139b0be8b1bc0d63420c69aaec0e2b0cb19d71d Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Tue, 24 Dec 2013 16:33:02 +0800 Subject: * doc/emacs/trouble.texi (Checklist): Fix a cross-reference. --- doc/emacs/ChangeLog | 1 + doc/emacs/trouble.texi | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 09a8f1c8f0b..00a6c6a29a1 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,6 +1,7 @@ 2013-12-24 Xue Fuqiao * trouble.texi (Understanding Bug Reporting): Minor update. + (Checklist): Fix a cross-reference. 2013-12-23 Xue Fuqiao diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi index 083f211bd23..52fd77ed978 100644 --- a/doc/emacs/trouble.texi +++ b/doc/emacs/trouble.texi @@ -852,9 +852,9 @@ To make a backtrace for the error, use @kbd{M-x toggle-debug-on-error} before the error happens (that is to say, you must give that command and then make the bug happen). This causes the error to start the Lisp debugger, which shows you a backtrace. Copy the text of the -debugger's backtrace into the bug report. @xref{Debugger,, The Lisp -Debugger, elisp, the Emacs Lisp Reference Manual}, for information on -debugging Emacs Lisp programs with the Edebug package. +debugger's backtrace into the bug report. @xref{Edebug,, Edebug, +elisp, the Emacs Lisp Reference Manual}, for information on debugging +Emacs Lisp programs with the Edebug package. This use of the debugger is possible only if you know how to make the bug happen again. If you can't make it happen again, at least copy -- cgit v1.2.1 From a956004715d4c299a12c6840eda514421e9c38e7 Mon Sep 17 00:00:00 2001 From: Tassilo Horn Date: Tue, 24 Dec 2013 16:30:59 +0100 Subject: Fix missing arg in pcase example. * doc/lispref/control.texi (Pattern matching case statement): Fix missing argument in simple expression language sample. Add some sample programs written in that language. Mention that `pcase' requires lexical binding. Fixes: debbugs:16238 --- doc/lispref/ChangeLog | 7 +++++++ doc/lispref/control.texi | 15 ++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index bee08a59072..b1c210834d2 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,10 @@ +2013-12-24 Tassilo Horn + + * control.texi (Pattern matching case statement): Fix missing + argument in simple expression language sample (Bug#16238). Add + some sample programs written in that language. Mention that + `pcase' requires lexical binding. + 2013-12-23 Xue Fuqiao * eval.texi (Special Forms): Document `special-form-p'. diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi index 34a02aab69d..a9e7236fc3a 100644 --- a/doc/lispref/control.texi +++ b/doc/lispref/control.texi @@ -328,7 +328,7 @@ expression language could look like: (defun evaluate (exp env) (pcase exp (`(add ,x ,y) (+ (evaluate x env) (evaluate y env))) - (`(call ,fun ,arg) (funcall (evaluate fun) (evaluate arg env))) + (`(call ,fun ,arg) (funcall (evaluate fun env) (evaluate arg env))) (`(fn ,arg ,body) (lambda (val) (evaluate body (cons (cons arg val) env)))) ((pred numberp) exp) @@ -342,6 +342,19 @@ third elements and binds them to the variables @code{x} and @code{y}. @code{(pred numberp)} is a pattern that simply checks that @code{exp} is a number, and @code{_} is the catch-all pattern that matches anything. +Here are some sample programs including their evaluation results: + +@example +(evaluate '(add 1 2) nil) ;=> 3 +(evaluate '(add x y) '((x . 1) (y . 2))) ;=> 3 +(evaluate '(call (fn x (add 1 x)) 2) nil) ;=> 3 +(evaluate '(sub 1 2) nil) ;=> (error "Unknown expression (sub 1 2)") +@end example + +Note that (parts of) @code{pcase} only work as expected with lexical +binding, so lisp files using @code{pcase} should have enable it +(@pxref{Using Lexical Binding}, for how to enable lexical binding). + There are two kinds of patterns involved in @code{pcase}, called @emph{U-patterns} and @emph{Q-patterns}. The @var{upattern} mentioned above are U-patterns and can take the following forms: -- cgit v1.2.1 From 3a79600aa78d4d148c4c6b6a0a7a5ce625c582dc Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Wed, 25 Dec 2013 10:18:43 +0800 Subject: Doc fixes (index and comment). --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/files.texi | 1 + 2 files changed, 5 insertions(+) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 00a6c6a29a1..9b6868857e8 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-12-25 Xue Fuqiao + + * files.texi (Diff Mode): Add an index. + 2013-12-24 Xue Fuqiao * trouble.texi (Understanding Bug Reporting): Minor update. diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index c28a30bf823..5564f9a23f3 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi @@ -1419,6 +1419,7 @@ In a multi-file patch, kill the current file part. @item C-c C-a @findex diff-apply-hunk +@cindex patches, applying Apply this hunk to its target file (@code{diff-apply-hunk}). With a prefix argument of @kbd{C-u}, revert this hunk. -- cgit v1.2.1 From 362397edd9f48bf431c8ea4ca2a88d15c5660bde Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Wed, 25 Dec 2013 11:05:11 +0800 Subject: Document `eval' changes. * doc/lispref/eval.texi (Eval): Document the LEXICAL arg to eval. * doc/lispref/variables.texi (Variables, Void Variables): Use "scoping rule" terminology consistently. (Variable Scoping): Add index entries, and use "dynamic scope" terminology in place of "indefinite scope" to reduce confusion. (Lexical Binding): Document lexical environment format. (Using Lexical Binding): Add index entries for error messages. --- doc/lispref/ChangeLog | 11 +++++ doc/lispref/eval.texi | 18 ++++--- doc/lispref/variables.texi | 119 +++++++++++++++++++++++++-------------------- 3 files changed, 88 insertions(+), 60 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index b1c210834d2..595102bb5ef 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,14 @@ +2013-12-25 Chong Yidong + + * eval.texi (Eval): Document the LEXICAL arg to eval. + + * variables.texi (Variables, Void Variables): Use "scoping rule" + terminology consistently. + (Variable Scoping): Add index entries, and use "dynamic scope" + terminology in place of "indefinite scope" to reduce confusion. + (Lexical Binding): Document lexical environment format. + (Using Lexical Binding): Add index entries for error messages. + 2013-12-24 Tassilo Horn * control.texi (Pattern matching case statement): Fix missing diff --git a/doc/lispref/eval.texi b/doc/lispref/eval.texi index df30b909cbd..4a63ec2add1 100644 --- a/doc/lispref/eval.texi +++ b/doc/lispref/eval.texi @@ -715,12 +715,18 @@ arguments. @defun eval form &optional lexical This is the basic function for evaluating an expression. It evaluates -@var{form} in the current environment and returns the result. How the -evaluation proceeds depends on the type of the object (@pxref{Forms}). - -The argument @var{lexical}, if non-@code{nil}, means to evaluate -@var{form} using lexical scoping rules for variables, instead of the -default dynamic scoping rules. @xref{Lexical Binding}. +@var{form} in the current environment, and returns the result. The +type of the @var{form} object determines how it is evaluated. +@xref{Forms}. + +The argument @var{lexical} specifies the scoping rule for local +variables (@pxref{Variable Scoping}). If it is omitted or @code{nil}, +that means to evaluate @var{form} using the default dynamic scoping +rule. If it is @code{t}, that means to use the lexical scoping rule. +The value of @var{lexical} can also be a non-empty alist specifying a +particular @dfn{lexical environment} for lexical bindings; however, +this feature is only useful for specialized purposes, such as in Emacs +Lisp debuggers. @xref{Lexical Binding}. Since @code{eval} is a function, the argument expression that appears in a call to @code{eval} is evaluated twice: once as preparation before diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi index 941b2d880e4..5d1a47661aa 100644 --- a/doc/lispref/variables.texi +++ b/doc/lispref/variables.texi @@ -10,10 +10,10 @@ In Lisp, each variable is represented by a Lisp symbol (@pxref{Symbols}). The variable name is simply the symbol's name, and the variable's value is stored in the symbol's value cell@footnote{To -be precise, under the default @dfn{dynamic binding} rules the value +be precise, under the default @dfn{dynamic scoping} rule, the value cell always holds the variable's current value, but this is not the -case under @dfn{lexical binding} rules. @xref{Variable Scoping}, for -details.}. @xref{Symbol Components}. In Emacs Lisp, the use of a +case under the @dfn{lexical scoping} rule. @xref{Variable Scoping}, +for details.}. @xref{Symbol Components}. In Emacs Lisp, the use of a symbol as a variable is independent of its use as a function name. As previously noted in this manual, a Lisp program is represented @@ -292,20 +292,22 @@ has room to execute. @cindex void variable We say that a variable is void if its symbol has an unassigned value -cell (@pxref{Symbol Components}). Under Emacs Lisp's default dynamic -binding rules (@pxref{Variable Scoping}), the value cell stores the -variable's current (local or global) value. Note that an unassigned -value cell is @emph{not} the same as having @code{nil} in the value -cell. The symbol @code{nil} is a Lisp object and can be the value of -a variable, just as any other object can be; but it is still a value. -If a variable is void, trying to evaluate the variable signals a -@code{void-variable} error rather than a value. - - Under lexical binding rules, the value cell only holds the -variable's global value, i.e., the value outside of any lexical -binding construct. When a variable is lexically bound, the local value -is determined by the lexical environment; the variable may have a -local value if its symbol's value cell is unassigned. +cell (@pxref{Symbol Components}). + + Under Emacs Lisp's default dynamic scoping rule (@pxref{Variable +Scoping}), the value cell stores the variable's current (local or +global) value. Note that an unassigned value cell is @emph{not} the +same as having @code{nil} in the value cell. The symbol @code{nil} is +a Lisp object and can be the value of a variable, just as any other +object can be; but it is still a value. If a variable is void, trying +to evaluate the variable signals a @code{void-variable} error, instead +of returning a value. + + Under the optional lexical scoping rule, the value cell only holds +the variable's global value---the value outside of any lexical binding +construct. When a variable is lexically bound, the local value is +determined by the lexical environment; hence, variables can have local +values even if their symbols' value cells are unassigned. @defun makunbound symbol This function empties out the value cell of @var{symbol}, making the @@ -761,6 +763,7 @@ error is signaled. @node Variable Scoping @section Scoping Rules for Variable Bindings +@cindex scoping rule When you create a local binding for a variable, that binding takes effect only within a limited portion of the program (@pxref{Local @@ -774,12 +777,12 @@ binding can be accessed. @dfn{Extent} refers to @emph{when}, as the program is executing, the binding exists. @cindex dynamic binding -@cindex indefinite scope +@cindex dynamic scope @cindex dynamic extent By default, the local bindings that Emacs creates are @dfn{dynamic -bindings}. Such a binding has @dfn{indefinite scope}, meaning that -any part of the program can potentially access the variable binding. -It also has @dfn{dynamic extent}, meaning that the binding lasts only +bindings}. Such a binding has @dfn{dynamic scope}, meaning that any +part of the program can potentially access the variable binding. It +also has @dfn{dynamic extent}, meaning that the binding lasts only while the binding construct (such as the body of a @code{let} form) is being executed. @@ -788,11 +791,12 @@ being executed. @cindex indefinite extent Emacs can optionally create @dfn{lexical bindings}. A lexical binding has @dfn{lexical scope}, meaning that any reference to the -variable must be located textually within the binding construct. It -also has @dfn{indefinite extent}, meaning that under some -circumstances the binding can live on even after the binding construct -has finished executing, by means of special objects called -@dfn{closures}. +variable must be located textually within the binding +construct@footnote{With some exceptions; for instance, a lexical +binding can also be accessed from the Lisp debugger.}. It also has +@dfn{indefinite extent}, meaning that under some circumstances the +binding can live on even after the binding construct has finished +executing, by means of special objects called @dfn{closures}. The following subsections describe dynamic binding and lexical binding in greater detail, and how to enable lexical binding in Emacs @@ -814,8 +818,8 @@ at any point in the execution of the Lisp program is simply the most recently-created dynamic local binding for that symbol, or the global binding if there is no such local binding. - Dynamic bindings have indefinite scope and dynamic extent, as shown -by the following example: + Dynamic bindings have dynamic scope and extent, as shown by the +following example: @example @group @@ -841,9 +845,9 @@ The function @code{getx} refers to @code{x}. This is a ``free'' reference, in the sense that there is no binding for @code{x} within that @code{defun} construct itself. When we call @code{getx} from within a @code{let} form in which @code{x} is (dynamically) bound, it -retrieves the local value of @code{x} (i.e., 1). But when we call -@code{getx} outside the @code{let} form, it retrieves the global value -of @code{x} (i.e., -99). +retrieves the local value (i.e., 1). But when we call @code{getx} +outside the @code{let} form, it retrieves the global value (i.e., +-99). Here is another example, which illustrates setting a dynamically bound variable using @code{setq}: @@ -888,12 +892,11 @@ technique: @itemize @bullet @item If a variable has no global definition, use it as a local variable -only within a binding construct, e.g., the body of the @code{let} -form where the variable was bound, or the body of the function for an -argument variable. If this convention is followed consistently -throughout a program, the value of the variable will not affect, nor -be affected by, any uses of the same variable symbol elsewhere in the -program. +only within a binding construct, such as the body of the @code{let} +form where the variable was bound. If this convention is followed +consistently throughout a program, the value of the variable will not +affect, nor be affected by, any uses of the same variable symbol +elsewhere in the program. @item Otherwise, define the variable with @code{defvar}, @code{defconst}, or @@ -925,12 +928,16 @@ variables like @code{case-fold-search}: @node Lexical Binding @subsection Lexical Binding -Optionally, you can create lexical bindings in Emacs Lisp. A -lexically bound variable has @dfn{lexical scope}, meaning that any -reference to the variable must be located textually within the binding -construct. + Lexical binding was introduced to Emacs, as an optional feature, in +version 24.1. We expect its importance to increase in the future. +Lexical binding opens up many more opportunities for optimization, so +programs using it are likely to run faster in future Emacs versions. +Lexical binding is also more compatible with concurrency, which we +want to add to Emacs in the future. - Here is an example + A lexically-bound variable has @dfn{lexical scope}, meaning that any +reference to the variable must be located textually within the binding +construct. Here is an example @iftex (see the next subsection, for how to actually enable lexical binding): @end iftex @@ -969,6 +976,14 @@ wants the current value of a variable, it looks first in the lexical environment; if the variable is not specified in there, it looks in the symbol's value cell, where the dynamic value is stored. + (Internally, the lexical environment is an alist of symbol-value +pairs, with the final element in the alist being the symbol @code{t} +rather than a cons cell. Such an alist can be passed as the second +argument to the @code{eval} function, in order to specify a lexical +environment in which to evaluate a form. @xref{Eval}. Most Emacs +Lisp programs, however, should not interact directly with lexical +environments in this way; only specialized programs like debuggers.) + @cindex closures, example of using Lexical bindings have indefinite extent. Even after a binding construct has finished executing, its lexical environment can be @@ -1019,13 +1034,6 @@ binding of @code{x} in that lexical environment. the body of a @code{defun} or @code{defmacro} cannot refer to surrounding lexical variables. - Currently, lexical binding is not much used within the Emacs -sources. However, we expect its importance to increase in the future. -Lexical binding opens up a lot more opportunities for optimization, so -Emacs Lisp code that makes use of lexical binding is likely to run -faster in future Emacs versions. Such code is also much more friendly -to concurrency, which we want to add to Emacs in the near future. - @node Using Lexical Binding @subsection Using Lexical Binding @@ -1069,12 +1077,15 @@ discouraged. Doing so gives rise to unspecified behavior when lexical binding mode is enabled (it may use lexical binding sometimes, and dynamic binding other times). - Converting an Emacs Lisp program to lexical binding is pretty easy. -First, add a file-local variable setting of @code{lexical-binding} to -@code{t} in the Emacs Lisp source file. Second, check that every -variable in the program which needs to be dynamically bound has a -variable definition, so that it is not inadvertently bound lexically. + Converting an Emacs Lisp program to lexical binding is easy. First, +add a file-local variable setting of @code{lexical-binding} to +@code{t} in the header line of the Emacs Lisp source file (@pxref{File +Local Variables}). Second, check that every variable in the program +which needs to be dynamically bound has a variable definition, so that +it is not inadvertently bound lexically. +@cindex free variable +@cindex unused lexical variable A simple way to find out which variables need a variable definition is to byte-compile the source file. @xref{Byte Compilation}. If a non-special variable is used outside of a @code{let} form, the -- cgit v1.2.1 From ff1c842a9477dee39fa20f885d64288b4947a040 Mon Sep 17 00:00:00 2001 From: Tassilo Horn Date: Wed, 25 Dec 2013 10:12:24 +0100 Subject: Rephrase lexical binding requirement sentence. * doc/lispref/control.texi (Pattern matching case statement): Rephrase lexical binding requirement: the example needs it, not `pcase' itself. --- doc/lispref/ChangeLog | 5 +++++ doc/lispref/control.texi | 11 ++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 595102bb5ef..738dd417fd2 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-12-25 Tassilo Horn + + * control.texi (Pattern matching case statement): Rephrase lexical + binding requirement: the example needs it, not `pcase' itself. + 2013-12-25 Chong Yidong * eval.texi (Eval): Document the LEXICAL arg to eval. diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi index a9e7236fc3a..f5cdd3dc80f 100644 --- a/doc/lispref/control.texi +++ b/doc/lispref/control.texi @@ -342,19 +342,20 @@ third elements and binds them to the variables @code{x} and @code{y}. @code{(pred numberp)} is a pattern that simply checks that @code{exp} is a number, and @code{_} is the catch-all pattern that matches anything. +Note that the the lambda being the result of the @code{fn} clause is a +closure (@pxref{Closures}), so the file defining @code{evaluate} must +have lexical binding enabled (@pxref{Using Lexical Binding}, for how +to enable it). + Here are some sample programs including their evaluation results: @example (evaluate '(add 1 2) nil) ;=> 3 (evaluate '(add x y) '((x . 1) (y . 2))) ;=> 3 (evaluate '(call (fn x (add 1 x)) 2) nil) ;=> 3 -(evaluate '(sub 1 2) nil) ;=> (error "Unknown expression (sub 1 2)") +(evaluate '(sub 1 2) nil) ;=> error @end example -Note that (parts of) @code{pcase} only work as expected with lexical -binding, so lisp files using @code{pcase} should have enable it -(@pxref{Using Lexical Binding}, for how to enable lexical binding). - There are two kinds of patterns involved in @code{pcase}, called @emph{U-patterns} and @emph{Q-patterns}. The @var{upattern} mentioned above are U-patterns and can take the following forms: -- cgit v1.2.1 From c93525876d67837669c5e8f89b6606b4cfb55ec4 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Wed, 25 Dec 2013 18:24:52 +0800 Subject: Doc updates for several Emacs 24.4 changes. * doc/lispref/commands.texi (Event Input Misc): Document new arg to input-pending-p. * doc/lispref/display.texi (Font Selection): Tweak example. * doc/lispref/keymaps.texi (Active Keymaps): Re-organize the text. (Searching Keymaps): Rewrite the pseudo-code for 24.4 changes. (Controlling Active Maps): Note that set-transient-map uses overriding-terminal-local-map. * doc/lispref/nonascii.texi (Specifying Coding Systems): Don't refer to emacs-mule-dos. (Lisp and Coding Systems): Describe emacs-mule return value in modern terms. * doc/lispref/tips.texi (Coding Conventions): Tweak the coding system tip; Emacs now uses utf-8 by default for Emacs Lisp source files. * doc/emacs/glossary.texi (Glossary): Define MULE in modern terms. * src/keyboard.c (Voverriding_terminal_local_map): (Voverriding_local_map): Doc fix. * src/keymap.c (Vemulation_mode_map_alists): Doc fix. --- doc/emacs/ChangeLog | 4 + doc/emacs/glossary.texi | 12 ++- doc/emacs/mule.texi | 1 - doc/lispref/ChangeLog | 20 +++++ doc/lispref/commands.texi | 6 +- doc/lispref/display.texi | 4 +- doc/lispref/keymaps.texi | 196 ++++++++++++++++++++++------------------------ doc/lispref/nonascii.texi | 16 ++-- doc/lispref/tips.texi | 13 +-- 9 files changed, 146 insertions(+), 126 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 9b6868857e8..96008f63e93 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-12-25 Chong Yidong + + * glossary.texi (Glossary): Define MULE in modern terms. + 2013-12-25 Xue Fuqiao * files.texi (Diff Mode): Add an index. diff --git a/doc/emacs/glossary.texi b/doc/emacs/glossary.texi index c8b4b40416f..d6c8477b1c6 100644 --- a/doc/emacs/glossary.texi +++ b/doc/emacs/glossary.texi @@ -953,9 +953,15 @@ another. The usual way to move text is by killing (q.v.@:) it and then yanking (q.v.@:) it. @xref{Killing}. @item MULE -MULE refers to the Emacs features for editing multilingual -non-@acronym{ASCII} text using multibyte characters (q.v.). -@xref{International}. +@cindex MULE +Prior to Emacs 23, @acronym{MULE} was the name of a software package +which provided a @dfn{MULtilingual Enhancement} to Emacs, by adding +support for multiple character sets (q.v.). @acronym{MULE} was later +integrated into Emacs, and much of it was replaced when Emacs gained +internal Unicode support in version 23. + +Some parts of Emacs that deal with character set support still use the +@acronym{MULE} name. @xref{International}. @item Multibyte Character A multibyte character is a character that takes up several bytes in a diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi index 6efbc2b7190..e0653c96f8b 100644 --- a/doc/emacs/mule.texi +++ b/doc/emacs/mule.texi @@ -5,7 +5,6 @@ @chapter International Character Set Support @c This node is referenced in the tutorial. When renaming or deleting @c it, the tutorial needs to be adjusted. (TUTORIAL.de) -@cindex MULE @cindex international scripts @cindex multibyte characters @cindex encoding of characters diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 738dd417fd2..354efd5f40c 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,23 @@ +2013-12-25 Chong Yidong + + * keymaps.texi (Active Keymaps): Re-organize the text. + (Searching Keymaps): Rewrite the pseudo-code for 24.4 changes. + (Controlling Active Maps): Note that set-transient-map uses + overriding-terminal-local-map. + + * tips.texi (Coding Conventions): Tweak the coding system tip; + Emacs now uses utf-8 by default for Emacs Lisp source files. + + * display.texi (Font Selection): Tweak example. + + * commands.texi (Event Input Misc): Document new arg to + input-pending-p. + + * nonascii.texi (Specifying Coding Systems): Don't refer to + emacs-mule-dos. + (Lisp and Coding Systems): Describe emacs-mule return value in + modern terms. + 2013-12-25 Tassilo Horn * control.texi (Pattern matching case statement): Rephrase lexical diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi index 846d6f3a4a9..a9322640880 100644 --- a/doc/lispref/commands.texi +++ b/doc/lispref/commands.texi @@ -2739,12 +2739,16 @@ This function converts the string or vector @var{key} to a list of individual events, which you can put in @code{unread-command-events}. @end defun -@defun input-pending-p +@defun input-pending-p &optional check-timers @cindex waiting for command key input This function determines whether any command input is currently available to be read. It returns immediately, with value @code{t} if there is available input, @code{nil} otherwise. On rare occasions it may return @code{t} when no input is available. + +If the optional argument @var{check-timers} is non-@code{nil}, then if +no input is available, Emacs runs any timers which are ready. +@xref{Timers}. @end defun @defvar last-input-event diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index ead436ab809..6bb8f64d9eb 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -2962,11 +2962,11 @@ scalable font is enabled for use if its name matches any regular expression in the list. For example, @example -(setq scalable-fonts-allowed '("muleindian-2$")) +(setq scalable-fonts-allowed '("iso10646-1$")) @end example @noindent -allows the use of scalable fonts with registry @code{muleindian-2}. +allows the use of scalable fonts with registry @code{iso10646-1}. @end defopt @defvar face-font-rescale-alist diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi index 86e205cf14d..c5ffbc964cc 100644 --- a/doc/lispref/keymaps.texi +++ b/doc/lispref/keymaps.texi @@ -622,75 +622,67 @@ string for the keymap. The prompt string should be given for menu keymaps @node Active Keymaps @section Active Keymaps @cindex active keymap -@cindex global keymap -@cindex local keymap - Emacs normally contains many keymaps; at any given time, just a few -of them are @dfn{active}, meaning that they participate in the -interpretation of user input. All the active keymaps are used -together to determine what command to execute when a key is entered. - - Normally the active keymaps are the @code{keymap} property keymap, -the keymaps of any enabled minor modes, the current buffer's local -keymap, and the global keymap, in that order. Emacs searches for each -input key sequence in all these keymaps. @xref{Searching Keymaps}, -for more details of this procedure. - - When the key sequence starts with a mouse event, -the active keymaps are determined based on the -position in that event. If the event happened on a string embedded -with a @code{display}, @code{before-string}, or @code{after-string} -property (@pxref{Special Properties}), the non-@code{nil} map -properties of the string override those of the buffer (if the -underlying buffer text contains map properties in its text properties -or overlays, they are ignored). - - The @dfn{global keymap} holds the bindings of keys that are defined -regardless of the current buffer, such as @kbd{C-f}. The variable -@code{global-map} holds this keymap, which is always active. - - Each buffer may have another keymap, its @dfn{local keymap}, which -may contain new or overriding definitions for keys. The current -buffer's local keymap is always active except when -@code{overriding-local-map} overrides it. The @code{local-map} text -or overlay property can specify an alternative local keymap for certain -parts of the buffer; see @ref{Special Properties}. - - Each minor mode can have a keymap; if it does, the keymap is active -when the minor mode is enabled. Modes for emulation can specify -additional active keymaps through the variable -@code{emulation-mode-map-alists}. - - The highest precedence normal keymap comes from the @code{keymap} -text or overlay property. If that is non-@code{nil}, it is the first -keymap to be processed, in normal circumstances. - - However, there are also special ways for programs to substitute -other keymaps for some of those. The variable -@code{overriding-local-map}, if non-@code{nil}, specifies a keymap -that replaces all the usual active keymaps except the global keymap. - -The very highest precedence keymap comes from -@code{overriding-terminal-local-map}; it operates on a per-terminal basis and -is normally used for modal/transient keybindings. + Emacs contains many keymaps, but at any time only a few keymaps are +@dfn{active}. When Emacs receives user input, it translates the input +event (@pxref{Translation Keymaps}), and looks for a key binding in +the active keymaps. + + Usually, the active keymaps are: (i) the keymap specified by the +@code{keymap} property, (ii) the keymaps of enabled minor modes, (iii) +the current buffer's local keymap, and (iv) the global keymap, in that +order. Emacs searches for each input key sequence in all these +keymaps. + + Of these ``usual'' keymaps, the highest-precedence one is specified +by the @code{keymap} text or overlay property at point, if any. (For +a mouse input event, Emacs uses the event position instead of point; +@iftex +see the next section for details.) +@end iftex +@ifnottex +@pxref{Searching Keymaps}.) +@end ifnottex + + Next in precedence are keymaps specified by enabled minor modes. +These keymaps, if any, are specified by the variables +@code{emulation-mode-map-alists}, +@code{minor-mode-overriding-map-alist}, and +@code{minor-mode-map-alist}. @xref{Controlling Active Maps}. -@cindex major mode keymap - Since every buffer that uses the same major mode normally uses the -same local keymap, you can think of the keymap as local to the mode. A -change to the local keymap of a buffer (using @code{local-set-key}, for -example) is seen also in the other buffers that share that keymap. - - The local keymaps that are used for Lisp mode and some other major -modes exist even if they have not yet been used. These local keymaps are -the values of variables such as @code{lisp-mode-map}. For most major -modes, which are less frequently used, the local keymap is constructed -only when the mode is used for the first time in a session. +@cindex local keymap + Next in precedence is the buffer's @dfn{local keymap}, containing +key bindings specific to the buffer. The minibuffer also has a local +keymap (@pxref{Intro to Minibuffers}). If there is a @code{local-map} +text or overlay property at point, that specifies the local keymap to +use, in place of the buffer's default local keymap. - The minibuffer has local keymaps, too; they contain various completion -and exit commands. @xref{Intro to Minibuffers}. +@cindex major mode keymap + The local keymap is normally set by the buffer's major mode, and +every buffer with the same major mode shares the same local keymap. +Hence, if you call @code{local-set-key} (@pxref{Key Binding Commands}) +to change the local keymap in one buffer, that also affects the local +keymaps in other buffers with the same major mode. - Emacs has other keymaps that are used in a different way---translating -events within @code{read-key-sequence}. @xref{Translation Keymaps}. +@cindex global keymap + Finally, the @dfn{global keymap} contains key bindings that are +defined regardless of the current buffer, such as @kbd{C-f}. It is +always active, and is bound to the variable @code{global-map}. + + Apart from the above ``usual'' keymaps, Emacs provides special ways +for programs to make other keymaps active. Firstly, the variable +@code{overriding-local-map} specifies a keymap that replaces the usual +active keymaps, except for the global keymap. Secondly, the +terminal-local variable @code{overriding-terminal-local-map} specifies +a keymap that takes precedence over @emph{all} other keymaps +(including @code{overriding-local-map}); this is normally used for +modal/transient keybindings (the function @code{set-transient-map} +provides a convenient interface for this). @xref{Controlling Active +Maps}, for details. + + Making keymaps active is not the only way to use them. Keymaps are +also used in other ways, such as for translating events within +@code{read-key-sequence}. @xref{Translation Keymaps}. @xref{Standard Keymaps}, for a list of some standard keymaps. @@ -727,7 +719,7 @@ If @var{position} is non-@code{nil}, it should be either a buffer position or an event position like the value of @code{event-start}. Then the maps consulted are determined based on @var{position}. -An error is signaled if @var{key} is not a string or a vector. +Emacs signals an error if @var{key} is not a string or a vector. @example @group @@ -741,49 +733,52 @@ An error is signaled if @var{key} is not a string or a vector. @section Searching the Active Keymaps @cindex searching active keymaps for keys - After translation of event subsequences (@pxref{Translation -Keymaps}) Emacs looks for them in the active keymaps. Here is a -pseudo-Lisp description of the order and conditions for searching -them: +Here is a pseudo-Lisp summary of how Emacs searches the active +keymaps: @lisp -(or (@var{find-in} @var{transient-map}) - (cond - (overriding-terminal-local-map - (@var{find-in} overriding-terminal-local-map)) - (overriding-local-map - (@var{find-in} overriding-local-map)) - ((or (@var{find-in} (get-char-property (point) 'keymap)) +(or (if overriding-terminal-local-map + (@var{find-in} overriding-terminal-local-map)) + (if overriding-local-map + (@var{find-in} overriding-local-map) + (or (@var{find-in} (get-char-property (point) 'keymap)) (@var{find-in-any} emulation-mode-map-alists) (@var{find-in-any} minor-mode-overriding-map-alist) (@var{find-in-any} minor-mode-map-alist) (if (get-text-property (point) 'local-map) (@var{find-in} (get-char-property (point) 'local-map)) - (@var{find-in} (current-local-map)))))) + (@var{find-in} (current-local-map))))) (@var{find-in} (current-global-map))) @end lisp @noindent Here, @var{find-in} and @var{find-in-any} are pseudo functions that -search in one keymap and in an alist of keymaps, respectively. -(Searching a single keymap for a binding is called @dfn{key lookup}; -see @ref{Key Lookup}.) @var{transient-map} is a pseudo variable that -represents the effect of a @code{set-transient-map} call -(@pxref{Controlling Active Maps}). +search in one keymap and in an alist of keymaps, respectively. Note +that the @code{set-transient-map} function works by setting +@code{overriding-terminal-local-map} (@pxref{Controlling Active +Maps}). In the above pseudo-code, if a key sequence starts with a mouse -event, that event's position is used instead of point and the current -buffer. Mouse events on an embedded string use non-@code{nil} text -properties from that string instead of the buffer. - - When a match is found (@pxref{Key Lookup}), if the binding in the -keymap is a function, the search is over. However if the keymap entry -is a symbol with a value or a string, Emacs replaces the input key -sequences with the variable's value or the string, and restarts the -search of the active keymaps. - - The function finally found might also be remapped. @xref{Remapping -Commands}. +event (@pxref{Mouse Events}), that event's position is used instead of +point, and the event's buffer is used instead of the current buffer. +In particular, this affects how the @code{keymap} and @code{local-map} +properties are looked up. If a mouse event occurs on a string +embedded with a @code{display}, @code{before-string}, or +@code{after-string} property (@pxref{Special Properties}), and the +string has a non-@code{nil} @code{keymap} or @code{local-map} +property, that overrides the corresponding property in the underlying +buffer text (i.e., the property specified by the underlying text is +ignored). + + When a key binding is found in one of the active keymaps, and that +binding is a command, the search is over---the command is executed. +However, if the binding is a symbol with a value or a string, Emacs +replaces the input key sequences with the variable's value or the +string, and restarts the search of the active keymaps. @xref{Key +Lookup}. + + The command which is finally found might also be remapped. +@xref{Remapping Commands}. @node Controlling Active Maps @section Controlling the Active Keymaps @@ -860,7 +855,6 @@ keymap. @code{use-local-map} returns @code{nil}. Most major mode commands use this function. @end defun -@c Emacs 19 feature @defvar minor-mode-map-alist @anchor{Definition of minor-mode-map-alist} This variable is an alist describing keymaps that may or may not be @@ -945,7 +939,7 @@ event is run directly by @code{read-event}. @xref{Special Events}. @end defvar @defvar emulation-mode-map-alists -This variable holds a list of keymap alists to use for emulations +This variable holds a list of keymap alists to use for emulation modes. It is intended for modes or packages using multiple minor-mode keymaps. Each element is a keymap alist which has the same format and meaning as @code{minor-mode-map-alist}, or a symbol with a variable @@ -970,11 +964,9 @@ function is called with no arguments, prior to running each command, while @var{keymap} is active; it should return non-@code{nil} if @var{keymap} should stay active. -The transient keymap takes precedence over the ``overriding'' maps -(see above); and unlike them, if no match for a key is found in -@var{keymap}, the key lookup process continues. For a pseudo-Lisp -description of exactly how and when this keymap applies, -@xref{Searching Keymaps}. +This function works by adding and removing @code{keymap} from the +variable @code{overriding-terminal-local-map}, which takes precedence +over all other active keymaps (@pxref{Searching Keymaps}). @end defun @node Key Lookup diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index ddbb5aeaa6b..7b499159d93 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -1289,17 +1289,18 @@ Sets}) supported by @var{coding-system}. Some coding systems that support too many character sets to list them all yield special values: @itemize @bullet @item -If @var{coding-system} supports all the ISO-2022 charsets, the value -is @code{iso-2022}. -@item If @var{coding-system} supports all Emacs characters, the value is @code{(emacs)}. @item -If @var{coding-system} supports all emacs-mule characters, the value -is @code{emacs-mule}. -@item If @var{coding-system} supports all Unicode characters, the value is @code{(unicode)}. +@item +If @var{coding-system} supports all ISO-2022 charsets, the value is +@code{iso-2022}. +@item +If @var{coding-system} supports all the characters in the internal +coding system used by Emacs version 21 (prior to the implementation of +internal Unicode support), the value is @code{emacs-mule}. @end itemize @end defun @@ -1617,8 +1618,7 @@ of the right way to use the variable: @example ;; @r{Read the file with no character code conversion.} -;; @r{Assume @acronym{crlf} represents end-of-line.} -(let ((coding-system-for-read 'emacs-mule-dos)) +(let ((coding-system-for-read 'no-conversion)) (insert-file-contents filename)) @end example diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi index 26d81f738fc..159938eedf3 100644 --- a/doc/lispref/tips.texi +++ b/doc/lispref/tips.texi @@ -223,18 +223,13 @@ only for special-purpose buffers.) People will find Emacs more coherent if all libraries use the same conventions. @item -If your program contains non-ASCII characters in string or character -constants, you should make sure Emacs always decodes these characters -the same way, regardless of the user's settings. The easiest way to -do this is to use the coding system @code{utf-8-emacs} (@pxref{Coding -System Basics}), and specify that coding in the @samp{-*-} line or the +The default file coding system for Emacs Lisp source files is UTF-8 +(@pxref{Text Representations}). In the rare event that your program +contains characters which are @emph{not} in UTF-8, you should specify +an appropriate coding system in the source file's @samp{-*-} line or local variables list. @xref{File Variables, , Local Variables in Files, emacs, The GNU Emacs Manual}. -@example -;; XXX.el -*- coding: utf-8-emacs; -*- -@end example - @item Indent the file using the default indentation parameters. -- cgit v1.2.1 From 2200a8c91de23f9749d1b3c961c4f8bb3145ddfa Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Thu, 26 Dec 2013 11:27:45 +0800 Subject: Update doc for advice changes. * doc/lispref/advice.texi (Advising Functions, Defining Advice): Special forms can no longer be advised. * lisp/emacs-lisp/advice.el: Update commentary. --- doc/lispref/ChangeLog | 5 ++++ doc/lispref/advice.texi | 77 +++++++++++++++++++++++++------------------------ 2 files changed, 44 insertions(+), 38 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 354efd5f40c..2956b907d77 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-12-26 Chong Yidong + + * advice.texi (Advising Functions, Defining Advice): Special forms + can no longer be advised. + 2013-12-25 Chong Yidong * keymaps.texi (Active Keymaps): Re-organize the text. diff --git a/doc/lispref/advice.texi b/doc/lispref/advice.texi index e8d1bd3cdbc..122f1805c1e 100644 --- a/doc/lispref/advice.texi +++ b/doc/lispref/advice.texi @@ -6,41 +6,43 @@ @chapter Advising Emacs Lisp Functions @cindex advising functions - The @dfn{advice} feature lets you add to the existing definition of -a function, by @dfn{advising the function}. This is a cleaner method -for a library to customize functions defined within Emacs---cleaner -than redefining the whole function. - @cindex piece of advice - Each function can have multiple @dfn{pieces of advice}, each of -which can be separately defined and then @dfn{enabled} or -@dfn{disabled}. All the enabled pieces of advice for any given -function actually take effect when you @dfn{activate advice} for that -function, or when you define or redefine the function. Note that -enabling a piece of advice and activating advice for a function are -not the same thing. - - Advice is useful for altering the behavior of existing calls to an -existing function. If you want the new behavior for new function -calls or new key bindings, you should define a new function or -command, and have it use the existing function as a subroutine. - - Advising a function can cause confusion in debugging, since people -who debug calls to the original function may not notice that it has -been modified with advice. Therefore, if you have the possibility to -change the code of that function to run a hook, please solve the -problem that way. Advice should be reserved for the cases where you -cannot get the function changed. In particular, Emacs's own source -files should not put advice on functions in Emacs. There are -currently a few exceptions to this convention, but we aim to correct -them. - - Unless you know what you are doing, do @emph{not} advise a primitive -(@pxref{What Is a Function}). Some primitives are used by the advice -mechanism; advising them could cause an infinite recursion. Also, -many primitives are called directly from C code. Calls to the -primitive from Lisp code will take note of the advice, but calls from -C code will ignore the advice. + The @dfn{advice} feature lets you add to the existing definition of +a function, by @dfn{advising the function}. A function can have +multiple @dfn{pieces of advice}, each of which can be separately +defined, and separately enabled or disabled (@pxref{Activation of +Advice}). Each piece of advice can alter almost anything about the +function, including its argument list, what the function does when it +runs, and the value it returns. + + Advice can be useful for altering the behavior of an existing +function without having to redefine the whole function. However, it +can be a source of bugs, since existing callers to the function may +assume the old behavior, and work incorrectly when the behavior is +changed by advice. Advice can also cause confusion in debugging, if +the person doing the debugging does not notice or remember that the +function has been modified by advice. + + For these reasons, advice should be reserved for the cases where you +cannot modify a function's behavior in any other way. If it is +possible to do the same thing via a hook, that is preferable +(@pxref{Hooks}). If you simply want to change what a particular key +does, it may be better to write a new command, and remap the old +command's key bindings to the new one (@pxref{Remapping Commands}). +In particular, Emacs's own source files should not put advice on +functions in Emacs. (There are currently a few exceptions to this +convention, but we aim to correct them.) + + Macros can also be advised, in much the same way as functions. +However, special forms (@pxref{Special Forms}) cannot be advised. + + It is possible to advise a primitive (@pxref{What Is a Function}), +but one should typically @emph{not} do so, for two reasons. Firstly, +some primitives are used by the advice mechanism, and advising them +could cause an infinite recursion. Secondly, many primitives are +called directly from C, and such calls ignore advice; hence, one ends +up in a confusing situation where some calls (occurring from Lisp +code) obey the advice and other calls (from C code) do not. @menu * Simple Advice:: A simple example to explain the basics of advice. @@ -140,10 +142,9 @@ syntax of @code{defun} and @code{defmacro}, but adds more: @end example @noindent -Here, @var{function} is the name of the function (or macro or special -form) to be advised. From now on, we will write just ``function'' when -describing the entity being advised, but this always includes macros and -special forms. +Here, @var{function} is the name of the function (or macro) to be +advised. From now on, we will write just ``function'' when describing +the entity being advised, but this always includes macros. In place of the argument list in an ordinary definition, an advice definition calls for several different pieces of information. -- cgit v1.2.1 From 3b8d5131a316ad2fdc206744cec489a11f0bf1d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20T=C3=A1vora?= Date: Thu, 26 Dec 2013 22:02:49 +0000 Subject: Make Electric Pair mode smarter/more useful: * lisp/electric.el: Pairing/skipping helps preserve balance. Autobackspacing behaviour. Opens extra newlines between pairs. Skip whitespace before closing delimiters. * lisp/emacs-lisp/lisp-mode.el (lisp-mode-variables): Use new features. * test/automated/electric-tests.lisp: New file. * doc/emacs/programs.texi: Describe new features. * lisp/simple.el: Pass non-nil interactive arg to newline call inside newline-and-indent. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/programs.texi | 30 ++++++++++++++++++++++++++++-- 2 files changed, 32 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 96008f63e93..c9e6682aeaa 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-12-26 João Távora + * emacs.texi (Matching): Describe new features of Electric Pair + mode. + 2013-12-25 Chong Yidong * glossary.texi (Glossary): Define MULE in modern terms. diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi index 8bb851e75a4..ff61ba8b1d7 100644 --- a/doc/emacs/programs.texi +++ b/doc/emacs/programs.texi @@ -844,8 +844,34 @@ show-paren-mode}. Electric Pair mode, a global minor mode, provides a way to easily insert matching delimiters. Whenever you insert an opening delimiter, the matching closing delimiter is automatically inserted as well, -leaving point between the two. To toggle Electric Pair mode, type -@kbd{M-x electric-pair-mode}. +leaving point between the two. Conversely, when you insert a closing +delimiter over an existing one, no inserting takes places and that +position is simply skipped over. These variables control additional +features of Electric Pair mode: + +@itemize @bullet +@item +@code{electric-pair-preserve-balance}, when non-@code{nil}, makes the +default pairing logic balance out the number of opening and closing +delimiters. + +@item +@code{electric-pair-delete-adjacent-pairs}, when non-@code{nil}, makes +backspacing between two adjacent delimiters also automatically delete +the closing delimiter. + +@item +@code{electric-pair-open-newline-between-pairs}, when non-@code{nil}, +makes inserting inserting a newline between two adjacent pairs also +automatically open and extra newline after point. + +@item +@code{electric-skip-whitespace}, when non-@code{nil}, causes the minor +mode to skip whitespace forward before deciding whether to skip over +the closing delimiter. +@end itemize + +To toggle Electric Pair mode, type @kbd{M-x electric-pair-mode}. @node Comments @section Manipulating Comments -- cgit v1.2.1 From 0f1d29342f29e666bb6abe4073a30b425a63d26c Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Fri, 27 Dec 2013 11:38:26 +0800 Subject: More doc updates * commands.texi (Reading One Event): Mention keyboard coding. * functions.texi (Function Cells): * eval.texi (Function Indirection): Update for the fact that symbol-function no longer signals an error. * keymaps.texi (Translation Keymaps, Translation Keymaps): * nonascii.texi (Terminal I/O Encoding): Copyedits. * data.c (Fsymbol_function): Doc fix. --- doc/lispref/ChangeLog | 11 +++++++++ doc/lispref/commands.texi | 9 +++++--- doc/lispref/eval.texi | 18 +++++++-------- doc/lispref/functions.texi | 18 +++++++-------- doc/lispref/keymaps.texi | 56 +++++++++++++++++++++++----------------------- doc/lispref/nonascii.texi | 32 +++++++++++++------------- 6 files changed, 78 insertions(+), 66 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 2956b907d77..c4fdfb18a9b 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,14 @@ +2013-12-27 Chong Yidong + + * functions.texi (Function Cells): + * eval.texi (Function Indirection): Update for the fact that + symbol-function no longer signals an error. + + * commands.texi (Reading One Event): Mention keyboard coding. + + * keymaps.texi (Translation Keymaps, Translation Keymaps): + * nonascii.texi (Terminal I/O Encoding): Copyedits. + 2013-12-26 Chong Yidong * advice.texi (Advising Functions, Defining Advice): Special forms diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi index a9322640880..95cad5c4666 100644 --- a/doc/lispref/commands.texi +++ b/doc/lispref/commands.texi @@ -2395,9 +2395,12 @@ and key sequences read from keyboard macros being executed. @code{read-char}, and @code{read-char-exclusive}. @defun read-event &optional prompt inherit-input-method seconds -This function reads and returns the next event of command input, waiting -if necessary until an event is available. Events can come directly from -the user or from a keyboard macro. +This function reads and returns the next event of command input, +waiting if necessary until an event is available. + +The returned event may come directly from the user, or from a keyboard +macro. It is not decoded by the keyboard's input coding system +(@pxref{Terminal I/O Encoding}). If the optional argument @var{prompt} is non-@code{nil}, it should be a string to display in the echo area as a prompt. Otherwise, diff --git a/doc/lispref/eval.texi b/doc/lispref/eval.texi index 4a63ec2add1..a321bfce6f7 100644 --- a/doc/lispref/eval.texi +++ b/doc/lispref/eval.texi @@ -242,11 +242,9 @@ it obtains a non-symbol. @xref{Function Names}, for more information about symbol function indirection. One possible consequence of this process is an infinite loop, in the -event that a symbol's function cell refers to the same symbol. Or a -symbol may have a void function cell, in which case the subroutine -@code{symbol-function} signals a @code{void-function} error. But if -neither of these things happens, we eventually obtain a non-symbol, -which ought to be a function or other suitable object. +event that a symbol's function cell refers to the same symbol. +Otherwise, we eventually obtain a non-symbol, which ought to be a +function or other suitable object. @kindex invalid-function More precisely, we should now have a Lisp function (a lambda @@ -255,12 +253,12 @@ a special form, or an autoload object. Each of these types is a case described in one of the following sections. If the object is not one of these types, Emacs signals an @code{invalid-function} error. - The following example illustrates the symbol indirection process. We -use @code{fset} to set the function cell of a symbol and + The following example illustrates the symbol indirection process. +We use @code{fset} to set the function cell of a symbol and @code{symbol-function} to get the function cell contents -(@pxref{Function Cells}). Specifically, we store the symbol @code{car} -into the function cell of @code{first}, and the symbol @code{first} into -the function cell of @code{erste}. +(@pxref{Function Cells}). Specifically, we store the symbol +@code{car} into the function cell of @code{first}, and the symbol +@code{first} into the function cell of @code{erste}. @example @group diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi index f1d8c54f49c..b15d4ac1457 100644 --- a/doc/lispref/functions.texi +++ b/doc/lispref/functions.texi @@ -1001,12 +1001,12 @@ indirect-function}. @defun symbol-function symbol @kindex void-function -This returns the object in the function cell of @var{symbol}. If the -symbol's function cell is void, a @code{void-function} error is -signaled. +This returns the object in the function cell of @var{symbol}. It does +not check that the returned object is a legitimate function. -This function does not check that the returned object is a legitimate -function. +If the function cell is void, the return value is @code{nil}. To +distinguish between a function cell that is void and one set to +@code{nil}, use @code{fboundp} (see below). @example @group @@ -1026,10 +1026,10 @@ function. @end defun @cindex void function cell - If you have never given a symbol any function definition, we say that -that symbol's function cell is @dfn{void}. In other words, the function -cell does not have any Lisp object in it. If you try to call such a symbol -as a function, it signals a @code{void-function} error. + If you have never given a symbol any function definition, we say +that that symbol's function cell is @dfn{void}. In other words, the +function cell does not have any Lisp object in it. If you try to call +the symbol as a function, Emacs signals a @code{void-function} error. Note that void is not the same as @code{nil} or the symbol @code{void}. The symbols @code{nil} and @code{void} are Lisp objects, diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi index c5ffbc964cc..b9d9aa6ec72 100644 --- a/doc/lispref/keymaps.texi +++ b/doc/lispref/keymaps.texi @@ -1551,32 +1551,36 @@ specifies a list of keymaps to search in. This argument is ignored if @node Translation Keymaps @section Keymaps for Translating Sequences of Events +@cindex translation keymap @cindex keymaps for translating events - This section describes keymaps that are used during reading a key -sequence, to translate certain event sequences into others. -@code{read-key-sequence} checks every subsequence of the key sequence -being read, as it is read, against @code{input-decode-map}, then -@code{local-function-key-map}, and then against @code{key-translation-map}. - -These keymaps have the same structure as other keymaps, but they are used -differently: they specify translations to make while reading key sequences, -rather than bindings for key sequences. - -If one of these keymaps ``binds'' a key sequence @var{k} to a vector -@var{v}, then when @var{k} appears as a subsequence @emph{anywhere} in a -key sequence, it is replaced with the events in @var{v}. - -For example, VT100 terminals send @kbd{@key{ESC} O P} when the -keypad @key{PF1} key is pressed. Therefore, we want Emacs to translate -that sequence of events into the single event @code{pf1}. We accomplish -this by ``binding'' @kbd{@key{ESC} O P} to @code{[pf1]} in -@code{input-decode-map}, when using a VT100. - -Thus, typing @kbd{C-c @key{PF1}} sends the character sequence @kbd{C-c -@key{ESC} O P}; later the function @code{read-key-sequence} translates -this back into @kbd{C-c @key{PF1}}, which it returns as the vector -@code{[?\C-c pf1]}. + When the @code{read-key-sequence} function reads a key sequence +(@pxref{Key Sequence Input}), it uses @dfn{translation keymaps} to +translate certain event sequences into others. The translation +keymaps are @code{input-decode-map}, @code{local-function-key-map}, +and @code{key-translation-map} (in order of priority). + + Translation keymaps have the same structure as other keymaps, but +are used differently: they specify translations to make while reading +key sequences, rather than bindings for complete key sequences. As +each key sequence is read, it is checked against each translation +keymap. If one of the translation keymaps ``binds'' @var{k} to a +vector @var{v}, then whenever @var{k} appears as a sub-sequence +@emph{anywhere} in a key sequence, that sub-sequence is replaced with +the events in @var{v}. + + For example, VT100 terminals send @kbd{@key{ESC} O P} when the +keypad key @key{PF1} is pressed. On such terminals, Emacs must +translate that sequence of events into a single event @code{pf1}. +This is done by ``binding'' @kbd{@key{ESC} O P} to @code{[pf1]} in +@code{input-decode-map}. Thus, when you type @kbd{C-c @key{PF1}} on +the terminal, the terminal emits the character sequence @kbd{C-c +@key{ESC} O P}, and @code{read-key-sequence} translates this back into +@kbd{C-c @key{PF1}} and returns it as the vector @code{[?\C-c pf1]}. + + Translation keymaps take effect only after Emacs has decoded the +keyboard input (via the input coding system specified by +@code{keyboard-coding-system}). @xref{Terminal I/O Encoding}. @defvar input-decode-map This variable holds a keymap that describes the character sequences sent @@ -1664,10 +1668,6 @@ to turn the character that follows into a Hyper character: @end group @end example - If you have enabled keyboard character set decoding using -@code{set-keyboard-coding-system}, decoding is done before the -translations listed above. @xref{Terminal I/O Encoding}. - @subsection Interaction with normal keymaps The end of a key sequence is detected when that key sequence either is bound diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index 7b499159d93..7763f5c788d 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -1807,24 +1807,23 @@ decoding, you can call this function. @node Terminal I/O Encoding @subsection Terminal I/O Encoding - Emacs can decode keyboard input using a coding system, and encode + Emacs can use coding systems to decode keyboard input and encode terminal output. This is useful for terminals that transmit or -display text using a particular encoding such as Latin-1. Emacs does -not set @code{last-coding-system-used} for encoding or decoding of +display text using a particular encoding, such as Latin-1. Emacs does +not set @code{last-coding-system-used} when encoding or decoding terminal I/O. @defun keyboard-coding-system &optional terminal -This function returns the coding system that is in use for decoding -keyboard input from @var{terminal}---or @code{nil} if no coding system -is to be used for that terminal. If @var{terminal} is omitted or -@code{nil}, it means the selected frame's terminal. @xref{Multiple -Terminals}. +This function returns the coding system used for decoding keyboard +input from @var{terminal}. A value of @code{no-conversion} means no +decoding is done. If @var{terminal} is omitted or @code{nil}, it +means the selected frame's terminal. @xref{Multiple Terminals}. @end defun @deffn Command set-keyboard-coding-system coding-system &optional terminal This command specifies @var{coding-system} as the coding system to use for decoding keyboard input from @var{terminal}. If -@var{coding-system} is @code{nil}, that means do not decode keyboard +@var{coding-system} is @code{nil}, that means not to decode keyboard input. If @var{terminal} is a frame, it means that frame's terminal; if it is @code{nil}, that means the currently selected frame's terminal. @xref{Multiple Terminals}. @@ -1832,18 +1831,19 @@ terminal. @xref{Multiple Terminals}. @defun terminal-coding-system &optional terminal This function returns the coding system that is in use for encoding -terminal output from @var{terminal}---or @code{nil} if the output is -not encoded. If @var{terminal} is a frame, it means that frame's -terminal; if it is @code{nil}, that means the currently selected -frame's terminal. +terminal output from @var{terminal}. A value of @code{no-conversion} +means no encoding is done. If @var{terminal} is a frame, it means +that frame's terminal; if it is @code{nil}, that means the currently +selected frame's terminal. @end defun @deffn Command set-terminal-coding-system coding-system &optional terminal This command specifies @var{coding-system} as the coding system to use for encoding terminal output from @var{terminal}. If -@var{coding-system} is @code{nil}, terminal output is not encoded. If -@var{terminal} is a frame, it means that frame's terminal; if it is -@code{nil}, that means the currently selected frame's terminal. +@var{coding-system} is @code{nil}, that means not to encode terminal +output. If @var{terminal} is a frame, it means that frame's terminal; +if it is @code{nil}, that means the currently selected frame's +terminal. @end deffn @node Input Methods -- cgit v1.2.1 From fdadeb4997504f17682f164a906ac9c024816e0d Mon Sep 17 00:00:00 2001 From: Jarek Czekalski Date: Fri, 27 Dec 2013 21:58:21 +0100 Subject: Shell completion for filenames from current directory, related docs. * lisp/shell.el Shell completion now matches executable filenames from the current buffer's directory, on systems in which this behaviour is the default (windows-nt, ms-dos). * src/callproc.c (Vexec_path): Document that exec-directory is in it. * doc/emacs/mini.texi (Completion Options): Add a link to Shell Options. * doc/emacs/misc.texi (Shell Mode): Move documentation of shell-completion-fignore from Shell Mode to Shell Options. Fixes: debbugs:15461 --- doc/emacs/ChangeLog | 6 ++++++ doc/emacs/mini.texi | 3 +++ doc/emacs/misc.texi | 25 ++++++++++++++++--------- 3 files changed, 25 insertions(+), 9 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index c9e6682aeaa..935ddf39272 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,9 @@ +2013-12-27 Jarek Czekalski + + * mini.texi (Completion Options): Add a link to Shell Options. + * misc.texi (Shell Mode): Move documentation of + shell-completion-fignore from Shell Mode to Shell Options. + 2013-12-26 João Távora * emacs.texi (Matching): Describe new features of Electric Pair mode. diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi index f3fab686ed9..33e0b142d55 100644 --- a/doc/emacs/mini.texi +++ b/doc/emacs/mini.texi @@ -550,6 +550,9 @@ previous example, @samp{foo.e} completes to @samp{foo.elc}. Emacs disregards @code{completion-ignored-extensions} when showing completion alternatives in the completion list. + Shell completion is an extended version of filename completion, +@pxref{Shell Options}. + @vindex completion-auto-help If @code{completion-auto-help} is set to @code{nil}, the completion commands never display the completion list buffer; you must type diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index a773ec022de..7fd35e7fd5a 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi @@ -677,20 +677,13 @@ in the shell buffer to submit the current line as input. @item @key{TAB} @kindex TAB @r{(Shell mode)} @findex completion-at-point +@cindex shell completion Complete the command name or file name before point in the shell buffer (@code{completion-at-point}). This uses the usual Emacs completion rules (@pxref{Completion}), with the completion alternatives being file names, environment variable names, the shell command history, and history references (@pxref{History References}). - -@vindex shell-completion-fignore -@vindex comint-completion-fignore -The variable @code{shell-completion-fignore} specifies a list of file -name extensions to ignore in Shell mode completion. The default -setting is @code{nil}, but some users prefer @code{("~" "#" "%")} to -ignore file names ending in @samp{~}, @samp{#} or @samp{%}. Other -related Comint modes use the variable @code{comint-completion-fignore} -instead. +For options controlling the completion, @pxref{Shell Options}. @item M-? @kindex M-? @r{(Shell mode)} @@ -1179,6 +1172,20 @@ the possible completions whenever completion is not exact. If you set @code{shell-completion-execonly} to @code{nil}, it considers nonexecutable files as well. +@vindex shell-completion-fignore +@vindex comint-completion-fignore +The variable @code{shell-completion-fignore} specifies a list of file +name extensions to ignore in Shell mode completion. The default +setting is @code{nil}, but some users prefer @code{("~" "#" "%")} to +ignore file names ending in @samp{~}, @samp{#} or @samp{%}. Other +related Comint modes use the variable @code{comint-completion-fignore} +instead. + +@findex shell-dynamic-complete-command +Some implementation details of the shell command completion may also be found +in the lisp documentation of the @code{shell-dynamic-complete-command} +function. + @findex shell-pushd-tohome @findex shell-pushd-dextract @findex shell-pushd-dunique -- cgit v1.2.1 From 8449dd1f655d118a104e87c65ab77c86d5b71382 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Fri, 27 Dec 2013 16:31:33 -0800 Subject: authors.el updates and ChangeLog fixes * lisp/emacs-lisp/authors.el (authors-ignored-files) (authors-valid-file-names, authors-renamed-files-alist): Additions. --- doc/misc/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 03ff3d12dfe..72df4408d0d 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -459,7 +459,7 @@ 2013-11-12 Kodi Arfer (tiny change) - * org.text (CSS support): Mention .figure-number, .listing-number, + * org.texi (CSS support): Mention .figure-number, .listing-number, and .table-number. 2013-11-12 Michael Brand -- cgit v1.2.1 From ad15bd74e4639fcf768498276bf1bafffa128577 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Fri, 27 Dec 2013 16:42:59 -0800 Subject: * doc/emacs/trouble.texi (Understanding Bug Reporting): Brevity. ChangeLog fix. --- doc/emacs/ChangeLog | 8 ++++++-- doc/emacs/trouble.texi | 8 ++------ 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 935ddf39272..4c931ce8cb8 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2013-12-28 Glenn Morris + + * trouble.texi (Understanding Bug Reporting): Brevity. + 2013-12-27 Jarek Czekalski * mini.texi (Completion Options): Add a link to Shell Options. @@ -5,8 +9,8 @@ shell-completion-fignore from Shell Mode to Shell Options. 2013-12-26 João Távora - * emacs.texi (Matching): Describe new features of Electric Pair - mode. + + * emacs.texi (Matching): Describe new features of Electric Pair mode. 2013-12-25 Chong Yidong diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi index 52fd77ed978..8c8968397d8 100644 --- a/doc/emacs/trouble.texi +++ b/doc/emacs/trouble.texi @@ -631,12 +631,8 @@ easily reproducible at all. In that case, you should report what you have---but, as before, please stick to the raw facts about what you did to trigger the bug the first time. - Please do not stack multiple issues into one report unless it is -really necessary. For example, jamming @code{electric-indent-mode} -and @code{electric-pair-mode} into one report, reporting multiple key -binding problems into one report (e.g., @kbd{C-i} doesn't indent the -current line, @code{M-h} doesn't set mark, etc.). Please make one -report for each individual problem. + If you have multiple issues that you want to report, please make a +separate bug report for each. @node Checklist @subsection Checklist for Bug Reports -- cgit v1.2.1 From c04d52fbc95fd8f5b44a391f1ce5b8224fcd55d8 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Fri, 27 Dec 2013 16:47:15 -0800 Subject: * doc/lispref/control.texi (Pattern matching case statement): Brevity. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/control.texi | 8 ++------ 2 files changed, 6 insertions(+), 6 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index c4fdfb18a9b..b86ab722764 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2013-12-28 Glenn Morris + + * control.texi (Pattern matching case statement): Brevity. + 2013-12-27 Chong Yidong * functions.texi (Function Cells): diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi index f5cdd3dc80f..5bd2d7acdbe 100644 --- a/doc/lispref/control.texi +++ b/doc/lispref/control.texi @@ -322,7 +322,8 @@ In the last clause, @code{code} is a variable that gets bound to the value that was returned by @code{(get-return-code x)}. To give a more complex example, a simple interpreter for a little -expression language could look like: +expression language could look like (note that this example requires +lexical-binding): @example (defun evaluate (exp env) @@ -342,11 +343,6 @@ third elements and binds them to the variables @code{x} and @code{y}. @code{(pred numberp)} is a pattern that simply checks that @code{exp} is a number, and @code{_} is the catch-all pattern that matches anything. -Note that the the lambda being the result of the @code{fn} clause is a -closure (@pxref{Closures}), so the file defining @code{evaluate} must -have lexical binding enabled (@pxref{Using Lexical Binding}, for how -to enable it). - Here are some sample programs including their evaluation results: @example -- cgit v1.2.1 From 254541300559122771cf4c0449a2b8ff78ab3eb7 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Fri, 27 Dec 2013 16:48:28 -0800 Subject: Tweak previos change --- doc/lispref/control.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi index 5bd2d7acdbe..4296ae2110d 100644 --- a/doc/lispref/control.texi +++ b/doc/lispref/control.texi @@ -323,7 +323,7 @@ was returned by @code{(get-return-code x)}. To give a more complex example, a simple interpreter for a little expression language could look like (note that this example requires -lexical-binding): +lexical binding): @example (defun evaluate (exp env) -- cgit v1.2.1 From 4364185f73c426c17de2892d41992f080c6d433c Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Sat, 28 Dec 2013 12:30:19 +0800 Subject: Doc updates * buffers.texi (Modification Time): Document visited-file-modtime change. * modes.texi (Auto Major Mode): Document interpreter-mode-alist change. --- doc/lispref/ChangeLog | 8 ++++++++ doc/lispref/buffers.texi | 17 ++++------------- doc/lispref/modes.texi | 8 ++++---- 3 files changed, 16 insertions(+), 17 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index b86ab722764..2ebab695514 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,11 @@ +2013-12-28 Chong Yidong + + * modes.texi (Auto Major Mode): Document interpreter-mode-alist + change. + + * buffers.texi (Modification Time): Document visited-file-modtime + change. + 2013-12-28 Glenn Morris * control.texi (Pattern matching case statement): Brevity. diff --git a/doc/lispref/buffers.texi b/doc/lispref/buffers.texi index 01269851250..bb33cb3a700 100644 --- a/doc/lispref/buffers.texi +++ b/doc/lispref/buffers.texi @@ -632,13 +632,12 @@ exceptional places where the usual test to avoid overwriting a changed file should not be done. @end defun -@c Emacs 19 feature @defun visited-file-modtime This function returns the current buffer's recorded last file modification time, as a list of the form @code{(@var{high} @var{low} -@var{microsec} @var{picosec})}. -(This is the same format that @code{file-attributes} uses to return -time values; see @ref{File Attributes}.) +@var{microsec} @var{picosec})}. (This is the same format that +@code{file-attributes} uses to return time values; @pxref{File +Attributes}.) If the buffer has no recorded last modification time, this function returns zero. This case occurs, for instance, if the buffer is not @@ -648,17 +647,9 @@ visiting a file or if the time has been explicitly cleared by too. For instance, in a Dired buffer listing a directory, it returns the last modification time of that directory, as recorded by Dired. -For a new buffer visiting a not yet existing file, @var{high} is -@minus{}1 and @var{low} is 65535, that is, -@ifnottex -@w{2**16 @minus{} 1.} -@end ifnottex -@tex -@math{2^{16}-1}. -@end tex +If the buffer is not visiting a file, this function returns -1. @end defun -@c Emacs 19 feature @defun set-visited-file-modtime &optional time This function updates the buffer's record of the last modification time of the visited file, to the value specified by @var{time} if @var{time} diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index f04c0c1ea9f..4388fb2f6eb 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi @@ -646,10 +646,10 @@ mode command. The default value is @code{lisp-interaction-mode}. @defvar interpreter-mode-alist This variable specifies major modes to use for scripts that specify a command interpreter in a @samp{#!} line. Its value is an alist with -elements of the form @code{(@var{interpreter} . @var{mode})}; for -example, @code{("perl" . perl-mode)} is one element present by -default. The element says to use mode @var{mode} if the file -specifies an interpreter which matches @var{interpreter}. +elements of the form @code{(@var{regexp} . @var{mode})}; this says to +use mode @var{mode} if the file specifies an interpreter which matches +@code{\\`@var{regexp}\\'}. For example, one of the default elements +is @code{("python[0-9.]*" . python-mode)}. @end defvar @defvar magic-mode-alist -- cgit v1.2.1 From a560b856b15f57889eb10be984130c285e2cb43d Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 29 Dec 2013 10:18:45 -0800 Subject: Plain copy-file no longer chmods an existing destination. * doc/lispref/files.texi (Changing Files): Document this. * etc/NEWS: Document this. * src/fileio.c (realmask): Now a static var, not a local. (barf_or_query_if_file_exists): New arg KNOWN_TO_EXIST. Remove arg STATPTR. All uses changed. (Fcopy_file): Do not alter permissions of existing destinations, unless PRESERVE-PERMISSIONS (renamed from PRESERVE-EXTENDED-ATTRIBUTES) is non-nil. Avoid race when testing for existing destinations and for when input and output files are the same. If changing the group fails, adjust both default and preserved permissions so that access is not granted to the wrong group. (Fset_default_file_modes, init_fileio): Update realmask. (Fdefault_file_modes): Use realmask instead of calling umask. Fixes: debbugs:16133 --- doc/lispref/ChangeLog | 5 +++++ doc/lispref/files.texi | 11 +++++------ 2 files changed, 10 insertions(+), 6 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 2ebab695514..3de4ae598fe 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2013-12-29 Paul Eggert + + Plain copy-file no longer chmods an existing destination (Bug#16133). + * files.texi (Changing Files): Document this. + 2013-12-28 Chong Yidong * modes.texi (Auto Major Mode): Document interpreter-mode-alist diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index c1eae5eefa3..01eef350ddf 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -1563,8 +1563,6 @@ some operating systems.) If setting the time gets an error, interactive call, a prefix argument specifies a non-@code{nil} value for @var{time}. -This function copies the file modes, too. - If argument @var{preserve-uid-gid} is @code{nil}, we let the operating system decide the user and group ownership of the new file (this is usually set to the user running Emacs). If @var{preserve-uid-gid} is @@ -1572,10 +1570,11 @@ non-@code{nil}, we attempt to copy the user and group ownership of the file. This works only on some operating systems, and only if you have the correct permissions to do so. -If the optional argument @var{preserve-extended-attributes} is -non-@code{nil}, and Emacs has been built with the appropriate support, -this function attempts to copy the file's extended attributes, such as -its SELinux context and ACL entries (@pxref{File Attributes}). +If the optional argument @var{preserve-permissions} is non-@code{nil}, +this function copies the file's permissions, such as its file modes, +its SELinux context, and ACL entries (@pxref{File Attributes}). +Otherwise, if the destination is created its file permission bits are +those of the source, masked by the default file permissions. @end deffn @deffn Command make-symbolic-link filename newname &optional ok-if-exists -- cgit v1.2.1 From c0e8f6a9ea6164b0c445bd6274cd191dad93d93c Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sun, 29 Dec 2013 19:08:09 -0800 Subject: * emacs-lisp-intro.texi: Use @quotation for license notice. --- doc/lispintro/ChangeLog | 4 ++++ doc/lispintro/emacs-lisp-intro.texi | 2 ++ 2 files changed, 6 insertions(+) (limited to 'doc') diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index 57dc740fbfa..32e2b5ea726 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -1,3 +1,7 @@ +2013-12-30 Glenn Morris + + * emacs-lisp-intro.texi: Use @quotation for license notice. + 2013-12-12 Glenn Morris * emacs-lisp-intro.texi: Tweak dircategory. diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 396780408a5..07cd449ade0 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -141,6 +141,7 @@ Boston, MA 02110-1301 USA @sp 1 ISBN 1-882114-43-4 +@quotation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; there @@ -152,6 +153,7 @@ Documentation License''. (a) The FSF's Back-Cover Text is: ``You have the freedom to copy and modify this GNU manual. Buying copies from the FSF supports it in developing GNU and promoting software freedom.'' +@end quotation @end copying @c half title; two lines here, so do not use `shorttitlepage' -- cgit v1.2.1 From dcd812be6a39c9290339bfaba48e64d65713168b Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 29 Dec 2013 19:19:25 -0800 Subject: Specify info encoding and language. * emacs.texi, emacs-xtra.texi: * emacs-lisp-intro.texi: * back.texi, book-spine.texi, elisp.texi, lay-flat.texi: * ada-mode.texi, auth.texi, autotype.texi, bovine.texi, calc.texi: * cc-mode.texi, cl.texi, dbus.texi, dired-x.texi, ebrowse.texi: * ede.texi, ediff.texi, edt.texi, efaq-w32.texi, efaq.texi: * eieio.texi, emacs-gnutls.texi, emacs-mime.texi, epa.texi, erc.texi: * ert.texi, eshell.texi, eudc.texi, flymake.texi, forms.texi: * gnus-coding.texi, gnus-faq.texi, gnus.texi, htmlfontify.texi: * idlwave.texi, ido.texi, info.texi, mairix-el.texi, message.texi: * mh-e.texi, newsticker.texi, nxml-mode.texi, octave-mode.texi: * org.texi, pcl-cvs.texi, pgg.texi, rcirc.texi, reftex.texi: * remember.texi, sasl.texi, sc.texi, semantic.texi, ses.texi: * sieve.texi, smtpmail.texi, speedbar.texi, srecode.texi: * todo-mode.texi, tramp.texi, url.texi, vip.texi, viper.texi: * widget.texi, wisent.texi, woman.texi: Add @documentencoding, @documentlanguage as needed. Fixes: debbugs:16292 --- doc/emacs/ChangeLog | 5 +++++ doc/emacs/emacs-xtra.texi | 1 + doc/emacs/emacs.texi | 1 + doc/lispintro/ChangeLog | 5 +++++ doc/lispintro/emacs-lisp-intro.texi | 2 ++ doc/lispref/ChangeLog | 6 ++++++ doc/lispref/back.texi | 2 ++ doc/lispref/book-spine.texi | 2 ++ doc/lispref/elisp.texi | 1 + doc/lispref/lay-flat.texi | 2 ++ doc/misc/ChangeLog | 18 ++++++++++++++++++ doc/misc/ada-mode.texi | 2 ++ doc/misc/auth.texi | 2 ++ doc/misc/autotype.texi | 2 ++ doc/misc/bovine.texi | 2 ++ doc/misc/calc.texi | 10 ++++++---- doc/misc/cc-mode.texi | 2 ++ doc/misc/cl.texi | 4 +++- doc/misc/dbus.texi | 2 ++ doc/misc/dired-x.texi | 2 ++ doc/misc/ebrowse.texi | 2 ++ doc/misc/ede.texi | 2 ++ doc/misc/ediff.texi | 2 ++ doc/misc/edt.texi | 2 ++ doc/misc/efaq-w32.texi | 22 +++++++++++----------- doc/misc/efaq.texi | 2 ++ doc/misc/eieio.texi | 2 ++ doc/misc/emacs-gnutls.texi | 2 ++ doc/misc/emacs-mime.texi | 2 +- doc/misc/epa.texi | 2 ++ doc/misc/erc.texi | 2 ++ doc/misc/ert.texi | 2 ++ doc/misc/eshell.texi | 2 ++ doc/misc/eudc.texi | 2 ++ doc/misc/flymake.texi | 2 ++ doc/misc/forms.texi | 2 ++ doc/misc/gnus-coding.texi | 2 ++ doc/misc/gnus-faq.texi | 2 ++ doc/misc/gnus.texi | 1 + doc/misc/htmlfontify.texi | 2 ++ doc/misc/idlwave.texi | 2 ++ doc/misc/ido.texi | 2 ++ doc/misc/info.texi | 2 ++ doc/misc/mairix-el.texi | 1 + doc/misc/message.texi | 2 ++ doc/misc/mh-e.texi | 2 ++ doc/misc/newsticker.texi | 2 ++ doc/misc/nxml-mode.texi | 2 ++ doc/misc/octave-mode.texi | 2 ++ doc/misc/org.texi | 2 ++ doc/misc/pcl-cvs.texi | 2 ++ doc/misc/pgg.texi | 3 +++ doc/misc/rcirc.texi | 2 ++ doc/misc/reftex.texi | 2 ++ doc/misc/remember.texi | 2 ++ doc/misc/sasl.texi | 3 +++ doc/misc/sc.texi | 2 ++ doc/misc/semantic.texi | 2 ++ doc/misc/ses.texi | 2 ++ doc/misc/sieve.texi | 2 ++ doc/misc/smtpmail.texi | 2 ++ doc/misc/speedbar.texi | 2 ++ doc/misc/srecode.texi | 2 ++ doc/misc/todo-mode.texi | 2 ++ doc/misc/tramp.texi | 2 ++ doc/misc/url.texi | 3 +++ doc/misc/vip.texi | 3 +++ doc/misc/viper.texi | 3 +++ doc/misc/widget.texi | 2 ++ doc/misc/wisent.texi | 2 ++ doc/misc/woman.texi | 2 ++ 71 files changed, 181 insertions(+), 17 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 4c931ce8cb8..d88c6037210 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,8 @@ +2013-12-30 Paul Eggert + + Specify info encoding and language (Bug#16292). + * emacs.texi, emacs-xtra.texi: Add @documentlanguage directive. + 2013-12-28 Glenn Morris * trouble.texi (Understanding Bug Reporting): Brevity. diff --git a/doc/emacs/emacs-xtra.texi b/doc/emacs/emacs-xtra.texi index f67ed3d5cad..d0712dcae64 100644 --- a/doc/emacs/emacs-xtra.texi +++ b/doc/emacs/emacs-xtra.texi @@ -27,6 +27,7 @@ modify this GNU manual.'' @end copying @documentencoding UTF-8 +@documentlanguage en @dircategory Emacs @direntry diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 4845d49b823..27ad8530361 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -45,6 +45,7 @@ developing GNU and promoting software freedom.'' @end copying @documentencoding UTF-8 +@documentlanguage en @dircategory Emacs @direntry diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index 32e2b5ea726..4c702f7dc2e 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -1,3 +1,8 @@ +2013-12-30 Paul Eggert + + Specify info encoding and language (Bug#16292). + * emacs-lisp-intro.texi: Add @documentencoding, @documentlanguage. + 2013-12-30 Glenn Morris * emacs-lisp-intro.texi: Use @quotation for license notice. diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 07cd449ade0..1e0cf4fb4d9 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -4,6 +4,8 @@ @c setfilename emacs-lisp-intro.info @c sethtmlfilename emacs-lisp-intro.html @settitle Programming in Emacs Lisp +@documentencoding UTF-8 +@documentlanguage en @syncodeindex vr cp @syncodeindex fn cp @finalout diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 3de4ae598fe..99da484c002 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,9 @@ +2013-12-30 Paul Eggert + + Specify info encoding and language (Bug#16292). + * back.texi, book-spine.texi, elisp.texi, lay-flat.texi: + Add @documentencoding, @documentlanguage as needed. + 2013-12-29 Paul Eggert Plain copy-file no longer chmods an existing destination (Bug#16133). diff --git a/doc/lispref/back.texi b/doc/lispref/back.texi index ef20f8b79e0..ff83a2b9f7a 100644 --- a/doc/lispref/back.texi +++ b/doc/lispref/back.texi @@ -6,6 +6,8 @@ @c %**start of header @setfilename back-cover @settitle GNU Emacs Lisp Reference Manual +@documentencoding UTF-8 +@documentlanguage en @c %**end of header . @sp 7 diff --git a/doc/lispref/book-spine.texi b/doc/lispref/book-spine.texi index 721416316d2..f56995dba22 100644 --- a/doc/lispref/book-spine.texi +++ b/doc/lispref/book-spine.texi @@ -2,6 +2,8 @@ @c %**start of header @setfilename book-spine @settitle book-spine +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @include emacsver.texi diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index d6f7df5fb01..20818ec2d4d 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi @@ -116,6 +116,7 @@ developing GNU and promoting software freedom.'' @end copying @documentencoding UTF-8 +@documentlanguage en @dircategory Emacs lisp @direntry diff --git a/doc/lispref/lay-flat.texi b/doc/lispref/lay-flat.texi index f12e724d6a9..96b5b73aa0f 100644 --- a/doc/lispref/lay-flat.texi +++ b/doc/lispref/lay-flat.texi @@ -7,6 +7,8 @@ @setfilename inner-covers.info @settitle Inner Covers @smallbook +@documentencoding UTF-8 +@documentlanguage en @comment %**end of header @headings off diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 72df4408d0d..5f8490f29cb 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,21 @@ +2013-12-30 Paul Eggert + + Specify info encoding and language (Bug#16292). + * ada-mode.texi, auth.texi, autotype.texi, bovine.texi, calc.texi: + * cc-mode.texi, cl.texi, dbus.texi, dired-x.texi, ebrowse.texi: + * ede.texi, ediff.texi, edt.texi, efaq-w32.texi, efaq.texi: + * eieio.texi, emacs-gnutls.texi, emacs-mime.texi, epa.texi, erc.texi: + * ert.texi, eshell.texi, eudc.texi, flymake.texi, forms.texi: + * gnus-coding.texi, gnus-faq.texi, gnus.texi, htmlfontify.texi: + * idlwave.texi, ido.texi, info.texi, mairix-el.texi, message.texi: + * mh-e.texi, newsticker.texi, nxml-mode.texi, octave-mode.texi: + * org.texi, pcl-cvs.texi, pgg.texi, rcirc.texi, reftex.texi: + * remember.texi, sasl.texi, sc.texi, semantic.texi, ses.texi: + * sieve.texi, smtpmail.texi, speedbar.texi, srecode.texi: + * todo-mode.texi, tramp.texi, url.texi, vip.texi, viper.texi: + * widget.texi, wisent.texi, woman.texi: + Add @documentencoding, @documentlanguage as needed. + 2013-12-23 Teodor Zlatanov * emacs-gnutls.texi (Help For Users): Document `gnutls-verify-error'. diff --git a/doc/misc/ada-mode.texi b/doc/misc/ada-mode.texi index b5a640e13e0..a1a5642fbaf 100644 --- a/doc/misc/ada-mode.texi +++ b/doc/misc/ada-mode.texi @@ -1,6 +1,8 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/ada-mode @settitle Ada Mode +@documentencoding UTF-8 +@documentlanguage en @copying Copyright @copyright{} 1999--2013 Free Software Foundation, Inc. diff --git a/doc/misc/auth.texi b/doc/misc/auth.texi index 36ee400acca..047883791a6 100644 --- a/doc/misc/auth.texi +++ b/doc/misc/auth.texi @@ -6,6 +6,8 @@ @setfilename ../../info/auth @settitle Emacs auth-source Library @value{VERSION} +@documentencoding UTF-8 +@documentlanguage en @copying This file describes the Emacs auth-source library. diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi index 92cd5cdeccd..a043e912e82 100644 --- a/doc/misc/autotype.texi +++ b/doc/misc/autotype.texi @@ -5,6 +5,8 @@ @c @node Autotypist, Picture, Abbrevs, Top @c @chapter Features for Automatic Typing @settitle Features for Automatic Typing +@documentencoding UTF-8 +@documentlanguage en @c @cindex text @c @cindex selfinserting text @c @cindex autotypist diff --git a/doc/misc/bovine.texi b/doc/misc/bovine.texi index 81ec2eb80ec..083f271d23e 100644 --- a/doc/misc/bovine.texi +++ b/doc/misc/bovine.texi @@ -4,6 +4,8 @@ @set TITLE Bovine parser development @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim @settitle @value{TITLE} +@documentencoding UTF-8 +@documentlanguage en @c ************************************************************************* @c @ Header diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index 425cd349784..93685195d96 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi @@ -4,6 +4,8 @@ @setfilename ../../info/calc @c [title] @settitle GNU Emacs Calc Manual +@documentencoding UTF-8 +@documentlanguage en @setchapternewpage odd @comment %**end of header (This is for running Texinfo on a region.) @@ -11801,7 +11803,7 @@ Thus @kbd{M-@key{DEL}} by itself removes the second-from-top stack element, leaving the first, third, fourth, and so on; @kbd{M-3 M-@key{DEL}} deletes the third stack element. -The above commands do not depend on the location of the cursor. +The above commands do not depend on the location of the cursor. If the customizable variable @code{calc-context-sensitive-enter} is non-@code{nil} (@pxref{Customizing Calc}), these commands will become context sensitive. For example, instead of duplicating the top of the stack, @@ -33326,7 +33328,7 @@ integers. Each @var{d} is a base-@expr{10^n} ``digit'' (where again, 99@dots{}9. The least significant digit is @var{d0}; the last digit, @var{dn}, which is always nonzero, is the most significant digit. For example, the integer @mathit{-12345678} might be stored as -@samp{(bigneg 678 345 12)}. +@samp{(bigneg 678 345 12)}. The distinction between small and large integers is entirely hidden from the user. In @code{defmath} definitions, the Lisp predicate @code{integerp} @@ -35712,10 +35714,10 @@ is @code{nil}. The commands @code{calc-enter} and @code{calc-pop} will typically duplicate the top of the stack. If @code{calc-context-sensitive-enter} is non-@code{nil}, then the -@code{calc-enter} will copy the element at the cursor to the +@code{calc-enter} will copy the element at the cursor to the top of the stack and @code{calc-pop} will delete the element at the cursor. The default value of @code{calc-context-sensitive-enter} is -@code{nil}. +@code{nil}. @end defvar @defvar calc-undo-length diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi index 7d1baf7bf0c..c2252e82699 100644 --- a/doc/misc/cc-mode.texi +++ b/doc/misc/cc-mode.texi @@ -83,6 +83,8 @@ the second with them pointing to the XEmacs manuals. @setfilename ../../info/ccmode @settitle CC Mode Manual +@documentencoding UTF-8 +@documentlanguage en @footnotestyle end @c The following four macros generate the filenames and titles of the diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi index 49c02568475..2d383c2f04f 100644 --- a/doc/misc/cl.texi +++ b/doc/misc/cl.texi @@ -1,6 +1,8 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/cl @settitle Common Lisp Extensions +@documentencoding UTF-8 +@documentlanguage en @include emacsver.texi @copying @@ -1495,7 +1497,7 @@ simply returning @code{nil}. @node Blocks and Exits @section Blocks and Exits -@cindex block +@cindex block @noindent Common Lisp @dfn{blocks} provide a non-local exit mechanism very diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi index a6155e2e724..25a21dd2d88 100644 --- a/doc/misc/dbus.texi +++ b/doc/misc/dbus.texi @@ -2,6 +2,8 @@ @setfilename ../../info/dbus @c %**start of header @settitle Using of D-Bus +@documentencoding UTF-8 +@documentlanguage en @c @setchapternewpage odd @c %**end of header diff --git a/doc/misc/dired-x.texi b/doc/misc/dired-x.texi index 0b88604543e..26d6d633d53 100644 --- a/doc/misc/dired-x.texi +++ b/doc/misc/dired-x.texi @@ -9,6 +9,8 @@ @comment %**start of header (This is for running Texinfo on a region.) @setfilename ../../info/dired-x @settitle Dired Extra User's Manual +@documentencoding UTF-8 +@documentlanguage en @include emacsver.texi diff --git a/doc/misc/ebrowse.texi b/doc/misc/ebrowse.texi index aa9df988969..16f343bcf32 100644 --- a/doc/misc/ebrowse.texi +++ b/doc/misc/ebrowse.texi @@ -3,6 +3,8 @@ @comment %**start of header @setfilename ../../info/ebrowse @settitle A Class Browser for C++ +@documentencoding UTF-8 +@documentlanguage en @setchapternewpage odd @syncodeindex fn cp @comment %**end of header diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi index 283082141dc..7608dde14d9 100644 --- a/doc/misc/ede.texi +++ b/doc/misc/ede.texi @@ -1,6 +1,8 @@ \input texinfo @setfilename ../../info/ede @settitle Emacs Development Environment +@documentencoding UTF-8 +@documentlanguage en @copying This file describes EDE, the Emacs Development Environment. diff --git a/doc/misc/ediff.texi b/doc/misc/ediff.texi index bb315fc41ef..a1107348041 100644 --- a/doc/misc/ediff.texi +++ b/doc/misc/ediff.texi @@ -10,6 +10,8 @@ @setfilename ../../info/ediff @settitle Ediff User's Manual +@documentencoding UTF-8 +@documentlanguage en @synindex vr cp @synindex fn cp @synindex pg cp diff --git a/doc/misc/edt.texi b/doc/misc/edt.texi index 40aeae836ef..531f885b967 100644 --- a/doc/misc/edt.texi +++ b/doc/misc/edt.texi @@ -1,6 +1,8 @@ \input texinfo @setfilename ../../info/edt @settitle EDT Emulation for Emacs +@documentencoding UTF-8 +@documentlanguage en @copying This file documents the EDT emulation package for Emacs. diff --git a/doc/misc/efaq-w32.texi b/doc/misc/efaq-w32.texi index c6f44cea2b8..255621bf9a0 100644 --- a/doc/misc/efaq-w32.texi +++ b/doc/misc/efaq-w32.texi @@ -162,7 +162,7 @@ Pre-compiled versions are distributed from Emacs binaries are distributed as zip files, digitally signed by the developer who built them. Generally most users will want the file @file{emacs-@value{EMACSVER}-bin-i386.zip}, which -contains everything you need to get started. +contains everything you need to get started. @cindex where to get sources @cindex Emacs source code @@ -286,7 +286,7 @@ Windows ports of the command line gzip and tar tools from multiple sources. The command to unpack a source distribution from the command line is: @example -tar xzf emacs-@value{EMACSVER}.tar.gz +tar xzf emacs-@value{EMACSVER}.tar.gz @end example If this does not work with the versions of tar and gzip that you have, @@ -573,9 +573,9 @@ Message-ID: Subject: Re: Re[2]: problem with caps/ctrl swap on NT 4.0 @end ignore @example -It's a binary value that lets you map keystrokes in the low-level keyboard -drivers in NT. As a result you don't have to worry about applications -bypassing mappings that you've done at a higher level (i.e. it just works). +It's a binary value that lets you map keystrokes in the low-level keyboard +drivers in NT. As a result you don't have to worry about applications +bypassing mappings that you've done at a higher level (i.e. it just works). Here's the format of the value: @@ -587,11 +587,11 @@ Here's the format of the value: DWORD: mapping n DWORD: 0x00000000 terminating null DWORD -Each mapping DWORD has two parts: the input scancode, and an output -scancode. To map scancode 0x1d (left control) to scancode 0x3a (caps -lock), you want a value of 0x003a001d. Note that this does not swap the -keys. Using just this mapping value, both the left control and the caps -lock key will behave as caps-lock. To swap, you also need to map 0x3a to +Each mapping DWORD has two parts: the input scancode, and an output +scancode. To map scancode 0x1d (left control) to scancode 0x3a (caps +lock), you want a value of 0x003a001d. Note that this does not swap the +keys. Using just this mapping value, both the left control and the caps +lock key will behave as caps-lock. To swap, you also need to map 0x3a to 0x1d, using 0x001d003a. This registry value is system wide, and can't be made user-specific. It @@ -1426,7 +1426,7 @@ this discussion} for more details. You can start an interactive shell in Emacs by typing @kbd{M-x shell}. Emacs uses the @env{SHELL} environment variable to determine which program to use as the shell. To instruct Emacs to use a non-default -shell, you can either set this environment variable, or customize +shell, you can either set this environment variable, or customize @code{explicit-shell-file-name}. You can also customize @code{shell-file-name} to change the shell that will be used by subprocesses that are started with @code{shell-command} and diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index 54e067d65bd..0e2710b6580 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/efaq @settitle GNU Emacs FAQ +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @include emacsver.texi diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi index 5b9f3a8e004..6f6dd064fe9 100644 --- a/doc/misc/eieio.texi +++ b/doc/misc/eieio.texi @@ -3,6 +3,8 @@ @set TITLE Enhanced Implementation of Emacs Interpreted Objects @set AUTHOR Eric M. Ludlam @settitle @value{TITLE} +@documentencoding UTF-8 +@documentlanguage en @c ************************************************************************* @c @ Header diff --git a/doc/misc/emacs-gnutls.texi b/doc/misc/emacs-gnutls.texi index 369c6c3c3a1..b30067830e5 100644 --- a/doc/misc/emacs-gnutls.texi +++ b/doc/misc/emacs-gnutls.texi @@ -4,6 +4,8 @@ @setfilename ../../info/emacs-gnutls @settitle Emacs GnuTLS Integration @value{VERSION} +@documentencoding UTF-8 +@documentlanguage en @copying This file describes the Emacs GnuTLS integration. diff --git a/doc/misc/emacs-mime.texi b/doc/misc/emacs-mime.texi index 2c0e929e532..37c6e1b6b1e 100644 --- a/doc/misc/emacs-mime.texi +++ b/doc/misc/emacs-mime.texi @@ -26,8 +26,8 @@ modify this GNU manual.'' @end quotation @end copying -@c Node ``Interface Functions'' uses non-ASCII characters @documentencoding UTF-8 +@documentlanguage en @dircategory Emacs lisp libraries @direntry diff --git a/doc/misc/epa.texi b/doc/misc/epa.texi index 79f76560eb4..c131a82c527 100644 --- a/doc/misc/epa.texi +++ b/doc/misc/epa.texi @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/epa @settitle EasyPG Assistant User's Manual +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @set VERSION 1.0.0 diff --git a/doc/misc/erc.texi b/doc/misc/erc.texi index abf0766ee8f..07e77f392fe 100644 --- a/doc/misc/erc.texi +++ b/doc/misc/erc.texi @@ -4,6 +4,8 @@ @settitle ERC Manual @syncodeindex fn cp @include emacsver.texi +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/ert.texi b/doc/misc/ert.texi index 926a02fd1de..7d7157c6805 100644 --- a/doc/misc/ert.texi +++ b/doc/misc/ert.texi @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/ert @settitle Emacs Lisp Regression Testing +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @dircategory Emacs misc features diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index e8fab42b899..789fa01160c 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi @@ -4,6 +4,8 @@ @settitle Eshell: The Emacs Shell @defindex cm @synindex vr fn +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/eudc.texi b/doc/misc/eudc.texi index 747494ffbde..30353fdfaa1 100644 --- a/doc/misc/eudc.texi +++ b/doc/misc/eudc.texi @@ -3,6 +3,8 @@ @setfilename ../../info/eudc @settitle Emacs Unified Directory Client (EUDC) Manual @afourpaper +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi index d1f3e21c20e..dce0a714809 100644 --- a/doc/misc/flymake.texi +++ b/doc/misc/flymake.texi @@ -5,6 +5,8 @@ @set UPDATED April 2004 @settitle GNU Flymake @value{VERSION} @syncodeindex pg cp +@documentencoding UTF-8 +@documentlanguage en @comment %**end of header @copying diff --git a/doc/misc/forms.texi b/doc/misc/forms.texi index 17b117be961..817aafde2a1 100644 --- a/doc/misc/forms.texi +++ b/doc/misc/forms.texi @@ -14,6 +14,8 @@ @end iftex @c @smallbook @comment %**end of header (This is for running Texinfo on a region.) +@documentencoding UTF-8 +@documentlanguage en @copying This file documents Forms mode, a form-editing major mode for GNU Emacs. diff --git a/doc/misc/gnus-coding.texi b/doc/misc/gnus-coding.texi index 4e5855627b8..cebe90bea9a 100644 --- a/doc/misc/gnus-coding.texi +++ b/doc/misc/gnus-coding.texi @@ -2,6 +2,8 @@ @setfilename gnus-coding @settitle Gnus Coding Style and Maintenance Guide +@documentencoding UTF-8 +@documentlanguage en @syncodeindex fn cp @syncodeindex vr cp @syncodeindex pg cp diff --git a/doc/misc/gnus-faq.texi b/doc/misc/gnus-faq.texi index 1a0469c14f4..3b4cf5d8c5e 100644 --- a/doc/misc/gnus-faq.texi +++ b/doc/misc/gnus-faq.texi @@ -5,6 +5,8 @@ @c @c @setfilename gnus-faq.info @c @settitle Frequently Asked Questions +@c @documentencoding UTF-8 +@c @documentlanguage en @c %**end of header @c diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index d05ed53e69b..5e29a08eb98 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -9,6 +9,7 @@ @syncodeindex pg cp @documentencoding UTF-8 +@documentlanguage en @copying Copyright @copyright{} 1995--2013 Free Software Foundation, Inc. diff --git a/doc/misc/htmlfontify.texi b/doc/misc/htmlfontify.texi index 9f3b99a1027..efb52683c8d 100644 --- a/doc/misc/htmlfontify.texi +++ b/doc/misc/htmlfontify.texi @@ -3,6 +3,8 @@ @setfilename ../../info/htmlfontify @settitle Htmlfontify User Manual @exampleindent 2 +@documentencoding UTF-8 +@documentlanguage en @comment %**end of header @copying diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi index a432d4dc14a..efe3db63b05 100644 --- a/doc/misc/idlwave.texi +++ b/doc/misc/idlwave.texi @@ -12,6 +12,8 @@ @set DATE April, 2007 @set AUTHOR J.D. Smith & Carsten Dominik @set MAINTAINER J.D. Smith +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @finalout diff --git a/doc/misc/ido.texi b/doc/misc/ido.texi index 747a9d57d3f..816e42c4dbd 100644 --- a/doc/misc/ido.texi +++ b/doc/misc/ido.texi @@ -1,6 +1,8 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/ido @settitle Interactive Do +@documentencoding UTF-8 +@documentlanguage en @include emacsver.texi @copying diff --git a/doc/misc/info.texi b/doc/misc/info.texi index 32aee99868d..093a510187e 100644 --- a/doc/misc/info.texi +++ b/doc/misc/info.texi @@ -8,6 +8,8 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 +@documentlanguage en @comment %**end of header @copying diff --git a/doc/misc/mairix-el.texi b/doc/misc/mairix-el.texi index 210b709c1ea..9fe46d5f9b4 100644 --- a/doc/misc/mairix-el.texi +++ b/doc/misc/mairix-el.texi @@ -4,6 +4,7 @@ @settitle Emacs Interface for Mairix @documentencoding UTF-8 +@documentlanguage en @copying Copyright @copyright{} 2008--2013 Free Software Foundation, Inc. diff --git a/doc/misc/message.texi b/doc/misc/message.texi index a98c7e48e53..86092ab76d8 100644 --- a/doc/misc/message.texi +++ b/doc/misc/message.texi @@ -4,6 +4,8 @@ @setfilename ../../info/message @settitle Message Manual +@documentencoding UTF-8 +@documentlanguage en @synindex fn cp @synindex vr cp @synindex pg cp diff --git a/doc/misc/mh-e.texi b/doc/misc/mh-e.texi index a0ea0fe6de9..d11cf3dfd7d 100644 --- a/doc/misc/mh-e.texi +++ b/doc/misc/mh-e.texi @@ -5,6 +5,8 @@ @c %**start of header @setfilename ../../info/mh-e @settitle The MH-E Manual +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @c Version of the software and manual. diff --git a/doc/misc/newsticker.texi b/doc/misc/newsticker.texi index afb44a6a396..e5e3c11c0bd 100644 --- a/doc/misc/newsticker.texi +++ b/doc/misc/newsticker.texi @@ -7,6 +7,8 @@ @syncodeindex vr cp @syncodeindex fn cp @syncodeindex pg cp +@documentencoding UTF-8 +@documentlanguage en @comment %**end of header @copying diff --git a/doc/misc/nxml-mode.texi b/doc/misc/nxml-mode.texi index 8c81b6fbd20..df2a6c808ee 100644 --- a/doc/misc/nxml-mode.texi +++ b/doc/misc/nxml-mode.texi @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/nxml-mode @settitle nXML Mode +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/octave-mode.texi b/doc/misc/octave-mode.texi index 50bb4f11f2a..6590e1770b8 100644 --- a/doc/misc/octave-mode.texi +++ b/doc/misc/octave-mode.texi @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/octave-mode @settitle Octave Mode +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/org.texi b/doc/misc/org.texi index a90f3d4d536..9d3acac25aa 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi @@ -15,6 +15,8 @@ @set MAINTAINER Carsten Dominik @set MAINTAINEREMAIL @email{carsten at orgmode dot org} @set MAINTAINERCONTACT @uref{mailto:carsten at orgmode dot org,contact the maintainer} +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @finalout diff --git a/doc/misc/pcl-cvs.texi b/doc/misc/pcl-cvs.texi index 11123f977a0..86bdad0e611 100644 --- a/doc/misc/pcl-cvs.texi +++ b/doc/misc/pcl-cvs.texi @@ -3,6 +3,8 @@ @setfilename ../../info/pcl-cvs @settitle PCL-CVS---Emacs Front-End to CVS @syncodeindex vr fn +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/pgg.texi b/doc/misc/pgg.texi index 370998c855a..df86117a6b1 100644 --- a/doc/misc/pgg.texi +++ b/doc/misc/pgg.texi @@ -7,6 +7,9 @@ @set VERSION 0.1 @settitle PGG @value{VERSION} +@documentencoding UTF-8 +@documentlanguage en + @copying This file describes PGG @value{VERSION}, an Emacs interface to various PGP implementations. diff --git a/doc/misc/rcirc.texi b/doc/misc/rcirc.texi index 3bce0c7c24b..e76172017a8 100644 --- a/doc/misc/rcirc.texi +++ b/doc/misc/rcirc.texi @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/rcirc @settitle rcirc Manual +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/reftex.texi b/doc/misc/reftex.texi index ba83d8129a8..c2c7b0818aa 100644 --- a/doc/misc/reftex.texi +++ b/doc/misc/reftex.texi @@ -2,6 +2,8 @@ @c %**start of header @setfilename ../../info/reftex @settitle RefTeX User Manual +@documentencoding UTF-8 +@documentlanguage en @synindex ky cp @syncodeindex vr cp @syncodeindex fn cp diff --git a/doc/misc/remember.texi b/doc/misc/remember.texi index 290c18a7b47..b6a18b1433a 100644 --- a/doc/misc/remember.texi +++ b/doc/misc/remember.texi @@ -3,6 +3,8 @@ @setfilename ../../info/remember @settitle Remember Manual @syncodeindex fn cp +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/sasl.texi b/doc/misc/sasl.texi index dcb25ec805a..256077871f3 100644 --- a/doc/misc/sasl.texi +++ b/doc/misc/sasl.texi @@ -7,6 +7,9 @@ @set VERSION 0.2 @settitle Emacs SASL Library @value{VERSION} +@documentencoding UTF-8 +@documentlanguage en + @copying This file describes the Emacs SASL library, version @value{VERSION}. diff --git a/doc/misc/sc.texi b/doc/misc/sc.texi index 11dbf2eda5e..43a8992a2e9 100644 --- a/doc/misc/sc.texi +++ b/doc/misc/sc.texi @@ -3,6 +3,8 @@ @comment %**start of header (This is for running Texinfo on a region.) @setfilename ../../info/sc @settitle Supercite User's Manual +@documentencoding UTF-8 +@documentlanguage en @iftex @finalout @end iftex diff --git a/doc/misc/semantic.texi b/doc/misc/semantic.texi index f43316f5012..132fdec67be 100644 --- a/doc/misc/semantic.texi +++ b/doc/misc/semantic.texi @@ -3,6 +3,8 @@ @set TITLE Semantic Manual @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim @settitle @value{TITLE} +@documentencoding UTF-8 +@documentlanguage en @c ************************************************************************* @c @ Header diff --git a/doc/misc/ses.texi b/doc/misc/ses.texi index 8ac023b8135..8b9520bf790 100644 --- a/doc/misc/ses.texi +++ b/doc/misc/ses.texi @@ -6,6 +6,8 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/sieve.texi b/doc/misc/sieve.texi index f69e2b9b948..1fb987fb2a0 100644 --- a/doc/misc/sieve.texi +++ b/doc/misc/sieve.texi @@ -4,6 +4,8 @@ @setfilename ../../info/sieve @settitle Emacs Sieve Manual +@documentencoding UTF-8 +@documentlanguage en @synindex fn cp @synindex vr cp @synindex pg cp diff --git a/doc/misc/smtpmail.texi b/doc/misc/smtpmail.texi index dce90d06012..6774f0e5545 100644 --- a/doc/misc/smtpmail.texi +++ b/doc/misc/smtpmail.texi @@ -1,6 +1,8 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/smtpmail @settitle Emacs SMTP Library +@documentencoding UTF-8 +@documentlanguage en @syncodeindex vr fn @copying Copyright @copyright{} 2003--2013 Free Software Foundation, Inc. diff --git a/doc/misc/speedbar.texi b/doc/misc/speedbar.texi index 3cb0ec3aed8..49bc462a32e 100644 --- a/doc/misc/speedbar.texi +++ b/doc/misc/speedbar.texi @@ -1,6 +1,8 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/speedbar @settitle Speedbar: File/Tag summarizing utility +@documentencoding UTF-8 +@documentlanguage en @syncodeindex fn cp @copying diff --git a/doc/misc/srecode.texi b/doc/misc/srecode.texi index d6cf4d53edc..8715c488310 100644 --- a/doc/misc/srecode.texi +++ b/doc/misc/srecode.texi @@ -4,6 +4,8 @@ @set TITLE SRecoder Manual @set AUTHOR Eric M. Ludlam @settitle @value{TITLE} +@documentencoding UTF-8 +@documentlanguage en @c Merge all indexes into a single index for now. @c We can always separate them later into two or more as needed. diff --git a/doc/misc/todo-mode.texi b/doc/misc/todo-mode.texi index 4920a9ccc81..715212e03d5 100644 --- a/doc/misc/todo-mode.texi +++ b/doc/misc/todo-mode.texi @@ -5,6 +5,8 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 7b2d2b33ba2..05e06724a81 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi @@ -2,6 +2,8 @@ @setfilename ../../info/tramp @c %**start of header @settitle TRAMP User Manual +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @c This is *so* much nicer :) diff --git a/doc/misc/url.texi b/doc/misc/url.texi index fdec68b1c61..862a8068bed 100644 --- a/doc/misc/url.texi +++ b/doc/misc/url.texi @@ -2,6 +2,9 @@ @setfilename ../../info/url @settitle URL Programmer's Manual +@documentencoding UTF-8 +@documentlanguage en + @iftex @c @finalout @end iftex diff --git a/doc/misc/vip.texi b/doc/misc/vip.texi index 28e78f5d381..3ce0221f6cb 100644 --- a/doc/misc/vip.texi +++ b/doc/misc/vip.texi @@ -2,6 +2,9 @@ @setfilename ../../info/vip @settitle VIP +@documentencoding UTF-8 +@documentlanguage en + @copying Copyright @copyright{} 1987, 2001--2013 Free Software Foundation, Inc. diff --git a/doc/misc/viper.texi b/doc/misc/viper.texi index db5a5736888..cb6268e0e03 100644 --- a/doc/misc/viper.texi +++ b/doc/misc/viper.texi @@ -6,6 +6,9 @@ @comment @setfilename viper.info @setfilename ../../info/viper +@documentencoding UTF-8 +@documentlanguage en + @copying Copyright @copyright{} 1995--1997, 2001--2013 Free Software Foundation, Inc. diff --git a/doc/misc/widget.texi b/doc/misc/widget.texi index 2fe247dd750..9d8fe14a8b0 100644 --- a/doc/misc/widget.texi +++ b/doc/misc/widget.texi @@ -5,6 +5,8 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/wisent.texi b/doc/misc/wisent.texi index c0f18f6363a..1274e9b0724 100644 --- a/doc/misc/wisent.texi +++ b/doc/misc/wisent.texi @@ -20,6 +20,8 @@ @c @footnotestyle separate @c @paragraphindent 2 @c @@smallbook +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/woman.texi b/doc/misc/woman.texi index df67f02119c..324d5a7c84d 100644 --- a/doc/misc/woman.texi +++ b/doc/misc/woman.texi @@ -8,6 +8,8 @@ @c Look for @page and @need commands. @setchapternewpage off @paragraphindent 0 +@documentencoding UTF-8 +@documentlanguage en @c %**end of header @copying -- cgit v1.2.1 From 634425957a55b272b0e06a617c725766e1ae0ee9 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Mon, 30 Dec 2013 19:08:32 +0200 Subject: Revert @documentencoding changes in the docs. --- doc/emacs/ChangeLog | 5 ----- doc/emacs/emacs-xtra.texi | 1 - doc/emacs/emacs.texi | 1 - doc/lispintro/ChangeLog | 5 ----- doc/lispintro/emacs-lisp-intro.texi | 2 -- doc/lispref/ChangeLog | 6 ------ doc/lispref/back.texi | 2 -- doc/lispref/book-spine.texi | 2 -- doc/lispref/elisp.texi | 1 - doc/lispref/lay-flat.texi | 2 -- doc/misc/ChangeLog | 18 ------------------ doc/misc/ada-mode.texi | 2 -- doc/misc/auth.texi | 2 -- doc/misc/autotype.texi | 2 -- doc/misc/bovine.texi | 2 -- doc/misc/calc.texi | 10 ++++------ doc/misc/cc-mode.texi | 2 -- doc/misc/cl.texi | 4 +--- doc/misc/dbus.texi | 2 -- doc/misc/dired-x.texi | 2 -- doc/misc/ebrowse.texi | 2 -- doc/misc/ede.texi | 2 -- doc/misc/ediff.texi | 2 -- doc/misc/edt.texi | 2 -- doc/misc/efaq-w32.texi | 22 +++++++++++----------- doc/misc/efaq.texi | 2 -- doc/misc/eieio.texi | 2 -- doc/misc/emacs-gnutls.texi | 2 -- doc/misc/emacs-mime.texi | 2 +- doc/misc/epa.texi | 2 -- doc/misc/erc.texi | 2 -- doc/misc/ert.texi | 2 -- doc/misc/eshell.texi | 2 -- doc/misc/eudc.texi | 2 -- doc/misc/flymake.texi | 2 -- doc/misc/forms.texi | 2 -- doc/misc/gnus-coding.texi | 2 -- doc/misc/gnus-faq.texi | 2 -- doc/misc/gnus.texi | 1 - doc/misc/htmlfontify.texi | 2 -- doc/misc/idlwave.texi | 2 -- doc/misc/ido.texi | 2 -- doc/misc/info.texi | 2 -- doc/misc/mairix-el.texi | 1 - doc/misc/message.texi | 2 -- doc/misc/mh-e.texi | 2 -- doc/misc/newsticker.texi | 2 -- doc/misc/nxml-mode.texi | 2 -- doc/misc/octave-mode.texi | 2 -- doc/misc/org.texi | 2 -- doc/misc/pcl-cvs.texi | 2 -- doc/misc/pgg.texi | 3 --- doc/misc/rcirc.texi | 2 -- doc/misc/reftex.texi | 2 -- doc/misc/remember.texi | 2 -- doc/misc/sasl.texi | 3 --- doc/misc/sc.texi | 2 -- doc/misc/semantic.texi | 2 -- doc/misc/ses.texi | 2 -- doc/misc/sieve.texi | 2 -- doc/misc/smtpmail.texi | 2 -- doc/misc/speedbar.texi | 2 -- doc/misc/srecode.texi | 2 -- doc/misc/todo-mode.texi | 2 -- doc/misc/tramp.texi | 2 -- doc/misc/url.texi | 3 --- doc/misc/vip.texi | 3 --- doc/misc/viper.texi | 3 --- doc/misc/widget.texi | 2 -- doc/misc/wisent.texi | 2 -- doc/misc/woman.texi | 2 -- 71 files changed, 17 insertions(+), 181 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index d88c6037210..4c931ce8cb8 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,8 +1,3 @@ -2013-12-30 Paul Eggert - - Specify info encoding and language (Bug#16292). - * emacs.texi, emacs-xtra.texi: Add @documentlanguage directive. - 2013-12-28 Glenn Morris * trouble.texi (Understanding Bug Reporting): Brevity. diff --git a/doc/emacs/emacs-xtra.texi b/doc/emacs/emacs-xtra.texi index d0712dcae64..f67ed3d5cad 100644 --- a/doc/emacs/emacs-xtra.texi +++ b/doc/emacs/emacs-xtra.texi @@ -27,7 +27,6 @@ modify this GNU manual.'' @end copying @documentencoding UTF-8 -@documentlanguage en @dircategory Emacs @direntry diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 27ad8530361..4845d49b823 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -45,7 +45,6 @@ developing GNU and promoting software freedom.'' @end copying @documentencoding UTF-8 -@documentlanguage en @dircategory Emacs @direntry diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index 4c702f7dc2e..32e2b5ea726 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -1,8 +1,3 @@ -2013-12-30 Paul Eggert - - Specify info encoding and language (Bug#16292). - * emacs-lisp-intro.texi: Add @documentencoding, @documentlanguage. - 2013-12-30 Glenn Morris * emacs-lisp-intro.texi: Use @quotation for license notice. diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 1e0cf4fb4d9..07cd449ade0 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -4,8 +4,6 @@ @c setfilename emacs-lisp-intro.info @c sethtmlfilename emacs-lisp-intro.html @settitle Programming in Emacs Lisp -@documentencoding UTF-8 -@documentlanguage en @syncodeindex vr cp @syncodeindex fn cp @finalout diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 99da484c002..3de4ae598fe 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,9 +1,3 @@ -2013-12-30 Paul Eggert - - Specify info encoding and language (Bug#16292). - * back.texi, book-spine.texi, elisp.texi, lay-flat.texi: - Add @documentencoding, @documentlanguage as needed. - 2013-12-29 Paul Eggert Plain copy-file no longer chmods an existing destination (Bug#16133). diff --git a/doc/lispref/back.texi b/doc/lispref/back.texi index ff83a2b9f7a..ef20f8b79e0 100644 --- a/doc/lispref/back.texi +++ b/doc/lispref/back.texi @@ -6,8 +6,6 @@ @c %**start of header @setfilename back-cover @settitle GNU Emacs Lisp Reference Manual -@documentencoding UTF-8 -@documentlanguage en @c %**end of header . @sp 7 diff --git a/doc/lispref/book-spine.texi b/doc/lispref/book-spine.texi index f56995dba22..721416316d2 100644 --- a/doc/lispref/book-spine.texi +++ b/doc/lispref/book-spine.texi @@ -2,8 +2,6 @@ @c %**start of header @setfilename book-spine @settitle book-spine -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @include emacsver.texi diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index 20818ec2d4d..d6f7df5fb01 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi @@ -116,7 +116,6 @@ developing GNU and promoting software freedom.'' @end copying @documentencoding UTF-8 -@documentlanguage en @dircategory Emacs lisp @direntry diff --git a/doc/lispref/lay-flat.texi b/doc/lispref/lay-flat.texi index 96b5b73aa0f..f12e724d6a9 100644 --- a/doc/lispref/lay-flat.texi +++ b/doc/lispref/lay-flat.texi @@ -7,8 +7,6 @@ @setfilename inner-covers.info @settitle Inner Covers @smallbook -@documentencoding UTF-8 -@documentlanguage en @comment %**end of header @headings off diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 5f8490f29cb..72df4408d0d 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,21 +1,3 @@ -2013-12-30 Paul Eggert - - Specify info encoding and language (Bug#16292). - * ada-mode.texi, auth.texi, autotype.texi, bovine.texi, calc.texi: - * cc-mode.texi, cl.texi, dbus.texi, dired-x.texi, ebrowse.texi: - * ede.texi, ediff.texi, edt.texi, efaq-w32.texi, efaq.texi: - * eieio.texi, emacs-gnutls.texi, emacs-mime.texi, epa.texi, erc.texi: - * ert.texi, eshell.texi, eudc.texi, flymake.texi, forms.texi: - * gnus-coding.texi, gnus-faq.texi, gnus.texi, htmlfontify.texi: - * idlwave.texi, ido.texi, info.texi, mairix-el.texi, message.texi: - * mh-e.texi, newsticker.texi, nxml-mode.texi, octave-mode.texi: - * org.texi, pcl-cvs.texi, pgg.texi, rcirc.texi, reftex.texi: - * remember.texi, sasl.texi, sc.texi, semantic.texi, ses.texi: - * sieve.texi, smtpmail.texi, speedbar.texi, srecode.texi: - * todo-mode.texi, tramp.texi, url.texi, vip.texi, viper.texi: - * widget.texi, wisent.texi, woman.texi: - Add @documentencoding, @documentlanguage as needed. - 2013-12-23 Teodor Zlatanov * emacs-gnutls.texi (Help For Users): Document `gnutls-verify-error'. diff --git a/doc/misc/ada-mode.texi b/doc/misc/ada-mode.texi index a1a5642fbaf..b5a640e13e0 100644 --- a/doc/misc/ada-mode.texi +++ b/doc/misc/ada-mode.texi @@ -1,8 +1,6 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/ada-mode @settitle Ada Mode -@documentencoding UTF-8 -@documentlanguage en @copying Copyright @copyright{} 1999--2013 Free Software Foundation, Inc. diff --git a/doc/misc/auth.texi b/doc/misc/auth.texi index 047883791a6..36ee400acca 100644 --- a/doc/misc/auth.texi +++ b/doc/misc/auth.texi @@ -6,8 +6,6 @@ @setfilename ../../info/auth @settitle Emacs auth-source Library @value{VERSION} -@documentencoding UTF-8 -@documentlanguage en @copying This file describes the Emacs auth-source library. diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi index a043e912e82..92cd5cdeccd 100644 --- a/doc/misc/autotype.texi +++ b/doc/misc/autotype.texi @@ -5,8 +5,6 @@ @c @node Autotypist, Picture, Abbrevs, Top @c @chapter Features for Automatic Typing @settitle Features for Automatic Typing -@documentencoding UTF-8 -@documentlanguage en @c @cindex text @c @cindex selfinserting text @c @cindex autotypist diff --git a/doc/misc/bovine.texi b/doc/misc/bovine.texi index 083f271d23e..81ec2eb80ec 100644 --- a/doc/misc/bovine.texi +++ b/doc/misc/bovine.texi @@ -4,8 +4,6 @@ @set TITLE Bovine parser development @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim @settitle @value{TITLE} -@documentencoding UTF-8 -@documentlanguage en @c ************************************************************************* @c @ Header diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index 93685195d96..425cd349784 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi @@ -4,8 +4,6 @@ @setfilename ../../info/calc @c [title] @settitle GNU Emacs Calc Manual -@documentencoding UTF-8 -@documentlanguage en @setchapternewpage odd @comment %**end of header (This is for running Texinfo on a region.) @@ -11803,7 +11801,7 @@ Thus @kbd{M-@key{DEL}} by itself removes the second-from-top stack element, leaving the first, third, fourth, and so on; @kbd{M-3 M-@key{DEL}} deletes the third stack element. -The above commands do not depend on the location of the cursor. +The above commands do not depend on the location of the cursor. If the customizable variable @code{calc-context-sensitive-enter} is non-@code{nil} (@pxref{Customizing Calc}), these commands will become context sensitive. For example, instead of duplicating the top of the stack, @@ -33328,7 +33326,7 @@ integers. Each @var{d} is a base-@expr{10^n} ``digit'' (where again, 99@dots{}9. The least significant digit is @var{d0}; the last digit, @var{dn}, which is always nonzero, is the most significant digit. For example, the integer @mathit{-12345678} might be stored as -@samp{(bigneg 678 345 12)}. +@samp{(bigneg 678 345 12)}. The distinction between small and large integers is entirely hidden from the user. In @code{defmath} definitions, the Lisp predicate @code{integerp} @@ -35714,10 +35712,10 @@ is @code{nil}. The commands @code{calc-enter} and @code{calc-pop} will typically duplicate the top of the stack. If @code{calc-context-sensitive-enter} is non-@code{nil}, then the -@code{calc-enter} will copy the element at the cursor to the +@code{calc-enter} will copy the element at the cursor to the top of the stack and @code{calc-pop} will delete the element at the cursor. The default value of @code{calc-context-sensitive-enter} is -@code{nil}. +@code{nil}. @end defvar @defvar calc-undo-length diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi index c2252e82699..7d1baf7bf0c 100644 --- a/doc/misc/cc-mode.texi +++ b/doc/misc/cc-mode.texi @@ -83,8 +83,6 @@ the second with them pointing to the XEmacs manuals. @setfilename ../../info/ccmode @settitle CC Mode Manual -@documentencoding UTF-8 -@documentlanguage en @footnotestyle end @c The following four macros generate the filenames and titles of the diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi index 2d383c2f04f..49c02568475 100644 --- a/doc/misc/cl.texi +++ b/doc/misc/cl.texi @@ -1,8 +1,6 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/cl @settitle Common Lisp Extensions -@documentencoding UTF-8 -@documentlanguage en @include emacsver.texi @copying @@ -1497,7 +1495,7 @@ simply returning @code{nil}. @node Blocks and Exits @section Blocks and Exits -@cindex block +@cindex block @noindent Common Lisp @dfn{blocks} provide a non-local exit mechanism very diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi index 25a21dd2d88..a6155e2e724 100644 --- a/doc/misc/dbus.texi +++ b/doc/misc/dbus.texi @@ -2,8 +2,6 @@ @setfilename ../../info/dbus @c %**start of header @settitle Using of D-Bus -@documentencoding UTF-8 -@documentlanguage en @c @setchapternewpage odd @c %**end of header diff --git a/doc/misc/dired-x.texi b/doc/misc/dired-x.texi index 26d6d633d53..0b88604543e 100644 --- a/doc/misc/dired-x.texi +++ b/doc/misc/dired-x.texi @@ -9,8 +9,6 @@ @comment %**start of header (This is for running Texinfo on a region.) @setfilename ../../info/dired-x @settitle Dired Extra User's Manual -@documentencoding UTF-8 -@documentlanguage en @include emacsver.texi diff --git a/doc/misc/ebrowse.texi b/doc/misc/ebrowse.texi index 16f343bcf32..aa9df988969 100644 --- a/doc/misc/ebrowse.texi +++ b/doc/misc/ebrowse.texi @@ -3,8 +3,6 @@ @comment %**start of header @setfilename ../../info/ebrowse @settitle A Class Browser for C++ -@documentencoding UTF-8 -@documentlanguage en @setchapternewpage odd @syncodeindex fn cp @comment %**end of header diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi index 7608dde14d9..283082141dc 100644 --- a/doc/misc/ede.texi +++ b/doc/misc/ede.texi @@ -1,8 +1,6 @@ \input texinfo @setfilename ../../info/ede @settitle Emacs Development Environment -@documentencoding UTF-8 -@documentlanguage en @copying This file describes EDE, the Emacs Development Environment. diff --git a/doc/misc/ediff.texi b/doc/misc/ediff.texi index a1107348041..bb315fc41ef 100644 --- a/doc/misc/ediff.texi +++ b/doc/misc/ediff.texi @@ -10,8 +10,6 @@ @setfilename ../../info/ediff @settitle Ediff User's Manual -@documentencoding UTF-8 -@documentlanguage en @synindex vr cp @synindex fn cp @synindex pg cp diff --git a/doc/misc/edt.texi b/doc/misc/edt.texi index 531f885b967..40aeae836ef 100644 --- a/doc/misc/edt.texi +++ b/doc/misc/edt.texi @@ -1,8 +1,6 @@ \input texinfo @setfilename ../../info/edt @settitle EDT Emulation for Emacs -@documentencoding UTF-8 -@documentlanguage en @copying This file documents the EDT emulation package for Emacs. diff --git a/doc/misc/efaq-w32.texi b/doc/misc/efaq-w32.texi index 255621bf9a0..c6f44cea2b8 100644 --- a/doc/misc/efaq-w32.texi +++ b/doc/misc/efaq-w32.texi @@ -162,7 +162,7 @@ Pre-compiled versions are distributed from Emacs binaries are distributed as zip files, digitally signed by the developer who built them. Generally most users will want the file @file{emacs-@value{EMACSVER}-bin-i386.zip}, which -contains everything you need to get started. +contains everything you need to get started. @cindex where to get sources @cindex Emacs source code @@ -286,7 +286,7 @@ Windows ports of the command line gzip and tar tools from multiple sources. The command to unpack a source distribution from the command line is: @example -tar xzf emacs-@value{EMACSVER}.tar.gz +tar xzf emacs-@value{EMACSVER}.tar.gz @end example If this does not work with the versions of tar and gzip that you have, @@ -573,9 +573,9 @@ Message-ID: Subject: Re: Re[2]: problem with caps/ctrl swap on NT 4.0 @end ignore @example -It's a binary value that lets you map keystrokes in the low-level keyboard -drivers in NT. As a result you don't have to worry about applications -bypassing mappings that you've done at a higher level (i.e. it just works). +It's a binary value that lets you map keystrokes in the low-level keyboard +drivers in NT. As a result you don't have to worry about applications +bypassing mappings that you've done at a higher level (i.e. it just works). Here's the format of the value: @@ -587,11 +587,11 @@ Here's the format of the value: DWORD: mapping n DWORD: 0x00000000 terminating null DWORD -Each mapping DWORD has two parts: the input scancode, and an output -scancode. To map scancode 0x1d (left control) to scancode 0x3a (caps -lock), you want a value of 0x003a001d. Note that this does not swap the -keys. Using just this mapping value, both the left control and the caps -lock key will behave as caps-lock. To swap, you also need to map 0x3a to +Each mapping DWORD has two parts: the input scancode, and an output +scancode. To map scancode 0x1d (left control) to scancode 0x3a (caps +lock), you want a value of 0x003a001d. Note that this does not swap the +keys. Using just this mapping value, both the left control and the caps +lock key will behave as caps-lock. To swap, you also need to map 0x3a to 0x1d, using 0x001d003a. This registry value is system wide, and can't be made user-specific. It @@ -1426,7 +1426,7 @@ this discussion} for more details. You can start an interactive shell in Emacs by typing @kbd{M-x shell}. Emacs uses the @env{SHELL} environment variable to determine which program to use as the shell. To instruct Emacs to use a non-default -shell, you can either set this environment variable, or customize +shell, you can either set this environment variable, or customize @code{explicit-shell-file-name}. You can also customize @code{shell-file-name} to change the shell that will be used by subprocesses that are started with @code{shell-command} and diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index 0e2710b6580..54e067d65bd 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi @@ -2,8 +2,6 @@ @c %**start of header @setfilename ../../info/efaq @settitle GNU Emacs FAQ -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @include emacsver.texi diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi index 6f6dd064fe9..5b9f3a8e004 100644 --- a/doc/misc/eieio.texi +++ b/doc/misc/eieio.texi @@ -3,8 +3,6 @@ @set TITLE Enhanced Implementation of Emacs Interpreted Objects @set AUTHOR Eric M. Ludlam @settitle @value{TITLE} -@documentencoding UTF-8 -@documentlanguage en @c ************************************************************************* @c @ Header diff --git a/doc/misc/emacs-gnutls.texi b/doc/misc/emacs-gnutls.texi index b30067830e5..369c6c3c3a1 100644 --- a/doc/misc/emacs-gnutls.texi +++ b/doc/misc/emacs-gnutls.texi @@ -4,8 +4,6 @@ @setfilename ../../info/emacs-gnutls @settitle Emacs GnuTLS Integration @value{VERSION} -@documentencoding UTF-8 -@documentlanguage en @copying This file describes the Emacs GnuTLS integration. diff --git a/doc/misc/emacs-mime.texi b/doc/misc/emacs-mime.texi index 37c6e1b6b1e..2c0e929e532 100644 --- a/doc/misc/emacs-mime.texi +++ b/doc/misc/emacs-mime.texi @@ -26,8 +26,8 @@ modify this GNU manual.'' @end quotation @end copying +@c Node ``Interface Functions'' uses non-ASCII characters @documentencoding UTF-8 -@documentlanguage en @dircategory Emacs lisp libraries @direntry diff --git a/doc/misc/epa.texi b/doc/misc/epa.texi index c131a82c527..79f76560eb4 100644 --- a/doc/misc/epa.texi +++ b/doc/misc/epa.texi @@ -2,8 +2,6 @@ @c %**start of header @setfilename ../../info/epa @settitle EasyPG Assistant User's Manual -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @set VERSION 1.0.0 diff --git a/doc/misc/erc.texi b/doc/misc/erc.texi index 07e77f392fe..abf0766ee8f 100644 --- a/doc/misc/erc.texi +++ b/doc/misc/erc.texi @@ -4,8 +4,6 @@ @settitle ERC Manual @syncodeindex fn cp @include emacsver.texi -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/ert.texi b/doc/misc/ert.texi index 7d7157c6805..926a02fd1de 100644 --- a/doc/misc/ert.texi +++ b/doc/misc/ert.texi @@ -2,8 +2,6 @@ @c %**start of header @setfilename ../../info/ert @settitle Emacs Lisp Regression Testing -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @dircategory Emacs misc features diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index 789fa01160c..e8fab42b899 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi @@ -4,8 +4,6 @@ @settitle Eshell: The Emacs Shell @defindex cm @synindex vr fn -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/eudc.texi b/doc/misc/eudc.texi index 30353fdfaa1..747494ffbde 100644 --- a/doc/misc/eudc.texi +++ b/doc/misc/eudc.texi @@ -3,8 +3,6 @@ @setfilename ../../info/eudc @settitle Emacs Unified Directory Client (EUDC) Manual @afourpaper -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi index dce0a714809..d1f3e21c20e 100644 --- a/doc/misc/flymake.texi +++ b/doc/misc/flymake.texi @@ -5,8 +5,6 @@ @set UPDATED April 2004 @settitle GNU Flymake @value{VERSION} @syncodeindex pg cp -@documentencoding UTF-8 -@documentlanguage en @comment %**end of header @copying diff --git a/doc/misc/forms.texi b/doc/misc/forms.texi index 817aafde2a1..17b117be961 100644 --- a/doc/misc/forms.texi +++ b/doc/misc/forms.texi @@ -14,8 +14,6 @@ @end iftex @c @smallbook @comment %**end of header (This is for running Texinfo on a region.) -@documentencoding UTF-8 -@documentlanguage en @copying This file documents Forms mode, a form-editing major mode for GNU Emacs. diff --git a/doc/misc/gnus-coding.texi b/doc/misc/gnus-coding.texi index cebe90bea9a..4e5855627b8 100644 --- a/doc/misc/gnus-coding.texi +++ b/doc/misc/gnus-coding.texi @@ -2,8 +2,6 @@ @setfilename gnus-coding @settitle Gnus Coding Style and Maintenance Guide -@documentencoding UTF-8 -@documentlanguage en @syncodeindex fn cp @syncodeindex vr cp @syncodeindex pg cp diff --git a/doc/misc/gnus-faq.texi b/doc/misc/gnus-faq.texi index 3b4cf5d8c5e..1a0469c14f4 100644 --- a/doc/misc/gnus-faq.texi +++ b/doc/misc/gnus-faq.texi @@ -5,8 +5,6 @@ @c @c @setfilename gnus-faq.info @c @settitle Frequently Asked Questions -@c @documentencoding UTF-8 -@c @documentlanguage en @c %**end of header @c diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 5e29a08eb98..d05ed53e69b 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -9,7 +9,6 @@ @syncodeindex pg cp @documentencoding UTF-8 -@documentlanguage en @copying Copyright @copyright{} 1995--2013 Free Software Foundation, Inc. diff --git a/doc/misc/htmlfontify.texi b/doc/misc/htmlfontify.texi index efb52683c8d..9f3b99a1027 100644 --- a/doc/misc/htmlfontify.texi +++ b/doc/misc/htmlfontify.texi @@ -3,8 +3,6 @@ @setfilename ../../info/htmlfontify @settitle Htmlfontify User Manual @exampleindent 2 -@documentencoding UTF-8 -@documentlanguage en @comment %**end of header @copying diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi index efe3db63b05..a432d4dc14a 100644 --- a/doc/misc/idlwave.texi +++ b/doc/misc/idlwave.texi @@ -12,8 +12,6 @@ @set DATE April, 2007 @set AUTHOR J.D. Smith & Carsten Dominik @set MAINTAINER J.D. Smith -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @finalout diff --git a/doc/misc/ido.texi b/doc/misc/ido.texi index 816e42c4dbd..747a9d57d3f 100644 --- a/doc/misc/ido.texi +++ b/doc/misc/ido.texi @@ -1,8 +1,6 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/ido @settitle Interactive Do -@documentencoding UTF-8 -@documentlanguage en @include emacsver.texi @copying diff --git a/doc/misc/info.texi b/doc/misc/info.texi index 093a510187e..32aee99868d 100644 --- a/doc/misc/info.texi +++ b/doc/misc/info.texi @@ -8,8 +8,6 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp -@documentencoding UTF-8 -@documentlanguage en @comment %**end of header @copying diff --git a/doc/misc/mairix-el.texi b/doc/misc/mairix-el.texi index 9fe46d5f9b4..210b709c1ea 100644 --- a/doc/misc/mairix-el.texi +++ b/doc/misc/mairix-el.texi @@ -4,7 +4,6 @@ @settitle Emacs Interface for Mairix @documentencoding UTF-8 -@documentlanguage en @copying Copyright @copyright{} 2008--2013 Free Software Foundation, Inc. diff --git a/doc/misc/message.texi b/doc/misc/message.texi index 86092ab76d8..a98c7e48e53 100644 --- a/doc/misc/message.texi +++ b/doc/misc/message.texi @@ -4,8 +4,6 @@ @setfilename ../../info/message @settitle Message Manual -@documentencoding UTF-8 -@documentlanguage en @synindex fn cp @synindex vr cp @synindex pg cp diff --git a/doc/misc/mh-e.texi b/doc/misc/mh-e.texi index d11cf3dfd7d..a0ea0fe6de9 100644 --- a/doc/misc/mh-e.texi +++ b/doc/misc/mh-e.texi @@ -5,8 +5,6 @@ @c %**start of header @setfilename ../../info/mh-e @settitle The MH-E Manual -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @c Version of the software and manual. diff --git a/doc/misc/newsticker.texi b/doc/misc/newsticker.texi index e5e3c11c0bd..afb44a6a396 100644 --- a/doc/misc/newsticker.texi +++ b/doc/misc/newsticker.texi @@ -7,8 +7,6 @@ @syncodeindex vr cp @syncodeindex fn cp @syncodeindex pg cp -@documentencoding UTF-8 -@documentlanguage en @comment %**end of header @copying diff --git a/doc/misc/nxml-mode.texi b/doc/misc/nxml-mode.texi index df2a6c808ee..8c81b6fbd20 100644 --- a/doc/misc/nxml-mode.texi +++ b/doc/misc/nxml-mode.texi @@ -2,8 +2,6 @@ @c %**start of header @setfilename ../../info/nxml-mode @settitle nXML Mode -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/octave-mode.texi b/doc/misc/octave-mode.texi index 6590e1770b8..50bb4f11f2a 100644 --- a/doc/misc/octave-mode.texi +++ b/doc/misc/octave-mode.texi @@ -2,8 +2,6 @@ @c %**start of header @setfilename ../../info/octave-mode @settitle Octave Mode -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/org.texi b/doc/misc/org.texi index 9d3acac25aa..a90f3d4d536 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi @@ -15,8 +15,6 @@ @set MAINTAINER Carsten Dominik @set MAINTAINEREMAIL @email{carsten at orgmode dot org} @set MAINTAINERCONTACT @uref{mailto:carsten at orgmode dot org,contact the maintainer} -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @finalout diff --git a/doc/misc/pcl-cvs.texi b/doc/misc/pcl-cvs.texi index 86bdad0e611..11123f977a0 100644 --- a/doc/misc/pcl-cvs.texi +++ b/doc/misc/pcl-cvs.texi @@ -3,8 +3,6 @@ @setfilename ../../info/pcl-cvs @settitle PCL-CVS---Emacs Front-End to CVS @syncodeindex vr fn -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/pgg.texi b/doc/misc/pgg.texi index df86117a6b1..370998c855a 100644 --- a/doc/misc/pgg.texi +++ b/doc/misc/pgg.texi @@ -7,9 +7,6 @@ @set VERSION 0.1 @settitle PGG @value{VERSION} -@documentencoding UTF-8 -@documentlanguage en - @copying This file describes PGG @value{VERSION}, an Emacs interface to various PGP implementations. diff --git a/doc/misc/rcirc.texi b/doc/misc/rcirc.texi index e76172017a8..3bce0c7c24b 100644 --- a/doc/misc/rcirc.texi +++ b/doc/misc/rcirc.texi @@ -2,8 +2,6 @@ @c %**start of header @setfilename ../../info/rcirc @settitle rcirc Manual -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/reftex.texi b/doc/misc/reftex.texi index c2c7b0818aa..ba83d8129a8 100644 --- a/doc/misc/reftex.texi +++ b/doc/misc/reftex.texi @@ -2,8 +2,6 @@ @c %**start of header @setfilename ../../info/reftex @settitle RefTeX User Manual -@documentencoding UTF-8 -@documentlanguage en @synindex ky cp @syncodeindex vr cp @syncodeindex fn cp diff --git a/doc/misc/remember.texi b/doc/misc/remember.texi index b6a18b1433a..290c18a7b47 100644 --- a/doc/misc/remember.texi +++ b/doc/misc/remember.texi @@ -3,8 +3,6 @@ @setfilename ../../info/remember @settitle Remember Manual @syncodeindex fn cp -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/sasl.texi b/doc/misc/sasl.texi index 256077871f3..dcb25ec805a 100644 --- a/doc/misc/sasl.texi +++ b/doc/misc/sasl.texi @@ -7,9 +7,6 @@ @set VERSION 0.2 @settitle Emacs SASL Library @value{VERSION} -@documentencoding UTF-8 -@documentlanguage en - @copying This file describes the Emacs SASL library, version @value{VERSION}. diff --git a/doc/misc/sc.texi b/doc/misc/sc.texi index 43a8992a2e9..11dbf2eda5e 100644 --- a/doc/misc/sc.texi +++ b/doc/misc/sc.texi @@ -3,8 +3,6 @@ @comment %**start of header (This is for running Texinfo on a region.) @setfilename ../../info/sc @settitle Supercite User's Manual -@documentencoding UTF-8 -@documentlanguage en @iftex @finalout @end iftex diff --git a/doc/misc/semantic.texi b/doc/misc/semantic.texi index 132fdec67be..f43316f5012 100644 --- a/doc/misc/semantic.texi +++ b/doc/misc/semantic.texi @@ -3,8 +3,6 @@ @set TITLE Semantic Manual @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim @settitle @value{TITLE} -@documentencoding UTF-8 -@documentlanguage en @c ************************************************************************* @c @ Header diff --git a/doc/misc/ses.texi b/doc/misc/ses.texi index 8b9520bf790..8ac023b8135 100644 --- a/doc/misc/ses.texi +++ b/doc/misc/ses.texi @@ -6,8 +6,6 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/sieve.texi b/doc/misc/sieve.texi index 1fb987fb2a0..f69e2b9b948 100644 --- a/doc/misc/sieve.texi +++ b/doc/misc/sieve.texi @@ -4,8 +4,6 @@ @setfilename ../../info/sieve @settitle Emacs Sieve Manual -@documentencoding UTF-8 -@documentlanguage en @synindex fn cp @synindex vr cp @synindex pg cp diff --git a/doc/misc/smtpmail.texi b/doc/misc/smtpmail.texi index 6774f0e5545..dce90d06012 100644 --- a/doc/misc/smtpmail.texi +++ b/doc/misc/smtpmail.texi @@ -1,8 +1,6 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/smtpmail @settitle Emacs SMTP Library -@documentencoding UTF-8 -@documentlanguage en @syncodeindex vr fn @copying Copyright @copyright{} 2003--2013 Free Software Foundation, Inc. diff --git a/doc/misc/speedbar.texi b/doc/misc/speedbar.texi index 49bc462a32e..3cb0ec3aed8 100644 --- a/doc/misc/speedbar.texi +++ b/doc/misc/speedbar.texi @@ -1,8 +1,6 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/speedbar @settitle Speedbar: File/Tag summarizing utility -@documentencoding UTF-8 -@documentlanguage en @syncodeindex fn cp @copying diff --git a/doc/misc/srecode.texi b/doc/misc/srecode.texi index 8715c488310..d6cf4d53edc 100644 --- a/doc/misc/srecode.texi +++ b/doc/misc/srecode.texi @@ -4,8 +4,6 @@ @set TITLE SRecoder Manual @set AUTHOR Eric M. Ludlam @settitle @value{TITLE} -@documentencoding UTF-8 -@documentlanguage en @c Merge all indexes into a single index for now. @c We can always separate them later into two or more as needed. diff --git a/doc/misc/todo-mode.texi b/doc/misc/todo-mode.texi index 715212e03d5..4920a9ccc81 100644 --- a/doc/misc/todo-mode.texi +++ b/doc/misc/todo-mode.texi @@ -5,8 +5,6 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 05e06724a81..7b2d2b33ba2 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi @@ -2,8 +2,6 @@ @setfilename ../../info/tramp @c %**start of header @settitle TRAMP User Manual -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @c This is *so* much nicer :) diff --git a/doc/misc/url.texi b/doc/misc/url.texi index 862a8068bed..fdec68b1c61 100644 --- a/doc/misc/url.texi +++ b/doc/misc/url.texi @@ -2,9 +2,6 @@ @setfilename ../../info/url @settitle URL Programmer's Manual -@documentencoding UTF-8 -@documentlanguage en - @iftex @c @finalout @end iftex diff --git a/doc/misc/vip.texi b/doc/misc/vip.texi index 3ce0221f6cb..28e78f5d381 100644 --- a/doc/misc/vip.texi +++ b/doc/misc/vip.texi @@ -2,9 +2,6 @@ @setfilename ../../info/vip @settitle VIP -@documentencoding UTF-8 -@documentlanguage en - @copying Copyright @copyright{} 1987, 2001--2013 Free Software Foundation, Inc. diff --git a/doc/misc/viper.texi b/doc/misc/viper.texi index cb6268e0e03..db5a5736888 100644 --- a/doc/misc/viper.texi +++ b/doc/misc/viper.texi @@ -6,9 +6,6 @@ @comment @setfilename viper.info @setfilename ../../info/viper -@documentencoding UTF-8 -@documentlanguage en - @copying Copyright @copyright{} 1995--1997, 2001--2013 Free Software Foundation, Inc. diff --git a/doc/misc/widget.texi b/doc/misc/widget.texi index 9d8fe14a8b0..2fe247dd750 100644 --- a/doc/misc/widget.texi +++ b/doc/misc/widget.texi @@ -5,8 +5,6 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/wisent.texi b/doc/misc/wisent.texi index 1274e9b0724..c0f18f6363a 100644 --- a/doc/misc/wisent.texi +++ b/doc/misc/wisent.texi @@ -20,8 +20,6 @@ @c @footnotestyle separate @c @paragraphindent 2 @c @@smallbook -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @copying diff --git a/doc/misc/woman.texi b/doc/misc/woman.texi index 324d5a7c84d..df67f02119c 100644 --- a/doc/misc/woman.texi +++ b/doc/misc/woman.texi @@ -8,8 +8,6 @@ @c Look for @page and @need commands. @setchapternewpage off @paragraphindent 0 -@documentencoding UTF-8 -@documentlanguage en @c %**end of header @copying -- cgit v1.2.1 From ba3189039adc8ec5eba5ed3e21d42019a4616b7c Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 1 Jan 2014 07:43:34 +0000 Subject: Update copyright year to 2014 by running admin/update-copyright. --- doc/emacs/ChangeLog | 2 +- doc/emacs/Makefile.in | 2 +- doc/emacs/abbrevs.texi | 2 +- doc/emacs/ack.texi | 2 +- doc/emacs/anti.texi | 2 +- doc/emacs/arevert-xtra.texi | 2 +- doc/emacs/basic.texi | 2 +- doc/emacs/buffers.texi | 2 +- doc/emacs/building.texi | 2 +- doc/emacs/cal-xtra.texi | 2 +- doc/emacs/calendar.texi | 2 +- doc/emacs/cmdargs.texi | 2 +- doc/emacs/commands.texi | 2 +- doc/emacs/custom.texi | 2 +- doc/emacs/dired-xtra.texi | 2 +- doc/emacs/dired.texi | 2 +- doc/emacs/display.texi | 2 +- doc/emacs/emerge-xtra.texi | 2 +- doc/emacs/entering.texi | 2 +- doc/emacs/files.texi | 2 +- doc/emacs/fixit.texi | 2 +- doc/emacs/fortran-xtra.texi | 2 +- doc/emacs/frames.texi | 2 +- doc/emacs/glossary.texi | 2 +- doc/emacs/gnu.texi | 2 +- doc/emacs/help.texi | 2 +- doc/emacs/indent.texi | 2 +- doc/emacs/killing.texi | 2 +- doc/emacs/kmacro.texi | 2 +- doc/emacs/m-x.texi | 2 +- doc/emacs/macos.texi | 2 +- doc/emacs/maintaining.texi | 2 +- doc/emacs/makefile.w32-in | 2 +- doc/emacs/mark.texi | 2 +- doc/emacs/mini.texi | 2 +- doc/emacs/misc.texi | 2 +- doc/emacs/modes.texi | 2 +- doc/emacs/msdog-xtra.texi | 2 +- doc/emacs/msdog.texi | 2 +- doc/emacs/mule.texi | 2 +- doc/emacs/package.texi | 2 +- doc/emacs/picture-xtra.texi | 2 +- doc/emacs/programs.texi | 2 +- doc/emacs/regs.texi | 2 +- doc/emacs/rmail.texi | 2 +- doc/emacs/screen.texi | 2 +- doc/emacs/search.texi | 2 +- doc/emacs/sending.texi | 2 +- doc/emacs/text.texi | 2 +- doc/emacs/trouble.texi | 2 +- doc/emacs/vc-xtra.texi | 2 +- doc/emacs/vc1-xtra.texi | 2 +- doc/emacs/windows.texi | 2 +- doc/emacs/xresources.texi | 2 +- doc/lispintro/ChangeLog | 2 +- doc/lispintro/Makefile.in | 2 +- doc/lispintro/README | 2 +- doc/lispintro/cons-1.eps | 2 +- doc/lispintro/cons-2.eps | 2 +- doc/lispintro/cons-2a.eps | 2 +- doc/lispintro/cons-3.eps | 2 +- doc/lispintro/cons-4.eps | 2 +- doc/lispintro/cons-5.eps | 2 +- doc/lispintro/drawers.eps | 2 +- doc/lispintro/lambda-1.eps | 2 +- doc/lispintro/lambda-2.eps | 2 +- doc/lispintro/lambda-3.eps | 2 +- doc/lispintro/makefile.w32-in | 2 +- doc/lispref/ChangeLog | 2 +- doc/lispref/Makefile.in | 2 +- doc/lispref/README | 2 +- doc/lispref/abbrevs.texi | 2 +- doc/lispref/advice.texi | 2 +- doc/lispref/anti.texi | 2 +- doc/lispref/back.texi | 2 +- doc/lispref/backups.texi | 2 +- doc/lispref/buffers.texi | 2 +- doc/lispref/commands.texi | 2 +- doc/lispref/compile.texi | 2 +- doc/lispref/control.texi | 2 +- doc/lispref/customize.texi | 2 +- doc/lispref/debugging.texi | 2 +- doc/lispref/display.texi | 2 +- doc/lispref/edebug.texi | 2 +- doc/lispref/errors.texi | 2 +- doc/lispref/eval.texi | 2 +- doc/lispref/files.texi | 2 +- doc/lispref/frames.texi | 2 +- doc/lispref/functions.texi | 2 +- doc/lispref/hash.texi | 2 +- doc/lispref/help.texi | 2 +- doc/lispref/hooks.texi | 2 +- doc/lispref/internals.texi | 2 +- doc/lispref/intro.texi | 2 +- doc/lispref/keymaps.texi | 2 +- doc/lispref/lay-flat.texi | 2 +- doc/lispref/lists.texi | 2 +- doc/lispref/loading.texi | 2 +- doc/lispref/macros.texi | 2 +- doc/lispref/makefile.w32-in | 2 +- doc/lispref/maps.texi | 2 +- doc/lispref/markers.texi | 2 +- doc/lispref/minibuf.texi | 2 +- doc/lispref/modes.texi | 2 +- doc/lispref/nonascii.texi | 2 +- doc/lispref/numbers.texi | 2 +- doc/lispref/objects.texi | 2 +- doc/lispref/os.texi | 2 +- doc/lispref/package.texi | 2 +- doc/lispref/positions.texi | 2 +- doc/lispref/processes.texi | 2 +- doc/lispref/searching.texi | 2 +- doc/lispref/sequences.texi | 2 +- doc/lispref/streams.texi | 2 +- doc/lispref/strings.texi | 2 +- doc/lispref/symbols.texi | 2 +- doc/lispref/syntax.texi | 2 +- doc/lispref/text.texi | 2 +- doc/lispref/tips.texi | 2 +- doc/lispref/two-volume-cross-refs.txt | 2 +- doc/lispref/two-volume.make | 2 +- doc/lispref/variables.texi | 2 +- doc/lispref/windows.texi | 2 +- doc/man/ChangeLog | 2 +- doc/misc/ChangeLog | 2 +- doc/misc/Makefile.in | 2 +- doc/misc/efaq-w32.texi | 2 +- doc/misc/gnus-faq.texi | 2 +- doc/misc/gnus-news.el | 2 +- doc/misc/gnus-news.texi | 2 +- doc/misc/htmlfontify.texi | 3 ++- doc/misc/ido.texi | 2 +- doc/misc/makefile.w32-in | 2 +- doc/misc/sem-user.texi | 2 +- doc/misc/texinfo.tex | 4 +--- doc/misc/todo-mode.texi | 2 +- doc/misc/trampver.texi | 2 +- 137 files changed, 138 insertions(+), 139 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 4c931ce8cb8..70002f1dd32 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -10194,7 +10194,7 @@ ;; coding: utf-8 ;; End: - Copyright (C) 1993-1999, 2001-2013 Free Software Foundation, Inc. + Copyright (C) 1993-1999, 2001-2014 Free Software Foundation, Inc. This file is part of GNU Emacs. diff --git a/doc/emacs/Makefile.in b/doc/emacs/Makefile.in index ffe219baf40..4a59ebed521 100644 --- a/doc/emacs/Makefile.in +++ b/doc/emacs/Makefile.in @@ -1,6 +1,6 @@ ### @configure_input@ -# Copyright (C) 1994, 1996-2013 Free Software Foundation, Inc. +# Copyright (C) 1994, 1996-2014 Free Software Foundation, Inc. # This file is part of GNU Emacs. diff --git a/doc/emacs/abbrevs.texi b/doc/emacs/abbrevs.texi index cc16a5f7762..80a98ac3169 100644 --- a/doc/emacs/abbrevs.texi +++ b/doc/emacs/abbrevs.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Abbrevs diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi index 0cfcfb5e4b3..a7df1544aef 100644 --- a/doc/emacs/ack.texi +++ b/doc/emacs/ack.texi @@ -1,6 +1,6 @@ @c -*- coding: utf-8 -*- @c This is part of the Emacs manual. -@c Copyright (C) 1994-1997, 1999-2013 Free Software Foundation, Inc. +@c Copyright (C) 1994-1997, 1999-2014 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @c @node Acknowledgments diff --git a/doc/emacs/anti.texi b/doc/emacs/anti.texi index 7e2b1324ac9..a15a2f4df25 100644 --- a/doc/emacs/anti.texi +++ b/doc/emacs/anti.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 2005-2013 Free Software Foundation, Inc. +@c Copyright (C) 2005-2014 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @node Antinews diff --git a/doc/emacs/arevert-xtra.texi b/doc/emacs/arevert-xtra.texi index f3b21c491d2..a13f59b69bd 100644 --- a/doc/emacs/arevert-xtra.texi +++ b/doc/emacs/arevert-xtra.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 2004-2013 Free Software Foundation, Inc. +@c Copyright (C) 2004-2014 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @c @c This file is included either in emacs-xtra.texi (when producing the diff --git a/doc/emacs/basic.texi b/doc/emacs/basic.texi index a840f912656..3e0d50255b2 100644 --- a/doc/emacs/basic.texi +++ b/doc/emacs/basic.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Basic diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi index 516eedca772..9e544fe16f1 100644 --- a/doc/emacs/buffers.texi +++ b/doc/emacs/buffers.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Buffers diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi index 22a51a2a13f..fdb38bfd4d1 100644 --- a/doc/emacs/building.texi +++ b/doc/emacs/building.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Building diff --git a/doc/emacs/cal-xtra.texi b/doc/emacs/cal-xtra.texi index 067272a794b..309740998ef 100644 --- a/doc/emacs/cal-xtra.texi +++ b/doc/emacs/cal-xtra.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -*- coding: utf-8 -*- -@c Copyright (C) 2004-2013 Free Software Foundation, Inc. +@c Copyright (C) 2004-2014 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @c @c This file is included either in emacs-xtra.texi (when producing the diff --git a/doc/emacs/calendar.texi b/doc/emacs/calendar.texi index ab28fc5adc9..b403dfdf78b 100644 --- a/doc/emacs/calendar.texi +++ b/doc/emacs/calendar.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -*- coding: utf-8 -*- -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Calendar/Diary diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi index 4294f775e5e..613d4e1836d 100644 --- a/doc/emacs/cmdargs.texi +++ b/doc/emacs/cmdargs.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Emacs Invocation diff --git a/doc/emacs/commands.texi b/doc/emacs/commands.texi index 1c0746a9dd0..1c9b7fc220d 100644 --- a/doc/emacs/commands.texi +++ b/doc/emacs/commands.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @iftex diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi index 741028cc0a8..781d58f193d 100644 --- a/doc/emacs/custom.texi +++ b/doc/emacs/custom.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Customization diff --git a/doc/emacs/dired-xtra.texi b/doc/emacs/dired-xtra.texi index e0fec06ab1a..f8719e84de0 100644 --- a/doc/emacs/dired-xtra.texi +++ b/doc/emacs/dired-xtra.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 2004-2013 Free Software Foundation, Inc. +@c Copyright (C) 2004-2014 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @c @c This file is included either in emacs-xtra.texi (when producing the diff --git a/doc/emacs/dired.texi b/doc/emacs/dired.texi index 391cd99fbce..b9ae5ed0879 100644 --- a/doc/emacs/dired.texi +++ b/doc/emacs/dired.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Dired diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi index 5b960615c00..d9fd819c219 100644 --- a/doc/emacs/display.texi +++ b/doc/emacs/display.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. diff --git a/doc/emacs/emerge-xtra.texi b/doc/emacs/emerge-xtra.texi index 74775e51261..bb39136d067 100644 --- a/doc/emacs/emerge-xtra.texi +++ b/doc/emacs/emerge-xtra.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 2004-2013 Free Software Foundation, Inc. +@c Copyright (C) 2004-2014 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @c @c This file is included either in emacs-xtra.texi (when producing the diff --git a/doc/emacs/entering.texi b/doc/emacs/entering.texi index c0b113e963f..71b1fc839ac 100644 --- a/doc/emacs/entering.texi +++ b/doc/emacs/entering.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 2001-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 2001-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @iftex diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index 5564f9a23f3..78a820b4efc 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Files diff --git a/doc/emacs/fixit.texi b/doc/emacs/fixit.texi index a6aff77b583..a5b571d2088 100644 --- a/doc/emacs/fixit.texi +++ b/doc/emacs/fixit.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Fixit diff --git a/doc/emacs/fortran-xtra.texi b/doc/emacs/fortran-xtra.texi index ec178153b6b..79ea410038a 100644 --- a/doc/emacs/fortran-xtra.texi +++ b/doc/emacs/fortran-xtra.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 2004-2013 Free Software Foundation, Inc. +@c Copyright (C) 2004-2014 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @c @c This file is included either in emacs-xtra.texi (when producing the diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi index 3f4d6b12704..b56068b6598 100644 --- a/doc/emacs/frames.texi +++ b/doc/emacs/frames.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Frames diff --git a/doc/emacs/glossary.texi b/doc/emacs/glossary.texi index d6c8477b1c6..4384a02cd6f 100644 --- a/doc/emacs/glossary.texi +++ b/doc/emacs/glossary.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Glossary diff --git a/doc/emacs/gnu.texi b/doc/emacs/gnu.texi index 1e829a3244f..4eb3672bfde 100644 --- a/doc/emacs/gnu.texi +++ b/doc/emacs/gnu.texi @@ -1,4 +1,4 @@ -@c Copyright (C) 1985-1987, 1993, 1995, 2001-2013 Free Software +@c Copyright (C) 1985-1987, 1993, 1995, 2001-2014 Free Software @c Foundation, Inc. @c @c Permission is granted to anyone to make or distribute verbatim copies diff --git a/doc/emacs/help.texi b/doc/emacs/help.texi index 42fa3438b69..5eac4d8d985 100644 --- a/doc/emacs/help.texi +++ b/doc/emacs/help.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Help diff --git a/doc/emacs/indent.texi b/doc/emacs/indent.texi index a5edac0dd0f..e0c269ad575 100644 --- a/doc/emacs/indent.texi +++ b/doc/emacs/indent.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Indentation diff --git a/doc/emacs/killing.texi b/doc/emacs/killing.texi index 5f2b5aa6605..52adbb85431 100644 --- a/doc/emacs/killing.texi +++ b/doc/emacs/killing.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. diff --git a/doc/emacs/kmacro.texi b/doc/emacs/kmacro.texi index aa4d10ef324..bc62faf7694 100644 --- a/doc/emacs/kmacro.texi +++ b/doc/emacs/kmacro.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Keyboard Macros diff --git a/doc/emacs/m-x.texi b/doc/emacs/m-x.texi index 3faa2c88b2d..b4385cb61bc 100644 --- a/doc/emacs/m-x.texi +++ b/doc/emacs/m-x.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node M-x diff --git a/doc/emacs/macos.texi b/doc/emacs/macos.texi index 50a7ea2c335..eb2d96e9af7 100644 --- a/doc/emacs/macos.texi +++ b/doc/emacs/macos.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 2000-2013 Free Software Foundation, Inc. +@c Copyright (C) 2000-2014 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @node Mac OS / GNUstep @appendix Emacs and Mac OS / GNUstep diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index 7fd3fb1c9d4..1e2b009e0d8 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi @@ -1,5 +1,5 @@ @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 Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Maintaining diff --git a/doc/emacs/makefile.w32-in b/doc/emacs/makefile.w32-in index e289c46784d..297ec496fe6 100644 --- a/doc/emacs/makefile.w32-in +++ b/doc/emacs/makefile.w32-in @@ -1,6 +1,6 @@ #### -*- Makefile -*- for the Emacs Manual -# Copyright (C) 2003-2013 Free Software Foundation, Inc. +# Copyright (C) 2003-2014 Free Software Foundation, Inc. # This file is part of GNU Emacs. diff --git a/doc/emacs/mark.texi b/doc/emacs/mark.texi index 05b2a5be3a4..7c3a9a43811 100644 --- a/doc/emacs/mark.texi +++ b/doc/emacs/mark.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Mark diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi index 33e0b142d55..fa837484c44 100644 --- a/doc/emacs/mini.texi +++ b/doc/emacs/mini.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Minibuffer diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index 7fd35e7fd5a..8cdeab98677 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @iftex diff --git a/doc/emacs/modes.texi b/doc/emacs/modes.texi index 6b7073e3f0a..7409222f7c8 100644 --- a/doc/emacs/modes.texi +++ b/doc/emacs/modes.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Modes diff --git a/doc/emacs/msdog-xtra.texi b/doc/emacs/msdog-xtra.texi index cb19f89dd91..5543926fafd 100644 --- a/doc/emacs/msdog-xtra.texi +++ b/doc/emacs/msdog-xtra.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 2004-2013 Free Software Foundation, Inc. +@c Copyright (C) 2004-2014 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @c @c This file is included either in emacs-xtra.texi (when producing the diff --git a/doc/emacs/msdog.texi b/doc/emacs/msdog.texi index 5fbf2e45e4a..7708b8fe860 100644 --- a/doc/emacs/msdog.texi +++ b/doc/emacs/msdog.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Microsoft Windows diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi index e0653c96f8b..1600f19499c 100644 --- a/doc/emacs/mule.texi +++ b/doc/emacs/mule.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1997, 1999-2013 Free Software Foundation, Inc. +@c Copyright (C) 1997, 1999-2014 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @node International @chapter International Character Set Support diff --git a/doc/emacs/package.texi b/doc/emacs/package.texi index 6a7111fa296..aba63d4337a 100644 --- a/doc/emacs/package.texi +++ b/doc/emacs/package.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Packages diff --git a/doc/emacs/picture-xtra.texi b/doc/emacs/picture-xtra.texi index ae631ff3a1f..ba36faad709 100644 --- a/doc/emacs/picture-xtra.texi +++ b/doc/emacs/picture-xtra.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 2004-2013 Free Software Foundation, Inc. +@c Copyright (C) 2004-2014 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @c @c This file is included either in emacs-xtra.texi (when producing the diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi index ff61ba8b1d7..256218e42c7 100644 --- a/doc/emacs/programs.texi +++ b/doc/emacs/programs.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 1999-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Programs diff --git a/doc/emacs/regs.texi b/doc/emacs/regs.texi index daf4417f656..8ed0d848f59 100644 --- a/doc/emacs/regs.texi +++ b/doc/emacs/regs.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Registers diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi index 06d47439904..f8b757559d2 100644 --- a/doc/emacs/rmail.texi +++ b/doc/emacs/rmail.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Rmail diff --git a/doc/emacs/screen.texi b/doc/emacs/screen.texi index 05c17d6931a..13a4c922c4d 100644 --- a/doc/emacs/screen.texi +++ b/doc/emacs/screen.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Screen diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi index a7c40000233..bf47dec99b8 100644 --- a/doc/emacs/search.texi +++ b/doc/emacs/search.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Search diff --git a/doc/emacs/sending.texi b/doc/emacs/sending.texi index ac723fb63ad..95f3c6b661b 100644 --- a/doc/emacs/sending.texi +++ b/doc/emacs/sending.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Sending Mail diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi index e45189ba1d0..43fefa5e24e 100644 --- a/doc/emacs/text.texi +++ b/doc/emacs/text.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Text diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi index 8c8968397d8..137f2738b5b 100644 --- a/doc/emacs/trouble.texi +++ b/doc/emacs/trouble.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2001-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @iftex diff --git a/doc/emacs/vc-xtra.texi b/doc/emacs/vc-xtra.texi index 41a10bc2ace..52fee145b42 100644 --- a/doc/emacs/vc-xtra.texi +++ b/doc/emacs/vc-xtra.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 2004-2013 Free Software Foundation, Inc. +@c Copyright (C) 2004-2014 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @c @c This file is included in emacs-xtra.texi when producing the printed diff --git a/doc/emacs/vc1-xtra.texi b/doc/emacs/vc1-xtra.texi index 96e171855a5..07f956c488d 100644 --- a/doc/emacs/vc1-xtra.texi +++ b/doc/emacs/vc1-xtra.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 2004-2013 Free Software Foundation, Inc. +@c Copyright (C) 2004-2014 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @c @c This file is included either in vc-xtra.texi (when producing the diff --git a/doc/emacs/windows.texi b/doc/emacs/windows.texi index 7c80cefcc7e..4a5f24c13fb 100644 --- a/doc/emacs/windows.texi +++ b/doc/emacs/windows.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software +@c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node Windows diff --git a/doc/emacs/xresources.texi b/doc/emacs/xresources.texi index b2ebf634ba0..b372708d022 100644 --- a/doc/emacs/xresources.texi +++ b/doc/emacs/xresources.texi @@ -1,5 +1,5 @@ @c This is part of the Emacs manual. -@c Copyright (C) 1987, 1993-1995, 1997, 2001-2013 Free Software +@c Copyright (C) 1987, 1993-1995, 1997, 2001-2014 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @node X Resources diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index 32e2b5ea726..ac816ff3a43 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -699,7 +699,7 @@ ;; coding: utf-8 ;; End: - Copyright (C) 2001-2013 Free Software Foundation, Inc. + Copyright (C) 2001-2014 Free Software Foundation, Inc. This file is part of GNU Emacs. diff --git a/doc/lispintro/Makefile.in b/doc/lispintro/Makefile.in index 9fca51861dc..c041cd17e02 100644 --- a/doc/lispintro/Makefile.in +++ b/doc/lispintro/Makefile.in @@ -1,6 +1,6 @@ ### @configure_input@ -# Copyright (C) 1994-1999, 2001-2013 Free Software Foundation, Inc. +# Copyright (C) 1994-1999, 2001-2014 Free Software Foundation, Inc. # This file is part of GNU Emacs. diff --git a/doc/lispintro/README b/doc/lispintro/README index d1e15bc6d89..872813e6d2b 100644 --- a/doc/lispintro/README +++ b/doc/lispintro/README @@ -1,4 +1,4 @@ -Copyright (C) 2001-2013 Free Software Foundation, Inc. +Copyright (C) 2001-2014 Free Software Foundation, Inc. See the end of the file for license conditions. diff --git a/doc/lispintro/cons-1.eps b/doc/lispintro/cons-1.eps index 77d24cbddcc..06cc7cc5e64 100644 --- a/doc/lispintro/cons-1.eps +++ b/doc/lispintro/cons-1.eps @@ -4,7 +4,7 @@ %%CreationDate: Wed Mar 8 14:26:58 1995 %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) -% Copyright (C) 1995, 1997, 2001-2013 Free Software Foundation, Inc. +% Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc. % % This file is part of GNU Emacs. % diff --git a/doc/lispintro/cons-2.eps b/doc/lispintro/cons-2.eps index 961b00a13ec..e942b6264e7 100644 --- a/doc/lispintro/cons-2.eps +++ b/doc/lispintro/cons-2.eps @@ -4,7 +4,7 @@ %%CreationDate: Wed Mar 8 14:26:39 1995 %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) -% Copyright (C) 1995, 1997, 2001-2013 Free Software Foundation, Inc. +% Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc. % % This file is part of GNU Emacs. % diff --git a/doc/lispintro/cons-2a.eps b/doc/lispintro/cons-2a.eps index 993609638a1..847d02ba960 100644 --- a/doc/lispintro/cons-2a.eps +++ b/doc/lispintro/cons-2a.eps @@ -4,7 +4,7 @@ %%CreationDate: Tue Mar 14 15:09:30 1995 %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) -% Copyright (C) 1995, 1997, 2001-2013 Free Software Foundation, Inc. +% Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc. % % This file is part of GNU Emacs. % diff --git a/doc/lispintro/cons-3.eps b/doc/lispintro/cons-3.eps index e37dad0de60..b81dc4faa1a 100644 --- a/doc/lispintro/cons-3.eps +++ b/doc/lispintro/cons-3.eps @@ -4,7 +4,7 @@ %%CreationDate: Wed Mar 8 14:25:41 1995 %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) -% Copyright (C) 1995, 1997, 2001-2013 Free Software Foundation, Inc. +% Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc. % % This file is part of GNU Emacs. % diff --git a/doc/lispintro/cons-4.eps b/doc/lispintro/cons-4.eps index 9af4c2afd75..750878daa68 100644 --- a/doc/lispintro/cons-4.eps +++ b/doc/lispintro/cons-4.eps @@ -4,7 +4,7 @@ %%CreationDate: Wed Mar 8 14:25:06 1995 %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) -% Copyright (C) 1995, 1997, 2001-2013 Free Software Foundation, Inc. +% Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc. % % This file is part of GNU Emacs. % diff --git a/doc/lispintro/cons-5.eps b/doc/lispintro/cons-5.eps index 8a400f320de..14edd8432a4 100644 --- a/doc/lispintro/cons-5.eps +++ b/doc/lispintro/cons-5.eps @@ -4,7 +4,7 @@ %%CreationDate: Wed Mar 8 14:27:28 1995 %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) -% Copyright (C) 1995, 1997, 2001-2013 Free Software Foundation, Inc. +% Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc. % % This file is part of GNU Emacs. % diff --git a/doc/lispintro/drawers.eps b/doc/lispintro/drawers.eps index abfec2a7362..ce96e7b964e 100644 --- a/doc/lispintro/drawers.eps +++ b/doc/lispintro/drawers.eps @@ -9,7 +9,7 @@ %%EndComments %%BeginProlog -% Copyright (C) 2001-2013 Free Software Foundation, Inc. +% Copyright (C) 2001-2014 Free Software Foundation, Inc. % % This file is part of GNU Emacs. % diff --git a/doc/lispintro/lambda-1.eps b/doc/lispintro/lambda-1.eps index 11f3318037c..62025bd7018 100644 --- a/doc/lispintro/lambda-1.eps +++ b/doc/lispintro/lambda-1.eps @@ -4,7 +4,7 @@ %%CreationDate: Wed Mar 8 14:31:53 1995 %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) -% Copyright (C) 1995, 1997, 2001-2013 Free Software Foundation, Inc. +% Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc. % % This file is part of GNU Emacs. % diff --git a/doc/lispintro/lambda-2.eps b/doc/lispintro/lambda-2.eps index 3022ce9bb6c..c4c2b90a962 100644 --- a/doc/lispintro/lambda-2.eps +++ b/doc/lispintro/lambda-2.eps @@ -4,7 +4,7 @@ %%CreationDate: Wed Mar 8 14:33:09 1995 %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) -% Copyright (C) 1995, 1997, 2001-2013 Free Software Foundation, Inc. +% Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc. % % This file is part of GNU Emacs. % diff --git a/doc/lispintro/lambda-3.eps b/doc/lispintro/lambda-3.eps index 0d66eb73332..8103195a5c0 100644 --- a/doc/lispintro/lambda-3.eps +++ b/doc/lispintro/lambda-3.eps @@ -4,7 +4,7 @@ %%CreationDate: Wed Mar 8 14:33:49 1995 %%Creator: Tgif-2.16-p4 by William Chia-Wei Cheng (william@cs.UCLA.edu) -% Copyright (C) 1995, 1997, 2001-2013 Free Software Foundation, Inc. +% Copyright (C) 1995, 1997, 2001-2014 Free Software Foundation, Inc. % % This file is part of GNU Emacs. % diff --git a/doc/lispintro/makefile.w32-in b/doc/lispintro/makefile.w32-in index 39760ba5612..1767825dfea 100644 --- a/doc/lispintro/makefile.w32-in +++ b/doc/lispintro/makefile.w32-in @@ -1,6 +1,6 @@ #### -*- Makefile -*- for the Emacs Lisp Introduction manual. -# Copyright (C) 2003-2013 Free Software Foundation, Inc. +# Copyright (C) 2003-2014 Free Software Foundation, Inc. # This file is part of GNU Emacs. diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 3de4ae598fe..b9e0fb9199d 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -12795,7 +12795,7 @@ ;; coding: utf-8 ;; End: - Copyright (C) 1998-2013 Free Software Foundation, Inc. + Copyright (C) 1998-2014 Free Software Foundation, Inc. This file is part of GNU Emacs. diff --git a/doc/lispref/Makefile.in b/doc/lispref/Makefile.in index d7348754657..6f3320d029c 100644 --- a/doc/lispref/Makefile.in +++ b/doc/lispref/Makefile.in @@ -1,6 +1,6 @@ ### @configure_input@ -# Copyright (C) 1990-1996, 1998-2013 Free Software Foundation, Inc. +# Copyright (C) 1990-1996, 1998-2014 Free Software Foundation, Inc. # This file is part of GNU Emacs. diff --git a/doc/lispref/README b/doc/lispref/README index b94bd10789c..e8dbaddde56 100644 --- a/doc/lispref/README +++ b/doc/lispref/README @@ -1,4 +1,4 @@ -Copyright (C) 2001-2013 Free Software Foundation, Inc. -*- outline -*- +Copyright (C) 2001-2014 Free Software Foundation, Inc. -*- outline -*- See the end of the file for license conditions. diff --git a/doc/lispref/abbrevs.texi b/doc/lispref/abbrevs.texi index 7cc558f9391..45c2c4c17fb 100644 --- a/doc/lispref/abbrevs.texi +++ b/doc/lispref/abbrevs.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1994, 1999, 2001-2013 Free Software Foundation, +@c Copyright (C) 1990-1994, 1999, 2001-2014 Free Software Foundation, @c Inc. @c See the file elisp.texi for copying conditions. @node Abbrevs diff --git a/doc/lispref/advice.texi b/doc/lispref/advice.texi index 122f1805c1e..c55f93d445f 100644 --- a/doc/lispref/advice.texi +++ b/doc/lispref/advice.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1998-1999, 2001-2013 Free Software Foundation, Inc. +@c Copyright (C) 1998-1999, 2001-2014 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Advising Functions @chapter Advising Emacs Lisp Functions diff --git a/doc/lispref/anti.texi b/doc/lispref/anti.texi index 577411ba9df..3de9f4ab9d1 100644 --- a/doc/lispref/anti.texi +++ b/doc/lispref/anti.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1999, 2002-2013 Free Software Foundation, Inc. +@c Copyright (C) 1999, 2002-2014 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @c This node must have no pointers. diff --git a/doc/lispref/back.texi b/doc/lispref/back.texi index ef20f8b79e0..249f7738853 100644 --- a/doc/lispref/back.texi +++ b/doc/lispref/back.texi @@ -1,6 +1,6 @@ \input texinfo @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 2001-2013 Free Software Foundation, Inc. +@c Copyright (C) 2001-2014 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @c @c %**start of header diff --git a/doc/lispref/backups.texi b/doc/lispref/backups.texi index f2599c773ea..ac3a81931c1 100644 --- a/doc/lispref/backups.texi +++ b/doc/lispref/backups.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1999, 2001-2013 Free Software Foundation, +@c Copyright (C) 1990-1995, 1999, 2001-2014 Free Software Foundation, @c Inc. @c See the file elisp.texi for copying conditions. @node Backups and Auto-Saving diff --git a/doc/lispref/buffers.texi b/doc/lispref/buffers.texi index bb33cb3a700..fbb6c4009af 100644 --- a/doc/lispref/buffers.texi +++ b/doc/lispref/buffers.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Buffers diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi index 95cad5c4666..a118e9132a3 100644 --- a/doc/lispref/commands.texi +++ b/doc/lispref/commands.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Command Loop diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi index 95f7341c19c..f9f5da32aad 100644 --- a/doc/lispref/compile.texi +++ b/doc/lispref/compile.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1994, 2001-2013 Free Software Foundation, Inc. +@c Copyright (C) 1990-1994, 2001-2014 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Byte Compilation @chapter Byte Compilation diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi index 4296ae2110d..0d6aaff81c5 100644 --- a/doc/lispref/control.texi +++ b/doc/lispref/control.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Control Structures diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi index e895fe34e53..1e54a7fa444 100644 --- a/doc/lispref/customize.texi +++ b/doc/lispref/customize.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1997-2013 Free Software Foundation, Inc. +@c Copyright (C) 1997-2014 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Customization @chapter Customization Settings diff --git a/doc/lispref/debugging.texi b/doc/lispref/debugging.texi index 6cbc0b48b5e..774ac594e0d 100644 --- a/doc/lispref/debugging.texi +++ b/doc/lispref/debugging.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1994, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1994, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Debugging diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 6bb8f64d9eb..633a9a77c46 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-2013 Free Software Foundation, Inc. +@c Copyright (C) 1990-1995, 1998-2014 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Display @chapter Emacs Display diff --git a/doc/lispref/edebug.texi b/doc/lispref/edebug.texi index 8384c31a380..85998fd3839 100644 --- a/doc/lispref/edebug.texi +++ b/doc/lispref/edebug.texi @@ -1,6 +1,6 @@ @comment -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1992-1994, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1992-1994, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. diff --git a/doc/lispref/errors.texi b/doc/lispref/errors.texi index 8a10fbf0c47..e00496e3478 100644 --- a/doc/lispref/errors.texi +++ b/doc/lispref/errors.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1993, 1999, 2001-2013 Free Software Foundation, +@c Copyright (C) 1990-1993, 1999, 2001-2014 Free Software Foundation, @c Inc. @c See the file elisp.texi for copying conditions. @node Standard Errors diff --git a/doc/lispref/eval.texi b/doc/lispref/eval.texi index a321bfce6f7..05250233b00 100644 --- a/doc/lispref/eval.texi +++ b/doc/lispref/eval.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1994, 1998, 2001-2013 Free Software Foundation, +@c Copyright (C) 1990-1994, 1998, 2001-2014 Free Software Foundation, @c Inc. @c See the file elisp.texi for copying conditions. @node Evaluation diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 01eef350ddf..8f2ca0ccf8d 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Files diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi index 01ced2bf6ab..d281c6652a0 100644 --- a/doc/lispref/frames.texi +++ b/doc/lispref/frames.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Frames diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi index b15d4ac1457..d203f1c824f 100644 --- a/doc/lispref/functions.texi +++ b/doc/lispref/functions.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Functions diff --git a/doc/lispref/hash.texi b/doc/lispref/hash.texi index 56037acaf75..5d0d6b6c89e 100644 --- a/doc/lispref/hash.texi +++ b/doc/lispref/hash.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1999, 2001-2013 Free Software Foundation, Inc. +@c Copyright (C) 1999, 2001-2014 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Hash Tables @chapter Hash Tables diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi index aa77ba1f36d..eea46362fea 100644 --- a/doc/lispref/help.texi +++ b/doc/lispref/help.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Documentation diff --git a/doc/lispref/hooks.texi b/doc/lispref/hooks.texi index 74adda1d495..22061fe9931 100644 --- a/doc/lispref/hooks.texi +++ b/doc/lispref/hooks.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1993, 1998, 2001-2013 Free Software Foundation, +@c Copyright (C) 1990-1993, 1998, 2001-2014 Free Software Foundation, @c Inc. @c See the file elisp.texi for copying conditions. @node Standard Hooks diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi index 8cbf3c4e14c..32fef454ac7 100644 --- a/doc/lispref/internals.texi +++ b/doc/lispref/internals.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1993, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1993, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node GNU Emacs Internals diff --git a/doc/lispref/intro.texi b/doc/lispref/intro.texi index 82c4d851762..0c5346fbb63 100644 --- a/doc/lispref/intro.texi +++ b/doc/lispref/intro.texi @@ -1,6 +1,6 @@ @c -*-coding: utf-8-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1994, 2001-2013 Free Software Foundation, Inc. +@c Copyright (C) 1990-1994, 2001-2014 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Introduction diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi index b9d9aa6ec72..d81067eed31 100644 --- a/doc/lispref/keymaps.texi +++ b/doc/lispref/keymaps.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1994, 1998-2013 Free Software Foundation, Inc. +@c Copyright (C) 1990-1994, 1998-2014 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Keymaps @chapter Keymaps diff --git a/doc/lispref/lay-flat.texi b/doc/lispref/lay-flat.texi index f12e724d6a9..6ed02f8ce0a 100644 --- a/doc/lispref/lay-flat.texi +++ b/doc/lispref/lay-flat.texi @@ -1,6 +1,6 @@ \input texinfo @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 2001-2013 Free Software Foundation, Inc. +@c Copyright (C) 2001-2014 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @c @comment %**start of header diff --git a/doc/lispref/lists.texi b/doc/lispref/lists.texi index 45115d48332..ed18c038e85 100644 --- a/doc/lispref/lists.texi +++ b/doc/lispref/lists.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Lists diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi index d1bcfd26a0b..a07c2e8a792 100644 --- a/doc/lispref/loading.texi +++ b/doc/lispref/loading.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Loading diff --git a/doc/lispref/macros.texi b/doc/lispref/macros.texi index 53751b03774..9be12fa431b 100644 --- a/doc/lispref/macros.texi +++ b/doc/lispref/macros.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998, 2001-2013 Free Software Foundation, +@c Copyright (C) 1990-1995, 1998, 2001-2014 Free Software Foundation, @c Inc. @c See the file elisp.texi for copying conditions. @node Macros diff --git a/doc/lispref/makefile.w32-in b/doc/lispref/makefile.w32-in index 00b938dbf68..a56edd9f498 100644 --- a/doc/lispref/makefile.w32-in +++ b/doc/lispref/makefile.w32-in @@ -1,6 +1,6 @@ # -*- Makefile -*- for the GNU Emacs Lisp Reference Manual. -# Copyright (C) 2003-2013 Free Software Foundation, Inc. +# Copyright (C) 2003-2014 Free Software Foundation, Inc. # This file is part of GNU Emacs. diff --git a/doc/lispref/maps.texi b/doc/lispref/maps.texi index d92f6a89f0a..14cbe72f67e 100644 --- a/doc/lispref/maps.texi +++ b/doc/lispref/maps.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1993, 1999, 2001-2013 Free Software Foundation, +@c Copyright (C) 1990-1993, 1999, 2001-2014 Free Software Foundation, @c Inc. @c See the file elisp.texi for copying conditions. @node Standard Keymaps diff --git a/doc/lispref/markers.texi b/doc/lispref/markers.texi index d94908994e9..51b87ab1e5b 100644 --- a/doc/lispref/markers.texi +++ b/doc/lispref/markers.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Markers diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi index 9a1ec477b9f..0e58816ecf3 100644 --- a/doc/lispref/minibuf.texi +++ b/doc/lispref/minibuf.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Minibuffers diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index 4388fb2f6eb..50bbe2914ee 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Modes diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index 7763f5c788d..7ec53cf0ab9 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1998-1999, 2001-2013 Free Software Foundation, Inc. +@c Copyright (C) 1998-1999, 2001-2014 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Non-ASCII Characters @chapter Non-@acronym{ASCII} Characters diff --git a/doc/lispref/numbers.texi b/doc/lispref/numbers.texi index 1f08d31a4b1..5bff56e4cee 100644 --- a/doc/lispref/numbers.texi +++ b/doc/lispref/numbers.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Numbers diff --git a/doc/lispref/objects.texi b/doc/lispref/objects.texi index a145b1e9bd2..cfd906ba397 100644 --- a/doc/lispref/objects.texi +++ b/doc/lispref/objects.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Lisp Data Types diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi index bb2a797b637..cff0b2b15c5 100644 --- a/doc/lispref/os.texi +++ b/doc/lispref/os.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node System Interface diff --git a/doc/lispref/package.texi b/doc/lispref/package.texi index f4d6b590c77..de8670fdc4b 100644 --- a/doc/lispref/package.texi +++ b/doc/lispref/package.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 2010-2013 Free Software Foundation, Inc. +@c Copyright (C) 2010-2014 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Packaging @chapter Preparing Lisp code for distribution diff --git a/doc/lispref/positions.texi b/doc/lispref/positions.texi index 69f1b80c431..9a9152b4044 100644 --- a/doc/lispref/positions.texi +++ b/doc/lispref/positions.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-2013 Free Software Foundation, Inc. +@c Copyright (C) 1990-1995, 1998-2014 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Positions @chapter Positions diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi index 880d5fff598..c05f8ae8cb2 100644 --- a/doc/lispref/processes.texi +++ b/doc/lispref/processes.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Processes diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi index a5bd5ab719b..623261f3049 100644 --- a/doc/lispref/searching.texi +++ b/doc/lispref/searching.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Searching and Matching diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi index acf8cb38ade..362737f9956 100644 --- a/doc/lispref/sequences.texi +++ b/doc/lispref/sequences.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Sequences Arrays Vectors diff --git a/doc/lispref/streams.texi b/doc/lispref/streams.texi index 5b7e833b235..ed3a01ba810 100644 --- a/doc/lispref/streams.texi +++ b/doc/lispref/streams.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1994, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1994, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Read and Print diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi index 0fe319d97fb..5ae86754999 100644 --- a/doc/lispref/strings.texi +++ b/doc/lispref/strings.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Strings and Characters diff --git a/doc/lispref/symbols.texi b/doc/lispref/symbols.texi index 82dfa0f4917..e4455692d45 100644 --- a/doc/lispref/symbols.texi +++ b/doc/lispref/symbols.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Symbols diff --git a/doc/lispref/syntax.texi b/doc/lispref/syntax.texi index cdc82b00385..25e6089491e 100644 --- a/doc/lispref/syntax.texi +++ b/doc/lispref/syntax.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Syntax Tables diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index 0ddff24aa15..7a20b6684d3 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-2013 Free Software Foundation, Inc. +@c Copyright (C) 1990-1995, 1998-2014 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Text @chapter Text diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi index 159938eedf3..aa4d81cca58 100644 --- a/doc/lispref/tips.texi +++ b/doc/lispref/tips.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1993, 1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1993, 1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Tips diff --git a/doc/lispref/two-volume-cross-refs.txt b/doc/lispref/two-volume-cross-refs.txt index a134b8c4783..f9d05126651 100644 --- a/doc/lispref/two-volume-cross-refs.txt +++ b/doc/lispref/two-volume-cross-refs.txt @@ -1,4 +1,4 @@ -Copyright (C) 2001-2013 Free Software Foundation, Inc. +Copyright (C) 2001-2014 Free Software Foundation, Inc. See end for copying conditions. Two Volume Cross References diff --git a/doc/lispref/two-volume.make b/doc/lispref/two-volume.make index 9ae4a33df44..a75b26b58c7 100644 --- a/doc/lispref/two-volume.make +++ b/doc/lispref/two-volume.make @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2013 Free Software Foundation, Inc. +# Copyright (C) 2007-2014 Free Software Foundation, Inc. # See end for copying conditions. # although it would be nice to use tex rather than pdftex to avoid diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi index 5d1a47661aa..a80a6c0b1e3 100644 --- a/doc/lispref/variables.texi +++ b/doc/lispref/variables.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-2013 Free Software Foundation, Inc. +@c Copyright (C) 1990-1995, 1998-2014 Free Software Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Variables @chapter Variables diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi index 673351005fb..e14a1485882 100644 --- a/doc/lispref/windows.texi +++ b/doc/lispref/windows.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- @c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1990-1995, 1998-1999, 2001-2013 Free Software +@c Copyright (C) 1990-1995, 1998-1999, 2001-2014 Free Software @c Foundation, Inc. @c See the file elisp.texi for copying conditions. @node Windows diff --git a/doc/man/ChangeLog b/doc/man/ChangeLog index 0235b5f7b9b..6a299469bdb 100644 --- a/doc/man/ChangeLog +++ b/doc/man/ChangeLog @@ -152,7 +152,7 @@ ;; coding: utf-8 ;; End: - Copyright (C) 2007-2013 Free Software Foundation, Inc. + Copyright (C) 2007-2014 Free Software Foundation, Inc. This file is part of GNU Emacs. diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 72df4408d0d..f64ed76341b 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -11158,7 +11158,7 @@ ;; coding: utf-8 ;; End: - Copyright (C) 1993-1999, 2001-2013 Free Software Foundation, Inc. + Copyright (C) 1993-1999, 2001-2014 Free Software Foundation, Inc. This file is part of GNU Emacs. diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index 4c72aaa18ff..09045f83674 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in @@ -1,6 +1,6 @@ ### @configure_input@ -# Copyright (C) 1994, 1996-2013 Free Software Foundation, Inc. +# Copyright (C) 1994, 1996-2014 Free Software Foundation, Inc. # This file is part of GNU Emacs. diff --git a/doc/misc/efaq-w32.texi b/doc/misc/efaq-w32.texi index c6f44cea2b8..660ef64fd0f 100644 --- a/doc/misc/efaq-w32.texi +++ b/doc/misc/efaq-w32.texi @@ -17,7 +17,7 @@ Answers to Frequently asked Questions about using Emacs on Microsoft Windows. @documentlanguage en @copying -Copyright @copyright{} 2008, 2010-2013 Free Software Foundation, Inc. +Copyright @copyright{} 2008, 2010-2014 Free Software Foundation, Inc. @quotation This list of frequently asked questions about GNU Emacs on MS Windows diff --git a/doc/misc/gnus-faq.texi b/doc/misc/gnus-faq.texi index 1a0469c14f4..5bd644bdc7d 100644 --- a/doc/misc/gnus-faq.texi +++ b/doc/misc/gnus-faq.texi @@ -1,7 +1,7 @@ @c \input texinfo @c -*-texinfo-*- @c Uncomment 1st line before texing this file alone. @c %**start of header -@c Copyright (C) 1995, 2001-2013 Free Software Foundation, Inc. +@c Copyright (C) 1995, 2001-2014 Free Software Foundation, Inc. @c @c @setfilename gnus-faq.info @c @settitle Frequently Asked Questions diff --git a/doc/misc/gnus-news.el b/doc/misc/gnus-news.el index ff082e4ecf0..812b18361c7 100644 --- a/doc/misc/gnus-news.el +++ b/doc/misc/gnus-news.el @@ -1,5 +1,5 @@ ;;; gnus-news.el --- a hack to create GNUS-NEWS from texinfo source -;; Copyright (C) 2004-2013 Free Software Foundation, Inc. +;; Copyright (C) 2004-2014 Free Software Foundation, Inc. ;; Author: Reiner Steib ;; Keywords: tools diff --git a/doc/misc/gnus-news.texi b/doc/misc/gnus-news.texi index 9c1ecb19748..a48b1f1bc5b 100644 --- a/doc/misc/gnus-news.texi +++ b/doc/misc/gnus-news.texi @@ -1,6 +1,6 @@ @c -*-texinfo-*- -@c Copyright (C) 2004-2013 Free Software Foundation, Inc. +@c Copyright (C) 2004-2014 Free Software Foundation, Inc. @c Permission is granted to anyone to make or distribute verbatim copies @c of this document as received, in any medium, provided that the diff --git a/doc/misc/htmlfontify.texi b/doc/misc/htmlfontify.texi index 9f3b99a1027..18e7c34a73c 100644 --- a/doc/misc/htmlfontify.texi +++ b/doc/misc/htmlfontify.texi @@ -9,7 +9,8 @@ This manual documents Htmlfontify, a source code -> crosslinked + formatted + syntax colorized html transformer. -Copyright @copyright{} 2002, 2003, 2013 Free Software Foundation, Inc. +Copyright @copyright{} 2002-2003, 2013-2014 Free Software Foundation, +Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/ido.texi b/doc/misc/ido.texi index 747a9d57d3f..40afa698777 100644 --- a/doc/misc/ido.texi +++ b/doc/misc/ido.texi @@ -6,7 +6,7 @@ @copying This file documents the Ido package for GNU Emacs. -Copyright @copyright{} 2013 Free Software Foundation, Inc. +Copyright @copyright{} 2013-2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/makefile.w32-in b/doc/misc/makefile.w32-in index 11c76dcfcf7..2edc4cefb75 100644 --- a/doc/misc/makefile.w32-in +++ b/doc/misc/makefile.w32-in @@ -1,6 +1,6 @@ #### -*- Makefile -*- for documentation other than the Emacs manual. -# Copyright (C) 2003-2013 Free Software Foundation, Inc. +# Copyright (C) 2003-2014 Free Software Foundation, Inc. # This file is part of GNU Emacs. diff --git a/doc/misc/sem-user.texi b/doc/misc/sem-user.texi index 82af6c8f494..8604d095763 100644 --- a/doc/misc/sem-user.texi +++ b/doc/misc/sem-user.texi @@ -1,5 +1,5 @@ @c This is part of the Semantic manual. -@c Copyright (C) 1999-2005, 2007, 2009-2013 Free Software Foundation, +@c Copyright (C) 1999-2005, 2007, 2009-2014 Free Software Foundation, @c Inc. @c See file semantic.texi for copying conditions. diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index bfd765dd211..bd56c483c51 100644 --- a/doc/misc/texinfo.tex +++ b/doc/misc/texinfo.tex @@ -5,9 +5,7 @@ % \def\texinfoversion{2013-09-11.11} % -% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, -% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -% 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. +% Copyright 1985-1986, 1988, 1990-2014 Free Software Foundation, Inc. % % This texinfo.tex file is free software: you can redistribute it and/or % modify it under the terms of the GNU General Public License as diff --git a/doc/misc/todo-mode.texi b/doc/misc/todo-mode.texi index 4920a9ccc81..41b5590c9d5 100644 --- a/doc/misc/todo-mode.texi +++ b/doc/misc/todo-mode.texi @@ -8,7 +8,7 @@ @c %**end of header @copying -Copyright @copyright{} 2013 Free Software Foundation, Inc. +Copyright @copyright{} 2013-2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/trampver.texi b/doc/misc/trampver.texi index b4547ed1a52..fe91fc893fc 100644 --- a/doc/misc/trampver.texi +++ b/doc/misc/trampver.texi @@ -2,7 +2,7 @@ @c texi/trampver.texi. Generated from trampver.texi.in by configure. @c This is part of the Emacs manual. -@c Copyright (C) 2003-2013 Free Software Foundation, Inc. +@c Copyright (C) 2003-2014 Free Software Foundation, Inc. @c See file doclicense.texi for copying conditions. @c In the Tramp CVS, the version number is auto-frobbed from -- cgit v1.2.1 From 6bc383b1a4ebf46451085a1629a0e9433f2051cf Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 1 Jan 2014 00:31:29 -0800 Subject: Fix copyright years by hand. These are dates that admin/update-copyright did not update, or updated incorrectly. --- doc/emacs/emacs-xtra.texi | 2 +- doc/emacs/emacs.texi | 2 +- doc/lispintro/emacs-lisp-intro.texi | 2 +- doc/lispref/elisp.texi | 2 +- doc/lispref/tips.texi | 2 +- doc/misc/ada-mode.texi | 2 +- doc/misc/auth.texi | 2 +- doc/misc/autotype.texi | 2 +- doc/misc/bovine.texi | 2 +- doc/misc/calc.texi | 10 +++++----- doc/misc/cc-mode.texi | 2 +- doc/misc/cl.texi | 4 ++-- doc/misc/dbus.texi | 2 +- doc/misc/dired-x.texi | 2 +- doc/misc/ebrowse.texi | 2 +- doc/misc/ede.texi | 2 +- doc/misc/ediff.texi | 2 +- doc/misc/edt.texi | 2 +- doc/misc/efaq.texi | 2 +- doc/misc/eieio.texi | 2 +- doc/misc/emacs-gnutls.texi | 2 +- doc/misc/emacs-mime.texi | 2 +- doc/misc/epa.texi | 2 +- doc/misc/erc.texi | 2 +- doc/misc/ert.texi | 2 +- doc/misc/eshell.texi | 2 +- doc/misc/eudc.texi | 2 +- doc/misc/flymake.texi | 2 +- doc/misc/forms.texi | 2 +- doc/misc/gnus-coding.texi | 2 +- doc/misc/gnus-news.el | 2 +- doc/misc/gnus.texi | 2 +- doc/misc/idlwave.texi | 2 +- doc/misc/info.texi | 2 +- doc/misc/mairix-el.texi | 2 +- doc/misc/message.texi | 2 +- doc/misc/mh-e.texi | 2 +- doc/misc/newsticker.texi | 2 +- doc/misc/nxml-mode.texi | 2 +- doc/misc/octave-mode.texi | 2 +- doc/misc/org.texi | 2 +- doc/misc/pcl-cvs.texi | 2 +- doc/misc/pgg.texi | 2 +- doc/misc/rcirc.texi | 2 +- doc/misc/reftex.texi | 2 +- doc/misc/remember.texi | 2 +- doc/misc/sasl.texi | 2 +- doc/misc/sc.texi | 2 +- doc/misc/semantic.texi | 2 +- doc/misc/ses.texi | 2 +- doc/misc/sieve.texi | 2 +- doc/misc/smtpmail.texi | 2 +- doc/misc/speedbar.texi | 2 +- doc/misc/srecode.texi | 2 +- doc/misc/texinfo.tex | 4 +++- doc/misc/tramp.texi | 2 +- doc/misc/url.texi | 2 +- doc/misc/vip.texi | 2 +- doc/misc/viper.texi | 2 +- doc/misc/widget.texi | 2 +- doc/misc/wisent.texi | 2 +- doc/misc/woman.texi | 2 +- 62 files changed, 69 insertions(+), 67 deletions(-) (limited to 'doc') diff --git a/doc/emacs/emacs-xtra.texi b/doc/emacs/emacs-xtra.texi index f67ed3d5cad..aa0683c1c32 100644 --- a/doc/emacs/emacs-xtra.texi +++ b/doc/emacs/emacs-xtra.texi @@ -11,7 +11,7 @@ @copying This manual describes specialized features of Emacs. -Copyright @copyright{} 2004--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2004--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 4845d49b823..691c8bd8ff5 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -26,7 +26,7 @@ This is the @cite{GNU Emacs Manual}, @end ifnottex updated for Emacs version @value{EMACSVER}. -Copyright @copyright{} 1985--1987, 1993--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1985--1987, 1993--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 07cd449ade0..18c4f1a6788 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -112,7 +112,7 @@ Edition @value{edition-number}, @value{update-date} Distributed with Emacs version @value{EMACSVER}. @end ifnottex @sp 1 -Copyright @copyright{} 1990--1995, 1997, 2001--2013 Free Software +Copyright @copyright{} 1990--1995, 1997, 2001--2014 Free Software Foundation, Inc. @sp 1 diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index d6f7df5fb01..94c06a130b1 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi @@ -98,7 +98,7 @@ This is the @cite{GNU Emacs Lisp Reference Manual} @end ifnottex corresponding to Emacs version @value{EMACSVER}. -Copyright @copyright{} 1990--1996, 1998--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1990--1996, 1998--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi index aa4d81cca58..a65f246c4a7 100644 --- a/doc/lispref/tips.texi +++ b/doc/lispref/tips.texi @@ -915,7 +915,7 @@ explains these conventions, starting with an example: @group ;;; foo.el --- Support for the Foo programming language -;; Copyright (C) 2010-2013 Your Name +;; Copyright (C) 2010-2014 Your Name @end group ;; Author: Your Name diff --git a/doc/misc/ada-mode.texi b/doc/misc/ada-mode.texi index b5a640e13e0..3001d98983c 100644 --- a/doc/misc/ada-mode.texi +++ b/doc/misc/ada-mode.texi @@ -3,7 +3,7 @@ @settitle Ada Mode @copying -Copyright @copyright{} 1999--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1999--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/auth.texi b/doc/misc/auth.texi index 36ee400acca..95baf1b45ea 100644 --- a/doc/misc/auth.texi +++ b/doc/misc/auth.texi @@ -10,7 +10,7 @@ @copying This file describes the Emacs auth-source library. -Copyright @copyright{} 2008--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2008--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi index 92cd5cdeccd..dced7c97811 100644 --- a/doc/misc/autotype.texi +++ b/doc/misc/autotype.texi @@ -10,7 +10,7 @@ @c @cindex autotypist @copying -Copyright @copyright{} 1994--1995, 1999, 2001--2013 +Copyright @copyright{} 1994--1995, 1999, 2001--2014 Free Software Foundation, Inc. @quotation diff --git a/doc/misc/bovine.texi b/doc/misc/bovine.texi index 81ec2eb80ec..076c10132e0 100644 --- a/doc/misc/bovine.texi +++ b/doc/misc/bovine.texi @@ -23,7 +23,7 @@ @c %**end of header @copying -Copyright @copyright{} 1999--2004, 2012--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1999--2004, 2012--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index 425cd349784..7fba181adcb 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi @@ -94,7 +94,7 @@ This file documents Calc, the GNU Emacs calculator, included with GNU Emacs @value{EMACSVER}. @end ifnotinfo -Copyright @copyright{} 1990--1991, 2001--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1990--1991, 2001--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document @@ -11801,7 +11801,7 @@ Thus @kbd{M-@key{DEL}} by itself removes the second-from-top stack element, leaving the first, third, fourth, and so on; @kbd{M-3 M-@key{DEL}} deletes the third stack element. -The above commands do not depend on the location of the cursor. +The above commands do not depend on the location of the cursor. If the customizable variable @code{calc-context-sensitive-enter} is non-@code{nil} (@pxref{Customizing Calc}), these commands will become context sensitive. For example, instead of duplicating the top of the stack, @@ -33326,7 +33326,7 @@ integers. Each @var{d} is a base-@expr{10^n} ``digit'' (where again, 99@dots{}9. The least significant digit is @var{d0}; the last digit, @var{dn}, which is always nonzero, is the most significant digit. For example, the integer @mathit{-12345678} might be stored as -@samp{(bigneg 678 345 12)}. +@samp{(bigneg 678 345 12)}. The distinction between small and large integers is entirely hidden from the user. In @code{defmath} definitions, the Lisp predicate @code{integerp} @@ -35712,10 +35712,10 @@ is @code{nil}. The commands @code{calc-enter} and @code{calc-pop} will typically duplicate the top of the stack. If @code{calc-context-sensitive-enter} is non-@code{nil}, then the -@code{calc-enter} will copy the element at the cursor to the +@code{calc-enter} will copy the element at the cursor to the top of the stack and @code{calc-pop} will delete the element at the cursor. The default value of @code{calc-context-sensitive-enter} is -@code{nil}. +@code{nil}. @end defvar @defvar calc-undo-length diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi index 7d1baf7bf0c..63f89a03c24 100644 --- a/doc/misc/cc-mode.texi +++ b/doc/misc/cc-mode.texi @@ -156,7 +156,7 @@ CC Mode @copying This manual is for CC Mode in Emacs. -Copyright @copyright{} 1995--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1995--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi index 49c02568475..1477da6a9fb 100644 --- a/doc/misc/cl.texi +++ b/doc/misc/cl.texi @@ -6,7 +6,7 @@ @copying This file documents the GNU Emacs Common Lisp emulation package. -Copyright @copyright{} 1993, 2001--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1993, 2001--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document @@ -1495,7 +1495,7 @@ simply returning @code{nil}. @node Blocks and Exits @section Blocks and Exits -@cindex block +@cindex block @noindent Common Lisp @dfn{blocks} provide a non-local exit mechanism very diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi index a6155e2e724..9375e03c4ef 100644 --- a/doc/misc/dbus.texi +++ b/doc/misc/dbus.texi @@ -9,7 +9,7 @@ @syncodeindex fn cp @copying -Copyright @copyright{} 2007--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2007--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/dired-x.texi b/doc/misc/dired-x.texi index 0b88604543e..cbf63dd20cb 100644 --- a/doc/misc/dired-x.texi +++ b/doc/misc/dired-x.texi @@ -19,7 +19,7 @@ @comment %**end of header (This is for running Texinfo on a region.) @copying -Copyright @copyright{} 1994--1995, 1999, 2001--2013 +Copyright @copyright{} 1994--1995, 1999, 2001--2014 Free Software Foundation, Inc. @quotation diff --git a/doc/misc/ebrowse.texi b/doc/misc/ebrowse.texi index aa9df988969..7dfca921bd4 100644 --- a/doc/misc/ebrowse.texi +++ b/doc/misc/ebrowse.texi @@ -10,7 +10,7 @@ @copying This file documents Ebrowse, a C++ class browser for GNU Emacs. -Copyright @copyright{} 2000--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2000--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi index 283082141dc..e60f1c73f8c 100644 --- a/doc/misc/ede.texi +++ b/doc/misc/ede.texi @@ -5,7 +5,7 @@ @copying This file describes EDE, the Emacs Development Environment. -Copyright @copyright{} 1998--2001, 2004--2005, 2008--2013 +Copyright @copyright{} 1998--2001, 2004--2005, 2008--2014 Free Software Foundation, Inc. @quotation diff --git a/doc/misc/ediff.texi b/doc/misc/ediff.texi index bb315fc41ef..4ac77644eb2 100644 --- a/doc/misc/ediff.texi +++ b/doc/misc/ediff.texi @@ -25,7 +25,7 @@ This file documents Ediff, a comprehensive visual interface to Unix diff and patch utilities. -Copyright @copyright{} 1995--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1995--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/edt.texi b/doc/misc/edt.texi index 40aeae836ef..7a543f4b65b 100644 --- a/doc/misc/edt.texi +++ b/doc/misc/edt.texi @@ -5,7 +5,7 @@ @copying This file documents the EDT emulation package for Emacs. -Copyright @copyright{} 1986, 1992, 1994--1995, 1999--2013 +Copyright @copyright{} 1986, 1992, 1994--1995, 1999--2014 Free Software Foundation, Inc. @quotation diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index 54e067d65bd..c3642460620 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi @@ -11,7 +11,7 @@ @c appreciate a notice if you do). @copying -Copyright @copyright{} 2001--2013 Free Software Foundation, Inc.@* +Copyright @copyright{} 2001--2014 Free Software Foundation, Inc.@* Copyright @copyright{} 1994, 1995, 1996, 1997, 1998, 1999, 2000 Reuven M. Lerner@* Copyright @copyright{} 1992, 1993 Steven Byrnes@* diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi index 5b9f3a8e004..2430db76f35 100644 --- a/doc/misc/eieio.texi +++ b/doc/misc/eieio.texi @@ -11,7 +11,7 @@ @copying This manual documents EIEIO, an object framework for Emacs Lisp. -Copyright @copyright{} 2007--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2007--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/emacs-gnutls.texi b/doc/misc/emacs-gnutls.texi index 369c6c3c3a1..0eba0a86d2c 100644 --- a/doc/misc/emacs-gnutls.texi +++ b/doc/misc/emacs-gnutls.texi @@ -8,7 +8,7 @@ @copying This file describes the Emacs GnuTLS integration. -Copyright @copyright{} 2012--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2012--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/emacs-mime.texi b/doc/misc/emacs-mime.texi index 2c0e929e532..601269d405b 100644 --- a/doc/misc/emacs-mime.texi +++ b/doc/misc/emacs-mime.texi @@ -11,7 +11,7 @@ @copying This file documents the Emacs MIME interface functionality. -Copyright @copyright{} 1998--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1998--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/epa.texi b/doc/misc/epa.texi index 79f76560eb4..8f053a1f7fd 100644 --- a/doc/misc/epa.texi +++ b/doc/misc/epa.texi @@ -9,7 +9,7 @@ @copying This file describes EasyPG Assistant @value{VERSION}. -Copyright @copyright{} 2007--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2007--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/erc.texi b/doc/misc/erc.texi index abf0766ee8f..d24f4994bc1 100644 --- a/doc/misc/erc.texi +++ b/doc/misc/erc.texi @@ -9,7 +9,7 @@ @copying This manual is for ERC as distributed with Emacs @value{EMACSVER}. -Copyright @copyright{} 2005--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2005--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/ert.texi b/doc/misc/ert.texi index 926a02fd1de..c9642747528 100644 --- a/doc/misc/ert.texi +++ b/doc/misc/ert.texi @@ -10,7 +10,7 @@ @end direntry @copying -Copyright @copyright{} 2008, 2010--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2008, 2010--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index e8fab42b899..56983d9f97e 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi @@ -9,7 +9,7 @@ @copying This manual is for Eshell, the Emacs shell. -Copyright @copyright{} 1999--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1999--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/eudc.texi b/doc/misc/eudc.texi index 747494ffbde..37a3e86558d 100644 --- a/doc/misc/eudc.texi +++ b/doc/misc/eudc.texi @@ -12,7 +12,7 @@ EUDC is the Emacs Unified Directory Client, a common interface to directory servers using various protocols such as LDAP or the CCSO white pages directory system (PH/QI) -Copyright @copyright{} 1998, 2000--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1998, 2000--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi index d1f3e21c20e..f6ebdaa9a97 100644 --- a/doc/misc/flymake.texi +++ b/doc/misc/flymake.texi @@ -11,7 +11,7 @@ This manual is for GNU Flymake (version @value{VERSION}, @value{UPDATED}), which is a universal on-the-fly syntax checker for GNU Emacs. -Copyright @copyright{} 2004--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2004--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/forms.texi b/doc/misc/forms.texi index 17b117be961..dcbd9814d40 100644 --- a/doc/misc/forms.texi +++ b/doc/misc/forms.texi @@ -18,7 +18,7 @@ @copying This file documents Forms mode, a form-editing major mode for GNU Emacs. -Copyright @copyright{} 1989, 1997, 2001--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1989, 1997, 2001--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/gnus-coding.texi b/doc/misc/gnus-coding.texi index 4e5855627b8..2ce9d71788e 100644 --- a/doc/misc/gnus-coding.texi +++ b/doc/misc/gnus-coding.texi @@ -7,7 +7,7 @@ @syncodeindex pg cp @copying -Copyright @copyright{} 2004--2005, 2007--2013 Free Software +Copyright @copyright{} 2004--2005, 2007--2014 Free Software Foundation, Inc. @quotation diff --git a/doc/misc/gnus-news.el b/doc/misc/gnus-news.el index 812b18361c7..fdb4fe88099 100644 --- a/doc/misc/gnus-news.el +++ b/doc/misc/gnus-news.el @@ -26,7 +26,7 @@ (defvar gnus-news-header-disclaimer "GNUS NEWS -- history of user-visible changes. -Copyright (C) 1999-2013 Free Software Foundation, Inc. +Copyright (C) 1999-2014 Free Software Foundation, Inc. See the end of the file for license conditions. Please send Gnus bug reports to bugs@gnus.org. diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index d05ed53e69b..376d2a0ad26 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -11,7 +11,7 @@ @documentencoding UTF-8 @copying -Copyright @copyright{} 1995--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1995--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi index a432d4dc14a..c9b8924f2b7 100644 --- a/doc/misc/idlwave.texi +++ b/doc/misc/idlwave.texi @@ -22,7 +22,7 @@ Emacs, and interacting with an IDL shell run as a subprocess. This is edition @value{EDITION} of the IDLWAVE User Manual for IDLWAVE @value{VERSION}. -Copyright @copyright{} 1999--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1999--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/info.texi b/doc/misc/info.texi index 32aee99868d..a40345bca85 100644 --- a/doc/misc/info.texi +++ b/doc/misc/info.texi @@ -14,7 +14,7 @@ This file describes how to use Info, the on-line, menu-driven GNU documentation system. -Copyright @copyright{} 1989, 1992, 1996--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1989, 1992, 1996--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/mairix-el.texi b/doc/misc/mairix-el.texi index 210b709c1ea..bc8f5337675 100644 --- a/doc/misc/mairix-el.texi +++ b/doc/misc/mairix-el.texi @@ -6,7 +6,7 @@ @documentencoding UTF-8 @copying -Copyright @copyright{} 2008--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2008--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/message.texi b/doc/misc/message.texi index a98c7e48e53..fe6a8040176 100644 --- a/doc/misc/message.texi +++ b/doc/misc/message.texi @@ -10,7 +10,7 @@ @copying This file documents Message, the Emacs message composition mode. -Copyright @copyright{} 1996--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1996--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/mh-e.texi b/doc/misc/mh-e.texi index a0ea0fe6de9..968a814a64f 100644 --- a/doc/misc/mh-e.texi +++ b/doc/misc/mh-e.texi @@ -24,7 +24,7 @@ This is version @value{VERSION}@value{EDITION} of @cite{The MH-E Manual}, last updated @value{UPDATED}. -Copyright @copyright{} 1995, 2001--2003, 2005--2013 Free Software +Copyright @copyright{} 1995, 2001--2003, 2005--2014 Free Software Foundation, Inc. @c This dual license has been agreed upon by the FSF. diff --git a/doc/misc/newsticker.texi b/doc/misc/newsticker.texi index afb44a6a396..79d176a722b 100644 --- a/doc/misc/newsticker.texi +++ b/doc/misc/newsticker.texi @@ -13,7 +13,7 @@ This manual is for Newsticker (version @value{VERSION}, @value{UPDATED}). @noindent -Copyright @copyright{} 2004--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2004--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/nxml-mode.texi b/doc/misc/nxml-mode.texi index 8c81b6fbd20..d5e92ed2185 100644 --- a/doc/misc/nxml-mode.texi +++ b/doc/misc/nxml-mode.texi @@ -8,7 +8,7 @@ This manual documents nXML mode, an Emacs major mode for editing XML with RELAX NG support. -Copyright @copyright{} 2007--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2007--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/octave-mode.texi b/doc/misc/octave-mode.texi index 50bb4f11f2a..a4ebfc2b5a1 100644 --- a/doc/misc/octave-mode.texi +++ b/doc/misc/octave-mode.texi @@ -5,7 +5,7 @@ @c %**end of header @copying -Copyright @copyright{} 1996--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1996--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/org.texi b/doc/misc/org.texi index a90f3d4d536..bc707b026f1 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi @@ -262,7 +262,7 @@ @copying This manual is for Org version @value{VERSION}. -Copyright @copyright{} 2004--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2004--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/pcl-cvs.texi b/doc/misc/pcl-cvs.texi index 11123f977a0..354cbe54071 100644 --- a/doc/misc/pcl-cvs.texi +++ b/doc/misc/pcl-cvs.texi @@ -6,7 +6,7 @@ @c %**end of header @copying -Copyright @copyright{} 1991--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1991--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/pgg.texi b/doc/misc/pgg.texi index 370998c855a..ae690989015 100644 --- a/doc/misc/pgg.texi +++ b/doc/misc/pgg.texi @@ -11,7 +11,7 @@ This file describes PGG @value{VERSION}, an Emacs interface to various PGP implementations. -Copyright @copyright{} 2001, 2003--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2001, 2003--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/rcirc.texi b/doc/misc/rcirc.texi index 3bce0c7c24b..e137ab200e6 100644 --- a/doc/misc/rcirc.texi +++ b/doc/misc/rcirc.texi @@ -5,7 +5,7 @@ @c %**end of header @copying -Copyright @copyright{} 2006--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2006--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/reftex.texi b/doc/misc/reftex.texi index ba83d8129a8..4c34cc4aa01 100644 --- a/doc/misc/reftex.texi +++ b/doc/misc/reftex.texi @@ -45,7 +45,7 @@ This manual documents @RefTeX{} (version @value{VERSION}), a package to do labels, references, citations and indices for LaTeX documents with Emacs. -Copyright @copyright{} 1997--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1997--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/remember.texi b/doc/misc/remember.texi index 290c18a7b47..a9abca76332 100644 --- a/doc/misc/remember.texi +++ b/doc/misc/remember.texi @@ -8,7 +8,7 @@ @copying This manual is for Remember Mode, version 1.9 -Copyright @copyright{} 2001, 2004--2005, 2007--2013 +Copyright @copyright{} 2001, 2004--2005, 2007--2014 Free Software Foundation, Inc. @quotation diff --git a/doc/misc/sasl.texi b/doc/misc/sasl.texi index dcb25ec805a..6e8fa9f69a5 100644 --- a/doc/misc/sasl.texi +++ b/doc/misc/sasl.texi @@ -10,7 +10,7 @@ @copying This file describes the Emacs SASL library, version @value{VERSION}. -Copyright @copyright{} 2000, 2004--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2000, 2004--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/sc.texi b/doc/misc/sc.texi index 11dbf2eda5e..2c2230814a9 100644 --- a/doc/misc/sc.texi +++ b/doc/misc/sc.texi @@ -14,7 +14,7 @@ This document describes Supercite, an Emacs package for citing and attributing replies to mail and news messages. -Copyright @copyright{} 1993, 2001--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1993, 2001--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/semantic.texi b/doc/misc/semantic.texi index f43316f5012..74dcb170a19 100644 --- a/doc/misc/semantic.texi +++ b/doc/misc/semantic.texi @@ -24,7 +24,7 @@ @copying This manual documents the Semantic library and utilities. -Copyright @copyright{} 1999--2005, 2007, 2009--2013 Free Software +Copyright @copyright{} 1999--2005, 2007, 2009--2014 Free Software Foundation, Inc. @quotation diff --git a/doc/misc/ses.texi b/doc/misc/ses.texi index 8ac023b8135..e57ed802459 100644 --- a/doc/misc/ses.texi +++ b/doc/misc/ses.texi @@ -11,7 +11,7 @@ @copying This file documents @acronym{SES}: the Simple Emacs Spreadsheet. -Copyright @copyright{} 2002--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2002--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/sieve.texi b/doc/misc/sieve.texi index f69e2b9b948..78b2fa7cf48 100644 --- a/doc/misc/sieve.texi +++ b/doc/misc/sieve.texi @@ -11,7 +11,7 @@ @copying This file documents the Emacs Sieve package, for server-side mail filtering. -Copyright @copyright{} 2001--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2001--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/smtpmail.texi b/doc/misc/smtpmail.texi index dce90d06012..db979142f39 100644 --- a/doc/misc/smtpmail.texi +++ b/doc/misc/smtpmail.texi @@ -3,7 +3,7 @@ @settitle Emacs SMTP Library @syncodeindex vr fn @copying -Copyright @copyright{} 2003--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2003--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/speedbar.texi b/doc/misc/speedbar.texi index 3cb0ec3aed8..db940420888 100644 --- a/doc/misc/speedbar.texi +++ b/doc/misc/speedbar.texi @@ -4,7 +4,7 @@ @syncodeindex fn cp @copying -Copyright @copyright{} 1999--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1999--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/srecode.texi b/doc/misc/srecode.texi index d6cf4d53edc..e45330f6740 100644 --- a/doc/misc/srecode.texi +++ b/doc/misc/srecode.texi @@ -15,7 +15,7 @@ @c %**end of header @copying -Copyright @copyright{} 2007--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2007--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index bd56c483c51..bfd765dd211 100644 --- a/doc/misc/texinfo.tex +++ b/doc/misc/texinfo.tex @@ -5,7 +5,9 @@ % \def\texinfoversion{2013-09-11.11} % -% Copyright 1985-1986, 1988, 1990-2014 Free Software Foundation, Inc. +% Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, +% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, +% 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. % % This texinfo.tex file is free software: you can redistribute it and/or % modify it under the terms of the GNU General Public License as diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 7b2d2b33ba2..21891df25e9 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi @@ -65,7 +65,7 @@ @end ifclear @copying -Copyright @copyright{} 1999--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1999--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/url.texi b/doc/misc/url.texi index fdec68b1c61..b7cbe47cccb 100644 --- a/doc/misc/url.texi +++ b/doc/misc/url.texi @@ -20,7 +20,7 @@ @copying This is the manual for the @code{url} Emacs Lisp library. -Copyright @copyright{} 1993--1999, 2002, 2004--2013 Free Software +Copyright @copyright{} 1993--1999, 2002, 2004--2014 Free Software Foundation, Inc. @quotation diff --git a/doc/misc/vip.texi b/doc/misc/vip.texi index 28e78f5d381..de41deee511 100644 --- a/doc/misc/vip.texi +++ b/doc/misc/vip.texi @@ -3,7 +3,7 @@ @settitle VIP @copying -Copyright @copyright{} 1987, 2001--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1987, 2001--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/viper.texi b/doc/misc/viper.texi index db5a5736888..94623537887 100644 --- a/doc/misc/viper.texi +++ b/doc/misc/viper.texi @@ -7,7 +7,7 @@ @setfilename ../../info/viper @copying -Copyright @copyright{} 1995--1997, 2001--2013 Free Software Foundation, Inc. +Copyright @copyright{} 1995--1997, 2001--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/widget.texi b/doc/misc/widget.texi index 2fe247dd750..aa94da3c469 100644 --- a/doc/misc/widget.texi +++ b/doc/misc/widget.texi @@ -8,7 +8,7 @@ @c %**end of header @copying -Copyright @copyright{} 2000--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2000--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document diff --git a/doc/misc/wisent.texi b/doc/misc/wisent.texi index c0f18f6363a..9299e02d838 100644 --- a/doc/misc/wisent.texi +++ b/doc/misc/wisent.texi @@ -23,7 +23,7 @@ @c %**end of header @copying -Copyright @copyright{} 1988--1993, 1995, 1998--2004, 2007, 2012--2013 +Copyright @copyright{} 1988--1993, 1995, 1998--2004, 2007, 2012--2014 Free Software Foundation, Inc. @c Since we are both GNU manuals, we do not need to ack each other here. diff --git a/doc/misc/woman.texi b/doc/misc/woman.texi index df67f02119c..7a8919614cb 100644 --- a/doc/misc/woman.texi +++ b/doc/misc/woman.texi @@ -14,7 +14,7 @@ This file documents WoMan: A program to browse Unix manual pages `W.O. (without) man'. -Copyright @copyright{} 2001--2013 Free Software Foundation, Inc. +Copyright @copyright{} 2001--2014 Free Software Foundation, Inc. @quotation Permission is granted to copy, distribute and/or modify this document -- cgit v1.2.1 From b483c5703d31a7931c701817fc6dcb61259abb82 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 1 Jan 2014 15:13:59 -0800 Subject: Prefer ASCII in doc and comments when the difference does not matter. --- doc/emacs/maintaining.texi | 2 +- doc/emacs/text.texi | 2 +- doc/lispref/display.texi | 14 +++++++------- doc/lispref/nonascii.texi | 8 +++----- doc/misc/ido.texi | 2 +- doc/misc/org.texi | 4 ++-- 6 files changed, 15 insertions(+), 17 deletions(-) (limited to 'doc') diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi index 1e2b009e0d8..e066c491ac5 100644 --- a/doc/emacs/maintaining.texi +++ b/doc/emacs/maintaining.texi @@ -1046,7 +1046,7 @@ Ignore a file under current version control system. (@code{vc-ignore}). @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 +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. When diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi index 43fefa5e24e..4d19ddbf1a6 100644 --- a/doc/emacs/text.texi +++ b/doc/emacs/text.texi @@ -2086,7 +2086,7 @@ newlines are used for filling. The @key{RET} (@code{newline}) and commands, including Auto Fill (@pxref{Auto Fill}), insert only soft newlines and delete only soft newlines, leaving hard newlines alone. -@c FIXME: I don't see ‘unfilled’ in that node. --xfq +@c FIXME: I don't see 'unfilled' in that node. --xfq Thus, when editing with Enriched mode, you should not use @key{RET} or @kbd{C-o} to break lines in the middle of filled paragraphs. Use Auto Fill mode or explicit fill commands (@pxref{Fill Commands}) diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 633a9a77c46..be8db83396c 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -615,8 +615,8 @@ program signals a Lisp error and then handles it with @code{condition-case}, the user won't see the error message; it could show the message to the user by reporting it as a warning.) -@c FIXME: Why use ‘(bytecomp)’ instead of ‘'bytecomp’ or simply -@c ‘bytecomp’ here? The parens are part of ‘warning-type-format’ but +@c FIXME: Why use "(bytecomp)" instead of "'bytecomp" or simply +@c "bytecomp" here? The parens are part of warning-type-format but @c not part of the warning type. --xfq @cindex warning type Each warning has a @dfn{warning type} to classify it. The type is a @@ -2044,7 +2044,7 @@ stipple patterns. Alternative foreground color, a string. This is like @code{:foreground} but the color is only used as a foreground when the background color is near to the foreground that would have been used. This is useful for -example when marking text (i.e. the region face). If the text has a foreground +example when marking text (i.e. the region face). If the text has a foreground that is visible with the region face, that foreground is used. If the foreground is near the region face background, @code{:distant-foreground} is used instead so the text is readable. @@ -3589,8 +3589,8 @@ See the next subsection for details. @xref{Fringe Bitmaps}. @end ifnottex -@c FIXME: I can't find the ‘fringes-indicator-alist’ variable. Maybe -@c it should be ‘fringe-indicator-alist’ or ‘fringe-cursor-alist’? --xfq +@c FIXME: I can't find the fringes-indicator-alist variable. Maybe +@c it should be fringe-indicator-alist or fringe-cursor-alist? --xfq When @code{fringe-cursor-alist} has a buffer-local value, and there is no bitmap defined for a cursor type, the corresponding value from the default value of @code{fringes-indicator-alist} is used. @@ -4712,7 +4712,7 @@ 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. -@c FIXME: ‘:format-type’ or ‘:format’? --xfq +@c FIXME: ':format-type' or ':format'? --xfq @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 @@ -4793,7 +4793,7 @@ from the file's name. The remaining arguments, @var{props}, specify additional image properties---for example, -@c ‘:heuristic-mask’ is not documented? +@c ':heuristic-mask' is not documented? @example (create-image "foo.xpm" 'xpm nil :heuristic-mask t) @end example diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index 7ec53cf0ab9..43766d5087a 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -550,15 +550,13 @@ is @code{nil}, which means the character itself. @defun get-char-code-property char propname This function returns the value of @var{char}'s @var{propname} property. -@c FIXME: Use ‘?\s’ instead of ‘? ’ for the space character in the -@c first example? --xfq @example @group -(get-char-code-property ? 'general-category) +(get-char-code-property ?\s 'general-category) @result{} Zs @end group @group -(get-char-code-property ?1 'general-category) +(get-char-code-property ?1 'general-category) @result{} Nd @end group @group @@ -688,7 +686,7 @@ which case the returned charset must be supported by that coding system (@pxref{Coding Systems}). @end defun -@c TODO: Explain the properties here and add indexes such as ‘charset property’. +@c TODO: Explain the properties here and add indexes such as 'charset property'. @defun charset-plist charset This function returns the property list of the character set @var{charset}. Although @var{charset} is a symbol, this is not the diff --git a/doc/misc/ido.texi b/doc/misc/ido.texi index 40afa698777..56905f83295 100644 --- a/doc/misc/ido.texi +++ b/doc/misc/ido.texi @@ -576,7 +576,7 @@ enable it: Now you can customize @code{completion-ignored-extensions} as well. Go ahead and add all the useless object files, backup files, shared -library files and other computing flotsam you don’t want Ido to show. +library files and other computing flotsam you don't want Ido to show. @strong{Please notice:} Ido will still complete the ignored elements if it would otherwise not show any other matches. So if you type out diff --git a/doc/misc/org.texi b/doc/misc/org.texi index bc707b026f1..be028e3d1e9 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi @@ -13071,7 +13071,7 @@ channel." @end lisp The @code{my-ascii-src-block} function looks at the attribute above the -element. If it isn’t true, it gives hand to the @code{ascii} back-end. +element. If it isn't true, it gives hand to the @code{ascii} back-end. Otherwise, it creates a box around the code, leaving room for the language. A new back-end is then created. It only changes its behaviour when translating @code{src-block} type element. Now, all it takes to use the new @@ -13778,7 +13778,7 @@ ensure that no code blocks are evaluated as part of the export process. This can be useful in situations where potentially untrusted Org mode files are exported in an automated fashion, for example when Org mode is used as the markup language for a wiki. It is also possible to set this variable to -@code{‘inline-only}. In that case, only inline code blocks will be +@code{'inline-only}. In that case, only inline code blocks will be evaluated, in order to insert their results. Non-inline code blocks are assumed to have their results already inserted in the buffer by manual evaluation. This setting is useful to avoid expensive recalculations during -- cgit v1.2.1 From 94ee87197f4fb33272972231f41d5db603d73afe Mon Sep 17 00:00:00 2001 From: Aidan Gauland Date: Thu, 2 Jan 2014 22:27:46 +1300 Subject: * eshell.text (What is Eshell?): Add section about what not to use Eshell for. --- doc/misc/ChangeLog | 5 +++++ doc/misc/eshell.texi | 37 ++++++++++++++++++++++++++++--------- 2 files changed, 33 insertions(+), 9 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index f64ed76341b..0612580dd62 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,8 @@ +2014-01-02 Aidan Gauland + + * eshell.text (What is Eshell?): Add section about what not to use + Eshell for. + 2013-12-23 Teodor Zlatanov * emacs-gnutls.texi (Help For Users): Document `gnutls-verify-error'. diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index 56983d9f97e..37ec9a54b6e 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi @@ -61,19 +61,19 @@ modify this GNU manual.'' @node Top @top Eshell -Eshell is a shell-like command interpreter -implemented in Emacs Lisp. It invokes no external processes except for -those requested by the user. It is intended to be a functional -replacement for command shells such as @command{bash}, @command{zsh}, -@command{rc}, or @command{4dos}; since Emacs itself is capable of -handling the sort of tasks accomplished by those tools. +Eshell is a shell-like command interpreter implemented in Emacs Lisp. +It invokes no external processes except for those requested by the +user. It is intended to be an alternative to the @xref{Lisp +Interaction, IELM, , elisp, The Emacs Lisp Reference Manual} REPL for +Emacs @emph{and} with an interface similar to command shells such as +@command{bash}, @command{zsh}, @command{rc}, or @command{4dos}. @c This manual is updated to release 2.4 of Eshell. @insertcopying @end ifnottex @menu -* What is Eshell?:: A brief introduction to the Emacs Shell. +* Introduction:: A brief introduction to the Emacs Shell. * Command basics:: The basics of command usage. * Commands:: * Expansion:: @@ -87,8 +87,9 @@ handling the sort of tasks accomplished by those tools. * Key Index:: @end menu -@node What is Eshell? -@chapter What is Eshell? +@node Introduction +@chapter Introduction +@section What is Eshell? @cindex what is Eshell? @cindex Eshell, what it is @@ -139,6 +140,24 @@ Any tool you use often deserves the time spent learning to master it. looks like: But don't let it fool you; once you know what's going on, it's easier than it looks: @code{ls -lt **/*.doc(Lk+50aM+5)}.} +@section What Eshell is not +@cindex Eshell, what it is not +@cindex what Eshell is not +@cindex what isn't Eshell? + +Eshell is @emph{not} a replacement for system shells such as +@command{bash} or @command{zsh}. Use Eshell when you want to move +text between Emacs and external processes; if you only want to pipe +output from one external process to another, to another, use a system +shell, because Emacs's IO system is buffer oriented, not stream +oriented, and is very inefficient at such tasks. If you want to write +shell scripts in Eshell, don't; either write an elisp library or use a +system shell. + +Some things Eshell just doesn't do well. It fills the niche between +IELM and your system shell, where the peculiar use-cases lie, and it +is less than ideal outside that niche. + @menu * Contributors to Eshell:: People who have helped out! @end menu -- cgit v1.2.1 From f2299e89bc4dbc51dc093b9ea4245d836de480bb Mon Sep 17 00:00:00 2001 From: Aidan Gauland Date: Thu, 2 Jan 2014 22:32:20 +1300 Subject: * eshell.text (Command Basics): Removed `Command basics' chapter. --- doc/misc/ChangeLog | 4 +++ doc/misc/eshell.texi | 93 ---------------------------------------------------- 2 files changed, 4 insertions(+), 93 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 0612580dd62..2a6d5b11b15 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-01-02 Aidan Gauland + + * eshell.text (Command Basics): Removed `Command basics' chapter. + 2014-01-02 Aidan Gauland * eshell.text (What is Eshell?): Add section about what not to use diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index 37ec9a54b6e..47644a8743c 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi @@ -74,7 +74,6 @@ Emacs @emph{and} with an interface similar to command shells such as @menu * Introduction:: A brief introduction to the Emacs Shell. -* Command basics:: The basics of command usage. * Commands:: * Expansion:: * Input/Output:: @@ -202,98 +201,6 @@ Apart from these, a lot of people have sent suggestions, ideas, requests, bug reports and encouragement. Thanks a lot! Without you there would be no new releases of Eshell. -@node Command basics -@chapter Basic overview - -A command shell is a means of entering verbally-formed commands. This -is really all that it does, and every feature described in this manual -is a means to that end. Therefore, it's important to take firm hold on -exactly what a command is, and how it fits in the overall picture of -things. - -@menu -* Commands verbs:: Commands always begin with a verb. -* Command arguments:: Some verbs require arguments. -@end menu - -@node Commands verbs -@section Commands verbs - -Commands are expressed using @dfn{script}, a special shorthand language -computers can understand with no trouble. Script is an extremely simple -language; oddly enough, this is what makes it look so complicated! -Whereas normal languages use a variety of embellishments, the form of a -script command is always: - -@example -@var{verb} [@var{arguments}] -@end example - -The verb expresses what you want your computer to do. There are a fixed -number of verbs, although this number is usually quite large. On the -author's computer, it reaches almost 1400 in number. But of course, -only a handful of these are really necessary. - -Sometimes, the verb is all that's written. A verb is always a single -word, usually related to the task it performs. @command{reboot} is a -good example. Entering that on GNU/Linux will reboot the -computer---assuming you have sufficient privileges. - -Other verbs require more information. These are usually very capable -verbs, and must be told specifically what to do. The extra information -is given in the form of @dfn{arguments}. For example, the -@command{echo} verb prints back whatever arguments you type. It -requires these arguments to know what to echo. A proper use of -@command{echo} looks like this: - -@example -echo This is an example of using echo! -@end example - -This script command causes the computer to echo back: ``This is an -example of using echo!'' - -Although command verbs are always simple words, like @command{reboot} or -@command{echo}, arguments may have a wide variety of forms. There are -textual arguments, numerical arguments---even Lisp arguments. -Distinguishing these different types of arguments requires special -typing, for the computer to know exactly what you mean. - -@node Command arguments -@section Command arguments - -Eshell recognizes several different kinds of command arguments: - -@enumerate -@item Strings (also called textual arguments) -@item Numbers (floating point or integer) -@item Lisp lists -@item Lisp symbols -@item Emacs buffers -@item Emacs process handles -@end enumerate - -Most users need to worry only about the first two. The third, Lisp lists, -occur very frequently, but almost always behind the scenes. - -Strings are the most common type of argument, and consist of nearly any -character. Special characters---those used by Eshell -specifically---must be preceded by a backslash (@samp{\}). When in doubt, it -is safe to add backslashes anywhere and everywhere. - -Here is a more complicated @command{echo} example: - -@example -echo A\ Multi-word\ Argument\ With\ A\ \$\ dollar -@end example - -Beyond this, things get a bit more complicated. While not beyond the -reach of someone wishing to learn, it is definitely beyond the scope of -this manual to present it all in a simplistic manner. Get comfortable -with Eshell as a basic command invocation tool, and learn more about the -commands on your system; then come back when it all sits more familiarly -on your mind. Have fun! - @node Commands @chapter Commands -- cgit v1.2.1 From 33f846fbbb099b89c288d450333aa6e90ed8f334 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 2 Jan 2014 11:17:48 -0800 Subject: * doc/lispref/numbers.texi (Numeric Conversions): Fix a typo. Also some ChangeLog fixes. --- doc/lispref/ChangeLog | 18 ++++++++---------- doc/lispref/numbers.texi | 2 +- 2 files changed, 9 insertions(+), 11 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index b9e0fb9199d..6df7f1416c9 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2014-01-02 Glenn Morris + + * numbers.texi (Numeric Conversions): Fix a typo. + 2013-12-29 Paul Eggert Plain copy-file no longer chmods an existing destination (Bug#16133). @@ -1355,14 +1359,16 @@ Tweak markup. Remove domain-error and friends, which seem to be unused after the floating-point code revamp. - * functions.texi (Obsolete Functions): Obsolescence also affects + * functions.texi (Defining Functions): defun is now a macro. + (Obsolete Functions): Obsolescence also affects documentation commands. Various clarifications. (Declare Form): New node. * strings.texi (String Basics): Copyedits. - * os.texi (Idle Timers): Minor clarifications. + * os.texi (Startup Summary): Document leim-list.el change. (User Identification): Add system-users and system-groups. + (Idle Timers): Minor clarifications. * macros.texi (Defining Macros): Move description of `declare' to Declare Form node. @@ -1378,14 +1384,6 @@ the machine-independence of negative division since it does not happen in practice. -2012-09-28 Chong Yidong - - * os.texi (Startup Summary): Document leim-list.el change. - -2012-09-25 Chong Yidong - - * functions.texi (Defining Functions): defun is now a macro. - 2012-09-28 Leo Liu * files.texi (Files): Fix typo. diff --git a/doc/lispref/numbers.texi b/doc/lispref/numbers.texi index 5bff56e4cee..2e8fefed1c5 100644 --- a/doc/lispref/numbers.texi +++ b/doc/lispref/numbers.texi @@ -447,7 +447,7 @@ may be integers or floating point numbers. @var{divisor} may also be functions convert @var{number} to an integer, or return it unchanged if it already is an integer. If @var{divisor} is non-@code{nil}, they divide @var{number} by @var{divisor} and convert the result to an -integer. integer. If @var{divisor} is zero (whether integer or +integer. If @var{divisor} is zero (whether integer or floating-point), Emacs signals an @code{arith-error} error. @defun truncate number &optional divisor -- cgit v1.2.1 From 81f3d6a9809fa632c7e0451a1650f3e1e2d8f0e5 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 2 Jan 2014 11:18:24 -0800 Subject: Add 2014 to more copyright years --- doc/man/ebrowse.1 | 2 +- doc/man/emacs.1 | 2 +- doc/man/etags.1 | 2 +- doc/man/grep-changelog.1 | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/man/ebrowse.1 b/doc/man/ebrowse.1 index 89506db98ef..ce887b0cf0c 100644 --- a/doc/man/ebrowse.1 +++ b/doc/man/ebrowse.1 @@ -85,7 +85,7 @@ was written by Gerd Moellmann. Copyright .if t \(co .if n (C) -2008-2013 Free Software Foundation, Inc. +2008-2014 Free Software Foundation, Inc. .PP Permission is granted to make and distribute verbatim copies of this document provided the copyright notice and this permission notice are diff --git a/doc/man/emacs.1 b/doc/man/emacs.1 index a306edc3ca9..3078c29e25a 100644 --- a/doc/man/emacs.1 +++ b/doc/man/emacs.1 @@ -655,7 +655,7 @@ For detailed credits and acknowledgments, see the GNU Emacs manual. Copyright .if t \(co .if n (C) -1995, 1999-2013 Free Software Foundation, Inc. +1995, 1999-2014 Free Software Foundation, Inc. .PP Permission is granted to make and distribute verbatim copies of this document provided the copyright notice and this permission notice are diff --git a/doc/man/etags.1 b/doc/man/etags.1 index 5ccf528868b..7d13892c15f 100644 --- a/doc/man/etags.1 +++ b/doc/man/etags.1 @@ -268,7 +268,7 @@ Stallman. Copyright .if t \(co .if n (C) -1992, 1999, 2001-2013 Free Software Foundation, Inc. +1992, 1999, 2001-2014 Free Software Foundation, Inc. .PP Permission is granted to make and distribute verbatim copies of this document provided the copyright notice and this permission notice are diff --git a/doc/man/grep-changelog.1 b/doc/man/grep-changelog.1 index ef4b2900988..a3635a61838 100644 --- a/doc/man/grep-changelog.1 +++ b/doc/man/grep-changelog.1 @@ -62,7 +62,7 @@ Display basic usage information. Copyright .if t \(co .if n (C) -2008-2013 Free Software Foundation, Inc. +2008-2014 Free Software Foundation, Inc. .PP Permission is granted to make and distribute verbatim copies of this document provided the copyright notice and this permission notice are -- cgit v1.2.1 From c28426f9f546b97d4710472069b7c74e4ec651b1 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 2 Jan 2014 11:19:20 -0800 Subject: * doc/misc/Makefile.in (cc_mode_deps): Rename from (typo) ccmode_deps. --- doc/misc/ChangeLog | 4 ++++ doc/misc/Makefile.in | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 2a6d5b11b15..fb903b4cdde 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-01-02 Glenn Morris + + * Makefile.in (cc_mode_deps): Rename from (typo) ccmode_deps. + 2014-01-02 Aidan Gauland * eshell.text (Command Basics): Removed `Command basics' chapter. diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index 09045f83674..8b8d8a606c9 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in @@ -193,7 +193,7 @@ calc.pdf: $(calc_deps) calc.html: $(calc_deps) $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/calc.texi -ccmode_deps = ${srcdir}/cc-mode.texi ${gfdl} +cc_mode_deps = ${srcdir}/cc-mode.texi ${gfdl} ccmode : $(buildinfodir)/ccmode$(INFO_EXT) $(buildinfodir)/ccmode$(INFO_EXT): $(cc_mode_deps) $(mkinfodir) -- cgit v1.2.1 From 112720b181938915e4d4a65cd86f03d3b2f1f17e Mon Sep 17 00:00:00 2001 From: Aidan Gauland Date: Fri, 3 Jan 2014 09:17:19 +1300 Subject: * eshell.text (top): Fix incorrect info filename in an xref. --- doc/misc/ChangeLog | 4 ++++ doc/misc/eshell.texi | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index fb903b4cdde..8e9321445df 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-01-03 Aidan Gauland + + * eshell.text (top): Fix incorrect info filename in an xref. + 2014-01-02 Glenn Morris * Makefile.in (cc_mode_deps): Rename from (typo) ccmode_deps. diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index 47644a8743c..0449116683e 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi @@ -63,10 +63,10 @@ modify this GNU manual.'' Eshell is a shell-like command interpreter implemented in Emacs Lisp. It invokes no external processes except for those requested by the -user. It is intended to be an alternative to the @xref{Lisp -Interaction, IELM, , elisp, The Emacs Lisp Reference Manual} REPL for -Emacs @emph{and} with an interface similar to command shells such as -@command{bash}, @command{zsh}, @command{rc}, or @command{4dos}. +user. It is intended to be an alternative to the @xref{Lisp Interaction, IELM, , emacs, The Emacs Lisp Reference Manual} +REPL for Emacs @emph{and} with an interface similar to command shells +such as @command{bash}, @command{zsh}, @command{rc}, or +@command{4dos}. @c This manual is updated to release 2.4 of Eshell. @insertcopying -- cgit v1.2.1 From b66b98fe412a97008778b34fa76ada7d1609631c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vincent=20Bela=C3=AFche?= Date: Thu, 2 Jan 2014 22:05:34 +0100 Subject: Add support for local printer functions in SES. --- doc/misc/ChangeLog | 4 ++++ doc/misc/ses.texi | 7 +++++++ 2 files changed, 11 insertions(+) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 8e9321445df..4017b34f02c 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -2,6 +2,10 @@ * eshell.text (top): Fix incorrect info filename in an xref. +2014-01-02 Vincent Belaïche + + * ses.texi: Add documentation for local printer functions. + 2014-01-02 Glenn Morris * Makefile.in (cc_mode_deps): Rename from (typo) ccmode_deps. diff --git a/doc/misc/ses.texi b/doc/misc/ses.texi index e57ed802459..11fd55e8dcb 100644 --- a/doc/misc/ses.texi +++ b/doc/misc/ses.texi @@ -434,6 +434,13 @@ Centering with dashes and spill-over. Centering with tildes (~) and spill-over. @end table +You can define printer function local to a sheet with command +@code{ses-define-local-printer}. For instance define printer +@samp{foo} to @code{"%.2f"} and then use symbol @samp{foo} as a +printer function. Then, if you call again +@code{ses-define-local-printer} on @samp{foo} to redefine it as +@code{"%.3f"} all the cells using printer @samp{foo} will be reprinted +accordingly. @node Clearing cells @section Clearing cells -- cgit v1.2.1 From 8f9740f0e7ef3b591ba87d8c4488ae638b899a3a Mon Sep 17 00:00:00 2001 From: Aidan Gauland Date: Fri, 3 Jan 2014 14:55:15 +1300 Subject: * eshell.text (top): Fix incorrect use of xref. --- doc/misc/ChangeLog | 4 ++++ doc/misc/eshell.texi | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 4017b34f02c..1963dc5f2be 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-01-03 Aidan Gauland + + * eshell.text (top): Fix incorrect use of xref. + 2014-01-03 Aidan Gauland * eshell.text (top): Fix incorrect info filename in an xref. diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index 0449116683e..21789b9af01 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi @@ -63,7 +63,7 @@ modify this GNU manual.'' Eshell is a shell-like command interpreter implemented in Emacs Lisp. It invokes no external processes except for those requested by the -user. It is intended to be an alternative to the @xref{Lisp Interaction, IELM, , emacs, The Emacs Lisp Reference Manual} +user. It is intended to be an alternative to the IELM (@pxref{Lisp Interaction, Emacs Lisp Interaction, , emacs, The Emacs Editor}) REPL for Emacs @emph{and} with an interface similar to command shells such as @command{bash}, @command{zsh}, @command{rc}, or @command{4dos}. -- cgit v1.2.1 From fdf52fd4f64d827c3e6c414b09ada7b323f37715 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 2 Jan 2014 18:53:29 -0800 Subject: * doc/misc/calc.texi (Top): Use @top rather than @chapter. --- doc/misc/ChangeLog | 4 ++++ doc/misc/calc.texi | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 1963dc5f2be..13bcdb7600e 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-01-03 Glenn Morris + + * calc.texi (Top): Use @top rather than @chapter. + 2014-01-03 Aidan Gauland * eshell.text (top): Fix incorrect use of xref. diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index 7fba181adcb..2c84fabdfcd 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi @@ -140,7 +140,7 @@ modify this GNU manual.'' @c [begin] @ifnottex @node Top, Getting Started, (dir), (dir) -@chapter The GNU Emacs Calculator +@top The GNU Emacs Calculator @noindent @dfn{Calc} is an advanced desk calculator and mathematical tool -- cgit v1.2.1 From 33306400fb40555f666b2064e09b331e3a41c244 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 2 Jan 2014 19:00:39 -0800 Subject: * doc/misc/ert.texi: Add a titlepage. Use @insertcopying. --- doc/misc/ChangeLog | 2 ++ doc/misc/ert.texi | 13 +++++++++++++ 2 files changed, 15 insertions(+) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 13bcdb7600e..9eb485e1dad 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,5 +1,7 @@ 2014-01-03 Glenn Morris + * ert.texi: Add a titlepage. Use @insertcopying. + * calc.texi (Top): Use @top rather than @chapter. 2014-01-03 Aidan Gauland diff --git a/doc/misc/ert.texi b/doc/misc/ert.texi index c9642747528..3faceafc312 100644 --- a/doc/misc/ert.texi +++ b/doc/misc/ert.texi @@ -25,9 +25,21 @@ modify this GNU manual.'' @end quotation @end copying +@titlepage +@title Emacs Lisp Regression Testing +@page +@vskip 0pt plus 1filll +@insertcopying +@end titlepage + +@contents + +@ifnottex @node Top @top ERT: Emacs Lisp Regression Testing +@insertcopying + ERT is a tool for automated testing in Emacs Lisp. Its main features are facilities for defining tests, running them and reporting the results, and for debugging test failures interactively. @@ -85,6 +97,7 @@ Appendix @end detailmenu @end menu +@end ifnottex @node Introduction @chapter Introduction -- cgit v1.2.1 From 4a970ff58d74df85f4c20b48c36edb5f58683cfe Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 2 Jan 2014 19:07:20 -0800 Subject: * doc/misc/dbus.texi, nxml-mode.texi, widget.texi: Add titlepage. --- doc/misc/ChangeLog | 2 ++ doc/misc/dbus.texi | 8 ++++++++ doc/misc/nxml-mode.texi | 11 +++++++++++ doc/misc/widget.texi | 8 ++++++++ 4 files changed, 29 insertions(+) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 9eb485e1dad..78c68931856 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,5 +1,7 @@ 2014-01-03 Glenn Morris + * dbus.texi, nxml-mode.texi, widget.texi: Add titlepage. + * ert.texi: Add a titlepage. Use @insertcopying. * calc.texi (Top): Use @top rather than @chapter. diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi index 9375e03c4ef..4e332baee89 100644 --- a/doc/misc/dbus.texi +++ b/doc/misc/dbus.texi @@ -29,6 +29,14 @@ modify this GNU manual.'' * D-Bus: (dbus). Using D-Bus in Emacs. @end direntry +@titlepage +@title Using D-Bus in Emacs +@page +@vskip 0pt plus 1filll +@insertcopying +@end titlepage + + @contents diff --git a/doc/misc/nxml-mode.texi b/doc/misc/nxml-mode.texi index d5e92ed2185..b8b69da4439 100644 --- a/doc/misc/nxml-mode.texi +++ b/doc/misc/nxml-mode.texi @@ -28,6 +28,17 @@ modify this GNU manual.'' * nXML Mode: (nxml-mode). XML editing mode with RELAX NG support. @end direntry + +@titlepage +@title nXML mode +@page +@vskip 0pt plus 1filll +@insertcopying +@end titlepage + +@contents + + @node Top @top nXML Mode diff --git a/doc/misc/widget.texi b/doc/misc/widget.texi index aa94da3c469..0cf687acc18 100644 --- a/doc/misc/widget.texi +++ b/doc/misc/widget.texi @@ -29,6 +29,14 @@ modify this GNU manual.'' Customization facility. @end direntry + +@titlepage +@title The Emacs Widget Library +@page +@vskip 0pt plus 1filll +@insertcopying +@end titlepage + @contents @node Top -- cgit v1.2.1 From 75b76b8763d7e2878095e1033be95d33940aaf90 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 2 Jan 2014 19:13:58 -0800 Subject: * ede.texi, eieio.texi, semantic.texi, srecode.texi: Add copyright notice to titlepage. --- doc/misc/ChangeLog | 3 +++ doc/misc/ede.texi | 3 +++ doc/misc/eieio.texi | 27 ++++----------------------- doc/misc/semantic.texi | 3 +++ doc/misc/srecode.texi | 3 +++ 5 files changed, 16 insertions(+), 23 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 78c68931856..bb345a8a115 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,5 +1,8 @@ 2014-01-03 Glenn Morris + * ede.texi, eieio.texi, semantic.texi, srecode.texi: + Add copyright notice to titlepage. + * dbus.texi, nxml-mode.texi, widget.texi: Add titlepage. * ert.texi: Add a titlepage. Use @insertcopying. diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi index e60f1c73f8c..63a1f4e6270 100644 --- a/doc/misc/ede.texi +++ b/doc/misc/ede.texi @@ -30,6 +30,9 @@ modify this GNU manual.'' @center @titlefont{EDE (The Emacs Development Environment)} @sp 4 @center by Eric Ludlam +@page +@vskip 0pt plus 1filll +@insertcopying @end titlepage @page diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi index 2430db76f35..0c062142135 100644 --- a/doc/misc/eieio.texi +++ b/doc/misc/eieio.texi @@ -35,15 +35,16 @@ modify this GNU manual.'' @center @titlefont{@value{TITLE}} @sp 4 @center by @value{AUTHOR} -@end titlepage @page +@vskip 0pt plus 1filll +@insertcopying +@end titlepage @macro eieio{} @i{EIEIO} @end macro -@node Top, Quick Start, (dir), (dir) -@comment node-name, next, previous, up +@node Top @top EIEIO @eieio{} (``Enhanced Implementation of Emacs Interpreted Objects'') @@ -173,7 +174,6 @@ some other data type, Emacs signals a @code{no-method-definition} error. @ref{Signals}. @node Introduction -@comment node-name, next, previous, up @chapter Introduction Due to restrictions in the Emacs Lisp language, CLOS cannot be @@ -245,7 +245,6 @@ should use a deep copy but currently does not. @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 @@ -632,7 +631,6 @@ function of @code{:initform}. @eieio{}-specific tags. @node Making New Objects -@comment node-name, next, previous, up @chapter Making New Objects Suppose we have a simple class is defined, such as: @@ -702,7 +700,6 @@ a string. @end defun @node Accessing Slots -@comment node-name, next, previous, up @chapter Accessing Slots There are several ways to access slot values in an object. The naming @@ -819,7 +816,6 @@ variable name of the same name as the slot. @end defun @node Writing Methods -@comment node-name, next, previous, up @chapter Writing Methods Writing a method in @eieio{} is similar to writing a function. The @@ -1036,7 +1032,6 @@ Retrieved from: http://192.220.96.201/dylan/linearization-oopsla96.html @end table @node Predicates -@comment node-name, next, previous, up @chapter Predicates and Utilities Now that we know how to create classes, access slots, and define @@ -1197,7 +1192,6 @@ all its subclasses. @end defun @node Customizing -@comment node-name, next, previous, up @chapter Customizing Objects @eieio{} supports the Custom facility through two new widget types. @@ -1279,7 +1273,6 @@ nil. @end defun @node Base Classes -@comment node-name, next, previous, up @chapter Base Classes All defined classes, if created with no specified parent class, @@ -1301,7 +1294,6 @@ even inherit from more than one of these classes at once.) @end menu @node eieio-instance-inheritor -@comment node-name, next, previous, up @section @code{eieio-instance-inheritor} This class is defined in the package @file{eieio-base}. @@ -1366,7 +1358,6 @@ list of objects to be searched. @end deffn @node eieio-singleton -@comment node-name, next, previous, up @section @code{eieio-singleton} This class is defined in the package @file{eieio-base}. @@ -1378,7 +1369,6 @@ only ever be one instance of this class. Multiple calls to @end deftp @node eieio-persistent -@comment node-name, next, previous, up @section @code{eieio-persistent} This class is defined in the package @file{eieio-base}. @@ -1430,7 +1420,6 @@ being pedantic. @end defun @node eieio-named -@comment node-name, next, previous, up @section @code{eieio-named} This class is defined in the package @file{eieio-base}. @@ -1442,7 +1431,6 @@ access to it. @end deftp @node eieio-speedbar -@comment node-name, next, previous, up @section @code{eieio-speedbar} This class is in package @file{eieio-speedbar}. @@ -1537,7 +1525,6 @@ on how speedbar modes work @end deffn @node Browsing -@comment node-name, next, previous, up @chapter Browsing class trees The command @kbd{M-x eieio-browse} displays a buffer listing all the @@ -1560,7 +1547,6 @@ Note: new classes are consed into the inheritance lists, so the tree comes out upside-down. @node Class Values -@comment node-name, next, previous, up @chapter Class Values Details about any class or object can be retrieved using the function @@ -1573,7 +1559,6 @@ Additionally, all methods defined to have functionality on this class is displayed. @node Documentation -@comment node-name, next, previous, up @chapter Documentation It is possible to automatically create documentation for your classes in @@ -1616,7 +1601,6 @@ definitions have been loaded in this Emacs session. @end deffn @node Default Superclass -@comment node-name, next, previous, up @chapter Default Superclass All defined classes, if created with no specified parent class, will @@ -1792,7 +1776,6 @@ return value of @dfn{call-next-method}. @end defun @node Signals -@comment node-name, next, previous, up @chapter Signals There are new condition names (signals) that can be caught when using @@ -1837,7 +1820,6 @@ This signal is called when an attempt to reference @var{slot} in @end deffn @node Naming Conventions -@comment node-name, next, previous, up @chapter Naming Conventions @xref{Tips,,Tips and Conventions,elisp,GNU Emacs Lisp Reference @@ -1866,7 +1848,6 @@ must ``require'' that library with the @code{require} command. @end itemize @node CLOS compatibility -@comment node-name, next, previous, up @chapter CLOS compatibility Currently, the following functions should behave almost as expected from diff --git a/doc/misc/semantic.texi b/doc/misc/semantic.texi index 74dcb170a19..abba26a2f5f 100644 --- a/doc/misc/semantic.texi +++ b/doc/misc/semantic.texi @@ -49,6 +49,9 @@ modify this GNU manual.'' @center @titlefont{Semantic} @sp 4 @center by @value{AUTHOR} +@page +@vskip 0pt plus 1filll +@insertcopying @end titlepage @page diff --git a/doc/misc/srecode.texi b/doc/misc/srecode.texi index e45330f6740..1c48c0ba77e 100644 --- a/doc/misc/srecode.texi +++ b/doc/misc/srecode.texi @@ -40,6 +40,9 @@ modify this GNU manual.'' @center @titlefont{SRecode} @vskip 0pt plus 1 fill @center by @value{AUTHOR} +@page +@vskip 0pt plus 1filll +@insertcopying @end titlepage @macro semantic{} -- cgit v1.2.1 From de229ee3d4597519397f259bab4312edc100dbd1 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 2 Jan 2014 19:15:01 -0800 Subject: * doc/misc/efaq-w32.texi, reftex.texi: Use @insertcopying in non-TeX. --- doc/misc/ChangeLog | 2 ++ doc/misc/efaq-w32.texi | 4 ++++ doc/misc/reftex.texi | 2 ++ 3 files changed, 8 insertions(+) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index bb345a8a115..58e4837bafb 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,5 +1,7 @@ 2014-01-03 Glenn Morris + * efaq-w32.texi, reftex.texi: Use @insertcopying in non-TeX. + * ede.texi, eieio.texi, semantic.texi, srecode.texi: Add copyright notice to titlepage. diff --git a/doc/misc/efaq-w32.texi b/doc/misc/efaq-w32.texi index 660ef64fd0f..0e846b2cadc 100644 --- a/doc/misc/efaq-w32.texi +++ b/doc/misc/efaq-w32.texi @@ -71,6 +71,10 @@ At time of writing, the latest version of GNU Emacs is version @value{EMACSVER}. @c Links to ftp.gnu.org are given as http links, since Windows ftp clients @c are notoriously bad at handling firewalls etc. +@ifnottex +@insertcopying +@end ifnottex + @contents @menu diff --git a/doc/misc/reftex.texi b/doc/misc/reftex.texi index 4c34cc4aa01..a50da1970ff 100644 --- a/doc/misc/reftex.texi +++ b/doc/misc/reftex.texi @@ -98,6 +98,8 @@ modify this GNU manual.'' @node Top @top @RefTeX{} +@insertcopying + @RefTeX{} is a package for managing Labels, References, Citations and index entries with GNU Emacs. -- cgit v1.2.1 From ba05e912ae4b3332d0aba17b55c67bd088524b29 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Fri, 3 Jan 2014 05:10:07 +0100 Subject: Fix typo. --- doc/misc/ChangeLog | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 58e4837bafb..4509aaff3c1 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -13,11 +13,11 @@ 2014-01-03 Aidan Gauland - * eshell.text (top): Fix incorrect use of xref. + * eshell.texi (top): Fix incorrect use of xref. 2014-01-03 Aidan Gauland - * eshell.text (top): Fix incorrect info filename in an xref. + * eshell.texi (top): Fix incorrect info filename in an xref. 2014-01-02 Vincent Belaïche @@ -29,11 +29,11 @@ 2014-01-02 Aidan Gauland - * eshell.text (Command Basics): Removed `Command basics' chapter. + * eshell.texi (Command Basics): Removed `Command basics' chapter. 2014-01-02 Aidan Gauland - * eshell.text (What is Eshell?): Add section about what not to use + * eshell.texi (What is Eshell?): Add section about what not to use Eshell for. 2013-12-23 Teodor Zlatanov -- cgit v1.2.1 From d6d785112448628b0757fdae4cf82977b392f325 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Fri, 3 Jan 2014 13:49:06 +0800 Subject: Lisp manaual improvements re docstrings * doc/lispref/compile.texi (Docs and Compilation): Copyedits. * doc/lispref/help.texi (Documentation, Accessing Documentation): Copyedits. (Documentation Basics): Rewrite, avoiding a repeat discussion of docstring conventions. * doc/lispref/tips.texi (Documentation Tips): Move discussion of emacs-lisp-docstring-fill-column here from Documentation Basics. --- doc/lispref/ChangeLog | 11 ++++ doc/lispref/compile.texi | 82 +++++++++++------------- doc/lispref/help.texi | 158 +++++++++++++++++++++-------------------------- doc/lispref/tips.texi | 11 ++-- 4 files changed, 123 insertions(+), 139 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 6df7f1416c9..2f693df8f98 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,14 @@ +2014-01-03 Chong Yidong + + * help.texi (Documentation, Accessing Documentation): Copyedits. + (Documentation Basics): Rewrite, avoiding a repeat discussion of + docstring conventions. + + * tips.texi (Documentation Tips): Move discussion of + emacs-lisp-docstring-fill-column here from Documentation Basics. + + * compile.texi (Docs and Compilation): Copyedits. + 2014-01-02 Glenn Morris * numbers.texi (Numeric Conversions): Fix a typo. diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi index f9f5da32aad..85c9ac5f73c 100644 --- a/doc/lispref/compile.texi +++ b/doc/lispref/compile.texi @@ -240,59 +240,49 @@ $ emacs -batch -f batch-byte-compile *.el @section Documentation Strings and Compilation @cindex dynamic loading of documentation - Functions and variables loaded from a byte-compiled file access their -documentation strings dynamically from the file whenever needed. This -saves space within Emacs, and makes loading faster because the -documentation strings themselves need not be processed while loading the -file. Actual access to the documentation strings becomes slower as a -result, but this normally is not enough to bother users. + When Emacs loads functions and variables from a byte-compiled file, +it normally does not load their documentation strings into memory. +Each documentation string is ``dynamically'' loaded from the +byte-compiled file only when needed. This saves memory, and speeds up +loading by skipping the processing of the documentation strings. + + This feature has a drawback: if you delete, move, or alter the +compiled file (such as by compiling a new version), Emacs may no +longer be able to access the documentation string of previously-loaded +functions or variables. Such a problem normally only occurs if you +build Emacs yourself, and happen to edit and/or recompile the Lisp +source files. To solve it, just reload each file after recompilation. + + Dynamic loading of documentation strings from byte-compiled files is +determined, at compile time, for each byte-compiled file. It can be +disabled via the option @code{byte-compile-dynamic-docstrings}. - Dynamic access to documentation strings does have drawbacks: +@defopt byte-compile-dynamic-docstrings +If this is non-@code{nil}, the byte compiler generates compiled files +that are set up for dynamic loading of documentation strings. -@itemize @bullet -@item -If you delete or move the compiled file after loading it, Emacs can no -longer access the documentation strings for the functions and variables -in the file. +To disable the dynamic loading feature for a specific file, set this +option to @code{nil} in its header line (@pxref{File Variables, , +Local Variables in Files, emacs, The GNU Emacs Manual}), like this: -@item -If you alter the compiled file (such as by compiling a new version), -then further access to documentation strings in this file will -probably give nonsense results. -@end itemize +@smallexample +-*-byte-compile-dynamic-docstrings: nil;-*- +@end smallexample -@noindent -These problems normally occur only if you build Emacs yourself and use -it from the directory where you built it, and you happen to edit -and/or recompile the Lisp source files. They can be easily cured by -reloading each file after recompiling it. +This is useful mainly if you expect to change the file, and you want +Emacs sessions that have already loaded it to keep working when the +file changes. +@end defopt @cindex @samp{#@@@var{count}} @cindex @samp{#$} - The dynamic documentation string feature writes compiled files that -use a special Lisp reader construct, @samp{#@@@var{count}}. This -construct skips the next @var{count} characters. It also uses the -@samp{#$} construct, which stands for ``the name of this file, as a -string''. It is usually best not to use these constructs in Lisp source -files, since they are not designed to be clear to humans reading the -file. - - You can disable the dynamic documentation string feature at compile -time by setting @code{byte-compile-dynamic-docstrings} to @code{nil}; -this is useful mainly if you expect to change the file, and you want -Emacs processes that have already loaded it to keep working when the -file changes. You can do this globally, or for one source file by -specifying a file-local binding for the variable. One way to do that -is by adding this string to the file's first line: - -@example --*-byte-compile-dynamic-docstrings: nil;-*- -@end example - -@defopt byte-compile-dynamic-docstrings -If this is non-@code{nil}, the byte compiler generates compiled files -that are set up for dynamic loading of documentation strings. -@end defopt +Internally, the dynamic loading of documentation strings is +accomplished by writing compiled files with a special Lisp reader +construct, @samp{#@@@var{count}}. This construct skips the next +@var{count} characters. It also uses the @samp{#$} construct, which +stands for ``the name of this file, as a string''. Do not use these +constructs in Lisp source files; they are not designed to be clear to +humans reading the file. @node Dynamic Loading @section Dynamic Loading of Individual Functions diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi index eea46362fea..7a6836fb68f 100644 --- a/doc/lispref/help.texi +++ b/doc/lispref/help.texi @@ -10,8 +10,13 @@ GNU Emacs has convenient built-in help facilities, most of which derive their information from documentation strings associated with functions and variables. This chapter describes how to access -documentation strings in Lisp programs. @xref{Documentation Tips}, -for how to write good documentation strings. +documentation strings in Lisp programs. + + The contents of a documentation string should follow certain +conventions. In particular, its first line should be a complete +sentence (or two complete sentences) that briefly describes what the +function or variable does. @xref{Documentation Tips}, for how to +write good documentation strings. Note that the documentation strings for Emacs are not the same thing as the Emacs manual. Manuals have their own source files, written in @@ -40,77 +45,48 @@ Help, emacs, The GNU Emacs Manual}. @cindex string, writing a doc string A documentation string is written using the Lisp syntax for strings, -with double-quote characters surrounding the text of the string. This -is because it really is a Lisp string object. The string serves as -documentation when it is written in the proper place in the definition -of a function or variable. In a function definition, the documentation -string follows the argument list. In a variable definition, the -documentation string follows the initial value of the variable. - - When you write a documentation string, make the first line a -complete sentence (or two complete sentences) that briefly describes -what the function or variable does. Some commands, such as -@code{apropos}, show only the first line of a multi-line documentation -string. Also, you should not indent the second line of a -documentation string, if it has one, because that looks odd when you -use @kbd{C-h f} (@code{describe-function}) or @kbd{C-h v} -(@code{describe-variable}) to view the documentation string. There -are many other conventions for documentation strings; see -@ref{Documentation Tips}. - - Documentation strings can contain several special text sequences, -referring to key bindings which are looked up in the current keymaps -when the user views the documentation. This allows the help commands -to display the correct keys even if a user rearranges the default key -bindings. @xref{Keys in Documentation}. - - In the documentation string of an autoloaded command -(@pxref{Autoload}), these special text sequences have an additional -special effect: they cause @kbd{C-h f} (@code{describe-function}) on -the command to trigger autoloading. (This is needed for correctly -setting up the hyperlinks in the @file{*Help*} buffer). - -@vindex emacs-lisp-docstring-fill-column - Emacs Lisp mode fills documentation strings to the width -specified by @code{emacs-lisp-docstring-fill-column}. - - Exactly where a documentation string is stored depends on how its -function or variable was defined or loaded into memory: - -@itemize @bullet -@item -@kindex function-documentation -When you define a function (@pxref{Lambda Expressions}, and -@pxref{Function Documentation}), the documentation string is stored in -the function definition itself. You can also put function -documentation in the @code{function-documentation} property of a -function name. That is useful for function definitions which can't -hold a documentation string, such as keyboard macros. - -@item -@kindex variable-documentation -When you define a variable with a @code{defvar} or related form -(@pxref{Defining Variables}), the documentation is stored in the -variable's @code{variable-documentation} property. +with double-quote characters surrounding the text. It is, in fact, an +actual Lisp string. When the string appears in the proper place in a +function or variable definition, it serves as the function's or +variable's documentation. + +@cindex @code{function-documentation} property + In a function definition (a @code{lambda} or @code{defun} form), the +documentation string is specified after the argument list, and is +normally stored directly in the function object. @xref{Function +Documentation}. You can also put function documentation in the +@code{function-documentation} property of a function name +(@pxref{Accessing Documentation}). + +@cindex @code{variable-documentation} property + In a variable definition (a @code{defvar} form), the documention +string is specified after the initial value. @xref{Defining +Variables}. The string is stored in the variable's +@code{variable-documentation} property. @cindex @file{DOC} (documentation) file -@item -To save memory, the documentation for preloaded functions and -variables (including primitive functions and autoloaded functions) is -not kept in memory, but in the file -@file{emacs/etc/DOC}). - -@item -When a function or variable is loaded from a byte-compiled file during -the Emacs session, its documentation string is not loaded into memory. -Instead, Emacs looks it up in the byte-compiled file as needed. -@xref{Docs and Compilation}. -@end itemize + Sometimes, Emacs does not keep documentation strings in memory. +There are two such circumstances. Firstly, to save memory, the +documentation for preloaded functions and variables (including +primitives) is kept in a file named @file{DOC}, in the directory +specified by @code{doc-directory} (@pxref{Accessing Documentation}). +Secondly, when a function or variable is loaded from a byte-compiled +file, Emacs avoids loading its documentation string (@pxref{Docs and +Compilation}). In both cases, Emacs looks up the documentation string +from the file only when needed, such as when the user calls @kbd{C-h +f} (@code{describe-function}) for a function. + + Documentation strings can contain special @dfn{key substitution +sequences}, referring to key bindings which are looked up only when +the user views the documentation. This allows the help commands to +display the correct keys even if a user rearranges the default key +bindings. @xref{Keys in Documentation}. -@noindent -Regardless of where the documentation string is stored, you can -retrieve it using the @code{documentation} or -@code{documentation-property} function, described in the next section. + In the documentation string of an autoloaded command +(@pxref{Autoload}), these key-substitution sequences have an +additional special effect: they cause @kbd{C-h f} on the command to +trigger autoloading. (This is needed for correctly setting up the +hyperlinks in the @file{*Help*} buffer.) @node Accessing Documentation @section Access to Documentation Strings @@ -122,18 +98,20 @@ most often used to look up the documentation strings of variables, for which @var{property} is @code{variable-documentation}. However, it can also be used to look up other kinds of documentation, such as for customization groups (but for function documentation, use the -@code{documentation} command, below). +@code{documentation} function, below). -If the value recorded in the property list refers to a documentation -string stored in a @file{DOC} file or a byte-compiled -file, it looks up that string and returns it. If the property value -isn't @code{nil}, isn't a string, and doesn't refer to text in a file, -then it is evaluated as a Lisp expression to obtain a string. +If the property value refers to a documentation string stored in the +@file{DOC} file or a byte-compiled file, this function looks up that +string and returns it. -The last thing this function does is pass the string through -@code{substitute-command-keys} to substitute actual key bindings -(@pxref{Keys in Documentation}). However, it skips this step if -@var{verbatim} is non-@code{nil}. +If the property value isn't @code{nil}, isn't a string, and doesn't +refer to text in a file, then it is evaluated as a Lisp expression to +obtain a string. + +Finally, this function passes the string through +@code{substitute-command-keys} to substitute key bindings (@pxref{Keys +in Documentation}). It skips this step if @var{verbatim} is +non-@code{nil}. @smallexample @group @@ -160,16 +138,18 @@ ordinary functions. If @var{function} is a symbol, this function first looks for the @code{function-documentation} property of that symbol; if that has a non-@code{nil} value, the documentation comes from that value (if the -value is not a string, it is evaluated). If @var{function} is not a -symbol, or if it has no @code{function-documentation} property, then -@code{documentation} extracts the documentation string from the actual -function definition, reading it from a file if called for. +value is not a string, it is evaluated). + +If @var{function} is not a symbol, or if it has no +@code{function-documentation} property, then @code{documentation} +extracts the documentation string from the actual function definition, +reading it from a file if called for. -Finally, unless @var{verbatim} is non-@code{nil}, it calls -@code{substitute-command-keys} so as to return a value containing the -actual (current) key bindings. +Finally, unless @var{verbatim} is non-@code{nil}, this function calls +@code{substitute-command-keys}. The result is the documentation +string to return. -The function @code{documentation} signals a @code{void-function} error +The @code{documentation} function signals a @code{void-function} error if @var{function} has no function definition. However, it is OK if the function definition has no documentation string. In that case, @code{documentation} returns @code{nil}. @@ -180,7 +160,6 @@ This function returns the documentation string of @var{face} as a face. @end defun -@c Wordy to prevent overfull hboxes. --rjc 15mar92 Here is an example of using the two functions, @code{documentation} and @code{documentation-property}, to display the documentation strings for several symbols in a @file{*Help*} buffer. @@ -313,6 +292,7 @@ without actually installing it. @xref{Definition of data-directory}. @cindex documentation, keys in @cindex keys in documentation strings @cindex substituting keys in documentation +@cindex key substitution sequence When documentation strings refer to key sequences, they should use the current, actual key bindings. They can do so using certain special text diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi index a65f246c4a7..d8b906d3bfe 100644 --- a/doc/lispref/tips.texi +++ b/doc/lispref/tips.texi @@ -573,10 +573,13 @@ Format the documentation string so that it fits in an Emacs window on an 60 characters. The first line should not be wider than 67 characters or it will look bad in the output of @code{apropos}. -You can fill the text if that looks good. However, rather than blindly -filling the entire documentation string, you can often make it much more -readable by choosing certain line breaks with care. Use blank lines -between sections if the documentation string is long. +@vindex emacs-lisp-docstring-fill-column +You can fill the text if that looks good. Emacs Lisp mode fills +documentation strings to the width specified by +@code{emacs-lisp-docstring-fill-column}. However, you can sometimes +make a documentation string much more readable by adjusting its line +breaks with care. Use blank lines between sections if the +documentation string is long. @item The first line of the documentation string should consist of one or two -- cgit v1.2.1 From e9c04e8bf2a24811a1c335b826816055b6bbf5dc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vincent=20Bela=C3=AFche?= Date: Fri, 3 Jan 2014 15:18:24 +0100 Subject: Reverted 2014-01-02T21:05:34Z!vincentb1@users.sourceforge.net. --- doc/misc/ChangeLog | 4 ---- doc/misc/ses.texi | 7 ------- 2 files changed, 11 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 4509aaff3c1..4d0f08fb0c9 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -19,10 +19,6 @@ * eshell.texi (top): Fix incorrect info filename in an xref. -2014-01-02 Vincent Belaïche - - * ses.texi: Add documentation for local printer functions. - 2014-01-02 Glenn Morris * Makefile.in (cc_mode_deps): Rename from (typo) ccmode_deps. diff --git a/doc/misc/ses.texi b/doc/misc/ses.texi index 11fd55e8dcb..e57ed802459 100644 --- a/doc/misc/ses.texi +++ b/doc/misc/ses.texi @@ -434,13 +434,6 @@ Centering with dashes and spill-over. Centering with tildes (~) and spill-over. @end table -You can define printer function local to a sheet with command -@code{ses-define-local-printer}. For instance define printer -@samp{foo} to @code{"%.2f"} and then use symbol @samp{foo} as a -printer function. Then, if you call again -@code{ses-define-local-printer} on @samp{foo} to redefine it as -@code{"%.3f"} all the cells using printer @samp{foo} will be reprinted -accordingly. @node Clearing cells @section Clearing cells -- cgit v1.2.1 From 22db5dd5ed7c5d18e8247e91093195ca7af38361 Mon Sep 17 00:00:00 2001 From: Aidan Gauland Date: Sat, 4 Jan 2014 12:14:16 +1300 Subject: * eshell.texi (What Eshell is not): Clean up confusing clause. --- doc/misc/ChangeLog | 4 ++++ doc/misc/eshell.texi | 10 +++++----- 2 files changed, 9 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 4d0f08fb0c9..871af434e05 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-01-03 Aidan Gauland + + * eshell.texi (What Eshell is not): Clean up confusing clause. + 2014-01-03 Glenn Morris * efaq-w32.texi, reftex.texi: Use @insertcopying in non-TeX. diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index 21789b9af01..38c17c36f5a 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi @@ -147,11 +147,11 @@ it's easier than it looks: @code{ls -lt **/*.doc(Lk+50aM+5)}.} Eshell is @emph{not} a replacement for system shells such as @command{bash} or @command{zsh}. Use Eshell when you want to move text between Emacs and external processes; if you only want to pipe -output from one external process to another, to another, use a system -shell, because Emacs's IO system is buffer oriented, not stream -oriented, and is very inefficient at such tasks. If you want to write -shell scripts in Eshell, don't; either write an elisp library or use a -system shell. +output from one external process to another (and then another, and so +on), use a system shell, because Emacs's IO system is buffer oriented, +not stream oriented, and is very inefficient at such tasks. If you +want to write shell scripts in Eshell, don't; either write an elisp +library or use a system shell. Some things Eshell just doesn't do well. It fills the niche between IELM and your system shell, where the peculiar use-cases lie, and it -- cgit v1.2.1 From 7c2127d0f4151164c47ab811c4c134922f7f9c44 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 4 Jan 2014 17:24:41 -0800 Subject: Document behavior of (string-to-number "+@") (Bug#16293). * strings.texi (String Conversion): Document behavior of string-to-number on invalid strings that begin with "+", too. --- doc/lispref/ChangeLog | 6 ++++++ doc/lispref/strings.texi | 6 ++---- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 2f693df8f98..2422ee5cc09 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,9 @@ +2014-01-05 Paul Eggert + + Document behavior of (string-to-number "+@") (Bug#16293). + * strings.texi (String Conversion): Document behavior of + string-to-number on invalid strings that begin with "+", too. + 2014-01-03 Chong Yidong * help.texi (Documentation, Accessing Documentation): Copyedits. diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi index 5ae86754999..61e44fbafac 100644 --- a/doc/lispref/strings.texi +++ b/doc/lispref/strings.texi @@ -622,10 +622,8 @@ but its value is too large to fit into a Lisp integer, The parsing skips spaces and tabs at the beginning of @var{string}, then reads as much of @var{string} as it can interpret as a number in the given base. (On some systems it ignores other whitespace at the -beginning, not just spaces and tabs.) If the first character after -the ignored whitespace is neither a digit in the given base, nor a -plus or minus sign, nor the leading dot of a floating point number, -this function returns 0. +beginning, not just spaces and tabs.) If @var{string} cannot be +interpreted as a number, this function returns 0. @example (string-to-number "256") -- cgit v1.2.1 From 5a0f4e9062f20f26a3f3b89e60a7bf2fd136e4c0 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 4 Jan 2014 17:33:33 -0800 Subject: Document vconcat and the empty vector (Bug#16246). * sequences.texi (Vector Functions): Document behavior better when the result is empty. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/sequences.texi | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 2422ee5cc09..124ee8fe1dd 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,5 +1,9 @@ 2014-01-05 Paul Eggert + Document vconcat and the empty vector (Bug#16246). + * sequences.texi (Vector Functions): + Document behavior better when the result is empty. + Document behavior of (string-to-number "+@") (Bug#16293). * strings.texi (String Conversion): Document behavior of string-to-number on invalid strings that begin with "+", too. diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi index 362737f9956..52a1cf5e32c 100644 --- a/doc/lispref/sequences.texi +++ b/doc/lispref/sequences.texi @@ -471,11 +471,11 @@ each initialized to @var{object}. @cindex copying vectors This function returns a new vector containing all the elements of @var{sequences}. The arguments @var{sequences} may be true lists, -vectors, strings or bool-vectors. If no @var{sequences} are given, an -empty vector is returned. +vectors, strings or bool-vectors. If no @var{sequences} are given, +the empty vector is returned. -The value is a newly constructed vector that is not @code{eq} to any -existing vector. +The value is either the empty vector, or is a newly constructed +nonempty vector that is not @code{eq} to any existing vector. @example @group -- cgit v1.2.1 From da5ecfa9b951691fc8bbf17f24fc8626216a706b Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sat, 4 Jan 2014 18:56:08 -0800 Subject: Spelling fixes. * lib-src/Makefile.in (regex.o): Remove reference to no-longer-used macros CONFIG_BROKETS and INHIBIT_STRING_HEADER. "BROKETS" was a misspelling anyway.... * src/nsterm.h (updateCollectionBehavior): Rename from updateCollectionBehaviour. All uses changed. --- doc/misc/efaq-w32.texi | 24 ++++++++++++------------ doc/misc/eshell.texi | 4 ++-- doc/misc/htmlfontify.texi | 4 ++-- doc/misc/org.texi | 8 ++++---- doc/misc/sem-user.texi | 4 ++-- doc/misc/tramp.texi | 2 +- 6 files changed, 23 insertions(+), 23 deletions(-) (limited to 'doc') diff --git a/doc/misc/efaq-w32.texi b/doc/misc/efaq-w32.texi index 0e846b2cadc..d9b0dd1e201 100644 --- a/doc/misc/efaq-w32.texi +++ b/doc/misc/efaq-w32.texi @@ -166,7 +166,7 @@ Pre-compiled versions are distributed from Emacs binaries are distributed as zip files, digitally signed by the developer who built them. Generally most users will want the file @file{emacs-@value{EMACSVER}-bin-i386.zip}, which -contains everything you need to get started. +contains everything you need to get started. @cindex where to get sources @cindex Emacs source code @@ -290,7 +290,7 @@ Windows ports of the command line gzip and tar tools from multiple sources. The command to unpack a source distribution from the command line is: @example -tar xzf emacs-@value{EMACSVER}.tar.gz +tar xzf emacs-@value{EMACSVER}.tar.gz @end example If this does not work with the versions of tar and gzip that you have, @@ -577,9 +577,9 @@ Message-ID: Subject: Re: Re[2]: problem with caps/ctrl swap on NT 4.0 @end ignore @example -It's a binary value that lets you map keystrokes in the low-level keyboard -drivers in NT. As a result you don't have to worry about applications -bypassing mappings that you've done at a higher level (i.e. it just works). +It's a binary value that lets you map keystrokes in the low-level keyboard +drivers in NT. As a result you don't have to worry about applications +bypassing mappings that you've done at a higher level (i.e. it just works). Here's the format of the value: @@ -591,11 +591,11 @@ Here's the format of the value: DWORD: mapping n DWORD: 0x00000000 terminating null DWORD -Each mapping DWORD has two parts: the input scancode, and an output -scancode. To map scancode 0x1d (left control) to scancode 0x3a (caps -lock), you want a value of 0x003a001d. Note that this does not swap the -keys. Using just this mapping value, both the left control and the caps -lock key will behave as caps-lock. To swap, you also need to map 0x3a to +Each mapping DWORD has two parts: the input scancode, and an output +scancode. To map scancode 0x1d (left control) to scancode 0x3a (caps +lock), you want a value of 0x003a001d. Note that this does not swap the +keys. Using just this mapping value, both the left control and the caps +lock key will behave as caps-lock. To swap, you also need to map 0x3a to 0x1d, using 0x001d003a. This registry value is system wide, and can't be made user-specific. It @@ -1357,7 +1357,7 @@ you can use @code{setbuf} and @code{setvbuf} to manipulate the buffering semantics. Some programs handle this by having an explicit flag to control their -buffering behaviour, typically @option{-i} for interactive. Other +buffering behavior, typically @option{-i} for interactive. Other programs manage to detect that they are running under Emacs, by using @samp{getenv("emacs")} internally. @@ -1430,7 +1430,7 @@ this discussion} for more details. You can start an interactive shell in Emacs by typing @kbd{M-x shell}. Emacs uses the @env{SHELL} environment variable to determine which program to use as the shell. To instruct Emacs to use a non-default -shell, you can either set this environment variable, or customize +shell, you can either set this environment variable, or customize @code{explicit-shell-file-name}. You can also customize @code{shell-file-name} to change the shell that will be used by subprocesses that are started with @code{shell-command} and diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index 38c17c36f5a..74d859588dc 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi @@ -281,7 +281,7 @@ sudo is an alias, defined as "*sudo $*" If you would prefer to use the built-in commands instead of the external commands, set @code{eshell-prefer-lisp-functions} to @code{t}. -Some of the built-in commands have different behaviour from their +Some of the built-in commands have different behavior from their external counterparts, and some have no external counterpart. Most of these will print a usage message when given the @code{--help} option. @@ -627,7 +627,7 @@ from Bash can still use Bash-style globbing, as there are no incompatibilities. Most globbing is pattern-based expansion, but there is also predicate-based expansion. See @ref{Filename Generation, , , zsh, The Z Shell Manual} -for full syntax. To customize the syntax and behaviour of globbing in +for full syntax. To customize the syntax and behavior of globbing in Eshell see the Customize@footnote{@xref{Easy Customization, , , emacs, The GNU Emacs Manual}.} groups ``eshell-glob'' and ``eshell-pred''. diff --git a/doc/misc/htmlfontify.texi b/doc/misc/htmlfontify.texi index 18e7c34a73c..3124a281676 100644 --- a/doc/misc/htmlfontify.texi +++ b/doc/misc/htmlfontify.texi @@ -57,7 +57,7 @@ modify this GNU manual.'' @menu * Introduction:: About Htmlfontify. * Usage & Examples:: How to use Htmlfontify. -* Customization:: Fine-tuning Htmlfontify's behaviour. +* Customization:: Fine-tuning Htmlfontify's behavior. * Requirements:: External programs used by Htmlfontify. * GNU Free Documentation License:: The license for this documentation. * Index:: Index of contents. @@ -820,7 +820,7 @@ which @emph{didn't} clash with @var{class} was returned. In versions from 0.18 onwards, each font attribute list is scored, and the non-conflicting list with the highest score is returned. (A specification with a class of @code{t} is considered to match any class you specify. -This matches Emacs's behaviour when deciding on which face attributes to +This matches Emacs's behavior when deciding on which face attributes to use, to the best of my understanding ). If @var{class} is nil, then you just get get whatever diff --git a/doc/misc/org.texi b/doc/misc/org.texi index be028e3d1e9..f9426aa7981 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi @@ -9952,7 +9952,7 @@ processed normally. Contents of the included file will belong to the same structure (headline, item) containing the @code{INCLUDE} keyword. In particular, headlines within -the file will become children of the current section. That behaviour can be +the file will become children of the current section. That behavior can be changed by providing an additional keyword parameter, @code{:minlevel}. In that case, all headlines in the included file will be shifted so the one with the lowest level reaches that specified level. For example, to make a file @@ -10398,7 +10398,7 @@ can be reached by calling the dispatcher with a double @kbd{C-u} prefix argument, or with @kbd{&} key from the dispatcher. @vindex org-export-in-background -To make this behaviour the default, customize the variable +To make this behavior the default, customize the variable @code{org-export-in-background}. @item C-b @@ -13073,7 +13073,7 @@ channel." The @code{my-ascii-src-block} function looks at the attribute above the element. If it isn't true, it gives hand to the @code{ascii} back-end. Otherwise, it creates a box around the code, leaving room for the language. -A new back-end is then created. It only changes its behaviour when +A new back-end is then created. It only changes its behavior when translating @code{src-block} type element. Now, all it takes to use the new back-end is calling the following from an Org buffer: @@ -14102,7 +14102,7 @@ looked up with inheritance, regardless of the value of outermost call or source block.@footnote{The deprecated syntax for default header argument properties, using the name of the header argument as a property name directly, evaluates the property as seen by the corresponding -source block definition. This behaviour has been kept for backwards +source block definition. This behavior has been kept for backwards compatibility.} In the following example the value of diff --git a/doc/misc/sem-user.texi b/doc/misc/sem-user.texi index 8604d095763..b8625932f7c 100644 --- a/doc/misc/sem-user.texi +++ b/doc/misc/sem-user.texi @@ -983,7 +983,7 @@ If your symbol should be in the scope, but you cannot find it, then you may have found a language support bug in the local-variable parser, or using statement parser. -Calling @kbd{M-x bovinte} should force a reset on the scope in case +Calling @kbd{M-x bovinate} should force a reset on the scope in case there is merely some bad state. @example @@ -1014,7 +1014,7 @@ fully qualified names. You can examine the typecache with @kbd{M-x semanticdb-typecache-dump}. If your data types are not in the typecache, there may be some parsing -error or other bug. Calling @kbd{M-x bovinte} should force a reset on +error or other bug. Calling @kbd{M-x bovinate} should force a reset on the typecache in case there is merely some bad state. @example diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 21891df25e9..9506c8f49c1 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi @@ -2744,7 +2744,7 @@ You will see the buffer @file{*Async Shell Command*}, containing the continuous output of the @command{tail} command. @ifset emacs -A similar behaviour can be reached by @kbd{M-x auto-revert-tail-mode}, +A similar behavior can be reached by @kbd{M-x auto-revert-tail-mode}, if available. @end ifset -- cgit v1.2.1 From 81c7d631e9a46662d02e09cae74e24f4bb6cb20c Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Mon, 6 Jan 2014 07:36:13 +0800 Subject: More doc updates. * backups.texi (Making Backups): Document backup-buffer change. * commands.texi (Defining Commands): Document the interactive-form property more carefully. Document interactive-only. * compile.texi (Compiler Errors): Copyedits. Note that the details for byte-compile-warnings are in its docstring. * customize.texi (Variable Definitions): Likewise. * files.texi (Visiting Files): Copyedits. (Testing Accessibility): Mention ACLs. Move file-modes here from File Attributes. (Truenames): Move file-equal-p here from Kinds of Files. (File Attributes): Move file-newer-than-file-p here from Testing Accessibility. (Extended Attributes): New node. Add file-extended-attributes. (Changing Files): Document set-file-extended-attributes. * minibuf.texi (Minibuffer Contents): Remove obsolete function minibuffer-completion-contents. * variables.texi (Defining Variables): Note that defvar acts always on the dynamic value. --- doc/lispref/ChangeLog | 27 +++ doc/lispref/backups.texi | 14 +- doc/lispref/commands.texi | 27 ++- doc/lispref/compile.texi | 63 +++--- doc/lispref/customize.texi | 18 +- doc/lispref/elisp.texi | 3 +- doc/lispref/files.texi | 499 ++++++++++++++++++++++----------------------- doc/lispref/minibuf.texi | 6 - doc/lispref/variables.texi | 21 +- 9 files changed, 367 insertions(+), 311 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 124ee8fe1dd..454e716a5bf 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,30 @@ +2014-01-05 Chong Yidong + + * backups.texi (Making Backups): Document backup-buffer change. + + * files.texi (Visiting Files): Copyedits. + (Testing Accessibility): Mention ACLs. Move file-modes here from + File Attributes. + (Truenames): Move file-equal-p here from Kinds of Files. + (File Attributes): Move file-newer-than-file-p here from Testing + Accessibility. + (Extended Attributes): New node. Add file-extended-attributes. + (Changing Files): Document set-file-extended-attributes. + + * commands.texi (Defining Commands): Document the interactive-form + property more carefully. Document interactive-only. + + * compile.texi (Compiler Errors): Copyedits. Note that the + details for byte-compile-warnings are in its docstring. + + * minibuf.texi (Minibuffer Contents): Remove obsolete function + minibuffer-completion-contents. + + * variables.texi (Defining Variables): Note that defvar acts + always on the dynamic value. + + * customize.texi (Variable Definitions): Likewise. + 2014-01-05 Paul Eggert Document vconcat and the empty vector (Bug#16246). diff --git a/doc/lispref/backups.texi b/doc/lispref/backups.texi index ac3a81931c1..83ffb2f95e4 100644 --- a/doc/lispref/backups.texi +++ b/doc/lispref/backups.texi @@ -57,13 +57,15 @@ buffer, if appropriate. It is called by @code{save-buffer} before saving the buffer the first time. If a backup was made by renaming, the return value is a cons cell of -the form (@var{modes} @var{context} @var{backupname}), where +the form (@var{modes} @var{extra-alist} @var{backupname}), where @var{modes} are the mode bits of the original file, as returned by -@code{file-modes} (@pxref{File Attributes,, Other Information about -Files}), @var{context} is a list describing the original file's -SELinux context (@pxref{File Attributes}), and @var{backupname} is the -name of the backup. In all other cases, that is, if a backup was made -by copying or if no backup was made, this function returns @code{nil}. +@code{file-modes} (@pxref{Testing Accessibility}), @var{extra-alist} +is an alist describing the original file's extended attributes, as +returned by @code{file-extended-attributes} (@pxref{Extended +Attributes}), and @var{backupname} is the name of the backup. + +In all other cases (i.e., if a backup was made by copying or if no +backup was made), this function returns @code{nil}. @end defun @defvar buffer-backed-up diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi index a118e9132a3..f9476e5e34c 100644 --- a/doc/lispref/commands.texi +++ b/doc/lispref/commands.texi @@ -108,13 +108,26 @@ command does. The special form @code{interactive} turns a Lisp function into a command. The @code{interactive} form must be located at top-level in -the function body (usually as the first form in the body), or in the -@code{interactive-form} property of the function symbol. When the -@code{interactive} form is located in the function body, it does -nothing when actually executed. Its presence serves as a flag, which -tells the Emacs command loop that the function can be called -interactively. The argument of the @code{interactive} form controls -the reading of arguments for an interactive call. +the function body, usually as the first form in the body; this applies +to both lambda expressions (@pxref{Lambda Expressions}) and +@code{defun} forms (@pxref{Defining Functions}). This form does +nothing during the actual execution of the function; its presence +serves as a flag, telling the Emacs command loop that the function can +be called interactively. The argument of the @code{interactive} form +specifies how the arguments for an interactive call should be read. + +@cindex @code{interactive-form} property + Alternatively, an @code{interactive} form may be specified in a +function symbol's @code{interactive-form} property. A non-@code{nil} +value for this property takes precedence over any @code{interactive} +form in the function body itself. This feature is seldom used. + +@cindex @code{interactive-only} property + Sometimes, a named command is only intended to be called +interactively, never directly from Lisp. In that case, give it a +non-@code{nil} @code{interactive-only} property. In that case, the +byte compiler will print a warning message if the command is called +from Lisp. @menu * Using Interactive:: General rules for @code{interactive}. diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi index 85c9ac5f73c..fe492df1d94 100644 --- a/doc/lispref/compile.texi +++ b/doc/lispref/compile.texi @@ -430,29 +430,35 @@ to what @code{eval-when-compile} does. @section Compiler Errors @cindex compiler errors - Byte compilation outputs all errors and warnings into the buffer -@file{*Compile-Log*}. The messages include file names and line -numbers that identify the location of the problem. The usual Emacs -commands for operating on compiler diagnostics work properly on these + Error and warning messages from byte compilation are printed in a +buffer named @file{*Compile-Log*}. These messages include file names +and line numbers identifying the location of the problem. The usual +Emacs commands for operating on compiler output can be used on these messages. When an error is due to invalid syntax in the program, the byte compiler might get confused about the errors' exact location. One way -to investigate is to switch to the buffer @w{@file{ *Compiler Input*}}. -(This buffer name starts with a space, so it does not show up in -@kbd{M-x list-buffers}.) This buffer contains the program being +to investigate is to switch to the buffer @w{@file{ *Compiler +Input*}}. (This buffer name starts with a space, so it does not show +up in the Buffer Menu.) This buffer contains the program being compiled, and point shows how far the byte compiler was able to read; the cause of the error might be nearby. @xref{Syntax Errors}, for some tips for locating syntax errors. - When the byte compiler warns about functions that were used but not -defined, it always reports the line number for the end of the file, -not the locations where the missing functions were called. To find -the latter, you must search for the function names. + A common type of warning issued by the byte compiler is for +functions and variables that were used but not defined. Such warnings +report the line number for the end of the file, not the locations +where the missing functions or variables were used; to find these, you +must search the file manually. - You can suppress the compiler warning for calling an undefined -function @var{func} by conditionalizing the function call on an -@code{fboundp} test, like this: + If you are sure that a warning message about a missing function or +variable is unjustified, there are several ways to suppress it: + +@itemize @bullet +@item +You can suppress the warning for a specific call to a function +@var{func} by conditionalizing it on an @code{fboundp} test, like +this: @example (if (fboundp '@var{func}) ...(@var{func} ...)...) @@ -463,14 +469,10 @@ The call to @var{func} must be in the @var{then-form} of the @code{if}, and @var{func} must appear quoted in the call to @code{fboundp}. (This feature operates for @code{cond} as well.) - You can tell the compiler that a function is defined using -@code{declare-function} (@pxref{Declaring Functions}). Likewise, you -can tell the compiler that a variable is defined using @code{defvar} -with no initial value. - - You can suppress the compiler warning for a specific use of an -undefined variable @var{variable} by conditionalizing its use on a -@code{boundp} test, like this: +@item +Likewise, you can suppress the warning for a specific use of a +variable @var{variable} by conditionalizing it on a @code{boundp} +test: @example (if (boundp '@var{variable}) ...@var{variable}...) @@ -481,7 +483,17 @@ The reference to @var{variable} must be in the @var{then-form} of the @code{if}, and @var{variable} must appear quoted in the call to @code{boundp}. - You can suppress any and all compiler warnings within a certain +@item +You can tell the compiler that a function is defined using +@code{declare-function}. @xref{Declaring Functions}. + +@item +Likewise, you can tell the compiler that a variable is defined using +@code{defvar} with no initial value. (Note that this marks the +variable as special.) @xref{Defining Variables}. +@end itemize + + You can also suppress any and all compiler warnings within a certain expression using the construct @code{with-no-warnings}: @c This is implemented with a defun, but conceptually it is @@ -497,8 +509,9 @@ possible piece of code, to avoid missing possible warnings other than one you intend to suppress. @end defspec - More precise control of warnings is possible by setting the variable -@code{byte-compile-warnings}. + Byte compiler warnings can be controlled more precisely by setting +the variable @code{byte-compile-warnings}. See its documentation +string for details. @node Byte-Code Objects @section Byte-Code Function Objects diff --git a/doc/lispref/customize.texi b/doc/lispref/customize.texi index 1e54a7fa444..4b0a0a9ba2c 100644 --- a/doc/lispref/customize.texi +++ b/doc/lispref/customize.texi @@ -287,13 +287,17 @@ customizable variable). You should not quote @var{option}. The argument @var{standard} is an expression that specifies the standard value for @var{option}. Evaluating the @code{defcustom} form -evaluates @var{standard}, but does not necessarily install the -standard value. If @var{option} already has a default value, -@code{defcustom} does not change it. If the user has saved a -customization for @var{option}, @code{defcustom} installs the user's -customized value as @var{option}'s default value. If neither of those -cases applies, @code{defcustom} installs the result of evaluating -@var{standard} as the default value. +evaluates @var{standard}, but does not necessarily bind the option to +that value. If @var{option} already has a default value, it is left +unchanged. If the user has already saved a customization for +@var{option}, the user's customized value is installed as the default +value. Otherwise, the result of evaluating @var{standard} is +installed as the default value. + +Like @code{defvar}, this macro marks @code{option} as a special +variable, meaning that it should always be dynamically bound. If +@var{option} is already lexically bound, that lexical binding remains +in effect until the binding construct exits. @xref{Variable Scoping}. The expression @var{standard} can be evaluated at various other times, too---whenever the customization facility needs to know @var{option}'s diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index 94c06a130b1..9681c3c42a3 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi @@ -951,7 +951,8 @@ Information about Files * Testing Accessibility:: Is a given file readable? Writable? * Kinds of Files:: Is it a directory? A symbolic link? * Truenames:: Eliminating symbolic links from a file name. -* File Attributes:: How large is it? Any other names? Etc. +* File Attributes:: File sizes, modification times, etc. +* Extended Attributes:: Extended file attributes for access control. * Locating Files:: How to find a file in standard places. File Names diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 8f2ca0ccf8d..076c91c0c58 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -7,21 +7,21 @@ @chapter Files This chapter describes the Emacs Lisp functions and variables to -find, create, view, save, and otherwise work with files and file +find, create, view, save, and otherwise work with files and directories. A few other file-related functions are described in @ref{Buffers}, and those related to backups and auto-saving are described in @ref{Backups and Auto-Saving}. Many of the file functions take one or more arguments that are file -names. A file name is actually a string. Most of these functions -expand file name arguments by calling @code{expand-file-name}, so that +names. A file name is a string. Most of these functions expand file +name arguments using the function @code{expand-file-name}, so that @file{~} is handled correctly, as are relative file names (including -@samp{../}). @xref{File Name Expansion}. +@file{../}). @xref{File Name Expansion}. In addition, certain @dfn{magic} file names are handled specially. For example, when a remote file name is specified, Emacs accesses the -file over the network via an appropriate protocol (@pxref{Remote -Files,, Remote Files, emacs, The GNU Emacs Manual}). This handling is +file over the network via an appropriate protocol. @xref{Remote +Files,, Remote Files, emacs, The GNU Emacs Manual}. This handling is done at a very low level, so you may assume that all the functions described in this chapter accept magic file names as file name arguments, except where noted. @xref{Magic File Names}, for details. @@ -58,22 +58,21 @@ done, we say that the buffer is @dfn{visiting} that file, and call the file ``the visited file'' of the buffer. A file and a buffer are two different things. A file is information -recorded permanently in the computer (unless you delete it). A buffer, -on the other hand, is information inside of Emacs that will vanish at -the end of the editing session (or when you kill the buffer). Usually, -a buffer contains information that you have copied from a file; then we -say the buffer is visiting that file. The copy in the buffer is what -you modify with editing commands. Such changes to the buffer do not -change the file; therefore, to make the changes permanent, you must -@dfn{save} the buffer, which means copying the altered buffer contents -back into the file. - - In spite of the distinction between files and buffers, people often -refer to a file when they mean a buffer and vice-versa. Indeed, we say, -``I am editing a file'', rather than, ``I am editing a buffer that I -will soon save as a file of the same name''. Humans do not usually need -to make the distinction explicit. When dealing with a computer program, -however, it is good to keep the distinction in mind. +recorded permanently in the computer (unless you delete it). A +buffer, on the other hand, is information inside of Emacs that will +vanish at the end of the editing session (or when you kill the +buffer). When a buffer is visiting a file, it contains information +copied from the file. The copy in the buffer is what you modify with +editing commands. Changes to the buffer do not change the file; to +make the changes permanent, you must @dfn{save} the buffer, which +means copying the altered buffer contents back into the file. + + Despite the distinction between files and buffers, people often +refer to a file when they mean a buffer and vice-versa. Indeed, we +say, ``I am editing a file'', rather than, ``I am editing a buffer +that I will soon save as a file of the same name''. Humans do not +usually need to make the distinction explicit. When dealing with a +computer program, however, it is good to keep the distinction in mind. @menu * Visiting Functions:: The usual interface functions for visiting. @@ -507,9 +506,9 @@ Name}). @section Reading from Files @cindex reading from files - You can copy a file from the disk and insert it into a buffer -using the @code{insert-file-contents} function. Don't use the user-level -command @code{insert-file} in a Lisp program, as that sets the mark. + To copy the contents of a file into a buffer, use the function +@code{insert-file-contents}. (Don't use the command +@code{insert-file} in a Lisp program, as that sets the mark.) @defun insert-file-contents filename &optional visit beg end replace This function inserts the contents of file @var{filename} into the @@ -769,26 +768,24 @@ for its usual definition is in @file{userlock.el}. @section Information about Files @cindex file, information about - The functions described in this section all operate on strings that -designate file names. With a few exceptions, all the functions have -names that begin with the word @samp{file}. These functions all -return information about actual files or directories, so their -arguments must all exist as actual files or directories unless -otherwise noted. + This section describes the functions for retrieving various types of +information about files (or directories or symbolic links), such as +whether a file is readable or writable, and its size. These functions +all take arguments which are file names. Except where noted, these +arguments need to specify existing files, or an error is signaled. @cindex file names, trailing whitespace @cindex trailing blanks in file names -Be careful with file names that end in blanks: some filesystems -(notably, MS-Windows) will ignore trailing whitespace in file names, -and return information about the file after stripping those blanks -from the name, not about the file whose name you passed to the -functions described in this section. + Be careful with file names that end in spaces. On some filesystems +(notably, MS-Windows), trailing whitespace characters in file names +are silently and automatically ignored. @menu * Testing Accessibility:: Is a given file readable? Writable? * Kinds of Files:: Is it a directory? A symbolic link? * Truenames:: Eliminating symbolic links from a file name. -* File Attributes:: How large is it? Any other names? Etc. +* File Attributes:: File sizes, modification times, etc. +* Extended Attributes:: Extended file attributes for access control. * Locating Files:: How to find a file in standard places. @end menu @@ -797,10 +794,16 @@ functions described in this section. @cindex accessibility of a file @cindex file accessibility - These functions test for permission to access a file in specific -ways. Unless explicitly stated otherwise, they recursively follow -symbolic links for their file name arguments, at all levels (at the -level of the file itself and at all levels of parent directories). + These functions test for permission to access a file for reading, +writing, or execution. Unless explicitly stated otherwise, they +recursively follow symbolic links for their file name arguments, at +all levels (at the level of the file itself and at all levels of +parent directories). + + On some operating systems, more complex sets of access permissions +can be specified, via mechanisms such as Access Control Lists (ACLs). +@xref{Extended Attributes}, for how to query and set those +permissions. @defun file-exists-p filename This function returns @code{t} if a file named @var{filename} appears @@ -810,9 +813,8 @@ true if the file exists and you have execute permission on the containing directories, regardless of the permissions of the file itself.) -If the file does not exist, or if fascist access control policies -prevent you from finding the attributes of the file, this function -returns @code{nil}. +If the file does not exist, or if access control policies prevent you +from finding its attributes, this function returns @code{nil}. Directories are files, so @code{file-exists-p} returns @code{t} when given a directory name. However, symbolic links are treated @@ -823,24 +825,8 @@ name only if the target file exists. @defun file-readable-p filename This function returns @code{t} if a file named @var{filename} exists and you can read it. It returns @code{nil} otherwise. - -@example -@group -(file-readable-p "files.texi") - @result{} t -@end group -@group -(file-exists-p "/usr/spool/mqueue") - @result{} t -@end group -@group -(file-readable-p "/usr/spool/mqueue") - @result{} nil -@end group -@end example @end defun -@c Emacs 19 feature @defun file-executable-p filename This function returns @code{t} if a file named @var{filename} exists and you can execute it. It returns @code{nil} otherwise. On Unix and @@ -856,27 +842,18 @@ file exists and you can write it. It is creatable if it does not exist, but the specified directory does exist and you can write in that directory. -In the third example below, @file{foo} is not writable because the -parent directory does not exist, even though the user could create such -a directory. +In the example below, @file{foo} is not writable because the parent +directory does not exist, even though the user could create such a +directory. @example @group -(file-writable-p "~/foo") - @result{} t -@end group -@group -(file-writable-p "/foo") - @result{} nil -@end group -@group (file-writable-p "~/no-such-dir/foo") @result{} nil @end group @end example @end defun -@c Emacs 19 feature @defun file-accessible-directory-p dirname This function returns @code{t} if you have permission to open existing files in the directory whose name as a file is @var{dirname}; @@ -885,16 +862,13 @@ The value of @var{dirname} may be either a directory name (such as @file{/foo/}) or the file name of a file which is a directory (such as @file{/foo}, without the final slash). -Example: after the following, +For example, from the following we deduce that any attempt to read a +file in @file{/foo/} will give an error: @example (file-accessible-directory-p "/foo") @result{} nil @end example - -@noindent -we can deduce that any attempt to read a file in @file{/foo/} will -give an error. @end defun @defun access-file filename string @@ -917,39 +891,59 @@ replace @var{filename} with its target. However, it does recursively follow symbolic links at all levels of parent directories. @end defun -@defun file-newer-than-file-p filename1 filename2 -@cindex file age -@cindex file modification time -This function returns @code{t} if the file @var{filename1} is -newer than file @var{filename2}. If @var{filename1} does not -exist, it returns @code{nil}. If @var{filename1} does exist, but -@var{filename2} does not, it returns @code{t}. +@defun file-modes filename +@cindex mode bits +@cindex file permissions +@cindex permissions, file +@cindex file modes +This function returns the @dfn{mode bits} of @var{filename}---an +integer summarizing its read, write, and execution permissions. +Symbolic links in @var{filename} are recursively followed at all +levels. If the file does not exist, the return value is @code{nil}. -In the following example, assume that the file @file{aug-19} was written -on the 19th, @file{aug-20} was written on the 20th, and the file -@file{no-file} doesn't exist at all. +@xref{File permissions,,, coreutils, The @sc{gnu} @code{Coreutils} +Manual}, for a description of mode bits. For example, if the +low-order bit is 1, the file is executable by all users; if the +second-lowest-order bit is 1, the file is writable by all users; etc. +The highest possible value is 4095 (7777 octal), meaning that everyone +has read, write, and execute permission, the @acronym{SUID} bit is set +for both others and group, and the sticky bit is set. + +@xref{Changing Files}, for the @code{set-file-modes} function, which +can be used to set these permissions. @example @group -(file-newer-than-file-p "aug-19" "aug-20") - @result{} nil +(file-modes "~/junk/diffs") + @result{} 492 ; @r{Decimal integer.} @end group @group -(file-newer-than-file-p "aug-20" "aug-19") - @result{} t +(format "%o" 492) + @result{} "754" ; @r{Convert to octal.} @end group + @group -(file-newer-than-file-p "aug-19" "no-file") - @result{} t +(set-file-modes "~/junk/diffs" #o666) + @result{} nil @end group + @group -(file-newer-than-file-p "no-file" "aug-19") - @result{} nil +$ ls -l diffs +-rw-rw-rw- 1 lewis lewis 3063 Oct 30 16:00 diffs @end group @end example -You can use @code{file-attributes} to get a file's last modification -time as a list of four integers. @xref{File Attributes}. +@cindex MS-DOS and file modes +@cindex file modes and MS-DOS +@strong{MS-DOS note:} On MS-DOS, there is no such thing as an +``executable'' file mode bit. So @code{file-modes} considers a file +executable if its name ends in one of the standard executable +extensions, such as @file{.com}, @file{.bat}, @file{.exe}, and some +others. Files that begin with the Unix-standard @samp{#!} signature, +such as shell and Perl scripts, are also considered executable. +Directories are also reported as executable, for compatibility with +Unix. These conventions are also followed by @code{file-attributes} +(@pxref{File Attributes}). @end defun @node Kinds of Files @@ -987,8 +981,6 @@ If the file @var{filename} is not a symbolic link (or there is no such file), @result{} "/pub/bin" @end group @end example - -@c !!! file-symlink-p: should show output of ls -l for comparison @end defun The next two functions recursively follow symbolic links at @@ -1029,21 +1021,6 @@ a regular file (not a directory, named pipe, terminal, or other I/O device). @end defun -@defun file-equal-p file1 file2 -This function returns @code{t} if the files @var{file1} and -@var{file2} name the same file. If @var{file1} or @var{file2} does -not exist, the return value is unspecified. -@end defun - -@defun file-in-directory-p file dir -This function returns @code{t} if @var{file} is a file in directory -@var{dir}, or in a subdirectory of @var{dir}. It also returns -@code{t} if @var{file} and @var{dir} are the same directory. It -compares the @code{file-truename} values of the two directories -(@pxref{Truenames}). If @var{dir} does not name an existing -directory, the return value is @code{nil}. -@end defun - @node Truenames @subsection Truenames @cindex truename (of file) @@ -1066,14 +1043,14 @@ This function does not expand environment variables. Only substitute-in-file-name}. If you may need to follow symbolic links preceding @samp{..}@: -appearing as a name component, you should make sure to call -@code{file-truename} without prior direct or indirect calls to -@code{expand-file-name}, as otherwise the file name component -immediately preceding @samp{..} will be ``simplified away'' before -@code{file-truename} is called. To eliminate the need for a call to -@code{expand-file-name}, @code{file-truename} handles @samp{~} in the -same way that @code{expand-file-name} does. @xref{File Name -Expansion,, Functions that Expand Filenames}. +appearing as a name component, call @code{file-truename} without prior +direct or indirect calls to @code{expand-file-name}. Otherwise, the +file name component immediately preceding @samp{..} will be +``simplified away'' before @code{file-truename} is called. To +eliminate the need for a call to @code{expand-file-name}, +@code{file-truename} handles @samp{~} in the same way that +@code{expand-file-name} does. @xref{File Name Expansion,, Functions +that Expand Filenames}. @end defun @defun file-chase-links filename &optional limit @@ -1102,70 +1079,61 @@ we would have: @result{} "/home/foo/hello" @end example - @xref{Buffer File Name}, for related information. +@defun file-equal-p file1 file2 +This function returns @code{t} if the files @var{file1} and +@var{file2} name the same file. This is similar to comparing their +truenames, except that remote file names are also handled in an +appropriate manner. If @var{file1} or @var{file2} does not exist, the +return value is unspecified. +@end defun + +@defun file-in-directory-p file dir +This function returns @code{t} if @var{file} is a file in directory +@var{dir}, or in a subdirectory of @var{dir}. It also returns +@code{t} if @var{file} and @var{dir} are the same directory. It +compares the truenames of the two directories. If @var{dir} does not +name an existing directory, the return value is @code{nil}. +@end defun @node File Attributes -@subsection Other Information about Files +@subsection File Attributes +@cindex file attributes This section describes the functions for getting detailed -information about a file, other than its contents. This information -includes the mode bits that control access permissions, the owner and -group numbers, the number of names, the inode number, the size, and -the times of access and modification. +information about a file, including the owner and group numbers, the +number of names, the inode number, the size, and the times of access +and modification. -@defun file-modes filename -@cindex file permissions -@cindex permissions, file -@cindex file attributes -@cindex file modes -This function returns the @dfn{mode bits} describing the @dfn{file -permissions} of @var{filename}, as an integer. It recursively follows -symbolic links in @var{filename} at all levels. If @var{filename} -does not exist, the return value is @code{nil}. +@defun file-newer-than-file-p filename1 filename2 +@cindex file age +@cindex file modification time +This function returns @code{t} if the file @var{filename1} is +newer than file @var{filename2}. If @var{filename1} does not +exist, it returns @code{nil}. If @var{filename1} does exist, but +@var{filename2} does not, it returns @code{t}. -@xref{File permissions,,, coreutils, The @sc{gnu} @code{Coreutils} -Manual}, for a description of mode bits. If the low-order bit is 1, -then the file is executable by all users, if the second-lowest-order -bit is 1, then the file is writable by all users, etc. The highest -value returnable is 4095 (7777 octal), meaning that everyone has read, -write, and execute permission, that the @acronym{SUID} bit is set for -both others and group, and that the sticky bit is set. +In the following example, assume that the file @file{aug-19} was written +on the 19th, @file{aug-20} was written on the 20th, and the file +@file{no-file} doesn't exist at all. @example @group -(file-modes "~/junk/diffs") - @result{} 492 ; @r{Decimal integer.} +(file-newer-than-file-p "aug-19" "aug-20") + @result{} nil @end group @group -(format "%o" 492) - @result{} "754" ; @r{Convert to octal.} +(file-newer-than-file-p "aug-20" "aug-19") + @result{} t @end group - @group -(set-file-modes "~/junk/diffs" #o666) - @result{} nil +(file-newer-than-file-p "aug-19" "no-file") + @result{} t @end group - @group -$ ls -l diffs --rw-rw-rw- 1 lewis lewis 3063 Oct 30 16:00 diffs +(file-newer-than-file-p "no-file" "aug-19") + @result{} nil @end group @end example - -@xref{Changing Files}, for functions that change file permissions, -such as @code{set-file-modes}. - -@cindex MS-DOS and file modes -@cindex file modes and MS-DOS -@strong{MS-DOS note:} On MS-DOS, there is no such thing as an -``executable'' file mode bit. So @code{file-modes} considers a file -executable if its name ends in one of the standard executable -extensions, such as @file{.com}, @file{.bat}, @file{.exe}, and some -others. Files that begin with the Unix-standard @samp{#!} signature, -such as shell and Perl scripts, are also considered executable. -Directories are also reported as executable, for compatibility with -Unix. These conventions are also followed by @code{file-attributes}, -below. @end defun If the @var{filename} argument to the next two functions is a @@ -1173,31 +1141,6 @@ symbolic link, then these function do @emph{not} replace it with its target. However, they both recursively follow symbolic links at all levels of parent directories. -@defun file-nlinks filename -This function returns the number of names (i.e., hard links) that -file @var{filename} has. If the file does not exist, this function -returns @code{nil}. Note that symbolic links have no effect on this -function, because they are not considered to be names of the files -they link to. - -@example -@group -$ ls -l foo* --rw-rw-rw- 2 rms rms 4 Aug 19 01:27 foo --rw-rw-rw- 2 rms rms 4 Aug 19 01:27 foo1 -@end group - -@group -(file-nlinks "foo") - @result{} 2 -@end group -@group -(file-nlinks "doesnt-exist") - @result{} nil -@end group -@end example -@end defun - @defun file-attributes filename &optional id-format @anchor{Definition of file-attributes} This function returns a list of attributes of file @var{filename}. If @@ -1339,52 +1282,99 @@ is on the file-system device whose number is 1014478468. @end table @end defun -@cindex SELinux context - SELinux is a Linux kernel feature which provides more sophisticated -file access controls than ordinary ``Unix-style'' file permissions. -If Emacs has been compiled with SELinux support on a system with -SELinux enabled, you can use the function @code{file-selinux-context} -to retrieve a file's SELinux security context. For the function -@code{set-file-selinux-context}, see @ref{Changing Files}. +@defun file-nlinks filename +This function returns the number of names (i.e., hard links) that +file @var{filename} has. If the file does not exist, this function +returns @code{nil}. Note that symbolic links have no effect on this +function, because they are not considered to be names of the files +they link to. -@defun file-selinux-context filename -This function returns the SELinux security context of the file -@var{filename}. This return value is a list of the form -@code{(@var{user} @var{role} @var{type} @var{range})}, whose elements -are the context's user, role, type, and range respectively, as Lisp -strings. See the SELinux documentation for details about what these -actually mean. +@example +@group +$ ls -l foo* +-rw-rw-rw- 2 rms rms 4 Aug 19 01:27 foo +-rw-rw-rw- 2 rms rms 4 Aug 19 01:27 foo1 +@end group -If the file does not exist or is inaccessible, or if the system does -not support SELinux, or if Emacs was not compiled with SELinux -support, then the return value is @code{(nil nil nil nil)}. +@group +(file-nlinks "foo") + @result{} 2 +@end group +@group +(file-nlinks "doesnt-exist") + @result{} nil +@end group +@end example @end defun +@node Extended Attributes +@subsection Extended File Attributes +@cindex extended file attributes + +On some operating systems, each file can be associated with arbitrary +@dfn{extended file attributes}. At present, Emacs supports querying +and setting two specific sets of extended file attributes: Access +Control Lists (ACLs) and SELinux contexts. These extended file +attributes are used, on some systems, to impose more sophisticated +file access controls than the basic ``Unix-style'' permissions +discussed in the previous sections. + @cindex access control list @cindex ACL entries - If Emacs has been compiled with @dfn{ACL} (access control list) -support, you can use the function @code{file-acl} to retrieve a file's -ACL entries. The interface implementation is platform-specific; on -GNU/Linux and BSD, Emacs uses the POSIX ACL interface, while on -MS-Windows Emacs emulates the POSIX ACL interface with native file -security APIs. +@cindex SELinux context + A detailed explanation of ACLs and SELinux is beyond the scope of +this manual. For our purposes, each file can be associated with an +@dfn{ACL}, which specifies its properties under an ACL-based file +control system, and/or an @dfn{SELinux context}, which specifies its +properties under the SELinux system. @defun file-acl filename -This function returns the ACL entries of the file @var{filename}. The -return value is a platform-dependent object containing some -representation of the ACL entries. Don't use it for anything except -passing it to the @code{set-file-acl} function (@pxref{Changing Files, -set-file-acl}). +This function returns the ACL for the file @var{filename}. The exact +Lisp representation of the ACL is unspecified (and may change in +future Emacs versions), but it is the same as what @code{set-file-acl} +takes for its @var{acl} argument (@pxref{Changing Files}). -If the file does not exist or is inaccessible, or if Emacs was unable to -determine the ACL entries, then the return value is @code{nil}. The -latter can happen for local files if Emacs was not compiled with ACL -support, or for remote files if the file handler returns nil for the -file's ACL entries. +The underlying ACL implementation is platform-specific; on GNU/Linux +and BSD, Emacs uses the POSIX ACL interface, while on MS-Windows Emacs +emulates the POSIX ACL interface with native file security APIs. + +If Emacs was not compiled with ACL support, or the file does not exist +or is inaccessible, or Emacs was unable to determine the ACL entries +for any other reason, then the return value is @code{nil}. +@end defun + +@defun file-selinux-context filename +This function returns the SELinux context of the file @var{filename}, +as a list of the form @code{(@var{user} @var{role} @var{type} +@var{range})}. The list elements are the context's user, role, type, +and range respectively, as Lisp strings; see the SELinux documentation +for details about what these actually mean. The return value has the +same form as what @code{set-file-selinux-context} takes for its +@var{context} argument (@pxref{Changing Files}). + +If Emacs was not compiled with SELinux support, or the file does not +exist or is inaccessible, or if the system does not support SELinux, +then the return value is @code{(nil nil nil nil)}. +@end defun + +@defun file-extended-attributes filename +This function returns an alist of the Emacs-recognized extended +attributes of file @var{filename}. Currently, it serves as a +convenient way to retrieve both the ACL and SELinux context; you can +then call the function @code{set-file-extended-attributes}, with the +returned alist as its second argument, to apply the same file access +attributes to another file (@pxref{Changing Files}). + +One of the elements is @code{(acl . @var{acl})}, where @var{acl} has +the same form returned by @code{file-acl}. + +Another element is @code{(selinux-context . @var{context})}, where +@var{context} is the SELinux context, in the same form returned by +@code{file-selinux-context}. @end defun @node Locating Files -@subsection How to Locate Files in Standard Places +@subsection Locating Files in Standard Places @cindex locate file in path @cindex find file in path @@ -1571,10 +1561,11 @@ file. This works only on some operating systems, and only if you have the correct permissions to do so. If the optional argument @var{preserve-permissions} is non-@code{nil}, -this function copies the file's permissions, such as its file modes, -its SELinux context, and ACL entries (@pxref{File Attributes}). -Otherwise, if the destination is created its file permission bits are -those of the source, masked by the default file permissions. +this function copies the file modes (or ``permissions''), as well as +its Access Control List and SELinux context (if any). +@xref{Information about Files}. Otherwise, if the destination is +created its file permission bits are those of the source, masked by +the default file permissions. @end deffn @deffn Command make-symbolic-link filename newname &optional ok-if-exists @@ -1616,7 +1607,7 @@ See also @code{delete-directory} in @ref{Create/Delete Dirs}. @cindex permissions, file @cindex file modes, setting @deffn Command set-file-modes filename mode -This function sets the @dfn{file mode} (or @dfn{file permissions}) of +This function sets the @dfn{file mode} (or @dfn{permissions}) of @var{filename} to @var{mode}. It recursively follows symbolic links at all levels for @var{filename}. @@ -1705,25 +1696,31 @@ time and must be in the format returned by @code{current-time} (@pxref{Time of Day}). @end defun +@defun set-file-extended-attributes filename attribute-alist +This function sets the Emacs-recognized extended file attributes for +@code{filename}. The second argument @var{attribute-alist} should be +an alist of the same form returned by @code{file-extended-attributes}. +@xref{Extended Attributes}. +@end defun + @defun set-file-selinux-context filename context -This function sets the SELinux security context of the file -@var{filename} to @var{context}. @xref{File Attributes}, for a brief -description of SELinux contexts. The @var{context} argument should be -a list @code{(@var{user} @var{role} @var{type} @var{range})}, like the -return value of @code{file-selinux-context}. The function returns -@code{t} if it succeeds to set the SELinux security context of -@var{filename}, @code{nil} otherwise. The function does nothing and -returns @code{nil} if SELinux is disabled, or if Emacs was compiled -without SELinux support. -@end defun - -@defun set-file-acl filename acl-string -This function sets the ACL entries of the file @var{filename} to -@var{acl-string}. @xref{File Attributes}, for a brief description of -ACLs. The @var{acl-string} argument should be a string containing the -textual representation of the desired ACL entries as returned by -@code{file-acl} (@pxref{File Attributes, file-acl}). The function -returns @code{t} if it succeeds to set the ACL entries of +This function sets the SELinux security context for @var{filename} to +@var{context}. The @var{context} argument should be a list +@code{(@var{user} @var{role} @var{type} @var{range})}, where each +element is a string. @xref{Extended Attributes}. + +The function returns @code{t} if it succeeds in setting the SELinux +context of @var{filename}. It returns @code{nil} if the context was +not set (e.g., if SELinux is disabled, or if Emacs was compiled +without SELinux support). +@end defun + +@defun set-file-acl filename acl +This function sets the Access Control List for @var{filename} to +@var{acl}. The @var{acl} argument should have the same form returned +by the function @code{file-acl}. @xref{Extended Attributes}. + +The function returns @code{t} if it successfully sets the ACL of @var{filename}, @code{nil} otherwise. @end defun diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi index 0e58816ecf3..e32922eef68 100644 --- a/doc/lispref/minibuf.texi +++ b/doc/lispref/minibuf.texi @@ -2224,12 +2224,6 @@ This is like @code{minibuffer-contents}, except that it does not copy text properties, just the characters themselves. @xref{Text Properties}. @end defun -@defun minibuffer-completion-contents -This is like @code{minibuffer-contents}, except that it returns only -the contents before point. That is the part that completion commands -operate on. @xref{Minibuffer Completion}. -@end defun - @defun delete-minibuffer-contents This function erases the editable contents of the minibuffer (that is, everything except the prompt), if a minibuffer is current. Otherwise, diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi index a80a6c0b1e3..dbeebcc6ee6 100644 --- a/doc/lispref/variables.texi +++ b/doc/lispref/variables.texi @@ -416,18 +416,23 @@ explicitly in the @code{defvar} form. The variable is marked as @dfn{special}, meaning that it should always be dynamically bound (@pxref{Variable Scoping}). -If @var{symbol} is void and @var{value} is specified, @code{defvar} -evaluates @var{value} and sets @var{symbol} to the result. But if -@var{symbol} already has a value (i.e., it is not void), @var{value} -is not even evaluated, and @var{symbol}'s value remains unchanged. If -@var{value} is omitted, the value of @var{symbol} is not changed in -any case. +If @var{value} is specified, and @var{symbol} is void (i.e., it has no +dynamically bound value; @pxref{Void Variables}), then @var{value} is +evaluated and @var{symbol} is set to the result. But if @var{symbol} +is not void, @var{value} is not evaluated, and @var{symbol}'s value is +left unchanged. If @var{value} is omitted, the value of @var{symbol} +is not changed in any case. If @var{symbol} has a buffer-local binding in the current buffer, -@code{defvar} operates on the default value, which is buffer-independent, -not the current (buffer-local) binding. It sets the default value if +@code{defvar} acts on the default value, which is buffer-independent, +rather than the buffer-local binding. It sets the default value if the default value is void. @xref{Buffer-Local Variables}. +If @var{symbol} is already lexically bound (e.g., if the @code{defvar} +form occurs in a @code{let} form with lexical binding enabled), then +@code{defvar} sets the dynamic value. The lexical binding remains in +effect until its binding construct exits. @xref{Variable Scoping}. + When you evaluate a top-level @code{defvar} form with @kbd{C-M-x} in Emacs Lisp mode (@code{eval-defun}), a special feature of @code{eval-defun} arranges to set the variable unconditionally, without -- cgit v1.2.1 From c6ab4664a6078ad91af0a61583734d99ba5569f7 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 5 Jan 2014 21:25:46 -0800 Subject: Specify .texi encoding. * emacs-lisp-intro.texi: * back.texi, book-spine.texi, lay-flat.texi: * ada-mode.texi, auth.texi, autotype.texi, bovine.texi, calc.texi: * cc-mode.texi, cl.texi, dbus.texi, dired-x.texi, ebrowse.texi: * ede.texi, ediff.texi, edt.texi, efaq.texi, eieio.texi: * emacs-gnutls.texi, epa.texi, erc.texi, ert.texi: * eshell.texi, eudc.texi, flymake.texi, forms.texi, gnus-coding.texi: * gnus-faq.texi, htmlfontify.texi, idlwave.texi, ido.texi, info.texi: * message.texi, mh-e.texi, newsticker.texi, nxml-mode.texi: * octave-mode.texi, org.texi, pcl-cvs.texi, pgg.texi, rcirc.texi: * reftex.texi, remember.texi, sasl.texi, sc.texi, semantic.texi: * ses.texi, sieve.texi, smtpmail.texi, speedbar.texi, srecode.texi: * todo-mode.texi, tramp.texi, url.texi, vip.texi, viper.texi: * widget.texi, wisent.texi, woman.texi: Add @documentencoding. --- doc/lispintro/ChangeLog | 5 +++++ doc/lispintro/emacs-lisp-intro.texi | 1 + doc/lispref/ChangeLog | 6 ++++++ doc/lispref/back.texi | 1 + doc/lispref/book-spine.texi | 1 + doc/lispref/lay-flat.texi | 1 + doc/misc/ChangeLog | 17 +++++++++++++++++ doc/misc/ada-mode.texi | 1 + doc/misc/auth.texi | 1 + doc/misc/autotype.texi | 1 + doc/misc/bovine.texi | 1 + doc/misc/calc.texi | 1 + doc/misc/cc-mode.texi | 1 + doc/misc/cl.texi | 1 + doc/misc/dbus.texi | 1 + doc/misc/dired-x.texi | 1 + doc/misc/ebrowse.texi | 1 + doc/misc/ede.texi | 1 + doc/misc/ediff.texi | 1 + doc/misc/edt.texi | 1 + doc/misc/efaq.texi | 1 + doc/misc/eieio.texi | 1 + doc/misc/emacs-gnutls.texi | 1 + doc/misc/epa.texi | 1 + doc/misc/erc.texi | 1 + doc/misc/ert.texi | 1 + doc/misc/eshell.texi | 1 + doc/misc/eudc.texi | 1 + doc/misc/flymake.texi | 1 + doc/misc/forms.texi | 1 + doc/misc/gnus-coding.texi | 1 + doc/misc/gnus-faq.texi | 1 + doc/misc/htmlfontify.texi | 1 + doc/misc/idlwave.texi | 1 + doc/misc/ido.texi | 1 + doc/misc/info.texi | 1 + doc/misc/message.texi | 1 + doc/misc/mh-e.texi | 1 + doc/misc/newsticker.texi | 1 + doc/misc/nxml-mode.texi | 1 + doc/misc/octave-mode.texi | 1 + doc/misc/org.texi | 1 + doc/misc/pcl-cvs.texi | 1 + doc/misc/pgg.texi | 2 ++ doc/misc/rcirc.texi | 1 + doc/misc/reftex.texi | 1 + doc/misc/remember.texi | 1 + doc/misc/sasl.texi | 2 ++ doc/misc/sc.texi | 1 + doc/misc/semantic.texi | 1 + doc/misc/ses.texi | 1 + doc/misc/sieve.texi | 1 + doc/misc/smtpmail.texi | 1 + doc/misc/speedbar.texi | 1 + doc/misc/srecode.texi | 1 + doc/misc/todo-mode.texi | 1 + doc/misc/tramp.texi | 1 + doc/misc/url.texi | 2 ++ doc/misc/vip.texi | 2 ++ doc/misc/viper.texi | 2 ++ doc/misc/widget.texi | 1 + doc/misc/wisent.texi | 1 + doc/misc/woman.texi | 1 + 63 files changed, 93 insertions(+) (limited to 'doc') diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index ac816ff3a43..c20705dd647 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -1,3 +1,8 @@ +2013-12-30 Paul Eggert + + Specify .texi encoding (Bug#16292). + * emacs-lisp-intro.texi: Add @documentencoding. + 2013-12-30 Glenn Morris * emacs-lisp-intro.texi: Use @quotation for license notice. diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 18c4f1a6788..3c994796193 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -4,6 +4,7 @@ @c setfilename emacs-lisp-intro.info @c sethtmlfilename emacs-lisp-intro.html @settitle Programming in Emacs Lisp +@documentencoding UTF-8 @syncodeindex vr cp @syncodeindex fn cp @finalout diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 454e716a5bf..39ed20c3f88 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,9 @@ +2014-01-06 Paul Eggert + + Specify .texi encoding (Bug#16292). + * back.texi, book-spine.texi, lay-flat.texi: + Add @documentencoding. + 2014-01-05 Chong Yidong * backups.texi (Making Backups): Document backup-buffer change. diff --git a/doc/lispref/back.texi b/doc/lispref/back.texi index 249f7738853..177522e7b20 100644 --- a/doc/lispref/back.texi +++ b/doc/lispref/back.texi @@ -6,6 +6,7 @@ @c %**start of header @setfilename back-cover @settitle GNU Emacs Lisp Reference Manual +@documentencoding UTF-8 @c %**end of header . @sp 7 diff --git a/doc/lispref/book-spine.texi b/doc/lispref/book-spine.texi index 721416316d2..f58fb77dcc1 100644 --- a/doc/lispref/book-spine.texi +++ b/doc/lispref/book-spine.texi @@ -2,6 +2,7 @@ @c %**start of header @setfilename book-spine @settitle book-spine +@documentencoding UTF-8 @c %**end of header @include emacsver.texi diff --git a/doc/lispref/lay-flat.texi b/doc/lispref/lay-flat.texi index 6ed02f8ce0a..98c778ce7b9 100644 --- a/doc/lispref/lay-flat.texi +++ b/doc/lispref/lay-flat.texi @@ -7,6 +7,7 @@ @setfilename inner-covers.info @settitle Inner Covers @smallbook +@documentencoding UTF-8 @comment %**end of header @headings off diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 871af434e05..491f9b8d7b1 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,20 @@ +2014-01-05 Paul Eggert + + Specify .texi encoding (Bug#16292). + * ada-mode.texi, auth.texi, autotype.texi, bovine.texi, calc.texi: + * cc-mode.texi, cl.texi, dbus.texi, dired-x.texi, ebrowse.texi: + * ede.texi, ediff.texi, edt.texi, efaq.texi, eieio.texi: + * emacs-gnutls.texi, epa.texi, erc.texi, ert.texi: + * eshell.texi, eudc.texi, flymake.texi, forms.texi, gnus-coding.texi: + * gnus-faq.texi, htmlfontify.texi, idlwave.texi, ido.texi, info.texi: + * message.texi, mh-e.texi, newsticker.texi, nxml-mode.texi: + * octave-mode.texi, org.texi, pcl-cvs.texi, pgg.texi, rcirc.texi: + * reftex.texi, remember.texi, sasl.texi, sc.texi, semantic.texi: + * ses.texi, sieve.texi, smtpmail.texi, speedbar.texi, srecode.texi: + * todo-mode.texi, tramp.texi, url.texi, vip.texi, viper.texi: + * widget.texi, wisent.texi, woman.texi: + Add @documentencoding. + 2014-01-03 Aidan Gauland * eshell.texi (What Eshell is not): Clean up confusing clause. diff --git a/doc/misc/ada-mode.texi b/doc/misc/ada-mode.texi index 3001d98983c..f20f0910763 100644 --- a/doc/misc/ada-mode.texi +++ b/doc/misc/ada-mode.texi @@ -1,6 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/ada-mode @settitle Ada Mode +@documentencoding UTF-8 @copying Copyright @copyright{} 1999--2014 Free Software Foundation, Inc. diff --git a/doc/misc/auth.texi b/doc/misc/auth.texi index 95baf1b45ea..f240b38c27e 100644 --- a/doc/misc/auth.texi +++ b/doc/misc/auth.texi @@ -6,6 +6,7 @@ @setfilename ../../info/auth @settitle Emacs auth-source Library @value{VERSION} +@documentencoding UTF-8 @copying This file describes the Emacs auth-source library. diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi index dced7c97811..aacf4fad83e 100644 --- a/doc/misc/autotype.texi +++ b/doc/misc/autotype.texi @@ -5,6 +5,7 @@ @c @node Autotypist, Picture, Abbrevs, Top @c @chapter Features for Automatic Typing @settitle Features for Automatic Typing +@documentencoding UTF-8 @c @cindex text @c @cindex selfinserting text @c @cindex autotypist diff --git a/doc/misc/bovine.texi b/doc/misc/bovine.texi index 076c10132e0..5092d463a29 100644 --- a/doc/misc/bovine.texi +++ b/doc/misc/bovine.texi @@ -4,6 +4,7 @@ @set TITLE Bovine parser development @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim @settitle @value{TITLE} +@documentencoding UTF-8 @c ************************************************************************* @c @ Header diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index 2c84fabdfcd..10c863a9513 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi @@ -4,6 +4,7 @@ @setfilename ../../info/calc @c [title] @settitle GNU Emacs Calc Manual +@documentencoding UTF-8 @setchapternewpage odd @comment %**end of header (This is for running Texinfo on a region.) diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi index 63f89a03c24..40640f210cf 100644 --- a/doc/misc/cc-mode.texi +++ b/doc/misc/cc-mode.texi @@ -83,6 +83,7 @@ the second with them pointing to the XEmacs manuals. @setfilename ../../info/ccmode @settitle CC Mode Manual +@documentencoding UTF-8 @footnotestyle end @c The following four macros generate the filenames and titles of the diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi index 1477da6a9fb..08f9610e594 100644 --- a/doc/misc/cl.texi +++ b/doc/misc/cl.texi @@ -1,6 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/cl @settitle Common Lisp Extensions +@documentencoding UTF-8 @include emacsver.texi @copying diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi index 4e332baee89..6a91efbd728 100644 --- a/doc/misc/dbus.texi +++ b/doc/misc/dbus.texi @@ -2,6 +2,7 @@ @setfilename ../../info/dbus @c %**start of header @settitle Using of D-Bus +@documentencoding UTF-8 @c @setchapternewpage odd @c %**end of header diff --git a/doc/misc/dired-x.texi b/doc/misc/dired-x.texi index cbf63dd20cb..c0d0d4b1645 100644 --- a/doc/misc/dired-x.texi +++ b/doc/misc/dired-x.texi @@ -9,6 +9,7 @@ @comment %**start of header (This is for running Texinfo on a region.) @setfilename ../../info/dired-x @settitle Dired Extra User's Manual +@documentencoding UTF-8 @include emacsver.texi diff --git a/doc/misc/ebrowse.texi b/doc/misc/ebrowse.texi index 7dfca921bd4..9e9596d236a 100644 --- a/doc/misc/ebrowse.texi +++ b/doc/misc/ebrowse.texi @@ -3,6 +3,7 @@ @comment %**start of header @setfilename ../../info/ebrowse @settitle A Class Browser for C++ +@documentencoding UTF-8 @setchapternewpage odd @syncodeindex fn cp @comment %**end of header diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi index 63a1f4e6270..3ae040debea 100644 --- a/doc/misc/ede.texi +++ b/doc/misc/ede.texi @@ -1,6 +1,7 @@ \input texinfo @setfilename ../../info/ede @settitle Emacs Development Environment +@documentencoding UTF-8 @copying This file describes EDE, the Emacs Development Environment. diff --git a/doc/misc/ediff.texi b/doc/misc/ediff.texi index 4ac77644eb2..826e16c7a4c 100644 --- a/doc/misc/ediff.texi +++ b/doc/misc/ediff.texi @@ -10,6 +10,7 @@ @setfilename ../../info/ediff @settitle Ediff User's Manual +@documentencoding UTF-8 @synindex vr cp @synindex fn cp @synindex pg cp diff --git a/doc/misc/edt.texi b/doc/misc/edt.texi index 7a543f4b65b..c4937d4ae6e 100644 --- a/doc/misc/edt.texi +++ b/doc/misc/edt.texi @@ -1,6 +1,7 @@ \input texinfo @setfilename ../../info/edt @settitle EDT Emulation for Emacs +@documentencoding UTF-8 @copying This file documents the EDT emulation package for Emacs. diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index c3642460620..1bc69debf55 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi @@ -2,6 +2,7 @@ @c %**start of header @setfilename ../../info/efaq @settitle GNU Emacs FAQ +@documentencoding UTF-8 @c %**end of header @include emacsver.texi diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi index 0c062142135..36c9eee9caf 100644 --- a/doc/misc/eieio.texi +++ b/doc/misc/eieio.texi @@ -3,6 +3,7 @@ @set TITLE Enhanced Implementation of Emacs Interpreted Objects @set AUTHOR Eric M. Ludlam @settitle @value{TITLE} +@documentencoding UTF-8 @c ************************************************************************* @c @ Header diff --git a/doc/misc/emacs-gnutls.texi b/doc/misc/emacs-gnutls.texi index 0eba0a86d2c..9d250e06888 100644 --- a/doc/misc/emacs-gnutls.texi +++ b/doc/misc/emacs-gnutls.texi @@ -4,6 +4,7 @@ @setfilename ../../info/emacs-gnutls @settitle Emacs GnuTLS Integration @value{VERSION} +@documentencoding UTF-8 @copying This file describes the Emacs GnuTLS integration. diff --git a/doc/misc/epa.texi b/doc/misc/epa.texi index 8f053a1f7fd..210627ec890 100644 --- a/doc/misc/epa.texi +++ b/doc/misc/epa.texi @@ -2,6 +2,7 @@ @c %**start of header @setfilename ../../info/epa @settitle EasyPG Assistant User's Manual +@documentencoding UTF-8 @c %**end of header @set VERSION 1.0.0 diff --git a/doc/misc/erc.texi b/doc/misc/erc.texi index d24f4994bc1..05338d8cf29 100644 --- a/doc/misc/erc.texi +++ b/doc/misc/erc.texi @@ -4,6 +4,7 @@ @settitle ERC Manual @syncodeindex fn cp @include emacsver.texi +@documentencoding UTF-8 @c %**end of header @copying diff --git a/doc/misc/ert.texi b/doc/misc/ert.texi index 3faceafc312..d57e629775c 100644 --- a/doc/misc/ert.texi +++ b/doc/misc/ert.texi @@ -2,6 +2,7 @@ @c %**start of header @setfilename ../../info/ert @settitle Emacs Lisp Regression Testing +@documentencoding UTF-8 @c %**end of header @dircategory Emacs misc features diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index 74d859588dc..befe3187d89 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi @@ -4,6 +4,7 @@ @settitle Eshell: The Emacs Shell @defindex cm @synindex vr fn +@documentencoding UTF-8 @c %**end of header @copying diff --git a/doc/misc/eudc.texi b/doc/misc/eudc.texi index 37a3e86558d..1df54ca4395 100644 --- a/doc/misc/eudc.texi +++ b/doc/misc/eudc.texi @@ -3,6 +3,7 @@ @setfilename ../../info/eudc @settitle Emacs Unified Directory Client (EUDC) Manual @afourpaper +@documentencoding UTF-8 @c %**end of header @copying diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi index f6ebdaa9a97..5005045d65c 100644 --- a/doc/misc/flymake.texi +++ b/doc/misc/flymake.texi @@ -5,6 +5,7 @@ @set UPDATED April 2004 @settitle GNU Flymake @value{VERSION} @syncodeindex pg cp +@documentencoding UTF-8 @comment %**end of header @copying diff --git a/doc/misc/forms.texi b/doc/misc/forms.texi index dcbd9814d40..164140bbfe6 100644 --- a/doc/misc/forms.texi +++ b/doc/misc/forms.texi @@ -14,6 +14,7 @@ @end iftex @c @smallbook @comment %**end of header (This is for running Texinfo on a region.) +@documentencoding UTF-8 @copying This file documents Forms mode, a form-editing major mode for GNU Emacs. diff --git a/doc/misc/gnus-coding.texi b/doc/misc/gnus-coding.texi index 2ce9d71788e..2147e5f62a0 100644 --- a/doc/misc/gnus-coding.texi +++ b/doc/misc/gnus-coding.texi @@ -2,6 +2,7 @@ @setfilename gnus-coding @settitle Gnus Coding Style and Maintenance Guide +@documentencoding UTF-8 @syncodeindex fn cp @syncodeindex vr cp @syncodeindex pg cp diff --git a/doc/misc/gnus-faq.texi b/doc/misc/gnus-faq.texi index 5bd644bdc7d..858ce8c2a50 100644 --- a/doc/misc/gnus-faq.texi +++ b/doc/misc/gnus-faq.texi @@ -5,6 +5,7 @@ @c @c @setfilename gnus-faq.info @c @settitle Frequently Asked Questions +@c @documentencoding UTF-8 @c %**end of header @c diff --git a/doc/misc/htmlfontify.texi b/doc/misc/htmlfontify.texi index 3124a281676..d23f5d737ae 100644 --- a/doc/misc/htmlfontify.texi +++ b/doc/misc/htmlfontify.texi @@ -3,6 +3,7 @@ @setfilename ../../info/htmlfontify @settitle Htmlfontify User Manual @exampleindent 2 +@documentencoding UTF-8 @comment %**end of header @copying diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi index c9b8924f2b7..a6940781ca7 100644 --- a/doc/misc/idlwave.texi +++ b/doc/misc/idlwave.texi @@ -12,6 +12,7 @@ @set DATE April, 2007 @set AUTHOR J.D. Smith & Carsten Dominik @set MAINTAINER J.D. Smith +@documentencoding UTF-8 @c %**end of header @finalout diff --git a/doc/misc/ido.texi b/doc/misc/ido.texi index 56905f83295..3a54aaa5314 100644 --- a/doc/misc/ido.texi +++ b/doc/misc/ido.texi @@ -1,6 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/ido @settitle Interactive Do +@documentencoding UTF-8 @include emacsver.texi @copying diff --git a/doc/misc/info.texi b/doc/misc/info.texi index a40345bca85..ad317dc6380 100644 --- a/doc/misc/info.texi +++ b/doc/misc/info.texi @@ -8,6 +8,7 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 @comment %**end of header @copying diff --git a/doc/misc/message.texi b/doc/misc/message.texi index fe6a8040176..4f0795eccc4 100644 --- a/doc/misc/message.texi +++ b/doc/misc/message.texi @@ -4,6 +4,7 @@ @setfilename ../../info/message @settitle Message Manual +@documentencoding UTF-8 @synindex fn cp @synindex vr cp @synindex pg cp diff --git a/doc/misc/mh-e.texi b/doc/misc/mh-e.texi index 968a814a64f..fe86f8ed1c5 100644 --- a/doc/misc/mh-e.texi +++ b/doc/misc/mh-e.texi @@ -5,6 +5,7 @@ @c %**start of header @setfilename ../../info/mh-e @settitle The MH-E Manual +@documentencoding UTF-8 @c %**end of header @c Version of the software and manual. diff --git a/doc/misc/newsticker.texi b/doc/misc/newsticker.texi index 79d176a722b..0fc320e49e4 100644 --- a/doc/misc/newsticker.texi +++ b/doc/misc/newsticker.texi @@ -7,6 +7,7 @@ @syncodeindex vr cp @syncodeindex fn cp @syncodeindex pg cp +@documentencoding UTF-8 @comment %**end of header @copying diff --git a/doc/misc/nxml-mode.texi b/doc/misc/nxml-mode.texi index b8b69da4439..a6552a173d5 100644 --- a/doc/misc/nxml-mode.texi +++ b/doc/misc/nxml-mode.texi @@ -2,6 +2,7 @@ @c %**start of header @setfilename ../../info/nxml-mode @settitle nXML Mode +@documentencoding UTF-8 @c %**end of header @copying diff --git a/doc/misc/octave-mode.texi b/doc/misc/octave-mode.texi index a4ebfc2b5a1..305a54800c1 100644 --- a/doc/misc/octave-mode.texi +++ b/doc/misc/octave-mode.texi @@ -2,6 +2,7 @@ @c %**start of header @setfilename ../../info/octave-mode @settitle Octave Mode +@documentencoding UTF-8 @c %**end of header @copying diff --git a/doc/misc/org.texi b/doc/misc/org.texi index f9426aa7981..bd024e1edd3 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi @@ -15,6 +15,7 @@ @set MAINTAINER Carsten Dominik @set MAINTAINEREMAIL @email{carsten at orgmode dot org} @set MAINTAINERCONTACT @uref{mailto:carsten at orgmode dot org,contact the maintainer} +@documentencoding UTF-8 @c %**end of header @finalout diff --git a/doc/misc/pcl-cvs.texi b/doc/misc/pcl-cvs.texi index 354cbe54071..a1e49d7b165 100644 --- a/doc/misc/pcl-cvs.texi +++ b/doc/misc/pcl-cvs.texi @@ -3,6 +3,7 @@ @setfilename ../../info/pcl-cvs @settitle PCL-CVS---Emacs Front-End to CVS @syncodeindex vr fn +@documentencoding UTF-8 @c %**end of header @copying diff --git a/doc/misc/pgg.texi b/doc/misc/pgg.texi index ae690989015..43750ba1448 100644 --- a/doc/misc/pgg.texi +++ b/doc/misc/pgg.texi @@ -7,6 +7,8 @@ @set VERSION 0.1 @settitle PGG @value{VERSION} +@documentencoding UTF-8 + @copying This file describes PGG @value{VERSION}, an Emacs interface to various PGP implementations. diff --git a/doc/misc/rcirc.texi b/doc/misc/rcirc.texi index e137ab200e6..96acdf86cd2 100644 --- a/doc/misc/rcirc.texi +++ b/doc/misc/rcirc.texi @@ -2,6 +2,7 @@ @c %**start of header @setfilename ../../info/rcirc @settitle rcirc Manual +@documentencoding UTF-8 @c %**end of header @copying diff --git a/doc/misc/reftex.texi b/doc/misc/reftex.texi index a50da1970ff..99266de4d85 100644 --- a/doc/misc/reftex.texi +++ b/doc/misc/reftex.texi @@ -2,6 +2,7 @@ @c %**start of header @setfilename ../../info/reftex @settitle RefTeX User Manual +@documentencoding UTF-8 @synindex ky cp @syncodeindex vr cp @syncodeindex fn cp diff --git a/doc/misc/remember.texi b/doc/misc/remember.texi index a9abca76332..a32c71f7d66 100644 --- a/doc/misc/remember.texi +++ b/doc/misc/remember.texi @@ -3,6 +3,7 @@ @setfilename ../../info/remember @settitle Remember Manual @syncodeindex fn cp +@documentencoding UTF-8 @c %**end of header @copying diff --git a/doc/misc/sasl.texi b/doc/misc/sasl.texi index 6e8fa9f69a5..5f43bdad0d0 100644 --- a/doc/misc/sasl.texi +++ b/doc/misc/sasl.texi @@ -7,6 +7,8 @@ @set VERSION 0.2 @settitle Emacs SASL Library @value{VERSION} +@documentencoding UTF-8 + @copying This file describes the Emacs SASL library, version @value{VERSION}. diff --git a/doc/misc/sc.texi b/doc/misc/sc.texi index 2c2230814a9..6a2faea0b7e 100644 --- a/doc/misc/sc.texi +++ b/doc/misc/sc.texi @@ -3,6 +3,7 @@ @comment %**start of header (This is for running Texinfo on a region.) @setfilename ../../info/sc @settitle Supercite User's Manual +@documentencoding UTF-8 @iftex @finalout @end iftex diff --git a/doc/misc/semantic.texi b/doc/misc/semantic.texi index abba26a2f5f..56add3b565b 100644 --- a/doc/misc/semantic.texi +++ b/doc/misc/semantic.texi @@ -3,6 +3,7 @@ @set TITLE Semantic Manual @set AUTHOR Eric M. Ludlam, David Ponce, and Richard Y. Kim @settitle @value{TITLE} +@documentencoding UTF-8 @c ************************************************************************* @c @ Header diff --git a/doc/misc/ses.texi b/doc/misc/ses.texi index e57ed802459..6e3126841c6 100644 --- a/doc/misc/ses.texi +++ b/doc/misc/ses.texi @@ -6,6 +6,7 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 @c %**end of header @copying diff --git a/doc/misc/sieve.texi b/doc/misc/sieve.texi index 78b2fa7cf48..15c78884740 100644 --- a/doc/misc/sieve.texi +++ b/doc/misc/sieve.texi @@ -4,6 +4,7 @@ @setfilename ../../info/sieve @settitle Emacs Sieve Manual +@documentencoding UTF-8 @synindex fn cp @synindex vr cp @synindex pg cp diff --git a/doc/misc/smtpmail.texi b/doc/misc/smtpmail.texi index db979142f39..24cbc56ecfa 100644 --- a/doc/misc/smtpmail.texi +++ b/doc/misc/smtpmail.texi @@ -1,6 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/smtpmail @settitle Emacs SMTP Library +@documentencoding UTF-8 @syncodeindex vr fn @copying Copyright @copyright{} 2003--2014 Free Software Foundation, Inc. diff --git a/doc/misc/speedbar.texi b/doc/misc/speedbar.texi index db940420888..dfd6e97e7b9 100644 --- a/doc/misc/speedbar.texi +++ b/doc/misc/speedbar.texi @@ -1,6 +1,7 @@ \input texinfo @c -*-texinfo-*- @setfilename ../../info/speedbar @settitle Speedbar: File/Tag summarizing utility +@documentencoding UTF-8 @syncodeindex fn cp @copying diff --git a/doc/misc/srecode.texi b/doc/misc/srecode.texi index 1c48c0ba77e..c2045e8a530 100644 --- a/doc/misc/srecode.texi +++ b/doc/misc/srecode.texi @@ -4,6 +4,7 @@ @set TITLE SRecoder Manual @set AUTHOR Eric M. Ludlam @settitle @value{TITLE} +@documentencoding UTF-8 @c Merge all indexes into a single index for now. @c We can always separate them later into two or more as needed. diff --git a/doc/misc/todo-mode.texi b/doc/misc/todo-mode.texi index 41b5590c9d5..4b5dc6d6c71 100644 --- a/doc/misc/todo-mode.texi +++ b/doc/misc/todo-mode.texi @@ -5,6 +5,7 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 @c %**end of header @copying diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 9506c8f49c1..dfe57689e5e 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi @@ -2,6 +2,7 @@ @setfilename ../../info/tramp @c %**start of header @settitle TRAMP User Manual +@documentencoding UTF-8 @c %**end of header @c This is *so* much nicer :) diff --git a/doc/misc/url.texi b/doc/misc/url.texi index b7cbe47cccb..ecfd0c66929 100644 --- a/doc/misc/url.texi +++ b/doc/misc/url.texi @@ -2,6 +2,8 @@ @setfilename ../../info/url @settitle URL Programmer's Manual +@documentencoding UTF-8 + @iftex @c @finalout @end iftex diff --git a/doc/misc/vip.texi b/doc/misc/vip.texi index de41deee511..40701054d5a 100644 --- a/doc/misc/vip.texi +++ b/doc/misc/vip.texi @@ -2,6 +2,8 @@ @setfilename ../../info/vip @settitle VIP +@documentencoding UTF-8 + @copying Copyright @copyright{} 1987, 2001--2014 Free Software Foundation, Inc. diff --git a/doc/misc/viper.texi b/doc/misc/viper.texi index 94623537887..0048d1363f3 100644 --- a/doc/misc/viper.texi +++ b/doc/misc/viper.texi @@ -6,6 +6,8 @@ @comment @setfilename viper.info @setfilename ../../info/viper +@documentencoding UTF-8 + @copying Copyright @copyright{} 1995--1997, 2001--2014 Free Software Foundation, Inc. diff --git a/doc/misc/widget.texi b/doc/misc/widget.texi index 0cf687acc18..434c54547e1 100644 --- a/doc/misc/widget.texi +++ b/doc/misc/widget.texi @@ -5,6 +5,7 @@ @syncodeindex fn cp @syncodeindex vr cp @syncodeindex ky cp +@documentencoding UTF-8 @c %**end of header @copying diff --git a/doc/misc/wisent.texi b/doc/misc/wisent.texi index 9299e02d838..c8a56ea3414 100644 --- a/doc/misc/wisent.texi +++ b/doc/misc/wisent.texi @@ -20,6 +20,7 @@ @c @footnotestyle separate @c @paragraphindent 2 @c @@smallbook +@documentencoding UTF-8 @c %**end of header @copying diff --git a/doc/misc/woman.texi b/doc/misc/woman.texi index 7a8919614cb..b221a380fa9 100644 --- a/doc/misc/woman.texi +++ b/doc/misc/woman.texi @@ -8,6 +8,7 @@ @c Look for @page and @need commands. @setchapternewpage off @paragraphindent 0 +@documentencoding UTF-8 @c %**end of header @copying -- cgit v1.2.1 From d5081c1ed8e0dd509007b7a617d2640686e91f75 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Sun, 5 Jan 2014 22:25:30 -0800 Subject: Spelling fixes. * calc/calc-yank.el (calc-edit-mode, calc-edit-cancel): * emacs-lisp/debug.el (cancel-debug-on-entry): * epg.el (epg-error-to-string): * files.el (recover-file): * lpr.el (lpr-buffer, print-buffer, lpr-region, print-region): * mail/emacsbug.el (report-emacs-bug-hook): * mail/sendmail.el (mail-recover): * ses.el (ses-yank-resize): * term/ns-win.el (ns-print-buffer): Spelling fixes in diagnostics, mostly for "canceled" with one L. * epg.el (epg-key-capability-alist): Rename from misspelled version. All uses changed. * obsolete/xesam.el (xesam-all-fields): Fix misspelled field name. --- doc/emacs/ChangeLog | 2 +- doc/emacs/mini.texi | 2 +- doc/misc/semantic.texi | 2 +- doc/misc/srecode.texi | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 70002f1dd32..2df3334c7a1 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1236,7 +1236,7 @@ \\`info- no longer handled specially. Update for rmail-enable-mime-composing. Don't mention 'm' for replies. - Don't mention rmail-mail-new-frame and cancelling, since it does + Don't mention rmail-mail-new-frame and canceling, since it does not work for Message at the moment. * cal-xtra.texi: Copyedits. diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi index fa837484c44..6fc501a903e 100644 --- a/doc/emacs/mini.texi +++ b/doc/emacs/mini.texi @@ -37,7 +37,7 @@ how it will be used. The prompt is highlighted using the The simplest way to enter a minibuffer argument is to type the text, then @key{RET} to submit the argument and exit the minibuffer. Alternatively, you can type @kbd{C-g} to exit the minibuffer by -cancelling the command asking for the argument (@pxref{Quitting}). +canceling the command asking for the argument (@pxref{Quitting}). @cindex default argument Sometimes, the prompt shows a @dfn{default argument}, inside diff --git a/doc/misc/semantic.texi b/doc/misc/semantic.texi index 56add3b565b..17d1aa7a5ac 100644 --- a/doc/misc/semantic.texi +++ b/doc/misc/semantic.texi @@ -607,7 +607,7 @@ Emacs Lisp. It is an LALR parser suitable for complex languages. @c LocalWords: backquote bnf bovinate bovinates LALR @c LocalWords: bovinating bovination bovinator bucketize @c LocalWords: cb cdr charquote checkcache cindex CLOS -@c LocalWords: concat concocting const constantness ctxt Decl defcustom +@c LocalWords: concat concocting const ctxt Decl defcustom @c LocalWords: deffn deffnx defun defvar destructor's dfn diff dir @c LocalWords: doc docstring EDE EIEIO elisp emacsman emph enum @c LocalWords: eq Exp EXPANDFULL expression fn foo func funcall diff --git a/doc/misc/srecode.texi b/doc/misc/srecode.texi index c2045e8a530..033e031b648 100644 --- a/doc/misc/srecode.texi +++ b/doc/misc/srecode.texi @@ -342,7 +342,7 @@ area will modify the other linked areas. Pressing TAB will move between editable fields in the template. Once the cursor moves out of the are inserted by the template, all the -fields are cancelled. +fields are canceled. @b{NOTE}: Some conveniences in templates, such as completion, or character restrictions are lost when using field editing mode. -- cgit v1.2.1 From 11c06c77277c43ab4c358a5d1951dde1372bcd9b Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Mon, 6 Jan 2014 20:46:23 -0500 Subject: Document calendar-day-header-array * doc/emacs/cal-xtra.texi (Calendar Customizing): Mention calendar-day-header-array. * etc/NEWS: Markup. --- doc/emacs/ChangeLog | 5 +++++ doc/emacs/cal-xtra.texi | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 2df3334c7a1..cfe35028275 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,8 @@ +2014-01-07 Glenn Morris + + * cal-xtra.texi (Calendar Customizing): + Mention calendar-day-header-array. + 2013-12-28 Glenn Morris * trouble.texi (Understanding Bug Reporting): Brevity. diff --git a/doc/emacs/cal-xtra.texi b/doc/emacs/cal-xtra.texi index 309740998ef..82864859473 100644 --- a/doc/emacs/cal-xtra.texi +++ b/doc/emacs/cal-xtra.texi @@ -43,9 +43,12 @@ customize the variables @code{calendar-intermonth-header} and @code{calendar-intermonth-text} as described in their documentation. @vindex calendar-month-header +@vindex calendar-day-header-array The variable @code{calendar-month-header} controls the text that appears above each month in the calendar. By default, it shows the -month and year. +month and year. The variable @code{calendar-day-header-array} +controls the text that appears above each day's column in every month. +By default, it shows the first two letters of each day's name. @vindex calendar-holiday-marker @vindex diary-entry-marker -- cgit v1.2.1 From 809d2ce4cfadf189ca134fd59e31016ef32043bc Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Mon, 6 Jan 2014 21:56:17 -0500 Subject: * doc/lispref/display.texi (Logging Messages): Copyedits re messages-buffer. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/display.texi | 12 +++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 39ed20c3f88..fc2580385f4 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2014-01-07 Glenn Morris + + * display.texi (Logging Messages): Copyedits re messages-buffer. + 2014-01-06 Paul Eggert Specify .texi encoding (Bug#16292). diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index be8db83396c..8236742ae2c 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -478,13 +478,15 @@ this macro this way: Almost all the messages displayed in the echo area are also recorded in the @file{*Messages*} buffer so that the user can refer back to them. This includes all the messages that are output with -@code{message}. This buffer is read-only and has the major-mode -@code{messages-buffer-mode}. The best way to retrieve that buffer is -the function @code{messages-buffer}. +@code{message}. By default, this buffer is read-only and uses the major +mode @code{messages-buffer-mode}. Nothing prevents the user from +killing the @file{*Messages*} buffer, but the next display of a message +recreates it. Any Lisp code that needs to ensure the @file{*Messages*} +buffer exists should use the function @code{messages-buffer}. @defun messages-buffer -Return the @file{*Messages*} buffer. -If it does not exist, create and it switch it to @code{messages-buffer-mode}. +This function returns the @file{*Messages*} buffer. If it does not +exist, it creates it, and switches it to @code{messages-buffer-mode}. @end defun @defopt message-log-max -- cgit v1.2.1 From de7ce2d169a1ad5642715eddd95615a9c563b308 Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Tue, 7 Jan 2014 12:36:52 +0800 Subject: More doc updates. * doc/emacs/search.texi (Special Isearch): Document C-x 8 RET in isearch. (Word Search): Document incremental word search changes. (Isearch Yank): Document M-s C-e with a prefix argument. * doc/lispref/files.texi (Changing Files): Document copy-file changes. * lisp/isearch.el (isearch-yank-char, isearch-yank-word) (isearch-yank-line): Doc fix. --- doc/emacs/ChangeLog | 6 +++++ doc/emacs/search.texi | 59 +++++++++++++++++++++++++++++++++----------------- doc/lispref/ChangeLog | 4 ++++ doc/lispref/files.texi | 27 +++++++++++++---------- 4 files changed, 64 insertions(+), 32 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index cfe35028275..ba18eefaed8 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,9 @@ +2014-01-07 Chong Yidong + + * search.texi (Special Isearch): Document C-x 8 RET in isearch. + (Word Search): Document incremental word search changes. + (Isearch Yank): Document M-s C-e with a prefix argument. + 2014-01-07 Glenn Morris * cal-xtra.texi (Calendar Customizing): diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi index bf47dec99b8..ff82434a205 100644 --- a/doc/emacs/search.texi +++ b/doc/emacs/search.texi @@ -229,12 +229,14 @@ spaces in the text. Hence, @samp{foo bar} matches @samp{foo bar}, @samp{foo bar}, @samp{foo bar}, and so on (but not @samp{foobar}). More precisely, Emacs matches each sequence of space characters in the search string to a regular expression specified by the variable -@code{search-whitespace-regexp}. For example, set it to -@samp{"[[:space:]\n]+"} to make spaces match sequences of newlines as -well as spaces. To toggle lax space matching, type @kbd{M-s SPC} +@code{search-whitespace-regexp}. For example, to make spaces match +sequences of newlines as well as spaces, set it to +@samp{"[[:space:]\n]+"}. + + To toggle lax space matching, type @kbd{M-s SPC} (@code{isearch-toggle-lax-whitespace}). To disable this feature entirely, change @code{search-whitespace-regexp} to @code{nil}; then -each space in the search string matches exactly one space +each space in the search string matches exactly one space. If the search string you entered contains only lower-case letters, the search is case-insensitive; as long as an upper-case letter exists @@ -244,15 +246,29 @@ have this effect. @xref{Search Case}. To search for a newline character, type @kbd{C-j}. - To search for other control characters, such as @key{control-S}, -quote it by typing @kbd{C-q} first (@pxref{Inserting Text}). To -search for non-@acronym{ASCII} characters, you can either use -@kbd{C-q} and enter its octal code, or use an input method -(@pxref{Input Methods}). If an input method is enabled in the current -buffer when you start the search, you can use it in the search string -also. While typing the search string, you can toggle the input method -with the command @kbd{C-\} (@code{isearch-toggle-input-method}). You -can also turn on a non-default input method with @kbd{C-^} + To search for non-@acronym{ASCII} characters, use one of the +following methods: + +@itemize @bullet +@item +Type @kbd{C-q}, followed by a non-graphic character or a sequence of +octal digits. This adds a character to the search string, similar to +inserting into a buffer using @kbd{C-q} (@pxref{Inserting Text}). For +example, @kbd{C-q C-s} during incremental search adds the +@key{control-S} character to the search string. + +@item +Type @kbd{C-x 8 @key{RET}}, followed by a Unicode name or code-point. +This adds the specified character into the search string, similar to +the usual @code{insert-char} command (@pxref{Inserting Text}). + +@item +Use an input method (@pxref{Input Methods}). If an input method is +enabled in the current buffer when you start the search, you can use +it in the search string also. While typing the search string, you can +toggle the input method with @kbd{C-\} +(@code{isearch-toggle-input-method}). You can also turn on a +non-default input method with @kbd{C-^} (@code{isearch-toggle-specified-input-method}), which prompts for the name of the input method. When an input method is active during incremental search, the search prompt includes the input method @@ -268,6 +284,7 @@ I-search [@var{im}]: where @var{im} is the mnemonic of the active input method. Any input method you enable during incremental search remains enabled in the current buffer afterwards. +@end itemize @kindex M-% @r{(Incremental search)} Typing @kbd{M-%} in incremental search invokes @code{query-replace} @@ -315,7 +332,8 @@ of whether to copy a character or a word is heuristic.) @findex isearch-yank-line Similarly, @kbd{M-s C-e} (@code{isearch-yank-line}) appends the rest of the current line to the search string. If point is already at the -end of a line, it appends the next line. +end of a line, it appends the next line. With a prefix argument +@var{n}, it appends the next @var{n} lines. If the search is currently case-insensitive, both @kbd{C-w} and @kbd{M-s C-e} convert the text they copy to lower case, so that the @@ -481,12 +499,13 @@ These run the commands @code{word-search-forward} and @code{word-search-backward} respectively. Incremental and nonincremental word searches differ slightly in the -way they find a match. In a nonincremental word search, the last word -in the search string must exactly match a whole word. In an -incremental word search, the matching is more lax: the last word in -the search string can match part of a word, so that the matching -proceeds incrementally as you type. This additional laxity does not -apply to the lazy highlight, which always matches whole words. +way they find a match. In a nonincremental word search, each word in +the search string must exactly match a whole word. In an incremental +word search, the matching is more lax: while you are typing the search +string, its first and last words need not match whole words. This is +so that the matching can proceed incrementally as you type. This +additional laxity does not apply to the lazy highlight, which always +matches whole words. @node Symbol Search @section Symbol Search diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index fc2580385f4..4de37bdb1af 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2014-01-07 Chong Yidong + + * files.texi (Changing Files): Document copy-file changes. + 2014-01-07 Glenn Morris * display.texi (Logging Messages): Copyedits re messages-buffer. diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 076c91c0c58..934ccaeadbe 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -1561,11 +1561,15 @@ file. This works only on some operating systems, and only if you have the correct permissions to do so. If the optional argument @var{preserve-permissions} is non-@code{nil}, -this function copies the file modes (or ``permissions''), as well as -its Access Control List and SELinux context (if any). -@xref{Information about Files}. Otherwise, if the destination is -created its file permission bits are those of the source, masked by -the default file permissions. +this function copies the file modes (or ``permissions'') of +@var{oldname} to @var{newname}, as well as the Access Control List and +SELinux context (if any). @xref{Information about Files}. + +Otherwise, the file modes of @var{newname} are left unchanged if it is +an existing file, and set to those of @var{oldname}, masked by the +default file permissions (see @code{set-default-file-modes} below), if +@var{newname} is to be newly created. The Access Control List or +SELinux context are not copied over in either case. @end deffn @deffn Command make-symbolic-link filename newname &optional ok-if-exists @@ -1636,13 +1640,12 @@ returns the permissions of a file. @defun set-default-file-modes mode @cindex umask -This function sets the default file permissions for new files created -by Emacs and its subprocesses. Every file created with Emacs -initially has these permissions, or a subset of them -(@code{write-region} will not grant execute permissions even if the -default file permissions allow execution). On Unix and GNU/Linux, the -default permissions are given by the bitwise complement of the -``umask'' value. +This function sets the default permissions for new files created by +Emacs and its subprocesses. Every file created with Emacs initially +has these permissions, or a subset of them (@code{write-region} will +not grant execute permissions even if the default file permissions +allow execution). On Unix and GNU/Linux, the default permissions are +given by the bitwise complement of the ``umask'' value. The argument @var{mode} should be an integer which specifies the permissions, similar to @code{set-file-modes} above. Only the lowest -- cgit v1.2.1 From 17109647e9d35847b14c5cbe5efffcd747346d89 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Mon, 6 Jan 2014 23:50:29 -0800 Subject: Minor tweak for earlier display.texi change --- doc/lispref/display.texi | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 8236742ae2c..880ba837ba1 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -481,8 +481,9 @@ them. This includes all the messages that are output with @code{message}. By default, this buffer is read-only and uses the major mode @code{messages-buffer-mode}. Nothing prevents the user from killing the @file{*Messages*} buffer, but the next display of a message -recreates it. Any Lisp code that needs to ensure the @file{*Messages*} -buffer exists should use the function @code{messages-buffer}. +recreates it. Any Lisp code that needs to access the +@file{*Messages*} buffer directly and wants to ensure that it exists +exists should use the function @code{messages-buffer}. @defun messages-buffer This function returns the @file{*Messages*} buffer. If it does not -- cgit v1.2.1 From f137f4ee19b9f94ef6228f63d83e4430108cbfed Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Mon, 6 Jan 2014 23:51:20 -0800 Subject: Fix typo in previous --- doc/lispref/display.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index 880ba837ba1..f42d02e056f 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -483,7 +483,7 @@ mode @code{messages-buffer-mode}. Nothing prevents the user from killing the @file{*Messages*} buffer, but the next display of a message recreates it. Any Lisp code that needs to access the @file{*Messages*} buffer directly and wants to ensure that it exists -exists should use the function @code{messages-buffer}. +should use the function @code{messages-buffer}. @defun messages-buffer This function returns the @file{*Messages*} buffer. If it does not -- cgit v1.2.1 From ff4a5a419e8d47d229a6270fe9ea3fc194df8ccd Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 7 Jan 2014 00:35:29 -0800 Subject: Merge some info from etc/MORE.STUFF into efaq.texi * doc/misc/efaq.texi (Basic editing, Packages that do not come with Emacs): Merge in some info from etc/MORE.STUFF. --- doc/misc/ChangeLog | 5 +++++ doc/misc/efaq.texi | 63 ++++++++++++++++++++++++++++++++---------------------- 2 files changed, 43 insertions(+), 25 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 491f9b8d7b1..187493d5557 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,8 @@ +2014-01-07 Glenn Morris + + * efaq.texi (Basic editing, Packages that do not come with Emacs): + Merge in some info from etc/MORE.STUFF. + 2014-01-05 Paul Eggert Specify .texi encoding (Bug#16292). diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index 1bc69debf55..35fb9c93b2f 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi @@ -562,6 +562,9 @@ common) invokes help. Emacs help works best if it is invoked by a single key whose value should be stored in the variable @code{help-char}. +Some Emacs slides and tutorials can be found at +@uref{http://web.psung.name/emacs/}. + @node Learning how to do something @section How do I find out how to do something in Emacs? @cindex Help for Emacs @@ -3305,31 +3308,41 @@ see @ref{Packages that do not come with Emacs}. @cindex Emacs Lisp List @cindex Emacs Lisp Archive -Your first port of call should be the @kbd{M-x list-packages} command. -This connects to the @uref{http:///elpa.gnu.org, GNU ELPA} (``Emacs -Lisp Package Archive'') server and fetches the list of additional -packages that it offers. These are GNU packages that are available -for use with Emacs, but are distributed separately. Select a package -to get more details about the features that it offers, and then if you -wish, Emacs can download and automatically install it for you. - -@uref{http://www.damtp.cam.ac.uk/user/sje30/emacs/ell.html, The Emacs Lisp -List (ELL)}, maintained by Stephen Eglen, -aims to provide one compact list with links to all of the current Emacs -Lisp files on the Internet. The ELL can be browsed over the web, or -from Emacs with @uref{http://www.damtp.cam.ac.uk/user/sje30/emacs/ell.el, -the @file{ell} package}. - -Many authors post their packages to the @uref{news:gnu.emacs.sources, -Emacs sources newsgroup}. You can search the archives of this -group with @uref{http://groups.google.com/group/gnu.emacs.sources, Google}, -or @uref{http://dir.gmane.org/gmane.emacs.sources, Gmane}, for example. - -Several packages are stored in -@uref{http://emacswiki.org/elisp/, the Lisp area of the Emacs Wiki}. - -Read the file @file{etc/MORE.STUFF} for more information about -external packages. +The easiest way to add more features to your Emacs is to use the +command @kbd{M-x list-packages}. This contacts the +@uref{http:///elpa.gnu.org, GNU ELPA} (``Emacs Lisp Package Archive'') +server and fetches the list of additional packages that it offers. +These are GNU packages that are available for use with Emacs, but are +distributed separately from Emacs itself, for reasons of space, etc. +You can browse the resulting @file{*Packages*} buffer to see what is +available, and then Emacs can automatically download and install the +packages that you select. @xref{Packages,,, emacs, The GNU Emacs Manual}. + +There are other, non-GNU, Emacs Lisp package servers, including: +@uref{http://melpa.milkbox.net, MELPA}; and +@uref{http://marmalade-repo.org, Marmalade}. To use additional +package servers, customize the @code{package-archives} variable. +Be aware that installing a package can run arbitrary code, so only add +sources that you trust. + +The @uref{https://lists.gnu.org/mailman/listinfo/gnu-emacs-sources, +GNU Emacs sources mailing list}, which is gatewayed to the +@uref{news:gnu.emacs.sources, Emacs sources newsgroup} (although the +connection between the two can be unreliable) is an official place +where people can post or announce their extensions to Emacs. + +The @uref{http://emacswiki.org, Emacs Wiki} contains pointers to some +additional extensions. @uref{http://wikemacs.org, WikEmacs} is an +alternative wiki for Emacs. + +@uref{http://www.damtp.cam.ac.uk/user/sje30/emacs/ell.html, The Emacs +Lisp List (ELL)}, has pointers to many Emacs Lisp files, but at time +of writing it is no longer being updated. + +It is impossible for us to list here all the sites that offer Emacs +Lisp packages. If you are interested in a specific feature, then +after checking Emacs itself and GNU ELPA, a web search is often the +best way to find results. @node Spell-checkers @section Spell-checkers -- cgit v1.2.1 From 3c8b09ca2e01b0ef0c1b6651fab54194f0019fdc Mon Sep 17 00:00:00 2001 From: Bastien Guerry Date: Tue, 7 Jan 2014 14:22:53 +0100 Subject: Merge Org version 8.2.5c. --- doc/misc/ChangeLog | 20 +++++++++++++ doc/misc/org.texi | 84 +++++++++++++++++++++++++++++++++++++++++++----------- 2 files changed, 88 insertions(+), 16 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 187493d5557..df132b647a6 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,23 @@ +2013-01-07 Rasmus + + * misc/org.texi (Global and local cycling): Fix missing '@'. + +2013-01-07 Bastien Guerry + + * misc/org.texi (Global and local cycling): Mention C-u C-u TAB. + (Include files, The Export Dispatcher) + (Advanced configuration) + (Header arguments in Org mode properties): Spelling fixes. + (Special blocks): Add #+BEGIN_ABSTRACT as another example. + (@LaTeX{} specific attributes): New index entries. Use + #+BEGIN_ABSTRACT in the example. + +2013-01-07 Nicolas Goaziou + + * misc/org.texi (Org export): New section. + (HTML doctypes): Fix whitespace error. Fix display. + (Publishing options): Add missing html publishing options. + 2014-01-07 Glenn Morris * efaq.texi (Basic editing, Packages that do not come with Emacs): diff --git a/doc/misc/org.texi b/doc/misc/org.texi index bd024e1edd3..b5ccb2b0767 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi @@ -2,7 +2,8 @@ @c %**start of header @setfilename ../../info/org @settitle The Org Manual -@set VERSION 8.2.4 + +@include org-version.inc @c Use proper quote and backtick for code sections in PDF output @c Cf. Texinfo manual 14.2 @@ -280,7 +281,7 @@ modify this GNU manual.'' @dircategory Emacs editing modes @direntry -* Org Mode: (org). Outline-based notes management and organizer. +* Org Mode: (org). Outline-based notes management and organizer @end direntry @titlepage @@ -588,6 +589,7 @@ Exporting * @LaTeX{} and PDF export:: Exporting to @LaTeX{}, and processing to PDF * Markdown export:: Exporting to Markdown * OpenDocument Text export:: Exporting to OpenDocument Text +* Org export:: Exporting to Org * iCalendar export:: Exporting to iCalendar * Other built-in back-ends:: Exporting to @code{Texinfo}, a man page, or Org * Export in foreign buffers:: Author tables in lists in Org syntax @@ -1283,6 +1285,9 @@ When @kbd{S-@key{TAB}} is called with a numeric prefix argument N, the CONTENTS view up to headlines of level N will be shown. Note that inside tables, @kbd{S-@key{TAB}} jumps to the previous field. +@cindex set startup visibility, command +@orgcmd{C-u C-u @key{TAB},org-set-startup-visibility} +Switch back to the startup visibility of the buffer (@pxref{Initial visibility}). @cindex show all, command @orgcmd{C-u C-u C-u @key{TAB},show-all} Show all, including drawers. @@ -10313,12 +10318,19 @@ Org syntax includes pre-defined blocks (@pxref{Paragraphs} and @ref{Literal examples}). It is also possible to create blocks containing raw code targeted at a specific back-ends (e.g., @samp{#+BEGIN_LATEX}). -Any other block is a @emph{special block}. Each export back-end decides if -they should be exported, and how. When the block is ignored, its contents -are still exported, as if the block were not there. For example, when -exporting a @samp{#+BEGIN_TEST} block, HTML back-end wraps its contents -within @samp{
} tag. Refer to back-end specific -documentation for more information. +Any other block is a @emph{special block}. + +For example, @samp{#+BEGIN_ABSTRACT} and @samp{#+BEGIN_VIDEO} are special +blocks. The first one is useful when exporting to @LaTeX{}, the second one +when exporting to HTML5. + +Each export back-end decides if they should be exported, and how. When the +block is ignored, its contents are still exported, as if the opening and +closing block lines were not there. For example, when exporting a +@samp{#+BEGIN_TEST} block, HTML back-end wraps its contents within a +@samp{
} tag. + +Refer to back-end specific documentation for more information. @node Exporting, Publishing, Markup, Top @chapter Exporting @@ -10350,6 +10362,7 @@ in the iCalendar format. * @LaTeX{} and PDF export:: Exporting to @LaTeX{}, and processing to PDF * Markdown export:: Exporting to Markdown * OpenDocument Text export:: Exporting to OpenDocument Text +* Org export:: Exporting to Org * iCalendar export:: Exporting to iCalendar * Other built-in back-ends:: Exporting to @code{Texinfo}, a man page, or Org * Export in foreign buffers:: Author tables in lists in Org syntax @@ -10449,6 +10462,7 @@ Built-in back-ends include: @item man (Man page format) @item md (Markdown format) @item odt (OpenDocument Text format) +@item org (Org format) @item texinfo (Texinfo format) @end itemize @@ -11107,12 +11121,12 @@ Becomes: @end example Special blocks that do not correspond to HTML5 elements (see -@code{org-html-html5-elements}) will revert to the usual behavior, -i.e. #+BEGIN_LEDERHOSEN will still export to
. +@code{org-html-html5-elements}) will revert to the usual behavior, i.e., +@code{#+BEGIN_LEDERHOSEN} will still export to @samp{
}. Headlines cannot appear within special blocks. To wrap a headline and its -contents in e.g.
or
tags, set the @code{HTML_CONTAINER} -property on the headline itself. +contents in e.g., @samp{
} or @samp{
} tags, set the +@code{HTML_CONTAINER} property on the headline itself. @node HTML preamble and postamble, Quoting HTML tags, HTML doctypes, HTML export @subsection HTML preamble and postamble @@ -11791,12 +11805,18 @@ Code that may not fit in a single page. @subsubheading Special blocks in @LaTeX{} export @cindex special blocks, in @LaTeX{} export +@cindex abstract, in @LaTeX{} export +@cindex proof, in @LaTeX{} export In @LaTeX{} back-end, special blocks become environments of the same name. Value of @code{:options} attribute will be appended as-is to that environment's opening string. For example: @example +#+BEGIN_ABSTRACT +We demonstrate how to solve the Syracuse problem. +#+END_ABSTRACT + #+ATTR_LATEX: :options [Proof of important theorem] #+BEGIN_PROOF ... @@ -11808,6 +11828,10 @@ Therefore, any even number greater than 2 is the sum of two primes. becomes @example +\begin@{abstract@} +We demonstrate how to solve the Syracuse problem. +\end@{abstract@} + \begin@{proof@}[Proof of important theorem] ... Therefore, any even number greater than 2 is the sum of two primes. @@ -11872,7 +11896,7 @@ that one (@pxref{Export settings}). @c begin opendocument -@node OpenDocument Text export, iCalendar export, Markdown export, Exporting +@node OpenDocument Text export, Org export, Markdown export, Exporting @section OpenDocument Text export @cindex ODT @cindex OpenDocument @@ -12789,7 +12813,28 @@ will take care of updating the @code{rng-schema-locating-files} for you. @c end opendocument -@node iCalendar export, Other built-in back-ends, OpenDocument Text export, Exporting +@node Org export +@section Org export +@cindex Org export + +@code{org} export back-end creates a normalized version of the Org document +in current buffer. In particular, it evaluates Babel code (@pxref{Evaluating +code blocks}) and removes other back-ends specific contents. + +@subheading Org export commands + +@table @kbd +@orgcmd{C-c C-e O o,org-org-export-to-org} +Export as an Org document. For an Org file, @file{myfile.org}, the resulting +file will be @file{myfile.org.org}. The file will be overwritten without +warning. +@orgcmd{C-c C-e O O,org-org-export-as-org} +Export to a temporary buffer. Do not create a file. +@item C-c C-e O v +Export to an Org file, then open it. +@end table + +@node iCalendar export, Other built-in back-ends, Org export, Exporting @section iCalendar export @cindex iCalendar export @@ -12868,7 +12913,6 @@ On top of the aforementioned back-ends, Org comes with other built-in ones: @itemize @item @file{ox-man.el}: export to a man page. @item @file{ox-texinfo.el}: export to @code{Texinfo} format. -@item @file{ox-org.el}: export to an Org document. @end itemize To activate these export back-end, customize @code{org-export-backends} or @@ -13314,10 +13358,13 @@ string of these options for details. @end multitable @vindex org-html-doctype +@vindex org-html-container-element +@vindex org-html-html5-fancy @vindex org-html-xml-declaration @vindex org-html-link-up @vindex org-html-link-home @vindex org-html-link-org-files-as-html +@vindex org-html-link-use-abs-url @vindex org-html-head @vindex org-html-head-extra @vindex org-html-inline-images @@ -13325,21 +13372,26 @@ string of these options for details. @vindex org-html-preamble @vindex org-html-postamble @vindex org-html-table-default-attributes +@vindex org-html-table-row-tags @vindex org-html-head-include-default-style @vindex org-html-head-include-scripts @multitable @columnfractions 0.32 0.68 @item @code{:html-doctype} @tab @code{org-html-doctype} +@item @code{:html-container} @tab @code{org-html-container-element} +@item @code{:html-html5-fancy} @tab @code{org-html-html5-fancy} @item @code{:html-xml-declaration} @tab @code{org-html-xml-declaration} @item @code{:html-link-up} @tab @code{org-html-link-up} @item @code{:html-link-home} @tab @code{org-html-link-home} @item @code{:html-link-org-as-html} @tab @code{org-html-link-org-files-as-html} +@item @code{:html-link-use-abs-url} @tab @code{org-html-link-use-abs-url} @item @code{:html-head} @tab @code{org-html-head} @item @code{:html-head-extra} @tab @code{org-html-head-extra} @item @code{:html-inline-images} @tab @code{org-html-inline-images} @item @code{:html-extension} @tab @code{org-html-extension} @item @code{:html-preamble} @tab @code{org-html-preamble} @item @code{:html-postamble} @tab @code{org-html-postamble} -@item @code{:html-table-attributes} @tab @code{org-html-table-default-attributes} +@item @code{:html-table-attributes} @tab @code{org-html-table-default-attributes} +@item @code{:html-table-row-tags} @tab @code{org-html-table-row-tags} @item @code{:html-head-include-default-style} @tab @code{org-html-head-include-default-style} @item @code{:html-head-include-scripts} @tab @code{org-html-head-include-scripts} @end multitable -- cgit v1.2.1 From 0030ec15c34c79aba52f3e599a146ee7dc4462e3 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 7 Jan 2014 08:50:03 -0800 Subject: * lisp/menu-bar.el (menu-bar-help-extra-packages): Remove. (menu-bar-help-menu): Use view-external-packages instead. * doc/misc/faq.texi: Comment. --- doc/misc/efaq.texi | 1 + 1 file changed, 1 insertion(+) (limited to 'doc') diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index 35fb9c93b2f..a731b9b6b4b 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi @@ -3299,6 +3299,7 @@ the constituent Emacs packages. For advice on how to find extra packages that are not part of Emacs, see @ref{Packages that do not come with Emacs}. +@c Note that M-x view-external-packages references this node. @node Packages that do not come with Emacs @section Where can I get Emacs Lisp packages that don't come with Emacs? @cindex Unbundled packages -- cgit v1.2.1 From cfdaa1500664e65a158805d35638c277f9489a39 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 7 Jan 2014 08:55:17 -0800 Subject: ChangeLog fixes --- doc/emacs/ChangeLog | 6 +++--- doc/lispref/ChangeLog | 15 ++++++--------- doc/misc/ChangeLog | 12 ++++++------ 3 files changed, 15 insertions(+), 18 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index ba18eefaed8..b699ae4b651 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -3117,9 +3117,9 @@ 2010-03-27 Nick Roberts - doc/emacs/building.texi: Describe restored GDB/MI functionality + * building.texi: Describe restored GDB/MI functionality removed by 2009-12-29T07:15:34Z!nickrob@snap.net.nz. - doc/emacs/emacs.texi: Update node names for building.texi. + * emacs.texi: Update node names for building.texi. 2010-03-24 Glenn Morris @@ -4936,7 +4936,7 @@ 2008-05-02 Eric S. Raymond - * emacs/buffers.texi, emacs/files.texi (Version-control): + * buffers.texi, files.texi (Version-control): vc-toggle-read-only is no longer a good idea... 2008-04-29 Glenn Morris diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 4de37bdb1af..dfe9e6de7de 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -11738,15 +11738,12 @@ 2003-11-02 Jesper Harder (tiny change) - * lispref/anti.texi, lispref/backups.texi, lispref/commands.texi - lispref/customize.texi, lispref/display.texi, lispref/files.texi, - lispref/internals.texi, lispref/keymaps.texi, lispref/loading.texi, - lispref/modes.texi, lispref/nonascii.texi, lispref/numbers.texi, - lispref/objects.texi, lispref/os.texi, lispref/positions.texi, - lispref/processes.texi, lispref/searching.texi, - lispref/sequences.texi, lispref/streams.texi, lispref/strings.texi, - lispref/syntax.texi, lispref/text.texi: Replace @sc{foo} with - @acronym{FOO}. + * anti.texi, backups.texi, commands.texi, customize.texi: + * display.texi, files.texi, internals.texi, keymaps.texi: + * loading.texi, modes.texi, nonascii.texi, numbers.texi: + * objects.texi, os.texi, positions.texi, processes.texi: + * searching.texi, sequences.texi, streams.texi, strings.texi: + * syntax.texi, text.texi: Replace @sc{foo} with @acronym{FOO}. 2003-10-27 Luc Teirlinck diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index df132b647a6..cc426378f94 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,10 +1,10 @@ 2013-01-07 Rasmus - * misc/org.texi (Global and local cycling): Fix missing '@'. + * org.texi (Global and local cycling): Fix missing '@'. 2013-01-07 Bastien Guerry - * misc/org.texi (Global and local cycling): Mention C-u C-u TAB. + * org.texi (Global and local cycling): Mention C-u C-u TAB. (Include files, The Export Dispatcher) (Advanced configuration) (Header arguments in Org mode properties): Spelling fixes. @@ -14,7 +14,7 @@ 2013-01-07 Nicolas Goaziou - * misc/org.texi (Org export): New section. + * org.texi (Org export): New section. (HTML doctypes): Fix whitespace error. Fix display. (Publishing options): Add missing html publishing options. @@ -1211,7 +1211,7 @@ 2013-02-07 Eric Ludlam - * doc/misc/ede.texi (Creating a project): Make ede-new doc less + * ede.texi (Creating a project): Make ede-new doc less specific, and only about items it supports, indicating that there might be more. Remove refs to simple project and direct automake from ede new. @@ -1543,7 +1543,7 @@ 2012-11-22 Jay Belanger - * doc/misc/calc.texi (Date Forms): Mention the customizable + * calc.texi (Date Forms): Mention the customizable Gregorian-Julian switch. (Customizing Calc): Mention the variable `calc-gregorian-switch'. @@ -2208,7 +2208,7 @@ 2012-05-19 Jay Belanger - * doc/misc/calc.texi (Basic Operations on Units, Customizing Calc): + * calc.texi (Basic Operations on Units, Customizing Calc): Mention `calc-ensure-consistent-units'. 2012-05-14 Andreas Schwab -- cgit v1.2.1 From 6f66f53f650ef7533562e8e81aae044c496eb584 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 7 Jan 2014 08:59:24 -0800 Subject: Fix previous change --- doc/misc/org.texi | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/misc/org.texi b/doc/misc/org.texi index b5ccb2b0767..cb2034cdca5 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi @@ -2,8 +2,7 @@ @c %**start of header @setfilename ../../info/org @settitle The Org Manual - -@include org-version.inc +@set VERSION 8.2.5c @c Use proper quote and backtick for code sections in PDF output @c Cf. Texinfo manual 14.2 @@ -281,7 +280,7 @@ modify this GNU manual.'' @dircategory Emacs editing modes @direntry -* Org Mode: (org). Outline-based notes management and organizer +* Org Mode: (org). Outline-based notes management and organizer. @end direntry @titlepage -- cgit v1.2.1 From 160006268a4fa72cda6a5f75b6595eb5757c46e9 Mon Sep 17 00:00:00 2001 From: Bastien Guerry Date: Tue, 7 Jan 2014 19:01:12 +0100 Subject: buffers.texi: Fix typo in @math construct. * buffers.texi (Buffers): Fix display of @math content by using nested braces. (Bug#16389) Note that the HTML and plaintext output will use the curly braces like 2^{61} -- but it's better than to have a wrong display of 2^61 in the PDF and printed versions. --- doc/emacs/ChangeLog | 5 +++++ doc/emacs/buffers.texi | 6 +++--- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index b699ae4b651..8db5ab808ce 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,8 @@ +2014-01-07 Bastien Guerry + + * buffers.texi (Buffers): Fix display of @math content by using + nested braces. (Bug#16389) + 2014-01-07 Chong Yidong * search.texi (Special Isearch): Document C-x 8 RET in isearch. diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi index 9e544fe16f1..695ea96c363 100644 --- a/doc/emacs/buffers.texi +++ b/doc/emacs/buffers.texi @@ -43,9 +43,9 @@ variables}---variables that can have a different value in each buffer. A buffer's size cannot be larger than some maximum, which is defined by the largest buffer position representable by @dfn{Emacs integers}. This is because Emacs tracks buffer positions using that data type. -For typical 64-bit machines, this maximum buffer size is @math{2^61 - -2} bytes, or about 2 EiB@. For typical 32-bit machines, the maximum is -usually @math{2^29 - 2} bytes, or about 512 MiB@. Buffer sizes are +For typical 64-bit machines, this maximum buffer size is @math{2^{61} - 2} +bytes, or about 2 EiB@. For typical 32-bit machines, the maximum is +usually @math{2^{29} - 2} bytes, or about 512 MiB@. Buffer sizes are also limited by the amount of memory in the system. @menu -- cgit v1.2.1 From d831c9b86499f132a33666d58841c79a338d92dc Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 7 Jan 2014 13:50:49 -0500 Subject: Fix some superscript typos in doc/ * doc/lispref/files.texi (File Attributes): * doc/misc/efaq.texi (Problems with very large files): Fix superscript typo. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/files.texi | 2 +- doc/misc/ChangeLog | 4 ++++ doc/misc/efaq.texi | 2 +- 4 files changed, 10 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index dfe9e6de7de..f6343606b94 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2014-01-07 Glenn Morris + + * files.texi (File Attributes): Fix superscipt typo. + 2014-01-07 Chong Yidong * files.texi (Changing Files): Document copy-file changes. diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 934ccaeadbe..6f205ebe840 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -1205,7 +1205,7 @@ An unspecified value, present for backward compatibility. @item The file's inode number. If possible, this is an integer. If the inode number is too large to be represented as an integer in Emacs -Lisp but dividing it by @math{2^16} yields a representable integer, +Lisp but dividing it by @math{2^{16}} yields a representable integer, then the value has the form @code{(@var{high} . @var{low})}, where @var{low} holds the low 16 bits. If the inode number is too wide for even that, the value is of the form diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index cc426378f94..46fb672e28a 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-01-07 Glenn Morris + + * efaq.texi (Problems with very large files): Fix superscript typo. + 2013-01-07 Rasmus * org.texi (Global and local cycling): Fix missing '@'. diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index a731b9b6b4b..aaca5d6f0c1 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi @@ -2750,7 +2750,7 @@ type @kbd{C-h C-p} to read it. Old versions (i.e., anything before 19.29) of Emacs had problems editing files larger than 8 megabytes. In versions 19.29 and later, the maximum -buffer size is at least 2^27@minus{}1, or 134,217,727 bytes, or 132 MBytes. +buffer size is at least @math{2^{27}-1}, or 134,217,727 bytes, or 132 MBytes. The maximum buffer size on 32-bit machines increased to 256 MBytes in Emacs 22, and again to 512 MBytes in Emacs 23.2. -- cgit v1.2.1 From 136b74c53a66ae5607e0604246dc127718d3c5e6 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 8 Jan 2014 11:16:10 -0800 Subject: Spelling fixes. * lisp/language/china-util.el (hz-ascii-designation): Rename from hz-ascii-designnation. (hz-ascii-designation): Rename from hz-ascii-designnation. All uses changed. * lisp/cedet/semantic/decorate/include.el (semantic-decoration-mouse-3): Rename from semantic-decoratiton-mouse-3. All uses changed. * lisp/org/org-irc.el (org-irc-ellipsify-description): Rename from org-irc-elipsify-description. All uses changed. --- doc/emacs/programs.texi | 2 +- doc/lispintro/emacs-lisp-intro.texi | 1 - doc/lispref/help.texi | 2 +- doc/misc/semantic.texi | 2 +- 4 files changed, 3 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi index 256218e42c7..f38edd4fe73 100644 --- a/doc/emacs/programs.texi +++ b/doc/emacs/programs.texi @@ -1220,7 +1220,7 @@ variables that you want to use. @xref{Name Help}. @cindex Eldoc mode @findex eldoc-mode Eldoc is a buffer-local minor mode that helps with looking up Lisp -documention. When it is enabled, the echo area displays some useful +documentation. When it is enabled, the echo area displays some useful information whenever there is a Lisp function or variable at point; for a function, it shows the argument list, and for a variable it shows the first line of the variable's documentation string. To diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 3c994796193..8c3574f75f7 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -11912,7 +11912,6 @@ more steps. @node No deferment solution @subsection No Deferment Solution @cindex No deferment solution -@cindex Defermentless solution @cindex Solution without deferment The solution to the problem of deferred operations is to write in a diff --git a/doc/lispref/help.texi b/doc/lispref/help.texi index 7a6836fb68f..50103d3a8b3 100644 --- a/doc/lispref/help.texi +++ b/doc/lispref/help.texi @@ -59,7 +59,7 @@ Documentation}. You can also put function documentation in the (@pxref{Accessing Documentation}). @cindex @code{variable-documentation} property - In a variable definition (a @code{defvar} form), the documention + In a variable definition (a @code{defvar} form), the documentation string is specified after the initial value. @xref{Defining Variables}. The string is stored in the variable's @code{variable-documentation} property. diff --git a/doc/misc/semantic.texi b/doc/misc/semantic.texi index 17d1aa7a5ac..6e39d410223 100644 --- a/doc/misc/semantic.texi +++ b/doc/misc/semantic.texi @@ -355,7 +355,7 @@ tags are @emph{saved} while a buffer is not in memory. The database and tables both also provide applicable cache information, and cache flushing system. The semanticdb search routines use caches -to save datastructures that are complex to calculate. +to save data structures that are complex to calculate. Lastly, it provides the concept of @dfn{project root}. It is a system by which a file can be associated with the root of a project, so if -- cgit v1.2.1 From a7fecaa0c5f8247c3b3747506201ec2a2ecbe292 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Thu, 9 Jan 2014 14:34:36 +0100 Subject: Document Image Mode's new animation features. * etc/NEWS: Better document the speed up, slow down, or reverse animation in Image Mode. * files.texi (File Conveniences): Document `image-next-frame', `image-previous-frame', `image-goto-frame', `image-increase-speed', `image-decrease-speed', `image-reverse-speed', and `image-reset-speed'. --- doc/emacs/ChangeLog | 7 +++++++ doc/emacs/files.texi | 26 +++++++++++++++++++++----- 2 files changed, 28 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 8db5ab808ce..3b81e731640 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,10 @@ +2014-01-09 Rüdiger Sonderfeld + + * files.texi (File Conveniences): Document `image-next-frame', + `image-previous-frame', `image-goto-frame', + `image-increase-speed', `image-decrease-speed', + `image-reverse-speed', and `image-reset-speed'. + 2014-01-07 Bastien Guerry * buffers.texi (Buffers): Fix display of @math content by using diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index 78a820b4efc..449ad9f2aa1 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi @@ -1944,12 +1944,9 @@ point. Partial Completion mode offers other features extending @findex image-mode @findex image-toggle-display -@findex image-toggle-animation @findex image-next-file @findex image-previous-file @cindex images, viewing -@cindex image animation -@cindex animated images Visiting image files automatically selects Image mode. In this major mode, you can type @kbd{C-c C-c} (@code{image-toggle-display}) to toggle between displaying the file as an image in the Emacs buffer, @@ -1962,10 +1959,29 @@ displayed. You can press @kbd{n} (@code{image-next-file}) and @kbd{p} (@code{image-previous-file}) to visit the next image file and the previous image file in the same directory, respectively. -If the image can be animated, the command @kbd{RET} +@findex image-toggle-animation +@findex image-next-frame +@findex image-previous-frame +@findex image-goto-frame +@findex image-increase-speed +@findex image-decrease-speed +@findex image-reset-speed +@findex image-reverse-speed +@vindex image-animate-loop +@cindex image animation +@cindex animated images + If the image can be animated, the command @kbd{RET} (@code{image-toggle-animation}) starts or stops the animation. Animation plays once, unless the option @code{image-animate-loop} is -non-@code{nil}. +non-@code{nil}. With @kbd{f} (@code{image-next-frame}) and @kbd{b} +(@code{image-previous-frame}) you can step through the individual +frames. Both commands accept a numeric prefix to step through several +frames at once. You can go to a specific frame with @kbd{F} +(@code{image-goto-frame}). The speed of the animation can be +increased by pressing @kbd{a +} (@code{image-increase-speed}) and +decreased by pressing @kbd{a -} (@code{image-decrease-speed}). With +@kbd{a r} (@code{image-reverse-speed}) the speed is reversed. You can +reset the speed with @kbd{a 0} (@code{image-reset-speed}). @cindex ImageMagick support @vindex imagemagick-enabled-types -- cgit v1.2.1 From fa49b46991ddc7c30c0aa526ad8966bddccc26e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Thu, 9 Jan 2014 17:54:54 +0100 Subject: Document `string-suffix-p'. * doc/lispref/strings.texi (Text Comparison): Document `string-suffix-p'. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/strings.texi | 7 +++++++ 2 files changed, 11 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index f6343606b94..93bfcbbd6df 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2014-01-09 Rüdiger Sonderfeld + + * strings.texi (Text Comparison): Document `string-suffix-p'. + 2014-01-07 Glenn Morris * files.texi (File Attributes): Fix superscipt typo. diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi index 61e44fbafac..684133a7e1a 100644 --- a/doc/lispref/strings.texi +++ b/doc/lispref/strings.texi @@ -521,6 +521,13 @@ the optional argument @var{ignore-case} is non-@code{nil}, the comparison ignores case differences. @end defun +@defun string-suffix-p suffix string &optional ignore-case +This function returns non-@code{nil} if @var{suffix} is a suffix of +@var{string}; i.e., if @var{string} ends with @var{suffix}. If the +optional argument @var{ignore-case} is non-@code{nil}, the comparison +ignorescase differences. +@end defun + @defun compare-strings string1 start1 end1 string2 start2 end2 &optional ignore-case This function compares a specified part of @var{string1} with a specified part of @var{string2}. The specified part of @var{string1} -- cgit v1.2.1 From ec918aabb3f24f37af0db937446d269273a390c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Thu, 9 Jan 2014 18:25:48 +0100 Subject: Document `load-prefer-newer'. * doc/emacs/building.texi (Lisp Libraries): Document `load-prefer-newer'. It is already documented in lispref. --- doc/emacs/ChangeLog | 2 ++ doc/emacs/building.texi | 15 +++++++++------ 2 files changed, 11 insertions(+), 6 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 3b81e731640..7f0ca7184e2 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,7 @@ 2014-01-09 Rüdiger Sonderfeld + * building.texi (Lisp Libraries): Document `load-prefer-newer'. + * files.texi (File Conveniences): Document `image-next-frame', `image-previous-frame', `image-goto-frame', `image-increase-speed', `image-decrease-speed', diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi index fdb38bfd4d1..1df4dcdf833 100644 --- a/doc/emacs/building.texi +++ b/doc/emacs/building.texi @@ -1348,6 +1348,7 @@ not from an existing Emacs buffer. @findex load @findex load-library +@vindex load-prefer-newer @cindex load path for Emacs Lisp If an Emacs Lisp file is installed in the Emacs Lisp @dfn{load path} (defined below), you can load it by typing @kbd{M-x load-library}, @@ -1356,15 +1357,17 @@ command prompts for a @dfn{library name} rather than a file name; it searches through each directory in the Emacs Lisp load path, trying to find a file matching that library name. If the library name is @samp{@var{foo}}, it tries looking for files named -@file{@var{foo}.elc}, @file{@var{foo}.el}, and lastly just -@file{@var{foo}}; the first one found is loaded. This command prefers -@file{.elc} files over @file{.el} files because compiled files load -and run faster. If it finds that @file{@var{lib}.el} is newer than -@file{@var{lib}.elc}, it issues a warning, in case someone made +@file{@var{foo}.elc}, @file{@var{foo}.el}, and @file{@var{foo}}. The +default behaviour is to load the first file found. This command +prefers @file{.elc} files over @file{.el} files because compiled files +load and run faster. If it finds that @file{@var{lib}.el} is newer +than @file{@var{lib}.elc}, it issues a warning, in case someone made changes to the @file{.el} file and forgot to recompile it, but loads the @file{.elc} file anyway. (Due to this behavior, you can save unfinished edits to Emacs Lisp source files, and not recompile until -your changes are ready for use.) +your changes are ready for use.) However setting +@code{load-prefer-newer} to a non-@code{nil} value will Emacs load the +newest version of the file found. Emacs Lisp programs usually load Emacs Lisp files using the @code{load} function. This is similar to @code{load-library}, but is -- cgit v1.2.1 From 1e10b16150ad9875a9e844622ec9b1299be6eca4 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 9 Jan 2014 14:07:33 -0500 Subject: Fix doc typo in previous --- doc/lispref/strings.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi index 684133a7e1a..5c814b22b2d 100644 --- a/doc/lispref/strings.texi +++ b/doc/lispref/strings.texi @@ -525,7 +525,7 @@ comparison ignores case differences. This function returns non-@code{nil} if @var{suffix} is a suffix of @var{string}; i.e., if @var{string} ends with @var{suffix}. If the optional argument @var{ignore-case} is non-@code{nil}, the comparison -ignorescase differences. +ignores case differences. @end defun @defun compare-strings string1 start1 end1 string2 start2 end2 &optional ignore-case -- cgit v1.2.1 From 97a42888e11865c5e434ae781058578fa786ac95 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 9 Jan 2014 14:11:39 -0500 Subject: Copyedit for previous doc/emacs/building.texi change --- doc/emacs/building.texi | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi index 1df4dcdf833..392c298fa70 100644 --- a/doc/emacs/building.texi +++ b/doc/emacs/building.texi @@ -1365,9 +1365,10 @@ than @file{@var{lib}.elc}, it issues a warning, in case someone made changes to the @file{.el} file and forgot to recompile it, but loads the @file{.elc} file anyway. (Due to this behavior, you can save unfinished edits to Emacs Lisp source files, and not recompile until -your changes are ready for use.) However setting -@code{load-prefer-newer} to a non-@code{nil} value will Emacs load the -newest version of the file found. +your changes are ready for use.) If you set the option +@code{load-prefer-newer} to a non-@code{nil} value, however, then +rather than the procedure described above, Emacs loads whichever +version of the file is newest. Emacs Lisp programs usually load Emacs Lisp files using the @code{load} function. This is similar to @code{load-library}, but is -- cgit v1.2.1 From 1669fab91c67287fbfdf7d1ace8128b8a3df28bd Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 9 Jan 2014 14:40:57 -0500 Subject: Refer to online service directory rather than etc/SERVICE * doc/emacs/trouble.texi (Service): * doc/man/emacs.1: Refer to online service directory rather than etc/SERVICE. * etc/SERVICE: Mark as obsolete. --- doc/emacs/ChangeLog | 5 +++++ doc/emacs/trouble.texi | 5 ++--- doc/man/ChangeLog | 4 ++++ doc/man/emacs.1 | 7 ++----- 4 files changed, 13 insertions(+), 8 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 7f0ca7184e2..b91d9c3075c 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,8 @@ +2014-01-09 Glenn Morris + + * trouble.texi (Service): Refer to online service directory + rather than etc/SERVICE. + 2014-01-09 Rüdiger Sonderfeld * building.texi (Lisp Libraries): Document `load-prefer-newer'. diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi index 137f2738b5b..eeb810fccb7 100644 --- a/doc/emacs/trouble.texi +++ b/doc/emacs/trouble.texi @@ -1198,9 +1198,8 @@ 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. -The service directory is found in the file named @file{etc/SERVICE} in the -Emacs distribution. +Look in the @uref{http://www.fsf.org/resources/service/, service +directory} for someone who might help you for a fee. @end itemize @ifnottex diff --git a/doc/man/ChangeLog b/doc/man/ChangeLog index 6a299469bdb..37f765db00f 100644 --- a/doc/man/ChangeLog +++ b/doc/man/ChangeLog @@ -1,3 +1,7 @@ +2014-01-09 Glenn Morris + + * emacs.1: Refer to online service directory rather than etc/SERVICE. + 2013-08-31 Ulrich Müller * emacs.1: Update manual links. diff --git a/doc/man/emacs.1 b/doc/man/emacs.1 index 3078c29e25a..bd568a2e9da 100644 --- a/doc/man/emacs.1 +++ b/doc/man/emacs.1 @@ -576,9 +576,6 @@ strings for the Lisp primitives and preloaded Lisp functions of GNU Emacs. They are stored here to reduce the size of Emacs proper. -/usr/local/share/emacs/$VERSION/etc/SERVICE lists people offering -various services to assist users of GNU Emacs, including education, -troubleshooting, porting and customization. . . .SH BUGS @@ -597,8 +594,8 @@ easily reproduced. Do not expect a personal answer to a bug report. The purpose of reporting bugs is to get them fixed for everyone in the next release, if possible. -For personal assistance, look in the SERVICE file (see above) for -a list of people who offer it. +For personal assistance, consult the service directory at + for a list of people who offer it. Please do not send anything but bug reports to this mailing list. For more information about Emacs mailing lists, see the -- cgit v1.2.1 From 548a1b28ffcf20e21373e822ccc6cdc078eb42c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Fri, 10 Jan 2014 00:21:56 +0100 Subject: Document EWW. * doc/emacs/emacs.texi: Add EWW. * doc/emacs/misc.texi (EWW): Document EWW. * doc/misc/Makefile.in: Add eww.texi. * doc/misc/eww.texi: New file. --- doc/emacs/ChangeLog | 6 ++ doc/emacs/emacs.texi | 1 + doc/emacs/misc.texi | 12 +++ doc/misc/ChangeLog | 5 + doc/misc/Makefile.in | 14 ++- doc/misc/eww.texi | 254 +++++++++++++++++++++++++++++++++++++++++++++++++++ 6 files changed, 291 insertions(+), 1 deletion(-) create mode 100644 doc/misc/eww.texi (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index b91d9c3075c..49dea7ba879 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,9 @@ +2014-01-09 Rüdiger Sonderfeld + + * emacs.texi: Add EWW. + + * misc.texi (EWW): Document EWW. + 2014-01-09 Glenn Morris * trouble.texi (Service): Refer to online service directory diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 691c8bd8ff5..8ec4fb5880d 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -190,6 +190,7 @@ Advanced Features * Rmail:: Reading mail in Emacs. * Gnus:: A flexible mail and news reader. * Document View:: Viewing PDF, PS and DVI files. +* EWW:: A web browser in Emacs. * Shell:: Executing shell commands from Emacs. * Emacs Server:: Using Emacs as an editing server. * Printing:: Printing hardcopies of buffers or regions. diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index 8cdeab98677..aed854e1a3f 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi @@ -439,6 +439,18 @@ associated with the current buffer, type @kbd{K} (@code{doc-view-kill-proc-and-buffer}) kills the converter process and the DocView buffer. +@node EWW +@section Web Browsing with EWW + +@findex eww +@findex eww-open-file + @dfn{EWW}, the Emacs Web Wowser, is a web browser package for Emacs. +It allows browsing URLs within an Emacs buffer. The command @kbd{M-x +eww} can be used to open a URL or search the web. A file can be +opened using the command @kbd{M-x eww-open-file}. EWW can be used as +web browser for @code{browse-url}, see @ref{Browse-URL}. For full +details, see @ref{Top, EWW,, eww, The Emacs Web Wowser Manual}. + @node Shell @section Running Shell Commands from Emacs @cindex subshell diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 46fb672e28a..41e7e3d768f 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,8 @@ +2014-01-09 Rüdiger Sonderfeld + + * Makefile.in: Add eww.texi. + * eww.texi: New file. + 2014-01-07 Glenn Morris * efaq.texi (Problems with very large files): Fix superscript typo. diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index 8b8d8a606c9..b3318ddd183 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in @@ -65,7 +65,7 @@ DOCMISC_W32 = @DOCMISC_W32@ ## Info files to build and install on all platforms. INFO_COMMON = ada-mode auth autotype bovine calc ccmode cl \ dbus dired-x ebrowse ede ediff edt eieio \ - emacs-mime epa erc ert eshell eudc efaq \ + emacs-mime epa erc ert eshell eudc efaq eww \ flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info \ mairix-el message mh-e newsticker nxml-mode octave-mode \ org pcl-cvs pgg rcirc remember reftex sasl \ @@ -410,6 +410,18 @@ eudc.pdf: $(eudc_deps) eudc.html: $(eudc_deps) $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/eudc.texi +eww_deps = ${srcdir}/eww.texi $(emacsdir)/emacsver.texi ${gfdl} +eww : $(buildinfodir)/eww$(INFO_EXT) +$(buildinfodir)/eww$(INFO_EXT): $(eww_deps) + $(mkinfodir) + $(MAKEINFO) $(MAKEINFO_OPTS) $(INFO_OPTS) -o $@ ${srcdir}/eww.texi +eww.dvi: $(eww_deps) + $(ENVADD) $(TEXI2DVI) ${srcdir}/eww.texi +eww.pdf: $(eww_deps) + $(ENVADD) $(TEXI2PDF) ${srcdir}/eww.texi +eww.html: $(eww_deps) + $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/eww.texi + flymake_deps = ${srcdir}/flymake.texi ${gfdl} flymake : $(buildinfodir)/flymake$(INFO_EXT) $(buildinfodir)/flymake$(INFO_EXT): $(flymake_deps) diff --git a/doc/misc/eww.texi b/doc/misc/eww.texi new file mode 100644 index 00000000000..b84de7509da --- /dev/null +++ b/doc/misc/eww.texi @@ -0,0 +1,254 @@ +\input texinfo @c -*-texinfo-*- +@c %**start of header +@setfilename ../../info/eww +@settitle Emacs Web Wowser +@documentencoding UTF-8 +@c @include emacsver.texi +@c %**end of header + +@copying +This file documents the GNU Emacs Web Wowser (EWW) package. + +Copyright @copyright{} 2014 Free Software Foundation, Inc. + +@quotation +Permission is granted to copy, distribute and/or modify this document +under the terms of the GNU Free Documentation License, Version 1.3 or +any later version published by the Free Software Foundation; with no +Invariant Sections, with the Front-Cover texts being ``A GNU Manual,'' +and with the Back-Cover Texts as in (a) below. A copy of the license +is included in the section entitled ``GNU Free Documentation License.'' + +(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and +modify this GNU manual.'' +@end quotation +@end copying + +@dircategory Emacs misc features +@direntry +* EWW: (eww). Emacs Web Wowser +@end direntry + +@finalout + +@titlepage +@title Emacs Web Wowser (EWW) +@subtitle A web browser for GNU Emacs. + +@page +@vskip 0pt plus 1filll +@insertcopying +@end titlepage + +@contents + +@ifnottex +@node Top +@top EWW + +@insertcopying +@end ifnottex + +@menu +* Overview:: +* Basics:: +* Advanced:: + +Appendices +* History and Acknowledgments:: +* GNU Free Documentation License:: The license for this documentation. + +Indices +* Key Index:: +* Variable Index:: +* Lisp Function Index:: +* Concept Index:: +@end menu + +@node Overview +@chapter Overview +@dfn{EWW}, the Emacs Web Wowser, is a web browser for GNU Emacs. It +can load, parse, and display various web pages using @dfn{shr.el}. +However a GNU Emacs with @code{libxml2} support is required. + +@node Basics +@chapter Basic Usage + +@findex eww +@findex eww-open-file +@vindex eww-search-prefix +@cindex eww +@cindex Web Browsing + You can open a URL or search the web with the command @kbd{M-x eww}. +If the input doesn't look like a URL or domain name the web will be +searched via @code{eww-search-prefix}. The default search engine is +@url{https://duckduckgo.com, DuckDuckGo}. If you want to open a file +either prefix the path with @code{file://} or use the command @kbd{M-x +eww-open-file}. + +@findex eww-quit +@findex eww-reload +@findex eww-copy-page-url +@kindex q +@kindex w +@kindex g + If loading the URL was successful the buffer @code{*eww*} is opened +and the web page is rendered in it. You can leave EWW by pressing +@kbd{q} or exit the browser by calling @kbd{eww-quit}. To reload the +web page hit @kbd{g} (@code{eww-reload}). Pressing @kbd{w} +(@code{eww-copy-page-url}) will copy the current URL to the kill ring. + +@findex eww-download +@vindex eww-download-path +@kindex d +@cindex Download + A URL under the point can be downloaded with @kbd{d} +(@code{eww-download}). The file will be written to the directory +specified in @code{eww-download-path} (Default: @file{~/Downloads/}). + +@findex eww-back-url +@findex eww-forward-url +@findex eww-list-histories +@kindex r +@kindex l +@kindex H +@cindex History + EWW remembers the URLs you have visited to allow you to go back and +forth between them. By pressing @kbd{l} (@code{eww-back-url}) you go +to the previous URL. You can go forward again with @kbd{r} +(@code{eww-forward-url}). If you want an overview of your browsing +history press @kbd{H} (@code{eww-list-histories}) to open the history +buffer @code{*eww history*}. The history is lost when EWW is quit. +If you want to remember websites you can use bookmarks. + +@findex eww-add-bookmark +@findex eww-list-bookmarks +@kindex b +@kindex B +@cindex Bookmarks + EWW allows you to @dfn{bookmark} URLs. Simply hit @kbd{b} +(@code{eww-add-bookmark}) to store a bookmark for the current website. +You can view stored bookmarks with @kbd{B} +(@code{eww-list-bookmarks}). This will open the bookmark buffer +@code{*eww bookmarks*}. + +@findex eww-browse-with-external-browser +@vindex shr-external-browser +@vindex eww-use-external-browser-for-content-type +@kindex & +@cindex External Browser + Although EWW and shr.el do their best to render webpages in GNU +Emacs some websites use features which can not be properly represented +or are not implemented (E.g., JavaScript). If you have trouble +viewing a website with EWW then hit @kbd{&} +(@code{eww-browse-with-external-browser}) inside the EWW buffer to +open the website in the external browser specified by +@code{shr-external-browser}. Some content types, such as video or +audio content, do not make sense to display in GNU Emacs at all. You +can tell EWW to open specific content automatically in an external +browser by customizing +@code{eww-use-external-browser-for-content-type}. + +@node Advanced +@chapter Advanced + +@findex eww-view-source +@kindex v +@cindex Viewing Source + You can view the source of a website with @kbd{v} +(@code{eww-view-source}). This will open a new buffer +@code{*eww-source*} and insert the source. The buffer will be set to +@code{html-mode} if available. + +@findex url-cookie-list +@kindex C +@cindex Cookies + EWW handles cookies through the @ref{Top, url package, ,url}. +You can list existing cookies with @kbd{C} (@code{url-cookie-list}). +For details about the Cookie handling @xref{Cookies,,,url}. + +@vindex eww-header-line-format +@cindex Header + The header line of the EWW buffer can be changed by customizing +@code{eww-header-line-format}. The format replaces @code{%t} with the +title of the website and @code{%u} with the URL. + +@c @vindex shr-bullet +@c @vindex shr-hr-line +@c @vindex eww-form-checkbox-selected-symbol +@c @vindex eww-form-checkbox-symbol +@c EWW and the rendering engine shr.el use ASCII characters to +@c represent some graphical elements, such as bullet points +@c (@code{shr-bullet}), check boxes +@c (@code{eww-form-checkbox-selected-symbol} and +@c @code{eww-form-checkbox-symbol}), and horizontal rules +@c @code{shr-hr-line}). Depending on your fonts these characters can be +@c replaced by Unicode glyphs to achieve better looking results. + +@vindex shr-max-image-proportion +@vindex shr-blocked-images +@cindex Image Display + Loading random images from the web can be problematic due to their +size or content. By customizing @code{shr-max-image-proportion} you +can set the maximal image proportion in relation to the window they +are displayed in. E.g., 0.7 means an image is allowed to take up 70% +of the width and height. If Emacs supports image scaling (ImageMagick +support required) then larger images are scaled down. You can block +specific images completely by customizing @code{shr-blocked-images}. + +@node History and Acknowledgments +@appendix History and Acknowledgments + +EWW was originally written by Lars Ingebrigtsen, known for his work on +Gnus. He started writing an Emacs HTML rendering library, +@code{shr.el}, to read blogs in Gnus. He eventually added a web +browser front end and HTML form support. Which resulted in EWW, the +Emacs Web Wowser. EWW was announced on 16 June 2013: +@url{http://lars.ingebrigtsen.no/2013/06/16/eww/}. + +EWW was then moved from the Gnus repository to GNU Emacs and several +developers started contributing to it as well. A list of contributors +at the time of writing this manual: + +@itemize @bullet +@item Daniel Hackney +@item Eli Zaretskii +@item Glenn Morris +@item Ivan Kanis +@item Juri Linkov +@item Katsumi Yamaoka +@item Kenjiro NAKAYAMA +@item Lars Magne Ingebrigtsen +@item Leo Liu +@item Paul Eggert +@item Rüdiger Sonderfeld +@item Stefan Monnier +@item Ted Zlatanov +@end itemize + +@node GNU Free Documentation License +@chapter GNU Free Documentation License +@include doclicense.texi + +@node Key Index +@unnumbered Key Index + +@printindex ky + +@node Variable Index +@unnumbered Variable Index + +@printindex vr + +@node Lisp Function Index +@unnumbered Function Index + +@printindex fn + +@node Concept Index +@unnumbered Concept Index + +@printindex cp + + +@bye -- cgit v1.2.1 From 9fb07a9e6c57d903d00cbcbf33c4f604d261b90c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Fri, 10 Jan 2014 00:21:56 +0100 Subject: Document `shr-insert-document'. * doc/lispref/text.texi (Parsing HTML/XML): Document `shr-insert-document'. --- doc/lispref/ChangeLog | 2 ++ doc/lispref/text.texi | 8 ++++++++ 2 files changed, 10 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 93bfcbbd6df..2963ffc9a60 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,5 +1,7 @@ 2014-01-09 Rüdiger Sonderfeld + * text.texi (Parsing HTML/XML): Document `shr-insert-document'. + * strings.texi (Text Comparison): Document `string-suffix-p'. 2014-01-07 Glenn Morris diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index 7a20b6684d3..60cda8068bb 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -4284,6 +4284,14 @@ A call to @code{libxml-parse-html-region} returns this: @end example @end defun +@cindex rendering html +@defun shr-insert-document dom +This function renders the parsed HTML in @var{dom} into the current +buffer. The argument @var{dom} should be a list as generated by +@code{libxml-parse-html-region}. This function is, e.g., used by +@ref{Top, EWW,, eww, The Emacs Web Wowser Manual}. +@end defun + @cindex parsing xml @defun libxml-parse-xml-region start end &optional base-url This function is the same as @code{libxml-parse-html-region}, except -- cgit v1.2.1 From 4ed678149d6cebb6c6cb70b5beba2357550949c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Fri, 10 Jan 2014 03:30:51 +0100 Subject: Document `dired-hide-details-mode'. * doc/emacs/dired.texi (Misc Dired Features): Document `dired-hide-details-mode', `dired-hide-details-hide-symlink-targets', and `dired-hide-details-hide-information-lines'. --- doc/emacs/ChangeLog | 7 +++++++ doc/emacs/dired.texi | 15 +++++++++++++++ 2 files changed, 22 insertions(+) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 49dea7ba879..1039dd522e5 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,10 @@ +2014-01-10 Rüdiger Sonderfeld + + * dired.texi (Misc Dired Features): Document + `dired-hide-details-mode', + `dired-hide-details-hide-symlink-targets', and + `dired-hide-details-hide-information-lines'. + 2014-01-09 Rüdiger Sonderfeld * emacs.texi: Add EWW. diff --git a/doc/emacs/dired.texi b/doc/emacs/dired.texi index b9ae5ed0879..b7de1bdf3aa 100644 --- a/doc/emacs/dired.texi +++ b/doc/emacs/dired.texi @@ -1440,3 +1440,18 @@ it onto a Dired buffer; this either moves, copies, or creates a link to the file in that directory. Precisely which action is taken is determined by the originating program. Dragging files out of a Dired buffer is currently not supported. + +@kindex ( @r{(Dired)} +@c ) +@findex dired-hide-details-mode +@vindex dired-hide-details-hide-symlink-targets +@vindex dired-hide-details-hide-information-lines +@cindex Hide details in Dired. + The command @kbd{(} (@code{dired-hide-details-mode}) toggles whether +details, such as ownership or file permissions, are hidden. If the +variable @code{dired-hide-details-hide-symlink-targets} is +non-@code{nil} then targets of symbolic links are hidden as well. A +non-@code{nil} value for the variable +@code{dired-hide-details-hide-information-lines} means that all lines +other than the header and lines containing files and directories are +hidden. -- cgit v1.2.1 From 458dbf5e47e92a45d41d9485c55b8b8e58bb3cf2 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 9 Jan 2014 21:44:51 -0500 Subject: Make etc/FTP and etc/ORDERS obsolete * etc/FTP: Mark as obsolete. * etc/ORDERS: Replace contents with pointer to emacs.info, mark obsolete. * doc/emacs/emacs.texi (Distrib): Add donate URL. Add anchor. * lisp/help.el (view-order-manuals): Open emacs.info rather than ORDERS. --- doc/emacs/ChangeLog | 8 +++++--- doc/emacs/emacs.texi | 5 ++++- 2 files changed, 9 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 1039dd522e5..29ed8fadd29 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,14 +1,16 @@ +2014-01-10 Glenn Morris + + * emacs.texi (Distrib): Add donate URL. Add anchor. + 2014-01-10 Rüdiger Sonderfeld - * dired.texi (Misc Dired Features): Document - `dired-hide-details-mode', + * dired.texi (Misc Dired Features): Document `dired-hide-details-mode', `dired-hide-details-hide-symlink-targets', and `dired-hide-details-hide-information-lines'. 2014-01-09 Rüdiger Sonderfeld * emacs.texi: Add EWW. - * misc.texi (EWW): Document EWW. 2014-01-09 Glenn Morris diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 8ec4fb5880d..ca5520198f8 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -1339,9 +1339,12 @@ If you find GNU Emacs useful, please @strong{send a donation} to the Free Software Foundation to support our work. Donations to the Free Software Foundation are tax deductible in the US@. If you use GNU Emacs at your workplace, please suggest that the company make a donation. -For more information on how you can help, see +To donate, see @url{https://my.fsf.org/donate/}. +For other ways in which you can help, see @url{http://www.gnu.org/help/help.html}. +@c The command view-order-manuals uses this anchor. +@anchor{Printed Books} We also sell hardcopy versions of this manual and @cite{An Introduction to Programming in Emacs Lisp}, by Robert J. Chassell. You can visit our online store at @url{http://shop.fsf.org/}. -- cgit v1.2.1 From 06827ec8428b897a38dc0532ee3d2070ae07aba1 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Thu, 9 Jan 2014 23:10:37 -0800 Subject: Spelling fixes. * mail/unrmail.el (unrmail-mbox-format): Choice is mboxo, not mboxro. * woman.el (woman-mark-horizontal-position): Rename from woman-mark-horizonal-position. Use changed. --- doc/misc/autotype.texi | 2 +- doc/misc/calc.texi | 4 ++-- doc/misc/gnus.texi | 4 ++-- doc/misc/idlwave.texi | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) (limited to 'doc') diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi index aacf4fad83e..7ca860486c2 100644 --- a/doc/misc/autotype.texi +++ b/doc/misc/autotype.texi @@ -302,7 +302,7 @@ of the same name as the command and can thus be overridden from your Various characters usually appear in pairs. When, for example, you insert an open parenthesis, no matter whether you are programming or writing prose, you will surely enter a closing one later. By entering both at the same time -and leaving the cursor inbetween, Emacs can guarantee you that such +and leaving the cursor in between, Emacs can guarantee you that such parentheses are always balanced. And if you have a non-qwerty keyboard, where typing some of the stranger programming language symbols makes you bend your fingers backwards, this can be quite relieving too. diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index 10c863a9513..1700aee9dc1 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi @@ -28053,8 +28053,8 @@ radiation related to the cesium-133 atom. The only SI unit that is not based on a fundamental physical process (although there are efforts to change this) is the kilogram, which was originally defined as the mass of one liter of water, but is now defined as the mass of the -International Prototype Kilogram (IPK), a cylinder of platinum-iridium -kept at the Bureau International des Poids et Mesures in S@`evres, +international prototype of the kilogram (IPK), a cylinder of platinum-iridium +kept at the Bureau international des poids et mesures in S@`evres, France. (There are several copies of the IPK throughout the world.) The British imperial units, once defined in terms of physical objects, were redefined in 1963 in terms of SI units. The US customary units, diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index 376d2a0ad26..6ad0c26f9ac 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -10229,8 +10229,8 @@ summary buffer, point will just move to this article. If given a positive numerical prefix, fetch that many articles back into the ancestry. If given a negative numerical prefix, fetch just that ancestor. So if you say @kbd{3 ^}, Gnus will fetch the parent, the -grandparent and the grandgrandparent of the current article. If you say -@kbd{-3 ^}, Gnus will only fetch the grandgrandparent of the current +grandparent and the great-grandparent of the current article. If you say +@kbd{-3 ^}, Gnus will only fetch the great-grandparent of the current article. @item A R (Summary) diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi index a6940781ca7..c4719dcd039 100644 --- a/doc/misc/idlwave.texi +++ b/doc/misc/idlwave.texi @@ -591,7 +591,7 @@ slightly from the margin and use only 3 spaces as indentation between Restart Emacs, and re-indent the program we developed in the first part of this tutorial with @kbd{C-c h} and @kbd{C-M-\}. You may want to keep -these lines in @file{.emacs}, with values adjusted to your likings. If +these lines in @file{.emacs}, with values adjusted to your liking. If you want to get more information about any of these variables, type, e.g., @kbd{C-h v idlwave-main-block-indent @key{RET}}. To find which variables can be customized, look for items marked @samp{User Option:} -- cgit v1.2.1 From f6da761bea5048abd1f6f26c6e144e4ab4e023cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Fri, 10 Jan 2014 13:41:19 +0100 Subject: Document `subr-x' functions. * doc/lispref/hash.texi (Hash Tables): Add cindex entry for `subr-x' functions. * doc/lispref/strings.texi (Creating Strings, Text Comparison): Document functions from `subr-x'. --- doc/lispref/ChangeLog | 8 +++++ doc/lispref/hash.texi | 1 + doc/lispref/strings.texi | 91 ++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 100 insertions(+) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 2963ffc9a60..3a362c7daa5 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,11 @@ +2014-01-10 Rüdiger Sonderfeld + + * hash.texi (Hash Tables): Add cindex entry for `subr-x' + functions. + + * strings.texi (Creating Strings, Text Comparison): Document + functions from `subr-x'. + 2014-01-09 Rüdiger Sonderfeld * text.texi (Parsing HTML/XML): Document `shr-insert-document'. diff --git a/doc/lispref/hash.texi b/doc/lispref/hash.texi index 5d0d6b6c89e..9d6302f4073 100644 --- a/doc/lispref/hash.texi +++ b/doc/lispref/hash.texi @@ -354,6 +354,7 @@ This returns the rehash threshold of @var{table}. This returns the current nominal size of @var{table}. @end defun +@cindex Hash table functions in subr-x. The following two functions are provided by the @file{subr-x} library. To use them, you need to load this library first. diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi index 5c814b22b2d..b6972ad9cc5 100644 --- a/doc/lispref/strings.texi +++ b/doc/lispref/strings.texi @@ -365,6 +365,83 @@ The default value of @var{separators} for @code{split-string}. Its usual value is @w{@code{"[ \f\t\n\r\v]+"}}. @end defvar +@cindex String creation functions in subr-x + The following functions are provided by the @file{subr-x} library. +To use them, you need to load this library first. + +@defun string-join strings &optional separator +This joins all strings in @var{strings}. If the optional argument +@var{separator} is non-@code{nil} then its value is added between each +string. + +@example +(string-join '("foo" "bar")) + @result{} "foobar" +(string-join '("foo" "bar") ", ") + @result{} "foo, bar" +@end example +@end defun + +@defun string-reverse string +This function returns the reversed value of @var{string}. + +@example +(string-reverse "ung olleh") + @result{} "hello gnu" +@end example +@end defun + +@defun string-trim-left string +This function returns a string with all the leading whitespace removed +from @var{string}. Trailing whitespace are left. + +@example +(string-trim-left "\r\n\t abc ") + @result{} "abc " +@end example +@end defun + +@defun string-trim-right string +This function returns a string with all the trailing whitespace +removed from @var{string}. Leading whitespace are left. + +@example +(string-trim-left " abc ") + @result{} " abc" +@end example +@end defun + +@defun string-trim string +This function returns a string with all leading and trailing +whitespace from @var{string} removed. This has the same effect as +calling @code{string-trim-left} and @code{string-trim-right} on +@var{string}. +@end defun + +@defun string-remove-prefix prefix string +This removes the string @var{prefix} from the beginning of +@var{string} if present. + +@example +(string-remove-prefix "foo" "foobar") + @result{} "bar" +(string-remove-prefix "not" "foobar") + @result{} "foobar" +@end example +@end defun + +@defun string-remove-suffix suffix string +This removes the string @var{suffix} from the end of @var{string} if +present. + +@example +(string-remove-suffix "bar" "foobar") + @result{} "foo" +(string-remove-suffix "not" "foobar") + @result{} "foobar" +@end example +@end defun + @node Modifying Strings @section Modifying Strings @@ -571,6 +648,20 @@ function @code{string-match}, which matches a regular expression against a string, can be used for a kind of string comparison; see @ref{Regexp Search}. +@cindex String comparisson functions in subr-x + The following functions are provided by the @file{subr-x} library. +To use them, you need to load this library first. + +@defun string-empty-p string +This function returns non-@code{nil} if @var{string} is an empty +string. +@end defun + +@defun string-blank-p string +This function returns non-@code{nil} if @var{string} is either empty +or only whitespace. +@end defun + @node String Conversion @section Conversion of Characters and Strings @cindex conversion of strings -- cgit v1.2.1 From b4256e8c52981cf8a9674fbadb81082f8d30c4c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BCdiger=20Sonderfeld?= Date: Fri, 10 Jan 2014 18:54:32 +0100 Subject: Revert "Document `subr-x' functions." This reverts 2014-01-10T12:41:19Z!ruediger@c-plusplus.de. --- doc/lispref/ChangeLog | 8 ----- doc/lispref/hash.texi | 1 - doc/lispref/strings.texi | 91 ------------------------------------------------ 3 files changed, 100 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 3a362c7daa5..2963ffc9a60 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,11 +1,3 @@ -2014-01-10 Rüdiger Sonderfeld - - * hash.texi (Hash Tables): Add cindex entry for `subr-x' - functions. - - * strings.texi (Creating Strings, Text Comparison): Document - functions from `subr-x'. - 2014-01-09 Rüdiger Sonderfeld * text.texi (Parsing HTML/XML): Document `shr-insert-document'. diff --git a/doc/lispref/hash.texi b/doc/lispref/hash.texi index 9d6302f4073..5d0d6b6c89e 100644 --- a/doc/lispref/hash.texi +++ b/doc/lispref/hash.texi @@ -354,7 +354,6 @@ This returns the rehash threshold of @var{table}. This returns the current nominal size of @var{table}. @end defun -@cindex Hash table functions in subr-x. The following two functions are provided by the @file{subr-x} library. To use them, you need to load this library first. diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi index b6972ad9cc5..5c814b22b2d 100644 --- a/doc/lispref/strings.texi +++ b/doc/lispref/strings.texi @@ -365,83 +365,6 @@ The default value of @var{separators} for @code{split-string}. Its usual value is @w{@code{"[ \f\t\n\r\v]+"}}. @end defvar -@cindex String creation functions in subr-x - The following functions are provided by the @file{subr-x} library. -To use them, you need to load this library first. - -@defun string-join strings &optional separator -This joins all strings in @var{strings}. If the optional argument -@var{separator} is non-@code{nil} then its value is added between each -string. - -@example -(string-join '("foo" "bar")) - @result{} "foobar" -(string-join '("foo" "bar") ", ") - @result{} "foo, bar" -@end example -@end defun - -@defun string-reverse string -This function returns the reversed value of @var{string}. - -@example -(string-reverse "ung olleh") - @result{} "hello gnu" -@end example -@end defun - -@defun string-trim-left string -This function returns a string with all the leading whitespace removed -from @var{string}. Trailing whitespace are left. - -@example -(string-trim-left "\r\n\t abc ") - @result{} "abc " -@end example -@end defun - -@defun string-trim-right string -This function returns a string with all the trailing whitespace -removed from @var{string}. Leading whitespace are left. - -@example -(string-trim-left " abc ") - @result{} " abc" -@end example -@end defun - -@defun string-trim string -This function returns a string with all leading and trailing -whitespace from @var{string} removed. This has the same effect as -calling @code{string-trim-left} and @code{string-trim-right} on -@var{string}. -@end defun - -@defun string-remove-prefix prefix string -This removes the string @var{prefix} from the beginning of -@var{string} if present. - -@example -(string-remove-prefix "foo" "foobar") - @result{} "bar" -(string-remove-prefix "not" "foobar") - @result{} "foobar" -@end example -@end defun - -@defun string-remove-suffix suffix string -This removes the string @var{suffix} from the end of @var{string} if -present. - -@example -(string-remove-suffix "bar" "foobar") - @result{} "foo" -(string-remove-suffix "not" "foobar") - @result{} "foobar" -@end example -@end defun - @node Modifying Strings @section Modifying Strings @@ -648,20 +571,6 @@ function @code{string-match}, which matches a regular expression against a string, can be used for a kind of string comparison; see @ref{Regexp Search}. -@cindex String comparisson functions in subr-x - The following functions are provided by the @file{subr-x} library. -To use them, you need to load this library first. - -@defun string-empty-p string -This function returns non-@code{nil} if @var{string} is an empty -string. -@end defun - -@defun string-blank-p string -This function returns non-@code{nil} if @var{string} is either empty -or only whitespace. -@end defun - @node String Conversion @section Conversion of Characters and Strings @cindex conversion of strings -- cgit v1.2.1 From 122ff675df692bab3b5b6409044b0f0e66bad82f Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Fri, 10 Jan 2014 14:40:32 -0500 Subject: * doc/lispref/functions.texi (Advising Functions): New section. * doc/lispref/modes.texi (Running Hooks): Don't document with-wrapper-hook and run-hook-wrapped any more. (Hooks): Link to the new Advising Functions node. * doc/lispref/elisp.texi (Top): Don't include advice.texi. * doc/lispref/advice.texi: Remove. * doc/lispref/makefile.w32-in (srcs): * doc/lispref/Makefile.in (srcs): Adjust accordingly. * doc/misc/cl.texi (Function Bindings): Fix incorrect description of cl-let. --- doc/lispref/ChangeLog | 11 + doc/lispref/Makefile.in | 1 - doc/lispref/advice.texi | 749 -------------------------------------------- doc/lispref/elisp.texi | 15 - doc/lispref/functions.texi | 274 +++++++++++++++- doc/lispref/makefile.w32-in | 1 - doc/lispref/modes.texi | 51 +-- doc/misc/ChangeLog | 88 +++--- doc/misc/cl.texi | 9 +- 9 files changed, 333 insertions(+), 866 deletions(-) delete mode 100644 doc/lispref/advice.texi (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 2963ffc9a60..38427e56b9b 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,14 @@ +2014-01-10 Stefan Monnier + + * functions.texi (Advising Functions): New section. + * modes.texi (Running Hooks): Don't document with-wrapper-hook and + run-hook-wrapped any more. + (Hooks): Link to the new Advising Functions node. + * elisp.texi (Top): Don't include advice.texi. + * advice.texi: Remove. + * makefile.w32-in (srcs): + * Makefile.in (srcs): Adjust accordingly. + 2014-01-09 Rüdiger Sonderfeld * text.texi (Parsing HTML/XML): Document `shr-insert-document'. diff --git a/doc/lispref/Makefile.in b/doc/lispref/Makefile.in index 6f3320d029c..bb8d4f82884 100644 --- a/doc/lispref/Makefile.in +++ b/doc/lispref/Makefile.in @@ -76,7 +76,6 @@ srcs = \ $(srcdir)/elisp.texi \ $(emacsdir)/emacsver.texi \ $(srcdir)/abbrevs.texi \ - $(srcdir)/advice.texi \ $(srcdir)/anti.texi \ $(srcdir)/backups.texi \ $(srcdir)/buffers.texi \ diff --git a/doc/lispref/advice.texi b/doc/lispref/advice.texi deleted file mode 100644 index c55f93d445f..00000000000 --- a/doc/lispref/advice.texi +++ /dev/null @@ -1,749 +0,0 @@ -@c -*-texinfo-*- -@c This is part of the GNU Emacs Lisp Reference Manual. -@c Copyright (C) 1998-1999, 2001-2014 Free Software Foundation, Inc. -@c See the file elisp.texi for copying conditions. -@node Advising Functions -@chapter Advising Emacs Lisp Functions -@cindex advising functions - -@cindex piece of advice - The @dfn{advice} feature lets you add to the existing definition of -a function, by @dfn{advising the function}. A function can have -multiple @dfn{pieces of advice}, each of which can be separately -defined, and separately enabled or disabled (@pxref{Activation of -Advice}). Each piece of advice can alter almost anything about the -function, including its argument list, what the function does when it -runs, and the value it returns. - - Advice can be useful for altering the behavior of an existing -function without having to redefine the whole function. However, it -can be a source of bugs, since existing callers to the function may -assume the old behavior, and work incorrectly when the behavior is -changed by advice. Advice can also cause confusion in debugging, if -the person doing the debugging does not notice or remember that the -function has been modified by advice. - - For these reasons, advice should be reserved for the cases where you -cannot modify a function's behavior in any other way. If it is -possible to do the same thing via a hook, that is preferable -(@pxref{Hooks}). If you simply want to change what a particular key -does, it may be better to write a new command, and remap the old -command's key bindings to the new one (@pxref{Remapping Commands}). -In particular, Emacs's own source files should not put advice on -functions in Emacs. (There are currently a few exceptions to this -convention, but we aim to correct them.) - - Macros can also be advised, in much the same way as functions. -However, special forms (@pxref{Special Forms}) cannot be advised. - - It is possible to advise a primitive (@pxref{What Is a Function}), -but one should typically @emph{not} do so, for two reasons. Firstly, -some primitives are used by the advice mechanism, and advising them -could cause an infinite recursion. Secondly, many primitives are -called directly from C, and such calls ignore advice; hence, one ends -up in a confusing situation where some calls (occurring from Lisp -code) obey the advice and other calls (from C code) do not. - -@menu -* Simple Advice:: A simple example to explain the basics of advice. -* Defining Advice:: Detailed description of @code{defadvice}. -* Around-Advice:: Wrapping advice around a function's definition. -* Computed Advice:: ...is to @code{defadvice} as @code{fset} is to @code{defun}. -* Activation of Advice:: Advice doesn't do anything until you activate it. -* Enabling Advice:: You can enable or disable each piece of advice. -* Preactivation:: Preactivation is a way of speeding up the - loading of compiled advice. -* Argument Access in Advice:: How advice can access the function's arguments. -* Combined Definition:: How advice is implemented. -@end menu - -@node Simple Advice -@section A Simple Advice Example - - The command @code{next-line} moves point down vertically one or more -lines; it is the standard binding of @kbd{C-n}. When used on the last -line of the buffer, this command inserts a newline to create a line to -move to if @code{next-line-add-newlines} is non-@code{nil} (its default -is @code{nil}.) - - Suppose you wanted to add a similar feature to @code{previous-line}, -which would insert a new line at the beginning of the buffer for the -command to move to (when @code{next-line-add-newlines} is -non-@code{nil}). How could you do this? - - You could do it by redefining the whole function, but that is not -modular. The advice feature provides a cleaner alternative: you can -effectively add your code to the existing function definition, without -actually changing or even seeing that definition. Here is how to do -this: - -@example -(defadvice previous-line (before next-line-at-end - (&optional arg try-vscroll)) - "Insert an empty line when moving up from the top line." - (if (and next-line-add-newlines (= arg 1) - (save-excursion (beginning-of-line) (bobp))) - (progn - (beginning-of-line) - (newline)))) -@end example - - This expression defines a @dfn{piece of advice} for the function -@code{previous-line}. This piece of advice is named -@code{next-line-at-end}, and the symbol @code{before} says that it is -@dfn{before-advice} which should run before the regular definition of -@code{previous-line}. @code{(&optional arg try-vscroll)} specifies -how the advice code can refer to the function's arguments. - - When this piece of advice runs, it creates an additional line, in the -situation where that is appropriate, but does not move point to that -line. This is the correct way to write the advice, because the normal -definition will run afterward and will move back to the newly inserted -line. - - Defining the advice doesn't immediately change the function -@code{previous-line}. That happens when you @dfn{activate} the advice, -like this: - -@example -(ad-activate 'previous-line) -@end example - -@noindent -This is what actually begins to use the advice that has been defined so -far for the function @code{previous-line}. Henceforth, whenever that -function is run, whether invoked by the user with @kbd{C-p} or -@kbd{M-x}, or called from Lisp, it runs the advice first, and its -regular definition second. - - This example illustrates before-advice, which is one @dfn{class} of -advice: it runs before the function's base definition. There are two -other advice classes: @dfn{after-advice}, which runs after the base -definition, and @dfn{around-advice}, which lets you specify an -expression to wrap around the invocation of the base definition. - -@node Defining Advice -@section Defining Advice -@cindex defining advice -@cindex advice, defining - - To define a piece of advice, use the macro @code{defadvice}. A call -to @code{defadvice} has the following syntax, which is based on the -syntax of @code{defun} and @code{defmacro}, but adds more: - -@findex defadvice -@example -(defadvice @var{function} (@var{class} @var{name} - @r{[}@var{position}@r{]} @r{[}@var{arglist}@r{]} - @var{flags}...) - @r{[}@var{documentation-string}@r{]} - @r{[}@var{interactive-form}@r{]} - @var{body-forms}...) -@end example - -@noindent -Here, @var{function} is the name of the function (or macro) to be -advised. From now on, we will write just ``function'' when describing -the entity being advised, but this always includes macros. - - In place of the argument list in an ordinary definition, an advice -definition calls for several different pieces of information. - -@cindex class of advice -@cindex before-advice -@cindex after-advice -@cindex around-advice -@var{class} specifies the @dfn{class} of the advice---one of @code{before}, -@code{after}, or @code{around}. Before-advice runs before the function -itself; after-advice runs after the function itself; around-advice is -wrapped around the execution of the function itself. After-advice and -around-advice can override the return value by setting -@code{ad-return-value}. - -@defvar ad-return-value -While advice is executing, after the function's original definition has -been executed, this variable holds its return value, which will -ultimately be returned to the caller after finishing all the advice. -After-advice and around-advice can arrange to return some other value -by storing it in this variable. -@end defvar - -The argument @var{name} is the name of the advice, a non-@code{nil} -symbol. The advice name uniquely identifies one piece of advice, within all -the pieces of advice in a particular class for a particular -@var{function}. The name allows you to refer to the piece of -advice---to redefine it, or to enable or disable it. - -The optional @var{position} specifies where, in the current list of -advice of the specified @var{class}, this new advice should be placed. -It should be either @code{first}, @code{last} or a number that specifies -a zero-based position (@code{first} is equivalent to 0). If no position -is specified, the default is @code{first}. Position values outside the -range of existing positions in this class are mapped to the beginning or -the end of the range, whichever is closer. The @var{position} value is -ignored when redefining an existing piece of advice. - -The optional @var{arglist} can be used to define the argument list for -the sake of advice. This becomes the argument list of the combined -definition that is generated in order to run the advice (@pxref{Combined -Definition}). Therefore, the advice expressions can use the argument -variables in this list to access argument values. - -The argument list used in advice need not be the same as the argument -list used in the original function, but must be compatible with it, so -that it can handle the ways the function is actually called. If two -pieces of advice for a function both specify an argument list, they must -specify the same argument list. - -@xref{Argument Access in Advice}, for more information about argument -lists and advice, and a more flexible way for advice to access the -arguments. - -The remaining elements, @var{flags}, are symbols that specify further -information about how to use this piece of advice. Here are the valid -symbols and their meanings: - -@table @code -@item activate -Activate the advice for @var{function} now. Changes in a function's -advice always take effect the next time you activate advice for the -function; this flag says to do so, for @var{function}, immediately after -defining this piece of advice. - -@cindex forward advice -This flag has no immediate effect if @var{function} itself is not defined yet (a -situation known as @dfn{forward advice}), because it is impossible to -activate an undefined function's advice. However, defining -@var{function} will automatically activate its advice. - -@item protect -Protect this piece of advice against non-local exits and errors in -preceding code and advice. Protecting advice places it as a cleanup in -an @code{unwind-protect} form, so that it will execute even if the -previous code gets an error or uses @code{throw}. @xref{Cleanups}. - -@item compile -Compile the combined definition that is used to run the advice. This -flag is ignored unless @code{activate} is also specified. -@xref{Combined Definition}. - -@item disable -Initially disable this piece of advice, so that it will not be used -unless subsequently explicitly enabled. @xref{Enabling Advice}. - -@item preactivate -Activate advice for @var{function} when this @code{defadvice} is -compiled or macroexpanded. This generates a compiled advised definition -according to the current advice state, which will be used during -activation if appropriate. @xref{Preactivation}. - -This is useful only if this @code{defadvice} is byte-compiled. -@end table - -The optional @var{documentation-string} serves to document this piece of -advice. When advice is active for @var{function}, the documentation for -@var{function} (as returned by @code{documentation}) combines the -documentation strings of all the advice for @var{function} with the -documentation string of its original function definition. - -The optional @var{interactive-form} form can be supplied to change the -interactive behavior of the original function. If more than one piece -of advice has an @var{interactive-form}, then the first one (the one -with the smallest position) found among all the advice takes precedence. - -The possibly empty list of @var{body-forms} specifies the body of the -advice. The body of an advice can access or change the arguments, the -return value, the binding environment, and perform any other kind of -side effect. - -@strong{Warning:} When you advise a macro, keep in mind that macros are -expanded when a program is compiled, not when a compiled program is run. -All subroutines used by the advice need to be available when the byte -compiler expands the macro. - -@deffn Command ad-unadvise function -This command deletes all pieces of advice from @var{function}. -@end deffn - -@deffn Command ad-unadvise-all -This command deletes all pieces of advice from all functions. -@end deffn - -@node Around-Advice -@section Around-Advice - - Around-advice lets you ``wrap'' a Lisp expression ``around'' the -original function definition. You specify where the original function -definition should go by means of the special symbol @code{ad-do-it}. -Where this symbol occurs inside the around-advice body, it is replaced -with a @code{progn} containing the forms of the surrounded code. Here -is an example: - -@example -(defadvice foo (around foo-around) - "Ignore case in `foo'." - (let ((case-fold-search t)) - ad-do-it)) -@end example - -@noindent -Its effect is to make sure that case is ignored in -searches when the original definition of @code{foo} is run. - -@defvar ad-do-it -This is not really a variable, rather a place-holder that looks like a -variable. You use it in around-advice to specify the place to run the -function's original definition and other ``earlier'' around-advice. -@end defvar - -If the around-advice does not use @code{ad-do-it}, then it does not run -the original function definition. This provides a way to override the -original definition completely. (It also overrides lower-positioned -pieces of around-advice). - -If the around-advice uses @code{ad-do-it} more than once, the original -definition is run at each place. In this way, around-advice can execute -the original definition (and lower-positioned pieces of around-advice) -several times. Another way to do that is by using @code{ad-do-it} -inside of a loop. - -@node Computed Advice -@section Computed Advice - -The macro @code{defadvice} resembles @code{defun} in that the code for -the advice, and all other information about it, are explicitly stated in -the source code. You can also create advice whose details are computed, -using the function @code{ad-add-advice}. - -@defun ad-add-advice function advice class position -Calling @code{ad-add-advice} adds @var{advice} as a piece of advice to -@var{function} in class @var{class}. The argument @var{advice} has -this form: - -@example -(@var{name} @var{protected} @var{enabled} @var{definition}) -@end example - -@noindent -Here, @var{protected} and @var{enabled} are flags; if @var{protected} -is non-@code{nil}, the advice is protected against non-local exits -(@pxref{Defining Advice}), and if @var{enabled} is @code{nil} the -advice is initially disabled (@pxref{Enabling Advice}). -@var{definition} should have the form - -@example -(advice . @var{lambda}) -@end example - -@noindent -where @var{lambda} is a lambda expression; this lambda expression is -called in order to perform the advice. @xref{Lambda Expressions}. - -If the @var{function} argument to @code{ad-add-advice} already has one -or more pieces of advice in the specified @var{class}, then -@var{position} specifies where in the list to put the new piece of -advice. The value of @var{position} can either be @code{first}, -@code{last}, or a number (counting from 0 at the beginning of the -list). Numbers outside the range are mapped to the beginning or the -end of the range, whichever is closer. The @var{position} value is -ignored when redefining an existing piece of advice. - -If @var{function} already has a piece of @var{advice} with the same -name, then the position argument is ignored and the old advice is -replaced with the new one. -@end defun - -@node Activation of Advice -@section Activation of Advice -@cindex activating advice -@cindex advice, activating - -By default, advice does not take effect when you define it---only when -you @dfn{activate} advice for the function. However, the advice will -be activated automatically if you define or redefine the function -later. You can request the activation of advice for a function when -you define the advice, by specifying the @code{activate} flag in the -@code{defadvice}; or you can activate the advice separately by calling -the function @code{ad-activate} or one of the other activation -commands listed below. - -Separating the activation of advice from the act of defining it permits -you to add several pieces of advice to one function efficiently, without -redefining the function over and over as each advice is added. More -importantly, it permits defining advice for a function before that -function is actually defined. - -When a function's advice is first activated, the function's original -definition is saved, and all enabled pieces of advice for that function -are combined with the original definition to make a new definition. -(Pieces of advice that are currently disabled are not used; see -@ref{Enabling Advice}.) This definition is installed, and optionally -byte-compiled as well, depending on conditions described below. - -In all of the commands to activate advice, if @var{compile} is -@code{t} (or anything but @code{nil} or a negative number), the -command also compiles the combined definition which implements the -advice. If it is @code{nil} or a negative number, what happens -depends on @code{ad-default-compilation-action} as described below. - -@deffn Command ad-activate function &optional compile -This command activates all the advice defined for @var{function}. -@end deffn - - Activating advice does nothing if @var{function}'s advice is already -active. But if there is new advice, added since the previous time you -activated advice for @var{function}, it activates the new advice. - -@deffn Command ad-deactivate function -This command deactivates the advice for @var{function}. -@cindex deactivating advice -@c @cindex advice, deactivating "advice, activating" is just above -@end deffn - -@deffn Command ad-update function &optional compile -This command activates the advice for @var{function} -if its advice is already activated. This is useful -if you change the advice. -@end deffn - -@deffn Command ad-activate-all &optional compile -This command activates the advice for all functions. -@end deffn - -@deffn Command ad-deactivate-all -This command deactivates the advice for all functions. -@end deffn - -@deffn Command ad-update-all &optional compile -This command activates the advice for all functions -whose advice is already activated. This is useful -if you change the advice of some functions. -@end deffn - -@deffn Command ad-activate-regexp regexp &optional compile -This command activates all pieces of advice whose names match -@var{regexp}. More precisely, it activates all advice for any function -which has at least one piece of advice that matches @var{regexp}. -@end deffn - -@deffn Command ad-deactivate-regexp regexp -This command deactivates all pieces of advice whose names match -@var{regexp}. More precisely, it deactivates all advice for any -function which has at least one piece of advice that matches -@var{regexp}. -@end deffn - -@deffn Command ad-update-regexp regexp &optional compile -This command activates pieces of advice whose names match @var{regexp}, -but only those for functions whose advice is already activated. -@cindex reactivating advice - -Reactivating a function's advice is useful for putting into effect all -the changes that have been made in its advice (including enabling and -disabling specific pieces of advice; @pxref{Enabling Advice}) since the -last time it was activated. -@end deffn - -@deffn Command ad-start-advice -Turn on automatic advice activation when a function is defined or -redefined. This is the default mode. -@end deffn - -@deffn Command ad-stop-advice -Turn off automatic advice activation when a function is defined or -redefined. -@end deffn - -@defopt ad-default-compilation-action -This variable controls whether to compile the combined definition -that results from activating advice for a function. - -A value of @code{always} specifies to compile unconditionally. -A value of @code{never} specifies never compile the advice. - -A value of @code{maybe} specifies to compile if the byte compiler is -already loaded. A value of @code{like-original} specifies to compile -the advice if the original definition of the advised function is -compiled or a built-in function. - -This variable takes effect only if the @var{compile} argument of -@code{ad-activate} (or any of the above functions) did not force -compilation. -@end defopt - - If the advised definition was constructed during ``preactivation'' -(@pxref{Preactivation}), then that definition must already be compiled, -because it was constructed during byte-compilation of the file that -contained the @code{defadvice} with the @code{preactivate} flag. - -@node Enabling Advice -@section Enabling and Disabling Advice -@cindex enabling advice -@cindex advice, enabling and disabling -@cindex disabling advice - - Each piece of advice has a flag that says whether it is enabled or -not. By enabling or disabling a piece of advice, you can turn it on -and off without having to undefine and redefine it. For example, here is -how to disable a particular piece of advice named @code{my-advice} for -the function @code{foo}: - -@example -(ad-disable-advice 'foo 'before 'my-advice) -@end example - - This function by itself only changes the enable flag for a piece of -advice. To make the change take effect in the advised definition, you -must activate the advice for @code{foo} again: - -@example -(ad-activate 'foo) -@end example - -@deffn Command ad-disable-advice function class name -This command disables the piece of advice named @var{name} in class -@var{class} on @var{function}. -@end deffn - -@deffn Command ad-enable-advice function class name -This command enables the piece of advice named @var{name} in class -@var{class} on @var{function}. -@end deffn - - You can also disable many pieces of advice at once, for various -functions, using a regular expression. As always, the changes take real -effect only when you next reactivate advice for the functions in -question. - -@deffn Command ad-disable-regexp regexp -This command disables all pieces of advice whose names match -@var{regexp}, in all classes, on all functions. -@end deffn - -@deffn Command ad-enable-regexp regexp -This command enables all pieces of advice whose names match -@var{regexp}, in all classes, on all functions. -@end deffn - -@node Preactivation -@section Preactivation -@cindex preactivating advice -@cindex advice, preactivating - - Constructing a combined definition to execute advice is moderately -expensive. When a library advises many functions, this can make loading -the library slow. In that case, you can use @dfn{preactivation} to -construct suitable combined definitions in advance. - - To use preactivation, specify the @code{preactivate} flag when you -define the advice with @code{defadvice}. This @code{defadvice} call -creates a combined definition which embodies this piece of advice -(whether enabled or not) plus any other currently enabled advice for the -same function, and the function's own definition. If the -@code{defadvice} is compiled, that compiles the combined definition -also. - - When the function's advice is subsequently activated, if the enabled -advice for the function matches what was used to make this combined -definition, then the existing combined definition is used, thus avoiding -the need to construct one. Thus, preactivation never causes wrong -results---but it may fail to do any good, if the enabled advice at the -time of activation doesn't match what was used for preactivation. - - Here are some symptoms that can indicate that a preactivation did not -work properly, because of a mismatch. - -@itemize @bullet -@item -Activation of the advised -function takes longer than usual. -@item -The byte compiler gets -loaded while an advised function gets activated. -@item -@code{byte-compile} is included in the value of @code{features} even -though you did not ever explicitly use the byte compiler. -@end itemize - -Compiled preactivated advice works properly even if the function itself -is not defined until later; however, the function needs to be defined -when you @emph{compile} the preactivated advice. - -There is no elegant way to find out why preactivated advice is not being -used. What you can do is to trace the function -@code{ad-cache-id-verification-code} (with the function -@code{trace-function-background}) before the advised function's advice -is activated. After activation, check the value returned by -@code{ad-cache-id-verification-code} for that function: @code{verified} -means that the preactivated advice was used, while other values give -some information about why they were considered inappropriate. - - @strong{Warning:} There is one known case that can make preactivation -fail, in that a preconstructed combined definition is used even though -it fails to match the current state of advice. This can happen when two -packages define different pieces of advice with the same name, in the -same class, for the same function. But you should avoid that anyway. - -@node Argument Access in Advice -@section Argument Access in Advice - - The simplest way to access the arguments of an advised function in the -body of a piece of advice is to use the same names that the function -definition uses. To do this, you need to know the names of the argument -variables of the original function. - - While this simple method is sufficient in many cases, it has a -disadvantage: it is not robust, because it hard-codes the argument names -into the advice. If the definition of the original function changes, -the advice might break. - - Another method is to specify an argument list in the advice itself. -This avoids the need to know the original function definition's argument -names, but it has a limitation: all the advice on any particular -function must use the same argument list, because the argument list -actually used for all the advice comes from the first piece of advice -for that function. - - A more robust method is to use macros that are translated into the -proper access forms at activation time, i.e., when constructing the -advised definition. Access macros access actual arguments by their -(zero-based) position, regardless of how these actual arguments get -distributed onto the argument variables of a function. This is robust -because in Emacs Lisp the meaning of an argument is strictly -determined by its position in the argument list. - -@defmac ad-get-arg position -This returns the actual argument that was supplied at @var{position}. -@end defmac - -@defmac ad-get-args position -This returns the list of actual arguments supplied starting at -@var{position}. -@end defmac - -@defmac ad-set-arg position value -This sets the value of the actual argument at @var{position} to -@var{value} -@end defmac - -@defmac ad-set-args position value-list -This sets the list of actual arguments starting at @var{position} to -@var{value-list}. -@end defmac - - Now an example. Suppose the function @code{foo} is defined as - -@example -(defun foo (x y &optional z &rest r) ...) -@end example - -@noindent -and is then called with - -@example -(foo 0 1 2 3 4 5 6) -@end example - -@noindent -which means that @var{x} is 0, @var{y} is 1, @var{z} is 2 and @var{r} is -@code{(3 4 5 6)} within the body of @code{foo}. Here is what -@code{ad-get-arg} and @code{ad-get-args} return in this case: - -@example -(ad-get-arg 0) @result{} 0 -(ad-get-arg 1) @result{} 1 -(ad-get-arg 2) @result{} 2 -(ad-get-arg 3) @result{} 3 -(ad-get-args 2) @result{} (2 3 4 5 6) -(ad-get-args 4) @result{} (4 5 6) -@end example - - Setting arguments also makes sense in this example: - -@example -(ad-set-arg 5 "five") -@end example - -@noindent -has the effect of changing the sixth argument to @code{"five"}. If this -happens in advice executed before the body of @code{foo} is run, then -@var{r} will be @code{(3 4 "five" 6)} within that body. - - Here is an example of setting a tail of the argument list: - -@example -(ad-set-args 0 '(5 4 3 2 1 0)) -@end example - -@noindent -If this happens in advice executed before the body of @code{foo} is run, -then within that body, @var{x} will be 5, @var{y} will be 4, @var{z} -will be 3, and @var{r} will be @code{(2 1 0)} inside the body of -@code{foo}. - - These argument constructs are not really implemented as Lisp macros. -Instead they are implemented specially by the advice mechanism. - -@node Combined Definition -@section The Combined Definition - - Suppose that a function has @var{n} pieces of before-advice -(numbered from 0 through @var{n}@minus{}1), @var{m} pieces of -around-advice and @var{k} pieces of after-advice. Assuming no piece -of advice is protected, the combined definition produced to implement -the advice for a function looks like this: - -@example -(lambda @var{arglist} - @r{[} @r{[}@var{advised-docstring}@r{]} @r{[}(interactive ...)@r{]} @r{]} - (let (ad-return-value) - @r{before-0-body-form}... - .... - @r{before-@var{n}@minus{}1-body-form}... - @r{around-0-body-form}... - @r{around-1-body-form}... - .... - @r{around-@var{m}@minus{}1-body-form}... - (setq ad-return-value - @r{apply original definition to @var{arglist}}) - @r{end-of-around-@var{m}@minus{}1-body-form}... - .... - @r{end-of-around-1-body-form}... - @r{end-of-around-0-body-form}... - @r{after-0-body-form}... - .... - @r{after-@var{k}@minus{}1-body-form}... - ad-return-value)) -@end example - -Macros are redefined as macros, which means adding @code{macro} to -the beginning of the combined definition. - -The interactive form is present if the original function or some piece -of advice specifies one. When an interactive primitive function is -advised, advice uses a special method: it calls the primitive with -@code{call-interactively} so that it will read its own arguments. -In this case, the advice cannot access the arguments. - -The body forms of the various advice in each class are assembled -according to their specified order. The forms of around-advice @var{l} -are included in one of the forms of around-advice @var{l} @minus{} 1. - -The innermost part of the around advice onion is - -@display -apply original definition to @var{arglist} -@end display - -@noindent -whose form depends on the type of the original function. The variable -@code{ad-return-value} is set to whatever this returns. The variable is -visible to all pieces of advice, which can access and modify it before -it is actually returned from the advised function. - -The semantic structure of advised functions that contain protected -pieces of advice is the same. The only difference is that -@code{unwind-protect} forms ensure that the protected advice gets -executed even if some previous piece of advice had an error or a -non-local exit. If any around-advice is protected, then the whole -around-advice onion is protected as a result. diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index 9681c3c42a3..0b2154cdb5e 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi @@ -194,7 +194,6 @@ To view this manual in other formats, click * Loading:: Reading files of Lisp code into Lisp. * Byte Compilation:: Compilation makes programs run faster. -* Advising Functions:: Adding to the definition of a function. * Debugging:: Tools and tips for debugging Lisp programs. * Read and Print:: Converting Lisp objects to text and back. @@ -614,19 +613,6 @@ Byte Compilation * Byte-Code Objects:: The data type used for byte-compiled functions. * Disassembly:: Disassembling byte-code; how to read byte-code. -Advising Emacs Lisp Functions - -* Simple Advice:: A simple example to explain the basics of advice. -* Defining Advice:: Detailed description of @code{defadvice}. -* Around-Advice:: Wrapping advice around a function's definition. -* Computed Advice:: ...is to @code{defadvice} as @code{fset} is to @code{defun}. -* Activation of Advice:: Advice doesn't do anything until you activate it. -* Enabling Advice:: You can enable or disable each piece of advice. -* Preactivation:: Preactivation is a way of speeding up the - loading of compiled advice. -* Argument Access in Advice:: How advice can access the function's arguments. -* Combined Definition:: How advice is implemented. - Debugging Lisp Programs * Debugger:: A debugger for the Emacs Lisp evaluator. @@ -1561,7 +1547,6 @@ Object Internals @include customize.texi @include loading.texi @include compile.texi -@include advice.texi @c This includes edebug.texi. @include debugging.texi diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi index d203f1c824f..d86430a5ac0 100644 --- a/doc/lispref/functions.texi +++ b/doc/lispref/functions.texi @@ -21,6 +21,7 @@ define them. * Function Cells:: Accessing or setting the function definition of a symbol. * Closures:: Functions that enclose a lexical environment. +* Advising Functions:: Adding to the definition of a function. * Obsolete Functions:: Declaring functions obsolete. * Inline Functions:: Functions that the compiler will expand inline. * Declare Form:: Adding additional information about a function. @@ -1077,12 +1078,10 @@ This function stores @var{definition} in the function cell of this is not checked. The argument @var{symbol} is an ordinary evaluated argument. -The primary use of this function is as a subroutine by constructs that -define or alter functions, like @code{defadvice} (@pxref{Advising -Functions}). (If @code{defun} were not a primitive, it could be -written as a Lisp macro using @code{fset}.) You can also use it to -give a symbol a function definition that is not a list, e.g., a -keyboard macro (@pxref{Keyboard Macros}): +The primary use of this function is as a subroutine by constructs that define +or alter functions, like @code{defun} or @code{advice-add} (@pxref{Advising +Functions}). You can also use it to give a symbol a function definition that +is not a function, e.g., a keyboard macro (@pxref{Keyboard Macros}): @example ;; @r{Define a named keyboard macro.} @@ -1133,6 +1132,269 @@ However, the fact that the internal structure of a closure is implementation detail. For this reason, we recommend against directly examining or altering the structure of closure objects. +@node Advising Functions +@section Advising Emacs Lisp Functions +@cindex advising functions +@cindex piece of advice + +Any variable or object field which holds a function can be modified with the +appropriate setter function, such as @code{set-process-filter}, @code{fset}, or +@code{setq}, but those can be too blunt, completely throwing away the +previous value. + +In order to modify such hooks in a more controlled way, Emacs provides the +macros @code{add-function} and @code{remove-function}, which let you modify the +existing function value by composing it with another function. + +For example, in order to trace the calls to a process filter, you can use: + +@example +(add-function :before (process-filter proc) #'my-tracing-function) +@end example + +This will cause the process's output to be passed first to +@code{my-tracing-function} and then to the original process filter. +When you're done with it, you can revert to the untraced behavior with: + +@example +(remove-function (process-filter proc) #'my-tracing-function) +@end example + +The argument @code{:before} specifies how the two functions are composed, since +there are many different ways to do it. The added function is also called an +@emph{advice}. + +The function cell of a symbol can be manipulated similarly, but since it can +contain other things than a plain function, you have to use @var{advice-add} +and @var{advice-remove} instead, which +@c use @var{add-function} and @var{remove-function} internally, but +know how to handle cases such as when the function cell holds a macro rather +than function, or when the function is autoloaded so the advice's activation +needs to be postponed. + +@menu +* Advising Primitives:: Primitives to Manipulate Advices +* Advising Named Functions:: Advising Named Functions +@end menu + +@node Advising Primitives +@subsection Primitives to manipulate advice + +@defmac add-function where place function &optional props +This macro is the handy way to add the advice @var{function} to the function +stored in @var{place} (@pxref{Generalized Variables}). + +@var{where} determines how @var{function} is composed with the +existing function. It can be one of the following: + +@table @code +@item :before +Call @var{function} before the old function. Both functions receive the +same arguments, and the return value of the composition is the return value of +the old function. More specifically, the composition of the two functions +behaves like: +@example +(lambda (&rest r) (apply @var{function} r) (apply @var{oldfun} r)) +@end example +This is similar to @code{(add-hook @var{hook} @var{function})}, except that it +applies to single-function hooks rather than normal hooks. + +@item :after +Call @var{function} after the old function. Both functions receive the +same arguments, and the return value of the composition is the return value of +the old function. More specifically, the composition of the two functions +behaves like: +@example +(lambda (&rest r) (prog1 (apply @var{oldfun} r) (apply @var{function} r))) +@end example +This is similar to @code{(add-hook @var{hook} @var{function} nil 'append)}, +except that it applies to single-function hooks rather than normal hooks. + +@item :override +This completely replaces the old function with the new one. The old function +can of course be recovered if you later call @code{remove-function}. + +@item :around +Call @var{function} instead of the old function, but provide the old function +as an extra argument to @var{function}. This is the most flexible composition. +For example, it lets you call the old function with different arguments, or +within a let-binding, or you can sometimes delegate the work to the old +function and sometimes override it completely. More specifically, the +composition of the two functions behaves like: +@example +(lambda (&rest r) (apply @var{function} @var{oldfun} r)) +@end example + +@item :before-while +Call @var{function} before the old function and don't call the old +function if @var{function} returns @code{nil}. Both functions receive the +same arguments, and the return value of the composition is the return value of +the old function. More specifically, the composition of the two functions +behaves like: +@example +(lambda (&rest r) (and (apply @var{function} r) (apply @var{oldfun} r))) +@end example +This is reminiscent of @code{(add-hook @var{hook} @var{function})}, when +@var{hook} is run via @code{run-hook-with-args-until-failure}. + +@item :before-until +Call @var{function} before the old function and only call the old function if +@var{function} returns @code{nil}. More specifically, the composition of the +two functions behaves like: +@example +(lambda (&rest r) (or (apply @var{function} r) (apply @var{oldfun} r))) +@end example +This is reminiscent of @code{(add-hook @var{hook} @var{function})}, when +@var{hook} is run via @code{run-hook-with-args-until-success}. + +@item :after-while +Call @var{function} after the old function and only if the old function +returned non-@code{nil}. Both functions receive the same arguments, and the +return value of the composition is the return value of @var{function}. +More specifically, the composition of the two functions behaves like: +@example +(lambda (&rest r) (and (apply @var{oldfun} r) (apply @var{function} r))) +@end example +This is reminiscent of @code{(add-hook @var{hook} @var{function} nil 'append)}, +when @var{hook} is run via @code{run-hook-with-args-until-failure}. + +@item :after-until +Call @var{function} after the old function and only if the old function +returned @code{nil}. More specifically, the composition of the two functions +behaves like: +@example +(lambda (&rest r) (or (apply @var{oldfun} r) (apply @var{function} r))) +@end example +This is reminiscent of @code{(add-hook @var{hook} @var{function} nil 'append)}, +when @var{hook} is run via @code{run-hook-with-args-until-success}. + +@item :filter-args +Call @var{function} first and use the result (which should be a list) as the +new arguments to pass to the old function. More specifically, the composition +of the two functions behaves like: +@example +(lambda (&rest r) (apply @var{oldfun} (funcall @var{function} r))) +@end example + +@item :filter-return +Call the old function first and pass the result to @var{function}. +More specifically, the composition of the two functions behaves like: +@example +(lambda (&rest r) (funcall @var{function} (apply @var{oldfun} r))) +@end example +@end table + +When modifying a variable (whose name will usually end with @code{-function}), +you can choose whether @var{function} is used globally or only in the current +buffer: if @var{place} is just a symbol, then @var{function} is added to the +global value of @var{place}. Whereas if @var{place} is of the form +@code{(local @var{symbol})}, where @var{symbol} is an expression which returns +the variable name, then @var{function} will only be added in the +current buffer. + +Every function added with @code{add-function} can be accompanied by an +association list of properties @var{props}. Currently only two of those +properties have a special meaning: + +@table @code +@item name +This gives a name to the advice, which @code{remove-function} can use to +identify which function to remove. Typically used when @var{function} is an +anonymous function. + +@item depth +This specifies where to place the advice, in case several advices are present. +By default, the depth is 0. A depth of 100 indicates that this advice should +be kept as deep as possible, whereas a depth of -100 indicates that it +should stay as the outermost advice. When two advices specify the same depth, +the most recently added advice will be outermost. +@end table +@end defmac + +@defmac remove-function place function +This macro removes @var{function} from the function stored in +@var{place}. This only works if @var{function} was added to @var{place} +using @code{add-function}. + +@var{function} is compared with functions added to @var{place} using +@code{equal}, to try and make it work also with lambda expressions. It is +additionally compared also with the @code{name} property of the functions added +to @var{place}, which can be more reliable than comparing lambda expressions +using @code{equal}. +@end defmac + +@defun advice-function-member-p advice function-def +Return non-@code{nil} if @var{advice} is already in @var{function-def}. +Like for @code{remove-function} above, instead of @var{advice} being the actual +function, it can also be the @code{name} of the piece of advice. +@end defun + +@defun advice-function-mapc f function-def +Call the function @var{f} for every advice that was added to +@var{function-def}. @var{f} is called with two arguments: the advice function +and its properties. +@end defun + +@node Advising Named Functions +@subsection Advising Named Functions + +A common use of advice is for named functions and macros. +Since @var{add-function} does not know how to deal with macros and autoloaded +functions, Emacs provides a separate set of functions to manipulate pieces of +advice applied to named functions. + + Advice can be useful for altering the behavior of an existing +function without having to redefine the whole function. However, it +can be a source of bugs, since existing callers to the function may +assume the old behavior, and work incorrectly when the behavior is +changed by advice. Advice can also cause confusion in debugging, if +the person doing the debugging does not notice or remember that the +function has been modified by advice. + + For these reasons, advice should be reserved for the cases where you +cannot modify a function's behavior in any other way. If it is +possible to do the same thing via a hook, that is preferable +(@pxref{Hooks}). If you simply want to change what a particular key +does, it may be better to write a new command, and remap the old +command's key bindings to the new one (@pxref{Remapping Commands}). +In particular, Emacs's own source files should not put advice on +functions in Emacs. (There are currently a few exceptions to this +convention, but we aim to correct them.) + + Macros can also be advised, in much the same way as functions. +However, special forms (@pxref{Special Forms}) cannot be advised. + + It is possible to advise a primitive (@pxref{What Is a Function}), +but one should typically @emph{not} do so, for two reasons. Firstly, +some primitives are used by the advice mechanism, and advising them +could cause an infinite recursion. Secondly, many primitives are +called directly from C, and such calls ignore advice; hence, one ends +up in a confusing situation where some calls (occurring from Lisp +code) obey the advice and other calls (from C code) do not. + +@defun advice-add symbol where function &optional props +Add the advice @var{function} to the named function @var{symbol}. +@var{where} and @var{props} have the same meaning as for @code{add-function} +(@pxref{Advising Primitives}). +@end defun + +@defun advice-remove symbol function +Remove the advice @var{function} from the named function @var{symbol}. +@var{function} can also be the @code{name} of an advice. +@end defun + +@defun advice-member-p function symbol +Return non-@code{nil} if the advice @var{function} is already in the named +function @var{symbol}. @var{function} can also be the @code{name} of +an advice. +@end defun + +@defun advice-mapc function symbol +Call @var{function} for every advice that was added to the named function +@var{symbol}. @var{function} is called with two arguments: the advice function +and its properties. +@end defun + @node Obsolete Functions @section Declaring Functions Obsolete @cindex obsolete functions diff --git a/doc/lispref/makefile.w32-in b/doc/lispref/makefile.w32-in index a56edd9f498..01fe14944fd 100644 --- a/doc/lispref/makefile.w32-in +++ b/doc/lispref/makefile.w32-in @@ -49,7 +49,6 @@ texinputdir = $(srcdir)\..\..\nt\envadd.bat \ srcs = \ $(emacsdir)/emacsver.texi \ $(srcdir)/abbrevs.texi \ - $(srcdir)/advice.texi \ $(srcdir)/anti.texi \ $(srcdir)/backups.texi \ $(srcdir)/buffers.texi \ diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index 50bbe2914ee..df0dd1a58e0 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi @@ -69,11 +69,13 @@ functions are called with arguments, or their return values are used in some way. The hook's documentation says how the functions are called. You can use @code{add-hook} to add a function to an abnormal hook, but you must write the function to follow the hook's calling -convention. +convention. By convention, abnormal hook names end in @samp{-functions}. - By convention, abnormal hook names end in @samp{-functions}. If the -variable's name ends in @samp{-function}, then its value is just a single -function, not a list of functions. +@cindex single-function hook +If the variable's name ends in @samp{-function}, then its value is +just a single function, not a list of functions. @code{add-hook} cannot be +used to modify such a @emph{single function hook}, and you have to use +@code{add-function} instead (@pxref{Advising Functions}). @menu * Running Hooks:: How to run a hook. @@ -129,47 +131,6 @@ non-@code{nil} value, it returns that value; otherwise it returns @code{nil}. @end defun -@defmac with-wrapper-hook hook args &rest body -This macro runs the abnormal hook @code{hook} as a series of nested -``wrapper functions'' around the @var{body} forms. The effect is -similar to nested @code{around} advices (@pxref{Around-Advice}). - -Each hook function should accept an argument list consisting of a function -@var{fun}, followed by the additional arguments listed in @var{args}. -The first hook function is passed a function @var{fun} that, if it is -called with arguments @var{args}, performs @var{body} (i.e., the default -operation). The @var{fun} passed to each successive hook function is -constructed from all the preceding hook functions (and @var{body}); if -this @var{fun} is called with arguments @var{args}, it does what the -@code{with-wrapper-hook} call would if the preceding hook functions were -the only ones in @var{hook}. - -Each hook function may call its @var{fun} argument as many times as it -wishes, including never. In that case, such a hook function acts to -replace the default definition altogether, and any preceding hook -functions. Of course, a subsequent hook function may do the same thing. - -Each hook function definition is used to construct the @var{fun} passed -to the next hook function in @var{hook}, if any. The last or -``outermost'' @var{fun} is called once to produce the overall effect. - -When might you want to use a wrapper hook? The function -@code{filter-buffer-substring} illustrates a common case. There is a -basic functionality, performed by @var{body}---in this case, to extract -a buffer-substring. Then any number of hook functions can act in -sequence to modify that string, before returning the final result. -A wrapper-hook also allows for a hook function to completely replace the -default definition (by not calling @var{fun}). -@end defmac - -@defun run-hook-wrapped hook wrap-function &rest args -This function is similar to @code{run-hook-with-args-until-success}. -Like that function, it runs the functions on the abnormal hook -@code{hook}, stopping at the first one that returns non-@code{nil}. -Instead of calling the hook functions directly, though, it actually -calls @code{wrap-function} with arguments @code{fun} and @code{args}. -@end defun - @node Setting Hooks @subsection Setting Hooks diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 41e7e3d768f..65a2da7d542 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-01-10 Stefan Monnier + + * cl.texi (Function Bindings): Fix incorrect description of cl-let. + 2014-01-09 Rüdiger Sonderfeld * Makefile.in: Add eww.texi. @@ -18,8 +22,8 @@ (Advanced configuration) (Header arguments in Org mode properties): Spelling fixes. (Special blocks): Add #+BEGIN_ABSTRACT as another example. - (@LaTeX{} specific attributes): New index entries. Use - #+BEGIN_ABSTRACT in the example. + (@LaTeX{} specific attributes): New index entries. + Use #+BEGIN_ABSTRACT in the example. 2013-01-07 Nicolas Goaziou @@ -80,7 +84,7 @@ 2014-01-02 Aidan Gauland - * eshell.texi (Command Basics): Removed `Command basics' chapter. + * eshell.texi (Command Basics): Remove `Command basics' chapter. 2014-01-02 Aidan Gauland @@ -200,8 +204,8 @@ * org.texi (Orgstruct mode): Fix suggested setting of `orgstruct-heading-prefix-regexp'. - * org.texi (Export settings): Document - `org-export-allow-bind-keywords'. + * org.texi (Export settings): + Document `org-export-allow-bind-keywords'. * org.texi (History and Acknowledgments): Small rephrasing. @@ -209,8 +213,8 @@ in a year datetree. * org.texi (Beamer export, @LaTeX{} and PDF export) - (Header and sectioning, @LaTeX{} specific attributes): Enhance - style. + (Header and sectioning, @LaTeX{} specific attributes): + Enhance style. * org.texi (Agenda commands): Add a footnote about dragging agenda lines: it does not persist and it does not change the .org files. @@ -229,15 +233,15 @@ * org.texi (Other built-in back-ends): New section. - * org.texi (Editing source code): Document - `org-edit-src-auto-save-idle-delay' and + * org.texi (Editing source code): + Document `org-edit-src-auto-save-idle-delay' and `org-edit-src-turn-on-auto-save'. * org.texi (External links): Document contributed link types separately. - * org.texi (Closing items): Document - `org-closed-keep-when-no-todo'. + * org.texi (Closing items): + Document `org-closed-keep-when-no-todo'. * org.texi (Export back-ends): Rename from "Export formats". (The Export Dispatcher): Remove reference to @@ -273,8 +277,8 @@ (Agenda commands): Move details about filtering commands to the new section, only include a summary here. (Customizing tables in ODT export) - (System-wide header arguments, Conflicts, Dynamic blocks): Use - spaces for indentation. + (System-wide header arguments, Conflicts, Dynamic blocks): + Use spaces for indentation. * org.texi (Emphasis and monospace): Mention `org-emphasis-alist'. @@ -331,8 +335,8 @@ (In-buffer settings): Update to reflect changes from the new export engine. - * org.texi (Matching tags and properties): More examples. Explain - group tags expansion as regular expressions. + * org.texi (Matching tags and properties): More examples. + Explain group tags expansion as regular expressions. * org.texi (Tag groups): New section. @@ -357,8 +361,8 @@ * org.texi (Org syntax): New section. - * org.texi (Orgstruct mode): Document - `orgstruct-heading-prefix-regexp'. + * org.texi (Orgstruct mode): + Document `orgstruct-heading-prefix-regexp'. * org.texi (Speeding up your agendas): New section. @@ -382,8 +386,8 @@ * org.texi: Update the list contributions. * org.texi (Agenda commands): Exporting the agenda to an .org file - will not copy the subtrees and the inherited tags. Document - `org-agenda-filter-by-regexp'. + will not copy the subtrees and the inherited tags. + Document `org-agenda-filter-by-regexp'. * org.texi (Publishing action, Complex example): Fix names of publishing functions. @@ -397,8 +401,8 @@ * org.texi (Capture): Mention that org-remember.el is not supported anymore. - * org.texi (Top, Exporting, Beamer class export): Delete - references to the TaskJuggler export. + * org.texi (Top, Exporting, Beamer class export): + Delete references to the TaskJuggler export. (History and Acknowledgments): Mention that the TaskJuggler has been rewritten by Nicolas and now lives in the contrib/ directory of Org's distribution. Mention that Jambunathan rewrote the HTML @@ -415,16 +419,16 @@ (@LaTeX{} and PDF export, Header and sectioning) (Publishing options): Fix LaTeX options names. - * org.texi (Export options, CSS support, In-buffer settings): Fix - references to HTML_LINK_* and HTML_STYLE keywords. + * org.texi (Export options, CSS support, In-buffer settings): + Fix references to HTML_LINK_* and HTML_STYLE keywords. * org.texi (Export options, In-buffer settings): Fix references to #+SELECT_TAGS and #+EXCLUDE_TAGS and remove reference to #+XSLT. * org.texi (Top, Markup, Initial text, Images and tables) (@LaTeX{} fragments, @LaTeX{} fragments, Exporting) - (Export options, JavaScript support, Beamer class export): Remove - references to the DocBook export, which has been deleted. + (Export options, JavaScript support, Beamer class export): + Remove references to the DocBook export, which has been deleted. (History and Acknowledgments): Mention that DocBook has been deleted, suggest to use the Texinfo exporter instead, then to convert the .texi to DocBook with makeinfo. @@ -433,8 +437,8 @@ * org.texi (Deadlines and scheduling): Add a variable to the index. Add documentation about delays for scheduled tasks. - * org.texi (Emphasis and monospace): Mention - `org-fontify-emphasized-text' and + * org.texi (Emphasis and monospace): + Mention `org-fontify-emphasized-text' and `org-emphasis-regexp-components'. * org.texi (References): Small enhancement. @@ -491,7 +495,7 @@ * org.texi (Extracting source code): Mention the prefix argument to org-babel-tangle. - (noweb): Removed erroneous negative. + (noweb): Remove erroneous negative. (Specific header arguments): Document new header arguments. Documentation for new tangle-mode header argument. (Top): Documentation for new tangle-mode header argument. @@ -595,8 +599,8 @@ * org.texi (Header and sectioning): Add a footnote about the different between LATEX_HEADER_EXTRA and LATEX_HEADER. - * org.texi (The Export Dispatcher): Document - `org-export-in-background'. + * org.texi (The Export Dispatcher): + Document `org-export-in-background'. * org.texi (Footnotes): Export back-ends do not use `org-footnote-normalize' anymore. @@ -618,19 +622,19 @@ * org.texi (Include files): Remove reference to :prefix1 and :prefix. Give more details for :minlevel. - * org.texi (Macro replacement): Fix macro name. Update - documentation about possible locations and escaping mechanism. + * org.texi (Macro replacement): Fix macro name. + Update documentation about possible locations and escaping mechanism. - * org.texi (Table of contents): Update documentation. Document - lists of listings and lists of tables. Add documentation for + * org.texi (Table of contents): Update documentation. + Document lists of listings and lists of tables. Add documentation for optional title and #+TOC: keyword. 2013-11-12 Rick Frankel * org.texi (results): Add Format section, broken out of Type section to match code. - (hlines, colnames): Remove incorrect Emacs Lisp exception. Note - that the actual default handling (at least for python and + (hlines, colnames): Remove incorrect Emacs Lisp exception. + Note that the actual default handling (at least for python and emacs-lisp) does not seem to match the description. 2013-11-12 Sacha Chua (tiny change) @@ -640,8 +644,8 @@ 2013-11-12 Yasushi Shoji - * org.texi (Resolving idle time): Document - `org-clock-x11idle-program-name'. + * org.texi (Resolving idle time): + Document `org-clock-x11idle-program-name'. 2013-10-24 Michael Albinus @@ -882,8 +886,8 @@ 2013-07-29 Michael Albinus - * tramp.texi (Frequently Asked Questions): Mention - `tramp-use-ssh-controlmaster-options'. + * tramp.texi (Frequently Asked Questions): + Mention `tramp-use-ssh-controlmaster-options'. 2013-07-26 Tassilo Horn @@ -927,8 +931,8 @@ 2013-07-08 Tassilo Horn * gnus.texi (lines): Correct description of - `gnus-registry-track-extra's default value. Mention - `gnus-registry-remove-extra-data'. + `gnus-registry-track-extra's default value. + Mention `gnus-registry-remove-extra-data'. 2013-07-06 Lars Ingebrigtsen diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi index 08f9610e594..0490cf639ac 100644 --- a/doc/misc/cl.texi +++ b/doc/misc/cl.texi @@ -1282,13 +1282,8 @@ cells of symbols rather than on the value cells. Each @var{binding} must be a list of the form @samp{(@var{name} @var{arglist} @var{forms}@dots{})}, which defines a function exactly as if it were a @code{cl-defun} form. The function @var{name} is defined -accordingly for the duration of the body of the @code{cl-flet}; then -the old function definition, or lack thereof, is restored. - -You can use @code{cl-flet} to disable or modify the behavior of -functions (including Emacs primitives) in a temporary, localized fashion. -(Compare this with the idea of advising functions. -@xref{Advising Functions,,,elisp,GNU Emacs Lisp Reference Manual}.) +accordingly but only within the body of the @code{cl-flet}, hiding any external +definition if applicable. The bindings are lexical in scope. This means that all references to the named functions must appear physically within the body of the -- cgit v1.2.1 From a12bf61ed4bb5b06d829df1a1371b3bbf2c8e791 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Fri, 10 Jan 2014 19:55:50 -0800 Subject: ChangeLog fixes --- doc/emacs/ChangeLog | 16 ++++++++++------ doc/lispref/ChangeLog | 2 +- doc/misc/ChangeLog | 28 ++++++++++++++++++++-------- 3 files changed, 31 insertions(+), 15 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 29ed8fadd29..cc5518b4fce 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -5117,10 +5117,6 @@ * maintaining.texi (Tags): Fix last change. -2008-02-02 Michael Albinus - - * tramp.texi: Use new FSF's Back-Cover Text. - 2008-01-31 Nick Roberts * trouble.texi (Checklist): Direct users to emacs-devel@gnu.org. @@ -5163,8 +5159,6 @@ * search.texi (Query Replace): Make exp of query-replace more self-contained, and clarify. - * cc-mode.texi (Getting Started): Change @ref to @pxref. - 2007-12-15 Richard Stallman * files.texi (Auto Save): Clarify definition of auto-saving. @@ -5716,6 +5710,11 @@ * frames.texi (Secondary Selection): Window clicked does not matter when mouse-yank-at-point is non-nil. +2007-01-27 Eli Zaretskii + + * msdog.texi (ls in Lisp): Document ls-lisp-format-time-list and + ls-lisp-use-localized-time-format. + 2007-01-16 Glenn Morris * abbrevs.texi (Editing Abbrevs): Describe how to disable a @@ -6043,6 +6042,11 @@ Change "Library Public License" to "Lesser Public License" throughout. Use "yyyy" to represent year. +2006-09-12 Paul Eggert + + * misc.texi (Interactive Shell): EMACS is now set + to Emacs's absolute file name, not to "t". + 2006-09-12 Reiner Steib * files.texi (Visiting): Add index entry "open file". diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 38427e56b9b..4044e965ae7 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -9395,7 +9395,7 @@ * variables.texi (Variable Aliases): Simplify. - * anti.texi, backups.texi, compile.texi, customization.texi: + * anti.texi, backups.texi, compile.texi, customize.texi: * debugging.texi, display.texi, edebug.texi, errors.texi, frames.texi: * functions.texi, help.texi, keymaps.texi, modes.texi, nonascii.texi: * os.texi, processes.texi, searching.texi, strings.texi, text.texi: diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 65a2da7d542..722d11c70f2 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -664,7 +664,7 @@ 2013-10-17 Jay Belanger - * calc.el (Data Type Formats): Don't specify the size at + * calc.texi (Data Type Formats): Don't specify the size at which integers begin to be represented by lists. 2013-10-14 Xue Fuqiao @@ -6293,6 +6293,12 @@ * org.texi: Massive changes, in many parts of the file. +2008-04-27 Jason Riedy + + * org.texi (A LaTeX example): Note that fmt may be a + one-argument function, and efmt may be a two-argument function. + (Radio tables): Document multiple destinations. + 2008-04-13 Reiner Steib * gnus.texi (Oort Gnus): Add message-fill-column. @@ -6525,6 +6531,10 @@ * tramp.texi (Remote processes): Add `shell-command'. +2008-02-02 Michael Albinus + + * tramp.texi: Use new FSF's Back-Cover Text. + 2008-01-28 Michael Sperber * gnus.texi (Mail Source Specifiers): Document `group' specifier. @@ -6625,7 +6635,7 @@ 2007-12-29 Jay Belanger - * calc.tex (Yacas Language, Maxima Language, Giac Language): + * calc.texi (Yacas Language, Maxima Language, Giac Language): New sections. 2007-12-29 Reiner Steib @@ -6643,6 +6653,10 @@ * trampver.texi: Update release number. +2007-12-22 Richard Stallman + + * cc-mode.texi (Getting Started): Change @ref to @pxref. + 2007-12-22 Michael Albinus * dbus.texi (Type Conversion): Correct input parameters mapping. @@ -7904,11 +7918,6 @@ * gnus.texi (Batching Agents): Fix example. Reported by Tassilo Horn . -2007-01-27 Eli Zaretskii - - * msdog.texi (ls in Lisp): Document ls-lisp-format-time-list and - ls-lisp-use-localized-time-format. - 2007-01-20 Markus Triska * flymake.texi (Flymake mode): find-file-hook instead of ...-hooks. @@ -8204,7 +8213,6 @@ * faq.texi (Escape sequences in shell output): EMACS is now set to Emacs's absolute file name, not to "t". (^M in the shell buffer): Likewise. - * misc.texi (Interactive Shell): Likewise. 2006-09-11 Reiner Steib @@ -8222,6 +8230,10 @@ * smtpmail.texi (Authentication): Mention SSL. +2006-09-03 Diane Murray + + * erc.texi (Getting Started, Connecting): Change erc-select to erc. + 2006-09-01 Eli Zaretskii * rcirc.texi (Internet Relay Chat, Useful IRC commands): -- cgit v1.2.1 From bada50fc50d34e0e2ffd00fd64957cfb397c6eee Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Fri, 10 Jan 2014 23:01:30 -0800 Subject: Merge from gnulib. This incorporates: 2014-01-07 update from texinfo 2014-01-06 md5, sha1, sha256, sha512: support older autoconf --- doc/misc/texinfo.tex | 74 +++++++++++++++++++++++----------------------------- 1 file changed, 33 insertions(+), 41 deletions(-) (limited to 'doc') diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index bfd765dd211..d92fb8a55e0 100644 --- a/doc/misc/texinfo.tex +++ b/doc/misc/texinfo.tex @@ -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-09-11.11} +\def\texinfoversion{2014-01-06.16} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, @@ -1138,10 +1138,12 @@ output) for that.)} \ifpdf % - % Color manipulation macros based on pdfcolor.tex, + % Color manipulation macros using ideas from pdfcolor.tex, % except using rgb instead of cmyk; the latter is said to render as a % very dark gray on-screen and a very dark halftone in print, instead - % of actual black. + % of actual black. The dark red here is dark enough to print on paper as + % nearly black, but still distinguishable for online viewing. We use + % black by default, though. \def\rgbDarkRed{0.50 0.09 0.12} \def\rgbBlack{0 0 0} % @@ -1251,10 +1253,9 @@ output) for that.)} % used to mark target names; must be expandable. \def\pdfmkpgn#1{#1} % - % by default, use a color that is dark enough to print on paper as - % nearly black, but still distinguishable for online viewing. - \def\urlcolor{\rgbDarkRed} - \def\linkcolor{\rgbDarkRed} + % by default, use black for everything. + \def\urlcolor{\rgbBlack} + \def\linkcolor{\rgbBlack} \def\endlink{\setcolor{\maincolor}\pdfendlink} % % Adding outlines to PDF; macros for calculating structure of outlines @@ -2574,37 +2575,21 @@ end \let\file=\code \let\option=\code -% @uref (abbreviation for `urlref') takes an optional (comma-separated) -% second argument specifying the text to display and an optional third -% arg as text to display instead of (rather than in addition to) the url -% itself. First (mandatory) arg is the url. -% (This \urefnobreak definition isn't used now, leaving it for a while -% for comparison.) -\def\urefnobreak#1{\dourefnobreak #1,,,\finish} -\def\dourefnobreak#1,#2,#3,#4\finish{\begingroup - \unsepspaces - \pdfurl{#1}% - \setbox0 = \hbox{\ignorespaces #3}% - \ifdim\wd0 > 0pt - \unhbox0 % third arg given, show only that - \else - \setbox0 = \hbox{\ignorespaces #2}% - \ifdim\wd0 > 0pt - \ifpdf - \unhbox0 % PDF: 2nd arg given, show only it - \else - \unhbox0\ (\code{#1})% DVI: 2nd arg given, show both it and url - \fi - \else - \code{#1}% only url given, so show it - \fi - \fi - \endlink -\endgroup} +% @uref (abbreviation for `urlref') aka @url takes an optional +% (comma-separated) second argument specifying the text to display and +% an optional third arg as text to display instead of (rather than in +% addition to) the url itself. First (mandatory) arg is the url. + +% TeX-only option to allow changing PDF output to show only the second +% arg (if given), and not the url (which is then just the link target). +\newif\ifurefurlonlylink -% This \urefbreak definition is the active one. +% The main macro is \urefbreak, which allows breaking at expected +% places within the url. (There used to be another version, which +% didn't support automatic breaking.) \def\urefbreak{\begingroup \urefcatcodes \dourefbreak} \let\uref=\urefbreak +% \def\dourefbreak#1{\urefbreakfinish #1,,,\finish} \def\urefbreakfinish#1,#2,#3,#4\finish{% doesn't work in @example \unsepspaces @@ -2613,12 +2598,19 @@ end \ifdim\wd0 > 0pt \unhbox0 % third arg given, show only that \else - \setbox0 = \hbox{\ignorespaces #2}% + \setbox0 = \hbox{\ignorespaces #2}% look for second arg \ifdim\wd0 > 0pt \ifpdf - \unhbox0 % PDF: 2nd arg given, show only it + \ifurefurlonlylink + % PDF plus option to not display url, show just arg + \unhbox0 + \else + % PDF, normally display both arg and url for consistency, + % visibility, if the pdf is eventually used to print, etc. + \unhbox0\ (\urefcode{#1})% + \fi \else - \unhbox0\ (\urefcode{#1})% DVI: 2nd arg given, show both it and url + \unhbox0\ (\urefcode{#1})% DVI, always show arg and url \fi \else \urefcode{#1}% only url given, so show it @@ -3691,7 +3683,7 @@ end \parskip=\smallskipamount \ifdim\parskip=0pt \parskip=2pt \fi % - % Try typesetting the item mark that if the document erroneously says + % Try typesetting the item mark so that if the document erroneously says % something like @itemize @samp (intending @table), there's an error % right away at the @itemize. It's not the best error message in the % world, but it's better than leaving it to the @item. This means if @@ -8342,8 +8334,8 @@ end % % Auto-number footnotes. Otherwise like plain. \gdef\footnote{% - \let\indent=\ptexindent - \let\noindent=\ptexnoindent + %\let\indent=\ptexindent + %\let\noindent=\ptexnoindent \global\advance\footnoteno by \@ne \edef\thisfootno{$^{\the\footnoteno}$}% % -- cgit v1.2.1 From 4efa3f1e0e66a7d84b0807c7b5d263e32f54a4e3 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sat, 11 Jan 2014 17:35:51 -0800 Subject: Replace doc references to deleted etc/ files * README: Replace reference to etc/MAILINGLISTS. * doc/man/emacs.1: Replace reference to etc/MAILINGLISTS. * doc/misc/efaq.texi (Guidelines for newsgroup postings) (Informational files for Emacs): Remove references to etc/MAILINGLISTS, etc/INTERVIEW. --- doc/man/ChangeLog | 4 ++++ doc/man/emacs.1 | 3 +-- doc/misc/ChangeLog | 6 ++++++ doc/misc/efaq.texi | 18 +++--------------- 4 files changed, 14 insertions(+), 17 deletions(-) (limited to 'doc') diff --git a/doc/man/ChangeLog b/doc/man/ChangeLog index 37f765db00f..34ecda837ef 100644 --- a/doc/man/ChangeLog +++ b/doc/man/ChangeLog @@ -1,3 +1,7 @@ +2014-01-12 Glenn Morris + + * emacs.1: Replace reference to etc/MAILINGLISTS. + 2014-01-09 Glenn Morris * emacs.1: Refer to online service directory rather than etc/SERVICE. diff --git a/doc/man/emacs.1 b/doc/man/emacs.1 index bd568a2e9da..04475d35da7 100644 --- a/doc/man/emacs.1 +++ b/doc/man/emacs.1 @@ -598,8 +598,7 @@ For personal assistance, consult the service directory at for a list of people who offer it. Please do not send anything but bug reports to this mailing list. -For more information about Emacs mailing lists, see the -file /usr/local/share/emacs/$VERSION/etc/MAILINGLISTS. +For other Emacs lists, see . . . .SH UNRESTRICTIONS diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 722d11c70f2..a036a60d208 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,9 @@ +2014-01-12 Glenn Morris + + * efaq.texi (Guidelines for newsgroup postings) + (Informational files for Emacs): + Remove references to etc/MAILINGLISTS, etc/INTERVIEW. + 2014-01-10 Stefan Monnier * cl.texi (Function Bindings): Fix incorrect description of cl-let. diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index aaca5d6f0c1..c54423e887e 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi @@ -392,12 +392,9 @@ recipients the same freedom that you enjoyed. @cindex Posting messages to newsgroups @cindex GNU mailing lists -The file @file{etc/MAILINGLISTS} describes the purpose of each GNU -mailing list (@pxref{Informational files for Emacs}). For those lists -which are gatewayed with newsgroups, it lists both the newsgroup name -and the mailing list address. The Emacs mailing lists are also -described at @uref{http://savannah.gnu.org/mail/?group=emacs, the Emacs -Savannah page}. +The Emacs mailing lists are described at +@uref{http://savannah.gnu.org/mail/?group=emacs, the Emacs Savannah +page}. Some of them are gatewayed to newsgroups. The newsgroup @uref{news:comp.emacs} is for discussion of Emacs programs in general. The newsgroup @uref{news:gnu.emacs.help} is specifically @@ -865,9 +862,7 @@ You can get Tkinfo at @cindex @file{COPYING}, description of file @cindex @file{DISTRIB}, description of file @cindex @file{GNU}, description of file -@cindex @file{INTERVIEW}, description of file @cindex @file{MACHINES}, description of file -@cindex @file{MAILINGLISTS}, description of file @cindex @file{NEWS}, description of file This isn't a frequently asked question, but it should be! A variety of @@ -891,16 +886,9 @@ Emacs Availability Information @item GNU The GNU Manifesto -@item INTERVIEW -Richard Stallman discusses his public-domain UNIX-compatible software -system with BYTE editors - @item MACHINES Status of Emacs on Various Machines and Systems -@item MAILINGLISTS -GNU Project Electronic Mailing Lists - @item NEWS Emacs news, a history of recent user-visible changes -- cgit v1.2.1 From e6344e177a536368b1a4506acb53b24f5f166aef Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sun, 12 Jan 2014 22:25:10 +0800 Subject: Rename eww-download-path to eww-download-directory. * lisp/net/eww.el (eww-download-directory): Rename from `eww-download-path' (Bug#16419). * doc/misc/eww.texi (Basics): Use "directory" instead of "path" (Bug#16419). --- doc/misc/ChangeLog | 4 ++++ doc/misc/eww.texi | 8 ++++---- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index a036a60d208..54a2a5de146 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-01-12 Xue Fuqiao + + * eww.texi (Basics): Use "directory" instead of "path" (Bug#16419). + 2014-01-12 Glenn Morris * efaq.texi (Guidelines for newsgroup postings) diff --git a/doc/misc/eww.texi b/doc/misc/eww.texi index b84de7509da..6fc344d8465 100644 --- a/doc/misc/eww.texi +++ b/doc/misc/eww.texi @@ -83,8 +83,8 @@ However a GNU Emacs with @code{libxml2} support is required. If the input doesn't look like a URL or domain name the web will be searched via @code{eww-search-prefix}. The default search engine is @url{https://duckduckgo.com, DuckDuckGo}. If you want to open a file -either prefix the path with @code{file://} or use the command @kbd{M-x -eww-open-file}. +either prefix the file name with @code{file://} or use the command +@kbd{M-x eww-open-file}. @findex eww-quit @findex eww-reload @@ -99,12 +99,12 @@ web page hit @kbd{g} (@code{eww-reload}). Pressing @kbd{w} (@code{eww-copy-page-url}) will copy the current URL to the kill ring. @findex eww-download -@vindex eww-download-path +@vindex eww-download-directory @kindex d @cindex Download A URL under the point can be downloaded with @kbd{d} (@code{eww-download}). The file will be written to the directory -specified in @code{eww-download-path} (Default: @file{~/Downloads/}). +specified in @code{eww-download-directory} (Default: @file{~/Downloads/}). @findex eww-back-url @findex eww-forward-url -- cgit v1.2.1 From c5eb43237d108a7d75bb9920b3b04d81c2089a92 Mon Sep 17 00:00:00 2001 From: Michael Albinus Date: Sun, 12 Jan 2014 16:19:07 +0100 Subject: * tramp.texi (all): Doc fix according to GNU Coding Standards. Use "file name" instead of "filename" or "path". Use "host" instead of "machine". --- doc/misc/ChangeLog | 6 ++ doc/misc/tramp.texi | 247 ++++++++++++++++++++++++++-------------------------- 2 files changed, 128 insertions(+), 125 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 54a2a5de146..ce03a0aa1a5 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,9 @@ +2014-01-12 Michael Albinus + + * tramp.texi (all): Doc fix according to GNU Coding Standards. + Use "file name" instead of "filename" or "path". Use "host" + instead of "machine". + 2014-01-12 Xue Fuqiao * eww.texi (Basics): Use "directory" instead of "path" (Bug#16419). diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index dfe57689e5e..b3057c255fc 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi @@ -17,7 +17,7 @@ @include trampver.texi -@c Macro for formatting a filename according to the respective syntax. +@c Macro for formatting a file name according to the respective syntax. @c xxx and yyy are auxiliary macros in order to omit leading and @c trailing whitespace. Not very elegant, but I don't know it better. @@ -198,7 +198,7 @@ Installing @value{tramp} with your @value{emacsname} Configuring @value{tramp} for use -* Connection types:: Types of connections made to remote machines. +* Connection types:: Types of connections made to remote hosts. * Inline methods:: Inline methods. * External methods:: External methods. @ifset emacsgvfs @@ -217,7 +217,7 @@ Configuring @value{tramp} for use * Connection caching:: Reusing connection related information. * Predefined connection information:: Setting own connection related information. -* Remote Programs:: How @value{tramp} finds and uses programs on the remote machine. +* Remote Programs:: How @value{tramp} finds and uses programs on the remote host. * Remote shell setup:: Remote shell setup hints. * Android shell setup:: Android shell setup hints. * Auto-save and Backup:: Auto-save and Backup. @@ -225,8 +225,8 @@ Configuring @value{tramp} for use Using @value{tramp} -* Filename Syntax:: @value{tramp} filename conventions. -* Filename completion:: Filename completion. +* File name Syntax:: @value{tramp} file name conventions. +* File name completion:: File name completion. * Ad-hoc multi-hops:: Declaring multiple hops in the file name. * Remote processes:: Integration with other @value{emacsname} packages. * Cleanup remote connections:: Cleanup remote connections. @@ -247,18 +247,18 @@ How file names, directories and localnames are mangled and managed @cindex overview After the installation of @value{tramp} into your @value{emacsname}, you -will be able to access files on remote machines as though they were +will be able to access files on remote hosts as though they were local. Access to the remote file system for editing files, version control, and @code{dired} are transparently enabled. -Your access to the remote machine can be with the @command{rsh}, +Your access to the remote host can be with the @command{rsh}, @command{rlogin}, @command{telnet} programs or with any similar connection method. This connection must pass @acronym{ASCII} successfully to be usable but need not be 8-bit clean. The package provides support for @command{ssh} connections out of the box, one of the more common uses of the package. This allows -relatively secure access to machines, especially if @command{ftp} +relatively secure access to hosts, especially if @command{ftp} access is disabled. Under Windows, @value{tramp} is integrated with the PuTTY package, @@ -267,11 +267,11 @@ using the @command{plink} program. The majority of activity carried out by @value{tramp} requires only that the remote login is possible and is carried out at the terminal. In order to access remote files @value{tramp} needs to transfer their content -to the local machine temporarily. +to the local host temporarily. -@value{tramp} can transfer files between the machines in a variety of ways. +@value{tramp} can transfer files between the hosts in a variety of ways. The details are easy to select, depending on your needs and the -machines in question. +hosts in question. The fastest transfer methods for large files rely on a remote file transfer package such as @command{rcp}, @command{scp}, @command{rsync} @@ -280,7 +280,7 @@ or (under Windows) @command{pscp}. If the remote copy methods are not suitable for you, @value{tramp} also supports the use of encoded transfers directly through the shell. This requires that the @command{mimencode} or @command{uuencode} tools -are available on the remote machine. These methods are generally +are available on the remote host. These methods are generally faster for small files. @value{tramp} is still under active development and any problems you encounter, @@ -351,7 +351,7 @@ shell prompt, and a few other things. @item Now the remote shell is up and it good working order. Remember, what was supposed to happen is that @value{tramp} tries to find out what files exist -on the remote host so that it can do filename completion. +on the remote host so that it can do file name completion. So, @value{tramp} basically issues @command{cd} and @command{ls} commands and also sometimes @command{echo} with globbing. Another command that is @@ -360,7 +360,7 @@ directory or the like. The output of each command is parsed for the necessary operation. @item -Suppose you are finished with filename completion, have entered @kbd{C-x +Suppose you are finished with file name completion, have entered @kbd{C-x C-f}, a full file name and hit @kbd{@key{RET}}. Now comes the time to transfer the file contents from the remote host to the local host so that you can edit them. @@ -470,7 +470,7 @@ many more methods for getting a remote shell and for transferring the file contents were added. Support for VC was added. After that, there were added the multi-hop methods in April 2000 and -the unification of @value{tramp} and Ange-FTP filenames in July 2002. +the unification of @value{tramp} and Ange-FTP file names in July 2002. In July 2004, multi-hop methods have been replaced by proxy hosts. Running commands on remote hosts was introduced in December 2005. @ifset emacsgw @@ -508,8 +508,8 @@ the first release including @value{tramp} was Emacs 22.1. @value{tramp} is (normally) fully functional when it is initially installed. It is initially configured to use the @command{scp} program to connect to the remote host. So in the easiest case, you -just type @kbd{C-x C-f} and then enter the filename -@file{@trampfn{, user, machine, /path/to.file}}. +just type @kbd{C-x C-f} and then enter the file name +@file{@trampfn{, user, host, /path/to.file}}. On some hosts, there are problems with opening a connection. These are related to the behavior of the remote shell. See @xref{Remote shell @@ -518,7 +518,7 @@ setup}, for details on this. If you do not wish to use these commands to connect to the remote host, you should change the default connection and transfer method that @value{tramp} uses. There are several different methods that @value{tramp} -can use to connect to remote machines and transfer files +can use to connect to remote hosts and transfer files (@pxref{Connection types}). If you don't know which method is right for you, see @xref{Default @@ -526,7 +526,7 @@ Method}. @menu -* Connection types:: Types of connections made to remote machines. +* Connection types:: Types of connections made to remote hosts. * Inline methods:: Inline methods. * External methods:: External methods. @ifset emacsgvfs @@ -548,7 +548,7 @@ Method}. * Connection caching:: Reusing connection related information. * Predefined connection information:: Setting own connection related information. -* Remote Programs:: How @value{tramp} finds and uses programs on the remote machine. +* Remote Programs:: How @value{tramp} finds and uses programs on the remote host. * Remote shell setup:: Remote shell setup hints. * Android shell setup:: Android shell setup hints. * Auto-save and Backup:: Auto-save and Backup. @@ -557,17 +557,17 @@ Method}. @node Connection types -@section Types of connections made to remote machines +@section Types of connections made to remote hosts @cindex connection types, overview There are two basic types of transfer methods, each with its own advantages and limitations. Both types of connection make use of a remote shell access program such as @command{rsh}, @command{ssh} or -@command{telnet} to connect to the remote machine. +@command{telnet} to connect to the remote host. This connection is used to perform many of the operations that @value{tramp} requires to make the remote file system transparently accessible from -the local machine. It is only when visiting files that the methods +the local host. It is only when visiting files that the methods differ. @cindex inline methods @@ -575,9 +575,9 @@ differ. @cindex methods, inline @cindex methods, external Loading or saving a remote file requires that the content of the file -be transferred between the two machines. The content of the file can +be transferred between the two hosts. The content of the file can be transferred using one of two methods: the @dfn{inline method} over -the same connection used to log in to the remote machine, or the +the same connection used to log in to the remote host, or the @dfn{external method} through another connection using a remote copy program such as @command{rcp}, @command{scp} or @command{rsync}. @@ -607,12 +607,12 @@ action. The inline methods in @value{tramp} are quite powerful and can work in situations where you cannot use an external transfer program to connect. Inline methods are the only methods that work when connecting to the -remote machine via telnet. (There are also strange inline methods which +remote host via telnet. (There are also strange inline methods which allow you to transfer files between @emph{user identities} rather than hosts, see below.) These methods depend on the existence of a suitable encoding and -decoding command on remote machine. Locally, @value{tramp} may be able to +decoding command on remote host. Locally, @value{tramp} may be able to use features of @value{emacsname} to decode and encode the files or it may require access to external commands to perform that task. @@ -789,11 +789,11 @@ fair trade-off between both approaches. @cindex rsh (with rcp method) This method uses the @command{rsh} and @command{rcp} commands to connect -to the remote machine and transfer files. This is probably the fastest +to the remote host and transfer files. This is probably the fastest connection method available. The alternative method @option{remcp} uses the @command{remsh} and -@command{rcp} commands. It should be applied on machines where +@command{rcp} commands. It should be applied on hosts where @command{remsh} is used instead of @command{rsh}. @@ -804,8 +804,8 @@ The alternative method @option{remcp} uses the @command{remsh} and @cindex ssh (with scp method) Using @command{ssh} to connect to the remote host and @command{scp} to -transfer files between the machines is the best method for securely -connecting to a remote machine and accessing files. +transfer files between the hosts is the best method for securely +connecting to a remote host and accessing files. The performance of this option is also quite good. It may be slower than the inline methods when you often open and close small files however. @@ -843,7 +843,7 @@ This method supports the @samp{-p} argument. @cindex ssh (with rsync method) Using the @command{ssh} command to connect securely to the remote -machine and the @command{rsync} command to transfer files is almost +host and the @command{rsync} command to transfer files is almost identical to the @option{scp} method. While @command{rsync} performs much better than @command{scp} when @@ -945,7 +945,7 @@ anyway. This is not a native @value{tramp} method. Instead, it forwards all requests to @value{ftppackagename}. @ifset xemacs -This works only for unified filenames, see @ref{Issues}. +This works only for unified file names, see @ref{Issues}. @end ifset @@ -974,15 +974,15 @@ For authorization, MS Windows uses both a user name and a domain name. Because of this, the @value{tramp} syntax has been extended: you can specify a user name which looks like @code{user%domain} (the real user name, then a percent sign, then the domain name). So, to connect to -the machine @code{melancholia} as user @code{daniel} of the domain +the host @code{melancholia} as user @code{daniel} of the domain @code{BIZARRE}, and edit @file{.emacs} in the home directory (share -@code{daniel$}) I would specify the filename @file{@trampfn{smb, +@code{daniel$}) I would specify the file name @file{@trampfn{smb, daniel%BIZARRE, melancholia, /daniel$$/.emacs}}. Depending on the Windows domain configuration, a Windows user might be considered as domain user per default. In order to connect as local -user, the WINS name of that machine must be given as domain name. -Usually, it is the machine name in capital letters. In the example +user, the WINS name of that host must be given as domain name. +Usually, it is the host name in capital letters. In the example above, the local user @code{daniel} would be specified as @file{@trampfn{smb, daniel%MELANCHOLIA, melancholia, /daniel$$/.emacs}}. @@ -1156,7 +1156,7 @@ example, the following two lines specify to use the @option{ssh} method for all user names matching @samp{john} and the @option{rsync} method for all host names matching @samp{lily}. The third line specifies to use the @option{su} method for the user @samp{root} on -the machine @samp{localhost}. +the host @samp{localhost}. @lisp (add-to-list 'tramp-default-method-alist '("" "john" "ssh")) @@ -1180,9 +1180,9 @@ environment you will use them in and, especially when used over the Internet, the security implications of your preferred method. The @option{rsh} and @option{telnet} methods send your password as -plain text as you log in to the remote machine, as well as +plain text as you log in to the remote host, as well as transferring the files in such a way that the content can easily be -read from other machines. +read from other hosts. If you need to connect to remote systems that are accessible from the Internet, you should give serious thought to using @option{ssh} based @@ -1207,7 +1207,7 @@ want to edit mostly small files. And if you access large text files, compression (driven by @var{tramp-inline-compress-start-size}) shall still result in good performance. -I guess that these days, most people can access a remote machine by +I guess that these days, most people can access a remote host by using @command{ssh}. So I suggest that you use the @option{ssh} method. So, type @kbd{C-x C-f @trampfn{ssh, root, otherhost, /etc/motd} @key{RET}} to edit the @file{/etc/motd} file on the other @@ -1359,7 +1359,7 @@ file name located on a remote target matching @var{user}@@@var{host}. @var{host} and @var{user} are regular expressions or @code{nil}, which is interpreted as a regular expression which always matches. -@var{proxy} must be a Tramp filename which localname part is ignored. +@var{proxy} must be a Tramp file name which localname part is ignored. Method and user name on @var{proxy} are optional, which is interpreted with the default values. @ifset emacsgw @@ -1500,7 +1500,7 @@ variable, accessible with @kbd{C-h v tramp-methods @key{RET}}. The variable @code{tramp-completion-function-alist} is intended to customize which files are taken into account for user and host name -completion (@pxref{Filename completion}). For every method, it keeps +completion (@pxref{File name completion}). For every method, it keeps a set of configuration files, accompanied by a Lisp function able to parse that file. Entries in @code{tramp-completion-function-alist} have the form (@var{method} @var{pair1} @var{pair2} ...). @@ -1763,7 +1763,7 @@ connection at will. Since there is no reliable test for this, @node Remote Programs -@section How @value{tramp} finds and uses programs on the remote machine +@section How @value{tramp} finds and uses programs on the remote host @value{tramp} depends on a number of programs on the remote host in order to function, including @command{ls}, @command{test}, @command{find} and @@ -1782,14 +1782,14 @@ remote file access. @vindex tramp-default-remote-path @vindex tramp-own-remote-path @defopt tramp-remote-path -When @value{tramp} connects to the remote machine, it searches for the +When @value{tramp} connects to the remote host, it searches for the programs that it can use. The variable @code{tramp-remote-path} -controls the directories searched on the remote machine. +controls the directories searched on the remote host. By default, this is set to a reasonable set of defaults for most -machines. The symbol @code{tramp-default-remote-path} is a place +hosts. The symbol @code{tramp-default-remote-path} is a place holder, it is replaced by the list of directories received via the -command @command{getconf PATH} on your remote machine. For example, +command @command{getconf PATH} on your remote host. For example, on Debian GNU/Linux this is @file{/bin:/usr/bin}, whereas on Solaris this is @file{/usr/xpg4/bin:/usr/ccs/bin:/usr/bin:/opt/SUNWspro/bin}. It is recommended to apply this symbol on top of @@ -2067,7 +2067,7 @@ fi Android devices use a restricted shell. They can be accessed via the @option{adb} method. However, this restricts the access to a USB connection, and it requires the installation of the Android SDK on the -local machine. +local host. When an @command{sshd} process runs on the Android device, like provided by the @code{SSHDroid} app, any @option{ssh}-based method can @@ -2293,7 +2293,7 @@ This section needs a lot of work! Please help. @cindex sshx method with Cygwin The recent Cygwin installation of @command{ssh} works only with a Cygwinized @value{emacsname}. You can check it by typing @kbd{M-x -eshell}, and starting @kbd{ssh test.machine}. The problem is evident +eshell}, and starting @kbd{ssh test.host}. The problem is evident if you see a message like this: @example @@ -2309,12 +2309,12 @@ can find information about setting up Cygwin in their FAQ at @cindex scpx method with Cygwin If you wish to use the @option{scpx} connection method, then you might have the problem that @value{emacsname} calls @command{scp} with a -Windows filename such as @code{c:/foo}. The Cygwin version of -@command{scp} does not know about Windows filenames and interprets -this as a remote filename on the host @code{c}. +Windows file name such as @code{c:/foo}. The Cygwin version of +@command{scp} does not know about Windows file names and interprets +this as a remote file name on the host @code{c}. One possible workaround is to write a wrapper script for @option{scp} -which converts the Windows filename to a Cygwinized filename. +which converts the Windows file name to a Cygwinized file name. @cindex Cygwin and ssh-agent @cindex SSH_AUTH_SOCK and @value{emacsname} on Windows @@ -2338,7 +2338,7 @@ know anything at all about Windows@dots{} @cindex using @value{tramp} Once you have installed @value{tramp} it will operate fairly -transparently. You will be able to access files on any remote machine +transparently. You will be able to access files on any remote host that you can log in to as though they were local. Files are specified to @value{tramp} using a formalized syntax specifying the @@ -2357,52 +2357,52 @@ minute when a connection needs to be opened. Maybe after half a minute you have already forgotten that you hit that key! @menu -* Filename Syntax:: @value{tramp} filename conventions. -* Filename completion:: Filename completion. +* File name Syntax:: @value{tramp} file name conventions. +* File name completion:: File name completion. * Ad-hoc multi-hops:: Declaring multiple hops in the file name. * Remote processes:: Integration with other @value{emacsname} packages. * Cleanup remote connections:: Cleanup remote connections. @end menu -@node Filename Syntax -@section @value{tramp} filename conventions -@cindex filename syntax -@cindex filename examples +@node File name Syntax +@section @value{tramp} file name conventions +@cindex file name syntax +@cindex file name examples -To access the file @var{localname} on the remote machine @var{machine} -you would specify the filename @file{@trampfn{, , machine, -localname}}. This will connect to @var{machine} and transfer the file +To access the file @var{localname} on the remote host @var{host} +you would specify the file name @file{@trampfn{, , host, +localname}}. This will connect to @var{host} and transfer the file using the default method. @xref{Default Method}. -Some examples of @value{tramp} filenames are shown below. +Some examples of @value{tramp} file names are shown below. @table @file @item @value{prefix}melancholia@value{postfix}.emacs -Edit the file @file{.emacs} in your home directory on the machine +Edit the file @file{.emacs} in your home directory on the host @code{melancholia}. @item @value{prefix}melancholia.danann.net@value{postfix}.emacs This edits the same file, using the fully qualified domain name of -the machine. +the host. @item @value{prefix}melancholia@value{postfix}~/.emacs This also edits the same file; the @file{~} is expanded to your -home directory on the remote machine, just like it is locally. +home directory on the remote host, just like it is locally. @item @value{prefix}melancholia@value{postfix}~daniel/.emacs This edits the file @file{.emacs} in the home directory of the user -@code{daniel} on the machine @code{melancholia}. The @file{~} +@code{daniel} on the host @code{melancholia}. The @file{~} construct is expanded to the home directory of that user on the remote -machine. +host. @item @value{prefix}melancholia@value{postfix}/etc/squid.conf -This edits the file @file{/etc/squid.conf} on the machine +This edits the file @file{/etc/squid.conf} on the host @code{melancholia}. @end table -@var{machine} can also be an IPv4 or IPv6 address, like in +@var{host} can also be an IPv4 or IPv6 address, like in @file{@trampfn{, , 127.0.0.1, .emacs}} or @file{@trampfn{, , @value{ipv6prefix}::1@value{ipv6postfix}, .emacs}}. @ifset emacs @@ -2413,17 +2413,17 @@ brackets @file{@value{ipv6prefix}} and @file{@value{ipv6postfix}}. Unless you specify a different name to use, @value{tramp} will use the current local user name as the remote user name to log in with. If you need to log in as a different user, you can specify the user name as -part of the filename. +part of the file name. -To log in to the remote machine as a specific user, you use the syntax -@file{@trampfn{, user, machine, path/to.file}}. That means that +To log in to the remote host as a specific user, you use the syntax +@file{@trampfn{, user, host, path/to.file}}. That means that connecting to @code{melancholia} as @code{daniel} and editing @file{.emacs} in your home directory you would specify @file{@trampfn{, daniel, melancholia, .emacs}}. It is also possible to specify other file transfer methods (@pxref{Inline methods}, @pxref{External methods}) as part of the -filename. +file name. @ifset emacs This is done by putting the method before the user and host name, as in @file{@value{prefix}@var{method}@value{postfixhop}} (Note the @@ -2434,15 +2434,15 @@ This is done by replacing the initial @file{@value{prefix}} with @file{@value{prefix}@value{postfixhop}}. (Note the trailing slash!). @end ifset -The user, machine and file specification remain the same. +The user, host and file specification remain the same. -So, to connect to the machine @code{melancholia} as @code{daniel}, +So, to connect to the host @code{melancholia} as @code{daniel}, using the @option{ssh} method to transfer files, and edit -@file{.emacs} in my home directory I would specify the filename +@file{.emacs} in my home directory I would specify the file name @file{@trampfn{ssh, daniel, melancholia, .emacs}}. @ifset emacs -A remote filename containing a host name only, which is equal to a +A remote file name containing a host name only, which is equal to a method name, is not allowed. If such a host name is used, it must always be preceded by an explicit method name, like @file{@value{prefix}ssh@value{postfixhop}ssh@value{postfix}}. @@ -2454,13 +2454,13 @@ by adding @file{#} to the host name, like in @file{@trampfn{ssh, daniel, melancholia#42, .emacs}}. -@node Filename completion -@section Filename completion -@cindex filename completion +@node File name completion +@section File name completion +@cindex file name completion -Filename completion works with @value{tramp} for completion of method -names, of user names and of machine names as well as for completion of -file names on remote machines. +File name completion works with @value{tramp} for completion of method +names, of user names and of host names as well as for completion of +file names on remote hosts. @ifset emacs In order to enable this, partial completion must be activated in your @file{.emacs}. @@ -2488,8 +2488,7 @@ If you, for example, type @kbd{C-x C-f @value{prefix}t @samp{@value{prefixhop}telnet@value{postfixhop}} is a possible completion for the respective method, @ifset emacs -@samp{tmp/} stands for the directory @file{/tmp} on your local -machine, +@samp{tmp/} stands for the directory @file{/tmp} on your local host, @end ifset and @samp{@value{prefixhop}toto@value{postfix}} might be a host @value{tramp} has detected in your @file{~/.ssh/known_hosts} @@ -2497,7 +2496,7 @@ file (given you're using default method @option{ssh}). If you go on to type @kbd{e @key{TAB}}, the minibuffer is completed to @samp{@value{prefix}telnet@value{postfixhop}}. -Next @kbd{@key{TAB}} brings you all machine names @value{tramp} detects in +Next @kbd{@key{TAB}} brings you all host names @value{tramp} detects in your @file{/etc/hosts} file, let's say @example @@ -2509,21 +2508,21 @@ your @file{/etc/hosts} file, let's say @end multitable @end example -Now you can choose the desired machine, and you can continue to -complete file names on that machine. +Now you can choose the desired host, and you can continue to +complete file names on that host. If the configuration files (@pxref{Customizing Completion}), which @value{tramp} uses for analysis of completion, offer user names, those user names will be taken into account as well. -Remote machines which have been visited in the past and kept +Remote hosts which have been visited in the past and kept persistently (@pxref{Connection caching}) will be offered too. -Once the remote machine identification is completed, it comes to -filename completion on the remote host. This works pretty much like +Once the remote host identification is completed, it comes to +file name completion on the remote host. This works pretty much like for files on the local host, with the exception that minibuffer -killing via a double-slash works only on the filename part, except -that filename part starts with @file{//}. +killing via a double-slash works only on the file name part, except +that file name part starts with @file{//}. @ifset emacs A triple-slash stands for the default behavior. @end ifset @@ -2557,14 +2556,14 @@ Example: A remote directory might have changed its contents out of @value{emacsname} control, for example by creation or deletion of -files by other processes. Therefore, during filename completion, the +files by other processes. Therefore, during file name completion, the remote directory contents are reread regularly in order to detect such changes, which would be invisible otherwise (@pxref{Connection caching}). @defopt tramp-completion-reread-directory-timeout This variable defines the number of seconds since last remote command before rereading a directory contents. A value of 0 would require an -immediate reread during filename completion, @code{nil} means to use +immediate reread during file name completion, @code{nil} means to use always cached values for the directory contents. @end defopt @@ -2632,7 +2631,7 @@ host when the variable @code{default-directory} is remote: @ifset emacsgvfs If the remote host is mounted via GVFS (see @ref{GVFS based methods}), the remote filesystem is mounted locally. Therefore, there are no -remote processes; all processes run still locally on your machine with +remote processes; all processes run still locally on your host with an adapted @code{default-directory}. This section does not apply for such connection methods. @end ifset @@ -2645,7 +2644,7 @@ integrated. Integration of further packages is planned, any help for this is welcome! When your program is not found in the default search path -@value{tramp} sets on the remote machine, you should either use an +@value{tramp} sets on the remote host, you should either use an absolute path, or extend @code{tramp-remote-path} (see @ref{Remote Programs}): @@ -2713,18 +2712,18 @@ that host. Calling @kbd{M-x shell} in a buffer related to a remote host runs the local shell as defined in @option{shell-file-name}. This might be -also a valid path name for a shell to be applied on the remote host, +also a valid file name for a shell to be applied on the remote host, but it will fail at least when your local and remote hosts belong to different system types, like @samp{windows-nt} and @samp{gnu/linux}. You must set the variable @option{explicit-shell-file-name} to the -shell path name on the remote host, in order to start that shell on +shell file name on the remote host, in order to start that shell on the remote host. @ifset emacs Starting with Emacs 24 this won't be necessary, if you call @code{shell} interactively. You will be asked for the remote shell -path, if you are on a remote buffer, and if +file name, if you are on a remote buffer, and if @option{explicit-shell-file-name} is equal to @code{nil}. @end ifset @@ -2924,7 +2923,7 @@ the @value{tramp} Mail Subscription Page}. @ifset emacs @ifset installchapter Before sending a bug report, you could check whether @value{tramp} -works at all. Run the test suite on your local machine, @ref{Testing}. +works at all. Run the test suite on your local host, @ref{Testing}. @end ifset @end ifset @@ -2935,7 +2934,7 @@ of your system and @value{tramp} version. When submitting a bug report, please try to describe in excruciating detail the steps required to reproduce the problem, the setup of the -remote machine and any special conditions that exist. You should also +remote host and any special conditions that exist. You should also check that your problem is not described already in @xref{Frequently Asked Questions}. @@ -3009,7 +3008,7 @@ information about remote hosts is kept in the file specified in confident that files on remote hosts are not changed out of @value{emacsname}' control, set @code{remote-file-name-inhibit-cache} to @code{nil}. Set also @code{tramp-completion-reread-directory-timeout} -to @code{nil}, @ref{Filename completion}. +to @code{nil}, @ref{File name completion}. Disable version control. If you access remote files which are not under version control, a lot of check operations can be avoided by @@ -3037,7 +3036,7 @@ reasons heading the bug mailing list: @item Unknown characters in the prompt -@value{tramp} needs to recognize the prompt on the remote machine +@value{tramp} needs to recognize the prompt on the remote host after execution any command. This is not possible when the prompt contains unknown characters like escape sequences for coloring. This should be avoided on the remote side. @xref{Remote shell setup}. for @@ -3069,7 +3068,7 @@ incidentally) doesn't work with WinSSHD due to strange prompt settings. @item Echoed characters after login -When the remote machine opens an echoing shell, there might be control +When the remote host opens an echoing shell, there might be control characters in the welcome message. @value{tramp} tries to suppress such echoes via the @command{stty -echo} command, but sometimes this command is not reached, because the echoed output has confused @@ -3167,7 +3166,7 @@ your @file{~/.ssh/config}: @item File name completion does not work with @value{tramp} -When you log in to the remote machine, do you see the output of +When you log in to the remote host, do you see the output of @command{ls} in color? If so, this may be the cause of your problems. @command{ls} outputs @acronym{ANSI} escape sequences that your terminal @@ -3175,12 +3174,12 @@ emulator interprets to set the colors. These escape sequences will confuse @value{tramp} however. In your @file{.bashrc}, @file{.profile} or equivalent on the remote -machine you probably have an alias configured that adds the option +host you probably have an alias configured that adds the option @option{--color=yes} or @option{--color=auto}. You should remove that alias and ensure that a new login @emph{does not} display the output of @command{ls} in color. If you still cannot use -filename completion, report a bug to the @value{tramp} developers. +file name completion, report a bug to the @value{tramp} developers. @item @@ -3726,7 +3725,7 @@ names. As such, the lisp functions @code{file-name-directory} and package. Their replacements are reasonably simplistic in their approach. They -dissect the filename, call the original handler on the localname and +dissect the file name, call the original handler on the localname and then rebuild the @value{tramp} file name with the result. This allows the platform specific hacks in the original handlers to take @@ -3736,19 +3735,19 @@ effect while preserving the @value{tramp} file name information. @ifset emacs @node External packages @section Integration with external Lisp packages -@subsection Filename completion. +@subsection File name completion. -While reading filenames in the minibuffer, @value{tramp} must decide -whether it completes possible incomplete filenames, or not. Imagine +While reading file names in the minibuffer, @value{tramp} must decide +whether it completes possible incomplete file names, or not. Imagine there is the following situation: You have typed @kbd{C-x C-f @value{prefix}ssh@value{postfixhop} @key{TAB}}. @value{tramp} cannot know, whether @option{ssh} is a method or a host name. It checks therefore the last input character you have typed. If this is @key{TAB}, @key{SPACE} or @kbd{?}, @value{tramp} assumes that you are -still in filename completion, and it does not connect to the possible +still in file name completion, and it does not connect to the possible remote host @option{ssh}. -External packages, which use other characters for completing filenames +External packages, which use other characters for completing file names in the minibuffer, must signal this to @value{tramp}. For this case, the variable @code{non-essential} can be bound temporarily to a non-@code{nil} value. @@ -3891,16 +3890,16 @@ printed and deleted. But I have decided that this is too fragile to reliably work, so on some systems you'll have to do without the uuencode methods. -@item The @value{tramp} filename syntax differs between Emacs and XEmacs. +@item The @value{tramp} file name syntax differs between Emacs and XEmacs. -The Emacs maintainers wish to use a unified filename syntax for +The Emacs maintainers wish to use a unified file name syntax for Ange-FTP and @value{tramp} so that users don't have to learn a new syntax. It is sufficient to learn some extensions to the old syntax. For the XEmacs maintainers, the problems caused from using a unified -filename syntax are greater than the gains. The XEmacs package system +file name syntax are greater than the gains. The XEmacs package system uses EFS for downloading new packages. So, obviously, EFS has to be -installed from the start. If the filenames were unified, @value{tramp} +installed from the start. If the file names were unified, @value{tramp} would have to be installed from the start, too. @ifset xemacs @@ -3917,12 +3916,12 @@ The autoload of the @value{emacsname} @value{tramp} package must be disabled. This can be achieved by setting file permissions @code{000} to the files @file{.../xemacs-packages/lisp/tramp/auto-autoloads.el*}. -In case of unified filenames, all @value{emacsname} download sites are +In case of unified file names, all @value{emacsname} download sites are added to @code{tramp-default-method-alist} with default method @option{ftp} @xref{Default Method}. These settings shouldn't be touched for proper working of the @value{emacsname} package system. -The syntax for unified filenames is described in the @value{tramp} manual +The syntax for unified file names is described in the @value{tramp} manual for @value{emacsothername}. @end ifset @end itemize @@ -3955,7 +3954,5 @@ for @value{emacsothername}. @c shells. @c * Explain how tramp.el works in principle: open a shell on a remote @c host and then send commands to it. -@c * Use `filename' resp. `file name' consistently. -@c * Use `host' resp. `machine' consistently. @c * Consistent small or capitalized words especially in menus. @c * Make a unique declaration of @trampfn. -- cgit v1.2.1 From ff7210fef52a3ced9ea517c8326164b241cc148b Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Sun, 12 Jan 2014 10:37:23 -0500 Subject: Remove more references unnecessarily specific to VCS. --- doc/misc/efaq.texi | 2 -- 1 file changed, 2 deletions(-) (limited to 'doc') diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index c54423e887e..f17570fbe23 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi @@ -978,7 +978,6 @@ conventions}). @cindex Latest version of Emacs @cindex Development, Emacs @cindex Repository, Emacs -@cindex Bazaar repository, Emacs Emacs @value{EMACSVER} is the current version as of this writing. A version number with two components (e.g., @samp{22.1}) indicates a released @@ -989,7 +988,6 @@ Emacs is under active development, hosted at @uref{http://savannah.gnu.org/projects/emacs/, Savannah}. The source code can be retrieved anonymously following the @uref{http://savannah.gnu.org/bzr/?group=emacs, instructions}. -The repository is GNU Bazaar. Because Emacs undergoes many changes before a release, the version number of a development version is not especially meaningful. It is -- cgit v1.2.1 From 3cc9b1e268be9e2593314c73866a67ba4fa03454 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Sun, 12 Jan 2014 18:37:42 +0200 Subject: Revert last commit. --- doc/misc/efaq.texi | 2 ++ 1 file changed, 2 insertions(+) (limited to 'doc') diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index f17570fbe23..c54423e887e 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi @@ -978,6 +978,7 @@ conventions}). @cindex Latest version of Emacs @cindex Development, Emacs @cindex Repository, Emacs +@cindex Bazaar repository, Emacs Emacs @value{EMACSVER} is the current version as of this writing. A version number with two components (e.g., @samp{22.1}) indicates a released @@ -988,6 +989,7 @@ Emacs is under active development, hosted at @uref{http://savannah.gnu.org/projects/emacs/, Savannah}. The source code can be retrieved anonymously following the @uref{http://savannah.gnu.org/bzr/?group=emacs, instructions}. +The repository is GNU Bazaar. Because Emacs undergoes many changes before a release, the version number of a development version is not especially meaningful. It is -- cgit v1.2.1 From 194a9710e319aea2b748bd01b7d8189ed95636f3 Mon Sep 17 00:00:00 2001 From: David Engster Date: Sun, 12 Jan 2014 17:50:54 +0100 Subject: Update EIEIO documentation because of namespace cleanup. * eieio.texi (Introduction): `class-of' is obsolete. (Predicates, Basic Methods): Adapt function names to namespace cleanup. * NEWS: Add missing renames to EIEIO section. Also, no functions were removed but only made obsolete. Class field accessors were always purely internal, so remove that remark. Add markup. --- doc/misc/ChangeLog | 6 ++++++ doc/misc/eieio.texi | 41 ++++++++++++++++++----------------------- 2 files changed, 24 insertions(+), 23 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index ce03a0aa1a5..2718c59cf25 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -4,6 +4,12 @@ Use "file name" instead of "filename" or "path". Use "host" instead of "machine". +2014-01-12 David Engster + + * eieio.texi (Introduction): `class-of' is obsolete. + (Predicates, Basic Methods): Adapt function names to namespace + cleanup. + 2014-01-12 Xue Fuqiao * eww.texi (Basics): Use "directory" instead of "path" (Bug#16419). diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi index 36c9eee9caf..427c10c160e 100644 --- a/doc/misc/eieio.texi +++ b/doc/misc/eieio.texi @@ -223,10 +223,9 @@ 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. +@code{defclass} is ignored. Also, functions like `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. @@ -1065,7 +1064,7 @@ make a slot unbound. @var{object} can be an instance or a class. @end defun -@defun class-name class +@defun eieio-class-name class Return a string of the form @samp{#} which should look similar to other Lisp objects like buffers and processes. Printing a class results only in a symbol. @@ -1089,7 +1088,7 @@ constructor is a function used to create new instances of without knowing what it is. This is not a part of CLOS. @end defun -@defun object-name obj +@defun eieio-object-name obj Return a string of the form @samp{#} for @var{obj}. This should look like Lisp symbols from other parts of Emacs such as buffers and processes, and is shorter and cleaner than printing the @@ -1098,43 +1097,39 @@ and object's print form, as this allows the object to add extra display information into the symbol. @end defun -@defun object-class obj +@defun eieio-object-class obj Returns the class symbol from @var{obj}. @end defun -@defun class-of obj -CLOS symbol which does the same thing as @code{object-class} -@end defun - -@defun object-class-fast obj -Same as @code{object-class} except this is a macro, and no +@defun eieio--object-class obj +Same as @code{eieio-object-class} except this is a macro, and no type-checking is performed. @end defun -@defun object-class-name obj +@defun eieio-object-class-name obj Returns the symbol of @var{obj}'s class. @end defun -@defun class-parents class +@defun eieio-class-parents class Returns the direct parents class of @var{class}. Returns @code{nil} if it is a superclass. @end defun -@defun class-parents-fast class -Just like @code{class-parent} except it is a macro and no type checking +@defun eieio-class-parents-fast class +Just like @code{eieio-class-parents} except it is a macro and no type checking is performed. @end defun -@defun class-parent class +@defun eieio-class-parent class Deprecated function which returns the first parent of @var{class}. @end defun -@defun class-children class +@defun eieio-class-children class Return the list of classes inheriting from @var{class}. @end defun -@defun class-children-fast class -Just like @code{class-children}, but with no checks. +@defun eieio-class-children-fast class +Just like @code{eieio-class-children}, but with no checks. @end defun @defun same-class-p obj class @@ -1676,9 +1671,9 @@ sure to call @dfn{call-next-method} first and modify the returned object. @defun object-print this &rest strings @anchor{object-print} -Pretty printer for object @var{this}. Call function @dfn{object-name} with @var{strings}. +Pretty printer for object @var{this}. Call function @dfn{eieio-object-name} with @var{strings}. The default method for printing object @var{this} is to use the -function @dfn{object-name}. +function @dfn{eieio-object-name}. It is sometimes useful to put a summary of the object into the default # string when using eieio browsing tools. -- cgit v1.2.1 From 237166b329b828674a05704480c42ebe708b8be0 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Mon, 13 Jan 2014 23:22:47 +0800 Subject: Minor doc fix for Flymake. --- doc/misc/flymake.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi index 5005045d65c..a9904530e13 100644 --- a/doc/misc/flymake.texi +++ b/doc/misc/flymake.texi @@ -87,7 +87,7 @@ messages also contain a filename and a line number. Selecting such a menu item will automatically open the file and jump to the line with error. -Syntax check is done 'on-the-fly'. It is started whenever +Syntax check is done ``on-the-fly''. It is started whenever @itemize @bullet @item buffer is loaded -- cgit v1.2.1 From ae93878a926442f695ac1f96f316247ff8eccc3a Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 13 Jan 2014 14:21:32 -0800 Subject: Spelling fixes. --- doc/emacs/buffers.texi | 2 +- doc/emacs/emacs.texi | 2 +- doc/misc/org.texi | 2 +- doc/misc/todo-mode.texi | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi index 695ea96c363..13212164632 100644 --- a/doc/emacs/buffers.texi +++ b/doc/emacs/buffers.texi @@ -51,7 +51,7 @@ also limited by the amount of memory in the system. @menu * Select Buffer:: Creating a new buffer or reselecting an old one. * List Buffers:: Getting a list of buffers that exist. -* Misc Buffer:: Renaming; changing read-onlyness; copying text. +* Misc Buffer:: Renaming; changing read-only status; copying text. * Kill Buffer:: Killing buffers you no longer need. * Several Buffers:: How to go through the list of all buffers and operate variously on several of them. diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index ca5520198f8..acd17d4d327 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -493,7 +493,7 @@ Using Multiple Buffers * Select Buffer:: Creating a new buffer or reselecting an old one. * List Buffers:: Getting a list of buffers that exist. -* Misc Buffer:: Renaming; changing read-onlyness; copying text. +* Misc Buffer:: Renaming; changing read-only status; copying text. * Kill Buffer:: Killing buffers you no longer need. * Several Buffers:: How to go through the list of all buffers and operate variously on several of them. diff --git a/doc/misc/org.texi b/doc/misc/org.texi index cb2034cdca5..4667ec3a618 100644 --- a/doc/misc/org.texi +++ b/doc/misc/org.texi @@ -10690,7 +10690,7 @@ Toggle inclusion of tables (@code{org-export-with-tables}). @cindex property, EXPORT_FILE_NAME When exporting only a subtree, each of the previous keywords@footnote{With -the exception of @samp{SETUPFILE}.} can be overriden locally by special node +the exception of @samp{SETUPFILE}.} can be overridden locally by special node properties. These begin with @samp{EXPORT_}, followed by the name of the keyword they supplant. For example, @samp{DATE} and @samp{OPTIONS} keywords become, respectively, @samp{EXPORT_DATE} and @samp{EXPORT_OPTIONS} diff --git a/doc/misc/todo-mode.texi b/doc/misc/todo-mode.texi index 4b5dc6d6c71..5a903f7dee4 100644 --- a/doc/misc/todo-mode.texi +++ b/doc/misc/todo-mode.texi @@ -443,7 +443,7 @@ This command also kill the buffers visiting the deleted files. @item F e This command (@code{todo-edit-file}) changes the buffer's major mode to Todo Edit mode. In this mode the entire file is visible, the buffer is -writeable and you can use the self-insertion keys and standard Emacs +writable and you can use the self-insertion keys and standard Emacs editing commands to make changes. To return to Todo mode, type @kbd{C-x C-q} (@code{todo-edit-quit}). -- cgit v1.2.1 From 689c9ca51eb4b6496836241b9fb062bf10521568 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 14 Jan 2014 00:13:13 -0800 Subject: ChangeLog fixes --- doc/emacs/ChangeLog | 2 -- doc/misc/ChangeLog | 12 +++++++++++- 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index cc5518b4fce..8e4a3fae880 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -6808,8 +6808,6 @@ * sending.texi (Mail Sending): pxref to Top needs five args. - * texinfo.tex: Update to current version (2006-03-21.13). - 2006-03-31 Richard Stallman * emacs.texi (Top): Update subnode menu. diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 2718c59cf25..a11e39936c2 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -8702,6 +8702,10 @@ * gnus.texi (Security): Improve. +2006-04-02 Karl Berry + + * texinfo.tex: Update to current version (2006-03-21.13). + 2006-04-02 Bill Wohler * mh-e.texi (Getting Started, Junk, Bug Reports) @@ -10866,6 +10870,12 @@ * Makefile.in (mostlyclean, maintainer-clean): Delete more files. +2001-02-12 Michael Kifer + + * ediff.texi: Added ediff-coding-system-for-read. + + * viper.texi: Fix typos. + 2000-12-20 Eli Zaretskii * Makefile.in (../info/idlwave): Use --no-split. @@ -11257,7 +11267,7 @@ 1990-05-25 Richard Stallman (rms@sugar-bombs.ai.mit.edu) - * texindex.tex: If USG, include sys/types.h and sys/fcntl.h. + * texindex.c: If USG, include sys/types.h and sys/fcntl.h. 1989-01-17 Robert J. Chassell (bob@rice-chex.ai.mit.edu) -- cgit v1.2.1 From 39c871402ffc2f56bcb1f0c00b4c99ea5bfd7415 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 14 Jan 2014 22:06:07 -0500 Subject: ChangeLog fixes --- doc/misc/ChangeLog | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index a11e39936c2..e02ce43bd96 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -10812,11 +10812,12 @@ 2002-10-02 Karl Berry - * (ada-mode.texi autotype.texi calc.texi cc-mode.texi cl.texi - dired-x.texi ebrowse.texi ediff.texi emacs-mime.texi - eshell.texi eudc.texi faq.texi forms.texi idlwave.texi info.texi - message.texi mh-e.texi pcl-cvs.texi reftex.texi sc.texi ses.texi - speedbar.texi vip.texi viper.texi widget.texi woman.texi): + * ada-mode.texi, autotype.texi, calc.texi, cc-mode.texi, cl.texi: + * dired-x.texi, ebrowse.texi, ediff.texi, emacs-mime.texi: + * eshell.texi, eudc.texi, faq.texi, forms.texi, idlwave.texi: + * info.texi, message.texi, mh-e.texi, pcl-cvs.texi, reftex.texi: + * sc.texi, ses.texi, speedbar.texi, vip.texi, viper.texi: + * widget.texi, woman.texi: Per rms, update all manuals to use @copying instead of @ifinfo. Also use @ifnottex instead of @ifinfo around the top node, where needed for the sake of the HTML output. @@ -10995,6 +10996,10 @@ * Makefile (../info/viper, viper.dvi): Delete viper-cmd.texi dep. +1997-04-12 Per Abrahamsen + + * widget.texi (push-button): Document it. + 1996-08-11 Richard Stallman * Version 19.33 released. -- cgit v1.2.1 From c6c863df8dfde4d25a08f1dd97932c8746809e88 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 15 Jan 2014 00:49:38 -0800 Subject: ChangeLog fixes --- doc/misc/ChangeLog | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index e02ce43bd96..e7aa03f5ef6 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -7223,7 +7223,7 @@ 2007-10-28 Reiner Steib - * gnusref.tex: Mention `gnus-summary-limit-to-recipient' and + * gnus.texi: Mention `gnus-summary-limit-to-recipient' and `gnus-summary-sort-by-recipient'. 2007-10-28 Romain Francoise -- cgit v1.2.1 From 630395d1f6dbf538b8739899d15333712bbe6d10 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 15 Jan 2014 13:27:51 -0500 Subject: Small doc/ copyedits * doc/emacs/files.texi (File Conveniences): * doc/emacs/misc.texi (EWW): Copyedits. * doc/misc/Makefile.in (eww_deps): Does not depend on emacsver.texi. * doc/misc/eww.texi: Comment. --- doc/emacs/ChangeLog | 5 +++++ doc/emacs/files.texi | 10 +++++----- doc/emacs/misc.texi | 8 ++++---- doc/misc/ChangeLog | 4 ++++ doc/misc/Makefile.in | 2 +- doc/misc/eww.texi | 1 - 6 files changed, 19 insertions(+), 11 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 8e4a3fae880..124ecaea9e7 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,8 @@ +2014-01-15 Glenn Morris + + * files.texi (File Conveniences): + * misc.texi (EWW): Copyedits. + 2014-01-10 Glenn Morris * emacs.texi (Distrib): Add donate URL. Add anchor. diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index 449ad9f2aa1..1b6211a1ee1 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi @@ -1977,11 +1977,11 @@ non-@code{nil}. With @kbd{f} (@code{image-next-frame}) and @kbd{b} (@code{image-previous-frame}) you can step through the individual frames. Both commands accept a numeric prefix to step through several frames at once. You can go to a specific frame with @kbd{F} -(@code{image-goto-frame}). The speed of the animation can be -increased by pressing @kbd{a +} (@code{image-increase-speed}) and -decreased by pressing @kbd{a -} (@code{image-decrease-speed}). With -@kbd{a r} (@code{image-reverse-speed}) the speed is reversed. You can -reset the speed with @kbd{a 0} (@code{image-reset-speed}). +(@code{image-goto-frame}). Typing @kbd{a +} +(@code{image-increase-speed}) increases the speed of the animation, +@kbd{a -} (@code{image-decrease-speed}) decreases it, and @kbd{a r} +(@code{image-reverse-speed}) reverses it. The command @kbd{a 0} +(@code{image-reset-speed}) resets the speed to the original value. @cindex ImageMagick support @vindex imagemagick-enabled-types diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index aed854e1a3f..b5e8ace7e1e 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi @@ -446,10 +446,10 @@ the DocView buffer. @findex eww-open-file @dfn{EWW}, the Emacs Web Wowser, is a web browser package for Emacs. It allows browsing URLs within an Emacs buffer. The command @kbd{M-x -eww} can be used to open a URL or search the web. A file can be -opened using the command @kbd{M-x eww-open-file}. EWW can be used as -web browser for @code{browse-url}, see @ref{Browse-URL}. For full -details, see @ref{Top, EWW,, eww, The Emacs Web Wowser Manual}. +eww} will open a URL or search the web. You can open a file +using the command @kbd{M-x eww-open-file}. You can use EWW as the +web browser for @code{browse-url}, @pxref{Browse-URL}. For full +details, @pxref{Top, EWW,, eww, The Emacs Web Wowser Manual}. @node Shell @section Running Shell Commands from Emacs diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index e7aa03f5ef6..0b5904ba3ac 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-01-15 Glenn Morris + + * Makefile.in (eww_deps): Does not depend on emacsver.texi. + 2014-01-12 Michael Albinus * tramp.texi (all): Doc fix according to GNU Coding Standards. diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index b3318ddd183..e5f56be5016 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in @@ -410,7 +410,7 @@ eudc.pdf: $(eudc_deps) eudc.html: $(eudc_deps) $(MAKEINFO) $(MAKEINFO_OPTS) $(HTML_OPTS) -o $@ ${srcdir}/eudc.texi -eww_deps = ${srcdir}/eww.texi $(emacsdir)/emacsver.texi ${gfdl} +eww_deps = ${srcdir}/eww.texi ${gfdl} eww : $(buildinfodir)/eww$(INFO_EXT) $(buildinfodir)/eww$(INFO_EXT): $(eww_deps) $(mkinfodir) diff --git a/doc/misc/eww.texi b/doc/misc/eww.texi index 6fc344d8465..38bec5a4c8b 100644 --- a/doc/misc/eww.texi +++ b/doc/misc/eww.texi @@ -3,7 +3,6 @@ @setfilename ../../info/eww @settitle Emacs Web Wowser @documentencoding UTF-8 -@c @include emacsver.texi @c %**end of header @copying -- cgit v1.2.1 From c91c771dbe242cd942c00a0a57c18c1482e59fa0 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 15 Jan 2014 22:24:06 -0800 Subject: Spelling fixes. --- doc/misc/srecode.texi | 2 +- doc/misc/wisent.texi | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/misc/srecode.texi b/doc/misc/srecode.texi index 033e031b648..a0fcd9e2e94 100644 --- a/doc/misc/srecode.texi +++ b/doc/misc/srecode.texi @@ -822,7 +822,7 @@ from the name, like this: @node Contexts @section Context -Each template belongs to a context. When promting for a template by +Each template belongs to a context. When prompting for a template by name, such as with @kbd{C-c / /}, the name is prefixed by the current context. If there is no context, it defaults to @code{declaration}. diff --git a/doc/misc/wisent.texi b/doc/misc/wisent.texi index c8a56ea3414..3ee080f50e0 100644 --- a/doc/misc/wisent.texi +++ b/doc/misc/wisent.texi @@ -131,7 +131,7 @@ June 1985, Report No. UCB/CSD 85/251. @item For generating the lookahead sets, Wisent uses the well-known -technique of F. DeRemer and A. Pennello described in: +technique of F. DeRemer and T. Pennello described in: @quotation @cite{Efficient Computation of LALR(1) Look-Ahead Sets}@* October 1982, ACM TOPLAS Vol 4 No 4, 615--49, -- cgit v1.2.1 From d967cd184c6dff62705de16823ca92b0ceb7ba23 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 16 Jan 2014 00:34:43 -0800 Subject: ChangeLog fixes --- doc/emacs/ChangeLog | 2 +- doc/misc/ChangeLog | 23 +++++++++++++++++++---- 2 files changed, 20 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 124ecaea9e7..8f6a79a0442 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -10226,7 +10226,7 @@ 1990-05-25 Richard Stallman (rms@sugar-bombs.ai.mit.edu) - * texindex.tex: If USG, include sys/types.h and sys/fcntl.h. + * texindex.c: If USG, include sys/types.h and sys/fcntl.h. 1990-03-21 Jim Kingdon (kingdon@pogo.ai.mit.edu) diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 0b5904ba3ac..394bb30ebfb 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -3517,7 +3517,8 @@ 2013-02-18 Aidan Gauland - * eshell.texi (Input/Output): Document insert output redirection operator, >>>. + * eshell.texi (Input/Output): + Document insert output redirection operator, >>>. 2011-02-18 Glenn Morris @@ -10795,6 +10796,11 @@ `tramp-set-completion-function', because parsing of ssh config files looks more natural. +2003-01-15 Kevin Ryde + + * gnus.texi (Using MIME): Mention auto-compression-mode with + gnus-mime-copy-part. + 2003-01-15 ShengHuo ZHU * gnus.texi: Do not use `path' in several locations. @@ -10843,6 +10849,12 @@ * reftex.texi: Update to RefTeX 4.19. +2002-07-21 Jesper Harder + + * gnus.texi (Sorting Groups): Add key bindings for + gnus-group-sort-groups-by-real-name and + gnus-group-sort-selected-groups-by-real-name. + 2002-06-17 Kai Großjohann * Makefile.in (INFO_TARGETS, DVI_TARGETS): Add Tramp. @@ -10978,6 +10990,12 @@ * reftex.texi: Update for RefTeX version 3.22. +1998-03-01 Kim-Minh Kaplan + + * gnus.texi (Easy Picons): Removed references to + `gnus-group-display-picons'. + (Hard Picons): Ditto. + 1998-02-08 Richard Stallman * Makefile.in (reftex.dvi, ../info/reftex): New targets. @@ -11185,9 +11203,6 @@ * forms.texi: Fix forms.texi so that it will format correctly. Add missing `@end iftex', fix bad reference. - * info.texi, info-stn.texi: New files implement texinfo version of - `info' file. - 1993-10-20 Brian J. Fox (bfox@ai.mit.edu) * Makefile: Fix targets for texindex, new info.texi files. -- cgit v1.2.1 From fc23fe2d522eae464a1ddb738311847c40180662 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 16 Jan 2014 21:59:24 -0500 Subject: * lisp/emacs-lisp/authors.el (authors-aliases): Remove unnecessary entries. * lisp/jka-cmpr-hook.el, lisp/jka-compr.el, lisp/progmodes/antlr-mode.el: * doc/misc/autotype.texi: Fix author header comments. * lisp/org/ChangeLog: ChangeLog fix. --- doc/misc/autotype.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi index 7ca860486c2..ae3fa0e5870 100644 --- a/doc/misc/autotype.texi +++ b/doc/misc/autotype.texi @@ -1,6 +1,6 @@ \input texinfo @c This is an annex of the Emacs manual. -@c Author: Daniel.Pfeiffer@Informatik.START.dbp.de, fax (+49 69) 7588-2389 +@c Author: Daniel Pfeiffer @setfilename ../../info/autotype @c @node Autotypist, Picture, Abbrevs, Top @c @chapter Features for Automatic Typing -- cgit v1.2.1 From 1a98c36400c01f862e1ec9c35c5818aaebdeae92 Mon Sep 17 00:00:00 2001 From: Bastien Guerry Date: Fri, 17 Jan 2014 13:43:51 +0100 Subject: * building.texi (Commands of GUD): Fix keybinding for `gud-break'. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/building.texi | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 8f6a79a0442..76f949b9c23 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2014-01-17 Bastien Guerry + + * building.texi (Commands of GUD): Fix keybinding for `gud-break'. + 2014-01-15 Glenn Morris * files.texi (File Conveniences): diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi index 392c298fa70..c98b536a381 100644 --- a/doc/emacs/building.texi +++ b/doc/emacs/building.texi @@ -618,12 +618,12 @@ associated with an identifier when the program is not executing. selecting stack frames, and stepping through the program. @table @kbd -@item C-x @key{SPC} -@kindex C-x SPC +@item C-x C-a C-b +@kindex C-x C-a C-b Set a breakpoint on the source line that point is on. @end table - @kbd{C-x @key{SPC}} (@code{gud-break}), when called in a source + @kbd{C-x C-a C-b} (@code{gud-break}), when called in a source buffer, sets a debugger breakpoint on the current source line. This command is available only after starting GUD@. If you call it in a buffer that is not associated with any debugger subprocess, it signals -- cgit v1.2.1 From 64295f83c54c66e4ae5ec506043e3a7489e53215 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Mon, 20 Jan 2014 15:05:04 -0500 Subject: Do not document subr-x.el in the manuals * doc/lispref/hash.texi (Other Hash): Do not mention subr-x.el functions; reverts 2013-12-22 change. * lisp/emacs-lisp/subr-x.el: Comment. * etc/NEWS: Small related edits. --- doc/lispref/ChangeLog | 5 +++++ doc/lispref/hash.texi | 11 ----------- 2 files changed, 5 insertions(+), 11 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 4044e965ae7..78bc55af941 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,8 @@ +2014-01-20 Glenn Morris + + * hash.texi (Other Hash): Do not mention subr-x.el functions; + reverts 2013-12-22 change. + 2014-01-10 Stefan Monnier * functions.texi (Advising Functions): New section. diff --git a/doc/lispref/hash.texi b/doc/lispref/hash.texi index 5d0d6b6c89e..0c82bb59784 100644 --- a/doc/lispref/hash.texi +++ b/doc/lispref/hash.texi @@ -353,14 +353,3 @@ This returns the rehash threshold of @var{table}. @defun hash-table-size table This returns the current nominal size of @var{table}. @end defun - -The following two functions are provided by the @file{subr-x} library. -To use them, you need to load this library first. - -@defun hash-table-keys hash-table -This returns a list of keys in @var{hash-table}. -@end defun - -@defun hash-table-values hash-table -This returns a list of values in @var{hash-table}. -@end defun -- cgit v1.2.1 From cec62009bb94b74bb46dd911a22dc1ec97097970 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Mon, 20 Jan 2014 12:48:14 -0800 Subject: Merge from gnulib. This incorporates: 2014-01-20 stdalign: port to HP-UX compilers 2014-01-16 strtoimax: port to platforms lacking 'long long' 2014-01-16 update from texinfo * doc/misc/texinfo.tex, lib/stdalign.in.h, lib/strtoimax.c: Update from gnulib. --- doc/misc/texinfo.tex | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index d92fb8a55e0..704d66453f5 100644 --- a/doc/misc/texinfo.tex +++ b/doc/misc/texinfo.tex @@ -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{2014-01-06.16} +\def\texinfoversion{2014-01-16.10} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, @@ -8334,8 +8334,9 @@ end % % Auto-number footnotes. Otherwise like plain. \gdef\footnote{% - %\let\indent=\ptexindent - %\let\noindent=\ptexnoindent + \let\indent=\ptexindent + \let\noindent=\ptexnoindent + % \global\advance\footnoteno by \@ne \edef\thisfootno{$^{\the\footnoteno}$}% % @@ -8359,6 +8360,11 @@ end % \gdef\dofootnote{% \insert\footins\bgroup + % + % Nested footnotes are not supported in TeX, that would take a lot + % more work. (\startsavinginserts does not suffice.) + \let\footnote=\errfootnote + % % We want to typeset this text as a normal paragraph, even if the % footnote reference occurs in (for example) a display environment. % So reset some parameters. @@ -8396,13 +8402,19 @@ end } }%end \catcode `\@=11 +\def\errfootnote{% + \errhelp=\EMsimple + \errmessage{Nested footnotes not supported in texinfo.tex, + even though they work in makeinfo; sorry} +} + % In case a @footnote appears in a vbox, save the footnote text and create % the real \insert just after the vbox finished. Otherwise, the insertion % would be lost. % Similarly, if a @footnote appears inside an alignment, save the footnote % text to a box and make the \insert when a row of the table is finished. % And the same can be done for other insert classes. --kasal, 16nov03. - +% % Replace the \insert primitive by a cheating macro. % Deeper inside, just make sure that the saved insertions are not spilled % out prematurely. -- cgit v1.2.1 From 2fb6d9c6d666f09d4d16c4b38f77518720b5f35e Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Mon, 20 Jan 2014 17:39:59 -0500 Subject: ChangeLog fixes --- doc/emacs/ChangeLog | 5 +++++ doc/misc/ChangeLog | 20 ++++++++++++++++++++ 2 files changed, 25 insertions(+) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 76f949b9c23..c18620664db 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -803,6 +803,11 @@ * trouble.texi (Crashing): Document addr2line. +2012-09-19 Tassilo Horn + + * misc.texi (DocView Slicing): Document new slice from + BoundingBox feature. + 2012-09-19 Chong Yidong * killing.texi (Yanking): Minor clarification (Bug#12469). diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 394bb30ebfb..bd0763c78d5 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-01-20 Paul Eggert + + * texinfo.tex: Update from gnulib. + 2014-01-15 Glenn Morris * Makefile.in (eww_deps): Does not depend on emacsver.texi. @@ -761,6 +765,10 @@ (efaq-w32.pdf, efaq-w32.html): New rules. (clean): Remove efaq-w32 products. +2013-08-26 Paul Eggert + + * texinfo.tex: Update from gnulib. + 2013-08-19 Katsumi Yamaoka * emacs-mime.texi (Encoding Customization): Exclude iso-2022-jp-2 and @@ -902,6 +910,10 @@ `gnus-subthread-sort-functions' and remove the obsolete documentation of `gnus-sort-threads-recursively'. +2012-07-30 Paul Eggert + + * texinfo.tex: Update to 2012-07-29.17 version. + 2013-07-29 David Engster * eieio.texi (top): Make clear that EIEIO is not a full CLOS @@ -2245,6 +2257,10 @@ * org.texi (Durations and time values): Fix typo. +2012-05-26 Paul Eggert + + * texinfo.tex: Update from gnulib. + 2012-05-19 Jay Belanger * calc.texi (Basic Operations on Units, Customizing Calc): @@ -2877,6 +2893,10 @@ * gnus.texi (Gnus Utility Functions): Add more references and explanations (bug#9683). +2011-09-26 Paul Eggert + + * texinfo.tex: Merge from gnulib. + 2011-09-21 Lars Magne Ingebrigtsen * gnus.texi (Archived Messages): Note the default (bug#9552). -- cgit v1.2.1 From 38942b9cf566116227bec6f41aa0aece5de6e2c9 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 21 Jan 2014 00:49:46 -0800 Subject: ChangeLog fixes --- doc/emacs/ChangeLog | 14 +++++++------- doc/misc/ChangeLog | 8 ++++---- 2 files changed, 11 insertions(+), 11 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index c18620664db..3a8b45be372 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -9695,13 +9695,13 @@ 2003-11-02 Jesper Harder (tiny change) - * man/ack.texi, man/basic.texi, man/cmdargs.texi: - * man/commands.texi, man/custom.texi, man/display.texi: - * man/emacs.texi, man/files.texi: - * man/frames.texi, man/glossary.texi, man/killing.texi: - * man/macos.texi, man/mark.texi, man/misc.texi, man/msdog.texi: - * man/mule.texi, man/rmail.texi, man/search.texi: - * man/sending.texi, man/text.texi, man/trouble.texi: + * ack.texi, basic.texi, cmdargs.texi: + * commands.texi, custom.texi, display.texi: + * emacs.texi, files.texi: + * frames.texi, glossary.texi, killing.texi: + * macos.texi, mark.texi, misc.texi, msdog.texi: + * mule.texi, rmail.texi, search.texi: + * sending.texi, text.texi, trouble.texi: Replace @sc{ascii} and ASCII with @acronym{ASCII}. 2003-11-01 Alan Mackenzie diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index bd0763c78d5..3866b2dc7a8 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -4835,7 +4835,7 @@ 2009-12-15 Jay Belanger - * calc/calc.texi (Radix Modes): Clarify two's complement notation. + * calc.texi (Radix Modes): Clarify two's complement notation. 2009-12-14 Chong Yidong @@ -10593,8 +10593,8 @@ 2003-11-02 Jesper Harder (tiny change) - * man/ediff.texi, man/tramp.texi, man/vip.texi, man/viper.texi: - * man/widget.texi, man/woman.texi: Replace @sc{ascii} and ASCII with + * ediff.texi, tramp.texi, vip.texi, viper.texi: + * widget.texi, woman.texi: Replace @sc{ascii} and ASCII with @acronym{ASCII}. 2003-10-26 Karl Berry @@ -11207,7 +11207,7 @@ 1993-11-15 Paul Eggert (eggert@twinsun.com) - * man/Makefile (../info/cl.info): Rename from ../info/cl. + * Makefile (../info/cl.info): Rename from ../info/cl. 1993-11-15 Richard Stallman (rms@mole.gnu.ai.mit.edu) -- cgit v1.2.1 From 7b997b14589f85f2987f45a99abb8cfa4cd8d390 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 22 Jan 2014 00:30:00 -0800 Subject: Some doc for image-format-suffixes * doc/lispref/display.texi (ImageMagick Images): Expand on image-format-suffixes. * lisp/image.el (image-format-suffixes): Doc fix. * etc/NEWS: Related markup. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/display.texi | 31 +++++++++++++++++++------------ 2 files changed, 23 insertions(+), 12 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 78bc55af941..f5b2425581b 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2014-01-22 Glenn Morris + + * display.texi (ImageMagick Images): Expand on image-format-suffixes. + 2014-01-20 Glenn Morris * hash.texi (Other Hash): Do not mention subr-x.el functions; diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index f42d02e056f..9123e940e08 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -4690,6 +4690,16 @@ should never be rendered using ImageMagick, regardless of the value of ImageMagick entirely. @end defopt +@defvar image-format-suffixes +This variable is an alist mapping image types to file name extensions. +Emacs uses this in conjunction with the @code{:format} image property +(see below) to give a hint to the ImageMagick library as to the type +of an image. Each element has the form @code{(@var{type} +@var{extension})}, where @var{type} is a symbol specifying an image +content-type, and @var{extension} is a string that specifies the +associated file name extension. +@end defvar + Images loaded with ImageMagick support the following additional image descriptor properties: @@ -4700,13 +4710,13 @@ color, which is used as the image's background color if the image supports transparency. If the value is @code{nil}, it defaults to the frame's background color. -@item :width, :height +@item :width @var{width}, :height @var{height} The @code{:width} and @code{:height} keywords are used for scaling the image. If only one of them is specified, the other one will be calculated so as to preserve the aspect ratio. If both are specified, aspect ratio may not be preserved. -@item :max-width, :max-height +@item :max-width @var{max-width}, :max-height @var{max-height} The @code{:max-width} and @code{:max-height} keywords are used for scaling if the size of the image of the image exceeds these values. If @code{:width} is set it will have precedence over @code{max-width}, @@ -4715,19 +4725,16 @@ 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. -@c FIXME: ':format-type' or ':format'? --xfq -@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 :format @var{type} +The value, @var{type}, should be a symbol specifying the type of the +image data, as found in @code{image-format-suffixes}. This is used +when the image does not have an associated file name, to provide a +hint to ImageMagick to help it detect the image type. -@item :rotation +@item :rotation @var{angle} Specifies a rotation angle in degrees. -@item :index +@item :index @var{frame} @c Doesn't work: http://debbugs.gnu.org/7978 @xref{Multi-Frame Images}. @end table -- cgit v1.2.1 From 45d9ec7571c1b6ec6050db4bf81e45405997ddec Mon Sep 17 00:00:00 2001 From: David Engster Date: Wed, 22 Jan 2014 22:50:47 +0100 Subject: Update EIEIO documentation. * eieio.texi (Introduction): Move introductory paragraph about EIEIO and CLOS from 'Building Classes' to here. (Documentation): Remove, since eieio-doc is not part of Emacs. (Class Values, CLOS compatibility): Mention that `describe-function' will also give information about classes. --- doc/misc/ChangeLog | 8 +++++ doc/misc/eieio.texi | 98 ++++++++++++++++------------------------------------- 2 files changed, 38 insertions(+), 68 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 3866b2dc7a8..c0a47b4db8d 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,11 @@ +2014-01-22 David Engster + + * eieio.texi (Introduction): Move introductory paragraph about + EIEIO and CLOS from 'Building Classes' to here. + (Documentation): Remove, since eieio-doc is not part of Emacs. + (Class Values, CLOS compatibility): Mention that + `describe-function' will also give information about classes. + 2014-01-20 Paul Eggert * texinfo.tex: Update from gnulib. diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi index 427c10c160e..370d18cc567 100644 --- a/doc/misc/eieio.texi +++ b/doc/misc/eieio.texi @@ -72,7 +72,6 @@ framework for writing object-oriented applications in Emacs. * Base Classes:: Additional classes you can inherit from. * Browsing:: Browsing your class lists. * Class Values:: Displaying information about a class or object. -* Documentation:: Automatically creating texinfo documentation. * Default Superclass:: The root superclasses. * Signals:: When you make errors. * Naming Conventions:: Name your objects in an Emacs friendly way. @@ -177,9 +176,17 @@ error. @ref{Signals}. @node Introduction @chapter Introduction -Due to restrictions in the Emacs Lisp language, CLOS cannot be -completely supported, and a few functions have been added in place of -setf. +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 implementation of the Common +Lisp Object System (CLOS) and also differs from it in several aspects, +it follows the same basic concepts. Therefore, it is highly +recommended to learn those 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}). @eieio{} supports the following features: @@ -211,7 +218,10 @@ Public and private classifications for slots (extensions to CLOS) Customization support in a class (extension to CLOS) @end enumerate -Here are some important CLOS features that @eieio{} presently lacks: +Due to restrictions in the Emacs Lisp language, CLOS cannot be +completely supported, and a few functions have been added in place of +setf. Here are some important CLOS features that @eieio{} presently +lacks: @table @asis @@ -247,17 +257,6 @@ should use a deep copy but currently does not. @node Building Classes @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. @@ -1546,55 +1545,18 @@ comes out upside-down. @chapter Class Values Details about any class or object can be retrieved using the function -@code{eieio-describe-class}. Interactively, type in the name of -a class. In a program, pass it a string with the name of a class, a -class symbol, or an object. The resulting buffer will display all slot -names. - -Additionally, all methods defined to have functionality on this class is -displayed. - -@node Documentation -@chapter Documentation - -It is possible to automatically create documentation for your classes in -texinfo format by using the tools in the file @file{eieio-doc.el} - -@deffn Command eieiodoc-class class indexstring &optional skiplist - -This will start at the current point, and create an indented menu of -all the child classes of, and including @var{class}, but skipping any -classes that might be in @var{skiplist}. It will then create nodes for -all these classes, subsection headings, and indexes. - -Each class will be indexed using the texinfo labeled index -@var{indexstring} which is a two letter description. -@xref{New Indices,,,texinfo,Texinfo manual}. - -To use this command, the texinfo macro - -@example -@@defindex @@var @{ indexstring @} -@end example - -@noindent -where @var{indexstring} is replaced with the two letter code. - -Next, an inheritance tree will be created listing all parents of that -section's class. - -Then, all the slots will be expanded in tables, and described -using the documentation strings from the code. Default values will also -be displayed. Only those slots with @code{:initarg} specified will be -expanded, others will be hidden. If a slot is inherited from a parent, -that slot will also be skipped unless the default value is different. -If there is a change, then the documentation part of the slot will be -replace with an @@xref back to the parent. - -This command can only display documentation for classes whose -definitions have been loaded in this Emacs session. - -@end deffn +@code{eieio-describe-class}. Interactively, type in the name of a +class. In a program, pass it a string with the name of a class, a +class symbol, or an object. The resulting buffer will display all +slot names. Additionally, all methods defined to have functionality +on this class is displayed. + +You can also use the normal @code{describe-function} to retrieve +information about a class. If you call it on a constructor function, +it will also display the class information. If you call it on a +generic function, all implementations of that generic function will be +listet, together with links through which you can directly jump to the +source. @node Default Superclass @chapter Default Superclass @@ -1903,9 +1865,9 @@ work. @end table CLOS supports the @code{describe} command, but @eieio{} only provides -@code{eieio-describe-class}, and @code{eieio-describe-generic}. These -functions are adviced into @code{describe-variable}, and -@code{describe-function}. +@code{eieio-describe-class}, and @code{eieio-describe-generic}. Those +are automatically called by @code{describe-function} when called on a +constructor or generic function. When creating a new class (@pxref{Building Classes}) there are several new keywords supported by @eieio{}. -- cgit v1.2.1 From 4a3c72703e6437ec67f3e7c2f73ad7980e29aa6a Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 23 Jan 2014 00:21:53 -0800 Subject: * emacs-lisp-intro.texi (lengths-list-file): Fix textual parentheses. --- doc/lispintro/ChangeLog | 4 ++++ doc/lispintro/emacs-lisp-intro.texi | 12 +++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'doc') diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index c20705dd647..26493cb59ce 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -1,3 +1,7 @@ +2014-01-23 Glenn Morris + + * emacs-lisp-intro.texi (lengths-list-file): Fix textual parentheses. + 2013-12-30 Paul Eggert Specify .texi encoding (Bug#16292). diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 8c3574f75f7..84452513a76 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -15061,18 +15061,19 @@ C-e} (@code{eval-last-sexp}). @c !!! 22.1.1 lisp sources location here @smallexample (lengths-list-file - "/usr/local/share/emacs/22.1.1/lisp/emacs-lisp/debug.el") + "/usr/local/share/emacs/22.1/lisp/emacs-lisp/debug.el") @end smallexample @noindent -(You may need to change the pathname of the file; the one here is for -GNU Emacs version 22.1.1. To change the expression, copy it to +You may need to change the pathname of the file; the one here is for +GNU Emacs version 22.1. To change the expression, copy it to the @file{*scratch*} buffer and edit it. @need 1200 @noindent -(Also, to see the full length of the list, rather than a truncated +Also, to see the full length of the list, rather than a truncated version, you may have to evaluate the following: +@c We do not want to insert, so do not mention the zero prefix argument. @smallexample (custom-set-variables '(eval-expression-print-length nil)) @@ -15098,7 +15099,8 @@ took seven seconds to produce and looked like this: (75 41 80 62 20 45 44 68 45 12 34 235) @end smallexample -(The newer version of @file{debug.el} contains more defuns than the +@noindent +The newer version of @file{debug.el} contains more defuns than the earlier one; and my new machine is much faster than the old one.) Note that the length of the last definition in the file is first in -- cgit v1.2.1 From c51e81ef55fb15dbf66889519e0eaa3be988c425 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 23 Jan 2014 00:27:44 -0800 Subject: * doc/emacs/building.texi (Lisp Eval): Update prefix argument behavior of eval-expression, eval-last-sexp. * etc/NEWS: Related edit. --- doc/emacs/ChangeLog | 5 +++++ doc/emacs/building.texi | 20 +++++++++++++------- 2 files changed, 18 insertions(+), 7 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 3a8b45be372..c10f3e073a0 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,8 @@ +2014-01-23 Glenn Morris + + * building.texi (Lisp Eval): Update prefix argument behavior + of eval-expression, eval-last-sexp. + 2014-01-17 Bastien Guerry * building.texi (Commands of GUD): Fix keybinding for `gud-break'. diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi index c98b536a381..a0ef9e80c8d 100644 --- a/doc/emacs/building.texi +++ b/doc/emacs/building.texi @@ -1476,13 +1476,17 @@ expression.) The command @kbd{C-x C-e} (@code{eval-last-sexp}) evaluates the Emacs Lisp expression preceding point in the buffer, and displays the value in the echo area. When the result of an evaluation is an -integer, you can type @kbd{C-x C-e} a second time to display the value -of the integer result in additional formats (octal, hexadecimal, and -character). +integer, it is displayed together with the value in other formats +(octal, hexadecimal, and character). If @kbd{M-:} or @kbd{C-x C-e} is given a prefix argument, it inserts the value into the current buffer at point, rather than displaying it -in the echo area. The argument's value does not matter. +in the echo area. If the prefix argument is zero, any integer output +is inserted together with its value in other formats (octal, +hexadecimal, and character). Such a prefix argument also prevents +abbreviation of the output according to the variables +@code{eval-expression-print-level} and @code{eval-expression-print-length} +(see below). @kindex C-M-x @r{(Emacs Lisp mode)} @findex eval-defun @@ -1516,9 +1520,11 @@ eval-buffer} is similar but evaluates the entire buffer. The options @code{eval-expression-print-level} and @code{eval-expression-print-length} control the maximum depth and length of lists to print in the result of the evaluation commands -before abbreviating them. @code{eval-expression-debug-on-error} -controls whether evaluation errors invoke the debugger when these -commands are used; its default is @code{t}. +before abbreviating them. Supplying a zero prefix argument to +@code{eval-expression} or @code{eval-last-sexp} causes lists to be +printed in full. @code{eval-expression-debug-on-error} controls +whether evaluation errors invoke the debugger when these commands are +used; its default is @code{t}. @node Lisp Interaction @section Lisp Interaction Buffers -- cgit v1.2.1 From ca5fd02c0640ab7e25bab877d86d0e0adac4985f Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 23 Jan 2014 19:34:31 -0800 Subject: * doc/emacs/files.texi (Interlocking): Copyedit. * etc/NEWS: Related small edits. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/files.texi | 7 ++++--- 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index c10f3e073a0..8ef2f4699ec 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2014-01-24 Glenn Morris + + * files.texi (Interlocking): Copyedit. + 2014-01-23 Glenn Morris * building.texi (Lisp Eval): Update prefix argument behavior diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index 1b6211a1ee1..3b9aefa332b 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi @@ -752,9 +752,10 @@ file. @cindex locking files When you make the first modification in an Emacs buffer that is visiting a file, Emacs records that the file is @dfn{locked} by you. -(It does this by creating a specially-named symbolic link or regular -file with special contents in the same directory.) Emacs removes the -lock when you save the changes. The idea is that the file is locked +(It does this by creating a specially-named symbolic link@footnote{If +your file system does not support symbolic links, a regular file is +used.} with special contents in the same directory.) Emacs removes the lock +when you save the changes. The idea is that the file is locked whenever an Emacs buffer visiting it has unsaved changes. @vindex create-lockfiles -- cgit v1.2.1 From 0db19d389097542c3db977e918ff219dabcecc43 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 23 Jan 2014 19:51:52 -0800 Subject: * doc/lispref/files.texi (File Locks): Every platform supports locking now. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/files.texi | 13 ++++--------- 2 files changed, 8 insertions(+), 9 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index f5b2425581b..cbbf9127235 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2014-01-24 Glenn Morris + + * files.texi (File Locks): Every platform supports locking now. + 2014-01-22 Glenn Morris * display.texi (ImageMagick Images): Expand on image-format-suffixes. diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 6f205ebe840..f6f1c7210bd 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -676,11 +676,12 @@ with-temp-buffer,, The Current Buffer}. When two users edit the same file at the same time, they are likely to interfere with each other. Emacs tries to prevent this situation from arising by recording a @dfn{file lock} when a file is being -modified. (File locks are not implemented on Microsoft systems.) +modified. Emacs can then detect the first attempt to modify a buffer visiting a file that is locked by another Emacs job, and ask the user what to do. The file lock is really a file, a symbolic link with a special name, -stored in the same directory as the file you are editing. +stored in the same directory as the file you are editing. (On file +systems that do not support symbolic links, a regular file is used.) When you access files using NFS, there may be a small probability that you and another user will both lock the same file ``simultaneously''. @@ -719,11 +720,6 @@ does nothing if the current buffer is not visiting a file, or if the system does not support locking. @end defun - File locking is not supported on some systems. On systems that do not -support it, the functions @code{lock-buffer}, @code{unlock-buffer} and -@code{file-locked-p} do nothing and return @code{nil}. It is also -possible to disable locking, by setting the variable @code{create-lockfiles}. - @defopt create-lockfiles If this variable is @code{nil}, Emacs does not lock files. @end defopt @@ -760,8 +756,7 @@ name of the user who has locked the file. @end itemize If you wish, you can replace the @code{ask-user-about-lock} function -with your own version that makes the decision in another way. The code -for its usual definition is in @file{userlock.el}. +with your own version that makes the decision in another way. @end defun @node Information about Files -- cgit v1.2.1 From 96c983e0d3034ae09406c4b1fb76ca4d06008fcf Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 23 Jan 2014 19:57:53 -0800 Subject: * doc/misc/emacs-mime.texi (time-date): Use float-time. * etc/NEWS: Related edit. --- doc/misc/ChangeLog | 4 ++++ doc/misc/emacs-mime.texi | 7 +++---- 2 files changed, 7 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index c0a47b4db8d..d065f22a97a 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-01-24 Glenn Morris + + * emacs-mime.texi (time-date): Use float-time. + 2014-01-22 David Engster * eieio.texi (Introduction): Move introductory paragraph about diff --git a/doc/misc/emacs-mime.texi b/doc/misc/emacs-mime.texi index 601269d405b..7931ab298f0 100644 --- a/doc/misc/emacs-mime.texi +++ b/doc/misc/emacs-mime.texi @@ -1511,7 +1511,7 @@ Here's a bunch of time/date/second/day examples: (date-to-time "Sat Sep 12 12:21:54 1998 +0200") @result{} (13818 19266) -(time-to-seconds '(13818 19266)) +(float-time '(13818 19266)) @result{} 905595714.0 (seconds-to-time 905595714.0) @@ -1583,9 +1583,8 @@ These are the functions available: @item date-to-time Take a date and return a time. -@item time-to-seconds -Take a time and return seconds. Note that Emacs has a built-in -function, @code{float-time}, that does this. +@item float-time +Take a time and return seconds. (This is a built-in function.) @item seconds-to-time Take seconds and return a time. -- cgit v1.2.1 From 1e548e4056d46414fa30bb6cab1c660fa30ac905 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 23 Jan 2014 20:11:48 -0800 Subject: Doc updates for with-demoted-errors * doc/lispref/control.texi (Handling Errors): Update with-demoted-errors. * lisp/subr.el (with-demoted-errors): Doc fix. * etc/NEWS: Related edit. --- doc/lispref/ChangeLog | 2 ++ doc/lispref/control.texi | 7 +++++-- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index cbbf9127235..6f27e71b7b7 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,5 +1,7 @@ 2014-01-24 Glenn Morris + * control.texi (Handling Errors): Update with-demoted-errors. + * files.texi (File Locks): Every platform supports locking now. 2014-01-22 Glenn Morris diff --git a/doc/lispref/control.texi b/doc/lispref/control.texi index 0d6aaff81c5..edf60dd5cc8 100644 --- a/doc/lispref/control.texi +++ b/doc/lispref/control.texi @@ -1252,10 +1252,13 @@ Here's the example at the beginning of this subsection rewritten using @end example @end defmac -@defmac with-demoted-errors body@dots{} +@defmac with-demoted-errors format body@dots{} This macro is like a milder version of @code{ignore-errors}. Rather than suppressing errors altogether, it converts them into messages. -Use this form around code that is not expected to signal errors, but +It uses the string @var{format} to format the message. +@var{format} should contain a single @samp{%}-sequence; e.g., +@code{"Error: %S"}. Use @code{with-demoted-errors} around code +that is not expected to signal errors, but should be robust if one does occur. Note that this macro uses @code{condition-case-unless-debug} rather than @code{condition-case}. @end defmac -- cgit v1.2.1 From 03f3b3182dcc765c6e080ef061d69212bad25192 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 23 Jan 2014 23:29:39 -0800 Subject: Misc small doc updates * doc/emacs/ack.texi (Acknowledgments): No longer mention obsolete xesam.el. * lisp/woman.el (woman-default-faces, woman-monochrome-faces): Fix obsolescence specification. * etc/NEWS: Related markup. --- doc/emacs/ChangeLog | 2 ++ doc/emacs/ack.texi | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 8ef2f4699ec..bcb9e69230d 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,7 @@ 2014-01-24 Glenn Morris + * ack.texi (Acknowledgments): No longer mention obsolete xesam.el. + * files.texi (Interlocking): Copyedit. 2014-01-23 Glenn Morris diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi index a7df1544aef..b3b21a277e9 100644 --- a/doc/emacs/ack.texi +++ b/doc/emacs/ack.texi @@ -51,8 +51,12 @@ files. @item Michael Albinus wrote @file{dbus.el}, a package that implements the D-Bus message bus protocol; @file{zeroconf.el}, a mode for browsing -Avahi services; @file{xesam.el}, a Xesam-based search engine -interface; and @file{secrets.el}, an interface to keyring daemons for +Avahi services; +@ignore +@c obsolete +@file{xesam.el}, a Xesam-based search engine interface; +@end ignore +and @file{secrets.el}, an interface to keyring daemons for storing confidential data. He and Kai Großjohann wrote the Tramp package, which provides transparent remote file editing using rcp, ssh, ftp, and other network protocols. He and Daniel Pittman wrote -- cgit v1.2.1 From 5ace6c29b91f9b4400cb8a1fbb80ef4c514e0335 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 23 Jan 2014 23:36:34 -0800 Subject: Misc small doc updates * doc/emacs/ack.texi (Acknowledgments): No longer mention obsolete terminal.el. * doc/misc/efaq.texi (Termcap/Terminfo entries for Emacs): Use M-x term rather than M-x terminal-emulator. * etc/NEWS: Related markup. --- doc/emacs/ChangeLog | 3 ++- doc/emacs/ack.texi | 9 ++++++--- doc/misc/ChangeLog | 3 +++ doc/misc/efaq.texi | 3 +-- 4 files changed, 12 insertions(+), 6 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index bcb9e69230d..7e42d0fcaba 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,6 +1,7 @@ 2014-01-24 Glenn Morris - * ack.texi (Acknowledgments): No longer mention obsolete xesam.el. + * ack.texi (Acknowledgments): No longer mention obsolete xesam.el, + terminal.el. * files.texi (Interlocking): Copyedit. diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi index b3b21a277e9..b2fa245b032 100644 --- a/doc/emacs/ack.texi +++ b/doc/emacs/ack.texi @@ -818,9 +818,12 @@ command with its arguments. Richard Mlynarik wrote @file{cl-indent.el}, a package for indenting Common Lisp code; @file{ebuff-menu.el}, an ``electric'' browser for buffer listings; @file{ehelp.el}, bindings for browsing help screens; -@file{rfc822.el}, a parser for E-mail addresses in the RFC-822 format, -used in mail messages and news articles; and @file{terminal.el}, a -terminal emulator for Emacs subprocesses. +and @file{rfc822.el}, a parser for E-mail addresses in the RFC-822 format, +used in mail messages and news articles. +@ignore +@c Obsolete since 24.4 +; and @file{terminal.el}, a terminal emulator for Emacs subprocesses. +@end ignore. @item Gerd Möllmann was the Emacs maintainer from the beginning of Emacs 21 diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index d065f22a97a..571e7ecc70d 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,5 +1,8 @@ 2014-01-24 Glenn Morris + * efaq.texi (Termcap/Terminfo entries for Emacs): + Use M-x term rather than M-x terminal-emulator. + * emacs-mime.texi (time-date): Use float-time. 2014-01-22 David Engster diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index c54423e887e..e840cc26b80 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi @@ -2853,8 +2853,7 @@ To make a terminfo entry for @samp{emacs}, use @code{tic} or @file{/usr/lib/terminfo/d/dumb} to @file{/usr/lib/terminfo/e/emacs}. Having a termcap/terminfo entry will not enable the use of full screen -programs in shell buffers. Use @kbd{M-x terminal-emulator} for that -instead. +programs in shell buffers. Use @kbd{M-x term} for that instead. A workaround to the problem of missing termcap/terminfo entries is to change terminal type @samp{emacs} to type @samp{dumb} or @samp{unknown} -- cgit v1.2.1 From 258fcaf738137fc1b7cd4ee09949fee7e501bbd7 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Fri, 24 Jan 2014 10:32:25 -0800 Subject: Spelling fix. --- doc/misc/eieio.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi index 370d18cc567..64271736b3f 100644 --- a/doc/misc/eieio.texi +++ b/doc/misc/eieio.texi @@ -1555,7 +1555,7 @@ You can also use the normal @code{describe-function} to retrieve information about a class. If you call it on a constructor function, it will also display the class information. If you call it on a generic function, all implementations of that generic function will be -listet, together with links through which you can directly jump to the +listed, together with links through which you can directly jump to the source. @node Default Superclass -- cgit v1.2.1 From 1c597a5e2fbc8a15d8b0142c529be087f007db9c Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Fri, 24 Jan 2014 10:36:44 -0800 Subject: Remove stray ".". --- doc/emacs/ack.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi index b2fa245b032..74d96c4aa77 100644 --- a/doc/emacs/ack.texi +++ b/doc/emacs/ack.texi @@ -823,7 +823,7 @@ used in mail messages and news articles. @ignore @c Obsolete since 24.4 ; and @file{terminal.el}, a terminal emulator for Emacs subprocesses. -@end ignore. +@end ignore @item Gerd Möllmann was the Emacs maintainer from the beginning of Emacs 21 -- cgit v1.2.1 From c13b1a2dbf9c8a28754ec27d94baaf37d7316732 Mon Sep 17 00:00:00 2001 From: David Engster Date: Fri, 24 Jan 2014 23:15:29 +0100 Subject: Fix references in EIEIO documentation. * eieio.texi (Introduction): Fix references. --- doc/misc/ChangeLog | 4 ++++ doc/misc/eieio.texi | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 571e7ecc70d..c5810dc4a3f 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-01-24 David Engster + + * eieio.texi (Introduction): Fix references. + 2014-01-24 Glenn Morris * efaq.texi (Termcap/Terminfo entries for Emacs): diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi index 64271736b3f..095cc7102b6 100644 --- a/doc/misc/eieio.texi +++ b/doc/misc/eieio.texi @@ -185,8 +185,8 @@ recommended to learn those 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}). +also differs in some other aspects which are mentioned below (also +@pxref{CLOS compatibility}). @eieio{} supports the following features: -- cgit v1.2.1 From caece7c39334aec764ec661e04490030b3c80385 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Sat, 25 Jan 2014 12:53:33 +0800 Subject: * doc/misc/cc-mode.texi (Minor Modes): Minor fix. --- doc/misc/ChangeLog | 4 ++++ doc/misc/cc-mode.texi | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index c5810dc4a3f..589f0060840 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-01-25 Xue Fuqiao + + * cc-mode.texi (Minor Modes): Minor fix. + 2014-01-24 David Engster * eieio.texi (Introduction): Fix references. diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi index 40640f210cf..2d916b8416c 100644 --- a/doc/misc/cc-mode.texi +++ b/doc/misc/cc-mode.texi @@ -1173,7 +1173,7 @@ 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 Init File}). By default, when you initialize a buffer, electric mode and syntactic-indentation mode -are enabled but the other two modes are disabled. +are enabled but the other three modes are disabled. @ccmode{} displays the current state of the first four of these minor modes on the modeline by appending letters to the major mode's name, -- cgit v1.2.1 From 169d6004f9b348bec93f4feb6f3b06ce5c3f116c Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sat, 25 Jan 2014 17:10:18 -0800 Subject: Some doc for delete-duplicate-lines * doc/emacs/killing.texi (Deletion): Mention delete-duplicate-lines. * lisp/sort.el (delete-duplicate-lines): Doc fix. * etc/NEWS: Related edit. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/killing.texi | 11 +++++++++++ 2 files changed, 15 insertions(+) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 7e42d0fcaba..ac8c13ddf1d 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2014-01-26 Glenn Morris + + * killing.texi (Deletion): Mention delete-duplicate-lines. + 2014-01-24 Glenn Morris * ack.texi (Acknowledgments): No longer mention obsolete xesam.el, diff --git a/doc/emacs/killing.texi b/doc/emacs/killing.texi index 52adbb85431..1da226971eb 100644 --- a/doc/emacs/killing.texi +++ b/doc/emacs/killing.texi @@ -136,6 +136,17 @@ the current line). On a solitary blank line, it deletes that line. previous line, by deleting a newline and all surrounding spaces, usually leaving a single space. @xref{Indentation,M-^}. +@c Not really sure where to put this... +@findex delete-duplicate-lines + The command @code{delete-duplicate-lines} searches the region for +identical lines, and removes all but one copy of each. Normally it +keeps the first instance of each repeated line, but with a @kbd{C-u} +prefix argument it keeps the last. With a @kbd{C-u C-u} prefix +argument, it only searches for adjacent identical lines. This is a +more efficient mode of operation, useful when the lines have already +been sorted. With a @kbd{C-u C-u C-u} prefix argument, it retains +repeated blank lines. + @node Killing by Lines @subsection Killing by Lines -- cgit v1.2.1 From 0113a5e128256b6cc40a4be2536ebadd160d5d77 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sat, 25 Jan 2014 17:11:10 -0800 Subject: * doc/emacs/misc.texi (Sorting): Add findex for reverse-region. --- doc/emacs/ChangeLog | 2 ++ doc/emacs/misc.texi | 1 + 2 files changed, 3 insertions(+) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index ac8c13ddf1d..2a0123ee269 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,7 @@ 2014-01-26 Glenn Morris + * misc.texi (Sorting): Add findex for reverse-region. + * killing.texi (Deletion): Mention delete-duplicate-lines. 2014-01-24 Glenn Morris diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index b5e8ace7e1e..e2151e9144c 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi @@ -1994,6 +1994,7 @@ Like @kbd{M-x sort-fields} except that the text within each line used for comparison comes from a fixed range of columns. See below for an explanation. +@findex reverse-region @item M-x reverse-region Reverse the order of the lines in the region. This is useful for sorting into descending order by fields or columns, since those sort -- cgit v1.2.1 From de6a923b0bedaf6dccf9832e09cc7fff66440c3c Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sat, 25 Jan 2014 19:39:34 -0800 Subject: Doc updates for opascal.el * lisp/progmodes/opascal.el (opascal-tab-always-indents, opascal-tab): Doc fix. Make obsolete. (opascal-mode): No longer mention opascal-tab-always-indents in doc. * doc/emacs/ack.texi (Acknowledgments): * doc/emacs/programs.texi (Program Modes): Update for delphi.el -> opascal.el renaming. * etc/NEWS: Edits. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/ack.texi | 4 ++-- doc/emacs/programs.texi | 10 +++++----- 3 files changed, 11 insertions(+), 7 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 2a0123ee269..ce43ff1a474 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,9 @@ 2014-01-26 Glenn Morris + * ack.texi (Acknowledgments): + * programs.texi (Program Modes): + Update for delphi.el -> opascal.el renaming. + * misc.texi (Sorting): Add findex for reverse-region. * killing.texi (Deletion): Mention delete-duplicate-lines. diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi index 74d96c4aa77..8f8e741c910 100644 --- a/doc/emacs/ack.texi +++ b/doc/emacs/ack.texi @@ -126,8 +126,8 @@ by Oliver Seidel), a package for maintaining @file{TODO} list files. Anna M. Bigatti wrote @file{cal-html.el}, which produces HTML calendars. @item -Ray Blaak and Simon South wrote @file{delphi.el}, a mode for editing -Delphi (Object Pascal) source code. +Ray Blaak and Simon South wrote @file{opascal.el}, a mode for editing +Object Pascal source code. @item Martin Blais, Stefan Merten, and David Goodger wrote @file{rst.el}, a diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi index f38edd4fe73..8e62a031293 100644 --- a/doc/emacs/programs.texi +++ b/doc/emacs/programs.texi @@ -75,17 +75,17 @@ mode for the C programming language is @code{c-mode}. @cindex VHDL mode @cindex M4 mode @cindex Shell-script mode -@cindex Delphi mode +@cindex OPascal mode @cindex PostScript mode @cindex Conf mode @cindex DNS mode @cindex Javascript mode Emacs has programming language modes for Lisp, Scheme, the -Scheme-based DSSSL expression language, Ada, ASM, AWK, C, C++, Delphi, +Scheme-based DSSSL expression language, Ada, ASM, AWK, C, C++, Fortran, Icon, IDL (CORBA), IDLWAVE, Java, Javascript, Metafont -(@TeX{}'s companion for font creation), Modula2, Objective-C, Octave, -Pascal, Perl, Pike, PostScript, Prolog, Python, Ruby, Simula, Tcl, and -VHDL@. An alternative mode for Perl is called CPerl mode. Modes are +(@TeX{}'s companion for font creation), Modula2, Object Pascal, Objective-C, +Octave, Pascal, Perl, Pike, PostScript, Prolog, Python, Ruby, Simula, Tcl, +and VHDL@. An alternative mode for Perl is called CPerl mode. Modes are also available for the scripting languages of the common GNU and Unix shells, VMS DCL, and MS-DOS/MS-Windows @samp{BAT} files, and for makefiles, DNS master files, and various sorts of configuration files. -- cgit v1.2.1 From ece4bae50f6ca8d03d076aa33eedd014a3af8c41 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sun, 26 Jan 2014 18:02:28 -0800 Subject: Doc, comment, etc updates for increased use of locate-user-emacs-file This should have been a prerequisite for making these changes in the first place. * doc/emacs/calendar.texi (Time Intervals): * doc/misc/idlwave.texi (Lesson III---User Catalog, Online Help) (Starting the Shell, Catalogs, User Catalog): * doc/misc/remember.texi (Quick Start): * doc/misc/viper.texi: * doc/misc/vip.texi (Customization, Customizing Constants) (Customizing Key Bindings): Update for files being in ~/.emacs.d/. * lisp/ido.el (ido-save-directory-list-file): * lisp/saveplace.el (save-place-file): * lisp/calendar/timeclock.el (timeclock-file): * lisp/net/quickurl.el (quickurl-url-file): * lisp/obsolete/otodo-mode.el (todo-file-do, todo-file-done, todo-file-top): * lisp/progmodes/idlwave.el (idlwave-config-directory): * lisp/textmodes/remember.el (remember-data-file): Bump :version. * lisp/shadowfile.el (shadow-info-file, shadow-todo-file): Doc fix. * lisp/strokes.el (strokes-file): Doc fix. Bump :version. (strokes-help): Doc fix. * lisp/emulation/viper-init.el (viper-vi-style-in-minibuffer): Doc fix. * lisp/emulation/viper.el (viper): Doc fix for custom group. (top-level): Remove oh-so-no-longer-relevant text about vip. * lisp/obsolete/otodo-mode.el (todo-prefix): Doc fix. * etc/NEWS: Related edits. --- doc/emacs/ChangeLog | 4 ++ doc/emacs/calendar.texi | 4 +- doc/misc/ChangeLog | 9 ++++ doc/misc/idlwave.texi | 14 +++--- doc/misc/remember.texi | 4 +- doc/misc/vip.texi | 8 +-- doc/misc/viper.texi | 130 +++++++++++++++++++++++++----------------------- 7 files changed, 96 insertions(+), 77 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index ce43ff1a474..3f141aca99b 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2014-01-27 Glenn Morris + + * calendar.texi (Time Intervals): Update for files in ~/.emacs.d/. + 2014-01-26 Glenn Morris * ack.texi (Acknowledgments): diff --git a/doc/emacs/calendar.texi b/doc/emacs/calendar.texi index b403dfdf78b..ef6d44a968f 100644 --- a/doc/emacs/calendar.texi +++ b/doc/emacs/calendar.texi @@ -1616,11 +1616,11 @@ you. You can, however, customize the value of the variable then, only an explicit @kbd{M-x timeclock-out} or @kbd{M-x timeclock-change} will tell Emacs that the current interval is over. -@cindex @file{.timelog} file +@cindex @file{timelog} file @vindex timeclock-file @findex timeclock-reread-log The timeclock functions work by accumulating the data in a file -called @file{.timelog} in your home directory. You can specify a +called @file{~/.emacs.d/timelog}. You can specify a different name for this file by customizing the variable @code{timeclock-file}. If you edit the timeclock file manually, or if you change the value of any of timeclock's customizable variables, you diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 589f0060840..33f6057e94f 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,12 @@ +2014-01-27 Glenn Morris + + * idlwave.texi (Lesson III---User Catalog, Online Help) + (Starting the Shell, Catalogs, User Catalog): + * remember.texi (Quick Start): + * viper.texi: + * vip.texi (Customization, Customizing Constants) + (Customizing Key Bindings): Update for files being in ~/.emacs.d/. + 2014-01-25 Xue Fuqiao * cc-mode.texi (Minor Modes): Minor fix. diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi index c4719dcd039..b56b311e273 100644 --- a/doc/misc/idlwave.texi +++ b/doc/misc/idlwave.texi @@ -689,8 +689,8 @@ you want; directories with existing library catalogs will not be selected by default) and click on the @samp{Scan&Save} button. Then go for a cup of coffee while IDLWAVE collects information for each and every IDL routine on your search path. All this information is -written to the file @file{.idlwave/idlusercat.el} in your home -directory and will from now on automatically load whenever you use +written to the file @file{~/.emacs.d/idlwave/idlusercat.el} +and will from now on automatically load whenever you use IDLWAVE@. You may find it necessary to rebuild the catalog on occasion as your local libraries change, or build a library catalog for those directories instead. Invoke routine info (@kbd{C-c ?}) or completion @@ -1262,7 +1262,7 @@ directly with IDL, along with an XML-based catalog of routine information. By default, IDLWAVE automatically attempts to convert this XML catalog into a format Emacs can more easily understand, and caches this information in your @code{idlwave_config_directory} -(@file{~/.idlwave/}, by default). It also re-scans the XML catalog if +(@file{~/.emacs.d/idlwave/}, by default). It also re-scans the XML catalog if it is newer than the current cached version. You can force rescan with the menu entry @code{IDLWAVE->Routine Info->Rescan XML Help Catalog}. @@ -2466,7 +2466,7 @@ Initial commands, separated by newlines, to send to IDL. Non-@code{nil} means preserve command history between sessions. @end defopt -@defopt idlwave-shell-command-history-file (@file{~/.idlwave/.idlwhist}) +@defopt idlwave-shell-command-history-file (@file{~/.emacs.d/idlwave/.idlwhist}) The file in which the command history of the idlwave shell is saved. Unless it's an absolute path, it goes in @code{idlwave-config-directory}. @@ -3518,7 +3518,7 @@ information (e.g., Windows), a library path must be specified in to setup directories for user catalog scan (@pxref{User Catalog} for more on this variable). Note that, before the shell is running, IDLWAVE can only know about the IDL search path by consulting the file pointed -to by @code{idlwave-path-file} (@file{~/.idlwave/idlpath.el}, by +to by @code{idlwave-path-file} (@file{~/.emacs.d/idlwave/idlpath.el}, by default). If @code{idlwave-auto-write-path} is enabled (which is the default), the paths are written out whenever the IDLWAVE shell is started. @@ -3540,7 +3540,7 @@ locating HTML help and the IDL Assistant for IDL v6.2 and later. Under Unix/MacOSX, will be obtained from the Shell and recorded, if run. @end defopt -@defopt idlwave-config-directory (@file{~/.idlwave}) +@defopt idlwave-config-directory (@file{~/.emacs.d/idlwave}) Default path where IDLWAVE saves configuration information, a user catalog (if any), and a cached scan of the XML catalog (IDL v6.2 and later). @@ -3629,7 +3629,7 @@ performance is a problem and/or the catalogs are not needed. The user catalog is the old routine catalog system. It is produced within Emacs, and stored in a single file in the user's home directory -(@file{.idlwave/idlusercat.el} by default). Although library catalogs +(@file{.emacs.d/idlwave/idlusercat.el} by default). Although library catalogs are more flexible, there may be reasons to prefer a user catalog instead, including: diff --git a/doc/misc/remember.texi b/doc/misc/remember.texi index a32c71f7d66..d9c11cea424 100644 --- a/doc/misc/remember.texi +++ b/doc/misc/remember.texi @@ -203,7 +203,7 @@ Type @kbd{C-c C-c} (@code{remember-finalize}) to save the note and close the @samp{*Remember*} buffer. @end itemize -By default, @code{remember-finalize} saves the note in @file{~/.notes}. +By default, @code{remember-finalize} saves the note in @file{~/emacs.d/notes}. You can edit it now to see the remembered and timestamped note. You can edit this file however you want. New entries will always be added to the end. @@ -213,7 +213,7 @@ remember} displays a @samp{*Remember*} buffer with the region as the initial contents. As a simple beginning, you can start by using the Text File backend, -keeping your @file{~/.notes} file in outline-mode format, with a final +keeping your @file{~/.emacs.d/notes} file in outline-mode format, with a final entry called @samp{* Raw data}. Remembered data will be added to the end of the file. Every so often, you can move the data that gets appended there into other files, or reorganize your document. diff --git a/doc/misc/vip.texi b/doc/misc/vip.texi index 40701054d5a..367ed2adb4c 100644 --- a/doc/misc/vip.texi +++ b/doc/misc/vip.texi @@ -1863,7 +1863,7 @@ The following Ex commands are available in Vi, but not implemented in VIP. @node Customization @chapter Customization -If you have a file called @file{.vip} in your home directory, then it +If you have a file called @file{~/.emacs.d/vip} (or @file{~/.vip}), then it will also be loaded when VIP is loaded. This file is thus useful for customizing VIP. @@ -1903,7 +1903,7 @@ if @code{nil} then it sis bound to @code{delete-backward-char}. @end table @noindent You can reset these constants in VIP by the Ex command @kbd{set}. Or you -can include a line like this in your @file{.vip} file: +can include a line like this in your @file{~/.emacs.d/vip} file: @example (setq vip-case-fold-search t) @end example @@ -1916,8 +1916,8 @@ can include a line like this in your @file{.vip} file: VIP uses @code{vip-command-mode-map} as the @dfn{local keymap} for vi mode. For example, in vi mode, @key{SPC} is bound to the function @code{vip-scroll}. But, if you wish to make @key{SPC} and some other keys - behave like Vi, you can include the following lines in your @file{.vip} -file. + behave like Vi, you can include the following lines in your +@file{~/.emacs.d/vip} file. @example (define-key vip-command-mode-map "\C-g" 'vip-info-on-file) diff --git a/doc/misc/viper.texi b/doc/misc/viper.texi index 0048d1363f3..ee3a4d057ee 100644 --- a/doc/misc/viper.texi +++ b/doc/misc/viper.texi @@ -170,8 +170,8 @@ world of Vi! These users are well familiar with Emacs bindings and prefer them in some cases, especially in the Vi Insert state. John Hawkins has provided a set of customizations, which enables additional Emacs bindings under Viper. These customizations can be -included in your @file{~/.viper} file and are found at the following URL: -@file{http://traeki.freeshell.org/files/viper-sample}. +included in your @file{~/.emacs.d/viper} file and are found at the +following URL: @file{http://traeki.freeshell.org/files/viper-sample}. @menu * Emacs Preliminaries:: Basic concepts in Emacs. @@ -329,14 +329,14 @@ the place where all general Emacs customization takes place. Beginning with version 20.0, Emacsen have an interactive interface, which simplifies the job of customization significantly. -Viper also uses the file @file{~/.viper} for Viper-specific customization. +Viper also uses the file @file{~/.emacs.d/viper} for Viper-specific customization. The location of Viper customization file can be changed by setting the variable @code{viper-custom-file-name} in @file{.emacs} @emph{prior} to loading Viper. The latest versions of Emacs have an interactive customization facility, which allows you to (mostly) bypass the use of the @file{.emacs} and -@file{.viper} files. You can reach this customization +@code{viper-custom-file-name} files. You can reach this customization facility from within Viper's VI state by executing the Ex command @kbd{:customize}. @@ -611,8 +611,8 @@ is slightly different from other programs. It is designed to minimize the need for deleting file names that Emacs provides in its prompts. (This is usually convenient, but occasionally the prompt may suggest a wrong file name for you.) If you see a prompt @kbd{/usr/foo/} and you wish to edit the -file @kbd{~/.viper}, you don't have to erase the prompt. Instead, simply -continue typing what you need. Emacs will interpret @kbd{/usr/foo/~/.viper} +file @kbd{~/.file}, you don't have to erase the prompt. Instead, simply +continue typing what you need. Emacs will interpret @kbd{/usr/foo/~/.file} correctly. Similarly, if the prompt is @kbd{~/foo/} and you need to get to @kbd{/bar/file}, keep typing. Emacs interprets @kbd{~/foo//bar/} as @kbd{/bar/file}, since when it sees @samp{//}, it understands that @@ -795,8 +795,8 @@ between the Vi state and Insert state at will, and even use the replace mode. Initially, the minibuffer comes up in Insert state. Some users prefer plain Emacs bindings in the minibuffer. To this end, set -@code{viper-vi-style-in-minibuffer} to @code{nil} in @file{.viper}. -@xref{Customization}, to learn how to do this. +@code{viper-vi-style-in-minibuffer} to @code{nil} in +your Viper customization file. @xref{Customization}, to learn how to do this. When the minibuffer changes Viper states, you will notice that the appearance of the text there changes as well. This is useful because the minibuffer @@ -989,8 +989,8 @@ In the Overview chapter, some Multiple File issues were discussed (@pxref{Multiple Files in Viper}). In addition to the files, Emacs has buffers. These can be seen in the @kbd{:args} list and switched using @kbd{:next} if you type @kbd{:set ex-cycle-through-non-files t}, or -specify @code{(setq ex-cycle-through-non-files t)} in your @file{.viper} -file. @xref{Customization}, for details. +specify @code{(setq ex-cycle-through-non-files t)} in your +Viper customization file. @xref{Customization}, for details. @node Undo and Backups @section Undo and Backups @@ -1132,7 +1132,8 @@ of the form @kbd{/foo//bar} as @kbd{/bar} and @kbd{/foo/~/bar} as @cindex word search Viper provides buffer search, the ability to search the buffer for a region -under the cursor. You have to turn this on in @file{.viper} either by calling +under the cursor. You have to turn this on in your Viper customization file +either by calling @example (viper-buffer-search-enable) @@ -1182,10 +1183,10 @@ variable that controls how search patterns are highlighted is @end example @vindex @code{viper-search-face} @noindent -in @file{~/.viper}. If you want to change how patterns are highlighted, you -will have to change @code{viper-search-face} to your liking. The easiest -way to do this is to use Emacs customization widget, which is accessible -from the menubar. Viper customization group is located under the +in your Viper customization file. If you want to change how patterns are +highlighted, you will have to change @code{viper-search-face} to your liking. +The easiest way to do this is to use Emacs customization widget, which is +accessible from the menubar. Viper customization group is located under the @emph{Emulations} customization group, which in turn is under the @emph{Editing} group (or simply by typing @kbd{:customize}). All Viper faces are grouped together under Viper's @@ -1225,8 +1226,8 @@ Facilities like this make Vi's @kbd{:ab} command obsolete. Viper can be set free from the line--limited movements in Vi, such as @kbd{l} refusing to move beyond the line, @key{ESC} moving one character back, -etc. These derive from Ex, which is a line editor. If your @file{.viper} -contains +etc. These derive from Ex, which is a line editor. If your +Viper customization file contains @example @code{(setq viper-ex-style-motion nil)} @@ -1306,9 +1307,10 @@ These two keys invoke many important Emacs functions. For example, if you hit @kbd{C-x} followed by @kbd{2}, then the current window will be split into 2. Except for novice users, @kbd{C-c} is also set to execute an Emacs command from the current major mode. @key{ESC} will do the same, if you -configure @key{ESC} as Meta by setting @code{viper-no-multiple-ESC} to @code{nil} -in @file{.viper}. @xref{Customization}. @kbd{C-\} in Insert, Replace, or Vi -states will make Emacs think @kbd{Meta} has been hit. +configure @key{ESC} as Meta by setting @code{viper-no-multiple-ESC} to +@code{nil} in your Viper customization file. @xref{Customization}. +@kbd{C-\} in Insert, Replace, or Vi states will make Emacs think +@kbd{Meta} has been hit. @item \ @kindex @kbd{\} Escape to Emacs to execute a single Emacs command. For instance, @@ -1574,9 +1576,9 @@ Customization can be done in 2 ways. @item @cindex initialization @cindex .viper -Elisp code in a @file{.viper} file in your home directory. Viper -loads @file{.viper} just before it does the binding for mode -hooks. This is recommended for experts only. +Elisp code in a @file{~/.emacs.d/viper} (or @file{~/.viper}) file. +Viper loads this file just before it does the binding for mode hooks. +This is recommended for experts only. @item @cindex .emacs Elisp code in your @file{.emacs} file before and after the @code{(require @@ -1591,12 +1593,12 @@ customization widget, which lets you change the values of Viper customizable variables easily. This method is good for novice and experts alike. The customization code in the form of Lisp commands will be placed in @file{~/.emacs} or some other customization file depending on the -version of Emacs that you use. Still, it is recommended to separate +version of Emacs that you use. Still, it is recommended to separate Viper-related customization produced by the Emacs customization widget -and keep it in the @file{.viper} file. +and keep it in your Viper customization file. Some advanced customization cannot be accomplished this way, however, and -has to be done in Emacs Lisp in the @file{.viper} file. For the common +has to be done in Emacs Lisp in your Viper customization file. For the common cases, examples are provided that you can use directly. @end itemize @@ -1753,10 +1755,10 @@ cases. @code{nil} means you either has to invoke @code{viper-mode} manually for each buffer (or you can add @code{viper-mode} to the appropriate major mode hooks using @code{viper-load-hook}). -This option must be set in the file @file{~/.viper}. -@item viper-custom-file-name "~/.viper" +This option must be set in your Viper customization file. +@item viper-custom-file-name "~/.emacs.d/viper" File used for Viper-specific customization. -Change this setting, if you want. Must be set in @file{.emacs} (not @file{.viper}!) +Change this setting, if you want. Must be set in @file{.emacs} before Viper is loaded. Note that you have to set it as a string inside double quotes. @item viper-spell-function 'ispell-region @@ -1807,8 +1809,8 @@ Both these macros are bound (as Viper macros) to @code{viper-repeat-from-history}, which checks the second key by which it is invoked to see which of the previous commands to invoke. Viper binds @kbd{f12 1} and @kbd{f12 2} only, -but the user can bind more in @file{~/.viper}. @xref{Vi Macros}, for how to do -this. +but the user can bind more in his/her Viper customization file. +@xref{Vi Macros}, for how to do this. @item viper-keep-point-on-undo nil If not @code{nil}, Viper tries to not move point when undoing commands. Instead, it will briefly move the cursor to the place where change has @@ -1873,7 +1875,7 @@ emulate the standard Vi behavior, which supports only intra-line replacement regions (and multi-line replacement regions are deleted). @item viper-toggle-key "\C-z" Specifies the key used to switch from Emacs to Vi and back. -Must be set in @file{.viper}. This variable can't be +Must be set in your Viper customization file. This variable can't be changed interactively after Viper is loaded. In Insert state, this key acts as a temporary escape to Vi state, i.e., it @@ -1906,7 +1908,7 @@ the last chance to do customization before Viper is up and running. @noindent You can reset some of these constants in Viper with the Ex command @kbd{:set} (when so indicated in the table). Or you -can include a line like this in your @file{.viper} file: +can include a line like this in your Viper customization file: @example (setq viper-case-fold-search t) @end example @@ -2018,7 +2020,7 @@ state. If you want to bind a key, say @kbd{C-v}, to the function that scrolls page down and to make @kbd{0} display information on the current buffer, -putting this in @file{.viper} will do the trick in Vi state: +putting this in your Viper customization file will do the trick in Vi state: @example (define-key viper-vi-global-user-map "\C-v" 'scroll-down) @end example @@ -2067,11 +2069,12 @@ keys necessary in that keymap, and put @end example @noindent -in @file{~/.viper}. To do the same in Vi and Insert states, you should use -@code{vi-state} and @code{insert-state}. Changes in Insert state are also -in effect in Replace state. For instance, suppose that the user wants to -use @kbd{dd} in Vi state under Dired mode to delete files, @kbd{u} to unmark -files, etc. The following code in @file{~/.viper} will then do the job: +in your Viper customization file. To do the same in Vi and Insert states, you +should use @code{vi-state} and @code{insert-state}. Changes in Insert state +are also in effect in Replace state. For instance, suppose that the user wants +to use @kbd{dd} in Vi state under Dired mode to delete files, @kbd{u} to unmark +files, etc. The following code in the Viper customization file will then do +the job: @example (setq my-dired-modifier-map (make-sparse-keymap)) @@ -2275,7 +2278,7 @@ can happen only in the beginning, when the minor mode kicks in. Typing several such minor modes and takes care of them, so the above trick is usually not necessary. If you find that some minor mode, e.g., @code{nasty-mode} interferes with Viper, putting the following in -@file{.viper} should fix the problem: +your Viper customization file should fix the problem: @lisp (viper-harness-minor-mode "nasty-mode") @end lisp @@ -2332,8 +2335,8 @@ document. Other features are explained here. @item viper-buffer-search-char nil Enable buffer search. Explicit call to @code{viper-buffer-search-enable} sets @code{viper-buffer-search-char} to @kbd{g}. Alternatively, the user can -set @code{viper-buffer-search-char} in @file{.viper} to a key sequence -to be used for buffer search. There is no need to call +set @code{viper-buffer-search-char} in his/her Viper customization file to a key +sequence to be used for buffer search. There is no need to call @code{viper-buffer-search-enable} in that case. @findex @code{viper-buffer-search-enable} @vindex @code{viper-buffer-search-char} @@ -2356,8 +2359,8 @@ If you hit something other than @kbd{/} after the first @kbd{/} or if the second @kbd{/} doesn't follow quickly enough, then Viper will issue the usual prompt @kbd{/} and will wait for input, as usual in Vi. If you don't like this behavior, you can ``unrecord'' these macros in your -@file{~/.viper} file. For instance, if you don't like the above feature, put -this in @file{~/.viper}: +Viper customization file. For instance, if you don't like the above +feature, put this in the file: @example (viper-set-searchstyle-toggling-macros 'undefine) @end example @@ -2444,7 +2447,7 @@ the direction of newer insertions. Hitting @kbd{C-c M-p} or @kbd{C-c M-n} in succession will undo the previous insertion from the ring and insert the next item on the ring. If a larger ring size is needed, change the value of the above -variable in the @file{~/.viper} file. +variable in the Viper customization file. Since typing these sequences of keys may be tedious, it is suggested that the user should bind a function key, such as @kbd{f31}, as follows: @@ -2515,7 +2518,7 @@ putting (copy-face 'default 'viper-minibuffer-insert-face) (copy-face 'default 'viper-minibuffer-emacs-face) @end example -in the @file{~/.viper} file or through the customization widget, as +in their Viper customization file or through the customization widget, as described above. However, in that case, the user will not have any indication of the current Viper state in the minibuffer. (This is important if the user accidentally switches to another Viper state by typing @key{ESC} or @@ -2587,8 +2590,8 @@ Note: while loading initially, Viper binds this mouse action only if it is not already bound to something else. If you want to use the mouse-search feature, and the @kbd{Meta-Shift-Mouse-1} mouse action is already bound to something else, you can rebind the mouse-search feature by setting -@code{viper-mouse-search-key} to something else in your @code{~/.viper} -file: +@code{viper-mouse-search-key} to something else in +your Viper customization file: @lisp (setq viper-mouse-search-key '(meta 1)) @end lisp @@ -2600,7 +2603,8 @@ Meta key and clicking mouse button 1. The allowed values of If the requested mouse action (e.g., (meta 1)) is already taken for other purposes then you have to confirm your intention by placing the following -command in @code{~/.viper} after setting @code{viper-mouse-search-key}: +command in your Viper customization file after setting +@code{viper-mouse-search-key}: @lisp (viper-bind-mouse-search-key 'force) @end lisp @@ -2642,13 +2646,13 @@ case of a triple-click, the prefix argument is ignored.) Note: while loading initially, Viper binds this mouse action only if it not already bound to something else. If you want to use this feature and the default mouse action is already bound, you can rebind mouse-insert by -placing this command in @code{~/.viper}: +placing this command in your Viper customization file: @lisp (setq viper-mouse-insert-key '(meta 2)) @end lisp If you want to bind mouse-insert to an action even if this action is already taken for other purposes in Emacs, then you should add this command -to @code{~/.viper}, after setting @code{viper-mouse-insert-key}: +to your Viper customization file, after setting @code{viper-mouse-insert-key}: @lisp (viper-bind-mouse-insert-key 'force) @end lisp @@ -2785,7 +2789,7 @@ Manual}. When the user finishes defining a macro (which is done by typing @kbd{C-x)}, a departure from Vi), you will be asked whether you want this macro to be global, mode-specific, or buffer-specific. You will also be -given a chance to save the macro in your @file{~/.viper} file. +given a chance to save the macro in your Viper customization file. This is the easiest way to save a macro and make it permanently available. If you work your startup files with bare hands, here is how Viper saves the above macro so that it will be @@ -2834,8 +2838,8 @@ the latter says that the macro is to be defined for all buffers For convenience, Viper also lets you define Vi-style macros in its Emacs state. There is no Ex command, like @kbd{:map} and @kbd{:map!} for doing -this, but the user can include such a macro in the @file{~/.viper} file. The -only thing is that the @code{viper-record-kbd-macro} command should specify +this, but the user can include such a macro in the Viper customization file. +The only thing is that the @code{viper-record-kbd-macro} command should specify @code{emacs-state} instead of @code{vi-state} or @code{insert-state}. The user can get rid of a macro either by using the Ex commands @kbd{:unmap} @@ -2899,8 +2903,9 @@ Vi and Emacs commands, so that you could see what will happen each time the macro is executed. Suppose now we wanted to bind the key sequence @kbd{f13 f13} to the command @code{eval-last-sexp}. To accomplish this, we can type @kbd{M-x eval-last-sexp} followed by @kbd{C-x )}. -If you answer positively to Viper's offer to save this macro in @file{~/.viper} -for future uses, the following will be inserted in that file: +If you answer positively to Viper's offer to save this macro in your +Viper customization file for future uses, the following will be inserted +in that file: @example (viper-record-kbd-macro [f16 f16] 'vi-state @@ -2972,8 +2977,8 @@ The rate at which the user must type keys in order for them to be recognized as a timeout macro is controlled by the variable @code{viper-fast-keyseq-timeout}, which defaults to 200 milliseconds. -For the most part, Viper macros defined in @file{~/.viper} can be shared -between X and TTY modes. +For the most part, Viper macros defined in the Viper customization file can +be shared between X and TTY modes. The problem with TTY may be that the function keys there generate sequences of events instead of a single event (as under a window system). Emacs maps some of these sequences back to the logical keys @@ -3359,7 +3364,8 @@ this function. Find the next bracket/parenthesis/brace and go to its match. By default, Viper ignores brackets/parentheses/braces that occur inside parentheses. You can change this by setting -@code{viper-parse-sexp-ignore-comments} to @code{nil} in your @file{.viper} file. +@code{viper-parse-sexp-ignore-comments} to @code{nil} in your Viper +customization file. This option can also be toggled interactively if you quickly hit @kbd{%%%}. This latter feature is implemented as a vi-style keyboard macro. If you @@ -3370,7 +3376,7 @@ don't want this macro, put @end example @findex @code{viper-set-parsing-style-toggling-macro} -in your @file{~/.viper} file. +in your Viper customization file. @end table @kindex @kbd{%} @@ -3544,7 +3550,7 @@ then be executed by typing `@kbd{.}'. Since typing the above sequences of keys may be tedious, the functions doing the perusing can be bound to unused keyboard keys in the -@file{~/.viper} file. @xref{Viper Specials}, for details. +Viper customization file. @xref{Viper Specials}, for details. @end table @kindex @kbd{C-c M-p} @kindex @kbd{C-c M-n} @@ -3984,7 +3990,7 @@ Write the file. Viper makes sure that a final newline is always added to any file where this newline is missing. This is done by setting Emacs variable @code{require-final-newline} to @code{t}. If you don't like this feature, use @code{setq-default} to set @code{require-final-newline} to -@code{nil}. This must be done in @file{.viper} file. +@code{nil}. This must be done in the Viper customization file. @item :[x,y] w Write to the file . @item :[x,y] w>> -- cgit v1.2.1 From 54f81c2aebee67998d75109821fb157b7a606b64 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sun, 26 Jan 2014 18:03:26 -0800 Subject: * doc/emacs/buffers.texi (List Buffers): Tiny edit. --- doc/emacs/ChangeLog | 2 ++ doc/emacs/buffers.texi | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 3f141aca99b..4d47bdad73b 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,7 @@ 2014-01-27 Glenn Morris + * buffers.texi (List Buffers): Tiny edit. + * calendar.texi (Time Intervals): Update for files in ~/.emacs.d/. 2014-01-26 Glenn Morris diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi index 13212164632..c96b657b481 100644 --- a/doc/emacs/buffers.texi +++ b/doc/emacs/buffers.texi @@ -174,7 +174,7 @@ List the existing buffers (@code{list-buffers}). @kindex C-x C-b @findex list-buffers To display a list of existing buffers, type @kbd{C-x C-b}. Each -line in the list shows one buffer's name, major mode and visited file. +line in the list shows one buffer's name, size, major mode and visited file. The buffers are listed in the order that they were current; the buffers that were current most recently come first. -- cgit v1.2.1 From 52695556f3cd5d83e28461dc2a8fa348637cb793 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Mon, 27 Jan 2014 16:26:48 -0500 Subject: Small doc updates for CUA and dired * doc/emacs/dired.texi (Misc Dired Features): Copyedits for hide-details. * lisp/dired.el (dired-hide-details-hide-symlink-targets) (dired-hide-details-hide-information-lines) (dired-hide-details-mode): Doc fixes. * lisp/emulation/cua-base.el (cua-mode): Doc fix. * etc/NEWS: Related edits. * lisp/ChangeLog: Comment changes do not need ChangeLog entries. --- doc/emacs/ChangeLog | 2 ++ doc/emacs/dired.texi | 30 ++++++++++++++---------------- 2 files changed, 16 insertions(+), 16 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 4d47bdad73b..bac170eaf3a 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,7 @@ 2014-01-27 Glenn Morris + * dired.texi (Misc Dired Features): Copyedits for hide-details. + * buffers.texi (List Buffers): Tiny edit. * calendar.texi (Time Intervals): Update for files in ~/.emacs.d/. diff --git a/doc/emacs/dired.texi b/doc/emacs/dired.texi index b7de1bdf3aa..70553c13747 100644 --- a/doc/emacs/dired.texi +++ b/doc/emacs/dired.texi @@ -1382,7 +1382,7 @@ file, the search wraps around to the first marked file. The command a regular expression search. @xref{Repeat Isearch}, for information about search repetition. -@cindex Adding to the kill ring in Dired. +@cindex adding to the kill ring in Dired @kindex w @r{(Dired)} @findex dired-copy-filename-as-kill The command @kbd{w} (@code{dired-copy-filename-as-kill}) puts the @@ -1403,6 +1403,19 @@ names into arguments for other Emacs commands. It also displays what it added to the kill ring, so you can use it to display the list of currently marked files in the echo area. +@kindex ( @r{(Dired)} +@findex dired-hide-details-mode +@vindex dired-hide-details-hide-symlink-targets +@vindex dired-hide-details-hide-information-lines +@cindex hiding details in Dired + The command @kbd{(} (@code{dired-hide-details-mode}) toggles whether +details, such as ownership or file permissions, are visible in the +current Dired buffer. By default, it also hides the targets of +symbolic links, and all lines other than the header line and +file/directory listings. To change this, customize the options +@code{dired-hide-details-hide-symlink-targets} and +@code{dired-hide-details-hide-information-lines}, respectively. + @cindex Dired and version control If the directory you are visiting is under version control (@pxref{Version Control}), then the normal VC diff and log commands @@ -1440,18 +1453,3 @@ it onto a Dired buffer; this either moves, copies, or creates a link to the file in that directory. Precisely which action is taken is determined by the originating program. Dragging files out of a Dired buffer is currently not supported. - -@kindex ( @r{(Dired)} -@c ) -@findex dired-hide-details-mode -@vindex dired-hide-details-hide-symlink-targets -@vindex dired-hide-details-hide-information-lines -@cindex Hide details in Dired. - The command @kbd{(} (@code{dired-hide-details-mode}) toggles whether -details, such as ownership or file permissions, are hidden. If the -variable @code{dired-hide-details-hide-symlink-targets} is -non-@code{nil} then targets of symbolic links are hidden as well. A -non-@code{nil} value for the variable -@code{dired-hide-details-hide-information-lines} means that all lines -other than the header and lines containing files and directories are -hidden. -- cgit v1.2.1 From e3bd7eed8cac658aae9f6f904eec23bf3482d4bb Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Mon, 27 Jan 2014 20:49:02 -0500 Subject: Some doc related to tab-stops * doc/lispref/text.texi (Indent Tabs): Update related to tab-stops. * lisp/indent.el (tab-stop-list): Doc fix. Add :version. --- doc/lispref/ChangeLog | 4 ++++ doc/lispref/text.texi | 20 ++++++++++---------- 2 files changed, 14 insertions(+), 10 deletions(-) (limited to 'doc') diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 6f27e71b7b7..78d7531f869 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2014-01-28 Glenn Morris + + * text.texi (Indent Tabs): Update related to tab-stops. + 2014-01-24 Glenn Morris * control.texi (Handling Errors): Update with-demoted-errors. diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index 60cda8068bb..a6e98763d8f 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -2460,19 +2460,19 @@ stop feature only in a few major modes, such as Text mode. @deffn Command tab-to-tab-stop This command inserts spaces or tabs before point, up to the next tab -stop column defined by @code{tab-stop-list}. It searches the list for -an element greater than the current column number, and uses that element -as the column to indent to. It does nothing if no such element is -found. +stop column defined by @code{tab-stop-list}. @end deffn @defopt tab-stop-list -This variable is the list of tab stop columns used by -@code{tab-to-tab-stops}. The elements should be integers in increasing -order. The tab stop columns need not be evenly spaced. - -Use @kbd{M-x edit-tab-stops} to edit the location of tab stops -interactively. +This variable defines the tab stop columns used by @code{tab-to-tab-stop}. +It should be either @code{nil}, or a list of increasing integers, +which need not be evenly spaced. The list is implicitly +extended to infinity through repetition of the interval between the +last and penultimate elements (or @code{tab-width} if the list has +fewer than two elements). A value of @code{nil} means a tab stop +every @code{tab-width} columns. + +Use @kbd{M-x edit-tab-stops} to edit the location of tab stops interactively. @end defopt @node Motion by Indent -- cgit v1.2.1 From e1e9d7cc73d41299bbf192674e8ac2d1dda2458b Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Mon, 27 Jan 2014 21:16:13 -0500 Subject: * doc/emacs/indent.texi (Tab Stops): Updates for new tab-stop behavior. * etc/NEWS: Related markup. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/indent.texi | 19 ++++++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index bac170eaf3a..ba6430c4826 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2014-01-28 Glenn Morris + + * indent.texi (Tab Stops): Updates for new tab-stop behavior. + 2014-01-27 Glenn Morris * dired.texi (Misc Dired Features): Copyedits for hide-details. diff --git a/doc/emacs/indent.texi b/doc/emacs/indent.texi index e0c269ad575..f5543cc49b0 100644 --- a/doc/emacs/indent.texi +++ b/doc/emacs/indent.texi @@ -157,10 +157,12 @@ C-u -999 C-x @key{TAB} Emacs defines certain column numbers to be @dfn{tab stops}. These are used as stopping points by @key{TAB} when inserting whitespace in Text mode and related modes (@pxref{Indentation}), and by commands -like @kbd{M-i} (@pxref{Indentation Commands}). By default, tab stops -are located every 8 columns. These positions are stored in the -variable @code{tab-stop-list}, whose value is a list of column numbers -in increasing order. +like @kbd{M-i} (@pxref{Indentation Commands}). The variable +@code{tab-stop-list} controls these positions. The default value +is @code{nil}, which means a tab stop every 8 columns. The value +can also be a list of column numbers (in increasing order) at which to +place tab stops. Emacs extends the list forever by repeating the +difference between the last and next-to-last elements. @findex edit-tab-stops @kindex C-c C-c @r{(Edit Tab Stops)} @@ -178,12 +180,15 @@ To install changes, type C-c C-c @noindent The first line contains a colon at each tab stop. The numbers on the -next two lines are present just to indicate where the colons are. It -is implicitly extended to infinity by repeating the last step. +next two lines are present just to indicate where the colons are. +If the value @code{tab-stop-list} is @code{nil}, as it is by default, +no colons are displayed initially. You can edit this buffer to specify different tab stops by placing colons on the desired columns. The buffer uses Overwrite mode -(@pxref{Minor Modes}). When you are done, type @kbd{C-c C-c} to make +(@pxref{Minor Modes}). Remember that Emacs will extend the list of +tab stops forever by repeating the difference between the last two +explicit stops that you place. When you are done, type @kbd{C-c C-c} to make the new tab stops take effect. Normally, the new tab stop settings apply to all buffers. However, if you have made the @code{tab-stop-list} variable local to the buffer where you called -- cgit v1.2.1 From afc123c7bfa0f8a88b52c1caa4f1b996e64fbe41 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Mon, 27 Jan 2014 21:17:51 -0500 Subject: * doc/emacs/indent.texi: Fix typo in previous --- doc/emacs/indent.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/indent.texi b/doc/emacs/indent.texi index f5543cc49b0..9aec6202de6 100644 --- a/doc/emacs/indent.texi +++ b/doc/emacs/indent.texi @@ -181,7 +181,7 @@ To install changes, type C-c C-c @noindent The first line contains a colon at each tab stop. The numbers on the next two lines are present just to indicate where the colons are. -If the value @code{tab-stop-list} is @code{nil}, as it is by default, +If the value of @code{tab-stop-list} is @code{nil}, as it is by default, no colons are displayed initially. You can edit this buffer to specify different tab stops by placing -- cgit v1.2.1 From 793ffe819539d4f642631910598b9c8dc696ec38 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Mon, 27 Jan 2014 21:50:16 -0500 Subject: Doc for fill-single-char-nobreak-p * doc/emacs/text.texi (Fill Commands): Mention fill-single-char-nobreak-p. * lisp/textmodes/fill.el (fill-single-char-nobreak-p): Doc tweak. * etc/NEWS: Related edit. --- doc/emacs/ChangeLog | 2 ++ doc/emacs/text.texi | 7 ++++--- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index ba6430c4826..9cc901b87a2 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,5 +1,7 @@ 2014-01-28 Glenn Morris + * text.texi (Fill Commands): Mention fill-single-char-nobreak-p. + * indent.texi (Tab Stops): Updates for new tab-stop behavior. 2014-01-27 Glenn Morris diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi index 4d19ddbf1a6..1d30740467e 100644 --- a/doc/emacs/text.texi +++ b/doc/emacs/text.texi @@ -562,10 +562,11 @@ customize the abnormal hook variable @code{fill-nobreak-predicate} (@pxref{Hooks}). Each function in this hook is called with no arguments, with point positioned where Emacs is considering breaking a line. If a function returns a non-@code{nil} value, Emacs will not -break the line there. Two functions you can use are +break the line there. Functions you can use there include: @code{fill-single-word-nobreak-p} (don't break after the first word of -a sentence or before the last) and @code{fill-french-nobreak-p} (don't -break after @samp{(} or before @samp{)}, @samp{:} or @samp{?}). +a sentence or before the last); @code{fill-single-char-nobreak-p} +(don't break after a one-letter word); and @code{fill-french-nobreak-p} +(don't break after @samp{(} or before @samp{)}, @samp{:} or @samp{?}). @node Fill Prefix @subsection The Fill Prefix -- cgit v1.2.1 From 5e61c1ef5c0b827db4411b282034918159545c2f Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 29 Jan 2014 00:27:55 -0800 Subject: Some doc for cycle-spacing * lisp/simple.el (just-one-space, cycle-spacing): Doc fixes. * doc/emacs/killing.texi (Deletion): Mention cycle-spacing. * doc/lispref/text.texi: Comment. * etc/NEWS: Related edits. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/killing.texi | 9 ++++++--- doc/lispref/text.texi | 3 +++ 3 files changed, 13 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 9cc901b87a2..8f29d7c01f6 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2014-01-29 Glenn Morris + + * killing.texi (Deletion): Mention cycle-spacing. + 2014-01-28 Glenn Morris * text.texi (Fill Commands): Mention fill-single-char-nobreak-p. diff --git a/doc/emacs/killing.texi b/doc/emacs/killing.texi index 1da226971eb..77dfad04bef 100644 --- a/doc/emacs/killing.texi +++ b/doc/emacs/killing.texi @@ -109,12 +109,11 @@ 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 @findex just-one-space +@findex cycle-spacing The other delete commands are those that delete only whitespace characters: spaces, tabs and newlines. @kbd{M-\} (@code{delete-horizontal-space}) deletes all the spaces and tab @@ -125,7 +124,11 @@ point, regardless of the number of spaces that existed previously (even if there were none before). With a numeric argument @var{n}, it leaves @var{n} spaces before point if @var{n} is positive; if @var{n} is negative, it deletes newlines in addition to spaces and tabs, -leaving @var{-n} spaces before point. +leaving @var{-n} spaces before point. The command @code{cycle-spacing} +acts like a more flexible version of @code{just-one-space}. It +does different things if you call it repeatedly in succession. +The first call acts like @code{just-one-space}, the next removes +all whitespace, and a third call restores the original whitespace. @kbd{C-x C-o} (@code{delete-blank-lines}) deletes all blank lines after the current line. If the current line is blank, it deletes all diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index a6e98763d8f..786628bb32a 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -771,6 +771,9 @@ space, or @var{n} spaces if @var{n} is specified. It returns @code{nil}. @end deffn +@c There is also cycle-spacing, but I cannot see it being useful in +@c Lisp programs, so it is not mentioned here. + @deffn Command delete-blank-lines This function deletes blank lines surrounding point. If point is on a blank line with one or more blank lines before or after it, then all but -- cgit v1.2.1 From ba74a2c0f27cbec77b4cfa01e70a98e0efb6c1e0 Mon Sep 17 00:00:00 2001 From: Xue Fuqiao Date: Thu, 30 Jan 2014 11:41:34 +0800 Subject: * doc/misc/sem-user.texi (Include paths): Fix a Texinfo command. --- doc/misc/ChangeLog | 4 ++++ doc/misc/sem-user.texi | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 33f6057e94f..cdd255049c2 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-01-30 Xue Fuqiao + + * sem-user.texi (Include paths): Fix a Texinfo command. + 2014-01-27 Glenn Morris * idlwave.texi (Lesson III---User Catalog, Online Help) diff --git a/doc/misc/sem-user.texi b/doc/misc/sem-user.texi index b8625932f7c..30556569cbb 100644 --- a/doc/misc/sem-user.texi +++ b/doc/misc/sem-user.texi @@ -416,11 +416,11 @@ Customize the system include path for the current major mode (or @var{mode}). @end deffn -@defun semanticdb-implied-include-tags +@defvar semanticdb-implied-include-tags Include tags implied for all files of a given mode. You can set this variable with @code{defvar-mode-local} for a particular mode so that any symbols that exist for all files for that mode are included. -@end defun +@end defvar @c @xref{Search Optimization}, for more information on include paths. -- cgit v1.2.1 From a69ecd19fe9ea522f7266b6852e2d6d080a192c2 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Thu, 30 Jan 2014 23:28:17 -0800 Subject: Delete Selection mode doc updates * lisp/delsel.el (delete-selection-mode): Doc fix. * doc/misc/efaq.texi (Replacing highlighted text): Update delete-selection-mode doc. * etc/NEWS: Related edit. --- doc/misc/ChangeLog | 5 +++++ doc/misc/efaq.texi | 7 +++---- 2 files changed, 8 insertions(+), 4 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index cdd255049c2..e9812652f70 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,8 @@ +2014-01-31 Glenn Morris + + * efaq.texi (Replacing highlighted text): + Update delete-selection-mode doc. + 2014-01-30 Xue Fuqiao * sem-user.texi (Include paths): Fix a Texinfo command. diff --git a/doc/misc/efaq.texi b/doc/misc/efaq.texi index e840cc26b80..a13d3df43f1 100644 --- a/doc/misc/efaq.texi +++ b/doc/misc/efaq.texi @@ -1578,10 +1578,9 @@ According to the documentation string for @code{delete-selection-mode} delete-selection-mode @key{RET}}): @quotation -When Delete Selection mode is enabled, Transient Mark mode is also -enabled and typed text replaces the selection if the selection is -active. Otherwise, typed text is just inserted at point regardless of -any selection. +When Delete Selection mode is enabled, typed text replaces the selection +if the selection is active. Otherwise, typed text is just inserted at +point regardless of any selection. @end quotation This mode also allows you to delete (not kill) the highlighted region by -- cgit v1.2.1 From bd21bf41c00ea85de7bba7440a4ee70fa934cdb9 Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Fri, 31 Jan 2014 11:41:54 +0200 Subject: Misc small fixes. * doc/lispref/searching.texi (String Search): Incremental word search fixes. * lisp/sort.el (delete-duplicate-lines): Remove `:weakness 'key' from `make-hash-table'. * lisp/textmodes/ispell.el (ispell-init-process): Change message format to be consistent with other messages. --- doc/emacs/basic.texi | 2 +- doc/lispref/ChangeLog | 4 ++++ doc/lispref/searching.texi | 15 ++++++++------- 3 files changed, 13 insertions(+), 8 deletions(-) (limited to 'doc') diff --git a/doc/emacs/basic.texi b/doc/emacs/basic.texi index 3e0d50255b2..27a8ba9438e 100644 --- a/doc/emacs/basic.texi +++ b/doc/emacs/basic.texi @@ -235,7 +235,7 @@ Move backward one word (@code{backward-word}). @kindex C-LEFT @kindex M-LEFT @findex left-word -This command (@code{left-word}) behaves like @kbd{M-f}, except it +This command (@code{left-word}) behaves like @kbd{M-b}, except it moves @emph{forward} by one word if the current paragraph is right-to-left. @xref{Bidirectional Editing}. diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 78d7531f869..b38256a4492 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,7 @@ +2014-01-31 Juri Linkov + + * searching.texi (String Search): Incremental word search fixes. + 2014-01-28 Glenn Morris * text.texi (Indent Tabs): Update related to tab-stops. diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi index 623261f3049..2f287cc9705 100644 --- a/doc/lispref/searching.texi +++ b/doc/lispref/searching.texi @@ -137,7 +137,7 @@ the ball boy!" @group (word-search-forward "Please find the ball, boy.") - @result{} 36 + @result{} 39 ---------- Buffer: foo ---------- He said "Please! Find @@ -160,16 +160,17 @@ If @var{repeat} is non-@code{nil}, then the search is repeated that many times. Point is positioned at the end of the last match. @findex word-search-regexp -Internal, @code{word-search-forward} and related functions use the +Internally, @code{word-search-forward} and related functions use the function @code{word-search-regexp} to convert @var{string} to a regular expression that ignores punctuation. @end deffn @deffn Command word-search-forward-lax string &optional limit noerror repeat This command is identical to @code{word-search-forward}, except that -the end of @var{string} need not match a word boundary, unless @var{string} ends -in whitespace. For instance, searching for @samp{ball boy} matches -@samp{ball boyee}, but does not match @samp{aball boy}. +the beginning or the end of @var{string} need not match a word +boundary, unless @var{string} begins or ends in whitespace. +For instance, searching for @samp{ball boy} matches @samp{ball boyee}, +but does not match @samp{balls boy}. @end deffn @deffn Command word-search-backward string &optional limit noerror repeat @@ -181,8 +182,8 @@ beginning of the match. @deffn Command word-search-backward-lax string &optional limit noerror repeat This command is identical to @code{word-search-backward}, except that -the end of @var{string} need not match a word boundary, unless @var{string} ends -in whitespace. +the beginning or the end of @var{string} need not match a word +boundary, unless @var{string} begins or ends in whitespace. @end deffn @node Searching and Case -- cgit v1.2.1 From 7c3247627a102b53e9808ef51eca4a22c3a39fa3 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sat, 1 Feb 2014 17:04:08 -0800 Subject: register preview fixes * doc/emacs/regs.texi (Registers): Mention previewing. * lisp/register.el (register-preview-default): New function, split from register-preview. (register-preview-function): Rename from register-preview-functions, make it not a hook. (register-preview): Use register-preview-function. (register-read-with-preview): Error on non-character event. * etc/NEWS: Related markup. Fixes: debbugs:16595 --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/regs.texi | 9 +++++++++ 2 files changed, 13 insertions(+) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 8f29d7c01f6..4478e4bd72c 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2014-02-02 Glenn Morris + + * regs.texi (Registers): Mention previewing. + 2014-01-29 Glenn Morris * killing.texi (Deletion): Mention cycle-spacing. diff --git a/doc/emacs/regs.texi b/doc/emacs/regs.texi index 8ed0d848f59..8968cbbcffa 100644 --- a/doc/emacs/regs.texi +++ b/doc/emacs/regs.texi @@ -29,6 +29,15 @@ you store something else in that register. To see what register Display a description of what register @var{r} contains. @end table +@vindex register-preview-delay +@cindex preview of registers + All of the commands that prompt for a register will display a +``preview'' window that lists the existing registers (if there are +any) after a short delay. To change the length of the delay, +customize @code{register-preview-delay}. To prevent this display, set +that option to @code{nil}. You can explicitly request a preview +window by pressing @kbd{C-h} or @key{F1}. + @dfn{Bookmarks} record files and positions in them, so you can return to those positions when you look at the file again. Bookmarks are similar in spirit to registers, so they are also documented in -- cgit v1.2.1 From 65bc4bb587b1852eff1ac63d92f744416c3f6275 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sat, 1 Feb 2014 17:16:18 -0800 Subject: * doc/misc/efaq-w32.texi (Tramp ssh): Remove deleted tramp methods. * etc/NEWS: Related edits. --- doc/misc/ChangeLog | 4 ++++ doc/misc/efaq-w32.texi | 6 ------ 2 files changed, 4 insertions(+), 6 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index e9812652f70..f0ad9e709ab 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-02-02 Glenn Morris + + * efaq-w32.texi (Tramp ssh): Remove deleted tramp methods. + 2014-01-31 Glenn Morris * efaq.texi (Replacing highlighted text): diff --git a/doc/misc/efaq-w32.texi b/doc/misc/efaq-w32.texi index d9b0dd1e201..2ef6e99c6ac 100644 --- a/doc/misc/efaq-w32.texi +++ b/doc/misc/efaq-w32.texi @@ -1774,11 +1774,7 @@ methods to use in @code{tramp-default-method} or openssh @itemize @item @code{scp} Uses scp for copying, ssh for shell operations. -@item @code{scp1} scp with forced SSH protocol version 1 -@item @code{scp2} scp with forced SSH protocol version 2 @item @code{ssh} Uses ssh with encoding on stdin/stdout for file transfer. -@item @code{ssh1} ssh with forced SSH protocol version 1 -@item @code{ssh2} ssh with forced SSH protocol version 2 @end itemize @item @@ -1788,8 +1784,6 @@ PuTTY @item @code{pscp1} pscp, with forced SSH protocol version 1 @item @code{pscp2} pscp, with forced SSH protocol version 2 @item @code{plink} Uses plink with encoding on stdin/stdout for file transfer. -@item @code{plink1} plink with forced SSH protocol version 1 -@item @code{plink2} plink with forced SSH protocol version 2 @end itemize @end itemize -- cgit v1.2.1 From f16a3d523afc1a0c6bf7095f5f755ca16f8419d0 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sun, 2 Feb 2014 18:58:13 -0800 Subject: * doc/misc/cl.texi (Blocks and Exits): Mention cl-tagbody. * etc/NEWS: Related edit. --- doc/misc/ChangeLog | 4 ++++ doc/misc/cl.texi | 13 +++++++++++++ 2 files changed, 17 insertions(+) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index f0ad9e709ab..c64e5e695dc 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-02-03 Glenn Morris + + * cl.texi (Blocks and Exits): Mention cl-tagbody. + 2014-02-02 Glenn Morris * efaq-w32.texi (Tramp ssh): Remove deleted tramp methods. diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi index 0490cf639ac..2e3dd7434e0 100644 --- a/doc/misc/cl.texi +++ b/doc/misc/cl.texi @@ -1556,6 +1556,19 @@ Common Lisp loops like @code{cl-do} and @code{cl-dolist} implicitly enclose themselves in @code{nil} blocks. @end defmac +@c FIXME? Maybe this should be in a separate section? +@defmac cl-tagbody &rest labels-or-statements +This macro executes statements while allowing for control transfer to +user-defined labels. Each element of @var{labels-or-statements} can +be either a label (an integer or a symbol), or a cons-cell +(a statement). This distinction is made before macroexpansion. +Statements are executed in sequence, discarding any return value. +Any statement can transfer control at any time to the statements that follow +one of the labels with the special form @code{(go LABEL)}. +Labels have lexical scope and dynamic extent. +@end defmac + + @node Iteration @section Iteration -- cgit v1.2.1 From be445cf2abe016f00c59964268d6d46c3b5da421 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sun, 2 Feb 2014 19:12:29 -0800 Subject: Some doc for desktop-auto-save-timeout * doc/emacs/misc.texi (Saving Emacs Sessions): Mention desktop-auto-save-timeout. * lisp/desktop.el (desktop-save-mode): Doc fix. * etc/NEWS: Related edit. --- doc/emacs/ChangeLog | 4 ++++ doc/emacs/misc.texi | 8 +++++++- 2 files changed, 11 insertions(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 4478e4bd72c..c8508c39280 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,7 @@ +2014-02-03 Glenn Morris + + * misc.texi (Saving Emacs Sessions): Mention desktop-auto-save-timeout. + 2014-02-02 Glenn Morris * regs.texi (Registers): Mention previewing. diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index e2151e9144c..f89ebabd27a 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi @@ -2141,7 +2141,8 @@ subsequent Emacs sessions reload the saved desktop. @vindex desktop-save-mode You can save the desktop manually with the command @kbd{M-x desktop-save}. You can also enable automatic saving of the desktop -when you exit Emacs, and automatic restoration of the last saved +at regular intervals and when you exit Emacs, and automatic restoration +of the last saved desktop when Emacs starts: use the Customization buffer (@pxref{Easy Customization}) to set @code{desktop-save-mode} to @code{t} for future sessions, or add this line in your init file (@pxref{Init File}): @@ -2150,6 +2151,11 @@ sessions, or add this line in your init file (@pxref{Init File}): (desktop-save-mode 1) @end example +@vindex desktop-auto-save-timeout +@noindent +Emacs then auto-saves the desktop every @code{desktop-auto-save-timeout} +seconds, if that is non-@code{nil} and non-zero. + @findex desktop-change-dir @findex desktop-revert @vindex desktop-path -- cgit v1.2.1 From ce0ef8febf40acb27f86e57ac82c7409d13d21ab Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sun, 2 Feb 2014 23:26:59 -0800 Subject: * doc/misc/cl.texi (Blocks and Exits): Tweak earlier change. --- doc/misc/cl.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'doc') diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi index 2e3dd7434e0..f0ac289acab 100644 --- a/doc/misc/cl.texi +++ b/doc/misc/cl.texi @@ -1564,7 +1564,7 @@ be either a label (an integer or a symbol), or a cons-cell (a statement). This distinction is made before macroexpansion. Statements are executed in sequence, discarding any return value. Any statement can transfer control at any time to the statements that follow -one of the labels with the special form @code{(go LABEL)}. +one of the labels with the special form @code{(go @var{label})}. Labels have lexical scope and dynamic extent. @end defmac -- cgit v1.2.1 From 15baaea8e763b5df8a7dee722c20293852845bd5 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Sun, 2 Feb 2014 23:35:44 -0800 Subject: Revert earlier desktop-auto-save doc changes I don't understand this feature. --- doc/emacs/ChangeLog | 4 ---- doc/emacs/misc.texi | 8 +------- 2 files changed, 1 insertion(+), 11 deletions(-) (limited to 'doc') diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index c8508c39280..4478e4bd72c 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,7 +1,3 @@ -2014-02-03 Glenn Morris - - * misc.texi (Saving Emacs Sessions): Mention desktop-auto-save-timeout. - 2014-02-02 Glenn Morris * regs.texi (Registers): Mention previewing. diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi index f89ebabd27a..e2151e9144c 100644 --- a/doc/emacs/misc.texi +++ b/doc/emacs/misc.texi @@ -2141,8 +2141,7 @@ subsequent Emacs sessions reload the saved desktop. @vindex desktop-save-mode You can save the desktop manually with the command @kbd{M-x desktop-save}. You can also enable automatic saving of the desktop -at regular intervals and when you exit Emacs, and automatic restoration -of the last saved +when you exit Emacs, and automatic restoration of the last saved desktop when Emacs starts: use the Customization buffer (@pxref{Easy Customization}) to set @code{desktop-save-mode} to @code{t} for future sessions, or add this line in your init file (@pxref{Init File}): @@ -2151,11 +2150,6 @@ sessions, or add this line in your init file (@pxref{Init File}): (desktop-save-mode 1) @end example -@vindex desktop-auto-save-timeout -@noindent -Emacs then auto-saves the desktop every @code{desktop-auto-save-timeout} -seconds, if that is non-@code{nil} and non-zero. - @findex desktop-change-dir @findex desktop-revert @vindex desktop-path -- cgit v1.2.1 From 645586dcd8979d58b3f8825404d6e1b630855753 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Tue, 4 Feb 2014 23:46:40 -0800 Subject: Some doc for url-cookie-list * lisp/url/url-cookie.el (url-cookie-list): Doc fix. * doc/misc/url.texi (Cookies): Mention url-cookie-list command. * etc/NEWS: Related edit. --- doc/misc/ChangeLog | 4 ++++ doc/misc/url.texi | 7 +++++++ 2 files changed, 11 insertions(+) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index c64e5e695dc..606a736999e 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-02-05 Glenn Morris + + * url.texi (Cookies): Mention url-cookie-list command. + 2014-02-03 Glenn Morris * cl.texi (Blocks and Exits): Mention cl-tagbody. diff --git a/doc/misc/url.texi b/doc/misc/url.texi index ecfd0c66929..5cda62eade7 100644 --- a/doc/misc/url.texi +++ b/doc/misc/url.texi @@ -410,6 +410,13 @@ ignored; any other value means to ask the user on each request. @node Cookies @subsection Cookies +@findex url-cookie-delete +@defun url-cookie-list +This command creates a @file{*url cookies*} buffer listing the current +cookies, if there are any. You can remove a cookie using the +@kbd{C-k} (@code{url-cookie-delete}) command. +@end defun + @defopt url-cookie-file The file in which cookies are stored, defaulting to @file{cookies} in the directory specified by @code{url-configuration-directory}. -- cgit v1.2.1 From 6222d672a5c5dd06023b424a07b39729dd9d4550 Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 5 Feb 2014 00:35:24 -0800 Subject: * doc/misc/epa.texi: Add indices. --- doc/misc/ChangeLog | 2 ++ doc/misc/epa.texi | 15 +++++++++++++++ 2 files changed, 17 insertions(+) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 606a736999e..0b79841256e 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,5 +1,7 @@ 2014-02-05 Glenn Morris + * epa.texi: Add indices. + * url.texi (Cookies): Mention url-cookie-list command. 2014-02-03 Glenn Morris diff --git a/doc/misc/epa.texi b/doc/misc/epa.texi index 210627ec890..4c4bbba8017 100644 --- a/doc/misc/epa.texi +++ b/doc/misc/epa.texi @@ -63,6 +63,9 @@ called EasyPG Library. * Caching Passphrases:: * Bug Reports:: * GNU Free Documentation License:: The license for this documentation. +* Key Index:: +* Function Index:: +* Variable Index:: @end menu @node Overview @@ -493,6 +496,18 @@ buffer name is a whitespace. @appendix GNU Free Documentation License @include doclicense.texi +@node Key Index +@unnumbered Key Index +@printindex ky + +@node Function Index +@unnumbered Function Index +@printindex fn + +@node Variable Index +@unnumbered Variable Index +@printindex vr + @bye @c End: -- cgit v1.2.1 From 06c2ec49462474205dbd79a5dbd96bf73367d949 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 5 Feb 2014 11:41:03 -0800 Subject: Merge from gnulib. This incorporates: 2014-01-23 pthread: work around winpthread header pollution on mingw * lib/time.in.h: Update from gnulib. * doc/misc/texinfo.tex: Update from texinfo. --- doc/misc/ChangeLog | 4 ++++ doc/misc/texinfo.tex | 14 ++++++++++++-- 2 files changed, 16 insertions(+), 2 deletions(-) (limited to 'doc') diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 0b79841256e..f1d06e0b1be 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-02-05 Paul Eggert + + * texinfo.tex: Update from gnulib. + 2014-02-05 Glenn Morris * epa.texi: Add indices. diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index 704d66453f5..174e4abafda 100644 --- a/doc/misc/texinfo.tex +++ b/doc/misc/texinfo.tex @@ -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{2014-01-16.10} +\def\texinfoversion{2014-01-30.15} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, @@ -4649,6 +4649,16 @@ end \definedummyword\verb \definedummyword\w \definedummyword\xref + % + % Consider: + % @macro mkind{arg1,arg2} + % @cindex \arg2\ + % @end macro + % @mkind{foo, bar} + % The space after the comma will end up in the temporary definition + % that we make for arg2 (see \parsemargdef ff.). We want all this to be + % expanded for the sake of the index, so we end up just seeing "bar". + \let\xeatspaces = \eatspaces } % \indexnofonts is used when outputting the strings to sort the index @@ -7474,7 +7484,7 @@ end % Parse the optional {params} list. Set up \paramno and \paramlist % so \defmacro knows what to do. Define \macarg.BLAH for each BLAH -% in the params list to some hook where the argument si to be expanded. If +% in the params list to some hook where the argument is to be expanded. If % there are less than 10 arguments that hook is to be replaced by ##N where N % is the position in that list, that is to say the macro arguments are to be % defined `a la TeX in the macro body. -- cgit v1.2.1 From a333e4d29764e8f086a9fdeeb17c060a5d06d6dc Mon Sep 17 00:00:00 2001 From: Dmitry Gutov Date: Thu, 6 Feb 2014 03:22:38 +0200 Subject: Define and use `completion-table-merge' * lisp/minibuffer.el (completion-table-merge): New function. * lisp/emacs-lisp/lisp.el (lisp-completion-at-point): Use `completion-table-merge' instead of `completion-table-in-turn'. Fixes: debbugs:16604 --- doc/lispref/minibuf.texi | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'doc') diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi index e32922eef68..df510862460 100644 --- a/doc/lispref/minibuf.texi +++ b/doc/lispref/minibuf.texi @@ -889,6 +889,7 @@ Here is an example: @c FIXME? completion-table-with-context? @findex completion-table-case-fold @findex completion-table-in-turn +@findex completion-table-merge @findex completion-table-subvert @findex completion-table-with-quoting @findex completion-table-with-predicate @@ -897,9 +898,10 @@ Here is an example: @cindex completion tables, combining There are several functions that take an existing completion table and return a modified version. @code{completion-table-case-fold} returns -a case-insensitive table. @code{completion-table-in-turn} combines -multiple input tables. @code{completion-table-subvert} alters a table -to use a different initial prefix. @code{completion-table-with-quoting} +a case-insensitive table. @code{completion-table-in-turn} and +@code{completion-table-merge} combine multiple input tables in +different ways. @code{completion-table-subvert} alters a table to use +a different initial prefix. @code{completion-table-with-quoting} returns a table suitable for operating on quoted text. @code{completion-table-with-predicate} filters a table with a predicate function. @code{completion-table-with-terminator} adds a -- cgit v1.2.1 From 36a672f6b030e89202210aa15013b34f545877dc Mon Sep 17 00:00:00 2001 From: Glenn Morris Date: Wed, 5 Feb 2014 21:26:57 -0500 Subject: Replace some colons in Texinfo index entries * doc/lispintro/emacs-lisp-intro.texi (Recursive Patterns): * doc/misc/mh-e.texi, doc/misc/viper.texi: Do not use colons in index entries. Fixes: debbugs:16652 --- doc/lispintro/ChangeLog | 5 + doc/lispintro/emacs-lisp-intro.texi | 6 +- doc/misc/ChangeLog | 4 + doc/misc/mh-e.texi | 172 ++++++++++++++++---------------- doc/misc/viper.texi | 194 ++++++++++++++++++------------------ 5 files changed, 195 insertions(+), 186 deletions(-) (limited to 'doc') diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index 26493cb59ce..53fe1c85022 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -1,3 +1,8 @@ +2014-02-06 Glenn Morris + + * emacs-lisp-intro.texi (Recursive Patterns): + Do not use colons in index entries. + 2014-01-23 Glenn Morris * emacs-lisp-intro.texi (lengths-list-file): Fix textual parentheses. diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 84452513a76..74ea8e26e63 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -11610,7 +11610,7 @@ and this provides a sense of its primal capabilities. @node Every @unnumberedsubsubsec Recursive Pattern: @emph{every} @cindex Every, type of recursive pattern -@cindex Recursive pattern: every +@cindex Recursive pattern - every In the @code{every} recursive pattern, an action is performed on every element of a list. @@ -11709,7 +11709,7 @@ But when the list has at least one element, @node Accumulate @unnumberedsubsubsec Recursive Pattern: @emph{accumulate} @cindex Accumulate, type of recursive pattern -@cindex Recursive pattern: accumulate +@cindex Recursive pattern - accumulate Another recursive pattern is called the @code{accumulate} pattern. In the @code{accumulate} recursive pattern, an action is performed on @@ -11760,7 +11760,7 @@ accumulate pattern. @node Keep @unnumberedsubsubsec Recursive Pattern: @emph{keep} @cindex Keep, type of recursive pattern -@cindex Recursive pattern: keep +@cindex Recursive pattern - keep A third recursive pattern is called the @code{keep} pattern. In the @code{keep} recursive pattern, each element of a list is tested; diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index f1d06e0b1be..739d6938f0c 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,7 @@ +2014-02-06 Glenn Morris + + * mh-e.texi, viper.texi: Do not use colons in index entries. + 2014-02-05 Paul Eggert * texinfo.tex: Update from gnulib. diff --git a/doc/misc/mh-e.texi b/doc/misc/mh-e.texi index fe86f8ed1c5..7c254f35771 100644 --- a/doc/misc/mh-e.texi +++ b/doc/misc/mh-e.texi @@ -572,10 +572,10 @@ you need to know about MH to use MH-E, but the more you know about MH, the more you can leverage its power. See the @uref{@value{MH-BOOK-HOME}/../, MH book} to learn more about MH. -@cindex @samp{Path:} MH profile component +@cindex @samp{Path} MH profile component @cindex MH profile @cindex MH profile component -@cindex MH profile component, @samp{Path:} +@cindex MH profile component, @samp{Path} Your MH environment includes your @dfn{MH profile} which is found in the file @file{~/.mh_profile}, or the file named in the environment @@ -628,14 +628,14 @@ actually cause problems. @end quotation @sp 1 -@cindex MH profile component, @samp{Draft-Folder:} -@cindex MH profile component, @samp{Path:} -@cindex MH profile component, @samp{Previous-Sequence:} -@cindex MH profile component, @samp{Unseen-Sequence:} -@cindex @samp{Draft-Folder:} MH profile component -@cindex @samp{Path:} MH profile component -@cindex @samp{Previous-Sequence:} MH profile component -@cindex @samp{Unseen-Sequence:} MH profile component +@cindex MH profile component, @samp{Draft-Folder} +@cindex MH profile component, @samp{Path} +@cindex MH profile component, @samp{Previous-Sequence} +@cindex MH profile component, @samp{Unseen-Sequence} +@cindex @samp{Draft-Folder} MH profile component +@cindex @samp{Path} MH profile component +@cindex @samp{Previous-Sequence} MH profile component +@cindex @samp{Unseen-Sequence} MH profile component @findex mh-find-path @vindex mh-draft-folder @vindex mh-find-path-hook @@ -2077,12 +2077,12 @@ entire class of fields that start with the same prefix. If you think a header field should be generally ignored, please update @uref{https://sourceforge.net/p/mh-e/bugs/245/, SF #245}. -@cindex header field, @samp{Face:} -@cindex header field, @samp{X-Face:} -@cindex header field, @samp{X-Image-URL:} -@cindex @samp{Face:} header field -@cindex @samp{X-Face:} header field -@cindex @samp{X-Image-URL:} header field +@cindex header field, @samp{Face} +@cindex header field, @samp{X-Face} +@cindex header field, @samp{X-Image-URL} +@cindex @samp{Face} header field +@cindex @samp{X-Face} header field +@cindex @samp{X-Image-URL} header field @vindex mh-show-use-xface-flag MH-E can display the content of @samp{Face:}, @samp{X-Face:}, and @@ -2453,9 +2453,9 @@ permanently by turning on the option MH-E cannot display all attachments inline however. It can display text (including @sc{html}) and images. -@cindex header field, @samp{Content-Disposition:} +@cindex header field, @samp{Content-Disposition} @cindex inline images -@cindex @samp{Content-Disposition:} header field +@cindex @samp{Content-Disposition} header field @vindex mh-max-inline-image-height @vindex mh-max-inline-image-width @@ -3758,8 +3758,8 @@ Use this hook with care. If there is a bug in your hook which returns @cindex @file{.mh_profile} @cindex files, @file{.mh_profile} @cindex MH commands, @command{sortm} -@cindex MH profile component, @samp{sortm:} -@cindex @samp{sortm:} MH profile component +@cindex MH profile component, @samp{sortm} +@cindex @samp{sortm} MH profile component @kindex F S @vindex mh-sortm-args @@ -4045,8 +4045,8 @@ If you prefer to be prompted for the recipient and subject fields before the MH-Letter buffer appears, turn on the option @code{mh-compose-prompt-flag}. -@cindex header field, @samp{X-Mailer:} -@cindex @samp{X-Mailer:} header field +@cindex header field, @samp{X-Mailer} +@cindex @samp{X-Mailer} header field @vindex mh-insert-x-mailer-flag MH-E adds an @samp{X-Mailer:} header field to the header that includes @@ -4174,8 +4174,8 @@ reply to a message, you can change the option @samp{Prompt} to one of the choices listed above. You can always edit the recipients in the draft. -@cindex @samp{repl:} MH profile component -@cindex MH profile component, @samp{repl:} +@cindex @samp{repl} MH profile component +@cindex MH profile component, @samp{repl} @cindex MH-Letter mode @cindex MH-Show mode @cindex draft @@ -4237,8 +4237,8 @@ hook @code{mh-forward-hook} is called on the draft. @cindex @file{.mh_profile} @cindex files, @file{.mh_profile} -@cindex MH profile component, @samp{forw:} -@cindex @samp{forw:} MH profile component +@cindex MH profile component, @samp{forw} +@cindex @samp{forw} MH profile component @vindex mh-compose-forward-as-mime-flag By default, the option @code{mh-compose-forward-as-mime-flag} is on @@ -4750,25 +4750,25 @@ detail in the following sections. @node Editing Message, Inserting Letter, Editing Drafts, Editing Drafts @section Editing the Message -@cindex @samp{Bcc:} header field -@cindex @samp{Cc:} header field -@cindex @samp{Dcc:} header field -@cindex @samp{From:} header field -@cindex @samp{Mail-Followup-To:} header field -@cindex @samp{Mail-Reply-To:} header field -@cindex @samp{Reply-To:} header field -@cindex @samp{Subject:} header field -@cindex @samp{To:} header field +@cindex @samp{Bcc} header field +@cindex @samp{Cc} header field +@cindex @samp{Dcc} header field +@cindex @samp{From} header field +@cindex @samp{Mail-Followup-To} header field +@cindex @samp{Mail-Reply-To} header field +@cindex @samp{Reply-To} header field +@cindex @samp{Subject} header field +@cindex @samp{To} header field @cindex editing header -@cindex header field, @samp{Bcc:} -@cindex header field, @samp{Cc:} -@cindex header field, @samp{Dcc:} -@cindex header field, @samp{From:} -@cindex header field, @samp{Mail-Followup-To:} -@cindex header field, @samp{Mail-Reply-To:} -@cindex header field, @samp{Reply-To:} -@cindex header field, @samp{Subject:} -@cindex header field, @samp{To:} +@cindex header field, @samp{Bcc} +@cindex header field, @samp{Cc} +@cindex header field, @samp{Dcc} +@cindex header field, @samp{From} +@cindex header field, @samp{Mail-Followup-To} +@cindex header field, @samp{Mail-Reply-To} +@cindex header field, @samp{Reply-To} +@cindex header field, @samp{Subject} +@cindex header field, @samp{To} @findex mh-to-field @kindex C-c C-f C-t @kindex C-c C-f t @@ -5142,12 +5142,12 @@ mail user agent is sophisticated enough. In MH-E, this is done by placing your image in the file named by the option @code{mh-x-face-file} which is @file{~/.face} by default. -@cindex @samp{Face:} header field -@cindex @samp{X-Face:} header field -@cindex @samp{X-Image-URL:} header field -@cindex header field, @samp{Face:} -@cindex header field, @samp{X-Face:} -@cindex header field, @samp{X-Image-URL:} +@cindex @samp{Face} header field +@cindex @samp{X-Face} header field +@cindex @samp{X-Image-URL} header field +@cindex header field, @samp{Face} +@cindex header field, @samp{X-Face} +@cindex header field, @samp{X-Image-URL} If the file starts with either of the strings @samp{X-Face:}, @samp{Face:} or @samp{X-Image-URL:} then the contents are added to the @@ -5605,8 +5605,8 @@ See @cite{The PGG Manual}}. @end ifhtml -@cindex header field, @samp{Fcc:} -@cindex @samp{Fcc:} header field +@cindex header field, @samp{Fcc} +@cindex @samp{Fcc} header field @vindex pgg-encrypt-for-me In particular, I turn on the option @code{pgg-encrypt-for-me} so that @@ -5841,9 +5841,9 @@ Recipients}. @cindex @command{ali} @cindex @file{/etc/nmh/MailAliases} -@cindex @samp{Aliasfile:} MH profile component +@cindex @samp{Aliasfile} MH profile component @cindex MH commands, @command{ali} -@cindex MH profile component, @samp{Aliasfile:} +@cindex MH profile component, @samp{Aliasfile} @cindex files, @file{/etc/nmh/MailAliases} MH-E loads aliases for completion and folder name hints from various @@ -6085,8 +6085,8 @@ the @samp{INS} button with the label @samp{Add at least one item below}. The @samp{Value Menu} has the following menu items: @table @samp -@cindex header field, @samp{From:} -@cindex @samp{From:} header field +@cindex header field, @samp{From} +@cindex @samp{From} header field @item From Field Specify an alternate @samp{From:} header field. You must include a valid email address. A standard format is @samp{First Last @@ -6094,8 +6094,8 @@ valid email address. A standard format is @samp{First Last must quote your name as in @samp{"First I. Last" }. @c ------------------------- -@cindex header field, @samp{Organization:} -@cindex @samp{Organization:} header field +@cindex header field, @samp{Organization} +@cindex @samp{Organization} header field @item Organization Field People usually list the name of the company where they work here. @c ------------------------- @@ -6173,15 +6173,15 @@ Select an identity from those configured in @code{mh-identity-list}. All of the information for that identity will be added if the recipient matches. @c ------------------------- -@cindex @samp{Fcc:} header field -@cindex header field, @samp{Fcc:} +@cindex @samp{Fcc} header field +@cindex header field, @samp{Fcc} @item Fcc Field Insert an @samp{Fcc:} header field with the folder you provide. When you send the message, MH will put a copy of your message in this folder. @c ------------------------- -@cindex @samp{Mail-Followup-To:} header field -@cindex header field, @samp{Mail-Followup-To:} +@cindex @samp{Mail-Followup-To} header field +@cindex header field, @samp{Mail-Followup-To} @item Mail-Followup-To Field Insert an @samp{Mail-Followup-To:} header field with the recipients you provide. If the recipient's mail user agent supports this header @@ -6793,8 +6793,8 @@ argument. @cindex @command{procmail} @cindex Unix commands, @command{procmail} -@cindex @samp{X-MHE-Checksum:} header field -@cindex header field, @samp{X-MHE-Checksum:} +@cindex @samp{X-MHE-Checksum} header field +@cindex header field, @samp{X-MHE-Checksum} Note: This command uses an @samp{X-MHE-Checksum:} header field to cache the MD5 checksum of a message. This means that if an incoming @@ -7457,9 +7457,9 @@ folder (default is current folder) with @kbd{S l} (@code{mh-list-sequences}). The list appears in a buffer named @samp{*MH-E Sequences*} (@pxref{Miscellaneous}). -@cindex MH profile component, @samp{Previous-Sequence:} +@cindex MH profile component, @samp{Previous-Sequence} @cindex @samp{cur} sequence -@cindex @samp{Previous-Sequence:} MH profile component +@cindex @samp{Previous-Sequence} MH profile component @cindex sequence, @samp{cur} @cindex sequence, @samp{Previous-Sequence} @vindex mh-refile-preserves-sequences-flag @@ -7484,10 +7484,10 @@ this deletes only the sequence, not the messages in the sequence. If you want to delete the messages, use @kbd{C-u d} (@pxref{Reading Mail}). -@cindex @samp{Unseen-Sequence:} MH profile component +@cindex @samp{Unseen-Sequence} MH profile component @cindex @samp{cur} sequence @cindex @samp{tick} sequence -@cindex MH profile component, @samp{Unseen-Sequence:} +@cindex MH profile component, @samp{Unseen-Sequence} @cindex sequence, @samp{Unseen-Sequence} @cindex sequence, @samp{cur} @cindex sequence, @samp{tick} @@ -7663,9 +7663,9 @@ reclassifies a range of messages (@pxref{Ranges}) as ham if it were incorrectly classified as spam. It then refiles the message into the @file{+inbox} folder. -@cindex MH profile component, @samp{Previous-Sequence:} +@cindex MH profile component, @samp{Previous-Sequence} @cindex @samp{cur} sequence -@cindex @samp{Previous-Sequence:} MH profile component +@cindex @samp{Previous-Sequence} MH profile component @cindex sequence, @samp{cur} @cindex sequence, @samp{Previous-Sequence} @vindex mh-whitelist-preserves-sequences-flag @@ -7708,10 +7708,10 @@ it from your local distribution or from the To use SpamAssassin, add the following recipes to @file{~/.procmailrc}: @cindex @command{spamc} -@cindex @samp{X-Spam-Level:} header field -@cindex @samp{X-Spam-Status:} header field -@cindex header field, @samp{X-Spam-Level:} -@cindex header field, @samp{X-Spam-Status:} +@cindex @samp{X-Spam-Level} header field +@cindex @samp{X-Spam-Status} header field +@cindex header field, @samp{X-Spam-Level} +@cindex header field, @samp{X-Spam-Status} @smallexample PATH=$PATH:/usr/bin/mh @@ -7833,8 +7833,8 @@ each type of message to start doing a good job. To use bogofilter, add the following recipes to @file{~/.procmailrc}: -@cindex @samp{X-Bogosity:} header field -@cindex header field, @samp{X-Bogosity:} +@cindex @samp{X-Bogosity} header field +@cindex header field, @samp{X-Bogosity} @smallexample PATH=$PATH:/usr/bin/mh @@ -7886,8 +7886,8 @@ SpamProbe web site}. To use SpamProbe, add the following recipes to @file{~/.procmailrc}: @cindex @command{formail} -@cindex @samp{X-SpamProbe:} header field -@cindex header field, @samp{X-SpamProbe:} +@cindex @samp{X-SpamProbe} header field +@cindex header field, @samp{X-SpamProbe} @smallexample PATH=$PATH:/usr/bin/mh @@ -7922,12 +7922,12 @@ eliminate any message with a Windows executable (which is most likely a virus). The second is to eliminate mail in character sets that you can't read. -@cindex @samp{Content-Transfer-Encoding:} header field -@cindex @samp{Content-Type:} header field -@cindex @samp{Subject:} header field -@cindex header field, @samp{Content-Transfer-Encoding:} -@cindex header field, @samp{Content-Type:} -@cindex header field, @samp{Subject:} +@cindex @samp{Content-Transfer-Encoding} header field +@cindex @samp{Content-Type} header field +@cindex @samp{Subject} header field +@cindex header field, @samp{Content-Transfer-Encoding} +@cindex header field, @samp{Content-Type} +@cindex header field, @samp{Subject} @smallexample PATH=$PATH:/usr/bin/mh @@ -8579,8 +8579,8 @@ anything to my knowledge@footnote{See Savannah issue #4361} to see if @command{rcvstore} locking is still an issue.}. -@cindex @samp{Unseen-Sequence:} MH profile component -@cindex MH profile component, @samp{Unseen-Sequence:} +@cindex @samp{Unseen-Sequence} MH profile component +@cindex MH profile component, @samp{Unseen-Sequence} Line 16 uses the following script, @code{myrcvstore}, to massage the message as described in the comment and file the message in the given diff --git a/doc/misc/viper.texi b/doc/misc/viper.texi index ee3a4d057ee..3195bfa807d 100644 --- a/doc/misc/viper.texi +++ b/doc/misc/viper.texi @@ -1465,10 +1465,10 @@ appropriate function to a function key on the keyboard and use that key. @xref{Viper Specials}, for details. @item Ex commands -@findex @kbd{:args} -@findex @kbd{:n} -@findex @kbd{:pwd} -@findex @kbd{:pre} +@findex @kbd{Ex args} +@findex @kbd{Ex n} +@findex @kbd{Ex pwd} +@findex @kbd{Ex pre} The commands @kbd{:args}, @kbd{:next}, @kbd{:pre} behave differently. @kbd{:pwd} exists to get current directory. The commands @kbd{:b} and @kbd{:B} switch buffers around. @xref{File and @@ -1476,8 +1476,8 @@ Buffer Handling}, for details. There are also the new commands @kbd{:RelatedFile} and @kbd{PreviousRelatedFile} (which abbreviate to @kbd{R} and @kbd{P}, respectively. @xref{Viper Specials}, for details. -@findex @kbd{:RelatedFile} -@findex @kbd{:PreviousRelatedFile} +@findex @kbd{Ex RelatedFile} +@findex @kbd{Ex PreviousRelatedFile} @end table Apart from the new commands, many old commands have been enhanced. Most @@ -1587,7 +1587,7 @@ you are doing. Only two variables, @code{viper-mode} and @code{viper-custom-file-name}, are supposed to be customized in @file{.emacs}, prior to loading Viper (i.e., prior to @code{(require 'viper)} command. @item -@cindex :customize +@cindex Ex customize By executing the @kbd{:customize} Ex command. This takes you to the Emacs customization widget, which lets you change the values of Viper customizable variables easily. This method is good for novice and @@ -1616,7 +1616,7 @@ cases, examples are provided that you can use directly. @cindex setting variables @cindex variables for customization -@findex @kbd{:set} +@findex @kbd{Ex set} An easy way to customize Viper is to change the values of constants used in Viper. Here is the list of the constants used in Viper and their default @@ -2111,7 +2111,7 @@ bound to, unless these keys are typed in quick succession. So, with macros, one can use the normal keys alongside with the macros. If per-mode modifications are needed, the user can try both ways and see which one is more convenient. -@findex @kbd{:map} +@findex @kbd{Ex map} @xref{Vi Macros}, for details. Note: in major modes that come up in @emph{Emacs state} by default, the @@ -2551,8 +2551,8 @@ be associated with the master file. Then, the new Ex command another, so you can edit them. If a file is not in any Emacs buffer, it will be visited. The command @kbd{PreviousRelatedFile} (abbr., @kbd{:P}) goes through the file list in the opposite direction. -@findex @kbd{:RelatedFile} -@findex @kbd{:PreviousRelatedFile} +@findex @kbd{Ex RelatedFile} +@findex @kbd{Ex PreviousRelatedFile} These commands are akin to @kbd{:n} and @kbd{:N}, but they allow the user to focus on relevant files only. @@ -3480,8 +3480,8 @@ Go to specified Viper mark and go to the first CHAR on line. @kindex @kbd{m<} @kindex @kbd{m,} @kindex @kbd{m^} -@findex @kbd{:mark} -@findex @kbd{:k} +@findex @kbd{Ex mark} +@findex @kbd{Ex k} @kindex @kbd{''} @kindex @kbd{``} @kindex @kbd{`} @@ -3730,11 +3730,11 @@ destructive Vi commands. @kindex @kbd{#c} @kindex @kbd{&} @kindex @kbd{\&} -@findex @kbd{:substitute///} -@findex @kbd{:s///} -@findex @kbd{:copy [z]} -@findex @kbd{:t [z]} -@findex @kbd{:move [z]} +@findex @kbd{Ex substitute///} +@findex @kbd{Ex s///} +@findex @kbd{Ex copy [z]} +@findex @kbd{Ex t [z]} +@findex @kbd{Ex move [z]} @kindex @kbd{J} @kindex @kbd{~} @kindex @kbd{=} @@ -3814,14 +3814,14 @@ Execute on all lines that match . Execute on all lines that do not match . @end table @kindex @kbd{&} -@findex @kbd{:substitute///} +@findex @kbd{Ex substitute///} @kindex @kbd{Q} @kindex @kbd{#g} -@findex @kbd{:v} -@findex @kbd{:g} -@findex @kbd{:global} -@findex @kbd{:vglobal} -@findex @kbd{:tag } +@findex @kbd{Ex v} +@findex @kbd{Ex g} +@findex @kbd{Ex global} +@findex @kbd{Ex vglobal} +@findex @kbd{Ex tag } @kindex @kbd{%} @kindex @kbd{N} @kindex @kbd{n} @@ -3874,7 +3874,7 @@ Put the contents of the (default undo) buffer @kindex @kbd{"y} @kindex @kbd{y} @kindex @kbd{yank} -@findex @kbd{:yank} +@findex @kbd{Ex yank} @node Undoing @subsection Undoing @@ -3895,9 +3895,9 @@ Re-edit a messed-up file. Recover file from autosave. Viper also creates backup files that have a @samp{~} appended to them. @end table -@findex @kbd{:rec} -@findex @kbd{:e!} -@findex @kbd{:q!} +@findex @kbd{Ex rec} +@findex @kbd{Ex e!} +@findex @kbd{Ex q!} @kindex @kbd{.} @kindex @kbd{U} @kindex @kbd{u} @@ -4076,42 +4076,42 @@ is typed in minibuffer. File completion and history are supported. @end table @kindex @kbd{v} @kindex @kbd{V} -@findex @kbd{:args} -@findex @kbd{:rew} +@findex @kbd{Ex args} +@findex @kbd{Ex rew} @kindex @kbd{C-^} -@findex @kbd{:e!@: []} -@findex @kbd{:e []} -@findex @kbd{:edit []} -@findex @kbd{:edit!@: []} -@findex @kbd{:q!} -@findex @kbd{:q} -@findex @kbd{:quit} -@findex @kbd{:quit!} -@findex @kbd{:f} -@findex @kbd{:rec} -@findex @kbd{:r} -@findex @kbd{:read} -@findex @kbd{:pre} +@findex @kbd{Ex e!@: []} +@findex @kbd{Ex e []} +@findex @kbd{Ex edit []} +@findex @kbd{Ex edit!@: []} +@findex @kbd{Ex q!} +@findex @kbd{Ex q} +@findex @kbd{Ex quit} +@findex @kbd{Ex quit!} +@findex @kbd{Ex f} +@findex @kbd{Ex rec} +@findex @kbd{Ex r} +@findex @kbd{Ex read} +@findex @kbd{Ex pre} @kindex @kbd{ZZ} -@findex @kbd{:wq} -@findex @kbd{:w } -@findex @kbd{:w!@: } -@findex @kbd{:w >> } -@findex @kbd{:write } -@findex @kbd{:write!@: } -@findex @kbd{:write >> } -@findex @kbd{:W} -@findex @kbd{:WW} -@findex @kbd{:Write} -@findex @kbd{:WWrite} -@findex @kbd{:WWrite} -@findex @kbd{:x} -@findex @kbd{:x!} -@findex @kbd{:suspend} -@findex @kbd{:stop} -@findex @kbd{:n [ | ]} -@findex @kbd{:cd []} -@findex @kbd{:pwd} +@findex @kbd{Ex wq} +@findex @kbd{Ex w } +@findex @kbd{Ex w!@: } +@findex @kbd{Ex w >> } +@findex @kbd{Ex write } +@findex @kbd{Ex write!@: } +@findex @kbd{Ex write >> } +@findex @kbd{Ex W} +@findex @kbd{Ex WW} +@findex @kbd{Ex Write} +@findex @kbd{Ex WWrite} +@findex @kbd{Ex WWrite} +@findex @kbd{Ex x} +@findex @kbd{Ex x!} +@findex @kbd{Ex suspend} +@findex @kbd{Ex stop} +@findex @kbd{Ex n [ | ]} +@findex @kbd{Ex cd []} +@findex @kbd{Ex pwd} @node Mapping @section Mapping @@ -4175,10 +4175,10 @@ Show contents of register. @kindex @kbd{@@#} @kindex @kbd{@@@@} @kindex @kbd{@@} -@findex @kbd{:unmap } -@findex @kbd{:map } -@findex @kbd{:unmap!@: } -@findex @kbd{:map!@: } +@findex @kbd{Ex unmap } +@findex @kbd{Ex map } +@findex @kbd{Ex unmap!@: } +@findex @kbd{Ex map!@: } @node Shell Commands @section Shell Commands @@ -4234,17 +4234,17 @@ current). @item :make Run the make command in the current directory. @end table -@findex @kbd{:
r } -@findex @kbd{:
r !} +@findex @kbd{Ex
r } +@findex @kbd{Ex
r !} @findex @kbd{!} @findex @kbd{!!} @findex @kbd{!} -@findex @kbd{:w !} -@findex @kbd{:x,y w !} -@findex @kbd{:!!@: } -@findex @kbd{:!} -@findex @kbd{:sh} -@findex @kbd{:make} +@findex @kbd{Ex w !} +@findex @kbd{Ex x,y w !} +@findex @kbd{Ex !!@: } +@findex @kbd{Ex !} +@findex @kbd{Ex sh} +@findex @kbd{Ex make} @node Options @section Options @@ -4343,29 +4343,29 @@ Turn