Commit 929aeac6 authored by Glenn Morris's avatar Glenn Morris

Merge from emacs-24; up to 2012-12-23T02:41:17Z!

parents e7a1c32d b6e99fe4
2013-02-28 Bastien Guerry <>
* xresources.texi (GTK resources): Fix broken link.
2013-02-25 Eli Zaretskii <>
* files.texi (Interlocking): Don't refer to symlinks as the
......@@ -507,7 +507,7 @@ those are governed by normal X resources (@pxref{Resources}).
The following sections describe how to customize GTK+ resources for
Emacs. For details about GTK+ resources, see the GTK+ API document at
In GTK+ version 3, GTK+ resources have been replaced by a completely
different system. The appearance of GTK+ widgets is now determined by
2013-02-28 Bastien Guerry <>
* variables.texi (File Local Variables): Fix reference.
2013-02-24 Eli Zaretskii <>
* files.texi (Magic File Names): Improve wording and indexing.
......@@ -1556,7 +1556,7 @@ an ordinary evaluated argument.
A file can specify local variable values; Emacs uses these to create
buffer-local bindings for those variables in the buffer visiting that
file. @xref{File variables, , Local Variables in Files, emacs, The
file. @xref{File Variables, , Local Variables in Files, emacs, The
GNU Emacs Manual}, for basic information about file-local variables.
This section describes the functions and variables that affect how
file-local variables are processed.
2013-02-28 Bastien Guerry <>
* org.texi (Visibility cycling): Suggest to set
`org-agenda-inhibit-startup' to nil if user wants the startup
visibility settings to be honored in any circumstances.
(Progress logging, Checkboxes): Fix typos.
2013-02-28 Michael Albinus <>
* tramp.texi (top) [xxx, yyy, trampfn]: Provide two versions of
the macros, for Texinfo 4.13 and 5.0.
2013-02-24 Michael Albinus <>
Port Tramp documentation to Texinfo 5.0.
......@@ -2,7 +2,7 @@
@c %**start of header
@setfilename ../../info/org
@settitle The Org Manual
@set VERSION 7.9.3e (GNU Emacs 24.3)
@set VERSION 7.9.3f (GNU Emacs 24.3)
@c Use proper quote and backtick for code sections in PDF output
@c Cf. Texinfo manual 14.2
......@@ -1296,6 +1296,7 @@ Copy the @i{visible} text in the region into the kill ring.
@end table
@vindex org-startup-folded
@vindex org-agenda-inhibit-startup
@cindex @code{overview}, STARTUP keyword
@cindex @code{content}, STARTUP keyword
@cindex @code{showall}, STARTUP keyword
......@@ -1314,6 +1315,10 @@ buffer:
#+STARTUP: showeverything
@end example
The startup visibility options are ignored when the file is open for the
first time during the agenda generation: if you want the agenda to honor
the startup visibility, set @code{org-agenda-inhibit-startup} to nil.
@cindex property, VISIBILITY
Furthermore, any entries with a @samp{VISIBILITY} property (@pxref{Properties
......@@ -2439,7 +2444,7 @@ You may reference a rectangular range of fields by specifying two field
references connected by two dots @samp{..}. If both fields are in the
current row, you may simply use @samp{$2..$7}, but if at least one field
is in a different row, you need to use the general @code{@@row$column}
format at least for the first field (i.e., the reference must start with
format at least for the first field (i.e the reference must start with
@samp{@@} in order to be interpreted correctly). Examples:
......@@ -4075,7 +4080,7 @@ module @file{org-depend.el}.
Org mode can automatically record a timestamp and possibly a note when
you mark a TODO item as DONE, or even each time you change the state of
a TODO item. This system is highly configurable, settings can be on a
a TODO item. This system is highly configurable; settings can be on a
per-keyword basis and can be localized to a file or even a subtree. For
information on how to clock working time for a task, see @ref{Clocking
work time}.
......@@ -4431,7 +4436,7 @@ lists. But you can allow it by modifying @code{org-list-automatic-rules}
accordingly.} (@pxref{Plain lists}) can be made into a checkbox by starting
it with the string @samp{[ ]}. This feature is similar to TODO items
(@pxref{TODO Items}), but is more lightweight. Checkboxes are not included
into the global TODO list, so they are often great to split a task into a
in the global TODO list, so they are often great to split a task into a
number of simple steps. Or you can use them in a shopping list. To toggle a
checkbox, use @kbd{C-c C-c}, or use the mouse (thanks to Piotr Zielinski's
......@@ -20,6 +20,11 @@
@c xxx and yyy are auxiliary macros in order to omit leading and
@c trailing whitespace. Not very elegant, but I don't know it better.
@c There are subtle differences between texinfo 4.13 and 5.0. We must
@c declare two versions of the macro. This will be improved, hopefully.
@c Texinfo 5.0.
@ifset txicommandconditionals
@macro xxx {one}
@set \one\
@end macro
......@@ -38,6 +43,26 @@
@end macro
@end ifset
@c Texinfo 4.13.
@ifclear txicommandconditionals
@macro xxx {one}@c
@set \one\@c
@end macro
@macro yyy {one, two}@c
@ifclear x@c
@end ifclear
@clear x\one\@c
@end macro
@macro trampfn {method, user, host, localname}@c
@end macro
@end ifclear
Copyright @copyright{} 1999--2013 Free Software Foundation, Inc.
......@@ -3892,3 +3917,4 @@ for @value{emacsothername}.
@c * Use `filename' resp. `file name' consistently.
@c * Use `host' resp. `machine' consistently.
@c * Consistent small or capitalized words especially in menus.
@c * Make a unique declaration of @trampfn.
......@@ -829,6 +829,63 @@ See the variable `calendar-month-header'.
*** The calendars produced by cal-html include holidays.
Customize `cal-html-holidays' to change this.
*** The major modes from the parser generators "Bovine" and "Wisent"
are now properly integrated in Emacs. The file suffixes ".by" and ".wy"
are in `auto-mode-alist', and the corresponding manuals are included.
*** EDE
**** Menu support for the "Configuration" feature. This allows users to
choose the active configuration (such as debug or install) from the menu.
**** New command `ede-set' to interactively set project-local variables.
**** Support for compiling, debugging, and running in "generic" projects.
**** Autoconf editing support for M4 macros with complex arguments.
**** Compilation support for the "linux" project type.
**** "simple" projects have been removed; use "generic" projects instead.
*** Semantic
**** Support for parsing #include statements inside a namespace in C/C++.
**** Improved support for 'extern "C"' declarations in C/C++.
**** The ability to ignore more common special C/C++ preprocessor symbols,
such as '__nonnull' and '__asm'. Add '__cplusplus' macro when parsing C++.
If available, include cdefs.h as an additional source of preprocessor symbols.
**** Improved C/C++ function pointer parsing.
**** In Python, support for converting imports to include file names.
**** Ability to dynamically determine the Python load path.
**** Support for the Python 'WITH' and 'AT' keywords.
**** Improved tooltip completion.
*** SRecode
**** The SRecode manual is now included.
**** Tag generation supports constructor/destructor settings and system
include differentiation.
**** Addition of 'Framework' support: Frameworks are specified when a
particular kind of library (such as Android) is needed in a common language
mode (like Java).
**** Support for nested templates and let variables override based on priority.
**** Support for merging tables from multiple related modes, such as
default -> c++ -> arduino.
** Compile has a new option `compilation-always-kill'.
** Customize
......@@ -1168,6 +1225,25 @@ accessed via the new `timer--psecs' accessor.
*** Last-modified time stamps in undo lists now are of the form
*** Improved security when handling persistent objects:
**** `eieio-persistent-read' now features optional arguments for specifying
the class to load, as well as a flag stating whether subclasses are allowed;
if provided, other classes will be rejected by the reader. For
compatibility with existing code, if the class is omitted only a
warning is issued.
**** New specialized reader for pulling in classes and signaling errors
without evaluation of suspicious code.
**** All slots that contain objects must have a :type. Slots with lists
of objects must use a new type predicate for a list of an object type.
*** Support for `find-function' and similar utilities, through the addition
of filename support to generated symbols.
** Floating point functions now always return special values like NaN,
instead of signaling errors, if given invalid args; e.g., (log -1.0).
Previously, they returned NaNs on some platforms but signaled errors
2013-02-28 Glenn Morris <>
* textmodes/paragraphs.el (mark-paragraph): Doc fix.
2013-02-28 Stefan Monnier <>
* doc-view.el: Preserve h&v scroll across C-c C-c C-c C-c.
2013-02-28 Achim Gratz <Stromeko@Stromeko.DE>
* org.el (org-org-menu): Use correct key "C-u C-c C-x !" to do
org-reload uncompiled in the menu.
2013-02-28 Bastien Guerry <>
* org-indent.el (org-indent-add-properties): Bugfix: prevent
negative value for `added-ind-per-lvl'.
* org.el (org-mode): Add `org-fix-ellipsis-at-bol' to
`isearch-mode-end-hook' so that any isearch fixes the problem with
ellipsis on the first line.
(org-fix-ellipsis-at-bol): New defsubst.
(org-show-context, org-isearch-end): Use it.
* org.el (org-show-context): Remove useless catch.
Make sure the top of the window is a visible headline.
(org-activate-plain-links): Remove unused catch.
* org-macs.el (org-get-alist-option): Return nil, not (nil),
so that `org-show-context' DTRT.
* org.el (org-imenu-get-tree): Fix bug when matching against empty
* org.el (org-overview): Stay on current line.
(org-map-entries): Fix docstring.
(org-at-clock-log-p): Delete.
* org-clock.el (org-at-clock-log-p): Move here.
* org.el (org-tsr-regexp-both): Don't activate dates in links.
(org-activate-dates): Change match boundaries according to the new
value of `org-tsr-regexp-both'.
* org-agenda.el (org-agenda-to-appt): Fix typos.
* org-agenda.el (org-agenda-local-vars): Don't include
`org-agenda-show-window' as it needs to be checked outside of the
agenda window.
* org.el (org-set-tags-command): Fix bug when setting tags for
multiple headlines in an active region.
* org-mobile.el (org-mobile-edit): DTRT when inserting a heading
in an invisible region.
* org.el (org-insert-heading-respect-content): Add docstring.
New `invisible-ok' parameter.
(org-insert-todo-heading-respect-content): Add docstring.
* ob-tangle.el (org-babel-tangle-collect-blocks):
Bugfix: remove code references from blocks.
* org-agenda.el (org-agenda-schedule, org-agenda-deadline):
Cosmetic changes.
(org-agenda-show-new-time): Fix bug when displaying a temporary
overlay with the scheduled/deadline information.
* org.el (org-fill-paragraph-with-timestamp-nobreak-p): New function.
(org-setup-filling): Use it to prevent breaking a timestamp when
filling a paragraph.
* org-id.el (org-id-get-with-outline-path-completion): Fix docstring.
2013-02-28 Tim Burt <> (tiny change)
* org-datetree.el (org-datetree-find-year-create):
Match headlines with tags.
2013-02-07 Bastien Guerry <>
* org-agenda.el (org-agenda-get-deadlines)
......@@ -371,6 +371,10 @@ code blocks by language."
(unless (and language (not (string= language src-lang)))
(let* ((info (org-babel-get-src-block-info))
(params (nth 2 info))
(extra (nth 3 info))
(cref-fmt (or (and (string-match "-l \"\\(.+\\)\"" extra)
(match-string 1 extra))
(link ((lambda (link)
(and (string-match org-bracket-link-regexp link)
(match-string 1 link)))
......@@ -388,6 +392,11 @@ code blocks by language."
((lambda (body) ;; run the tangle-body-hook
(insert body)
(when (string-match "-r" extra)
(goto-char (point-min))
(while (re-search-forward
(replace-regexp-in-string "%s" ".+" cref-fmt) nil t)
(replace-match "")))
(run-hooks 'org-babel-tangle-body-hook)
((lambda (body) ;; expand the body in language specific manner
......@@ -1934,11 +1934,6 @@ When nil, `q' will kill the single agenda buffer."
(message "Sticky agenda was %s"
(if org-agenda-sticky "enabled" "disabled"))))))
(autoload 'org-toggle-sticky-agenda "org-agenda" "\
Toggle `org-agenda-sticky'.
\(fn &optional ARG)" t nil)
(defvar org-agenda-buffer nil
"Agenda buffer currently being generated.")
......@@ -1971,7 +1966,6 @@ Toggle `org-agenda-sticky'.
"Variables that must be local in agenda buffers to allow multiple buffers.")
......@@ -2615,43 +2609,6 @@ Pressing `<' twice means to restrict to the current subtree or region
((equal org-keys "!") (customize-variable 'org-stuck-projects))
(t (error "Invalid agenda key"))))))
(autoload 'org-agenda "org-agenda" "\
Dispatch agenda commands to collect entries to the agenda buffer.
Prompts for a command to execute. Any prefix arg will be passed
on to the selected command. The default selections are:
a Call `org-agenda-list' to display the agenda for current day or week.
t Call `org-todo-list' to display the global todo list.
T Call `org-todo-list' to display the global todo list, select only
entries with a specific TODO keyword (the user gets a prompt).
m Call `org-tags-view' to display headlines with tags matching
a condition (the user is prompted for the condition).
M Like `m', but select only TODO entries, no ordinary headlines.
L Create a timeline for the current buffer.
e Export views to associated files.
s Search entries for keywords.
S Search entries for keywords, only with TODO keywords.
/ Multi occur across all agenda files and also files listed
in `org-agenda-text-search-extra-files'.
< Restrict agenda commands to buffer, subtree, or region.
Press several times to get the desired effect.
> Remove a previous restriction.
# List \"stuck\" projects.
! Configure what \"stuck\" means.
C Configure custom agenda commands.
More commands can be added by configuring the variable
`org-agenda-custom-commands'. In particular, specific tags and TODO keyword
searches can be pre-defined in this way.
If the current buffer is in Org-mode and visiting a file, you can also
first press `<' once to indicate that the agenda should be temporarily
\(until the next use of \\[org-agenda]) restricted to the current file.
Pressing `<' twice means to restrict to the current subtree or region
\(if active).
\(fn &optional ARG ORG-KEYS RESTRICTION)" t nil)
(defun org-agenda-append-agenda ()
"Append another agenda view to the current one.
This function allows interactive building of block agendas.
......@@ -2947,17 +2904,6 @@ before running the agenda command."
(set-buffer org-agenda-buffer-name)
(princ (buffer-string)))
(autoload 'org-batch-agenda "org-agenda" "\
Run an agenda command in batch mode and send the result to STDOUT.
If CMD-KEY is a string of length 1, it is used as a key in
`org-agenda-custom-commands' and triggers this command. If it is a
longer string it is used as a tags/todo match string.
Parameters are alternating variable names and values that will be bound
before running the agenda command.
\(fn CMD-KEY &rest PARAMETERS)" nil t)
(def-edebug-spec org-batch-agenda (form &rest sexp))
(defvar org-agenda-info nil)
......@@ -3015,44 +2961,6 @@ agenda-day The day in the agenda where this is listed"
(princ "\n")))))
(autoload 'org-batch-agenda-csv "org-agenda" "\
Run an agenda command in batch mode and send the result to STDOUT.
If CMD-KEY is a string of length 1, it is used as a key in
`org-agenda-custom-commands' and triggers this command. If it is a
longer string it is used as a tags/todo match string.
Parameters are alternating variable names and values that will be bound
before running the agenda command.
The output gives a line for each selected agenda item. Each
item is a list of comma-separated values, like this:
category The category of the item
head The headline, without TODO kwd, TAGS and PRIORITY
type The type of the agenda entry, can be
todo selected in TODO match
tagsmatch selected in tags match
diary imported from diary
deadline a deadline on given date
scheduled scheduled on given date
timestamp entry has timestamp on given date
closed entry was closed on given date
upcoming-deadline warning about deadline
past-scheduled forwarded scheduled item
block entry has date block including g. date
todo The todo keyword, if any
tags All tags including inherited ones, separated by colons
date The relevant date, like 2007-2-14
time The time, like 15:00-16:50
extra Sting with extra planning info
priority-l The priority letter if any was given
priority-n The computed numerical priority
agenda-day The day in the agenda where this is listed
\(fn CMD-KEY &rest PARAMETERS)" nil t)
(def-edebug-spec org-batch-agenda-csv (form &rest sexp))
(defun org-fix-agenda-info (props)
"Make sure all properties on an agenda item have a canonical form.
This ensures the export commands can easily use it."
......@@ -3100,11 +3008,6 @@ This ensures the export commands can easily use it."
(eval (list 'org-batch-store-agenda-views)))
(autoload 'org-store-agenda-views "org-agenda" "\
\(fn &rest PARAMETERS)" t nil)
(defmacro org-batch-store-agenda-views (&rest parameters)
"Run all custom agenda commands that have a file argument."
......@@ -3140,12 +3043,6 @@ This ensures the export commands can easily use it."
(and (get-buffer bufname)
(kill-buffer bufname)))))))
(autoload 'org-batch-store-agenda-views "org-agenda" "\
Run all custom agenda commands that have a file argument.
\(fn &rest PARAMETERS)" nil t)
(def-edebug-spec org-batch-store-agenda-views (&rest sexp))
(defvar org-agenda-current-span nil
"The current span used in the agenda view.") ; local variable in the agenda buffer
(defun org-agenda-mark-header-line (pos)
......@@ -4204,20 +4101,6 @@ given in `org-agenda-start-on-weekday'."
(setq buffer-read-only t)
(message ""))))
(autoload 'org-agenda-list "org-agenda" "\
Produce a daily/weekly view from all files in variable `org-agenda-files'.
The view will be for the current day or week, but from the overview buffer
you will be able to go to other days/weeks.
With a numeric prefix argument in an interactive call, the agenda will
span ARG days. Lisp programs should instead specify SPAN to change
the number of days. SPAN defaults to `org-agenda-span'.
START-DAY defaults to TODAY, or to the most recent match for the weekday
given in `org-agenda-start-on-weekday'.
\(fn &optional ARG START-DAY SPAN)" t nil)
(defun org-agenda-ndays-to-span (n)
"Return a span symbol for a span of N days, or N if none matches."
(cond ((symbolp n) n)
......@@ -4527,52 +4410,6 @@ in `org-agenda-text-search-extra-files'."
(setq buffer-read-only t))))
(autoload 'org-search-view "org-agenda" "\
Show all entries that contain a phrase or words or regular expressions.
With optional prefix argument TODO-ONLY, only consider entries that are
TODO entries. The argument STRING can be used to pass a default search
string into this function. If EDIT-AT is non-nil, it means that the
user should get a chance to edit this string, with cursor at position
The search string can be viewed either as a phrase that should be found as
is, or it can be broken into a number of snippets, each of which must match
in a Boolean way to select an entry. The default depends on the variable
Even if this is turned off (the default) you can always switch to
Boolean search dynamically by preceding the first word with \"+\" or \"-\".
The default is a direct search of the whole phrase, where each space in
the search string can expand to an arbitrary amount of whitespace,
including newlines.
If using a Boolean search, the search string is split on whitespace and
each snippet is searched separately, with logical AND to select an entry.
Words prefixed with a minus must *not* occur in the entry. Words without
a prefix or prefixed with a plus must occur in the entry. Matching is
case-insensitive. Words are enclosed by word delimiters (i.e. they must
match whole words, not parts of a word) if
`org-agenda-search-view-force-full-words' is set (default is nil).
Boolean search snippets enclosed by curly braces are interpreted as
regular expressions that must or (when preceded with \"-\") must not
match in the entry. Snippets enclosed into double quotes will be taken
as a whole, to include whitespace.
- If the search string starts with an asterisk, search only in headlines.
- If (possibly after the leading star) the search string starts with an
exclamation mark, this also means to look at TODO entries only, an effect
that can also be achieved with a prefix argument.
- If (possibly after star and exclamation mark) the search string starts
with a colon, this will mean that the (non-regexp) snippets of the
Boolean search must match as full words.
This command searches the agenda files, and in addition the files listed
in `org-agenda-text-search-extra-files'.
\(fn &optional TODO-ONLY STRING EDIT-AT)" t nil)
;;; Agenda TODO list
(defvar org-select-this-todo-keyword nil)
......@@ -4663,15 +4500,6 @@ for a keyword. A numeric prefix directly selects the Nth keyword in
(setq buffer-read-only t))))
(autoload 'org-todo-list "org-agenda" "\
Show all (not done) TODO entries from all agenda file in a single list.
The prefix arg can be used to select a specific TODO keyword and limit
the list to these. When using \\[universal-argument], you will be prompted
for a keyword. A numeric prefix directly selects the Nth keyword in
\(fn &optional ARG)" t nil)
;;; Agenda tags match
......@@ -4757,12 +4585,6 @@ The prefix arg TODO-ONLY limits the search to TODO entries."
(setq buffer-read-only t))))
(autoload 'org-tags-view "org-agenda" "\
Show all headlines for all `org-agenda-files' matching a TAGS criterion.
The prefix arg TODO-ONLY limits the search to TODO entries.
\(fn &optional TODO-ONLY MATCH)" t nil)
;;; Agenda Finding stuck projects
(defvar org-agenda-skip-regexp nil
......@@ -4991,14 +4813,6 @@ of what a project is and how to check if it stuck, customize the variable
(setq org-agenda-redo-command
`(org-agenda-list-stuck-projects ,current-prefix-arg)))))
(autoload 'org-agenda-list-stuck-projects "org-agenda" "\
Create agenda view for projects that are stuck.
Stuck projects are project that have no next actions. For the definitions
of what a project is and how to check if it stuck, customize the variable
\(fn &rest IGNORE)" t nil)
;;; Diary integration
(defvar org-disable-agenda-to-diary nil) ;Dynamically-scoped param.
......@@ -5177,35 +4991,6 @@ function from a program - use `org-agenda-get-day-entries' instead."
(if results
(concat (org-agenda-finalize-entries results) "\n"))))
(autoload 'org-diary "org-agenda" "\
Return diary information from org files.
This function can be used in a \"sexp\" diary entry in the Emacs calendar.
It accesses org files and extracts information from those files to be
listed in the diary. The function accepts arguments specifying what
items should be listed. For a list of arguments allowed here, see the
variable `org-agenda-entry-types'.
The call in the diary file should look like this:
&%%(org-diary) ~/path/to/some/
Use a separate line for each org file to check. Or, if you omit the file name,
all files listed in `org-agenda-files' will be checked automatically:
If you don't give any arguments (as in the example above), the default
arguments (:deadline :scheduled :timestamp :sexp) are used.
So the example above may also be written as
&%%(org-diary :deadline :timestamp :sexp :scheduled)
The function expects the lisp variables `entry' and `date' to be provided
by the caller, because this is how the calendar works. Don't use this
function from a program - use `org-agenda-get-day-entries' instead.
\(fn &rest ARGS)" nil nil)
;;; Agenda entry finders
(defun org-agenda-get-day-entries (file date &rest args)
......@@ -5401,11 +5186,6 @@ This function is invoked if `org-agenda-todo-ignore-deadlines',
(match-string 1) org-agenda-todo-ignore-timestamp))
(autoload 'org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item "org-agenda" "\
Do we have a reason to ignore this TODO entry because it has a time stamp?
\(fn &optional END)" nil nil)
(defun org-agenda-get-timestamps (&optional deadline-results)
"Return the date stamp information for agenda display."
(let* ((props (list 'face 'org-agenda-calendar-event
......@@ -8686,9 +8466,8 @@ Called with a universal prefix arg, show the priority instead of setting it."
(defun org-agenda-show-new-time (marker stamp &optional prefix)
"Show new date stamp via text properties."
;; We use text properties to make this undoable
(let ((inhibit-read-only t)
(setq stamp (concat " " prefix " => " stamp))
(let ((inhibit-read-only t))
(setq stamp (concat prefix " => " stamp " "))