aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/emacs/ChangeLog10
-rw-r--r--doc/emacs/abbrevs.texi4
-rw-r--r--doc/emacs/basic.texi10
-rw-r--r--doc/emacs/buffers.texi9
-rw-r--r--doc/emacs/building.texi15
-rw-r--r--doc/emacs/calendar.texi16
-rw-r--r--doc/emacs/custom.texi40
-rw-r--r--doc/emacs/dired.texi12
-rw-r--r--doc/emacs/display.texi4
-rw-r--r--doc/emacs/emacs.texi456
-rw-r--r--doc/emacs/emerge-xtra.texi23
-rw-r--r--doc/emacs/files.texi11
-rw-r--r--doc/emacs/fortran-xtra.texi15
-rw-r--r--doc/emacs/frames.texi7
-rw-r--r--doc/emacs/help.texi15
-rw-r--r--doc/emacs/killing.texi9
-rw-r--r--doc/emacs/maintaining.texi18
-rw-r--r--doc/emacs/mark.texi13
-rw-r--r--doc/emacs/mini.texi7
-rw-r--r--doc/emacs/misc.texi16
-rw-r--r--doc/emacs/msdog.texi7
-rw-r--r--doc/emacs/mule.texi2
-rw-r--r--doc/emacs/programs.texi12
-rw-r--r--doc/emacs/rmail.texi11
-rw-r--r--doc/emacs/screen.texi11
-rw-r--r--doc/emacs/search.texi31
-rw-r--r--doc/emacs/sending.texi5
-rw-r--r--doc/emacs/text.texi38
-rw-r--r--doc/emacs/trouble.texi8
-rw-r--r--doc/emacs/vc1-xtra.texi4
-rw-r--r--doc/emacs/xresources.texi13
-rw-r--r--doc/lispintro/ChangeLog4
-rw-r--r--doc/lispintro/emacs-lisp-intro.texi2
-rw-r--r--doc/lispref/ChangeLog32
-rw-r--r--doc/lispref/abbrevs.texi8
-rw-r--r--doc/lispref/commands.texi68
-rw-r--r--doc/lispref/compile.texi4
-rw-r--r--doc/lispref/debugging.texi4
-rw-r--r--doc/lispref/display.texi2
-rw-r--r--doc/lispref/edebug.texi48
-rw-r--r--doc/lispref/elisp.texi156
-rw-r--r--doc/lispref/errors.texi4
-rw-r--r--doc/lispref/eval.texi2
-rw-r--r--doc/lispref/files.texi11
-rw-r--r--doc/lispref/frames.texi32
-rw-r--r--doc/lispref/functions.texi3
-rw-r--r--doc/lispref/internals.texi29
-rw-r--r--doc/lispref/keymaps.texi35
-rw-r--r--doc/lispref/loading.texi9
-rw-r--r--doc/lispref/minibuf.texi11
-rw-r--r--doc/lispref/modes.texi2
-rw-r--r--doc/lispref/numbers.texi4
-rw-r--r--doc/lispref/os.texi11
-rw-r--r--doc/lispref/processes.texi7
-rw-r--r--doc/lispref/searching.texi13
-rw-r--r--doc/lispref/sequences.texi17
-rw-r--r--doc/lispref/strings.texi5
-rw-r--r--doc/lispref/syntax.texi5
-rw-r--r--doc/lispref/text.texi34
-rw-r--r--doc/lispref/tips.texi5
-rw-r--r--doc/lispref/vol1.texi156
-rw-r--r--doc/lispref/vol2.texi156
-rw-r--r--doc/lispref/windows.texi4
-rw-r--r--doc/misc/ChangeLog79
-rw-r--r--doc/misc/ada-mode.texi6
-rw-r--r--doc/misc/auth.texi2
-rw-r--r--doc/misc/autotype.texi12
-rw-r--r--doc/misc/calc.texi2
-rw-r--r--doc/misc/cc-mode.texi4
-rw-r--r--doc/misc/cl.texi2
-rw-r--r--doc/misc/dbus.texi71
-rw-r--r--doc/misc/dired-x.texi6
-rw-r--r--doc/misc/ebrowse.texi104
-rw-r--r--doc/misc/ede.texi30
-rw-r--r--doc/misc/edt.texi2
-rw-r--r--doc/misc/eieio.texi6
-rw-r--r--doc/misc/emacs-mime.texi2
-rw-r--r--doc/misc/epa.texi18
-rw-r--r--doc/misc/erc.texi5
-rw-r--r--doc/misc/eshell.texi6
-rw-r--r--doc/misc/eudc.texi2
-rw-r--r--doc/misc/faq.texi2
-rw-r--r--doc/misc/flymake.texi8
-rw-r--r--doc/misc/forms.texi6
-rw-r--r--doc/misc/gnus-faq.texi46
-rw-r--r--doc/misc/gnus.texi2
-rw-r--r--doc/misc/idlwave.texi2
-rw-r--r--doc/misc/info.texi2
-rw-r--r--doc/misc/mairix-el.texi2
-rw-r--r--doc/misc/message.texi3
-rw-r--r--doc/misc/mh-e.texi8
-rw-r--r--doc/misc/newsticker.texi2
-rw-r--r--doc/misc/nxml-mode.texi4
-rw-r--r--doc/misc/org.texi3902
-rw-r--r--doc/misc/pcl-cvs.texi2
-rw-r--r--doc/misc/pgg.texi10
-rw-r--r--doc/misc/rcirc.texi5
-rw-r--r--doc/misc/reftex.texi5
-rw-r--r--doc/misc/remember.texi2
-rw-r--r--doc/misc/sasl.texi6
-rw-r--r--doc/misc/sc.texi32
-rw-r--r--doc/misc/sem-user.texi8
-rw-r--r--doc/misc/semantic.texi6
-rw-r--r--doc/misc/ses.texi6
-rw-r--r--doc/misc/sieve.texi10
-rw-r--r--doc/misc/smtpmail.texi20
-rw-r--r--doc/misc/speedbar.texi4
-rw-r--r--doc/misc/tramp.texi34
-rw-r--r--doc/misc/url.texi2
-rw-r--r--doc/misc/vip.texi102
-rw-r--r--doc/misc/viper.texi40
-rw-r--r--doc/misc/widget.texi100
-rw-r--r--doc/misc/woman.texi4
113 files changed, 4212 insertions, 2269 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index e954fe496c4..487663109bd 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,3 +1,13 @@
12010-06-23 Glenn Morris <rgm@gnu.org>
2
3 * abbrevs.texi, basic.texi, buffers.texi, building.texi, calendar.texi:
4 * custom.texi, dired.texi, display.texi, emacs.texi, emerge-xtra.texi:
5 * files.texi, fortran-xtra.texi, frames.texi, help.texi, killing.texi:
6 * maintaining.texi, mark.texi, mini.texi, misc.texi, msdog.texi:
7 * mule.texi, programs.texi, rmail.texi, screen.texi, search.texi:
8 * sending.texi, text.texi, trouble.texi, vc1-xtra.texi, xresources.texi:
9 Untabify Texinfo files.
10
12010-06-10 Glenn Morris <rgm@gnu.org> 112010-06-10 Glenn Morris <rgm@gnu.org>
2 12
3 * basic.texi (Inserting Text): Minor clarification. (Bug#6374) 13 * basic.texi (Inserting Text): Minor clarification. (Bug#6374)
diff --git a/doc/emacs/abbrevs.texi b/doc/emacs/abbrevs.texi
index 7a291742386..9039ca662a0 100644
--- a/doc/emacs/abbrevs.texi
+++ b/doc/emacs/abbrevs.texi
@@ -235,9 +235,9 @@ Edit a list of abbrevs; you can add, alter or remove definitions.
235@example 235@example
236@var{various other tables@dots{}} 236@var{various other tables@dots{}}
237(lisp-mode-abbrev-table) 237(lisp-mode-abbrev-table)
238"dk" 0 "define-key" 238"dk" 0 "define-key"
239(global-abbrev-table) 239(global-abbrev-table)
240"dfn" 0 "definition" 240"dfn" 0 "definition"
241@end example 241@end example
242 242
243@noindent 243@noindent
diff --git a/doc/emacs/basic.texi b/doc/emacs/basic.texi
index b5a194f1ccf..a4751e7f99d 100644
--- a/doc/emacs/basic.texi
+++ b/doc/emacs/basic.texi
@@ -17,15 +17,15 @@ suggest you first run the Emacs learn-by-doing tutorial, by typing
17 17
18* Inserting Text:: Inserting text by simply typing it. 18* Inserting Text:: Inserting text by simply typing it.
19* Moving Point:: Moving the cursor to the place where you want to 19* Moving Point:: Moving the cursor to the place where you want to
20 change something. 20 change something.
21* Erasing:: Deleting and killing text. 21* Erasing:: Deleting and killing text.
22* Basic Undo:: Undoing recent changes in the text. 22* Basic Undo:: Undoing recent changes in the text.
23* Files: Basic Files. Visiting, creating, and saving files. 23* Files: Basic Files. Visiting, creating, and saving files.
24* Help: Basic Help. Asking what a character does. 24* Help: Basic Help. Asking what a character does.
25* Blank Lines:: Making and deleting blank lines. 25* Blank Lines:: Making and deleting blank lines.
26* Continuation Lines:: How Emacs displays lines too wide for the screen. 26* Continuation Lines:: How Emacs displays lines too wide for the screen.
27* Position Info:: What page, line, row, or column is point on? 27* Position Info:: What page, line, row, or column is point on?
28* Arguments:: Numeric arguments for repeating a command N times. 28* Arguments:: Numeric arguments for repeating a command N times.
29* Repeating:: Repeating the previous command quickly. 29* Repeating:: Repeating the previous command quickly.
30@end menu 30@end menu
31 31
diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi
index 499556401fc..ca9279a9df4 100644
--- a/doc/emacs/buffers.texi
+++ b/doc/emacs/buffers.texi
@@ -1,6 +1,7 @@
1@c This is part of the Emacs manual. 1@c This is part of the Emacs manual.
2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
3@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4@c Free Software Foundation, Inc.
4@c See file emacs.texi for copying conditions. 5@c See file emacs.texi for copying conditions.
5@node Buffers, Windows, Files, Top 6@node Buffers, Windows, Files, Top
6@chapter Using Multiple Buffers 7@chapter Using Multiple Buffers
@@ -49,10 +50,10 @@ using that data type. For 32-bit machines, the largest buffer size is
49@menu 50@menu
50* Select Buffer:: Creating a new buffer or reselecting an old one. 51* Select Buffer:: Creating a new buffer or reselecting an old one.
51* List Buffers:: Getting a list of buffers that exist. 52* List Buffers:: Getting a list of buffers that exist.
52* Misc Buffer:: Renaming; changing read-onlyness; copying text. 53* Misc Buffer:: Renaming; changing read-onlyness; copying text.
53* Kill Buffer:: Killing buffers you no longer need. 54* Kill Buffer:: Killing buffers you no longer need.
54* Several Buffers:: How to go through the list of all buffers 55* Several Buffers:: How to go through the list of all buffers
55 and operate variously on several of them. 56 and operate variously on several of them.
56* Indirect Buffers:: An indirect buffer shares the text of another buffer. 57* Indirect Buffers:: An indirect buffer shares the text of another buffer.
57* Buffer Convenience:: Convenience and customization features for 58* Buffer Convenience:: Convenience and customization features for
58 buffer handling. 59 buffer handling.
diff --git a/doc/emacs/building.texi b/doc/emacs/building.texi
index 9a1ec894815..dca76407e23 100644
--- a/doc/emacs/building.texi
+++ b/doc/emacs/building.texi
@@ -1,6 +1,7 @@
1@c This is part of the Emacs manual. 1@c This is part of the Emacs manual.
2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
3@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4@c Free Software Foundation, Inc.
4@c See file emacs.texi for copying conditions. 5@c See file emacs.texi for copying conditions.
5@node Building, Maintaining, Programs, Top 6@node Building, Maintaining, Programs, Top
6@chapter Compiling and Testing Programs 7@chapter Compiling and Testing Programs
@@ -20,14 +21,14 @@ in the larger process of compiling and testing programs.
20 for use in the compilation buffer. 21 for use in the compilation buffer.
21* Grep Searching:: Searching with grep. 22* Grep Searching:: Searching with grep.
22* Flymake:: Finding syntax errors on the fly. 23* Flymake:: Finding syntax errors on the fly.
23* Debuggers:: Running symbolic debuggers for non-Lisp programs. 24* Debuggers:: Running symbolic debuggers for non-Lisp programs.
24* Executing Lisp:: Various modes for editing Lisp programs, 25* Executing Lisp:: Various modes for editing Lisp programs,
25 with different facilities for running 26 with different facilities for running
26 the Lisp programs. 27 the Lisp programs.
27* Libraries: Lisp Libraries. Creating Lisp programs to run in Emacs. 28* Libraries: Lisp Libraries. Creating Lisp programs to run in Emacs.
28* Eval: Lisp Eval. Executing a single Lisp expression in Emacs. 29* Eval: Lisp Eval. Executing a single Lisp expression in Emacs.
29* Interaction: Lisp Interaction. Executing Lisp in an Emacs buffer. 30* Interaction: Lisp Interaction. Executing Lisp in an Emacs buffer.
30* External Lisp:: Communicating through Emacs with a separate Lisp. 31* External Lisp:: Communicating through Emacs with a separate Lisp.
31@end menu 32@end menu
32 33
33@node Compilation 34@node Compilation
@@ -471,10 +472,10 @@ Lisp programs. @xref{Debugging,, The Lisp Debugger, elisp, the Emacs
471Lisp Reference Manual}, for information on the Emacs Lisp debugger. 472Lisp Reference Manual}, for information on the Emacs Lisp debugger.
472 473
473@menu 474@menu
474* Starting GUD:: How to start a debugger subprocess. 475* Starting GUD:: How to start a debugger subprocess.
475* Debugger Operation:: Connection between the debugger and source buffers. 476* Debugger Operation:: Connection between the debugger and source buffers.
476* Commands of GUD:: Key bindings for common commands. 477* Commands of GUD:: Key bindings for common commands.
477* GUD Customization:: Defining your own commands for GUD. 478* GUD Customization:: Defining your own commands for GUD.
478* GDB Graphical Interface:: An enhanced mode that uses GDB features to 479* GDB Graphical Interface:: An enhanced mode that uses GDB features to
479 implement a graphical debugging environment through 480 implement a graphical debugging environment through
480 Emacs. 481 Emacs.
diff --git a/doc/emacs/calendar.texi b/doc/emacs/calendar.texi
index ae4333cefbb..5698fd5ff58 100644
--- a/doc/emacs/calendar.texi
+++ b/doc/emacs/calendar.texi
@@ -42,7 +42,7 @@ about more specialized features.
42* Lunar Phases:: Displaying phases of the moon. 42* Lunar Phases:: Displaying phases of the moon.
43* Other Calendars:: Converting dates to other calendar systems. 43* Other Calendars:: Converting dates to other calendar systems.
44* Diary:: Displaying events from your diary. 44* Diary:: Displaying events from your diary.
45* Appointments:: Reminders when it's time to do something. 45* Appointments:: Reminders when it's time to do something.
46* Importing Diary:: Converting diary events to/from other formats. 46* Importing Diary:: Converting diary events to/from other formats.
47* Daylight Saving:: How to specify when daylight saving time is active. 47* Daylight Saving:: How to specify when daylight saving time is active.
48* Time Intervals:: Keeping track of time intervals. 48* Time Intervals:: Keeping track of time intervals.
@@ -674,11 +674,11 @@ Gregorian calendar did not exist.
674and from several other calendars. 674and from several other calendars.
675 675
676@menu 676@menu
677* Calendar Systems:: The calendars Emacs understands 677* Calendar Systems:: The calendars Emacs understands
678 (aside from Gregorian). 678 (aside from Gregorian).
679* To Other Calendar:: Converting the selected date to various calendars. 679* To Other Calendar:: Converting the selected date to various calendars.
680* From Other Calendar:: Moving to a date specified in another calendar. 680* From Other Calendar:: Moving to a date specified in another calendar.
681* Mayan Calendar:: Moving to a date specified in a Mayan calendar. 681* Mayan Calendar:: Moving to a date specified in a Mayan calendar.
682@end menu 682@end menu
683 683
684@node Calendar Systems 684@node Calendar Systems
@@ -1040,8 +1040,8 @@ entries.
1040@menu 1040@menu
1041* Displaying the Diary:: Viewing diary entries and associated calendar dates. 1041* Displaying the Diary:: Viewing diary entries and associated calendar dates.
1042* Format of Diary File:: Entering events in your diary. 1042* Format of Diary File:: Entering events in your diary.
1043* Date Formats:: Various ways you can specify dates. 1043* Date Formats:: Various ways you can specify dates.
1044* Adding to Diary:: Commands to create diary entries. 1044* Adding to Diary:: Commands to create diary entries.
1045* Special Diary Entries:: Anniversaries, blocks of dates, cyclic entries, etc. 1045* Special Diary Entries:: Anniversaries, blocks of dates, cyclic entries, etc.
1046@end menu 1046@end menu
1047 1047
diff --git a/doc/emacs/custom.texi b/doc/emacs/custom.texi
index a8bba419c25..18fdb581210 100644
--- a/doc/emacs/custom.texi
+++ b/doc/emacs/custom.texi
@@ -24,18 +24,18 @@ Reference Manual}.
24@end ifnottex 24@end ifnottex
25 25
26@menu 26@menu
27* Minor Modes:: Each minor mode is a feature you can turn on 27* Minor Modes:: Each minor mode is a feature you can turn on
28 independently of any others. 28 independently of any others.
29* Easy Customization:: Convenient way to browse and change settings. 29* Easy Customization:: Convenient way to browse and change settings.
30* Variables:: Many Emacs commands examine Emacs variables 30* Variables:: Many Emacs commands examine Emacs variables
31 to decide what to do; by setting variables, 31 to decide what to do; by setting variables,
32 you can control their functioning. 32 you can control their functioning.
33* Key Bindings:: The keymaps say what command each key runs. 33* Key Bindings:: The keymaps say what command each key runs.
34 By changing them, you can "redefine keys". 34 By changing them, you can "redefine keys".
35* Syntax:: The syntax table controls how words and 35* Syntax:: The syntax table controls how words and
36 expressions are parsed. 36 expressions are parsed.
37* Init File:: How to write common customizations in the 37* Init File:: How to write common customizations in the
38 @file{.emacs} file. 38 @file{.emacs} file.
39@end menu 39@end menu
40 40
41@node Minor Modes 41@node Minor Modes
@@ -794,10 +794,10 @@ check the variable's documentation string to see kind of value it
794expects (@pxref{Examining}). 794expects (@pxref{Examining}).
795 795
796@menu 796@menu
797* Examining:: Examining or setting one variable's value. 797* Examining:: Examining or setting one variable's value.
798* Hooks:: Hook variables let you specify programs for parts 798* Hooks:: Hook variables let you specify programs for parts
799 of Emacs to run on particular occasions. 799 of Emacs to run on particular occasions.
800* Locals:: Per-buffer values of variables. 800* Locals:: Per-buffer values of variables.
801* File Variables:: How files can specify variable values. 801* File Variables:: How files can specify variable values.
802* Directory Variables:: How variable values can be specified by directory. 802* Directory Variables:: How variable values can be specified by directory.
803@end menu 803@end menu
@@ -943,12 +943,12 @@ lambda expression.
943@end group 943@end group
944@group 944@group
945 (c-cleanup-list . (scope-operator 945 (c-cleanup-list . (scope-operator
946 empty-defun-braces 946 empty-defun-braces
947 defun-close-semi)) 947 defun-close-semi))
948@end group 948@end group
949@group 949@group
950 (c-offsets-alist . ((arglist-close . c-lineup-arglist) 950 (c-offsets-alist . ((arglist-close . c-lineup-arglist)
951 (substatement-open . 0))))) 951 (substatement-open . 0)))))
952@end group 952@end group
953 953
954@group 954@group
@@ -2175,10 +2175,10 @@ Manual}.
2175@end ifnottex 2175@end ifnottex
2176 2176
2177@menu 2177@menu
2178* Init Syntax:: Syntax of constants in Emacs Lisp. 2178* Init Syntax:: Syntax of constants in Emacs Lisp.
2179* Init Examples:: How to do some things with an init file. 2179* Init Examples:: How to do some things with an init file.
2180* Terminal Init:: Each terminal type can have an init file. 2180* Terminal Init:: Each terminal type can have an init file.
2181* Find Init:: How Emacs finds the init file. 2181* Find Init:: How Emacs finds the init file.
2182* Init Non-ASCII:: Using non-@acronym{ASCII} characters in an init file. 2182* Init Non-ASCII:: Using non-@acronym{ASCII} characters in an init file.
2183@end menu 2183@end menu
2184 2184
diff --git a/doc/emacs/dired.texi b/doc/emacs/dired.texi
index 4a1299c66a6..c8b4264d486 100644
--- a/doc/emacs/dired.texi
+++ b/doc/emacs/dired.texi
@@ -36,20 +36,20 @@ you to operate on the listed files. @xref{Directories}.
36* Deletion: Dired Deletion. Deleting files with Dired. 36* Deletion: Dired Deletion. Deleting files with Dired.
37* Flagging Many Files:: Flagging files based on their names. 37* Flagging Many Files:: Flagging files based on their names.
38* Visit: Dired Visiting. Other file operations through Dired. 38* Visit: Dired Visiting. Other file operations through Dired.
39* Marks vs Flags:: Flagging for deletion vs marking. 39* Marks vs Flags:: Flagging for deletion vs marking.
40* Operating on Files:: How to copy, rename, print, compress, etc. 40* Operating on Files:: How to copy, rename, print, compress, etc.
41 either one file or several files. 41 either one file or several files.
42* Shell Commands in Dired:: Running a shell command on the marked files. 42* Shell Commands in Dired:: Running a shell command on the marked files.
43* Transforming File Names:: Using patterns to rename multiple files. 43* Transforming File Names:: Using patterns to rename multiple files.
44* Comparison in Dired:: Running `diff' by way of Dired. 44* Comparison in Dired:: Running `diff' by way of Dired.
45* Subdirectories in Dired:: Adding subdirectories to the Dired buffer. 45* Subdirectories in Dired:: Adding subdirectories to the Dired buffer.
46@ifnottex 46@ifnottex
47* Subdir Switches:: Subdirectory switches in Dired. 47* Subdir Switches:: Subdirectory switches in Dired.
48@end ifnottex 48@end ifnottex
49* Subdirectory Motion:: Moving across subdirectories, and up and down. 49* Subdirectory Motion:: Moving across subdirectories, and up and down.
50* Hiding Subdirectories:: Making subdirectories visible or invisible. 50* Hiding Subdirectories:: Making subdirectories visible or invisible.
51* Updating: Dired Updating. Discarding lines for files of no interest. 51* Updating: Dired Updating. Discarding lines for files of no interest.
52* Find: Dired and Find. Using `find' to choose the files for Dired. 52* Find: Dired and Find. Using `find' to choose the files for Dired.
53* Wdired:: Operating on files by editing the Dired buffer. 53* Wdired:: Operating on files by editing the Dired buffer.
54* Image-Dired:: Viewing image thumbnails in Dired. 54* Image-Dired:: Viewing image thumbnails in Dired.
55* Misc: Misc Dired Features. Various other features. 55* Misc: Misc Dired Features. Various other features.
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi
index 3d3a1e03e46..3b5e7b0b955 100644
--- a/doc/emacs/display.texi
+++ b/doc/emacs/display.texi
@@ -13,11 +13,11 @@ commands and variables allow you to specify which part of the text you
13want to see, and how to display it. 13want to see, and how to display it.
14 14
15@menu 15@menu
16* Scrolling:: Commands to move text up and down in a window. 16* Scrolling:: Commands to move text up and down in a window.
17* Auto Scrolling:: Redisplay scrolls text automatically when needed. 17* Auto Scrolling:: Redisplay scrolls text automatically when needed.
18* Horizontal Scrolling:: Moving text left and right in a window. 18* Horizontal Scrolling:: Moving text left and right in a window.
19* Follow Mode:: Follow mode lets two windows scroll as one. 19* Follow Mode:: Follow mode lets two windows scroll as one.
20* Faces:: How to change the display style using faces. 20* Faces:: How to change the display style using faces.
21* Standard Faces:: Emacs' predefined faces. 21* Standard Faces:: Emacs' predefined faces.
22* Temporary Face Changes:: Commands to temporarily modify the default text face 22* Temporary Face Changes:: Commands to temporarily modify the default text face
23* Font Lock:: Minor mode for syntactic highlighting using faces. 23* Font Lock:: Minor mode for syntactic highlighting using faces.
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index 6eaee237510..4de9ee4a57a 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -33,7 +33,7 @@ developing GNU and promoting software freedom.''
33 33
34@dircategory Emacs 34@dircategory Emacs
35@direntry 35@direntry
36* Emacs: (emacs). The extensible self-documenting text editor. 36* Emacs: (emacs). The extensible self-documenting text editor.
37@end direntry 37@end direntry
38 38
39@c in general, keep the following line commented out, unless doing a 39@c in general, keep the following line commented out, unless doing a
@@ -134,13 +134,13 @@ and Sending Mail and Registers and Minibuffer.
134@end ignore 134@end ignore
135 135
136@menu 136@menu
137* Distrib:: How to get the latest Emacs distribution. 137* Distrib:: How to get the latest Emacs distribution.
138* Intro:: An introduction to Emacs concepts. 138* Intro:: An introduction to Emacs concepts.
139@c Note that in the printed manual, the glossary and indices come last. 139@c Note that in the printed manual, the glossary and indices come last.
140* Glossary:: Terms used in this manual. 140* Glossary:: Terms used in this manual.
141 141
142Indexes (each index contains a large menu) 142Indexes (each index contains a large menu)
143* Key Index:: An item for each standard Emacs key sequence. 143* Key Index:: An item for each standard Emacs key sequence.
144* Option Index:: An item for every command-line option. 144* Option Index:: An item for every command-line option.
145* Command Index:: An item for each command name. 145* Command Index:: An item for each command name.
146* Variable Index:: An item for each documented variable. 146* Variable Index:: An item for each documented variable.
@@ -149,100 +149,100 @@ Indexes (each index contains a large menu)
149* Acknowledgments:: Major contributors to GNU Emacs. 149* Acknowledgments:: Major contributors to GNU Emacs.
150 150
151Important General Concepts 151Important General Concepts
152* Screen:: How to interpret what you see on the screen. 152* Screen:: How to interpret what you see on the screen.
153* User Input:: Kinds of input events (characters, buttons, 153* User Input:: Kinds of input events (characters, buttons,
154 function keys). 154 function keys).
155* Keys:: Key sequences: what you type to request one 155* Keys:: Key sequences: what you type to request one
156 editing action. 156 editing action.
157* Commands:: Named functions run by key sequences to do editing. 157* Commands:: Named functions run by key sequences to do editing.
158* Entering Emacs:: Starting Emacs from the shell. 158* Entering Emacs:: Starting Emacs from the shell.
159* Exiting:: Stopping or killing Emacs. 159* Exiting:: Stopping or killing Emacs.
160 160
161Fundamental Editing Commands 161Fundamental Editing Commands
162* Basic:: The most basic editing commands. 162* Basic:: The most basic editing commands.
163* Minibuffer:: Entering arguments that are prompted for. 163* Minibuffer:: Entering arguments that are prompted for.
164* M-x:: Invoking commands by their names. 164* M-x:: Invoking commands by their names.
165* Help:: Commands for asking Emacs about its commands. 165* Help:: Commands for asking Emacs about its commands.
166 166
167Important Text-Changing Commands 167Important Text-Changing Commands
168* Mark:: The mark: how to delimit a ``region'' of text. 168* Mark:: The mark: how to delimit a ``region'' of text.
169* Killing:: Killing (cutting) text. 169* Killing:: Killing (cutting) text.
170* Yanking:: Recovering killed text. Moving text. (Pasting.) 170* Yanking:: Recovering killed text. Moving text. (Pasting.)
171* Accumulating Text:: Other ways of copying text. 171* Accumulating Text:: Other ways of copying text.
172* Rectangles:: Operating on the text inside a rectangle on the screen. 172* Rectangles:: Operating on the text inside a rectangle on the screen.
173* CUA Bindings:: Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} for copy 173* CUA Bindings:: Using @kbd{C-x}, @kbd{C-c}, @kbd{C-v} for copy
174 and paste, with enhanced rectangle support. 174 and paste, with enhanced rectangle support.
175* Registers:: Saving a text string or a location in the buffer. 175* Registers:: Saving a text string or a location in the buffer.
176* Display:: Controlling what text is displayed. 176* Display:: Controlling what text is displayed.
177* Search:: Finding or replacing occurrences of a string. 177* Search:: Finding or replacing occurrences of a string.
178* Fixit:: Commands especially useful for fixing typos. 178* Fixit:: Commands especially useful for fixing typos.
179* Keyboard Macros:: A keyboard macro records a sequence of 179* Keyboard Macros:: A keyboard macro records a sequence of
180 keystrokes to be replayed with a single command. 180 keystrokes to be replayed with a single command.
181 181
182Major Structures of Emacs 182Major Structures of Emacs
183* Files:: All about handling files. 183* Files:: All about handling files.
184* Buffers:: Multiple buffers; editing several files at once. 184* Buffers:: Multiple buffers; editing several files at once.
185* Windows:: Viewing two pieces of text at once. 185* Windows:: Viewing two pieces of text at once.
186* Frames:: Running the same Emacs session in multiple X windows. 186* Frames:: Running the same Emacs session in multiple X windows.
187* International:: Using non-@acronym{ASCII} character sets. 187* International:: Using non-@acronym{ASCII} character sets.
188 188
189Advanced Features 189Advanced Features
190* Major Modes:: Text mode vs. Lisp mode vs. C mode... 190* Major Modes:: Text mode vs. Lisp mode vs. C mode...
191* Indentation:: Editing the white space at the beginnings of lines. 191* Indentation:: Editing the white space at the beginnings of lines.
192* Text:: Commands and modes for editing English. 192* Text:: Commands and modes for editing English.
193* Programs:: Commands and modes for editing programs. 193* Programs:: Commands and modes for editing programs.
194* Building:: Compiling, running and debugging programs. 194* Building:: Compiling, running and debugging programs.
195* Maintaining:: Features for maintaining large programs. 195* Maintaining:: Features for maintaining large programs.
196* Abbrevs:: How to define text abbreviations to reduce 196* Abbrevs:: How to define text abbreviations to reduce
197 the number of characters you must type. 197 the number of characters you must type.
198@c AFAICS, the tex stuff generates its own index and does not use this one. 198@c AFAICS, the tex stuff generates its own index and does not use this one.
199@ifnottex 199@ifnottex
200* Picture Mode:: Editing pictures made up of characters using 200* Picture Mode:: Editing pictures made up of characters using
201 the quarter-plane screen model. 201 the quarter-plane screen model.
202@end ifnottex 202@end ifnottex
203* Sending Mail:: Sending mail in Emacs. 203* Sending Mail:: Sending mail in Emacs.
204* Rmail:: Reading mail in Emacs. 204* Rmail:: Reading mail in Emacs.
205* Dired:: You can ``edit'' a directory to manage files in it. 205* Dired:: You can ``edit'' a directory to manage files in it.
206* Calendar/Diary:: The calendar and diary facilities. 206* Calendar/Diary:: The calendar and diary facilities.
207* Document View:: Viewing PDF, PS and DVI files. 207* Document View:: Viewing PDF, PS and DVI files.
208* Gnus:: How to read netnews with Emacs. 208* Gnus:: How to read netnews with Emacs.
209* Shell:: Executing shell commands from Emacs. 209* Shell:: Executing shell commands from Emacs.
210* Emacs Server:: Using Emacs as an editing server for @code{mail}, etc. 210* Emacs Server:: Using Emacs as an editing server for @code{mail}, etc.
211* Printing:: Printing hardcopies of buffers or regions. 211* Printing:: Printing hardcopies of buffers or regions.
212* Sorting:: Sorting lines, paragraphs or pages within Emacs. 212* Sorting:: Sorting lines, paragraphs or pages within Emacs.
213* Narrowing:: Restricting display and editing to a portion 213* Narrowing:: Restricting display and editing to a portion
214 of the buffer. 214 of the buffer.
215* Two-Column:: Splitting apart columns to edit them 215* Two-Column:: Splitting apart columns to edit them
216 in side-by-side windows. 216 in side-by-side windows.
217* Editing Binary Files::Using Hexl mode to edit binary files. 217* Editing Binary Files::Using Hexl mode to edit binary files.
218* Saving Emacs Sessions:: Saving Emacs state from one session to the next. 218* Saving Emacs Sessions:: Saving Emacs state from one session to the next.
219* Recursive Edit:: A command can allow you to do editing 219* Recursive Edit:: A command can allow you to do editing
220 "within the command". This is called a 220 "within the command". This is called a
221 "recursive editing level". 221 "recursive editing level".
222* Emulation:: Emulating some other editors with Emacs. 222* Emulation:: Emulating some other editors with Emacs.
223* Hyperlinking:: Following links in buffers. 223* Hyperlinking:: Following links in buffers.
224* Dissociated Press:: Dissociating text for fun. 224* Dissociated Press:: Dissociating text for fun.
225* Amusements:: Various games and hacks. 225* Amusements:: Various games and hacks.
226* Customization:: Modifying the behavior of Emacs. 226* Customization:: Modifying the behavior of Emacs.
227 227
228Recovery from Problems 228Recovery from Problems
229* Quitting:: Quitting and aborting. 229* Quitting:: Quitting and aborting.
230* Lossage:: What to do if Emacs is hung or malfunctioning. 230* Lossage:: What to do if Emacs is hung or malfunctioning.
231* Bugs:: How and when to report a bug. 231* Bugs:: How and when to report a bug.
232* Contributing:: How to contribute improvements to Emacs. 232* Contributing:: How to contribute improvements to Emacs.
233* Service:: How to get help for your own Emacs needs. 233* Service:: How to get help for your own Emacs needs.
234 234
235Appendices 235Appendices
236* Copying:: The GNU General Public License gives you permission 236* Copying:: The GNU General Public License gives you permission
237 to redistribute GNU Emacs on certain terms; 237 to redistribute GNU Emacs on certain terms;
238 it also explains that there is no warranty. 238 it also explains that there is no warranty.
239* GNU Free Documentation License:: The license for this documentation. 239* GNU Free Documentation License:: The license for this documentation.
240* Emacs Invocation:: Hairy startup options. 240* Emacs Invocation:: Hairy startup options.
241* X Resources:: X resources for customizing Emacs. 241* X Resources:: X resources for customizing Emacs.
242* Antinews:: Information about Emacs version 22. 242* Antinews:: Information about Emacs version 22.
243* Mac OS / GNUstep:: Using Emacs under Mac OS and GNUstep. 243* Mac OS / GNUstep:: Using Emacs under Mac OS and GNUstep.
244* Microsoft Windows:: Using Emacs on Microsoft Windows and MS-DOS. 244* Microsoft Windows:: Using Emacs on Microsoft Windows and MS-DOS.
245* Manifesto:: What's GNU? Gnu's Not Unix! 245* Manifesto:: What's GNU? Gnu's Not Unix!
246 246
247@c Do NOT modify the following 3 lines! They must have this form to 247@c Do NOT modify the following 3 lines! They must have this form to
248@c be correctly identified by `texinfo-multiple-files-update'. In 248@c be correctly identified by `texinfo-multiple-files-update'. In
@@ -258,9 +258,9 @@ already listed, mentioned here so you can get to them in one step:
258 258
259The Organization of the Screen 259The Organization of the Screen
260 260
261* Point:: The place in the text where editing commands operate. 261* Point:: The place in the text where editing commands operate.
262* Echo Area:: Short messages appear at the bottom of the screen. 262* Echo Area:: Short messages appear at the bottom of the screen.
263* Mode Line:: Interpreting the mode line. 263* Mode Line:: Interpreting the mode line.
264* Menu Bar:: How to use the menu bar. 264* Menu Bar:: How to use the menu bar.
265 265
266Basic Editing Commands 266Basic Editing Commands
@@ -268,23 +268,23 @@ Basic Editing Commands
268* Inserting Text:: Inserting text by simply typing it. 268* Inserting Text:: Inserting text by simply typing it.
269* Moving Point:: Moving the cursor to the place where you want to 269* Moving Point:: Moving the cursor to the place where you want to
270 change something. 270 change something.
271* Erasing:: Deleting and killing text. 271* Erasing:: Deleting and killing text.
272* Basic Undo:: Undoing recent changes in the text. 272* Basic Undo:: Undoing recent changes in the text.
273* Basic Files:: Visiting, creating, and saving files. 273* Basic Files:: Visiting, creating, and saving files.
274* Basic Help:: Asking what a character does. 274* Basic Help:: Asking what a character does.
275* Blank Lines:: Making and deleting blank lines. 275* Blank Lines:: Making and deleting blank lines.
276* Continuation Lines:: How Emacs displays lines too wide for the screen. 276* Continuation Lines:: How Emacs displays lines too wide for the screen.
277* Position Info:: What page, line, row, or column is point on? 277* Position Info:: What page, line, row, or column is point on?
278* Arguments:: Numeric arguments for repeating a command N times. 278* Arguments:: Numeric arguments for repeating a command N times.
279* Repeating:: Repeating the previous command quickly. 279* Repeating:: Repeating the previous command quickly.
280 280
281The Minibuffer 281The Minibuffer
282 282
283* Minibuffer File:: Entering file names with the minibuffer. 283* Minibuffer File:: Entering file names with the minibuffer.
284* Minibuffer Edit:: How to edit in the minibuffer. 284* Minibuffer Edit:: How to edit in the minibuffer.
285* Completion:: An abbreviation facility for minibuffer input. 285* Completion:: An abbreviation facility for minibuffer input.
286* Minibuffer History:: Reusing recent minibuffer arguments. 286* Minibuffer History:: Reusing recent minibuffer arguments.
287* Repetition:: Re-executing commands that used the minibuffer. 287* Repetition:: Re-executing commands that used the minibuffer.
288* Passwords:: Entering passwords in the echo area. 288* Passwords:: Entering passwords in the echo area.
289 289
290Completion 290Completion
@@ -296,59 +296,59 @@ Completion
296 296
297Help 297Help
298 298
299* Help Summary:: Brief list of all Help commands. 299* Help Summary:: Brief list of all Help commands.
300* Key Help:: Asking what a key does in Emacs. 300* Key Help:: Asking what a key does in Emacs.
301* Name Help:: Asking about a command, variable or function name. 301* Name Help:: Asking about a command, variable or function name.
302* Apropos:: Asking what pertains to a given topic. 302* Apropos:: Asking what pertains to a given topic.
303* Help Mode:: Special features of Help mode and Help buffers. 303* Help Mode:: Special features of Help mode and Help buffers.
304* Library Keywords:: Finding Lisp libraries by keywords (topics). 304* Library Keywords:: Finding Lisp libraries by keywords (topics).
305* Language Help:: Help relating to international language support. 305* Language Help:: Help relating to international language support.
306* Misc Help:: Other help commands. 306* Misc Help:: Other help commands.
307* Help Files:: Commands to display pre-written help files. 307* Help Files:: Commands to display pre-written help files.
308* Help Echo:: Help on active text and tooltips (`balloon help'). 308* Help Echo:: Help on active text and tooltips (`balloon help').
309 309
310The Mark and the Region 310The Mark and the Region
311 311
312* Setting Mark:: Commands to set the mark. 312* Setting Mark:: Commands to set the mark.
313* Marking Objects:: Commands to put region around textual units. 313* Marking Objects:: Commands to put region around textual units.
314* Using Region:: Summary of ways to operate on contents of the region. 314* Using Region:: Summary of ways to operate on contents of the region.
315* Mark Ring:: Previous mark positions saved so you can go back there. 315* Mark Ring:: Previous mark positions saved so you can go back there.
316* Global Mark Ring:: Previous mark positions in various buffers. 316* Global Mark Ring:: Previous mark positions in various buffers.
317* Shift Selection:: Using shifted cursor motion keys. 317* Shift Selection:: Using shifted cursor motion keys.
318* Persistent Mark:: Keeping the mark active all the time. 318* Persistent Mark:: Keeping the mark active all the time.
319 319
320Killing and Moving Text 320Killing and Moving Text
321 321
322* Deletion:: Commands for deleting small amounts of text and 322* Deletion:: Commands for deleting small amounts of text and
323 blank areas. 323 blank areas.
324* Killing by Lines:: How to kill entire lines of text at one time. 324* Killing by Lines:: How to kill entire lines of text at one time.
325* Other Kill Commands:: Commands to kill large regions of text and 325* Other Kill Commands:: Commands to kill large regions of text and
326 syntactic units such as words and sentences. 326 syntactic units such as words and sentences.
327* Kill Options:: Options that affect killing. 327* Kill Options:: Options that affect killing.
328 328
329Yanking 329Yanking
330 330
331* Kill Ring:: Where killed text is stored. Basic yanking. 331* Kill Ring:: Where killed text is stored. Basic yanking.
332* Appending Kills:: Several kills in a row all yank together. 332* Appending Kills:: Several kills in a row all yank together.
333* Earlier Kills:: Yanking something killed some time ago. 333* Earlier Kills:: Yanking something killed some time ago.
334 334
335Registers 335Registers
336 336
337* RegPos:: Saving positions in registers. 337* RegPos:: Saving positions in registers.
338* RegText:: Saving text in registers. 338* RegText:: Saving text in registers.
339* RegRect:: Saving rectangles in registers. 339* RegRect:: Saving rectangles in registers.
340* RegConfig:: Saving window configurations in registers. 340* RegConfig:: Saving window configurations in registers.
341* RegNumbers:: Numbers in registers. 341* RegNumbers:: Numbers in registers.
342* RegFiles:: File names in registers. 342* RegFiles:: File names in registers.
343* Bookmarks:: Bookmarks are like registers, but persistent. 343* Bookmarks:: Bookmarks are like registers, but persistent.
344 344
345Controlling the Display 345Controlling the Display
346 346
347* Scrolling:: Commands to move text up and down in a window. 347* Scrolling:: Commands to move text up and down in a window.
348* Auto Scrolling:: Redisplay scrolls text automatically when needed. 348* Auto Scrolling:: Redisplay scrolls text automatically when needed.
349* Horizontal Scrolling:: Moving text left and right in a window. 349* Horizontal Scrolling:: Moving text left and right in a window.
350* Follow Mode:: Follow mode lets two windows scroll as one. 350* Follow Mode:: Follow mode lets two windows scroll as one.
351* Faces:: How to change the display style using faces. 351* Faces:: How to change the display style using faces.
352* Standard Faces:: Emacs' predefined faces. 352* Standard Faces:: Emacs' predefined faces.
353* Temporary Face Changes:: Commands to temporarily modify the default text face 353* Temporary Face Changes:: Commands to temporarily modify the default text face
354* Font Lock:: Minor mode for syntactic highlighting using faces. 354* Font Lock:: Minor mode for syntactic highlighting using faces.
@@ -367,15 +367,15 @@ Controlling the Display
367 367
368Searching and Replacement 368Searching and Replacement
369 369
370* Incremental Search:: Search happens as you type the string. 370* Incremental Search:: Search happens as you type the string.
371* Nonincremental Search:: Specify entire string and then search. 371* Nonincremental Search:: Specify entire string and then search.
372* Word Search:: Search for sequence of words. 372* Word Search:: Search for sequence of words.
373* Regexp Search:: Search for match for a regexp. 373* Regexp Search:: Search for match for a regexp.
374* Regexps:: Syntax of regular expressions. 374* Regexps:: Syntax of regular expressions.
375* Regexp Backslash:: Regular expression constructs starting with `\'. 375* Regexp Backslash:: Regular expression constructs starting with `\'.
376* Regexp Example:: A complex regular expression explained. 376* Regexp Example:: A complex regular expression explained.
377* Search Case:: To ignore case while searching, or not. 377* Search Case:: To ignore case while searching, or not.
378* Replace:: Search, and replace some or all matches. 378* Replace:: Search, and replace some or all matches.
379* Other Repeating Search:: Operating on all matches for some regexp. 379* Other Repeating Search:: Operating on all matches for some regexp.
380 380
381Incremental Search 381Incremental Search
@@ -393,16 +393,16 @@ Incremental Search
393Replacement Commands 393Replacement Commands
394 394
395* Unconditional Replace:: Replacing all matches for a string. 395* Unconditional Replace:: Replacing all matches for a string.
396* Regexp Replace:: Replacing all matches for a regexp. 396* Regexp Replace:: Replacing all matches for a regexp.
397* Replacement and Case:: How replacements preserve case of letters. 397* Replacement and Case:: How replacements preserve case of letters.
398* Query Replace:: How to use querying. 398* Query Replace:: How to use querying.
399 399
400Commands for Fixing Typos 400Commands for Fixing Typos
401 401
402* Undo:: The Undo commands. 402* Undo:: The Undo commands.
403* Transpose:: Exchanging two characters, words, lines, lists... 403* Transpose:: Exchanging two characters, words, lines, lists...
404* Fixing Case:: Correcting case of last word entered. 404* Fixing Case:: Correcting case of last word entered.
405* Spelling:: Apply spelling checker to a word, or a whole file. 405* Spelling:: Apply spelling checker to a word, or a whole file.
406 406
407Keyboard Macros 407Keyboard Macros
408 408
@@ -448,9 +448,9 @@ Saving Files
448 448
449Backup Files 449Backup Files
450 450
451* Backup Names:: How backup files are named. 451* Backup Names:: How backup files are named.
452* Backup Deletion:: Emacs deletes excess numbered backups. 452* Backup Deletion:: Emacs deletes excess numbered backups.
453* Backup Copying:: Backups can be made by copying or renaming. 453* Backup Copying:: Backups can be made by copying or renaming.
454 454
455Auto Reverting Non-File Buffers 455Auto Reverting Non-File Buffers
456 456
@@ -463,16 +463,16 @@ Auto-Saving: Protection Against Disasters
463* Auto Save Files:: The file where auto-saved changes are 463* Auto Save Files:: The file where auto-saved changes are
464 actually made until you save the file. 464 actually made until you save the file.
465* Auto Save Control:: Controlling when and how often to auto-save. 465* Auto Save Control:: Controlling when and how often to auto-save.
466* Recover:: Recovering text from auto-save files. 466* Recover:: Recovering text from auto-save files.
467 467
468Using Multiple Buffers 468Using Multiple Buffers
469 469
470* Select Buffer:: Creating a new buffer or reselecting an old one. 470* Select Buffer:: Creating a new buffer or reselecting an old one.
471* List Buffers:: Getting a list of buffers that exist. 471* List Buffers:: Getting a list of buffers that exist.
472* Misc Buffer:: Renaming; changing read-onlyness; copying text. 472* Misc Buffer:: Renaming; changing read-onlyness; copying text.
473* Kill Buffer:: Killing buffers you no longer need. 473* Kill Buffer:: Killing buffers you no longer need.
474* Several Buffers:: How to go through the list of all buffers 474* Several Buffers:: How to go through the list of all buffers
475 and operate variously on several of them. 475 and operate variously on several of them.
476* Indirect Buffers:: An indirect buffer shares the text of another buffer. 476* Indirect Buffers:: An indirect buffer shares the text of another buffer.
477* Buffer Convenience:: Convenience and customization features for 477* Buffer Convenience:: Convenience and customization features for
478 buffer handling. 478 buffer handling.
@@ -507,10 +507,10 @@ Frames and Graphical Displays
507* Multiple Displays:: How one Emacs job can talk to several displays. 507* Multiple Displays:: How one Emacs job can talk to several displays.
508* Special Buffer Frames:: You can make certain buffers have their own frames. 508* Special Buffer Frames:: You can make certain buffers have their own frames.
509* Frame Parameters:: Changing the colors and other modes of frames. 509* Frame Parameters:: Changing the colors and other modes of frames.
510* Scroll Bars:: How to enable and disable scroll bars; how to use them. 510* Scroll Bars:: How to enable and disable scroll bars; how to use them.
511* Wheeled Mice:: Using mouse wheels for scrolling. 511* Wheeled Mice:: Using mouse wheels for scrolling.
512* Drag and Drop:: Using drag and drop to open files and insert text. 512* Drag and Drop:: Using drag and drop to open files and insert text.
513* Menu Bars:: Enabling and disabling the menu bar. 513* Menu Bars:: Enabling and disabling the menu bar.
514* Tool Bars:: Enabling and disabling the tool bar. 514* Tool Bars:: Enabling and disabling the tool bar.
515* Dialog Boxes:: Controlling use of dialog boxes. 515* Dialog Boxes:: Controlling use of dialog boxes.
516* Tooltips:: Displaying information at the current mouse position. 516* Tooltips:: Displaying information at the current mouse position.
@@ -559,31 +559,31 @@ Major Modes
559Indentation 559Indentation
560 560
561* Indentation Commands:: Various commands and techniques for indentation. 561* Indentation Commands:: Various commands and techniques for indentation.
562* Tab Stops:: You can set arbitrary "tab stops" and then 562* Tab Stops:: You can set arbitrary "tab stops" and then
563 indent to the next tab stop when you want to. 563 indent to the next tab stop when you want to.
564* Just Spaces:: You can request indentation using just spaces. 564* Just Spaces:: You can request indentation using just spaces.
565 565
566Commands for Human Languages 566Commands for Human Languages
567 567
568* Words:: Moving over and killing words. 568* Words:: Moving over and killing words.
569* Sentences:: Moving over and killing sentences. 569* Sentences:: Moving over and killing sentences.
570* Paragraphs:: Moving over paragraphs. 570* Paragraphs:: Moving over paragraphs.
571* Pages:: Moving over pages. 571* Pages:: Moving over pages.
572* Filling:: Filling or justifying text. 572* Filling:: Filling or justifying text.
573* Case:: Changing the case of text. 573* Case:: Changing the case of text.
574* Text Mode:: The major modes for editing text files. 574* Text Mode:: The major modes for editing text files.
575* Outline Mode:: Editing outlines. 575* Outline Mode:: Editing outlines.
576* TeX Mode:: Editing input to the formatter TeX. 576* TeX Mode:: Editing input to the formatter TeX.
577* HTML Mode:: Editing HTML and SGML files. 577* HTML Mode:: Editing HTML and SGML files.
578* Nroff Mode:: Editing input to the formatter nroff. 578* Nroff Mode:: Editing input to the formatter nroff.
579* Formatted Text:: Editing formatted text directly in WYSIWYG fashion. 579* Formatted Text:: Editing formatted text directly in WYSIWYG fashion.
580* Text Based Tables:: Editing text-based tables in WYSIWYG fashion. 580* Text Based Tables:: Editing text-based tables in WYSIWYG fashion.
581 581
582Filling Text 582Filling Text
583 583
584* Auto Fill:: Auto Fill mode breaks long lines automatically. 584* Auto Fill:: Auto Fill mode breaks long lines automatically.
585* Fill Commands:: Commands to refill paragraphs and center lines. 585* Fill Commands:: Commands to refill paragraphs and center lines.
586* Fill Prefix:: Filling paragraphs that are indented 586* Fill Prefix:: Filling paragraphs that are indented
587 or in a comment, etc. 587 or in a comment, etc.
588* Adaptive Fill:: How Emacs can determine the fill prefix automatically. 588* Adaptive Fill:: How Emacs can determine the fill prefix automatically.
589* Refill:: Keeping paragraphs filled. 589* Refill:: Keeping paragraphs filled.
@@ -592,7 +592,7 @@ Filling Text
592Outline Mode 592Outline Mode
593 593
594* Outline Format:: What the text of an outline looks like. 594* Outline Format:: What the text of an outline looks like.
595* Outline Motion:: Special commands for moving through 595* Outline Motion:: Special commands for moving through
596 outlines. 596 outlines.
597* Outline Visibility:: Commands to control what is visible. 597* Outline Visibility:: Commands to control what is visible.
598* Outline Views:: Outlines and multiple views. 598* Outline Views:: Outlines and multiple views.
@@ -644,7 +644,7 @@ Editing Programs
644 of a program. 644 of a program.
645* Program Indent:: Adjusting indentation to show the nesting. 645* Program Indent:: Adjusting indentation to show the nesting.
646* Parentheses:: Commands that operate on parentheses. 646* Parentheses:: Commands that operate on parentheses.
647* Comments:: Inserting, killing, and aligning comments. 647* Comments:: Inserting, killing, and aligning comments.
648* Documentation:: Getting documentation of functions you plan to call. 648* Documentation:: Getting documentation of functions you plan to call.
649* Hideshow:: Displaying blocks selectively. 649* Hideshow:: Displaying blocks selectively.
650* Symbol Completion:: Completion on symbol names of your program or language. 650* Symbol Completion:: Completion on symbol names of your program or language.
@@ -666,18 +666,18 @@ Top-Level Definitions, or Defuns
666 666
667Indentation for Programs 667Indentation for Programs
668 668
669* Basic Indent:: Indenting a single line. 669* Basic Indent:: Indenting a single line.
670* Multi-line Indent:: Commands to reindent many lines at once. 670* Multi-line Indent:: Commands to reindent many lines at once.
671* Lisp Indent:: Specifying how each Lisp function should be indented. 671* Lisp Indent:: Specifying how each Lisp function should be indented.
672* C Indent:: Extra features for indenting C and related modes. 672* C Indent:: Extra features for indenting C and related modes.
673* Custom C Indent:: Controlling indentation style for C and related modes. 673* Custom C Indent:: Controlling indentation style for C and related modes.
674 674
675Commands for Editing with Parentheses 675Commands for Editing with Parentheses
676 676
677* Expressions:: Expressions with balanced parentheses. 677* Expressions:: Expressions with balanced parentheses.
678* Moving by Parens:: Commands for moving up, down and across 678* Moving by Parens:: Commands for moving up, down and across
679 in the structure of parentheses. 679 in the structure of parentheses.
680* Matching:: Insertion of a close-delimiter flashes matching open. 680* Matching:: Insertion of a close-delimiter flashes matching open.
681 681
682Manipulating Comments 682Manipulating Comments
683 683
@@ -702,12 +702,12 @@ C and Related Modes
702 702
703Fortran Mode 703Fortran Mode
704 704
705* Fortran Motion:: Moving point by statements or subprograms. 705* Fortran Motion:: Moving point by statements or subprograms.
706* Fortran Indent:: Indentation commands for Fortran. 706* Fortran Indent:: Indentation commands for Fortran.
707* Fortran Comments:: Inserting and aligning comments. 707* Fortran Comments:: Inserting and aligning comments.
708* Fortran Autofill:: Auto fill support for Fortran. 708* Fortran Autofill:: Auto fill support for Fortran.
709* Fortran Columns:: Measuring columns for valid Fortran. 709* Fortran Columns:: Measuring columns for valid Fortran.
710* Fortran Abbrev:: Built-in abbrevs for Fortran keywords. 710* Fortran Abbrev:: Built-in abbrevs for Fortran keywords.
711 711
712Fortran Indentation 712Fortran Indentation
713 713
@@ -719,28 +719,28 @@ Fortran Indentation
719 719
720Compiling and Testing Programs 720Compiling and Testing Programs
721 721
722* Compilation:: Compiling programs in languages other 722* Compilation:: Compiling programs in languages other
723 than Lisp (C, Pascal, etc.). 723 than Lisp (C, Pascal, etc.).
724* Compilation Mode:: The mode for visiting compiler errors. 724* Compilation Mode:: The mode for visiting compiler errors.
725* Compilation Shell:: Customizing your shell properly 725* Compilation Shell:: Customizing your shell properly
726 for use in the compilation buffer. 726 for use in the compilation buffer.
727* Grep Searching:: Searching with grep. 727* Grep Searching:: Searching with grep.
728* Flymake:: Finding syntax errors on the fly. 728* Flymake:: Finding syntax errors on the fly.
729* Debuggers:: Running symbolic debuggers for non-Lisp programs. 729* Debuggers:: Running symbolic debuggers for non-Lisp programs.
730* Executing Lisp:: Various modes for editing Lisp programs, 730* Executing Lisp:: Various modes for editing Lisp programs,
731 with different facilities for running 731 with different facilities for running
732 the Lisp programs. 732 the Lisp programs.
733* Lisp Libraries:: Creating Lisp programs to run in Emacs. 733* Lisp Libraries:: Creating Lisp programs to run in Emacs.
734* Lisp Eval:: Executing a single Lisp expression in Emacs. 734* Lisp Eval:: Executing a single Lisp expression in Emacs.
735* Lisp Interaction:: Executing Lisp in an Emacs buffer. 735* Lisp Interaction:: Executing Lisp in an Emacs buffer.
736* External Lisp:: Communicating through Emacs with a separate Lisp. 736* External Lisp:: Communicating through Emacs with a separate Lisp.
737 737
738Running Debuggers Under Emacs 738Running Debuggers Under Emacs
739 739
740* Starting GUD:: How to start a debugger subprocess. 740* Starting GUD:: How to start a debugger subprocess.
741* Debugger Operation:: Connection between the debugger and source buffers. 741* Debugger Operation:: Connection between the debugger and source buffers.
742* Commands of GUD:: Key bindings for common commands. 742* Commands of GUD:: Key bindings for common commands.
743* GUD Customization:: Defining your own commands for GUD. 743* GUD Customization:: Defining your own commands for GUD.
744* GDB Graphical Interface:: An enhanced mode that uses GDB features to 744* GDB Graphical Interface:: An enhanced mode that uses GDB features to
745 implement a graphical debugging environment through 745 implement a graphical debugging environment through
746 Emacs. 746 Emacs.
@@ -761,9 +761,9 @@ GDB Graphical Interface
761Maintaining Large Programs 761Maintaining Large Programs
762 762
763* Version Control:: Using version control systems. 763* Version Control:: Using version control systems.
764* Change Log:: Maintaining a change history for your program. 764* Change Log:: Maintaining a change history for your program.
765* Tags:: Go directly to any function in your program in one 765* Tags:: Go directly to any function in your program in one
766 command. Tags remembers which file it is in. 766 command. Tags remembers which file it is in.
767* EDE:: An integrated development environment for Emacs. 767* EDE:: An integrated development environment for Emacs.
768* Emerge:: A convenient way of merging two versions of a program. 768* Emerge:: A convenient way of merging two versions of a program.
769 769
@@ -844,25 +844,25 @@ Change Logs
844 844
845Tags Tables 845Tags Tables
846 846
847* Tag Syntax:: Tag syntax for various types of code and text files. 847* Tag Syntax:: Tag syntax for various types of code and text files.
848* Create Tags Table:: Creating a tags table with @code{etags}. 848* Create Tags Table:: Creating a tags table with @code{etags}.
849* Etags Regexps:: Create arbitrary tags using regular expressions. 849* Etags Regexps:: Create arbitrary tags using regular expressions.
850* Select Tags Table:: How to visit a tags table. 850* Select Tags Table:: How to visit a tags table.
851* Find Tag:: Commands to find the definition of a specific tag. 851* Find Tag:: Commands to find the definition of a specific tag.
852* Tags Search:: Using a tags table for searching and replacing. 852* Tags Search:: Using a tags table for searching and replacing.
853* List Tags:: Listing and finding tags defined in a file. 853* List Tags:: Listing and finding tags defined in a file.
854 854
855Merging Files with Emerge 855Merging Files with Emerge
856 856
857* Overview of Emerge:: How to start Emerge. Basic concepts. 857* Overview of Emerge:: How to start Emerge. Basic concepts.
858* Submodes of Emerge:: Fast mode vs. Edit mode. 858* Submodes of Emerge:: Fast mode vs. Edit mode.
859 Skip Prefers mode and Auto Advance mode. 859 Skip Prefers mode and Auto Advance mode.
860* State of Difference:: You do the merge by specifying state A or B 860* State of Difference:: You do the merge by specifying state A or B
861 for each difference. 861 for each difference.
862* Merge Commands:: Commands for selecting a difference, 862* Merge Commands:: Commands for selecting a difference,
863 changing states of differences, etc. 863 changing states of differences, etc.
864* Exiting Emerge:: What to do when you've finished the merge. 864* Exiting Emerge:: What to do when you've finished the merge.
865* Combining in Emerge:: How to keep both alternatives for a difference. 865* Combining in Emerge:: How to keep both alternatives for a difference.
866* Fine Points of Emerge:: Miscellaneous issues. 866* Fine Points of Emerge:: Miscellaneous issues.
867 867
868Abbrevs 868Abbrevs
@@ -887,10 +887,10 @@ Editing Pictures
887 887
888Sending Mail 888Sending Mail
889 889
890* Mail Format:: Format of the mail being composed. 890* Mail Format:: Format of the mail being composed.
891* Mail Headers:: Details of some standard mail header fields. 891* Mail Headers:: Details of some standard mail header fields.
892* Mail Aliases:: Abbreviating and grouping mail addresses. 892* Mail Aliases:: Abbreviating and grouping mail addresses.
893* Mail Commands:: Special commands for editing mail being composed. 893* Mail Commands:: Special commands for editing mail being composed.
894* Mail Signature:: Adding a signature to every message. 894* Mail Signature:: Adding a signature to every message.
895* Mail Amusements:: Distracting the NSA; adding fortune messages. 895* Mail Amusements:: Distracting the NSA; adding fortune messages.
896* Mail Methods:: Using alternative mail-composition methods. 896* Mail Methods:: Using alternative mail-composition methods.
@@ -928,28 +928,28 @@ Reading Mail with Rmail
928 928
929Summaries 929Summaries
930 930
931* Rmail Make Summary:: Making various sorts of summaries. 931* Rmail Make Summary:: Making various sorts of summaries.
932* Rmail Summary Edit:: Manipulating messages from the summary. 932* Rmail Summary Edit:: Manipulating messages from the summary.
933 933
934Dired, the Directory Editor 934Dired, the Directory Editor
935 935
936* Dired Enter:: How to invoke Dired. 936* Dired Enter:: How to invoke Dired.
937* Dired Navigation:: Special motion commands in the Dired buffer. 937* Dired Navigation:: Special motion commands in the Dired buffer.
938* Dired Deletion:: Deleting files with Dired. 938* Dired Deletion:: Deleting files with Dired.
939* Flagging Many Files:: Flagging files based on their names. 939* Flagging Many Files:: Flagging files based on their names.
940* Dired Visiting:: Other file operations through Dired. 940* Dired Visiting:: Other file operations through Dired.
941* Marks vs Flags:: Flagging for deletion vs marking. 941* Marks vs Flags:: Flagging for deletion vs marking.
942* Operating on Files:: How to copy, rename, print, compress, etc. 942* Operating on Files:: How to copy, rename, print, compress, etc.
943 either one file or several files. 943 either one file or several files.
944* Shell Commands in Dired:: Running a shell command on the marked files. 944* Shell Commands in Dired:: Running a shell command on the marked files.
945* Transforming File Names:: Using patterns to rename multiple files. 945* Transforming File Names:: Using patterns to rename multiple files.
946* Comparison in Dired:: Running `diff' by way of Dired. 946* Comparison in Dired:: Running `diff' by way of Dired.
947* Subdirectories in Dired:: Adding subdirectories to the Dired buffer. 947* Subdirectories in Dired:: Adding subdirectories to the Dired buffer.
948* Subdir Switches:: Subdirectory switches in Dired. 948* Subdir Switches:: Subdirectory switches in Dired.
949* Subdirectory Motion:: Moving across subdirectories, and up and down. 949* Subdirectory Motion:: Moving across subdirectories, and up and down.
950* Hiding Subdirectories:: Making subdirectories visible or invisible. 950* Hiding Subdirectories:: Making subdirectories visible or invisible.
951* Dired Updating:: Discarding lines for files of no interest. 951* Dired Updating:: Discarding lines for files of no interest.
952* Dired and Find:: Using `find' to choose the files for Dired. 952* Dired and Find:: Using `find' to choose the files for Dired.
953* Wdired:: Operating on files by editing the Dired buffer. 953* Wdired:: Operating on files by editing the Dired buffer.
954* Image-Dired:: Viewing image thumbnails in Dired. 954* Image-Dired:: Viewing image thumbnails in Dired.
955* Misc Dired Features:: Various other features. 955* Misc Dired Features:: Various other features.
@@ -966,7 +966,7 @@ The Calendar and the Diary
966* Lunar Phases:: Displaying phases of the moon. 966* Lunar Phases:: Displaying phases of the moon.
967* Other Calendars:: Converting dates to other calendar systems. 967* Other Calendars:: Converting dates to other calendar systems.
968* Diary:: Displaying events from your diary. 968* Diary:: Displaying events from your diary.
969* Appointments:: Reminders when it's time to do something. 969* Appointments:: Reminders when it's time to do something.
970* Importing Diary:: Converting diary events to/from other formats. 970* Importing Diary:: Converting diary events to/from other formats.
971* Daylight Saving:: How to specify when daylight saving time is active. 971* Daylight Saving:: How to specify when daylight saving time is active.
972* Time Intervals:: Keeping track of time intervals. 972* Time Intervals:: Keeping track of time intervals.
@@ -976,23 +976,23 @@ Movement in the Calendar
976 976
977* Calendar Unit Motion:: Moving by days, weeks, months, and years. 977* Calendar Unit Motion:: Moving by days, weeks, months, and years.
978* Move to Beginning or End:: Moving to start/end of weeks, months, and years. 978* Move to Beginning or End:: Moving to start/end of weeks, months, and years.
979* Specified Dates:: Moving to the current date or another 979* Specified Dates:: Moving to the current date or another
980 specific date. 980 specific date.
981 981
982Conversion To and From Other Calendars 982Conversion To and From Other Calendars
983 983
984* Calendar Systems:: The calendars Emacs understands 984* Calendar Systems:: The calendars Emacs understands
985 (aside from Gregorian). 985 (aside from Gregorian).
986* To Other Calendar:: Converting the selected date to various calendars. 986* To Other Calendar:: Converting the selected date to various calendars.
987* From Other Calendar:: Moving to a date specified in another calendar. 987* From Other Calendar:: Moving to a date specified in another calendar.
988* Mayan Calendar:: Moving to a date specified in a Mayan calendar. 988* Mayan Calendar:: Moving to a date specified in a Mayan calendar.
989 989
990The Diary 990The Diary
991 991
992* Displaying the Diary:: Viewing diary entries and associated calendar dates. 992* Displaying the Diary:: Viewing diary entries and associated calendar dates.
993* Format of Diary File:: Entering events in your diary. 993* Format of Diary File:: Entering events in your diary.
994* Date Formats:: Various ways you can specify dates. 994* Date Formats:: Various ways you can specify dates.
995* Adding to Diary:: Commands to create diary entries. 995* Adding to Diary:: Commands to create diary entries.
996* Special Diary Entries:: Anniversaries, blocks of dates, cyclic entries, etc. 996* Special Diary Entries:: Anniversaries, blocks of dates, cyclic entries, etc.
997 997
998Customizing the Calendar and Diary 998Customizing the Calendar and Diary
@@ -1009,22 +1009,22 @@ Customizing the Calendar and Diary
1009 1009
1010Document Viewing 1010Document Viewing
1011 1011
1012* Navigation:: Navigation inside DocView buffers. 1012* Navigation:: Navigation inside DocView buffers.
1013* Searching:: Searching inside documents. 1013* Searching:: Searching inside documents.
1014* Slicing:: Specifying which part of pages should be displayed. 1014* Slicing:: Specifying which part of pages should be displayed.
1015* Conversion:: Influencing and triggering conversion. 1015* Conversion:: Influencing and triggering conversion.
1016 1016
1017Gnus 1017Gnus
1018 1018
1019* Buffers of Gnus:: The group, summary, and article buffers. 1019* Buffers of Gnus:: The group, summary, and article buffers.
1020* Gnus Startup:: What you should know about starting Gnus. 1020* Gnus Startup:: What you should know about starting Gnus.
1021* Summary of Gnus:: A short description of the basic Gnus commands. 1021* Summary of Gnus:: A short description of the basic Gnus commands.
1022 1022
1023Running Shell Commands from Emacs 1023Running Shell Commands from Emacs
1024 1024
1025* Single Shell:: How to run one shell command and return. 1025* Single Shell:: How to run one shell command and return.
1026* Interactive Shell:: Permanent shell taking input via Emacs. 1026* Interactive Shell:: Permanent shell taking input via Emacs.
1027* Shell Mode:: Special Emacs commands used with permanent shell. 1027* Shell Mode:: Special Emacs commands used with permanent shell.
1028* Shell Prompts:: Two ways to recognize shell prompts. 1028* Shell Prompts:: Two ways to recognize shell prompts.
1029* Shell History:: Repeating previous commands in a shell buffer. 1029* Shell History:: Repeating previous commands in a shell buffer.
1030* Directory Tracking:: Keeping track when the subshell changes directory. 1030* Directory Tracking:: Keeping track when the subshell changes directory.
@@ -1032,7 +1032,7 @@ Running Shell Commands from Emacs
1032* Terminal emulator:: An Emacs window as a terminal emulator. 1032* Terminal emulator:: An Emacs window as a terminal emulator.
1033* Term Mode:: Special Emacs commands used in Term mode. 1033* Term Mode:: Special Emacs commands used in Term mode.
1034* Paging in Term:: Paging in the terminal emulator. 1034* Paging in Term:: Paging in the terminal emulator.
1035* Remote Host:: Connecting to another computer. 1035* Remote Host:: Connecting to another computer.
1036* Serial Terminal:: Connecting to a serial port. 1036* Serial Terminal:: Connecting to a serial port.
1037 1037
1038Shell Command History 1038Shell Command History
@@ -1048,7 +1048,7 @@ Using Emacs as a Server
1048 1048
1049Printing Hard Copies 1049Printing Hard Copies
1050 1050
1051* PostScript:: Printing buffers or regions as PostScript. 1051* PostScript:: Printing buffers or regions as PostScript.
1052* PostScript Variables:: Customizing the PostScript printing commands. 1052* PostScript Variables:: Customizing the PostScript printing commands.
1053* Printing Package:: An optional advanced printing interface. 1053* Printing Package:: An optional advanced printing interface.
1054 1054
@@ -1060,18 +1060,18 @@ Hyperlinking and Navigation Features
1060 1060
1061Customization 1061Customization
1062 1062
1063* Minor Modes:: Each minor mode is a feature you can turn on 1063* Minor Modes:: Each minor mode is a feature you can turn on
1064 independently of any others. 1064 independently of any others.
1065* Easy Customization:: Convenient way to browse and change settings. 1065* Easy Customization:: Convenient way to browse and change settings.
1066* Variables:: Many Emacs commands examine Emacs variables 1066* Variables:: Many Emacs commands examine Emacs variables
1067 to decide what to do; by setting variables, 1067 to decide what to do; by setting variables,
1068 you can control their functioning. 1068 you can control their functioning.
1069* Key Bindings:: The keymaps say what command each key runs. 1069* Key Bindings:: The keymaps say what command each key runs.
1070 By changing them, you can "redefine keys". 1070 By changing them, you can "redefine keys".
1071* Syntax:: The syntax table controls how words and 1071* Syntax:: The syntax table controls how words and
1072 expressions are parsed. 1072 expressions are parsed.
1073* Init File:: How to write common customizations in the 1073* Init File:: How to write common customizations in the
1074 @file{.emacs} file. 1074 @file{.emacs} file.
1075 1075
1076Easy Customization Interface 1076Easy Customization Interface
1077 1077
@@ -1087,10 +1087,10 @@ Easy Customization Interface
1087 1087
1088Variables 1088Variables
1089 1089
1090* Examining:: Examining or setting one variable's value. 1090* Examining:: Examining or setting one variable's value.
1091* Hooks:: Hook variables let you specify programs for parts 1091* Hooks:: Hook variables let you specify programs for parts
1092 of Emacs to run on particular occasions. 1092 of Emacs to run on particular occasions.
1093* Locals:: Per-buffer values of variables. 1093* Locals:: Per-buffer values of variables.
1094* File Variables:: How files can specify variable values. 1094* File Variables:: How files can specify variable values.
1095* Directory Variables:: How variable values can be specified by directory. 1095* Directory Variables:: How variable values can be specified by directory.
1096 1096
@@ -1117,10 +1117,10 @@ Customizing Key Bindings
1117 1117
1118The Init File, @file{~/.emacs} 1118The Init File, @file{~/.emacs}
1119 1119
1120* Init Syntax:: Syntax of constants in Emacs Lisp. 1120* Init Syntax:: Syntax of constants in Emacs Lisp.
1121* Init Examples:: How to do some things with an init file. 1121* Init Examples:: How to do some things with an init file.
1122* Terminal Init:: Each terminal type can have an init file. 1122* Terminal Init:: Each terminal type can have an init file.
1123* Find Init:: How Emacs finds the init file. 1123* Find Init:: How Emacs finds the init file.
1124* Init Non-ASCII:: Using non-@acronym{ASCII} characters in an init file. 1124* Init Non-ASCII:: Using non-@acronym{ASCII} characters in an init file.
1125 1125
1126Dealing with Emacs Trouble 1126Dealing with Emacs Trouble
@@ -1138,31 +1138,31 @@ Dealing with Emacs Trouble
1138Reporting Bugs 1138Reporting Bugs
1139 1139
1140* Bug Criteria:: Have you really found a bug? 1140* Bug Criteria:: Have you really found a bug?
1141* Understanding Bug Reporting:: How to report a bug effectively. 1141* Understanding Bug Reporting:: How to report a bug effectively.
1142* Checklist:: Steps to follow for a good bug report. 1142* Checklist:: Steps to follow for a good bug report.
1143* Sending Patches:: How to send a patch for GNU Emacs. 1143* Sending Patches:: How to send a patch for GNU Emacs.
1144 1144
1145Command Line Arguments for Emacs Invocation 1145Command Line Arguments for Emacs Invocation
1146 1146
1147* Action Arguments:: Arguments to visit files, load libraries, 1147* Action Arguments:: Arguments to visit files, load libraries,
1148 and call functions. 1148 and call functions.
1149* Initial Options:: Arguments that take effect while starting Emacs. 1149* Initial Options:: Arguments that take effect while starting Emacs.
1150* Command Example:: Examples of using command line arguments. 1150* Command Example:: Examples of using command line arguments.
1151* Resume Arguments:: Specifying arguments when you resume a running Emacs. 1151* Resume Arguments:: Specifying arguments when you resume a running Emacs.
1152* Environment:: Environment variables that Emacs uses. 1152* Environment:: Environment variables that Emacs uses.
1153* Display X:: Changing the default display and using remote login. 1153* Display X:: Changing the default display and using remote login.
1154* Font X:: Choosing a font for text, under X. 1154* Font X:: Choosing a font for text, under X.
1155* Colors:: Choosing display colors. 1155* Colors:: Choosing display colors.
1156* Window Size X:: Start-up window size, under X. 1156* Window Size X:: Start-up window size, under X.
1157* Borders X:: Internal and external borders, under X. 1157* Borders X:: Internal and external borders, under X.
1158* Title X:: Specifying the initial frame's title. 1158* Title X:: Specifying the initial frame's title.
1159* Icons X:: Choosing what sort of icon to use, under X. 1159* Icons X:: Choosing what sort of icon to use, under X.
1160* Misc X:: Other display options. 1160* Misc X:: Other display options.
1161 1161
1162Environment Variables 1162Environment Variables
1163 1163
1164* General Variables:: Environment variables that all versions of Emacs use. 1164* General Variables:: Environment variables that all versions of Emacs use.
1165* Misc Variables:: Certain system-specific variables. 1165* Misc Variables:: Certain system-specific variables.
1166* MS-Windows Registry:: An alternative to the environment on MS-Windows. 1166* MS-Windows Registry:: An alternative to the environment on MS-Windows.
1167 1167
1168X Options and Resources 1168X Options and Resources
diff --git a/doc/emacs/emerge-xtra.texi b/doc/emacs/emerge-xtra.texi
index 762e2fc8727..f502d3f4728 100644
--- a/doc/emacs/emerge-xtra.texi
+++ b/doc/emacs/emerge-xtra.texi
@@ -1,5 +1,6 @@
1@c This is part of the Emacs manual. 1@c This is part of the Emacs manual.
2@c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 2@c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
3@c Free Software Foundation, Inc.
3@c See file emacs.texi for copying conditions. 4@c See file emacs.texi for copying conditions.
4@c 5@c
5@c This file is included either in emacs-xtra.texi (when producing the 6@c This file is included either in emacs-xtra.texi (when producing the
@@ -22,16 +23,16 @@ easier. For other ways to compare files, see
22and @ref{Top, Ediff,, ediff, The Ediff Manual}. 23and @ref{Top, Ediff,, ediff, The Ediff Manual}.
23 24
24@menu 25@menu
25* Overview of Emerge:: How to start Emerge. Basic concepts. 26* Overview of Emerge:: How to start Emerge. Basic concepts.
26* Submodes of Emerge:: Fast mode vs. Edit mode. 27* Submodes of Emerge:: Fast mode vs. Edit mode.
27 Skip Prefers mode and Auto Advance mode. 28 Skip Prefers mode and Auto Advance mode.
28* State of Difference:: You do the merge by specifying state A or B 29* State of Difference:: You do the merge by specifying state A or B
29 for each difference. 30 for each difference.
30* Merge Commands:: Commands for selecting a difference, 31* Merge Commands:: Commands for selecting a difference,
31 changing states of differences, etc. 32 changing states of differences, etc.
32* Exiting Emerge:: What to do when you've finished the merge. 33* Exiting Emerge:: What to do when you've finished the merge.
33* Combining in Emerge:: How to keep both alternatives for a difference. 34* Combining in Emerge:: How to keep both alternatives for a difference.
34* Fine Points of Emerge:: Miscellaneous issues. 35* Fine Points of Emerge:: Miscellaneous issues.
35@end menu 36@end menu
36 37
37@node Overview of Emerge 38@node Overview of Emerge
diff --git a/doc/emacs/files.texi b/doc/emacs/files.texi
index d6a7692d3ab..4701c1a7a89 100644
--- a/doc/emacs/files.texi
+++ b/doc/emacs/files.texi
@@ -1,6 +1,7 @@
1@c This is part of the Emacs manual. 1@c This is part of the Emacs manual.
2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000, 2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000,
3@c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3@c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4@c Free Software Foundation, Inc.
4@c See file emacs.texi for copying conditions. 5@c See file emacs.texi for copying conditions.
5@node Files, Buffers, Keyboard Macros, Top 6@node Files, Buffers, Keyboard Macros, Top
6@chapter File Handling 7@chapter File Handling
@@ -553,9 +554,9 @@ makes a backup from the previous contents, and arranges to make
553another from the newly saved contents if you save again. 554another from the newly saved contents if you save again.
554 555
555@menu 556@menu
556* Names: Backup Names. How backup files are named. 557* Names: Backup Names. How backup files are named.
557* Deletion: Backup Deletion. Emacs deletes excess numbered backups. 558* Deletion: Backup Deletion. Emacs deletes excess numbered backups.
558* Copying: Backup Copying. Backups can be made by copying or renaming. 559* Copying: Backup Copying. Backups can be made by copying or renaming.
559@end menu 560@end menu
560 561
561@node Backup Names 562@node Backup Names
@@ -994,7 +995,7 @@ execution of commands you have been typing.
994* Files: Auto Save Files. The file where auto-saved changes are 995* Files: Auto Save Files. The file where auto-saved changes are
995 actually made until you save the file. 996 actually made until you save the file.
996* Control: Auto Save Control. Controlling when and how often to auto-save. 997* Control: Auto Save Control. Controlling when and how often to auto-save.
997* Recover:: Recovering text from auto-save files. 998* Recover:: Recovering text from auto-save files.
998@end menu 999@end menu
999 1000
1000@node Auto Save Files 1001@node Auto Save Files
diff --git a/doc/emacs/fortran-xtra.texi b/doc/emacs/fortran-xtra.texi
index f91297d4dd8..d875ed46812 100644
--- a/doc/emacs/fortran-xtra.texi
+++ b/doc/emacs/fortran-xtra.texi
@@ -1,5 +1,6 @@
1@c This is part of the Emacs manual. 1@c This is part of the Emacs manual.
2@c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 2@c Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010
3@c Free Software Foundation, Inc.
3@c See file emacs.texi for copying conditions. 4@c See file emacs.texi for copying conditions.
4@c 5@c
5@c This file is included either in emacs-xtra.texi (when producing the 6@c This file is included either in emacs-xtra.texi (when producing the
@@ -57,12 +58,12 @@ command runs the hook @code{fortran-mode-hook}.
57@end ifnottex 58@end ifnottex
58 59
59@menu 60@menu
60* Motion: Fortran Motion. Moving point by statements or subprograms. 61* Motion: Fortran Motion. Moving point by statements or subprograms.
61* Indent: Fortran Indent. Indentation commands for Fortran. 62* Indent: Fortran Indent. Indentation commands for Fortran.
62* Comments: Fortran Comments. Inserting and aligning comments. 63* Comments: Fortran Comments. Inserting and aligning comments.
63* Autofill: Fortran Autofill. Auto fill support for Fortran. 64* Autofill: Fortran Autofill. Auto fill support for Fortran.
64* Columns: Fortran Columns. Measuring columns for valid Fortran. 65* Columns: Fortran Columns. Measuring columns for valid Fortran.
65* Abbrev: Fortran Abbrev. Built-in abbrevs for Fortran keywords. 66* Abbrev: Fortran Abbrev. Built-in abbrevs for Fortran keywords.
66@end menu 67@end menu
67 68
68@node Fortran Motion 69@node Fortran Motion
diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi
index cde901acf75..fbc21f17884 100644
--- a/doc/emacs/frames.texi
+++ b/doc/emacs/frames.texi
@@ -1,6 +1,7 @@
1@c This is part of the Emacs manual. 1@c This is part of the Emacs manual.
2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000, 2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 1999, 2000,
3@c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3@c 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4@c Free Software Foundation, Inc.
4@c See file emacs.texi for copying conditions. 5@c See file emacs.texi for copying conditions.
5@node Frames, International, Windows, Top 6@node Frames, International, Windows, Top
6@chapter Frames and Graphical Displays 7@chapter Frames and Graphical Displays
@@ -44,10 +45,10 @@ so that you can use many of the features described in this chapter.
44* Multiple Displays:: How one Emacs job can talk to several displays. 45* Multiple Displays:: How one Emacs job can talk to several displays.
45* Special Buffer Frames:: You can make certain buffers have their own frames. 46* Special Buffer Frames:: You can make certain buffers have their own frames.
46* Frame Parameters:: Changing the colors and other modes of frames. 47* Frame Parameters:: Changing the colors and other modes of frames.
47* Scroll Bars:: How to enable and disable scroll bars; how to use them. 48* Scroll Bars:: How to enable and disable scroll bars; how to use them.
48* Wheeled Mice:: Using mouse wheels for scrolling. 49* Wheeled Mice:: Using mouse wheels for scrolling.
49* Drag and Drop:: Using drag and drop to open files and insert text. 50* Drag and Drop:: Using drag and drop to open files and insert text.
50* Menu Bars:: Enabling and disabling the menu bar. 51* Menu Bars:: Enabling and disabling the menu bar.
51* Tool Bars:: Enabling and disabling the tool bar. 52* Tool Bars:: Enabling and disabling the tool bar.
52* Dialog Boxes:: Controlling use of dialog boxes. 53* Dialog Boxes:: Controlling use of dialog boxes.
53* Tooltips:: Displaying information at the current mouse position. 54* Tooltips:: Displaying information at the current mouse position.
diff --git a/doc/emacs/help.texi b/doc/emacs/help.texi
index ac3539881d8..3e298bb0f96 100644
--- a/doc/emacs/help.texi
+++ b/doc/emacs/help.texi
@@ -1,6 +1,7 @@
1@c This is part of the Emacs manual. 1@c This is part of the Emacs manual.
2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
3@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4@c Free Software Foundation, Inc.
4@c See file emacs.texi for copying conditions. 5@c See file emacs.texi for copying conditions.
5@node Help, Mark, M-x, Top 6@node Help, Mark, M-x, Top
6@chapter Help 7@chapter Help
@@ -69,14 +70,14 @@ This displays the available Emacs packages based on keywords.
69@end table 70@end table
70 71
71@menu 72@menu
72* Help Summary:: Brief list of all Help commands. 73* Help Summary:: Brief list of all Help commands.
73* Key Help:: Asking what a key does in Emacs. 74* Key Help:: Asking what a key does in Emacs.
74* Name Help:: Asking about a command, variable or function name. 75* Name Help:: Asking about a command, variable or function name.
75* Apropos:: Asking what pertains to a given topic. 76* Apropos:: Asking what pertains to a given topic.
76* Help Mode:: Special features of Help mode and Help buffers. 77* Help Mode:: Special features of Help mode and Help buffers.
77* Library Keywords:: Finding Lisp libraries by keywords (topics). 78* Library Keywords:: Finding Lisp libraries by keywords (topics).
78* Language Help:: Help relating to international language support. 79* Language Help:: Help relating to international language support.
79* Misc Help:: Other help commands. 80* Misc Help:: Other help commands.
80* Help Files:: Commands to display pre-written help files. 81* Help Files:: Commands to display pre-written help files.
81* Help Echo:: Help on active text and tooltips (`balloon help'). 82* Help Echo:: Help on active text and tooltips (`balloon help').
82@end menu 83@end menu
diff --git a/doc/emacs/killing.texi b/doc/emacs/killing.texi
index 07533a15a84..150f05b5994 100644
--- a/doc/emacs/killing.texi
+++ b/doc/emacs/killing.texi
@@ -1,6 +1,7 @@
1@c This is part of the Emacs manual. 1@c This is part of the Emacs manual.
2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
3@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4@c Free Software Foundation, Inc.
4@c See file emacs.texi for copying conditions. 5@c See file emacs.texi for copying conditions.
5 6
6@node Killing, Yanking, Mark, Top 7@node Killing, Yanking, Mark, Top
@@ -260,9 +261,9 @@ than you killed any text in Emacs, @kbd{C-y} copies the selection
260instead of text killed within Emacs. 261instead of text killed within Emacs.
261 262
262@menu 263@menu
263* Kill Ring:: Where killed text is stored. Basic yanking. 264* Kill Ring:: Where killed text is stored. Basic yanking.
264* Appending Kills:: Several kills in a row all yank together. 265* Appending Kills:: Several kills in a row all yank together.
265* Earlier Kills:: Yanking something killed some time ago. 266* Earlier Kills:: Yanking something killed some time ago.
266@end menu 267@end menu
267 268
268@node Kill Ring 269@node Kill Ring
diff --git a/doc/emacs/maintaining.texi b/doc/emacs/maintaining.texi
index 8c417bc12ac..f5a93ec60e7 100644
--- a/doc/emacs/maintaining.texi
+++ b/doc/emacs/maintaining.texi
@@ -11,9 +11,9 @@ programs.
11 11
12@menu 12@menu
13* Version Control:: Using version control systems. 13* Version Control:: Using version control systems.
14* Change Log:: Maintaining a change history for your program. 14* Change Log:: Maintaining a change history for your program.
15* Tags:: Go directly to any function in your program in one 15* Tags:: Go directly to any function in your program in one
16 command. Tags remembers which file it is in. 16 command. Tags remembers which file it is in.
17* EDE:: An integrated development environment for Emacs. 17* EDE:: An integrated development environment for Emacs.
18@ifnottex 18@ifnottex
19* Emerge:: A convenient way of merging two versions of a program. 19* Emerge:: A convenient way of merging two versions of a program.
@@ -1570,13 +1570,13 @@ within that file where the function is defined.
1570@xref{Top,, Ebrowse, ebrowse, Ebrowse User's Manual}. 1570@xref{Top,, Ebrowse, ebrowse, Ebrowse User's Manual}.
1571 1571
1572@menu 1572@menu
1573* Tag Syntax:: Tag syntax for various types of code and text files. 1573* Tag Syntax:: Tag syntax for various types of code and text files.
1574* Create Tags Table:: Creating a tags table with @code{etags}. 1574* Create Tags Table:: Creating a tags table with @code{etags}.
1575* Etags Regexps:: Create arbitrary tags using regular expressions. 1575* Etags Regexps:: Create arbitrary tags using regular expressions.
1576* Select Tags Table:: How to visit a tags table. 1576* Select Tags Table:: How to visit a tags table.
1577* Find Tag:: Commands to find the definition of a specific tag. 1577* Find Tag:: Commands to find the definition of a specific tag.
1578* Tags Search:: Using a tags table for searching and replacing. 1578* Tags Search:: Using a tags table for searching and replacing.
1579* List Tags:: Listing and finding tags defined in a file. 1579* List Tags:: Listing and finding tags defined in a file.
1580@end menu 1580@end menu
1581 1581
1582@node Tag Syntax 1582@node Tag Syntax
diff --git a/doc/emacs/mark.texi b/doc/emacs/mark.texi
index 4d6b38ad713..2ebab1daaeb 100644
--- a/doc/emacs/mark.texi
+++ b/doc/emacs/mark.texi
@@ -1,6 +1,7 @@
1@c This is part of the Emacs manual. 1@c This is part of the Emacs manual.
2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, 2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002,
3@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4@c Free Software Foundation, Inc.
4@c See file emacs.texi for copying conditions. 5@c See file emacs.texi for copying conditions.
5@node Mark, Killing, Help, Top 6@node Mark, Killing, Help, Top
6@chapter The Mark and the Region 7@chapter The Mark and the Region
@@ -41,13 +42,13 @@ if the variable @code{highlight-nonselected-windows} is
41non-@code{nil}, each window highlights its own region. 42non-@code{nil}, each window highlights its own region.
42 43
43@menu 44@menu
44* Setting Mark:: Commands to set the mark. 45* Setting Mark:: Commands to set the mark.
45* Marking Objects:: Commands to put region around textual units. 46* Marking Objects:: Commands to put region around textual units.
46* Using Region:: Summary of ways to operate on contents of the region. 47* Using Region:: Summary of ways to operate on contents of the region.
47* Mark Ring:: Previous mark positions saved so you can go back there. 48* Mark Ring:: Previous mark positions saved so you can go back there.
48* Global Mark Ring:: Previous mark positions in various buffers. 49* Global Mark Ring:: Previous mark positions in various buffers.
49* Shift Selection:: Using shifted cursor motion keys. 50* Shift Selection:: Using shifted cursor motion keys.
50* Persistent Mark:: Keeping the mark active all the time. 51* Persistent Mark:: Keeping the mark active all the time.
51@end menu 52@end menu
52 53
53@node Setting Mark 54@node Setting Mark
diff --git a/doc/emacs/mini.texi b/doc/emacs/mini.texi
index 1726a6780d5..3750e1d49e2 100644
--- a/doc/emacs/mini.texi
+++ b/doc/emacs/mini.texi
@@ -1,6 +1,7 @@
1@c This is part of the Emacs manual. 1@c This is part of the Emacs manual.
2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
3@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4@c Free Software Foundation, Inc.
4@c See file emacs.texi for copying conditions. 5@c See file emacs.texi for copying conditions.
5@node Minibuffer, M-x, Basic, Top 6@node Minibuffer, M-x, Basic, Top
6@chapter The Minibuffer 7@chapter The Minibuffer
@@ -43,9 +44,9 @@ is in use, keystrokes do not echo.
43@menu 44@menu
44* Minibuffer File:: Entering file names with the minibuffer. 45* Minibuffer File:: Entering file names with the minibuffer.
45* Minibuffer Edit:: How to edit in the minibuffer. 46* Minibuffer Edit:: How to edit in the minibuffer.
46* Completion:: An abbreviation facility for minibuffer input. 47* Completion:: An abbreviation facility for minibuffer input.
47* Minibuffer History:: Reusing recent minibuffer arguments. 48* Minibuffer History:: Reusing recent minibuffer arguments.
48* Repetition:: Re-executing commands that used the minibuffer. 49* Repetition:: Re-executing commands that used the minibuffer.
49* Passwords:: Entering passwords in the echo area. 50* Passwords:: Entering passwords in the echo area.
50@end menu 51@end menu
51 52
diff --git a/doc/emacs/misc.texi b/doc/emacs/misc.texi
index 8c89c7b7a27..387e1be715a 100644
--- a/doc/emacs/misc.texi
+++ b/doc/emacs/misc.texi
@@ -71,10 +71,10 @@ set or customize the variable @code{doc-view-resolution}.
71(@code{quit-window}). 71(@code{quit-window}).
72 72
73@menu 73@menu
74* Navigation:: Navigation inside DocView buffers. 74* Navigation:: Navigation inside DocView buffers.
75* Searching:: Searching inside documents. 75* Searching:: Searching inside documents.
76* Slicing:: Specifying which part of pages should be displayed. 76* Slicing:: Specifying which part of pages should be displayed.
77* Conversion:: Influencing and triggering conversion. 77* Conversion:: Influencing and triggering conversion.
78@end menu 78@end menu
79 79
80@node Navigation 80@node Navigation
@@ -211,9 +211,9 @@ manual.
211To start Gnus, type @kbd{M-x gnus @key{RET}}. 211To start Gnus, type @kbd{M-x gnus @key{RET}}.
212 212
213@menu 213@menu
214* Buffers of Gnus:: The group, summary, and article buffers. 214* Buffers of Gnus:: The group, summary, and article buffers.
215* Gnus Startup:: What you should know about starting Gnus. 215* Gnus Startup:: What you should know about starting Gnus.
216* Summary of Gnus:: A short description of the basic Gnus commands. 216* Summary of Gnus:: A short description of the basic Gnus commands.
217@end menu 217@end menu
218 218
219@node Buffers of Gnus 219@node Buffers of Gnus
@@ -1757,7 +1757,7 @@ whether to supply @samp{-T} and @samp{-J} options (suitable for
1757not compatible with @code{lpr}. 1757not compatible with @code{lpr}.
1758 1758
1759@menu 1759@menu
1760* PostScript:: Printing buffers or regions as PostScript. 1760* PostScript:: Printing buffers or regions as PostScript.
1761* PostScript Variables:: Customizing the PostScript printing commands. 1761* PostScript Variables:: Customizing the PostScript printing commands.
1762* Printing Package:: An optional advanced printing interface. 1762* Printing Package:: An optional advanced printing interface.
1763@end menu 1763@end menu
diff --git a/doc/emacs/msdog.texi b/doc/emacs/msdog.texi
index 5229d1effa2..a44438bf81f 100644
--- a/doc/emacs/msdog.texi
+++ b/doc/emacs/msdog.texi
@@ -1,6 +1,7 @@
1@c This is part of the Emacs manual. 1@c This is part of the Emacs manual.
2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
3@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4@c Free Software Foundation, Inc.
4@c See file emacs.texi for copying conditions. 5@c See file emacs.texi for copying conditions.
5@node Microsoft Windows, Manifesto, Mac OS / GNUstep, Top 6@node Microsoft Windows, Manifesto, Mac OS / GNUstep, Top
6@appendix Emacs and Microsoft Windows/MS-DOS 7@appendix Emacs and Microsoft Windows/MS-DOS
@@ -761,8 +762,8 @@ printer, put this in your @file{.emacs} file:
761(setq ps-printer-name t) 762(setq ps-printer-name t)
762(setq ps-lpr-command "D:/gs6.01/bin/gswin32c.exe") 763(setq ps-lpr-command "D:/gs6.01/bin/gswin32c.exe")
763(setq ps-lpr-switches '("-q" "-dNOPAUSE" "-dBATCH" 764(setq ps-lpr-switches '("-q" "-dNOPAUSE" "-dBATCH"
764 "-sDEVICE=mswinpr2" 765 "-sDEVICE=mswinpr2"
765 "-sPAPERSIZE=a4")) 766 "-sPAPERSIZE=a4"))
766@end example 767@end example
767 768
768@noindent 769@noindent
diff --git a/doc/emacs/mule.texi b/doc/emacs/mule.texi
index be639f45b0a..9fdef175826 100644
--- a/doc/emacs/mule.texi
+++ b/doc/emacs/mule.texi
@@ -228,7 +228,7 @@ in a buffer whose coding system is @code{utf-8-unix}:
228 character: @`A (192, #o300, #xc0) 228 character: @`A (192, #o300, #xc0)
229preferred charset: unicode (Unicode (ISO10646)) 229preferred charset: unicode (Unicode (ISO10646))
230 code point: 0xC0 230 code point: 0xC0
231 syntax: w which means: word 231 syntax: w which means: word
232 category: j:Japanese l:Latin v:Vietnamese 232 category: j:Japanese l:Latin v:Vietnamese
233 buffer code: #xC3 #x80 233 buffer code: #xC3 #x80
234 file code: not encodable by coding system undecided-unix 234 file code: not encodable by coding system undecided-unix
diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi
index 72541eccc6f..b729df105e7 100644
--- a/doc/emacs/programs.texi
+++ b/doc/emacs/programs.texi
@@ -34,7 +34,7 @@ Highlight program syntax (@pxref{Font Lock}).
34 of a program. 34 of a program.
35* Program Indent:: Adjusting indentation to show the nesting. 35* Program Indent:: Adjusting indentation to show the nesting.
36* Parentheses:: Commands that operate on parentheses. 36* Parentheses:: Commands that operate on parentheses.
37* Comments:: Inserting, killing, and aligning comments. 37* Comments:: Inserting, killing, and aligning comments.
38* Documentation:: Getting documentation of functions you plan to call. 38* Documentation:: Getting documentation of functions you plan to call.
39* Hideshow:: Displaying blocks selectively. 39* Hideshow:: Displaying blocks selectively.
40* Symbol Completion:: Completion on symbol names of your program or language. 40* Symbol Completion:: Completion on symbol names of your program or language.
@@ -354,11 +354,11 @@ single line, a specified number of lines, or all of the lines inside a
354single parenthetical grouping. 354single parenthetical grouping.
355 355
356@menu 356@menu
357* Basic Indent:: Indenting a single line. 357* Basic Indent:: Indenting a single line.
358* Multi-line Indent:: Commands to reindent many lines at once. 358* Multi-line Indent:: Commands to reindent many lines at once.
359* Lisp Indent:: Specifying how each Lisp function should be indented. 359* Lisp Indent:: Specifying how each Lisp function should be indented.
360* C Indent:: Extra features for indenting C and related modes. 360* C Indent:: Extra features for indenting C and related modes.
361* Custom C Indent:: Controlling indentation style for C and related modes. 361* Custom C Indent:: Controlling indentation style for C and related modes.
362@end menu 362@end menu
363 363
364@cindex pretty-printer 364@cindex pretty-printer
@@ -652,7 +652,7 @@ parentheses and unbalanced string quotes in the buffer.
652* Expressions:: Expressions with balanced parentheses. 652* Expressions:: Expressions with balanced parentheses.
653* Moving by Parens:: Commands for moving up, down and across 653* Moving by Parens:: Commands for moving up, down and across
654 in the structure of parentheses. 654 in the structure of parentheses.
655* Matching:: Insertion of a close-delimiter flashes matching open. 655* Matching:: Insertion of a close-delimiter flashes matching open.
656@end menu 656@end menu
657 657
658@node Expressions 658@node Expressions
diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi
index 8a4ce492ee1..d477ca73c46 100644
--- a/doc/emacs/rmail.texi
+++ b/doc/emacs/rmail.texi
@@ -1,6 +1,7 @@
1@c This is part of the Emacs manual. 1@c This is part of the Emacs manual.
2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, 2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002,
3@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4@c Free Software Foundation, Inc.
4@c See file emacs.texi for copying conditions. 5@c See file emacs.texi for copying conditions.
5@node Rmail, Dired, Sending Mail, Top 6@node Rmail, Dired, Sending Mail, Top
6@chapter Reading Mail with Rmail 7@chapter Reading Mail with Rmail
@@ -21,7 +22,7 @@ Rmail mode, which redefines most letters to run commands for managing mail.
21* Deletion: Rmail Deletion. Deleting and expunging messages. 22* Deletion: Rmail Deletion. Deleting and expunging messages.
22* Inbox: Rmail Inbox. How mail gets into the Rmail file. 23* Inbox: Rmail Inbox. How mail gets into the Rmail file.
23* Files: Rmail Files. Using multiple Rmail files. 24* Files: Rmail Files. Using multiple Rmail files.
24* Output: Rmail Output. Copying messages out to files. 25* Output: Rmail Output. Copying messages out to files.
25* Labels: Rmail Labels. Classifying messages by labeling them. 26* Labels: Rmail Labels. Classifying messages by labeling them.
26* Attrs: Rmail Attributes. Certain standard labels, called attributes. 27* Attrs: Rmail Attributes. Certain standard labels, called attributes.
27* Reply: Rmail Reply. Sending replies to messages you are viewing. 28* Reply: Rmail Reply. Sending replies to messages you are viewing.
@@ -31,7 +32,7 @@ Rmail mode, which redefines most letters to run commands for managing mail.
31* Coding: Rmail Coding. How Rmail handles decoding character sets. 32* Coding: Rmail Coding. How Rmail handles decoding character sets.
32* Editing: Rmail Editing. Editing message text and headers in Rmail. 33* Editing: Rmail Editing. Editing message text and headers in Rmail.
33* Digest: Rmail Digest. Extracting the messages from a digest message. 34* Digest: Rmail Digest. Extracting the messages from a digest message.
34* Rot13: Rmail Rot13. Reading messages encoded in the rot13 code. 35* Rot13: Rmail Rot13. Reading messages encoded in the rot13 code.
35* Movemail:: More details of fetching new mail. 36* Movemail:: More details of fetching new mail.
36* Remote Mailboxes:: Retrieving mail from remote mailboxes. 37* Remote Mailboxes:: Retrieving mail from remote mailboxes.
37* Other Mailbox Formats:: Retrieving mail from local mailboxes in 38* Other Mailbox Formats:: Retrieving mail from local mailboxes in
@@ -834,8 +835,8 @@ Rmail buffer's name. Normally only one summary buffer is displayed at a
834time. 835time.
835 836
836@menu 837@menu
837* Rmail Make Summary:: Making various sorts of summaries. 838* Rmail Make Summary:: Making various sorts of summaries.
838* Rmail Summary Edit:: Manipulating messages from the summary. 839* Rmail Summary Edit:: Manipulating messages from the summary.
839@end menu 840@end menu
840 841
841@node Rmail Make Summary 842@node Rmail Make Summary
diff --git a/doc/emacs/screen.texi b/doc/emacs/screen.texi
index 43a32d8680e..88d248a93bf 100644
--- a/doc/emacs/screen.texi
+++ b/doc/emacs/screen.texi
@@ -1,6 +1,7 @@
1@c This is part of the Emacs manual. 1@c This is part of the Emacs manual.
2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002, 2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2001, 2002,
3@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4@c Free Software Foundation, Inc.
4@c See file emacs.texi for copying conditions. 5@c See file emacs.texi for copying conditions.
5@node Screen, User Input, Acknowledgments, Top 6@node Screen, User Input, Acknowledgments, Top
6@chapter The Organization of the Screen 7@chapter The Organization of the Screen
@@ -53,10 +54,10 @@ reference. If you use multiple frames on a graphical display,
53selecting a particular frame selects a window in that frame. 54selecting a particular frame selects a window in that frame.
54 55
55@menu 56@menu
56* Point:: The place in the text where editing commands operate. 57* Point:: The place in the text where editing commands operate.
57* Echo Area:: Short messages appear at the bottom of the screen. 58* Echo Area:: Short messages appear at the bottom of the screen.
58* Mode Line:: Interpreting the mode line. 59* Mode Line:: Interpreting the mode line.
59* Menu Bar:: How to use the menu bar. 60* Menu Bar:: How to use the menu bar.
60@end menu 61@end menu
61 62
62@node Point 63@node Point
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi
index 890dd48df9f..69532e6083d 100644
--- a/doc/emacs/search.texi
+++ b/doc/emacs/search.texi
@@ -1,6 +1,7 @@
1@c This is part of the Emacs manual. 1@c This is part of the Emacs manual.
2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2002, 2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2002,
3@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4@c Free Software Foundation, Inc.
4@c See file emacs.texi for copying conditions. 5@c See file emacs.texi for copying conditions.
5@node Search, Fixit, Display, Top 6@node Search, Fixit, Display, Top
6@chapter Searching and Replacement 7@chapter Searching and Replacement
@@ -19,16 +20,16 @@ thing, but search for patterns instead of fixed strings.
19 20
20 21
21@menu 22@menu
22* Incremental Search:: Search happens as you type the string. 23* Incremental Search:: Search happens as you type the string.
23* Nonincremental Search:: Specify entire string and then search. 24* Nonincremental Search:: Specify entire string and then search.
24* Word Search:: Search for sequence of words. 25* Word Search:: Search for sequence of words.
25* Regexp Search:: Search for match for a regexp. 26* Regexp Search:: Search for match for a regexp.
26* Regexps:: Syntax of regular expressions. 27* Regexps:: Syntax of regular expressions.
27* Regexp Backslash:: Regular expression constructs starting with `\'. 28* Regexp Backslash:: Regular expression constructs starting with `\'.
28* Regexp Example:: A complex regular expression explained. 29* Regexp Example:: A complex regular expression explained.
29* Search Case:: To ignore case while searching, or not. 30* Search Case:: To ignore case while searching, or not.
30* Replace:: Search, and replace some or all matches. 31* Replace:: Search, and replace some or all matches.
31* Other Repeating Search:: Operating on all matches for some regexp. 32* Other Repeating Search:: Operating on all matches for some regexp.
32@end menu 33@end menu
33 34
34@node Incremental Search 35@node Incremental Search
@@ -983,10 +984,10 @@ is possible to perform several replacements in parallel, using the
983command @code{expand-region-abbrevs} (@pxref{Expanding Abbrevs}). 984command @code{expand-region-abbrevs} (@pxref{Expanding Abbrevs}).
984 985
985@menu 986@menu
986* Unconditional Replace:: Replacing all matches for a string. 987* Unconditional Replace:: Replacing all matches for a string.
987* Regexp Replace:: Replacing all matches for a regexp. 988* Regexp Replace:: Replacing all matches for a regexp.
988* Replacement and Case:: How replacements preserve case of letters. 989* Replacement and Case:: How replacements preserve case of letters.
989* Query Replace:: How to use querying. 990* Query Replace:: How to use querying.
990@end menu 991@end menu
991 992
992@node Unconditional Replace, Regexp Replace, Replace, Replace 993@node Unconditional Replace, Regexp Replace, Replace, Replace
diff --git a/doc/emacs/sending.texi b/doc/emacs/sending.texi
index 59f140e5f8a..95bf5873eb0 100644
--- a/doc/emacs/sending.texi
+++ b/doc/emacs/sending.texi
@@ -1,6 +1,7 @@
1@c This is part of the Emacs manual. 1@c This is part of the Emacs manual.
2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2002, 2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2002,
3@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4@c Free Software Foundation, Inc.
4@c See file emacs.texi for copying conditions. 5@c See file emacs.texi for copying conditions.
5@node Sending Mail 6@node Sending Mail
6@chapter Sending Mail 7@chapter Sending Mail
@@ -63,7 +64,7 @@ you may need to customize @code{user-mail-address} if the system
63cannot receive mail via SMTP (@pxref{Mail Headers}). 64cannot receive mail via SMTP (@pxref{Mail Headers}).
64 65
65@menu 66@menu
66* Format: Mail Format. Format of a mail message. 67* Format: Mail Format. Format of a mail message.
67* Headers: Mail Headers. Details of some standard mail header fields. 68* Headers: Mail Headers. Details of some standard mail header fields.
68* Aliases: Mail Aliases. Abbreviating and grouping mail addresses. 69* Aliases: Mail Aliases. Abbreviating and grouping mail addresses.
69* Commands: Mail Commands. Special commands for editing mail being composed. 70* Commands: Mail Commands. Special commands for editing mail being composed.
diff --git a/doc/emacs/text.texi b/doc/emacs/text.texi
index c00410e047a..a9faa420967 100644
--- a/doc/emacs/text.texi
+++ b/doc/emacs/text.texi
@@ -1,6 +1,7 @@
1@c This is part of the Emacs manual. 1@c This is part of the Emacs manual.
2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001, 2@c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
3@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 3@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
4@c Free Software Foundation, Inc.
4@c See file emacs.texi for copying conditions. 5@c See file emacs.texi for copying conditions.
5@node Text, Programs, Indentation, Top 6@node Text, Programs, Indentation, Top
6@chapter Commands for Human Languages 7@chapter Commands for Human Languages
@@ -57,17 +58,17 @@ for editing such pictures.
57@inforef{Top,, autotype}. 58@inforef{Top,, autotype}.
58 59
59@menu 60@menu
60* Words:: Moving over and killing words. 61* Words:: Moving over and killing words.
61* Sentences:: Moving over and killing sentences. 62* Sentences:: Moving over and killing sentences.
62* Paragraphs:: Moving over paragraphs. 63* Paragraphs:: Moving over paragraphs.
63* Pages:: Moving over pages. 64* Pages:: Moving over pages.
64* Filling:: Filling or justifying text. 65* Filling:: Filling or justifying text.
65* Case:: Changing the case of text. 66* Case:: Changing the case of text.
66* Text Mode:: The major modes for editing text files. 67* Text Mode:: The major modes for editing text files.
67* Outline Mode:: Editing outlines. 68* Outline Mode:: Editing outlines.
68* TeX Mode:: Editing input to the formatter TeX. 69* TeX Mode:: Editing input to the formatter TeX.
69* HTML Mode:: Editing HTML and SGML files. 70* HTML Mode:: Editing HTML and SGML files.
70* Nroff Mode:: Editing input to the formatter nroff. 71* Nroff Mode:: Editing input to the formatter nroff.
71* Formatted Text:: Editing formatted text directly in WYSIWYG fashion. 72* Formatted Text:: Editing formatted text directly in WYSIWYG fashion.
72* Text Based Tables:: Editing text-based tables in WYSIWYG fashion. 73* Text Based Tables:: Editing text-based tables in WYSIWYG fashion.
73@end menu 74@end menu
@@ -402,13 +403,12 @@ a style of filling for each portion of the text (@pxref{Formatted
402Text}). 403Text}).
403 404
404@menu 405@menu
405* Auto Fill:: Auto Fill mode breaks long lines automatically. 406* Auto Fill:: Auto Fill mode breaks long lines automatically.
406* Fill Commands:: Commands to refill paragraphs and center lines. 407* Fill Commands:: Commands to refill paragraphs and center lines.
407* Fill Prefix:: Filling paragraphs that are indented 408* Fill Prefix:: Filling paragraphs that are indented or in a comment, etc.
408 or in a comment, etc. 409* Adaptive Fill:: How Emacs can determine the fill prefix automatically.
409* Adaptive Fill:: How Emacs can determine the fill prefix automatically. 410* Refill:: Keeping paragraphs filled.
410* Refill:: Keeping paragraphs filled. 411* Longlines:: Editing text with very long lines.
411* Longlines:: Editing text with very long lines.
412@end menu 412@end menu
413 413
414@node Auto Fill 414@node Auto Fill
@@ -978,8 +978,8 @@ major mode's special commands. (The variable
978the hook @code{outline-mode-hook} (@pxref{Hooks}). 978the hook @code{outline-mode-hook} (@pxref{Hooks}).
979 979
980@menu 980@menu
981* Format: Outline Format. What the text of an outline looks like. 981* Format: Outline Format. What the text of an outline looks like.
982* Motion: Outline Motion. Special commands for moving through 982* Motion: Outline Motion. Special commands for moving through
983 outlines. 983 outlines.
984* Visibility: Outline Visibility. Commands to control what is visible. 984* Visibility: Outline Visibility. Commands to control what is visible.
985* Views: Outline Views. Outlines and multiple views. 985* Views: Outline Views. Outlines and multiple views.
diff --git a/doc/emacs/trouble.texi b/doc/emacs/trouble.texi
index 69b5b82a056..0390b7da910 100644
--- a/doc/emacs/trouble.texi
+++ b/doc/emacs/trouble.texi
@@ -426,10 +426,10 @@ problem in these two documents might provide you with a solution or a
426work-around, or give you additional information about related issues. 426work-around, or give you additional information about related issues.
427 427
428@menu 428@menu
429* Criteria: Bug Criteria. Have you really found a bug? 429* Criteria: Bug Criteria. Have you really found a bug?
430* Understanding Bug Reporting:: How to report a bug effectively. 430* Understanding Bug Reporting:: How to report a bug effectively.
431* Checklist:: Steps to follow for a good bug report. 431* Checklist:: Steps to follow for a good bug report.
432* Sending Patches:: How to send a patch for GNU Emacs. 432* Sending Patches:: How to send a patch for GNU Emacs.
433@end menu 433@end menu
434 434
435@node Bug Criteria 435@node Bug Criteria
diff --git a/doc/emacs/vc1-xtra.texi b/doc/emacs/vc1-xtra.texi
index d93286befda..5095c3f4764 100644
--- a/doc/emacs/vc1-xtra.texi
+++ b/doc/emacs/vc1-xtra.texi
@@ -220,8 +220,8 @@ a symbolic name for a revision.
220stable version of the system that is ready for distribution to users. 220stable version of the system that is ready for distribution to users.
221 221
222@menu 222@menu
223* Making Revision Tags:: The tag facilities. 223* Making Revision Tags:: The tag facilities.
224* Revision Tag Caveats:: Things to be careful of when using tags. 224* Revision Tag Caveats:: Things to be careful of when using tags.
225@end menu 225@end menu
226 226
227@node Making Revision Tags 227@node Making Revision Tags
diff --git a/doc/emacs/xresources.texi b/doc/emacs/xresources.texi
index bc60ff946af..2a543eeee08 100644
--- a/doc/emacs/xresources.texi
+++ b/doc/emacs/xresources.texi
@@ -435,13 +435,14 @@ Emacs.pane.menubar.faceName: Courier-12
435To specify a font, use fontconfig font names as values to the @code{faceName} 435To specify a font, use fontconfig font names as values to the @code{faceName}
436resource. 436resource.
437 437
438If Emacs is not built with the Xft library, Lucid menus and dialogs can only 438If Emacs is not built with the Xft library, Lucid menus and dialogs
439display old style fonts. If Emacs is built with Xft and you prefer the old 439can only display old style fonts. If Emacs is built with Xft and you
440fonts, you have to specify @samp{none} to @code{faceName}: 440prefer the old fonts, you have to specify @samp{none} to
441@code{faceName}:
441 442
442@example 443@example
443Emacs.pane.menubar.faceName: none 444Emacs.pane.menubar.faceName: none
444Emacs.pane.dialog.faceName: none 445Emacs.pane.dialog.faceName: none
445@end example 446@end example
446 447
447@noindent 448@noindent
@@ -472,7 +473,7 @@ Resources for @emph{non-menubar} toolkit pop-up menus have
472the font @samp{8x16} for the pop-up menu items, write this: 473the font @samp{8x16} for the pop-up menu items, write this:
473 474
474@example 475@example
475Emacs.menu*.font: 8x16 476Emacs.menu*.font: 8x16
476@end example 477@end example
477 478
478@noindent 479@noindent
diff --git a/doc/lispintro/ChangeLog b/doc/lispintro/ChangeLog
index f52240fbdfd..093a7018ca3 100644
--- a/doc/lispintro/ChangeLog
+++ b/doc/lispintro/ChangeLog
@@ -1,3 +1,7 @@
12010-06-23 Glenn Morris <rgm@gnu.org>
2
3 * emacs-lisp-intro.texi: Untabify.
4
12010-05-07 Chong Yidong <cyd@stupidchicken.com> 52010-05-07 Chong Yidong <cyd@stupidchicken.com>
2 6
3 * Version 23.2 released. 7 * Version 23.2 released.
diff --git a/doc/lispintro/emacs-lisp-intro.texi b/doc/lispintro/emacs-lisp-intro.texi
index 0f3a3bc1993..dfba68cc911 100644
--- a/doc/lispintro/emacs-lisp-intro.texi
+++ b/doc/lispintro/emacs-lisp-intro.texi
@@ -17789,7 +17789,7 @@ Incidentally, @code{load-library} is an interactive interface to the
17789This is an interface to the function `load'." 17789This is an interface to the function `load'."
17790 (interactive 17790 (interactive
17791 (list (completing-read "Load library: " 17791 (list (completing-read "Load library: "
17792 (apply-partially 'locate-file-completion-table 17792 (apply-partially 'locate-file-completion-table
17793 load-path 17793 load-path
17794 (get-load-suffixes))))) 17794 (get-load-suffixes)))))
17795 (load library)) 17795 (load library))
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index cecb6f0c661..20e8150599b 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,32 @@
12010-07-09 Eli Zaretskii <eliz@gnu.org>
2
3 * internals.texi (Writing Emacs Primitives): Adapt to ANSI C
4 calling sequences, which are now the standard.
5
62010-06-24 Chong Yidong <cyd@stupidchicken.com>
7
8 * text.texi (Undo): Clarify command loop behavior (Bug#2433).
9
10 * commands.texi (Command Overview): Mention undo-boundary call.
11
122010-06-23 Glenn Morris <rgm@gnu.org>
13
14 * abbrevs.texi, commands.texi, compile.texi, debugging.texi:
15 * display.texi, edebug.texi, elisp.texi, eval.texi, files.texi:
16 * frames.texi, functions.texi, internals.texi, keymaps.texi:
17 * loading.texi, minibuf.texi, numbers.texi, os.texi, processes.texi:
18 * searching.texi, sequences.texi, strings.texi, syntax.texi:
19 * text.texi, tips.texi, vol1.texi, vol2.texi, windows.texi:
20 Untabify Texinfo files.
21
222010-06-20 Chong Yidong <cyd@stupidchicken.com>
23
24 * modes.texi (Minor Mode Conventions): Fix typo (Bug#6477).
25
262010-06-19 Chong Yidong <cyd@stupidchicken.com>
27
28 * errors.texi (Standard Errors): Remove unnecessary markup (Bug#6461).
29
12010-06-02 Chong Yidong <cyd@stupidchicken.com> 302010-06-02 Chong Yidong <cyd@stupidchicken.com>
2 31
3 * searching.texi (Regexp Special): Remove obsolete information 32 * searching.texi (Regexp Special): Remove obsolete information
@@ -15,8 +44,7 @@
15 44
162010-05-22 Chong Yidong <cyd@stupidchicken.com> 452010-05-22 Chong Yidong <cyd@stupidchicken.com>
17 46
18 * display.texi (Image Cache): Update documentation about image 47 * display.texi (Image Cache): Update documentation about image caching.
19 caching.
20 48
212010-05-08 Štěpán Němec <stepnem@gmail.com> (tiny change) 492010-05-08 Štěpán Němec <stepnem@gmail.com> (tiny change)
22 50
diff --git a/doc/lispref/abbrevs.texi b/doc/lispref/abbrevs.texi
index 1bb33475240..90da5aaa488 100644
--- a/doc/lispref/abbrevs.texi
+++ b/doc/lispref/abbrevs.texi
@@ -376,10 +376,10 @@ definitions of @code{local-abbrev-table} and @code{text-mode-abbrev-table}.
376 (funcall expand)))) 376 (funcall expand))))
377 377
378(add-hook 'foo-mode-hook 378(add-hook 'foo-mode-hook
379 #'(lambda () 379 #'(lambda ()
380 (add-hook 'abbrev-expand-functions 380 (add-hook 'abbrev-expand-functions
381 'foo-mode-abbrev-expand-function 381 'foo-mode-abbrev-expand-function
382 nil t))) 382 nil t)))
383@end smallexample 383@end smallexample
384 384
385@node Standard Abbrev Tables, Abbrev Properties, Abbrev Expansion, Abbrevs 385@node Standard Abbrev Tables, Abbrev Properties, Abbrev Expansion, Abbrevs
diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi
index 463443f8e10..d22cfd955cb 100644
--- a/doc/lispref/commands.texi
+++ b/doc/lispref/commands.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002,
4@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/commands 7@setfilename ../../info/commands
7@node Command Loop, Keymaps, Minibuffers, Top 8@node Command Loop, Keymaps, Minibuffers, Top
@@ -21,7 +22,7 @@ are done, and the subroutines that allow Lisp programs to do them.
21* Distinguish Interactive:: Making a command distinguish interactive calls. 22* Distinguish Interactive:: Making a command distinguish interactive calls.
22* Command Loop Info:: Variables set by the command loop for you to examine. 23* Command Loop Info:: Variables set by the command loop for you to examine.
23* Adjusting Point:: Adjustment of point after a command. 24* Adjusting Point:: Adjustment of point after a command.
24* Input Events:: What input looks like when you read it. 25* Input Events:: What input looks like when you read it.
25* Reading Input:: How to read input events from the keyboard or mouse. 26* Reading Input:: How to read input events from the keyboard or mouse.
26* Special Events:: Events processed immediately and individually. 27* Special Events:: Events processed immediately and individually.
27* Waiting:: Waiting for user input or elapsed time. 28* Waiting:: Waiting for user input or elapsed time.
@@ -52,16 +53,19 @@ function. If the key is @kbd{M-x}, then it reads the name of another
52command, which it then calls. This is done by the command 53command, which it then calls. This is done by the command
53@code{execute-extended-command} (@pxref{Interactive Call}). 54@code{execute-extended-command} (@pxref{Interactive Call}).
54 55
55 To execute a command requires first reading the arguments for it. 56 Prior to executing the command, Emacs runs @code{undo-boundary} to
56This is done by calling @code{command-execute} (@pxref{Interactive 57create an undo boundary. @xref{Maintaining Undo}.
57Call}). For commands written in Lisp, the @code{interactive} 58
58specification says how to read the arguments. This may use the prefix 59 To execute a command, Emacs first reads its arguments by calling
59argument (@pxref{Prefix Command Arguments}) or may read with prompting 60@code{command-execute} (@pxref{Interactive Call}). For commands
60in the minibuffer (@pxref{Minibuffers}). For example, the command 61written in Lisp, the @code{interactive} specification says how to read
61@code{find-file} has an @code{interactive} specification which says to 62the arguments. This may use the prefix argument (@pxref{Prefix
62read a file name using the minibuffer. The command's function body does 63Command Arguments}) or may read with prompting in the minibuffer
63not use the minibuffer; if you call this command from Lisp code as a 64(@pxref{Minibuffers}). For example, the command @code{find-file} has
64function, you must supply the file name string as an ordinary Lisp 65an @code{interactive} specification which says to read a file name
66using the minibuffer. The function body of @code{find-file} does not
67use the minibuffer, so if you call @code{find-file} as a function from
68Lisp code, you must supply the file name string as an ordinary Lisp
65function argument. 69function argument.
66 70
67 If the command is a string or vector (i.e., a keyboard macro) then 71 If the command is a string or vector (i.e., a keyboard macro) then
@@ -968,23 +972,23 @@ the current Emacs session. If a symbol has not yet been so used,
968@end defun 972@end defun
969 973
970@menu 974@menu
971* Keyboard Events:: Ordinary characters--keys with symbols on them. 975* Keyboard Events:: Ordinary characters--keys with symbols on them.
972* Function Keys:: Function keys--keys with names, not symbols. 976* Function Keys:: Function keys--keys with names, not symbols.
973* Mouse Events:: Overview of mouse events. 977* Mouse Events:: Overview of mouse events.
974* Click Events:: Pushing and releasing a mouse button. 978* Click Events:: Pushing and releasing a mouse button.
975* Drag Events:: Moving the mouse before releasing the button. 979* Drag Events:: Moving the mouse before releasing the button.
976* Button-Down Events:: A button was pushed and not yet released. 980* Button-Down Events:: A button was pushed and not yet released.
977* Repeat Events:: Double and triple click (or drag, or down). 981* Repeat Events:: Double and triple click (or drag, or down).
978* Motion Events:: Just moving the mouse, not pushing a button. 982* Motion Events:: Just moving the mouse, not pushing a button.
979* Focus Events:: Moving the mouse between frames. 983* Focus Events:: Moving the mouse between frames.
980* Misc Events:: Other events the system can generate. 984* Misc Events:: Other events the system can generate.
981* Event Examples:: Examples of the lists for mouse events. 985* Event Examples:: Examples of the lists for mouse events.
982* Classifying Events:: Finding the modifier keys in an event symbol. 986* Classifying Events:: Finding the modifier keys in an event symbol.
983 Event types. 987 Event types.
984* Accessing Mouse:: Functions to extract info from mouse events. 988* Accessing Mouse:: Functions to extract info from mouse events.
985* Accessing Scroll:: Functions to get info from scroll bar events. 989* Accessing Scroll:: Functions to get info from scroll bar events.
986* Strings of Events:: Special considerations for putting 990* Strings of Events:: Special considerations for putting
987 keyboard character events in a string. 991 keyboard character events in a string.
988@end menu 992@end menu
989 993
990@node Keyboard Events 994@node Keyboard Events
@@ -2158,12 +2162,12 @@ debugging terminal input.
2158 For higher-level input facilities, see @ref{Minibuffers}. 2162 For higher-level input facilities, see @ref{Minibuffers}.
2159 2163
2160@menu 2164@menu
2161* Key Sequence Input:: How to read one key sequence. 2165* Key Sequence Input:: How to read one key sequence.
2162* Reading One Event:: How to read just one event. 2166* Reading One Event:: How to read just one event.
2163* Event Mod:: How Emacs modifies events as they are read. 2167* Event Mod:: How Emacs modifies events as they are read.
2164* Invoking the Input Method:: How reading an event uses the input method. 2168* Invoking the Input Method:: How reading an event uses the input method.
2165* Quoted Character Input:: Asking the user to specify a character. 2169* Quoted Character Input:: Asking the user to specify a character.
2166* Event Input Misc:: How to reread or throw away input events. 2170* Event Input Misc:: How to reread or throw away input events.
2167@end menu 2171@end menu
2168 2172
2169@node Key Sequence Input 2173@node Key Sequence Input
@@ -2889,9 +2893,9 @@ normal quitting is permitted after the first character of input.
2889 (while (not done) 2893 (while (not done)
2890 (let ((inhibit-quit first) 2894 (let ((inhibit-quit first)
2891 @dots{}) 2895 @dots{})
2892 (and prompt (message "%s-" prompt)) 2896 (and prompt (message "%s-" prompt))
2893 (setq char (read-event)) 2897 (setq char (read-event))
2894 (if inhibit-quit (setq quit-flag nil))) 2898 (if inhibit-quit (setq quit-flag nil)))
2895 @r{@dots{}set the variable @code{code}@dots{}}) 2899 @r{@dots{}set the variable @code{code}@dots{}})
2896 code)) 2900 code))
2897@end example 2901@end example
diff --git a/doc/lispref/compile.texi b/doc/lispref/compile.texi
index b2ab9d67e59..1c28664e7c3 100644
--- a/doc/lispref/compile.texi
+++ b/doc/lispref/compile.texi
@@ -47,9 +47,9 @@ byte compilation.
47* Compilation Functions:: Byte compilation functions. 47* Compilation Functions:: Byte compilation functions.
48* Docs and Compilation:: Dynamic loading of documentation strings. 48* Docs and Compilation:: Dynamic loading of documentation strings.
49* Dynamic Loading:: Dynamic loading of individual functions. 49* Dynamic Loading:: Dynamic loading of individual functions.
50* Eval During Compile:: Code to be evaluated when you compile. 50* Eval During Compile:: Code to be evaluated when you compile.
51* Compiler Errors:: Handling compiler error messages. 51* Compiler Errors:: Handling compiler error messages.
52* Byte-Code Objects:: The data type used for byte-compiled functions. 52* Byte-Code Objects:: The data type used for byte-compiled functions.
53* Disassembly:: Disassembling byte-code; how to read byte-code. 53* Disassembly:: Disassembling byte-code; how to read byte-code.
54@end menu 54@end menu
55 55
diff --git a/doc/lispref/debugging.texi b/doc/lispref/debugging.texi
index 669c07d5a0e..3d77a5fe0d5 100644
--- a/doc/lispref/debugging.texi
+++ b/doc/lispref/debugging.texi
@@ -28,7 +28,7 @@ compiler, you need to know how to examine the compiler's input buffer.
28 28
29@menu 29@menu
30* Debugger:: How the Emacs Lisp debugger is implemented. 30* Debugger:: How the Emacs Lisp debugger is implemented.
31* Edebug:: A source-level Emacs Lisp debugger. 31* Edebug:: A source-level Emacs Lisp debugger.
32* Syntax Errors:: How to find syntax errors. 32* Syntax Errors:: How to find syntax errors.
33* Test Coverage:: Ensuring you have tested all branches in your code. 33* Test Coverage:: Ensuring you have tested all branches in your code.
34* Compilation Errors:: How to find errors that show up in byte compilation. 34* Compilation Errors:: How to find errors that show up in byte compilation.
@@ -58,7 +58,7 @@ debugger recursively. @xref{Recursive Editing}.
58 58
59@menu 59@menu
60* Error Debugging:: Entering the debugger when an error happens. 60* Error Debugging:: Entering the debugger when an error happens.
61* Infinite Loops:: Stopping and debugging a program that doesn't exit. 61* Infinite Loops:: Stopping and debugging a program that doesn't exit.
62* Function Debugging:: Entering it when a certain function is called. 62* Function Debugging:: Entering it when a certain function is called.
63* Explicit Debug:: Entering it at a certain point in the program. 63* Explicit Debug:: Entering it at a certain point in the program.
64* Using Debugger:: What the debugger does; what you see while in it. 64* Using Debugger:: What the debugger does; what you see while in it.
diff --git a/doc/lispref/display.texi b/doc/lispref/display.texi
index 622de2cd3cf..9f07fb42ef4 100644
--- a/doc/lispref/display.texi
+++ b/doc/lispref/display.texi
@@ -1181,7 +1181,7 @@ inside the overlay or outside, and likewise for the end of the overlay.
1181@menu 1181@menu
1182* Managing Overlays:: Creating and moving overlays. 1182* Managing Overlays:: Creating and moving overlays.
1183* Overlay Properties:: How to read and set properties. 1183* Overlay Properties:: How to read and set properties.
1184 What properties do to the screen display. 1184 What properties do to the screen display.
1185* Finding Overlays:: Searching for overlays. 1185* Finding Overlays:: Searching for overlays.
1186@end menu 1186@end menu
1187 1187
diff --git a/doc/lispref/edebug.texi b/doc/lispref/edebug.texi
index fba83980cd1..3733a8fb105 100644
--- a/doc/lispref/edebug.texi
+++ b/doc/lispref/edebug.texi
@@ -59,24 +59,24 @@ The first three sections below should tell you enough about Edebug to
59start using it. 59start using it.
60 60
61@menu 61@menu
62* Using Edebug:: Introduction to use of Edebug. 62* Using Edebug:: Introduction to use of Edebug.
63* Instrumenting:: You must instrument your code 63* Instrumenting:: You must instrument your code
64 in order to debug it with Edebug. 64 in order to debug it with Edebug.
65* Modes: Edebug Execution Modes. Execution modes, stopping more or less often. 65* Modes: Edebug Execution Modes. Execution modes, stopping more or less often.
66* Jumping:: Commands to jump to a specified place. 66* Jumping:: Commands to jump to a specified place.
67* Misc: Edebug Misc. Miscellaneous commands. 67* Misc: Edebug Misc. Miscellaneous commands.
68* Breaks:: Setting breakpoints to make the program stop. 68* Breaks:: Setting breakpoints to make the program stop.
69* Trapping Errors:: Trapping errors with Edebug. 69* Trapping Errors:: Trapping errors with Edebug.
70* Views: Edebug Views. Views inside and outside of Edebug. 70* Views: Edebug Views. Views inside and outside of Edebug.
71* Eval: Edebug Eval. Evaluating expressions within Edebug. 71* Eval: Edebug Eval. Evaluating expressions within Edebug.
72* Eval List:: Expressions whose values are displayed 72* Eval List:: Expressions whose values are displayed
73 each time you enter Edebug. 73 each time you enter Edebug.
74* Printing in Edebug:: Customization of printing. 74* Printing in Edebug:: Customization of printing.
75* Trace Buffer:: How to produce trace output in a buffer. 75* Trace Buffer:: How to produce trace output in a buffer.
76* Coverage Testing:: How to test evaluation coverage. 76* Coverage Testing:: How to test evaluation coverage.
77* The Outside Context:: Data that Edebug saves and restores. 77* The Outside Context:: Data that Edebug saves and restores.
78* Edebug and Macros:: Specifying how to handle macro calls. 78* Edebug and Macros:: Specifying how to handle macro calls.
79* Options: Edebug Options. Option variables for customizing Edebug. 79* Options: Edebug Options. Option variables for customizing Edebug.
80@end menu 80@end menu
81 81
82@node Using Edebug 82@node Using Edebug
@@ -429,8 +429,8 @@ breakpoints, the global break condition, and source breakpoints.
429 429
430@menu 430@menu
431* Breakpoints:: Breakpoints at stop points. 431* Breakpoints:: Breakpoints at stop points.
432* Global Break Condition:: Breaking on an event. 432* Global Break Condition:: Breaking on an event.
433* Source Breakpoints:: Embedding breakpoints in source code. 433* Source Breakpoints:: Embedding breakpoints in source code.
434@end menu 434@end menu
435 435
436@node Breakpoints 436@node Breakpoints
@@ -940,9 +940,9 @@ explains precisely what context Edebug restores, and how Edebug fails to
940be completely transparent. 940be completely transparent.
941 941
942@menu 942@menu
943* Checking Whether to Stop:: When Edebug decides what to do. 943* Checking Whether to Stop:: When Edebug decides what to do.
944* Edebug Display Update:: When Edebug updates the display. 944* Edebug Display Update:: When Edebug updates the display.
945* Edebug Recursive Edit:: When Edebug stops execution. 945* Edebug Recursive Edit:: When Edebug stops execution.
946@end menu 946@end menu
947 947
948@node Checking Whether to Stop 948@node Checking Whether to Stop
@@ -1074,9 +1074,9 @@ extra care is needed. This subsection explains the details.
1074 1074
1075@menu 1075@menu
1076* Instrumenting Macro Calls:: The basic problem. 1076* Instrumenting Macro Calls:: The basic problem.
1077* Specification List:: How to specify complex patterns of evaluation. 1077* Specification List:: How to specify complex patterns of evaluation.
1078* Backtracking:: What Edebug does when matching fails. 1078* Backtracking:: What Edebug does when matching fails.
1079* Specification Examples:: To help understand specifications. 1079* Specification Examples:: To help understand specifications.
1080@end menu 1080@end menu
1081 1081
1082@node Instrumenting Macro Calls 1082@node Instrumenting Macro Calls
diff --git a/doc/lispref/elisp.texi b/doc/lispref/elisp.texi
index 46d242fcfba..30f085f69de 100644
--- a/doc/lispref/elisp.texi
+++ b/doc/lispref/elisp.texi
@@ -143,7 +143,7 @@ Cover art by Etienne Suvasa.
143 files are made. 143 files are made.
144* Buffers:: Creating and using buffer objects. 144* Buffers:: Creating and using buffer objects.
145* Windows:: Manipulating windows and displaying buffers. 145* Windows:: Manipulating windows and displaying buffers.
146* Frames:: Making multiple system-level windows. 146* Frames:: Making multiple system-level windows.
147* Positions:: Buffer positions and motion functions. 147* Positions:: Buffer positions and motion functions.
148* Markers:: Markers represent positions and update 148* Markers:: Markers represent positions and update
149 automatically when the text is changed. 149 automatically when the text is changed.
@@ -155,7 +155,7 @@ Cover art by Etienne Suvasa.
155* Abbrevs:: How Abbrev mode works, and its data structures. 155* Abbrevs:: How Abbrev mode works, and its data structures.
156 156
157* Processes:: Running and communicating with subprocesses. 157* Processes:: Running and communicating with subprocesses.
158* Display:: Features for controlling the screen display. 158* Display:: Features for controlling the screen display.
159* System Interface:: Getting the user id, system type, environment 159* System Interface:: Getting the user id, system type, environment
160 variables, and other such things. 160 variables, and other such things.
161 161
@@ -291,10 +291,10 @@ Editing Types
291Numbers 291Numbers
292 292
293* Integer Basics:: Representation and range of integers. 293* Integer Basics:: Representation and range of integers.
294* Float Basics:: Representation and range of floating point. 294* Float Basics:: Representation and range of floating point.
295* Predicates on Numbers:: Testing for numbers. 295* Predicates on Numbers:: Testing for numbers.
296* Comparison of Numbers:: Equality and inequality predicates. 296* Comparison of Numbers:: Equality and inequality predicates.
297* Numeric Conversions:: Converting float to integer and vice versa. 297* Numeric Conversions:: Converting float to integer and vice versa.
298* Arithmetic Operations:: How to add, subtract, multiply and divide. 298* Arithmetic Operations:: How to add, subtract, multiply and divide.
299* Rounding Operations:: Explicitly rounding floating point numbers. 299* Rounding Operations:: Explicitly rounding floating point numbers.
300* Bitwise Operations:: Logical and, or, not, shifting. 300* Bitwise Operations:: Logical and, or, not, shifting.
@@ -311,7 +311,7 @@ Strings and Characters
311* String Conversion:: Converting to and from characters and strings. 311* String Conversion:: Converting to and from characters and strings.
312* Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}. 312* Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}.
313* Case Conversion:: Case conversion functions. 313* Case Conversion:: Case conversion functions.
314* Case Tables:: Customizing case conversion. 314* Case Tables:: Customizing case conversion.
315 315
316Lists 316Lists
317 317
@@ -379,7 +379,7 @@ Kinds of Forms
379* Symbol Forms:: Symbols evaluate as variables. 379* Symbol Forms:: Symbols evaluate as variables.
380* Classifying Lists:: How to distinguish various sorts of list forms. 380* Classifying Lists:: How to distinguish various sorts of list forms.
381* Function Indirection:: When a symbol appears as the car of a list, 381* Function Indirection:: When a symbol appears as the car of a list,
382 we find the real function via the symbol. 382 we find the real function via the symbol.
383* Function Forms:: Forms that call functions. 383* Function Forms:: Forms that call functions.
384* Macro Forms:: Forms that call macros. 384* Macro Forms:: Forms that call macros.
385* Special Forms:: "Special forms" are idiosyncratic primitives, 385* Special Forms:: "Special forms" are idiosyncratic primitives,
@@ -460,9 +460,9 @@ Functions
460* Function Cells:: Accessing or setting the function definition 460* Function Cells:: Accessing or setting the function definition
461 of a symbol. 461 of a symbol.
462* Obsolete Functions:: Declaring functions obsolete. 462* Obsolete Functions:: Declaring functions obsolete.
463* Inline Functions:: Defining functions that the compiler 463* Inline Functions:: Defining functions that the compiler
464 will open code. 464 will open code.
465* Declaring Functions:: Telling the compiler that a function is defined. 465* Declaring Functions:: Telling the compiler that a function is defined.
466* Function Currying:: Making wrapper functions that pre-specify 466* Function Currying:: Making wrapper functions that pre-specify
467 some arguments. 467 some arguments.
468* Function Safety:: Determining whether a function is safe to call. 468* Function Safety:: Determining whether a function is safe to call.
@@ -523,9 +523,9 @@ Loading
523* Repeated Loading:: Precautions about loading a file twice. 523* Repeated Loading:: Precautions about loading a file twice.
524* Named Features:: Loading a library if it isn't already loaded. 524* Named Features:: Loading a library if it isn't already loaded.
525* Where Defined:: Finding which file defined a certain symbol. 525* Where Defined:: Finding which file defined a certain symbol.
526* Unloading:: How to "unload" a library that was loaded. 526* Unloading:: How to "unload" a library that was loaded.
527* Hooks for Loading:: Providing code to be run when 527* Hooks for Loading:: Providing code to be run when
528 particular libraries are loaded. 528 particular libraries are loaded.
529 529
530Byte Compilation 530Byte Compilation
531 531
@@ -535,7 +535,7 @@ Byte Compilation
535* Dynamic Loading:: Dynamic loading of individual functions. 535* Dynamic Loading:: Dynamic loading of individual functions.
536* Eval During Compile:: Code to be evaluated when you compile. 536* Eval During Compile:: Code to be evaluated when you compile.
537* Compiler Errors:: Handling compiler error messages. 537* Compiler Errors:: Handling compiler error messages.
538* Byte-Code Objects:: The data type used for byte-compiled functions. 538* Byte-Code Objects:: The data type used for byte-compiled functions.
539* Disassembly:: Disassembling byte-code; how to read byte-code. 539* Disassembly:: Disassembling byte-code; how to read byte-code.
540 540
541Advising Emacs Lisp Functions 541Advising Emacs Lisp Functions
@@ -564,7 +564,7 @@ Debugging Lisp Programs
564The Lisp Debugger 564The Lisp Debugger
565 565
566* Error Debugging:: Entering the debugger when an error happens. 566* Error Debugging:: Entering the debugger when an error happens.
567* Infinite Loops:: Stopping and debugging a program that doesn't exit. 567* Infinite Loops:: Stopping and debugging a program that doesn't exit.
568* Function Debugging:: Entering it when a certain function is called. 568* Function Debugging:: Entering it when a certain function is called.
569* Explicit Debug:: Entering it at a certain point in the program. 569* Explicit Debug:: Entering it at a certain point in the program.
570* Using Debugger:: What the debugger does; what you see while in it. 570* Using Debugger:: What the debugger does; what you see while in it.
@@ -574,24 +574,24 @@ The Lisp Debugger
574 574
575Edebug 575Edebug
576 576
577* Using Edebug:: Introduction to use of Edebug. 577* Using Edebug:: Introduction to use of Edebug.
578* Instrumenting:: You must instrument your code 578* Instrumenting:: You must instrument your code
579 in order to debug it with Edebug. 579 in order to debug it with Edebug.
580* Edebug Execution Modes:: Execution modes, stopping more or less often. 580* Edebug Execution Modes:: Execution modes, stopping more or less often.
581* Jumping:: Commands to jump to a specified place. 581* Jumping:: Commands to jump to a specified place.
582* Edebug Misc:: Miscellaneous commands. 582* Edebug Misc:: Miscellaneous commands.
583* Breaks:: Setting breakpoints to make the program stop. 583* Breaks:: Setting breakpoints to make the program stop.
584* Trapping Errors:: Trapping errors with Edebug. 584* Trapping Errors:: Trapping errors with Edebug.
585* Edebug Views:: Views inside and outside of Edebug. 585* Edebug Views:: Views inside and outside of Edebug.
586* Edebug Eval:: Evaluating expressions within Edebug. 586* Edebug Eval:: Evaluating expressions within Edebug.
587* Eval List:: Expressions whose values are displayed 587* Eval List:: Expressions whose values are displayed
588 each time you enter Edebug. 588 each time you enter Edebug.
589* Printing in Edebug:: Customization of printing. 589* Printing in Edebug:: Customization of printing.
590* Trace Buffer:: How to produce trace output in a buffer. 590* Trace Buffer:: How to produce trace output in a buffer.
591* Coverage Testing:: How to test evaluation coverage. 591* Coverage Testing:: How to test evaluation coverage.
592* The Outside Context:: Data that Edebug saves and restores. 592* The Outside Context:: Data that Edebug saves and restores.
593* Edebug and Macros:: Specifying how to handle macro calls. 593* Edebug and Macros:: Specifying how to handle macro calls.
594* Edebug Options:: Option variables for customizing Edebug. 594* Edebug Options:: Option variables for customizing Edebug.
595 595
596Breaks 596Breaks
597 597
@@ -608,8 +608,8 @@ The Outside Context
608Edebug and Macros 608Edebug and Macros
609 609
610* Instrumenting Macro Calls::The basic problem. 610* Instrumenting Macro Calls::The basic problem.
611* Specification List:: How to specify complex patterns of evaluation. 611* Specification List:: How to specify complex patterns of evaluation.
612* Backtracking:: What Edebug does when matching fails. 612* Backtracking:: What Edebug does when matching fails.
613* Specification Examples:: To help understand specifications. 613* Specification Examples:: To help understand specifications.
614 614
615Debugging Invalid Lisp Syntax 615Debugging Invalid Lisp Syntax
@@ -634,13 +634,13 @@ Minibuffers
634* Intro to Minibuffers:: Basic information about minibuffers. 634* Intro to Minibuffers:: Basic information about minibuffers.
635* Text from Minibuffer:: How to read a straight text string. 635* Text from Minibuffer:: How to read a straight text string.
636* Object from Minibuffer:: How to read a Lisp object or expression. 636* Object from Minibuffer:: How to read a Lisp object or expression.
637* Minibuffer History:: Recording previous minibuffer inputs 637* Minibuffer History:: Recording previous minibuffer inputs
638 so the user can reuse them. 638 so the user can reuse them.
639* Initial Input:: Specifying initial contents for the minibuffer. 639* Initial Input:: Specifying initial contents for the minibuffer.
640* Completion:: How to invoke and customize completion. 640* Completion:: How to invoke and customize completion.
641* Yes-or-No Queries:: Asking a question with a simple answer. 641* Yes-or-No Queries:: Asking a question with a simple answer.
642* Multiple Queries:: Asking a series of similar questions. 642* Multiple Queries:: Asking a series of similar questions.
643* Reading a Password:: Reading a password from the terminal. 643* Reading a Password:: Reading a password from the terminal.
644* Minibuffer Commands:: Commands used as key bindings in minibuffers. 644* Minibuffer Commands:: Commands used as key bindings in minibuffers.
645* Minibuffer Contents:: How such commands access the minibuffer text. 645* Minibuffer Contents:: How such commands access the minibuffer text.
646* Minibuffer Windows:: Operating on the special minibuffer windows. 646* Minibuffer Windows:: Operating on the special minibuffer windows.
@@ -667,7 +667,7 @@ Command Loop
667* Distinguish Interactive:: Making a command distinguish interactive calls. 667* Distinguish Interactive:: Making a command distinguish interactive calls.
668* Command Loop Info:: Variables set by the command loop for you to examine. 668* Command Loop Info:: Variables set by the command loop for you to examine.
669* Adjusting Point:: Adjustment of point after a command. 669* Adjusting Point:: Adjustment of point after a command.
670* Input Events:: What input looks like when you read it. 670* Input Events:: What input looks like when you read it.
671* Reading Input:: How to read input events from the keyboard or mouse. 671* Reading Input:: How to read input events from the keyboard or mouse.
672* Special Events:: Events processed immediately and individually. 672* Special Events:: Events processed immediately and individually.
673* Waiting:: Waiting for user input or elapsed time. 673* Waiting:: Waiting for user input or elapsed time.
@@ -701,7 +701,7 @@ Input Events
701* Event Examples:: Examples of the lists for mouse events. 701* Event Examples:: Examples of the lists for mouse events.
702* Classifying Events:: Finding the modifier keys in an event symbol. 702* Classifying Events:: Finding the modifier keys in an event symbol.
703 Event types. 703 Event types.
704* Accessing Mouse:: Functions to extract info from mouse events. 704* Accessing Mouse:: Functions to extract info from mouse events.
705* Accessing Scroll:: Functions to get info from scroll bar events. 705* Accessing Scroll:: Functions to get info from scroll bar events.
706* Strings of Events:: Special considerations for putting 706* Strings of Events:: Special considerations for putting
707 keyboard character events in a string. 707 keyboard character events in a string.
@@ -851,9 +851,9 @@ Files
851* Changing Files:: Renaming files, changing protection, etc. 851* Changing Files:: Renaming files, changing protection, etc.
852* File Names:: Decomposing and expanding file names. 852* File Names:: Decomposing and expanding file names.
853* Contents of Directories:: Getting a list of the files in a directory. 853* Contents of Directories:: Getting a list of the files in a directory.
854* Create/Delete Dirs:: Creating and Deleting Directories. 854* Create/Delete Dirs:: Creating and Deleting Directories.
855* Magic File Names:: Defining "magic" special handling 855* Magic File Names:: Defining "magic" special handling
856 for certain file names. 856 for certain file names.
857* Format Conversion:: Conversion to and from various file formats. 857* Format Conversion:: Conversion to and from various file formats.
858 858
859Visiting Files 859Visiting Files
@@ -865,7 +865,7 @@ Information about Files
865 865
866* Testing Accessibility:: Is a given file readable? Writable? 866* Testing Accessibility:: Is a given file readable? Writable?
867* Kinds of Files:: Is it a directory? A symbolic link? 867* Kinds of Files:: Is it a directory? A symbolic link?
868* Truenames:: Eliminating symbolic links from a file name. 868* Truenames:: Eliminating symbolic links from a file name.
869* File Attributes:: How large is it? Any other names? Etc. 869* File Attributes:: How large is it? Any other names? Etc.
870* Locating Files:: How to find a file in standard places. 870* Locating Files:: How to find a file in standard places.
871 871
@@ -935,8 +935,8 @@ Windows
935* Buffers and Windows:: Each window displays the contents of a buffer. 935* Buffers and Windows:: Each window displays the contents of a buffer.
936* Displaying Buffers:: Higher-level functions for displaying a buffer 936* Displaying Buffers:: Higher-level functions for displaying a buffer
937 and choosing a window for it. 937 and choosing a window for it.
938* Choosing Window:: How to choose a window for displaying a buffer. 938* Choosing Window:: How to choose a window for displaying a buffer.
939* Dedicated Windows:: How to avoid displaying another buffer in 939* Dedicated Windows:: How to avoid displaying another buffer in
940 a specific window. 940 a specific window.
941* Window Point:: Each window has its own location of point. 941* Window Point:: Each window has its own location of point.
942* Window Start and End:: Buffer positions indicating which text is 942* Window Start and End:: Buffer positions indicating which text is
@@ -956,37 +956,37 @@ Windows
956 956
957Frames 957Frames
958 958
959* Creating Frames:: Creating additional frames. 959* Creating Frames:: Creating additional frames.
960* Multiple Terminals:: Displaying on several different devices. 960* Multiple Terminals:: Displaying on several different devices.
961* Frame Parameters:: Controlling frame size, position, font, etc. 961* Frame Parameters:: Controlling frame size, position, font, etc.
962* Terminal Parameters:: Parameters common for all frames on terminal. 962* Terminal Parameters:: Parameters common for all frames on terminal.
963* Frame Titles:: Automatic updating of frame titles. 963* Frame Titles:: Automatic updating of frame titles.
964* Deleting Frames:: Frames last until explicitly deleted. 964* Deleting Frames:: Frames last until explicitly deleted.
965* Finding All Frames:: How to examine all existing frames. 965* Finding All Frames:: How to examine all existing frames.
966* Frames and Windows:: A frame contains windows; 966* Frames and Windows:: A frame contains windows;
967 display of text always works through windows. 967 display of text always works through windows.
968* Minibuffers and Frames:: How a frame finds the minibuffer to use. 968* Minibuffers and Frames:: How a frame finds the minibuffer to use.
969* Input Focus:: Specifying the selected frame. 969* Input Focus:: Specifying the selected frame.
970* Visibility of Frames:: Frames may be visible or invisible, or icons. 970* Visibility of Frames:: Frames may be visible or invisible, or icons.
971* Raising and Lowering:: Raising a frame makes it hide other windows; 971* Raising and Lowering:: Raising a frame makes it hide other windows;
972 lowering it makes the others hide it. 972 lowering it makes the others hide it.
973* Frame Configurations:: Saving the state of all frames. 973* Frame Configurations:: Saving the state of all frames.
974* Mouse Tracking:: Getting events that say when the mouse moves. 974* Mouse Tracking:: Getting events that say when the mouse moves.
975* Mouse Position:: Asking where the mouse is, or moving it. 975* Mouse Position:: Asking where the mouse is, or moving it.
976* Pop-Up Menus:: Displaying a menu for the user to select from. 976* Pop-Up Menus:: Displaying a menu for the user to select from.
977* Dialog Boxes:: Displaying a box to ask yes or no. 977* Dialog Boxes:: Displaying a box to ask yes or no.
978* Pointer Shape:: Specifying the shape of the mouse pointer. 978* Pointer Shape:: Specifying the shape of the mouse pointer.
979* Window System Selections::Transferring text to and from other X clients. 979* Window System Selections::Transferring text to and from other X clients.
980* Drag and Drop:: Internals of Drag-and-Drop implementation. 980* Drag and Drop:: Internals of Drag-and-Drop implementation.
981* Color Names:: Getting the definitions of color names. 981* Color Names:: Getting the definitions of color names.
982* Text Terminal Colors:: Defining colors for text-only terminals. 982* Text Terminal Colors:: Defining colors for text-only terminals.
983* Resources:: Getting resource values from the server. 983* Resources:: Getting resource values from the server.
984* Display Feature Testing:: Determining the features of a terminal. 984* Display Feature Testing:: Determining the features of a terminal.
985 985
986Frame Parameters 986Frame Parameters
987 987
988* Parameter Access:: How to change a frame's parameters. 988* Parameter Access:: How to change a frame's parameters.
989* Initial Parameters:: Specifying frame parameters when you make a frame. 989* Initial Parameters:: Specifying frame parameters when you make a frame.
990* Window Frame Parameters:: List of frame parameters for window systems. 990* Window Frame Parameters:: List of frame parameters for window systems.
991* Size and Position:: Changing the size and position of a frame. 991* Size and Position:: Changing the size and position of a frame.
992* Geometry:: Parsing geometry specifications. 992* Geometry:: Parsing geometry specifications.
@@ -1045,7 +1045,7 @@ Text
1045 later use. 1045 later use.
1046* Undo:: Undoing changes to the text of a buffer. 1046* Undo:: Undoing changes to the text of a buffer.
1047* Maintaining Undo:: How to enable and disable undo information. 1047* Maintaining Undo:: How to enable and disable undo information.
1048 How to control how much information is kept. 1048 How to control how much information is kept.
1049* Filling:: Functions for explicit filling. 1049* Filling:: Functions for explicit filling.
1050* Margins:: How to specify margins for filling commands. 1050* Margins:: How to specify margins for filling commands.
1051* Adaptive Fill:: Adaptive Fill mode chooses a fill prefix 1051* Adaptive Fill:: Adaptive Fill mode chooses a fill prefix
@@ -1071,7 +1071,7 @@ The Kill Ring
1071* Kill Functions:: Functions that kill text. 1071* Kill Functions:: Functions that kill text.
1072* Yanking:: How yanking is done. 1072* Yanking:: How yanking is done.
1073* Yank Commands:: Commands that access the kill ring. 1073* Yank Commands:: Commands that access the kill ring.
1074* Low-Level Kill Ring:: Functions and variables for kill ring access. 1074* Low-Level Kill Ring:: Functions and variables for kill ring access.
1075* Internals of Kill Ring:: Variables that hold kill ring data. 1075* Internals of Kill Ring:: Variables that hold kill ring data.
1076 1076
1077Indentation 1077Indentation
@@ -1086,9 +1086,9 @@ Indentation
1086Text Properties 1086Text Properties
1087 1087
1088* Examining Properties:: Looking at the properties of one character. 1088* Examining Properties:: Looking at the properties of one character.
1089* Changing Properties:: Setting the properties of a range of text. 1089* Changing Properties:: Setting the properties of a range of text.
1090* Property Search:: Searching for where a property changes value. 1090* Property Search:: Searching for where a property changes value.
1091* Special Properties:: Particular properties with special meanings. 1091* Special Properties:: Particular properties with special meanings.
1092* Format Properties:: Properties for representing formatting of text. 1092* Format Properties:: Properties for representing formatting of text.
1093* Sticky Properties:: How inserted text gets properties from 1093* Sticky Properties:: How inserted text gets properties from
1094 neighboring text. 1094 neighboring text.
@@ -1098,8 +1098,8 @@ Text Properties
1098 do something when you click on them. 1098 do something when you click on them.
1099* Fields:: The @code{field} property defines 1099* Fields:: The @code{field} property defines
1100 fields within the buffer. 1100 fields within the buffer.
1101* Not Intervals:: Why text properties do not use 1101* Not Intervals:: Why text properties do not use
1102 Lisp-visible text intervals. 1102 Lisp-visible text intervals.
1103 1103
1104Non-@acronym{ASCII} Characters 1104Non-@acronym{ASCII} Characters
1105 1105
@@ -1142,7 +1142,7 @@ Searching and Matching
1142* POSIX Regexps:: Searching POSIX-style for the longest match. 1142* POSIX Regexps:: Searching POSIX-style for the longest match.
1143* Match Data:: Finding out which part of the text matched, 1143* Match Data:: Finding out which part of the text matched,
1144 after a string or regexp search. 1144 after a string or regexp search.
1145* Search and Replace:: Commands that loop, searching and replacing. 1145* Search and Replace:: Commands that loop, searching and replacing.
1146* Standard Regexps:: Useful regexps for finding sentences, pages,... 1146* Standard Regexps:: Useful regexps for finding sentences, pages,...
1147 1147
1148Regular Expressions 1148Regular Expressions
@@ -1159,9 +1159,9 @@ Syntax of Regular Expressions
1159 1159
1160The Match Data 1160The Match Data
1161 1161
1162* Replacing Match:: Replacing a substring that was matched. 1162* Replacing Match:: Replacing a substring that was matched.
1163* Simple Match Data:: Accessing single items of match data, 1163* Simple Match Data:: Accessing single items of match data,
1164 such as where a particular subexpression started. 1164 such as where a particular subexpression started.
1165* Entire Match Data:: Accessing the entire match data at once, as a list. 1165* Entire Match Data:: Accessing the entire match data at once, as a list.
1166* Saving Match Data:: Saving and restoring the match data. 1166* Saving Match Data:: Saving and restoring the match data.
1167 1167
@@ -1171,7 +1171,7 @@ Syntax Tables
1171* Syntax Descriptors:: How characters are classified. 1171* Syntax Descriptors:: How characters are classified.
1172* Syntax Table Functions:: How to create, examine and alter syntax tables. 1172* Syntax Table Functions:: How to create, examine and alter syntax tables.
1173* Syntax Properties:: Overriding syntax with text properties. 1173* Syntax Properties:: Overriding syntax with text properties.
1174* Motion and Syntax:: Moving over characters with certain syntaxes. 1174* Motion and Syntax:: Moving over characters with certain syntaxes.
1175* Parsing Expressions:: Parsing balanced expressions 1175* Parsing Expressions:: Parsing balanced expressions
1176 using the syntax table. 1176 using the syntax table.
1177* Standard Syntax Tables:: Syntax tables used by various major modes. 1177* Standard Syntax Tables:: Syntax tables used by various major modes.
@@ -1260,10 +1260,10 @@ Emacs Display
1260* Invisible Text:: Hiding part of the buffer text. 1260* Invisible Text:: Hiding part of the buffer text.
1261* Selective Display:: Hiding part of the buffer text (the old way). 1261* Selective Display:: Hiding part of the buffer text (the old way).
1262* Temporary Displays:: Displays that go away automatically. 1262* Temporary Displays:: Displays that go away automatically.
1263* Overlays:: Use overlays to highlight parts of the buffer. 1263* Overlays:: Use overlays to highlight parts of the buffer.
1264* Width:: How wide a character or string is on the screen. 1264* Width:: How wide a character or string is on the screen.
1265* Line Height:: Controlling the height of lines. 1265* Line Height:: Controlling the height of lines.
1266* Faces:: A face defines a graphics style 1266* Faces:: A face defines a graphics style
1267 for text characters: font, colors, etc. 1267 for text characters: font, colors, etc.
1268* Fringes:: Controlling window fringes. 1268* Fringes:: Controlling window fringes.
1269* Scroll Bars:: Controlling vertical scroll bars. 1269* Scroll Bars:: Controlling vertical scroll bars.
@@ -1272,9 +1272,9 @@ Emacs Display
1272* Buttons:: Adding clickable buttons to Emacs buffers. 1272* Buttons:: Adding clickable buttons to Emacs buffers.
1273* Abstract Display:: Emacs' Widget for Object Collections. 1273* Abstract Display:: Emacs' Widget for Object Collections.
1274* Blinking:: How Emacs shows the matching open parenthesis. 1274* Blinking:: How Emacs shows the matching open parenthesis.
1275* Usual Display:: The usual conventions for displaying 1275* Usual Display:: The usual conventions for displaying
1276 nonprinting chars. 1276 nonprinting chars.
1277* Display Tables:: How to specify other conventions. 1277* Display Tables:: How to specify other conventions.
1278* Beeping:: Audible signal to the user. 1278* Beeping:: Audible signal to the user.
1279* Window Systems:: Which window system is being used. 1279* Window Systems:: Which window system is being used.
1280 1280
@@ -1296,7 +1296,7 @@ Overlays
1296 1296
1297* Managing Overlays:: Creating and moving overlays. 1297* Managing Overlays:: Creating and moving overlays.
1298* Overlay Properties:: How to read and set properties. 1298* Overlay Properties:: How to read and set properties.
1299 What properties do to the screen display. 1299 What properties do to the screen display.
1300* Finding Overlays:: Searching for overlays. 1300* Finding Overlays:: Searching for overlays.
1301 1301
1302Faces 1302Faces
@@ -1376,14 +1376,14 @@ Operating System Interface
1376* Getting Out:: How exiting works (permanent or temporary). 1376* Getting Out:: How exiting works (permanent or temporary).
1377* System Environment:: Distinguish the name and kind of system. 1377* System Environment:: Distinguish the name and kind of system.
1378* User Identification:: Finding the name and user id of the user. 1378* User Identification:: Finding the name and user id of the user.
1379* Time of Day:: Getting the current time. 1379* Time of Day:: Getting the current time.
1380* Time Conversion:: Converting a time from numeric form to 1380* Time Conversion:: Converting a time from numeric form to
1381 calendrical data and vice versa. 1381 calendrical data and vice versa.
1382* Time Parsing:: Converting a time from numeric form to text 1382* Time Parsing:: Converting a time from numeric form to text
1383 and vice versa. 1383 and vice versa.
1384* Processor Run Time:: Getting the run time used by Emacs. 1384* Processor Run Time:: Getting the run time used by Emacs.
1385* Time Calculations:: Adding, subtracting, comparing times, etc. 1385* Time Calculations:: Adding, subtracting, comparing times, etc.
1386* Timers:: Setting a timer to call a function at a 1386* Timers:: Setting a timer to call a function at a
1387 certain time. 1387 certain time.
1388* Idle Timers:: Setting a timer to call a function when Emacs has 1388* Idle Timers:: Setting a timer to call a function when Emacs has
1389 been idle for a certain length of time. 1389 been idle for a certain length of time.
@@ -1410,8 +1410,8 @@ Getting Out of Emacs
1410 1410
1411Terminal Input 1411Terminal Input
1412 1412
1413* Input Modes:: Options for how input is processed. 1413* Input Modes:: Options for how input is processed.
1414* Recording Input:: Saving histories of recent or all input events. 1414* Recording Input:: Saving histories of recent or all input events.
1415 1415
1416Tips and Conventions 1416Tips and Conventions
1417 1417
@@ -1421,7 +1421,7 @@ Tips and Conventions
1421* Compilation Tips:: Making compiled code run fast. 1421* Compilation Tips:: Making compiled code run fast.
1422* Warning Tips:: Turning off compiler warnings. 1422* Warning Tips:: Turning off compiler warnings.
1423* Documentation Tips:: Writing readable documentation strings. 1423* Documentation Tips:: Writing readable documentation strings.
1424* Comment Tips:: Conventions for writing comments. 1424* Comment Tips:: Conventions for writing comments.
1425* Library Headers:: Standard headers for library packages. 1425* Library Headers:: Standard headers for library packages.
1426 1426
1427GNU Emacs Internals 1427GNU Emacs Internals
diff --git a/doc/lispref/errors.texi b/doc/lispref/errors.texi
index e9ef1999589..b1b1747d86c 100644
--- a/doc/lispref/errors.texi
+++ b/doc/lispref/errors.texi
@@ -63,11 +63,11 @@ sequence or buffer.@*
63@xref{Lisp and Coding Systems}. 63@xref{Lisp and Coding Systems}.
64 64
65@item cyclic-function-indirection 65@item cyclic-function-indirection
66@code{"Symbol's chain of function indirections\@* contains a loop"}@* 66@code{"Symbol's chain of function indirections contains a loop"}@*
67@xref{Function Indirection}. 67@xref{Function Indirection}.
68 68
69@item cyclic-variable-indirection 69@item cyclic-variable-indirection
70@code{"Symbol's chain of variable indirections\@* contains a loop"}@* 70@code{"Symbol's chain of variable indirections contains a loop"}@*
71@xref{Variable Aliases}. 71@xref{Variable Aliases}.
72 72
73@item end-of-buffer 73@item end-of-buffer
diff --git a/doc/lispref/eval.texi b/doc/lispref/eval.texi
index f0d710f9775..6ed38f45dc8 100644
--- a/doc/lispref/eval.texi
+++ b/doc/lispref/eval.texi
@@ -110,7 +110,7 @@ forms.
110* Symbol Forms:: Symbols evaluate as variables. 110* Symbol Forms:: Symbols evaluate as variables.
111* Classifying Lists:: How to distinguish various sorts of list forms. 111* Classifying Lists:: How to distinguish various sorts of list forms.
112* Function Indirection:: When a symbol appears as the car of a list, 112* Function Indirection:: When a symbol appears as the car of a list,
113 we find the real function via the symbol. 113 we find the real function via the symbol.
114* Function Forms:: Forms that call functions. 114* Function Forms:: Forms that call functions.
115* Macro Forms:: Forms that call macros. 115* Macro Forms:: Forms that call macros.
116* Special Forms:: "Special forms" are idiosyncratic primitives, 116* Special Forms:: "Special forms" are idiosyncratic primitives,
diff --git a/doc/lispref/files.texi b/doc/lispref/files.texi
index 699a33ff22b..abdd2814b56 100644
--- a/doc/lispref/files.texi
+++ b/doc/lispref/files.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/files 7@setfilename ../../info/files
7@node Files, Backups and Auto-Saving, Documentation, Top 8@node Files, Backups and Auto-Saving, Documentation, Top
@@ -38,9 +39,9 @@ to locale @code{system-message-locale}, and decoded using coding system
38* Changing Files:: Renaming files, changing protection, etc. 39* Changing Files:: Renaming files, changing protection, etc.
39* File Names:: Decomposing and expanding file names. 40* File Names:: Decomposing and expanding file names.
40* Contents of Directories:: Getting a list of the files in a directory. 41* Contents of Directories:: Getting a list of the files in a directory.
41* Create/Delete Dirs:: Creating and Deleting Directories. 42* Create/Delete Dirs:: Creating and Deleting Directories.
42* Magic File Names:: Defining "magic" special handling 43* Magic File Names:: Defining "magic" special handling
43 for certain file names. 44 for certain file names.
44* Format Conversion:: Conversion to and from various file formats. 45* Format Conversion:: Conversion to and from various file formats.
45@end menu 46@end menu
46 47
@@ -755,7 +756,7 @@ otherwise noted.
755@menu 756@menu
756* Testing Accessibility:: Is a given file readable? Writable? 757* Testing Accessibility:: Is a given file readable? Writable?
757* Kinds of Files:: Is it a directory? A symbolic link? 758* Kinds of Files:: Is it a directory? A symbolic link?
758* Truenames:: Eliminating symbolic links from a file name. 759* Truenames:: Eliminating symbolic links from a file name.
759* File Attributes:: How large is it? Any other names? Etc. 760* File Attributes:: How large is it? Any other names? Etc.
760* Locating Files:: How to find a file in standard places. 761* Locating Files:: How to find a file in standard places.
761@end menu 762@end menu
diff --git a/doc/lispref/frames.texi b/doc/lispref/frames.texi
index 9994210bd17..7dfe3242c5d 100644
--- a/doc/lispref/frames.texi
+++ b/doc/lispref/frames.texi
@@ -85,26 +85,26 @@ is the same as for @code{framep} above.
85* Frame Parameters:: Controlling frame size, position, font, etc. 85* Frame Parameters:: Controlling frame size, position, font, etc.
86* Terminal Parameters:: Parameters common for all frames on terminal. 86* Terminal Parameters:: Parameters common for all frames on terminal.
87* Frame Titles:: Automatic updating of frame titles. 87* Frame Titles:: Automatic updating of frame titles.
88* Deleting Frames:: Frames last until explicitly deleted. 88* Deleting Frames:: Frames last until explicitly deleted.
89* Finding All Frames:: How to examine all existing frames. 89* Finding All Frames:: How to examine all existing frames.
90* Frames and Windows:: A frame contains windows; 90* Frames and Windows:: A frame contains windows;
91 display of text always works through windows. 91 display of text always works through windows.
92* Minibuffers and Frames:: How a frame finds the minibuffer to use. 92* Minibuffers and Frames:: How a frame finds the minibuffer to use.
93* Input Focus:: Specifying the selected frame. 93* Input Focus:: Specifying the selected frame.
94* Visibility of Frames:: Frames may be visible or invisible, or icons. 94* Visibility of Frames:: Frames may be visible or invisible, or icons.
95* Raising and Lowering:: Raising a frame makes it hide other windows; 95* Raising and Lowering:: Raising a frame makes it hide other windows;
96 lowering it makes the others hide it. 96 lowering it makes the others hide it.
97* Frame Configurations:: Saving the state of all frames. 97* Frame Configurations:: Saving the state of all frames.
98* Mouse Tracking:: Getting events that say when the mouse moves. 98* Mouse Tracking:: Getting events that say when the mouse moves.
99* Mouse Position:: Asking where the mouse is, or moving it. 99* Mouse Position:: Asking where the mouse is, or moving it.
100* Pop-Up Menus:: Displaying a menu for the user to select from. 100* Pop-Up Menus:: Displaying a menu for the user to select from.
101* Dialog Boxes:: Displaying a box to ask yes or no. 101* Dialog Boxes:: Displaying a box to ask yes or no.
102* Pointer Shape:: Specifying the shape of the mouse pointer. 102* Pointer Shape:: Specifying the shape of the mouse pointer.
103* Window System Selections:: Transferring text to and from other X clients. 103* Window System Selections:: Transferring text to and from other X clients.
104* Drag and Drop:: Internals of Drag-and-Drop implementation. 104* Drag and Drop:: Internals of Drag-and-Drop implementation.
105* Color Names:: Getting the definitions of color names. 105* Color Names:: Getting the definitions of color names.
106* Text Terminal Colors:: Defining colors for text-only terminals. 106* Text Terminal Colors:: Defining colors for text-only terminals.
107* Resources:: Getting resource values from the server. 107* Resources:: Getting resource values from the server.
108* Display Feature Testing:: Determining the features of a terminal. 108* Display Feature Testing:: Determining the features of a terminal.
109@end menu 109@end menu
110 110
@@ -343,7 +343,7 @@ variables. @xref{Frame-Local Variables}.
343 343
344@menu 344@menu
345* Parameter Access:: How to change a frame's parameters. 345* Parameter Access:: How to change a frame's parameters.
346* Initial Parameters:: Specifying frame parameters when you make a frame. 346* Initial Parameters:: Specifying frame parameters when you make a frame.
347* Window Frame Parameters:: List of frame parameters for window systems. 347* Window Frame Parameters:: List of frame parameters for window systems.
348* Size and Position:: Changing the size and position of a frame. 348* Size and Position:: Changing the size and position of a frame.
349* Geometry:: Parsing geometry specifications. 349* Geometry:: Parsing geometry specifications.
diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi
index 7e8ac09b44e..d5c89dd7cf3 100644
--- a/doc/lispref/functions.texi
+++ b/doc/lispref/functions.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/functions 7@setfilename ../../info/functions
7@node Functions, Macros, Variables, Top 8@node Functions, Macros, Variables, Top
diff --git a/doc/lispref/internals.texi b/doc/lispref/internals.texi
index 6b076d8ee3a..2420e777fe8 100644
--- a/doc/lispref/internals.texi
+++ b/doc/lispref/internals.texi
@@ -518,8 +518,7 @@ If all args return nil, return nil.
518@end group 518@end group
519@group 519@group
520usage: (or CONDITIONS ...) */) 520usage: (or CONDITIONS ...) */)
521 (args) 521 (Lisp_Object args)
522 Lisp_Object args;
523@{ 522@{
524 register Lisp_Object val = Qnil; 523 register Lisp_Object val = Qnil;
525 struct gcpro gcpro1; 524 struct gcpro gcpro1;
@@ -618,15 +617,15 @@ All the usual rules for documentation strings in Lisp code
618too. 617too.
619@end table 618@end table
620 619
621 After the call to the @code{DEFUN} macro, you must write the argument 620 After the call to the @code{DEFUN} macro, you must write the
622name list that every C function must have, followed by ordinary C 621argument list that every C function must have, including the types for
623declarations for the arguments. For a function with a fixed maximum 622the arguments. For a function with a fixed maximum number of
624number of arguments, declare a C argument for each Lisp argument, and 623arguments, declare a C argument for each Lisp argument, and give them
625give them all type @code{Lisp_Object}. When a Lisp function has no 624all type @code{Lisp_Object}. When a Lisp function has no upper limit
626upper limit on the number of arguments, its implementation in C actually 625on the number of arguments, its implementation in C actually receives
627receives exactly two arguments: the first is the number of Lisp 626exactly two arguments: the first is the number of Lisp arguments, and
628arguments, and the second is the address of a block containing their 627the second is the address of a block containing their values. They
629values. They have types @code{int} and @w{@code{Lisp_Object *}}. 628have types @code{int} and @w{@code{Lisp_Object *}}.
630 629
631@cindex @code{GCPRO} and @code{UNGCPRO} 630@cindex @code{GCPRO} and @code{UNGCPRO}
632@cindex protect C variables from garbage collection 631@cindex protect C variables from garbage collection
@@ -761,22 +760,22 @@ If they are on the border between WINDOW and its right sibling,\n\
761@group 760@group
762 switch (coordinates_in_window (XWINDOW (window), &x, &y)) 761 switch (coordinates_in_window (XWINDOW (window), &x, &y))
763 @{ 762 @{
764 case 0: /* NOT in window at all. */ 763 case 0: /* NOT in window at all. */
765 return Qnil; 764 return Qnil;
766@end group 765@end group
767 766
768@group 767@group
769 case 1: /* In text part of window. */ 768 case 1: /* In text part of window. */
770 return Fcons (make_number (x), make_number (y)); 769 return Fcons (make_number (x), make_number (y));
771@end group 770@end group
772 771
773@group 772@group
774 case 2: /* In mode line of window. */ 773 case 2: /* In mode line of window. */
775 return Qmode_line; 774 return Qmode_line;
776@end group 775@end group
777 776
778@group 777@group
779 case 3: /* On right border of window. */ 778 case 3: /* On right border of window. */
780 return Qvertical_line; 779 return Qvertical_line;
781@end group 780@end group
782 781
diff --git a/doc/lispref/keymaps.texi b/doc/lispref/keymaps.texi
index d886b990dd8..e1052a9912e 100644
--- a/doc/lispref/keymaps.texi
+++ b/doc/lispref/keymaps.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2000, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1998, 1999, 2000, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/keymaps 7@setfilename ../../info/keymaps
7@node Keymaps, Modes, Command Loop, Top 8@node Keymaps, Modes, Command Loop, Top
@@ -16,19 +17,19 @@ used to look up the next input event; this continues until a command
16is found. The whole process is called @dfn{key lookup}. 17is found. The whole process is called @dfn{key lookup}.
17 18
18@menu 19@menu
19* Key Sequences:: Key sequences as Lisp objects. 20* Key Sequences:: Key sequences as Lisp objects.
20* Keymap Basics:: Basic concepts of keymaps. 21* Keymap Basics:: Basic concepts of keymaps.
21* Format of Keymaps:: What a keymap looks like as a Lisp object. 22* Format of Keymaps:: What a keymap looks like as a Lisp object.
22* Creating Keymaps:: Functions to create and copy keymaps. 23* Creating Keymaps:: Functions to create and copy keymaps.
23* Inheritance and Keymaps:: How one keymap can inherit the bindings 24* Inheritance and Keymaps:: How one keymap can inherit the bindings
24 of another keymap. 25 of another keymap.
25* Prefix Keys:: Defining a key with a keymap as its definition. 26* Prefix Keys:: Defining a key with a keymap as its definition.
26* Active Keymaps:: How Emacs searches the active keymaps 27* Active Keymaps:: How Emacs searches the active keymaps
27 for a key binding. 28 for a key binding.
28* Searching Keymaps:: A pseudo-Lisp summary of searching active maps. 29* Searching Keymaps:: A pseudo-Lisp summary of searching active maps.
29* Controlling Active Maps:: Each buffer has a local keymap 30* Controlling Active Maps:: Each buffer has a local keymap
30 to override the standard (global) bindings. 31 to override the standard (global) bindings.
31 A minor mode can also override them. 32 A minor mode can also override them.
32* Key Lookup:: Finding a key's binding in one keymap. 33* Key Lookup:: Finding a key's binding in one keymap.
33* Functions for Key Lookup:: How to request key lookup. 34* Functions for Key Lookup:: How to request key lookup.
34* Changing Key Bindings:: Redefining a key in a keymap. 35* Changing Key Bindings:: Redefining a key in a keymap.
@@ -36,7 +37,7 @@ is found. The whole process is called @dfn{key lookup}.
36* Translation Keymaps:: Keymaps for translating sequences of events. 37* Translation Keymaps:: Keymaps for translating sequences of events.
37* Key Binding Commands:: Interactive interfaces for redefining keys. 38* Key Binding Commands:: Interactive interfaces for redefining keys.
38* Scanning Keymaps:: Looking through all keymaps, for printing help. 39* Scanning Keymaps:: Looking through all keymaps, for printing help.
39* Menu Keymaps:: Defining a menu as a keymap. 40* Menu Keymaps:: Defining a menu as a keymap.
40@end menu 41@end menu
41 42
42@node Key Sequences 43@node Key Sequences
@@ -1959,11 +1960,11 @@ is active for the next input event, that activates the keyboard menu
1959feature. 1960feature.
1960 1961
1961@menu 1962@menu
1962* Defining Menus:: How to make a keymap that defines a menu. 1963* Defining Menus:: How to make a keymap that defines a menu.
1963* Mouse Menus:: How users actuate the menu with the mouse. 1964* Mouse Menus:: How users actuate the menu with the mouse.
1964* Keyboard Menus:: How users actuate the menu with the keyboard. 1965* Keyboard Menus:: How users actuate the menu with the keyboard.
1965* Menu Example:: Making a simple menu. 1966* Menu Example:: Making a simple menu.
1966* Menu Bar:: How to customize the menu bar. 1967* Menu Bar:: How to customize the menu bar.
1967* Tool Bar:: A tool bar is a row of images. 1968* Tool Bar:: A tool bar is a row of images.
1968* Modifying Menus:: How to add new items to a menu. 1969* Modifying Menus:: How to add new items to a menu.
1969@end menu 1970@end menu
@@ -2413,10 +2414,10 @@ Next we define the menu items:
2413@smallexample 2414@smallexample
2414(define-key menu-bar-replace-menu [tags-repl-continue] 2415(define-key menu-bar-replace-menu [tags-repl-continue]
2415 '(menu-item "Continue Replace" tags-loop-continue 2416 '(menu-item "Continue Replace" tags-loop-continue
2416 :help "Continue last tags replace operation")) 2417 :help "Continue last tags replace operation"))
2417(define-key menu-bar-replace-menu [tags-repl] 2418(define-key menu-bar-replace-menu [tags-repl]
2418 '(menu-item "Replace in tagged files" tags-query-replace 2419 '(menu-item "Replace in tagged files" tags-query-replace
2419 :help "Interactively replace a regexp in all tagged files")) 2420 :help "Interactively replace a regexp in all tagged files"))
2420(define-key menu-bar-replace-menu [separator-replace-tags] 2421(define-key menu-bar-replace-menu [separator-replace-tags]
2421 '(menu-item "--")) 2422 '(menu-item "--"))
2422;; @r{@dots{}} 2423;; @r{@dots{}}
@@ -2656,8 +2657,8 @@ using an indirection through @code{tool-bar-map}.
2656By default, the global map binds @code{[tool-bar]} as follows: 2657By default, the global map binds @code{[tool-bar]} as follows:
2657@example 2658@example
2658(global-set-key [tool-bar] 2659(global-set-key [tool-bar]
2659 '(menu-item "tool bar" ignore 2660 '(menu-item "tool bar" ignore
2660 :filter (lambda (ignore) tool-bar-map))) 2661 :filter (lambda (ignore) tool-bar-map)))
2661@end example 2662@end example
2662@noindent 2663@noindent
2663Thus the tool bar map is derived dynamically from the value of variable 2664Thus the tool bar map is derived dynamically from the value of variable
diff --git a/doc/lispref/loading.texi b/doc/lispref/loading.texi
index 7e3240d72de..bbdd67fc3a5 100644
--- a/doc/lispref/loading.texi
+++ b/doc/lispref/loading.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/loading 7@setfilename ../../info/loading
7@node Loading, Byte Compilation, Customization, Top 8@node Loading, Byte Compilation, Customization, Top
@@ -43,9 +44,9 @@ containing Lisp code.
43* Repeated Loading:: Precautions about loading a file twice. 44* Repeated Loading:: Precautions about loading a file twice.
44* Named Features:: Loading a library if it isn't already loaded. 45* Named Features:: Loading a library if it isn't already loaded.
45* Where Defined:: Finding which file defined a certain symbol. 46* Where Defined:: Finding which file defined a certain symbol.
46* Unloading:: How to "unload" a library that was loaded. 47* Unloading:: How to "unload" a library that was loaded.
47* Hooks for Loading:: Providing code to be run when 48* Hooks for Loading:: Providing code to be run when
48 particular libraries are loaded. 49 particular libraries are loaded.
49@end menu 50@end menu
50 51
51@node How Programs Do Loading 52@node How Programs Do Loading
diff --git a/doc/lispref/minibuf.texi b/doc/lispref/minibuf.texi
index bfe73ce27f4..3588704b054 100644
--- a/doc/lispref/minibuf.texi
+++ b/doc/lispref/minibuf.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 2002,
4@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/minibuf 7@setfilename ../../info/minibuf
7@node Minibuffers, Command Loop, Read and Print, Top 8@node Minibuffers, Command Loop, Read and Print, Top
@@ -22,13 +23,13 @@ argument.
22* Intro to Minibuffers:: Basic information about minibuffers. 23* Intro to Minibuffers:: Basic information about minibuffers.
23* Text from Minibuffer:: How to read a straight text string. 24* Text from Minibuffer:: How to read a straight text string.
24* Object from Minibuffer:: How to read a Lisp object or expression. 25* Object from Minibuffer:: How to read a Lisp object or expression.
25* Minibuffer History:: Recording previous minibuffer inputs 26* Minibuffer History:: Recording previous minibuffer inputs
26 so the user can reuse them. 27 so the user can reuse them.
27* Initial Input:: Specifying initial contents for the minibuffer. 28* Initial Input:: Specifying initial contents for the minibuffer.
28* Completion:: How to invoke and customize completion. 29* Completion:: How to invoke and customize completion.
29* Yes-or-No Queries:: Asking a question with a simple answer. 30* Yes-or-No Queries:: Asking a question with a simple answer.
30* Multiple Queries:: Asking a series of similar questions. 31* Multiple Queries:: Asking a series of similar questions.
31* Reading a Password:: Reading a password from the terminal. 32* Reading a Password:: Reading a password from the terminal.
32* Minibuffer Commands:: Commands used as key bindings in minibuffers. 33* Minibuffer Commands:: Commands used as key bindings in minibuffers.
33* Minibuffer Contents:: How such commands access the minibuffer text. 34* Minibuffer Contents:: How such commands access the minibuffer text.
34* Minibuffer Windows:: Operating on the special minibuffer windows. 35* Minibuffer Windows:: Operating on the special minibuffer windows.
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index e5eb90863af..858226ecdfc 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -1342,7 +1342,7 @@ or like this, using @code{add-to-list} (@pxref{List Variables}):
1342 Global minor modes distributed with Emacs should if possible support 1342 Global minor modes distributed with Emacs should if possible support
1343enabling and disabling via Custom (@pxref{Customization}). To do this, 1343enabling and disabling via Custom (@pxref{Customization}). To do this,
1344the first step is to define the mode variable with @code{defcustom}, and 1344the first step is to define the mode variable with @code{defcustom}, and
1345specify @code{:type boolean}. 1345specify @code{:type 'boolean}.
1346 1346
1347 If just setting the variable is not sufficient to enable the mode, you 1347 If just setting the variable is not sufficient to enable the mode, you
1348should also specify a @code{:set} method which enables the mode by 1348should also specify a @code{:set} method which enables the mode by
diff --git a/doc/lispref/numbers.texi b/doc/lispref/numbers.texi
index fdec0448e02..62b4796350e 100644
--- a/doc/lispref/numbers.texi
+++ b/doc/lispref/numbers.texi
@@ -21,10 +21,10 @@ exact; they have a fixed, limited amount of precision.
21 21
22@menu 22@menu
23* Integer Basics:: Representation and range of integers. 23* Integer Basics:: Representation and range of integers.
24* Float Basics:: Representation and range of floating point. 24* Float Basics:: Representation and range of floating point.
25* Predicates on Numbers:: Testing for numbers. 25* Predicates on Numbers:: Testing for numbers.
26* Comparison of Numbers:: Equality and inequality predicates. 26* Comparison of Numbers:: Equality and inequality predicates.
27* Numeric Conversions:: Converting float to integer and vice versa. 27* Numeric Conversions:: Converting float to integer and vice versa.
28* Arithmetic Operations:: How to add, subtract, multiply and divide. 28* Arithmetic Operations:: How to add, subtract, multiply and divide.
29* Rounding Operations:: Explicitly rounding floating point numbers. 29* Rounding Operations:: Explicitly rounding floating point numbers.
30* Bitwise Operations:: Logical and, or, not, shifting. 30* Bitwise Operations:: Logical and, or, not, shifting.
diff --git a/doc/lispref/os.texi b/doc/lispref/os.texi
index 9fbc51ae12f..4f37eb10b7a 100644
--- a/doc/lispref/os.texi
+++ b/doc/lispref/os.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/os 7@setfilename ../../info/os
7@node System Interface, Antinews, Display, Top 8@node System Interface, Antinews, Display, Top
@@ -20,14 +21,14 @@ terminal and the screen.
20* Getting Out:: How exiting works (permanent or temporary). 21* Getting Out:: How exiting works (permanent or temporary).
21* System Environment:: Distinguish the name and kind of system. 22* System Environment:: Distinguish the name and kind of system.
22* User Identification:: Finding the name and user id of the user. 23* User Identification:: Finding the name and user id of the user.
23* Time of Day:: Getting the current time. 24* Time of Day:: Getting the current time.
24* Time Conversion:: Converting a time from numeric form to 25* Time Conversion:: Converting a time from numeric form to
25 calendrical data and vice versa. 26 calendrical data and vice versa.
26* Time Parsing:: Converting a time from numeric form to text 27* Time Parsing:: Converting a time from numeric form to text
27 and vice versa. 28 and vice versa.
28* Processor Run Time:: Getting the run time used by Emacs. 29* Processor Run Time:: Getting the run time used by Emacs.
29* Time Calculations:: Adding, subtracting, comparing times, etc. 30* Time Calculations:: Adding, subtracting, comparing times, etc.
30* Timers:: Setting a timer to call a function at a certain time. 31* Timers:: Setting a timer to call a function at a certain time.
31* Idle Timers:: Setting a timer to call a function when Emacs has 32* Idle Timers:: Setting a timer to call a function when Emacs has
32 been idle for a certain length of time. 33 been idle for a certain length of time.
33* Terminal Input:: Accessing and recording terminal input. 34* Terminal Input:: Accessing and recording terminal input.
@@ -1815,8 +1816,8 @@ manipulating terminal input. See @ref{Display}, for related
1815functions. 1816functions.
1816 1817
1817@menu 1818@menu
1818* Input Modes:: Options for how input is processed. 1819* Input Modes:: Options for how input is processed.
1819* Recording Input:: Saving histories of recent or all input events. 1820* Recording Input:: Saving histories of recent or all input events.
1820@end menu 1821@end menu
1821 1822
1822@node Input Modes 1823@node Input Modes
diff --git a/doc/lispref/processes.texi b/doc/lispref/processes.texi
index 85628bdfac6..1a4a766c81c 100644
--- a/doc/lispref/processes.texi
+++ b/doc/lispref/processes.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/processes 7@setfilename ../../info/processes
7@node Processes, Display, Abbrevs, Top 8@node Processes, Display, Abbrevs, Top
@@ -51,13 +52,13 @@ Processes}.
51* Sentinels:: Sentinels run when process run-status changes. 52* Sentinels:: Sentinels run when process run-status changes.
52* Query Before Exit:: Whether to query if exiting will kill a process. 53* Query Before Exit:: Whether to query if exiting will kill a process.
53* System Processes:: Accessing other processes running on your system. 54* System Processes:: Accessing other processes running on your system.
54* Transaction Queues:: Transaction-based communication with subprocesses. 55* Transaction Queues:: Transaction-based communication with subprocesses.
55* Network:: Opening network connections. 56* Network:: Opening network connections.
56* Network Servers:: Network servers let Emacs accept net connections. 57* Network Servers:: Network servers let Emacs accept net connections.
57* Datagrams:: UDP network connections. 58* Datagrams:: UDP network connections.
58* Low-Level Network:: Lower-level but more general function 59* Low-Level Network:: Lower-level but more general function
59 to create connections and servers. 60 to create connections and servers.
60* Misc Network:: Additional relevant functions for network connections. 61* Misc Network:: Additional relevant functions for net connections.
61* Serial Ports:: Communicating with serial ports. 62* Serial Ports:: Communicating with serial ports.
62* Byte Packing:: Using bindat to pack and unpack binary data. 63* Byte Packing:: Using bindat to pack and unpack binary data.
63@end menu 64@end menu
diff --git a/doc/lispref/searching.texi b/doc/lispref/searching.texi
index 722f76cdd7f..b4b4c23b1ed 100644
--- a/doc/lispref/searching.texi
+++ b/doc/lispref/searching.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/searching 7@setfilename ../../info/searching
7@node Searching and Matching, Syntax Tables, Non-ASCII Characters, Top 8@node Searching and Matching, Syntax Tables, Non-ASCII Characters, Top
@@ -22,7 +23,7 @@ portions of it.
22* POSIX Regexps:: Searching POSIX-style for the longest match. 23* POSIX Regexps:: Searching POSIX-style for the longest match.
23* Match Data:: Finding out which part of the text matched, 24* Match Data:: Finding out which part of the text matched,
24 after a string or regexp search. 25 after a string or regexp search.
25* Search and Replace:: Commands that loop, searching and replacing. 26* Search and Replace:: Commands that loop, searching and replacing.
26* Standard Regexps:: Useful regexps for finding sentences, pages,... 27* Standard Regexps:: Useful regexps for finding sentences, pages,...
27@end menu 28@end menu
28 29
@@ -609,8 +610,8 @@ maximum.
609For example, @samp{c[ad]\@{1,2\@}r} matches the strings @samp{car}, 610For example, @samp{c[ad]\@{1,2\@}r} matches the strings @samp{car},
610@samp{cdr}, @samp{caar}, @samp{cadr}, @samp{cdar}, and @samp{cddr}, and 611@samp{cdr}, @samp{caar}, @samp{cadr}, @samp{cdar}, and @samp{cddr}, and
611nothing else.@* 612nothing else.@*
612@samp{\@{0,1\@}} or @samp{\@{,1\@}} is equivalent to @samp{?}. @* 613@samp{\@{0,1\@}} or @samp{\@{,1\@}} is equivalent to @samp{?}.@*
613@samp{\@{0,\@}} or @samp{\@{,\@}} is equivalent to @samp{*}. @* 614@samp{\@{0,\@}} or @samp{\@{,\@}} is equivalent to @samp{*}.@*
614@samp{\@{1,\@}} is equivalent to @samp{+}. 615@samp{\@{1,\@}} is equivalent to @samp{+}.
615 616
616@item \( @dots{} \) 617@item \( @dots{} \)
@@ -1213,9 +1214,9 @@ can't avoid another intervening search, you must save and restore the
1213match data around it, to prevent it from being overwritten. 1214match data around it, to prevent it from being overwritten.
1214 1215
1215@menu 1216@menu
1216* Replacing Match:: Replacing a substring that was matched. 1217* Replacing Match:: Replacing a substring that was matched.
1217* Simple Match Data:: Accessing single items of match data, 1218* Simple Match Data:: Accessing single items of match data,
1218 such as where a particular subexpression started. 1219 such as where a particular subexpression started.
1219* Entire Match Data:: Accessing the entire match data at once, as a list. 1220* Entire Match Data:: Accessing the entire match data at once, as a list.
1220* Saving Match Data:: Saving and restoring the match data. 1221* Saving Match Data:: Saving and restoring the match data.
1221@end menu 1222@end menu
diff --git a/doc/lispref/sequences.texi b/doc/lispref/sequences.texi
index f55c93abf31..a73c4790b96 100644
--- a/doc/lispref/sequences.texi
+++ b/doc/lispref/sequences.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/sequences 7@setfilename ../../info/sequences
7@node Sequences Arrays Vectors, Hash Tables, Lists, Top 8@node Sequences Arrays Vectors, Hash Tables, Lists, Top
@@ -669,13 +670,13 @@ For example, here is how to examine the elements of the syntax table:
669(let (accumulator) 670(let (accumulator)
670 (map-char-table 671 (map-char-table
671 #'(lambda (key value) 672 #'(lambda (key value)
672 (setq accumulator 673 (setq accumulator
673 (cons (list 674 (cons (list
674 (if (consp key) 675 (if (consp key)
675 (list (car key) (cdr key)) 676 (list (car key) (cdr key))
676 key) 677 key)
677 value) 678 value)
678 accumulator))) 679 accumulator)))
679 (syntax-table)) 680 (syntax-table))
680 accumulator) 681 accumulator)
681@result{} 682@result{}
diff --git a/doc/lispref/strings.texi b/doc/lispref/strings.texi
index 34613a823ba..1128ca87d8a 100644
--- a/doc/lispref/strings.texi
+++ b/doc/lispref/strings.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/strings 7@setfilename ../../info/strings
7@node Strings and Characters, Lists, Numbers, Top 8@node Strings and Characters, Lists, Numbers, Top
@@ -31,7 +32,7 @@ keyboard character events.
31* String Conversion:: Converting to and from characters and strings. 32* String Conversion:: Converting to and from characters and strings.
32* Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}. 33* Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}.
33* Case Conversion:: Case conversion functions. 34* Case Conversion:: Case conversion functions.
34* Case Tables:: Customizing case conversion. 35* Case Tables:: Customizing case conversion.
35@end menu 36@end menu
36 37
37@node String Basics 38@node String Basics
diff --git a/doc/lispref/syntax.texi b/doc/lispref/syntax.texi
index a3d5631baf8..9add9b76e79 100644
--- a/doc/lispref/syntax.texi
+++ b/doc/lispref/syntax.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/syntax 7@setfilename ../../info/syntax
7@node Syntax Tables, Abbrevs, Searching and Matching, Top 8@node Syntax Tables, Abbrevs, Searching and Matching, Top
@@ -23,7 +24,7 @@ functions in this chapter.
23* Desc: Syntax Descriptors. How characters are classified. 24* Desc: Syntax Descriptors. How characters are classified.
24* Syntax Table Functions:: How to create, examine and alter syntax tables. 25* Syntax Table Functions:: How to create, examine and alter syntax tables.
25* Syntax Properties:: Overriding syntax with text properties. 26* Syntax Properties:: Overriding syntax with text properties.
26* Motion and Syntax:: Moving over characters with certain syntaxes. 27* Motion and Syntax:: Moving over characters with certain syntaxes.
27* Parsing Expressions:: Parsing balanced expressions 28* Parsing Expressions:: Parsing balanced expressions
28 using the syntax table. 29 using the syntax table.
29* Standard Syntax Tables:: Syntax tables used by various major modes. 30* Standard Syntax Tables:: Syntax tables used by various major modes.
diff --git a/doc/lispref/text.texi b/doc/lispref/text.texi
index 2eff8b109a0..f52d1db5c9c 100644
--- a/doc/lispref/text.texi
+++ b/doc/lispref/text.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001,
4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/text 7@setfilename ../../info/text
7@node Text, Non-ASCII Characters, Markers, Top 8@node Text, Non-ASCII Characters, Markers, Top
@@ -42,7 +43,7 @@ the character after point.
42* The Kill Ring:: Where removed text sometimes is saved for later use. 43* The Kill Ring:: Where removed text sometimes is saved for later use.
43* Undo:: Undoing changes to the text of a buffer. 44* Undo:: Undoing changes to the text of a buffer.
44* Maintaining Undo:: How to enable and disable undo information. 45* Maintaining Undo:: How to enable and disable undo information.
45 How to control how much information is kept. 46 How to control how much information is kept.
46* Filling:: Functions for explicit filling. 47* Filling:: Functions for explicit filling.
47* Margins:: How to specify margins for filling commands. 48* Margins:: How to specify margins for filling commands.
48* Adaptive Fill:: Adaptive Fill mode chooses a fill prefix from context. 49* Adaptive Fill:: Adaptive Fill mode chooses a fill prefix from context.
@@ -821,7 +822,7 @@ would be difficult to change the terminology now.
821* Kill Functions:: Functions that kill text. 822* Kill Functions:: Functions that kill text.
822* Yanking:: How yanking is done. 823* Yanking:: How yanking is done.
823* Yank Commands:: Commands that access the kill ring. 824* Yank Commands:: Commands that access the kill ring.
824* Low-Level Kill Ring:: Functions and variables for kill ring access. 825* Low-Level Kill Ring:: Functions and variables for kill ring access.
825* Internals of Kill Ring:: Variables that hold kill ring data. 826* Internals of Kill Ring:: Variables that hold kill ring data.
826@end menu 827@end menu
827 828
@@ -1298,13 +1299,16 @@ This function places a boundary element in the undo list. The undo
1298command stops at such a boundary, and successive undo commands undo 1299command stops at such a boundary, and successive undo commands undo
1299to earlier and earlier boundaries. This function returns @code{nil}. 1300to earlier and earlier boundaries. This function returns @code{nil}.
1300 1301
1301The editor command loop automatically creates an undo boundary before 1302The editor command loop automatically calls @code{undo-boundary} just
1302each key sequence is executed. Thus, each undo normally undoes the 1303before executing each key sequence, so that each undo normally undoes
1303effects of one command. Self-inserting input characters are an 1304the effects of one command. As an exception, the command
1304exception. The command loop makes a boundary for the first such 1305@code{self-insert-command}, which produces self-inserting input
1305character; the next 19 consecutive self-inserting input characters do 1306characters (@pxref{Commands for Insertion}), may remove the boundary
1306not make boundaries, and then the 20th does, and so on as long as 1307inserted by the command loop: a boundary is accepted for the first
1307self-inserting characters continue. 1308such character, the next 19 consecutive self-inserting input
1309characters do not have boundaries, and then the 20th does; and so on
1310as long as the self-inserting characters continue. Hence, sequences
1311of consecutive character insertions can be undone as a group.
1308 1312
1309All buffer modifications add a boundary whenever the previous undoable 1313All buffer modifications add a boundary whenever the previous undoable
1310change was made in some other buffer. This is to ensure that 1314change was made in some other buffer. This is to ensure that
@@ -2593,9 +2597,9 @@ along with the characters; this includes such diverse functions as
2593 2597
2594@menu 2598@menu
2595* Examining Properties:: Looking at the properties of one character. 2599* Examining Properties:: Looking at the properties of one character.
2596* Changing Properties:: Setting the properties of a range of text. 2600* Changing Properties:: Setting the properties of a range of text.
2597* Property Search:: Searching for where a property changes value. 2601* Property Search:: Searching for where a property changes value.
2598* Special Properties:: Particular properties with special meanings. 2602* Special Properties:: Particular properties with special meanings.
2599* Format Properties:: Properties for representing formatting of text. 2603* Format Properties:: Properties for representing formatting of text.
2600* Sticky Properties:: How inserted text gets properties from 2604* Sticky Properties:: How inserted text gets properties from
2601 neighboring text. 2605 neighboring text.
@@ -2605,8 +2609,8 @@ along with the characters; this includes such diverse functions as
2605 do something when you click on them. 2609 do something when you click on them.
2606* Fields:: The @code{field} property defines 2610* Fields:: The @code{field} property defines
2607 fields within the buffer. 2611 fields within the buffer.
2608* Not Intervals:: Why text properties do not use 2612* Not Intervals:: Why text properties do not use
2609 Lisp-visible text intervals. 2613 Lisp-visible text intervals.
2610@end menu 2614@end menu
2611 2615
2612@node Examining Properties 2616@node Examining Properties
diff --git a/doc/lispref/tips.texi b/doc/lispref/tips.texi
index c1f1423dabf..de281b0e147 100644
--- a/doc/lispref/tips.texi
+++ b/doc/lispref/tips.texi
@@ -1,7 +1,8 @@
1@c -*-texinfo-*- 1@c -*-texinfo-*-
2@c This is part of the GNU Emacs Lisp Reference Manual. 2@c This is part of the GNU Emacs Lisp Reference Manual.
3@c Copyright (C) 1990, 1991, 1992, 1993, 1995, 1998, 1999, 2001, 2002, 3@c Copyright (C) 1990, 1991, 1992, 1993, 1995, 1998, 1999, 2001, 2002,
4@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 4@c 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
5@c Free Software Foundation, Inc.
5@c See the file elisp.texi for copying conditions. 6@c See the file elisp.texi for copying conditions.
6@setfilename ../../info/tips 7@setfilename ../../info/tips
7@node Tips, GNU Emacs Internals, GPL, Top 8@node Tips, GNU Emacs Internals, GPL, Top
@@ -28,7 +29,7 @@ all.
28* Compilation Tips:: Making compiled code run fast. 29* Compilation Tips:: Making compiled code run fast.
29* Warning Tips:: Turning off compiler warnings. 30* Warning Tips:: Turning off compiler warnings.
30* Documentation Tips:: Writing readable documentation strings. 31* Documentation Tips:: Writing readable documentation strings.
31* Comment Tips:: Conventions for writing comments. 32* Comment Tips:: Conventions for writing comments.
32* Library Headers:: Standard headers for library packages. 33* Library Headers:: Standard headers for library packages.
33@end menu 34@end menu
34 35
diff --git a/doc/lispref/vol1.texi b/doc/lispref/vol1.texi
index 052d83eacd7..4c0ae27c043 100644
--- a/doc/lispref/vol1.texi
+++ b/doc/lispref/vol1.texi
@@ -164,7 +164,7 @@ Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}.
164 files are made. 164 files are made.
165* Buffers:: Creating and using buffer objects. 165* Buffers:: Creating and using buffer objects.
166* Windows:: Manipulating windows and displaying buffers. 166* Windows:: Manipulating windows and displaying buffers.
167* Frames:: Making multiple system-level windows. 167* Frames:: Making multiple system-level windows.
168* Positions:: Buffer positions and motion functions. 168* Positions:: Buffer positions and motion functions.
169* Markers:: Markers represent positions and update 169* Markers:: Markers represent positions and update
170 automatically when the text is changed. 170 automatically when the text is changed.
@@ -176,7 +176,7 @@ Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}.
176* Abbrevs:: How Abbrev mode works, and its data structures. 176* Abbrevs:: How Abbrev mode works, and its data structures.
177 177
178* Processes:: Running and communicating with subprocesses. 178* Processes:: Running and communicating with subprocesses.
179* Display:: Features for controlling the screen display. 179* Display:: Features for controlling the screen display.
180* System Interface:: Getting the user id, system type, environment 180* System Interface:: Getting the user id, system type, environment
181 variables, and other such things. 181 variables, and other such things.
182 182
@@ -311,10 +311,10 @@ Editing Types
311Numbers 311Numbers
312 312
313* Integer Basics:: Representation and range of integers. 313* Integer Basics:: Representation and range of integers.
314* Float Basics:: Representation and range of floating point. 314* Float Basics:: Representation and range of floating point.
315* Predicates on Numbers:: Testing for numbers. 315* Predicates on Numbers:: Testing for numbers.
316* Comparison of Numbers:: Equality and inequality predicates. 316* Comparison of Numbers:: Equality and inequality predicates.
317* Numeric Conversions:: Converting float to integer and vice versa. 317* Numeric Conversions:: Converting float to integer and vice versa.
318* Arithmetic Operations:: How to add, subtract, multiply and divide. 318* Arithmetic Operations:: How to add, subtract, multiply and divide.
319* Rounding Operations:: Explicitly rounding floating point numbers. 319* Rounding Operations:: Explicitly rounding floating point numbers.
320* Bitwise Operations:: Logical and, or, not, shifting. 320* Bitwise Operations:: Logical and, or, not, shifting.
@@ -331,7 +331,7 @@ Strings and Characters
331* String Conversion:: Converting to and from characters and strings. 331* String Conversion:: Converting to and from characters and strings.
332* Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}. 332* Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}.
333* Case Conversion:: Case conversion functions. 333* Case Conversion:: Case conversion functions.
334* Case Tables:: Customizing case conversion. 334* Case Tables:: Customizing case conversion.
335 335
336Lists 336Lists
337 337
@@ -399,7 +399,7 @@ Kinds of Forms
399* Symbol Forms:: Symbols evaluate as variables. 399* Symbol Forms:: Symbols evaluate as variables.
400* Classifying Lists:: How to distinguish various sorts of list forms. 400* Classifying Lists:: How to distinguish various sorts of list forms.
401* Function Indirection:: When a symbol appears as the car of a list, 401* Function Indirection:: When a symbol appears as the car of a list,
402 we find the real function via the symbol. 402 we find the real function via the symbol.
403* Function Forms:: Forms that call functions. 403* Function Forms:: Forms that call functions.
404* Macro Forms:: Forms that call macros. 404* Macro Forms:: Forms that call macros.
405* Special Forms:: "Special forms" are idiosyncratic primitives, 405* Special Forms:: "Special forms" are idiosyncratic primitives,
@@ -480,9 +480,9 @@ Functions
480* Function Cells:: Accessing or setting the function definition 480* Function Cells:: Accessing or setting the function definition
481 of a symbol. 481 of a symbol.
482* Obsolete Functions:: Declaring functions obsolete. 482* Obsolete Functions:: Declaring functions obsolete.
483* Inline Functions:: Defining functions that the compiler 483* Inline Functions:: Defining functions that the compiler
484 will open code. 484 will open code.
485* Declaring Functions:: Telling the compiler that a function is defined. 485* Declaring Functions:: Telling the compiler that a function is defined.
486* Function Safety:: Determining whether a function is safe to call. 486* Function Safety:: Determining whether a function is safe to call.
487* Related Topics:: Cross-references to specific Lisp primitives 487* Related Topics:: Cross-references to specific Lisp primitives
488 that have a special bearing on how 488 that have a special bearing on how
@@ -542,9 +542,9 @@ Loading
542* Repeated Loading:: Precautions about loading a file twice. 542* Repeated Loading:: Precautions about loading a file twice.
543* Named Features:: Loading a library if it isn't already loaded. 543* Named Features:: Loading a library if it isn't already loaded.
544* Where Defined:: Finding which file defined a certain symbol. 544* Where Defined:: Finding which file defined a certain symbol.
545* Unloading:: How to "unload" a library that was loaded. 545* Unloading:: How to "unload" a library that was loaded.
546* Hooks for Loading:: Providing code to be run when 546* Hooks for Loading:: Providing code to be run when
547 particular libraries are loaded. 547 particular libraries are loaded.
548 548
549Byte Compilation 549Byte Compilation
550 550
@@ -554,7 +554,7 @@ Byte Compilation
554* Dynamic Loading:: Dynamic loading of individual functions. 554* Dynamic Loading:: Dynamic loading of individual functions.
555* Eval During Compile:: Code to be evaluated when you compile. 555* Eval During Compile:: Code to be evaluated when you compile.
556* Compiler Errors:: Handling compiler error messages. 556* Compiler Errors:: Handling compiler error messages.
557* Byte-Code Objects:: The data type used for byte-compiled functions. 557* Byte-Code Objects:: The data type used for byte-compiled functions.
558* Disassembly:: Disassembling byte-code; how to read byte-code. 558* Disassembly:: Disassembling byte-code; how to read byte-code.
559 559
560Advising Emacs Lisp Functions 560Advising Emacs Lisp Functions
@@ -583,7 +583,7 @@ Debugging Lisp Programs
583The Lisp Debugger 583The Lisp Debugger
584 584
585* Error Debugging:: Entering the debugger when an error happens. 585* Error Debugging:: Entering the debugger when an error happens.
586* Infinite Loops:: Stopping and debugging a program that doesn't exit. 586* Infinite Loops:: Stopping and debugging a program that doesn't exit.
587* Function Debugging:: Entering it when a certain function is called. 587* Function Debugging:: Entering it when a certain function is called.
588* Explicit Debug:: Entering it at a certain point in the program. 588* Explicit Debug:: Entering it at a certain point in the program.
589* Using Debugger:: What the debugger does; what you see while in it. 589* Using Debugger:: What the debugger does; what you see while in it.
@@ -593,24 +593,24 @@ The Lisp Debugger
593 593
594Edebug 594Edebug
595 595
596* Using Edebug:: Introduction to use of Edebug. 596* Using Edebug:: Introduction to use of Edebug.
597* Instrumenting:: You must instrument your code 597* Instrumenting:: You must instrument your code
598 in order to debug it with Edebug. 598 in order to debug it with Edebug.
599* Edebug Execution Modes:: Execution modes, stopping more or less often. 599* Edebug Execution Modes:: Execution modes, stopping more or less often.
600* Jumping:: Commands to jump to a specified place. 600* Jumping:: Commands to jump to a specified place.
601* Edebug Misc:: Miscellaneous commands. 601* Edebug Misc:: Miscellaneous commands.
602* Breaks:: Setting breakpoints to make the program stop. 602* Breaks:: Setting breakpoints to make the program stop.
603* Trapping Errors:: Trapping errors with Edebug. 603* Trapping Errors:: Trapping errors with Edebug.
604* Edebug Views:: Views inside and outside of Edebug. 604* Edebug Views:: Views inside and outside of Edebug.
605* Edebug Eval:: Evaluating expressions within Edebug. 605* Edebug Eval:: Evaluating expressions within Edebug.
606* Eval List:: Expressions whose values are displayed 606* Eval List:: Expressions whose values are displayed
607 each time you enter Edebug. 607 each time you enter Edebug.
608* Printing in Edebug:: Customization of printing. 608* Printing in Edebug:: Customization of printing.
609* Trace Buffer:: How to produce trace output in a buffer. 609* Trace Buffer:: How to produce trace output in a buffer.
610* Coverage Testing:: How to test evaluation coverage. 610* Coverage Testing:: How to test evaluation coverage.
611* The Outside Context:: Data that Edebug saves and restores. 611* The Outside Context:: Data that Edebug saves and restores.
612* Edebug and Macros:: Specifying how to handle macro calls. 612* Edebug and Macros:: Specifying how to handle macro calls.
613* Edebug Options:: Option variables for customizing Edebug. 613* Edebug Options:: Option variables for customizing Edebug.
614 614
615Breaks 615Breaks
616 616
@@ -627,8 +627,8 @@ The Outside Context
627Edebug and Macros 627Edebug and Macros
628 628
629* Instrumenting Macro Calls::The basic problem. 629* Instrumenting Macro Calls::The basic problem.
630* Specification List:: How to specify complex patterns of evaluation. 630* Specification List:: How to specify complex patterns of evaluation.
631* Backtracking:: What Edebug does when matching fails. 631* Backtracking:: What Edebug does when matching fails.
632* Specification Examples:: To help understand specifications. 632* Specification Examples:: To help understand specifications.
633 633
634Debugging Invalid Lisp Syntax 634Debugging Invalid Lisp Syntax
@@ -653,13 +653,13 @@ Minibuffers
653* Intro to Minibuffers:: Basic information about minibuffers. 653* Intro to Minibuffers:: Basic information about minibuffers.
654* Text from Minibuffer:: How to read a straight text string. 654* Text from Minibuffer:: How to read a straight text string.
655* Object from Minibuffer:: How to read a Lisp object or expression. 655* Object from Minibuffer:: How to read a Lisp object or expression.
656* Minibuffer History:: Recording previous minibuffer inputs 656* Minibuffer History:: Recording previous minibuffer inputs
657 so the user can reuse them. 657 so the user can reuse them.
658* Initial Input:: Specifying initial contents for the minibuffer. 658* Initial Input:: Specifying initial contents for the minibuffer.
659* Completion:: How to invoke and customize completion. 659* Completion:: How to invoke and customize completion.
660* Yes-or-No Queries:: Asking a question with a simple answer. 660* Yes-or-No Queries:: Asking a question with a simple answer.
661* Multiple Queries:: Asking a series of similar questions. 661* Multiple Queries:: Asking a series of similar questions.
662* Reading a Password:: Reading a password from the terminal. 662* Reading a Password:: Reading a password from the terminal.
663* Minibuffer Commands:: Commands used as key bindings in minibuffers. 663* Minibuffer Commands:: Commands used as key bindings in minibuffers.
664* Minibuffer Contents:: How such commands access the minibuffer text. 664* Minibuffer Contents:: How such commands access the minibuffer text.
665* Minibuffer Windows:: Operating on the special minibuffer windows. 665* Minibuffer Windows:: Operating on the special minibuffer windows.
@@ -687,7 +687,7 @@ Command Loop
687* Distinguish Interactive:: Making a command distinguish interactive calls. 687* Distinguish Interactive:: Making a command distinguish interactive calls.
688* Command Loop Info:: Variables set by the command loop for you to examine. 688* Command Loop Info:: Variables set by the command loop for you to examine.
689* Adjusting Point:: Adjustment of point after a command. 689* Adjusting Point:: Adjustment of point after a command.
690* Input Events:: What input looks like when you read it. 690* Input Events:: What input looks like when you read it.
691* Reading Input:: How to read input events from the keyboard or mouse. 691* Reading Input:: How to read input events from the keyboard or mouse.
692* Special Events:: Events processed immediately and individually. 692* Special Events:: Events processed immediately and individually.
693* Waiting:: Waiting for user input or elapsed time. 693* Waiting:: Waiting for user input or elapsed time.
@@ -721,7 +721,7 @@ Input Events
721* Event Examples:: Examples of the lists for mouse events. 721* Event Examples:: Examples of the lists for mouse events.
722* Classifying Events:: Finding the modifier keys in an event symbol. 722* Classifying Events:: Finding the modifier keys in an event symbol.
723 Event types. 723 Event types.
724* Accessing Mouse:: Functions to extract info from mouse events. 724* Accessing Mouse:: Functions to extract info from mouse events.
725* Accessing Scroll:: Functions to get info from scroll bar events. 725* Accessing Scroll:: Functions to get info from scroll bar events.
726* Strings of Events:: Special considerations for putting 726* Strings of Events:: Special considerations for putting
727 keyboard character events in a string. 727 keyboard character events in a string.
@@ -871,9 +871,9 @@ Files
871* Changing Files:: Renaming files, changing protection, etc. 871* Changing Files:: Renaming files, changing protection, etc.
872* File Names:: Decomposing and expanding file names. 872* File Names:: Decomposing and expanding file names.
873* Contents of Directories:: Getting a list of the files in a directory. 873* Contents of Directories:: Getting a list of the files in a directory.
874* Create/Delete Dirs:: Creating and Deleting Directories. 874* Create/Delete Dirs:: Creating and Deleting Directories.
875* Magic File Names:: Defining "magic" special handling 875* Magic File Names:: Defining "magic" special handling
876 for certain file names. 876 for certain file names.
877* Format Conversion:: Conversion to and from various file formats. 877* Format Conversion:: Conversion to and from various file formats.
878 878
879Visiting Files 879Visiting Files
@@ -885,7 +885,7 @@ Information about Files
885 885
886* Testing Accessibility:: Is a given file readable? Writable? 886* Testing Accessibility:: Is a given file readable? Writable?
887* Kinds of Files:: Is it a directory? A symbolic link? 887* Kinds of Files:: Is it a directory? A symbolic link?
888* Truenames:: Eliminating symbolic links from a file name. 888* Truenames:: Eliminating symbolic links from a file name.
889* File Attributes:: How large is it? Any other names? Etc. 889* File Attributes:: How large is it? Any other names? Etc.
890* Locating Files:: How to find a file in standard places. 890* Locating Files:: How to find a file in standard places.
891 891
@@ -955,8 +955,8 @@ Windows
955* Buffers and Windows:: Each window displays the contents of a buffer. 955* Buffers and Windows:: Each window displays the contents of a buffer.
956* Displaying Buffers:: Higher-level functions for displaying a buffer 956* Displaying Buffers:: Higher-level functions for displaying a buffer
957 and choosing a window for it. 957 and choosing a window for it.
958* Choosing Window:: How to choose a window for displaying a buffer. 958* Choosing Window:: How to choose a window for displaying a buffer.
959* Dedicated Windows:: How to avoid displaying another buffer in 959* Dedicated Windows:: How to avoid displaying another buffer in
960 a specific window. 960 a specific window.
961* Window Point:: Each window has its own location of point. 961* Window Point:: Each window has its own location of point.
962* Window Start and End:: Buffer positions indicating which text is 962* Window Start and End:: Buffer positions indicating which text is
@@ -976,37 +976,37 @@ Windows
976 976
977Frames 977Frames
978 978
979* Creating Frames:: Creating additional frames. 979* Creating Frames:: Creating additional frames.
980* Multiple Terminals:: Displaying on several different devices. 980* Multiple Terminals:: Displaying on several different devices.
981* Frame Parameters:: Controlling frame size, position, font, etc. 981* Frame Parameters:: Controlling frame size, position, font, etc.
982* Terminal Parameters:: Parameters common for all frames on terminal. 982* Terminal Parameters:: Parameters common for all frames on terminal.
983* Frame Titles:: Automatic updating of frame titles. 983* Frame Titles:: Automatic updating of frame titles.
984* Deleting Frames:: Frames last until explicitly deleted. 984* Deleting Frames:: Frames last until explicitly deleted.
985* Finding All Frames:: How to examine all existing frames. 985* Finding All Frames:: How to examine all existing frames.
986* Frames and Windows:: A frame contains windows; 986* Frames and Windows:: A frame contains windows;
987 display of text always works through windows. 987 display of text always works through windows.
988* Minibuffers and Frames:: How a frame finds the minibuffer to use. 988* Minibuffers and Frames:: How a frame finds the minibuffer to use.
989* Input Focus:: Specifying the selected frame. 989* Input Focus:: Specifying the selected frame.
990* Visibility of Frames:: Frames may be visible or invisible, or icons. 990* Visibility of Frames:: Frames may be visible or invisible, or icons.
991* Raising and Lowering:: Raising a frame makes it hide other windows; 991* Raising and Lowering:: Raising a frame makes it hide other windows;
992 lowering it makes the others hide it. 992 lowering it makes the others hide it.
993* Frame Configurations:: Saving the state of all frames. 993* Frame Configurations:: Saving the state of all frames.
994* Mouse Tracking:: Getting events that say when the mouse moves. 994* Mouse Tracking:: Getting events that say when the mouse moves.
995* Mouse Position:: Asking where the mouse is, or moving it. 995* Mouse Position:: Asking where the mouse is, or moving it.
996* Pop-Up Menus:: Displaying a menu for the user to select from. 996* Pop-Up Menus:: Displaying a menu for the user to select from.
997* Dialog Boxes:: Displaying a box to ask yes or no. 997* Dialog Boxes:: Displaying a box to ask yes or no.
998* Pointer Shape:: Specifying the shape of the mouse pointer. 998* Pointer Shape:: Specifying the shape of the mouse pointer.
999* Window System Selections::Transferring text to and from other X clients. 999* Window System Selections::Transferring text to and from other X clients.
1000* Drag and Drop:: Internals of Drag-and-Drop implementation. 1000* Drag and Drop:: Internals of Drag-and-Drop implementation.
1001* Color Names:: Getting the definitions of color names. 1001* Color Names:: Getting the definitions of color names.
1002* Text Terminal Colors:: Defining colors for text-only terminals. 1002* Text Terminal Colors:: Defining colors for text-only terminals.
1003* Resources:: Getting resource values from the server. 1003* Resources:: Getting resource values from the server.
1004* Display Feature Testing:: Determining the features of a terminal. 1004* Display Feature Testing:: Determining the features of a terminal.
1005 1005
1006Frame Parameters 1006Frame Parameters
1007 1007
1008* Parameter Access:: How to change a frame's parameters. 1008* Parameter Access:: How to change a frame's parameters.
1009* Initial Parameters:: Specifying frame parameters when you make a frame. 1009* Initial Parameters:: Specifying frame parameters when you make a frame.
1010* Window Frame Parameters:: List of frame parameters for window systems. 1010* Window Frame Parameters:: List of frame parameters for window systems.
1011* Size and Position:: Changing the size and position of a frame. 1011* Size and Position:: Changing the size and position of a frame.
1012* Geometry:: Parsing geometry specifications. 1012* Geometry:: Parsing geometry specifications.
@@ -1065,7 +1065,7 @@ Text
1065 later use. 1065 later use.
1066* Undo:: Undoing changes to the text of a buffer. 1066* Undo:: Undoing changes to the text of a buffer.
1067* Maintaining Undo:: How to enable and disable undo information. 1067* Maintaining Undo:: How to enable and disable undo information.
1068 How to control how much information is kept. 1068 How to control how much information is kept.
1069* Filling:: Functions for explicit filling. 1069* Filling:: Functions for explicit filling.
1070* Margins:: How to specify margins for filling commands. 1070* Margins:: How to specify margins for filling commands.
1071* Adaptive Fill:: Adaptive Fill mode chooses a fill prefix 1071* Adaptive Fill:: Adaptive Fill mode chooses a fill prefix
@@ -1091,7 +1091,7 @@ The Kill Ring
1091* Kill Functions:: Functions that kill text. 1091* Kill Functions:: Functions that kill text.
1092* Yanking:: How yanking is done. 1092* Yanking:: How yanking is done.
1093* Yank Commands:: Commands that access the kill ring. 1093* Yank Commands:: Commands that access the kill ring.
1094* Low-Level Kill Ring:: Functions and variables for kill ring access. 1094* Low-Level Kill Ring:: Functions and variables for kill ring access.
1095* Internals of Kill Ring:: Variables that hold kill ring data. 1095* Internals of Kill Ring:: Variables that hold kill ring data.
1096 1096
1097Indentation 1097Indentation
@@ -1106,9 +1106,9 @@ Indentation
1106Text Properties 1106Text Properties
1107 1107
1108* Examining Properties:: Looking at the properties of one character. 1108* Examining Properties:: Looking at the properties of one character.
1109* Changing Properties:: Setting the properties of a range of text. 1109* Changing Properties:: Setting the properties of a range of text.
1110* Property Search:: Searching for where a property changes value. 1110* Property Search:: Searching for where a property changes value.
1111* Special Properties:: Particular properties with special meanings. 1111* Special Properties:: Particular properties with special meanings.
1112* Format Properties:: Properties for representing formatting of text. 1112* Format Properties:: Properties for representing formatting of text.
1113* Sticky Properties:: How inserted text gets properties from 1113* Sticky Properties:: How inserted text gets properties from
1114 neighboring text. 1114 neighboring text.
@@ -1118,8 +1118,8 @@ Text Properties
1118 do something when you click on them. 1118 do something when you click on them.
1119* Fields:: The @code{field} property defines 1119* Fields:: The @code{field} property defines
1120 fields within the buffer. 1120 fields within the buffer.
1121* Not Intervals:: Why text properties do not use 1121* Not Intervals:: Why text properties do not use
1122 Lisp-visible text intervals. 1122 Lisp-visible text intervals.
1123 1123
1124Non-@acronym{ASCII} Characters 1124Non-@acronym{ASCII} Characters
1125 1125
@@ -1162,7 +1162,7 @@ Searching and Matching
1162* POSIX Regexps:: Searching POSIX-style for the longest match. 1162* POSIX Regexps:: Searching POSIX-style for the longest match.
1163* Match Data:: Finding out which part of the text matched, 1163* Match Data:: Finding out which part of the text matched,
1164 after a string or regexp search. 1164 after a string or regexp search.
1165* Search and Replace:: Commands that loop, searching and replacing. 1165* Search and Replace:: Commands that loop, searching and replacing.
1166* Standard Regexps:: Useful regexps for finding sentences, pages,... 1166* Standard Regexps:: Useful regexps for finding sentences, pages,...
1167 1167
1168Regular Expressions 1168Regular Expressions
@@ -1179,9 +1179,9 @@ Syntax of Regular Expressions
1179 1179
1180The Match Data 1180The Match Data
1181 1181
1182* Replacing Match:: Replacing a substring that was matched. 1182* Replacing Match:: Replacing a substring that was matched.
1183* Simple Match Data:: Accessing single items of match data, 1183* Simple Match Data:: Accessing single items of match data,
1184 such as where a particular subexpression started. 1184 such as where a particular subexpression started.
1185* Entire Match Data:: Accessing the entire match data at once, as a list. 1185* Entire Match Data:: Accessing the entire match data at once, as a list.
1186* Saving Match Data:: Saving and restoring the match data. 1186* Saving Match Data:: Saving and restoring the match data.
1187 1187
@@ -1191,7 +1191,7 @@ Syntax Tables
1191* Syntax Descriptors:: How characters are classified. 1191* Syntax Descriptors:: How characters are classified.
1192* Syntax Table Functions:: How to create, examine and alter syntax tables. 1192* Syntax Table Functions:: How to create, examine and alter syntax tables.
1193* Syntax Properties:: Overriding syntax with text properties. 1193* Syntax Properties:: Overriding syntax with text properties.
1194* Motion and Syntax:: Moving over characters with certain syntaxes. 1194* Motion and Syntax:: Moving over characters with certain syntaxes.
1195* Parsing Expressions:: Parsing balanced expressions 1195* Parsing Expressions:: Parsing balanced expressions
1196 using the syntax table. 1196 using the syntax table.
1197* Standard Syntax Tables:: Syntax tables used by various major modes. 1197* Standard Syntax Tables:: Syntax tables used by various major modes.
@@ -1280,10 +1280,10 @@ Emacs Display
1280* Invisible Text:: Hiding part of the buffer text. 1280* Invisible Text:: Hiding part of the buffer text.
1281* Selective Display:: Hiding part of the buffer text (the old way). 1281* Selective Display:: Hiding part of the buffer text (the old way).
1282* Temporary Displays:: Displays that go away automatically. 1282* Temporary Displays:: Displays that go away automatically.
1283* Overlays:: Use overlays to highlight parts of the buffer. 1283* Overlays:: Use overlays to highlight parts of the buffer.
1284* Width:: How wide a character or string is on the screen. 1284* Width:: How wide a character or string is on the screen.
1285* Line Height:: Controlling the height of lines. 1285* Line Height:: Controlling the height of lines.
1286* Faces:: A face defines a graphics style 1286* Faces:: A face defines a graphics style
1287 for text characters: font, colors, etc. 1287 for text characters: font, colors, etc.
1288* Fringes:: Controlling window fringes. 1288* Fringes:: Controlling window fringes.
1289* Scroll Bars:: Controlling vertical scroll bars. 1289* Scroll Bars:: Controlling vertical scroll bars.
@@ -1292,9 +1292,9 @@ Emacs Display
1292* Buttons:: Adding clickable buttons to Emacs buffers. 1292* Buttons:: Adding clickable buttons to Emacs buffers.
1293* Abstract Display:: Emacs' Widget for Object Collections. 1293* Abstract Display:: Emacs' Widget for Object Collections.
1294* Blinking:: How Emacs shows the matching open parenthesis. 1294* Blinking:: How Emacs shows the matching open parenthesis.
1295* Usual Display:: The usual conventions for displaying 1295* Usual Display:: The usual conventions for displaying
1296 nonprinting chars. 1296 nonprinting chars.
1297* Display Tables:: How to specify other conventions. 1297* Display Tables:: How to specify other conventions.
1298* Beeping:: Audible signal to the user. 1298* Beeping:: Audible signal to the user.
1299* Window Systems:: Which window system is being used. 1299* Window Systems:: Which window system is being used.
1300 1300
@@ -1316,7 +1316,7 @@ Overlays
1316 1316
1317* Managing Overlays:: Creating and moving overlays. 1317* Managing Overlays:: Creating and moving overlays.
1318* Overlay Properties:: How to read and set properties. 1318* Overlay Properties:: How to read and set properties.
1319 What properties do to the screen display. 1319 What properties do to the screen display.
1320* Finding Overlays:: Searching for overlays. 1320* Finding Overlays:: Searching for overlays.
1321 1321
1322Faces 1322Faces
@@ -1396,14 +1396,14 @@ Operating System Interface
1396* Getting Out:: How exiting works (permanent or temporary). 1396* Getting Out:: How exiting works (permanent or temporary).
1397* System Environment:: Distinguish the name and kind of system. 1397* System Environment:: Distinguish the name and kind of system.
1398* User Identification:: Finding the name and user id of the user. 1398* User Identification:: Finding the name and user id of the user.
1399* Time of Day:: Getting the current time. 1399* Time of Day:: Getting the current time.
1400* Time Conversion:: Converting a time from numeric form to 1400* Time Conversion:: Converting a time from numeric form to
1401 calendrical data and vice versa. 1401 calendrical data and vice versa.
1402* Time Parsing:: Converting a time from numeric form to text 1402* Time Parsing:: Converting a time from numeric form to text
1403 and vice versa. 1403 and vice versa.
1404* Processor Run Time:: Getting the run time used by Emacs. 1404* Processor Run Time:: Getting the run time used by Emacs.
1405* Time Calculations:: Adding, subtracting, comparing times, etc. 1405* Time Calculations:: Adding, subtracting, comparing times, etc.
1406* Timers:: Setting a timer to call a function at a 1406* Timers:: Setting a timer to call a function at a
1407 certain time. 1407 certain time.
1408* Idle Timers:: Setting a timer to call a function when Emacs has 1408* Idle Timers:: Setting a timer to call a function when Emacs has
1409 been idle for a certain length of time. 1409 been idle for a certain length of time.
@@ -1430,8 +1430,8 @@ Getting Out of Emacs
1430 1430
1431Terminal Input 1431Terminal Input
1432 1432
1433* Input Modes:: Options for how input is processed. 1433* Input Modes:: Options for how input is processed.
1434* Recording Input:: Saving histories of recent or all input events. 1434* Recording Input:: Saving histories of recent or all input events.
1435 1435
1436Tips and Conventions 1436Tips and Conventions
1437 1437
@@ -1441,7 +1441,7 @@ Tips and Conventions
1441* Compilation Tips:: Making compiled code run fast. 1441* Compilation Tips:: Making compiled code run fast.
1442* Warning Tips:: Turning off compiler warnings. 1442* Warning Tips:: Turning off compiler warnings.
1443* Documentation Tips:: Writing readable documentation strings. 1443* Documentation Tips:: Writing readable documentation strings.
1444* Comment Tips:: Conventions for writing comments. 1444* Comment Tips:: Conventions for writing comments.
1445* Library Headers:: Standard headers for library packages. 1445* Library Headers:: Standard headers for library packages.
1446 1446
1447GNU Emacs Internals 1447GNU Emacs Internals
diff --git a/doc/lispref/vol2.texi b/doc/lispref/vol2.texi
index d6358f3ecfc..195b89ce3f6 100644
--- a/doc/lispref/vol2.texi
+++ b/doc/lispref/vol2.texi
@@ -163,7 +163,7 @@ Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}.
163 files are made. 163 files are made.
164* Buffers:: Creating and using buffer objects. 164* Buffers:: Creating and using buffer objects.
165* Windows:: Manipulating windows and displaying buffers. 165* Windows:: Manipulating windows and displaying buffers.
166* Frames:: Making multiple system-level windows. 166* Frames:: Making multiple system-level windows.
167* Positions:: Buffer positions and motion functions. 167* Positions:: Buffer positions and motion functions.
168* Markers:: Markers represent positions and update 168* Markers:: Markers represent positions and update
169 automatically when the text is changed. 169 automatically when the text is changed.
@@ -175,7 +175,7 @@ Reference Manual, corresponding to GNU Emacs version @value{EMACSVER}.
175* Abbrevs:: How Abbrev mode works, and its data structures. 175* Abbrevs:: How Abbrev mode works, and its data structures.
176 176
177* Processes:: Running and communicating with subprocesses. 177* Processes:: Running and communicating with subprocesses.
178* Display:: Features for controlling the screen display. 178* Display:: Features for controlling the screen display.
179* System Interface:: Getting the user id, system type, environment 179* System Interface:: Getting the user id, system type, environment
180 variables, and other such things. 180 variables, and other such things.
181 181
@@ -310,10 +310,10 @@ Editing Types
310Numbers 310Numbers
311 311
312* Integer Basics:: Representation and range of integers. 312* Integer Basics:: Representation and range of integers.
313* Float Basics:: Representation and range of floating point. 313* Float Basics:: Representation and range of floating point.
314* Predicates on Numbers:: Testing for numbers. 314* Predicates on Numbers:: Testing for numbers.
315* Comparison of Numbers:: Equality and inequality predicates. 315* Comparison of Numbers:: Equality and inequality predicates.
316* Numeric Conversions:: Converting float to integer and vice versa. 316* Numeric Conversions:: Converting float to integer and vice versa.
317* Arithmetic Operations:: How to add, subtract, multiply and divide. 317* Arithmetic Operations:: How to add, subtract, multiply and divide.
318* Rounding Operations:: Explicitly rounding floating point numbers. 318* Rounding Operations:: Explicitly rounding floating point numbers.
319* Bitwise Operations:: Logical and, or, not, shifting. 319* Bitwise Operations:: Logical and, or, not, shifting.
@@ -330,7 +330,7 @@ Strings and Characters
330* String Conversion:: Converting to and from characters and strings. 330* String Conversion:: Converting to and from characters and strings.
331* Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}. 331* Formatting Strings:: @code{format}: Emacs's analogue of @code{printf}.
332* Case Conversion:: Case conversion functions. 332* Case Conversion:: Case conversion functions.
333* Case Tables:: Customizing case conversion. 333* Case Tables:: Customizing case conversion.
334 334
335Lists 335Lists
336 336
@@ -398,7 +398,7 @@ Kinds of Forms
398* Symbol Forms:: Symbols evaluate as variables. 398* Symbol Forms:: Symbols evaluate as variables.
399* Classifying Lists:: How to distinguish various sorts of list forms. 399* Classifying Lists:: How to distinguish various sorts of list forms.
400* Function Indirection:: When a symbol appears as the car of a list, 400* Function Indirection:: When a symbol appears as the car of a list,
401 we find the real function via the symbol. 401 we find the real function via the symbol.
402* Function Forms:: Forms that call functions. 402* Function Forms:: Forms that call functions.
403* Macro Forms:: Forms that call macros. 403* Macro Forms:: Forms that call macros.
404* Special Forms:: "Special forms" are idiosyncratic primitives, 404* Special Forms:: "Special forms" are idiosyncratic primitives,
@@ -479,9 +479,9 @@ Functions
479* Function Cells:: Accessing or setting the function definition 479* Function Cells:: Accessing or setting the function definition
480 of a symbol. 480 of a symbol.
481* Obsolete Functions:: Declaring functions obsolete. 481* Obsolete Functions:: Declaring functions obsolete.
482* Inline Functions:: Defining functions that the compiler 482* Inline Functions:: Defining functions that the compiler
483 will open code. 483 will open code.
484* Declaring Functions:: Telling the compiler that a function is defined. 484* Declaring Functions:: Telling the compiler that a function is defined.
485* Function Safety:: Determining whether a function is safe to call. 485* Function Safety:: Determining whether a function is safe to call.
486* Related Topics:: Cross-references to specific Lisp primitives 486* Related Topics:: Cross-references to specific Lisp primitives
487 that have a special bearing on how 487 that have a special bearing on how
@@ -541,9 +541,9 @@ Loading
541* Repeated Loading:: Precautions about loading a file twice. 541* Repeated Loading:: Precautions about loading a file twice.
542* Named Features:: Loading a library if it isn't already loaded. 542* Named Features:: Loading a library if it isn't already loaded.
543* Where Defined:: Finding which file defined a certain symbol. 543* Where Defined:: Finding which file defined a certain symbol.
544* Unloading:: How to "unload" a library that was loaded. 544* Unloading:: How to "unload" a library that was loaded.
545* Hooks for Loading:: Providing code to be run when 545* Hooks for Loading:: Providing code to be run when
546 particular libraries are loaded. 546 particular libraries are loaded.
547 547
548Byte Compilation 548Byte Compilation
549 549
@@ -553,7 +553,7 @@ Byte Compilation
553* Dynamic Loading:: Dynamic loading of individual functions. 553* Dynamic Loading:: Dynamic loading of individual functions.
554* Eval During Compile:: Code to be evaluated when you compile. 554* Eval During Compile:: Code to be evaluated when you compile.
555* Compiler Errors:: Handling compiler error messages. 555* Compiler Errors:: Handling compiler error messages.
556* Byte-Code Objects:: The data type used for byte-compiled functions. 556* Byte-Code Objects:: The data type used for byte-compiled functions.
557* Disassembly:: Disassembling byte-code; how to read byte-code. 557* Disassembly:: Disassembling byte-code; how to read byte-code.
558 558
559Advising Emacs Lisp Functions 559Advising Emacs Lisp Functions
@@ -582,7 +582,7 @@ Debugging Lisp Programs
582The Lisp Debugger 582The Lisp Debugger
583 583
584* Error Debugging:: Entering the debugger when an error happens. 584* Error Debugging:: Entering the debugger when an error happens.
585* Infinite Loops:: Stopping and debugging a program that doesn't exit. 585* Infinite Loops:: Stopping and debugging a program that doesn't exit.
586* Function Debugging:: Entering it when a certain function is called. 586* Function Debugging:: Entering it when a certain function is called.
587* Explicit Debug:: Entering it at a certain point in the program. 587* Explicit Debug:: Entering it at a certain point in the program.
588* Using Debugger:: What the debugger does; what you see while in it. 588* Using Debugger:: What the debugger does; what you see while in it.
@@ -592,24 +592,24 @@ The Lisp Debugger
592 592
593Edebug 593Edebug
594 594
595* Using Edebug:: Introduction to use of Edebug. 595* Using Edebug:: Introduction to use of Edebug.
596* Instrumenting:: You must instrument your code 596* Instrumenting:: You must instrument your code
597 in order to debug it with Edebug. 597 in order to debug it with Edebug.
598* Edebug Execution Modes:: Execution modes, stopping more or less often. 598* Edebug Execution Modes:: Execution modes, stopping more or less often.
599* Jumping:: Commands to jump to a specified place. 599* Jumping:: Commands to jump to a specified place.
600* Edebug Misc:: Miscellaneous commands. 600* Edebug Misc:: Miscellaneous commands.
601* Breaks:: Setting breakpoints to make the program stop. 601* Breaks:: Setting breakpoints to make the program stop.
602* Trapping Errors:: Trapping errors with Edebug. 602* Trapping Errors:: Trapping errors with Edebug.
603* Edebug Views:: Views inside and outside of Edebug. 603* Edebug Views:: Views inside and outside of Edebug.
604* Edebug Eval:: Evaluating expressions within Edebug. 604* Edebug Eval:: Evaluating expressions within Edebug.
605* Eval List:: Expressions whose values are displayed 605* Eval List:: Expressions whose values are displayed
606 each time you enter Edebug. 606 each time you enter Edebug.
607* Printing in Edebug:: Customization of printing. 607* Printing in Edebug:: Customization of printing.
608* Trace Buffer:: How to produce trace output in a buffer. 608* Trace Buffer:: How to produce trace output in a buffer.
609* Coverage Testing:: How to test evaluation coverage. 609* Coverage Testing:: How to test evaluation coverage.
610* The Outside Context:: Data that Edebug saves and restores. 610* The Outside Context:: Data that Edebug saves and restores.
611* Edebug and Macros:: Specifying how to handle macro calls. 611* Edebug and Macros:: Specifying how to handle macro calls.
612* Edebug Options:: Option variables for customizing Edebug. 612* Edebug Options:: Option variables for customizing Edebug.
613 613
614Breaks 614Breaks
615 615
@@ -626,8 +626,8 @@ The Outside Context
626Edebug and Macros 626Edebug and Macros
627 627
628* Instrumenting Macro Calls::The basic problem. 628* Instrumenting Macro Calls::The basic problem.
629* Specification List:: How to specify complex patterns of evaluation. 629* Specification List:: How to specify complex patterns of evaluation.
630* Backtracking:: What Edebug does when matching fails. 630* Backtracking:: What Edebug does when matching fails.
631* Specification Examples:: To help understand specifications. 631* Specification Examples:: To help understand specifications.
632 632
633Debugging Invalid Lisp Syntax 633Debugging Invalid Lisp Syntax
@@ -652,13 +652,13 @@ Minibuffers
652* Intro to Minibuffers:: Basic information about minibuffers. 652* Intro to Minibuffers:: Basic information about minibuffers.
653* Text from Minibuffer:: How to read a straight text string. 653* Text from Minibuffer:: How to read a straight text string.
654* Object from Minibuffer:: How to read a Lisp object or expression. 654* Object from Minibuffer:: How to read a Lisp object or expression.
655* Minibuffer History:: Recording previous minibuffer inputs 655* Minibuffer History:: Recording previous minibuffer inputs
656 so the user can reuse them. 656 so the user can reuse them.
657* Initial Input:: Specifying initial contents for the minibuffer. 657* Initial Input:: Specifying initial contents for the minibuffer.
658* Completion:: How to invoke and customize completion. 658* Completion:: How to invoke and customize completion.
659* Yes-or-No Queries:: Asking a question with a simple answer. 659* Yes-or-No Queries:: Asking a question with a simple answer.
660* Multiple Queries:: Asking a series of similar questions. 660* Multiple Queries:: Asking a series of similar questions.
661* Reading a Password:: Reading a password from the terminal. 661* Reading a Password:: Reading a password from the terminal.
662* Minibuffer Commands:: Commands used as key bindings in minibuffers. 662* Minibuffer Commands:: Commands used as key bindings in minibuffers.
663* Minibuffer Contents:: How such commands access the minibuffer text. 663* Minibuffer Contents:: How such commands access the minibuffer text.
664* Minibuffer Windows:: Operating on the special minibuffer windows. 664* Minibuffer Windows:: Operating on the special minibuffer windows.
@@ -686,7 +686,7 @@ Command Loop
686* Distinguish Interactive:: Making a command distinguish interactive calls. 686* Distinguish Interactive:: Making a command distinguish interactive calls.
687* Command Loop Info:: Variables set by the command loop for you to examine. 687* Command Loop Info:: Variables set by the command loop for you to examine.
688* Adjusting Point:: Adjustment of point after a command. 688* Adjusting Point:: Adjustment of point after a command.
689* Input Events:: What input looks like when you read it. 689* Input Events:: What input looks like when you read it.
690* Reading Input:: How to read input events from the keyboard or mouse. 690* Reading Input:: How to read input events from the keyboard or mouse.
691* Special Events:: Events processed immediately and individually. 691* Special Events:: Events processed immediately and individually.
692* Waiting:: Waiting for user input or elapsed time. 692* Waiting:: Waiting for user input or elapsed time.
@@ -720,7 +720,7 @@ Input Events
720* Event Examples:: Examples of the lists for mouse events. 720* Event Examples:: Examples of the lists for mouse events.
721* Classifying Events:: Finding the modifier keys in an event symbol. 721* Classifying Events:: Finding the modifier keys in an event symbol.
722 Event types. 722 Event types.
723* Accessing Mouse:: Functions to extract info from mouse events. 723* Accessing Mouse:: Functions to extract info from mouse events.
724* Accessing Scroll:: Functions to get info from scroll bar events. 724* Accessing Scroll:: Functions to get info from scroll bar events.
725* Strings of Events:: Special considerations for putting 725* Strings of Events:: Special considerations for putting
726 keyboard character events in a string. 726 keyboard character events in a string.
@@ -870,9 +870,9 @@ Files
870* Changing Files:: Renaming files, changing protection, etc. 870* Changing Files:: Renaming files, changing protection, etc.
871* File Names:: Decomposing and expanding file names. 871* File Names:: Decomposing and expanding file names.
872* Contents of Directories:: Getting a list of the files in a directory. 872* Contents of Directories:: Getting a list of the files in a directory.
873* Create/Delete Dirs:: Creating and Deleting Directories. 873* Create/Delete Dirs:: Creating and Deleting Directories.
874* Magic File Names:: Defining "magic" special handling 874* Magic File Names:: Defining "magic" special handling
875 for certain file names. 875 for certain file names.
876* Format Conversion:: Conversion to and from various file formats. 876* Format Conversion:: Conversion to and from various file formats.
877 877
878Visiting Files 878Visiting Files
@@ -884,7 +884,7 @@ Information about Files
884 884
885* Testing Accessibility:: Is a given file readable? Writable? 885* Testing Accessibility:: Is a given file readable? Writable?
886* Kinds of Files:: Is it a directory? A symbolic link? 886* Kinds of Files:: Is it a directory? A symbolic link?
887* Truenames:: Eliminating symbolic links from a file name. 887* Truenames:: Eliminating symbolic links from a file name.
888* File Attributes:: How large is it? Any other names? Etc. 888* File Attributes:: How large is it? Any other names? Etc.
889* Locating Files:: How to find a file in standard places. 889* Locating Files:: How to find a file in standard places.
890 890
@@ -954,8 +954,8 @@ Windows
954* Buffers and Windows:: Each window displays the contents of a buffer. 954* Buffers and Windows:: Each window displays the contents of a buffer.
955* Displaying Buffers:: Higher-level functions for displaying a buffer 955* Displaying Buffers:: Higher-level functions for displaying a buffer
956 and choosing a window for it. 956 and choosing a window for it.
957* Choosing Window:: How to choose a window for displaying a buffer. 957* Choosing Window:: How to choose a window for displaying a buffer.
958* Dedicated Windows:: How to avoid displaying another buffer in 958* Dedicated Windows:: How to avoid displaying another buffer in
959 a specific window. 959 a specific window.
960* Window Point:: Each window has its own location of point. 960* Window Point:: Each window has its own location of point.
961* Window Start and End:: Buffer positions indicating which text is 961* Window Start and End:: Buffer positions indicating which text is
@@ -975,37 +975,37 @@ Windows
975 975
976Frames 976Frames
977 977
978* Creating Frames:: Creating additional frames. 978* Creating Frames:: Creating additional frames.
979* Multiple Terminals:: Displaying on several different devices. 979* Multiple Terminals:: Displaying on several different devices.
980* Frame Parameters:: Controlling frame size, position, font, etc. 980* Frame Parameters:: Controlling frame size, position, font, etc.
981* Terminal Parameters:: Parameters common for all frames on terminal. 981* Terminal Parameters:: Parameters common for all frames on terminal.
982* Frame Titles:: Automatic updating of frame titles. 982* Frame Titles:: Automatic updating of frame titles.
983* Deleting Frames:: Frames last until explicitly deleted. 983* Deleting Frames:: Frames last until explicitly deleted.
984* Finding All Frames:: How to examine all existing frames. 984* Finding All Frames:: How to examine all existing frames.
985* Frames and Windows:: A frame contains windows; 985* Frames and Windows:: A frame contains windows;
986 display of text always works through windows. 986 display of text always works through windows.
987* Minibuffers and Frames:: How a frame finds the minibuffer to use. 987* Minibuffers and Frames:: How a frame finds the minibuffer to use.
988* Input Focus:: Specifying the selected frame. 988* Input Focus:: Specifying the selected frame.
989* Visibility of Frames:: Frames may be visible or invisible, or icons. 989* Visibility of Frames:: Frames may be visible or invisible, or icons.
990* Raising and Lowering:: Raising a frame makes it hide other windows; 990* Raising and Lowering:: Raising a frame makes it hide other windows;
991 lowering it makes the others hide it. 991 lowering it makes the others hide it.
992* Frame Configurations:: Saving the state of all frames. 992* Frame Configurations:: Saving the state of all frames.
993* Mouse Tracking:: Getting events that say when the mouse moves. 993* Mouse Tracking:: Getting events that say when the mouse moves.
994* Mouse Position:: Asking where the mouse is, or moving it. 994* Mouse Position:: Asking where the mouse is, or moving it.
995* Pop-Up Menus:: Displaying a menu for the user to select from. 995* Pop-Up Menus:: Displaying a menu for the user to select from.
996* Dialog Boxes:: Displaying a box to ask yes or no. 996* Dialog Boxes:: Displaying a box to ask yes or no.
997* Pointer Shape:: Specifying the shape of the mouse pointer. 997* Pointer Shape:: Specifying the shape of the mouse pointer.
998* Window System Selections::Transferring text to and from other X clients. 998* Window System Selections::Transferring text to and from other X clients.
999* Drag and Drop:: Internals of Drag-and-Drop implementation. 999* Drag and Drop:: Internals of Drag-and-Drop implementation.
1000* Color Names:: Getting the definitions of color names. 1000* Color Names:: Getting the definitions of color names.
1001* Text Terminal Colors:: Defining colors for text-only terminals. 1001* Text Terminal Colors:: Defining colors for text-only terminals.
1002* Resources:: Getting resource values from the server. 1002* Resources:: Getting resource values from the server.
1003* Display Feature Testing:: Determining the features of a terminal. 1003* Display Feature Testing:: Determining the features of a terminal.
1004 1004
1005Frame Parameters 1005Frame Parameters
1006 1006
1007* Parameter Access:: How to change a frame's parameters. 1007* Parameter Access:: How to change a frame's parameters.
1008* Initial Parameters:: Specifying frame parameters when you make a frame. 1008* Initial Parameters:: Specifying frame parameters when you make a frame.
1009* Window Frame Parameters:: List of frame parameters for window systems. 1009* Window Frame Parameters:: List of frame parameters for window systems.
1010* Size and Position:: Changing the size and position of a frame. 1010* Size and Position:: Changing the size and position of a frame.
1011* Geometry:: Parsing geometry specifications. 1011* Geometry:: Parsing geometry specifications.
@@ -1064,7 +1064,7 @@ Text
1064 later use. 1064 later use.
1065* Undo:: Undoing changes to the text of a buffer. 1065* Undo:: Undoing changes to the text of a buffer.
1066* Maintaining Undo:: How to enable and disable undo information. 1066* Maintaining Undo:: How to enable and disable undo information.
1067 How to control how much information is kept. 1067 How to control how much information is kept.
1068* Filling:: Functions for explicit filling. 1068* Filling:: Functions for explicit filling.
1069* Margins:: How to specify margins for filling commands. 1069* Margins:: How to specify margins for filling commands.
1070* Adaptive Fill:: Adaptive Fill mode chooses a fill prefix 1070* Adaptive Fill:: Adaptive Fill mode chooses a fill prefix
@@ -1090,7 +1090,7 @@ The Kill Ring
1090* Kill Functions:: Functions that kill text. 1090* Kill Functions:: Functions that kill text.
1091* Yanking:: How yanking is done. 1091* Yanking:: How yanking is done.
1092* Yank Commands:: Commands that access the kill ring. 1092* Yank Commands:: Commands that access the kill ring.
1093* Low-Level Kill Ring:: Functions and variables for kill ring access. 1093* Low-Level Kill Ring:: Functions and variables for kill ring access.
1094* Internals of Kill Ring:: Variables that hold kill ring data. 1094* Internals of Kill Ring:: Variables that hold kill ring data.
1095 1095
1096Indentation 1096Indentation
@@ -1105,9 +1105,9 @@ Indentation
1105Text Properties 1105Text Properties
1106 1106
1107* Examining Properties:: Looking at the properties of one character. 1107* Examining Properties:: Looking at the properties of one character.
1108* Changing Properties:: Setting the properties of a range of text. 1108* Changing Properties:: Setting the properties of a range of text.
1109* Property Search:: Searching for where a property changes value. 1109* Property Search:: Searching for where a property changes value.
1110* Special Properties:: Particular properties with special meanings. 1110* Special Properties:: Particular properties with special meanings.
1111* Format Properties:: Properties for representing formatting of text. 1111* Format Properties:: Properties for representing formatting of text.
1112* Sticky Properties:: How inserted text gets properties from 1112* Sticky Properties:: How inserted text gets properties from
1113 neighboring text. 1113 neighboring text.
@@ -1117,8 +1117,8 @@ Text Properties
1117 do something when you click on them. 1117 do something when you click on them.
1118* Fields:: The @code{field} property defines 1118* Fields:: The @code{field} property defines
1119 fields within the buffer. 1119 fields within the buffer.
1120* Not Intervals:: Why text properties do not use 1120* Not Intervals:: Why text properties do not use
1121 Lisp-visible text intervals. 1121 Lisp-visible text intervals.
1122 1122
1123Non-@acronym{ASCII} Characters 1123Non-@acronym{ASCII} Characters
1124 1124
@@ -1161,7 +1161,7 @@ Searching and Matching
1161* POSIX Regexps:: Searching POSIX-style for the longest match. 1161* POSIX Regexps:: Searching POSIX-style for the longest match.
1162* Match Data:: Finding out which part of the text matched, 1162* Match Data:: Finding out which part of the text matched,
1163 after a string or regexp search. 1163 after a string or regexp search.
1164* Search and Replace:: Commands that loop, searching and replacing. 1164* Search and Replace:: Commands that loop, searching and replacing.
1165* Standard Regexps:: Useful regexps for finding sentences, pages,... 1165* Standard Regexps:: Useful regexps for finding sentences, pages,...
1166 1166
1167Regular Expressions 1167Regular Expressions
@@ -1178,9 +1178,9 @@ Syntax of Regular Expressions
1178 1178
1179The Match Data 1179The Match Data
1180 1180
1181* Replacing Match:: Replacing a substring that was matched. 1181* Replacing Match:: Replacing a substring that was matched.
1182* Simple Match Data:: Accessing single items of match data, 1182* Simple Match Data:: Accessing single items of match data,
1183 such as where a particular subexpression started. 1183 such as where a particular subexpression started.
1184* Entire Match Data:: Accessing the entire match data at once, as a list. 1184* Entire Match Data:: Accessing the entire match data at once, as a list.
1185* Saving Match Data:: Saving and restoring the match data. 1185* Saving Match Data:: Saving and restoring the match data.
1186 1186
@@ -1190,7 +1190,7 @@ Syntax Tables
1190* Syntax Descriptors:: How characters are classified. 1190* Syntax Descriptors:: How characters are classified.
1191* Syntax Table Functions:: How to create, examine and alter syntax tables. 1191* Syntax Table Functions:: How to create, examine and alter syntax tables.
1192* Syntax Properties:: Overriding syntax with text properties. 1192* Syntax Properties:: Overriding syntax with text properties.
1193* Motion and Syntax:: Moving over characters with certain syntaxes. 1193* Motion and Syntax:: Moving over characters with certain syntaxes.
1194* Parsing Expressions:: Parsing balanced expressions 1194* Parsing Expressions:: Parsing balanced expressions
1195 using the syntax table. 1195 using the syntax table.
1196* Standard Syntax Tables:: Syntax tables used by various major modes. 1196* Standard Syntax Tables:: Syntax tables used by various major modes.
@@ -1279,10 +1279,10 @@ Emacs Display
1279* Invisible Text:: Hiding part of the buffer text. 1279* Invisible Text:: Hiding part of the buffer text.
1280* Selective Display:: Hiding part of the buffer text (the old way). 1280* Selective Display:: Hiding part of the buffer text (the old way).
1281* Temporary Displays:: Displays that go away automatically. 1281* Temporary Displays:: Displays that go away automatically.
1282* Overlays:: Use overlays to highlight parts of the buffer. 1282* Overlays:: Use overlays to highlight parts of the buffer.
1283* Width:: How wide a character or string is on the screen. 1283* Width:: How wide a character or string is on the screen.
1284* Line Height:: Controlling the height of lines. 1284* Line Height:: Controlling the height of lines.
1285* Faces:: A face defines a graphics style 1285* Faces:: A face defines a graphics style
1286 for text characters: font, colors, etc. 1286 for text characters: font, colors, etc.
1287* Fringes:: Controlling window fringes. 1287* Fringes:: Controlling window fringes.
1288* Scroll Bars:: Controlling vertical scroll bars. 1288* Scroll Bars:: Controlling vertical scroll bars.
@@ -1291,9 +1291,9 @@ Emacs Display
1291* Buttons:: Adding clickable buttons to Emacs buffers. 1291* Buttons:: Adding clickable buttons to Emacs buffers.
1292* Abstract Display:: Emacs' Widget for Object Collections. 1292* Abstract Display:: Emacs' Widget for Object Collections.
1293* Blinking:: How Emacs shows the matching open parenthesis. 1293* Blinking:: How Emacs shows the matching open parenthesis.
1294* Usual Display:: The usual conventions for displaying 1294* Usual Display:: The usual conventions for displaying
1295 nonprinting chars. 1295 nonprinting chars.
1296* Display Tables:: How to specify other conventions. 1296* Display Tables:: How to specify other conventions.
1297* Beeping:: Audible signal to the user. 1297* Beeping:: Audible signal to the user.
1298* Window Systems:: Which window system is being used. 1298* Window Systems:: Which window system is being used.
1299 1299
@@ -1315,7 +1315,7 @@ Overlays
1315 1315
1316* Managing Overlays:: Creating and moving overlays. 1316* Managing Overlays:: Creating and moving overlays.
1317* Overlay Properties:: How to read and set properties. 1317* Overlay Properties:: How to read and set properties.
1318 What properties do to the screen display. 1318 What properties do to the screen display.
1319* Finding Overlays:: Searching for overlays. 1319* Finding Overlays:: Searching for overlays.
1320 1320
1321Faces 1321Faces
@@ -1395,14 +1395,14 @@ Operating System Interface
1395* Getting Out:: How exiting works (permanent or temporary). 1395* Getting Out:: How exiting works (permanent or temporary).
1396* System Environment:: Distinguish the name and kind of system. 1396* System Environment:: Distinguish the name and kind of system.
1397* User Identification:: Finding the name and user id of the user. 1397* User Identification:: Finding the name and user id of the user.
1398* Time of Day:: Getting the current time. 1398* Time of Day:: Getting the current time.
1399* Time Conversion:: Converting a time from numeric form to 1399* Time Conversion:: Converting a time from numeric form to
1400 calendrical data and vice versa. 1400 calendrical data and vice versa.
1401* Time Parsing:: Converting a time from numeric form to text 1401* Time Parsing:: Converting a time from numeric form to text
1402 and vice versa. 1402 and vice versa.
1403* Processor Run Time:: Getting the run time used by Emacs. 1403* Processor Run Time:: Getting the run time used by Emacs.
1404* Time Calculations:: Adding, subtracting, comparing times, etc. 1404* Time Calculations:: Adding, subtracting, comparing times, etc.
1405* Timers:: Setting a timer to call a function at a 1405* Timers:: Setting a timer to call a function at a
1406 certain time. 1406 certain time.
1407* Idle Timers:: Setting a timer to call a function when Emacs has 1407* Idle Timers:: Setting a timer to call a function when Emacs has
1408 been idle for a certain length of time. 1408 been idle for a certain length of time.
@@ -1429,8 +1429,8 @@ Getting Out of Emacs
1429 1429
1430Terminal Input 1430Terminal Input
1431 1431
1432* Input Modes:: Options for how input is processed. 1432* Input Modes:: Options for how input is processed.
1433* Recording Input:: Saving histories of recent or all input events. 1433* Recording Input:: Saving histories of recent or all input events.
1434 1434
1435Tips and Conventions 1435Tips and Conventions
1436 1436
@@ -1440,7 +1440,7 @@ Tips and Conventions
1440* Compilation Tips:: Making compiled code run fast. 1440* Compilation Tips:: Making compiled code run fast.
1441* Warning Tips:: Turning off compiler warnings. 1441* Warning Tips:: Turning off compiler warnings.
1442* Documentation Tips:: Writing readable documentation strings. 1442* Documentation Tips:: Writing readable documentation strings.
1443* Comment Tips:: Conventions for writing comments. 1443* Comment Tips:: Conventions for writing comments.
1444* Library Headers:: Standard headers for library packages. 1444* Library Headers:: Standard headers for library packages.
1445 1445
1446GNU Emacs Internals 1446GNU Emacs Internals
diff --git a/doc/lispref/windows.texi b/doc/lispref/windows.texi
index de7ebbc405e..704f3ad3321 100644
--- a/doc/lispref/windows.texi
+++ b/doc/lispref/windows.texi
@@ -22,8 +22,8 @@ windows.
22* Buffers and Windows:: Each window displays the contents of a buffer. 22* Buffers and Windows:: Each window displays the contents of a buffer.
23* Displaying Buffers:: Higher-level functions for displaying a buffer 23* Displaying Buffers:: Higher-level functions for displaying a buffer
24 and choosing a window for it. 24 and choosing a window for it.
25* Choosing Window:: How to choose a window for displaying a buffer. 25* Choosing Window:: How to choose a window for displaying a buffer.
26* Dedicated Windows:: How to avoid displaying another buffer in 26* Dedicated Windows:: How to avoid displaying another buffer in
27 a specific window. 27 a specific window.
28* Window Point:: Each window has its own location of point. 28* Window Point:: Each window has its own location of point.
29* Window Start and End:: Buffer positions indicating which text is 29* Window Start and End:: Buffer positions indicating which text is
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index a159715a69d..44d1e00be0d 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,74 @@
12010-07-19 Juanma Barranquero <lekktu@gmail.com>
2
3 * org.texi: Fix typo in previous change (2010-07-19T09:47:27Z!carsten.dominik@gmail.com).
4
52010-07-19 Carsten Dominik <carsten.dominik@gmail.com>
6
7 * org.texi: Add macros to get plain quotes in PDF output.
8 List additional contributors.
9 (Capture): New section, replaces the section about remember.
10 (Working With Source Code): New chapter, focused on documenting Org
11 Babel.
12 (Code evaluation security): New section.
13 (MobileOrg): Document DropBox support.
14 (TaskJuggler export): Document taskjuggler and Gantt chart support.
15 (Special symbols): Show how to display UTF8 characters for entities.
16 (Global TODO list): Clarify the use of the "M" key and the differences
17 to the "m" key.
18 (RSS Feeds): Mention Atom feeds as well.
19 (Setting tags): Remove paragraph about
20 `org-complete-tags-always-offer-all-agenda-tags'.
21
222010-07-17 Michael Albinus <michael.albinus@gmx.de>
23
24 * tramp.texi (Inline methods): Remove remark about doubled "-t"
25 argument.
26 (Frequently Asked Questions): Recommend "sshx" and "scpx" for
27 echoing shells.
28
292010-07-10 Michael Albinus <michael.albinus@gmx.de>
30
31 * tramp.texi (Inline methods): Remove "kludgy" phrase.
32 (Filename Syntax): Describe port numbers.
33
342010-07-09 Michael Albinus <michael.albinus@gmx.de>
35
36 * dbus.texi (Top): Introduce Index. Emphasize "nil" whereever
37 forgotten.
38 (Type Conversion): Precise conversion of natural numbers.
39 (Errors and Events): Add "debugging" to concept index. Add variable
40 `dbus-debug'.
41
422010-07-04 Michael Albinus <michael.albinus@gmx.de>
43
44 * dbus.texi (Receiving Method Calls): Add optional argument
45 EMITS-SIGNAL to `dbus-register-property'.
46
472010-06-27 Alex Schroeder <alex@gnu.org>
48
49 * nxml-mode.texi (Commands for locating a schema): Fix typo.
50
512010-06-24 Glenn Morris <rgm@gnu.org>
52
53 * ada-mode.texi, auth.texi, autotype.texi, calc.texi, cc-mode.texi:
54 * dired-x.texi, ebrowse.texi, ede.texi, edt.texi, eieio.texi:
55 * emacs-mime.texi, epa.texi, erc.texi, eshell.texi, eudc.texi:
56 * flymake.texi, gnus.texi, info.texi, mairix-el.texi, message.texi:
57 * newsticker.texi, org.texi, pgg.texi, rcirc.texi, reftex.texi:
58 * remember.texi, sasl.texi, semantic.texi, ses.texi, smtpmail.texi:
59 * speedbar.texi, tramp.texi, url.texi, viper.texi, widget.texi:
60 * woman.texi: Start direntry descriptions in column 32, per Texinfo
61 convention. Make them end with a period.
62
632010-06-23 Glenn Morris <rgm@gnu.org>
64
65 * autotype.texi, cl.texi, dired-x.texi, ebrowse.texi, ede.texi:
66 * eieio.texi, epa.texi, faq.texi, flymake.texi, forms.texi:
67 * gnus-faq.texi, idlwave.texi, mh-e.texi, nxml-mode.texi, org.texi:
68 * pcl-cvs.texi, pgg.texi, reftex.texi, sasl.texi, sc.texi,
69 * sem-user.texi, semantic.texi, sieve.texi, smtpmail.texi,
70 * speedbar.texi, vip.texi, viper.texi, widget.texi: Untabify.
71
12010-06-10 Glenn Morris <rgm@gnu.org> 722010-06-10 Glenn Morris <rgm@gnu.org>
2 73
3 * idlwave.texi (Load-Path Shadows): 74 * idlwave.texi (Load-Path Shadows):
@@ -38,7 +109,7 @@
38 109
39 * Version 23.2 released. 110 * Version 23.2 released.
40 111
412010-05-01 Daniel E. Doherty <ddoherty03@gmail.com> (tiny change) 1122010-05-01 Daniel E. Doherty <ddoherty03@gmail.com> (tiny change)
42 113
43 * calc.texi (Tutorial): Use "^{\prime}" to indicate primes. 114 * calc.texi (Tutorial): Use "^{\prime}" to indicate primes.
44 115
@@ -187,7 +258,7 @@
1872010-01-17 Michael Albinus <michael.albinus@gmx.de> 2582010-01-17 Michael Albinus <michael.albinus@gmx.de>
188 259
189 * tramp.texi (Frequently Asked Questions): Add GNU Emacs 23 and 260 * tramp.texi (Frequently Asked Questions): Add GNU Emacs 23 and
190 SXEmacs 22 to the supported systems. New item for hung ssh sessions. 261 SXEmacs 22 to the supported systems. New item for hung ssh sessions.
191 262
1922010-01-17 Glenn Morris <rgm@gnu.org> 2632010-01-17 Glenn Morris <rgm@gnu.org>
193 264
@@ -6451,10 +6522,6 @@
6451 (INFO_TARGETS): Add ../info/cc-mode. 6522 (INFO_TARGETS): Add ../info/cc-mode.
6452 (DVI_TARGETS): Add cc-mode.dvi. 6523 (DVI_TARGETS): Add cc-mode.dvi.
6453 6524
64541996-05-25 Karl Heuer <kwzh@gnu.ai.mit.edu>
6455
6456 * Version 19.31 released.
6457
64581995-11-24 Richard Stallman <rms@mole.gnu.ai.mit.edu> 65251995-11-24 Richard Stallman <rms@mole.gnu.ai.mit.edu>
6459 6526
6460 * Version 19.30 released. 6527 * Version 19.30 released.
diff --git a/doc/misc/ada-mode.texi b/doc/misc/ada-mode.texi
index 86d63e5ed9b..b746824df67 100644
--- a/doc/misc/ada-mode.texi
+++ b/doc/misc/ada-mode.texi
@@ -3,8 +3,8 @@
3@settitle Ada Mode 3@settitle Ada Mode
4 4
5@copying 5@copying
6Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 6Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
72005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 72007, 2008, 2009, 2010 Free Software Foundation, Inc.
8 8
9@quotation 9@quotation
10Permission is granted to copy, distribute and/or modify this document 10Permission is granted to copy, distribute and/or modify this document
@@ -22,7 +22,7 @@ developing GNU and promoting software freedom.''
22 22
23@dircategory Emacs 23@dircategory Emacs
24@direntry 24@direntry
25* Ada mode: (ada-mode). Emacs mode for editing and compiling Ada code. 25* Ada mode: (ada-mode). Emacs mode for editing and compiling Ada code.
26@end direntry 26@end direntry
27 27
28@titlepage 28@titlepage
diff --git a/doc/misc/auth.texi b/doc/misc/auth.texi
index a2c319c583f..85e691d4b62 100644
--- a/doc/misc/auth.texi
+++ b/doc/misc/auth.texi
@@ -31,7 +31,7 @@ license to the document, as described in section 6 of the license.
31 31
32@dircategory Emacs 32@dircategory Emacs
33@direntry 33@direntry
34* Auth-source: (auth). The Emacs auth-source library. 34* Auth-source: (auth). The Emacs auth-source library.
35@end direntry 35@end direntry
36 36
37@titlepage 37@titlepage
diff --git a/doc/misc/autotype.texi b/doc/misc/autotype.texi
index a2ea8ad2c11..3f7ad21f1d3 100644
--- a/doc/misc/autotype.texi
+++ b/doc/misc/autotype.texi
@@ -10,8 +10,8 @@
10@c @cindex autotypist 10@c @cindex autotypist
11 11
12@copying 12@copying
13Copyright @copyright{} 1994, 1995, 1999, 2001, 2002, 2003, 2004, 13Copyright @copyright{} 1994, 1995, 1999, 2001, 2002, 2003, 2004, 2005,
142005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 142006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
15 15
16@quotation 16@quotation
17Permission is granted to copy, distribute and/or modify this document 17Permission is granted to copy, distribute and/or modify this document
@@ -29,8 +29,8 @@ developing GNU and promoting software freedom.''
29 29
30@dircategory Emacs 30@dircategory Emacs
31@direntry 31@direntry
32* Autotype: (autotype). Convenient features for text that you enter frequently 32* Autotype: (autotype). Convenient features for text that you
33 in Emacs. 33 enter frequently in Emacs.
34@end direntry 34@end direntry
35 35
36@titlepage 36@titlepage
@@ -92,7 +92,7 @@ completions and expansions of text at point.
92 after point. 92 after point.
93* Autoinserting:: Filling up empty files as soon as you visit them. 93* Autoinserting:: Filling up empty files as soon as you visit them.
94* Copyrights:: Inserting and updating copyrights. 94* Copyrights:: Inserting and updating copyrights.
95* Executables:: Turning interpreter scripts into executables. 95* Executables:: Turning interpreter scripts into executables.
96* Timestamps:: Updating dates and times in modified files. 96* Timestamps:: Updating dates and times in modified files.
97* QuickURL:: Inserting URLs based on text at point. 97* QuickURL:: Inserting URLs based on text at point.
98* Tempo:: Flexible template insertion. 98* Tempo:: Flexible template insertion.
@@ -201,7 +201,7 @@ the output from @kbd{M-x list-abbrevs} to make it look like this:
201 201
202@example 202@example
203(c-mode-abbrev-table) 203(c-mode-abbrev-table)
204"if" 0 "" c-if 204"if" 0 "" c-if
205@end example 205@end example
206 206
207@noindent 207@noindent
diff --git a/doc/misc/calc.texi b/doc/misc/calc.texi
index 12b8d8e162d..ab81cf1bca2 100644
--- a/doc/misc/calc.texi
+++ b/doc/misc/calc.texi
@@ -111,7 +111,7 @@ developing GNU and promoting software freedom.''
111 111
112@dircategory Emacs 112@dircategory Emacs
113@direntry 113@direntry
114* Calc: (calc). Advanced desk calculator and mathematical tool. 114* Calc: (calc). Advanced desk calculator and mathematical tool.
115@end direntry 115@end direntry
116 116
117@titlepage 117@titlepage
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi
index bfe09b64244..c1d8db80dae 100644
--- a/doc/misc/cc-mode.texi
+++ b/doc/misc/cc-mode.texi
@@ -180,8 +180,8 @@ developing GNU and promoting software freedom.''
180@comment here is by request from the FSF folks. 180@comment here is by request from the FSF folks.
181@dircategory Emacs 181@dircategory Emacs
182@direntry 182@direntry
183* CC Mode: (ccmode). Emacs mode for editing C, C++, Objective-C, 183* CC Mode: (ccmode). Emacs mode for editing C, C++, Objective-C,
184 Java, Pike, AWK, and CORBA IDL code. 184 Java, Pike, AWK, and CORBA IDL code.
185@end direntry 185@end direntry
186 186
187@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 187@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
diff --git a/doc/misc/cl.texi b/doc/misc/cl.texi
index 39561341b0d..755b2f3f1b7 100644
--- a/doc/misc/cl.texi
+++ b/doc/misc/cl.texi
@@ -24,7 +24,7 @@ developing GNU and promoting software freedom.''
24 24
25@dircategory Emacs 25@dircategory Emacs
26@direntry 26@direntry
27* CL: (cl). Partial Common Lisp support for Emacs Lisp. 27* CL: (cl). Partial Common Lisp support for Emacs Lisp.
28@end direntry 28@end direntry
29 29
30@finalout 30@finalout
diff --git a/doc/misc/dbus.texi b/doc/misc/dbus.texi
index c92cb279f09..248884532df 100644
--- a/doc/misc/dbus.texi
+++ b/doc/misc/dbus.texi
@@ -5,6 +5,9 @@
5@c @setchapternewpage odd 5@c @setchapternewpage odd
6@c %**end of header 6@c %**end of header
7 7
8@syncodeindex vr cp
9@syncodeindex fn cp
10
8@copying 11@copying
9Copyright @copyright{} 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 12Copyright @copyright{} 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
10 13
@@ -51,6 +54,8 @@ another. An overview of D-Bus can be found at
51* Receiving Method Calls:: Offering own methods. 54* Receiving Method Calls:: Offering own methods.
52* Signals:: Sending and receiving signals. 55* Signals:: Sending and receiving signals.
53* Errors and Events:: Errors and events. 56* Errors and Events:: Errors and events.
57* Index:: Index including concepts, functions, variables.
58
54* GNU Free Documentation License:: The license for this documentation. 59* GNU Free Documentation License:: The license for this documentation.
55@end menu 60@end menu
56 61
@@ -418,7 +423,8 @@ Example:
418@result{} "/org/freedesktop/SystemToolsBackends/UsersConfig" 423@result{} "/org/freedesktop/SystemToolsBackends/UsersConfig"
419@end lisp 424@end lisp
420 425
421If @var{object} has no @var{attribute}, the function returns nil. 426If @var{object} has no @var{attribute}, the function returns
427@code{nil}.
422@end defun 428@end defun
423 429
424 430
@@ -669,7 +675,7 @@ A @var{property} value can be retrieved by the function
669@defun dbus-get-property bus service path interface property 675@defun dbus-get-property bus service path interface property
670This function returns the value of @var{property} of @var{interface}. 676This function returns the value of @var{property} of @var{interface}.
671It will be checked at @var{bus}, @var{service}, @var{path}. The 677It will be checked at @var{bus}, @var{service}, @var{path}. The
672result can be any valid D-Bus value, or nil if there is no 678result can be any valid D-Bus value, or @code{nil} if there is no
673@var{property}. Example: 679@var{property}. Example:
674 680
675@lisp 681@lisp
@@ -863,12 +869,12 @@ Lisp function call. The following mapping to D-Bus types is
863applied, when the corresponding D-Bus message is created: 869applied, when the corresponding D-Bus message is created:
864 870
865@example 871@example
866@multitable {@code{t} and @code{nil}} {@expansion{}} {DBUS_TYPE_BOOLEAN} 872@multitable {negative integer} {@expansion{}} {DBUS_TYPE_BOOLEAN}
867@item Lisp type @tab @tab D-Bus type 873@item Lisp type @tab @tab D-Bus type
868@item 874@item
869@item @code{t} and @code{nil} @tab @expansion{} @tab DBUS_TYPE_BOOLEAN 875@item @code{t} and @code{nil} @tab @expansion{} @tab DBUS_TYPE_BOOLEAN
870@item number @tab @expansion{} @tab DBUS_TYPE_UINT32 876@item natural number @tab @expansion{} @tab DBUS_TYPE_UINT32
871@item integer @tab @expansion{} @tab DBUS_TYPE_INT32 877@item negative integer @tab @expansion{} @tab DBUS_TYPE_INT32
872@item float @tab @expansion{} @tab DBUS_TYPE_DOUBLE 878@item float @tab @expansion{} @tab DBUS_TYPE_DOUBLE
873@item string @tab @expansion{} @tab DBUS_TYPE_STRING 879@item string @tab @expansion{} @tab DBUS_TYPE_STRING
874@item list @tab @expansion{} @tab DBUS_TYPE_ARRAY 880@item list @tab @expansion{} @tab DBUS_TYPE_ARRAY
@@ -889,19 +895,19 @@ types are represented by the type symbols @code{:byte},
889Example: 895Example:
890 896
891@lisp 897@lisp
892(dbus-call-method @dots{} @var{NUMBER} @var{STRING}) 898(dbus-call-method @dots{} @var{NAT-NUMBER} @var{STRING})
893@end lisp 899@end lisp
894 900
895is equivalent to 901is equivalent to
896 902
897@lisp 903@lisp
898(dbus-call-method @dots{} :uint32 @var{NUMBER} :string @var{STRING}) 904(dbus-call-method @dots{} :uint32 @var{NAT-NUMBER} :string @var{STRING})
899@end lisp 905@end lisp
900 906
901but different to 907but different to
902 908
903@lisp 909@lisp
904(dbus-call-method @dots{} :int32 @var{NUMBER} :signature @var{STRING}) 910(dbus-call-method @dots{} :int32 @var{NAT-NUMBER} :signature @var{STRING})
905@end lisp 911@end lisp
906 912
907The value for a byte D-Bus type can be any integer in the range 0 913The value for a byte D-Bus type can be any integer in the range 0
@@ -994,17 +1000,17 @@ Output parameters of D-Bus methods and signals are mapped to Lisp
994objects. 1000objects.
995 1001
996@example 1002@example
997@multitable {DBUS_TYPE_OBJECT_PATH} {@expansion{}} {@code{t} or @code{nil}} 1003@multitable {DBUS_TYPE_OBJECT_PATH} {@expansion{}} {natural number or float}
998@item D-Bus type @tab @tab Lisp type 1004@item D-Bus type @tab @tab Lisp type
999@item 1005@item
1000@item DBUS_TYPE_BOOLEAN @tab @expansion{} @tab @code{t} or @code{nil} 1006@item DBUS_TYPE_BOOLEAN @tab @expansion{} @tab @code{t} or @code{nil}
1001@item DBUS_TYPE_BYTE @tab @expansion{} @tab number 1007@item DBUS_TYPE_BYTE @tab @expansion{} @tab natural number
1002@item DBUS_TYPE_UINT16 @tab @expansion{} @tab number 1008@item DBUS_TYPE_UINT16 @tab @expansion{} @tab natural number
1003@item DBUS_TYPE_INT16 @tab @expansion{} @tab number 1009@item DBUS_TYPE_INT16 @tab @expansion{} @tab integer
1004@item DBUS_TYPE_UINT32 @tab @expansion{} @tab number or float 1010@item DBUS_TYPE_UINT32 @tab @expansion{} @tab natural number or float
1005@item DBUS_TYPE_INT32 @tab @expansion{} @tab number or float 1011@item DBUS_TYPE_INT32 @tab @expansion{} @tab integer or float
1006@item DBUS_TYPE_UINT64 @tab @expansion{} @tab number or float 1012@item DBUS_TYPE_UINT64 @tab @expansion{} @tab natural number or float
1007@item DBUS_TYPE_INT64 @tab @expansion{} @tab number or float 1013@item DBUS_TYPE_INT64 @tab @expansion{} @tab integer or float
1008@item DBUS_TYPE_DOUBLE @tab @expansion{} @tab float 1014@item DBUS_TYPE_DOUBLE @tab @expansion{} @tab float
1009@item DBUS_TYPE_STRING @tab @expansion{} @tab string 1015@item DBUS_TYPE_STRING @tab @expansion{} @tab string
1010@item DBUS_TYPE_OBJECT_PATH @tab @expansion{} @tab string 1016@item DBUS_TYPE_OBJECT_PATH @tab @expansion{} @tab string
@@ -1030,7 +1036,7 @@ The signal @code{PropertyModified}, discussed as example in
1030(@var{BOOL} stands here for either @code{nil} or @code{t}): 1036(@var{BOOL} stands here for either @code{nil} or @code{t}):
1031 1037
1032@lisp 1038@lisp
1033(@var{NUMBER} ((@var{STRING} @var{BOOL} @var{BOOL}) (@var{STRING} @var{BOOL} @var{BOOL}) @dots{})) 1039(@var{INTEGER} ((@var{STRING} @var{BOOL} @var{BOOL}) (@var{STRING} @var{BOOL} @var{BOOL}) @dots{}))
1034@end lisp 1040@end lisp
1035 1041
1036@defun dbus-byte-array-to-string byte-array 1042@defun dbus-byte-array-to-string byte-array
@@ -1359,7 +1365,7 @@ The test runs then
1359@end example 1365@end example
1360@end defun 1366@end defun
1361 1367
1362@defun dbus-register-property bus service path interface property access value 1368@defun dbus-register-property bus service path interface property access value &optional emits-signal
1363With this function, an application declares a @var{property} on the D-Bus 1369With this function, an application declares a @var{property} on the D-Bus
1364@var{bus}. 1370@var{bus}.
1365 1371
@@ -1387,7 +1393,12 @@ only way to change their values. Properties with access type
1387 1393
1388The interface @samp{org.freedesktop.DBus.Properties} is added to 1394The interface @samp{org.freedesktop.DBus.Properties} is added to
1389@var{path}, including a default handler for the @samp{Get}, 1395@var{path}, including a default handler for the @samp{Get},
1390@samp{GetAll} and @samp{Set} methods of this interface. Example: 1396@samp{GetAll} and @samp{Set} methods of this interface. When
1397@var{emits-signal} is non-@code{nil}, the signal
1398@samp{PropertiesChanged} is sent when the property is changed by
1399@code{dbus-set-property}.
1400
1401@noindent Example:
1391 1402
1392@lisp 1403@lisp
1393(dbus-register-property 1404(dbus-register-property
@@ -1399,7 +1410,7 @@ The interface @samp{org.freedesktop.DBus.Properties} is added to
1399 1410
1400(dbus-register-property 1411(dbus-register-property
1401 :session "org.freedesktop.TextEditor" "/org/freedesktop/TextEditor" 1412 :session "org.freedesktop.TextEditor" "/org/freedesktop/TextEditor"
1402 "org.freedesktop.TextEditor" "version" :readwrite emacs-version) 1413 "org.freedesktop.TextEditor" "version" :readwrite emacs-version t)
1403 1414
1404@result{} ((:session "org.freedesktop.TextEditor" "version") 1415@result{} ((:session "org.freedesktop.TextEditor" "version")
1405 ("org.freedesktop.TextEditor" "/org/freedesktop/TextEditor")) 1416 ("org.freedesktop.TextEditor" "/org/freedesktop/TextEditor"))
@@ -1570,9 +1581,16 @@ which objects the GNU/Linux @code{hal} daemon adds.
1570 1581
1571@node Errors and Events 1582@node Errors and Events
1572@chapter Errors and events. 1583@chapter Errors and events.
1584@cindex debugging
1573@cindex errors 1585@cindex errors
1574@cindex events 1586@cindex events
1575 1587
1588The internal actions can be traced by running in a debug mode.
1589
1590@defvar dbus-debug
1591If this variable is non-@code{nil}, D-Bus specific debug messages are raised.
1592@end defvar
1593
1576Input parameters of @code{dbus-call-method}, 1594Input parameters of @code{dbus-call-method},
1577@code{dbus-call-method-non-blocking}, 1595@code{dbus-call-method-non-blocking},
1578@code{dbus-call-method-asynchronously}, and 1596@code{dbus-call-method-asynchronously}, and
@@ -1587,8 +1605,7 @@ appended to the @code{dbus-error}.
1587@defspec dbus-ignore-errors forms@dots{} 1605@defspec dbus-ignore-errors forms@dots{}
1588This executes @var{forms} exactly like a @code{progn}, except that 1606This executes @var{forms} exactly like a @code{progn}, except that
1589@code{dbus-error} errors are ignored during the @var{forms}. These 1607@code{dbus-error} errors are ignored during the @var{forms}. These
1590errors can be made visible when variable @code{dbus-debug} is set to 1608errors can be made visible when @code{dbus-debug} is set to @code{t}.
1591@code{t}.
1592@end defspec 1609@end defspec
1593 1610
1594Incoming D-Bus messages are handled as Emacs events, see @pxref{Misc 1611Incoming D-Bus messages are handled as Emacs events, see @pxref{Misc
@@ -1636,12 +1653,12 @@ The result is either the symbol @code{:system} or the symbol @code{:session}.
1636 1653
1637@defun dbus-event-message-type event 1654@defun dbus-event-message-type event
1638Returns the message type of the corresponding D-Bus message. The 1655Returns the message type of the corresponding D-Bus message. The
1639result is a number. 1656result is a natural number.
1640@end defun 1657@end defun
1641 1658
1642@defun dbus-event-serial-number event 1659@defun dbus-event-serial-number event
1643Returns the serial number of the corresponding D-Bus message. 1660Returns the serial number of the corresponding D-Bus message.
1644The result is a number. 1661The result is a natural number.
1645@end defun 1662@end defun
1646 1663
1647@defun dbus-event-service-name event 1664@defun dbus-event-service-name event
@@ -1691,6 +1708,12 @@ D-Bus applications running. Therefore, they shall check carefully,
1691whether a given D-Bus error is related to them. 1708whether a given D-Bus error is related to them.
1692 1709
1693 1710
1711@node Index
1712@unnumbered Index
1713
1714@printindex cp
1715
1716
1694@node GNU Free Documentation License 1717@node GNU Free Documentation License
1695@appendix GNU Free Documentation License 1718@appendix GNU Free Documentation License
1696@include doclicense.texi 1719@include doclicense.texi
diff --git a/doc/misc/dired-x.texi b/doc/misc/dired-x.texi
index 5e70153f9a2..0d05833d0ac 100644
--- a/doc/misc/dired-x.texi
+++ b/doc/misc/dired-x.texi
@@ -3,7 +3,7 @@
3@c dired-x.texi --- Sebastian Kremer's Extra DIRED hacked up for GNU Emacs 3@c dired-x.texi --- Sebastian Kremer's Extra DIRED hacked up for GNU Emacs
4@c 4@c
5@c Author: Sebastian Kremer <sk@thp.uni-koeln.de> 5@c Author: Sebastian Kremer <sk@thp.uni-koeln.de>
6@c Lawrence R. Dodd <dodd@roebling.poly.edu> 6@c Lawrence R. Dodd <dodd@roebling.poly.edu>
7@c [Dodd's address no longer valid.] 7@c [Dodd's address no longer valid.]
8 8
9@comment %**start of header (This is for running Texinfo on a region.) 9@comment %**start of header (This is for running Texinfo on a region.)
@@ -14,7 +14,7 @@
14@iftex 14@iftex
15@finalout 15@finalout
16@end iftex 16@end iftex
17@c @setchapternewpage odd % For book style double sided manual. 17@c @setchapternewpage odd % For book style double sided manual.
18@comment %**end of header (This is for running Texinfo on a region.) 18@comment %**end of header (This is for running Texinfo on a region.)
19 19
20@copying 20@copying
@@ -37,7 +37,7 @@ developing GNU and promoting software freedom.''
37 37
38@dircategory Emacs 38@dircategory Emacs
39@direntry 39@direntry
40* Dired-X: (dired-x). Dired Extra Features. 40* Dired-X: (dired-x). Dired Extra Features.
41@end direntry 41@end direntry
42 42
43@c @smallbook 43@c @smallbook
diff --git a/doc/misc/ebrowse.texi b/doc/misc/ebrowse.texi
index 2c9df216681..86cae35a6f4 100644
--- a/doc/misc/ebrowse.texi
+++ b/doc/misc/ebrowse.texi
@@ -29,7 +29,7 @@ developing GNU and promoting software freedom.''
29 29
30@dircategory Emacs 30@dircategory Emacs
31@direntry 31@direntry
32* Ebrowse: (ebrowse). A C++ class browser for Emacs. 32* Ebrowse: (ebrowse). A C++ class browser for Emacs.
33@end direntry 33@end direntry
34 34
35@titlepage 35@titlepage
@@ -55,14 +55,14 @@ Ebrowse.
55@end ifnottex 55@end ifnottex
56 56
57@menu 57@menu
58* Overview:: What is it and how does it work? 58* Overview:: What is it and how does it work?
59* Generating browser files:: How to process C++ source files 59* Generating browser files:: How to process C++ source files
60* Loading a Tree:: How to start browsing 60* Loading a Tree:: How to start browsing
61* Tree Buffers:: Traversing class hierarchies 61* Tree Buffers:: Traversing class hierarchies
62* Member Buffers:: Looking at member information 62* Member Buffers:: Looking at member information
63* Tags-like Functions:: Finding members from source files 63* Tags-like Functions:: Finding members from source files
64* GNU Free Documentation License:: The license for this documentation. 64* GNU Free Documentation License:: The license for this documentation.
65* Concept Index:: An entry for each concept defined 65* Concept Index:: An entry for each concept defined
66@end menu 66@end menu
67 67
68 68
@@ -215,10 +215,10 @@ When invoked with option @samp{--help}, @command{ebrowse} prints a list of
215available command line options.@refill 215available command line options.@refill
216 216
217@menu 217@menu
218* Input files:: Specifying which files to parse 218* Input files:: Specifying which files to parse
219* Output file:: Changing the output file name 219* Output file:: Changing the output file name
220* Structs and unions:: Omitting @code{struct}s and @code{union}s 220* Structs and unions:: Omitting @code{struct}s and @code{union}s
221* Matching:: Setting regular expression lengths 221* Matching:: Setting regular expression lengths
222* Verbosity:: Getting feedback for lengthy operations 222* Verbosity:: Getting feedback for lengthy operations
223@end menu 223@end menu
224 224
@@ -454,17 +454,17 @@ Tree-specific commands are bound to simple keystrokes, similar to
454buffers. 454buffers.
455 455
456@menu 456@menu
457* Source Display:: Viewing and finding a class declaration 457* Source Display:: Viewing and finding a class declaration
458* Member Display:: Showing members, switching to member buffers 458* Member Display:: Showing members, switching to member buffers
459* Go to Class:: Finding a class 459* Go to Class:: Finding a class
460* Quitting:: Discarding and burying the tree buffer 460* Quitting:: Discarding and burying the tree buffer
461* File Name Display:: Showing file names in the tree 461* File Name Display:: Showing file names in the tree
462* Expanding and Collapsing:: Expanding and collapsing branches 462* Expanding and Collapsing:: Expanding and collapsing branches
463* Tree Indentation:: Changing the tree indentation 463* Tree Indentation:: Changing the tree indentation
464* Killing Classes:: Removing class from the tree 464* Killing Classes:: Removing class from the tree
465* Saving a Tree:: Saving a modified tree 465* Saving a Tree:: Saving a modified tree
466* Statistics:: Displaying class tree statistics 466* Statistics:: Displaying class tree statistics
467* Marking Classes:: Marking and unmarking classes 467* Marking Classes:: Marking and unmarking classes
468@end menu 468@end menu
469 469
470 470
@@ -625,17 +625,15 @@ given by a prefix argument.
625Here is an example of a tree buffer with file names displayed. 625Here is an example of a tree buffer with file names displayed.
626 626
627@example 627@example
628| Collection (unknown) 628| Collection (unknown)
629| IndexedCollection (indexedcltn.h) 629| IndexedCollection (indexedcltn.h)
630| Array (array.h) 630| Array (array.h)
631| FixedArray (fixedarray.h) 631| FixedArray (fixedarray.h)
632| Set (set.h) 632| Set (set.h)
633| Dictionary (dict.h) 633| Dictionary (dict.h)
634@end example 634@end example
635 635
636 636
637
638
639@node Expanding and Collapsing, Tree Indentation, File Name Display, Tree Buffers 637@node Expanding and Collapsing, Tree Indentation, File Name Display, Tree Buffers
640@comment node-name, next, previous, up 638@comment node-name, next, previous, up
641@section Expanding and Collapsing a Tree 639@section Expanding and Collapsing a Tree
@@ -818,20 +816,20 @@ like in tree buffers, menus are provided for certain areas in the
818buffer: members, classes, and the buffer itself. 816buffer: members, classes, and the buffer itself.
819 817
820@menu 818@menu
821* Switching Member Lists:: Choosing which members to display 819* Switching Member Lists:: Choosing which members to display
822* Finding/Viewing:: Modifying source code 820* Finding/Viewing:: Modifying source code
823* Inherited Members:: Display of Inherited Members 821* Inherited Members:: Display of Inherited Members
824* Searching Members:: Finding members in member buffer 822* Searching Members:: Finding members in member buffer
825* Switching to Tree:: Going back to the tree buffer 823* Switching to Tree:: Going back to the tree buffer
826* Filters:: Selective member display 824* Filters:: Selective member display
827* Attributes:: Display of @code{virtual} etc. 825* Attributes:: Display of @code{virtual} etc.
828* Long and Short Display:: Comprehensive and verbose display 826* Long and Short Display:: Comprehensive and verbose display
829* Regexp Display:: Showing matching regular expressions 827* Regexp Display:: Showing matching regular expressions
830* Switching Classes:: Displaying another class 828* Switching Classes:: Displaying another class
831* Killing/Burying:: Getting rid of the member buffer 829* Killing/Burying:: Getting rid of the member buffer
832* Column Width:: Display style 830* Column Width:: Display style
833* Redisplay:: Redrawing the member list 831* Redisplay:: Redrawing the member list
834* Getting Help:: How to get help for key bindings 832* Getting Help:: How to get help for key bindings
835@end menu 833@end menu
836 834
837 835
@@ -1234,7 +1232,7 @@ This key is bound to @code{describe-mode}.
1234 1232
1235 1233
1236@comment ************************************************************** 1234@comment **************************************************************
1237@comment *** TAGS LIKE FUNCTIONS 1235@comment *** TAGS LIKE FUNCTIONS
1238@comment ************************************************************** 1236@comment **************************************************************
1239 1237
1240@node Tags-like Functions, GNU Free Documentation License, Member Buffers, Top 1238@node Tags-like Functions, GNU Free Documentation License, Member Buffers, Top
@@ -1245,14 +1243,14 @@ Ebrowse provides tags functions similar to those of the standard
1245Emacs Tags facility, but better suited to the needs of C++ programmers. 1243Emacs Tags facility, but better suited to the needs of C++ programmers.
1246 1244
1247@menu 1245@menu
1248* Finding and Viewing:: Going to a member declaration/definition 1246* Finding and Viewing:: Going to a member declaration/definition
1249* Position Stack:: Moving to previous locations 1247* Position Stack:: Moving to previous locations
1250* Search & Replace:: Searching and replacing over class tree files 1248* Search & Replace:: Searching and replacing over class tree files
1251* Members in Files:: Listing all members in a given file 1249* Members in Files:: Listing all members in a given file
1252* Apropos:: Listing members matching a regular expression 1250* Apropos:: Listing members matching a regular expression
1253* Symbol Completion:: Completing names while editing 1251* Symbol Completion:: Completing names while editing
1254* Member Buffer Display:: Quickly display a member buffer for some 1252* Member Buffer Display:: Quickly display a member buffer for some
1255 identifier 1253 identifier
1256@end menu 1254@end menu
1257 1255
1258 1256
diff --git a/doc/misc/ede.texi b/doc/misc/ede.texi
index ace3c25914d..7e1d6c7907a 100644
--- a/doc/misc/ede.texi
+++ b/doc/misc/ede.texi
@@ -5,8 +5,8 @@
5@copying 5@copying
6This file describes EDE, the Emacs Development Environment. 6This file describes EDE, the Emacs Development Environment.
7 7
8Copyright @copyright{} 1998, 1999, 2000, 2001, 2004, 2005, 2008, 2009, 2010 8Copyright @copyright{} 1998, 1999, 2000, 2001, 2004, 2005, 2008, 2009,
9Free Software Foundation, Inc. 92010 Free Software Foundation, Inc.
10 10
11@quotation 11@quotation
12Permission is granted to copy, distribute and/or modify this document 12Permission is granted to copy, distribute and/or modify this document
@@ -24,7 +24,7 @@ developing GNU and promoting software freedom.''
24 24
25@dircategory Emacs 25@dircategory Emacs
26@direntry 26@direntry
27* ede: (ede). Project management for Emacs 27* ede: (ede). Project management for Emacs.
28@end direntry 28@end direntry
29 29
30@titlepage 30@titlepage
@@ -404,8 +404,8 @@ lookup for @semantic{}, improving code completion performance.
404@menu 404@menu
405* ede-cpp-root:: This project marks the root of a C/C++ code project. 405* ede-cpp-root:: This project marks the root of a C/C++ code project.
406* ede-simple subclassing:: Create your own simple project. 406* ede-simple subclassing:: Create your own simple project.
407* ede-emacs:: A project for working with Emacs. 407* ede-emacs:: A project for working with Emacs.
408* ede-linux:: A project for working with Linux kernels. 408* ede-linux:: A project for working with Linux kernels.
409* Custom Locate:: Customizing how to locate files in a simple project 409* Custom Locate:: Customizing how to locate files in a simple project
410@end menu 410@end menu
411 411
@@ -525,14 +525,14 @@ Return nil if there isn't one."
525 ) 525 )
526 526
527(add-to-list 'ede-project-class-files 527(add-to-list 'ede-project-class-files
528 (ede-project-autoload "cpp-root" 528 (ede-project-autoload "cpp-root"
529 :name "CPP ROOT" 529 :name "CPP ROOT"
530 :file 'ede-cpp-root 530 :file 'ede-cpp-root
531 :proj-file 'MY-FILE-FOR-DIR 531 :proj-file 'MY-FILE-FOR-DIR
532 :proj-root 'MY-ROOT-FCN 532 :proj-root 'MY-ROOT-FCN
533 :load-type 'MY-LOAD 533 :load-type 'MY-LOAD
534 :class-sym 'ede-cpp-root) 534 :class-sym 'ede-cpp-root)
535 t) 535 t)
536@end example 536@end example
537 537
538This example only creates an auto-loader, and does not create a new kind 538This example only creates an auto-loader, and does not create a new kind
@@ -751,9 +751,9 @@ Here is an example for an instantiation of an Emacs Lisp source code object:
751@example 751@example
752(defvar ede-source-emacs 752(defvar ede-source-emacs
753 (ede-sourcecode "ede-emacs-source" 753 (ede-sourcecode "ede-emacs-source"
754 :name "Emacs Lisp" 754 :name "Emacs Lisp"
755 :sourcepattern "\\.el$" 755 :sourcepattern "\\.el$"
756 :garbagepattern '("*.elc")) 756 :garbagepattern '("*.elc"))
757 "Emacs Lisp source code definition.") 757 "Emacs Lisp source code definition.")
758@end example 758@end example
759 759
diff --git a/doc/misc/edt.texi b/doc/misc/edt.texi
index a93aada07a1..d394137d76b 100644
--- a/doc/misc/edt.texi
+++ b/doc/misc/edt.texi
@@ -25,7 +25,7 @@ developing GNU and promoting software freedom.''
25 25
26@dircategory Emacs 26@dircategory Emacs
27@direntry 27@direntry
28* EDT: (edt). An Emacs emulation of the EDT editor. 28* EDT: (edt). An Emacs emulation of the EDT editor.
29@end direntry 29@end direntry
30 30
31@titlepage 31@titlepage
diff --git a/doc/misc/eieio.texi b/doc/misc/eieio.texi
index b5567f3a489..169e52c1bd0 100644
--- a/doc/misc/eieio.texi
+++ b/doc/misc/eieio.texi
@@ -29,7 +29,7 @@ developing GNU and promoting software freedom.''
29 29
30@dircategory Emacs 30@dircategory Emacs
31@direntry 31@direntry
32* eieio: (eieio). Objects for Emacs 32* eieio: (eieio). Objects for Emacs.
33@end direntry 33@end direntry
34 34
35@titlepage 35@titlepage
@@ -295,8 +295,8 @@ This option is here to support programs written with older versions of
295 295
296@menu 296@menu
297* Inheritance:: How to specify parents classes 297* Inheritance:: How to specify parents classes
298* Slot Options:: How to specify features of a slot. 298* Slot Options:: How to specify features of a slot.
299* Class Options:: How to specify features for this class. 299* Class Options:: How to specify features for this class.
300@end menu 300@end menu
301 301
302@node Inheritance 302@node Inheritance
diff --git a/doc/misc/emacs-mime.texi b/doc/misc/emacs-mime.texi
index 0ce94bfcf69..713a55c7cc7 100644
--- a/doc/misc/emacs-mime.texi
+++ b/doc/misc/emacs-mime.texi
@@ -31,7 +31,7 @@ developing GNU and promoting software freedom.''
31 31
32@dircategory Emacs 32@dircategory Emacs
33@direntry 33@direntry
34* Emacs MIME: (emacs-mime). Emacs MIME de/composition library. 34* Emacs MIME: (emacs-mime). Emacs MIME de/composition library.
35@end direntry 35@end direntry
36@iftex 36@iftex
37@finalout 37@finalout
diff --git a/doc/misc/epa.texi b/doc/misc/epa.texi
index b02e41e914b..f9c48b1588a 100644
--- a/doc/misc/epa.texi
+++ b/doc/misc/epa.texi
@@ -33,7 +33,7 @@ license to the document, as described in section 6 of the license.
33 33
34@dircategory Emacs 34@dircategory Emacs
35@direntry 35@direntry
36* EasyPG Assistant: (epa). An Emacs user interface to GNU Privacy Guard. 36* EasyPG Assistant: (epa). An Emacs user interface to GNU Privacy Guard.
37@end direntry 37@end direntry
38 38
39@titlepage 39@titlepage
@@ -142,15 +142,15 @@ about the key you selected.
142@example 142@example
143 u Daiki Ueno <ueno@@unixuser.org> 143 u Daiki Ueno <ueno@@unixuser.org>
144 u A5B6B2D4B15813FE 1024bits DSA 144 u A5B6B2D4B15813FE 1024bits DSA
145 Created: 2001-10-09 145 Created: 2001-10-09
146 Expires: 2007-09-04 146 Expires: 2007-09-04
147 Capabilities: sign certify 147 Capabilities: sign certify
148 Fingerprint: 8003 7CD0 0F1A 9400 03CA 50AA A5B6 B2D4 B158 13FE 148 Fingerprint: 8003 7CD0 0F1A 9400 03CA 50AA A5B6 B2D4 B158 13FE
149 u 4447461B2A9BEA2D 2048bits ELGAMAL_E 149 u 4447461B2A9BEA2D 2048bits ELGAMAL_E
150 Created: 2001-10-09 150 Created: 2001-10-09
151 Expires: 2007-09-04 151 Expires: 2007-09-04
152 Capabilities: encrypt 152 Capabilities: encrypt
153 Fingerprint: 9003 D76B 73B7 4A8A E588 10AF 4447 461B 2A9B EA2D 153 Fingerprint: 9003 D76B 73B7 4A8A E588 10AF 4447 461B 2A9B EA2D
154@end example 154@end example
155 155
156@noindent 156@noindent
diff --git a/doc/misc/erc.texi b/doc/misc/erc.texi
index 537a34b6d68..1c547bf80e5 100644
--- a/doc/misc/erc.texi
+++ b/doc/misc/erc.texi
@@ -8,7 +8,8 @@
8@copying 8@copying
9This manual is for ERC version 5.3. 9This manual is for ERC version 5.3.
10 10
11Copyright @copyright{} 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 11Copyright @copyright{} 2005, 2006, 2007, 2008, 2009, 2010
12Free Software Foundation, Inc.
12 13
13@quotation 14@quotation
14Permission is granted to copy, distribute and/or modify this document 15Permission is granted to copy, distribute and/or modify this document
@@ -29,7 +30,7 @@ and modified without restriction.
29 30
30@dircategory Emacs 31@dircategory Emacs
31@direntry 32@direntry
32* ERC: (erc). Powerful, modular, and extensible IRC client for Emacs. 33* ERC: (erc). Powerful and extensible IRC client for Emacs.
33@end direntry 34@end direntry
34 35
35@titlepage 36@titlepage
diff --git a/doc/misc/eshell.texi b/doc/misc/eshell.texi
index 96825559197..6ec431dccfd 100644
--- a/doc/misc/eshell.texi
+++ b/doc/misc/eshell.texi
@@ -8,8 +8,8 @@
8@copying 8@copying
9This manual is for Eshell, the Emacs shell. 9This manual is for Eshell, the Emacs shell.
10 10
11Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 11Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
122005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 122007, 2008, 2009, 2010 Free Software Foundation, Inc.
13 13
14@quotation 14@quotation
15Permission is granted to copy, distribute and/or modify this document 15Permission is granted to copy, distribute and/or modify this document
@@ -27,7 +27,7 @@ developing GNU and promoting software freedom.''
27 27
28@dircategory Emacs 28@dircategory Emacs
29@direntry 29@direntry
30* Eshell: (eshell). A command shell implemented in Emacs Lisp. 30* Eshell: (eshell). A command shell implemented in Emacs Lisp.
31@end direntry 31@end direntry
32 32
33@titlepage 33@titlepage
diff --git a/doc/misc/eudc.texi b/doc/misc/eudc.texi
index 09d7f5cb5a8..48606e0d664 100644
--- a/doc/misc/eudc.texi
+++ b/doc/misc/eudc.texi
@@ -31,7 +31,7 @@ developing GNU and promoting software freedom.''
31 31
32@dircategory Emacs 32@dircategory Emacs
33@direntry 33@direntry
34* EUDC: (eudc). An Emacs client for directory servers (LDAP, PH). 34* EUDC: (eudc). Emacs client for directory servers (LDAP, PH).
35@end direntry 35@end direntry
36 36
37@footnotestyle end 37@footnotestyle end
diff --git a/doc/misc/faq.texi b/doc/misc/faq.texi
index 924240aeb53..f4dc0247197 100644
--- a/doc/misc/faq.texi
+++ b/doc/misc/faq.texi
@@ -41,7 +41,7 @@ distribution.]
41 41
42@dircategory Emacs 42@dircategory Emacs
43@direntry 43@direntry
44* Emacs FAQ: (efaq). Frequently Asked Questions about Emacs. 44* Emacs FAQ: (efaq). Frequently Asked Questions about Emacs.
45@end direntry 45@end direntry
46 46
47@c The @titlepage stuff only appears in the printed version 47@c The @titlepage stuff only appears in the printed version
diff --git a/doc/misc/flymake.texi b/doc/misc/flymake.texi
index 764c6481641..0606fcc134d 100644
--- a/doc/misc/flymake.texi
+++ b/doc/misc/flymake.texi
@@ -11,8 +11,8 @@
11This manual is for GNU Flymake (version @value{VERSION}, @value{UPDATED}), 11This manual is for GNU Flymake (version @value{VERSION}, @value{UPDATED}),
12which is a universal on-the-fly syntax checker for GNU Emacs. 12which is a universal on-the-fly syntax checker for GNU Emacs.
13 13
14Copyright @copyright{} 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software 14Copyright @copyright{} 2004, 2005, 2006, 2007, 2008, 2009, 2010
15Foundation, Inc. 15Free Software Foundation, Inc.
16 16
17@quotation 17@quotation
18Permission is granted to copy, distribute and/or modify this document 18Permission is granted to copy, distribute and/or modify this document
@@ -30,7 +30,7 @@ developing GNU and promoting software freedom.''
30 30
31@dircategory Emacs 31@dircategory Emacs
32@direntry 32@direntry
33* Flymake: (flymake). A universal on-the-fly syntax checker. 33* Flymake: (flymake). A universal on-the-fly syntax checker.
34@end direntry 34@end direntry
35 35
36@titlepage 36@titlepage
@@ -409,7 +409,7 @@ First, we write the @code{init-function}:
409(defun flymake-perl-init () 409(defun flymake-perl-init ()
410 (let* ((temp-file (flymake-init-create-temp-buffer-copy 410 (let* ((temp-file (flymake-init-create-temp-buffer-copy
411 'flymake-create-temp-inplace)) 411 'flymake-create-temp-inplace))
412 (local-file (file-relative-name 412 (local-file (file-relative-name
413 temp-file 413 temp-file
414 (file-name-directory buffer-file-name)))) 414 (file-name-directory buffer-file-name))))
415 (list "perl" (list "-wc " local-file)))) 415 (list "perl" (list "-wc " local-file))))
diff --git a/doc/misc/forms.texi b/doc/misc/forms.texi
index 614844fd6c2..a7779763c3f 100644
--- a/doc/misc/forms.texi
+++ b/doc/misc/forms.texi
@@ -1,4 +1,4 @@
1\input texinfo @c -*-texinfo-*- 1\input texinfo @c -*-texinfo-*-
2@c documentation for forms-mode 2@c documentation for forms-mode
3@c Written by Johan Vromans, and edited by Richard Stallman 3@c Written by Johan Vromans, and edited by Richard Stallman
4 4
@@ -37,8 +37,8 @@ developing GNU and promoting software freedom.''
37 37
38@dircategory Emacs 38@dircategory Emacs
39@direntry 39@direntry
40* Forms: (forms). Emacs package for editing data bases 40* Forms: (forms). Emacs package for editing data bases
41 by filling in forms. 41 by filling in forms.
42@end direntry 42@end direntry
43 43
44@titlepage 44@titlepage
diff --git a/doc/misc/gnus-faq.texi b/doc/misc/gnus-faq.texi
index 2b3c0aa5e25..78a22740e32 100644
--- a/doc/misc/gnus-faq.texi
+++ b/doc/misc/gnus-faq.texi
@@ -1,8 +1,8 @@
1@c \input texinfo @c -*-texinfo-*- 1@c \input texinfo @c -*-texinfo-*-
2@c Uncomment 1st line before texing this file alone. 2@c Uncomment 1st line before texing this file alone.
3@c %**start of header 3@c %**start of header
4@c Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 4@c Copyright (C) 1995, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
5@c 2008, 2009, 2010 Free Software Foundation, Inc. 5@c 2009, 2010 Free Software Foundation, Inc.
6@c 6@c
7@c Do not modify this file, it was generated from gnus-faq.xml, available from 7@c Do not modify this file, it was generated from gnus-faq.xml, available from
8@c <URL:http://my.gnus.org/FAQ/>. 8@c <URL:http://my.gnus.org/FAQ/>.
@@ -550,7 +550,7 @@ want something different, change the line above to something like this:
550@example 550@example
551(add-to-list 'gnus-secondary-select-methods 551(add-to-list 'gnus-secondary-select-methods
552 '(nnspool "" 552 '(nnspool ""
553 (nnspool-directory "/usr/local/myspoolddir"))) 553 (nnspool-directory "/usr/local/myspoolddir")))
554@end example 554@end example
555@noindent 555@noindent
556 556
@@ -635,8 +635,8 @@ mail, it's
635@example 635@example
636(eval-after-load "mail-source" 636(eval-after-load "mail-source"
637 '(add-to-list 'mail-sources 637 '(add-to-list 'mail-sources
638 '(directory :path "/path/to/procmail-dir/" 638 '(directory :path "/path/to/procmail-dir/"
639 :suffix ".prcml"))) 639 :suffix ".prcml")))
640@end example 640@end example
641@noindent 641@noindent
642 642
@@ -691,10 +691,10 @@ about the server there.
691 691
692@example 692@example
693(add-to-list 'gnus-secondary-select-methods 693(add-to-list 'gnus-secondary-select-methods
694 '(nnimap "Give the baby a name" 694 '(nnimap "Give the baby a name"
695 (nnimap-address "imap.yourProvider.net") 695 (nnimap-address "imap.yourProvider.net")
696 (nnimap-port 143) 696 (nnimap-port 143)
697 (nnimap-list-pattern "archive.*"))) 697 (nnimap-list-pattern "archive.*")))
698@end example 698@end example
699@noindent 699@noindent
700 700
@@ -874,7 +874,7 @@ say this in ~/.gnus.el:
874@example 874@example
875(setq gnus-visible-headers 875(setq gnus-visible-headers
876 '("^From" "^Subject" "^Date" "^Newsgroups" "^Followup-To" 876 '("^From" "^Subject" "^Date" "^Newsgroups" "^Followup-To"
877 "^User-Agent" "^X-Newsreader" "^X-Mailer")) 877 "^User-Agent" "^X-Newsreader" "^X-Mailer"))
878@end example 878@end example
879@noindent 879@noindent
880 880
@@ -1099,18 +1099,18 @@ buffer top-right, article buffer bottom-right:
1099(gnus-add-configuration 1099(gnus-add-configuration
1100 '(article 1100 '(article
1101 (horizontal 1.0 1101 (horizontal 1.0
1102 (vertical 25 1102 (vertical 25
1103 (group 1.0)) 1103 (group 1.0))
1104 (vertical 1.0 1104 (vertical 1.0
1105 (summary 0.25 point) 1105 (summary 0.25 point)
1106 (article 1.0))))) 1106 (article 1.0)))))
1107(gnus-add-configuration 1107(gnus-add-configuration
1108 '(summary 1108 '(summary
1109 (horizontal 1.0 1109 (horizontal 1.0
1110 (vertical 25 1110 (vertical 25
1111 (group 1.0)) 1111 (group 1.0))
1112 (vertical 1.0 1112 (vertical 1.0
1113 (summary 1.0 point))))) 1113 (summary 1.0 point)))))
1114@end example 1114@end example
1115@noindent 1115@noindent
1116 1116
@@ -1480,7 +1480,7 @@ You can store your mail addresses in a ~/.mailrc file using a simple
1480alias syntax: 1480alias syntax:
1481 1481
1482@example 1482@example
1483alias al "Al <al@@english-heritage.invalid>" 1483alias al "Al <al@@english-heritage.invalid>"
1484@end example 1484@end example
1485@noindent 1485@noindent
1486 1486
@@ -1644,9 +1644,9 @@ the group to use.
1644 1644
1645@example 1645@example
1646(setq gnus-message-archive-group 1646(setq gnus-message-archive-group
1647 '((if (message-news-p) 1647 '((if (message-news-p)
1648 "nnml:Send-News" 1648 "nnml:Send-News"
1649 "nnml:Send-Mail"))) 1649 "nnml:Send-Mail")))
1650@end example 1650@end example
1651@noindent 1651@noindent
1652 1652
diff --git a/doc/misc/gnus.texi b/doc/misc/gnus.texi
index 3ef173c8db0..c3a7058289d 100644
--- a/doc/misc/gnus.texi
+++ b/doc/misc/gnus.texi
@@ -322,7 +322,7 @@ developing GNU and promoting software freedom.''
322 322
323@dircategory Emacs 323@dircategory Emacs
324@direntry 324@direntry
325* Gnus: (gnus). The newsreader Gnus. 325* Gnus: (gnus). The newsreader Gnus.
326@end direntry 326@end direntry
327@iftex 327@iftex
328@finalout 328@finalout
diff --git a/doc/misc/idlwave.texi b/doc/misc/idlwave.texi
index 94a2c2c6db7..0618f110c30 100644
--- a/doc/misc/idlwave.texi
+++ b/doc/misc/idlwave.texi
@@ -41,7 +41,7 @@ developing GNU and promoting software freedom.''
41 41
42@dircategory Emacs 42@dircategory Emacs
43@direntry 43@direntry
44* IDLWAVE: (idlwave). Major mode and shell for IDL files. 44* IDLWAVE: (idlwave). Major mode and shell for IDL files.
45@end direntry 45@end direntry
46 46
47@titlepage 47@titlepage
diff --git a/doc/misc/info.texi b/doc/misc/info.texi
index b1157c0c4eb..97cc17812e4 100644
--- a/doc/misc/info.texi
+++ b/doc/misc/info.texi
@@ -40,7 +40,7 @@ license to the document, as described in section 6 of the license.
40 40
41@dircategory Texinfo documentation system 41@dircategory Texinfo documentation system
42@direntry 42@direntry
43* Info: (info). How to use the documentation browsing system. 43* Info: (info). How to use the documentation browsing system.
44@end direntry 44@end direntry
45 45
46@titlepage 46@titlepage
diff --git a/doc/misc/mairix-el.texi b/doc/misc/mairix-el.texi
index b08d5d8e316..578164e8e57 100644
--- a/doc/misc/mairix-el.texi
+++ b/doc/misc/mairix-el.texi
@@ -24,7 +24,7 @@ developing GNU and promoting software freedom.''
24 24
25@dircategory Emacs 25@dircategory Emacs
26@direntry 26@direntry
27* Mairix: (mairix-el). Emacs interface to the Mairix mail indexer. 27* Mairix: (mairix-el). Emacs interface to the Mairix mail indexer.
28@end direntry 28@end direntry
29 29
30@titlepage 30@titlepage
diff --git a/doc/misc/message.texi b/doc/misc/message.texi
index 1667c5ca503..283d29c0de4 100644
--- a/doc/misc/message.texi
+++ b/doc/misc/message.texi
@@ -27,7 +27,8 @@ developing GNU and promoting software freedom.''
27 27
28@dircategory Emacs 28@dircategory Emacs
29@direntry 29@direntry
30* Message: (message). Mail and news composition mode that goes with Gnus. 30* Message: (message). Mail and news composition mode that
31 goes with Gnus.
31@end direntry 32@end direntry
32@iftex 33@iftex
33@finalout 34@finalout
diff --git a/doc/misc/mh-e.texi b/doc/misc/mh-e.texi
index f7a46778c96..ed64f91ac39 100644
--- a/doc/misc/mh-e.texi
+++ b/doc/misc/mh-e.texi
@@ -24,8 +24,8 @@
24This is version @value{VERSION}@value{EDITION} of @cite{The MH-E 24This is version @value{VERSION}@value{EDITION} of @cite{The MH-E
25Manual}, last updated @value{UPDATED}. 25Manual}, last updated @value{UPDATED}.
26 26
27Copyright @copyright{} 1995, 2001, 2002, 2003, 2005, 2006, 2007, 2008, 2009, 2010 27Copyright @copyright{} 1995, 2001, 2002, 2003, 2005, 2006, 2007, 2008,
28Free Software Foundation, Inc. 28 2009, 2010 Free Software Foundation, Inc.
29 29
30@c This dual license has been agreed upon by the FSF. 30@c This dual license has been agreed upon by the FSF.
31 31
@@ -58,7 +58,7 @@ Public License.''
58@c Info Directory Entry 58@c Info Directory Entry
59@dircategory Emacs 59@dircategory Emacs
60@direntry 60@direntry
61* MH-E: (mh-e). Emacs interface to the MH mail system. 61* MH-E: (mh-e). Emacs interface to the MH mail system.
62@end direntry 62@end direntry
63 63
64@c Title Page 64@c Title Page
@@ -7767,7 +7767,7 @@ will need to run @samp{sa-learn --rebuild} periodically. This can be
7767done by adding the following to your @file{crontab}: 7767done by adding the following to your @file{crontab}:
7768 7768
7769@smallexample 7769@smallexample
77700 * * * * sa-learn --rebuild > /dev/null 2>&1 77700 * * * * sa-learn --rebuild > /dev/null 2>&1
7771@end smallexample 7771@end smallexample
7772 7772
7773@subheading Bogofilter 7773@subheading Bogofilter
diff --git a/doc/misc/newsticker.texi b/doc/misc/newsticker.texi
index 926885b7e13..5c975772139 100644
--- a/doc/misc/newsticker.texi
+++ b/doc/misc/newsticker.texi
@@ -32,7 +32,7 @@ developing GNU and promoting software freedom.''
32 32
33@dircategory Emacs 33@dircategory Emacs
34@direntry 34@direntry
35* Newsticker: (newsticker). A Newsticker for Emacs. 35* Newsticker: (newsticker). A Newsticker for Emacs.
36@end direntry 36@end direntry
37 37
38@titlepage 38@titlepage
diff --git a/doc/misc/nxml-mode.texi b/doc/misc/nxml-mode.texi
index c1ea64fe9a9..593bf92d00a 100644
--- a/doc/misc/nxml-mode.texi
+++ b/doc/misc/nxml-mode.texi
@@ -187,7 +187,7 @@ and the buffer showing possible completions will contain
187 187
188@example 188@example
189Possible completions are: 189Possible completions are:
190xml:lang xmlns 190xml:lang xmlns
191@end example 191@end example
192 192
193@noindent 193@noindent
@@ -520,7 +520,7 @@ enough.
520 520
521If you want to use a schema that has not yet been added to the 521If you want to use a schema that has not yet been added to the
522schema locating files, you can use the command @kbd{C-c C-s C-f} 522schema locating files, you can use the command @kbd{C-c C-s C-f}
523to manually select the file contaiing the schema for the document in 523to manually select the file containing the schema for the document in
524current buffer. Emacs will read the file-name of the schema from the 524current buffer. Emacs will read the file-name of the schema from the
525minibuffer. After reading the file-name, Emacs will ask whether you 525minibuffer. After reading the file-name, Emacs will ask whether you
526wish to add a rule to a schema locating file that persistently 526wish to add a rule to a schema locating file that persistently
diff --git a/doc/misc/org.texi b/doc/misc/org.texi
index c4285d59f27..9074f171e4b 100644
--- a/doc/misc/org.texi
+++ b/doc/misc/org.texi
@@ -1,10 +1,16 @@
1
1\input texinfo 2\input texinfo
2@c %**start of header 3@c %**start of header
3@setfilename ../../info/org 4@setfilename ../../info/org
4@settitle The Org Manual 5@settitle The Org Manual
5 6
6@set VERSION 6.35i 7@set VERSION 7.01
7@set DATE April 2010 8@set DATE July 2010
9
10@c Use proper quote and backtick for code sections in PDF output
11@c Cf. Texinfo manual 14.2
12@set txicodequoteundirected
13@set txicodequotebacktick
8 14
9@c Version and Contact Info 15@c Version and Contact Info
10@set MAINTAINERSITE @uref{http://orgmode.org,maintainers webpage} 16@set MAINTAINERSITE @uref{http://orgmode.org,maintainers webpage}
@@ -76,6 +82,7 @@ license to the document, as described in section 6 of the license.
76 82
77@subtitle Release @value{VERSION} 83@subtitle Release @value{VERSION}
78@author by Carsten Dominik 84@author by Carsten Dominik
85with contributions by David O'Toole, Bastien Guerry, Philip Rooke, Dan Davison, Eric Schulte, and Thomas Dye
79 86
80@c The following two commands start the copyright page. 87@c The following two commands start the copyright page.
81@page 88@page
@@ -94,347 +101,400 @@ license to the document, as described in section 6 of the license.
94@end ifnottex 101@end ifnottex
95 102
96@menu 103@menu
97* Introduction:: Getting started 104* Introduction:: Getting started
98* Document Structure:: A tree works like your brain 105* Document Structure:: A tree works like your brain
99* Tables:: Pure magic for quick formatting 106* Tables:: Pure magic for quick formatting
100* Hyperlinks:: Notes in context 107* Hyperlinks:: Notes in context
101* TODO Items:: Every tree branch can be a TODO item 108* TODO Items:: Every tree branch can be a TODO item
102* Tags:: Tagging headlines and matching sets of tags 109* Tags:: Tagging headlines and matching sets of tags
103* Properties and Columns:: Storing information about an entry 110* Properties and Columns:: Storing information about an entry
104* Dates and Times:: Making items useful for planning 111* Dates and Times:: Making items useful for planning
105* Capture - Refile - Archive:: The ins and outs for projects 112* Capture - Refile - Archive:: The ins and outs for projects
106* Agenda Views:: Collecting information into views 113* Agenda Views:: Collecting information into views
107* Markup:: Prepare text for rich export 114* Markup:: Prepare text for rich export
108* Exporting:: Sharing and publishing of notes 115* Exporting:: Sharing and publishing of notes
109* Publishing:: Create a web site of linked Org files 116* Publishing:: Create a web site of linked Org files
110* Miscellaneous:: All the rest which did not fit elsewhere 117* Working With Source Code:: Export, evaluate, and tangle code blocks
111* Hacking:: How to hack your way around 118* Miscellaneous:: All the rest which did not fit elsewhere
112* MobileOrg:: Viewing and capture on a mobile device 119* Hacking:: How to hack your way around
113* History and Acknowledgments:: How Org came into being 120* MobileOrg:: Viewing and capture on a mobile device
114* Main Index:: An index of Org's concepts and features 121* History and Acknowledgments:: How Org came into being
115* Key Index:: Key bindings and where they are described 122* Main Index:: An index of Org's concepts and features
116* Variable Index:: Variables mentioned in the manual 123* Key Index:: Key bindings and where they are described
124* Variable Index:: Variables mentioned in the manual
117 125
118@detailmenu 126@detailmenu
119 --- The Detailed Node Listing --- 127 --- The Detailed Node Listing ---
120 128
121Introduction 129Introduction
122 130
123* Summary:: Brief summary of what Org does 131* Summary:: Brief summary of what Org does
124* Installation:: How to install a downloaded version of Org 132* Installation:: How to install a downloaded version of Org
125* Activation:: How to activate Org for certain buffers 133* Activation:: How to activate Org for certain buffers
126* Feedback:: Bug reports, ideas, patches etc. 134* Feedback:: Bug reports, ideas, patches etc.
127* Conventions:: Type-setting conventions in the manual 135* Conventions:: Type-setting conventions in the manual
128 136
129Document Structure 137Document structure
130 138
131* Outlines:: Org is based on Outline mode 139* Outlines:: Org is based on Outline mode
132* Headlines:: How to typeset Org tree headlines 140* Headlines:: How to typeset Org tree headlines
133* Visibility cycling:: Show and hide, much simplified 141* Visibility cycling:: Show and hide, much simplified
134* Motion:: Jumping to other headlines 142* Motion:: Jumping to other headlines
135* Structure editing:: Changing sequence and level of headlines 143* Structure editing:: Changing sequence and level of headlines
136* Sparse trees:: Matches embedded in context 144* Sparse trees:: Matches embedded in context
137* Plain lists:: Additional structure within an entry 145* Plain lists:: Additional structure within an entry
138* Drawers:: Tucking stuff away 146* Drawers:: Tucking stuff away
139* Blocks:: Folding blocks 147* Blocks:: Folding blocks
140* Footnotes:: How footnotes are defined in Org's syntax 148* Footnotes:: How footnotes are defined in Org's syntax
141* Orgstruct mode:: Structure editing outside Org 149* Orgstruct mode:: Structure editing outside Org
142 150
143Tables 151Tables
144 152
145* Built-in table editor:: Simple tables 153* Built-in table editor:: Simple tables
146* Column width and alignment:: Overrule the automatic settings 154* Column width and alignment:: Overrule the automatic settings
147* Column groups:: Grouping to trigger vertical lines 155* Column groups:: Grouping to trigger vertical lines
148* Orgtbl mode:: The table editor as minor mode 156* Orgtbl mode:: The table editor as minor mode
149* The spreadsheet:: The table editor has spreadsheet capabilities 157* The spreadsheet:: The table editor has spreadsheet capabilities
150* Org-Plot:: Plotting from org tables 158* Org-Plot:: Plotting from org tables
151 159
152The spreadsheet 160The spreadsheet
153 161
154* References:: How to refer to another field or range 162* References:: How to refer to another field or range
155* Formula syntax for Calc:: Using Calc to compute stuff 163* Formula syntax for Calc:: Using Calc to compute stuff
156* Formula syntax for Lisp:: Writing formulas in Emacs Lisp 164* Formula syntax for Lisp:: Writing formulas in Emacs Lisp
157* Field formulas:: Formulas valid for a single field 165* Field formulas:: Formulas valid for a single field
158* Column formulas:: Formulas valid for an entire column 166* Column formulas:: Formulas valid for an entire column
159* Editing and debugging formulas:: Fixing formulas 167* Editing and debugging formulas:: Fixing formulas
160* Updating the table:: Recomputing all dependent fields 168* Updating the table:: Recomputing all dependent fields
161* Advanced features:: Field names, parameters and automatic recalc 169* Advanced features:: Field names, parameters and automatic recalc
162 170
163Hyperlinks 171Hyperlinks
164 172
165* Link format:: How links in Org are formatted 173* Link format:: How links in Org are formatted
166* Internal links:: Links to other places in the current file 174* Internal links:: Links to other places in the current file
167* External links:: URL-like links to the world 175* External links:: URL-like links to the world
168* Handling links:: Creating, inserting and following 176* Handling links:: Creating, inserting and following
169* Using links outside Org:: Linking from my C source code? 177* Using links outside Org:: Linking from my C source code?
170* Link abbreviations:: Shortcuts for writing complex links 178* Link abbreviations:: Shortcuts for writing complex links
171* Search options:: Linking to a specific location 179* Search options:: Linking to a specific location
172* Custom searches:: When the default search is not enough 180* Custom searches:: When the default search is not enough
173 181
174Internal links 182Internal links
175 183
176* Radio targets:: Make targets trigger links in plain text 184* Radio targets:: Make targets trigger links in plain text
177 185
178TODO Items 186TODO items
179 187
180* TODO basics:: Marking and displaying TODO entries 188* TODO basics:: Marking and displaying TODO entries
181* TODO extensions:: Workflow and assignments 189* TODO extensions:: Workflow and assignments
182* Progress logging:: Dates and notes for progress 190* Progress logging:: Dates and notes for progress
183* Priorities:: Some things are more important than others 191* Priorities:: Some things are more important than others
184* Breaking down tasks:: Splitting a task into manageable pieces 192* Breaking down tasks:: Splitting a task into manageable pieces
185* Checkboxes:: Tick-off lists 193* Checkboxes:: Tick-off lists
186 194
187Extended use of TODO keywords 195Extended use of TODO keywords
188 196
189* Workflow states:: From TODO to DONE in steps 197* Workflow states:: From TODO to DONE in steps
190* TODO types:: I do this, Fred does the rest 198* TODO types:: I do this, Fred does the rest
191* Multiple sets in one file:: Mixing it all, and still finding your way 199* Multiple sets in one file:: Mixing it all, and still finding your way
192* Fast access to TODO states:: Single letter selection of a state 200* Fast access to TODO states:: Single letter selection of a state
193* Per-file keywords:: Different files, different requirements 201* Per-file keywords:: Different files, different requirements
194* Faces for TODO keywords:: Highlighting states 202* Faces for TODO keywords:: Highlighting states
195* TODO dependencies:: When one task needs to wait for others 203* TODO dependencies:: When one task needs to wait for others
196 204
197Progress logging 205Progress logging
198 206
199* Closing items:: When was this entry marked DONE? 207* Closing items:: When was this entry marked DONE?
200* Tracking TODO state changes:: When did the status change? 208* Tracking TODO state changes:: When did the status change?
201* Tracking your habits:: How consistent have you been? 209* Tracking your habits:: How consistent have you been?
202 210
203Tags 211Tags
204 212
205* Tag inheritance:: Tags use the tree structure of the outline 213* Tag inheritance:: Tags use the tree structure of the outline
206* Setting tags:: How to assign tags to a headline 214* Setting tags:: How to assign tags to a headline
207* Tag searches:: Searching for combinations of tags 215* Tag searches:: Searching for combinations of tags
208 216
209Properties and Columns 217Properties and columns
210 218
211* Property syntax:: How properties are spelled out 219* Property syntax:: How properties are spelled out
212* Special properties:: Access to other Org mode features 220* Special properties:: Access to other Org-mode features
213* Property searches:: Matching property values 221* Property searches:: Matching property values
214* Property inheritance:: Passing values down the tree 222* Property inheritance:: Passing values down the tree
215* Column view:: Tabular viewing and editing 223* Column view:: Tabular viewing and editing
216* Property API:: Properties for Lisp programmers 224* Property API:: Properties for Lisp programmers
217 225
218Column view 226Column view
219 227
220* Defining columns:: The COLUMNS format property 228* Defining columns:: The COLUMNS format property
221* Using column view:: How to create and use column view 229* Using column view:: How to create and use column view
222* Capturing column view:: A dynamic block for column view 230* Capturing column view:: A dynamic block for column view
223 231
224Defining columns 232Defining columns
225 233
226* Scope of column definitions:: Where defined, where valid? 234* Scope of column definitions:: Where defined, where valid?
227* Column attributes:: Appearance and content of a column 235* Column attributes:: Appearance and content of a column
228 236
229Dates and Times 237Dates and times
230 238
231* Timestamps:: Assigning a time to a tree entry 239* Timestamps:: Assigning a time to a tree entry
232* Creating timestamps:: Commands which insert timestamps 240* Creating timestamps:: Commands which insert timestamps
233* Deadlines and scheduling:: Planning your work 241* Deadlines and scheduling:: Planning your work
234* Clocking work time:: Tracking how long you spend on a task 242* Clocking work time:: Tracking how long you spend on a task
235* Resolving idle time:: Resolving time if you've been idle 243* Resolving idle time:: Resolving time if you've been idle
236* Effort estimates:: Planning work effort in advance 244* Effort estimates:: Planning work effort in advance
237* Relative timer:: Notes with a running timer 245* Relative timer:: Notes with a running timer
238 246
239Creating timestamps 247Creating timestamps
240 248
241* The date/time prompt:: How Org mode helps you entering date and time 249* The date/time prompt:: How Org-mode helps you entering date and time
242* Custom time format:: Making dates look different 250* Custom time format:: Making dates look different
243 251
244Deadlines and scheduling 252Deadlines and scheduling
245 253
246* Inserting deadline/schedule:: Planning items 254* Inserting deadline/schedule:: Planning items
247* Repeated tasks:: Items that show up again and again 255* Repeated tasks:: Items that show up again and again
248 256
249Capture - Refile - Archive 257Capture - Refile - Archive
250 258
251* Remember:: Capture new tasks/ideas with little interruption 259* Capture:: Capturing new stuff
252* Attachments:: Add files to tasks. 260* Attachments:: Add files to tasks
253* RSS Feeds:: Getting input from RSS feeds 261* RSS Feeds:: Getting input from RSS feeds
254* Protocols:: External (e.g. Browser) access to Emacs and Org 262* Protocols:: External (e.g. Browser) access to Emacs and Org
255* Refiling notes:: Moving a tree from one place to another 263* Refiling notes:: Moving a tree from one place to another
256* Archiving:: What to do with finished projects 264* Archiving:: What to do with finished projects
265
266Capture
257 267
258Remember 268* Setting up capture:: Where notes will be stored
269* Using capture:: Commands to invoke and terminate capture
270* Capture templates:: Define the outline of different note types
259 271
260* Setting up Remember for Org:: Some code for .emacs to get things going 272Capture templates
261* Remember templates:: Define the outline of different note types 273
262* Storing notes:: Directly get the note to where it belongs 274* Template elements:: What is needed for a complete template entry
275* Template expansion:: Filling in information about time and context
263 276
264Archiving 277Archiving
265 278
266* Moving subtrees:: Moving a tree to an archive file 279* Moving subtrees:: Moving a tree to an archive file
267* Internal archiving:: Switch off a tree but keep i in the file 280* Internal archiving:: Switch off a tree but keep it in the file
268 281
269Agenda Views 282Agenda views
270 283
271* Agenda files:: Files being searched for agenda information 284* Agenda files:: Files being searched for agenda information
272* Agenda dispatcher:: Keyboard access to agenda views 285* Agenda dispatcher:: Keyboard access to agenda views
273* Built-in agenda views:: What is available out of the box? 286* Built-in agenda views:: What is available out of the box?
274* Presentation and sorting:: How agenda items are prepared for display 287* Presentation and sorting:: How agenda items are prepared for display
275* Agenda commands:: Remote editing of Org trees 288* Agenda commands:: Remote editing of Org trees
276* Custom agenda views:: Defining special searches and views 289* Custom agenda views:: Defining special searches and views
277* Exporting Agenda Views:: Writing a view to a file 290* Exporting Agenda Views:: Writing a view to a file
278* Agenda column view:: Using column view for collected entries 291* Agenda column view:: Using column view for collected entries
279 292
280The built-in agenda views 293The built-in agenda views
281 294
282* Weekly/daily agenda:: The calendar page with current tasks 295* Weekly/daily agenda:: The calendar page with current tasks
283* Global TODO list:: All unfinished action items 296* Global TODO list:: All unfinished action items
284* Matching tags and properties:: Structured information with fine-tuned search 297* Matching tags and properties:: Structured information with fine-tuned search
285* Timeline:: Time-sorted view for single file 298* Timeline:: Time-sorted view for single file
286* Search view:: Find entries by searching for text 299* Search view:: Find entries by searching for text
287* Stuck projects:: Find projects you need to review 300* Stuck projects:: Find projects you need to review
288 301
289Presentation and sorting 302Presentation and sorting
290 303
291* Categories:: Not all tasks are equal 304* Categories:: Not all tasks are equal
292* Time-of-day specifications:: How the agenda knows the time 305* Time-of-day specifications:: How the agenda knows the time
293* Sorting of agenda items:: The order of things 306* Sorting of agenda items:: The order of things
294 307
295Custom agenda views 308Custom agenda views
296 309
297* Storing searches:: Type once, use often 310* Storing searches:: Type once, use often
298* Block agenda:: All the stuff you need in a single buffer 311* Block agenda:: All the stuff you need in a single buffer
299* Setting Options:: Changing the rules 312* Setting Options:: Changing the rules
300 313
301Markup for rich export 314Markup for rich export
302 315
303* Structural markup elements:: The basic structure as seen by the exporter 316* Structural markup elements:: The basic structure as seen by the exporter
304* Images and tables:: Tables and Images will be included 317* Images and tables:: Tables and Images will be included
305* Literal examples:: Source code examples with special formatting 318* Literal examples:: Source code examples with special formatting
306* Include files:: Include additional files into a document 319* Include files:: Include additional files into a document
307* Index entries:: 320* Index entries:: Making an index
308* Macro replacement:: Use macros to create complex output 321* Macro replacement:: Use macros to create complex output
309* Embedded LaTeX:: LaTeX can be freely used inside Org documents 322* Embedded LaTeX:: LaTeX can be freely used inside Org documents
310 323
311Structural markup elements 324Structural markup elements
312 325
313* Document title:: Where the title is taken from 326* Document title:: Where the title is taken from
314* Headings and sections:: The document structure as seen by the exporter 327* Headings and sections:: The document structure as seen by the exporter
315* Table of contents:: The if and where of the table of contents 328* Table of contents:: The if and where of the table of contents
316* Initial text:: Text before the first heading? 329* Initial text:: Text before the first heading?
317* Lists:: Lists 330* Lists:: Lists
318* Paragraphs:: Paragraphs 331* Paragraphs:: Paragraphs
319* Footnote markup:: Footnotes 332* Footnote markup:: Footnotes
320* Emphasis and monospace:: Bold, italic, etc. 333* Emphasis and monospace:: Bold, italic, etc.
321* Horizontal rules:: Make a line 334* Horizontal rules:: Make a line
322* Comment lines:: What will *not* be exported 335* Comment lines:: What will *not* be exported
323 336
324Embedded La@TeX{} 337Embedded La@TeX{}
325 338
326* Special symbols:: Greek letters and other symbols 339* Special symbols:: Greek letters and other symbols
327* Subscripts and superscripts:: Simple syntax for raising/lowering text 340* Subscripts and superscripts:: Simple syntax for raising/lowering text
328* LaTeX fragments:: Complex formulas made easy 341* LaTeX fragments:: Complex formulas made easy
329* Previewing LaTeX fragments:: What will this snippet look like? 342* Previewing LaTeX fragments:: What will this snippet look like?
330* CDLaTeX mode:: Speed up entering of formulas 343* CDLaTeX mode:: Speed up entering of formulas
331 344
332Exporting 345Exporting
333 346
334* Selective export:: Using tags to select and exclude trees 347* Selective export:: Using tags to select and exclude trees
335* Export options:: Per-file export settings 348* Export options:: Per-file export settings
336* The export dispatcher:: How to access exporter commands 349* The export dispatcher:: How to access exporter commands
337* ASCII/Latin-1/UTF-8 export:: Exporting to flat files with encoding 350* ASCII/Latin-1/UTF-8 export:: Exporting to flat files with encoding
338* HTML export:: Exporting to HTML 351* HTML export:: Exporting to HTML
339* LaTeX and PDF export:: Exporting to La@TeX{}, and processing to PDF 352* LaTeX and PDF export:: Exporting to La@TeX{}, and processing to PDF
340* DocBook export:: Exporting to DocBook 353* DocBook export:: Exporting to DocBook
341* Freemind export:: Exporting to Freemind mind maps 354* TaskJuggler export:: Exporting to TaskJuggler
342* XOXO export:: Exporting to XOXO 355* Freemind export:: Exporting to Freemind mind maps
343* iCalendar export:: Exporting in iCalendar format 356* XOXO export:: Exporting to XOXO
357* iCalendar export:: Exporting in iCalendar format
344 358
345HTML export 359HTML export
346 360
347* HTML Export commands:: How to invoke HTML export 361* HTML Export commands:: How to invoke HTML export
348* Quoting HTML tags:: Using direct HTML in Org mode 362* Quoting HTML tags:: Using direct HTML in Org-mode
349* Links in HTML export:: How links will be interpreted and formatted 363* Links in HTML export:: How links will be interpreted and formatted
350* Tables in HTML export:: How to modify the formatting of tables 364* Tables in HTML export:: How to modify the formatting of tables
351* Images in HTML export:: How to insert figures into HTML output 365* Images in HTML export:: How to insert figures into HTML output
352* Text areas in HTML export:: An alternative way to show an example 366* Text areas in HTML export:: An alternative way to show an example
353* CSS support:: Changing the appearance of the output 367* CSS support:: Changing the appearance of the output
354* Javascript support:: Info and Folding in a web browser 368* JavaScript support:: Info and Folding in a web browser
355 369
356La@TeX{} and PDF export 370La@TeX{} and PDF export
357 371
358* LaTeX/PDF export commands:: Which key invokes which commands 372* LaTeX/PDF export commands:: Which key invokes which commands
359* Header and sectioning:: Setting up the export file structure 373* Header and sectioning:: Setting up the export file structure
360* Quoting LaTeX code:: Incorporating literal La@TeX{} code 374* Quoting LaTeX code:: Incorporating literal La@TeX{} code
361* Tables in LaTeX export:: Options for exporting tables to La@TeX{} 375* Tables in LaTeX export:: Options for exporting tables to La@TeX{}
362* Images in LaTeX export:: How to insert figures into La@TeX{} output 376* Images in LaTeX export:: How to insert figures into La@TeX{} output
363* Beamer class export:: Turning the file into a presentation 377* Beamer class export:: Turning the file into a presentation
364 378
365DocBook export 379DocBook export
366 380
367* DocBook export commands:: How to invoke DocBook export 381* DocBook export commands:: How to invoke DocBook export
368* Quoting DocBook code:: Incorporating DocBook code in Org files 382* Quoting DocBook code:: Incorporating DocBook code in Org files
369* Recursive sections:: Recursive sections in DocBook 383* Recursive sections:: Recursive sections in DocBook
370* Tables in DocBook export:: Tables are exported as HTML tables 384* Tables in DocBook export:: Tables are exported as HTML tables
371* Images in DocBook export:: How to insert figures into DocBook output 385* Images in DocBook export:: How to insert figures into DocBook output
372* Special characters:: How to handle special characters 386* Special characters:: How to handle special characters
373 387
374Publishing 388Publishing
375 389
376* Configuration:: Defining projects 390* Configuration:: Defining projects
377* Uploading files:: How to get files up on the server 391* Uploading files:: How to get files up on the server
378* Sample configuration:: Example projects 392* Sample configuration:: Example projects
379* Triggering publication:: Publication commands 393* Triggering publication:: Publication commands
380 394
381Configuration 395Configuration
382 396
383* Project alist:: The central configuration variable 397* Project alist:: The central configuration variable
384* Sources and destinations:: From here to there 398* Sources and destinations:: From here to there
385* Selecting files:: What files are part of the project? 399* Selecting files:: What files are part of the project?
386* Publishing action:: Setting the function doing the publishing 400* Publishing action:: Setting the function doing the publishing
387* Publishing options:: Tweaking HTML export 401* Publishing options:: Tweaking HTML export
388* Publishing links:: Which links keep working after publishing? 402* Publishing links:: Which links keep working after publishing?
389* Sitemap:: Generating a list of all pages 403* Sitemap:: Generating a list of all pages
390* Generating an index:: An index that reaches across pages 404* Generating an index:: An index that reaches across pages
391 405
392Sample configuration 406Sample configuration
393 407
394* Simple example:: One-component publishing 408* Simple example:: One-component publishing
395* Complex example:: A multi-component publishing example 409* Complex example:: A multi-component publishing example
410
411Working with source code
412
413* Structure of code blocks:: Code block syntax described
414* Editing source code:: Language major-mode editing
415* Exporting code blocks:: Export contents and/or results
416* Extracting source code:: Create pure source code files
417* Evaluating code blocks:: Place results of evaluation in the Org-mode buffer
418* Library of Babel:: Use and contribute to a library of useful code blocks
419* Languages:: List of supported code block languages
420* Header arguments:: Configure code block functionality
421* Results of evaluation:: How evaluation results are handled
422* Noweb reference syntax:: Literate programming in Org-mode
423* Key bindings and useful functions:: Work quickly with code blocks
424* Batch execution:: Call functions from the command line
425
426Header arguments
427
428* Using header arguments:: Different ways to set header arguments
429* Specific header arguments:: List of header arguments
430
431Using header arguments
432
433* System-wide header arguments:: Set global default values
434* Language-specific header arguments:: Set default values by language
435* Buffer-wide header arguments:: Set default values for a specific buffer
436* Header arguments in Org-mode properties:: Set default values for a buffer or heading
437* Code block specific header arguments:: The most common way to set values
438
439Specific header arguments
440
441* var:: Pass arguments to code blocks
442* results:: Specify the type of results and how they will be collected and handled
443* file:: Specify a path for file output
444* dir:: Specify the default directory for code block execution
445* exports:: Export code and/or results
446* tangle:: Toggle tangling and specify file name
447* no-expand:: Turn off variable assignment and noweb expansion during tangling
448* session:: Preserve the state of code evaluation
449* noweb:: Toggle expansion of noweb references
450* cache:: Avoid re-evaluating unchanged code blocks
451* hlines:: Handle horizontal lines in tables
452* colnames:: Handle column names in tables
453* rownames:: Handle row names in tables
454* shebang:: Make tangled files executable
396 455
397Miscellaneous 456Miscellaneous
398 457
399* Completion:: M-TAB knows what you need 458* Completion:: M-TAB knows what you need
400* Speed keys:: Electic commands at the beginning of a headline 459* Speed keys:: Electric commands at the beginning of a headline
401* Customization:: Adapting Org to your taste 460* Code evaluation security:: Org mode files evaluate inline code
402* In-buffer settings:: Overview of the #+KEYWORDS 461* Customization:: Adapting Org to your taste
403* The very busy C-c C-c key:: When in doubt, press C-c C-c 462* In-buffer settings:: Overview of the #+KEYWORDS
404* Clean view:: Getting rid of leading stars in the outline 463* The very busy C-c C-c key:: When in doubt, press C-c C-c
405* TTY keys:: Using Org on a tty 464* Clean view:: Getting rid of leading stars in the outline
406* Interaction:: Other Emacs packages 465* TTY keys:: Using Org on a tty
466* Interaction:: Other Emacs packages
407 467
408Interaction with other packages 468Interaction with other packages
409 469
410* Cooperation:: Packages Org cooperates with 470* Cooperation:: Packages Org cooperates with
411* Conflicts:: Packages that lead to conflicts 471* Conflicts:: Packages that lead to conflicts
412 472
413Hacking 473Hacking
414 474
415* Hooks:: Who to reach into Org's internals 475* Hooks:: Who to reach into Org's internals
416* Add-on packages:: Available extensions 476* Add-on packages:: Available extensions
417* Adding hyperlink types:: New custom link types 477* Adding hyperlink types:: New custom link types
418* Context-sensitive commands:: How to add functionality to such commands 478* Context-sensitive commands:: How to add functionality to such commands
419* Tables in arbitrary syntax:: Orgtbl for La@TeX{} and other programs 479* Tables in arbitrary syntax:: Orgtbl for La@TeX{} and other programs
420* Dynamic blocks:: Automatically filled blocks 480* Dynamic blocks:: Automatically filled blocks
421* Special agenda views:: Customized views 481* Special agenda views:: Customized views
422* Extracting agenda information:: Postprocessing of agenda information 482* Extracting agenda information:: Postprocessing of agenda information
423* Using the property API:: Writing programs that use entry properties 483* Using the property API:: Writing programs that use entry properties
424* Using the mapping API:: Mapping over all or selected entries 484* Using the mapping API:: Mapping over all or selected entries
425 485
426Tables and lists in arbitrary syntax 486Tables and lists in arbitrary syntax
427 487
428* Radio tables:: Sending and receiving radio tables 488* Radio tables:: Sending and receiving radio tables
429* A LaTeX example:: Step by step, almost a tutorial 489* A LaTeX example:: Step by step, almost a tutorial
430* Translator functions:: Copy and modify 490* Translator functions:: Copy and modify
431* Radio lists:: Doing the same for lists 491* Radio lists:: Doing the same for lists
432 492
433MobileOrg 493MobileOrg
434 494
435* Setting up the staging area:: Where to interact with the mobile device 495* Setting up the staging area:: Where to interact with the mobile device
436* Pushing to MobileOrg:: Uploading Org files and agendas 496* Pushing to MobileOrg:: Uploading Org files and agendas
437* Pulling from MobileOrg:: Integrating captured and flagged items 497* Pulling from MobileOrg:: Integrating captured and flagged items
438 498
439@end detailmenu 499@end detailmenu
440@end menu 500@end menu
@@ -444,11 +504,11 @@ MobileOrg
444@cindex introduction 504@cindex introduction
445 505
446@menu 506@menu
447* Summary:: Brief summary of what Org does 507* Summary:: Brief summary of what Org does
448* Installation:: How to install a downloaded version of Org 508* Installation:: How to install a downloaded version of Org
449* Activation:: How to activate Org for certain buffers 509* Activation:: How to activate Org for certain buffers
450* Feedback:: Bug reports, ideas, patches etc. 510* Feedback:: Bug reports, ideas, patches etc.
451* Conventions:: Type-setting conventions in the manual 511* Conventions:: Type-setting conventions in the manual
452@end menu 512@end menu
453 513
454@node Summary, Installation, Introduction, Introduction 514@node Summary, Installation, Introduction, Introduction
@@ -473,40 +533,39 @@ structured ASCII file, as HTML, or (TODO and agenda items only) as an
473iCalendar file. It can also serve as a publishing tool for a set of 533iCalendar file. It can also serve as a publishing tool for a set of
474linked web pages. 534linked web pages.
475 535
476An important design aspect that distinguishes Org from, for example, 536As a project planning environment, Org works by adding metadata to outline
477Planner/Muse is that it encourages you to store every piece of information 537nodes. Based on this data, specific entries can be extracted in queries and
478only once. In Planner, you have project pages, day pages and possibly 538create dynamic @i{agenda views}.
479other files, duplicating some information such as tasks. In Org, 539
480you only have notes files. In your notes you mark entries as tasks, and 540Org mode contains the Org Babel environment which allows to work with
481label them with tags and timestamps. All necessary lists, like a 541embedded source code block in a file, to facilitate code evaluation,
482schedule for the day, the agenda for a meeting, tasks lists selected by 542documentation, and tangling.
483tags, etc., are created dynamically when you need them. 543
544Org's automatic, context-sensitive table editor with spreadsheet
545capabilities can be integrated into any major mode by activating the
546minor Orgtbl mode. Using a translation step, it can be used to maintain
547tables in arbitrary file types, for example in La@TeX{}. The structure
548editing and list creation capabilities can be used outside Org with
549the minor Orgstruct mode.
484 550
485Org keeps simple things simple. When first fired up, it should 551Org keeps simple things simple. When first fired up, it should
486feel like a straightforward, easy to use outliner. Complexity is not 552feel like a straightforward, easy to use outliner. Complexity is not
487imposed, but a large amount of functionality is available when you need 553imposed, but a large amount of functionality is available when you need
488it. Org is a toolbox and can be used in different ways, for 554it. Org is a toolbox and can be used in different ways and for different
489example as: 555ends, for example:
490 556
491@example 557@example
492@r{@bullet{} an outline extension with visibility cycling and structure editing} 558@r{@bullet{} an outline extension with visibility cycling and structure editing}
493@r{@bullet{} an ASCII system and table editor for taking structured notes} 559@r{@bullet{} an ASCII system and table editor for taking structured notes}
494@r{@bullet{} an ASCII table editor with spreadsheet-like capabilities}
495@r{@bullet{} a TODO list editor} 560@r{@bullet{} a TODO list editor}
496@r{@bullet{} a full agenda and planner with deadlines and work scheduling} 561@r{@bullet{} a full agenda and planner with deadlines and work scheduling}
497@pindex GTD, Getting Things Done 562@pindex GTD, Getting Things Done
498@r{@bullet{} an environment to implement David Allen's GTD system} 563@r{@bullet{} an environment in which to implement David Allen's GTD system}
499@r{@bullet{} a basic database application}
500@r{@bullet{} a simple hypertext system, with HTML and La@TeX{} export} 564@r{@bullet{} a simple hypertext system, with HTML and La@TeX{} export}
501@r{@bullet{} a publishing tool to create a set of interlinked webpages} 565@r{@bullet{} a publishing tool to create a set of interlinked webpages}
566@r{@bullet{} an environment for literate programming}
502@end example 567@end example
503 568
504Org's automatic, context-sensitive table editor with spreadsheet
505capabilities can be integrated into any major mode by activating the
506minor Orgtbl mode. Using a translation step, it can be used to maintain
507tables in arbitrary file types, for example in La@TeX{}. The structure
508editing and list creation capabilities can be used outside Org with
509the minor Orgstruct mode.
510 569
511@cindex FAQ 570@cindex FAQ
512There is a website for Org which provides links to the newest 571There is a website for Org which provides links to the newest
@@ -603,14 +662,6 @@ Do not forget to activate Org as described in the following section.
603@cindex global key bindings 662@cindex global key bindings
604@cindex key bindings, global 663@cindex key bindings, global
605 664
606@iftex
607@b{Important:} @i{If you use copy-and-paste to copy Lisp code from the
608PDF documentation as viewed by some PDF viewers to your @file{.emacs} file, the
609single-quote character comes out incorrectly and the code will not work.
610You need to fix the single-quotes by hand, or copy from Info
611documentation.}
612@end iftex
613
614Add the following lines to your @file{.emacs} file. The last three lines 665Add the following lines to your @file{.emacs} file. The last three lines
615define @emph{global} keys for the commands @command{org-store-link}, 666define @emph{global} keys for the commands @command{org-store-link},
616@command{org-agenda}, and @command{org-iswitchb}---please choose suitable 667@command{org-agenda}, and @command{org-iswitchb}---please choose suitable
@@ -633,9 +684,9 @@ active. You can do this with either one of the following two lines
633(add-hook 'org-mode-hook 'turn-on-font-lock) ; Org buffers only 684(add-hook 'org-mode-hook 'turn-on-font-lock) ; Org buffers only
634@end lisp 685@end lisp
635 686
636@cindex Org mode, turning on 687@cindex Org-mode, turning on
637With this setup, all files with extension @samp{.org} will be put 688With this setup, all files with extension @samp{.org} will be put
638into Org mode. As an alternative, make the first line of a file look 689into Org-mode. As an alternative, make the first line of a file look
639like this: 690like this:
640 691
641@example 692@example
@@ -643,7 +694,7 @@ MY PROJECTS -*- mode: org; -*-
643@end example 694@end example
644 695
645@vindex org-insert-mode-line-in-empty-file 696@vindex org-insert-mode-line-in-empty-file
646@noindent which will select Org mode for this buffer no matter what 697@noindent which will select Org-mode for this buffer no matter what
647the file's name is. See also the variable 698the file's name is. See also the variable
648@code{org-insert-mode-line-in-empty-file}. 699@code{org-insert-mode-line-in-empty-file}.
649 700
@@ -746,7 +797,7 @@ special meaning are written with all capitals.
746@end table 797@end table
747 798
748@node Document Structure, Tables, Introduction, Top 799@node Document Structure, Tables, Introduction, Top
749@chapter Document Structure 800@chapter Document structure
750@cindex document structure 801@cindex document structure
751@cindex structure of document 802@cindex structure of document
752 803
@@ -754,17 +805,17 @@ Org is based on Outline mode and provides flexible commands to
754edit the structure of the document. 805edit the structure of the document.
755 806
756@menu 807@menu
757* Outlines:: Org is based on Outline mode 808* Outlines:: Org is based on Outline mode
758* Headlines:: How to typeset Org tree headlines 809* Headlines:: How to typeset Org tree headlines
759* Visibility cycling:: Show and hide, much simplified 810* Visibility cycling:: Show and hide, much simplified
760* Motion:: Jumping to other headlines 811* Motion:: Jumping to other headlines
761* Structure editing:: Changing sequence and level of headlines 812* Structure editing:: Changing sequence and level of headlines
762* Sparse trees:: Matches embedded in context 813* Sparse trees:: Matches embedded in context
763* Plain lists:: Additional structure within an entry 814* Plain lists:: Additional structure within an entry
764* Drawers:: Tucking stuff away 815* Drawers:: Tucking stuff away
765* Blocks:: Folding blocks 816* Blocks:: Folding blocks
766* Footnotes:: How footnotes are defined in Org's syntax 817* Footnotes:: How footnotes are defined in Org's syntax
767* Orgstruct mode:: Structure editing outside Org 818* Orgstruct mode:: Structure editing outside Org
768@end menu 819@end menu
769 820
770@node Outlines, Headlines, Document Structure, Document Structure 821@node Outlines, Headlines, Document Structure, Document Structure
@@ -786,11 +837,14 @@ command, @command{org-cycle}, which is bound to the @key{TAB} key.
786@cindex headlines 837@cindex headlines
787@cindex outline tree 838@cindex outline tree
788@vindex org-special-ctrl-a/e 839@vindex org-special-ctrl-a/e
840@vindex org-special-ctrl-k
841@vindex org-ctrl-k-protect-subtree
789 842
790Headlines define the structure of an outline tree. The headlines in 843Headlines define the structure of an outline tree. The headlines in Org
791Org start with one or more stars, on the left margin@footnote{See 844start with one or more stars, on the left margin@footnote{See the variables
792the variable @code{org-special-ctrl-a/e} to configure special behavior 845@code{org-special-ctrl-a/e}, @code{org-special-ctrl-k}, and
793of @kbd{C-a} and @kbd{C-e} in headlines.}. For example: 846@code{org-ctrl-k-protect-subtree} to configure special behavior of @kbd{C-a},
847@kbd{C-e}, and @kbd{C-k} in headlines.}. For example:
794 848
795@example 849@example
796* Top level headline 850* Top level headline
@@ -881,6 +935,9 @@ exposed by a sparse tree command (@pxref{Sparse trees}) or an agenda command
881(@pxref{Agenda commands}). With a prefix argument show, on each 935(@pxref{Agenda commands}). With a prefix argument show, on each
882level, all sibling headings. With double prefix arg, also show the entire 936level, all sibling headings. With double prefix arg, also show the entire
883subtree of the parent. 937subtree of the parent.
938@kindex C-c C-k
939@item C-c C-k
940Expose all the headings of the subtree, CONTENT view for just one subtree.
884@kindex C-c C-x b 941@kindex C-c C-x b
885@item C-c C-x b 942@item C-c C-x b
886Show the current subtree in an indirect buffer@footnote{The indirect 943Show the current subtree in an indirect buffer@footnote{The indirect
@@ -1138,7 +1195,7 @@ functionality.
1138@vindex org-show-following-heading 1195@vindex org-show-following-heading
1139@vindex org-show-siblings 1196@vindex org-show-siblings
1140@vindex org-show-entry-below 1197@vindex org-show-entry-below
1141An important feature of Org mode is the ability to construct @emph{sparse 1198An important feature of Org-mode is the ability to construct @emph{sparse
1142trees} for selected information in an outline tree, so that the entire 1199trees} for selected information in an outline tree, so that the entire
1143document is folded as much as possible, but the selected information is made 1200document is folded as much as possible, but the selected information is made
1144visible along with the headline structure above it@footnote{See also the 1201visible along with the headline structure above it@footnote{See also the
@@ -1147,7 +1204,7 @@ variables @code{org-show-hierarchy-above}, @code{org-show-following-heading},
1147control on how much context is shown around each match.}. Just try it out 1204control on how much context is shown around each match.}. Just try it out
1148and you will see immediately how it works. 1205and you will see immediately how it works.
1149 1206
1150Org mode contains several commands creating such trees, all these 1207Org-mode contains several commands creating such trees, all these
1151commands can be accessed through a dispatcher: 1208commands can be accessed through a dispatcher:
1152 1209
1153@table @kbd 1210@table @kbd
@@ -1222,7 +1279,9 @@ visually indistinguishable from true headlines. In short: even though
1222as bullets. 1279as bullets.
1223@item 1280@item
1224@emph{Ordered} list items start with a numeral followed by either a period or 1281@emph{Ordered} list items start with a numeral followed by either a period or
1225a right parenthesis, such as @samp{1.} or @samp{1)}. 1282a right parenthesis, such as @samp{1.} or @samp{1)}. If you want a list to
1283start a different value (e.g. 20), start the text of the item with
1284@code{[@@start:20]}.
1226@item 1285@item
1227@emph{Description} list items are unordered list items, and contain the 1286@emph{Description} list items are unordered list items, and contain the
1228separator @samp{ :: } to separate the description @emph{term} from the 1287separator @samp{ :: } to separate the description @emph{term} from the
@@ -1267,6 +1326,11 @@ properly (@pxref{Exporting}). Since indentation is what governs the
1267structure of these lists, many structural constructs like @code{#+BEGIN_...} 1326structure of these lists, many structural constructs like @code{#+BEGIN_...}
1268blocks can be indented to signal that they should be part of a list item. 1327blocks can be indented to signal that they should be part of a list item.
1269 1328
1329@vindex org-list-demote-modify-bullet
1330If you find that using a different bullet for a sub-list (than that used for
1331the current list-level) improves readability, customize the variable
1332@code{org-list-demote-modify-bullet}.
1333
1270The following commands act on items when the cursor is in the first line 1334The following commands act on items when the cursor is in the first line
1271of an item (the line with the bullet or number). 1335of an item (the line with the bullet or number).
1272 1336
@@ -1321,6 +1385,11 @@ similar effect.
1321Move the item including subitems up/down (swap with previous/next item 1385Move the item including subitems up/down (swap with previous/next item
1322of same indentation). If the list is ordered, renumbering is 1386of same indentation). If the list is ordered, renumbering is
1323automatic. 1387automatic.
1388@kindex M-@key{left}
1389@kindex M-@key{right}
1390@item M-@key{left}
1391@itemx M-@key{right}
1392Decrease/increase the indentation of an item, leaving children alone.
1324@kindex M-S-@key{left} 1393@kindex M-S-@key{left}
1325@kindex M-S-@key{right} 1394@kindex M-S-@key{right}
1326@item M-S-@key{left} 1395@item M-S-@key{left}
@@ -1371,7 +1440,7 @@ numerically, alphabetically, by time, or by custom function.
1371 1440
1372@vindex org-drawers 1441@vindex org-drawers
1373Sometimes you want to keep information associated with an entry, but you 1442Sometimes you want to keep information associated with an entry, but you
1374normally don't want to see it. For this, Org mode has @emph{drawers}. 1443normally don't want to see it. For this, Org-mode has @emph{drawers}.
1375Drawers need to be configured with the variable 1444Drawers need to be configured with the variable
1376@code{org-drawers}@footnote{You can define drawers on a per-file basis 1445@code{org-drawers}@footnote{You can define drawers on a per-file basis
1377with a line like @code{#+DRAWERS: HIDDEN PROPERTIES STATE}}. Drawers 1446with a line like @code{#+DRAWERS: HIDDEN PROPERTIES STATE}}. Drawers
@@ -1389,7 +1458,7 @@ look like this:
1389Visibility cycling (@pxref{Visibility cycling}) on the headline will hide and 1458Visibility cycling (@pxref{Visibility cycling}) on the headline will hide and
1390show the entry, but keep the drawer collapsed to a single line. In order to 1459show the entry, but keep the drawer collapsed to a single line. In order to
1391look inside the drawer, you need to move the cursor to the drawer line and 1460look inside the drawer, you need to move the cursor to the drawer line and
1392press @key{TAB} there. Org mode uses the @code{PROPERTIES} drawer for 1461press @key{TAB} there. Org-mode uses the @code{PROPERTIES} drawer for
1393storing properties (@pxref{Properties and Columns}), and you can also arrange 1462storing properties (@pxref{Properties and Columns}), and you can also arrange
1394for state change notes (@pxref{Tracking TODO state changes}) and clock times 1463for state change notes (@pxref{Tracking TODO state changes}) and clock times
1395(@pxref{Clocking work time}) to be stored in a drawer @code{LOGBOOK}. If you 1464(@pxref{Clocking work time}) to be stored in a drawer @code{LOGBOOK}. If you
@@ -1425,8 +1494,8 @@ or on a per-file basis by using
1425@section Footnotes 1494@section Footnotes
1426@cindex footnotes 1495@cindex footnotes
1427 1496
1428Org mode supports the creation of footnotes. In contrast to the 1497Org-mode supports the creation of footnotes. In contrast to the
1429@file{footnote.el} package, Org mode's footnotes are designed for work on a 1498@file{footnote.el} package, Org-mode's footnotes are designed for work on a
1430larger document, not only for one-off documents like emails. The basic 1499larger document, not only for one-off documents like emails. The basic
1431syntax is similar to the one used by @file{footnote.el}, i.e. a footnote is 1500syntax is similar to the one used by @file{footnote.el}, i.e. a footnote is
1432defined in a paragraph that is started by a footnote marker in square 1501defined in a paragraph that is started by a footnote marker in square
@@ -1440,7 +1509,7 @@ The Org homepage[fn:1] now looks a lot better than it used to.
1440[fn:1] The link is: http://orgmode.org 1509[fn:1] The link is: http://orgmode.org
1441@end example 1510@end example
1442 1511
1443Org mode extends the number-based syntax to @emph{named} footnotes and 1512Org-mode extends the number-based syntax to @emph{named} footnotes and
1444optional inline definition. Using plain numbers as markers (as 1513optional inline definition. Using plain numbers as markers (as
1445@file{footnote.el} does) is supported for backward compatibility, but not 1514@file{footnote.el} does) is supported for backward compatibility, but not
1446encouraged because of possible conflicts with La@TeX{} snippets (@pxref{Embedded 1515encouraged because of possible conflicts with La@TeX{} snippets (@pxref{Embedded
@@ -1449,7 +1518,7 @@ LaTeX}). Here are the valid references:
1449@table @code 1518@table @code
1450@item [1] 1519@item [1]
1451A plain numeric footnote marker. Compatible with @file{footnote.el}, but not 1520A plain numeric footnote marker. Compatible with @file{footnote.el}, but not
1452recommended because somthing like @samp{[1]} could easily be part of a code 1521recommended because something like @samp{[1]} could easily be part of a code
1453snippet. 1522snippet.
1454@item [fn:name] 1523@item [fn:name]
1455A named footnote reference, where @code{name} is a unique label word, or, for 1524A named footnote reference, where @code{name} is a unique label word, or, for
@@ -1534,7 +1603,7 @@ you can use the usual commands to follow these links.
1534@cindex Orgstruct mode 1603@cindex Orgstruct mode
1535@cindex minor mode for structure editing 1604@cindex minor mode for structure editing
1536 1605
1537If you like the intuitive way the Org mode structure editing and list 1606If you like the intuitive way the Org-mode structure editing and list
1538formatting works, you might want to use these commands in other modes like 1607formatting works, you might want to use these commands in other modes like
1539Text mode or Mail mode as well. The minor mode @code{orgstruct-mode} makes 1608Text mode or Mail mode as well. The minor mode @code{orgstruct-mode} makes
1540this possible. Toggle the mode with @kbd{M-x orgstruct-mode}, or 1609this possible. Toggle the mode with @kbd{M-x orgstruct-mode}, or
@@ -1571,12 +1640,12 @@ calculator).
1571@end ifnotinfo 1640@end ifnotinfo
1572 1641
1573@menu 1642@menu
1574* Built-in table editor:: Simple tables 1643* Built-in table editor:: Simple tables
1575* Column width and alignment:: Overrule the automatic settings 1644* Column width and alignment:: Overrule the automatic settings
1576* Column groups:: Grouping to trigger vertical lines 1645* Column groups:: Grouping to trigger vertical lines
1577* Orgtbl mode:: The table editor as minor mode 1646* Orgtbl mode:: The table editor as minor mode
1578* The spreadsheet:: The table editor has spreadsheet capabilities 1647* The spreadsheet:: The table editor has spreadsheet capabilities
1579* Org-Plot:: Plotting from org tables 1648* Org-Plot:: Plotting from org tables
1580@end menu 1649@end menu
1581 1650
1582@node Built-in table editor, Column width and alignment, Tables, Tables 1651@node Built-in table editor, Column width and alignment, Tables, Tables
@@ -1874,6 +1943,9 @@ to the right and of string-rich column to the left, you and use @samp{<r>} or
1874@samp{<l>} in a similar fashion. You may also combine alignment and field 1943@samp{<l>} in a similar fashion. You may also combine alignment and field
1875width like this: @samp{<l10>}. 1944width like this: @samp{<l10>}.
1876 1945
1946Lines which only contain these formatting cookies will be removed
1947automatically when exporting the document.
1948
1877@node Column groups, Orgtbl mode, Column width and alignment, Tables 1949@node Column groups, Orgtbl mode, Column width and alignment, Tables
1878@section Column groups 1950@section Column groups
1879@cindex grouping columns in tables 1951@cindex grouping columns in tables
@@ -1890,18 +1962,18 @@ a group of its own. Boundaries between column groups will upon export be
1890marked with vertical lines. Here is an example: 1962marked with vertical lines. Here is an example:
1891 1963
1892@example 1964@example
1893| | N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) | 1965| N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) |
1894|---+----+-----+-----+-----+---------+------------| 1966|---+-----+-----+-----+---------+------------|
1895| / | <> | < | | > | < | > | 1967| / | < | | > | < | > |
1896| # | 1 | 1 | 1 | 1 | 1 | 1 | 1968| 1 | 1 | 1 | 1 | 1 | 1 |
1897| # | 2 | 4 | 8 | 16 | 1.4142 | 1.1892 | 1969| 2 | 4 | 8 | 16 | 1.4142 | 1.1892 |
1898| # | 3 | 9 | 27 | 81 | 1.7321 | 1.3161 | 1970| 3 | 9 | 27 | 81 | 1.7321 | 1.3161 |
1899|---+----+-----+-----+-----+---------+------------| 1971|---+-----+-----+-----+---------+------------|
1900#+TBLFM: $3=$2^2::$4=$2^3::$5=$2^4::$6=sqrt($2)::$7=sqrt(sqrt(($2))) 1972#+TBLFM: $2=$1^2::$3=$1^3::$4=$1^4::$5=sqrt($1)::$6=sqrt(sqrt(($1)))
1901@end example 1973@end example
1902 1974
1903It is also sufficient to just insert the column group starters after 1975It is also sufficient to just insert the column group starters after
1904every vertical line you'd like to have: 1976every vertical line you would like to have:
1905 1977
1906@example 1978@example
1907| N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) | 1979| N | N^2 | N^3 | N^4 | sqrt(n) | sqrt[4](N) |
@@ -1947,14 +2019,14 @@ fields in the table corresponding to the references at the point in the
1947formula, moving these references by arrow keys 2019formula, moving these references by arrow keys
1948 2020
1949@menu 2021@menu
1950* References:: How to refer to another field or range 2022* References:: How to refer to another field or range
1951* Formula syntax for Calc:: Using Calc to compute stuff 2023* Formula syntax for Calc:: Using Calc to compute stuff
1952* Formula syntax for Lisp:: Writing formulas in Emacs Lisp 2024* Formula syntax for Lisp:: Writing formulas in Emacs Lisp
1953* Field formulas:: Formulas valid for a single field 2025* Field formulas:: Formulas valid for a single field
1954* Column formulas:: Formulas valid for an entire column 2026* Column formulas:: Formulas valid for an entire column
1955* Editing and debugging formulas:: Fixing formulas 2027* Editing and debugging formulas:: Fixing formulas
1956* Updating the table:: Recomputing all dependent fields 2028* Updating the table:: Recomputing all dependent fields
1957* Advanced features:: Field names, parameters and automatic recalc 2029* Advanced features:: Field names, parameters and automatic recalc
1958@end menu 2030@end menu
1959 2031
1960@node References, Formula syntax for Calc, The spreadsheet, The spreadsheet 2032@node References, Formula syntax for Calc, The spreadsheet, The spreadsheet
@@ -2456,6 +2528,11 @@ hline are left alone, assuming that these are part of the table header.
2456Iterate the table by recomputing it until no further changes occur. 2528Iterate the table by recomputing it until no further changes occur.
2457This may be necessary if some computed fields use the value of other 2529This may be necessary if some computed fields use the value of other
2458fields that are computed @i{later} in the calculation sequence. 2530fields that are computed @i{later} in the calculation sequence.
2531@item M-x org-table-recalculate-buffer-tables
2532Recompute all tables in the current buffer.
2533@item M-x org-table-iterate-buffer-tables
2534Iterate all tables in the current buffer, in order to converge table-to-table
2535dependencies.
2459@end table 2536@end table
2460 2537
2461@node Advanced features, , Updating the table, The spreadsheet 2538@node Advanced features, , Updating the table, The spreadsheet
@@ -2563,7 +2640,7 @@ functions.
2563@node Org-Plot, , The spreadsheet, Tables 2640@node Org-Plot, , The spreadsheet, Tables
2564@section Org-Plot 2641@section Org-Plot
2565@cindex graph, in tables 2642@cindex graph, in tables
2566@cindex plot tables using gnuplot 2643@cindex plot tables using Gnuplot
2567@cindex #+PLOT 2644@cindex #+PLOT
2568 2645
2569Org-Plot can produce 2D and 3D graphs of information stored in org tables 2646Org-Plot can produce 2D and 3D graphs of information stored in org tables
@@ -2653,14 +2730,14 @@ Like HTML, Org provides links inside a file, external links to
2653other files, Usenet articles, emails, and much more. 2730other files, Usenet articles, emails, and much more.
2654 2731
2655@menu 2732@menu
2656* Link format:: How links in Org are formatted 2733* Link format:: How links in Org are formatted
2657* Internal links:: Links to other places in the current file 2734* Internal links:: Links to other places in the current file
2658* External links:: URL-like links to the world 2735* External links:: URL-like links to the world
2659* Handling links:: Creating, inserting and following 2736* Handling links:: Creating, inserting and following
2660* Using links outside Org:: Linking from my C source code? 2737* Using links outside Org:: Linking from my C source code?
2661* Link abbreviations:: Shortcuts for writing complex links 2738* Link abbreviations:: Shortcuts for writing complex links
2662* Search options:: Linking to a specific location 2739* Search options:: Linking to a specific location
2663* Custom searches:: When the default search is not enough 2740* Custom searches:: When the default search is not enough
2664@end menu 2741@end menu
2665 2742
2666@node Link format, Internal links, Hyperlinks, Hyperlinks 2743@node Link format, Internal links, Hyperlinks, Hyperlinks
@@ -2736,7 +2813,7 @@ headlines@footnote{To insert a link targeting a headline, in-buffer
2736completion can be used. Just type a star followed by a few optional letters 2813completion can be used. Just type a star followed by a few optional letters
2737into the buffer and press @kbd{M-@key{TAB}}. All headlines in the current 2814into the buffer and press @kbd{M-@key{TAB}}. All headlines in the current
2738buffer will be offered as completions. @xref{Handling links}, for more 2815buffer will be offered as completions. @xref{Handling links}, for more
2739commands creating links.}. When searching, Org mode will first try an 2816commands creating links.}. When searching, Org-mode will first try an
2740exact match, but then move on to more and more lenient searches. For 2817exact match, but then move on to more and more lenient searches. For
2741example, the link @samp{[[*My Targets]]} will find any of the following: 2818example, the link @samp{[[*My Targets]]} will find any of the following:
2742 2819
@@ -2753,7 +2830,7 @@ several times in direct succession goes back to positions recorded
2753earlier. 2830earlier.
2754 2831
2755@menu 2832@menu
2756* Radio targets:: Make targets trigger links in plain text 2833* Radio targets:: Make targets trigger links in plain text
2757@end menu 2834@end menu
2758 2835
2759@node Radio targets, , Internal links, Internal links 2836@node Radio targets, , Internal links, Internal links
@@ -2799,6 +2876,7 @@ the colon. The following list shows examples for each link type.
2799 2876
2800@example 2877@example
2801http://www.astro.uva.nl/~dominik @r{on the web} 2878http://www.astro.uva.nl/~dominik @r{on the web}
2879doi:10.1000/182 @r{DOI for an electronic resource}
2802file:/home/dominik/images/jupiter.jpg @r{file, absolute path} 2880file:/home/dominik/images/jupiter.jpg @r{file, absolute path}
2803/home/dominik/images/jupiter.jpg @r{same as above} 2881/home/dominik/images/jupiter.jpg @r{same as above}
2804file:papers/last.pdf @r{file, relative path} 2882file:papers/last.pdf @r{file, relative path}
@@ -2826,6 +2904,7 @@ gnus:group @r{Gnus group link}
2826gnus:group#id @r{Gnus article link} 2904gnus:group#id @r{Gnus article link}
2827bbdb:R.*Stallman @r{BBDB link (with regexp)} 2905bbdb:R.*Stallman @r{BBDB link (with regexp)}
2828irc:/irc.com/#emacs/bob @r{IRC link} 2906irc:/irc.com/#emacs/bob @r{IRC link}
2907info:org:External%20links @r{Info node link (with encoded space)}
2829shell:ls *.org @r{A shell command} 2908shell:ls *.org @r{A shell command}
2830elisp:org-agenda @r{Interactive Elisp command} 2909elisp:org-agenda @r{Interactive Elisp command}
2831elisp:(find-file-other-frame "Elisp.org") @r{Elisp form to evaluate} 2910elisp:(find-file-other-frame "Elisp.org") @r{Elisp form to evaluate}
@@ -2966,14 +3045,14 @@ to the current directory using @samp{../}. Otherwise an absolute path
2966is used, if possible with @samp{~/} for your home directory. You can 3045is used, if possible with @samp{~/} for your home directory. You can
2967force an absolute path with two @kbd{C-u} prefixes. 3046force an absolute path with two @kbd{C-u} prefixes.
2968@c 3047@c
2969@item C-c C-l @r{(with cursor on existing link)} 3048@item C-c C-l @ @r{(with cursor on existing link)}
2970When the cursor is on an existing link, @kbd{C-c C-l} allows you to edit the 3049When the cursor is on an existing link, @kbd{C-c C-l} allows you to edit the
2971link and description parts of the link. 3050link and description parts of the link.
2972@c 3051@c
2973@cindex following links 3052@cindex following links
2974@kindex C-c C-o 3053@kindex C-c C-o
2975@kindex RET 3054@kindex @key{RET}
2976@item C-c C-o @r{or} @key{RET} 3055@item C-c C-o @ @r{(or, if @code{org-return-follows-link} is set, also} @key{RET}
2977@vindex org-file-apps 3056@vindex org-file-apps
2978Open link at point. This will launch a web browser for URLs (using 3057Open link at point. This will launch a web browser for URLs (using
2979@command{browse-url-at-point}), run VM/MH-E/Wanderlust/Rmail/Gnus/BBDB for 3058@command{browse-url-at-point}), run VM/MH-E/Wanderlust/Rmail/Gnus/BBDB for
@@ -3004,6 +3083,14 @@ Like @kbd{mouse-2}, but force file links to be opened with Emacs, and
3004internal links to be displayed in another window@footnote{See the 3083internal links to be displayed in another window@footnote{See the
3005variable @code{org-display-internal-link-with-indirect-buffer}}. 3084variable @code{org-display-internal-link-with-indirect-buffer}}.
3006@c 3085@c
3086@cindex inlining images
3087@cindex images, inlining
3088@kindex C-c C-x C-v
3089@item C-c C-x C-v
3090Toggle the inline display of linked images. Normally this will only inline
3091images that have no description part in the link, i.e. images that will also
3092be inlined during export. When called with a prefix argument, also display
3093images that do have a link description.
3007@cindex mark ring 3094@cindex mark ring
3008@kindex C-c % 3095@kindex C-c %
3009@item C-c % 3096@item C-c %
@@ -3063,8 +3150,9 @@ abbreviated link looks like this
3063 3150
3064@noindent 3151@noindent
3065@vindex org-link-abbrev-alist 3152@vindex org-link-abbrev-alist
3066where the tag is optional. The @i{linkword} must be a word; letter, numbers, 3153where the tag is optional.
3067@samp{-}, and @samp{_} are allowed here. Abbreviations are resolved 3154The @i{linkword} must be a word, starting with a letter, followed by
3155letters, numbers, @samp{-}, and @samp{_}. Abbreviations are resolved
3068according to the information in the variable @code{org-link-abbrev-alist} 3156according to the information in the variable @code{org-link-abbrev-alist}
3069that relates the linkwords to replacement text. Here is an example: 3157that relates the linkwords to replacement text. Here is an example:
3070 3158
@@ -3145,7 +3233,7 @@ Link to a heading with a @code{CUSTOM_ID} property
3145@item /regexp/ 3233@item /regexp/
3146Do a regular expression search for @code{regexp}. This uses the Emacs 3234Do a regular expression search for @code{regexp}. This uses the Emacs
3147command @code{occur} to list all matches in a separate window. If the 3235command @code{occur} to list all matches in a separate window. If the
3148target file is in Org mode, @code{org-occur} is used to create a 3236target file is in Org-mode, @code{org-occur} is used to create a
3149sparse tree with the matches. 3237sparse tree with the matches.
3150@c If the target file is a directory, 3238@c If the target file is a directory,
3151@c @code{grep} will be used to search all files in the directory. 3239@c @code{grep} will be used to search all files in the directory.
@@ -3181,10 +3269,10 @@ for Bib@TeX{} database files, and you can use the corresponding code as
3181an implementation example. See the file @file{org-bibtex.el}. 3269an implementation example. See the file @file{org-bibtex.el}.
3182 3270
3183@node TODO Items, Tags, Hyperlinks, Top 3271@node TODO Items, Tags, Hyperlinks, Top
3184@chapter TODO Items 3272@chapter TODO items
3185@cindex TODO items 3273@cindex TODO items
3186 3274
3187Org mode does not maintain TODO lists as separate documents@footnote{Of 3275Org-mode does not maintain TODO lists as separate documents@footnote{Of
3188course, you can make a document that contains only long lists of TODO items, 3276course, you can make a document that contains only long lists of TODO items,
3189but this is not required.}. Instead, TODO items are an integral part of the 3277but this is not required.}. Instead, TODO items are an integral part of the
3190notes file, because TODO items usually come up while taking notes! With Org 3278notes file, because TODO items usually come up while taking notes! With Org
@@ -3193,16 +3281,16 @@ information is not duplicated, and the entire context from which the TODO
3193item emerged is always present. 3281item emerged is always present.
3194 3282
3195Of course, this technique for managing TODO items scatters them 3283Of course, this technique for managing TODO items scatters them
3196throughout your notes file. Org mode compensates for this by providing 3284throughout your notes file. Org-mode compensates for this by providing
3197methods to give you an overview of all the things that you have to do. 3285methods to give you an overview of all the things that you have to do.
3198 3286
3199@menu 3287@menu
3200* TODO basics:: Marking and displaying TODO entries 3288* TODO basics:: Marking and displaying TODO entries
3201* TODO extensions:: Workflow and assignments 3289* TODO extensions:: Workflow and assignments
3202* Progress logging:: Dates and notes for progress 3290* Progress logging:: Dates and notes for progress
3203* Priorities:: Some things are more important than others 3291* Priorities:: Some things are more important than others
3204* Breaking down tasks:: Splitting a task into manageable pieces 3292* Breaking down tasks:: Splitting a task into manageable pieces
3205* Checkboxes:: Tick-off lists 3293* Checkboxes:: Tick-off lists
3206@end menu 3294@end menu
3207 3295
3208@node TODO basics, TODO extensions, TODO Items, TODO Items 3296@node TODO basics, TODO extensions, TODO Items, TODO Items
@@ -3249,27 +3337,26 @@ mostly if more than two TODO states are possible (@pxref{TODO
3249extensions}). See also @ref{Conflicts}, for a discussion of the interaction 3337extensions}). See also @ref{Conflicts}, for a discussion of the interaction
3250with @code{shift-selection-mode}. See also the variable 3338with @code{shift-selection-mode}. See also the variable
3251@code{org-treat-S-cursor-todo-selection-as-state-change}. 3339@code{org-treat-S-cursor-todo-selection-as-state-change}.
3252@kindex C-c C-v
3253@kindex C-c / t 3340@kindex C-c / t
3254@cindex sparse tree, for TODO 3341@cindex sparse tree, for TODO
3255@item C-c C-v
3256@itemx C-c / t 3342@itemx C-c / t
3257@vindex org-todo-keywords 3343@vindex org-todo-keywords
3258View TODO items in a @emph{sparse tree} (@pxref{Sparse trees}). Folds the 3344View TODO items in a @emph{sparse tree} (@pxref{Sparse trees}). Folds the
3259entire buffer, but shows all TODO items and the headings hierarchy above 3345entire buffer, but shows all TODO items (with not-DONE state) and the
3260them. With a prefix argument, search for a specific TODO. You will be 3346headings hierarchy above them. With a prefix argument (or by using @kbd{C-c
3261prompted for the keyword, and you can also give a list of keywords like 3347/ T}), search for a specific TODO. You will be prompted for the keyword, and
3262@code{KWD1|KWD2|...} to list entries that match any one of these keywords. 3348you can also give a list of keywords like @code{KWD1|KWD2|...} to list
3263With numeric prefix argument N, show the tree for the Nth keyword in the 3349entries that match any one of these keywords. With numeric prefix argument
3264variable @code{org-todo-keywords}. With two prefix arguments, find all TODO 3350N, show the tree for the Nth keyword in the variable
3265and DONE entries. 3351@code{org-todo-keywords}. With two prefix arguments, find all TODO states,
3352both un-done and done.
3266@kindex C-c a t 3353@kindex C-c a t
3267@item C-c a t 3354@item C-c a t
3268Show the global TODO list. Collects the TODO items from all agenda 3355Show the global TODO list. Collects the TODO items (with not-DONE states)
3269files (@pxref{Agenda Views}) into a single buffer. The new buffer will 3356from all agenda files (@pxref{Agenda Views}) into a single buffer. The new
3270be in @code{agenda-mode}, which provides commands to examine and 3357buffer will be in @code{agenda-mode}, which provides commands to examine and
3271manipulate the TODO entries from the new buffer (@pxref{Agenda 3358manipulate the TODO entries from the new buffer (@pxref{Agenda commands}).
3272commands}). @xref{Global TODO list}, for more information. 3359@xref{Global TODO list}, for more information.
3273@kindex S-M-@key{RET} 3360@kindex S-M-@key{RET}
3274@item S-M-@key{RET} 3361@item S-M-@key{RET}
3275Insert a new TODO entry below the current one. 3362Insert a new TODO entry below the current one.
@@ -3286,7 +3373,7 @@ option @code{org-todo-state-tags-triggers} for details.
3286 3373
3287@vindex org-todo-keywords 3374@vindex org-todo-keywords
3288By default, marked TODO entries have one of only two states: TODO and 3375By default, marked TODO entries have one of only two states: TODO and
3289DONE. Org mode allows you to classify TODO items in more complex ways 3376DONE. Org-mode allows you to classify TODO items in more complex ways
3290with @emph{TODO keywords} (stored in @code{org-todo-keywords}). With 3377with @emph{TODO keywords} (stored in @code{org-todo-keywords}). With
3291special setup, the TODO keyword system can work differently in different 3378special setup, the TODO keyword system can work differently in different
3292files. 3379files.
@@ -3295,13 +3382,13 @@ Note that @i{tags} are another way to classify headlines in general and
3295TODO items in particular (@pxref{Tags}). 3382TODO items in particular (@pxref{Tags}).
3296 3383
3297@menu 3384@menu
3298* Workflow states:: From TODO to DONE in steps 3385* Workflow states:: From TODO to DONE in steps
3299* TODO types:: I do this, Fred does the rest 3386* TODO types:: I do this, Fred does the rest
3300* Multiple sets in one file:: Mixing it all, and still finding your way 3387* Multiple sets in one file:: Mixing it all, and still finding your way
3301* Fast access to TODO states:: Single letter selection of a state 3388* Fast access to TODO states:: Single letter selection of a state
3302* Per-file keywords:: Different files, different requirements 3389* Per-file keywords:: Different files, different requirements
3303* Faces for TODO keywords:: Highlighting states 3390* Faces for TODO keywords:: Highlighting states
3304* TODO dependencies:: When one task needs to wait for others 3391* TODO dependencies:: When one task needs to wait for others
3305@end menu 3392@end menu
3306 3393
3307@node Workflow states, TODO types, TODO extensions, TODO extensions 3394@node Workflow states, TODO types, TODO extensions, TODO extensions
@@ -3311,7 +3398,7 @@ TODO items in particular (@pxref{Tags}).
3311 3398
3312You can use TODO keywords to indicate different @emph{sequential} states 3399You can use TODO keywords to indicate different @emph{sequential} states
3313in the process of working on an item, for example@footnote{Changing 3400in the process of working on an item, for example@footnote{Changing
3314this variable only becomes effective after restarting Org mode in a 3401this variable only becomes effective after restarting Org-mode in a
3315buffer.}: 3402buffer.}:
3316 3403
3317@lisp 3404@lisp
@@ -3354,7 +3441,7 @@ be set up like this:
3354 3441
3355In this case, different keywords do not indicate a sequence, but rather 3442In this case, different keywords do not indicate a sequence, but rather
3356different types. So the normal work flow would be to assign a task to a 3443different types. So the normal work flow would be to assign a task to a
3357person, and later to mark it DONE. Org mode supports this style by adapting 3444person, and later to mark it DONE. Org-mode supports this style by adapting
3358the workings of the command @kbd{C-c C-t}@footnote{This is also true for the 3445the workings of the command @kbd{C-c C-t}@footnote{This is also true for the
3359@kbd{t} command in the timeline and agenda buffers.}. When used several 3446@kbd{t} command in the timeline and agenda buffers.}. When used several
3360times in succession, it will still cycle through all names, in order to first 3447times in succession, it will still cycle through all names, in order to first
@@ -3362,10 +3449,10 @@ select the right type for a task. But when you return to the item after some
3362time and execute @kbd{C-c C-t} again, it will switch from any name directly 3449time and execute @kbd{C-c C-t} again, it will switch from any name directly
3363to DONE. Use prefix arguments or completion to quickly select a specific 3450to DONE. Use prefix arguments or completion to quickly select a specific
3364name. You can also review the items of a specific TODO type in a sparse tree 3451name. You can also review the items of a specific TODO type in a sparse tree
3365by using a numeric prefix to @kbd{C-c C-v}. For example, to see all things 3452by using a numeric prefix to @kbd{C-c / t}. For example, to see all things
3366Lucy has to do, you would use @kbd{C-3 C-c C-v}. To collect Lucy's items 3453Lucy has to do, you would use @kbd{C-3 C-c / t}. To collect Lucy's items
3367from all agenda files into a single buffer, you would use the numeric prefix 3454from all agenda files into a single buffer, you would use the numeric prefix
3368argument as well when creating the global TODO list: @kbd{C-3 C-c t}. 3455argument as well when creating the global TODO list: @kbd{C-3 C-c a t}.
3369 3456
3370@node Multiple sets in one file, Fast access to TODO states, TODO types, TODO extensions 3457@node Multiple sets in one file, Fast access to TODO states, TODO types, TODO extensions
3371@subsection Multiple keyword sets in one file 3458@subsection Multiple keyword sets in one file
@@ -3385,7 +3472,7 @@ like this:
3385 (sequence "|" "CANCELED"))) 3472 (sequence "|" "CANCELED")))
3386@end lisp 3473@end lisp
3387 3474
3388The keywords should all be different, this helps Org mode to keep track 3475The keywords should all be different, this helps Org-mode to keep track
3389of which subsequence should be used for a given entry. In this setup, 3476of which subsequence should be used for a given entry. In this setup,
3390@kbd{C-c C-t} only operates within a subsequence, so it switches from 3477@kbd{C-c C-t} only operates within a subsequence, so it switches from
3391@code{DONE} to (nothing) to @code{TODO}, and from @code{FIXED} to 3478@code{DONE} to (nothing) to @code{TODO}, and from @code{FIXED} to
@@ -3482,9 +3569,9 @@ Remember that the keywords after the vertical bar (or the last keyword
3482if no bar is there) must always mean that the item is DONE (although you 3569if no bar is there) must always mean that the item is DONE (although you
3483may use a different word). After changing one of these lines, use 3570may use a different word). After changing one of these lines, use
3484@kbd{C-c C-c} with the cursor still in the line to make the changes 3571@kbd{C-c C-c} with the cursor still in the line to make the changes
3485known to Org mode@footnote{Org mode parses these lines only when 3572known to Org-mode@footnote{Org-mode parses these lines only when
3486Org mode is activated after visiting a file. @kbd{C-c C-c} with the 3573Org-mode is activated after visiting a file. @kbd{C-c C-c} with the
3487cursor in a line starting with @samp{#+} is simply restarting Org mode 3574cursor in a line starting with @samp{#+} is simply restarting Org-mode
3488for the current buffer.}. 3575for the current buffer.}.
3489 3576
3490@node Faces for TODO keywords, TODO dependencies, Per-file keywords, TODO extensions 3577@node Faces for TODO keywords, TODO dependencies, Per-file keywords, TODO extensions
@@ -3494,7 +3581,7 @@ for the current buffer.}.
3494@vindex org-todo @r{(face)} 3581@vindex org-todo @r{(face)}
3495@vindex org-done @r{(face)} 3582@vindex org-done @r{(face)}
3496@vindex org-todo-keyword-faces 3583@vindex org-todo-keyword-faces
3497Org mode highlights TODO keywords with special faces: @code{org-todo} 3584Org-mode highlights TODO keywords with special faces: @code{org-todo}
3498for keywords indicating that an item still has to be acted upon, and 3585for keywords indicating that an item still has to be acted upon, and
3499@code{org-done} for keywords indicating that an item is finished. If 3586@code{org-done} for keywords indicating that an item is finished. If
3500you are using more than 2 different states, you might want to use 3587you are using more than 2 different states, you might want to use
@@ -3584,7 +3671,7 @@ module @file{org-depend.el}.
3584@cindex progress logging 3671@cindex progress logging
3585@cindex logging, of progress 3672@cindex logging, of progress
3586 3673
3587Org mode can automatically record a timestamp and possibly a note when 3674Org-mode can automatically record a timestamp and possibly a note when
3588you mark a TODO item as DONE, or even each time you change the state of 3675you mark a TODO item as DONE, or even each time you change the state of
3589a TODO item. This system is highly configurable, settings can be on a 3676a TODO item. This system is highly configurable, settings can be on a
3590per-keyword basis and can be localized to a file or even a subtree. For 3677per-keyword basis and can be localized to a file or even a subtree. For
@@ -3592,9 +3679,9 @@ information on how to clock working time for a task, see @ref{Clocking
3592work time}. 3679work time}.
3593 3680
3594@menu 3681@menu
3595* Closing items:: When was this entry marked DONE? 3682* Closing items:: When was this entry marked DONE?
3596* Tracking TODO state changes:: When did the status change? 3683* Tracking TODO state changes:: When did the status change?
3597* Tracking your habits:: How consistent have you been? 3684* Tracking your habits:: How consistent have you been?
3598@end menu 3685@end menu
3599 3686
3600@node Closing items, Tracking TODO state changes, Progress logging, Progress logging 3687@node Closing items, Tracking TODO state changes, Progress logging, Progress logging
@@ -3648,7 +3735,7 @@ behavior---the recommended drawer for this is called @code{LOGBOOK}. You can
3648also overrule the setting of this variable for a subtree by setting a 3735also overrule the setting of this variable for a subtree by setting a
3649@code{LOG_INTO_DRAWER} property. 3736@code{LOG_INTO_DRAWER} property.
3650 3737
3651Since it is normally too much to record a note for every state, Org mode 3738Since it is normally too much to record a note for every state, Org-mode
3652expects configuration on a per-keyword basis for this. This is achieved by 3739expects configuration on a per-keyword basis for this. This is achieved by
3653adding special markers @samp{!} (for a timestamp) and @samp{@@} (for a note) 3740adding special markers @samp{!} (for a timestamp) and @samp{@@} (for a note)
3654in parentheses after each keyword. For example, with the setting 3741in parentheses after each keyword. For example, with the setting
@@ -3662,7 +3749,7 @@ in parentheses after each keyword. For example, with the setting
3662@vindex org-log-done 3749@vindex org-log-done
3663you not only define global TODO keywords and fast access keys, but also 3750you not only define global TODO keywords and fast access keys, but also
3664request that a time is recorded when the entry is set to 3751request that a time is recorded when the entry is set to
3665DONE@footnote{It is possible that Org mode will record two timestamps 3752DONE@footnote{It is possible that Org-mode will record two timestamps
3666when you are using both @code{org-log-done} and state change logging. 3753when you are using both @code{org-log-done} and state change logging.
3667However, it will never prompt for two notes---if you have configured 3754However, it will never prompt for two notes---if you have configured
3668both, the state change recording note will take precedence and cancel 3755both, the state change recording note will take precedence and cancel
@@ -3778,7 +3865,7 @@ If the task was going to be overdue the next day.
3778If the task was overdue on that day. 3865If the task was overdue on that day.
3779@end table 3866@end table
3780 3867
3781In addition to coloring each day, the day is also marked with an asterix if 3868In addition to coloring each day, the day is also marked with an asterisk if
3782the task was actually done that day, and an exclamation mark to show where 3869the task was actually done that day, and an exclamation mark to show where
3783the current day falls in the graph. 3870the current day falls in the graph.
3784 3871
@@ -3808,10 +3895,9 @@ which should only be done in certain contexts, for example.
3808@section Priorities 3895@section Priorities
3809@cindex priorities 3896@cindex priorities
3810 3897
3811If you use Org mode extensively, you may end up enough TODO items that 3898If you use Org-mode extensively, you may end up with enough TODO items that
3812it starts to make sense to prioritize them. Prioritizing can be done by 3899it starts to make sense to prioritize them. Prioritizing can be done by
3813placing a @emph{priority cookie} into the headline of a TODO item, like 3900placing a @emph{priority cookie} into the headline of a TODO item, like this
3814this
3815 3901
3816@example 3902@example
3817*** TODO [#A] Write letter to Sam Fortune 3903*** TODO [#A] Write letter to Sam Fortune
@@ -3819,11 +3905,11 @@ this
3819 3905
3820@noindent 3906@noindent
3821@vindex org-priority-faces 3907@vindex org-priority-faces
3822By default, Org mode supports three priorities: @samp{A}, @samp{B}, and 3908By default, Org-mode supports three priorities: @samp{A}, @samp{B}, and
3823@samp{C}. @samp{A} is the highest priority. An entry without a cookie is 3909@samp{C}. @samp{A} is the highest priority. An entry without a cookie is
3824treated as priority @samp{B}. Priorities make a difference only in the 3910treated as priority @samp{B}. Priorities make a difference only in the
3825agenda (@pxref{Weekly/daily agenda}); outside the agenda, they have no 3911agenda (@pxref{Weekly/daily agenda}); outside the agenda, they have no
3826inherent meaning to Org mode. The cookies can be highlighted with special 3912inherent meaning to Org-mode. The cookies can be highlighted with special
3827faces by customizing the variable @code{org-priority-faces}. 3913faces by customizing the variable @code{org-priority-faces}.
3828 3914
3829Priorities can be attached to any outline tree entries; they do not need 3915Priorities can be attached to any outline tree entries; they do not need
@@ -3877,7 +3963,7 @@ with detailed subtasks on the tree@footnote{To keep subtasks out of the
3877global TODO list, see the @code{org-agenda-todo-list-sublevels}.}. To keep 3963global TODO list, see the @code{org-agenda-todo-list-sublevels}.}. To keep
3878the overview over the fraction of subtasks that are already completed, insert 3964the overview over the fraction of subtasks that are already completed, insert
3879either @samp{[/]} or @samp{[%]} anywhere in the headline. These cookies will 3965either @samp{[/]} or @samp{[%]} anywhere in the headline. These cookies will
3880be updates each time the todo status of a child changes, or when pressing 3966be updated each time the TODO status of a child changes, or when pressing
3881@kbd{C-c C-c} on the cookie. For example: 3967@kbd{C-c C-c} on the cookie. For example:
3882 3968
3883@example 3969@example
@@ -4043,7 +4129,7 @@ entry twice (checkboxes with @kbd{C-c C-c}).
4043@cindex sparse tree, tag based 4129@cindex sparse tree, tag based
4044 4130
4045An excellent way to implement labels and contexts for cross-correlating 4131An excellent way to implement labels and contexts for cross-correlating
4046information is to assign @i{tags} to headlines. Org mode has extensive 4132information is to assign @i{tags} to headlines. Org-mode has extensive
4047support for tags. 4133support for tags.
4048 4134
4049@vindex org-tag-faces 4135@vindex org-tag-faces
@@ -4057,9 +4143,9 @@ You may specify special faces for specific tags using the variable
4057(@pxref{Faces for TODO keywords}). 4143(@pxref{Faces for TODO keywords}).
4058 4144
4059@menu 4145@menu
4060* Tag inheritance:: Tags use the tree structure of the outline 4146* Tag inheritance:: Tags use the tree structure of the outline
4061* Setting tags:: How to assign tags to a headline 4147* Setting tags:: How to assign tags to a headline
4062* Tag searches:: Searching for combinations of tags 4148* Tag searches:: Searching for combinations of tags
4063@end menu 4149@end menu
4064 4150
4065@node Tag inheritance, Setting tags, Tags, Tags 4151@node Tag inheritance, Setting tags, Tags, Tags
@@ -4123,7 +4209,7 @@ also a special command for inserting tags:
4123@item C-c C-q 4209@item C-c C-q
4124@cindex completion, of tags 4210@cindex completion, of tags
4125@vindex org-tags-column 4211@vindex org-tags-column
4126Enter new tags for the current headline. Org mode will either offer 4212Enter new tags for the current headline. Org-mode will either offer
4127completion or a special single-key interface for setting tags, see 4213completion or a special single-key interface for setting tags, see
4128below. After pressing @key{RET}, the tags will be inserted and aligned 4214below. After pressing @key{RET}, the tags will be inserted and aligned
4129to @code{org-tags-column}. When called with a @kbd{C-u} prefix, all 4215to @code{org-tags-column}. When called with a @kbd{C-u} prefix, all
@@ -4167,7 +4253,7 @@ by adding a STARTUP option line to that file:
4167#+STARTUP: noptag 4253#+STARTUP: noptag
4168@end example 4254@end example
4169 4255
4170By default Org mode uses the standard minibuffer completion facilities for 4256By default Org-mode uses the standard minibuffer completion facilities for
4171entering tags. However, it also implements another, quicker, tag selection 4257entering tags. However, it also implements another, quicker, tag selection
4172method called @emph{fast tag selection}. This allows you to select and 4258method called @emph{fast tag selection}. This allows you to select and
4173deselect tags with just a single key press. For this to work well you should 4259deselect tags with just a single key press. For this to work well you should
@@ -4289,26 +4375,6 @@ C-c}). If you set the variable to the value @code{expert}, the special
4289window is not even shown for single-key tag selection, it comes up only 4375window is not even shown for single-key tag selection, it comes up only
4290when you press an extra @kbd{C-c}. 4376when you press an extra @kbd{C-c}.
4291 4377
4292@vindex org-complete-tags-always-offer-all-agenda-tags
4293As said before, when setting tags and @code{org-tag-alist} is nil, then the
4294list of tags in the current buffer is used. Normally, this behavior is very
4295convenient, except in org remember buffers (@pxref{Remember}), because there
4296are no tags that can be calculated dynamically. Here, you most probably want
4297to have completion for all tags in all agenda files. This can be done by
4298setting @code{org-complete-tags-always-offer-all-agenda-tags} to non-nil in
4299those buffers.
4300
4301@lisp
4302(add-hook 'org-remember-mode-hook
4303 (lambda ()
4304 (set (make-local-variable
4305 'org-complete-tags-always-offer-all-agenda-tags)
4306 t)))
4307@end lisp
4308
4309Of course, you can also set it to @code{t} globally if you always want to
4310have completion of all tags in all agenda files.
4311
4312@node Tag searches, , Setting tags, Tags 4378@node Tag searches, , Setting tags, Tags
4313@section Tag searches 4379@section Tag searches
4314@cindex tag searches 4380@cindex tag searches
@@ -4346,11 +4412,11 @@ and properties. For a complete description with many examples, see
4346 4412
4347 4413
4348@node Properties and Columns, Dates and Times, Tags, Top 4414@node Properties and Columns, Dates and Times, Tags, Top
4349@chapter Properties and Columns 4415@chapter Properties and columns
4350@cindex properties 4416@cindex properties
4351 4417
4352Properties are a set of key-value pairs associated with an entry. There 4418Properties are a set of key-value pairs associated with an entry. There
4353are two main applications for properties in Org mode. First, properties 4419are two main applications for properties in Org-mode. First, properties
4354are like tags, but with a value. Second, you can use properties to 4420are like tags, but with a value. Second, you can use properties to
4355implement (very basic) database capabilities in an Org buffer. For 4421implement (very basic) database capabilities in an Org buffer. For
4356an example of the first application, imagine maintaining a file where 4422an example of the first application, imagine maintaining a file where
@@ -4366,12 +4432,12 @@ Properties can be conveniently edited and viewed in column view
4366(@pxref{Column view}). 4432(@pxref{Column view}).
4367 4433
4368@menu 4434@menu
4369* Property syntax:: How properties are spelled out 4435* Property syntax:: How properties are spelled out
4370* Special properties:: Access to other Org mode features 4436* Special properties:: Access to other Org-mode features
4371* Property searches:: Matching property values 4437* Property searches:: Matching property values
4372* Property inheritance:: Passing values down the tree 4438* Property inheritance:: Passing values down the tree
4373* Column view:: Tabular viewing and editing 4439* Column view:: Tabular viewing and editing
4374* Property API:: Properties for Lisp programmers 4440* Property API:: Properties for Lisp programmers
4375@end menu 4441@end menu
4376 4442
4377@node Property syntax, Special properties, Properties and Columns, Properties and Columns 4443@node Property syntax, Special properties, Properties and Columns, Properties and Columns
@@ -4465,7 +4531,7 @@ nearest column format definition.
4465@section Special properties 4531@section Special properties
4466@cindex properties, special 4532@cindex properties, special
4467 4533
4468Special properties provide an alternative access method to Org mode 4534Special properties provide an alternative access method to Org-mode
4469features, like the TODO state or the priority of an entry, discussed in the 4535features, like the TODO state or the priority of an entry, discussed in the
4470previous chapters. This interface exists so that you can include 4536previous chapters. This interface exists so that you can include
4471these states in a column view (@pxref{Column view}), or to use them in 4537these states in a column view (@pxref{Column view}), or to use them in
@@ -4553,16 +4619,18 @@ a regular expression and matched against the property values.
4553@vindex org-use-property-inheritance 4619@vindex org-use-property-inheritance
4554The outline structure of Org-mode documents lends itself for an 4620The outline structure of Org-mode documents lends itself for an
4555inheritance model of properties: if the parent in a tree has a certain 4621inheritance model of properties: if the parent in a tree has a certain
4556property, the children can inherit this property. Org mode does not 4622property, the children can inherit this property. Org-mode does not
4557turn this on by default, because it can slow down property searches 4623turn this on by default, because it can slow down property searches
4558significantly and is often not needed. However, if you find inheritance 4624significantly and is often not needed. However, if you find inheritance
4559useful, you can turn it on by setting the variable 4625useful, you can turn it on by setting the variable
4560@code{org-use-property-inheritance}. It may be set to @code{t} to make 4626@code{org-use-property-inheritance}. It may be set to @code{t} to make
4561all properties inherited from the parent, to a list of properties 4627all properties inherited from the parent, to a list of properties
4562that should be inherited, or to a regular expression that matches 4628that should be inherited, or to a regular expression that matches
4563inherited properties. 4629inherited properties. If a property has the value @samp{nil}, this is
4630interpreted as an explicit undefine of he property, so that inheritance
4631search will stop at this value and return @code{nil}.
4564 4632
4565Org mode has a few properties for which inheritance is hard-coded, at 4633Org-mode has a few properties for which inheritance is hard-coded, at
4566least for the special applications for which they are used: 4634least for the special applications for which they are used:
4567 4635
4568@cindex property, COLUMNS 4636@cindex property, COLUMNS
@@ -4593,7 +4661,7 @@ subtree (@pxref{Tracking TODO state changes}).
4593A great way to view and edit properties in an outline tree is 4661A great way to view and edit properties in an outline tree is
4594@emph{column view}. In column view, each outline node is turned into a 4662@emph{column view}. In column view, each outline node is turned into a
4595table row. Columns in this table provide access to properties of the 4663table row. Columns in this table provide access to properties of the
4596entries. Org mode implements columns by overlaying a tabular structure 4664entries. Org-mode implements columns by overlaying a tabular structure
4597over the headline of each item. While the headlines have been turned 4665over the headline of each item. While the headlines have been turned
4598into a table row, you can still change the visibility of the outline 4666into a table row, you can still change the visibility of the outline
4599tree. For example, you get a compact table by switching to CONTENTS 4667tree. For example, you get a compact table by switching to CONTENTS
@@ -4605,9 +4673,9 @@ Column view also works in agenda buffers (@pxref{Agenda Views}) where
4605queries have collected selected items, possibly from a number of files. 4673queries have collected selected items, possibly from a number of files.
4606 4674
4607@menu 4675@menu
4608* Defining columns:: The COLUMNS format property 4676* Defining columns:: The COLUMNS format property
4609* Using column view:: How to create and use column view 4677* Using column view:: How to create and use column view
4610* Capturing column view:: A dynamic block for column view 4678* Capturing column view:: A dynamic block for column view
4611@end menu 4679@end menu
4612 4680
4613@node Defining columns, Using column view, Column view, Column view 4681@node Defining columns, Using column view, Column view, Column view
@@ -4619,8 +4687,8 @@ Setting up a column view first requires defining the columns. This is
4619done by defining a column format line. 4687done by defining a column format line.
4620 4688
4621@menu 4689@menu
4622* Scope of column definitions:: Where defined, where valid? 4690* Scope of column definitions:: Where defined, where valid?
4623* Column attributes:: Appearance and content of a column 4691* Column attributes:: Appearance and content of a column
4624@end menu 4692@end menu
4625 4693
4626@node Scope of column definitions, Column attributes, Defining columns, Defining columns 4694@node Scope of column definitions, Column attributes, Defining columns, Defining columns
@@ -4677,7 +4745,7 @@ optional. The individual parts have the following meaning:
4677 @{+@} @r{Sum numbers in this column.} 4745 @{+@} @r{Sum numbers in this column.}
4678 @{+;%.1f@} @r{Like @samp{+}, but format result with @samp{%.1f}.} 4746 @{+;%.1f@} @r{Like @samp{+}, but format result with @samp{%.1f}.}
4679 @{$@} @r{Currency, short for @samp{+;%.2f}.} 4747 @{$@} @r{Currency, short for @samp{+;%.2f}.}
4680 @{:@} @r{Sum times, HH:MM:SS, plain numbers are hours.} 4748 @{:@} @r{Sum times, HH:MM, plain numbers are hours.}
4681 @{X@} @r{Checkbox status, @samp{[X]} if all children are @samp{[X]}.} 4749 @{X@} @r{Checkbox status, @samp{[X]} if all children are @samp{[X]}.}
4682 @{X/@} @r{Checkbox status, @samp{[n/m]}.} 4750 @{X/@} @r{Checkbox status, @samp{[n/m]}.}
4683 @{X%@} @r{Checkbox status, @samp{[n%]}.} 4751 @{X%@} @r{Checkbox status, @samp{[n%]}.}
@@ -4888,7 +4956,7 @@ features based on them. For more information see @ref{Using the
4888property API}. 4956property API}.
4889 4957
4890@node Dates and Times, Capture - Refile - Archive, Properties and Columns, Top 4958@node Dates and Times, Capture - Refile - Archive, Properties and Columns, Top
4891@chapter Dates and Times 4959@chapter Dates and times
4892@cindex dates 4960@cindex dates
4893@cindex times 4961@cindex times
4894@cindex timestamp 4962@cindex timestamp
@@ -4896,19 +4964,19 @@ property API}.
4896 4964
4897To assist project planning, TODO items can be labeled with a date and/or 4965To assist project planning, TODO items can be labeled with a date and/or
4898a time. The specially formatted string carrying the date and time 4966a time. The specially formatted string carrying the date and time
4899information is called a @emph{timestamp} in Org mode. This may be a 4967information is called a @emph{timestamp} in Org-mode. This may be a
4900little confusing because timestamp is often used as indicating when 4968little confusing because timestamp is often used as indicating when
4901something was created or last changed. However, in Org mode this term 4969something was created or last changed. However, in Org-mode this term
4902is used in a much wider sense. 4970is used in a much wider sense.
4903 4971
4904@menu 4972@menu
4905* Timestamps:: Assigning a time to a tree entry 4973* Timestamps:: Assigning a time to a tree entry
4906* Creating timestamps:: Commands which insert timestamps 4974* Creating timestamps:: Commands which insert timestamps
4907* Deadlines and scheduling:: Planning your work 4975* Deadlines and scheduling:: Planning your work
4908* Clocking work time:: Tracking how long you spend on a task 4976* Clocking work time:: Tracking how long you spend on a task
4909* Resolving idle time:: Resolving time if you've been idle 4977* Resolving idle time:: Resolving time if you've been idle
4910* Effort estimates:: Planning work effort in advance 4978* Effort estimates:: Planning work effort in advance
4911* Relative timer:: Notes with a running timer 4979* Relative timer:: Notes with a running timer
4912@end menu 4980@end menu
4913 4981
4914 4982
@@ -4954,7 +5022,7 @@ following will show up in the agenda every Wednesday:
4954@end example 5022@end example
4955 5023
4956@item Diary-style sexp entries 5024@item Diary-style sexp entries
4957For more complex date specifications, Org mode supports using the 5025For more complex date specifications, Org-mode supports using the
4958special sexp diary entries implemented in the Emacs calendar/diary 5026special sexp diary entries implemented in the Emacs calendar/diary
4959package. For example 5027package. For example
4960 5028
@@ -4993,7 +5061,7 @@ angular ones. These timestamps are inactive in the sense that they do
4993@cindex creating timestamps 5061@cindex creating timestamps
4994@cindex timestamps, creating 5062@cindex timestamps, creating
4995 5063
4996For Org mode to recognize timestamps, they need to be in the specific 5064For Org-mode to recognize timestamps, they need to be in the specific
4997format. All commands listed below produce timestamps in the correct 5065format. All commands listed below produce timestamps in the correct
4998format. 5066format.
4999 5067
@@ -5064,8 +5132,8 @@ the following column).
5064 5132
5065 5133
5066@menu 5134@menu
5067* The date/time prompt:: How Org mode helps you entering date and time 5135* The date/time prompt:: How Org-mode helps you entering date and time
5068* Custom time format:: Making dates look different 5136* Custom time format:: Making dates look different
5069@end menu 5137@end menu
5070 5138
5071@node The date/time prompt, Custom time format, Creating timestamps, Creating timestamps 5139@node The date/time prompt, Custom time format, Creating timestamps, Creating timestamps
@@ -5074,17 +5142,17 @@ the following column).
5074@cindex time, reading in minibuffer 5142@cindex time, reading in minibuffer
5075 5143
5076@vindex org-read-date-prefer-future 5144@vindex org-read-date-prefer-future
5077When Org mode prompts for a date/time, the default is shown in default 5145When Org-mode prompts for a date/time, the default is shown in default
5078date/time format, and the prompt therefore seems to ask for a specific 5146date/time format, and the prompt therefore seems to ask for a specific
5079format. But it will in fact accept any string containing some date and/or 5147format. But it will in fact accept any string containing some date and/or
5080time information, and it is really smart about interpreting your input. You 5148time information, and it is really smart about interpreting your input. You
5081can, for example, use @kbd{C-y} to paste a (possibly multi-line) string 5149can, for example, use @kbd{C-y} to paste a (possibly multi-line) string
5082copied from an email message. Org mode will find whatever information is in 5150copied from an email message. Org-mode will find whatever information is in
5083there and derive anything you have not specified from the @emph{default date 5151there and derive anything you have not specified from the @emph{default date
5084and time}. The default is usually the current date and time, but when 5152and time}. The default is usually the current date and time, but when
5085modifying an existing timestamp, or when entering the second stamp of a 5153modifying an existing timestamp, or when entering the second stamp of a
5086range, it is taken from the stamp in the buffer. When filling in 5154range, it is taken from the stamp in the buffer. When filling in
5087information, Org mode assumes that most of the time you will want to enter a 5155information, Org-mode assumes that most of the time you will want to enter a
5088date in the future: if you omit the month/year and the given day/month is 5156date in the future: if you omit the month/year and the given day/month is
5089@i{before} today, it will assume that you mean a future date@footnote{See the 5157@i{before} today, it will assume that you mean a future date@footnote{See the
5090variable @code{org-read-date-prefer-future}. You may set that variable to 5158variable @code{org-read-date-prefer-future}. You may set that variable to
@@ -5093,7 +5161,7 @@ tomorrow.}. If the date has been automatically shifted into the future, the
5093time prompt will show this with @samp{(=>F).} 5161time prompt will show this with @samp{(=>F).}
5094 5162
5095For example, let's assume that today is @b{June 13, 2006}. Here is how 5163For example, let's assume that today is @b{June 13, 2006}. Here is how
5096various inputs will be interpreted, the items filled in by Org mode are 5164various inputs will be interpreted, the items filled in by Org-mode are
5097in @b{bold}. 5165in @b{bold}.
5098 5166
5099@example 5167@example
@@ -5101,8 +5169,8 @@ in @b{bold}.
51012/5/3 --> 2003-02-05 51692/5/3 --> 2003-02-05
510214 --> @b{2006}-@b{06}-14 517014 --> @b{2006}-@b{06}-14
510312 --> @b{2006}-@b{07}-12 517112 --> @b{2006}-@b{07}-12
51042/5 --> @b{2003}-02-05 51722/5 --> @b{2007}-02-05
5105Fri --> nearest Friday (defaultdate or later) 5173Fri --> nearest Friday (default date or later)
5106sep 15 --> @b{2006}-09-15 5174sep 15 --> @b{2006}-09-15
5107feb 15 --> @b{2007}-02-15 5175feb 15 --> @b{2007}-02-15
5108sep 12 9 --> 2009-09-12 5176sep 12 9 --> 2009-09-12
@@ -5149,6 +5217,8 @@ from the minibuffer:
5149 5217
5150@kindex < 5218@kindex <
5151@kindex > 5219@kindex >
5220@kindex M-v
5221@kindex C-v
5152@kindex mouse-1 5222@kindex mouse-1
5153@kindex S-@key{right} 5223@kindex S-@key{right}
5154@kindex S-@key{left} 5224@kindex S-@key{left}
@@ -5158,12 +5228,13 @@ from the minibuffer:
5158@kindex M-S-@key{left} 5228@kindex M-S-@key{left}
5159@kindex @key{RET} 5229@kindex @key{RET}
5160@example 5230@example
5161> / < @r{Scroll calendar forward/backward by one month.} 5231@key{RET} @r{Choose date at cursor in calendar.}
5162mouse-1 @r{Select date by clicking on it.} 5232mouse-1 @r{Select date by clicking on it.}
5163S-@key{right}/@key{left} @r{One day forward/backward.} 5233S-@key{right}/@key{left} @r{One day forward/backward.}
5164S-@key{down}/@key{up} @r{One week forward/backward.} 5234S-@key{down}/@key{up} @r{One week forward/backward.}
5165M-S-@key{right}/@key{left} @r{One month forward/backward.} 5235M-S-@key{right}/@key{left} @r{One month forward/backward.}
5166@key{RET} @r{Choose date in calendar.} 5236> / < @r{Scroll calendar forward/backward by one month.}
5237M-v / C-v @r{Scroll calendar forward/backward by 3 months.}
5167@end example 5238@end example
5168 5239
5169@vindex org-read-date-display-live 5240@vindex org-read-date-display-live
@@ -5182,7 +5253,7 @@ minibuffer@footnote{If you find this distracting, turn the display of with
5182 5253
5183@vindex org-display-custom-times 5254@vindex org-display-custom-times
5184@vindex org-time-stamp-custom-formats 5255@vindex org-time-stamp-custom-formats
5185Org mode uses the standard ISO notation for dates and times as it is 5256Org-mode uses the standard ISO notation for dates and times as it is
5186defined in ISO 8601. If you cannot get used to this and require another 5257defined in ISO 8601. If you cannot get used to this and require another
5187representation of date and time to keep you happy, you can get it by 5258representation of date and time to keep you happy, you can get it by
5188customizing the variables @code{org-display-custom-times} and 5259customizing the variables @code{org-display-custom-times} and
@@ -5195,7 +5266,7 @@ Toggle the display of custom formats for dates and times.
5195@end table 5266@end table
5196 5267
5197@noindent 5268@noindent
5198Org mode needs the default format for scanning, so the custom date/time 5269Org-mode needs the default format for scanning, so the custom date/time
5199format does not @emph{replace} the default format---instead it is put 5270format does not @emph{replace} the default format---instead it is put
5200@emph{over} the default format using text properties. This has the 5271@emph{over} the default format using text properties. This has the
5201following consequences: 5272following consequences:
@@ -5272,30 +5343,30 @@ I.e. the task will automatically be forwarded until completed.
5272@end example 5343@end example
5273 5344
5274@noindent 5345@noindent
5275@b{Important:} Scheduling an item in Org mode should @i{not} be 5346@b{Important:} Scheduling an item in Org-mode should @i{not} be
5276understood in the same way that we understand @i{scheduling a meeting}. 5347understood in the same way that we understand @i{scheduling a meeting}.
5277Setting a date for a meeting is just a simple appointment, you should 5348Setting a date for a meeting is just a simple appointment, you should
5278mark this entry with a simple plain timestamp, to get this item shown 5349mark this entry with a simple plain timestamp, to get this item shown
5279on the date where it applies. This is a frequent misunderstanding by 5350on the date where it applies. This is a frequent misunderstanding by
5280Org users. In Org mode, @i{scheduling} means setting a date when you 5351Org users. In Org-mode, @i{scheduling} means setting a date when you
5281want to start working on an action item. 5352want to start working on an action item.
5282@end table 5353@end table
5283 5354
5284You may use timestamps with repeaters in scheduling and deadline 5355You may use timestamps with repeaters in scheduling and deadline
5285entries. Org mode will issue early and late warnings based on the 5356entries. Org-mode will issue early and late warnings based on the
5286assumption that the timestamp represents the @i{nearest instance} of 5357assumption that the timestamp represents the @i{nearest instance} of
5287the repeater. However, the use of diary sexp entries like 5358the repeater. However, the use of diary sexp entries like
5288@c 5359@c
5289@code{<%%(diary-float t 42)>} 5360@code{<%%(diary-float t 42)>}
5290@c 5361@c
5291in scheduling and deadline timestamps is limited. Org mode does not 5362in scheduling and deadline timestamps is limited. Org-mode does not
5292know enough about the internals of each sexp function to issue early and 5363know enough about the internals of each sexp function to issue early and
5293late warnings. However, it will show the item on each day where the 5364late warnings. However, it will show the item on each day where the
5294sexp entry matches. 5365sexp entry matches.
5295 5366
5296@menu 5367@menu
5297* Inserting deadline/schedule:: Planning items 5368* Inserting deadline/schedule:: Planning items
5298* Repeated tasks:: Items that show up again and again 5369* Repeated tasks:: Items that show up again and again
5299@end menu 5370@end menu
5300 5371
5301@node Inserting deadline/schedule, Repeated tasks, Deadlines and scheduling, Deadlines and scheduling 5372@node Inserting deadline/schedule, Repeated tasks, Deadlines and scheduling, Deadlines and scheduling
@@ -5361,7 +5432,7 @@ Sparse tree for deadlines and scheduled items after a given date.
5361@cindex tasks, repeated 5432@cindex tasks, repeated
5362@cindex repeated tasks 5433@cindex repeated tasks
5363 5434
5364Some tasks need to be repeated again and again. Org mode helps to 5435Some tasks need to be repeated again and again. Org-mode helps to
5365organize such tasks using a so-called repeater in a DEADLINE, SCHEDULED, 5436organize such tasks using a so-called repeater in a DEADLINE, SCHEDULED,
5366or plain timestamp. In the following example 5437or plain timestamp. In the following example
5367@example 5438@example
@@ -5375,17 +5446,21 @@ from that time. If you need both a repeater and a special warning period in
5375a deadline entry, the repeater should come first and the warning period last: 5446a deadline entry, the repeater should come first and the warning period last:
5376@code{DEADLINE: <2005-10-01 Sat +1m -3d>}. 5447@code{DEADLINE: <2005-10-01 Sat +1m -3d>}.
5377 5448
5378Deadlines and scheduled items produce entries in the agenda when they 5449@vindex org-todo-repeat-to-state
5379are over-due, so it is important to be able to mark such an entry as 5450Deadlines and scheduled items produce entries in the agenda when they are
5380completed once you have done so. When you mark a DEADLINE or a SCHEDULE 5451over-due, so it is important to be able to mark such an entry as completed
5381with the TODO keyword DONE, it will no longer produce entries in the 5452once you have done so. When you mark a DEADLINE or a SCHEDULE with the TODO
5382agenda. The problem with this is, however, that then also the 5453keyword DONE, it will no longer produce entries in the agenda. The problem
5383@emph{next} instance of the repeated entry will not be active. Org mode 5454with this is, however, that then also the @emph{next} instance of the
5384deals with this in the following way: When you try to mark such an entry 5455repeated entry will not be active. Org-mode deals with this in the following
5385DONE (using @kbd{C-c C-t}), it will shift the base date of the repeating 5456way: When you try to mark such an entry DONE (using @kbd{C-c C-t}), it will
5386timestamp by the repeater interval, and immediately set the entry state 5457shift the base date of the repeating timestamp by the repeater interval, and
5387back to TODO. In the example above, setting the state to DONE would 5458immediately set the entry state back to TODO@footnote{In fact, the target
5388actually switch the date like this: 5459state is taken from, in this sequence, the @code{REPEAT_TO_STATE} property or
5460the variable @code{org-todo-repeat-to-state}. If neither of these is
5461specified, the target state defaults to the first state of the TODO state
5462sequence.}. In the example above, setting the state to DONE would actually
5463switch the date like this:
5389 5464
5390@example 5465@example
5391** TODO Pay the rent 5466** TODO Pay the rent
@@ -5410,7 +5485,7 @@ task, this may not be the best way to handle it. For example, if you
5410forgot to call you father for 3 weeks, it does not make sense to call 5485forgot to call you father for 3 weeks, it does not make sense to call
5411him 3 times in a single day to make up for it. Finally, there are tasks 5486him 3 times in a single day to make up for it. Finally, there are tasks
5412like changing batteries which should always repeat a certain time 5487like changing batteries which should always repeat a certain time
5413@i{after} the last time you did it. For these tasks, Org mode has 5488@i{after} the last time you did it. For these tasks, Org-mode has
5414special repeaters markers with @samp{++} and @samp{.+}. For example: 5489special repeaters markers with @samp{++} and @samp{.+}. For example:
5415 5490
5416@example 5491@example
@@ -5437,7 +5512,7 @@ created for this purpose, it is described in @ref{Structure editing}.
5437@node Clocking work time, Resolving idle time, Deadlines and scheduling, Dates and Times 5512@node Clocking work time, Resolving idle time, Deadlines and scheduling, Dates and Times
5438@section Clocking work time 5513@section Clocking work time
5439 5514
5440Org mode allows you to clock the time you spend on specific tasks in a 5515Org-mode allows you to clock the time you spend on specific tasks in a
5441project. When you start working on an item, you can start the clock. 5516project. When you start working on an item, you can start the clock.
5442When you stop working on that task, or when you mark the task done, the 5517When you stop working on that task, or when you mark the task done, the
5443clock is stopped and the corresponding time interval is recorded. It 5518clock is stopped and the corresponding time interval is recorded. It
@@ -5573,6 +5648,8 @@ new table. The @samp{BEGIN} line can specify options:
5573:tend @r{A time string specifying when to stop considering times.} 5648:tend @r{A time string specifying when to stop considering times.}
5574:step @r{@code{week} or @code{day}, to split the table into chunks.} 5649:step @r{@code{week} or @code{day}, to split the table into chunks.}
5575 @r{To use this, @code{:block} or @code{:tstart}, @code{:tend} are needed.} 5650 @r{To use this, @code{:block} or @code{:tstart}, @code{:tend} are needed.}
5651:stepskip0 @r{Don't show steps that have zero time}
5652:tags @r{A tags match to select entries that should contribute}
5576:link @r{Link the item headlines in the table to their origins.} 5653:link @r{Link the item headlines in the table to their origins.}
5577:formula @r{Content of a @code{#+TBLFM} line to be added and evaluated.} 5654:formula @r{Content of a @code{#+TBLFM} line to be added and evaluated.}
5578 @r{As a special case, @samp{:formula %} adds a column with % time.} 5655 @r{As a special case, @samp{:formula %} adds a column with % time.}
@@ -5665,8 +5742,8 @@ use the shift key and press @kbd{S}. Remember that using shift will always
5665leave you clocked out, no matter which option you choose. 5742leave you clocked out, no matter which option you choose.
5666@item C 5743@item C
5667To cancel the clock altogether, use @kbd{C}. Note that if instead of 5744To cancel the clock altogether, use @kbd{C}. Note that if instead of
5668cancelling you subtract the away time, and the resulting clock amount is less 5745canceling you subtract the away time, and the resulting clock amount is less
5669than a minute, the clock will still be cancelled rather than clutter up the 5746than a minute, the clock will still be canceled rather than clutter up the
5670log with an empty entry. 5747log with an empty entry.
5671@end table 5748@end table
5672 5749
@@ -5794,7 +5871,7 @@ timer is reset to 0. When called with a @kbd{C-u} prefix, reset the timer to
5794specific starting offset. The user is prompted for the offset, with a 5871specific starting offset. The user is prompted for the offset, with a
5795default taken from a timer string at point, if any, So this can be used to 5872default taken from a timer string at point, if any, So this can be used to
5796restart taking notes after a break in the process. When called with a double 5873restart taking notes after a break in the process. When called with a double
5797prefix argument @kbd{C-c C-u}, change all timer strings in the active region 5874prefix argument @kbd{C-u C-u}, change all timer strings in the active region
5798by a certain amount. This can be used to fix timer strings if the timer was 5875by a certain amount. This can be used to fix timer strings if the timer was
5799not started at exactly the right moment. 5876not started at exactly the right moment.
5800@end table 5877@end table
@@ -5805,155 +5882,282 @@ not started at exactly the right moment.
5805 5882
5806An important part of any organization system is the ability to quickly 5883An important part of any organization system is the ability to quickly
5807capture new ideas and tasks, and to associate reference material with them. 5884capture new ideas and tasks, and to associate reference material with them.
5808Org uses the @file{remember.el} package to create tasks, and stores files 5885Org does this using a process called @i{capture}. It also can store files
5809related to a task (@i{attachments}) in a special directory. Once in the 5886related to a task (@i{attachments}) in a special directory. Once in the
5810system, tasks and projects need to be moved around. Moving completed project 5887system, tasks and projects need to be moved around. Moving completed project
5811trees to an archive file keeps the system compact and fast. 5888trees to an archive file keeps the system compact and fast.
5812 5889
5813@menu 5890@menu
5814* Remember:: Capture new tasks/ideas with little interruption 5891* Capture:: Capturing new stuff
5815* Attachments:: Add files to tasks. 5892* Attachments:: Add files to tasks
5816* RSS Feeds:: Getting input from RSS feeds 5893* RSS Feeds:: Getting input from RSS feeds
5817* Protocols:: External (e.g. Browser) access to Emacs and Org 5894* Protocols:: External (e.g. Browser) access to Emacs and Org
5818* Refiling notes:: Moving a tree from one place to another 5895* Refiling notes:: Moving a tree from one place to another
5819* Archiving:: What to do with finished projects 5896* Archiving:: What to do with finished projects
5820@end menu 5897@end menu
5821 5898
5822@node Remember, Attachments, Capture - Refile - Archive, Capture - Refile - Archive 5899@node Capture, Attachments, Capture - Refile - Archive, Capture - Refile - Archive
5823@section Remember 5900@section Capture
5824@cindex @file{remember.el} 5901@cindex capture
5825 5902
5826The Remember package by John Wiegley lets you store quick notes with little 5903Org's method for capturing new items is heavily inspired by John Wiegley
5827interruption of your work flow. It is an excellent way to add new notes and 5904excellent remember package. Up to version 6.36 Org used a special setup
5828tasks to Org files. The @code{remember.el} package is part of Emacs 23, not 5905for @file{remember.el}. @file{org-remember.el} is still part of Org-mode for
5829Emacs 22. See @uref{http://www.emacswiki.org/cgi-bin/wiki/RememberMode} for 5906backward compatibility with existing setups. You can find the documentation
5830more information. 5907for org-remember at @url{http://orgmode.org/org-remember.pdf}.
5831 5908
5832Org significantly expands the possibilities of Remember: you may define 5909The new capturing setup described here is preferred and should be used by new
5833templates for different note types, and associate target files and headlines 5910users. To convert your @code{org-remember-templates}, run the command
5834with specific templates. It also allows you to select the location where a 5911@example
5835note should be stored interactively, on the fly. 5912@kbd{M-x org-capture-import-remember-templates @key{RET}}
5913@end example
5914@noindent and then customize the new variable with @kbd{M-x
5915customize-variable org-capture-templates}, check the result, and save the
5916customization. You can then use both remember and capture until
5917you are familiar with the new mechanism.
5918
5919Capture lets you quickly store notes with little interruption of your work
5920flow. The basic process of capturing is very similar to remember, but Org
5921does enhance it with templates and more.
5836 5922
5837@menu 5923@menu
5838* Setting up Remember for Org:: Some code for .emacs to get things going 5924* Setting up capture:: Where notes will be stored
5839* Remember templates:: Define the outline of different note types 5925* Using capture:: Commands to invoke and terminate capture
5840* Storing notes:: Directly get the note to where it belongs 5926* Capture templates:: Define the outline of different note types
5841@end menu 5927@end menu
5842 5928
5843@node Setting up Remember for Org, Remember templates, Remember, Remember 5929@node Setting up capture, Using capture, Capture, Capture
5844@subsection Setting up Remember for Org 5930@subsection Setting up capture
5845 5931
5846The following customization will tell Remember to use Org files as 5932The following customization sets a default target file for notes, and defines
5847target, and to create annotations compatible with Org links. 5933a global key@footnote{Please select your own key, @kbd{C-c c} is only a
5934suggestion.} for capturing new material.
5848 5935
5849@example 5936@example
5850(org-remember-insinuate)
5851(setq org-directory "~/path/to/my/orgfiles/")
5852(setq org-default-notes-file (concat org-directory "/notes.org")) 5937(setq org-default-notes-file (concat org-directory "/notes.org"))
5853(define-key global-map "\C-cr" 'org-remember) 5938(define-key global-map "\C-cc" 'org-capture)
5854@end example 5939@end example
5855 5940
5856@noindent 5941@node Using capture, Capture templates, Setting up capture, Capture
5857The last line binds the command @code{org-remember} to a global 5942@subsection Using capture
5858key@footnote{Please select your own key, @kbd{C-c r} is only a
5859suggestion.}. @code{org-remember} basically just calls Remember,
5860but it makes a few things easier: if there is an active region, it will
5861automatically copy the region into the Remember buffer. It also allows
5862to jump to the buffer and location where Remember notes are being
5863stored: just call @code{org-remember} with a prefix argument. If you
5864use two prefix arguments, Org jumps to the location where the last
5865remember note was stored.
5866
5867The Remember buffer will actually use @code{org-mode} as its major mode, so
5868that all editing features of Org mode are available. In addition to this, a
5869minor mode @code{org-remember-mode} is turned on, for the single purpose that
5870you can use its keymap @code{org-remember-mode-map} to overwrite some of
5871Org mode's key bindings.
5872
5873You can also call @code{org-remember} in a special way from the agenda,
5874using the @kbd{k r} key combination. With this access, any timestamps
5875inserted by the selected Remember template (see below) will default to
5876the cursor date in the agenda, rather than to the current date.
5877
5878@node Remember templates, Storing notes, Setting up Remember for Org, Remember
5879@subsection Remember templates
5880@cindex templates, for Remember
5881
5882In combination with Org, you can use templates to generate
5883different types of Remember notes. For example, if you would like
5884to use one template to create general TODO entries, another one for
5885journal entries, and a third one for collecting random ideas, you could
5886use:
5887
5888@example
5889(setq org-remember-templates
5890 '(("Todo" ?t "* TODO %?\n %i\n %a" "~/org/TODO.org" "Tasks")
5891 ("Journal" ?j "* %U %?\n\n %i\n %a" "~/org/JOURNAL.org")
5892 ("Idea" ?i "* %^@{Title@}\n %i\n %a" "~/org/JOURNAL.org" "New Ideas")))
5893@end example
5894
5895@vindex org-remember-default-headline
5896@vindex org-directory
5897@noindent In these entries, the first string is just a name, and the
5898character specifies how to select the template. It is useful if the
5899character is also the first letter of the name. The next string specifies
5900the template. Two more (optional) strings give the file in which, and the
5901headline under which, the new note should be stored. The file (if not
5902present or @code{nil}) defaults to @code{org-default-notes-file}, the heading
5903to @code{org-remember-default-headline}. If the file name is not an absolute
5904path, it will be interpreted relative to @code{org-directory}.
5905
5906The heading can also be the symbols @code{top} or @code{bottom} to send notes
5907as level 1 entries to the beginning or end of the file, respectively. It may
5908also be the symbol @code{date-tree}. Then, a tree with year on level 1,
5909month on level 2 and day on level three will be build in the file, and the
5910entry will be filed into the tree under the current date@footnote{If the file
5911contains an entry with a @code{DATE_TREE} property, the entire date tree will
5912be build under that entry.}
5913
5914An optional sixth element specifies the contexts in which the user can select
5915the template. This element can be a list of major modes or a function.
5916@code{org-remember} will first check whether the function returns @code{t} or
5917if we are in any of the listed major modes, and exclude templates for which
5918this condition is not fulfilled. Templates that do not specify this element
5919at all, or that use @code{nil} or @code{t} as a value will always be
5920selectable.
5921
5922So for example:
5923
5924@example
5925(setq org-remember-templates
5926 '(("Bug" ?b "* BUG %?\n %i\n %a" "~/org/BUGS.org" "Bugs" (emacs-lisp-mode))
5927 ("Journal" ?j "* %U %?\n\n %i\n %a" "~/org/JOURNAL.org" "X" my-check)
5928 ("Idea" ?i "* %^@{Title@}\n %i\n %a" "~/org/JOURNAL.org" "New Ideas")))
5929@end example
5930 5943
5931@noindent 5944@table @kbd
5932The first template will only be available when invoking @code{org-remember} 5945@kindex C-c c
5933from an buffer in @code{emacs-lisp-mode}. The second template will only be 5946@item C-c c
5934available when the function @code{my-check} returns @code{t}. The third 5947Call the command @code{org-capture}. If you have templates defined
5935template will be proposed in any context. 5948@pxref{Capture templates}, it will offer these templates for selection or use
5949a new Org outline node as the default template. It will insert the template
5950into the target file and switch to an indirect buffer narrowed to this new
5951node. You may then insert the information you want.
5952
5953@kindex C-c C-c
5954@item C-c C-c
5955Once you have finished entering information into the capture buffer,
5956@kbd{C-c C-c} will return you to the window configuration before the capture
5957process, so that you can resume your work without further distraction.
5958
5959@kindex C-c C-w
5960@item C-c C-w
5961Finalize the capture process by refiling (@pxref{Refiling notes}) the note to
5962a different place.
5936 5963
5937When you call @kbd{M-x org-remember} (or @kbd{M-x remember}) to remember 5964@kindex C-c C-k
5938something, Org will prompt for a key to select the template (if you have 5965@item C-c C-k
5939more than one template) and then prepare the buffer like 5966Abort the capture process and return to the previous state.
5967@end table
5968
5969You can also call @code{org-capture} in a special way from the agenda, using
5970the @kbd{k c} key combination. With this access, any timestamps inserted by
5971the selected capture template will default to the cursor date in the agenda,
5972rather than to the current date.
5973
5974@node Capture templates, , Using capture, Capture
5975@subsection Capture templates
5976@cindex templates, for Capture
5977
5978You can use templates for different types of capture items, and
5979for different target locations. The easiest way to create such templates is
5980through the customize interface.
5981
5982@table @kbd
5983@kindex C-c c C
5984@item C-c c C
5985Customize the variable @code{org-capture-templates}.
5986@end table
5987
5988Before we give the formal description of template definitions, let's look at
5989an example. Say you would like to use one template to create general TODO
5990entries, and you want to put these entries under the heading @samp{Tasks} in
5991your file @file{~/org/gtd.org}. Also, a date tree in the file
5992@file{journal.org} should capture journal entries. A possible configuration
5993would look like:
5994
5995@example
5996(setq org-capture-templates
5997 '(("t" "Todo" entry (file+headline "~/org/gtd.org" "Tasks")
5998 "* TODO %?\n %i\n %a")
5999 ("j" "Journal" entry (file+datetree "~/org/journal.org")
6000 "* %?\nEntered on %U\n %i\n %a")))
6001@end example
6002
6003@noindent If you then press @kbd{C-c c t}, Org will prepare the template
6004for you like this:
5940@example 6005@example
5941* TODO 6006* TODO
5942 [[file:@var{link to where you called remember}]] 6007 [[file:@var{link to where you initiated capture}]]
5943@end example 6008@end example
5944 6009
5945@noindent 6010@noindent
5946During expansion of the template, special @kbd{%}-escapes@footnote{If you 6011During expansion of the template, @code{%a} has been replaced by a link to
5947need one of these sequences literally, escape the @kbd{%} with a backslash.} 6012the location from where you called the capture command. This can be
5948allow dynamic insertion of content: 6013extremely useful for deriving tasks from emails, for example. You fill in
6014the task definition, press @code{C-c C-c} and Org returns you to the same
6015place where you started the capture process.
6016
6017
6018@menu
6019* Template elements:: What is needed for a complete template entry
6020* Template expansion:: Filling in information about time and context
6021@end menu
6022
6023@node Template elements, Template expansion, Capture templates, Capture templates
6024@subsubsection Template elements
6025
6026Now lets look at the elements of a template definition. Each entry in
6027@code{org-capture-templates} is a list with the following items:
6028
6029@table @var
6030@item keys
6031The keys that will select the template, as a string, characters
6032only, for example @code{"a"} for a template to be selected with a
6033single key, or @code{"bt"} for selection with two keys. When using
6034several keys, keys using the same prefix key must be sequential
6035in the list and preceded by a 2-element entry explaining the
6036prefix key, for example
5949@example 6037@example
6038 ("b" "Templates for marking stuff to buy")
6039@end example
6040@noindent If you do not define a template for the @kbd{C} key, this key will
6041be used to open the customize buffer for this complex variable.
6042
6043@item description
6044A short string describing the template, which will be shown during
6045selection.
6046
6047@item type
6048The type of entry, a symbol. Valid values are:
6049@table @code
6050@item entry
6051An Org-mode node, with a headline. Will be filed as the child of the
6052target entry or as a top-level entry. The target file should be an Org-mode
6053file.
6054@item item
6055A plain list item, placed in the first plain list at the target
6056location. Again the target file should be an Org file.
6057@item checkitem
6058A checkbox item. This only differs from the plain list item by the
6059default template.
6060@item table-line
6061a new line in the first table at the target location. Where exactly the
6062line will be inserted depends on the properties @code{:prepend} and
6063@code{:table-line-pos} (see below).
6064@item plain
6065Text to be inserted as it is.
6066@end table
6067
6068@item target
6069Specification of where the captured item should be placed.
6070In Org-mode files, targets usually define a node. Entries will become
6071children of this node, other types will be added to the table or list in the
6072body of this node.
6073
6074Valid values are:
6075@table @code
6076@item (file "path/to/file")
6077Text will be placed at the beginning or end of that file.
6078
6079@item (id "id of existing org entry")
6080Filing as child of this entry, or in the body of the entry.
6081
6082@item (file+headline "path/to/file" "node headline")
6083Fast configuration if the target heading is unique in the file.
6084
6085@item (file+olp "path/to/file" "Level 1 heading" "Level 2" ...)
6086For non-unique headings, the full path is safer.
6087
6088@item (file+regexp "path/to/file" "regexp to find location")
6089Use a regular expression to position the cursor.
6090
6091@item (file+datetree "path/to/file")
6092Will create a heading in a date tree.
6093
6094@item (file+function "path/to/file" function-finding-location)
6095A function to find the right location in the file.
6096
6097@item (clock)
6098File to the entry that is currently being clocked.
6099
6100@item (function function-finding-location)
6101Most general way, write your own function to find both
6102file and location.
6103@end table
6104
6105@item template
6106The template for creating the capture item. If you leave this empty, an
6107appropriate default template will be used. Otherwise this is a string with
6108escape codes, which will be replaced depending on time and context of the
6109capture call. The string with escapes may be loaded from a template file,
6110using the special syntax @code{(file "path/to/template")}. See below for
6111more details.
6112
6113@item properties
6114The rest of the entry is a property list of additional options.
6115Recognized properties are:
6116@table @code
6117@item :prepend
6118Normally new captured information will be appended at
6119the target location (last child, last table line, last list item...).
6120Setting this property will change that.
6121
6122@item :immediate-finish
6123When set, do not offer to edit the information, just
6124file it away immediately. This makes sense if the template only needs
6125information that can be added automatically.
6126
6127@item :empty-lines
6128Set this to the number of lines to insert
6129before and after the new item. Default 0, only common other value is 1.
6130
6131@item :clock-in
6132Start the clock in this item.
6133
6134@item :clock-resume
6135If starting the capture interrupted a clock, restart that clock when finished
6136with the capture.
6137
6138@item :unnarrowed
6139Do not narrow the target buffer, simply show the full buffer. Default is to
6140narrow it so that you only see the new material.
6141@end table
6142@end table
6143
6144@node Template expansion, , Template elements, Capture templates
6145@subsubsection Template expansion
6146
6147In the template itself, special @kbd{%}-escapes@footnote{If you need one of
6148these sequences literally, escape the @kbd{%} with a backslash.} allow
6149dynamic insertion of content:
6150
6151@comment SJE: should these sentences terminate in period?
6152@smallexample
5950%^@{@var{prompt}@} @r{prompt the user for a string and replace this sequence with it.} 6153%^@{@var{prompt}@} @r{prompt the user for a string and replace this sequence with it.}
5951 @r{You may specify a default value and a completion table with} 6154 @r{You may specify a default value and a completion table with}
5952 @r{%^@{prompt|default|completion2|completion3...@}} 6155 @r{%^@{prompt|default|completion2|completion3...@}}
5953 @r{The arrow keys access a prompt-specific history.} 6156 @r{The arrow keys access a prompt-specific history.}
5954%a @r{annotation, normally the link created with @code{org-store-link}} 6157%a @r{annotation, normally the link created with @code{org-store-link}}
5955%A @r{like @code{%a}, but prompt for the description part} 6158%A @r{like @code{%a}, but prompt for the description part}
5956%i @r{initial content, the region when remember is called with C-u.} 6159%i @r{initial content, the region when capture is called while the}
6160 @r{region is active.}
5957 @r{The entire text will be indented like @code{%i} itself.} 6161 @r{The entire text will be indented like @code{%i} itself.}
5958%t @r{timestamp, date only} 6162%t @r{timestamp, date only}
5959%T @r{timestamp with date and time} 6163%T @r{timestamp with date and time}
@@ -5965,28 +6169,25 @@ allow dynamic insertion of content:
5965%x @r{Content of the X clipboard.} 6169%x @r{Content of the X clipboard.}
5966%^C @r{Interactive selection of which kill or clip to use.} 6170%^C @r{Interactive selection of which kill or clip to use.}
5967%^L @r{Like @code{%^C}, but insert as link.} 6171%^L @r{Like @code{%^C}, but insert as link.}
6172%k @r{title of the currently clocked task}
6173%K @r{link to the currently clocked task}
5968%^g @r{prompt for tags, with completion on tags in target file.} 6174%^g @r{prompt for tags, with completion on tags in target file.}
5969%k @r{title of currently clocked task}
5970%K @r{link to currently clocked task}
5971%^G @r{prompt for tags, with completion all tags in all agenda files.} 6175%^G @r{prompt for tags, with completion all tags in all agenda files.}
5972%^@{@var{prop}@}p @r{Prompt the user for a value for property @var{prop}} 6176%^@{@var{prop}@}p @r{Prompt the user for a value for property @var{prop}}
5973%:keyword @r{specific information for certain link types, see below} 6177%:keyword @r{specific information for certain link types, see below}
5974%[@var{file}] @r{insert the contents of the file given by @var{file}} 6178%[@var{file}] @r{insert the contents of the file given by @var{file}}
5975%(@var{sexp}) @r{evaluate Elisp @var{sexp} and replace with the result} 6179%(@var{sexp}) @r{evaluate Elisp @var{sexp} and replace with the result}
5976%! @r{immediately store note after completing the template} 6180@end smallexample
5977 @r{(skipping the @kbd{C-c C-c} that normally triggers storing)}
5978%& @r{jump to target location immediately after storing note}
5979@end example
5980 6181
5981@noindent 6182@noindent
5982For specific link types, the following keywords will be 6183For specific link types, the following keywords will be
5983defined@footnote{If you define your own link types (@pxref{Adding 6184defined@footnote{If you define your own link types (@pxref{Adding
5984hyperlink types}), any property you store with 6185hyperlink types}), any property you store with
5985@code{org-store-link-props} can be accessed in remember templates in a 6186@code{org-store-link-props} can be accessed in capture templates in a
5986similar way.}: 6187similar way.}:
5987 6188
5988@vindex org-from-is-user-regexp 6189@vindex org-from-is-user-regexp
5989@example 6190@smallexample
5990Link type | Available keywords 6191Link type | Available keywords
5991-------------------+---------------------------------------------- 6192-------------------+----------------------------------------------
5992bbdb | %:name %:company 6193bbdb | %:name %:company
@@ -5998,91 +6199,25 @@ vm, wl, mh, rmail | %:type %:subject %:message-id
5998gnus | %:group, @r{for messages also all email fields} 6199gnus | %:group, @r{for messages also all email fields}
5999w3, w3m | %:url 6200w3, w3m | %:url
6000info | %:file %:node 6201info | %:file %:node
6001calendar | %:date" 6202calendar | %:date
6002@end example 6203@end smallexample
6003 6204
6004@noindent 6205@noindent
6005To place the cursor after template expansion use: 6206To place the cursor after template expansion use:
6006 6207
6007@example 6208@smallexample
6008%? @r{After completing the template, position cursor here.} 6209%? @r{After completing the template, position cursor here.}
6009@end example 6210@end smallexample
6010
6011@noindent
6012If you change your mind about which template to use, call
6013@code{org-remember} in the remember buffer. You may then select a new
6014template that will be filled with the previous context information.
6015
6016@node Storing notes, , Remember templates, Remember
6017@subsection Storing notes
6018
6019@vindex org-remember-clock-out-on-exit
6020When you are finished preparing a note with Remember, you have to press
6021@kbd{C-c C-c} to file the note away. If you have started the clock in the
6022Remember buffer, you will first be asked if you want to clock out
6023now@footnote{To avoid this query, configure the variable
6024@code{org-remember-clock-out-on-exit}.}. If you answer @kbd{n}, the clock
6025will continue to run after the note was filed away.
6026
6027The handler will then store the note in the file and under the headline
6028specified in the template, or it will use the default file and headline. The
6029window configuration will be restored, sending you back to the working
6030context before the call to Remember. To re-use the location found during the
6031last call to Remember, exit the Remember buffer with @kbd{C-0 C-c C-c},
6032i.e. specify a zero prefix argument to @kbd{C-c C-c}. Another special case
6033is @kbd{C-2 C-c C-c} which files the note as a child of the currently clocked
6034item, and @kbd{C-3 C-c C-c} files as a sibling of the currently clocked item.
6035
6036@vindex org-remember-store-without-prompt
6037If you want to store the note directly to a different place, use
6038@kbd{C-1 C-c C-c} instead to exit Remember@footnote{Configure the
6039variable @code{org-remember-store-without-prompt} to make this behavior
6040the default.}. The handler will then first prompt for a target file---if
6041you press @key{RET}, the value specified for the template is used.
6042Then the command offers the headings tree of the selected file, with the
6043cursor position at the default headline (if you specified one in the
6044template). You can either immediately press @key{RET} to get the note
6045placed there. Or you can use the following keys to find a different
6046location:
6047@example
6048@key{TAB} @r{Cycle visibility.}
6049@key{down} / @key{up} @r{Next/previous visible headline.}
6050n / p @r{Next/previous visible headline.}
6051f / b @r{Next/previous headline same level.}
6052u @r{One level up.}
6053@c 0-9 @r{Digit argument.}
6054@end example
6055@noindent
6056Pressing @key{RET} or @key{left} or @key{right}
6057then leads to the following result.
6058
6059@vindex org-reverse-note-order
6060@multitable @columnfractions 0.2 0.15 0.65
6061@item @b{Cursor position} @tab @b{Key} @tab @b{Note gets inserted}
6062@item on headline @tab @key{RET} @tab as sublevel of the heading at cursor, first or last
6063@item @tab @tab depending on @code{org-reverse-note-order}.
6064@item @tab @key{left}/@key{right} @tab as same level, before/after current heading
6065@item buffer-start @tab @key{RET} @tab as level 2 heading at end of file or level 1 at beginning
6066@item @tab @tab depending on @code{org-reverse-note-order}.
6067@item not on headline @tab @key{RET}
6068 @tab at cursor position, level taken from context.
6069@end multitable
6070
6071Before inserting the text into a tree, the function ensures that the text has
6072a headline, i.e. a first line that starts with a @samp{*}. If not, a
6073headline is constructed from the current date. If you have indented the text
6074of the note below the headline, the indentation will be adapted if inserting
6075the note into the tree requires demotion from level 1.
6076 6211
6077 6212
6078@node Attachments, RSS Feeds, Remember, Capture - Refile - Archive 6213@node Attachments, RSS Feeds, Capture, Capture - Refile - Archive
6079@section Attachments 6214@section Attachments
6080@cindex attachments 6215@cindex attachments
6081 6216
6082@vindex org-attach-directory 6217@vindex org-attach-directory
6083It is often useful to associate reference material with an outline node/task. 6218It is often useful to associate reference material with an outline node/task.
6084Small chunks of plain text can simply be stored in the subtree of a project. 6219Small chunks of plain text can simply be stored in the subtree of a project.
6085Hyperlinks (@pxref{Hyperlinks}) can be used to establish associations with 6220Hyperlinks (@pxref{Hyperlinks}) can establish associations with
6086files that live elsewhere on your computer or in the cloud, like emails or 6221files that live elsewhere on your computer or in the cloud, like emails or
6087source code files belonging to a project. Another method is @i{attachments}, 6222source code files belonging to a project. Another method is @i{attachments},
6088which are files located in a directory belonging to an outline node. Org 6223which are files located in a directory belonging to an outline node. Org
@@ -6099,14 +6234,14 @@ choice to an entry. You can also make children inherit the attachment
6099directory from a parent, so that an entire subtree uses the same attached 6234directory from a parent, so that an entire subtree uses the same attached
6100directory. 6235directory.
6101 6236
6102@noindent The following commands deal with attachments. 6237@noindent The following commands deal with attachments:
6103 6238
6104@table @kbd 6239@table @kbd
6105 6240
6106@kindex C-c C-a 6241@kindex C-c C-a
6107@item C-c C-a 6242@item C-c C-a
6108The dispatcher for commands related to the attachment system. After these 6243The dispatcher for commands related to the attachment system. After these
6109keys, a list of commands is displayed and you need to press an additional key 6244keys, a list of commands is displayed and you must press an additional key
6110to select a command: 6245to select a command:
6111 6246
6112@table @kbd 6247@table @kbd
@@ -6136,7 +6271,7 @@ attachments yourself.
6136@kindex C-c C-a o 6271@kindex C-c C-a o
6137@item o 6272@item o
6138@vindex org-file-apps 6273@vindex org-file-apps
6139Open current task's attachment. If there are more than one, prompt for a 6274Open current task's attachment. If there is more than one, prompt for a
6140file name first. Opening will follow the rules set by @code{org-file-apps}. 6275file name first. Opening will follow the rules set by @code{org-file-apps}.
6141For more details, see the information on following hyperlinks 6276For more details, see the information on following hyperlinks
6142(@pxref{Handling links}). 6277(@pxref{Handling links}).
@@ -6179,23 +6314,27 @@ same directory for attachments as the parent does.
6179@node RSS Feeds, Protocols, Attachments, Capture - Refile - Archive 6314@node RSS Feeds, Protocols, Attachments, Capture - Refile - Archive
6180@section RSS feeds 6315@section RSS feeds
6181@cindex RSS feeds 6316@cindex RSS feeds
6317@cindex Atom feeds
6182 6318
6183Org has the capability to add and change entries based on information found in 6319Org can add and change entries based on information found in RSS feeds and
6184RSS feeds. You could use this to make a task out of each new podcast in a 6320Atom feeds. You could use this to make a task out of each new podcast in a
6185podcast feed. Or you could use a phone-based note-creating service on the 6321podcast feed. Or you could use a phone-based note-creating service on the
6186web to import tasks into Org. To access feeds, you need to configure the 6322web to import tasks into Org. To access feeds, configure the variable
6187variable @code{org-feed-alist}. The docstring of this variable has detailed 6323@code{org-feed-alist}. The docstring of this variable has detailed
6188information. Here is just an example: 6324information. Here is just an example:
6189 6325
6190@example 6326@example
6191(setq org-feed-alist 6327(setq org-feed-alist
6192 '(("ReQall" "http://www.reqall.com/user/feeds/rss/a1b2c3....." 6328 '(("Slashdot"
6193 "~/org/feeds.org" "ReQall Entries") 6329 "http://rss.slashdot.org/Slashdot/slashdot"
6330 "~/txt/org/feeds.org" "Slashdot Entries")))
6194@end example 6331@end example
6332
6195@noindent 6333@noindent
6196will configure that new items from the feed provided by @file{reqall.com} 6334will configure that new items from the feed provided by
6197will result in new entries in the file @file{~/org/feeds.org} under the 6335@code{rss.slashdot.org} will result in new entries in the file
6198heading @samp{ReQall Entries}, whenever the following command is used: 6336@file{~/org/feeds.org} under the heading @samp{Slashdot Entries}, whenever
6337the following command is used:
6199 6338
6200@table @kbd 6339@table @kbd
6201@kindex C-c C-x g 6340@kindex C-c C-x g
@@ -6216,8 +6355,8 @@ list of drawers in that file:
6216#+DRAWERS: LOGBOOK PROPERTIES FEEDSTATUS 6355#+DRAWERS: LOGBOOK PROPERTIES FEEDSTATUS
6217@end example 6356@end example
6218 6357
6219For more information, see @file{org-feed.el} and the docstring of 6358For more information, including how to read atom feeds, see
6220@code{org-feed-alist}. 6359@file{org-feed.el} and the docstring of @code{org-feed-alist}.
6221 6360
6222@node Protocols, Refiling notes, RSS Feeds, Capture - Refile - Archive 6361@node Protocols, Refiling notes, RSS Feeds, Capture - Refile - Archive
6223@section Protocols for external access 6362@section Protocols for external access
@@ -6227,7 +6366,7 @@ For more information, see @file{org-feed.el} and the docstring of
6227You can set up Org for handling protocol calls from outside applications that 6366You can set up Org for handling protocol calls from outside applications that
6228are passed to Emacs through the @file{emacsserver}. For example, you can 6367are passed to Emacs through the @file{emacsserver}. For example, you can
6229configure bookmarks in your web browser to send a link to the current page to 6368configure bookmarks in your web browser to send a link to the current page to
6230Org and create a note from it using Remember (@pxref{Remember}). Or you 6369Org and create a note from it using capture (@pxref{Capture}). Or you
6231could create a bookmark that will tell Emacs to open the local source file of 6370could create a bookmark that will tell Emacs to open the local source file of
6232a remote website you are looking at with the browser. See 6371a remote website you are looking at with the browser. See
6233@uref{http://orgmode.org/worg/org-contrib/org-protocol.php} for detailed 6372@uref{http://orgmode.org/worg/org-contrib/org-protocol.php} for detailed
@@ -6251,6 +6390,7 @@ process, you can use the following special command:
6251@vindex org-outline-path-complete-in-steps 6390@vindex org-outline-path-complete-in-steps
6252@vindex org-refile-allow-creating-parent-nodes 6391@vindex org-refile-allow-creating-parent-nodes
6253@vindex org-log-refile 6392@vindex org-log-refile
6393@vindex org-refile-use-cache
6254Refile the entry or region at point. This command offers possible locations 6394Refile the entry or region at point. This command offers possible locations
6255for refiling the entry and lets you select one with completion. The item (or 6395for refiling the entry and lets you select one with completion. The item (or
6256all items in the region) is filed below the target heading as a subitem. 6396all items in the region) is filed below the target heading as a subitem.
@@ -6276,6 +6416,10 @@ Use the refile interface to jump to a heading.
6276Jump to the location where @code{org-refile} last moved a tree to. 6416Jump to the location where @code{org-refile} last moved a tree to.
6277@item C-2 C-c C-w 6417@item C-2 C-c C-w
6278Refile as the child of the item currently being clocked. 6418Refile as the child of the item currently being clocked.
6419@item C-0 C-c C-w @ @r{or} @ C-u C-u C-u C-c C-w
6420Clear the target cache. Caching of refile targets can be turned on by
6421setting @code{org-refile-use-cache}. To make the command seen new possible
6422targets, you have to clear the cache with this command.
6279@end table 6423@end table
6280 6424
6281@node Archiving, , Refiling notes, Capture - Refile - Archive 6425@node Archiving, , Refiling notes, Capture - Refile - Archive
@@ -6296,8 +6440,8 @@ Archive the current entry using the command specified in the variable
6296@end table 6440@end table
6297 6441
6298@menu 6442@menu
6299* Moving subtrees:: Moving a tree to an archive file 6443* Moving subtrees:: Moving a tree to an archive file
6300* Internal archiving:: Switch off a tree but keep i in the file 6444* Internal archiving:: Switch off a tree but keep it in the file
6301@end menu 6445@end menu
6302 6446
6303@node Moving subtrees, Internal archiving, Archiving, Archiving 6447@node Moving subtrees, Internal archiving, Archiving, Archiving
@@ -6390,12 +6534,12 @@ Archived trees are not exported (@pxref{Exporting}), only the headline
6390is. Configure the details using the variable 6534is. Configure the details using the variable
6391@code{org-export-with-archived-trees}. 6535@code{org-export-with-archived-trees}.
6392@item 6536@item
6393@vindex org-columns-skip-arrchived-trees 6537@vindex org-columns-skip-archived-trees
6394Archived trees are excluded from column view unless the variable 6538Archived trees are excluded from column view unless the variable
6395@code{org-columns-skip-arrchived-trees} is configured to @code{nil}. 6539@code{org-columns-skip-archived-trees} is configured to @code{nil}.
6396@end itemize 6540@end itemize
6397 6541
6398The following commands help managing the ARCHIVE tag: 6542The following commands help manage the ARCHIVE tag:
6399 6543
6400@table @kbd 6544@table @kbd
6401@kindex C-c C-x a 6545@kindex C-c C-x a
@@ -6424,7 +6568,7 @@ outline.
6424 6568
6425 6569
6426@node Agenda Views, Markup, Capture - Refile - Archive, Top 6570@node Agenda Views, Markup, Capture - Refile - Archive, Top
6427@chapter Agenda Views 6571@chapter Agenda views
6428@cindex agenda views 6572@cindex agenda views
6429 6573
6430Due to the way Org works, TODO items, time-stamped items, and 6574Due to the way Org works, TODO items, time-stamped items, and
@@ -6474,14 +6618,14 @@ window configuration is restored when the agenda exits:
6474@code{org-agenda-restore-windows-after-quit}. 6618@code{org-agenda-restore-windows-after-quit}.
6475 6619
6476@menu 6620@menu
6477* Agenda files:: Files being searched for agenda information 6621* Agenda files:: Files being searched for agenda information
6478* Agenda dispatcher:: Keyboard access to agenda views 6622* Agenda dispatcher:: Keyboard access to agenda views
6479* Built-in agenda views:: What is available out of the box? 6623* Built-in agenda views:: What is available out of the box?
6480* Presentation and sorting:: How agenda items are prepared for display 6624* Presentation and sorting:: How agenda items are prepared for display
6481* Agenda commands:: Remote editing of Org trees 6625* Agenda commands:: Remote editing of Org trees
6482* Custom agenda views:: Defining special searches and views 6626* Custom agenda views:: Defining special searches and views
6483* Exporting Agenda Views:: Writing a view to a file 6627* Exporting Agenda Views:: Writing a view to a file
6484* Agenda column view:: Using column view for collected entries 6628* Agenda column view:: Using column view for collected entries
6485@end menu 6629@end menu
6486 6630
6487@node Agenda files, Agenda dispatcher, Agenda Views, Agenda Views 6631@node Agenda files, Agenda dispatcher, Agenda Views, Agenda Views
@@ -6623,12 +6767,12 @@ a number of special tags matches. @xref{Custom agenda views}.
6623In this section we describe the built-in views. 6767In this section we describe the built-in views.
6624 6768
6625@menu 6769@menu
6626* Weekly/daily agenda:: The calendar page with current tasks 6770* Weekly/daily agenda:: The calendar page with current tasks
6627* Global TODO list:: All unfinished action items 6771* Global TODO list:: All unfinished action items
6628* Matching tags and properties:: Structured information with fine-tuned search 6772* Matching tags and properties:: Structured information with fine-tuned search
6629* Timeline:: Time-sorted view for single file 6773* Timeline:: Time-sorted view for single file
6630* Search view:: Find entries by searching for text 6774* Search view:: Find entries by searching for text
6631* Stuck projects:: Find projects you need to review 6775* Stuck projects:: Find projects you need to review
6632@end menu 6776@end menu
6633 6777
6634@node Weekly/daily agenda, Global TODO list, Built-in agenda views, Built-in agenda views 6778@node Weekly/daily agenda, Global TODO list, Built-in agenda views, Built-in agenda views
@@ -6671,7 +6815,7 @@ anniversaries, lunar phases, sunrise/set, recurrent appointments
6671Org. It can be very useful to combine output from Org with 6815Org. It can be very useful to combine output from Org with
6672the diary. 6816the diary.
6673 6817
6674In order to include entries from the Emacs diary into Org mode's 6818In order to include entries from the Emacs diary into Org-mode's
6675agenda, you only need to customize the variable 6819agenda, you only need to customize the variable
6676 6820
6677@lisp 6821@lisp
@@ -6680,7 +6824,7 @@ agenda, you only need to customize the variable
6680 6824
6681@noindent After that, everything will happen automatically. All diary 6825@noindent After that, everything will happen automatically. All diary
6682entries including holidays, anniversaries, etc., will be included in the 6826entries including holidays, anniversaries, etc., will be included in the
6683agenda buffer created by Org mode. @key{SPC}, @key{TAB}, and 6827agenda buffer created by Org-mode. @key{SPC}, @key{TAB}, and
6684@key{RET} can be used from the agenda buffer to jump to the diary 6828@key{RET} can be used from the agenda buffer to jump to the diary
6685file in order to edit existing diary entries. The @kbd{i} command to 6829file in order to edit existing diary entries. The @kbd{i} command to
6686insert new entries for the current date works in the agenda buffer, as 6830insert new entries for the current date works in the agenda buffer, as
@@ -6691,7 +6835,7 @@ between calendar and agenda.
6691 6835
6692If you are using the diary only for sexp entries and holidays, it is 6836If you are using the diary only for sexp entries and holidays, it is
6693faster to not use the above setting, but instead to copy or even move 6837faster to not use the above setting, but instead to copy or even move
6694the entries into an Org file. Org mode evaluates diary-style sexp 6838the entries into an Org file. Org-mode evaluates diary-style sexp
6695entries, and does it faster because there is no overhead for first 6839entries, and does it faster because there is no overhead for first
6696creating the diary display. Note that the sexp entries must start at 6840creating the diary display. Note that the sexp entries must start at
6697the left margin, no whitespace is allowed before them. For example, 6841the left margin, no whitespace is allowed before them. For example,
@@ -6721,7 +6865,7 @@ following to one your your agenda files:
6721* Anniversaries 6865* Anniversaries
6722 :PROPERTIES: 6866 :PROPERTIES:
6723 :CATEGORY: Anniv 6867 :CATEGORY: Anniv
6724 :END 6868 :END:
6725%%(org-bbdb-anniversaries) 6869%%(org-bbdb-anniversaries)
6726@end example 6870@end example
6727 6871
@@ -6766,20 +6910,20 @@ collected into a single place.
6766@table @kbd 6910@table @kbd
6767@kindex C-c a t 6911@kindex C-c a t
6768@item C-c a t 6912@item C-c a t
6769Show the global TODO list. This collects the TODO items from all 6913Show the global TODO list. This collects the TODO items from all agenda
6770agenda files (@pxref{Agenda Views}) into a single buffer. The buffer is in 6914files (@pxref{Agenda Views}) into a single buffer. By default, this lists
6771@code{agenda-mode}, so there are commands to examine and manipulate 6915items with a state the is not a DONE state. The buffer is in
6772the TODO entries directly from that buffer (@pxref{Agenda commands}). 6916@code{agenda-mode}, so there are commands to examine and manipulate the TODO
6917entries directly from that buffer (@pxref{Agenda commands}).
6773@kindex C-c a T 6918@kindex C-c a T
6774@item C-c a T 6919@item C-c a T
6775@cindex TODO keyword matching 6920@cindex TODO keyword matching
6776@vindex org-todo-keywords 6921@vindex org-todo-keywords
6777Like the above, but allows selection of a specific TODO keyword. You 6922Like the above, but allows selection of a specific TODO keyword. You can
6778can also do this by specifying a prefix argument to @kbd{C-c a t}. With 6923also do this by specifying a prefix argument to @kbd{C-c a t}. You are
6779a @kbd{C-u} prefix you are prompted for a keyword, and you may also 6924prompted for a keyword, and you may also specify several keywords by
6780specify several keywords by separating them with @samp{|} as the boolean OR 6925separating them with @samp{|} as the boolean OR operator. With a numeric
6781operator. With a numeric prefix, the nth keyword in 6926prefix, the nth keyword in @code{org-todo-keywords} is selected.
6782@code{org-todo-keywords} is selected.
6783@kindex r 6927@kindex r
6784The @kbd{r} key in the agenda buffer regenerates it, and you can give 6928The @kbd{r} key in the agenda buffer regenerates it, and you can give
6785a prefix argument to this command to change the selected TODO keyword, 6929a prefix argument to this command to change the selected TODO keyword,
@@ -6841,11 +6985,12 @@ define a custom command for it (@pxref{Agenda dispatcher}).
6841@item C-c a M 6985@item C-c a M
6842@vindex org-tags-match-list-sublevels 6986@vindex org-tags-match-list-sublevels
6843@vindex org-agenda-tags-todo-honor-ignore-options 6987@vindex org-agenda-tags-todo-honor-ignore-options
6844Like @kbd{C-c a m}, but only select headlines that are also TODO items and 6988Like @kbd{C-c a m}, but only select headlines that are also TODO items in a
6845force checking subitems (see variable @code{org-tags-match-list-sublevels}). 6989not-DONE state and force checking subitems (see variable
6846To exclude scheduled/deadline items, see the variable 6990@code{org-tags-match-list-sublevels}). To exclude scheduled/deadline items,
6847@code{org-agenda-tags-todo-honor-ignore-options}. Matching specific TODO 6991see the variable @code{org-agenda-tags-todo-honor-ignore-options}. Matching
6848keywords together with a tags match is also possible, see @ref{Tag searches}. 6992specific TODO keywords together with a tags match is also possible, see
6993@ref{Tag searches}.
6849@end table 6994@end table
6850 6995
6851The commands available in the tags list are described in @ref{Agenda 6996The commands available in the tags list are described in @ref{Agenda
@@ -6950,7 +7095,7 @@ other properties will slow down the search. However, once you have paid the
6950price by accessing one property, testing additional properties is cheap 7095price by accessing one property, testing additional properties is cheap
6951again. 7096again.
6952 7097
6953You can configure Org mode to use property inheritance during a search, but 7098You can configure Org-mode to use property inheritance during a search, but
6954beware that this can slow down searches considerably. See @ref{Property 7099beware that this can slow down searches considerably. See @ref{Property
6955inheritance}, for details. 7100inheritance}, for details.
6956 7101
@@ -6959,12 +7104,13 @@ different way to test TODO states in a search. For this, terminate the
6959tags/property part of the search string (which may include several terms 7104tags/property part of the search string (which may include several terms
6960connected with @samp{|}) with a @samp{/} and then specify a Boolean 7105connected with @samp{|}) with a @samp{/} and then specify a Boolean
6961expression just for TODO keywords. The syntax is then similar to that for 7106expression just for TODO keywords. The syntax is then similar to that for
6962tags, but should be applied with care: for example, a positive 7107tags, but should be applied with care: for example, a positive selection on
6963selection on several TODO keywords cannot meaningfully be combined with 7108several TODO keywords cannot meaningfully be combined with boolean AND.
6964boolean AND. However, @emph{negative selection} combined with AND can be 7109However, @emph{negative selection} combined with AND can be meaningful. To
6965meaningful. To make sure that only lines are checked that actually have any 7110make sure that only lines are checked that actually have any TODO keyword
6966TODO keyword (resulting in a speed-up), use @kbd{C-c a M}, or equivalently 7111(resulting in a speed-up), use @kbd{C-c a M}, or equivalently start the TODO
6967start the TODO part after the slash with @samp{!}. Examples: 7112part after the slash with @samp{!}. Using @kbd{C-c a M} or @samp{/!} will
7113not match TODO keywords in a DONE state. Examples:
6968 7114
6969@table @samp 7115@table @samp
6970@item work/WAITING 7116@item work/WAITING
@@ -6982,7 +7128,7 @@ Select @samp{:work:}-tagged TODO lines that are either @samp{WAITING} or
6982@cindex timeline, single file 7128@cindex timeline, single file
6983@cindex time-sorted view 7129@cindex time-sorted view
6984 7130
6985The timeline summarizes all time-stamped items from a single Org mode 7131The timeline summarizes all time-stamped items from a single Org-mode
6986file in a @emph{time-sorted view}. The main purpose of this command is 7132file in a @emph{time-sorted view}. The main purpose of this command is
6987to give an overview over events in a project. 7133to give an overview over events in a project.
6988 7134
@@ -7004,7 +7150,7 @@ The commands available in the timeline buffer are listed in
7004@cindex text search 7150@cindex text search
7005@cindex searching, for text 7151@cindex searching, for text
7006 7152
7007This agenda view is a general text search facility for Org mode entries. 7153This agenda view is a general text search facility for Org-mode entries.
7008It is particularly useful to find notes. 7154It is particularly useful to find notes.
7009 7155
7010@table @kbd 7156@table @kbd
@@ -7036,7 +7182,7 @@ If you are following a system like David Allen's GTD to organize your
7036work, one of the ``duties'' you have is a regular review to make sure 7182work, one of the ``duties'' you have is a regular review to make sure
7037that all projects move along. A @emph{stuck} project is a project that 7183that all projects move along. A @emph{stuck} project is a project that
7038has no defined next actions, so it will never show up in the TODO lists 7184has no defined next actions, so it will never show up in the TODO lists
7039Org mode produces. During the review, you need to identify such 7185Org-mode produces. During the review, you need to identify such
7040projects and define next actions for them. 7186projects and define next actions for them.
7041 7187
7042@table @kbd 7188@table @kbd
@@ -7055,7 +7201,7 @@ work for you. The built-in default assumes that all your projects are
7055level-2 headlines, and that a project is not stuck if it has at least 7201level-2 headlines, and that a project is not stuck if it has at least
7056one entry marked with a TODO keyword TODO or NEXT or NEXTACTION. 7202one entry marked with a TODO keyword TODO or NEXT or NEXTACTION.
7057 7203
7058Let's assume that you, in your own way of using Org mode, identify 7204Let's assume that you, in your own way of using Org-mode, identify
7059projects with a tag PROJECT, and that you use a TODO keyword MAYBE to 7205projects with a tag PROJECT, and that you use a TODO keyword MAYBE to
7060indicate a project that should not be considered yet. Let's further 7206indicate a project that should not be considered yet. Let's further
7061assume that the TODO keyword DONE marks finished projects, and that NEXT 7207assume that the TODO keyword DONE marks finished projects, and that NEXT
@@ -7082,7 +7228,7 @@ will still be searched for stuck projects.
7082@cindex presentation, of agenda items 7228@cindex presentation, of agenda items
7083 7229
7084@vindex org-agenda-prefix-format 7230@vindex org-agenda-prefix-format
7085Before displaying items in an agenda view, Org mode visually prepares 7231Before displaying items in an agenda view, Org-mode visually prepares
7086the items and sorts them. Each item occupies a single line. The line 7232the items and sorts them. Each item occupies a single line. The line
7087starts with a @emph{prefix} that contains the @emph{category} 7233starts with a @emph{prefix} that contains the @emph{category}
7088(@pxref{Categories}) of the item and other important information. You can 7234(@pxref{Categories}) of the item and other important information. You can
@@ -7091,9 +7237,9 @@ The prefix is followed by a cleaned-up version of the outline headline
7091associated with the item. 7237associated with the item.
7092 7238
7093@menu 7239@menu
7094* Categories:: Not all tasks are equal 7240* Categories:: Not all tasks are equal
7095* Time-of-day specifications:: How the agenda knows the time 7241* Time-of-day specifications:: How the agenda knows the time
7096* Sorting of agenda items:: The order of things 7242* Sorting of agenda items:: The order of things
7097@end menu 7243@end menu
7098 7244
7099@node Categories, Time-of-day specifications, Presentation and sorting, Presentation and sorting 7245@node Categories, Time-of-day specifications, Presentation and sorting, Presentation and sorting
@@ -7129,7 +7275,7 @@ longer than 10 characters.
7129@subsection Time-of-day specifications 7275@subsection Time-of-day specifications
7130@cindex time-of-day specification 7276@cindex time-of-day specification
7131 7277
7132Org mode checks each agenda item for a time-of-day specification. The 7278Org-mode checks each agenda item for a time-of-day specification. The
7133time can be part of the timestamp that triggered inclusion into the 7279time can be part of the timestamp that triggered inclusion into the
7134agenda, for example as in @w{@samp{<2005-05-10 Tue 19:00>}}. Time 7280agenda, for example as in @w{@samp{<2005-05-10 Tue 19:00>}}. Time
7135ranges can be specified with two timestamps, like 7281ranges can be specified with two timestamps, like
@@ -7141,7 +7287,7 @@ plain text (like @samp{12:45} or a @samp{8:30-1pm}). If the agenda
7141integrates the Emacs diary (@pxref{Weekly/daily agenda}), time 7287integrates the Emacs diary (@pxref{Weekly/daily agenda}), time
7142specifications in diary entries are recognized as well. 7288specifications in diary entries are recognized as well.
7143 7289
7144For agenda display, Org mode extracts the time and displays it in a 7290For agenda display, Org-mode extracts the time and displays it in a
7145standard 24 hour format as part of the prefix. The example times in 7291standard 24 hour format as part of the prefix. The example times in
7146the previous paragraphs would end up in the agenda like this: 7292the previous paragraphs would end up in the agenda like this:
7147 7293
@@ -7590,7 +7736,7 @@ agenda, change a tag for all headings in the region.
7590@c 7736@c
7591@kindex , 7737@kindex ,
7592@item , 7738@item ,
7593Set the priority for the current item. Org mode prompts for the 7739Set the priority for the current item. Org-mode prompts for the
7594priority character. If you reply with @key{SPC}, the priority cookie 7740priority character. If you reply with @key{SPC}, the priority cookie
7595is removed from the entry. 7741is removed from the entry.
7596@c 7742@c
@@ -7642,7 +7788,7 @@ m @r{Mark the entry at point for action. You can also make entries}
7642 @r{in Org files with @kbd{C-c C-x C-k}.} 7788 @r{in Org files with @kbd{C-c C-x C-k}.}
7643d @r{Set the deadline of the marked entry to the date at point.} 7789d @r{Set the deadline of the marked entry to the date at point.}
7644s @r{Schedule the marked entry at the date at point.} 7790s @r{Schedule the marked entry at the date at point.}
7645r @r{Call @code{org-remember} with the cursor date as default date.} 7791r @r{Call @code{org-capture} with the cursor date as default date.}
7646@end example 7792@end example
7647@noindent 7793@noindent
7648Press @kbd{r} afterward to refresh the agenda and see the effect of the 7794Press @kbd{r} afterward to refresh the agenda and see the effect of the
@@ -7731,7 +7877,7 @@ d @r{Set deadline to a specific date.}
7731Open the Emacs calendar and move to the date at the agenda cursor. 7877Open the Emacs calendar and move to the date at the agenda cursor.
7732@c 7878@c
7733@item c 7879@item c
7734When in the calendar, compute and show the Org mode agenda for the 7880When in the calendar, compute and show the Org-mode agenda for the
7735date at the cursor. 7881date at the cursor.
7736@c 7882@c
7737@cindex diary entries, creating from agenda 7883@cindex diary entries, creating from agenda
@@ -7749,7 +7895,7 @@ If you configure @code{org-agenda-diary-file} to point to an Org-mode file,
7749Org will create entries (in org-mode syntax) in that file instead. Most 7895Org will create entries (in org-mode syntax) in that file instead. Most
7750entries will be stored in a date-based outline tree that will later make it 7896entries will be stored in a date-based outline tree that will later make it
7751easy to archive appointments from previous months/years. The tree will be 7897easy to archive appointments from previous months/years. The tree will be
7752build under an entry with a @code{DATE_TREE} property, or else with years as 7898built under an entry with a @code{DATE_TREE} property, or else with years as
7753top-level entries. Emacs will prompt you for the entry text - if you specify 7899top-level entries. Emacs will prompt you for the entry text - if you specify
7754it, the entry will be created in @code{org-agenda-diary-file} without further 7900it, the entry will be created in @code{org-agenda-diary-file} without further
7755interaction. If you directly press @key{RET} at the prompt without typing 7901interaction. If you directly press @key{RET} at the prompt without typing
@@ -7817,9 +7963,9 @@ agenda buffers. Custom agenda commands will be accessible through the
7817dispatcher (@pxref{Agenda dispatcher}), just like the default commands. 7963dispatcher (@pxref{Agenda dispatcher}), just like the default commands.
7818 7964
7819@menu 7965@menu
7820* Storing searches:: Type once, use often 7966* Storing searches:: Type once, use often
7821* Block agenda:: All the stuff you need in a single buffer 7967* Block agenda:: All the stuff you need in a single buffer
7822* Setting Options:: Changing the rules 7968* Setting Options:: Changing the rules
7823@end menu 7969@end menu
7824 7970
7825@node Storing searches, Block agenda, Custom agenda views, Custom agenda views 7971@node Storing searches, Block agenda, Custom agenda views, Custom agenda views
@@ -7929,7 +8075,7 @@ command @kbd{C-c a o} provides a similar view for office tasks.
7929@cindex options, for custom agenda views 8075@cindex options, for custom agenda views
7930 8076
7931@vindex org-agenda-custom-commands 8077@vindex org-agenda-custom-commands
7932Org mode contains a number of variables regulating agenda construction 8078Org-mode contains a number of variables regulating agenda construction
7933and display. The global variables define the behavior for all agenda 8079and display. The global variables define the behavior for all agenda
7934commands, including the custom commands. However, if you want to change 8080commands, including the custom commands. However, if you want to change
7935some settings just for a single custom view, you can do so. Setting 8081some settings just for a single custom view, you can do so. Setting
@@ -8001,7 +8147,7 @@ yourself.
8001@cindex agenda views, exporting 8147@cindex agenda views, exporting
8002 8148
8003If you are away from your computer, it can be very useful to have a printed 8149If you are away from your computer, it can be very useful to have a printed
8004version of some agenda views to carry around. Org mode can export custom 8150version of some agenda views to carry around. Org-mode can export custom
8005agenda views as plain text, HTML@footnote{You need to install Hrvoje Niksic's 8151agenda views as plain text, HTML@footnote{You need to install Hrvoje Niksic's
8006@file{htmlize.el}.}, Postscript, PDF@footnote{To create PDF output, the 8152@file{htmlize.el}.}, Postscript, PDF@footnote{To create PDF output, the
8007ghostscript @file{ps2pdf} utility must be installed on the system. Selecting 8153ghostscript @file{ps2pdf} utility must be installed on the system. Selecting
@@ -8066,7 +8212,7 @@ or absolute.
8066@end lisp 8212@end lisp
8067 8213
8068The extension of the file name determines the type of export. If it is 8214The extension of the file name determines the type of export. If it is
8069@file{.html}, Org mode will use the @file{htmlize.el} package to convert 8215@file{.html}, Org-mode will use the @file{htmlize.el} package to convert
8070the buffer to HTML and save it to this file name. If the extension is 8216the buffer to HTML and save it to this file name. If the extension is
8071@file{.ps}, @code{ps-print-buffer-with-faces} is used to produce 8217@file{.ps}, @code{ps-print-buffer-with-faces} is used to produce
8072Postscript output. If the extension is @file{.ics}, iCalendar export is 8218Postscript output. If the extension is @file{.ics}, iCalendar export is
@@ -8200,33 +8346,33 @@ the agenda).
8200When exporting Org-mode documents, the exporter tries to reflect the 8346When exporting Org-mode documents, the exporter tries to reflect the
8201structure of the document as accurately as possible in the backend. Since 8347structure of the document as accurately as possible in the backend. Since
8202export targets like HTML, La@TeX{}, or DocBook allow much richer formatting, 8348export targets like HTML, La@TeX{}, or DocBook allow much richer formatting,
8203Org mode has rules on how to prepare text for rich export. This section 8349Org-mode has rules on how to prepare text for rich export. This section
8204summarizes the markup rules used in an Org-mode buffer. 8350summarizes the markup rules used in an Org-mode buffer.
8205 8351
8206@menu 8352@menu
8207* Structural markup elements:: The basic structure as seen by the exporter 8353* Structural markup elements:: The basic structure as seen by the exporter
8208* Images and tables:: Tables and Images will be included 8354* Images and tables:: Tables and Images will be included
8209* Literal examples:: Source code examples with special formatting 8355* Literal examples:: Source code examples with special formatting
8210* Include files:: Include additional files into a document 8356* Include files:: Include additional files into a document
8211* Index entries:: 8357* Index entries:: Making an index
8212* Macro replacement:: Use macros to create complex output 8358* Macro replacement:: Use macros to create complex output
8213* Embedded LaTeX:: LaTeX can be freely used inside Org documents 8359* Embedded LaTeX:: LaTeX can be freely used inside Org documents
8214@end menu 8360@end menu
8215 8361
8216@node Structural markup elements, Images and tables, Markup, Markup 8362@node Structural markup elements, Images and tables, Markup, Markup
8217@section Structural markup elements 8363@section Structural markup elements
8218 8364
8219@menu 8365@menu
8220* Document title:: Where the title is taken from 8366* Document title:: Where the title is taken from
8221* Headings and sections:: The document structure as seen by the exporter 8367* Headings and sections:: The document structure as seen by the exporter
8222* Table of contents:: The if and where of the table of contents 8368* Table of contents:: The if and where of the table of contents
8223* Initial text:: Text before the first heading? 8369* Initial text:: Text before the first heading?
8224* Lists:: Lists 8370* Lists:: Lists
8225* Paragraphs:: Paragraphs 8371* Paragraphs:: Paragraphs
8226* Footnote markup:: Footnotes 8372* Footnote markup:: Footnotes
8227* Emphasis and monospace:: Bold, italic, etc. 8373* Emphasis and monospace:: Bold, italic, etc.
8228* Horizontal rules:: Make a line 8374* Horizontal rules:: Make a line
8229* Comment lines:: What will *not* be exported 8375* Comment lines:: What will *not* be exported
8230@end menu 8376@end menu
8231 8377
8232@node Document title, Headings and sections, Structural markup elements, Structural markup elements 8378@node Document title, Headings and sections, Structural markup elements, Structural markup elements
@@ -8293,7 +8439,7 @@ the table of contents entirely, by configuring the variable
8293@cindex text before first headline, markup rules 8439@cindex text before first headline, markup rules
8294@cindex #+TEXT 8440@cindex #+TEXT
8295 8441
8296Org mode normally exports the text before the first headline, and even uses 8442Org-mode normally exports the text before the first headline, and even uses
8297the first line as the document title. The text will be fully marked up. If 8443the first line as the document title. The text will be fully marked up. If
8298you need to include literal HTML, La@TeX{}, or DocBook code, use the special 8444you need to include literal HTML, La@TeX{}, or DocBook code, use the special
8299constructs described below in the sections for the individual exporters. 8445constructs described below in the sections for the individual exporters.
@@ -8421,8 +8567,8 @@ Toggle the COMMENT keyword at the beginning of an entry.
8421@cindex tables, markup rules 8567@cindex tables, markup rules
8422@cindex #+CAPTION 8568@cindex #+CAPTION
8423@cindex #+LABEL 8569@cindex #+LABEL
8424Both the native Org mode tables (@pxref{Tables}) and tables formatted with 8570Both the native Org-mode tables (@pxref{Tables}) and tables formatted with
8425the @file{table.el} package will be exported properly. For Org mode tables, 8571the @file{table.el} package will be exported properly. For Org-mode tables,
8426the lines before the first horizontal separator line will become table header 8572the lines before the first horizontal separator line will become table header
8427lines. You can use the following lines somewhere before the table to assign 8573lines. You can use the following lines somewhere before the table to assign
8428a caption and a label for cross references, and in the text you can refer to 8574a caption and a label for cross references, and in the text you can refer to
@@ -8440,8 +8586,8 @@ Some backends (HTML, La@TeX{}, and DocBook) allow you to directly include
8440images into the exported document. Org does this, if a link to an image 8586images into the exported document. Org does this, if a link to an image
8441files does not have a description part, for example @code{[[./img/a.jpg]]}. 8587files does not have a description part, for example @code{[[./img/a.jpg]]}.
8442If you wish to define a caption for the image and maybe a label for internal 8588If you wish to define a caption for the image and maybe a label for internal
8443cross references, you sure that the link is on a line by itself precede it 8589cross references, make sure that the link is on a line by itself and precede
8444with: 8590it with @code{#+CAPTION} and @code{#+LABEL} as follows:
8445 8591
8446@example 8592@example
8447#+CAPTION: This is the caption for the next figure link (or table) 8593#+CAPTION: This is the caption for the next figure link (or table)
@@ -8495,9 +8641,9 @@ be used to fontify the example:
8495 8641
8496@example 8642@example
8497#+BEGIN_SRC emacs-lisp 8643#+BEGIN_SRC emacs-lisp
8498(defun org-xor (a b) 8644 (defun org-xor (a b)
8499 "Exclusive or." 8645 "Exclusive or."
8500 (if a (not b) b)) 8646 (if a (not b) b))
8501#+END_SRC 8647#+END_SRC
8502@end example 8648@end example
8503 8649
@@ -8543,7 +8689,7 @@ Edit the source code example at point in its native mode. This works by
8543switching to a temporary buffer with the source code. You need to exit by 8689switching to a temporary buffer with the source code. You need to exit by
8544pressing @kbd{C-c '} again@footnote{Upon exit, lines starting with @samp{*} 8690pressing @kbd{C-c '} again@footnote{Upon exit, lines starting with @samp{*}
8545or @samp{#} will get a comma prepended, to keep them from being interpreted 8691or @samp{#} will get a comma prepended, to keep them from being interpreted
8546by Org as outline nodes or special comments. These commas will be striped 8692by Org as outline nodes or special comments. These commas will be stripped
8547for editing with @kbd{C-c '}, and also for export.}, the edited version will 8693for editing with @kbd{C-c '}, and also for export.}, the edited version will
8548then replace the old version in the Org buffer. Fixed-width regions 8694then replace the old version in the Org buffer. Fixed-width regions
8549(where each line starts with a colon followed by a space) will be edited 8695(where each line starts with a colon followed by a space) will be edited
@@ -8576,7 +8722,7 @@ include your @file{.emacs} file, you could use:
8576The optional second and third parameter are the markup (e.g. @samp{quote}, 8722The optional second and third parameter are the markup (e.g. @samp{quote},
8577@samp{example}, or @samp{src}), and, if the markup is @samp{src}, the 8723@samp{example}, or @samp{src}), and, if the markup is @samp{src}, the
8578language for formatting the contents. The markup is optional, if it is not 8724language for formatting the contents. The markup is optional, if it is not
8579given, the text will be assumed to be in Org mode format and will be 8725given, the text will be assumed to be in Org-mode format and will be
8580processed normally. The include line will also allow additional keyword 8726processed normally. The include line will also allow additional keyword
8581parameters @code{:prefix1} and @code{:prefix} to specify prefixes for the 8727parameters @code{:prefix1} and @code{:prefix} to specify prefixes for the
8582first line and for each following line, as well as any options accepted by 8728first line and for each following line, as well as any options accepted by
@@ -8593,7 +8739,7 @@ Visit the include file at point.
8593@end table 8739@end table
8594 8740
8595@node Index entries, Macro replacement, Include files, Markup 8741@node Index entries, Macro replacement, Include files, Markup
8596@section Index enries 8742@section Index entries
8597@cindex index entries, for publishing 8743@cindex index entries, for publishing
8598 8744
8599You can specify entries that will be used for generating an index during 8745You can specify entries that will be used for generating an index during
@@ -8602,7 +8748,7 @@ the contains an exclamation mark will create a sub item. See @ref{Generating
8602an index} for more information. 8748an index} for more information.
8603 8749
8604@example 8750@example
8605* Curriculum Vitae 8751* Curriculum Vitae
8606#+INDEX: CV 8752#+INDEX: CV
8607#+INDEX: Application!CV 8753#+INDEX: Application!CV
8608@end example 8754@end example
@@ -8646,20 +8792,20 @@ mathematical symbols and the occasional formula. La@TeX{}@footnote{La@TeX{}
8646is a macro system based on Donald E. Knuth's @TeX{} system. Many of the 8792is a macro system based on Donald E. Knuth's @TeX{} system. Many of the
8647features described here as ``La@TeX{}'' are really from @TeX{}, but for 8793features described here as ``La@TeX{}'' are really from @TeX{}, but for
8648simplicity I am blurring this distinction.} is widely used to typeset 8794simplicity I am blurring this distinction.} is widely used to typeset
8649scientific documents. Org mode supports embedding La@TeX{} code into its 8795scientific documents. Org-mode supports embedding La@TeX{} code into its
8650files, because many academics are used to reading La@TeX{} source code, and 8796files, because many academics are used to reading La@TeX{} source code, and
8651because it can be readily processed into images for HTML production. 8797because it can be readily processed into images for HTML production.
8652 8798
8653It is not necessary to mark La@TeX{} macros and code in any special way. 8799It is not necessary to mark La@TeX{} macros and code in any special way.
8654If you observe a few conventions, Org mode knows how to find it and what 8800If you observe a few conventions, Org-mode knows how to find it and what
8655to do with it. 8801to do with it.
8656 8802
8657@menu 8803@menu
8658* Special symbols:: Greek letters and other symbols 8804* Special symbols:: Greek letters and other symbols
8659* Subscripts and superscripts:: Simple syntax for raising/lowering text 8805* Subscripts and superscripts:: Simple syntax for raising/lowering text
8660* LaTeX fragments:: Complex formulas made easy 8806* LaTeX fragments:: Complex formulas made easy
8661* Previewing LaTeX fragments:: What will this snippet look like? 8807* Previewing LaTeX fragments:: What will this snippet look like?
8662* CDLaTeX mode:: Speed up entering of formulas 8808* CDLaTeX mode:: Speed up entering of formulas
8663@end menu 8809@end menu
8664 8810
8665@node Special symbols, Subscripts and superscripts, Embedded LaTeX, Embedded LaTeX 8811@node Special symbols, Subscripts and superscripts, Embedded LaTeX, Embedded LaTeX
@@ -8675,14 +8821,14 @@ You can use La@TeX{} macros to insert special symbols like @samp{\alpha} to
8675indicate the Greek letter, or @samp{\to} to indicate an arrow. Completion 8821indicate the Greek letter, or @samp{\to} to indicate an arrow. Completion
8676for these macros is available, just type @samp{\} and maybe a few letters, 8822for these macros is available, just type @samp{\} and maybe a few letters,
8677and press @kbd{M-@key{TAB}} to see possible completions. Unlike La@TeX{} 8823and press @kbd{M-@key{TAB}} to see possible completions. Unlike La@TeX{}
8678code, Org mode allows these macros to be present without surrounding math 8824code, Org-mode allows these macros to be present without surrounding math
8679delimiters, for example: 8825delimiters, for example:
8680 8826
8681@example 8827@example
8682Angles are written as Greek letters \alpha, \beta and \gamma. 8828Angles are written as Greek letters \alpha, \beta and \gamma.
8683@end example 8829@end example
8684 8830
8685@vindex org-html-entities 8831@vindex org-entities
8686During export, these symbols will be transformed into the native format of 8832During export, these symbols will be transformed into the native format of
8687the exporter backend. Strings like @code{\alpha} will be exported as 8833the exporter backend. Strings like @code{\alpha} will be exported as
8688@code{&alpha;} in the HTML output, and as @code{$\alpha$} in the La@TeX{} 8834@code{&alpha;} in the HTML output, and as @code{$\alpha$} in the La@TeX{}
@@ -8691,11 +8837,24 @@ output. Similarly, @code{\nbsp} will become @code{&nbsp;} in HTML and
8691like this: @samp{\Aacute@{@}stor}. 8837like this: @samp{\Aacute@{@}stor}.
8692 8838
8693A large number of entities is provided, with names taken from both HTML and 8839A large number of entities is provided, with names taken from both HTML and
8694La@TeX{}, see the variable @code{org-html-entities} for the complete list. 8840La@TeX{}, see the variable @code{org-entities} for the complete list.
8695@samp{\-} is treated as a shy hyphen, and @samp{--}, @samp{---}, and 8841@samp{\-} is treated as a shy hyphen, and @samp{--}, @samp{---}, and
8696@samp{...} are all converted into special commands creating hyphens of 8842@samp{...} are all converted into special commands creating hyphens of
8697different lengths or a compact set of dots. 8843different lengths or a compact set of dots.
8698 8844
8845If you would like to see entities displayed as utf8 characters, use the
8846following command@footnote{You can turn this on by default by setting the
8847variable @code{org-pretty-entities}, or on a per-file base with the
8848@code{#+STARTUP} option @code{entitiespretty}.}:
8849
8850@table @kbd
8851@kindex C-c C-x \
8852@item C-c C-x \
8853Toggle display of entities as UTF8 characters. This does not change the
8854buffer content which remains plain ASCII, but it overlays the UTF8 character
8855for display purposes only.
8856@end table
8857
8699@node Subscripts and superscripts, LaTeX fragments, Special symbols, Embedded LaTeX 8858@node Subscripts and superscripts, LaTeX fragments, Special symbols, Embedded LaTeX
8700@subsection Subscripts and superscripts 8859@subsection Subscripts and superscripts
8701@cindex subscript 8860@cindex subscript
@@ -8724,6 +8883,12 @@ convention, or use, on a per-file basis:
8724#+OPTIONS: ^:@{@} 8883#+OPTIONS: ^:@{@}
8725@end example 8884@end example
8726 8885
8886@table @kbd
8887@kindex C-c C-x \
8888@item C-c C-x \
8889In addition to showing entities as UTF8 characters, this command will also
8890format sub- and superscripts in a WYSIWYM way.
8891@end table
8727 8892
8728@node LaTeX fragments, Previewing LaTeX fragments, Subscripts and superscripts, Embedded LaTeX 8893@node LaTeX fragments, Previewing LaTeX fragments, Subscripts and superscripts, Embedded LaTeX
8729@subsection La@TeX{} fragments 8894@subsection La@TeX{} fragments
@@ -8736,7 +8901,7 @@ MathML, but that is not yet fully supported by many browsers, and there
8736is no decent converter for turning La@TeX{} or ASCII representations of 8901is no decent converter for turning La@TeX{} or ASCII representations of
8737formulas into MathML. So for the time being, converting formulas into 8902formulas into MathML. So for the time being, converting formulas into
8738images seems the way to go.}. More complex expressions need a dedicated 8903images seems the way to go.}. More complex expressions need a dedicated
8739formula processor. To this end, Org mode can contain arbitrary La@TeX{} 8904formula processor. To this end, Org-mode can contain arbitrary La@TeX{}
8740fragments. It provides commands to preview the typeset result of these 8905fragments. It provides commands to preview the typeset result of these
8741fragments, and upon export to HTML, all fragments will be converted to 8906fragments, and upon export to HTML, all fragments will be converted to
8742images and inlined into the HTML document@footnote{The La@TeX{} export 8907images and inlined into the HTML document@footnote{The La@TeX{} export
@@ -8823,12 +8988,12 @@ setting is active:
8823 8988
8824CDLa@TeX{} mode is a minor mode that is normally used in combination with a 8989CDLa@TeX{} mode is a minor mode that is normally used in combination with a
8825major La@TeX{} mode like AUC@TeX{} in order to speed-up insertion of 8990major La@TeX{} mode like AUC@TeX{} in order to speed-up insertion of
8826environments and math templates. Inside Org mode, you can make use of 8991environments and math templates. Inside Org-mode, you can make use of
8827some of the features of CDLa@TeX{} mode. You need to install 8992some of the features of CDLa@TeX{} mode. You need to install
8828@file{cdlatex.el} and @file{texmathp.el} (the latter comes also with 8993@file{cdlatex.el} and @file{texmathp.el} (the latter comes also with
8829AUC@TeX{}) from @url{http://www.astro.uva.nl/~dominik/Tools/cdlatex}. 8994AUC@TeX{}) from @url{http://www.astro.uva.nl/~dominik/Tools/cdlatex}.
8830Don't use CDLa@TeX{} mode itself under Org mode, but use the light 8995Don't use CDLa@TeX{} mode itself under Org-mode, but use the light
8831version @code{org-cdlatex-mode} that comes as part of Org mode. Turn it 8996version @code{org-cdlatex-mode} that comes as part of Org-mode. Turn it
8832on for the current buffer with @code{M-x org-cdlatex-mode}, or for all 8997on for the current buffer with @code{M-x org-cdlatex-mode}, or for all
8833Org files with 8998Org files with
8834 8999
@@ -8845,7 +9010,7 @@ Environment templates can be inserted with @kbd{C-c @{}.
8845@item 9010@item
8846@kindex @key{TAB} 9011@kindex @key{TAB}
8847The @key{TAB} key will do template expansion if the cursor is inside a 9012The @key{TAB} key will do template expansion if the cursor is inside a
8848La@TeX{} fragment@footnote{Org mode has a method to test if the cursor is 9013La@TeX{} fragment@footnote{Org-mode has a method to test if the cursor is
8849inside such a fragment, see the documentation of the function 9014inside such a fragment, see the documentation of the function
8850@code{org-inside-LaTeX-fragment-p}.}. For example, @key{TAB} will 9015@code{org-inside-LaTeX-fragment-p}.}. For example, @key{TAB} will
8851expand @code{fr} to @code{\frac@{@}@{@}} and position the cursor 9016expand @code{fr} to @code{\frac@{@}@{@}} and position the cursor
@@ -8886,28 +9051,30 @@ Org-mode documents can be exported into a variety of other formats. For
8886printing and sharing of notes, ASCII export produces a readable and simple 9051printing and sharing of notes, ASCII export produces a readable and simple
8887version of an Org file. HTML export allows you to publish a notes file on 9052version of an Org file. HTML export allows you to publish a notes file on
8888the web, while the XOXO format provides a solid base for exchange with a 9053the web, while the XOXO format provides a solid base for exchange with a
8889broad range of other applications. La@TeX{} export lets you use Org mode and 9054broad range of other applications. La@TeX{} export lets you use Org-mode and
8890its structured editing functions to easily create La@TeX{} files. DocBook 9055its structured editing functions to easily create La@TeX{} files. DocBook
8891export makes it possible to convert Org files to many other formats using 9056export makes it possible to convert Org files to many other formats using
8892DocBook tools. To incorporate entries with associated times like deadlines 9057DocBook tools. For project management you can create gantt and resource
8893or appointments into a desktop calendar program like iCal, Org mode can also 9058charts by using TaskJuggler export. To incorporate entries with associated
8894produce extracts in the iCalendar format. Currently Org mode only supports 9059times like deadlines or appointments into a desktop calendar program like
8895export, not import of these different formats. 9060iCal, Org-mode can also produce extracts in the iCalendar format. Currently
9061Org-mode only supports export, not import of these different formats.
8896 9062
8897Org supports export of selected regions when @code{transient-mark-mode} is 9063Org supports export of selected regions when @code{transient-mark-mode} is
8898enabled (default in Emacs 23). 9064enabled (default in Emacs 23).
8899 9065
8900@menu 9066@menu
8901* Selective export:: Using tags to select and exclude trees 9067* Selective export:: Using tags to select and exclude trees
8902* Export options:: Per-file export settings 9068* Export options:: Per-file export settings
8903* The export dispatcher:: How to access exporter commands 9069* The export dispatcher:: How to access exporter commands
8904* ASCII/Latin-1/UTF-8 export:: Exporting to flat files with encoding 9070* ASCII/Latin-1/UTF-8 export:: Exporting to flat files with encoding
8905* HTML export:: Exporting to HTML 9071* HTML export:: Exporting to HTML
8906* LaTeX and PDF export:: Exporting to La@TeX{}, and processing to PDF 9072* LaTeX and PDF export:: Exporting to La@TeX{}, and processing to PDF
8907* DocBook export:: Exporting to DocBook 9073* DocBook export:: Exporting to DocBook
8908* Freemind export:: Exporting to Freemind mind maps 9074* TaskJuggler export:: Exporting to TaskJuggler
8909* XOXO export:: Exporting to XOXO 9075* Freemind export:: Exporting to Freemind mind maps
8910* iCalendar export:: Exporting in iCalendar format 9076* XOXO export:: Exporting to XOXO
9077* iCalendar export:: Exporting in iCalendar format
8911@end menu 9078@end menu
8912 9079
8913@node Selective export, Export options, Exporting, Exporting 9080@node Selective export, Export options, Exporting, Exporting
@@ -8968,6 +9135,7 @@ Insert template with export options, see example below.
8968@cindex #+LINK_HOME 9135@cindex #+LINK_HOME
8969@cindex #+EXPORT_SELECT_TAGS 9136@cindex #+EXPORT_SELECT_TAGS
8970@cindex #+EXPORT_EXCLUDE_TAGS 9137@cindex #+EXPORT_EXCLUDE_TAGS
9138@cindex #+XSLT
8971@cindex #+LATEX_HEADER 9139@cindex #+LATEX_HEADER
8972@vindex user-full-name 9140@vindex user-full-name
8973@vindex user-mail-address 9141@vindex user-mail-address
@@ -8990,6 +9158,7 @@ Insert template with export options, see example below.
8990#+LATEX_HEADER: extra line(s) for the LaTeX header, like \usepackage@{xyz@} 9158#+LATEX_HEADER: extra line(s) for the LaTeX header, like \usepackage@{xyz@}
8991#+EXPORT_SELECT_TAGS: Tags that select a tree for export 9159#+EXPORT_SELECT_TAGS: Tags that select a tree for export
8992#+EXPORT_EXCLUDE_TAGS: Tags that exclude a tree from export 9160#+EXPORT_EXCLUDE_TAGS: Tags that exclude a tree from export
9161#+XSLT: the XSLT stylesheet used by DocBook exporter to generate FO file
8993@end example 9162@end example
8994 9163
8995@noindent 9164@noindent
@@ -9153,19 +9322,19 @@ the text and the link in a note before the next heading. See the variable
9153@section HTML export 9322@section HTML export
9154@cindex HTML export 9323@cindex HTML export
9155 9324
9156Org mode contains an HTML (XHTML 1.0 strict) exporter with extensive 9325Org-mode contains an HTML (XHTML 1.0 strict) exporter with extensive
9157HTML formatting, in ways similar to John Gruber's @emph{markdown} 9326HTML formatting, in ways similar to John Gruber's @emph{markdown}
9158language, but with additional support for tables. 9327language, but with additional support for tables.
9159 9328
9160@menu 9329@menu
9161* HTML Export commands:: How to invoke HTML export 9330* HTML Export commands:: How to invoke HTML export
9162* Quoting HTML tags:: Using direct HTML in Org mode 9331* Quoting HTML tags:: Using direct HTML in Org-mode
9163* Links in HTML export:: How links will be interpreted and formatted 9332* Links in HTML export:: How links will be interpreted and formatted
9164* Tables in HTML export:: How to modify the formatting of tables 9333* Tables in HTML export:: How to modify the formatting of tables
9165* Images in HTML export:: How to insert figures into HTML output 9334* Images in HTML export:: How to insert figures into HTML output
9166* Text areas in HTML export:: An alternative way to show an example 9335* Text areas in HTML export:: An alternative way to show an example
9167* CSS support:: Changing the appearance of the output 9336* CSS support:: Changing the appearance of the output
9168* Javascript support:: Info and Folding in a web browser 9337* JavaScript support:: Info and Folding in a web browser
9169@end menu 9338@end menu
9170 9339
9171@node HTML Export commands, Quoting HTML tags, HTML export, HTML export 9340@node HTML Export commands, Quoting HTML tags, HTML export, HTML export
@@ -9289,7 +9458,7 @@ and @code{style} attributes for a link:
9289Org-mode tables are exported to HTML using the table tag defined in 9458Org-mode tables are exported to HTML using the table tag defined in
9290@code{org-export-html-table-tag}. The default setting makes tables without 9459@code{org-export-html-table-tag}. The default setting makes tables without
9291cell borders and frame. If you would like to change this for individual 9460cell borders and frame. If you would like to change this for individual
9292tables, place somthing like the following before the table: 9461tables, place something like the following before the table:
9293 9462
9294@cindex #+CAPTION 9463@cindex #+CAPTION
9295@cindex #+ATTR_HTML 9464@cindex #+ATTR_HTML
@@ -9320,7 +9489,7 @@ will link to a high resolution version of the image, you could use:
9320[[file:highres.jpg][file:thumb.jpg]] 9489[[file:highres.jpg][file:thumb.jpg]]
9321@end example 9490@end example
9322 9491
9323If you need to add attributes to an inlines image, use a @code{#+ATTR_HTML}. 9492If you need to add attributes to an inlined image, use a @code{#+ATTR_HTML}.
9324In the example below we specify the @code{alt} and @code{title} attributes to 9493In the example below we specify the @code{alt} and @code{title} attributes to
9325support text viewers and accessibility, and align it to the right. 9494support text viewers and accessibility, and align it to the right.
9326 9495
@@ -9350,14 +9519,14 @@ respectively. For example
9350 9519
9351@example 9520@example
9352#+BEGIN_EXAMPLE -t -w 40 9521#+BEGIN_EXAMPLE -t -w 40
9353(defun org-xor (a b) 9522 (defun org-xor (a b)
9354 "Exclusive or." 9523 "Exclusive or."
9355 (if a (not b) b)) 9524 (if a (not b) b))
9356#+END_EXAMPLE 9525#+END_EXAMPLE
9357@end example 9526@end example
9358 9527
9359 9528
9360@node CSS support, Javascript support, Text areas in HTML export, HTML export 9529@node CSS support, JavaScript support, Text areas in HTML export, HTML export
9361@subsection CSS support 9530@subsection CSS support
9362@cindex CSS, for HTML export 9531@cindex CSS, for HTML export
9363@cindex HTML export, CSS 9532@cindex HTML export, CSS
@@ -9428,8 +9597,8 @@ referring to an external file.
9428@c FIXME: More about header and footer styles 9597@c FIXME: More about header and footer styles
9429@c FIXME: Talk about links and targets. 9598@c FIXME: Talk about links and targets.
9430 9599
9431@node Javascript support, , CSS support, HTML export 9600@node JavaScript support, , CSS support, HTML export
9432@subsection Javascript supported display of web pages 9601@subsection JavaScript supported display of web pages
9433 9602
9434@cindex Rose, Sebastian 9603@cindex Rose, Sebastian
9435Sebastian Rose has written a JavaScript program especially designed to 9604Sebastian Rose has written a JavaScript program especially designed to
@@ -9501,7 +9670,7 @@ pages, configure the variable @code{org-export-html-use-infojs}.
9501@cindex PDF export 9670@cindex PDF export
9502@cindex Guerry, Bastien 9671@cindex Guerry, Bastien
9503 9672
9504Org mode contains a La@TeX{} exporter written by Bastien Guerry. With 9673Org-mode contains a La@TeX{} exporter written by Bastien Guerry. With
9505further processing@footnote{The default LaTeX output is designed for 9674further processing@footnote{The default LaTeX output is designed for
9506processing with pdftex or latex. It includes packages that are not 9675processing with pdftex or latex. It includes packages that are not
9507compatible with xetex and possibly luatex. See the variables 9676compatible with xetex and possibly luatex. See the variables
@@ -9512,12 +9681,12 @@ implement links and cross references, the PDF output file will be fully
9512linked. 9681linked.
9513 9682
9514@menu 9683@menu
9515* LaTeX/PDF export commands:: Which key invokes which commands 9684* LaTeX/PDF export commands:: Which key invokes which commands
9516* Header and sectioning:: Setting up the export file structure 9685* Header and sectioning:: Setting up the export file structure
9517* Quoting LaTeX code:: Incorporating literal La@TeX{} code 9686* Quoting LaTeX code:: Incorporating literal La@TeX{} code
9518* Tables in LaTeX export:: Options for exporting tables to La@TeX{} 9687* Tables in LaTeX export:: Options for exporting tables to La@TeX{}
9519* Images in LaTeX export:: How to insert figures into La@TeX{} output 9688* Images in LaTeX export:: How to insert figures into La@TeX{} output
9520* Beamer class export:: Turning the file into a presentation 9689* Beamer class export:: Turning the file into a presentation
9521@end menu 9690@end menu
9522 9691
9523@node LaTeX/PDF export commands, Header and sectioning, LaTeX and PDF export, LaTeX and PDF export 9692@node LaTeX/PDF export commands, Header and sectioning, LaTeX and PDF export, LaTeX and PDF export
@@ -9547,11 +9716,11 @@ Export to a temporary buffer, do not create a file.
9547@item C-c C-e v L 9716@item C-c C-e v L
9548Export only the visible part of the document. 9717Export only the visible part of the document.
9549@item M-x org-export-region-as-latex 9718@item M-x org-export-region-as-latex
9550Convert the region to La@TeX{} under the assumption that it was Org mode 9719Convert the region to La@TeX{} under the assumption that it was Org-mode
9551syntax before. This is a global command that can be invoked in any 9720syntax before. This is a global command that can be invoked in any
9552buffer. 9721buffer.
9553@item M-x org-replace-region-by-latex 9722@item M-x org-replace-region-by-latex
9554Replace the active region (assumed to be in Org mode syntax) by La@TeX{} 9723Replace the active region (assumed to be in Org-mode syntax) by La@TeX{}
9555code. 9724code.
9556@kindex C-c C-e p 9725@kindex C-c C-e p
9557@item C-c C-e p 9726@item C-c C-e p
@@ -9644,8 +9813,10 @@ All lines between these markers are exported literally
9644 9813
9645For La@TeX{} export of a table, you can specify a label and a caption 9814For La@TeX{} export of a table, you can specify a label and a caption
9646(@pxref{Images and tables}). You can also use the @code{ATTR_LaTeX} line to 9815(@pxref{Images and tables}). You can also use the @code{ATTR_LaTeX} line to
9647request a longtable environment for the table, so that it may span several 9816request a @code{longtable} environment for the table, so that it may span
9648pages. Finally, you can set the alignment string: 9817several pages, or provide the @code{multicolumn} keyword that will make the
9818table span the page in a multicolumn environment (@code{table*} environment).
9819Finally, you can set the alignment string:
9649 9820
9650@cindex #+CAPTION 9821@cindex #+CAPTION
9651@cindex #+LABEL 9822@cindex #+LABEL
@@ -9676,12 +9847,12 @@ options that can be used in the optional argument of the
9676@code{figure} environment, add something like @samp{placement=[h!]} to the 9847@code{figure} environment, add something like @samp{placement=[h!]} to the
9677Attributes. 9848Attributes.
9678 9849
9679If you'd like to let text flow around the image, add the word @samp{wrap} to 9850If you would like to let text flow around the image, add the word @samp{wrap}
9680the @code{#+ATTR_LaTeX:} line, which will make the figure occupy the left 9851to the @code{#+ATTR_LaTeX:} line, which will make the figure occupy the left
9681half of the page. To fine-tune, the @code{placement} field will be the 9852half of the page. To fine-tune, the @code{placement} field will be the set
9682set of additional arguments needed by the @code{wrapfigure} environment. 9853of additional arguments needed by the @code{wrapfigure} environment. Note
9683Note that if you change the size of the image, you need to use compatible 9854that if you change the size of the image, you need to use compatible settings
9684settings for @code{\includegraphics} and @code{wrapfigure}. 9855for @code{\includegraphics} and @code{wrapfigure}.
9685 9856
9686@cindex #+CAPTION 9857@cindex #+CAPTION
9687@cindex #+LABEL 9858@cindex #+LABEL
@@ -9702,14 +9873,14 @@ If you need references to a label created in this way, write
9702@node Beamer class export, , Images in LaTeX export, LaTeX and PDF export 9873@node Beamer class export, , Images in LaTeX export, LaTeX and PDF export
9703@subsection Beamer class export 9874@subsection Beamer class export
9704 9875
9705The LaTeX class @file{beamer} allows to produce high quality presentations 9876The LaTeX class @file{beamer} allows production of high quality presentations
9706using LaTeX and pdf processing. Org-mode has special support for turning an 9877using LaTeX and pdf processing. Org-mode has special support for turning an
9707Org-mode file or tree into a @file{beamer} presentation. 9878Org-mode file or tree into a @file{beamer} presentation.
9708 9879
9709When the LaTeX class for the current buffer (as set with @code{#+LaTeX_CLASS: 9880When the LaTeX class for the current buffer (as set with @code{#+LaTeX_CLASS:
9710beamer}) or subtree (set with a @code{LaTeX_CLASS} property) is 9881beamer}) or subtree (set with a @code{LaTeX_CLASS} property) is
9711@code{beamer}, a special export mode will turn the file or tree into a beamer 9882@code{beamer}, a special export mode will turn the file or tree into a beamer
9712presentation. Any tree with not-to-deep level nesting should in principle be 9883presentation. Any tree with not-too-deep level nesting should in principle be
9713exportable as a beamer presentation. By default, the top-level entries (or 9884exportable as a beamer presentation. By default, the top-level entries (or
9714the first level below the selected subtree heading) will be turned into 9885the first level below the selected subtree heading) will be turned into
9715frames, and the outline structure below this level will become itemize lists. 9886frames, and the outline structure below this level will become itemize lists.
@@ -9741,7 +9912,7 @@ set an options argument for the implied @code{columns} environment.
9741@item BEAMER_col 9912@item BEAMER_col
9742The width of a column that should start with this entry. If this property is 9913The width of a column that should start with this entry. If this property is
9743set, the entry will also get a @code{:BMCOL:} property to make this visible. 9914set, the entry will also get a @code{:BMCOL:} property to make this visible.
9744Also this tag is only a visual aid. When his is a plain number, it will be 9915Also this tag is only a visual aid. When this is a plain number, it will be
9745interpreted as a fraction of @code{\textwidth}. Otherwise it will be assumed 9916interpreted as a fraction of @code{\textwidth}. Otherwise it will be assumed
9746that you have specified the units, like @samp{3cm}. The first such property 9917that you have specified the units, like @samp{3cm}. The first such property
9747in a frame will start a @code{columns} environment to surround the columns. 9918in a frame will start a @code{columns} environment to surround the columns.
@@ -9785,7 +9956,7 @@ environment or the @code{BEAMER_col} property.
9785Column view provides a great way to set the environment of a node and other 9956Column view provides a great way to set the environment of a node and other
9786important parameters. Make sure you are using a COLUMN format that is geared 9957important parameters. Make sure you are using a COLUMN format that is geared
9787toward this special purpose. The command @kbd{M-x 9958toward this special purpose. The command @kbd{M-x
9788org-beamer-settings-template} does define such a format. 9959org-beamer-settings-template} defines such a format.
9789 9960
9790Here is a simple example Org document that is intended for beamer export. 9961Here is a simple example Org document that is intended for beamer export.
9791 9962
@@ -9799,7 +9970,7 @@ Here is a simple example Org document that is intended for beamer export.
9799#+COLUMNS: %35ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Args) %4BEAMER_col(Col) %8BEAMER_extra(Ex) 9970#+COLUMNS: %35ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Args) %4BEAMER_col(Col) %8BEAMER_extra(Ex)
9800 9971
9801* This is the first structural section 9972* This is the first structural section
9802 9973
9803** Frame 1 \\ with a subtitle 9974** Frame 1 \\ with a subtitle
9804*** Thanks to Eric Fraga :BMCOL:B_block: 9975*** Thanks to Eric Fraga :BMCOL:B_block:
9805 :PROPERTIES: 9976 :PROPERTIES:
@@ -9826,11 +9997,11 @@ Here is a simple example Org document that is intended for beamer export.
9826 9997
9827For more information, see the documentation on Worg. 9998For more information, see the documentation on Worg.
9828 9999
9829@node DocBook export, Freemind export, LaTeX and PDF export, Exporting 10000@node DocBook export, TaskJuggler export, LaTeX and PDF export, Exporting
9830@section DocBook export 10001@section DocBook export
9831@cindex DocBook export 10002@cindex DocBook export
9832@cindex PDF export 10003@cindex PDF export
9833@cindex Cui, Baoqui 10004@cindex Cui, Baoqiu
9834 10005
9835Org contains a DocBook exporter written by Baoqiu Cui. Once an Org file is 10006Org contains a DocBook exporter written by Baoqiu Cui. Once an Org file is
9836exported to DocBook format, it can be further processed to produce other 10007exported to DocBook format, it can be further processed to produce other
@@ -9840,12 +10011,12 @@ tools and stylesheets.
9840Currently DocBook exporter only supports DocBook V5.0. 10011Currently DocBook exporter only supports DocBook V5.0.
9841 10012
9842@menu 10013@menu
9843* DocBook export commands:: How to invoke DocBook export 10014* DocBook export commands:: How to invoke DocBook export
9844* Quoting DocBook code:: Incorporating DocBook code in Org files 10015* Quoting DocBook code:: Incorporating DocBook code in Org files
9845* Recursive sections:: Recursive sections in DocBook 10016* Recursive sections:: Recursive sections in DocBook
9846* Tables in DocBook export:: Tables are exported as HTML tables 10017* Tables in DocBook export:: Tables are exported as HTML tables
9847* Images in DocBook export:: How to insert figures into DocBook output 10018* Images in DocBook export:: How to insert figures into DocBook output
9848* Special characters:: How to handle special characters 10019* Special characters:: How to handle special characters
9849@end menu 10020@end menu
9850 10021
9851@node DocBook export commands, Quoting DocBook code, DocBook export, DocBook export 10022@node DocBook export commands, Quoting DocBook code, DocBook export, DocBook export
@@ -9877,6 +10048,13 @@ need to have XSLT processor and XSL-FO processor software installed on your
9877system. Check variables @code{org-export-docbook-xslt-proc-command} and 10048system. Check variables @code{org-export-docbook-xslt-proc-command} and
9878@code{org-export-docbook-xsl-fo-proc-command}. 10049@code{org-export-docbook-xsl-fo-proc-command}.
9879 10050
10051@vindex org-export-docbook-xslt-stylesheet
10052The stylesheet argument @code{%s} in variable
10053@code{org-export-docbook-xslt-proc-command} is replaced by the value of
10054variable @code{org-export-docbook-xslt-stylesheet}, which needs to be set by
10055the user. You can also overrule this global setting on a per-file basis by
10056adding an in-buffer setting @code{#+XSLT:} to the Org file.
10057
9880@kindex C-c C-e v D 10058@kindex C-c C-e v D
9881@item C-c C-e v D 10059@item C-c C-e v D
9882Export only the visible part of the document. 10060Export only the visible part of the document.
@@ -9964,21 +10142,21 @@ or @code{width}, can be specified in two ways: you can either customize
9964variable @code{org-export-docbook-default-image-attributes} or use the 10142variable @code{org-export-docbook-default-image-attributes} or use the
9965@code{#+ATTR_DOCBOOK:} line. Attributes specified in variable 10143@code{#+ATTR_DOCBOOK:} line. Attributes specified in variable
9966@code{org-export-docbook-default-image-attributes} are applied to all inline 10144@code{org-export-docbook-default-image-attributes} are applied to all inline
9967images in the Org file to be exported (unless they are overwritten by image 10145images in the Org file to be exported (unless they are overridden by image
9968attributes specified in @code{#+ATTR_DOCBOOK:} lines). 10146attributes specified in @code{#+ATTR_DOCBOOK:} lines).
9969 10147
9970The @code{#+ATTR_DOCBOOK:} line can be used to specify additional image 10148The @code{#+ATTR_DOCBOOK:} line can be used to specify additional image
9971attributes or overwrite default image attributes for individual images. If 10149attributes or override default image attributes for individual images. If
9972the same attribute appears in both the @code{#+ATTR_DOCBOOK:} line and 10150the same attribute appears in both the @code{#+ATTR_DOCBOOK:} line and
9973variable @code{org-export-docbook-default-image-attributes}, the former 10151variable @code{org-export-docbook-default-image-attributes}, the former
9974overwrites the latter. Here is an example about how image attributes can be 10152takes precedence. Here is an example about how image attributes can be
9975set: 10153set:
9976 10154
9977@cindex #+CAPTION 10155@cindex #+CAPTION
9978@cindex #+LABEL 10156@cindex #+LABEL
9979@cindex #+ATTR_DOCBOOK 10157@cindex #+ATTR_DOCBOOK
9980@example 10158@example
9981#+CAPTION: The logo of Org mode 10159#+CAPTION: The logo of Org-mode
9982#+LABEL: unicorn-svg 10160#+LABEL: unicorn-svg
9983#+ATTR_DOCBOOK: scalefit="1" width="100%" depth="100%" 10161#+ATTR_DOCBOOK: scalefit="1" width="100%" depth="100%"
9984[[./img/org-mode-unicorn.svg]] 10162[[./img/org-mode-unicorn.svg]]
@@ -9995,12 +10173,12 @@ more types to this list as long as DocBook supports them.
9995@cindex Special characters in DocBook export 10173@cindex Special characters in DocBook export
9996 10174
9997@vindex org-export-docbook-doctype 10175@vindex org-export-docbook-doctype
9998@vindex org-html-entities 10176@vindex org-entities
9999Special characters that are written in @TeX{}-like syntax, such as @code{\alpha}, 10177Special characters that are written in @TeX{}-like syntax, such as @code{\alpha},
10000@code{\Gamma}, and @code{\Zeta}, are supported by DocBook exporter. These 10178@code{\Gamma}, and @code{\Zeta}, are supported by DocBook exporter. These
10001characters are rewritten to XML entities, like @code{&alpha;}, 10179characters are rewritten to XML entities, like @code{&alpha;},
10002@code{&Gamma;}, and @code{&Zeta;}, based on the list saved in variable 10180@code{&Gamma;}, and @code{&Zeta;}, based on the list saved in variable
10003@code{org-html-entities}. As long as the generated DocBook file includes the 10181@code{org-entities}. As long as the generated DocBook file includes the
10004corresponding entities, these special characters are recognized. 10182corresponding entities, these special characters are recognized.
10005 10183
10006You can customize variable @code{org-export-docbook-doctype} to include the 10184You can customize variable @code{org-export-docbook-doctype} to include the
@@ -10019,12 +10197,142 @@ special characters included in XHTML entities:
10019" 10197"
10020@end example 10198@end example
10021 10199
10022@node Freemind export, XOXO export, DocBook export, Exporting 10200@node TaskJuggler export, Freemind export, DocBook export, Exporting
10201@section TaskJuggler export
10202@cindex TaskJuggler export
10203@cindex Project management
10204
10205@uref{http://www.taskjuggler.org/, TaskJuggler} is a project management tool.
10206It provides an optimizing scheduler that computes your project time lines and
10207resource assignments based on the project outline and the constraints that
10208you have provided.
10209
10210The TaskJuggler exporter is a bit different from other exporters, such as the
10211HTML and LaTeX exporters for example, in that it does not export all the
10212nodes of a document or strictly follow the order of the nodes in the
10213document.
10214
10215Instead the TaskJuggler exporter looks for a tree that defines the tasks and
10216a optionally tree that defines the resources for this project. It then
10217creates a TaskJuggler file based on these trees and the attributes defined in
10218all the nodes.
10219
10220@subsection TaskJuggler export commands
10221
10222@table @kbd
10223@kindex C-c C-e j
10224@item C-c C-e j
10225Export as TaskJuggler file.
10226
10227@kindex C-c C-e J
10228@item C-c C-e J
10229Export as TaskJuggler file and then open the file with TaskJugglerUI.
10230@end table
10231
10232@subsection Tasks
10233
10234@vindex org-export-taskjuggler-project-tag
10235Create your tasks as you usually do with Org-mode. Assign efforts to each
10236task using properties (it's easiest to do this in the column view). You
10237should end up with something similar to the example by Peter Jones in
10238@url{http://www.contextualdevelopment.com/static/artifacts/articles/2008/project-planning/project-planning.org}.
10239Now mark the top node of your tasks with a tag named
10240@code{:taskjuggler_project:} (or whatever you customized
10241@code{org-export-taskjuggler-project-tag} to). You are now ready to export
10242the project plan with @kbd{C-c C-e J} which will export the project plan and
10243open a gantt chart in TaskJugglerUI.
10244
10245@subsection Resources
10246
10247@vindex org-export-taskjuggler-resource-tag
10248Next you can define resources and assign those to work on specific tasks. You
10249can group your resources hierarchically. Tag the top node of the resources
10250with @code{:taskjuggler_resource:} (or whatever you customized
10251@code{org-export-taskjuggler-resource-tag} to). You can optionally assign an
10252identifier (named @samp{resource_id}) to the resources (using the standard
10253Org properties commands, @pxref{Property syntax}) or you can let the exporter
10254generate identifiers automatically (the exporter picks the first word of the
10255headline as the identifier as long as it is unique, see the documentation of
10256@code{org-taskjuggler-get-unique-id}). Using that identifier you can then
10257allocate resources to tasks. This is again done with the @samp{allocate}
10258property on the tasks. Do this in column view or when on the task type
10259@kbd{C-c C-x p allocate @key{RET} <resource_id> @key{RET}}.
10260
10261Once the allocations are done you can again export to TaskJuggler and check
10262in the Resource Allocation Graph which person is working on what task at what
10263time.
10264
10265@subsection Export of properties
10266
10267The exporter also takes TODO state information into consideration, i.e. if a
10268task is marked as done it will have the corresponding attribute in
10269TaskJuggler (@samp{complete 100}). Also it will export any property on a task
10270resource or resource node which is known to TaskJuggler, such as
10271@samp{limits}, @samp{vacation}, @samp{shift}, @samp{booking},
10272@samp{efficiency}, @samp{journalentry}, @samp{rate} for resources or
10273@samp{account}, @samp{start}, @samp{note}, @samp{duration}, @samp{end},
10274@samp{journalentry}, @samp{milestone}, @samp{reference}, @samp{responsible},
10275@samp{scheduling}, etc for tasks.
10276
10277@subsection Dependencies
10278
10279The exporter will handle dependencies that are defined in the tasks either
10280with the @samp{ORDERED} attribute (@pxref{TODO dependencies}), with the
10281@samp{BLOCKER} attribute (see org-depend.el) or alternatively with a
10282@samp{depends} attribute. Both the @samp{BLOCKER} and the @samp{depends}
10283attribute can be either @samp{previous-sibling} or a reference to an
10284identifier (named @samp{task_id}) which is defined for another task in the
10285project. @samp{BLOCKER} and the @samp{depends} attribute can define multiple
10286dependencies separated by either space or comma. You can also specify
10287optional attributes on the dependency by simply appending it. The following
10288examples should illustrate this:
10289
10290@example
10291* Preparation
10292 :PROPERTIES:
10293 :task_id: preparation
10294 :ORDERED: t
10295 :END:
10296* Training material
10297 :PROPERTIES:
10298 :task_id: training_material
10299 :ORDERED: t
10300 :END:
10301** Markup Guidelines
10302 :PROPERTIES:
10303 :Effort: 2.0
10304 :END:
10305** Workflow Guidelines
10306 :PROPERTIES:
10307 :Effort: 2.0
10308 :END:
10309* Presentation
10310 :PROPERTIES:
10311 :Effort: 2.0
10312 :BLOCKER: training_material @{ gapduration 1d @} preparation
10313 :END:
10314@end example
10315
10316@subsection Reports
10317
10318@vindex org-export-taskjuggler-default-reports
10319TaskJuggler can produce many kinds of reports (e.g. gantt chart, resource
10320allocation, etc). The user defines what kind of reports should be generated
10321for a project in the TaskJuggler file. The exporter will automatically insert
10322some default reports in the file. These defaults are defined in
10323@code{org-export-taskjuggler-default-reports}. They can be modified using
10324customize along with a number of other options. For a more complete list, see
10325@kbd{M-x customize-group @key{RET} org-export-taskjuggler @key{RET}}.
10326
10327For more information and examples see the Org-taskjuggler tutorial at
10328@uref{http://orgmode.org/worg/org-tutorials/org-taskjuggler.php}.
10329
10330@node Freemind export, XOXO export, TaskJuggler export, Exporting
10023@section Freemind export 10331@section Freemind export
10024@cindex Freemind export 10332@cindex Freemind export
10025@cindex mind map 10333@cindex mind map
10026 10334
10027The freemind exporter was written by Lennart Borgman. 10335The Freemind exporter was written by Lennart Borgman.
10028 10336
10029@table @kbd 10337@table @kbd
10030@kindex C-c C-e m 10338@kindex C-c C-e m
@@ -10036,7 +10344,7 @@ Export as Freemind mind map @file{myfile.mm}.
10036@section XOXO export 10344@section XOXO export
10037@cindex XOXO export 10345@cindex XOXO export
10038 10346
10039Org mode contains an exporter that produces XOXO-style output. 10347Org-mode contains an exporter that produces XOXO-style output.
10040Currently, this exporter only handles the general outline structure and 10348Currently, this exporter only handles the general outline structure and
10041does not interpret any additional Org-mode features. 10349does not interpret any additional Org-mode features.
10042 10350
@@ -10057,10 +10365,10 @@ Export only the visible part of the document.
10057@vindex org-icalendar-use-deadline 10365@vindex org-icalendar-use-deadline
10058@vindex org-icalendar-use-scheduled 10366@vindex org-icalendar-use-scheduled
10059@vindex org-icalendar-categories 10367@vindex org-icalendar-categories
10060Some people use Org mode for keeping track of projects, but still prefer a 10368Some people use Org-mode for keeping track of projects, but still prefer a
10061standard calendar application for anniversaries and appointments. In this 10369standard calendar application for anniversaries and appointments. In this
10062case it can be useful to show deadlines and other time-stamped items in Org 10370case it can be useful to show deadlines and other time-stamped items in Org
10063files in the calendar application. Org mode can export calendar information 10371files in the calendar application. Org-mode can export calendar information
10064in the standard iCalendar format. If you also want to have TODO entries 10372in the standard iCalendar format. If you also want to have TODO entries
10065included in the export, configure the variable 10373included in the export, configure the variable
10066@code{org-icalendar-include-todo}. Plain timestamps are exported as VEVENT, 10374@code{org-icalendar-include-todo}. Plain timestamps are exported as VEVENT,
@@ -10118,10 +10426,9 @@ and the description from the body (limited to
10118How this calendar is best read and updated, depends on the application 10426How this calendar is best read and updated, depends on the application
10119you are using. The FAQ covers this issue. 10427you are using. The FAQ covers this issue.
10120 10428
10121@node Publishing, Miscellaneous, Exporting, Top 10429@node Publishing, Working With Source Code, Exporting, Top
10122@chapter Publishing 10430@chapter Publishing
10123@cindex publishing 10431@cindex publishing
10124@cindex O'Toole, David
10125 10432
10126Org includes a publishing management system that allows you to configure 10433Org includes a publishing management system that allows you to configure
10127automatic HTML conversion of @emph{projects} composed of interlinked org 10434automatic HTML conversion of @emph{projects} composed of interlinked org
@@ -10135,10 +10442,10 @@ conversion so that files are available in both formats on the server.
10135Publishing has been contributed to Org by David O'Toole. 10442Publishing has been contributed to Org by David O'Toole.
10136 10443
10137@menu 10444@menu
10138* Configuration:: Defining projects 10445* Configuration:: Defining projects
10139* Uploading files:: How to get files up on the server 10446* Uploading files:: How to get files up on the server
10140* Sample configuration:: Example projects 10447* Sample configuration:: Example projects
10141* Triggering publication:: Publication commands 10448* Triggering publication:: Publication commands
10142@end menu 10449@end menu
10143 10450
10144@node Configuration, Uploading files, Publishing, Publishing 10451@node Configuration, Uploading files, Publishing, Publishing
@@ -10148,14 +10455,14 @@ Publishing needs significant configuration to specify files, destination
10148and many other properties of a project. 10455and many other properties of a project.
10149 10456
10150@menu 10457@menu
10151* Project alist:: The central configuration variable 10458* Project alist:: The central configuration variable
10152* Sources and destinations:: From here to there 10459* Sources and destinations:: From here to there
10153* Selecting files:: What files are part of the project? 10460* Selecting files:: What files are part of the project?
10154* Publishing action:: Setting the function doing the publishing 10461* Publishing action:: Setting the function doing the publishing
10155* Publishing options:: Tweaking HTML export 10462* Publishing options:: Tweaking HTML export
10156* Publishing links:: Which links keep working after publishing? 10463* Publishing links:: Which links keep working after publishing?
10157* Sitemap:: Generating a list of all pages 10464* Sitemap:: Generating a list of all pages
10158* Generating an index:: An index that reaches across pages 10465* Generating an index:: An index that reaches across pages
10159@end menu 10466@end menu
10160 10467
10161@node Project alist, Sources and destinations, Configuration, Configuration 10468@node Project alist, Sources and destinations, Configuration, Configuration
@@ -10437,10 +10744,10 @@ file is part of any project in @code{org-publish-project-alist}.
10437@subsection Generating a sitemap 10744@subsection Generating a sitemap
10438@cindex sitemap, of published pages 10745@cindex sitemap, of published pages
10439 10746
10440The following properties may be used to control publishing of 10747The following properties may be used to control publishing of
10441a map of files for a given project. 10748a map of files for a given project.
10442 10749
10443@multitable @columnfractions 0.25 0.75 10750@multitable @columnfractions 0.35 0.65
10444@item @code{:auto-sitemap} 10751@item @code{:auto-sitemap}
10445@tab When non-nil, publish a sitemap during @code{org-publish-current-project} 10752@tab When non-nil, publish a sitemap during @code{org-publish-current-project}
10446or @code{org-publish-all}. 10753or @code{org-publish-all}.
@@ -10456,6 +10763,19 @@ becomes @file{sitemap.html}).
10456@tab Plug-in function to use for generation of the sitemap. 10763@tab Plug-in function to use for generation of the sitemap.
10457Defaults to @code{org-publish-org-sitemap}, which generates a plain list 10764Defaults to @code{org-publish-org-sitemap}, which generates a plain list
10458of links to all files in the project. 10765of links to all files in the project.
10766
10767@item @code{:sitemap-sort-folders}
10768@tab Where folders should appear in the sitemap. Set this to @code{first}
10769(default) or @code{last} to display folders first or last,
10770respectively. Any other value will mix files and folders.
10771
10772@item @code{:sitemap-alphabetically}
10773@tab The site map is normally sorted alphabetically. Set this explicitly to
10774@code{nil} to turn off sorting.
10775
10776@item @code{:sitemap-ignore-case}
10777@tab Should sorting be case-sensitive? Default @code{nil}.
10778
10459@end multitable 10779@end multitable
10460 10780
10461@node Generating an index, , Sitemap, Configuration 10781@node Generating an index, , Sitemap, Configuration
@@ -10482,7 +10802,7 @@ a title, style information etc.
10482 10802
10483For those people already utilizing third party sync tools such as 10803For those people already utilizing third party sync tools such as
10484@command{rsync} or @command{unison}, it might be preferable not to use the built in 10804@command{rsync} or @command{unison}, it might be preferable not to use the built in
10485@i{remote} publishing facilities of Org mode which rely heavily on 10805@i{remote} publishing facilities of Org-mode which rely heavily on
10486Tramp. Tramp, while very useful and powerful, tends not to be 10806Tramp. Tramp, while very useful and powerful, tends not to be
10487so efficient for multiple file transfer and has been known to cause problems 10807so efficient for multiple file transfer and has been known to cause problems
10488under heavy usage. 10808under heavy usage.
@@ -10516,8 +10836,8 @@ project publishing only a set of Org files. The second example is
10516more complex, with a multi-component project. 10836more complex, with a multi-component project.
10517 10837
10518@menu 10838@menu
10519* Simple example:: One-component publishing 10839* Simple example:: One-component publishing
10520* Complex example:: A multi-component publishing example 10840* Complex example:: A multi-component publishing example
10521@end menu 10841@end menu
10522 10842
10523@node Simple example, Complex example, Sample configuration, Sample configuration 10843@node Simple example, Complex example, Sample configuration, Sample configuration
@@ -10549,7 +10869,7 @@ excluded.
10549To ensure that links are preserved, care should be taken to replicate 10869To ensure that links are preserved, care should be taken to replicate
10550your directory structure on the web server, and to use relative file 10870your directory structure on the web server, and to use relative file
10551paths. For example, if your Org files are kept in @file{~/org} and your 10871paths. For example, if your Org files are kept in @file{~/org} and your
10552publishable images in @file{~/images}, you'd link to an image with 10872publishable images in @file{~/images}, you would link to an image with
10553@c 10873@c
10554@example 10874@example
10555file:../images/myimage.png 10875file:../images/myimage.png
@@ -10617,18 +10937,1370 @@ above, or by customizing the variable @code{org-publish-use-timestamps-flag}.
10617This may be necessary in particular if files include other files via 10937This may be necessary in particular if files include other files via
10618@code{#+SETUPFILE:} or @code{#+INCLUDE:}. 10938@code{#+SETUPFILE:} or @code{#+INCLUDE:}.
10619 10939
10620@node Miscellaneous, Hacking, Publishing, Top 10940@comment node-name, next, previous, up
10941@comment Working With Source Code, Miscellaneous, Publishing, Top
10942
10943@node Working With Source Code, Miscellaneous, Publishing, Top
10944@chapter Working with source code
10945@cindex Schulte, Eric
10946@cindex Davison, Dan
10947@cindex source code, working with
10948
10949Source code can be included in Org-mode documents using a @samp{src} block,
10950e.g.
10951
10952@example
10953#+BEGIN_SRC emacs-lisp
10954 (defun org-xor (a b)
10955 "Exclusive or."
10956 (if a (not b) b))
10957#+END_SRC
10958@end example
10959
10960Org-mode provides a number of features for working with live source code,
10961including editing of code blocks in their native major-mode, evaluation of
10962code blocks, tangling of code blocks, and exporting code blocks and
10963their results in several formats. This functionality was contributed by Dan
10964Davison and Eric Schulte, and was originally named Org-babel.
10965
10966The following sections describe Org-mode's code block handling facilities.
10967
10968@menu
10969* Structure of code blocks:: Code block syntax described
10970* Editing source code:: Language major-mode editing
10971* Exporting code blocks:: Export contents and/or results
10972* Extracting source code:: Create pure source code files
10973* Evaluating code blocks:: Place results of evaluation in the Org-mode buffer
10974* Library of Babel:: Use and contribute to a library of useful code blocks
10975* Languages:: List of supported code block languages
10976* Header arguments:: Configure code block functionality
10977* Results of evaluation:: How evaluation results are handled
10978* Noweb reference syntax:: Literate programming in Org-mode
10979* Key bindings and useful functions:: Work quickly with code blocks
10980* Batch execution:: Call functions from the command line
10981@end menu
10982
10983@comment node-name, next, previous, up
10984@comment Structure of code blocks, Editing source code, Working With Source Code, Working With Source Code
10985
10986@node Structure of code blocks, Editing source code, Working With Source Code, Working With Source Code
10987@section Structure of code blocks
10988@cindex code block, structure
10989@cindex source code, block structure
10990
10991The structure of code blocks is as follows:
10992
10993@example
10994#+srcname: <name>
10995#+begin_src <language> <switches> <header arguments>
10996 <body>
10997#+end_src
10998@end example
10999
11000@table @code
11001@item <name>
11002This name is associated with the code block. This is similar to the
11003@samp{#+tblname} lines that can be used to name tables in Org-mode files.
11004Referencing the name of a code block makes it possible to evaluate the
11005block from other places in the file, other files, or from Org-mode table
11006formulas (see @ref{The spreadsheet}).
11007@item <language>
11008The language of the code in the block.
11009@item <switches>
11010Switches controlling exportation of the code block (see switches discussion in
11011@ref{Literal examples})
11012@item <header arguments>
11013Optional header arguments control many aspects of evaluation, export and
11014tangling of code blocks. See the @ref{Header arguments}
11015section. Header arguments can also be set on a per-buffer or per-subtree
11016basis using properties.
11017@item <body>
11018The source code.
11019@end table
11020
11021@comment node-name, next, previous, up
11022@comment Editing source code, Exporting code blocks, Structure of code blocks, Working With Source Code
11023
11024@node Editing source code, Exporting code blocks, Structure of code blocks, Working With Source Code
11025@section Editing source code
11026@cindex code block, editing
11027@cindex source code, editing
11028
11029@kindex C-c '
11030Use @kbd{C-c '} to edit the current code block. This brings up
11031a language major-mode edit buffer containing the body of the code
11032block. Saving this buffer will write the new contents back to the Org
11033buffer. Use @kbd{C-c '} again to exit.
11034
11035The @code{org-src-mode} minor mode will be active in the edit buffer. The
11036following variables can be used to configure the behavior of the edit
11037buffer. See also the customization group @code{org-edit-structure} for
11038further configuration options.
11039
11040@table @code
11041@item org-src-lang-modes
11042If an Emacs major-mode named @code{<lang>-mode} exists, where
11043@code{<lang>} is the language named in the header line of the code block,
11044then the edit buffer will be placed in that major-mode. This variable
11045can be used to map arbitrary language names to existing major modes.
11046@item org-src-window-setup
11047Controls the way Emacs windows are rearranged when the edit buffer is created.
11048@item org-src-preserve-indentation
11049This variable is especially useful for tangling languages such as
11050python, in which whitespace indentation in the output is critical.
11051@item org-src-ask-before-returning-to-edit-buffer
11052By default, Org will ask before returning to an open edit buffer. Set
11053this variable to nil to switch without asking.
11054@end table
11055
11056@comment node-name, next, previous, up
11057@comment Exporting code blocks, Extracting source code, Editing source code, Working With Source Code
11058
11059@node Exporting code blocks, Extracting source code, Editing source code, Working With Source Code
11060@section Exporting code blocks
11061@cindex code block, exporting
11062@cindex source code, exporting
11063
11064It is possible to export the @emph{contents} of code blocks, the
11065@emph{results} of code block evaluation, @emph{neither}, or @emph{both}. For
11066most languages, the default exports the contents of code blocks. However, for
11067some languages (e.g. @code{ditaa}) the default exports the results of code
11068block evaluation. For information on exporting code block bodies, see
11069@ref{Literal examples}.
11070
11071The @code{:exports} header argument can be used to specify export
11072behavior:
11073
11074@subsubheading Header arguments:
11075@table @code
11076@item :exports code
11077The default in most languages. The body of the code block is exported, as
11078described in @ref{Literal examples}.
11079@item :exports results
11080The code block will be evaluated and the results will be placed in the
11081Org-mode buffer for export, either updating previous results of the code
11082block located anywhere in the buffer or, if no previous results exist,
11083placing the results immediately after the code block. The body of the code
11084block will not be exported.
11085@item :exports both
11086Both the code block and its results will be exported.
11087@item :exports none
11088Neither the code block nor its results will be exported.
11089@end table
11090
11091It is possible to inhibit the evaluation of code blocks during export.
11092Setting the the @code{org-export-babel-evaluate} variable to @code{nil} will
11093ensure that no code blocks are evaluated as part of the export process. This
11094can be useful in situations where potentially untrusted Org-mode files are
11095exported in an automated fashion, for example when Org-mode is used as the
11096markup language for a wiki.
11097
11098@comment node-name, next, previous, up
11099@comment Extracting source code, Evaluating code blocks, Exporting code blocks, Working With Source Code
11100@node Extracting source code, Evaluating code blocks, Exporting code blocks, Working With Source Code
11101@section Extracting source code
11102@cindex source code, extracting
11103@cindex code block, extracting source code
11104
11105Creating pure source code files by extracting code from source blocks is
11106referred to as ``tangling''---a term adopted from the literate programming
11107community. During ``tangling'' of code blocks their bodies are expanded
11108using @code{org-babel-expand-src-block} which can expand both variable and
11109``noweb'' style references (see @ref{Noweb reference syntax}).
11110
11111@subsubheading Header arguments
11112@table @code
11113@item :tangle no
11114The default. The code block is not included in the tangled output.
11115@item :tangle yes
11116Include the code block in the tangled output. The output file name is the
11117name of the org file with the extension @samp{.org} replaced by the extension
11118for the block language.
11119@item :tangle filename
11120Include the code block in the tangled output to file @samp{filename}.
11121@end table
11122
11123@kindex C-c C-v t
11124@subsubheading Functions
11125@table @code
11126@item org-babel-tangle @kbd{C-c C-v t}
11127Tangle the current file.
11128@item org-babel-tangle-file
11129Choose a file to tangle.
11130@end table
11131
11132@subsubheading Hooks
11133@table @code
11134@item org-babel-post-tangle-hook
11135This hook is run from within code files tangled by @code{org-babel-tangle}.
11136Example applications could include post-processing, compilation or evaluation
11137of tangled code files.
11138@end table
11139
11140@node Evaluating code blocks, Library of Babel, Extracting source code, Working With Source Code
11141@section Evaluating code blocks
11142@cindex code block, evaluating
11143@cindex source code, evaluating
11144
11145Code blocks can be evaluated@footnote{Whenever code is evaluated there is a
11146potential for that code to do harm. Org-mode provides a number of safeguards
11147to ensure that it only evaluates code with explicit confirmation from the
11148user. For information on these safeguards (and on how to disable them) see
11149@ref{Code evaluation security}.} and the results placed in the Org-mode
11150buffer. By default, evaluation is only turned on for @code{emacs-lisp} code
11151blocks, however support exists for evaluating blocks in many languages. See
11152@ref{Languages} for a list of supported languages. See @ref{Structure of
11153code blocks} for information on the syntax used to define a code block.
11154
11155@kindex C-c C-c
11156There are a number of ways to evaluate code blocks. The simplest is to press
11157@kbd{C-c C-c} or @kbd{C-c C-v e} with the point on a code block@footnote{The
11158@code{org-babel-no-eval-on-ctrl-c-ctrl-c} variable can be used to remove code
11159evaluation from the @kbd{C-c C-c} key binding.}. This will call the
11160@code{org-babel-execute-src-block} function to evaluate the block and insert
11161its results into the Org-mode buffer.
11162
11163It is also possible to evaluate named code blocks from anywhere in an
11164Org-mode buffer or an Org-mode table. @code{#+call} (or synonymously
11165@code{#+function} or @code{#+lob}) lines can be used to remotely execute code
11166blocks located in the current Org-mode buffer or in the ``Library of Babel''
11167(see @ref{Library of Babel}). These lines use the following syntax.
11168
11169@example
11170#+call: <name>(<arguments>) <header arguments>
11171#+function: <name>(<arguments>) <header arguments>
11172#+lob: <name>(<arguments>) <header arguments>
11173@end example
11174
11175@table @code
11176@item <name>
11177The name of the code block to be evaluated.
11178@item <arguments>
11179Arguments specified in this section will be passed to the code block.
11180@item <header arguments>
11181Header arguments can be placed after the function invocation. See
11182@ref{Header arguments} for more information on header arguments.
11183@end table
11184
11185
11186@node Library of Babel, Languages, Evaluating code blocks, Working With Source Code
11187@section Library of Babel
11188@cindex babel, library of
11189@cindex source code, library
11190@cindex code block, library
11191
11192The ``Library of Babel'' is a library of code blocks
11193that can be called from any Org-mode file. The library is housed in an
11194Org-mode file located in the @samp{contrib} directory of Org-mode.
11195Org-mode users can deposit functions they believe to be generally
11196useful in the library.
11197
11198Code blocks defined in the ``Library of Babel'' can be called remotely as if
11199they were in the current Org-mode buffer (see @ref{Evaluating code blocks}
11200for information on the syntax of remote code block evaluation).
11201
11202@kindex C-c C-v l
11203Code blocks located in any Org-mode file can be loaded into the ``Library of
11204Babel'' with the @code{org-babel-lob-ingest} function, bound to @kbd{C-c C-v
11205l}.
11206
11207@node Languages, Header arguments, Library of Babel, Working With Source Code
11208@section Languages
11209@cindex babel, languages
11210@cindex source code, languages
11211@cindex code block, languages
11212
11213Code blocks in the following languages are supported.
11214
11215@multitable @columnfractions 0.28 0.3 0.22 0.2
11216@item @b{Language} @tab @b{Identifier} @tab @b{Language} @tab @b{Identifier}
11217@item Asymptote @tab asymptote @tab C @tab C
11218@item C++ @tab C++ @tab Clojure @tab clojure
11219@item css @tab css @tab ditaa @tab ditaa
11220@item Graphviz @tab dot @tab Emacs Lisp @tab emacs-lisp
11221@item gnuplot @tab gnuplot @tab Haskell @tab haskell
11222@item LaTeX @tab latex @tab Matlab @tab matlab
11223@item Mscgen @tab mscgen @tab Objective Caml @tab ocaml
11224@item Octave @tab octave @tab OZ @tab oz
11225@item Perl @tab perl @tab Python @tab python
11226@item R @tab R @tab Ruby @tab ruby
11227@item Sass @tab sass @tab GNU Screen @tab screen
11228@item shell @tab sh @tab SQL @tab sql
11229@item Sqlite @tab sqlite
11230@end multitable
11231
11232Language-specific documentation is available for some languages. If
11233available, it can be found at
11234@uref{http://orgmode.org/worg/org-contrib/babel/languages}.
11235
11236The @code{org-babel-load-languages} controls which languages are enabled for
11237evaluation (by default only @code{emacs-lisp} is enabled). This variable can
11238be set using the customization interface or by adding code like the following
11239to your emacs configuration.
11240
11241@quotation
11242The following disables @code{emacs-lisp} evaluation and enables evaluation of
11243@code{R} code blocks.
11244@end quotation
11245
11246@lisp
11247(org-babel-do-load-languages
11248 'org-babel-load-languages
11249 '((emacs-lisp . nil)
11250 (R . t)))
11251@end lisp
11252
11253It is also possible to enable support for a language by loading the related
11254elisp file with @code{require}.
11255
11256@quotation
11257The following adds support for evaluating @code{clojure} code blocks.
11258@end quotation
11259
11260@lisp
11261(require 'ob-clojure)
11262@end lisp
11263
11264@node Header arguments, Results of evaluation, Languages, Working With Source Code
11265@section Header arguments
11266@cindex code block, header arguments
11267@cindex source code, block header arguments
11268
11269Code block functionality can be configured with header arguments. This
11270section provides an overview of the use of header arguments, and then
11271describes each header argument in detail.
11272
11273@menu
11274* Using header arguments:: Different ways to set header arguments
11275* Specific header arguments:: List of header arguments
11276@end menu
11277
11278@node Using header arguments, Specific header arguments, Header arguments, Header arguments
11279@subsection Using header arguments
11280
11281The values of header arguments can be set in five different ways, each more
11282specific (and having higher priority) than the last.
11283@menu
11284* System-wide header arguments:: Set global default values
11285* Language-specific header arguments:: Set default values by language
11286* Buffer-wide header arguments:: Set default values for a specific buffer
11287* Header arguments in Org-mode properties:: Set default values for a buffer or heading
11288* Code block specific header arguments:: The most common way to set values
11289@end menu
11290
11291
11292@node System-wide header arguments, Language-specific header arguments, Using header arguments, Using header arguments
11293@subsubheading System-wide header arguments
11294@vindex org-babel-default-header-args
11295System-wide values of header arguments can be specified by customizing the
11296@code{org-babel-default-header-args} variable:
11297
11298@example
11299:session => "none"
11300:results => "replace"
11301:exports => "code"
11302:cache => "no"
11303:noweb => "no"
11304@end example
11305
11306@c @example
11307@c org-babel-default-header-args is a variable defined in `org-babel.el'.
11308@c Its value is
11309@c ((:session . "none")
11310@c (:results . "replace")
11311@c (:exports . "code")
11312@c (:cache . "no")
11313@c (:noweb . "no"))
11314
11315
11316@c Documentation:
11317@c Default arguments to use when evaluating a code block.
11318@c @end example
11319
11320For example, the following example could be used to set the default value of
11321@code{:noweb} header arguments to @code{yes}. This would have the effect of
11322expanding @code{:noweb} references by default when evaluating source code
11323blocks.
11324
11325@lisp
11326(setq org-babel-default-header-args
11327(cons '(:noweb . "yes")
11328(assq-delete-all :noweb org-babel-default-header-args)))
11329@end lisp
11330
11331@node Language-specific header arguments, Buffer-wide header arguments, System-wide header arguments, Using header arguments
11332@subsubheading Language-specific header arguments
11333Each language can define its own set of default header arguments. See the
11334language-specific documentation available online at
11335@uref{http://orgmode.org/worg/org-contrib/babel}.
11336
11337@node Buffer-wide header arguments, Header arguments in Org-mode properties, Language-specific header arguments, Using header arguments
11338@subsubheading Buffer-wide header arguments
11339Buffer-wide header arguments may be specified through the use of a special
11340line placed anywhere in an Org-mode file. The line consists of the
11341@code{#+BABEL:} keyword followed by a series of header arguments which may be
11342specified using the standard header argument syntax.
11343
11344For example the following would set @code{session} to @code{*R*}, and
11345@code{results} to @code{silent} for every code block in the buffer, ensuring
11346that all execution took place in the same session, and no results would be
11347inserted into the buffer.
11348
11349@example
11350#+BABEL: :session *R* :results silent
11351@end example
11352
11353@node Header arguments in Org-mode properties, Code block specific header arguments, Buffer-wide header arguments, Using header arguments
11354@subsubheading Header arguments in Org-mode properties
11355
11356Header arguments are also read from Org-mode properties (see @ref{Property
11357syntax}), which can be set on a buffer-wide or per-heading basis. An example
11358of setting a header argument for all code blocks in a buffer is
11359
11360@example
11361#+property: tangle yes
11362@end example
11363
11364When properties are used to set default header arguments, they are looked up
11365with inheritance, so the value of the @code{:cache} header argument will default
11366to @code{yes} in all code blocks in the subtree rooted at the following
11367heading:
11368
11369@example
11370* outline header
11371:PROPERTIES:
11372:cache: yes
11373:END:
11374@end example
11375
11376@kindex C-c C-x p
11377@vindex org-babel-default-header-args
11378Properties defined in this way override the properties set in
11379@code{org-babel-default-header-args}. It is convenient to use the
11380@code{org-set-property} function bound to @kbd{C-c C-x p} to set properties
11381in Org-mode documents.
11382
11383@node Code block specific header arguments, , Header arguments in Org-mode properties, Using header arguments
11384@subsubheading Code block specific header arguments
11385
11386The most common way to assign values to header arguments is at the
11387code block level. This can be done by listing a sequence of header
11388arguments and their values as part of the @code{#+begin_src} line.
11389Properties set in this way override both the values of
11390@code{org-babel-default-header-args} and header arguments specified as
11391properties. In the following example, the @code{:results} header argument
11392is set to @code{silent}, meaning the results of execution will not be
11393inserted in the buffer, and the @code{:exports} header argument is set to
11394@code{code}, meaning only the body of the code block will be
11395preserved on export to HTML or LaTeX.
11396
11397@example
11398#+source: factorial
11399#+begin_src haskell :results silent :exports code :var n=0
11400fac 0 = 1
11401fac n = n * fac (n-1)
11402#+end_src
11403@end example
11404
11405Similarly, it is possible to set header arguments for inline code blocks:
11406
11407@example
11408src_haskell[:exports both]@{fac 5@}
11409@end example
11410
11411Header arguments for ``Library of Babel'' or function call lines can be set as shown below:
11412
11413@example
11414#+call: factorial(n=5) :exports results
11415@end example
11416
11417@node Specific header arguments, , Using header arguments, Header arguments
11418@subsection Specific header arguments
11419The following header arguments are defined:
11420
11421@menu
11422* var:: Pass arguments to code blocks
11423* results:: Specify the type of results and how they will
11424 be collected and handled
11425* file:: Specify a path for file output
11426* dir:: Specify the default (possibly remote)
11427 directory for code block execution
11428* exports:: Export code and/or results
11429* tangle:: Toggle tangling and specify file name
11430* no-expand:: Turn off variable assignment and noweb
11431 expansion during tangling
11432* comments:: Toggle insertion of comments in tangled
11433 code files
11434* session:: Preserve the state of code evaluation
11435* noweb:: Toggle expansion of noweb references
11436* cache:: Avoid re-evaluating unchanged code blocks
11437* hlines:: Handle horizontal lines in tables
11438* colnames:: Handle column names in tables
11439* rownames:: Handle row names in tables
11440* shebang:: Make tangled files executable
11441* eval:: Limit evaluation of specific code blocks
11442@end menu
11443
11444@node var, results, Specific header arguments, Specific header arguments
11445@subsubsection @code{:var}
11446The @code{:var} header argument is used to pass arguments to code blocks.
11447The specifics of how arguments are included in a code block vary by language;
11448these are addressed in the language-specific documentation. However, the
11449syntax used to specify arguments is the same across all languages. The
11450values passed to arguments can be literal values, values from org-mode tables
11451and literal example blocks, or the results of other code blocks.
11452
11453These values can be indexed in a manner similar to arrays---see the
11454``indexable variable values'' heading below.
11455
11456The following syntax is used to pass arguments to code blocks using the
11457@code{:var} header argument.
11458
11459@example
11460:var name=assign
11461@end example
11462
11463where @code{assign} can take one of the following forms
11464
11465@itemize @bullet
11466@item literal value
11467either a string @code{"string"} or a number @code{9}.
11468@item reference
11469a table name:
11470
11471@example
11472#+tblname: example-table
11473| 1 |
11474| 2 |
11475| 3 |
11476| 4 |
11477
11478#+source: table-length
11479#+begin_src emacs-lisp :var table=example-table
11480(length table)
11481#+end_src
11482
11483#+results: table-length
11484: 4
11485@end example
11486
11487a code block name, as assigned by @code{#+srcname:}, followed by
11488parentheses:
11489
11490@example
11491#+begin_src emacs-lisp :var length=table-length()
11492(* 2 length)
11493#+end_src
11494
11495#+results:
11496: 8
11497@end example
11498
11499In addition, an argument can be passed to the code block referenced
11500by @code{:var}. The argument is passed within the parentheses following the
11501code block name:
11502
11503@example
11504#+source: double
11505#+begin_src emacs-lisp :var input=8
11506(* 2 input)
11507#+end_src
11508
11509#+results: double
11510: 16
11511
11512#+source: squared
11513#+begin_src emacs-lisp :var input=double(input=1)
11514(* input input)
11515#+end_src
11516
11517#+results: squared
11518: 4
11519@end example
11520@end itemize
11521
11522@subsubheading Alternate argument syntax
11523It is also possible to specify arguments in a potentially more natural way
11524using the @code{#+source:} line of a code block. As in the following
11525example arguments can be packed inside of parenthesis, separated by commas,
11526following the source name.
11527
11528@example
11529#+source: double(input=0, x=2)
11530#+begin_src emacs-lisp
11531(* 2 (+ input x))
11532#+end_src
11533@end example
11534
11535@subsubheading Indexable variable values
11536It is possible to reference portions of variable values by ``indexing'' into
11537the variables. Indexes are 0 based with negative values counting back from
11538the end. If an index is separated by @code{,}s then each subsequent section
11539will index into the next deepest nesting or dimension of the value. The
11540following example assigns the last cell of the first row the table
11541@code{example-table} to the variable @code{data}:
11542
11543@example
11544#+results: example-table
11545| 1 | a |
11546| 2 | b |
11547| 3 | c |
11548| 4 | d |
11549
11550#+begin_src emacs-lisp :var data=example-table[0,-1]
11551 data
11552#+end_src
11553
11554#+results:
11555: a
11556@end example
11557
11558Ranges of variable values can be referenced using two integers separated by a
11559@code{:}, in which case the entire inclusive range is referenced. For
11560example the following assigns the middle three rows of @code{example-table}
11561to @code{data}.
11562
11563@example
11564#+results: example-table
11565| 1 | a |
11566| 2 | b |
11567| 3 | c |
11568| 4 | d |
11569| 5 | 3 |
11570
11571#+begin_src emacs-lisp :var data=example-table[1:3]
11572 data
11573#+end_src
11574
11575#+results:
11576| 2 | b |
11577| 3 | c |
11578| 4 | d |
11579@end example
11580
11581Additionally, an empty index, or the single character @code{*}, are both
11582interpreted to mean the entire range and as such are equivalent to
11583@code{0:-1}, as shown in the following example in which the entire first
11584column is referenced.
11585
11586@example
11587#+results: example-table
11588| 1 | a |
11589| 2 | b |
11590| 3 | c |
11591| 4 | d |
11592
11593#+begin_src emacs-lisp :var data=example-table[,0]
11594 data
11595#+end_src
11596
11597#+results:
11598| 1 | 2 | 3 | 4 |
11599@end example
11600
11601It is possible to index into the results of code blocks as well as tables.
11602Any number of dimensions can be indexed. Dimensions are separated from one
11603another by commas, as shown in the following example.
11604
11605@example
11606#+source: 3D
11607#+begin_src emacs-lisp
11608 '(((1 2 3) (4 5 6) (7 8 9))
11609 ((10 11 12) (13 14 15) (16 17 18))
11610 ((19 20 21) (22 23 24) (25 26 27)))
11611#+end_src
11612
11613#+begin_src emacs-lisp :var data=3D[1,,1]
11614 data
11615#+end_src
11616
11617#+results:
11618| 11 | 14 | 17 |
11619@end example
11620
11621@node results, file, var, Specific header arguments
11622@subsubsection @code{:results}
11623
11624There are three classes of @code{:results} header argument. Only one option of
11625each type may be supplied per code block.
11626
11627@itemize @bullet
11628@item
11629@b{collection} header arguments specify how the results should be collected
11630from the code block
11631@item
11632@b{type} header arguments specify what type of result the code block will
11633return---which has implications for how they will be inserted into the
11634Org-mode buffer
11635@item
11636@b{handling} header arguments specify how the results of evaluating the code
11637block should be handled.
11638@end itemize
11639
11640@subsubheading Collection
11641The following options are mutually exclusive, and specify how the results
11642should be collected from the code block.
11643
11644@itemize @bullet
11645@item @code{value}
11646This is the default. The result is the value of the last statement in the
11647code block. This header argument places the evaluation in functional
11648mode. Note that in some languages, e.g., python, use of this result type
11649requires that a @code{return} statement be included in the body of the source
11650code block. E.g., @code{:results value}.
11651@item @code{output}
11652The result is the collection of everything printed to STDOUT during the
11653execution of the code block. This header argument places the
11654evaluation in scripting mode. E.g., @code{:results output}.
11655@end itemize
11656
11657@subsubheading Type
11658
11659The following options are mutually exclusive and specify what type of results
11660the code block will return. By default, results are inserted as either a
11661table or scalar depending on their value.
11662
11663@itemize @bullet
11664@item @code{table}, @code{vector}
11665The results should be interpreted as an Org-mode table. If a single value is
11666returned, it will be converted into a table with one row and one column.
11667E.g., @code{:results value table}.
11668@item @code{scalar}, @code{verbatim}
11669The results should be interpreted literally---they will not be
11670converted into a table. The results will be inserted into the Org-mode
11671buffer as quoted text. E.g., @code{:results value verbatim}.
11672@item @code{file}
11673The results will be interpreted as the path to a file, and will be inserted
11674into the Org-mode buffer as a file link. E.g., @code{:results value file}.
11675@item @code{raw}, @code{org}
11676The results are interpreted as raw Org-mode code and are inserted directly
11677into the buffer. If the results look like a table they will be aligned as
11678such by Org-mode. E.g., @code{:results value raw}.
11679@item @code{html}
11680Results are assumed to be HTML and will be enclosed in a @code{begin_html}
11681block. E.g., @code{:results value html}.
11682@item @code{latex}
11683Results assumed to be LaTeX and are enclosed in a @code{begin_latex} block.
11684E.g., @code{:results value latex}.
11685@item @code{code}
11686Result are assumed to be parseable code and are enclosed in a code block.
11687E.g., @code{:results value code}.
11688@item @code{pp}
11689The result is converted to pretty-printed code and is enclosed in a code
11690block. This option currently supports Emacs Lisp, python, and ruby. E.g.,
11691@code{:results value pp}.
11692@end itemize
11693
11694@subsubheading Handling
11695The following results options indicate what happens with the
11696results once they are collected.
11697
11698@itemize @bullet
11699@item @code{silent}
11700The results will be echoed in the minibuffer but will not be inserted into
11701the Org-mode buffer. E.g., @code{:results output silent}.
11702@item @code{replace}
11703The default value. Any existing results will be removed, and the new results
11704will be inserted into the Org-mode buffer in their place. E.g.,
11705@code{:results output replace}.
11706@item @code{append}
11707If there are pre-existing results of the code block then the new results will
11708be appended to the existing results. Otherwise the new results will be
11709inserted as with @code{replace}.
11710@item @code{prepend}
11711If there are pre-existing results of the code block then the new results will
11712be prepended to the existing results. Otherwise the new results will be
11713inserted as with @code{replace}.
11714@end itemize
11715
11716@node file, dir, results, Specific header arguments
11717@subsubsection @code{:file}
11718
11719The header argument @code{:file} is used to specify a path for file output.
11720An Org-mode style @code{file:} link is inserted into the buffer as the result
11721(see @ref{Link format}). Common examples are graphical output from R,
11722gnuplot, ditaa and LaTeX code blocks.
11723
11724Note that for some languages, including R, gnuplot, LaTeX and ditaa,
11725graphical output is sent to the specified file without the file being
11726referenced explicitly in the code block. See the documentation for the
11727individual languages for details. In contrast, general purpose languages such
11728as python and ruby require that the code explicitly create output
11729corresponding to the path indicated by @code{:file}.
11730
11731
11732@node dir, exports, file, Specific header arguments
11733@subsubsection @code{:dir} and remote execution
11734
11735While the @code{:file} header argument can be used to specify the path to the
11736output file, @code{:dir} specifies the default directory during code block
11737execution. If it is absent, then the directory associated with the current
11738buffer is used. In other words, supplying @code{:dir path} temporarily has
11739the same effect as changing the current directory with @kbd{M-x cd path}, and
11740then not supplying @code{:dir}. Under the surface, @code{:dir} simply sets
11741the value of the Emacs variable @code{default-directory}.
11742
11743When using @code{:dir}, you should supply a relative path for file output
11744(e.g. @code{:file myfile.jpg} or @code{:file results/myfile.jpg}) in which
11745case that path will be interpreted relative to the default directory.
11746
11747In other words, if you want your plot to go into a folder called Work in your
11748home directory, you could use
11749
11750@example
11751#+begin_src R :file myplot.png :dir ~/Work
11752matplot(matrix(rnorm(100), 10), type="l")
11753#+end_src
11754@end example
11755
11756@subsubheading Remote execution
11757A directory on a remote machine can be specified using tramp file syntax, in
11758which case the code will be evaluated on the remote machine. An example is
11759
11760@example
11761#+begin_src R :file plot.png :dir /dand@@yakuba.princeton.edu:
11762plot(1:10, main=system("hostname", intern=TRUE))
11763#+end_src
11764@end example
11765
11766Text results will be returned to the local Org-mode buffer as usual, and file
11767output will be created on the remote machine with relative paths interpreted
11768relative to the remote directory. An Org-mode link to the remote file will be
11769created.
11770
11771So, in the above example a plot will be created on the remote machine,
11772and a link of the following form will be inserted in the org buffer:
11773
11774@example
11775[[file:/scp:dand@@yakuba.princeton.edu:/home/dand/plot.png][plot.png]]
11776@end example
11777
11778Most of this functionality follows immediately from the fact that @code{:dir}
11779sets the value of the Emacs variable @code{default-directory}, thanks to
11780tramp. Those using XEmacs, or GNU Emacs prior to version 23 may need to
11781install tramp separately in order for the these features to work correctly.
11782
11783@subsubheading Further points
11784
11785@itemize @bullet
11786@item
11787If @code{:dir} is used in conjunction with @code{:session}, although it will
11788determine the starting directory for a new session as expected, no attempt is
11789currently made to alter the directory associated with an existing session.
11790@item
11791@code{:dir} should typically not be used to create files during export with
11792@code{:exports results} or @code{:exports both}. The reason is that, in order
11793to retain portability of exported material between machines, during export
11794links inserted into the buffer will *not* be expanded against @code{default
11795directory}. Therefore, if @code{default-directory} is altered using
11796@code{:dir}, it is probable that the file will be created in a location to
11797which the link does not point.
11798@end itemize
11799
11800@node exports, tangle, dir, Specific header arguments
11801@subsubsection @code{:exports}
11802
11803The @code{:exports} header argument specifies what should be included in HTML
11804or LaTeX exports of the Org-mode file.
11805
11806@itemize @bullet
11807@item @code{code}
11808The default. The body of code is included into the exported file. E.g.,
11809@code{:exports code}.
11810@item @code{results}
11811The result of evaluating the code is included in the exported file. E.g.,
11812@code{:exports results}.
11813@item @code{both}
11814Both the code and results are included in the exported file. E.g.,
11815@code{:exports both}.
11816@item @code{none}
11817Nothing is included in the exported file. E.g., @code{:exports none}.
11818@end itemize
11819
11820@node tangle, comments, exports, Specific header arguments
11821@subsubsection @code{:tangle}
11822
11823The @code{:tangle} header argument specifies whether or not the code
11824block should be included in tangled extraction of source code files.
11825
11826@itemize @bullet
11827@item @code{yes}
11828The code block is exported to a source code file named after the
11829basename (name w/o extension) of the Org-mode file. E.g., @code{:tangle
11830yes}.
11831@item @code{no}
11832The default. The code block is not exported to a source code file.
11833E.g., @code{:tangle no}.
11834@item other
11835Any other string passed to the @code{:tangle} header argument is interpreted
11836as a file basename to which the block will be exported. E.g., @code{:tangle
11837basename}.
11838@end itemize
11839
11840@node comments, no-expand, tangle, Specific header arguments
11841@subsubsection @code{:comments}
11842By default code blocks are tangled to source-code files without any insertion
11843of comments beyond those which may already exist in the body of the code
11844block. The @code{:comments} header argument can be set to ``yes''
11845e.g. @code{:comments yes} to enable the insertion of comments around code
11846blocks during tangling. The inserted comments contain pointers back to the
11847original Org file from which the comment was tangled.
11848
11849@node no-expand, session, comments, Specific header arguments
11850@subsubsection @code{:no-expand}
11851
11852By default, code blocks are expanded with @code{org-babel-expand-src-block}
11853during tangling. This has the effect of assigning values to variables
11854specified with @code{:var} (see @ref{var}), and of replacing ``noweb''
11855references (see @ref{Noweb reference syntax}) with their targets. The
11856@code{:no-expand} header argument can be used to turn off this behavior.
11857
11858@node session, noweb, no-expand, Specific header arguments
11859@subsubsection @code{:session}
11860
11861The @code{:session} header argument starts a session for an interpreted
11862language where state is preserved.
11863
11864By default, a session is not started.
11865
11866A string passed to the @code{:session} header argument will give the session
11867a name. This makes it possible to run concurrent sessions for each
11868interpreted language.
11869
11870@node noweb, cache, session, Specific header arguments
11871@subsubsection @code{:noweb}
11872
11873The @code{:noweb} header argument controls expansion of ``noweb'' style (see
11874@ref{Noweb reference syntax}) references in a code block. This header
11875argument can have one of two values: @code{yes} or @code{no}.
11876
11877@itemize @bullet
11878@item @code{no}
11879The default. No ``noweb'' syntax specific action is taken on evaluating
11880code blocks, However, noweb references will still be expanded during
11881tangling.
11882@item @code{yes}
11883All ``noweb'' syntax references in the body of the code block will be
11884expanded before the block is evaluated.
11885@end itemize
11886
11887@subsubheading Noweb prefix lines
11888Noweb insertions are now placed behind the line prefix of the
11889@code{<<reference>>}.
11890This behavior is illustrated in the following example. Because the
11891@code{<<example>>} noweb reference appears behind the SQL comment syntax,
11892each line of the expanded noweb reference will be commented.
11893
11894This code block:
11895
11896@example
11897-- <<example>>
11898@end example
11899
11900
11901expands to:
11902
11903@example
11904-- this is the
11905-- multi-line body of example
11906@end example
11907
11908Note that noweb replacement text that does not contain any newlines will not
11909be affected by this change, so it is still possible to use inline noweb
11910references.
11911
11912@node cache, hlines, noweb, Specific header arguments
11913@subsubsection @code{:cache}
11914
11915The @code{:cache} header argument controls the use of in-buffer caching of
11916the results of evaluating code blocks. It can be used to avoid re-evaluating
11917unchanged code blocks. This header argument can have one of two
11918values: @code{yes} or @code{no}.
11919
11920@itemize @bullet
11921@item @code{no}
11922The default. No caching takes place, and the code block will be evaluated
11923every time it is called.
11924@item @code{yes}
11925Every time the code block is run a sha1 hash of the code and arguments
11926passed to the block will be generated. This hash is packed into the
11927@code{#+results:} line and will be checked on subsequent
11928executions of the code block. If the code block has not
11929changed since the last time it was evaluated, it will not be re-evaluated.
11930@end itemize
11931
11932@node hlines, colnames, cache, Specific header arguments
11933@subsubsection @code{:hlines}
11934
11935Tables are frequently represented with one or more horizontal lines, or
11936hlines. The @code{:hlines} argument to a code block accepts the
11937values @code{yes} or @code{no}, with a default value of @code{no}.
11938
11939@itemize @bullet
11940@item @code{no}
11941Strips horizontal lines from the input table. In most languages this is the
11942desired effect because an @code{hline} symbol is interpreted as an unbound
11943variable and raises an error. Setting @code{:hlines no} or relying on the
11944default value yields the following results.
11945
11946@example
11947#+tblname: many-cols
11948| a | b | c |
11949|---+---+---|
11950| d | e | f |
11951|---+---+---|
11952| g | h | i |
11953
11954#+source: echo-table
11955#+begin_src python :var tab=many-cols
11956 return tab
11957#+end_src
11958
11959#+results: echo-table
11960| a | b | c |
11961| d | e | f |
11962| g | h | i |
11963@end example
11964
11965@item @code{yes}
11966Leaves hlines in the table. Setting @code{:hlines yes} has this effect.
11967
11968@example
11969#+tblname: many-cols
11970| a | b | c |
11971|---+---+---|
11972| d | e | f |
11973|---+---+---|
11974| g | h | i |
11975
11976#+source: echo-table
11977#+begin_src python :var tab=many-cols :hlines yes
11978 return tab
11979#+end_src
11980
11981#+results: echo-table
11982| a | b | c |
11983|---+---+---|
11984| d | e | f |
11985|---+---+---|
11986| g | h | i |
11987@end example
11988@end itemize
11989
11990@node colnames, rownames, hlines, Specific header arguments
11991@subsubsection @code{:colnames}
11992
11993The @code{:colnames} header argument accepts the values @code{yes},
11994@code{no}, or @code{nil} for unassigned. The default value is @code{nil}.
11995
11996@itemize @bullet
11997@item @code{nil}
11998If an input table looks like it has column names
11999(because its second row is an hline), then the column
12000names will be removed from the table before
12001processing, then reapplied to the results.
12002
12003@example
12004#+tblname: less-cols
12005| a |
12006|---|
12007| b |
12008| c |
12009
12010#+srcname: echo-table-again
12011#+begin_src python :var tab=less-cols
12012 return [[val + '*' for val in row] for row in tab]
12013#+end_src
12014
12015#+results: echo-table-again
12016| a |
12017|----|
12018| b* |
12019| c* |
12020@end example
12021
12022@item @code{no}
12023No column name pre-processing takes place
12024
12025@item @code{yes}
12026Column names are removed and reapplied as with @code{nil} even if the table
12027does not ``look like'' it has column names (i.e. the second row is not an
12028hline)
12029@end itemize
12030
12031@node rownames, shebang, colnames, Specific header arguments
12032@subsubsection @code{:rownames}
12033
12034The @code{:rownames} header argument can take on the values @code{yes}
12035or @code{no}, with a default value of @code{no}.
12036
12037@itemize @bullet
12038@item @code{no}
12039No row name pre-processing will take place.
12040
12041@item @code{yes}
12042The first column of the table is removed from the table before processing,
12043and is then reapplied to the results.
12044
12045@example
12046#+tblname: with-rownames
12047| one | 1 | 2 | 3 | 4 | 5 |
12048| two | 6 | 7 | 8 | 9 | 10 |
12049
12050#+srcname: echo-table-once-again
12051#+begin_src python :var tab=with-rownames :rownames yes
12052 return [[val + 10 for val in row] for row in tab]
12053#+end_src
12054
12055#+results: echo-table-once-again
12056| one | 11 | 12 | 13 | 14 | 15 |
12057| two | 16 | 17 | 18 | 19 | 20 |
12058@end example
12059@end itemize
12060
12061@node shebang, eval, rownames, Specific header arguments
12062@subsubsection @code{:shebang}
12063
12064Setting the @code{:shebang} header argument to a string value
12065(e.g. @code{:shebang "#!/bin/bash"}) causes the string to be inserted as the
12066first line of any tangled file holding the code block, and the file
12067permissions of the tangled file are set to make it executable.
12068
12069@node eval, , shebang, Specific header arguments
12070@subsubsection @code{:eval}
12071The @code{:eval} header argument can be used to limit the evaluation of
12072specific code blocks. @code{:eval} accepts two arguments ``never'' and
12073``query''. @code{:eval never} will ensure that a code block is never
12074evaluated, this can be useful for protecting against the evaluation of
12075dangerous code blocks. @code{:eval query} will require a query for every
12076execution of a code block regardless of the value of the
12077@code{org-confirm-babel-evaluate} variable.
12078
12079@node Results of evaluation, Noweb reference syntax, Header arguments, Working With Source Code
12080@section Results of evaluation
12081@cindex code block, results of evaluation
12082@cindex source code, results of evaluation
12083
12084The way in which results are handled depends on whether a session is invoked,
12085as well as on whether @code{:results value} or @code{:results output} is
12086used. The following table shows the possibilities:
12087
12088@multitable @columnfractions 0.26 0.33 0.41
12089@item @tab @b{Non-session} @tab @b{Session}
12090@item @code{:results value} @tab value of last expression @tab value of last expression
12091@item @code{:results output} @tab contents of STDOUT @tab concatenation of interpreter output
12092@end multitable
12093
12094Note: With @code{:results value}, the result in both @code{:session} and
12095non-session is returned to Org-mode as a table (a one- or two-dimensional
12096vector of strings or numbers) when appropriate.
12097
12098@subsection Non-session
12099@subsubsection @code{:results value}
12100This is the default. Internally, the value is obtained by wrapping the code
12101in a function definition in the external language, and evaluating that
12102function. Therefore, code should be written as if it were the body of such a
12103function. In particular, note that python does not automatically return a
12104value from a function unless a @code{return} statement is present, and so a
12105@samp{return} statement will usually be required in python.
12106
12107This is the only one of the four evaluation contexts in which the code is
12108automatically wrapped in a function definition.
12109
12110@subsubsection @code{:results output}
12111The code is passed to the interpreter as an external process, and the
12112contents of the standard output stream are returned as text. (In certain
12113languages this also contains the error output stream; this is an area for
12114future work.)
12115
12116@subsection @code{:session}
12117@subsubsection @code{:results value}
12118The code is passed to the interpreter running as an interactive Emacs
12119inferior process. The result returned is the result of the last evaluation
12120performed by the interpreter. (This is obtained in a language-specific
12121manner: the value of the variable @code{_} in python and ruby, and the value
12122of @code{.Last.value} in R).
12123
12124@subsubsection @code{:results output}
12125The code is passed to the interpreter running as an interactive Emacs
12126inferior process. The result returned is the concatenation of the sequence of
12127(text) output from the interactive interpreter. Notice that this is not
12128necessarily the same as what would be sent to @code{STDOUT} if the same code
12129were passed to a non-interactive interpreter running as an external
12130process. For example, compare the following two blocks:
12131
12132@example
12133#+begin_src python :results output
12134 print "hello"
12135 2
12136 print "bye"
12137#+end_src
12138
12139#+resname:
12140: hello
12141: bye
12142@end example
12143
12144In non-session mode, the '2' is not printed and does not appear.
12145@example
12146#+begin_src python :results output :session
12147 print "hello"
12148 2
12149 print "bye"
12150#+end_src
12151
12152#+resname:
12153: hello
12154: 2
12155: bye
12156@end example
12157
12158But in @code{:session} mode, the interactive interpreter receives input '2'
12159and prints out its value, '2'. (Indeed, the other print statements are
12160unnecessary here).
12161
12162@node Noweb reference syntax, Key bindings and useful functions, Results of evaluation, Working With Source Code
12163@section Noweb reference syntax
12164@cindex code block, noweb reference
12165@cindex syntax, noweb
12166@cindex source code, noweb reference
12167
12168The ``noweb'' (see @uref{http://www.cs.tufts.edu/~nr/noweb/}) Literate
12169Programming system allows named blocks of code to be referenced by using the
12170familiar Noweb syntax:
12171
12172@example
12173<<code-block-name>>
12174@end example
12175
12176When a code block is tangled or evaluated, whether or not ``noweb''
12177references are expanded depends upon the value of the @code{:noweb} header
12178argument. If @code{:noweb yes}, then a Noweb reference is expanded before
12179evaluation. If @code{:noweb no}, the default, then the reference is not
12180expanded before evaluation.
12181
12182Note: the default value, @code{:noweb no}, was chosen to ensure that
12183correct code is not broken in a language, such as Ruby, where
12184@code{<<arg>>} is a syntactically valid construct. If @code{<<arg>>} is not
12185syntactically valid in languages that you use, then please consider setting
12186the default value.
12187
12188@node Key bindings and useful functions, Batch execution, Noweb reference syntax, Working With Source Code
12189@section Key bindings and useful functions
12190@cindex code block, key bindings
12191
12192Many common Org-mode key sequences are re-bound depending on
12193the context.
12194
12195Within a code block, the following key bindings
12196are active:
12197
12198@multitable @columnfractions 0.25 0.75
12199@kindex C-c C-c
12200@item @kbd{C-c C-c} @tab org-babel-execute-src-block
12201@kindex C-c C-o
12202@item @kbd{C-c C-o} @tab org-babel-open-src-block-result
12203@kindex C-up
12204@item @kbd{C-@key{up}} @tab org-babel-load-in-session
12205@kindex M-down
12206@item @kbd{M-@key{down}} @tab org-babel-pop-to-session
12207@end multitable
12208
12209In an Org-mode buffer, the following key bindings are active:
12210
12211@multitable @columnfractions 0.45 0.55
12212@kindex C-c C-v a
12213@kindex C-c C-v C-a
12214@item @kbd{C-c C-v a} @ @ @r{or} @ @ @kbd{C-c C-v C-a} @tab org-babel-sha1-hash
12215@kindex C-c C-v b
12216@kindex C-c C-v C-b
12217@item @kbd{C-c C-v b} @ @ @r{or} @ @ @kbd{C-c C-v C-b} @tab org-babel-execute-buffer
12218@kindex C-c C-v f
12219@kindex C-c C-v C-f
12220@item @kbd{C-c C-v f} @ @ @r{or} @ @ @kbd{C-c C-v C-f} @tab org-babel-tangle-file
12221@kindex C-c C-v g
12222@item @kbd{C-c C-v g} @tab org-babel-goto-named-source-block
12223@kindex C-c C-v h
12224@item @kbd{C-c C-v h} @tab org-babel-describe-bindings
12225@kindex C-c C-v l
12226@kindex C-c C-v C-l
12227@item @kbd{C-c C-v l} @ @ @r{or} @ @ @kbd{C-c C-v C-l} @tab org-babel-lob-ingest
12228@kindex C-c C-v p
12229@kindex C-c C-v C-p
12230@item @kbd{C-c C-v p} @ @ @r{or} @ @ @kbd{C-c C-v C-p} @tab org-babel-expand-src-block
12231@kindex C-c C-v s
12232@kindex C-c C-v C-s
12233@item @kbd{C-c C-v s} @ @ @r{or} @ @ @kbd{C-c C-v C-s} @tab org-babel-execute-subtree
12234@kindex C-c C-v t
12235@kindex C-c C-v C-t
12236@item @kbd{C-c C-v t} @ @ @r{or} @ @ @kbd{C-c C-v C-t} @tab org-babel-tangle
12237@kindex C-c C-v z
12238@kindex C-c C-v C-z
12239@item @kbd{C-c C-v z} @ @ @r{or} @ @ @kbd{C-c C-v C-z} @tab org-babel-switch-to-session
12240@end multitable
12241
12242@c When possible these keybindings were extended to work when the control key is
12243@c kept pressed, resulting in the following additional keybindings.
12244
12245@c @multitable @columnfractions 0.25 0.75
12246@c @item @kbd{C-c C-v C-a} @tab org-babel-sha1-hash
12247@c @item @kbd{C-c C-v C-b} @tab org-babel-execute-buffer
12248@c @item @kbd{C-c C-v C-f} @tab org-babel-tangle-file
12249@c @item @kbd{C-c C-v C-l} @tab org-babel-lob-ingest
12250@c @item @kbd{C-c C-v C-p} @tab org-babel-expand-src-block
12251@c @item @kbd{C-c C-v C-s} @tab org-babel-execute-subtree
12252@c @item @kbd{C-c C-v C-t} @tab org-babel-tangle
12253@c @item @kbd{C-c C-v C-z} @tab org-babel-switch-to-session
12254@c @end multitable
12255
12256@node Batch execution, , Key bindings and useful functions, Working With Source Code
12257@section Batch execution
12258@cindex code block, batch execution
12259@cindex source code, batch execution
12260
12261It is possible to call functions from the command line. This shell
12262script calls @code{org-babel-tangle} on every one of its arguments.
12263
12264Be sure to adjust the paths to fit your system.
12265
12266@example
12267#!/bin/sh
12268# -*- mode: shell-script -*-
12269#
12270# tangle a file with org-mode
12271#
12272DIR=`pwd`
12273FILES=""
12274
12275# wrap each argument in the code required to call tangle on it
12276for i in $@@; do
12277FILES="$FILES \"$i\""
12278done
12279
12280emacsclient \
12281--eval "(progn
12282(add-to-list 'load-path (expand-file-name \"~/src/org/lisp/\"))
12283(add-to-list 'load-path (expand-file-name \"~/src/org/contrib/lisp/\"))
12284(require 'org)(require 'org-exp)(require 'ob)(require 'ob-tangle)
12285(mapc (lambda (file)
12286 (find-file (expand-file-name file \"$DIR\"))
12287 (org-babel-tangle)
12288 (kill-buffer)) '($FILES)))"
12289@end example
12290
12291@node Miscellaneous, Hacking, Working With Source Code, Top
10621@chapter Miscellaneous 12292@chapter Miscellaneous
10622 12293
10623@menu 12294@menu
10624* Completion:: M-TAB knows what you need 12295* Completion:: M-TAB knows what you need
10625* Speed keys:: Electic commands at the beginning of a headline 12296* Speed keys:: Electric commands at the beginning of a headline
10626* Customization:: Adapting Org to your taste 12297* Code evaluation security:: Org mode files evaluate inline code
10627* In-buffer settings:: Overview of the #+KEYWORDS 12298* Customization:: Adapting Org to your taste
10628* The very busy C-c C-c key:: When in doubt, press C-c C-c 12299* In-buffer settings:: Overview of the #+KEYWORDS
10629* Clean view:: Getting rid of leading stars in the outline 12300* The very busy C-c C-c key:: When in doubt, press C-c C-c
10630* TTY keys:: Using Org on a tty 12301* Clean view:: Getting rid of leading stars in the outline
10631* Interaction:: Other Emacs packages 12302* TTY keys:: Using Org on a tty
12303* Interaction:: Other Emacs packages
10632@end menu 12304@end menu
10633 12305
10634 12306
@@ -10683,7 +12355,7 @@ buffer.
10683After @samp{[}, complete link abbreviations (@pxref{Link abbreviations}). 12355After @samp{[}, complete link abbreviations (@pxref{Link abbreviations}).
10684@item 12356@item
10685After @samp{#+}, complete the special keywords like @samp{TYP_TODO} or 12357After @samp{#+}, complete the special keywords like @samp{TYP_TODO} or
10686@samp{OPTIONS} which set file-specific options for Org mode. When the 12358@samp{OPTIONS} which set file-specific options for Org-mode. When the
10687option keyword is already complete, pressing @kbd{M-@key{TAB}} again 12359option keyword is already complete, pressing @kbd{M-@key{TAB}} again
10688will insert example settings for this keyword. 12360will insert example settings for this keyword.
10689@item 12361@item
@@ -10694,7 +12366,7 @@ Elsewhere, complete dictionary words using Ispell.
10694@end itemize 12366@end itemize
10695@end table 12367@end table
10696 12368
10697@node Speed keys, Customization, Completion, Miscellaneous 12369@node Speed keys, Code evaluation security, Completion, Miscellaneous
10698@section Speed keys 12370@section Speed keys
10699@cindex speed keys 12371@cindex speed keys
10700@vindex org-use-speed-commands 12372@vindex org-use-speed-commands
@@ -10712,7 +12384,62 @@ or on a small mobile device with a limited keyboard.
10712To see which commands are available, activate the feature and press @kbd{?} 12384To see which commands are available, activate the feature and press @kbd{?}
10713with the cursor at the beginning of a headline. 12385with the cursor at the beginning of a headline.
10714 12386
10715@node Customization, In-buffer settings, Speed keys, Miscellaneous 12387@node Code evaluation security, Customization, Speed keys, Miscellaneous
12388@section Code evaluation and security issues
12389
12390Org provides tool to work with the code snippets, including evaluating them.
12391
12392Running code on your machine always comes with a security risk. Badly
12393written or malicious code can be executed on purpose or by accident. Org has
12394default settings which will only evaluate such code if you give explicit
12395permission to do so, and as a casual user of these features you should leave
12396these precautions intact.
12397
12398For people who regularly work with such code, the confirmation prompts can
12399become annoying, and you might want to turn them off. This can be done, but
12400you must be aware of the risks that are involved.
12401
12402Code evaluation can happen under the following circumstances:
12403
12404@table @i
12405@item Source code blocks
12406Source code blocks can be evaluated during export, or when pressing @kbd{C-c
12407C-c} in the block. The most important thing to realize here is that Org mode
12408files which contain code snippets are in a certain sense like executable
12409files. So you should accept them and load them into Emacs only from trusted
12410sources - just like you would do with a program you install on your computer.
12411
12412Make sure you know what you are doing before customizing the variables
12413which take of the default security brakes.
12414
12415@defopt org-confirm-babel-evaluate
12416When set to t user is queried before code block evaluation
12417@end defopt
12418
12419@item Following @code{shell} and @code{elisp} links
12420Org has two link types that can directly evaluate code (@pxref{External
12421links}). These links can be problematic because the code to be evaluated his
12422not visible.
12423
12424@defopt org-confirm-shell-link-function
12425Function to queries user about shell link execution.
12426@end defopt
12427@defopt org-confirm-elisp-link-function
12428Functions to query user for Emacs Lisp link execution.
12429@end defopt
12430
12431@item Following @code{shell} and @code{elisp} links
12432Org has two link types that can directly evaluate code (@pxref{External
12433links}). These links can be problematic because the code to be evaluated his
12434not visible. @b{Security advice:} Do not use these links, use source code
12435blocks which make the associated actions much more transparent.
12436
12437@item Formulas in tables
12438Formulas in tables (@pxref{The spreadsheet}) are code that is evaluated
12439either by the @i{calc} interpreter, or by the @i{Emacs Lisp} interpreter.
12440@end table
12441
12442@node Customization, In-buffer settings, Code evaluation security, Miscellaneous
10716@section Customization 12443@section Customization
10717@cindex customization 12444@cindex customization
10718@cindex options, for customization 12445@cindex options, for customization
@@ -10731,7 +12458,7 @@ lines into the buffer (@pxref{In-buffer settings}).
10731@cindex in-buffer settings 12458@cindex in-buffer settings
10732@cindex special keywords 12459@cindex special keywords
10733 12460
10734Org mode uses special lines in the buffer to define settings on a 12461Org-mode uses special lines in the buffer to define settings on a
10735per-file basis. These lines start with a @samp{#+} followed by a 12462per-file basis. These lines start with a @samp{#+} followed by a
10736keyword, a colon, and then individual words defining a setting. Several 12463keyword, a colon, and then individual words defining a setting. Several
10737setting words can be in the same line, but you can also have multiple 12464setting words can be in the same line, but you can also have multiple
@@ -10790,14 +12517,14 @@ buffer, most useful for specifying the allowed values of a property.
10790@item #+SETUPFILE: file 12517@item #+SETUPFILE: file
10791This line defines a file that holds more in-buffer setup. Normally this is 12518This line defines a file that holds more in-buffer setup. Normally this is
10792entirely ignored. Only when the buffer is parsed for option-setting lines 12519entirely ignored. Only when the buffer is parsed for option-setting lines
10793(i.e. when starting Org mode for a file, when pressing @kbd{C-c C-c} in a 12520(i.e. when starting Org-mode for a file, when pressing @kbd{C-c C-c} in a
10794settings line, or when exporting), then the contents of this file are parsed 12521settings line, or when exporting), then the contents of this file are parsed
10795as if they had been included in the buffer. In particular, the file can be 12522as if they had been included in the buffer. In particular, the file can be
10796any other Org mode file with internal setup. You can visit the file the 12523any other Org-mode file with internal setup. You can visit the file the
10797cursor is in the line with @kbd{C-c '}. 12524cursor is in the line with @kbd{C-c '}.
10798@item #+STARTUP: 12525@item #+STARTUP:
10799@cindex #+STARTUP: 12526@cindex #+STARTUP:
10800This line sets options to be used at startup of Org mode, when an 12527This line sets options to be used at startup of Org-mode, when an
10801Org file is being visited. 12528Org file is being visited.
10802 12529
10803The first set of options deals with the initial visibility of the outline 12530The first set of options deals with the initial visibility of the outline
@@ -10950,6 +12677,15 @@ To hide blocks on startup, use these keywords. The corresponding variable is
10950hideblocks @r{Hide all begin/end blocks on startup} 12677hideblocks @r{Hide all begin/end blocks on startup}
10951nohideblocks @r{Do not hide blocks on startup} 12678nohideblocks @r{Do not hide blocks on startup}
10952@end example 12679@end example
12680@cindex org-pretty-entities
12681The the display of entities as UTF8 characters is governed by the variable
12682@code{org-pretty-entities} and the keywords
12683@cindex @code{entitiespretty}, STARTUP keyword
12684@cindex @code{entitiesplain}, STARTUP keyword
12685@example
12686entitiespretty @r{Show entities as UTF8 characters where possible}
12687entitiesplain @r{Leave entities plain}
12688@end example
10953@item #+TAGS: TAG1(c1) TAG2(c2) 12689@item #+TAGS: TAG1(c1) TAG2(c2)
10954@vindex org-tag-alist 12690@vindex org-tag-alist
10955These lines (several such lines are allowed) specify the valid tags in 12691These lines (several such lines are allowed) specify the valid tags in
@@ -10958,8 +12694,8 @@ keys. The corresponding variable is @code{org-tag-alist}.
10958@item #+TBLFM: 12694@item #+TBLFM:
10959This line contains the formulas for the table directly above the line. 12695This line contains the formulas for the table directly above the line.
10960@item #+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+TEXT:, #+DATE:, 12696@item #+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+TEXT:, #+DATE:,
10961@itemx #+OPTIONS:, #+BIND: 12697@itemx #+OPTIONS:, #+BIND:, #+XSLT:,
10962@itemx #+DESCRIPTION:, #+KEYWORDS: 12698@itemx #+DESCRIPTION:, #+KEYWORDS:,
10963@itemx #+LATEX_HEADER:, #+STYLE:, #+LINK_UP:, #+LINK_HOME:, 12699@itemx #+LATEX_HEADER:, #+STYLE:, #+LINK_UP:, #+LINK_HOME:,
10964@itemx #+EXPORT_SELECT_TAGS:, #+EXPORT_EXCLUDE_TAGS: 12700@itemx #+EXPORT_SELECT_TAGS:, #+EXPORT_EXCLUDE_TAGS:
10965These lines provide settings for exporting files. For more details see 12701These lines provide settings for exporting files. For more details see
@@ -10997,7 +12733,7 @@ works even if the automatic table editor has been turned off.
10997If the cursor is on a @code{#+TBLFM} line, re-apply the formulas to 12733If the cursor is on a @code{#+TBLFM} line, re-apply the formulas to
10998the entire table. 12734the entire table.
10999@item 12735@item
11000If the current buffer is a Remember buffer, close the note and file it. 12736If the current buffer is a capture buffer, close the note and file it.
11001With a prefix argument, file it, without further interaction, to the 12737With a prefix argument, file it, without further interaction, to the
11002default location. 12738default location.
11003@item 12739@item
@@ -11048,14 +12784,16 @@ more text | more text
11048@end example 12784@end example
11049 12785
11050@noindent 12786@noindent
11051If you are using at least Emacs 23.1.50.3 and version 6.29 of Org, this kind 12787
11052of view can be achieved dynamically at display time using 12788If you are using at least Emacs 23.2@footnote{Emacs 23.1 can actually crash
11053@code{org-indent-mode}. In this minor mode, all lines are prefixed for 12789with @code{org-indent-mode}} and version 6.29 of Org, this kind of view can
11054display with the necessary amount of space@footnote{@code{org-indent-mode} 12790be achieved dynamically at display time using @code{org-indent-mode}. In
11055also sets the @code{wrap-prefix} property, such that @code{visual-line-mode} 12791this minor mode, all lines are prefixed for display with the necessary amount
11056(or purely setting @code{word-wrap}) wraps long lines (including headlines) 12792of space@footnote{@code{org-indent-mode} also sets the @code{wrap-prefix}
11057correctly indented. }. Also headlines are prefixed with additional stars, 12793property, such that @code{visual-line-mode} (or purely setting
11058so that the amount of indentation shifts by two@footnote{See the variable 12794@code{word-wrap}) wraps long lines (including headlines) correctly indented.
12795}. Also headlines are prefixed with additional stars, so that the amount of
12796indentation shifts by two@footnote{See the variable
11059@code{org-indent-indentation-per-level}.} spaces per level. All headline 12797@code{org-indent-indentation-per-level}.} spaces per level. All headline
11060stars but the last one are made invisible using the @code{org-hide} 12798stars but the last one are made invisible using the @code{org-hide}
11061face@footnote{Turning on @code{org-indent-mode} sets 12799face@footnote{Turning on @code{org-indent-mode} sets
@@ -11161,16 +12899,16 @@ is really only fun with @kbd{S-@key{cursor}} keys, whereas on a
11161tty you would rather use @kbd{C-c .} to re-insert the timestamp. 12899tty you would rather use @kbd{C-c .} to re-insert the timestamp.
11162 12900
11163@multitable @columnfractions 0.15 0.2 0.1 0.2 12901@multitable @columnfractions 0.15 0.2 0.1 0.2
11164@item @b{Default} @tab @b{Alternative 1} @tab @b{Speed key} @tab @b{Alternative 2} 12902@item @b{Default} @tab @b{Alternative 1} @tab @b{Speed key} @tab @b{Alternative 2}
11165@item @kbd{S-@key{TAB}} @tab @kbd{C-u @key{TAB}} @tab @kbd{C} @tab 12903@item @kbd{S-@key{TAB}} @tab @kbd{C-u @key{TAB}} @tab @kbd{C} @tab
11166@item @kbd{M-@key{left}} @tab @kbd{C-c C-x l} @tab @kbd{l} @tab @kbd{@key{Esc} @key{left}} 12904@item @kbd{M-@key{left}} @tab @kbd{C-c C-x l} @tab @kbd{l} @tab @kbd{@key{Esc} @key{left}}
11167@item @kbd{M-S-@key{left}} @tab @kbd{C-c C-x L} @tab @kbd{L} @tab 12905@item @kbd{M-S-@key{left}} @tab @kbd{C-c C-x L} @tab @kbd{L} @tab
11168@item @kbd{M-@key{right}} @tab @kbd{C-c C-x r} @tab @kbd{r} @tab @kbd{@key{Esc} @key{right}} 12906@item @kbd{M-@key{right}} @tab @kbd{C-c C-x r} @tab @kbd{r} @tab @kbd{@key{Esc} @key{right}}
11169@item @kbd{M-S-@key{right}} @tab @kbd{C-c C-x R} @tab @kbd{R} @tab 12907@item @kbd{M-S-@key{right}} @tab @kbd{C-c C-x R} @tab @kbd{R} @tab
11170@item @kbd{M-@key{up}} @tab @kbd{C-c C-x u} @tab @kbd{ } @tab @kbd{@key{Esc} @key{up}} 12908@item @kbd{M-@key{up}} @tab @kbd{C-c C-x u} @tab @kbd{ } @tab @kbd{@key{Esc} @key{up}}
11171@item @kbd{M-S-@key{up}} @tab @kbd{C-c C-x U} @tab @kbd{U} @tab 12909@item @kbd{M-S-@key{up}} @tab @kbd{C-c C-x U} @tab @kbd{U} @tab
11172@item @kbd{M-@key{down}} @tab @kbd{C-c C-x d} @tab @kbd{ } @tab @kbd{@key{Esc} @key{down}} 12910@item @kbd{M-@key{down}} @tab @kbd{C-c C-x d} @tab @kbd{ } @tab @kbd{@key{Esc} @key{down}}
11173@item @kbd{M-S-@key{down}} @tab @kbd{C-c C-x D} @tab @kbd{D} @tab 12911@item @kbd{M-S-@key{down}} @tab @kbd{C-c C-x D} @tab @kbd{D} @tab
11174@item @kbd{S-@key{RET}} @tab @kbd{C-c C-x c} @tab @kbd{ } @tab 12912@item @kbd{S-@key{RET}} @tab @kbd{C-c C-x c} @tab @kbd{ } @tab
11175@item @kbd{M-@key{RET}} @tab @kbd{C-c C-x m} @tab @kbd{ } @tab @kbd{@key{Esc} @key{RET}} 12913@item @kbd{M-@key{RET}} @tab @kbd{C-c C-x m} @tab @kbd{ } @tab @kbd{@key{Esc} @key{RET}}
11176@item @kbd{M-S-@key{RET}} @tab @kbd{C-c C-x M} @tab @kbd{ } @tab 12914@item @kbd{M-S-@key{RET}} @tab @kbd{C-c C-x M} @tab @kbd{ } @tab
@@ -11190,8 +12928,8 @@ Org lives in the world of GNU Emacs and interacts in various ways
11190with other code out there. 12928with other code out there.
11191 12929
11192@menu 12930@menu
11193* Cooperation:: Packages Org cooperates with 12931* Cooperation:: Packages Org cooperates with
11194* Conflicts:: Packages that lead to conflicts 12932* Conflicts:: Packages that lead to conflicts
11195@end menu 12933@end menu
11196 12934
11197@node Cooperation, Conflicts, Interaction, Interaction 12935@node Cooperation, Conflicts, Interaction, Interaction
@@ -11226,11 +12964,11 @@ setup. See the installation instructions in the file
11226@item @file{cdlatex.el} by Carsten Dominik 12964@item @file{cdlatex.el} by Carsten Dominik
11227@cindex @file{cdlatex.el} 12965@cindex @file{cdlatex.el}
11228@cindex Dominik, Carsten 12966@cindex Dominik, Carsten
11229Org mode can make use of the CDLa@TeX{} package to efficiently enter 12967Org-mode can make use of the CDLa@TeX{} package to efficiently enter
11230La@TeX{} fragments into Org files. See @ref{CDLaTeX mode}. 12968La@TeX{} fragments into Org files. See @ref{CDLaTeX mode}.
11231@item @file{imenu.el} by Ake Stenhoff and Lars Lindberg 12969@item @file{imenu.el} by Ake Stenhoff and Lars Lindberg
11232@cindex @file{imenu.el} 12970@cindex @file{imenu.el}
11233Imenu allows menu access to an index of items in a file. Org mode 12971Imenu allows menu access to an index of items in a file. Org-mode
11234supports Imenu---all you need to do to get the index is the following: 12972supports Imenu---all you need to do to get the index is the following:
11235@lisp 12973@lisp
11236(add-hook 'org-mode-hook 12974(add-hook 'org-mode-hook
@@ -11242,13 +12980,12 @@ the option @code{org-imenu-depth}.
11242@item @file{remember.el} by John Wiegley 12980@item @file{remember.el} by John Wiegley
11243@cindex @file{remember.el} 12981@cindex @file{remember.el}
11244@cindex Wiegley, John 12982@cindex Wiegley, John
11245Org cooperates with remember, see @ref{Remember}. 12983Org used to use this package for capture, but no longer does.
11246As of Emacs 23, @file{Remember.el} is part of the Emacs distribution.
11247@item @file{speedbar.el} by Eric M. Ludlam 12984@item @file{speedbar.el} by Eric M. Ludlam
11248@cindex @file{speedbar.el} 12985@cindex @file{speedbar.el}
11249@cindex Ludlam, Eric M. 12986@cindex Ludlam, Eric M.
11250Speedbar is a package that creates a special frame displaying files and 12987Speedbar is a package that creates a special frame displaying files and
11251index items in files. Org mode supports Speedbar and allows you to 12988index items in files. Org-mode supports Speedbar and allows you to
11252drill into Org files directly from the Speedbar. It also allows you to 12989drill into Org files directly from the Speedbar. It also allows you to
11253restrict the scope of agenda commands to a file or a subtree by using 12990restrict the scope of agenda commands to a file or a subtree by using
11254the command @kbd{<} in the Speedbar frame. 12991the command @kbd{<} in the Speedbar frame.
@@ -11284,13 +13021,13 @@ possible.
11284@item @file{footnote.el} by Steven L. Baur 13021@item @file{footnote.el} by Steven L. Baur
11285@cindex @file{footnote.el} 13022@cindex @file{footnote.el}
11286@cindex Baur, Steven L. 13023@cindex Baur, Steven L.
11287Org mode recognizes numerical footnotes as provided by this package. 13024Org-mode recognizes numerical footnotes as provided by this package.
11288However, Org mode also has its own footnote support (@pxref{Footnotes}), 13025However, Org-mode also has its own footnote support (@pxref{Footnotes}),
11289which makes using @file{footnote.el} unnecessary. 13026which makes using @file{footnote.el} unnecessary.
11290@end table 13027@end table
11291 13028
11292@node Conflicts, , Cooperation, Interaction 13029@node Conflicts, , Cooperation, Interaction
11293@subsection Packages that lead to conflicts with Org mode 13030@subsection Packages that lead to conflicts with Org-mode
11294 13031
11295@table @asis 13032@table @asis
11296 13033
@@ -11302,7 +13039,7 @@ This conflicts with the use of @kbd{S-@key{cursor}} commands in Org to change
11302timestamps, TODO keywords, priorities, and item bullet types if the cursor is 13039timestamps, TODO keywords, priorities, and item bullet types if the cursor is
11303at such a location. By default, @kbd{S-@key{cursor}} commands outside 13040at such a location. By default, @kbd{S-@key{cursor}} commands outside
11304special contexts don't do anything, but you can customize the variable 13041special contexts don't do anything, but you can customize the variable
11305@code{org-support-shift-select}. Org mode then tries to accommodate shift 13042@code{org-support-shift-select}. Org-mode then tries to accommodate shift
11306selection by (i) using it outside of the special contexts where special 13043selection by (i) using it outside of the special contexts where special
11307commands apply, and by (ii) extending an existing active region even if the 13044commands apply, and by (ii) extending an existing active region even if the
11308cursor moves across a special context. 13045cursor moves across a special context.
@@ -11317,7 +13054,7 @@ region. In fact, Emacs 23 has this built-in in the form of
11317@code{shift-selection-mode}, see previous paragraph. If you are using Emacs 13054@code{shift-selection-mode}, see previous paragraph. If you are using Emacs
1131823, you probably don't want to use another package for this purpose. However, 1305523, you probably don't want to use another package for this purpose. However,
11319if you prefer to leave these keys to a different package while working in 13056if you prefer to leave these keys to a different package while working in
11320Org mode, configure the variable @code{org-replace-disputed-keys}. When set, 13057Org-mode, configure the variable @code{org-replace-disputed-keys}. When set,
11321Org will move the following key bindings in Org files, and in the agenda 13058Org will move the following key bindings in Org files, and in the agenda
11322buffer (but not during date selection). 13059buffer (but not during date selection).
11323 13060
@@ -11348,7 +13085,18 @@ fixed this problem:
11348@item @file{windmove.el} by Hovav Shacham 13085@item @file{windmove.el} by Hovav Shacham
11349@cindex @file{windmove.el} 13086@cindex @file{windmove.el}
11350This package also uses the @kbd{S-<cursor>} keys, so everything written 13087This package also uses the @kbd{S-<cursor>} keys, so everything written
11351in the paragraph above about CUA mode also applies here. 13088in the paragraph above about CUA mode also applies here. If you want make
13089the windmove function active in locations where Org-mode does not have
13090special functionality on @kbd{S-@key{cursor}}, add this to your
13091configuration:
13092
13093@lisp
13094;; Make windmove work in org-mode:
13095(add-hook 'org-shiftup-final-hook 'windmove-up)
13096(add-hook 'org-shiftleft-final-hook 'windmove-left)
13097(add-hook 'org-shiftdown-final-hook 'windmove-down)
13098(add-hook 'org-shiftright-final-hook 'windmove-right)
13099@end lisp
11352 13100
11353@item @file{viper.el} by Michael Kifer 13101@item @file{viper.el} by Michael Kifer
11354@cindex @file{viper.el} 13102@cindex @file{viper.el}
@@ -11373,16 +13121,16 @@ This appendix covers some aspects where users can extend the functionality of
11373Org. 13121Org.
11374 13122
11375@menu 13123@menu
11376* Hooks:: Who to reach into Org's internals 13124* Hooks:: Who to reach into Org's internals
11377* Add-on packages:: Available extensions 13125* Add-on packages:: Available extensions
11378* Adding hyperlink types:: New custom link types 13126* Adding hyperlink types:: New custom link types
11379* Context-sensitive commands:: How to add functionality to such commands 13127* Context-sensitive commands:: How to add functionality to such commands
11380* Tables in arbitrary syntax:: Orgtbl for La@TeX{} and other programs 13128* Tables in arbitrary syntax:: Orgtbl for La@TeX{} and other programs
11381* Dynamic blocks:: Automatically filled blocks 13129* Dynamic blocks:: Automatically filled blocks
11382* Special agenda views:: Customized views 13130* Special agenda views:: Customized views
11383* Extracting agenda information:: Postprocessing of agenda information 13131* Extracting agenda information:: Postprocessing of agenda information
11384* Using the property API:: Writing programs that use entry properties 13132* Using the property API:: Writing programs that use entry properties
11385* Using the mapping API:: Mapping over all or selected entries 13133* Using the mapping API:: Mapping over all or selected entries
11386@end menu 13134@end menu
11387 13135
11388@node Hooks, Add-on packages, Hacking, Hacking 13136@node Hooks, Add-on packages, Hacking, Hacking
@@ -11401,7 +13149,7 @@ maintained by the Worg project and can be found at
11401 13149
11402A large number of add-on packages have been written by various authors. 13150A large number of add-on packages have been written by various authors.
11403These packages are not part of Emacs, but they are distributed as contributed 13151These packages are not part of Emacs, but they are distributed as contributed
11404packages with the separate release available at the Org mode home page at 13152packages with the separate release available at the Org-mode home page at
11405@uref{http://orgmode.org}. The list of contributed packages, along with 13153@uref{http://orgmode.org}. The list of contributed packages, along with
11406documentation about each package, is maintained by the Worg project at 13154documentation about each package, is maintained by the Worg project at
11407@uref{http://orgmode.org/worg/org-contrib/}. 13155@uref{http://orgmode.org/worg/org-contrib/}.
@@ -11560,7 +13308,6 @@ hard to do in a general way, would lead to a customization nightmare,
11560and would take away much of the simplicity of the Orgtbl-mode table 13308and would take away much of the simplicity of the Orgtbl-mode table
11561editor. 13309editor.
11562 13310
11563
11564This appendix describes a different approach. We keep the Orgtbl mode 13311This appendix describes a different approach. We keep the Orgtbl mode
11565table in its native format (the @i{source table}), and use a custom 13312table in its native format (the @i{source table}), and use a custom
11566function to @i{translate} the table to the correct syntax, and to 13313function to @i{translate} the table to the correct syntax, and to
@@ -11568,17 +13315,17 @@ function to @i{translate} the table to the correct syntax, and to
11568the burden of writing conversion functions on the user, but it allows 13315the burden of writing conversion functions on the user, but it allows
11569for a very flexible system. 13316for a very flexible system.
11570 13317
11571Bastien added the ability to do the same with lists. You can use Org's 13318Bastien added the ability to do the same with lists, in Orgstruct mode. You
11572facilities to edit and structure lists by turning @code{orgstruct-mode} 13319can use Org's facilities to edit and structure lists by turning
11573on, then locally exporting such lists in another format (HTML, La@TeX{} 13320@code{orgstruct-mode} on, then locally exporting such lists in another format
11574or Texinfo.) 13321(HTML, La@TeX{} or Texinfo.)
11575 13322
11576 13323
11577@menu 13324@menu
11578* Radio tables:: Sending and receiving radio tables 13325* Radio tables:: Sending and receiving radio tables
11579* A LaTeX example:: Step by step, almost a tutorial 13326* A LaTeX example:: Step by step, almost a tutorial
11580* Translator functions:: Copy and modify 13327* Translator functions:: Copy and modify
11581* Radio lists:: Doing the same for lists 13328* Radio lists:: Doing the same for lists
11582@end menu 13329@end menu
11583 13330
11584@node Radio tables, A LaTeX example, Tables in arbitrary syntax, Tables in arbitrary syntax 13331@node Radio tables, A LaTeX example, Tables in arbitrary syntax, Tables in arbitrary syntax
@@ -11832,7 +13579,7 @@ containing the formatted table. If you write a generally useful
11832translator, please post it on @email{emacs-orgmode@@gnu.org} so that 13579translator, please post it on @email{emacs-orgmode@@gnu.org} so that
11833others can benefit from your work. 13580others can benefit from your work.
11834 13581
11835@node Radio lists, , Translator functions, Tables in arbitrary syntax 13582@node Radio lists, , Translator functions, Tables in arbitrary syntax
11836@subsection Radio lists 13583@subsection Radio lists
11837@cindex radio lists 13584@cindex radio lists
11838@cindex org-list-insert-radio-list 13585@cindex org-list-insert-radio-list
@@ -11846,7 +13593,9 @@ Here are the differences with radio tables:
11846 13593
11847@itemize @minus 13594@itemize @minus
11848@item 13595@item
11849Use @code{ORGLST} instead of @code{ORGTBL}. 13596Orgstruct mode must be active.
13597@item
13598Use the @code{ORGLST} keyword instead of @code{ORGTBL}.
11850@item 13599@item
11851The available translation functions for radio lists don't take 13600The available translation functions for radio lists don't take
11852parameters. 13601parameters.
@@ -11857,12 +13606,12 @@ parameters.
11857Here is a La@TeX{} example. Let's say that you have this in your 13606Here is a La@TeX{} example. Let's say that you have this in your
11858La@TeX{} file: 13607La@TeX{} file:
11859 13608
11860@cindex #+ORGLIST 13609@cindex #+ORGLST
11861@example 13610@example
11862% BEGIN RECEIVE ORGLST to-buy 13611% BEGIN RECEIVE ORGLST to-buy
11863% END RECEIVE ORGLST to-buy 13612% END RECEIVE ORGLST to-buy
11864\begin@{comment@} 13613\begin@{comment@}
11865#+ORGLIST: SEND to-buy orgtbl-to-latex 13614#+ORGLST: SEND to-buy org-list-to-latex
11866- a new house 13615- a new house
11867- a new computer 13616- a new computer
11868 + a new keyboard 13617 + a new keyboard
@@ -12328,11 +14077,13 @@ The following example counts the number of entries with TODO keyword
12328@cindex iPhone 14077@cindex iPhone
12329@cindex MobileOrg 14078@cindex MobileOrg
12330 14079
12331@i{MobileOrg} is an application for the @i{iPhone/iPod Touch} series of 14080@uref{http://mobileorg.ncogni.to/, MobileOrg} is an application for the
12332devices, developed by Richard Moreland. @i{MobileOrg} offers offline viewing 14081@i{iPhone/iPod Touch} series of devices, developed by Richard Moreland.
12333and capture support for an Org-mode system rooted on a ``real'' computer. It 14082@i{MobileOrg} offers offline viewing and capture support for an Org-mode
12334does also allow you to record changes to existing entries. For information 14083system rooted on a ``real'' computer. It does also allow you to record
12335about @i{MobileOrg}, see @uref{http://mobileorg.ncogni.to/}). 14084changes to existing entries. Android users should check out
14085@uref{http://wiki.github.com/matburt/mobileorg-android/, MobileOrg Android}
14086by Matt Jones.
12336 14087
12337This appendix describes the support Org has for creating agenda views in a 14088This appendix describes the support Org has for creating agenda views in a
12338format that can be displayed by @i{MobileOrg}, and for integrating notes 14089format that can be displayed by @i{MobileOrg}, and for integrating notes
@@ -12340,52 +14091,42 @@ captured and changes made by @i{MobileOrg} into the main system.
12340 14091
12341For changing tags and TODO states in MobileOrg, you should have set up the 14092For changing tags and TODO states in MobileOrg, you should have set up the
12342customization variables @code{org-todo-keywords} and @code{org-tags-alist} to 14093customization variables @code{org-todo-keywords} and @code{org-tags-alist} to
12343cover all important tags and todo keywords, even if individual files use only 14094cover all important tags and TODO keywords, even if individual files use only
12344part of these. MobileOrg will also offer you states and tags set up with 14095part of these. MobileOrg will also offer you states and tags set up with
12345in-buffer settings, but it will understand the logistics of todo state 14096in-buffer settings, but it will understand the logistics of TODO state
12346@i{sets} (@pxref{Per-file keywords}) and @i{mutually exclusive} tags 14097@i{sets} (@pxref{Per-file keywords}) and @i{mutually exclusive} tags
12347(@pxref{Setting tags}) only for those set in these variables. 14098(@pxref{Setting tags}) only for those set in these variables.
12348 14099
12349@menu 14100@menu
12350* Setting up the staging area:: Where to interact with the mobile device 14101* Setting up the staging area:: Where to interact with the mobile device
12351* Pushing to MobileOrg:: Uploading Org files and agendas 14102* Pushing to MobileOrg:: Uploading Org files and agendas
12352* Pulling from MobileOrg:: Integrating captured and flagged items 14103* Pulling from MobileOrg:: Integrating captured and flagged items
12353@end menu 14104@end menu
12354 14105
12355@node Setting up the staging area, Pushing to MobileOrg, MobileOrg, MobileOrg 14106@node Setting up the staging area, Pushing to MobileOrg, MobileOrg, MobileOrg
12356@section Setting up the staging area 14107@section Setting up the staging area
12357 14108
12358Org-mode has commands to prepare a directory with files for @i{MobileOrg}, 14109MobileOrg needs to interact with Emacs through directory on a
12359and to read captured notes from there. If Emacs can directly write to the 14110server@footnote{If you are using a public server, you might prefer to encrypt
12360WebDAV directory@footnote{If you are using a public server, you might prefer 14111the files on the server. This can be done with Org-mode 6.35 and, hopefully,
12361to encrypt the files on the server. This can be done with Org-mode 6.35 and 14112with MobileOrg 1.4 (please check before trying to use this). On the Emacs
12362MobileOrg 1.2. On the Emacs side, configure the variables 14113side, configure the variables @code{org-mobile-use-encryption} and
12363@code{org-mobile-use-encryption} and @code{org-mobile-encryption-password}.} 14114@code{org-mobile-encryption-password}.}. The easiest way to create that
12364accessed by @i{MobileOrg}, just point to this directory using the variable 14115directory is to use a free @uref{http://dropbox.com,Dropbox.com}
12365@code{org-mobile-directory}. Using the @file{tramp} method, 14116account@footnote{If you cannot use Dropbox, or if your version of MobileOrg
12366@code{org-mobile-directory} may point to a remote directory accessible 14117does not support it, you can use a webdav server. For more information,
12367through, for example, @file{ssh/scp}: 14118check out the the documentation of MobileOrg and also this
12368 14119@uref{http://orgmode.org/worg/org-faq.php#mobileorg_webdav, FAQ entry}.}.
12369@smallexample 14120When MobileOrg first connects to your Dropbox, it will create a directory
12370(setq org-mobile-directory "/scpc:user@@remote.host:org/webdav/") 14121@i{MobileOrg} inside the Dropbox. After the directory has been created, tell
12371@end smallexample 14122Emacs about it:
12372 14123
12373If Emacs cannot access the WebDAV directory directly using a @file{tramp} 14124@lisp
12374method, or you prefer to maintain a local copy, you can use a local directory 14125(setq org-mobile-directory "~/Dropbox/MobileOrg")
12375for staging. Other means must then be used to keep this directory in sync 14126@end lisp
12376with the WebDAV directory. In the following example, files are staged in
12377@file{~/stage}, and Org-mode hooks take care of moving files to and from the
12378WebDAV directory using @file{scp}.
12379 14127
12380@smallexample 14128Org-mode has commands to put files for @i{MobileOrg} into that directory,
12381(setq org-mobile-directory "~/stage/") 14129and to read captured notes from there.
12382(add-hook 'org-mobile-post-push-hook
12383 (lambda () (shell-command "scp -r ~/stage/* user@@wdhost:mobile/")))
12384(add-hook 'org-mobile-pre-pull-hook
12385 (lambda () (shell-command "scp user@@wdhost:mobile/mobileorg.org ~/stage/ ")))
12386(add-hook 'org-mobile-post-pull-hook
12387 (lambda () (shell-command "scp ~/stage/mobileorg.org user@@wdhost:mobile/")))
12388@end smallexample
12389 14130
12390@node Pushing to MobileOrg, Pulling from MobileOrg, Setting up the staging area, MobileOrg 14131@node Pushing to MobileOrg, Pulling from MobileOrg, Setting up the staging area, MobileOrg
12391@section Pushing to MobileOrg 14132@section Pushing to MobileOrg
@@ -12395,28 +14136,26 @@ to the directory @code{org-mobile-directory}. By default this list contains
12395all agenda files (as listed in @code{org-agenda-files}), but additional files 14136all agenda files (as listed in @code{org-agenda-files}), but additional files
12396can be included by customizing @code{org-mobiles-files}. File names will be 14137can be included by customizing @code{org-mobiles-files}. File names will be
12397staged with path relative to @code{org-directory}, so all files should be 14138staged with path relative to @code{org-directory}, so all files should be
12398inside this directory. The push operation also creates (in the same 14139inside this directory. The push operation also creates a special Org file
12399directory) a special Org file @file{agendas.org}. This file is an Org-mode 14140@file{agendas.org} with all custom agenda view defined by the
12400style outline, containing every custom agenda view defined by the user. 14141user@footnote{While creating the agendas, Org-mode will force (see the
12401While creating the agendas, Org-mode will force@footnote{See the variable 14142variable @code{org-mobile-force-id-on-agenda-items}) ID properties on all
12402@code{org-mobile-force-id-on-agenda-items}.} an ID property on all entries 14143referenced entries, so that these entries can be uniquely
12403referenced by the agendas, so that these entries can be uniquely identified 14144identified if @i{MobileOrg} flags them for further action.}. Finally, Org
12404if @i{MobileOrg} flags them for further action. Finally, Org writes the file 14145writes the file @file{index.org}, containing links to all other files.
12405@file{index.org}, containing links to all other files. If @i{MobileOrg} is 14146@i{MobileOrg} first reads this file from the server, and then downloads all
12406configured to request this file from the WebDAV server, all agendas and Org 14147agendas and Org files listed in it. To speed up the download, MobileOrg will
12407files will be downloaded to the device. To speed up the download, MobileOrg 14148only read files whose checksums@footnote{stored automatically in the file
12408will only read files whose checksums@footnote{stored automatically in the 14149@file{checksums.dat}} have changed.
12409file @file{checksums.dat}} have changed.
12410 14150
12411@node Pulling from MobileOrg, , Pushing to MobileOrg, MobileOrg 14151@node Pulling from MobileOrg, , Pushing to MobileOrg, MobileOrg
12412@section Pulling from MobileOrg 14152@section Pulling from MobileOrg
12413 14153
12414When @i{MobileOrg} synchronizes with the WebDAV server, it not only pulls the 14154When @i{MobileOrg} synchronizes with the server, it not only pulls the Org
12415Org files for viewing. It also appends captured entries and pointers to 14155files for viewing. It also appends captured entries and pointers to flagged
12416flagged and changed entries to the file @file{mobileorg.org} on the server. 14156and changed entries to the file @file{mobileorg.org} on the server. Org has
12417Org has a @emph{pull} operation that integrates this information into an 14157a @emph{pull} operation that integrates this information into an inbox file
12418inbox file and operates on the pointers to flagged entries. Here is how it 14158and operates on the pointers to flagged entries. Here is how it works:
12419works:
12420 14159
12421@enumerate 14160@enumerate
12422@item 14161@item
@@ -12457,38 +14196,32 @@ this flagged entry is finished.
12457If you are not able to process all flagged entries directly, you can always 14196If you are not able to process all flagged entries directly, you can always
12458return to this agenda view using @kbd{C-c a ?}. Note, however, that there is 14197return to this agenda view using @kbd{C-c a ?}. Note, however, that there is
12459a subtle difference. The view created automatically by @kbd{M-x 14198a subtle difference. The view created automatically by @kbd{M-x
12460org-mobile-pull RET} is guaranteed to search all files that have been 14199org-mobile-pull @key{RET}} is guaranteed to search all files that have been
12461addressed by the last pull. This might include a file that is not currently 14200addressed by the last pull. This might include a file that is not currently
12462in your list of agenda files. If you later use @kbd{C-c a ?} to regenerate 14201in your list of agenda files. If you later use @kbd{C-c a ?} to regenerate
12463the view, only the current agenda files will be searched. 14202the view, only the current agenda files will be searched.
12464 14203
12465@node History and Acknowledgments, Main Index, MobileOrg, Top 14204@node History and Acknowledgments, Main Index, MobileOrg, Top
12466@appendix History and Acknowledgments 14205@appendix History and acknowledgments
12467@cindex acknowledgements 14206@cindex acknowledgments
12468@cindex history 14207@cindex history
12469@cindex thanks 14208@cindex thanks
12470 14209
12471Org was born in 2003, out of frustration over the user interface 14210Org was born in 2003, out of frustration over the user interface of the Emacs
12472of the Emacs Outline mode. I was trying to organize my notes and 14211Outline mode. I was trying to organize my notes and projects, and using
12473projects, and using Emacs seemed to be the natural way to go. However, 14212Emacs seemed to be the natural way to go. However, having to remember eleven
12474having to remember eleven different commands with two or three keys per 14213different commands with two or three keys per command, only to hide and show
12475command, only to hide and show parts of the outline tree, that seemed 14214parts of the outline tree, that seemed entirely unacceptable to me. Also,
12476entirely unacceptable to me. Also, when using outlines to take notes, I 14215when using outlines to take notes, I constantly wanted to restructure the
12477constantly wanted to restructure the tree, organizing it parallel to my 14216tree, organizing it parallel to my thoughts and plans. @emph{Visibility
12478thoughts and plans. @emph{Visibility cycling} and @emph{structure 14217cycling} and @emph{structure editing} were originally implemented in the
12479editing} were originally implemented in the package 14218package @file{outline-magic.el}, but quickly moved to the more general
12480@file{outline-magic.el}, but quickly moved to the more general 14219@file{org.el}. As this environment became comfortable for project planning,
12481@file{org.el}. As this environment became comfortable for project 14220the next step was adding @emph{TODO entries}, basic @emph{timestamps}, and
12482planning, the next step was adding @emph{TODO entries}, basic 14221@emph{table support}. These areas highlighted the two main goals that Org
12483@emph{timestamps}, and @emph{table support}. These areas highlighted the two main 14222still has today: to be a new, outline-based, plain text mode with innovative
12484goals that Org still has today: to be a new, outline-based, 14223and intuitive editing features, and to incorporate project planning
12485plain text mode with innovative and intuitive editing features, and to 14224functionality directly into a notes file.
12486incorporate project planning functionality directly into a notes file.
12487
12488A special thanks goes to @i{Bastien Guerry} who has not only written a large
12489number of extensions to Org (most of them integrated into the core by now),
12490but who has also helped in the development and maintenance of Org so much that he
12491should be considered the main co-contributor to this package.
12492 14225
12493Since the first release, literally thousands of emails to me or to 14226Since the first release, literally thousands of emails to me or to
12494@email{emacs-orgmode@@gnu.org} have provided a constant stream of bug 14227@email{emacs-orgmode@@gnu.org} have provided a constant stream of bug
@@ -12499,6 +14232,38 @@ in shaping one or more aspects of Org. The list may not be
12499complete, if I have forgotten someone, please accept my apologies and 14232complete, if I have forgotten someone, please accept my apologies and
12500let me know. 14233let me know.
12501 14234
14235Before I get to this list, a few special mentions are in order:
14236
14237@table @i
14238@item Bastien Guerry
14239Bastien has written a large number of extensions to Org (most of them
14240integrated into the core by now), including the LaTeX exporter and the plain
14241list parser. His support during the early days, when he basically acted as
14242co-maintainer, was central to the success of this project. Bastien also
14243invented Worg, helped establishing the Web presence of Org, and sponsors
14244hosting costs for the orgmode.org website.
14245@item Eric Schulte and Dan Davison
14246Eric and Dan are jointly responsible for the Org-babel system, which turns
14247Org into a multi-language environment for evaluating code and doing literate
14248programming and reproducible research.
14249@item John Wiegley
14250John has also contributed a number of great ideas and patches
14251directly to Org, including the attachment system (@file{org-attach.el}),
14252integration with Apple Mail (@file{org-mac-message.el}), hierarchical
14253dependencies of TODO items, habit tracking (@file{org-habits.el}), and
14254encryption (@file{org-crypt.el}). Also, the capture system is really an
14255extended copy of his great @file{remember.el}.
14256@item Sebastian Rose
14257Without Sebastian, the HTML/XHTML publishing of Org would be the pitiful work
14258of an ignorant amateur. Sebastian has pushed this part of Org onto a much
14259higher level. He also wrote @file{org-info.js}, a Java script for displaying
14260webpages derived from Org using an Info-like or a folding interface with
14261single-key navigation.
14262@end table
14263
14264@noindent OK, now to the full list of contributions! Again, please let me
14265know what I am missing here!
14266
12502@itemize @bullet 14267@itemize @bullet
12503 14268
12504@item 14269@item
@@ -12518,7 +14283,7 @@ Org-mode website.
12518@i{Tom Breton} wrote @file{org-choose.el}. 14283@i{Tom Breton} wrote @file{org-choose.el}.
12519@item 14284@item
12520@i{Charles Cave}'s suggestion sparked the implementation of templates 14285@i{Charles Cave}'s suggestion sparked the implementation of templates
12521for Remember. 14286for Remember, which are now templates for capture.
12522@item 14287@item
12523@i{Pavel Chalmoviansky} influenced the agenda treatment of items with 14288@i{Pavel Chalmoviansky} influenced the agenda treatment of items with
12524specified time. 14289specified time.
@@ -12531,8 +14296,6 @@ calculations and improved XEmacs compatibility, in particular by porting
12531@item 14296@item
12532@i{Baoqiu Cui} contributed the DocBook exporter. 14297@i{Baoqiu Cui} contributed the DocBook exporter.
12533@item 14298@item
12534@i{Dan Davison} wrote (together with @i{Eric Schulte}) Org Babel.
12535@item
12536@i{Eddward DeVilla} proposed and tested checkbox statistics. He also 14299@i{Eddward DeVilla} proposed and tested checkbox statistics. He also
12537came up with the idea of properties, and that there should be an API for 14300came up with the idea of properties, and that there should be an API for
12538them. 14301them.
@@ -12543,6 +14306,9 @@ them.
12543inspired some of the early development, including HTML export. He also 14306inspired some of the early development, including HTML export. He also
12544asked for a way to narrow wide table columns. 14307asked for a way to narrow wide table columns.
12545@item 14308@item
14309@i{Thomas S. Dye} contributed documentation on Worg and helped integrating
14310the Org-Babel documentation into the manual.
14311@item
12546@i{Christian Egli} converted the documentation into Texinfo format, 14312@i{Christian Egli} converted the documentation into Texinfo format,
12547patched CSS formatting into the HTML exporter, and inspired the agenda. 14313patched CSS formatting into the HTML exporter, and inspired the agenda.
12548@item 14314@item
@@ -12564,9 +14330,6 @@ around a match in a hidden outline tree.
12564@item 14330@item
12565@i{Niels Giesen} had the idea to automatically archive DONE trees. 14331@i{Niels Giesen} had the idea to automatically archive DONE trees.
12566@item 14332@item
12567@i{Bastien Guerry} wrote the La@TeX{} exporter and @file{org-bibtex.el}, and
12568has been prolific with patches, ideas, and bug reports.
12569@item
12570@i{Kai Grossjohann} pointed out key-binding conflicts with other packages. 14333@i{Kai Grossjohann} pointed out key-binding conflicts with other packages.
12571@item 14334@item
12572@i{Bernt Hansen} has driven much of the support for auto-repeating tasks, 14335@i{Bernt Hansen} has driven much of the support for auto-repeating tasks,
@@ -12581,6 +14344,8 @@ patches.
12581@i{Scott Jaderholm} proposed footnotes, control over whitespace between 14344@i{Scott Jaderholm} proposed footnotes, control over whitespace between
12582folded entries, and column view for properties. 14345folded entries, and column view for properties.
12583@item 14346@item
14347@i{Matt Jones} wrote @i{MobileOrg Android}.
14348@item
12584@i{Tokuya Kameshima} wrote @file{org-wl.el} and @file{org-mew.el}. 14349@i{Tokuya Kameshima} wrote @file{org-wl.el} and @file{org-mew.el}.
12585@item 14350@item
12586@i{Shidai Liu} ("Leo") asked for embedded La@TeX{} and tested it. He also 14351@i{Shidai Liu} ("Leo") asked for embedded La@TeX{} and tested it. He also
@@ -12589,6 +14354,10 @@ provided frequent feedback and some patches.
12589@i{Matt Lundin} has proposed last-row references for table formulas and named 14354@i{Matt Lundin} has proposed last-row references for table formulas and named
12590invisible anchors. He has also worked a lot on the FAQ. 14355invisible anchors. He has also worked a lot on the FAQ.
12591@item 14356@item
14357@i{David Maus} wrote @file{org-atom.el}, maintains the issues file for Org,
14358and is a prolific contributor on the mailing list with competent replies,
14359small fixes and patches.
14360@item
12592@i{Jason F. McBrayer} suggested agenda export to CSV format. 14361@i{Jason F. McBrayer} suggested agenda export to CSV format.
12593@item 14362@item
12594@i{Max Mikhanosha} came up with the idea of refiling. 14363@i{Max Mikhanosha} came up with the idea of refiling.
@@ -12611,6 +14380,9 @@ and being able to quickly restrict the agenda to a subtree.
12611@i{Tim O'Callaghan} suggested in-file links, search options for general 14380@i{Tim O'Callaghan} suggested in-file links, search options for general
12612file links, and TAGS. 14381file links, and TAGS.
12613@item 14382@item
14383@i{Osamu Okano} wrote @file{orgcard2ref.pl}, a perl program to create a text
14384version of the reference card.
14385@item
12614@i{Takeshi Okano} translated the manual and David O'Toole's tutorial 14386@i{Takeshi Okano} translated the manual and David O'Toole's tutorial
12615into Japanese. 14387into Japanese.
12616@item 14388@item
@@ -12635,10 +14407,6 @@ also acted as mailing list moderator for some time.
12635@item 14407@item
12636@i{Kevin Rogers} contributed code to access VM files on remote hosts. 14408@i{Kevin Rogers} contributed code to access VM files on remote hosts.
12637@item 14409@item
12638@i{Sebastian Rose} wrote @file{org-info.js}, a Java script for displaying
12639webpages derived from Org using an Info-like or a folding interface with
12640single-key navigation.
12641@item
12642@i{Frank Ruell} solved the mystery of the @code{keymapp nil} bug, a 14410@i{Frank Ruell} solved the mystery of the @code{keymapp nil} bug, a
12643conflict with @file{allout.el}. 14411conflict with @file{allout.el}.
12644@item 14412@item
@@ -12651,9 +14419,6 @@ of feedback, developed and applied standards to the Org documentation.
12651@i{Christian Schlauer} proposed angular brackets around links, among 14419@i{Christian Schlauer} proposed angular brackets around links, among
12652other things. 14420other things.
12653@item 14421@item
12654@i{Eric Schulte} wrote @file{org-plot.el} and (together with @i{Dan Davison})
12655Org Babel, and contributed various patches, small features and modules.
12656@item
12657@i{Paul Sexton} wrote @file{org-ctags.el}. 14422@i{Paul Sexton} wrote @file{org-ctags.el}.
12658@item 14423@item
12659Linking to VM/BBDB/Gnus was first inspired by @i{Tom Shannon}'s 14424Linking to VM/BBDB/Gnus was first inspired by @i{Tom Shannon}'s
@@ -12676,12 +14441,19 @@ tweaks and features.
12676@i{Adam Spiers} asked for global linking commands, inspired the link 14441@i{Adam Spiers} asked for global linking commands, inspired the link
12677extension system, added support for mairix, and proposed the mapping API. 14442extension system, added support for mairix, and proposed the mapping API.
12678@item 14443@item
14444@i{Ulf Stegemann} created the table to translate special symbols to HTML,
14445LaTeX, UTF-8, Latin-1 and ASCII.
14446@item
12679@i{Andy Stewart} contributed code to @file{org-w3m.el}, to copy HTML content 14447@i{Andy Stewart} contributed code to @file{org-w3m.el}, to copy HTML content
12680with links transformation to Org syntax. 14448with links transformation to Org syntax.
12681@item 14449@item
12682@i{David O'Toole} wrote @file{org-publish.el} and drafted the manual 14450@i{David O'Toole} wrote @file{org-publish.el} and drafted the manual
12683chapter about publishing. 14451chapter about publishing.
12684@item 14452@item
14453@i{Stefan Vollmar} organized a video-recorded talk at the
14454Max-Planck-Institute for Neurology. He also inspired the creation of a
14455concept index for HTML export.
14456@item
12685@i{J@"urgen Vollmer} contributed code generating the table of contents 14457@i{J@"urgen Vollmer} contributed code generating the table of contents
12686in HTML output. 14458in HTML output.
12687@item 14459@item
@@ -12693,16 +14465,6 @@ keyword.
12693@i{David Wainberg} suggested archiving, and improvements to the linking 14465@i{David Wainberg} suggested archiving, and improvements to the linking
12694system. 14466system.
12695@item 14467@item
12696@i{John Wiegley} wrote @file{emacs-wiki.el}, @file{planner.el}, and
12697@file{muse.el}, which have some overlap with Org. Initially the development
12698of Org was fully independent because I was not aware of the existence of
12699these packages. But with time I have occasionally looked at John's code and
12700learned a lot from it. John has also contributed a number of great ideas and
12701patches directly to Org, including the attachment system
12702(@file{org-attach.el}), integration with Apple Mail
12703(@file{org-mac-message.el}), hierarchical dependencies of TODO items, habit
12704tracking (@file{org-habits.el}).
12705@item
12706@i{Carsten Wimmer} suggested some changes and helped fix a bug in 14468@i{Carsten Wimmer} suggested some changes and helped fix a bug in
12707linking to Gnus. 14469linking to Gnus.
12708@item 14470@item
@@ -12715,17 +14477,17 @@ and contributed various ideas and code snippets.
12715 14477
12716 14478
12717@node Main Index, Key Index, History and Acknowledgments, Top 14479@node Main Index, Key Index, History and Acknowledgments, Top
12718@unnumbered Concept Index 14480@unnumbered Concept index
12719 14481
12720@printindex cp 14482@printindex cp
12721 14483
12722@node Key Index, Variable Index, Main Index, Top 14484@node Key Index, Variable Index, Main Index, Top
12723@unnumbered Key Index 14485@unnumbered Key index
12724 14486
12725@printindex ky 14487@printindex ky
12726 14488
12727@node Variable Index, , Key Index, Top 14489@node Variable Index, , Key Index, Top
12728@unnumbered Variable Index 14490@unnumbered Variable index
12729 14491
12730This is not a complete index of variables and faces, only the ones that are 14492This is not a complete index of variables and faces, only the ones that are
12731mentioned in the manual. For a more complete list, use @kbd{M-x 14493mentioned in the manual. For a more complete list, use @kbd{M-x
@@ -12740,8 +14502,6 @@ org-customize @key{RET}} and then click yourself through the tree.
12740@end ignore 14502@end ignore
12741 14503
12742@c Local variables: 14504@c Local variables:
12743@c ispell-local-dictionary: "en_US-w_accents"
12744@c ispell-local-pdict: "./.aspell.org.pws"
12745@c fill-column: 77 14505@c fill-column: 77
12746@c End: 14506@c End:
12747 14507
diff --git a/doc/misc/pcl-cvs.texi b/doc/misc/pcl-cvs.texi
index 625d83a0e2c..e4adf47ddb2 100644
--- a/doc/misc/pcl-cvs.texi
+++ b/doc/misc/pcl-cvs.texi
@@ -26,7 +26,7 @@ developing GNU and promoting software freedom.''
26 26
27@dircategory Emacs 27@dircategory Emacs
28@direntry 28@direntry
29* PCL-CVS: (pcl-cvs). Emacs front-end to CVS. 29* PCL-CVS: (pcl-cvs). Emacs front-end to CVS.
30@end direntry 30@end direntry
31 31
32@c The titlepage section does not appear in the Info file. 32@c The titlepage section does not appear in the Info file.
diff --git a/doc/misc/pgg.texi b/doc/misc/pgg.texi
index d2fd8fc097d..640dfd8f749 100644
--- a/doc/misc/pgg.texi
+++ b/doc/misc/pgg.texi
@@ -8,8 +8,8 @@
8This file describes PGG @value{VERSION}, an Emacs interface to various 8This file describes PGG @value{VERSION}, an Emacs interface to various
9PGP implementations. 9PGP implementations.
10 10
11Copyright @copyright{} 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 11Copyright @copyright{} 2001, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
12Free Software Foundation, Inc. 122010 Free Software Foundation, Inc.
13 13
14@quotation 14@quotation
15Permission is granted to copy, distribute and/or modify this document 15Permission is granted to copy, distribute and/or modify this document
@@ -27,7 +27,7 @@ developing GNU and promoting software freedom.''
27 27
28@dircategory Emacs 28@dircategory Emacs
29@direntry 29@direntry
30* PGG: (pgg). Emacs interface to various PGP implementations. 30* PGG: (pgg). Emacs interface to various PGP implementations.
31@end direntry 31@end direntry
32 32
33@titlepage 33@titlepage
@@ -133,7 +133,7 @@ list autoload setting for desired functions as follows.
133* User Commands:: 133* User Commands::
134* Selecting an implementation:: 134* Selecting an implementation::
135* Caching passphrase:: 135* Caching passphrase::
136* Default user identity:: 136* Default user identity::
137@end menu 137@end menu
138 138
139@node User Commands 139@node User Commands
@@ -376,7 +376,7 @@ variable @code{pgg-scheme-gpg-instance} and will be reused from now on.
376(defun pgg-make-scheme-gpg () 376(defun pgg-make-scheme-gpg ()
377 (or pgg-scheme-gpg-instance 377 (or pgg-scheme-gpg-instance
378 (setq pgg-scheme-gpg-instance 378 (setq pgg-scheme-gpg-instance
379 (luna-make-entity 'pgg-scheme-gpg)))) 379 (luna-make-entity 'pgg-scheme-gpg))))
380@end lisp 380@end lisp
381 381
382The name of the function must follow the 382The name of the function must follow the
diff --git a/doc/misc/rcirc.texi b/doc/misc/rcirc.texi
index 8d3f5e73966..c27cf4dc182 100644
--- a/doc/misc/rcirc.texi
+++ b/doc/misc/rcirc.texi
@@ -5,7 +5,8 @@
5@c %**end of header 5@c %**end of header
6 6
7@copying 7@copying
8Copyright @copyright{} 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 8Copyright @copyright{} 2006, 2007, 2008, 2009, 2010
9Free Software Foundation, Inc.
9 10
10@quotation 11@quotation
11Permission is granted to copy, distribute and/or modify this document 12Permission is granted to copy, distribute and/or modify this document
@@ -23,7 +24,7 @@ developing GNU and promoting software freedom.''
23 24
24@dircategory Emacs 25@dircategory Emacs
25@direntry 26@direntry
26* Rcirc: (rcirc). Internet Relay Chat (IRC) client. 27* Rcirc: (rcirc). Internet Relay Chat (IRC) client.
27@end direntry 28@end direntry
28 29
29@titlepage 30@titlepage
diff --git a/doc/misc/reftex.texi b/doc/misc/reftex.texi
index f2d03afc924..9d06ceccd9e 100644
--- a/doc/misc/reftex.texi
+++ b/doc/misc/reftex.texi
@@ -46,7 +46,8 @@ developing GNU and promoting software freedom.''
46 46
47@dircategory Emacs 47@dircategory Emacs
48@direntry 48@direntry
49* RefTeX: (reftex). Emacs support for LaTeX cross-references and citations. 49* RefTeX: (reftex). Emacs support for LaTeX cross-references
50 and citations.
50@end direntry 51@end direntry
51 52
52@finalout 53@finalout
@@ -3281,7 +3282,7 @@ the style @file{multind.el} contains
3281(TeX-add-style-hook "multind" 3282(TeX-add-style-hook "multind"
3282 (lambda () 3283 (lambda ()
3283 (and (fboundp 'reftex-add-index-macros) 3284 (and (fboundp 'reftex-add-index-macros)
3284 (reftex-add-index-macros '(multind))))) 3285 (reftex-add-index-macros '(multind)))))
3285@end lisp 3286@end lisp
3286 3287
3287If you have your own package @file{myindex} which defines the 3288If you have your own package @file{myindex} which defines the
diff --git a/doc/misc/remember.texi b/doc/misc/remember.texi
index f60d43031be..f9b75e1be00 100644
--- a/doc/misc/remember.texi
+++ b/doc/misc/remember.texi
@@ -27,7 +27,7 @@ developing GNU and promoting software freedom.''
27 27
28@dircategory Emacs 28@dircategory Emacs
29@direntry 29@direntry
30* Remember: (remember). Simple information manager for Emacs 30* Remember: (remember). Simple information manager for Emacs.
31@end direntry 31@end direntry
32 32
33@titlepage 33@titlepage
diff --git a/doc/misc/sasl.texi b/doc/misc/sasl.texi
index ff3481b306a..8a8421b4870 100644
--- a/doc/misc/sasl.texi
+++ b/doc/misc/sasl.texi
@@ -32,7 +32,7 @@ license to the document, as described in section 6 of the license.
32 32
33@dircategory Emacs 33@dircategory Emacs
34@direntry 34@direntry
35* SASL: (sasl). The Emacs SASL library. 35* SASL: (sasl). The Emacs SASL library.
36@end direntry 36@end direntry
37 37
38 38
@@ -148,7 +148,7 @@ of authentication functions.
148 148
149@example 149@example
150(defconst sasl-anonymous-steps 150(defconst sasl-anonymous-steps
151 '(identity ;no initial response 151 '(identity ;no initial response
152 sasl-anonymous-response)) 152 sasl-anonymous-response))
153 153
154(put 'sasl-anonymous 'sasl-mechanism 154(put 'sasl-anonymous 'sasl-mechanism
@@ -232,7 +232,7 @@ authentication protocol exchange. For example,
232@example 232@example
233(process-send-string 233(process-send-string
234 process 234 process
235 (if (sasl-step-data step) ;initial response 235 (if (sasl-step-data step) ;initial response
236 (format "AUTH %s %s\r\n" name (base64-encode-string (sasl-step-data step) t)) 236 (format "AUTH %s %s\r\n" name (base64-encode-string (sasl-step-data step) t))
237 (format "AUTH %s\r\n" name))) 237 (format "AUTH %s\r\n" name)))
238@end example 238@end example
diff --git a/doc/misc/sc.texi b/doc/misc/sc.texi
index 55d0d733cf0..72a6bfc8989 100644
--- a/doc/misc/sc.texi
+++ b/doc/misc/sc.texi
@@ -7,7 +7,7 @@
7@finalout 7@finalout
8@end iftex 8@end iftex
9 9
10@c @setchapternewpage odd % For book style double sided manual. 10@c @setchapternewpage odd % For book style double sided manual.
11@comment %**end of header (This is for running Texinfo on a region.) 11@comment %**end of header (This is for running Texinfo on a region.)
12 12
13@copying 13@copying
@@ -35,8 +35,8 @@ developing GNU and promoting software freedom.''
35 35
36@dircategory Emacs 36@dircategory Emacs
37@direntry 37@direntry
38* SC: (sc). Supercite lets you cite parts of messages you're 38* SC: (sc). Supercite lets you cite parts of messages
39 replying to, in flexible ways. 39 you're replying to, in flexible ways.
40@end direntry 40@end direntry
41 41
42@titlepage 42@titlepage
@@ -1795,23 +1795,23 @@ interface was formally proposed by Martin Neitzel on Fri, 23 Jun 89, in
1795a mail message to the Supercite mailing list: 1795a mail message to the Supercite mailing list:
1796 1796
1797@example 1797@example
1798 Martin> Each news/mail-reader should provide a form of 1798 Martin> Each news/mail-reader should provide a form of
1799 Martin> mail-yank-original that 1799 Martin> mail-yank-original that
1800 1800
1801 Martin> 1: inserts the original message incl. header into the 1801 Martin> 1: inserts the original message incl. header into the
1802 Martin> reply buffer; no indentation/prefixing is done, the header 1802 Martin> reply buffer; no indentation/prefixing is done, the header
1803 Martin> tends to be a "full blown" version rather than to be 1803 Martin> tends to be a "full blown" version rather than to be
1804 Martin> stripped down. 1804 Martin> stripped down.
1805 1805
1806 Martin> 2: `point' is at the start of the header, `mark' at the 1806 Martin> 2: `point' is at the start of the header, `mark' at the
1807 Martin> end of the message body. 1807 Martin> end of the message body.
1808 1808
1809 Martin> 3: (run-hooks 'mail-yank-hooks) 1809 Martin> 3: (run-hooks 'mail-yank-hooks)
1810 1810
1811 Martin> [Supercite] should be run as such a hook and merely 1811 Martin> [Supercite] should be run as such a hook and merely
1812 Martin> rewrite the message. This way it isn't anymore 1812 Martin> rewrite the message. This way it isn't anymore
1813 Martin> [Supercite]'s job to gather the original from obscure 1813 Martin> [Supercite]'s job to gather the original from obscure
1814 Martin> sources. [@dots{}] 1814 Martin> sources. [@dots{}]
1815@end example 1815@end example
1816 1816
1817@vindex mail-citation-hook 1817@vindex mail-citation-hook
diff --git a/doc/misc/sem-user.texi b/doc/misc/sem-user.texi
index 5ad3b9c6e3d..c731c1843dd 100644
--- a/doc/misc/sem-user.texi
+++ b/doc/misc/sem-user.texi
@@ -1,7 +1,7 @@
1@c This file is included by semantic.texi 1@c This file is included by semantic.texi
2 2
3@c Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009, 2010 3@c Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2009,
4@c Free Software Foundation, Inc. 4@c 2010 Free Software Foundation, Inc.
5 5
6@c Permission is granted to copy, distribute and/or modify this 6@c Permission is granted to copy, distribute and/or modify this
7@c document under the terms of the GNU Free Documentation License, 7@c document under the terms of the GNU Free Documentation License,
@@ -328,8 +328,8 @@ for a given major mode, like this:
328 328
329@example 329@example
330(setq-mode-local c-mode 330(setq-mode-local c-mode
331 semanticdb-find-default-throttle 331 semanticdb-find-default-throttle
332 '(project unloaded system recursive)) 332 '(project unloaded system recursive))
333@end example 333@end example
334 334
335@defvar semanticdb-find-default-throttle 335@defvar semanticdb-find-default-throttle
diff --git a/doc/misc/semantic.texi b/doc/misc/semantic.texi
index 08d82d35a43..65bd718dfff 100644
--- a/doc/misc/semantic.texi
+++ b/doc/misc/semantic.texi
@@ -43,7 +43,7 @@ developing GNU and promoting software freedom.''
43 43
44@dircategory Emacs 44@dircategory Emacs
45@direntry 45@direntry
46* Semantic: (semantic). Source code parser library and utilities. 46* Semantic: (semantic). Source code parser library and utilities.
47@end direntry 47@end direntry
48 48
49@titlepage 49@titlepage
@@ -224,8 +224,8 @@ grammar developers; it is useful mostly for the hackers who would like
224to learn more about how @semantic{} works. 224to learn more about how @semantic{} works.
225 225
226@menu 226@menu
227* Parser code :: Code used for the parsers 227* Parser code :: Code used for the parsers
228* Tag handling :: Code used for manipulating tags 228* Tag handling :: Code used for manipulating tags
229* Semanticdb Internals :: Code used in the semantic database 229* Semanticdb Internals :: Code used in the semantic database
230* Analyzer Internals :: Code used in the code analyzer 230* Analyzer Internals :: Code used in the code analyzer
231* Tools :: Code used in user tools 231* Tools :: Code used in user tools
diff --git a/doc/misc/ses.texi b/doc/misc/ses.texi
index af3970884c7..60d419083e2 100644
--- a/doc/misc/ses.texi
+++ b/doc/misc/ses.texi
@@ -11,8 +11,8 @@
11@copying 11@copying
12This file documents SES: the Simple Emacs Spreadsheet. 12This file documents SES: the Simple Emacs Spreadsheet.
13 13
14Copyright @copyright{} 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 14Copyright @copyright{} 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009,
15Free Software Foundation, Inc. 152010 Free Software Foundation, Inc.
16 16
17@quotation 17@quotation
18Permission is granted to copy, distribute and/or modify this document 18Permission is granted to copy, distribute and/or modify this document
@@ -30,7 +30,7 @@ developing GNU and promoting software freedom.''
30 30
31@dircategory Emacs 31@dircategory Emacs
32@direntry 32@direntry
33* SES: (ses). Simple Emacs Spreadsheet 33* SES: (ses). Simple Emacs Spreadsheet.
34@end direntry 34@end direntry
35 35
36@finalout 36@finalout
diff --git a/doc/misc/sieve.texi b/doc/misc/sieve.texi
index 8473f6cd359..9a1a0faf4c8 100644
--- a/doc/misc/sieve.texi
+++ b/doc/misc/sieve.texi
@@ -8,8 +8,8 @@
8@copying 8@copying
9This file documents the Emacs Sieve package, for server-side mail filtering. 9This file documents the Emacs Sieve package, for server-side mail filtering.
10 10
11Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 11Copyright @copyright{} 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008,
12Free Software Foundation, Inc. 122009, 2010 Free Software Foundation, Inc.
13 13
14@quotation 14@quotation
15Permission is granted to copy, distribute and/or modify this document 15Permission is granted to copy, distribute and/or modify this document
@@ -227,7 +227,7 @@ the @code{fileinto} command.
227require "fileinto"; 227require "fileinto";
228 228
229if address "sender" "owner-w3-beta@@xemacs.org" @{ 229if address "sender" "owner-w3-beta@@xemacs.org" @{
230 fileinto "INBOX.w3-beta"; 230 fileinto "INBOX.w3-beta";
231@} 231@}
232@end example 232@end example
233 233
@@ -238,7 +238,7 @@ required.
238 238
239@example 239@example
240if header :contains "Delivered-To" "auc-tex@@sunsite.dk" @{ 240if header :contains "Delivered-To" "auc-tex@@sunsite.dk" @{
241 fileinto "INBOX.auc-tex"; 241 fileinto "INBOX.auc-tex";
242@} 242@}
243@end example 243@end example
244 244
@@ -249,7 +249,7 @@ has been required.
249 249
250@example 250@example
251if address ["to", "cc"] "kerberos@@mit.edu" @{ 251if address ["to", "cc"] "kerberos@@mit.edu" @{
252 fileinto "INBOX.kerberos"; 252 fileinto "INBOX.kerberos";
253@} 253@}
254@end example 254@end example
255 255
diff --git a/doc/misc/smtpmail.texi b/doc/misc/smtpmail.texi
index fcb6ea65472..05bae38e7a8 100644
--- a/doc/misc/smtpmail.texi
+++ b/doc/misc/smtpmail.texi
@@ -22,7 +22,7 @@ developing GNU and promoting software freedom.''
22 22
23@dircategory Emacs 23@dircategory Emacs
24@direntry 24@direntry
25* SMTP: (smtpmail). Emacs library for sending mail via SMTP. 25* SMTP: (smtpmail). Emacs library for sending mail via SMTP.
26@end direntry 26@end direntry
27 27
28@titlepage 28@titlepage
@@ -44,17 +44,17 @@ developing GNU and promoting software freedom.''
44@end ifnottex 44@end ifnottex
45 45
46@menu 46@menu
47* How Mail Works:: Brief introduction to mail concepts. 47* How Mail Works:: Brief introduction to mail concepts.
48* Emacs Speaks SMTP:: How to use the SMTP library in Emacs. 48* Emacs Speaks SMTP:: How to use the SMTP library in Emacs.
49* Authentication:: Authenticating yourself to the server. 49* Authentication:: Authenticating yourself to the server.
50* Queued delivery:: Sending mail without an internet connection. 50* Queued delivery:: Sending mail without an internet connection.
51* Server workarounds:: Mail servers with special requirements. 51* Server workarounds:: Mail servers with special requirements.
52* Debugging:: Tracking down problems. 52* Debugging:: Tracking down problems.
53* GNU Free Documentation License:: The license for this documentation. 53* GNU Free Documentation License:: The license for this documentation.
54 54
55Indices 55Indices
56 56
57* Index:: Index over variables and functions. 57* Index:: Index over variables and functions.
58@end menu 58@end menu
59 59
60@node How Mail Works 60@node How Mail Works
@@ -355,15 +355,15 @@ configurations of sendmail requires this behavior. Don't bother to
355set this unless you have get an error like: 355set this unless you have get an error like:
356 356
357@example 357@example
358 Sending failed; SMTP protocol error 358 Sending failed; SMTP protocol error
359@end example 359@end example
360 360
361when sending mail, and the debug buffer (@pxref{Debugging})) contains 361when sending mail, and the debug buffer (@pxref{Debugging})) contains
362an error such as: 362an error such as:
363 363
364@example 364@example
365 RCPT TO: @var{someone} 365 RCPT TO: @var{someone}
366 501 @var{someone}: recipient address must contain a domain 366 501 @var{someone}: recipient address must contain a domain
367@end example 367@end example
368 368
369@end table 369@end table
diff --git a/doc/misc/speedbar.texi b/doc/misc/speedbar.texi
index 8434e8aa28d..aaf9e938de7 100644
--- a/doc/misc/speedbar.texi
+++ b/doc/misc/speedbar.texi
@@ -23,7 +23,7 @@ developing GNU and promoting software freedom.''
23 23
24@dircategory Emacs 24@dircategory Emacs
25@direntry 25@direntry
26* Speedbar: (speedbar). File/Tag summarizing utility. 26* Speedbar: (speedbar). File/Tag summarizing utility.
27@end direntry 27@end direntry
28 28
29@titlepage 29@titlepage
@@ -1131,7 +1131,7 @@ beginning, like this:
1131 1131
1132@example 1132@example
1133(add-to-list 'speedbar-dynamic-tags-function-list 1133(add-to-list 'speedbar-dynamic-tags-function-list
1134 '(my-fetch-dynamic-tags . my-insert-tag-list)) 1134 '(my-fetch-dynamic-tags . my-insert-tag-list))
1135@end example 1135@end example
1136 1136
1137If your parser is only good for a few types of files, make sure that it 1137If your parser is only good for a few types of files, make sure that it
diff --git a/doc/misc/tramp.texi b/doc/misc/tramp.texi
index 7d41049897e..e2d777c5cc2 100644
--- a/doc/misc/tramp.texi
+++ b/doc/misc/tramp.texi
@@ -57,8 +57,8 @@ supports it in developing GNU and promoting software freedom.''
57@c Entries for @command{install-info} to use 57@c Entries for @command{install-info} to use
58@dircategory @value{emacsname} 58@dircategory @value{emacsname}
59@direntry 59@direntry
60* TRAMP: (tramp). Transparent Remote Access, Multiple Protocol 60* TRAMP: (tramp). Transparent Remote Access, Multiple Protocol
61 @value{emacsname} remote file access via rsh and rcp. 61 @value{emacsname} remote file access via rsh and rcp.
62@end direntry 62@end direntry
63 63
64@titlepage 64@titlepage
@@ -629,11 +629,11 @@ Two other variants, @option{ssh1_old} and @option{ssh2_old}, use the
629@command{ssh1} and @command{ssh2} commands explicitly. If you don't 629@command{ssh1} and @command{ssh2} commands explicitly. If you don't
630know what these are, you do not need these options. 630know what these are, you do not need these options.
631 631
632All the methods based on @command{ssh} have an additional kludgy 632All the methods based on @command{ssh} have an additional feature: you
633feature: you can specify a host name which looks like @file{host#42} 633can specify a host name which looks like @file{host#42} (the real host
634(the real host name, then a hash sign, then a port number). This 634name, then a hash sign, then a port number). This means to connect to
635means to connect to the given host but to also pass @code{-p 42} as 635the given host but to also pass @code{-p 42} as arguments to the
636arguments to the @command{ssh} command. 636@command{ssh} command.
637 637
638 638
639@item @option{telnet} 639@item @option{telnet}
@@ -693,8 +693,6 @@ This is also useful for Windows users where @command{ssh}, when
693invoked from an @value{emacsname} buffer, tells them that it is not 693invoked from an @value{emacsname} buffer, tells them that it is not
694allocating a pseudo tty. When this happens, the login shell is wont 694allocating a pseudo tty. When this happens, the login shell is wont
695to not print any shell prompt, which confuses @value{tramp} mightily. 695to not print any shell prompt, which confuses @value{tramp} mightily.
696For reasons unknown, some Windows ports for @command{ssh} require the
697doubled @samp{-t} option.
698 696
699This supports the @samp{-p} argument. 697This supports the @samp{-p} argument.
700 698
@@ -2310,6 +2308,11 @@ using the @option{ssh} method to transfer files, and edit
2310@file{.emacs} in my home directory I would specify the filename 2308@file{.emacs} in my home directory I would specify the filename
2311@file{@trampfn{ssh, daniel, melancholia, .emacs}}. 2309@file{@trampfn{ssh, daniel, melancholia, .emacs}}.
2312 2310
2311Finally, for some methods it is possible to specify a different port
2312number than the default one, given by the method. This is specified
2313by adding @file{#<port>} to the host name, like in @file{@trampfn{ssh,
2314daniel, melancholia#42, .emacs}}.
2315
2313 2316
2314@node Alternative Syntax 2317@node Alternative Syntax
2315@section URL-like filename syntax 2318@section URL-like filename syntax
@@ -2798,7 +2801,7 @@ increase this level only temporarily, hunting bugs.
2798@item 2801@item
2799@value{tramp} does not connect to the remote host 2802@value{tramp} does not connect to the remote host
2800 2803
2801When @value{tramp} does not connect to the remote host, there are two 2804When @value{tramp} does not connect to the remote host, there are three
2802reasons heading the bug mailing list: 2805reasons heading the bug mailing list:
2803 2806
2804@itemize @minus 2807@itemize @minus
@@ -2833,6 +2836,17 @@ the following command:
2833@end example 2836@end example
2834 2837
2835@item 2838@item
2839Echoed characters after login
2840
2841When the remote machine opens an echoing shell, there might be control
2842characters in the welcome message. @value{tramp} tries to suppress
2843such echoes via the @code{stty -echo} command, but sometimes this
2844command is not reached, because the echoed output has confused
2845@value{tramp} already. In such situations it might be helpful to use
2846the @option{sshx} or @option{scpx} methods, which allocate a pseudo tty.
2847@xref{Inline methods}.
2848
2849@item
2836@value{tramp} doesn't transfer strings with more than 500 characters 2850@value{tramp} doesn't transfer strings with more than 500 characters
2837correctly 2851correctly
2838 2852
diff --git a/doc/misc/url.texi b/doc/misc/url.texi
index ea7f3211f52..a6bbf0bd3eb 100644
--- a/doc/misc/url.texi
+++ b/doc/misc/url.texi
@@ -15,7 +15,7 @@
15@dircategory World Wide Web 15@dircategory World Wide Web
16@dircategory Emacs 16@dircategory Emacs
17@direntry 17@direntry
18* URL: (url). URL loading package. 18* URL: (url). URL loading package.
19@end direntry 19@end direntry
20 20
21@copying 21@copying
diff --git a/doc/misc/vip.texi b/doc/misc/vip.texi
index 26acf25cb8e..2a4d4191082 100644
--- a/doc/misc/vip.texi
+++ b/doc/misc/vip.texi
@@ -3,8 +3,8 @@
3@settitle VIP 3@settitle VIP
4 4
5@copying 5@copying
6Copyright @copyright{} 1987, 2001, 2002, 2003, 2004, 6Copyright @copyright{} 1987, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
72005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 72008, 2009, 2010 Free Software Foundation, Inc.
8 8
9@quotation 9@quotation
10Permission is granted to copy, distribute and/or modify this document 10Permission is granted to copy, distribute and/or modify this document
@@ -38,7 +38,7 @@ developing GNU and promoting software freedom.''
38 38
39@dircategory Emacs 39@dircategory Emacs
40@direntry 40@direntry
41* VIP: (vip). An older VI-emulation for Emacs. 41* VIP: (vip). An older VI-emulation for Emacs.
42@end direntry 42@end direntry
43 43
44@ifnottex 44@ifnottex
@@ -65,10 +65,10 @@ Comments and bug reports are welcome. Please send messages to
65@end ifnottex 65@end ifnottex
66 66
67@menu 67@menu
68* Survey:: A survey of VIP. 68* Survey:: A survey of VIP.
69* Vi Commands:: Details of Vi commands. 69* Vi Commands:: Details of Vi commands.
70* Ex Commands:: Details of Ex commands. 70* Ex Commands:: Details of Ex commands.
71* Customization:: How to customize VIP. 71* Customization:: How to customize VIP.
72* GNU Free Documentation License:: The license for this documentation. 72* GNU Free Documentation License:: The license for this documentation.
73 73
74@end menu 74@end menu
@@ -99,10 +99,10 @@ In this chapter we describe basics of VIP with emphasis on the features not
99found in Vi and on how to use VIP under GNU Emacs. 99found in Vi and on how to use VIP under GNU Emacs.
100 100
101@menu 101@menu
102* Basic Concepts:: Basic concepts in Emacs. 102* Basic Concepts:: Basic concepts in Emacs.
103* Loading VIP:: How to load VIP automatically. 103* Loading VIP:: How to load VIP automatically.
104* Modes in VIP:: VIP has three modes, which are orthogonal to modes 104* Modes in VIP:: VIP has three modes, which are orthogonal to modes
105 in Emacs. 105 in Emacs.
106* Differences from Vi:: Differences of VIP from Vi is explained. 106* Differences from Vi:: Differences of VIP from Vi is explained.
107@end menu 107@end menu
108 108
@@ -253,10 +253,10 @@ emacs mode vi mode insert mode
253@end ifinfo 253@end ifinfo
254 254
255@menu 255@menu
256* Emacs Mode:: This is the mode you should know better. 256* Emacs Mode:: This is the mode you should know better.
257* Vi Mode:: Vi commands are executed in this mode. 257* Vi Mode:: Vi commands are executed in this mode.
258* Insert Mode:: You can enter text, and also can do editing if you 258* Insert Mode:: You can enter text, and also can do editing if you
259 know enough Emacs commands. 259 know enough Emacs commands.
260@end menu 260@end menu
261 261
262@node Emacs Mode, Vi Mode, Modes in VIP, Modes in VIP 262@node Emacs Mode, Vi Mode, Modes in VIP, Modes in VIP
@@ -306,23 +306,23 @@ Thus typing @kbd{C-z x} in insert mode will have the same effect as typing
306The major differences from Vi are explained below. 306The major differences from Vi are explained below.
307 307
308@menu 308@menu
309* Undoing:: You can undo more in VIP. 309* Undoing:: You can undo more in VIP.
310* Changing:: Commands for changing the text. 310* Changing:: Commands for changing the text.
311* Searching:: Search commands. 311* Searching:: Search commands.
312* z Command:: You can now use zH, zM and zL as well as z- etc. 312* z Command:: You can now use zH, zM and zL as well as z- etc.
313* Counts:: Some Vi commands which do not accept a count now 313* Counts:: Some Vi commands which do not accept a count now
314 accept one. 314 accept one.
315* Marking:: You can now mark the current point, beginning of 315* Marking:: You can now mark the current point, beginning of
316 the buffer etc. 316 the buffer etc.
317* Region Commands:: You can now give a region as an argument for delete 317* Region Commands:: You can now give a region as an argument for delete
318 commands etc. 318 commands etc.
319* New Commands:: Some new commands not available in Vi are added. 319* New Commands:: Some new commands not available in Vi are added.
320* New Bindings:: Bindings of some keys are changed for the 320* New Bindings:: Bindings of some keys are changed for the
321 convenience of editing under Emacs. 321 convenience of editing under Emacs.
322* Window Commands:: Commands for moving among windows etc. 322* Window Commands:: Commands for moving among windows etc.
323* Buffer Commands:: Commands for selecting buffers etc. 323* Buffer Commands:: Commands for selecting buffers etc.
324* File Commands:: Commands for visiting files etc. 324* File Commands:: Commands for visiting files etc.
325* Misc Commands:: Other useful commands. 325* Misc Commands:: Other useful commands.
326@end menu 326@end menu
327 327
328@node Undoing, Changing, Differences from Vi, Differences from Vi 328@node Undoing, Changing, Differences from Vi, Differences from Vi
@@ -693,17 +693,17 @@ VIP. Except for the last section which discusses insert mode, all the
693commands described in this chapter are to be used in vi mode. 693commands described in this chapter are to be used in vi mode.
694 694
695@menu 695@menu
696* Numeric Arguments:: Many commands accept numeric arguments 696* Numeric Arguments:: Many commands accept numeric arguments
697* Important Keys:: Some very important keys. 697* Important Keys:: Some very important keys.
698* Buffers and Windows:: Commands for handling buffers and windows. 698* Buffers and Windows:: Commands for handling buffers and windows.
699* Files:: Commands for handling files. 699* Files:: Commands for handling files.
700* Viewing the Buffer:: How you can view the current buffer. 700* Viewing the Buffer:: How you can view the current buffer.
701* Mark Commands:: Marking positions in a buffer. 701* Mark Commands:: Marking positions in a buffer.
702* Motion Commands:: Commands for moving point. 702* Motion Commands:: Commands for moving point.
703* Searching and Replacing:: Commands for searching and replacing. 703* Searching and Replacing:: Commands for searching and replacing.
704* Modifying Commands:: Commands for modifying the buffer. 704* Modifying Commands:: Commands for modifying the buffer.
705* Other Vi Commands:: Miscellaneous Commands. 705* Other Vi Commands:: Miscellaneous Commands.
706* Commands in Insert Mode:: Commands for entering insert mode. 706* Commands in Insert Mode:: Commands for entering insert mode.
707@end menu 707@end menu
708 708
709@node Numeric Arguments, Important Keys, Vi Commands, Vi Commands 709@node Numeric Arguments, Important Keys, Vi Commands, Vi Commands
@@ -1265,7 +1265,7 @@ vanilla, this command replaces every occurrence of @var{string} with
1265@var{newstring}. If the mode is regular expression, @var{string} is 1265@var{newstring}. If the mode is regular expression, @var{string} is
1266treated as a regular expression and every string matching the regular 1266treated as a regular expression and every string matching the regular
1267expression is replaced with @var{newstring} (@code{vip-replace-string}). 1267expression is replaced with @var{newstring} (@code{vip-replace-string}).
1268@item Q @var{string} RET @var{newstring} 1268@item Q @var{string} RET @var{newstring}
1269@kindex 121 @kbd{Q} (@code{vip-query-replace}) 1269@kindex 121 @kbd{Q} (@code{vip-query-replace})
1270Same as @kbd{R} except that you will be asked form confirmation before each 1270Same as @kbd{R} except that you will be asked form confirmation before each
1271replacement 1271replacement
@@ -1311,10 +1311,10 @@ the region}), and then the enlarged region will be affected by the modifying
1311command. 1311command.
1312 1312
1313@menu 1313@menu
1314* Delete Commands:: Commands for deleting text. 1314* Delete Commands:: Commands for deleting text.
1315* Yank Commands:: Commands for yanking text in Vi's sense. 1315* Yank Commands:: Commands for yanking text in Vi's sense.
1316* Put Back Commands:: Commands for putting back deleted/yanked text. 1316* Put Back Commands:: Commands for putting back deleted/yanked text.
1317* Change Commands:: Commands for changing text. 1317* Change Commands:: Commands for changing text.
1318* Repeating and Undoing Modifications:: 1318* Repeating and Undoing Modifications::
1319@end menu 1319@end menu
1320@node Delete Commands, Yank Commands, Modifying Commands, Modifying Commands 1320@node Delete Commands, Yank Commands, Modifying Commands, Modifying Commands
@@ -1713,7 +1713,7 @@ Several Ex commands can be entered in a line by separating them by a pipe
1713character @samp{|}. 1713character @samp{|}.
1714 1714
1715@menu 1715@menu
1716* Ex Command Reference:: Explain all the Ex commands available in VIP. 1716* Ex Command Reference:: Explain all the Ex commands available in VIP.
1717@end menu 1717@end menu
1718@node Ex Command Reference, Customization, Ex Commands, Ex Commands 1718@node Ex Command Reference, Customization, Ex Commands, Ex Commands
1719@section Ex Command Reference 1719@section Ex Command Reference
@@ -1869,8 +1869,8 @@ will also be loaded when VIP is loaded. This file is thus useful for
1869customizing VIP. 1869customizing VIP.
1870 1870
1871@menu 1871@menu
1872* Customizing Constants:: How to change values of constants. 1872* Customizing Constants:: How to change values of constants.
1873* Customizing Key Bindings:: How to change key bindings. 1873* Customizing Key Bindings:: How to change key bindings.
1874@end menu 1874@end menu
1875 1875
1876@node Customizing Constants, Customizing Key Bindings, Customization, Customization 1876@node Customizing Constants, Customizing Key Bindings, Customization, Customization
diff --git a/doc/misc/viper.texi b/doc/misc/viper.texi
index 497d1b373e1..2100e652950 100644
--- a/doc/misc/viper.texi
+++ b/doc/misc/viper.texi
@@ -26,9 +26,9 @@ developing GNU and promoting software freedom.''
26 26
27@dircategory Emacs 27@dircategory Emacs
28@direntry 28@direntry
29* VIPER: (viper). The newest Emacs VI-emulation mode. 29* VIPER: (viper). The newest Emacs VI-emulation mode.
30 (also, A VI Plan for Emacs Rescue 30 (also, A VI Plan for Emacs Rescue
31 or the VI PERil.) 31 or the VI PERil.)
32@end direntry 32@end direntry
33 33
34@finalout 34@finalout
@@ -3004,14 +3004,14 @@ reference created by @* @samp{maart@@cs.vu.nl} and others. It can be
3004found on the Vi archives. This reference has been adapted for Viper.@refill 3004found on the Vi archives. This reference has been adapted for Viper.@refill
3005 3005
3006@menu 3006@menu
3007* Groundwork:: Textual Conventions and Viper basics 3007* Groundwork:: Textual Conventions and Viper basics
3008* Text Handling:: Moving, Editing, Undoing. 3008* Text Handling:: Moving, Editing, Undoing.
3009* Display:: Scrolling. 3009* Display:: Scrolling.
3010* File and Buffer Handling:: Editing, Writing and Quitting. 3010* File and Buffer Handling:: Editing, Writing and Quitting.
3011* Mapping:: Mapping Keys, Keyboard Macros 3011* Mapping:: Mapping Keys, Keyboard Macros
3012* Shell Commands:: Accessing Shell Commands, Processing Text 3012* Shell Commands:: Accessing Shell Commands, Processing Text
3013* Options:: Ex options, the @kbd{:set} commands 3013* Options:: Ex options, the @kbd{:set} commands
3014* Emacs Related Commands:: Meta Keys, Windows 3014* Emacs Related Commands:: Meta Keys, Windows
3015* Mouse-bound Commands:: Search and insertion of text 3015* Mouse-bound Commands:: Search and insertion of text
3016@end menu 3016@end menu
3017 3017
@@ -3230,15 +3230,15 @@ inserts them automatically in front of the Ex command.
3230@section Text Handling 3230@section Text Handling
3231 3231
3232@menu 3232@menu
3233* Move Commands:: Moving, Searching 3233* Move Commands:: Moving, Searching
3234* Marking:: Textmarkers in Viper and the Emacs Mark. 3234* Marking:: Textmarkers in Viper and the Emacs Mark.
3235* Appending Text:: Text insertion, Shifting, Putting 3235* Appending Text:: Text insertion, Shifting, Putting
3236* Editing in Insert State:: Autoindent, Quoting etc. 3236* Editing in Insert State:: Autoindent, Quoting etc.
3237* Deleting Text:: Deleting 3237* Deleting Text:: Deleting
3238* Changing Text:: Changing, Replacement, Joining 3238* Changing Text:: Changing, Replacement, Joining
3239* Search and Replace:: Searches, Query Replace, Pattern Commands 3239* Search and Replace:: Searches, Query Replace, Pattern Commands
3240* Yanking:: Yanking, Viewing Registers 3240* Yanking:: Yanking, Viewing Registers
3241* Undoing:: Multiple Undo, Backups 3241* Undoing:: Multiple Undo, Backups
3242@end menu 3242@end menu
3243 3243
3244@node Move Commands,Marking,,Text Handling 3244@node Move Commands,Marking,,Text Handling
diff --git a/doc/misc/widget.texi b/doc/misc/widget.texi
index fc8f3b2ea58..2d95daf36d4 100644
--- a/doc/misc/widget.texi
+++ b/doc/misc/widget.texi
@@ -8,8 +8,8 @@
8@c %**end of header 8@c %**end of header
9 9
10@copying 10@copying
11Copyright @copyright{} 2000, 2001, 2002, 2003, 2004, 2005, 11Copyright @copyright{} 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007,
122006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. 122008, 2009, 2010 Free Software Foundation, Inc.
13 13
14@quotation 14@quotation
15Permission is granted to copy, distribute and/or modify this document 15Permission is granted to copy, distribute and/or modify this document
@@ -27,8 +27,8 @@ developing GNU and promoting software freedom.''
27 27
28@dircategory Emacs 28@dircategory Emacs
29@direntry 29@direntry
30* Widget: (widget). The "widget" package used by the Emacs Customization 30* Widget: (widget). The "widget" package used by the Emacs
31 facility. 31 Customization facility.
32@end direntry 32@end direntry
33 33
34@contents 34@contents
@@ -338,71 +338,71 @@ Interface}).
338 (remove-overlays) 338 (remove-overlays)
339 (widget-insert "Here is some documentation.\n\n") 339 (widget-insert "Here is some documentation.\n\n")
340 (widget-create 'editable-field 340 (widget-create 'editable-field
341 :size 13 341 :size 13
342 :format "Name: %v " ; Text after the field! 342 :format "Name: %v " ; Text after the field!
343 "My Name") 343 "My Name")
344 (widget-create 'menu-choice 344 (widget-create 'menu-choice
345 :tag "Choose" 345 :tag "Choose"
346 :value "This" 346 :value "This"
347 :help-echo "Choose me, please!" 347 :help-echo "Choose me, please!"
348 :notify (lambda (widget &rest ignore) 348 :notify (lambda (widget &rest ignore)
349 (message "%s is a good choice!" 349 (message "%s is a good choice!"
350 (widget-value widget))) 350 (widget-value widget)))
351 '(item :tag "This option" :value "This") 351 '(item :tag "This option" :value "This")
352 '(choice-item "That option") 352 '(choice-item "That option")
353 '(editable-field :menu-tag "No option" "Thus option")) 353 '(editable-field :menu-tag "No option" "Thus option"))
354 (widget-create 'editable-field 354 (widget-create 'editable-field
355 :format "Address: %v" 355 :format "Address: %v"
356 "Some Place\nIn some City\nSome country.") 356 "Some Place\nIn some City\nSome country.")
357 (widget-insert "\nSee also ") 357 (widget-insert "\nSee also ")
358 (widget-create 'link 358 (widget-create 'link
359 :notify (lambda (&rest ignore) 359 :notify (lambda (&rest ignore)
360 (widget-value-set widget-example-repeat 360 (widget-value-set widget-example-repeat
361 '("En" "To" "Tre")) 361 '("En" "To" "Tre"))
362 (widget-setup)) 362 (widget-setup))
363 "other work") 363 "other work")
364 (widget-insert 364 (widget-insert
365 " for more information.\n\nNumbers: count to three below\n") 365 " for more information.\n\nNumbers: count to three below\n")
366 (setq widget-example-repeat 366 (setq widget-example-repeat
367 (widget-create 'editable-list 367 (widget-create 'editable-list
368 :entry-format "%i %d %v" 368 :entry-format "%i %d %v"
369 :notify (lambda (widget &rest ignore) 369 :notify (lambda (widget &rest ignore)
370 (let ((old (widget-get widget 370 (let ((old (widget-get widget
371 ':example-length)) 371 ':example-length))
372 (new (length (widget-value widget)))) 372 (new (length (widget-value widget))))
373 (unless (eq old new) 373 (unless (eq old new)
374 (widget-put widget ':example-length new) 374 (widget-put widget ':example-length new)
375 (message "You can count to %d." new)))) 375 (message "You can count to %d." new))))
376 :value '("One" "Eh, two?" "Five!") 376 :value '("One" "Eh, two?" "Five!")
377 '(editable-field :value "three"))) 377 '(editable-field :value "three")))
378 (widget-insert "\n\nSelect multiple:\n\n") 378 (widget-insert "\n\nSelect multiple:\n\n")
379 (widget-create 'checkbox t) 379 (widget-create 'checkbox t)
380 (widget-insert " This\n") 380 (widget-insert " This\n")
381 (widget-create 'checkbox nil) 381 (widget-create 'checkbox nil)
382 (widget-insert " That\n") 382 (widget-insert " That\n")
383 (widget-create 'checkbox 383 (widget-create 'checkbox
384 :notify (lambda (&rest ignore) (message "Tickle")) 384 :notify (lambda (&rest ignore) (message "Tickle"))
385 t) 385 t)
386 (widget-insert " Thus\n\nSelect one:\n\n") 386 (widget-insert " Thus\n\nSelect one:\n\n")
387 (widget-create 'radio-button-choice 387 (widget-create 'radio-button-choice
388 :value "One" 388 :value "One"
389 :notify (lambda (widget &rest ignore) 389 :notify (lambda (widget &rest ignore)
390 (message "You selected %s" 390 (message "You selected %s"
391 (widget-value widget))) 391 (widget-value widget)))
392 '(item "One") '(item "Another One.") '(item "A Final One.")) 392 '(item "One") '(item "Another One.") '(item "A Final One."))
393 (widget-insert "\n") 393 (widget-insert "\n")
394 (widget-create 'push-button 394 (widget-create 'push-button
395 :notify (lambda (&rest ignore) 395 :notify (lambda (&rest ignore)
396 (if (= (length (widget-value widget-example-repeat)) 396 (if (= (length (widget-value widget-example-repeat))
397 3) 397 3)
398 (message "Congratulation!") 398 (message "Congratulation!")
399 (error "Three was the count!"))) 399 (error "Three was the count!")))
400 "Apply Form") 400 "Apply Form")
401 (widget-insert " ") 401 (widget-insert " ")
402 (widget-create 'push-button 402 (widget-create 'push-button
403 :notify (lambda (&rest ignore) 403 :notify (lambda (&rest ignore)
404 (widget-example)) 404 (widget-example))
405 "Reset Form") 405 "Reset Form")
406 (widget-insert "\n") 406 (widget-insert "\n")
407 (use-local-map widget-keymap) 407 (use-local-map widget-keymap)
408 (widget-setup)) 408 (widget-setup))
diff --git a/doc/misc/woman.texi b/doc/misc/woman.texi
index c2de5d88b58..ba772c4b4a1 100644
--- a/doc/misc/woman.texi
+++ b/doc/misc/woman.texi
@@ -4,7 +4,7 @@
4@settitle WoMan: Browse Unix Manual Pages ``W.O. (without) Man'' 4@settitle WoMan: Browse Unix Manual Pages ``W.O. (without) Man''
5@c FIXME 5@c FIXME
6@c Manual last updated: 6@c Manual last updated:
7@set UPDATED Time-stamp: <Sat 16-Jan-2010 19:18:43 gm on grasmoor> 7@set UPDATED Time-stamp: <Thu 24-Jun-2010 00:06:54 gm on grasmoor>
8@c Software version: 8@c Software version:
9@set VERSION 0.54 (beta) 9@set VERSION 0.54 (beta)
10@afourpaper 10@afourpaper
@@ -37,7 +37,7 @@ developing GNU and promoting software freedom.''
37 37
38@dircategory Emacs 38@dircategory Emacs
39@direntry 39@direntry
40* WoMan: (woman). Browse UN*X Manual Pages "W.O. (without) Man". 40* WoMan: (woman). Browse UN*X Manual Pages "W.O. (without) Man".
41@end direntry 41@end direntry
42 42
43@finalout 43@finalout