diff options
author | Tom Tromey <tromey@redhat.com> | 2013-03-08 11:57:29 -0700 |
---|---|---|
committer | Tom Tromey <tromey@redhat.com> | 2013-03-08 11:57:29 -0700 |
commit | 71f91792e3013b397996905224f387da5cc539a9 (patch) | |
tree | 4c3d3ba909e76deea1cdf73b73fca67a57149465 /doc | |
parent | 6f4de085f065e11f4df3195d47479f28f5ef08ba (diff) | |
parent | b5426561089d39f18b42bed9dbfcb531f43ed562 (diff) | |
download | emacs-71f91792e3013b397996905224f387da5cc539a9.tar.gz |
merge from trunk
Diffstat (limited to 'doc')
65 files changed, 1346 insertions, 823 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog index 1b5bdc8fb53..776e5c6191e 100644 --- a/doc/emacs/ChangeLog +++ b/doc/emacs/ChangeLog @@ -1,3 +1,63 @@ +2013-03-04 Paul Eggert <eggert@cs.ucla.edu> + + Prefer UTF-8 for documentation. + With GNU Texinfo 5.0, this generates nicer-looking info files, + since they can use curly quotes. With older Texinfo it doesn't matter. + * ack.texi, cal-xtra.texi, calendar.texi, emacs-xtra.texi, emacs.texi: + Switch from Latin-1 to UTF-8. + +2013-02-28 Bastien Guerry <bzg@gnu.org> + + * xresources.texi (GTK resources): Fix broken link. + +2013-02-25 Eli Zaretskii <eliz@gnu.org> + + * files.texi (Interlocking): Don't refer to symlinks as the + exclusive means of locking files. + +2013-02-22 Glenn Morris <rgm@gnu.org> + + * ack.texi (Acknowledgments): + * emacs.texi (Acknowledgments): Small updates. + +2013-02-21 Glenn Morris <rgm@gnu.org> + + * files.texi (File Conveniences): Not just GIFs can be animated. + +2013-02-13 Glenn Morris <rgm@gnu.org> + + * ack.texi (Acknowledgments): Don't mention yow any more. + +2013-02-13 Paul Eggert <eggert@cs.ucla.edu> + + * cmdargs.texi (General Variables): + Fix TMPDIR documentation to match the code's behavior. + +2013-02-10 Glenn Morris <rgm@gnu.org> + + * trouble.texi (Checklist): Update bug keybinding. + +2013-02-09 Eli Zaretskii <eliz@gnu.org> + + * msdog.texi (Text and Binary): Delete the description of + file-name-buffer-file-type-alist. + +2013-01-19 Paul Eggert <eggert@cs.ucla.edu> + + * trouble.texi (Crashing): Suggest -p for newer addr2line. (Bug#13445) + Without it, I don't see function names. Older addr2line + implementations will die out sooner or later, so tailor the + first suggestion to recent addr2line, with a followup about + older ones. + +2013-01-19 Glenn Morris <rgm@gnu.org> + + * custom.texi (Directory Variables): Fix paren typo. + + * trouble.texi (Crashing): Not all addr2line have -p. (Bug#13445) + + * custom.texi (Custom Themes): Fix typo. + 2013-01-07 Bastien Guerry <bzg@gnu.org> * help.texi (Apropos): Document `apropos-user-option' and update diff --git a/doc/emacs/ack.texi b/doc/emacs/ack.texi index a0ab8223ae0..439e2a09cae 100644 --- a/doc/emacs/ack.texi +++ b/doc/emacs/ack.texi @@ -1,4 +1,4 @@ -@c -*- coding: iso-latin-1 -*- +@c -*- coding: utf-8 -*- @c This is part of the Emacs manual. @c Copyright (C) 1994-1997, 1999-2013 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @@ -53,7 +53,7 @@ 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 -storing confidential data. He and Kai Großjohann wrote the Tramp package, which +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 @file{tramp-cache.el}. @@ -68,7 +68,7 @@ Joe Arceneaux wrote the original text property implementation, and implemented support for X11. @item -Emil Åström, Milan Zamaza, and Stefan Bruda wrote @file{prolog.el}, +Emil Ã…ström, Milan Zamaza, and Stefan Bruda wrote @file{prolog.el}, a mode for editing Prolog (and Mercury) code. @item @@ -202,7 +202,7 @@ Andrew Choi and Yamamoto Mitsuharu wrote the Carbon support, used prior to Emacs 23 for Mac OS. @item -Chong Yidong was the Emacs co-maintainer from Emacs 23 onwards. He made many +Chong Yidong was the Emacs co-maintainer from Emacs 23 to 24.3. He made many improvements to the Emacs display engine. He also wrote @file{tabulated-list.el}, a generic major mode for lists of data; and improved support for themes and packages. @@ -260,7 +260,7 @@ text replace the current selection. Eric Ding wrote @file{goto-addr.el}, @item -Jan Djärv added support for the GTK+ toolkit and X drag-and-drop. +Jan Djärv added support for the GTK+ toolkit and X drag-and-drop. He also wrote @file{dynamic-setting.el}. @item @@ -268,7 +268,7 @@ Carsten Dominik wrote Ref@TeX{}, a package for setting up labels and cross-references in @LaTeX{} documents; and co-wrote IDLWAVE mode (q.v.). He was the original author of Org mode, for maintaining notes, todo lists, and project planning. Bastien Guerry subsequently took -over maintainership. Benjamin Andresen, Thomas Baumann, Joel Boehland, Jan Böcker, Lennart +over maintainership. Benjamin Andresen, Thomas Baumann, Joel Boehland, Jan Böcker, Lennart 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, @@ -303,7 +303,7 @@ folders have mail waiting in them; and @file{iswitchb.el}, a feature for incremental reading and completion of buffer names. @item -Torbjörn Einarsson wrote @file{f90.el}, a mode for Fortran 90 files. +Torbjörn Einarsson wrote @file{f90.el}, a mode for Fortran 90 files. @item Tsugutomo Enami co-wrote the support for international character sets. @@ -365,7 +365,7 @@ Kevin Gallagher rewrote and enhanced the EDT emulation, and wrote flow control. @item -Fabián E. Gallina rewrote @file{python.el}, the major mode for the +Fabián E. Gallina rewrote @file{python.el}, the major mode for the Python programming language used in Emacs 24.3 onwards. @item @@ -373,7 +373,7 @@ Kevin Gallo added multiple-frame support for Windows NT and wrote @file{w32-win.el}, support functions for the MS-Windows window system. @item -Juan León Lahoz García wrote @file{wdired.el}, a package for +Juan León Lahoz GarcÃa wrote @file{wdired.el}, a package for performing file operations by directly editing Dired buffers. @item @@ -510,9 +510,9 @@ He also wrote @file{network-stream.el}, for opening network processes; @file{url-queue.el}, for controlling parallel downloads of URLs; and implemented libxml2 support. Components of Gnus have also been written by: Nagy Andras, David -Blacka, Scott Byer, Ludovic Courtès, Julien Danjou, Kevin Greiner, Kai -Großjohann, Joe Hildebrand, Paul Jarc, Simon Josefsson, Sascha -Lüdecke, David Moore, Jim Radford, Benjamin Rutt, Raymond Scholz, +Blacka, Scott Byer, Ludovic Courtès, Julien Danjou, Kevin Greiner, Kai +Großjohann, Joe Hildebrand, Paul Jarc, Simon Josefsson, Sascha +Lüdecke, David Moore, Jim Radford, Benjamin Rutt, Raymond Scholz, Thomas Steffen, Reiner Steib, Didier Verna, Ilja Weis, Katsumi Yamaoka, Teodor Zlatanov, and others (@pxref{Contributors,,,gnus, the Gnus Manual}). @@ -553,7 +553,7 @@ S/MIME and Sieve components; and @file{tls.el} and @file{starttls.el} for the Transport Layer Security protocol. @item -Arne Jørgensen wrote @file{latexenc.el}, a package to +Arne Jørgensen wrote @file{latexenc.el}, a package to automatically guess the correct coding system in @LaTeX{} files. @item @@ -605,7 +605,7 @@ files and running a PostScript interpreter interactively from within Emacs. @item -Karel Klí@v{c} contributed SELinux support, for preserving the +Karel KlÃ@v{c} contributed SELinux support, for preserving the Security-Enhanced Linux context of files on backup and copy. @item @@ -694,7 +694,7 @@ directory-local variables; and the @code{info-finder} feature that creates a virtual Info manual of package keywords. @item -Károly L@H{o}rentey wrote the ``multi-terminal'' code, which allows +Károly L@H{o}rentey wrote the ``multi-terminal'' code, which allows Emacs to run on graphical and text terminals simultaneously. @item @@ -726,7 +726,7 @@ the display of the Emacs tool bar. With Riccardo Murri he wrote Eric Ludlam wrote the Speedbar package; @file{checkdoc.el}, for checking doc strings in Emacs Lisp programs; @file{dframe.el}, providing dedicated frame support modes; @file{ezimage.el}, a generalized way to -place images over text; @file{chart.el} for drawing bar charts etc; and +place images over text; @file{chart.el} for drawing bar charts etc.; and the EIEIO (Enhanced Implementation of Emacs Interpreted Objects) package. He was also the main author of the CEDET (Collection of Emacs Development Environment Tools) package. Portions were also written by @@ -811,9 +811,8 @@ 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; @file{terminal.el}, a -terminal emulator for Emacs subprocesses; and @file{yow.el}, an -essential utility. +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 @@ -826,7 +825,7 @@ facility. He also wrote @code{ebrowse}, the C@t{++} browser; and @file{rx.el}, a regular expression constructor. @item -Stefan Monnier was the Emacs co-maintainer from Emacs 23 onwards. He added +Stefan Monnier was the Emacs (co-)maintainer from Emacs 23 onwards. He added support for Arch and Subversion to VC, re-wrote much of the Emacs server to use the built-in networking primitives, and re-wrote the abbrev and minibuffer completion code for Emacs 23. He also wrote @code{PCL-CVS}, @@ -961,7 +960,7 @@ Fred Pierresteguy and Paul Reilly made Emacs work with X Toolkit widgets. @item -François Pinard, Greg McGary, and Bruno Haible wrote @file{po.el}, +François Pinard, Greg McGary, and Bruno Haible wrote @file{po.el}, support for PO translation files. @item @@ -1346,7 +1345,7 @@ mode for editing VHDL source code. John Wiegley wrote @file{align.el}, a set of commands for aligning text according to regular-expression based rules; @file{isearchb.el} for fast buffer switching; @file{timeclock.el}, a package for keeping track of -time spent on projects; the Bahá'í calendar support; +time spent on projects; the Bahá'à calendar support; @file{pcomplete.el}, a programmable completion facility; @file{remember.el}, a mode for jotting down things to remember; @file{eudcb-mab.el}, an address book backend for the Emacs Unified diff --git a/doc/emacs/cal-xtra.texi b/doc/emacs/cal-xtra.texi index 023e4a2926c..1b182327d33 100644 --- a/doc/emacs/cal-xtra.texi +++ b/doc/emacs/cal-xtra.texi @@ -1,4 +1,4 @@ -@c This is part of the Emacs manual. -*- coding: iso-latin-1 -*- +@c This is part of the Emacs manual. -*- coding: utf-8 -*- @c Copyright (C) 2004-2013 Free Software Foundation, Inc. @c See file emacs.texi for copying conditions. @c @@ -203,7 +203,7 @@ the month (1 specifies the first occurrence, 2 the second occurrence, @minus{}1 the last occurrence, @minus{}2 the second-to-last occurrence, and so on). - You can specify holidays that occur on fixed days of the Bahá'í, + You can specify holidays that occur on fixed days of the Bahá'Ã, Chinese, Hebrew, Islamic, and Julian calendars too. For example, @smallexample @@ -420,7 +420,7 @@ the fourth pattern. @subsection Diary Entries Using non-Gregorian Calendars As well as entries based on the standard Gregorian calendar, your -diary can have entries based on Bahá'í, Hebrew, or Islamic dates. +diary can have entries based on Bahá'Ã, Hebrew, or Islamic dates. Recognition of such entries can be time-consuming, however, and since most people don't use them, you must explicitly enable their use. If you want the diary to recognize Hebrew-date diary entries, for example, @@ -440,7 +440,7 @@ you must do this: @end smallexample @noindent -Similarly, for Islamic and Bahá'í entries, add +Similarly, for Islamic and Bahá'à entries, add @code{diary-islamic-list-entries} and @code{diary-islamic-mark-entries}, or @code{diary-bahai-list-entries} and @code{diary-bahai-mark-entries}. @@ -449,7 +449,7 @@ Similarly, for Islamic and Bahá'í entries, add @vindex diary-islamic-entry-symbol These diary entries have the same formats as Gregorian-date diary entries; except that @code{diary-bahai-entry-symbol} (default @samp{B}) -must precede a Bahá'í date, @code{diary-hebrew-entry-symbol} (default +must precede a Bahá'à date, @code{diary-hebrew-entry-symbol} (default @samp{H}) a Hebrew date, and @code{diary-islamic-entry-symbol} (default @samp{I}) an Islamic date. Moreover, non-Gregorian month names may not be abbreviated (because the first three letters are often not unique). @@ -476,7 +476,7 @@ nonmarking if preceded by @code{diary-nonmarking-symbol} (default Here is a table of commands used in the calendar to create diary entries that match the selected date and other dates that are similar in -the Bahá'í, Hebrew, or Islamic calendars: +the Bahá'Ã, Hebrew, or Islamic calendars: @table @kbd @item i h d @@ -851,7 +851,7 @@ Make a diary entry with today's equivalent Julian calendar date. @item %%(diary-astro-day-number) Make a diary entry with today's equivalent astronomical (Julian) day number. @item %%(diary-bahai-date) -Make a diary entry with today's equivalent Bahá'í calendar date. +Make a diary entry with today's equivalent Bahá'à calendar date. @item %%(diary-chinese-date) Make a diary entry with today's equivalent Chinese calendar date. @item %%(diary-coptic-date) diff --git a/doc/emacs/calendar.texi b/doc/emacs/calendar.texi index 4f4ec036ef9..52b966b76e1 100644 --- a/doc/emacs/calendar.texi +++ b/doc/emacs/calendar.texi @@ -1,4 +1,4 @@ -@c This is part of the Emacs manual. -*- coding: iso-latin-1 -*- +@c This is part of the Emacs manual. -*- coding: utf-8 -*- @c Copyright (C) 1985-1987, 1993-1995, 1997, 2000-2013 Free Software @c Foundation, Inc. @c See file emacs.texi for copying conditions. @@ -522,7 +522,7 @@ holidays centered around a different month, use @kbd{C-u M-x holidays}, which prompts for the month and year. The holidays known to Emacs include United States holidays and the -major Bahá'í, Chinese, Christian, Islamic, and Jewish holidays; also the +major Bahá'Ã, Chinese, Christian, Islamic, and Jewish holidays; also the solstices and equinoxes. @findex list-holidays @@ -760,8 +760,8 @@ days are named by combining one of ten ``celestial stems'' with one of twelve ``terrestrial branches'' for a total of sixty names that are repeated in a cycle of sixty. -@cindex Bahá'í calendar - The Bahá'í calendar system is based on a solar cycle of 19 months with +@cindex Bahá'à calendar + The Bahá'à calendar system is based on a solar cycle of 19 months with 19 days each. The four remaining ``intercalary'' days are placed between the 18th and 19th months. @@ -801,7 +801,7 @@ Display French Revolutionary date for selected day (@code{calendar-french-print-date}). @findex calendar-bahai-print-date @item p b -Display Bahá'í date for selected day +Display Bahá'à date for selected day (@code{calendar-bahai-print-date}). @findex calendar-chinese-print-date @item p C @@ -869,7 +869,7 @@ Move to a date specified in the Julian calendar Move to a date specified with an astronomical (Julian) day number (@code{calendar-astro-goto-day-number}). @item g b -Move to a date specified in the Bahá'í calendar +Move to a date specified in the Bahá'à calendar (@code{calendar-bahai-goto-date}). @item g h Move to a date specified in the Hebrew calendar diff --git a/doc/emacs/cmdargs.texi b/doc/emacs/cmdargs.texi index c4a74042865..19b439afc7f 100644 --- a/doc/emacs/cmdargs.texi +++ b/doc/emacs/cmdargs.texi @@ -567,10 +567,9 @@ terminal specified by @env{TERM}. This defaults to These environment variables are used to initialize the variable @code{temporary-file-directory}, which specifies a directory in which to put temporary files (@pxref{Backup}). Emacs tries to use -@env{TMPDIR} first; if that is unset, it tries @env{TMP}, then -@env{TEMP}, and finally @file{/tmp}. But on MS-Windows and MS-DOS, -Emacs tries @env{TEMP}, then @env{TMPDIR}, then @env{TMP}, and finally -@file{c:/temp}. +@env{TMPDIR} first. If that is unset, Emacs normally falls back on +@file{/tmp}, but on MS-Windows and MS-DOS it instead falls back on +@env{TMP}, then @env{TEMP}, and finally @file{c:/temp}. @item TZ This specifies the current time zone and possibly also daylight diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi index 6878af14252..fae61252724 100644 --- a/doc/emacs/custom.texi +++ b/doc/emacs/custom.texi @@ -555,7 +555,7 @@ or disabled as a unit. You can use Custom themes to switch easily between various collections of settings, and to transfer such collections from one computer to another. - A Custom theme is stored an Emacs Lisp source file. If the name of + A Custom theme is stored as an Emacs Lisp source file. If the name of the Custom theme is @var{name}, the theme file is named @file{@var{name}-theme.el}. @xref{Creating Custom Themes}, for the format of a theme file and how to make one. @@ -1305,7 +1305,7 @@ files in that subdirectory. @example ((nil . ((indent-tabs-mode . t) (fill-column . 80))) - (c-mode . ((c-file-style . "BSD"))) + (c-mode . ((c-file-style . "BSD") (subdirs . nil))) ("src/imported" . ((nil . ((change-log-default-name diff --git a/doc/emacs/emacs-xtra.texi b/doc/emacs/emacs-xtra.texi index 40519e7e318..f67ed3d5cad 100644 --- a/doc/emacs/emacs-xtra.texi +++ b/doc/emacs/emacs-xtra.texi @@ -26,7 +26,7 @@ modify this GNU manual.'' @end quotation @end copying -@documentencoding ISO-8859-1 +@documentencoding UTF-8 @dircategory Emacs @direntry diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi index 4f11da8032a..2efa9b084df 100644 --- a/doc/emacs/emacs.texi +++ b/doc/emacs/emacs.texi @@ -1,4 +1,4 @@ -\input texinfo @c -*- coding: iso-latin-1 -*- +\input texinfo @c -*- coding: utf-8 -*- @setfilename ../../info/emacs @settitle GNU Emacs Manual @@ -44,7 +44,7 @@ developing GNU and promoting software freedom.'' @end quotation @end copying -@documentencoding ISO-8859-1 +@documentencoding UTF-8 @dircategory Emacs @direntry @@ -1351,35 +1351,35 @@ USA Contributors to GNU Emacs include Jari Aalto, Per Abrahamsen, Tomas Abrahamsson, Jay K. Adams, Alon Albert, Michael Albinus, Nagy -Andras, Benjamin Andresen, Ralf Angeli, Dmitry Antipov, Joe Arceneaux, Emil Åström, +Andras, Benjamin Andresen, Ralf Angeli, Dmitry Antipov, Joe Arceneaux, Emil Ã…ström, Miles Bader, David Bakhash, Juanma Barranquero, Eli Barzilay, Thomas Baumann, Steven L. Baur, Jay Belanger, Alexander L. Belikoff, Thomas Bellman, Scott Bender, Boaz Ben-Zvi, Sergey Berezin, Karl Berry, Anna M. Bigatti, Ray Blaak, Martin Blais, Jim Blandy, Johan -Bockgård, Jan Böcker, Joel Boehland, Lennart Borgman, Per Bothner, +BockgÃ¥rd, Jan Böcker, Joel Boehland, Lennart Borgman, Per Bothner, Terrence Brannon, Frank Bresz, Peter Breton, Emmanuel Briot, Kevin Broadey, Vincent Broman, Michael Brouwer, David M. Brown, Stefan Bruda, Georges Brun-Cottan, Joe Buehler, Scott Byer, W@l{}odek Bzyl, Bill Carpenter, Per Cederqvist, Hans Chalupsky, Chris Chase, Bob Chassell, Andrew Choi, Chong Yidong, Sacha Chua, Stewart Clamen, James Clark, Mike Clarkson, Glynn Clements, Andrew Cohen, Daniel Colascione, -Edward O'Connor, Christoph Conrad, Ludovic Courtès, Andrew Csillag, +Edward O'Connor, Christoph Conrad, Ludovic Courtès, Andrew Csillag, Toby Cubitt, Baoqiu Cui, Doug Cutting, Mathias Dahl, Julien Danjou, Satyaki Das, Vivek Dasmohapatra, Dan Davison, Michael DeCorte, Gary Delp, Nachum Dershowitz, Dave Detlefs, Matthieu Devin, Christophe de Dinechin, Eri -Ding, Jan Djärv, Lawrence R. Dodd, Carsten Dominik, Scott Draves, +Ding, Jan Djärv, Lawrence R. Dodd, Carsten Dominik, Scott Draves, Benjamin Drieu, Viktor Dukhovni, Jacques Duthen, Dmitry Dzhus, John Eaton, Rolf Ebert, Carl Edman, David Edmondson, Paul Eggert, Stephen -Eglen, Christian Egli, Torbjörn Einarsson, Tsugutomo Enami, David +Eglen, Christian Egli, Torbjörn Einarsson, Tsugutomo Enami, David Engster, Hans Henrik Eriksen, Michael Ernst, Ata Etemadi, Frederick Farnbach, Oscar Figueiredo, Fred Fish, Steve Fisk, Karl Fogel, Gary Foster, Eric S. Fraga, Romain Francoise, Noah Friedman, Andreas Fuchs, Shigeru Fukaya, Hallvard Furuseth, Keith Gabryelski, Peter S. -Galbraith, Kevin Gallagher, Kevin Gallo, Juan León Lahoz García, +Galbraith, Kevin Gallagher, Fabián E. Gallina, Kevin Gallo, Juan León Lahoz GarcÃa, Howard Gayle, Daniel German, Stephen Gildea, Julien Gilles, David Gillespie, Bob Glickstein, Deepak Goel, David De La Harpe Golden, Boris Goldowsky, David Goodger, Chris Gray, Kevin Greiner, Michelangelo Grigni, Odd -Gripenstam, Kai Großjohann, Michael Gschwind, Bastien Guerry, Henry +Gripenstam, Kai Großjohann, Michael Gschwind, Bastien Guerry, Henry Guillaume, Doug Gwyn, Bruno Haible, Ken'ichi Handa, Lars Hansen, Chris Hanson, Jesper Harder, Alexandru Harsanyi, K. Shane Hartman, John Heidemann, Jon K. Hellan, Magnus Henoch, Markus Heritsch, Dirk @@ -1388,19 +1388,19 @@ Jeffrey C. Honig, Tassilo Horn, Kurt Hornik, Tom Houlder, Joakim Hove, Denis Howe, Lars Ingebrigtsen, Andrew Innes, Seiichiro Inoue, Philip Jackson, Martyn Jago, Pavel Janik, Paul Jarc, Ulf Jasper, Thorsten Jolitz, Michael K. Johnson, Kyle Jones, Terry Jones, Simon -Josefsson, Alexandre Julliard, Arne Jørgensen, Tomoji Kagatani, +Josefsson, Alexandre Julliard, Arne Jørgensen, Tomoji Kagatani, Brewster Kahle, Tokuya Kameshima, Lute Kamstra, Ivan Kanis, David Kastrup, David Kaufman, Henry Kautz, Taichi Kawabata, Taro Kawagishi, Howard Kaye, Michael Kifer, Richard King, Peter Kleiweg, Karel -Klí@v{c}, Shuhei Kobayashi, Pavel Kobyakov, Larry K. Kolodney, David +KlÃ@v{c}, Shuhei Kobayashi, Pavel Kobyakov, Larry K. Kolodney, David M. Koppelman, Koseki Yoshinori, Robert Krawitz, Sebastian Kremer, -Ryszard Kubiak, Igor Kuzmin, David Kågedal, Daniel LaLiberte, Karl +Ryszard Kubiak, Igor Kuzmin, David KÃ¥gedal, Daniel LaLiberte, Karl Landstrom, Mario Lang, Aaron Larson, James R. Larus, Vinicius Jose Latorre, Werner Lemberg, Frederic Lepied, Peter Liljenberg, Christian Limpach, Lars Lindberg, Chris Lindblad, Anders Lindgren, Thomas Link, Juri Linkov, Francis Litterio, Sergey Litvinov, Emilio C. Lopes, -Martin Lorentzon, Dave Love, Eric Ludlam, Károly L@H{o}rentey, Sascha -Lüdecke, Greg McGary, Roland McGrath, Michael McNamara, Alan Mackenzie, +Martin Lorentzon, Dave Love, Eric Ludlam, Károly L@H{o}rentey, Sascha +Lüdecke, Greg McGary, Roland McGrath, Michael McNamara, Alan Mackenzie, 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 @@ -1415,7 +1415,7 @@ 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 +Pieri, Fred Pierresteguy, François Pinard, Daniel Pittman, Christian Plaunt, Alexander Pohoyda, David Ponce, Francesco A. Potorti, Michael D. Prange, Mukesh Prasad, Ken Raeburn, Marko Rahamaa, Ashwin Ram, Eric S. Raymond, Paul Reilly, Edward M. Reingold, David diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi index a85c16ee1bc..1f78747eaa6 100644 --- a/doc/emacs/files.texi +++ b/doc/emacs/files.texi @@ -734,10 +734,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 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. +(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 +whenever an Emacs buffer visiting it has unsaved changes. @vindex create-lockfiles You can prevent the creation of lock files by setting the variable @@ -774,14 +774,14 @@ multiple names, Emacs does not prevent two users from editing it simultaneously under different names. A lock file cannot be written in some circumstances, e.g., if Emacs -lacks the system permissions or the system does not support symbolic -links. In these cases, Emacs can still detect the collision when you -try to save a file, by checking the file's last-modification date. If -the file has changed since the last time Emacs visited or saved it, -that implies that changes have been made in some other way, and will -be lost if Emacs proceeds with saving. Emacs then displays a warning -message and asks for confirmation before saving; answer @kbd{yes} to -save, and @kbd{no} or @kbd{C-g} cancel the save. +lacks the system permissions or cannot create lock files for some +other reason. In these cases, Emacs can still detect the collision +when you try to save a file, by checking the file's last-modification +date. If the file has changed since the last time Emacs visited or +saved it, that implies that changes have been made in some other way, +and will be lost if Emacs proceeds with saving. Emacs then displays a +warning message and asks for confirmation before saving; answer +@kbd{yes} to save, and @kbd{no} or @kbd{C-g} cancel the save. If you are notified that simultaneous editing has already taken place, one way to compare the buffer to its file is the @kbd{M-x @@ -1937,8 +1937,7 @@ or taller than the frame, the usual point motion keys (@kbd{C-f}, displayed. 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}. Currently, Emacs only supports animation in GIF -files. +non-@code{nil}. @cindex ImageMagick support @vindex imagemagick-enabled-types diff --git a/doc/emacs/mark.texi b/doc/emacs/mark.texi index 6ed3b2e6d37..05b2a5be3a4 100644 --- a/doc/emacs/mark.texi +++ b/doc/emacs/mark.texi @@ -131,7 +131,7 @@ detailed description of these mouse commands. @cindex shift-selection Finally, you can set the mark by holding down the shift key while typing certain cursor motion commands (such as @kbd{S-@key{right}}, -@kbd{S-C-f}, @kbd{S-C-n}, etc.) This is called @dfn{shift-selection}. +@kbd{S-C-f}, @kbd{S-C-n}, etc.). This is called @dfn{shift-selection}. It sets the mark at point before moving point, but only if there is no active mark set via shift-selection. The mark set by mouse commands and by shift-selection behaves slightly differently from the usual diff --git a/doc/emacs/msdog.texi b/doc/emacs/msdog.texi index 2c22c89a113..0f01958b51c 100644 --- a/doc/emacs/msdog.texi +++ b/doc/emacs/msdog.texi @@ -218,29 +218,6 @@ set conversion, only end-of-line conversion. Essentially, it directs Emacs to create new files with the Unix-style convention of using newline at the end of a line. @xref{Coding Systems}. -@vindex file-name-buffer-file-type-alist -@cindex binary files, on MS-DOS/MS-Windows - Some kinds of files should not be converted at all, because their -contents are not really text. Therefore, Emacs on MS-Windows distinguishes -certain files as @dfn{binary files}. (This distinction is not part of -MS-Windows; it is made by Emacs only.) Binary files include executable -programs, compressed archives, etc. Emacs uses the file name to decide -whether to treat a file as binary: the variable -@code{file-name-buffer-file-type-alist} defines the file-name patterns -that indicate binary files. If a file name matches one of the patterns -for binary files (those whose associations are of the type -@code{(@var{pattern} . t)}, Emacs reads and writes that file using the -@code{no-conversion} coding system (@pxref{Coding Systems}) which turns -off @emph{all} coding-system conversions, not only the EOL conversion. -@code{file-name-buffer-file-type-alist} also includes file-name patterns -for files which are known to be Windows-style text files with -carriage-return linefeed EOL format, such as @file{CONFIG.SYS}; Emacs -always writes those files with Windows-style EOLs. - - If a file that belongs to an untranslated file system matches one of -the file-name patterns in @code{file-name-buffer-file-type-alist}, the -EOL conversion is determined by @code{file-name-buffer-file-type-alist}. - @node Windows Files @section File Names on MS-Windows @cindex file names on MS-Windows diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi index de5ed493e63..1c667bc56cb 100644 --- a/doc/emacs/trouble.texi +++ b/doc/emacs/trouble.texi @@ -325,7 +325,7 @@ backtrace with source-code line numbers: @example sed -n 's/.*\[\(.*\)]$/\1/p' @var{backtrace} | - addr2line -Cfip -e @var{bindir}/@var{emacs-binary} + addr2line -C -f -i -p -e @var{bindir}/@var{emacs-binary} @end example @noindent @@ -333,7 +333,9 @@ Here, @var{backtrace} is the name of a text file containing a copy of the backtrace, @var{bindir} is the name of the directory that contains the Emacs executable, and @var{emacs-binary} is the name of the Emacs executable file, normally @file{emacs} on GNU and Unix -systems and @file{emacs.exe} on MS-Windows and MS-DOS. +systems and @file{emacs.exe} on MS-Windows and MS-DOS. Omit the +@option{-p} option if your version of @command{addr2line} is too old +to have it. @cindex core dump Optionally, Emacs can generate a @dfn{core dump} when it crashes, on @@ -660,7 +662,7 @@ will be sent to the Emacs maintainers at @email{bug-gnu-emacs@@gnu.org}. (If you want to suggest an improvement or new feature, use the same address.) If you cannot send mail from inside Emacs, you can copy the text of your report to your normal mail client (if your system -supports it, you can type @kbd{C-c m} to have Emacs do this for you) +supports it, you can type @kbd{C-c M-i} to have Emacs do this for you) and send it to that address. Or you can simply send an email to that address describing the problem. diff --git a/doc/emacs/xresources.texi b/doc/emacs/xresources.texi index 7274a9df71c..3723c8e5e1d 100644 --- a/doc/emacs/xresources.texi +++ b/doc/emacs/xresources.texi @@ -507,7 +507,7 @@ those are governed by normal X resources (@pxref{Resources}). The following sections describe how to customize GTK+ resources for Emacs. For details about GTK+ resources, see the GTK+ API document at -@uref{http://developer.gnome.org/doc/API/2.0/gtk/gtk-Resource-Files.html}. +@uref{http://developer.gnome.org/gtk2/stable/gtk2-Resource-Files.html}. In GTK+ version 3, GTK+ resources have been replaced by a completely different system. The appearance of GTK+ widgets is now determined by diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog index 993d0d051e8..e31c63fd8f6 100644 --- a/doc/lispintro/ChangeLog +++ b/doc/lispintro/ChangeLog @@ -1,3 +1,8 @@ +2013-03-03 Glenn Morris <rgm@gnu.org> + + * emacs-lisp-intro.texi (Digression into C): Update example. + (defcustom, Simple Extension): Fix typos. + 2012-12-22 Glenn Morris <rgm@gnu.org> * Makefile.in (srcs): New variable, adding doclicense.texi. diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi index 3366ad6e7f7..43e2539d2f2 100644 --- a/doc/lispintro/emacs-lisp-intro.texi +++ b/doc/lispintro/emacs-lisp-intro.texi @@ -4583,7 +4583,7 @@ argument to the value returned by its second argument. @item buffer-name Without an argument, return the name of the buffer, as a string. -@itemx buffer-file-name +@item buffer-file-name Without an argument, return the name of the file the buffer is visiting. @@ -9116,8 +9116,8 @@ Lisp; it is written in C and is one of the primitives of the GNU Emacs system. Since it is very simple, I will digress briefly from Lisp and describe it here. -@c GNU Emacs 22 in /usr/local/src/emacs/src/editfns.c -@c the DEFUN for buffer-substring-no-properties +@c GNU Emacs 24 in src/editfns.c +@c the DEFUN for delete-and-extract-region @need 1500 Like many of the other Emacs primitives, @@ -9127,22 +9127,15 @@ like this: @smallexample @group -DEFUN ("buffer-substring-no-properties", Fbuffer_substring_no_properties, - Sbuffer_substring_no_properties, 2, 2, 0, - doc: /* Return the characters of part of the buffer, -without the text properties. -The two arguments START and END are character positions; -they can be in either order. */) - (start, end) - Lisp_Object start, end; +DEFUN ("delete-and-extract-region", Fdelete_and_extract_region, + Sdelete_and_extract_region, 2, 2, 0, + doc: /* Delete the text between START and END and return it. */) + (Lisp_Object start, Lisp_Object end) @{ - register int b, e; - validate_region (&start, &end); - b = XINT (start); - e = XINT (end); - - return make_buffer_string (b, e, 0); + if (XINT (start) == XINT (end)) + return empty_unibyte_string; + return del_range_1 (XINT (start), XINT (end), 1, 1); @} @end group @end smallexample @@ -9192,20 +9185,9 @@ and provides a prompt. @item The seventh part is a documentation string, just like the one for a -function written in Emacs Lisp, except that every newline must be -written explicitly as @samp{\n} followed by a backslash and carriage -return. - -@need 1000 -Thus, the first two lines of documentation for @code{goto-char} are -written like this: - -@smallexample -@group - "Set point to POSITION, a number or marker.\n\ -Beginning of buffer is position (point-min), end is (point-max)." -@end group -@end smallexample +function written in Emacs Lisp. This is written as a C comment. (When +you build Emacs, the program @command{lib-src/make-docfile} extracts +these comments and uses them to make the ``real'' documentation.) @end itemize @need 1200 @@ -9218,15 +9200,15 @@ consists of the following four lines: @group validate_region (&start, &end); if (XINT (start) == XINT (end)) - return build_string (""); + return empty_unibyte_string; return del_range_1 (XINT (start), XINT (end), 1, 1); @end group @end smallexample -The @code{validate_region} function checks whether the values +The @code{validate_region} function checks whether the values passed as the beginning and end of the region are the proper type and are within range. If the beginning and end positions are the same, -then return and empty string. +then return an empty string. The @code{del_range_1} function actually deletes the text. It is a complex function we will not look into. It updates the buffer and @@ -17010,7 +16992,7 @@ For example, the customizable user option variable "Normal hook run when entering Text mode and many related modes." :type 'hook :options '(turn-on-auto-fill flyspell-mode) - :group 'data) + :group 'wp) @end group @end smallexample @@ -17829,7 +17811,7 @@ emacs -q --no-site-file -eval '(blink-cursor-mode nil)' @exdent Or nowadays, using an even more sophisticated set of options, -emacs -Q - D +emacs -Q -D @end smallexample }: diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog index 2631bdf708a..3c976d37062 100644 --- a/doc/lispref/ChangeLog +++ b/doc/lispref/ChangeLog @@ -1,3 +1,78 @@ +2013-03-04 Paul Eggert <eggert@cs.ucla.edu> + + * elisp.texi, intro.texi: Switch from Latin-1 to UTF-8. + +2013-03-03 Glenn Morris <rgm@gnu.org> + + * objects.texi (Symbol Type): Fix typo. + +2013-02-28 Bastien Guerry <bzg@gnu.org> + + * variables.texi (File Local Variables): Fix reference. + +2013-02-24 Eli Zaretskii <eliz@gnu.org> + + * files.texi (Magic File Names): Improve wording and indexing. + +2013-02-21 Glenn Morris <rgm@gnu.org> + + * display.texi (Multi-Frame Images): Minor rephrasing. + +2013-02-20 Glenn Morris <rgm@gnu.org> + + * display.texi (GIF Images, TIFF Images): Delete these nodes. + (ImageMagick Images): For :index, use an xref rather than duplicating. + (Other Image Types): Add GIF, adjust formatting. + (Multi-Frame Images): Rename from Animated Images. Expand section. + * elisp.texi (Top): Update menu for these changes. + +2013-02-19 Glenn Morris <rgm@gnu.org> + + * text.texi (Change Hooks): Fix typo. + +2013-02-15 Glenn Morris <rgm@gnu.org> + + * modes.texi (Basic Major Modes): 'z' no longer bound in special-mode. + +2013-02-13 Glenn Morris <rgm@gnu.org> + + * objects.texi (Char-Table Type): Add footnote about #^^. + + * modes.texi (Minor Mode Conventions): Fix typo. + + * keymaps.texi (Scanning Keymaps): Remove obsolete sentence about + meta characters; this changed in 22.1. (Bug#13684) + + * objects.texi (Char-Table Type): Add cindex. + + * keymaps.texi (Key Binding Commands): Trivial rephrasing. + +2013-02-10 Glenn Morris <rgm@gnu.org> + + * keymaps.texi (Creating Keymaps): Update make-keymap result. + +2013-02-09 Eli Zaretskii <eliz@gnu.org> + + * modes.texi (%-Constructs): Remove the description of %t. + + * nonascii.texi (MS-DOS File Types): Delete node. + +2013-02-08 Glenn Morris <rgm@gnu.org> + + * keymaps.texi (Active Keymaps, Searching Keymaps): + Remove confusing mention of "symbolic prefix". (Bug#13643) + +2013-01-19 Glenn Morris <rgm@gnu.org> + + * macros.texi (Indenting Macros): Fix order of an indent + symbol's arguments. (Bug#13450) + +2013-01-19 Paul Eggert <eggert@cs.ucla.edu> + + Allow floating-point file offsets. + * files.texi (Reading from Files, Writing to Files): + Say that file offsets can be numbers, not just integers. + 2013-01-09 Glenn Morris <rgm@gnu.org> * commands.texi (Interactive Codes): diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi index cc6e980dadc..eae6af9969d 100644 --- a/doc/lispref/display.texi +++ b/doc/lispref/display.texi @@ -4199,14 +4199,12 @@ displayed (@pxref{Display Feature Testing}). * Image Descriptors:: How to specify an image for use in @code{:display}. * XBM Images:: Special features for XBM format. * XPM Images:: Special features for XPM format. -* GIF Images:: Special features for GIF format. -* TIFF Images:: Special features for TIFF format. * PostScript Images:: Special features for PostScript format. * ImageMagick Images:: Special features available through ImageMagick. * Other Image Types:: Various other formats are supported. * Defining Images:: Convenient ways to define an image for later use. * Showing Images:: Convenient ways to display an image once it is defined. -* Animated Images:: Some image formats can be animated. +* Multi-Frame Images:: Some images contain more than one frame. * Image Cache:: Internal mechanisms of image display. @end menu @@ -4541,35 +4539,6 @@ the name of a color as it appears in the image file, and @var{color} specifies the actual color to use for displaying that name. @end table -@node GIF Images -@subsection GIF Images -@cindex GIF - - For GIF images, specify image type @code{gif}. - -@table @code -@item :index @var{index} -You can use @code{:index} to specify image number @var{index} from a -GIF file that contains more than one image. If the GIF file doesn't -contain an image with the specified index, the image displays as a -hollow box. GIF files with more than one image can be animated, -@pxref{Animated Images}. -@end table - -@node TIFF Images -@subsection TIFF Images -@cindex TIFF - - For TIFF images, specify image type @code{tiff}. - -@table @code -@item :index @var{index} -You can use @code{:index} to specify image number @var{index} from a -TIFF file that contains more than one image. If the TIFF file doesn't -contain an image with the specified index, the image displays as a -hollow box. -@end table - @node PostScript Images @subsection PostScript Images @cindex postscript images @@ -4653,10 +4622,7 @@ Specifies a rotation angle in degrees. @item :index @c Doesn't work: http://debbugs.gnu.org/7978 -This has the same meaning as it does for GIF images (@pxref{GIF Images}), -i.e., it specifies which image to view inside an image bundle file format -such as DJVM@. You can use the @code{image-metadata} function to -retrieve the total number of images in an image bundle. +@xref{Multi-Frame Images}. @end table @node Other Image Types @@ -4681,13 +4647,27 @@ used for each pixel in the PBM that is 0. The default is the frame's background color. @end table - For JPEG images, specify image type @code{jpeg}. +@noindent +The remaining image types that Emacs can support are: - For TIFF images, specify image type @code{tiff}. +@table @asis +@item GIF +Image type @code{gif}. +Supports the @code{:index} property. @xref{Multi-Frame Images}. + +@item JPEG +Image type @code{jpeg}. - For PNG images, specify image type @code{png}. +@item PNG +Image type @code{png}. - For SVG images, specify image type @code{svg}. +@item SVG +Image type @code{svg}. + +@item TIFF +Image type @code{tiff}. +Supports the @code{:index} property. @xref{Multi-Frame Images}. +@end table @node Defining Images @subsection Defining Images @@ -4923,20 +4903,45 @@ cache, it can always be displayed, even if the value of @var{max-image-size} is subsequently changed (@pxref{Image Cache}). @end defvar -@node Animated Images -@subsection Animated Images +@node Multi-Frame Images +@subsection Multi-Frame Images @cindex animation @cindex image animation -Some image files can contain more than one image. This can be used to -create animation. Currently, Emacs only supports animated GIF files. -The following functions related to animated images are available. +@cindex image frames +Some image files can contain more than one image. We say that there +are multiple ``frames'' in the image. At present, Emacs supports +multiple frames for GIF, TIFF, and certain ImageMagick formats such as +DJVM@. + +The frames can be used either to represent multiple ``pages'' (this is +usually the case with multi-frame TIFF files, for example), or to +create animation (usually the case with multi-frame GIF files). + +A multi-frame image has a property @code{:index}, whose value is an +integer (counting from 0) that specifies which frame is being displayed. + +@defun image-multi-frame-p image +This function returns non-@code{nil} if @var{image} contains more than +one frame. The actual return value is a cons @code{(@var{nimages} +. @var{delay})}, where @var{nimages} is the number of frames and +@var{delay} is the delay in seconds between them, or @code{nil} +if the image does not specify a delay. Images that are intended to be +animated usually specify a frame delay, whereas ones that are intended +to be treated as multiple pages do not. +@end defun + +@defun image-current-frame image +This function returns the index of the current frame number for +@var{image}, counting from 0. +@end defun -@defun image-animated-p image -This function returns non-@code{nil} if @var{image} can be animated. -The actual return value is a cons @code{(@var{nimages} . @var{delay})}, -where @var{nimages} is the number of frames and @var{delay} is the -delay in seconds between them. +@defun image-show-frame image n &optional nocheck +This function switches @var{image} to frame number @var{n}. It +replaces a frame number outside the valid range with that of the end +of the range, unless @var{nocheck} is non-@code{nil}. If @var{image} +does not contain a frame with the specified number, the image displays +as a hollow box. @end defun @defun image-animate image &optional index limit @@ -4948,7 +4953,9 @@ forever; if a number animation stops after that many seconds. @end defun @noindent Animation operates by means of a timer. Note that Emacs imposes a -minimum frame delay of 0.01 seconds. +minimum frame delay of 0.01 (@code{image-minimum-frame-delay}) seconds. +If the image itself does not specify a delay, Emacs uses +@code{image-default-frame-delay}. @defun image-animate-timer image This function returns the timer responsible for animating @var{image}, diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi index 7ce0c01f3e5..66fda259d7d 100644 --- a/doc/lispref/elisp.texi +++ b/doc/lispref/elisp.texi @@ -115,7 +115,7 @@ developing GNU and promoting software freedom.'' @end quotation @end copying -@documentencoding ISO-8859-1 +@documentencoding UTF-8 @dircategory GNU Emacs Lisp @direntry @@ -1210,8 +1210,6 @@ Coding Systems for a single file operation. * Explicit Encoding:: Encoding or decoding text without doing I/O. * Terminal I/O Encoding:: Use of encoding for terminal I/O. -* MS-DOS File Types:: How DOS "text" and "binary" files - relate to coding systems. Searching and Matching @@ -1426,15 +1424,13 @@ Images * Image Descriptors:: How to specify an image for use in @code{:display}. * XBM Images:: Special features for XBM format. * XPM Images:: Special features for XPM format. -* GIF Images:: Special features for GIF format. -* TIFF Images:: Special features for TIFF format. * PostScript Images:: Special features for PostScript format. * ImageMagick Images:: Special features available through ImageMagick. * Other Image Types:: Various other formats are supported. * Defining Images:: Convenient ways to define an image for later use. * Showing Images:: Convenient ways to display an image once it is defined. -* Animated Images:: Some image formats can be animated. +* Multi-Frame Images:: Some images contain more than one frame. * Image Cache:: Internal mechanisms of image display. Buttons diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi index 114eb1f38ea..971e38f20b7 100644 --- a/doc/lispref/files.texi +++ b/doc/lispref/files.texi @@ -533,9 +533,9 @@ is visiting the file @var{filename}: these include the buffer's visited file name and its last save file modtime. This feature is used by @code{find-file-noselect} and you probably should not use it yourself. -If @var{beg} and @var{end} are non-@code{nil}, they should be integers -specifying the portion of the file to insert. In this case, @var{visit} -must be @code{nil}. For example, +If @var{beg} and @var{end} are non-@code{nil}, they should be numbers +that are byte offsets specifying the portion of the file to insert. +In this case, @var{visit} must be @code{nil}. For example, @example (insert-file-contents filename nil 0 500) @@ -605,8 +605,8 @@ that string, rather than text from the buffer. @var{end} is ignored in this case. If @var{append} is non-@code{nil}, then the specified text is appended -to the existing file contents (if any). If @var{append} is an -integer, @code{write-region} seeks to that byte offset from the start +to the existing file contents (if any). If @var{append} is a +number, @code{write-region} seeks to that byte offset from the start of the file and writes the data from there. If @var{mustbenew} is non-@code{nil}, then @code{write-region} asks @@ -2681,7 +2681,7 @@ no prefix argument is given, and @code{nil} otherwise. You can implement special handling for certain file names. This is called making those names @dfn{magic}. The principal use for this -feature is in implementing remote file names (@pxref{Remote Files,, +feature is in implementing access to remote files (@pxref{Remote Files,, Remote Files, emacs, The GNU Emacs Manual}). To define a kind of magic file name, you must supply a regular @@ -2689,6 +2689,7 @@ expression to define the class of names (all those that match the regular expression), plus a handler that implements all the primitive Emacs file operations for file names that match. +@cindex file handler @vindex file-name-handler-alist The variable @code{file-name-handler-alist} holds a list of handlers, together with regular expressions that determine when to apply each diff --git a/doc/lispref/intro.texi b/doc/lispref/intro.texi index 948f00d7e5f..803e5229f6e 100644 --- a/doc/lispref/intro.texi +++ b/doc/lispref/intro.texi @@ -1,4 +1,4 @@ -@c -*-coding: iso-latin-1-*- +@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 See the file elisp.texi for copying conditions. @@ -547,7 +547,7 @@ 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, Friedrich Pukelsheim, Arnold D. Robbins, Raul Rockwell, Jason Rumney, -Per Starbäck, Shinichirou Sugou, Kimmo Suominen, Edward Tharp, Bill +Per Starbäck, Shinichirou Sugou, Kimmo Suominen, Edward Tharp, Bill Trost, Rickard Westman, Jean White, Eduard Wiebe, Matthew Wilding, Carl Witty, Dale Worley, Rusty Wright, and David D. Zuhn. diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi index cb6c785905c..822e952ef98 100644 --- a/doc/lispref/keymaps.texi +++ b/doc/lispref/keymaps.texi @@ -327,10 +327,12 @@ these characters to @code{nil}, and does not bind any other kind of event. The argument @var{prompt} specifies a prompt string, as in @code{make-sparse-keymap}. +@c This example seems kind of pointless, but I guess it serves +@c to contrast the result with make-sparse-keymap above. @example @group (make-keymap) - @result{} (keymap #^[t nil nil nil @dots{} nil nil keymap]) + @result{} (keymap #^[nil nil keymap nil nil nil @dots{}]) @end group @end example @@ -634,8 +636,8 @@ 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 (optionally preceded -by a symbolic prefix), the active keymaps are determined based on the + 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 @@ -766,8 +768,7 @@ them: @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, or a -symbolic prefix event followed by a mouse event, that event's position +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 @@ -1783,7 +1784,7 @@ that uses @var{key} as a prefix---which would not be allowed if @end group @end smallexample -This function is implemented simply using @code{define-key}: +This function is equivalent to using @code{define-key} as follows: @smallexample @group @@ -1974,9 +1975,6 @@ modes---minor modes first, then the major mode, then global bindings. If @var{prefix} is non-@code{nil}, it should be a prefix key; then the listing includes only keys that start with @var{prefix}. -The listing describes meta characters as @key{ESC} followed by the -corresponding non-meta character. - When several characters with consecutive @acronym{ASCII} codes have the same definition, they are shown together, as @samp{@var{firstchar}..@var{lastchar}}. In this instance, you need to diff --git a/doc/lispref/macros.texi b/doc/lispref/macros.texi index 9ad00ca0260..5520bbbd1df 100644 --- a/doc/lispref/macros.texi +++ b/doc/lispref/macros.texi @@ -606,12 +606,12 @@ calculate the indentation of a line within this expression. The function receives two arguments: @table @asis +@item @var{pos} +The position at which the line being indented begins. @item @var{state} The value returned by @code{parse-partial-sexp} (a Lisp primitive for indentation and nesting computation) when it parses up to the beginning of this line. -@item @var{pos} -The position at which the line being indented begins. @end table @noindent diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi index 29aba877ba2..7d42d2591d6 100644 --- a/doc/lispref/modes.texi +++ b/doc/lispref/modes.texi @@ -905,9 +905,8 @@ modes derived from Special mode are given a @code{mode-class} property of @code{special} (@pxref{Major Mode Conventions}). Special mode sets the buffer to read-only. Its keymap defines several -common bindings, including @kbd{q} for @code{quit-window}, @kbd{z} for -@code{kill-this-buffer}, and @kbd{g} for @code{revert-buffer} -(@pxref{Reverting}). +common bindings, including @kbd{q} for @code{quit-window} and @kbd{g} +for @code{revert-buffer} (@pxref{Reverting}). An example of a major mode derived from Special mode is Buffer Menu mode, which is used by the @file{*Buffer List*} buffer. @xref{List @@ -1361,7 +1360,7 @@ follow them is to use the macro @code{define-minor-mode}. @cindex mode variable Define a variable whose name ends in @samp{-mode}. We call this the @dfn{mode variable}. The minor mode command should set this variable. -The value will be @code{nil} is the mode is disabled, and non-@code{nil} +The value will be @code{nil} if the mode is disabled, and non-@code{nil} if the mode is enabled. The variable should be buffer-local if the minor mode is buffer-local. @@ -2150,11 +2149,6 @@ visible on screen; or @samp{Bottom} or @samp{All}. The status of the subprocess belonging to the current buffer, obtained with @code{process-status}. @xref{Process Information}. -@item %t -Whether the visited file is a text file or a binary file. This is a -meaningful distinction only on certain operating systems (@pxref{MS-DOS -File Types}). - @item %z The mnemonics of keyboard, terminal, and buffer coding systems. diff --git a/doc/lispref/nonascii.texi b/doc/lispref/nonascii.texi index 9ad68be60cb..e462c3b4ce4 100644 --- a/doc/lispref/nonascii.texi +++ b/doc/lispref/nonascii.texi @@ -855,8 +855,6 @@ documented here. for a single file operation. * Explicit Encoding:: Encoding or decoding text without doing I/O. * Terminal I/O Encoding:: Use of encoding for terminal I/O. -* MS-DOS File Types:: How DOS "text" and "binary" files - relate to coding systems. @end menu @node Coding System Basics @@ -1775,62 +1773,6 @@ for encoding terminal output from @var{terminal}. If @code{nil}, that means the currently selected frame's terminal. @end deffn -@node MS-DOS File Types -@subsection MS-DOS File Types -@cindex DOS file types -@cindex MS-DOS file types -@cindex Windows file types -@cindex file types on MS-DOS and Windows -@cindex text files and binary files -@cindex binary files and text files - - On MS-DOS and Microsoft Windows, Emacs guesses the appropriate -end-of-line conversion for a file by looking at the file's name. This -feature classifies files as @dfn{text files} and @dfn{binary files}. By -``binary file'' we mean a file of literal byte values that are not -necessarily meant to be characters; Emacs does no end-of-line conversion -and no character code conversion for them. On the other hand, the bytes -in a text file are intended to represent characters; when you create a -new file whose name implies that it is a text file, Emacs uses DOS -end-of-line conversion. - -@defvar buffer-file-type -This variable, automatically buffer-local in each buffer, records the -file type of the buffer's visited file. When a buffer does not specify -a coding system with @code{buffer-file-coding-system}, this variable is -used to determine which coding system to use when writing the contents -of the buffer. It should be @code{nil} for text, @code{t} for binary. -If it is @code{t}, the coding system is @code{no-conversion}. -Otherwise, @code{undecided-dos} is used. - -Normally this variable is set by visiting a file; it is set to -@code{nil} if the file was visited without any actual conversion. - -Its default value is used to decide how to handle files for which -@code{file-name-buffer-file-type-alist} says nothing about the type: -If the default value is non-@code{nil}, then these files are treated as -binary: the coding system @code{no-conversion} is used. Otherwise, -nothing special is done for them---the coding system is deduced solely -from the file contents, in the usual Emacs fashion. -@end defvar - -@defopt file-name-buffer-file-type-alist -This variable holds an alist for recognizing text and binary files. -Each element has the form (@var{regexp} . @var{type}), where -@var{regexp} is matched against the file name, and @var{type} may be -@code{nil} for text, @code{t} for binary, or a function to call to -compute which. If it is a function, then it is called with a single -argument (the file name) and should return @code{t} or @code{nil}. - -When running on MS-DOS or MS-Windows, Emacs checks this alist to decide -which coding system to use when reading a file. For a text file, -@code{undecided-dos} is used. For a binary file, @code{no-conversion} -is used. - -If no element in this alist matches a given file name, then -the default value of @code{buffer-file-type} says how to treat the file. -@end defopt - @node Input Methods @section Input Methods @cindex input methods diff --git a/doc/lispref/objects.texi b/doc/lispref/objects.texi index afd63d69808..61007cc5a12 100644 --- a/doc/lispref/objects.texi +++ b/doc/lispref/objects.texi @@ -565,8 +565,8 @@ Lisp, upper case and lower case letters are distinct. @end quotation Here are several examples of symbol names. Note that the @samp{+} in -the fifth example is escaped to prevent it from being read as a number. -This is not necessary in the fourth example because the rest of the name +the fourth example is escaped to prevent it from being read as a number. +This is not necessary in the sixth example because the rest of the name makes it invalid as a number. @example @@ -1177,8 +1177,10 @@ inherit from, a default value, and a small number of extra slots to use for special purposes. A char-table can also specify a single value for a whole character set. +@cindex @samp{#^} read syntax The printed representation of a char-table is like a vector -except that there is an extra @samp{#^} at the beginning. +except that there is an extra @samp{#^} at the beginning.@footnote{You +may also encounter @samp{#^^}, used for ``sub-char-tables''.} @xref{Char-Tables}, for special functions to operate on char-tables. Uses of char-tables include: diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi index d163f921f9a..e869bb86e40 100644 --- a/doc/lispref/processes.texi +++ b/doc/lispref/processes.texi @@ -88,7 +88,7 @@ initializes @code{exec-path} when it starts up, based on the value of the environment variable @env{PATH}. The standard file name constructs, @samp{~}, @samp{.}, and @samp{..}, are interpreted as usual in @code{exec-path}, but environment variable substitutions -(@samp{$HOME}, etc.) are not recognized; use +(@samp{$HOME}, etc.)@: are not recognized; use @code{substitute-in-file-name} to perform them (@pxref{File Name Expansion}). @code{nil} in this list refers to @code{default-directory}. @@ -557,7 +557,7 @@ from the process only while waiting for input or for a time delay. when creating the process, based on the value of the variable @code{process-connection-type} (see below). Ptys are usually preferable for processes visible to the user, as in Shell mode, -because they allow for job control (@kbd{C-c}, @kbd{C-z}, etc.) +because they allow for job control (@kbd{C-c}, @kbd{C-z}, etc.)@: between the process and its children, whereas pipes do not. For subprocesses used for internal purposes by programs, it is often better to use a pipe, because they are more efficient, and because @@ -571,7 +571,7 @@ program @var{program} running in it. It returns a process object that stands for the new subprocess in Lisp. The argument @var{name} specifies the name for the process object; if a process with this name already exists, then @var{name} is modified (by appending @samp{<1>}, -etc.) to be unique. The buffer @var{buffer-or-name} is the buffer to +etc.)@: to be unique. The buffer @var{buffer-or-name} is the buffer to associate with the process. If @var{program} is @code{nil}, Emacs opens a new pseudoterminal (pty) diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi index 00ec62ec49d..c6cbfa5b3f8 100644 --- a/doc/lispref/text.texi +++ b/doc/lispref/text.texi @@ -4344,7 +4344,7 @@ This variable holds a list of functions to call after any buffer modification. Each function receives three arguments: the beginning and end of the region just changed, and the length of the text that existed before the change. All three arguments are integers. The -buffer has been changed is always the current buffer. +buffer that has been changed is always the current buffer. The length of the old text is the difference between the buffer positions before and after that text as it was before the change. As diff --git a/doc/lispref/variables.texi b/doc/lispref/variables.texi index 3f4edebfb8b..4bcf7985f0c 100644 --- a/doc/lispref/variables.texi +++ b/doc/lispref/variables.texi @@ -1556,7 +1556,7 @@ an ordinary evaluated argument. A file can specify local variable values; Emacs uses these to create buffer-local bindings for those variables in the buffer visiting that -file. @xref{File variables, , Local Variables in Files, emacs, The +file. @xref{File Variables, , Local Variables in Files, emacs, The GNU Emacs Manual}, for basic information about file-local variables. This section describes the functions and variables that affect how file-local variables are processed. diff --git a/doc/man/etags.1 b/doc/man/etags.1 index 94fe2af1a8a..5ccf528868b 100644 --- a/doc/man/etags.1 +++ b/doc/man/etags.1 @@ -147,7 +147,7 @@ of \- means standard output; overrides default \fBTAGS\fP or \fBtags\fP. Make tags based on regexp matching for the files following this option, in addition to the tags made with the standard parsing based on language. May be freely intermixed with filenames and the \fB\-R\fP -option. The regexps are cumulative, i.e. each such option will add to +option. The regexps are cumulative, i.e., each such option will add to the previous ones. The regexps are of one of the forms: .br [\fB{\fP\fIlanguage\fP\fB}\fP]\fB/\fP\fItagregexp/\fP[\fInameregexp\fP\fB/\fP]\fImodifiers\fP @@ -283,4 +283,3 @@ Permission is granted to copy and distribute translations of this document into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Free Software Foundation. - diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog index 95c7ac7b233..44a0b7b3211 100644 --- a/doc/misc/ChangeLog +++ b/doc/misc/ChangeLog @@ -1,3 +1,147 @@ +2013-03-08 Glenn Morris <rgm@gnu.org> + + * faq.texi (Top): Don't say this was updated @today. + That's irrelevant and leads to spurious diffs. + +2013-03-08 Jay Belanger <jay.p.belanger@gmail.com> + + * calc.texi (Basic Operations on Units): Fix + cross-reference. + +2013-03-07 Katsumi Yamaoka <yamaoka@jpl.org> + + * gnus-faq.texi (FAQ 3-11): Now Gnus supports POP3 UIDL. + +2013-03-06 Alan Mackenzie <acm@muc.de> + + * cc-mode.texi (Custom Line-Up): Clarify position of point on + calling a line-up function. + +2013-03-04 Paul Eggert <eggert@cs.ucla.edu> + + * emacs-mime.texi, htmlfontify.texi, mairix-el.texi, mh-e.texi: + * ses.texi: Switch from Latin-1 to UTF-8. + +2013-03-03 Michael Albinus <michael.albinus@gmx.de> + + * tramp.texi (External methods): Tramp does not connect Android + devices by itself. + +2013-03-02 Bill Wohler <wohler@newt.com> + + Release MH-E manual version 8.5. + + * mh-e.texi (VERSION, EDITION, UPDATED, UPDATE-MONTH): Update for + release 8.5. + + * mh-e.texi (Preface, Conventions, Getting Started) + (Using This Manual, Folder Selection, Viewing, Aliases) + (Identities, Speedbar, Menu Bar, Tool Bar, Scan Line Formats) + (Bug Reports, Mailing Lists, MH FAQ and Support, Getting MH-E): + Update URLs. + +2013-03-01 Michael Albinus <michael.albinus@gmx.de> + + * tramp.texi (Inline methods): Remove "ssh1", "ssh2", "plink1" + and "plink2" entries. "plink2" is obsolete for a long time. + (External methods): Remove "scp1" and "scp2" entries. Explain + user name and host name specification for "adb". + +2013-02-28 Michael Albinus <michael.albinus@gmx.de> + + * tramp.texi (External methods): Mention `tramp-adb-program'. + +2013-02-28 Bastien Guerry <bzg@gnu.org> + + * org.texi (Visibility cycling): Suggest to set + `org-agenda-inhibit-startup' to nil if user wants the startup + visibility settings to be honored in any circumstances. + (Progress logging, Checkboxes): Fix typos. + +2013-02-28 Michael Albinus <michael.albinus@gmx.de> + + * tramp.texi (top) [xxx, yyy, trampfn]: Provide two versions of + the macros, for Texinfo 4.13 and 5.0. + +2013-02-24 Michael Albinus <michael.albinus@gmx.de> + + Port Tramp documentation to Texinfo 5.0. + * tramp.texi (top) [xxx, yyy, trampfn]: Remove superfluous @c. + (Filename Syntax): Do not use @trampfn{} in @item. + (Filename completion): Use @columnfractions in @multitable. + +2013-02-22 Glenn Morris <rgm@gnu.org> + + * flymake.texi (Syntax check statuses): Fix multitable continued rows. + +2013-02-21 Paul Eggert <eggert@cs.ucla.edu> + + * Makefile.in (html): New rule. + +2013-02-20 Michael Albinus <michael.albinus@gmx.de> + + * tramp.texi (Android shell setup): Improve. Reported by Thierry + Volpiatto <thierry.volpiatto@gmail.com>. + +2013-02-16 Michael Albinus <michael.albinus@gmx.de> + + * tramp.texi (Top, Configuration): Insert section `Android shell + setup' in menu. + (Android shell setup): New section. + (Connection types, Default Method) + (Frequently Asked Questions): Mention "scp" instead of "scpc". + (External methods): Remove "scpc" and "rsyncc" entries. + (Frequently Asked Questions): Remove entry about ControlPersist. + +2013-02-13 Glenn Morris <rgm@gnu.org> + + * message.texi (News Headers): Don't mention yow any more. + +2013-02-09 Jay Belanger <jay.p.belanger@gmail.com> + + * calc.texi (Basic Operations on Units): + (Customizing Calc): Mention the variable `calc-allow-units-as-numbers'. + +2013-02-08 Aidan Gauland <aidalgol@no8wireless.co.nz> + + * eshell.texi: Fill most of the missing sections. + +2013-02-07 Bastien Guerry <bzg@gnu.org> + + * org.texi (References): Clarify an example. + (Installation): Fix instructions. + (Org-Plot): Fix link. + (Checkboxes, Radio lists): Fix typos. + +2013-02-07 Glenn Morris <rgm@gnu.org> + + * cl.texi (Equality Predicates): Mention memql. + +2013-02-07 Eric Ludlam <zappo@gnu.org> + + * doc/misc/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. + (Simple projects): Re-write to not talk about ede-simple-project + which is deprecated, and instead use the term to mean projects + that don't do much management, just project wrapping. Add + ede-generic-project link. + (ede-generic-project): New node (bug#11441). + +2013-02-07 Glenn Morris <rgm@gnu.org> + + * cl.texi (Equality Predicates): Fix eq/eql pedantry. + +2013-02-01 Glenn Morris <rgm@gnu.org> + + * calc.texi (Help Commands): Update calc-view-news description. + Mention etc/CALC-NEWS. + +2013-01-24 Michael Albinus <michael.albinus@gmx.de> + + * tramp.texi (Filename Syntax): Filenames must be unibyte strings. + 2013-01-13 Bastien Guerry <bzg@gnu.org> * org.texi (Installation): Simplify. diff --git a/doc/misc/Makefile.in b/doc/misc/Makefile.in index 3dac35aafee..add1b42a545 100644 --- a/doc/misc/Makefile.in +++ b/doc/misc/Makefile.in @@ -192,6 +192,8 @@ webhack: clean dvi: $(DVI_TARGETS) +html: $(HTML_TARGETS) + pdf: $(PDF_TARGETS) # Note that all the Info targets build the Info files in srcdir. diff --git a/doc/misc/ada-mode.texi b/doc/misc/ada-mode.texi index 926d6a5749c..b5a640e13e0 100644 --- a/doc/misc/ada-mode.texi +++ b/doc/misc/ada-mode.texi @@ -72,7 +72,7 @@ existing code and facilitates writing new code. When the Gnu Ada compiler GNAT is used, the cross-reference information output by the compiler is used to provide powerful code -navigation (jump to definition, find all uses, etc). +navigation (jump to definition, find all uses, etc.). When you open a file with a file extension of @file{.ads} or @file{.adb}, Emacs will automatically load and activate Ada mode. @@ -1267,7 +1267,7 @@ Non-@code{nil} means that the current line will also be re-indented before inserting a newline, when you press @key{RET}. @end table -Most of the time, the indentation will be automatic, i.e when you +Most of the time, the indentation will be automatic, i.e., when you press @key{RET}, the cursor will move to the correct column on the next line. diff --git a/doc/misc/bovine.texi b/doc/misc/bovine.texi index 48d5cf9e18a..978345e5cc8 100644 --- a/doc/misc/bovine.texi +++ b/doc/misc/bovine.texi @@ -314,7 +314,7 @@ The first object spliced into the list (assuming it is a list from a non-terminal). @item '$1 -The first object matched, placed in a list. i.e. @code{( $1 )}. +The first object matched, placed in a list. I.e., @code{( $1 )}. @item foo The symbol @code{foo} (exactly as displayed). diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi index 5dabf5cd314..0bf7833ec34 100644 --- a/doc/misc/calc.texi +++ b/doc/misc/calc.texi @@ -9909,9 +9909,9 @@ listed. @kindex h n The @kbd{h n} or @kbd{h C-n} (@code{calc-view-news}) command displays -the ``news'' or change history of Calc. This is kept in the file -@file{README}, which Calc looks for in the same directory as the Calc -source files. +the ``news'' or change history of Emacs, and jumps to the most recent +portion concerning Calc (if present). For older history, see the file +@file{etc/CALC-NEWS} in the Emacs distribution. @kindex h C-c @kindex h C-d @@ -14122,7 +14122,7 @@ conventions. Like C mode, Pascal mode interprets array brackets and uses a different table of operators. Hexadecimal numbers are entered and displayed with a preceding dollar sign. (Thus the regular meaning of @kbd{$2} during algebraic entry does not work in Pascal mode, though -@kbd{$} (and @kbd{$$}, etc.) not followed by digits works the same as +@kbd{$} (and @kbd{$$}, etc.)@: not followed by digits works the same as always.) No special provisions are made for other non-decimal numbers, vectors, and so on, since there is no universally accepted standard way of handling these in Pascal. @@ -27866,11 +27866,6 @@ acres per meter-second.) Remainder units are expressed in terms of ``fundamental'' units like @samp{m} and @samp{s}, regardless of the input units. -If you want to disallow using inconsistent units, you can set the customizable variable -@code{calc-ensure-consistent-units} to @code{t} (@pxref{Customizing Calc}). In this case, -if you request units which are inconsistent with the original units, you will be warned about -it and no conversion will occur. - One special exception is that if you specify a single unit name, and a compatible unit appears somewhere in the units expression, then that compatible unit will be converted to the new unit and the @@ -27880,6 +27875,12 @@ change the @samp{s} to @samp{ms} to get @samp{9.8e-4 cm/ms^2}. The ``remainder unit'' @samp{cm} is left alone rather than being changed to the base unit @samp{m}. +If you want to disallow using inconsistent units, you can set the +customizable variable @code{calc-ensure-consistent-units} to @code{t} +(@pxref{Customizing Calc}). In this case, if you request units which +are inconsistent with the original units, you will be warned about it +and no conversion will occur. + You can use explicit unit conversion instead of the @kbd{u s} command to gain more control over the units of the result of an expression. For example, given @samp{5 m + 23 mm}, you can type @kbd{u c m} or @@ -27912,10 +27913,16 @@ Composite units are expanded as if by @kbd{a x}, so that If the value on the stack does not contain any units, @kbd{u c} will prompt first for the old units which this value should be considered -to have, then for the new units. Assuming the old and new units you -give are consistent with each other, the result also will not contain -any units. For example, @kbd{@w{u c} cm @key{RET} in @key{RET}} -converts the number 2 on the stack to 5.08. +to have, then for the new units. (If the value on the stack can be +simplified so that it doesn't contain any units, like @samp{ft/in} can +be simplified to 12, then @kbd{u c} will still prompt for both old +units and new units. You can ignore the prompt for old units with +@key{RET}, or turn off the prompt by setting the customizable variable +@code{calc-allow-units-as-numbers} to @code{nil}; +@pxref{Customizing Calc}.) Assuming the old and new units you give are +consistent with each other, the result also will not contain any +units. For example, @kbd{@w{u c} cm @key{RET} in @key{RET}} converts +the number 2 on the stack to 5.08. @kindex u b @pindex calc-base-units @@ -35694,6 +35701,17 @@ have different dimensions. The default value of @code{calc-ensure-consistent-uni is @code{nil}. @end defvar +@defvar calc-allow-units-as-numbers +When converting units, the variable @code{calc-allow-units-as-numbers} +determines whether or not values which can be simplified so that +they don't contain units (such as @samp{ft/in} can be simplified to 12) +can be regarded as not containing units. If +@code{calc-allow-units-as-numbers} is non-@code{nil}, then @kbd{u c} +will prompt for both old units and new units when converting an expression +like @samp{ft/in}, otherwise @kbd{u c} will only prompt for the new units. +The default value of @code{calc-allow-units-as-numbers} is @code{t}. +@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. diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi index 55b7028101a..4fa4e12cf88 100644 --- a/doc/misc/cc-mode.texi +++ b/doc/misc/cc-mode.texi @@ -4959,7 +4959,7 @@ the declaration is an annotation. There are a few occasions where a statement block might be used inside an expression. One is in C or C++ code using the gcc extension for -this, e.g: +this, e.g.: @example 1: int res = (@{ @@ -5552,7 +5552,7 @@ parentheses and statements within brace blocks. @findex lineup-close-paren (c-) Line up the closing paren under its corresponding open paren if the open paren is followed by code. If the open paren ends its line, no -indentation is added. E.g: +indentation is added. E.g.: @example @group @@ -5606,7 +5606,7 @@ discussion of this ``DWIM'' measure. @defun c-indent-one-line-block @findex indent-one-line-block (c-) -Indent a one line block @code{c-basic-offset} extra. E.g: +Indent a one line block @code{c-basic-offset} extra. E.g.: @example @group @@ -5640,7 +5640,7 @@ which makes the function usable in list expressions. @defun c-indent-multi-line-block @findex indent-multi-line-block (c-) -Indent a multiline block @code{c-basic-offset} extra. E.g: +Indent a multiline block @code{c-basic-offset} extra. E.g.: @example @group @@ -5679,7 +5679,7 @@ block, which makes the function usable in list expressions. Line up statements for coding standards which place the first statement in a block on the same line as the block opening brace@footnote{Run-in style doesn't really work too well. You might need to write your own -custom line-up functions to better support this style.}. E.g: +custom line-up functions to better support this style.}. E.g.: @example @group @@ -5762,7 +5762,7 @@ indents relative to the surrounding block just like @defun c-lineup-whitesmith-in-block @findex lineup-whitesmith-in-block (c-) Line up lines inside a block in Whitesmith style. It's done in a way -that works both when the opening brace hangs and when it doesn't. E.g: +that works both when the opening brace hangs and when it doesn't. E.g.: @example @group @@ -5816,7 +5816,7 @@ Line up the current argument line under the first argument. As a special case, if an argument on the same line as the open parenthesis starts with a brace block opener, the indentation is @code{c-basic-offset} only. This is intended as a ``DWIM'' measure in -cases like macros that contain statement blocks, e.g: +cases like macros that contain statement blocks, e.g.: @example @group @@ -5852,7 +5852,7 @@ brace block. @defun c-lineup-multi-inher @findex lineup-multi-inher (c-) Line up the classes in C++ multiple inheritance clauses and member -initializers under each other. E.g: +initializers under each other. E.g.: @example @group @@ -5895,7 +5895,7 @@ Line up Java implements and extends declarations. If class names follow on the same line as the @samp{implements}/@samp{extends} keyword, they are lined up under each other. Otherwise, they are indented by adding @code{c-basic-offset} to the column of the keyword. -E.g: +E.g.: @example @group @@ -5929,7 +5929,7 @@ same line as the throws keyword, they are lined up under each other. Otherwise, they are indented by adding @code{c-basic-offset} to the column of the @samp{throws} keyword. The @samp{throws} keyword itself is also indented by @code{c-basic-offset} from the function declaration -start if it doesn't hang. E.g: +start if it doesn't hang. E.g.: @example @group @@ -6014,7 +6014,7 @@ line. @defun c-lineup-argcont @findex lineup-argcont (c-) -Line up a continued argument. E.g: +Line up a continued argument. E.g.: @example @group @@ -6101,7 +6101,7 @@ function is the same as specifying a list @code{(c-lineup-assignments Line up ``cascaded calls'' under each other. If the line begins with @code{->} or @code{.} and the preceding line ends with one or more function calls preceded by the same token, then the arrow is lined up -with the first of those tokens. E.g: +with the first of those tokens. E.g.: @example @group @@ -6133,7 +6133,7 @@ Line up C++ stream operators (i.e., @samp{<<} and @samp{>>}). @findex lineup-string-cont (c-) Line up a continued string under the one it continues. A continued string in this sense is where a string literal follows directly after -another one. E.g: +another one. E.g.: @example @group @@ -6242,7 +6242,7 @@ is equivalent to @code{(@r{@var{value}} . -1000)}. @findex lineup-knr-region-comment (c-) Line up a comment in the ``K&R region'' with the declaration. That is the region between the function or class header and the beginning of the -block. E.g: +block. E.g.: @example @group @@ -6282,7 +6282,7 @@ already has; think of it as an identity function for lineups. @defun c-lineup-cpp-define @findex lineup-cpp-define (c-) Line up macro continuation lines according to the indentation of the -construct preceding the macro. E.g: +construct preceding the macro. E.g.: @example @group @@ -6409,7 +6409,7 @@ that those lines could be analyzed as either topmost-intro-cont or statement-cont. It's used for @code{topmost-intro-cont} by default, but you might consider using @code{+} instead.}. For lines preceding a definition, zero is used. For other lines, @code{c-basic-offset} is -added to the indentation. E.g: +added to the indentation. E.g.: @example @group @@ -6475,13 +6475,14 @@ think is generally useful, you're very welcome to contribute it; please contact @email{bug-cc-mode@@gnu.org}. Line-up functions are passed a single argument, the syntactic -element (see below). The return value is a @code{c-offsets-alist} -offset specification: for example, an integer, a symbol such as -@code{+}, a vector, @code{nil}@footnote{Returning @code{nil} is useful -when the offset specification for a syntactic element is a list -containing the line-up function (@pxref{c-offsets-alist}).}, or even -another line-up function. Full details of these are in -@ref{c-offsets-alist}. +element (see below). At the time of the call, point will be somewhere +on the line being indented. The return value is a +@code{c-offsets-alist} offset specification: for example, an integer, +a symbol such as @code{+}, a vector, @code{nil}@footnote{Returning +@code{nil} is useful when the offset specification for a syntactic +element is a list containing the line-up function +(@pxref{c-offsets-alist}).}, or even another line-up function. Full +details of these are in @ref{c-offsets-alist}. Line-up functions must not move point or change the content of the buffer (except temporarily). They are however allowed to do @@ -6507,7 +6508,7 @@ earlier. Line-up functions are still passed this cons cell, so as to preserve compatibility with older configurations. In the future, we may decide to convert to using the full list format---you can prepare your setup for this by using the access functions -(@code{c-langelem-sym}, etc.) described below. +(@code{c-langelem-sym}, etc.)@: described below. @vindex c-syntactic-element @vindex syntactic-element (c-) diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi index c3657415078..83df411cb23 100644 --- a/doc/misc/cl.texi +++ b/doc/misc/cl.texi @@ -703,14 +703,6 @@ The type symbol @code{real} is a synonym for @code{number}, and The type symbols @code{character} and @code{string-char} match integers in the range from 0 to 255. -@c No longer relevant, so covered by first item above (float -> floatp). -@ignore -@item -The type symbol @code{float} uses the @code{cl-floatp-safe} predicate -defined by this package rather than @code{floatp}, so it will work -correctly even in Emacs versions without floating-point support. -@end ignore - @item The type list @code{(integer @var{low} @var{high})} represents all integers between @var{low} and @var{high}, inclusive. Either bound @@ -748,7 +740,7 @@ This function attempts to convert @var{object} to the specified @var{type}. If @var{object} is already of that type as determined by @code{cl-typep}, it is simply returned. Otherwise, certain types of conversions will be made: If @var{type} is any sequence type -(@code{string}, @code{list}, etc.) then @var{object} will be +(@code{string}, @code{list}, etc.)@: then @var{object} will be converted to that type if possible. If @var{type} is @code{character}, then strings of length one and symbols with one-character names can be coerced. If @var{type} is @code{float}, @@ -817,8 +809,9 @@ not compare strings against vectors of integers. Also note that the Common Lisp functions @code{member} and @code{assoc} use @code{eql} to compare elements, whereas Emacs Lisp follows the MacLisp tradition and uses @code{equal} for these two functions. -In Emacs, use @code{memq} (or @code{cl-member}) and @code{assq} (or -@code{cl-assoc}) to get functions which use @code{eql} for comparisons. +The functions @code{cl-member} and @code{cl-assoc} use @code{eql}, +as in Common Lisp. The standard Emacs Lisp functions @code{memq} and +@code{assq} use @code{eq}, and the standard @code{memql} uses @code{eql}. @node Control Structure @chapter Control Structure @@ -2920,14 +2913,6 @@ This predicate tests whether @var{integer} is even. It is an error if the argument is not an integer. @end defun -@ignore -@defun cl-floatp-safe object -This predicate tests whether @var{object} is a floating-point -number. On systems that support floating-point, this is equivalent -to @code{floatp}. On other systems, this always returns @code{nil}. -@end defun -@end ignore - @node Numerical Functions @section Numerical Functions diff --git a/doc/misc/dired-x.texi b/doc/misc/dired-x.texi index 2cf25641350..1e3d11f6dc6 100644 --- a/doc/misc/dired-x.texi +++ b/doc/misc/dired-x.texi @@ -882,7 +882,7 @@ Dired buffers, is like @code{shell-command}, but it runs with @file{dired-x} provides a method of visiting or editing a file mentioned in the buffer you are viewing (e.g., a mail buffer, a news article, a -@file{README} file, etc.) or to test if that file exists. You can then modify +@file{README} file, etc.)@: or to test if that file exists. You can then modify this in the minibuffer after snatching the file name. When installed @file{dired-x} will substitute @code{dired-x-find-file} for diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi index cadd815025c..f2e787fd588 100644 --- a/doc/misc/ede.texi +++ b/doc/misc/ede.texi @@ -450,9 +450,11 @@ ede-new}, or click on the @samp{Create Project} item in the The @command{ede-new} command prompts for the type of project you would like to create. Each project type has its own benefits or -language specific enhancements. @ede{} supports four different -project types: @samp{Make}, @samp{Automake}, @samp{direct Automake}, -and @samp{Simple}. +language specific enhancements. Not all projects that @ede{} supports +also allow creating a new project. Projects such as @code{emacs} +or @code{linux} are designed to recognize existing projects only. +Project types such as @samp{Make} and @samp{Automake} do support +creating new project types with @command{ede-new}. @itemize @item @@ -468,21 +470,6 @@ Unlike a @samp{Make} project, this project autogenerates a @file{Makefile.am} file. @ede{} handles the Automake bootstrapping routines, which import and maintain a @file{configure.am} script and other required files. - -@item -For the @samp{direct Automake} project type, @ede{} reads directly -from the Automake files. - -You cannot create direct Automake projects with the @command{ede-new} -command. Instead, when you visit a project with existing Automake -files, @ede{} automatically detects them. - -@item -The @samp{Simple} project type provides light-weight constructs for -identifying a project root and looking up files. If you already have -a non-@ede{} project infrastructure, you can use a @samp{Simple} -project to provide other Emacs packages, such as Semantic, with some -information about the project. @xref{Simple projects}. @end itemize A subproject is merely a project in a subdirectory of another project. @@ -795,24 +782,19 @@ able to find your SDK and compile your programs. @node Simple projects @section Simple Projects -There is a wide array of Simple projects. The root for simple -projects is the class @code{ede-simple-project}. This handles the -infrastructure of storing a .ede file if needed. - -The class @code{ede-simple-project} is designed to be subclassed. -Then key @ede{} methods can be overridden to provide a quick wrapper -over any project. +There is a wide array of simple projects. In this case a simple +project is one that detects, or is directed to identify a directory as +belonging to a project, but doesn't provide many features of a typical +@ede{} project. Having the project however allows tools such as +@semantic{} to find sources and perform project level completions. -A second project type is @code{ede-cpp-root}. This project type is -designed to be created for a directory hierarchy full of C/C++ code. -It can be configured with minimal lisp knowledge to do header file -lookup for @semantic{}, improving code completion performance. @menu * ede-cpp-root:: This project marks the root of a C/C++ code project. * ede-java-root:: This project marks the root of a Java project. * ede-emacs:: A project for working with Emacs. * ede-linux:: A project for working with Linux kernels. +* ede-generic-project:: A project type for wrapping build systems with EDE. * Custom Locate:: Customizing how to locate files in a simple project @end menu @@ -1045,7 +1027,7 @@ tree, and enables EDE project mode for it. It pre-populates the C Preprocessor symbol map for correct parsing, and has an optimized include file identification function. -@node ede-linux, Custom Locate, ede-emacs, Simple projects +@node ede-linux, ede-generic-project, ede-emacs, Simple projects @subsection ede-linux The @code{ede-linux} project will automatically identify a Linux @@ -1054,7 +1036,60 @@ Kernel source tree, and enable EDE project mode for it. It pre-populates the C Preprocessor symbol map for reasonable parsing, and has an optimized include file identification function. -@node Custom Locate, , ede-linux, Simple projects +@node ede-generic-project, Custom Locate, ede-linux, Simple projects +@subsection ede-generic-project + +The @code{ede-generic-project} is a project system that makes it easy +to wrap up different kinds of build systems as an EDE project. +Projects such as @ref{ede-emacs} require coding skills to create. +Generic projects also require writing Emacs Lisp code, but the +requirements are minimal. You can then use +@command{customize-project} to configure build commands, includes, and +other options for that project. The configuration is saved in +@file{EDEConfig.el}. + +Generic projects are disabled by default because they have the +potential to interfere with other projects. To use the generic +project system to start detecting projects, you need to enable it. + +@deffn Command ede-enable-generic-projects +Enable generic project loaders. + +This enables generic loaders for projects that are detected using +either a @file{Makefile}, @file{SConstruct}, or @file{CMakeLists}. + +You do not need to use this command if you create your own generic +project type. +@end deffn + +If you want to create your own generic project loader, you need to +define your own project and target classes, and create an autoloader. +The example for Makefiles looks like this: + +@example +;;; MAKEFILE + +(defclass ede-generic-makefile-project (ede-generic-project) + ((buildfile :initform "Makefile") + ) + "Generic Project for makefiles.") + +(defmethod ede-generic-setup-configuration ((proj ede-generic-makefile-project) config) + "Setup a configuration for Make." + (oset config build-command "make -k") + (oset config debug-command "gdb ") + ) + +(ede-generic-new-autoloader "generic-makefile" "Make" + "Makefile" 'ede-generic-makefile-project) +@end example + +This example project will detect any directory with the file +@file{Makefile} in it as belonging to this project type. +Customization of the project will allow you to make build and debug +commands more precise. + +@node Custom Locate, , ede-generic-project, Simple projects @subsection Custom Locate The various simple project styles all have one major drawback, which @@ -1062,8 +1097,6 @@ is that the files in the project are not completely known to EDE@. When the EDE API is used to try and file files by some reference name in the project, then that could fail. -@@TODO - Add ID Utils and CScope examples - @ede{} can therefore use some external locate commands, such as the unix ``locate'' command, or ``GNU Global''. @@ -1093,6 +1126,11 @@ You can add your own locate tool but subclassing from methods. See the code in @file{ede-locate.el} for GNU Global as a simple example. +@@TODO - Add ID Utils and CScope examples + +More on idutils and cscope is in the CEDET manual, and they each have +their own section. + @node Extending EDE, GNU Free Documentation License, Miscellaneous commands, Top @chapter Extending @ede{} @@ -1918,7 +1956,7 @@ Type: @code{list} @* Default Value: @code{(quote ("/include" "../include/"))} The default locate function expands filenames within a project. -If a header file (.h, .hh, etc) name is expanded, and +If a header file (.h, .hh, etc.)@: name is expanded, and the @code{:locate-fcn} slot is @code{nil}, then the include path is checked first, and other directories are ignored. For very large projects, this optimization can save a lot of time. diff --git a/doc/misc/ediff.texi b/doc/misc/ediff.texi index 1e4c888a9e7..378eee08c51 100644 --- a/doc/misc/ediff.texi +++ b/doc/misc/ediff.texi @@ -1148,7 +1148,7 @@ packages also use this method). Regular files are treated by the @code{patch} utility in the usual manner, i.e., the original is renamed into @file{source-name.orig} and the result of the patch is placed into the file source-name (@file{_orig} is used -on systems like DOS, etc.) +on systems like DOS, etc.). @node Customization @chapter Customization diff --git a/doc/misc/emacs-mime.texi b/doc/misc/emacs-mime.texi index 216e4733cd1..5f377e57725 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 Latin-1 characters -@documentencoding ISO-8859-1 +@c Node ``Interface Functions'' uses non-ASCII characters +@documentencoding UTF-8 @dircategory Emacs lisp libraries @direntry @@ -993,7 +993,7 @@ Customization}). The charset to be used can be overridden by setting the @code{charset} @acronym{MML} tag (@pxref{MML Definition}) when composing the message. -The encoding of characters (quoted-printable, 8bit etc) is orthogonal +The encoding of characters (quoted-printable, 8bit, etc.)@: is orthogonal to the discussion here, and is controlled by the variables @code{mm-body-charset-encoding-alist} and @code{mm-content-transfer-encoding-defaults} (@pxref{Encoding @@ -1890,5 +1890,5 @@ Documentation of the text/plain format parameter for flowed text. @c Local Variables: @c mode: texinfo -@c coding: iso-8859-1 +@c coding: utf-8 @c End: diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi index 504940c5c6b..ec01f731daf 100644 --- a/doc/misc/eshell.texi +++ b/doc/misc/eshell.texi @@ -2,6 +2,7 @@ @c %**start of header @setfilename ../../info/eshell @settitle Eshell: The Emacs Shell +@defindex cm @synindex vr fn @c %**end of header @@ -42,7 +43,7 @@ modify this GNU manual.'' @c -release- @end ignore @sp 3 -@center John Wiegley +@center John Wiegley & Aidan Gauland @c -date- @page @@ -75,15 +76,14 @@ handling the sort of tasks accomplished by those tools. * What is Eshell?:: A brief introduction to the Emacs Shell. * Command basics:: The basics of command usage. * Commands:: -* Arguments:: +* Expansion:: * Input/Output:: -* Process control:: * Extension modules:: -* Extras and Goodies:: * Bugs and ideas:: Known problems, and future ideas. * GNU Free Documentation License:: The license for this documentation. * Concept Index:: * Function and Variable Index:: +* Command Index:: * Key Index:: @end menu @@ -278,83 +278,56 @@ on your mind. Have fun! @node Commands @chapter Commands +In a command shell, everything is done by invoking commands. This +chapter covers command invocations in Eshell, including the command +history and invoking commands in a script file. + @menu * Invocation:: -* Completion:: +* Arguments:: +* Built-ins:: +* Variables:: * Aliases:: * History:: +* Completion:: +* for loop:: * Scripts:: -* Built-ins:: @end menu -Essentially, a command shell is all about invoking commands---and -everything that entails. So understanding how Eshell invokes commands -is the key to comprehending how it all works. - @node Invocation @section Invocation - Unlike regular system shells, Eshell never invokes kernel functions directly, such as @code{exec(3)}. Instead, it uses the Lisp functions available in the Emacs Lisp library. It does this by transforming the -command you specify into a callable Lisp form.@footnote{To see the Lisp -form that will be invoked, type: @samp{eshell-parse-command "echo -hello"}} - -This transformation, from the string of text typed at the command -prompt, to the ultimate invocation of either a Lisp function or external -command, follows these steps: - -@enumerate -@item Parse the command string into separate arguments. -@item -@end enumerate - -@node Completion -@section Completion - -@node Aliases -@section Aliases - -@node History -@section History - -Eshell knows a few built-in variables: - -@table @code - -@item $+ -@vindex $+ -This variable always contains the current working directory. - -@item $- -@vindex $- -This variable always contains the previous working directory (the -current working directory from before the last @code{cd} command). - -@item $_ -@vindex $_ -It refers to the last argument of the last command. - -@item $$ -@vindex $$ -This is the result of the last command. In case of an external -command, it is @code{t} or @code{nil}. - -@item $? -@vindex $? -This variable contains the exit code of the last command (0 or 1 for -Lisp functions, based on successful completion). - -@end table - -@node Scripts -@section Scripts +input line into a callable Lisp form.@footnote{To see the Lisp form that will be invoked, type: @samp{eshell-parse-command "echo hello"}} + +The command can be either an Elisp function or an external command. +Eshell looks first for an @ref{Aliases, alias} with the same name as the +command, then a @ref{Built-ins, built-in command} or a function with the +same name; if there is no match, it then tries to execute it as an +external command. + +The semicolon (@code{;}) can be used to separate multiple command +invocations on a single line. A command invocation followed by an +ampersand (@code{&}) will be run in the background. Eshell has no job +control, so you can not suspend or background the current process, or +bring a background process into the foreground. That said, background +processes invoked from Eshell can be controlled the same way as any +other background process in Emacs. +@node Arguments +@section Arguments +Command arguments are passed to the functions as either strings or +numbers, depending on what the parser thinks they look like. If you +need to use a function that takes some other data type, you will need to +call it in an Elisp expression (which can also be used with +@ref{Expansion, expansions}). As with other shells, you can +escape special characters and spaces with the backslash (@code{\}) and +the single (@code{''}) and double (@code{""}) quotes. @node Built-ins -@section Built-in commands +@section Built-in commands Several commands are built-in in Eshell. In order to call the external variant of a built-in command @code{foo}, you could call @code{*foo}. Usually, this should not be necessary. You can check @@ -368,7 +341,7 @@ eshell/ls is a compiled Lisp function in `em-ls.el' @end example If you want to discard a given built-in command, you could declare an -alias, @ref{Aliases}. Eample: +alias, @ref{Aliases}. Example: @example ~ $ which sudo @@ -378,15 +351,96 @@ eshell/sudo is a compiled Lisp function in `em-unix.el' sudo is an alias, defined as "*sudo $*" @end example -Some of the built-in commands have a special behavior in Eshell: +@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}. + +Some of the built-in commands have different behaviour from their +external counterparts, and some have no external counterpart. Most of +these will print a usage message when given the @code{--help} option. @table @code +@item addpath +@cmindex addpath +Adds a given path or set of paths to the PATH environment variable, or, +with no arguments, prints the current paths in this variable. + +@item alias +@cmindex alias +Define an alias (@pxref{Aliases}). This does not add it to the aliases +file. + +@item date +@cmindex date +Similar to, but slightly different from, the GNU Coreutils +@command{date} command. + +@item define +@cmindex define +Define a varalias. @xref{Variable Aliases, , , elisp}. + +@item diff +@cmindex diff +Use Emacs's internal @code{diff} (not to be confused with +@code{ediff}). @xref{Comparing Files, , , elisp}. + +@item grep +@cmindex grep +@itemx agrep +@cmindex agrep +@itemx egrep +@cmindex egrep +@itemx fgrep +@cmindex fgrep +@itemx glimpse +@cmindex glimpse +The @command{grep} commands are compatible with GNU @command{grep}, but +use Emacs's internal @code{grep} instead. + +@item info +@cmindex info +Same as the external @command{info} command, but uses Emacs's internal +Info reader. + +@item jobs +@cmindex jobs +List subprocesses of the Emacs process, if any, using the function +@code{list-processes}. + +@item kill +@cmindex kill +Kill processes. Takes a PID or a process object and an optional +signal specifier. + +@item listify +@cmindex listify +Eshell version of @code{list}. Allows you to create a list using Eshell +syntax, rather than Elisp syntax. For example, @samp{listify foo bar} +and @code{("foo" "bar")} both evaluate to @code{("foo" "bar")}. + +@item locate +@cmindex locate +Alias to Emacs's @code{locate} function, which simply runs the external +@command{locate} command and parses the results. @xref{Dired and `find', , , elisp}. + +@item make +@cmindex make +Run @command{make} through @code{compile}. @xref{Running Compilations under Emacs, , , elisp}. + +@item occur +@cmindex occur +Alias to Emacs's @code{occur}. @xref{Other Search-and-Loop Commands, , , elisp}. + +@item printnl +@cmindex printnl +Print the arguments separated by newlines. + @item cd -@findex cd +@cmindex cd This command changes the current working directory. Usually, it is -invoked as @samp{cd foo} where @file{foo} is the new working -directory. But @code{cd} knows about a few special arguments: +invoked as @samp{cd foo} where @file{foo} is the new working directory. +But @command{cd} knows about a few special arguments: When it receives no argument at all, it changes to the home directory. @@ -396,14 +450,73 @@ directory (this is the same as @samp{cd $-}). The command @samp{cd =} shows the directory stack. Each line is numbered. -With @samp{cd =foo}, Eshell searches the directory stack for a -directory matching the regular expression @samp{foo} and changes to -that directory. +With @samp{cd =foo}, Eshell searches the directory stack for a directory +matching the regular expression @samp{foo} and changes to that +directory. With @samp{cd -42}, you can access the directory stack by number. -@item history -@findex history +@item su +@cmindex su +@itemx sudo +@cmindex sudo +Uses TRAMP's @command{su} or @command{sudo} method to run a command via +@command{su} or @command{sudo}. + +@end table + +@subsection Built-in variables +Eshell knows a few built-in variables: + +@table @code + +@item $+ +@vindex $+ +This variable always contains the current working directory. + +@item $- +@vindex $- +This variable always contains the previous working directory (the +current working directory from before the last @code{cd} command). + +@item $_ +@vindex $_ +It refers to the last argument of the last command. + +@item $$ +@vindex $$ +This is the result of the last command. In case of an external +command, it is @code{t} or @code{nil}. + +@item $? +@vindex $? +This variable contains the exit code of the last command (0 or 1 for +Lisp functions, based on successful completion). + +@end table + +@node Variables +@section Variables +Since Eshell is just an Emacs REPL@footnote{Read-Eval-Print Loop}, it +does not have its own scope, and simply stores variables the same you +would in an Elisp program. Eshell provides a command version of +@code{setq} for convenience. + +@node Aliases +@section Aliases + +Aliases are commands that expand to a longer input line. For example, +@command{ll} is a common alias for @code{ls -l}, and would be defined +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}, +which you can also edit directly (although you will have to manually +reload it). + +@node History +@section History +@cmindex history The @samp{history} command shows all commands kept in the history ring as numbered list. If the history ring contains @code{eshell-history-size} commands, those numbers change after every @@ -419,70 +532,233 @@ of the history ring. argument of the last command beginning with @code{foo} is accessible by @code{!foo:n}. -@item su -@findex su -@itemx sudo -@findex sudo -@code{su} and @code{sudo} work as expected: they apply the following -commands (@code{su}), or the command being an argument (@code{sudo}) -under the permissions of somebody else. - -This does not work only on -the local host, but even on a remote one, when -@code{default-directory} is a remote file name. The necessary -proxy configuration of Tramp is performed -@ifinfo -automatically, @ref{Multi-hops, , , tramp}. -@end ifinfo -@ifnotinfo -automatically. -@end ifnotinfo -Example: +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, +such as Bash, Eshell can not be configured to keep a history ring of a +different size than that of the history file. + +Since the default buffer navigation and searching key-bindings are +still present in the Eshell buffer, the commands for history +navigation and searching are bound to different keys: + +@table @kbd +@item M-r +@itemx M-s +History I-search. + +@item M-p +@itemx M-n +Previous and next history line. If there is anything on the input +line when you run these commands, they will instead jump to the +precious or next line that begins with that string. +@end table + +@node Completion +@section Completion +Eshell uses the pcomplete package for programmable completion, similar +to that of other command shells. Argument completion differs depending +on the preceding command: for example, possible completions for +@command{rmdir} are only directories, while @command{rm} completions can +be directories @emph{and} files. Eshell provides predefined completions +for the built-in functions and some common external commands, and you +can define your own for any command. + +Eshell completion also works for lisp forms and glob patterns. If the +point is on a lisp form, then @key{TAB} will behave similarly to completion +in @code{elisp-mode} and @code{lisp-interaction-mode}. For glob +patterns, If there are few enough possible completions of the patterns, +they will be cycled when @key{TAB} is pressed, otherwise it will be removed +from the input line and the possible completions will be listed. + +If you want to see the entire list of possible completions when it's +below the cycling threshold, press @kbd{M-?}. + +@subsection pcomplete +Pcomplete, short for programmable completion, is the completion +library originally written for Eshell, but usable for command +completion@footnote{Command completion as opposed to code completion, +which is a beyond the scope of pcomplete.} in other modes. + +Completions are defined as functions (with @code{defun}) named +@code{pcomplete/COMMAND}, where @code{COMMAND} is the name of the +command for which this function provides completions; you can also name +the function @code{pcomplete/MAJOR-MODE/COMMAND} to define completions +for a specific major mode. + +@node for loop +@section @code{for} loop +Because Eshell commands can not (easily) be combined with lisp forms, +Eshell provides a command-oriented @command{for}-loop for convenience. +The syntax is as follows: @example -~ $ cd /ssh:otherhost:/etc -/ssh:user@@otherhost:/etc $ sudo find-file shadow +@code{for VAR in TOKENS @{ command invocation(s) @}} @end example -@end table - +where @samp{TOKENS} is a space-separated sequence of values of +@var{VAR} for each iteration. This can even be the output of a +command if @samp{TOKENS} is replaced with @samp{@{ command invocation @}}. -@node Arguments -@chapter Arguments +@node Scripts +@section Scripts +@cmindex source +@fnindex eshell-source-file +You can run Eshell scripts much like scripts for other shells; the main +difference is that since Eshell is not a system command, you have to run +it from within Emacs. An Eshell script is simply a file containing a +sequence of commands, as with almost any other shell script. Scripts +are invoked from Eshell with @command{source}, or from anywhere in Emacs +with @code{eshell-source-file}. + +@cmindex . +If you wish to load a script into your @emph{current} environment, +rather than in a subshell, use the @code{.} command. + +@node Expansion +@chapter Expansion +Expansion in a command shell is somewhat like macro expansion in macro +parsers (such as @command{cpp} and @command{m4}), but in a command +shell, they are less often used for constants, and usually for using +variables and string manipulation.@footnote{Eshell has no +string-manipulation expansions because the Elisp library already +provides many functions for this.} For example, @code{$var} on a line +expands to the value of the variable @code{var} when the line is +executed. Expansions are usually passed as arguments, but may also be +used as commands.@footnote{E.g., entering just @samp{$var} at the prompt +is equivalent to entering the value of @code{var} at the prompt.} @menu -* The Parser:: -* Variables:: -* Substitution:: +* Dollars Expansion:: * Globbing:: -* Predicates:: @end menu -@node The Parser -@section The Parser +@node Dollars Expansion +@section Dollars Expansion +Eshell has different @code{$} expansion syntax from other shells. There +are some similarities, but don't let these lull you into a false sense +of familiarity. -@node Variables -@section Variables +@table @code -@node Substitution -@section Substitution +@item $var +Expands to the value bound to @code{var}. This is the main way to use +variables in command invocations. -@node Globbing -@section Globbing +@item $#var +Expands to the length of the value bound to @code{var}. Raises an error +if the value is not a sequence (@pxref{Sequences Arrays and Vectors, Sequences, , elisp}). -@node Predicates -@section Predicates +@item $(lisp) +Expands to the result of evaluating the S-expression @code{(lisp)}. On +its own, this is identical to just @code{(lisp)}, but with the @code{$}, +it can be used in a string, such as @samp{/some/path/$(lisp).txt}. +@item $@{command@} +Returns the output of @command{command}, which can be any valid Eshell +command invocation, and may even contain expansions. -@node Input/Output -@chapter Input/Output +@item $var[i] +Expands to the @code{i}th element of the value bound to @code{var}. If +the value is a string, it will be split at whitespace to make it a list. +Again, raises an error if the value is not a sequence. + +@item $var[: i] +As above, but now splitting occurs at the colon character. -@node Process control -@chapter Process control +@item $var[: i j] +As above, but instead of returning just a string, it now returns a list +of two strings. If the result is being interpolated into a larger +string, this list will be flattened into one big string, with each +element separated by a space. +@item $var["\\\\" i] +Separate on backslash characters. Actually, the first argument -- if it +doesn't have the form of a number, or a plain variable name -- can be +any regular expression. So to split on numbers, use @samp{$var["[0-9]+" 10 20]}. + +@item $var[hello] +Calls @code{assoc} on @code{var} with @code{"hello"}, expecting it to be +an alist (@pxref{Association List Type, Association Lists, , elisp}). + +@item $#var[hello] +Returns the length of the cdr of the element of @code{var} who car is equal +to @code{"hello"}. + +@end table + +@node Globbing +@section Globbing +Eshell's globbing syntax is very similar to that of Zsh. Users coming +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} +for full syntax. To customize the syntax and behaviour of globbing in +Eshell see the Customize@footnote{@xref{Customization Settings, Customize, , elisp}.} +groups ``eshell-glob'' and ``eshell-pred''. + +@node Input/Output +@chapter Input/Output +Since Eshell does not communicate with a terminal like most command +shells, IO is a little different. If you try to run programs from +within Eshell that are not line-oriented, such as programs that use +ncurses, you will just get garbage output, since the Eshell buffer is +not a terminal emulator. Eshell solves this problem by running +specified commands in Emacs's terminal emulator; to let Eshell know +which commands need to be run in a terminal, add them to the list +@var{eshell-visual-commands}. + +Redirection is mostly the same in Eshell as it is in other command +shells. The output redirection operators @code{>} and @code{>>} as +well as pipes are supported, but there is not yet any support for +input redirection. Output can also be redirected to buffers, using +the @code{>>>} redirection operator, and Elisp functions, using +virtual devices. + +The buffer redirection operator, @code{>>>}, expects a buffer object +on the right-hand side, into which it inserts the output of the +left-hand side. e.g., @samp{echo hello >>> #<buffer *scratch*>} +inserts the string @code{"hello"} into the @code{*scratch*} buffer. + +@var{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 +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 +the output function. + +The output function is called once on each line of output until +@code{nil} is passed, indicating end of output. @node Extension modules @chapter Extension modules +Eshell provides a facility for defining extension modules so that they +can be disabled and enabled without having to unload and reload them, +and to provide a common parent Customize group for the +modules.@footnote{ERC provides a similar module facility.} An Eshell +module is defined the same as any other library but one requirement: the +module must define a Customize@footnote{@xref{Customization Settings, Customize, , elisp}.} +group using @code{eshell-defgroup} (in place of @code{defgroup}) with +@code{eshell-module} as the parent group.@footnote{If the module has +no user-customizable options, then there is no need to define it as an +Eshell module.} You also need to load the following as shown: + +@example +(eval-when-compile + (require 'cl) + (require 'esh-mode) + (require 'eshell)) + +(require 'esh-util) +@end example @menu * Writing a module:: @@ -491,7 +767,6 @@ Example: * Key rebinding:: * Smart scrolling:: * Terminal emulation:: -* Built-in UNIX commands:: @end menu @node Writing a module @@ -512,13 +787,6 @@ Example: @node Terminal emulation @section Terminal emulation -@node Built-in UNIX commands -@section Built-in UNIX commands - - -@node Extras and Goodies -@chapter Extras and Goodies - @node Bugs and ideas @chapter Bugs and ideas @cindex reporting bugs and ideas @@ -527,6 +795,8 @@ Example: @cindex email to the author @cindex FAQ @cindex problems, list of common +@cindex known bugs +@cindex bugs, known If you find a bug or misfeature, don't hesitate to let me know! Send email to @email{johnw@@gnu.org}. Feature requests should also be sent @@ -537,16 +807,7 @@ If you have ideas for improvements, or if you have written some extensions to this package, I would like to hear from you. I hope you find this package useful! -@menu -* Known problems:: -@end menu - -@node Known problems -@section Known problems -@cindex known bugs -@cindex bugs, known - -Below is complete list of known problems with Eshell version 2.4.2, +Below is a complete list of known problems with Eshell version 2.4.2, which is the version included with Emacs 22. @table @asis @@ -554,7 +815,7 @@ which is the version included with Emacs 22. @item Differentiate between aliases and functions -Allow for a bash-compatible syntax, such as: +Allow for a Bash-compatible syntax, such as: @example alias arg=blah @@ -838,7 +1099,7 @@ them; @code{min} would display the smallest figure, etc. It would provide syntax, abbrev, highlighting and indenting support like @code{emacs-lisp-mode} and @code{shell-mode}. -@item In the history mechanism, finish the @command{bash}-style support +@item In the history mechanism, finish the Bash-style support This means @samp{!n}, @samp{!#}, @samp{!:%}, and @samp{!:1-} as separate from @samp{!:1*}. @@ -904,7 +1165,7 @@ it). @item Make the shell spawning commands be visual That is, make (@command{su}, @command{bash}, @command{telnet}, -@command{rlogin}, @command{rsh}, etc.) be part of +@command{rlogin}, @command{rsh}, etc.)@: be part of @code{eshell-visual-commands}. The only exception is if the shell is being used to invoke a single command. Then, the behavior should be based on what that command is. @@ -1008,6 +1269,11 @@ Since it keeps the cursor up where the command was invoked. @printindex fn +@node Command Index +@unnumbered Command Index + +@printindex cm + @node Key Index @unnumbered Key Index diff --git a/doc/misc/faq.texi b/doc/misc/faq.texi index 8f3c0c2d623..18e3340a474 100644 --- a/doc/misc/faq.texi +++ b/doc/misc/faq.texi @@ -58,8 +58,7 @@ distribution.] @node Top, FAQ notation, (dir), (dir) @top The GNU Emacs FAQ -@c FIXME @today is just the day we ran `makeinfo'. -This is the GNU Emacs FAQ, last updated on @today{}. +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 @@ -1909,7 +1908,7 @@ following line to your @file{.emacs}: 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 +@code{/}, @code{0}, etc.)@: that you've chosen during the interactive procedure. @item diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi index 1807f108e3b..5dedda16ee1 100644 --- a/doc/misc/flymake.texi +++ b/doc/misc/flymake.texi @@ -64,7 +64,7 @@ modify this GNU manual.'' Flymake is a universal on-the-fly syntax checker implemented as an Emacs minor mode. Flymake runs the pre-configured syntax check tool -(compiler for C++ files, @code{perl} for perl files, etc.) in the +(compiler for C++ files, @code{perl} for perl files, etc.)@: in the background, passing it a temporary copy of the current buffer, and parses the output for known error/warning message patterns. Flymake then highlights erroneous lines (i.e., lines for which at least one @@ -210,14 +210,14 @@ The following statuses are defined. @multitable @columnfractions 0.25 0.75 @item Flymake* or Flymake:E/W* @tab Flymake is currently running. For the second case, E/W contains the - error and warning count for the previous run. +error and warning count for the previous run. @item Flymake @tab Syntax check is not running. Usually this means syntax check was - successfully passed (no errors, no warnings). Other possibilities are: - syntax check was killed as a result of executing - @code{flymake-compile}, or syntax check cannot start as compilation - is currently in progress. +successfully passed (no errors, no warnings). Other possibilities are: +syntax check was killed as a result of executing +@code{flymake-compile}, or syntax check cannot start as compilation +is currently in progress. @item Flymake:E/W @tab Number of errors/warnings found by the syntax check process. @@ -232,9 +232,9 @@ OFF for the buffer. @multitable @columnfractions 0.25 0.75 @item CFGERR @tab Syntax check process returned nonzero exit code, but no - errors/warnings were reported. This indicates a possible configuration - error (for example, no suitable error message patterns for the - syntax check tool). +errors/warnings were reported. This indicates a possible configuration +error (for example, no suitable error message patterns for the +syntax check tool). @item NOMASTER @tab Flymake was unable to find master file for the current buffer. @@ -569,7 +569,7 @@ These modes are handled inside init/cleanup/getfname functions, see Flymake contains implementations of all functionality required to support different syntax check modes described above (making temporary copies, finding master files, etc.), as well as some tool-specific -(routines for Make, Ant, etc.) code. +(routines for Make, Ant, etc.)@: code. @node Making a temporary copy diff --git a/doc/misc/forms.texi b/doc/misc/forms.texi index 43ffab26c9b..17b117be961 100644 --- a/doc/misc/forms.texi +++ b/doc/misc/forms.texi @@ -117,7 +117,7 @@ they make up a forms. The contents of the forms consist of the contents of the fields of the record (e.g., @samp{root}, @samp{0}, @samp{1}, @samp{Super User}) -interspersed with normal text (e.g @samp{User : }, @samp{Uid: }). +interspersed with normal text (e.g., @samp{User : }, @samp{Uid: }). If you modify the contents of the fields, Forms mode will analyze your changes and update the file appropriately. You cannot modify the diff --git a/doc/misc/gnus-coding.texi b/doc/misc/gnus-coding.texi index 15393ad8032..4e5855627b8 100644 --- a/doc/misc/gnus-coding.texi +++ b/doc/misc/gnus-coding.texi @@ -387,5 +387,5 @@ changed. @c Local Variables: @c mode: texinfo -@c coding: iso-8859-1 +@c coding: utf-8 @c End: diff --git a/doc/misc/gnus-faq.texi b/doc/misc/gnus-faq.texi index 2a1f5ac2cc1..cb900626670 100644 --- a/doc/misc/gnus-faq.texi +++ b/doc/misc/gnus-faq.texi @@ -3,8 +3,8 @@ @c %**start of header @c Copyright (C) 1995, 2001-2013 Free Software Foundation, Inc. @c -@setfilename gnus-faq.info -@settitle Frequently Asked Questions +@c @setfilename gnus-faq.info +@c @settitle Frequently Asked Questions @c %**end of header @c @@ -41,7 +41,7 @@ Please submit features and suggestions to the @email{ding@@gnus.org, ding list}. @node FAQ - Changes -@subheading Changes +@subsection Changes @@ -57,7 +57,7 @@ reference to discontinued service. @end itemize @node FAQ - Introduction -@subheading Introduction +@subsection Introduction This is the Gnus Frequently Asked Questions list. @@ -705,32 +705,9 @@ retrieves via POP3? @subsubheading Answer -First of all, that's not the way POP3 is intended to work, -if you have the possibility, you should use the IMAP -Protocol if you want your messages to stay on the -server. Nevertheless there might be situations where you -need the feature, but sadly Gnus itself has no predefined -functionality to do so. - -However this is Gnus county so there are possibilities to -achieve what you want. The easiest way is to get an external -program which retrieves copies of the mail and stores them -on disk, so Gnus can read it from there. On Unix systems you -could use, e.g., fetchmail for this, on MS Windows you can use -Hamster, an excellent local news and mail server. - -The other solution would be, to replace the method Gnus -uses to get mail from POP3 servers by one which is capable -of leaving the mail on the server. If you use XEmacs, get -the package mail-lib, it includes an enhanced pop3.el, -look in the file, there's documentation on how to tell -Gnus to use it and not to delete the retrieved mail. For -GNU Emacs look for the file epop3.el which can do the same -(If you know the home of this file, please send me an -e-mail). You can also tell Gnus to use an external program -(e.g., fetchmail) to fetch your mail, see the info node -"Mail Source Specifiers" in the Gnus manual on how to do -it. +Yes, if the POP3 server supports the UIDL control (maybe almost servers +do it nowadays). To do that, add a @code{:leave VALUE} pair to each +POP3 mail source. See @pxref{Mail Source Specifiers} for VALUE. @node FAQ 4 - Reading messages @subsection Reading messages @@ -1218,7 +1195,7 @@ from using them): messages? * FAQ 5-3:: How to set stuff like From, Organization, Reply-To, signature...? -* FAQ 5-4:: Can I set things like From, Signature etc group based on +* FAQ 5-4:: Can I set things like From, Signature etc. group based on the group I post too? * FAQ 5-5:: Is there a spell-checker? Perhaps even on-the-fly spell-checking? diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi index b5029e5d6a8..983887d721d 100644 --- a/doc/misc/gnus.texi +++ b/doc/misc/gnus.texi @@ -2348,8 +2348,8 @@ Gnus considers groups from levels 1 to unsubscribed, @code{gnus-level-zombie} to be zombies (walking dead) (default 8) and @code{gnus-level-killed} to be killed (completely dead) (default 9). Gnus treats subscribed and unsubscribed groups exactly the -same, but zombie and killed groups have no information on what articles -you have read, etc, stored. This distinction between dead and living +same, but zombie and killed groups store no information on what articles +you have read, etc. This distinction between dead and living groups isn't done because it is nice or clever, it is done purely for reasons of efficiency. @@ -11140,7 +11140,7 @@ There will never be more than one dead summary buffer at any one time. @vindex gnus-use-cross-reference The data on the current group will be updated (which articles you have -read, which articles you have replied to, etc.) when you exit the +read, which articles you have replied to, etc.)@: when you exit the summary buffer. If the @code{gnus-use-cross-reference} variable is @code{t} (which is the default), articles that are cross-referenced to this group and are marked as read, will also be marked as read in the @@ -14022,7 +14022,7 @@ The address of the @acronym{NNTP} server. Port number to connect to the @acronym{NNTP} server. The default is @samp{nntp}. If you use @acronym{NNTP} over @acronym{TLS}/@acronym{SSL}, you may want to use integer ports rather -than named ports (i.e, use @samp{563} instead of @samp{snews} or +than named ports (i.e., use @samp{563} instead of @samp{snews} or @samp{nntps}), because external @acronym{TLS}/@acronym{SSL} tools may not work with named ports. @@ -14541,6 +14541,7 @@ maildir, for instance. @menu * Mail Source Specifiers:: How to specify what a mail source is. +* Mail Source Functions:: * Mail Source Customization:: Some variables that influence things. * Fetching Mail:: Using the mail source specifiers. @end menu @@ -15000,6 +15001,7 @@ useful when you use local mail and news. @end table @end table +@node Mail Source Functions @subsubsection Function Interface Some of the above keywords specify a Lisp function to be executed. @@ -16068,6 +16070,10 @@ Spool}). * Mail Spool:: Store your mail in a private spool? * MH Spool:: An mhspool-like back end. * Maildir:: Another one-file-per-message format. +* nnmaildir Group Parameters:: +* Article Identification:: +* NOV Data:: +* Article Marks:: * Mail Folders:: Having one file for each group. * Comparing Mail Back Ends:: An in-depth looks at pros and cons. @end menu @@ -16375,6 +16381,7 @@ different in the future. If your split rules create new groups, remember to supply a @code{create-directory} server parameter. @end table +@node nnmaildir Group Parameters @subsubsection Group parameters @code{nnmaildir} uses several group parameters. It's safe to ignore @@ -16485,6 +16492,7 @@ that are either marked with @code{tick} or not marked with @code{read}, plus a little extra. @end table +@node Article Identification @subsubsection Article identification Articles are stored in the @file{cur/} subdirectory of each maildir. Each article file is named like @code{uniq:info}, where @code{uniq} @@ -16497,6 +16505,7 @@ about the corresponding article. The full pathname of an article is available in the variable @code{nnmaildir-article-file-name} after you request the article in the summary buffer. +@node NOV Data @subsubsection NOV data An article identified by @code{uniq} has its @acronym{NOV} data (used to generate lines in the summary buffer) stored in @@ -16510,6 +16519,7 @@ file, but @emph{beware}: this will also cause @code{nnmaildir} to assign a new article number for this article, which may cause trouble with @code{seen} marks, the Agent, and the cache. +@node Article Marks @subsubsection Article marks An article identified by @code{uniq} is considered to have the mark @code{flag} when the file @file{.nnmaildir/marks/flag/uniq} exists. @@ -19019,7 +19029,7 @@ agent as unread. @subsection Agent and flags The Agent works with any Gnus back end including those, such as -nnimap, that store flags (read, ticked, etc) on the server. Sadly, +nnimap, that store flags (read, ticked, etc.)@: on the server. Sadly, the Agent does not actually know which backends keep their flags in the backend server rather than in @file{.newsrc}. This means that the Agent, while unplugged or disconnected, will always record all changes @@ -19995,7 +20005,7 @@ the article was posted from. Time zones are such wholesome fun for the whole family, eh?) @item Head, Body, All -These three match keys use the same match types as the @code{From} (etc) +These three match keys use the same match types as the @code{From} (etc.)@: header uses. @item Followup @@ -23816,7 +23826,7 @@ from Bulgarian IPs. This, unfortunately, is a great way to discard legitimate e-mail. The risks of blocking a whole country (Bulgaria, Norway, Nigeria, China, -etc.) or even a continent (Asia, Africa, Europe, etc.) from contacting +etc.)@: or even a continent (Asia, Africa, Europe, etc.)@: from contacting you should be obvious, so don't do it if you have the choice. In another instance, the very informative and useful RISKS digest has @@ -25850,8 +25860,8 @@ of all messages matching a particular set of criteria. @menu * Gnus Registry Setup:: -* Fancy splitting to parent:: * Registry Article Refer Method:: +* Fancy splitting to parent:: * Store custom flags and keywords:: * Store arbitrary data:: @end menu @@ -25869,7 +25879,7 @@ Fortunately, setting up the Gnus registry is pretty easy: This adds registry saves to Gnus newsrc saves (which happen on exit and when you press @kbd{s} from the @code{*Group*} buffer. It also -adds registry calls to article actions in Gnus (copy, move, etc.) so +adds registry calls to article actions in Gnus (copy, move, etc.)@: so it's not easy to undo the initialization. See @code{gnus-registry-initialize} for the gory details. @@ -27946,7 +27956,7 @@ consist of a little new content at the top with a long, untrimmed message cited below. @item -Smileys (@samp{:-)}, @samp{;-)} etc) are now displayed graphically in +Smileys (@samp{:-)}, @samp{;-)} etc.)@: are now displayed graphically in Emacs too. Put @code{(setq gnus-treat-display-smileys nil)} in @file{~/.gnus.el} to @@ -28552,7 +28562,7 @@ A mail message or news article @item head @cindex head -The top part of a message, where administrative information (etc.) is +The top part of a message, where administrative information (etc.)@: is put. @item body @@ -29501,7 +29511,7 @@ There should be no result data from this function. @item (nnchoke-request-set-mark GROUP ACTION &optional SERVER) Set/remove/add marks on articles. Normally Gnus handles the article -marks (such as read, ticked, expired etc) internally, and store them in +marks (such as read, ticked, expired etc.)@: internally, and store them in @file{~/.newsrc.eld}. Some back ends (such as @acronym{IMAP}) however carry all information about the articles on the server, so Gnus need to propagate the mark information to the server. diff --git a/doc/misc/htmlfontify.texi b/doc/misc/htmlfontify.texi index 6cb8942bf15..e45234872e2 100644 --- a/doc/misc/htmlfontify.texi +++ b/doc/misc/htmlfontify.texi @@ -123,8 +123,8 @@ reproduces the look of the current Emacs buffer as closely as possible. entities, so you should even be able to do html-within-html fontified display. -You should, however, note that random control or eight-bit characters -such as ^L (\x0c) or ¤ (\xa4) won't get mapped yet. +You should, however, note that random control or non-ASCII characters +such as ^L (\x0c) or ¤ (\xa4) won't get mapped yet. If the @var{srcdir} and @var{file} arguments are set, lookup etags derived entries in the @ref{hfy-tags-cache} and add html anchors diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi index a756cc6b6c6..a432d4dc14a 100644 --- a/doc/misc/idlwave.texi +++ b/doc/misc/idlwave.texi @@ -2182,8 +2182,8 @@ operators (outside of strings and comments, of course), try this in @end lisp Note that the modified assignment operators which begin with a word -(@samp{AND=}, @samp{OR=}, @samp{NOT=}, etc.) require a leading space to -be recognized (e.g @code{vAND=4} would be interpreted as a variable +(@samp{AND=}, @samp{OR=}, @samp{NOT=}, etc.)@: require a leading space to +be recognized (e.g., @code{vAND=4} would be interpreted as a variable @code{vAND}). Also note that since, e.g., @code{>} and @code{>=} are both valid operators, it is impossible to surround both by blanks while they are being typed. Similarly with @code{&} and @code{&&}. For @@ -2195,7 +2195,7 @@ repad everything if @code{idlwave-do-actions} is on). @defopt idlwave-surround-by-blank (@code{nil}) Non-@code{nil} means enable @code{idlwave-surround}. If non-@code{nil}, @samp{=}, @samp{<}, @samp{>}, @samp{&}, @samp{,}, @samp{->}, and the -modified assignment operators (@samp{AND=}, @samp{OR=}, etc.) are +modified assignment operators (@samp{AND=}, @samp{OR=}, etc.)@: are surrounded with spaces by @code{idlwave-surround}. @end defopt diff --git a/doc/misc/mairix-el.texi b/doc/misc/mairix-el.texi index ff5b2ca6748..73a1294d28d 100644 --- a/doc/misc/mairix-el.texi +++ b/doc/misc/mairix-el.texi @@ -3,7 +3,7 @@ @setfilename ../../info/mairix-el @settitle Emacs Interface for Mairix -@documentencoding ISO-8859-1 +@documentencoding UTF-8 @copying Copyright @copyright{} 2008--2013 Free Software Foundation, Inc. diff --git a/doc/misc/message.texi b/doc/misc/message.texi index 0e0bd115bb2..a98c7e48e53 100644 --- a/doc/misc/message.texi +++ b/doc/misc/message.texi @@ -1817,17 +1817,14 @@ a string nor @code{nil}, use the user name only. However, it is highly unlikely that you should need to fiddle with this variable at all. @end table -@findex yow @cindex Mime-Version In addition, you can enter conses into this list. The @sc{car} of this cons should be a symbol. This symbol's name is the name of the header, and the @sc{cdr} can either be a string to be entered verbatim as the value of this header, or it can be a function to be called. This function should -return a string to be inserted. For instance, if you want to insert -@code{Mime-Version: 1.0}, you should enter @code{(Mime-Version . "1.0")} -into the list. If you want to insert a funny quote, you could enter -something like @code{(X-Yow . yow)} into the list. The function -@code{yow} will then be called without any arguments. +take no arguments, and return a string to be inserted. For +instance, if you want to insert @code{Mime-Version: 1.0}, you should +enter @code{(Mime-Version . "1.0")} into the list. If the list contains a cons where the @sc{car} of the cons is @code{optional}, the @sc{cdr} of this cons will only be inserted if it is @@ -2344,7 +2341,7 @@ Valid values include: @table @code @item nil Generate the buffer name in the Message way (e.g., *mail*, *news*, *mail -to whom*, *news on group*, etc.) and continue editing in the existing +to whom*, *news on group*, etc.)@: and continue editing in the existing buffer of that name. If there is no such buffer, it will be newly created. diff --git a/doc/misc/mh-e.texi b/doc/misc/mh-e.texi index 756d5d52996..154120f2e3b 100644 --- a/doc/misc/mh-e.texi +++ b/doc/misc/mh-e.texi @@ -1,4 +1,4 @@ -\input texinfo @c -*-texinfo-*- +\input texinfo @c -*- mode: texinfo; coding: utf-8; -*- @c @c Note: This document requires makeinfo version 4.6 or greater to build. @c @@ -8,12 +8,12 @@ @c %**end of header @c Version of the software and manual. -@set VERSION 8.4 +@set VERSION 8.5 @c Edition of the manual. It is either empty for the first edition or @c has the form ", nth Edition" (without the quotes). @set EDITION -@set UPDATED 2012-11-25 -@set UPDATE-MONTH November, 2012 +@set UPDATED 2013-03-02 +@set UPDATE-MONTH March, 2013 @c Other variables. @set MH-BOOK-HOME http://rand-mh.sourceforge.net/book/mh @@ -236,7 +236,7 @@ read an online tutorial by starting GNU Emacs and typing @kbd{C-h t} @ref{top, , GNU Emacs Manual, emacs, GNU Emacs Manual}, @end ifinfo @ifhtml -@uref{http://www.gnu.org/software/emacs/manual/html_node/, +@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/, @cite{GNU Emacs Manual}}, @end ifhtml from the Free Software Foundation. @@ -255,9 +255,9 @@ version is distributed with Emacs and can be accessed with the @command{info} command (@samp{info mh-e}) or within Emacs (@kbd{C-h i m mh-e @key{RET}}). The online version is available at @uref{http://mh-e.sourceforge.net/manual/, SourceForge}. Another great -online resource is the book @uref{http://www.ics.uci.edu/~mh/book/, -@cite{MH & nmh: Email for Users & Programmers}} (also known as -@dfn{the MH book}). +online resource is the book +@uref{http://rand-mh.sourceforge.net/book/, @cite{MH & nmh: Email for +Users & Programmers}} (also known as @dfn{the MH book}). I hope you enjoy this manual! If you have any comments, or suggestions for this document, please let me know. @@ -384,7 +384,7 @@ GNU Emacs Manual}. @end ifnothtml @ifhtml See section -@uref{http://www.gnu.org/software/emacs/manual/html_node/Easy-Customization.html, +@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Easy-Customization.html, Easy Customization} in @cite{The GNU Emacs Manual}. @end ifhtml @xref{Options}. @@ -404,7 +404,7 @@ GNU Emacs Manual}. @end ifnothtml @ifhtml See section -@uref{http://www.gnu.org/software/emacs/manual/html_node/Face-Customization.html, +@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Face-Customization.html, Face Customization} in @cite{The GNU Emacs Manual}. @end ifhtml @@ -422,7 +422,7 @@ Emacs Manual} @end ifnothtml @ifhtml See section -@uref{http://www.gnu.org/software/emacs/manual/html_node/Hooks.html, +@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Hooks.html, Hooks} in @cite{The GNU Emacs Manual} @end ifhtml for a description about @dfn{normal hooks} and @dfn{abnormal hooks}. @@ -473,7 +473,7 @@ point. @end ifnothtml @ifhtml See the section -@uref{http://www.gnu.org/software/emacs/manual/html_node/Completion.html, +@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Completion.html, Completion} in @cite{The GNU Emacs Manual}. @end ifhtml Note that @key{SPC} cannot be used for completing filenames and @@ -550,12 +550,12 @@ to install MH or tell MH-E where to find MH. @cindex GNU mailutils MH If you don't have MH on your system already, you must install a -variant of MH@. The Debian mh-e package does this for you automatically -(@pxref{Getting MH-E}). Most people use +variant of MH@. The Debian mh-e package does this for you +automatically (@pxref{Getting MH-E}). Most people use @uref{http://www.nongnu.org/nmh/, nmh}, but you may be interested in -trying out @uref{http://www.gnu.org/software/mailutils/, GNU mailutils -MH}, which supports IMAP@. Your GNU/Linux distribution probably has -packages for both of these. +trying out @uref{http://mailutils.org/, GNU mailutils MH}, which +supports IMAP@. Your GNU/Linux distribution probably has packages for +both of these. @cindex @command{install-mh} @cindex MH commands, @command{install-mh} @@ -1121,27 +1121,27 @@ exist, @footnote{The @cite{GNU Emacs Lisp Reference Manual} may be available online in the Info system by typing @kbd{C-h i m Emacs Lisp @key{RET}}. It is also available online at @* -@uref{http://www.gnu.org/software/emacs/elisp-manual/html_node/}. You -can also order a printed manual, which has the desirable side-effect -of helping to support the Free Software Foundation which made all this -great software available. You can find an order form by running -@kbd{C-h C-d}, or you can request an order form from @i{gnu at +@uref{http://www.gnu.org/savannah-checkouts/gnu/emacs/manual/html_node/elisp/}. +You can also order a printed manual, which has the desirable +side-effect of helping to support the Free Software Foundation which +made all this great software available. You can find an order form by +running @kbd{C-h C-d}, or you can request an order form from @i{gnu at gnu.org}.} @end iftex @ifinfo @footnote{@xref{Top, The GNU Emacs Lisp Reference Manual, , elisp, GNU Emacs Lisp Reference Manual}, which may be available online in the Info system. It is also available online at -@uref{http://www.gnu.org/software/emacs/elisp-manual/html_node/}. You -can also order a printed manual, which has the desirable side-effect -of helping to support the Free Software Foundation which made all this -great software available. You can find an order form by running -@kbd{C-h C-d}, or you can request an order form from @i{gnu at +@uref{http://www.gnu.org/savannah-checkouts/gnu/emacs/manual/html_node/elisp/}. +You can also order a printed manual, which has the desirable +side-effect of helping to support the Free Software Foundation which +made all this great software available. You can find an order form by +running @kbd{C-h C-d}, or you can request an order form from @i{gnu at gnu.org}.} @end ifinfo @ifhtml @footnote{The -@uref{http://www.gnu.org/software/emacs/elisp-manual/html_node/, +@uref{http://www.gnu.org/savannah-checkouts/gnu/emacs/manual/html_node/elisp/, The GNU Emacs Lisp Reference Manual} may also be available online in the Info system by typing @kbd{C-h i m Emacs Lisp @key{RET}}. You can also order a printed manual, which has the desirable side-effect of @@ -1311,7 +1311,7 @@ When you choose a folder in MH-E via a command such as @kbd{o} @end ifnothtml @ifhtml (see the section -@uref{http://www.gnu.org/software/emacs/manual/html_node/Completion.html, +@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Completion.html, Completion} in @cite{The GNU Emacs Manual}). @end ifhtml In addition, MH-E has several ways of choosing a suitable default so @@ -2089,8 +2089,7 @@ expressions are not allowed. Unique fields should have a @samp{:} suffix; otherwise, the element can be used to render invisible an 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/tracker/index.php?func=detail&aid=1916032&group_id=13357&atid=113357, -SF #1916032}. +@uref{https://sourceforge.net/p/mh-e/bugs/245/, SF #245}. @cindex header field, @samp{Face:} @cindex header field, @samp{X-Face:} @@ -2142,12 +2141,12 @@ Finally, MH-E will display images referenced by the @samp{X-Face:} fields are present@footnote{The display of the images requires the @uref{http://www.gnu.org/software/wget/wget.html, @command{wget} program} to fetch the image and the @command{convert} -program from the @uref{http://www.imagemagick.org/, ImageMagick -suite}.}. Of the three header fields this is the most efficient in -terms of network usage since the image doesn't need to be transmitted -with every single mail. The option @code{mh-fetch-x-image-url} -controls the fetching of the @samp{X-Image-URL:} header field image -with the following values: +program from the @uref{http://www.imagemagick.org/script/index.php, +ImageMagick suite}.}. Of the three header fields this is the most +efficient in terms of network usage since the image doesn't need to be +transmitted with every single mail. The option +@code{mh-fetch-x-image-url} controls the fetching of the +@samp{X-Image-URL:} header field image with the following values: @table @samp @item Ask Before Fetching @@ -4969,7 +4968,7 @@ Michael W Thelen <thelenm@@stop.mail-abuse.org> wrote: The attribution consists of the sender's name and email address followed by the content of the option @code{mh-extract-from-attribution-verb}. This option can be set to -@samp{wrote:}, @samp{a écrit:}, and @samp{schrieb:}. You can also use +@samp{wrote:}, @samp{a écrit:}, and @samp{schrieb:}. You can also use the @samp{Custom String} menu item to enter your own verb. @vindex mail-citation-hook @@ -6025,7 +6024,7 @@ GNU Emacs Manual}). @end ifnothtml @ifhtml (see the section -@uref{http://www.gnu.org/software/emacs/manual/html_node/Regexps.html, +@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Regexps.html, Syntax of Regular Expressions} in @cite{The GNU Emacs Manual}). @end ifhtml @@ -6175,7 +6174,7 @@ GNU Emacs Manual}). @end ifnothtml @ifhtml (see the section -@uref{http://www.gnu.org/software/emacs/manual/html_node/Regexps.html, +@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Regexps.html, Syntax of Regular Expressions} in @cite{The GNU Emacs Manual}). @end ifhtml @@ -6283,7 +6282,7 @@ You can also use the speedbar @end ifnothtml @ifhtml (see the section -@uref{http://www.gnu.org/software/emacs/manual/html_node/Speedbar.html, +@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Speedbar.html, Speedbar Frames} in @cite{The GNU Emacs Manual}) @end ifhtml to view your folders. To bring up the speedbar, run @kbd{M-x speedbar @@ -6415,7 +6414,7 @@ For a description of the menu bar, please @end ifnothtml @ifhtml see the section -@uref{http://www.gnu.org/software/emacs/manual/html_node/Menu-Bar.html, +@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Menu-Bar.html, The Menu Bar} in @cite{The GNU Emacs Manual}. @end ifhtml @@ -6437,7 +6436,7 @@ tool bar, please @end ifnothtml @ifhtml see the section -@uref{http://www.gnu.org/software/emacs/manual/html_node/Tool-Bars.html, +@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Tool-Bars.html, Tool Bars} in @cite{The GNU Emacs Manual}. @end ifhtml @@ -8219,7 +8218,7 @@ GNU Emacs Manual}. @end ifnothtml @ifhtml section -@uref{http://www.gnu.org/software/emacs/manual/html_node/Regexps.html, +@uref{http://www.gnu.org/software/emacs/manual/html_node/emacs/Regexps.html, Syntax of Regular Expressions} in @cite{The GNU Emacs Manual}. @end ifhtml @@ -8712,12 +8711,11 @@ I also point out some additional sources of information. @kindex M-x mh-version Bug reports should be filed at -@uref{https://sourceforge.net/tracker/?group_id=13357&atid=113357, -SourceForge}. You need to be a SourceForge user to submit bug reports, -but this is easy enough to do that it shouldn't be a restriction for -you. Please include the output of @kbd{M-x mh-version} -(@pxref{Miscellaneous}) in any bug report you send unless you're 110% -positive we won't ask for it. +@uref{https://sourceforge.net/p/mh-e/bugs/, SourceForge}. You need to +be a SourceForge user to submit bug reports, but this is easy enough +to do that it shouldn't be a restriction for you. Please include the +output of @kbd{M-x mh-version} (@pxref{Miscellaneous}) in any bug +report you send unless you're 110% positive we won't ask for it. @node Mailing Lists, MH FAQ and Support, Bug Reports, Odds and Ends @appendixsec MH-E Mailing Lists @@ -8728,7 +8726,7 @@ positive we won't ask for it. There are several mailing lists for MH-E@. They are @i{mh-e-users at lists.sourceforge.net}, @i{mh-e-announce at lists.sourceforge.net}, and @i{mh-e-devel at lists.sourceforge.net}. You can subscribe or view -the archives at @uref{https://sourceforge.net/mail/?group_id=13357, +the archives at @uref{https://sourceforge.net/p/mh-e/mailman/, SourceForge}. Do not report bugs on these lists; please submit them via SourceForge (@pxref{Bug Reports}). @@ -8746,11 +8744,10 @@ itself which you will find useful. @cindex support -You can find FAQs on MH-E at the -@uref{https://sourceforge.net/tracker/?group_id=13357&atid=213357, -Support Requests} page on SourceForge. If you don't find the answer to -your question, file a support request and your question will become a -new FAQ! +You can find FAQs on MH-E by searching for @i{labels:support} on the +@uref{https://sourceforge.net/p/mh-e/bugs/search/?q=labels%3Asupport, +Tickets} page on SourceForge. If you don't find the answer to your +question, file a ticket and your question will become a new FAQ! @node Getting MH-E, , MH FAQ and Support, Odds and Ends @appendixsec Getting MH-E @@ -8768,13 +8765,13 @@ distribution in @file{miscellany/mh-e}. @cindex release notes New MH-E releases are always available for downloading at -@uref{https://sourceforge.net/project/showfiles.php?group_id=13357, -SourceForge} before they appear in an Emacs release. You can read the -release notes on that page to determine if the given release of MH-E -is already installed in your version of Emacs. You can also read the -change log to see if you are interested in what the given release of -MH-E has to offer (although we have no doubt that you will be -extremely interested in all new releases). +@uref{https://sourceforge.net/projects/mh-e/files/, SourceForge} +before they appear in an Emacs release. You can read the release notes +on that page to determine if the given release of MH-E is already +installed in your version of Emacs. You can also read the change log +to see if you are interested in what the given release of MH-E has to +offer (although we have no doubt that you will be extremely interested +in all new releases). @cindex Debian @@ -8802,10 +8799,10 @@ MH-E@. Check that you're running the new version with the command @cindex documentation In addition to the mh-e package, the -@uref{https://sourceforge.net/project/showfiles.php?group_id=13357, -SourceForge} site also contains doc and contrib packages. The former -is the latest release of this manual, and the latter contains a few -contributed packages you might find useful. +@uref{https://sourceforge.net/projects/mh-e/files/, SourceForge} site +also contains doc and contrib packages. The former is the latest +release of this manual, and the latter contains a few contributed +packages you might find useful. @node History, GFDL, Odds and Ends, Top @appendix History of MH-E diff --git a/doc/misc/org.texi b/doc/misc/org.texi index d41d2848cc6..1d7de18ada6 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 7.9.3d (GNU Emacs 24.3) +@set VERSION 7.9.3f (GNU Emacs 24.3) @c Use proper quote and backtick for code sections in PDF output @c Cf. Texinfo manual 14.2 @@ -903,17 +903,20 @@ $ git clone git://orgmode.org/org-mode.git $ make autoloads @end example -Note that @code{make autoloads} is mandatory: it defines Org's version and -Org's autoloaded functions, respectively in @file{org-version.el} and in +Note that in this case, @code{make autoloads} is mandatory: it defines Org's +version in @file{org-version.el} and Org's autoloads in @file{org-loaddefs.el}. Remember to add the correct load-path as described in the method above. -You can also compile and install Org from this git repository: check -@code{make help} to get the list of compilation/installation options. +You can also compile with @code{make}, generate the documentation with +@code{make doc}, create a local configuration with @code{make config} and +install Org with @code{make install}. Please run @code{make help} to get +the list of compilation/installation options. For more detailed explanations on Org's build system, please check the Org -Build System page on @uref{http://orgmode.org/worg/dev/org-build-system.html, Worg}. +Build System page on @uref{http://orgmode.org/worg/dev/org-build-system.html, +Worg}. @node Activation, Feedback, Installation, Introduction @section Activation @@ -1293,6 +1296,7 @@ Copy the @i{visible} text in the region into the kill ring. @end table @vindex org-startup-folded +@vindex org-agenda-inhibit-startup @cindex @code{overview}, STARTUP keyword @cindex @code{content}, STARTUP keyword @cindex @code{showall}, STARTUP keyword @@ -1311,6 +1315,10 @@ buffer: #+STARTUP: showeverything @end example +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. + @cindex property, VISIBILITY @noindent Furthermore, any entries with a @samp{VISIBILITY} property (@pxref{Properties @@ -1423,7 +1431,7 @@ level). Move subtree down (swap with next subtree of same level). @orgcmd{M-h,org-mark-element} Mark the element at point. Hitting repeatedly will mark subsequent elements -of the one just marked. E.g. hitting @key{M-h} on a paragraph will mark it, +of the one just marked. E.g., hitting @key{M-h} on a paragraph will mark it, hitting @key{M-h} immediately again will mark the next one. @orgcmd{C-c @@,org-mark-subtree} Mark the subtree at point. Hitting repeatedly will mark subsequent subtrees @@ -2444,7 +2452,7 @@ $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{3 numbers from the column to the left, 2 up to current row} +@@-1$-2..@@-1 @r{in the first row up, 3 fields from 2 columns on the left} @@I..II @r{between first and second hline, short for @code{@@I..@@II}} @end example @@ -3023,9 +3031,9 @@ functions. Org-Plot can produce 2D and 3D graphs of information stored in org tables using @file{Gnuplot} @uref{http://www.gnuplot.info/} and @file{gnuplot-mode} -@uref{http://cars9.uchicago.edu/~ravel/software/gnuplot-mode.html}. To see -this in action, ensure that you have both Gnuplot and Gnuplot mode installed -on your system, then call @code{org-plot/gnuplot} on the following table. +@uref{http://xafs.org/BruceRavel/GnuplotMode}. To see this in action, ensure +that you have both Gnuplot and Gnuplot mode installed on your system, then +call @code{org-plot/gnuplot} on the following table. @example @group @@ -4072,7 +4080,7 @@ module @file{org-depend.el}. Org mode can automatically record a timestamp and possibly a note when you mark a TODO item as DONE, or even each time you change the state of -a TODO item. This system is highly configurable, settings can be on a +a TODO item. This system is highly configurable; settings can be on a per-keyword basis and can be localized to a file or even a subtree. For information on how to clock working time for a task, see @ref{Clocking work time}. @@ -4428,7 +4436,7 @@ lists. But you can allow it by modifying @code{org-list-automatic-rules} accordingly.} (@pxref{Plain lists}) can be made into a checkbox by starting it with the string @samp{[ ]}. This feature is similar to TODO items (@pxref{TODO Items}), but is more lightweight. Checkboxes are not included -into the global TODO list, so they are often great to split a task into a +in the global TODO list, so they are often great to split a task into a number of simple steps. Or you can use them in a shopping list. To toggle a checkbox, use @kbd{C-c C-c}, or use the mouse (thanks to Piotr Zielinski's @file{org-mouse.el}). @@ -4486,7 +4494,7 @@ off a box while there are unchecked boxes above it. @orgcmd{C-c C-c,org-toggle-checkbox} Toggle checkbox status or (with prefix arg) checkbox presence at point. With a single prefix argument, add an empty checkbox or remove the current -one@footnote{`C-u C-c C-c' on the @emph{first} item of a list with no checkbox +one@footnote{@kbd{C-u C-c C-c} on the @emph{first} item of a list with no checkbox will add checkboxes to the rest of the list.}. With a double prefix argument, set it to @samp{[-]}, which is considered to be an intermediate state. @orgcmd{C-c C-x C-b,org-toggle-checkbox} @@ -11987,7 +11995,7 @@ resource or resource node which is known to TaskJuggler, such as @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. +@samp{scheduling}, etc.@: for tasks. @subsection Dependencies @@ -15987,7 +15995,7 @@ Here is a @LaTeX{} example. Let's say that you have this in your \end@{comment@} @end example -Pressing `C-c C-c' on @code{a new house} and will insert the converted +Pressing @kbd{C-c C-c} on @code{a new house} and will insert the converted @LaTeX{} list between the two marker lines. @node Dynamic blocks, Special agenda views, Tables in arbitrary syntax, Hacking diff --git a/doc/misc/reftex.texi b/doc/misc/reftex.texi index 0ee206b1a4d..312b84146fa 100644 --- a/doc/misc/reftex.texi +++ b/doc/misc/reftex.texi @@ -647,7 +647,7 @@ buffer. @vindex reftex-toc-max-level Change the maximum level of toc entries displayed in the @file{*toc*} buffer. Without prefix arg, all levels will be included. With prefix -arg (e.g @kbd{3 t}), ignore all toc entries with level greater than +arg (e.g., @kbd{3 t}), ignore all toc entries with level greater than @var{arg} (3 in this case). Chapters are level 1, sections are level 2. The mode line @samp{T<>} indicator shows the current value. The default depth can be configured with the variable @@ -3501,7 +3501,7 @@ make use of this feature, try @item @b{@LaTeX{} commands}@* @cindex LaTeX commands, not found -@code{\input}, @code{\include}, and @code{\section} (etc.) statements +@code{\input}, @code{\include}, and @code{\section} (etc.)@: statements have to be first on a line (except for white space). @item diff --git a/doc/misc/remember.texi b/doc/misc/remember.texi index c70b6212268..290c18a7b47 100644 --- a/doc/misc/remember.texi +++ b/doc/misc/remember.texi @@ -169,7 +169,7 @@ typing it into a buffer, or using the contents of the selected region, it will store that data---unindexed, uninterpreted---in a data pool. It will also try to remember as much context information as possible (any text properties that were set, where you copied it from, when, -how, etc). Later, you can walk through your accumulated set of data +how, etc.). Later, you can walk through your accumulated set of data (both organized, and unorganized) and easily begin moving things around, and making annotations that will express the full meaning of that data, as far as you know it. diff --git a/doc/misc/semantic.texi b/doc/misc/semantic.texi index de5019ee897..f43316f5012 100644 --- a/doc/misc/semantic.texi +++ b/doc/misc/semantic.texi @@ -520,7 +520,7 @@ Regression tests from the older Semantic 1.x API. @node Glossary @appendix Glossary -@table @keyword +@table @asis @item BNF In semantic 1.4, a BNF file represented ``Bovine Normal Form'', the grammar file used for the 1.4 parser generator. This was a play on diff --git a/doc/misc/ses.texi b/doc/misc/ses.texi index ce75f2ef91e..2c84d04c666 100644 --- a/doc/misc/ses.texi +++ b/doc/misc/ses.texi @@ -1,4 +1,4 @@ -\input texinfo @c -*-texinfo-*- +\input texinfo @c -*- mode: texinfo; coding: utf-8; -*- @c %**start of header @setfilename ../../info/ses @settitle @acronym{SES}: Simple Emacs Spreadsheet @@ -901,7 +901,7 @@ Begins with an 014 character, followed by sets of cell-definition macros for each row, followed by column-widths, column-printers, default-printer, and header-row. Then there's the global parameters (file-format ID, numrows, numcols) and the local variables (specifying -@acronym{SES} mode for the buffer, etc.) +@acronym{SES} mode for the buffer, etc.). When a @acronym{SES} file is loaded, first the numrows and numcols values are loaded, then the entire data area is @code{eval}ed, and finally the local @@ -1022,9 +1022,9 @@ Yusong Li @email{lyusong@@hotmail.com}@* Juri Linkov @email{juri@@jurta.org}@* Harald Maier @email{maierh@@myself.com}@* Alan Nash @email{anash@@san.rr.com}@* -François Pinard @email{pinard@@iro.umontreal.ca}@* +François Pinard @email{pinard@@iro.umontreal.ca}@* Pedro Pinto @email{ppinto@@cs.cmu.edu}@* -Stefan Reichör @email{xsteve@@riic.at}@* +Stefan Reichör @email{xsteve@@riic.at}@* Oliver Scholz @email{epameinondas@@gmx.de}@* Richard M. Stallman @email{rms@@gnu.org}@* Luc Teirlinck @email{teirllm@@dms.auburn.edu}@* diff --git a/doc/misc/sieve.texi b/doc/misc/sieve.texi index cbcd6a61f39..b84c3047ec1 100644 --- a/doc/misc/sieve.texi +++ b/doc/misc/sieve.texi @@ -159,7 +159,7 @@ press RET on <new script> to create a new script. @end example One of the scripts are highlighted, and standard point navigation -commands (@kbd{<up>}, @kbd{<down>} etc) can be used to navigate the +commands (@kbd{<up>}, @kbd{<down>} etc.)@: can be used to navigate the list. The following commands are available in the Manage Sieve buffer: diff --git a/doc/misc/speedbar.texi b/doc/misc/speedbar.texi index c017490d4aa..3cb0ec3aed8 100644 --- a/doc/misc/speedbar.texi +++ b/doc/misc/speedbar.texi @@ -223,7 +223,7 @@ Text in speedbar consists of four different types of data. Knowing how to read these textual elements will make it easier to navigate by identifying the types of data available. -@subsubsection Groups +@subsection Groups @cindex groups Groups summarize information in a single line, and provide a high level @@ -1158,7 +1158,7 @@ the next line. Create a tag line with @var{exp-button-type} for the small expansion button. This is the button that expands or contracts a node (if applicable), and @var{exp-button-char} the character in it (@samp{+}, -@samp{-}, @samp{?}, etc). @var{exp-button-function} is the function +@samp{-}, @samp{?}, etc.). @var{exp-button-function} is the function to call if it's clicked on. Button types are @code{bracket}, @code{angle}, @code{curly}, @code{expandtag}, @code{statictag}, and @code{nil}. @var{exp-button-data} is extra data attached to the text @@ -1167,7 +1167,7 @@ forming the expansion button. Next, @var{tag-button} is the text of the tag. @var{tag-button-function} is the function to call if clicked on, and @var{tag-button-data} is the data to attach to the text field (such a -tag positioning, etc). @var{tag-button-face} is a face used for this +tag positioning, etc.). @var{tag-button-face} is a face used for this type of tag. Lastly, @var{depth} shows the depth of expansion. diff --git a/doc/misc/texinfo.tex b/doc/misc/texinfo.tex index d64f45bbee9..85f184cc4cb 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-01-01.15} +\def\texinfoversion{2013-02-01.11} % % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, @@ -2496,7 +2496,7 @@ end \let-\codedash \let_\codeunder \else - \let-\realdash + \let-\normaldash \let_\realunder \fi \codex @@ -2505,7 +2505,7 @@ end \def\codex #1{\tclose{#1}\endgroup} -\def\realdash{-} +\def\normaldash{-} \def\codedash{-\discretionary{}{}{}} \def\codeunder{% % this is all so @math{@code{var_name}+1} can work. In math mode, _ @@ -2520,9 +2520,9 @@ end } % An additional complication: the above will allow breaks after, e.g., -% each of the four underscores in __typeof__. This is undesirable in -% some manuals, especially if they don't have long identifiers in -% general. @allowcodebreaks provides a way to control this. +% each of the four underscores in __typeof__. This is bad. +% @allowcodebreaks provides a document-level way to turn breaking at - +% and _ on and off. % \newif\ifallowcodebreaks \allowcodebreakstrue @@ -4188,7 +4188,7 @@ end % ..., but we might end up with active ones in the argument if % we're called from @code, as @code{@value{foo-bar_}}, though. % So \let them to their normal equivalents. - \let-\realdash \let_\normalunderscore + \let-\normaldash \let_\normalunderscore } } @@ -9993,22 +9993,26 @@ directory should work if nowhere else does.} @gdef@otherbackslash{@let\=@realbackslash} % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of -% the literal character `\'. -% -@def@normalturnoffactive{% - @let"=@normaldoublequote - @let$=@normaldollar %$ font-lock fix - @let+=@normalplus - @let<=@normalless - @let>=@normalgreater - @let\=@normalbackslash - @let^=@normalcaret - @let_=@normalunderscore - @let|=@normalverticalbar - @let~=@normaltilde - @markupsetuplqdefault - @markupsetuprqdefault - @unsepspaces +% the literal character `\'. Also revert - to its normal character, in +% case the active - from code has slipped in. +% +{@catcode`- = @active + @gdef@normalturnoffactive{% + @let-=@normaldash + @let"=@normaldoublequote + @let$=@normaldollar %$ font-lock fix + @let+=@normalplus + @let<=@normalless + @let>=@normalgreater + @let\=@normalbackslash + @let^=@normalcaret + @let_=@normalunderscore + @let|=@normalverticalbar + @let~=@normaltilde + @markupsetuplqdefault + @markupsetuprqdefault + @unsepspaces + } } % Make _ and + \other characters, temporarily. diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi index 3a859c62728..4a3e0ebc33c 100644 --- a/doc/misc/tramp.texi +++ b/doc/misc/tramp.texi @@ -20,6 +20,33 @@ @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. +@c There are subtle differences between texinfo 4.13 and 5.0. We must +@c declare two versions of the macro. This will be improved, hopefully. + +@c Texinfo 5.0. +@ifset txicommandconditionals +@macro xxx {one} +@set \one\ +@end macro + +@macro yyy {one, two} +@xxx{x\one\}@c +@ifclear x +\one\@w{}\two\@c +@end ifclear +@clear x\one\ +@end macro + +@macro trampfn {method, user, host, localname} +@value{prefix}@c +@yyy{\method\,@value{postfixhop}}@c +@yyy{\user\,@@}@c +\host\@value{postfix}\localname\ +@end macro +@end ifset + +@c Texinfo 4.13. +@ifclear txicommandconditionals @macro xxx {one}@c @set \one\@c @end macro @@ -35,6 +62,7 @@ @macro trampfn {method, user, host, localname}@c @value{prefix}@yyy{\method\,@value{postfixhop}}@yyy{\user\,@@}\host\@value{postfix}\localname\@c @end macro +@end ifclear @copying Copyright @copyright{} 1999--2013 Free Software Foundation, Inc. @@ -144,9 +172,6 @@ For the end user: * Usage:: An overview of the operation of @value{tramp}. * Bug Reports:: Reporting Bugs and Problems. * Frequently Asked Questions:: Questions and answers from the mailing list. -* Function Index:: @value{tramp} functions. -* Variable Index:: User options and variables. -* Concept Index:: An item for each concept. For the developer: @@ -155,6 +180,9 @@ For the developer: * Issues:: Debatable Issues and What Was Decided. * GNU Free Documentation License:: The license for this documentation. +* Function Index:: @value{tramp} functions. +* Variable Index:: User options and variables. +* Concept Index:: An item for each concept. @detailmenu --- The Detailed Node Listing --- @@ -188,8 +216,9 @@ Configuring @value{tramp} for use * Connection caching:: Reusing connection related information. * Remote Programs:: How @value{tramp} finds and uses programs on the remote machine. * Remote shell setup:: Remote shell setup hints. -* Windows setup hints:: Issues with Cygwin ssh. +* Android shell setup:: Android shell setup hints. * Auto-save and Backup:: Auto-save and Backup. +* Windows setup hints:: Issues with Cygwin ssh. Using @value{tramp} @@ -515,6 +544,7 @@ Method}. * Connection caching:: Reusing connection related information. * Remote Programs:: How @value{tramp} finds and uses programs on the remote machine. * Remote shell setup:: Remote shell setup hints. +* Android shell setup:: Android shell setup hints. * Auto-save and Backup:: Auto-save and Backup. * Windows setup hints:: Issues with Cygwin ssh. @end menu @@ -557,9 +587,10 @@ startup may drown out the improvement in file transfer times. External methods should be configured such a way that they don't require a password (with @command{ssh-agent}, or such alike). Modern @command{scp} implementations offer options to reuse existing -@command{ssh} connections, see method @command{scpc}. If it isn't -possible, you should consider @ref{Password handling}, otherwise you -will be prompted for a password every copy action. +@command{ssh} connections, which will be enabled by default if +available. If it isn't possible, you should consider @ref{Password +handling}, otherwise you will be prompted for a password every copy +action. @node Inline methods @@ -618,13 +649,6 @@ Connect to the remote host with @command{ssh}. This is identical to the previous option except that the @command{ssh} package is used, making the connection more secure. -There are also two variants, @option{ssh1} and @option{ssh2}, that -call @samp{ssh -1} and @samp{ssh -2}, respectively. This way, you can -explicitly select whether you want to use the SSH protocol version 1 -or 2 to connect to the remote host. (You can also specify in -@file{~/.ssh/config}, the SSH configuration file, which protocol -should be used, and use the regular @option{ssh} method.) - All the methods based on @command{ssh} have an additional feature: you can specify a host name which looks like @file{host#42} (the real host name, then a hash sign, then a port number). This means to connect to @@ -720,16 +744,6 @@ remote host. This supports the @samp{-P} argument. -Additionally, the methods @option{plink1} and @option{plink2} are -provided, which call @samp{plink -1 -ssh} or @samp{plink -2 -ssh} in -order to use SSH protocol version 1 or 2 explicitly. - -CCC: Do we have to connect to the remote host once from the command -line to accept the SSH key? Maybe this can be made automatic? - -CCC: Say something about the first shell command failing. This might -be due to a wrong setting of @code{tramp-rsh-end-of-line}. - @item @option{plinkx} @cindex method plinkx @@ -793,13 +807,6 @@ The cost of the cryptographic handshake at the start of an @command{scp} session can begin to absorb the advantage that the lack of encoding and decoding presents. -There are also two variants, @option{scp1} and @option{scp2}, that -call @samp{ssh -1} and @samp{ssh -2}, respectively. This way, you can -explicitly select whether you want to use the SSH protocol version 1 -or 2 to connect to the remote host. (You can also specify in -@file{~/.ssh/config}, the SSH configuration file, which protocol -should be used, and use the regular @option{scp} method.) - All the @command{ssh} based methods support the @samp{-p} feature where you can specify a port number to connect to in the host name. For example, the host name @file{host#42} tells @value{tramp} to @@ -867,51 +874,6 @@ to not print any shell prompt, which confuses @value{tramp} mightily. This method supports the @samp{-p} argument. -@item @option{scpc}---@command{ssh} and @command{scp} -@cindex method scpc -@cindex scpc method -@cindex scp (with scpc method) -@cindex ssh (with scpc method) - -Newer versions of @option{ssh} (for example OpenSSH 4) offer an option -@option{ControlMaster}. This allows @option{scp} to reuse an existing -@option{ssh} channel, which increases performance. - -Before you use this method, you should check whether your @option{ssh} -implementation supports this option. Try from the command line - -@example -ssh localhost -o ControlMaster=yes /bin/true -@end example - -If that command succeeds silently, then you can use @option{scpc}; but -if it fails like - -@example -command-line: line 0: Bad configuration option: ControlMaster -@end example - -then you cannot use it. Note, that the option -@option{ControlPersist}, if it is supported by your @option{ssh} -version, must be set to @option{no}. - -This method supports the @samp{-p} argument. - - -@item @option{rsyncc}---@command{ssh} and @command{rsync} -@cindex method rsyncc -@cindex rsyncc method -@cindex rsync (with rsyncc method) -@cindex ssh (with rsyncc method) - -Like the @option{scpc} method, @option{rsyncc} improves the underlying -@command{ssh} connection by the option @option{ControlMaster}. This -allows @command{rsync} to reuse an existing @command{ssh} channel, -which increases performance. - -This method supports the @samp{-p} argument. - - @item @option{pscp}---@command{plink} and @command{pscp} @cindex method pscp @cindex pscp method @@ -1036,10 +998,26 @@ name. @cindex method adb @cindex adb method -This special method uses the Android Debug Bridge for connecting -Android devices. The Android Debug Bridge, part of the Android SDK, -must be installed locally. The variable @var{tramp-adb-sdk-dir} must -be set to its installation directory. +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 +variable @var{tramp-adb-program} must point to its absolute path. + +Tramp does not connect Android devices to @command{adb}. This must be +performed outside @value{emacsname}. If there is exactly one Android +device connected to @command{adb}, a host name is not needed in the +remote file name. The default @value{tramp} name to be used is +@file{@trampfn{adb, , ,}} therefore. Otherwise, one could find +potential host names with the command @command{adb devices}. + +Usually, the @command{adb} method does not need any user name. It +runs under the permissions of the @command{adbd} process on the +Android device. If a user name is specified, @value{tramp} applies an +@command{su} on the device. This does not work with all Android +devices, especially with unrooted ones. In that case, an error +message is displayed. @end table @@ -1240,7 +1218,7 @@ user, see the @option{su} or @option{sudo} methods. They offer shortened syntax for the @samp{root} account, like @file{@trampfn{su, , , /etc/motd}}. -People who edit large files may want to consider @option{scpc} instead +People who edit large files may want to consider @option{scp} instead of @option{ssh}, or @option{pscp} instead of @option{plink}. These external methods are faster than inline methods for large files. Note, however, that external methods suffer from some limitations. @@ -1343,7 +1321,7 @@ Like with methods and users, you can also specify different default hosts for certain method/user combinations via the variable @code{tramp-default-host-alist}. Usually, this isn't necessary, because @code{tramp-default-host} should be sufficient. For some -methods, like @code{adb}, that default value must be overwritten, +methods, like @option{adb}, that default value must be overwritten, which is already the initial value of @code{tramp-default-host-alist}. @noindent @@ -2047,6 +2025,77 @@ fi @end table +@node Android shell setup +@section Android shell setup hints +@cindex android shell setup + +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. + +When an @command{sshd} process runs on the Android device, like +provided by the @code{SSHDroid} app, any @option{ssh}-based method can +be used. This requires some special settings. + +The default shell @code{/bin/sh} does not exist. Instead, you shall +use just @code{sh}, which invokes the shell installed on the device. +You can instruct @value{tramp} by this form: + +@lisp +(add-to-list 'tramp-connection-properties + (list (regexp-quote "192.168.0.26") "remote-shell" "sh")) +@end lisp + +@noindent +with @samp{192.168.0.26} being the IP address of your Android device. + +The user settings for the @code{$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: + +@lisp +(add-to-list 'tramp-remote-path 'tramp-own-remote-path) +(add-to-list 'tramp-remote-path "/system/xbin") +@end lisp + +@noindent +If the Android device is not @samp{rooted}, you must give the shell a +writable directory for temporary files: + +@lisp +(add-to-list 'tramp-remote-process-environment "TMPDIR=$HOME") +@end lisp + +@noindent +Now you shall be able to open a remote connection with @kbd{C-x C-f +@trampfn{ssh, , 192.168.0.26#2222, }}, given that @command{sshd} +listens on port @samp{2222}. + +It is also recommended to add a corresponding entry to your +@file{~/.ssh/config} for that connection, like + +@example +Host android + HostName 192.168.0.26 + User root + Port 2222 +@end example + +@noindent +In this case, you must change the setting for the remote shell to + +@lisp +(add-to-list 'tramp-connection-properties + (list (regexp-quote "android") "remote-shell" "sh")) +@end lisp + +@noindent +You would open the connection with @kbd{C-x C-f @trampfn{ssh, , +android, }} then. + + @node Auto-save and Backup @section Auto-save and Backup configuration @cindex auto-save @@ -2294,25 +2343,25 @@ using the default method. @xref{Default Method}. Some examples of @value{tramp} filenames are shown below. @table @file -@item @trampfn{, , melancholia, .emacs} +@item @value{prefix}melancholia@value{postfix}.emacs Edit the file @file{.emacs} in your home directory on the machine @code{melancholia}. -@item @trampfn{, , melancholia.danann.net, .emacs} +@item @value{prefix}melancholia.danann.net@value{postfix}.emacs This edits the same file, using the fully qualified domain name of the machine. -@item @trampfn{, , melancholia, ~/.emacs} +@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. -@item @trampfn{, , melancholia, ~daniel/.emacs} +@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{~<user>} construct is expanded to the home directory of that user on the remote machine. -@item @trampfn{, , melancholia, /etc/squid.conf} +@item @value{prefix}melancholia@value{postfix}/etc/squid.conf This edits the file @file{/etc/squid.conf} on the machine @code{melancholia}. @@ -2362,6 +2411,8 @@ number than the default one, given by the method. This is specified by adding @file{#<port>} to the host name, like in @file{@trampfn{ssh, daniel, melancholia#42, .emacs}}. +Note that @value{tramp} supports only filenames encoded in unibyte. + @node Alternative Syntax @section URL-like filename syntax @@ -2422,7 +2473,8 @@ If you, for example, type @kbd{C-x C-f @value{prefix}t @key{TAB}}, @value{tramp} might give you as result the choice for @example -@multitable {@trampfn{telnet, , melancholia.danann.net,}} {@trampfn{telnet, , 192.168.0.1,}} +@c @multitable {@trampfn{telnet, , melancholia.danann.net,}} {@trampfn{telnet, , 192.168.0.1,}} +@multitable @columnfractions .5 .5 @ifset emacs @item @value{prefixhop}telnet@value{postfixhop} @tab tmp/ @item @value{prefixhop}toto@value{postfix} @tab @@ -2449,7 +2501,8 @@ Next @kbd{@key{TAB}} brings you all machine names @value{tramp} detects in your @file{/etc/hosts} file, let's say @example -@multitable {@trampfn{telnet, , melancholia.danann.net,}} {@trampfn{telnet, , 192.168.0.1,}} +@multitable @columnfractions .5 .5 +@c @multitable {@trampfn{telnet, , melancholia.danann.net,}} {@trampfn{telnet, , 192.168.0.1,}} @item @trampfn{telnet, , 127.0.0.1,} @tab @trampfn{telnet, , 192.168.0.1,} @item @trampfn{telnet, , @value{ipv6prefix}::1@value{ipv6postfix},} @tab @trampfn{telnet, , localhost,} @item @trampfn{telnet, , melancholia.danann.net,} @tab @trampfn{telnet, , melancholia,} @@ -2940,7 +2993,7 @@ host as well as the time needed to perform the operations there count. In order to speed up @value{tramp}, one could either try to avoid some of the operations, or one could try to improve their performance. -Use an external method, like @option{scpc}. +Use an external method, like @option{scp}. Use caching. This is already enabled by default. Information about the remote host as well as the remote files are cached for reuse. The @@ -3066,20 +3119,6 @@ Host * @item -How can I use @samp{ControlPersist}? - -When @samp{ControlPersist} is set to @samp{yes}, the @option{scpc} -method does not work. You can use @option{scpx} instead with the -following settings in @file{~/.ssh/config}: - -@example -Host * - ControlMaster auto - ControlPersist yes -@end example - - -@item File name completion does not work with @value{tramp} When you log in to the remote machine, do you see the output of @@ -3870,3 +3909,4 @@ for @value{emacsothername}. @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. diff --git a/doc/misc/url.texi b/doc/misc/url.texi index 9e9dbc0a77d..49f8f3f0959 100644 --- a/doc/misc/url.texi +++ b/doc/misc/url.texi @@ -890,7 +890,7 @@ containing the data cached for that URL. @c With a large cache of documents on the local disk, it can be very handy @c when traveling, or any other time the network connection is not active -@c (a laptop with a dial-on-demand PPP connection, etc). Emacs/W3 can rely +@c (a laptop with a dial-on-demand PPP connection, etc.). Emacs/W3 can rely @c solely on its cache, and avoid checking to see if the page has changed @c on the remote server. In the case of a dial-on-demand PPP connection, @c this will keep the phone line free as long as possible, only bringing up diff --git a/doc/misc/vip.texi b/doc/misc/vip.texi index 01048d43dbf..7c998b37010 100644 --- a/doc/misc/vip.texi +++ b/doc/misc/vip.texi @@ -356,7 +356,7 @@ you can abort a partially formed command by typing @kbd{C-g}.@refill As in Vi, searching is done by @kbd{/} and @kbd{?}. The string will be searched literally by default. To invoke a regular expression search, first execute the search command @kbd{/} (or @kbd{?}) with empty search -string. (I.e, type @kbd{/} followed by @key{RET}.) +string. (I.e., type @kbd{/} followed by @key{RET}.) 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 diff --git a/doc/misc/viper.texi b/doc/misc/viper.texi index 9bcecf8e3de..8b4c9e93f7c 100644 --- a/doc/misc/viper.texi +++ b/doc/misc/viper.texi @@ -3204,7 +3204,7 @@ and they don't look into the value of variable syntax tables in order to not thwart the various major modes that set these tables. -The usual Emacs convention is used to indicate Control Characters, i.e +The usual Emacs convention is used to indicate Control Characters, i.e., C-h for Control-h. @emph{Do not confuse this with a sequence of separate characters C, -, h!!!} The @kbd{^} is itself, never used to indicate a diff --git a/doc/misc/woman.texi b/doc/misc/woman.texi index 3e4448ed1e0..9b9f9947da5 100644 --- a/doc/misc/woman.texi +++ b/doc/misc/woman.texi @@ -904,7 +904,7 @@ for a man configuration file. The default is @noindent [for GNU/Linux and Cygwin respectively.] A trailing separator (@file{/} -for UNIX etc.) on directories is optional and the filename matched if a +for UNIX etc.)@: on directories is optional and the filename matched if a directory is specified is the first to match the regexp @code{man.*\.conf}. If the environment variable @code{MANPATH} is not set but a configuration file is found then it is parsed instead (or as |