emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] trunk r115395: Merge Org 8.2.4


From: Bastien Guerry
Subject: [Emacs-diffs] trunk r115395: Merge Org 8.2.4
Date: Fri, 06 Dec 2013 11:21:48 +0000
User-agent: Bazaar (2.6b2)

------------------------------------------------------------
revno: 115395
revision-id: address@hidden
parent: address@hidden
committer: Bastien Guerry <address@hidden>
branch nick: trunk
timestamp: Fri 2013-12-06 12:21:31 +0100
message:
  Merge Org 8.2.4
modified:
  doc/misc/ChangeLog             changelog-20091113204419-o5vbwnq5f7feedwu-6331
  doc/misc/org.texi              org.texi-20091113204419-o5vbwnq5f7feedwu-6313
  etc/refcards/orgcard.tex       
orgcard.tex-20091113204419-o5vbwnq5f7feedwu-5144
  lisp/org/ChangeLog             changelog-20091113204419-o5vbwnq5f7feedwu-8688
  lisp/org/ob-latex.el           oblatex.el-20100719092623-qqnigi7w9j01gc4a-15
  lisp/org/ob-plantuml.el        obplantuml.el-20101112040807-nvf3hahtemmthj3x-1
  lisp/org/ob-python.el          obpython.el-20100719092623-qqnigi7w9j01gc4a-22
  lisp/org/ob-ruby.el            obruby.el-20100719092623-qqnigi7w9j01gc4a-24
  lisp/org/org-agenda.el         
orgagenda.el-20091113204419-o5vbwnq5f7feedwu-8640
  lisp/org/org-archive.el        
orgarchive.el-20091113204419-o5vbwnq5f7feedwu-8641
  lisp/org/org-clock.el          
orgclock.el-20091113204419-o5vbwnq5f7feedwu-8644
  lisp/org/org-colview.el        
orgcolview.el-20091113204419-o5vbwnq5f7feedwu-8645
  lisp/org/org-compat.el         
orgcompat.el-20091113204419-o5vbwnq5f7feedwu-8646
  lisp/org/org-crypt.el          
orgcrypt.el-20091113204419-o5vbwnq5f7feedwu-11379
  lisp/org/org-docview.el        orgdocview.el-20100415100819-b2d7uwuhjdi0fprn-1
  lisp/org/org-element.el        orgelement.el-20120930151243-xvvehup84hlirok6-1
  lisp/org/org-id.el             orgid.el-20091113204419-o5vbwnq5f7feedwu-8689
  lisp/org/org-macs.el           orgmacs.el-20091113204419-o5vbwnq5f7feedwu-8652
  lisp/org/org-table.el          
orgtable.el-20091113204419-o5vbwnq5f7feedwu-8657
  lisp/org/org.el                org.el-20091113204419-o5vbwnq5f7feedwu-8617
  lisp/org/ox-ascii.el           oxascii.el-20131112130502-8825zrk0dp6b9sq5-7
  lisp/org/ox-html.el            oxhtml.el-20131112130502-8825zrk0dp6b9sq5-9
  lisp/org/ox-latex.el           oxlatex.el-20131112130502-8825zrk0dp6b9sq5-11
  lisp/org/ox-odt.el             oxodt.el-20131112130502-8825zrk0dp6b9sq5-14
  lisp/org/ox-publish.el         oxpublish.el-20131112130502-8825zrk0dp6b9sq5-16
  lisp/org/ox-texinfo.el         oxtexinfo.el-20131112130502-8825zrk0dp6b9sq5-17
  lisp/org/ox.el                 ox.el-20131112130502-8825zrk0dp6b9sq5-18
=== modified file 'doc/misc/ChangeLog'
--- a/doc/misc/ChangeLog        2013-12-05 15:34:30 +0000
+++ b/doc/misc/ChangeLog        2013-12-06 11:21:31 +0000
@@ -1,3 +1,12 @@
+2013-12-06  Nicolas Goaziou  <address@hidden>
+
+       * org.texi (Creating one-off styles): Use new export snippet
+       syntax.
+
+       * org.texi (Export settings): documentation describing how text
+       above the first heading is ignored when an :export: tag is in a
+       file.
+
 2013-12-05  Michael Albinus  <address@hidden>
 
        * dbus.texi (Type Conversion): Clarify unibyte-ness of strings.

=== modified file 'doc/misc/org.texi'
--- a/doc/misc/org.texi 2013-11-17 07:51:24 +0000
+++ b/doc/misc/org.texi 2013-12-06 11:21:31 +0000
@@ -2,7 +2,7 @@
 @c %**start of header
 @setfilename ../../info/org
 @settitle The Org Manual
address@hidden VERSION 8.2.3 (GNU Emacs 24.3)
address@hidden VERSION 8.2.4 (GNU Emacs 24.3)
 
 @c Use proper quote and backtick for code sections in PDF output
 @c Cf. Texinfo manual 14.2
@@ -10518,7 +10518,8 @@
 The tags that select a tree for export (@code{org-export-select-tags}).  The
 default value is @code{:export:}.  Within a subtree tagged with
 @code{:export:}, you can still exclude entries with @code{:noexport:} (see
-below).
+below).  When headlines are selectively exported with @code{:export:}
+anywhere in a file, text before the first headline is ignored.
 
 @item EXCLUDE_TAGS
 The tags that exclude a tree from export (@code{org-export-exclude-tags}).
@@ -12542,13 +12543,13 @@
 @enumerate
 @item Embedding ODT tags as part of regular text
 
-You can include simple OpenDocument tags by prefixing them with
address@hidden@@}.  For example, to highlight a region of text do the following:
+You can inline OpenDocument syntax by enclosing it within
address@hidden@@@@odt:...@@@@} markup.  For example, to highlight a region of 
text do
+the following:
 
 @example
-@@<text:span text:style-name="Highlight">This is a
-highlighted text@@</text:span>.  But this is a
-regular text.
+@@@@odt:<text:span text:style-name="Highlight">This is a highlighted
+text</text:span>@@@@.  But this is a regular text.
 @end example
 
 @strong{Hint:} To see the above example in action, edit your

=== modified file 'etc/refcards/orgcard.tex'
--- a/etc/refcards/orgcard.tex  2013-11-12 13:06:26 +0000
+++ b/etc/refcards/orgcard.tex  2013-12-06 11:21:31 +0000
@@ -1,5 +1,5 @@
 % Reference Card for Org Mode
-\def\orgversionnumber{8.2.3}
+\def\orgversionnumber{8.2.4}
 \def\versionyear{2013}          % latest update
 \input emacsver.tex
 

=== modified file 'lisp/org/ChangeLog'
--- a/lisp/org/ChangeLog        2013-11-17 07:51:24 +0000
+++ b/lisp/org/ChangeLog        2013-12-06 11:21:31 +0000
@@ -1,3 +1,187 @@
+2013-12-06  Achim Gratz  <address@hidden>
+
+       * org-crypt.el: Declare `epg-context´.
+       (org-encrypt-string): Correct indentation.
+
+       * org.el (org-version): Replace `_version´ by `version1´.
+
+2013-12-06  Alexander Vorobiev  <address@hidden>  (tiny change)
+
+       * org-compat.el (org-get-x-clipboard): Use w32-get-clipboard-data
+       to get the clipboard data under Windows.
+
+2013-12-06  Bastien Guerry  <address@hidden>
+
+       * ox.el (org-export-with-sub-superscripts):
+       * org.el (org-use-sub-superscripts): Fix version and enhance
+       docstring again.
+
+       * ox.el (org-export-with-sub-superscripts):
+       * org.el (org-use-sub-superscripts): Enhance docstrings.
+
+       * org-macs.el (org-autoload): Delete.
+
+       * org-docview.el ("docview"): Fix declarations and require
+       doc-view directly.
+
+       * org-id.el (org-id-copy)
+       (org-id-get-with-outline-path-completion)
+       (org-id-get-with-outline-drilling, org-id-new):
+
+       * org-colview.el:
+       (org-colview-initial-truncate-line-value)
+       (org-columns-open-link, org-string-to-number):
+       * org-clock.el:
+       (org-clock-put-overlay, org-count-quarter, org-clock-loaded):
+       * org-archive.el (org-get-local-archive-location):
+       * org-agenda.el (org-agenda-todo-custom-ignore-p):
+       Autoload.
+
+       * org.el (org-return-follows-link):
+       * ob-python.el (org-babel-python-command): Don't use :set.
+
+       * ox-odt.el (org-odt-content-template-file): Fix version.
+
+       * ox-texinfo.el (org-texinfo-filename): Fix default value.
+       (org-texinfo-format-headline-function): Use 'ignore as the
+       default value.
+       (org-texinfo-format-drawer-function): Use a function as the
+       default value.  Update docstring.
+       (org-texinfo-drawer): Always use
+       `org-texinfo-format-drawer-function' as it is now a function
+       by default.
+       (org-texinfo-headline): Compare
+       `org-texinfo-format-headline-function' against 'ignore.
+       (org-texinfo-inlinetask): Compare
+       `org-texinfo-format-inlinetask-function' against 'ignore.
+
+       * ox-odt.el (org-odt-format-drawer-function): Use a function as
+       the default value.  Update docstring.
+       (org-odt-format-headline-function)
+       (org-odt-format-inlinetask-function): Fix default value.
+       (org-odt-drawer): Always use `org-odt-format-drawer-function'
+       as it is now a function by default.
+       (org-odt-format-headline--wrap): Compare
+       `org-odt-format-headline-function' against 'ignore.
+
+       * ox-latex.el (org-latex-format-drawer-function): Use a function
+       as the default value.  Update docstring.
+       (org-latex-format-inlinetask-function): Fix default value.
+       (org-latex-drawer): Always use
+       `org-latex-format-drawer-function' as it is now a function by
+       default.
+       (org-latex-inlinetask): Compare
+       `org-latex-format-inlinetask-function' against 'ignore.
+
+       * ox-html.el (org-html-format-drawer-function): Use a function as
+       the default value.  Update docstring.
+       (org-html-format-headline-function)
+       (org-html-format-inlinetask-function): Fix default value.
+       (org-html--format-toc-headline)
+       (org-html-format-headline--wrap): Compare
+       `org-html-format-headline-function' against 'ignore.
+       (org-html-inlinetask): Compare
+       `org-html-format-inlinetask-function' against 'ignore.
+
+       * ox-ascii.el (org-ascii-format-drawer-function): Use a
+       function as the default value.  Update docstring.
+       (org-ascii-drawer): Always use
+       `org-ascii-format-drawer-function' as it is now a function by
+       default.
+       (org-ascii-format-inlinetask-default): New function.
+       (org-ascii-format-inlinetask-function): Use
+       `org-ascii-format-inlinetask-default' as the default.
+
+       * org.el (org-mouse-1-follows-link): Use :set to set the default
+       value.  Update custom type.
+       (org-log-note-headings): Fix order or list items in the custom
+       type.
+       (orgstruct-heading-prefix-regexp): Use an empty string as the
+       default value.  Use 'regexp as the custom type.
+       (orgstruct-make-binding): Tiny docstring enhancement.  Assume
+       `orgstruct-heading-prefix-regexp' is a string.
+
+       * org-agenda.el (org-agenda-search-view-max-outline-level): Set
+       default value to 0.  Update docstring.
+       (org-agenda-deadline-leaders): Fix custom type.
+       (org-search-view): Assume
+       `org-agenda-search-view-max-outline-level' is a number.
+
+       * ob-ruby.el (org-babel-ruby-nil-to): Fix custom type.
+
+       * ob-python.el (org-babel-python-mode): Use :set to set the
+       default value.
+       (org-babel-python-None-to): Fix custom type.
+
+       * ob-plantuml.el (org-plantuml-jar-path): Fix default value.
+       (org-babel-execute:plantuml): Assume `org-plantuml-jar-path' is a
+       string.
+
+       * ob-latex.el (org-babel-latex-htlatex): Fix default value.
+       (org-babel-latex-htlatex-packages): Fix custom type.
+       (org-babel-execute:latex): Assume `org-babel-latex-htlatex' is a
+       string.
+
+       * ox-odt.el (org-odt-display-outline-level): Fix version.
+
+       * ox-odt.el (org-odt-inline-formula-rules)
+       (org-odt-inline-image-rules, org-odt-use-date-fields): Add version
+       and package-version.
+
+       * ox-html.el (org-html-format-drawer-function)
+       (org-html-format-headline-function)
+       (org-html-format-inlinetask-function)
+       (org-html-creator-string): Add version and package-version.
+
+       * ox-html.el (org-html-text-markup-alist): Fix version.
+
+       * org-agenda.el (org-agenda-set-restriction-lock): Autoload.
+
+       * ob-abc.el (org-babel-expand-body:abc): Use dolist.
+       (org-babel-execute:abc): Fix regexp quoting.
+
+       * ob-calc.el (org--var-syms): Rename from `var-syms'.
+
+       * ob-lilypond.el (ly-compile-lilyfile): Remove redundant
+       let-binding.
+
+       * ob-table.el (sbe): Move debug declaration.
+
+       * org-clock.el (org--msg-extra): Rename from `msg-extra'.
+
+2013-12-06  Nicolas Goaziou  <address@hidden>
+
+       * org.el (org-ctrl-c-ctrl-c): When point is on an unsupported
+       object, look for something to do at a higher level instead of
+       bailing out.
+
+       * ox-html.el (org-html-format-latex): Add an argument.  Ensure
+       latex header is the same as specified in the original buffer when
+       exporting a LaTeX fragment or environment.
+       (org-html-latex-environment, org-html-latex-fragment): Apply
+       signature change.
+
+       * ox-publish.el (org-publish-cache-ctime-of-src): Return an error
+       when publishing a non-existent file.
+
+       * org-element.el (org-element-paragraph-separate): More accurate
+       regexp.
+
+       * org.el (org-entry-get): Widen buffer in order to retrieve
+       properties, as `org-entry-properties' and
+       `org-entry-get-with-inheritance' already do.
+
+       * ox-html.el (org-html--format-toc-headline): Add missing headline
+       number in TOC entries.
+
+       * org.el (org-entry-properties): Ignore narrowing when retrieving
+       current headline properties.
+
+2013-12-06  Thierry Volpiatto  <address@hidden>  (tiny change)
+
+       * org-crypt.el (org-encrypt-string, org-encrypt-entry)
+       (org-decrypt-entry): Fix warning.
+
 2013-11-17  Paul Eggert  <address@hidden>
 
        Spelling fixes.

=== modified file 'lisp/org/ob-latex.el'
--- a/lisp/org/ob-latex.el      2013-11-12 13:06:26 +0000
+++ b/lisp/org/ob-latex.el      2013-12-06 11:21:31 +0000
@@ -50,7 +50,7 @@
   '((:results . "latex") (:exports . "results"))
   "Default arguments to use when evaluating a LaTeX source block.")
 
-(defcustom org-babel-latex-htlatex nil
+(defcustom org-babel-latex-htlatex ""
   "The htlatex command to enable conversion of latex to SVG or HTML."
   :group 'org-babel
   :type 'string)
@@ -59,7 +59,7 @@
   '("[usenames]{color}" "{tikz}" "{color}" "{listings}" "{amsmath}")
   "Packages to use for htlatex export."
   :group 'org-babel
-  :type '(list string))
+  :type '(list (string)))
 
 (defun org-babel-expand-body:latex (body params)
   "Expand BODY according to PARAMS, return the expanded body."
@@ -141,7 +141,7 @@
                (delete-file transient-pdf-file))))))
         ((and (or (string-match "\\.svg$" out-file)
                   (string-match "\\.html$" out-file))
-              org-babel-latex-htlatex)
+              (not (string= "" org-babel-latex-htlatex)))
          (with-temp-file tex-file
            (insert (concat
                     "\\documentclass[preview]{standalone}

=== modified file 'lisp/org/ob-plantuml.el'
--- a/lisp/org/ob-plantuml.el   2013-11-12 13:06:26 +0000
+++ b/lisp/org/ob-plantuml.el   2013-12-06 11:21:31 +0000
@@ -40,7 +40,7 @@
   '((:results . "file") (:exports . "results"))
   "Default arguments for evaluating a plantuml source block.")
 
-(defcustom org-plantuml-jar-path nil
+(defcustom org-plantuml-jar-path ""
   "Path to the plantuml.jar file."
   :group 'org-babel
   :version "24.1"
@@ -55,7 +55,7 @@
         (cmdline (cdr (assoc :cmdline params)))
         (in-file (org-babel-temp-file "plantuml-"))
         (java (or (cdr (assoc :java params)) ""))
-        (cmd (if (not org-plantuml-jar-path)
+        (cmd (if (string= "" org-plantuml-jar-path)
                  (error "`org-plantuml-jar-path' is not set")
                (concat "java " java " -jar "
                        (shell-quote-argument

=== modified file 'lisp/org/ob-python.el'
--- a/lisp/org/ob-python.el     2013-11-17 07:51:24 +0000
+++ b/lisp/org/ob-python.el     2013-12-06 11:21:31 +0000
@@ -54,7 +54,7 @@
   :group 'org-babel
   :version "24.4"
   :package-version '(Org . "8.0")
-  :type 'function)
+  :type 'symbol)
 
 (defvar org-src-preserve-indentation)
 
@@ -70,7 +70,7 @@
   :group 'org-babel
   :version "24.4"
   :package-version '(Org . "8.0")
-  :type 'string)
+  :type 'symbol)
 
 (defun org-babel-execute:python (body params)
   "Execute a block of Python code with Babel.

=== modified file 'lisp/org/ob-ruby.el'
--- a/lisp/org/ob-ruby.el       2013-11-12 19:11:22 +0000
+++ b/lisp/org/ob-ruby.el       2013-12-06 11:21:31 +0000
@@ -62,9 +62,7 @@
   :group 'org-babel
   :version "24.4"
   :package-version '(Org . "8.0")
-  :type 'string)
-
-
+  :type 'symbol)
 
 (defun org-babel-execute:ruby (body params)
   "Execute a block of Ruby code with Babel.

=== modified file 'lisp/org/org-agenda.el'
--- a/lisp/org/org-agenda.el    2013-11-17 07:51:24 +0000
+++ b/lisp/org/org-agenda.el    2013-12-06 11:21:31 +0000
@@ -1419,13 +1419,14 @@
   :version "24.1"
   :type 'boolean)
 
-(defcustom org-agenda-search-view-max-outline-level nil
+(defcustom org-agenda-search-view-max-outline-level 0
   "Maximum outline level to display in search view.
 E.g. when this is set to 1, the search view will only
-show headlines of level 1."
+show headlines of level 1.  When set to 0, the default
+value, don't limit agenda view by outline level."
   :group 'org-agenda-search-view
   :version "24.4"
-  :package-version '(Org . "8.0")
+  :package-version '(Org . "8.3")
   :type 'integer)
 
 (defgroup org-agenda-time-grid nil
@@ -1746,10 +1747,9 @@
   :version "24.4"
   :package-version '(Org . "8.0")
   :type '(list
-         (string :tag "Deadline today   ")
-         (choice :tag "Deadline relative"
-                 (string :tag "Format string")
-                 (function))))
+         (string :tag "Deadline today          ")
+         (string :tag "Deadline in the future  ")
+         (string :tag "Deadline in the past    ")))
 
 (defcustom org-agenda-remove-times-when-in-prefix t
   "Non-nil means remove duplicate time specifications in agenda items.
@@ -4583,7 +4583,7 @@
                    (goto-char (max (point-min) (1- (point))))
                    (while (re-search-forward regexp nil t)
                      (org-back-to-heading t)
-                     (while (and org-agenda-search-view-max-outline-level
+                     (while (and (not (zerop 
org-agenda-search-view-max-outline-level))
                                  (> (org-reduced-level (org-outline-level))
                                     org-agenda-search-view-max-outline-level)
                                  (forward-line -1)
@@ -4593,7 +4593,7 @@
                            beg1 (point)
                            end (progn
                                  (outline-next-heading)
-                                 (while (and 
org-agenda-search-view-max-outline-level
+                                 (while (and (not (zerop 
org-agenda-search-view-max-outline-level))
                                              (> (org-reduced-level 
(org-outline-level))
                                                 
org-agenda-search-view-max-outline-level)
                                              (forward-line 1)
@@ -5451,6 +5451,7 @@
        (>= days n)
       (<= days n))))
 
+;;;###autoload
 (defun org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item
   (&optional end)
   "Do we have a reason to ignore this TODO entry because it has a time stamp?"

=== modified file 'lisp/org/org-archive.el'
--- a/lisp/org/org-archive.el   2013-11-12 13:06:26 +0000
+++ b/lisp/org/org-archive.el   2013-12-06 11:21:31 +0000
@@ -135,6 +135,7 @@
          (match-string 1))
         (t org-archive-location))))))
 
+;;;###autoload
 (defun org-add-archive-files (files)
   "Splice the archive files into the list of files.
 This implies visiting all these files and finding out what the

=== modified file 'lisp/org/org-clock.el'
--- a/lisp/org/org-clock.el     2013-11-17 07:51:24 +0000
+++ b/lisp/org/org-clock.el     2013-12-06 11:21:31 +0000
@@ -1871,6 +1871,7 @@
       (overlay-put ov 'end-glyph (make-glyph tx)))
     (push ov org-clock-overlays)))
 
+;;;###autoload
 (defun org-clock-remove-overlays (&optional beg end noremove)
   "Remove the occur highlights from the buffer.
 BEG and END are ignored.  If NOREMOVE is nil, remove this function
@@ -2143,6 +2144,7 @@
    ((= n 3) "3rd")
    ((= n 4) "4th")))
 
+;;;###autoload
 (defun org-clocktable-shift (dir n)
   "Try to shift the :block date of the clocktable at point.
 Point must be in the #+BEGIN: line of a clocktable, or this function
@@ -2752,6 +2754,7 @@
 (defvar org-clock-loaded nil
   "Was the clock file loaded?")
 
+;;;###autoload
 (defun org-clock-update-time-maybe ()
   "If this is a CLOCK line, update it and return t.
 Otherwise, return nil."

=== modified file 'lisp/org/org-colview.el'
--- a/lisp/org/org-colview.el   2013-11-12 19:11:22 +0000
+++ b/lisp/org/org-colview.el   2013-12-06 11:21:31 +0000
@@ -323,6 +323,7 @@
 (defvar org-colview-initial-truncate-line-value nil
   "Remember the value of `truncate-lines' across colview.")
 
+;;;###autoload
 (defun org-columns-remove-overlays ()
   "Remove all currently active column overlays."
   (interactive)
@@ -670,6 +671,7 @@
   (let ((value (get-char-property (point) 'org-columns-value)))
     (org-open-link-from-string value arg)))
 
+;;;###autoload
 (defun org-columns-get-format-and-top-level ()
   (let ((fmt (org-columns-get-format)))
     (org-columns-goto-top-level)
@@ -951,6 +953,8 @@
 
 (defvar org-inlinetask-min-level
   (if (featurep 'org-inlinetask) org-inlinetask-min-level 15))
+
+;;;###autoload
 (defun org-columns-compute (property)
   "Sum the values of property PROPERTY hierarchically, for the entire buffer."
   (interactive)
@@ -1054,6 +1058,7 @@
        (setq sum (+ (string-to-number (pop l)) (/ sum 60))))
       sum)))
 
+;;;###autoload
 (defun org-columns-number-to-string (n fmt &optional printf)
   "Convert a computed column number to a string value, according to FMT."
   (cond

=== modified file 'lisp/org/org-compat.el'
--- a/lisp/org/org-compat.el    2013-11-12 13:06:26 +0000
+++ b/lisp/org/org-compat.el    2013-12-06 11:21:31 +0000
@@ -190,10 +190,12 @@
     found))
 
 (defun org-get-x-clipboard (value)
-  "Get the value of the x clipboard, compatible with XEmacs, and GNU Emacs 21."
-  (if (eq window-system 'x)
-      (let ((x (org-get-x-clipboard-compat value)))
-       (if x (org-no-properties x)))))
+  "Get the value of the x or Windows clipboard, compatible with XEmacs, and 
GNU Emacs 21."
+  (cond ((eq window-system 'x)
+        (let ((x (org-get-x-clipboard-compat value)))
+          (if x (org-no-properties x))))
+       ((and (eq window-system 'w32) (fboundp 'w32-get-clipboard-data))
+        (w32-get-clipboard-data))))
 
 (defsubst org-decompose-region (beg end)
   "Decompose from BEG to END."

=== modified file 'lisp/org/org-crypt.el'
--- a/lisp/org/org-crypt.el     2013-11-12 13:06:26 +0000
+++ b/lisp/org/org-crypt.el     2013-12-06 11:21:31 +0000
@@ -73,6 +73,8 @@
                             compress-algorithm))
 (declare-function epg-encrypt-string "epg"
                  (context plain recipients &optional sign always-trust))
+(defvar epg-context)
+
 
 (defgroup org-crypt nil
   "Org Crypt."
@@ -161,8 +163,8 @@
   (if (and (string= crypt-key (get-text-property 0 'org-crypt-key str))
           (string= (sha1 str) (get-text-property 0 'org-crypt-checksum str)))
       (get-text-property 0 'org-crypt-text str)
-    (let ((epg-context (epg-make-context nil t t)))
-      (epg-encrypt-string epg-context str (epg-list-keys epg-context 
crypt-key)))))
+    (set (make-local-variable 'epg-context) (epg-make-context nil t t))
+    (epg-encrypt-string epg-context str (epg-list-keys epg-context 
crypt-key))))
 
 (defun org-encrypt-entry ()
   "Encrypt the content of the current headline."
@@ -170,11 +172,11 @@
   (require 'epg)
   (save-excursion
     (org-back-to-heading t)
+    (set (make-local-variable 'epg-context) (epg-make-context nil t t))
     (let ((start-heading (point)))
       (forward-line)
       (when (not (looking-at "-----BEGIN PGP MESSAGE-----"))
         (let ((folded (outline-invisible-p))
-              (epg-context (epg-make-context nil t t))
               (crypt-key (org-crypt-key-for-heading))
               (beg (point))
               end encrypted-text)
@@ -206,11 +208,11 @@
        (forward-line)
        (when (looking-at "-----BEGIN PGP MESSAGE-----")
          (org-crypt-check-auto-save)
+          (set (make-local-variable 'epg-context) (epg-make-context nil t t))
          (let* ((end (save-excursion
                        (search-forward "-----END PGP MESSAGE-----")
                        (forward-line)
                        (point)))
-                (epg-context (epg-make-context nil t t))
                 (encrypted-text (buffer-substring-no-properties (point) end))
                 (decrypted-text
                  (decode-coding-string

=== modified file 'lisp/org/org-docview.el'
--- a/lisp/org/org-docview.el   2013-11-12 13:06:26 +0000
+++ b/lisp/org/org-docview.el   2013-12-06 11:21:31 +0000
@@ -44,12 +44,10 @@
 
 
 (require 'org)
-
-(declare-function doc-view-goto-page "ext:doc-view" (page))
-(declare-function image-mode-window-get "ext:image-mode"
-                 (prop &optional winprops))
-
-(org-autoload "doc-view" '(doc-view-goto-page))
+(require 'doc-view)
+
+(declare-function doc-view-goto-page "doc-view" (page))
+(declare-function image-mode-window-get "image-mode" (prop &optional winprops))
 
 (org-add-link-type "docview" 'org-docview-open 'org-docview-export)
 (add-hook 'org-store-link-functions 'org-docview-store-link)

=== modified file 'lisp/org/org-element.el'
--- a/lisp/org/org-element.el   2013-11-12 13:06:26 +0000
+++ b/lisp/org/org-element.el   2013-12-06 11:21:31 +0000
@@ -143,10 +143,12 @@
           "$" "\\|"
          ;; Tables (any type).
          "\\(?:|\\|\\+-[-+]\\)" "\\|"
-          ;; Blocks (any type), Babel calls, drawers (any type),
-         ;; fixed-width areas and keywords.  Note: this is only an
-         ;; indication and need some thorough check.
-          "[#:]" "\\|"
+          ;; Blocks (any type), Babel calls and keywords.  Note: this
+         ;; is only an indication and need some thorough check.
+          "#\\(?:[+ ]\\|$\\)" "\\|"
+         ;; Drawers (any type) and fixed-width areas.  This is also
+         ;; only an indication.
+         ":" "\\|"
           ;; Horizontal rules.
           "-\\{5,\\}[ \t]*$" "\\|"
           ;; LaTeX environments.

=== modified file 'lisp/org/org-id.el'
--- a/lisp/org/org-id.el        2013-11-12 13:06:26 +0000
+++ b/lisp/org/org-id.el        2013-12-06 11:21:31 +0000
@@ -233,6 +233,7 @@
     (org-entry-put (point) "ID" nil))
   (org-id-get (point) 'create))
 
+;;;###autoload
 (defun org-id-copy ()
   "Copy the ID of the entry at point to the kill ring.
 Create an ID if necessary."
@@ -258,6 +259,7 @@
        (org-id-add-location id (buffer-file-name (buffer-base-buffer)))
        id)))))
 
+;;;###autoload
 (defun org-id-get-with-outline-path-completion (&optional targets)
   "Use `outline-path-completion' to retrieve the ID of an entry.
 TARGETS may be a setting for `org-refile-targets' to define
@@ -274,6 +276,7 @@
     (prog1 (org-id-get pom 'create)
       (move-marker pom nil))))
 
+;;;###autoload
 (defun org-id-get-with-outline-drilling (&optional targets)
   "Use an outline-cycling interface to retrieve the ID of an entry.
 This only finds entries in the current buffer, using `org-get-location'.
@@ -320,6 +323,7 @@
 
 ;; Creating new IDs
 
+;;;###autoload
 (defun org-id-new (&optional prefix)
   "Create a new globally unique ID.
 

=== modified file 'lisp/org/org-macs.el'
--- a/lisp/org/org-macs.el      2013-11-12 13:06:26 +0000
+++ b/lisp/org/org-macs.el      2013-12-06 11:21:31 +0000
@@ -283,14 +283,6 @@
        (<= (match-beginning n) pos)
        (>= (match-end n) pos)))
 
-(defun org-autoload (file functions)
-  "Establish autoload for all FUNCTIONS in FILE, if not bound already."
-  (let ((d (format "Documentation will be available after `%s.el' is loaded."
-                  file))
-       f)
-    (while (setq f (pop functions))
-      (or (fboundp f) (autoload f file d t)))))
-
 (defun org-match-line (re)
   "Looking-at at the beginning of the current line."
   (save-excursion

=== modified file 'lisp/org/org-table.el'
--- a/lisp/org/org-table.el     2013-11-17 07:51:24 +0000
+++ b/lisp/org/org-table.el     2013-12-06 11:21:31 +0000
@@ -915,6 +915,7 @@
     (setq org-table-may-need-update nil)
     ))
 
+;;;###autoload
 (defun org-table-begin (&optional table-type)
   "Find the beginning of the table and return its position.
 With argument TABLE-TYPE, go to the beginning of a table.el-type table."
@@ -928,6 +929,7 @@
       (beginning-of-line 2)
       (point))))
 
+;;;###autoload
 (defun org-table-end (&optional table-type)
   "Find the end of the table and return its position.
 With argument TABLE-TYPE, go to the end of a table.el-type table."
@@ -1199,6 +1201,7 @@
                (< (setq cnt (1+ cnt)) N)))
     (= cnt N)))
 
+;;;###autoload
 (defun org-table-blank-field ()
   "Blank the current table field or active region."
   (interactive)
@@ -4121,7 +4124,7 @@
         '(arg)
         (concat "In tables, run `" (symbol-name fun) "'.\n"
                 "Outside of tables, run the binding of `"
-                (mapconcat (lambda (x) (format "%s" x)) keys "' or `")
+                (mapconcat #'key-description keys "' or `")
                 "'.")
         '(interactive "p")
         (list 'if

=== modified file 'lisp/org/org.el'
--- a/lisp/org/org.el   2013-11-17 07:51:24 +0000
+++ b/lisp/org/org.el   2013-12-06 11:21:31 +0000
@@ -309,7 +309,7 @@
        (if here
            (insert version)
          (message version))
-      (if message (message _version))
+      (if message (message version1))
       version1)))
 
 (defconst org-version (org-version))
@@ -654,11 +654,17 @@
 
 (defcustom org-use-sub-superscripts t
   "Non-nil means interpret \"_\" and \"^\" for display.
-When this option is turned on, you can use TeX-like syntax for sub- and
-superscripts.  Several characters after \"_\" or \"^\" will be
-considered as a single item - so grouping with {} is normally not
-needed.  For example, the following things will be parsed as single
-sub- or superscripts.
+
+If you want to control how Org exports those characters, see
+`org-export-with-sub-superscripts'.  `org-use-sub-superscripts'
+used to be an alias for `org-export-with-sub-superscripts' in
+Org <8.0, it is not anymore.
+
+When this option is turned on, you can use TeX-like syntax for
+sub- and superscripts within the buffer.  Several characters after
+\"_\" or \"^\" will be considered as a single item - so grouping
+with {} is normally not needed.  For example, the following things
+will be parsed as single sub- or superscripts:
 
  10^24   or   10^tau     several digits will be considered 1 item.
  10^-12  or   10^-tau    a leading sign with digits or a word
@@ -666,13 +672,14 @@
                         terminated by almost any nonword/nondigit char.
  x_{i^2} or   x^(2-i)    braces or parenthesis do grouping.
 
-Still, ambiguity is possible - so when in doubt use {} to enclose
-the sub/superscript.  If you set this variable to the symbol
-`{}', the braces are *required* in order to trigger
-interpretations as sub/superscript.  This can be helpful in
-documents that need \"_\" frequently in plain text."
+Still, ambiguity is possible.  So when in doubt, use {} to enclose
+the sub/superscript.  If you set this variable to the symbol `{}',
+the braces are *required* in order to trigger interpretations as
+sub/superscript.  This can be helpful in documents that need \"_\"
+frequently in plain text."
   :group 'org-startup
-  :version "24.1"
+  :version "24.4"
+  :package-version '(Org . "8.0")
   :type '(choice
          (const :tag "Always interpret" t)
          (const :tag "Only with braces" {})
@@ -1731,7 +1738,12 @@
 A longer mouse click will still set point.  Does not work on XEmacs.
 Needs to be set before org.el is loaded."
   :group 'org-link-follow
-  :type 'boolean)
+  :version "24.4"
+  :package-version '(Org . "8.3")
+  :type '(choice
+         (const :tag "A double click follows the link" 'double)
+         (const :tag "Unconditionally follow the link with mouse-1" t)
+         (integer :tag "mouse-1 click does not follow the link if longer than 
N ms" 450)))
 
 (defcustom org-mark-ring-length 4
   "Number of different positions to be recorded in the ring.
@@ -2663,12 +2675,12 @@
                            "Heading when changing todo state (todo sequence 
only)"
                            state) string)
               (cons (const :tag "Heading when just taking a note" note) string)
-              (cons (const :tag "Heading when clocking out" clock-out) string)
+              (cons (const :tag "Heading when rescheduling" reschedule) string)
               (cons (const :tag "Heading when an item is no longer scheduled" 
delschedule) string)
-              (cons (const :tag "Heading when rescheduling" reschedule) string)
               (cons (const :tag "Heading when changing deadline"  redeadline) 
string)
               (cons (const :tag "Heading when deleting a deadline" 
deldeadline) string)
-              (cons (const :tag "Heading when refiling" refile) string)))
+              (cons (const :tag "Heading when refiling" refile) string)
+              (cons (const :tag "Heading when clocking out" clock-out) 
string)))
 
 (unless (assq 'note org-log-note-headings)
   (push '(note . "%t") org-log-note-headings))
@@ -4242,12 +4254,6 @@
   "Detect the first line outside a table when searching from within it.
 This works for both table types.")
 
-;; Autoload the functions in org-table.el that are needed by functions here.
-
-(eval-and-compile
-  (org-autoload "org-table"
-               '(org-table-begin org-table-blank-field org-table-end)))
-
 (defconst org-TBLFM-regexp "^[ \t]*#\\+TBLFM: "
   "Detect a #+TBLFM line.")
 
@@ -4328,12 +4334,6 @@
        (re-search-forward org-table-any-border-regexp nil 1))))
   (unless quietly (message "Mapping tables: done")))
 
-;; Declare and autoload functions from org-agenda.el
-
-(eval-and-compile
-  (org-autoload "org-agenda"
-               
'(org-agenda-check-for-timestamp-as-reason-to-ignore-todo-item)))
-
 (declare-function org-clock-save-markers-for-cut-and-paste "org-clock" (beg 
end))
 (declare-function org-clock-update-mode-line "org-clock" ())
 (declare-function org-resolve-clocks "org-clock"
@@ -4359,11 +4359,6 @@
 Return nil if no clock is running."
   (marker-buffer org-clock-marker))
 
-(eval-and-compile
-  (org-autoload "org-clock" '(org-clock-remove-overlays
-                             org-clock-update-time-maybe
-                             org-clocktable-shift)))
-
 (defun org-check-running-clock ()
   "Check if the current buffer contains the running clock.
 If yes, offer to stop it and to save the buffer with the changes."
@@ -4563,33 +4558,18 @@
 
 (defalias 'org-advertized-archive-subtree 'org-archive-subtree)
 
-(eval-and-compile
-  (org-autoload "org-archive"
-               '(org-add-archive-files)))
-
-;; Autoload Column View Code
+;; Declare Column View Code
 
 (declare-function org-columns-number-to-string "org-colview" (n fmt &optional 
printf))
 (declare-function org-columns-get-format-and-top-level "org-colview" ())
 (declare-function org-columns-compute "org-colview" (property))
 
-(org-autoload (if (featurep 'xemacs) "org-colview-xemacs" "org-colview")
-             '(org-columns-number-to-string
-               org-columns-get-format-and-top-level
-               org-columns-compute
-               org-columns-remove-overlays))
-
-;; Autoload ID code
+;; Declare ID code
 
 (declare-function org-id-store-link "org-id")
 (declare-function org-id-locations-load "org-id")
 (declare-function org-id-locations-save "org-id")
 (defvar org-id-track-globally)
-(org-autoload "org-id"
-             '(org-id-new
-               org-id-copy
-               org-id-get-with-outline-path-completion
-               org-id-get-with-outline-drilling))
 
 ;;; Variables for pre-computed regular expressions, all buffer local
 
@@ -8850,13 +8830,13 @@
 ;; command.  There might be problems if any of the keys is otherwise
 ;; used as a prefix key.
 
-(defcustom orgstruct-heading-prefix-regexp nil
+(defcustom orgstruct-heading-prefix-regexp ""
   "Regexp that matches the custom prefix of Org headlines in
 orgstruct(++)-mode."
   :group 'org
   :version "24.4"
-  :package-version '(Org . "8.0")
-  :type 'string)
+  :package-version '(Org . "8.3")
+  :type 'regexp)
 ;;;###autoload(put 'orgstruct-heading-prefix-regexp 'safe-local-variable 
'stringp)
 
 (defcustom orgstruct-setup-hook nil
@@ -9017,8 +8997,8 @@
   "Create a function for binding in the structure minor mode.
 FUN is the command to call inside a table.  KEY is the key that
 should be checked in for a command to execute outside of tables.
-Non-nil DISABLE-WHEN-HEADING-PREFIX means to disable the command
-if `orgstruct-heading-prefix-regexp' is non-nil."
+Non-nil `disable-when-heading-prefix' means to disable the command
+if `orgstruct-heading-prefix-regexp' is not empty."
   (let ((name (concat "orgstruct-hijacker-" (symbol-name fun))))
     (let ((nname name)
          (i 0))
@@ -9044,14 +9024,13 @@
                   (key-description key) "'."
                   (when disable-when-heading-prefix
                     (concat
-                     "\nIf `orgstruct-heading-prefix-regexp' is non-nil, this 
command will always fall\n"
+                     "\nIf `orgstruct-heading-prefix-regexp' is not empty, 
this command will always fall\n"
                      "back to the default binding due to limitations of Org's 
implementation of\n"
                      "`" (symbol-name fun) "'.")))
          (interactive "p")
          (let* ((disable
-                 ,(when disable-when-heading-prefix
-                    '(and orgstruct-heading-prefix-regexp
-                          (not (string= orgstruct-heading-prefix-regexp "")))))
+                 ,(and disable-when-heading-prefix
+                       '(not (string= orgstruct-heading-prefix-regexp ""))))
                 (fallback
                  (or disable
                      (not
@@ -15204,103 +15183,102 @@
 specific property we are interested in.  Specifying it can speed
 things up because then unnecessary parsing is avoided."
   (setq which (or which 'all))
-  (org-with-point-at pom
-    (let ((clockstr (substring org-clock-string 0 -1))
-         (excluded '("TODO" "TAGS" "ALLTAGS" "PRIORITY" "BLOCKED"))
-         (case-fold-search nil)
-         beg end range props sum-props key key1 value string clocksum 
clocksumt)
-      (save-excursion
-       (when (condition-case nil
-                 (and (derived-mode-p 'org-mode) (org-back-to-heading t))
-               (error nil))
-         (setq beg (point))
-         (setq sum-props (get-text-property (point) 'org-summaries))
-         (setq clocksum (get-text-property (point) :org-clock-minutes)
-               clocksumt (get-text-property (point) :org-clock-minutes-today))
-         (outline-next-heading)
-         (setq end (point))
-         (when (memq which '(all special))
-           ;; Get the special properties, like TODO and tags
-           (goto-char beg)
-           (when (and (or (not specific) (string= specific "TODO"))
-                      (looking-at org-todo-line-regexp) (match-end 2))
-             (push (cons "TODO" (org-match-string-no-properties 2)) props))
-           (when (and (or (not specific) (string= specific "PRIORITY"))
-                      (looking-at org-priority-regexp))
-             (push (cons "PRIORITY" (org-match-string-no-properties 2)) props))
-           (when (or (not specific) (string= specific "FILE"))
-             (push (cons "FILE" buffer-file-name) props))
-           (when (and (or (not specific) (string= specific "TAGS"))
-                      (setq value (org-get-tags-string))
-                      (string-match "\\S-" value))
-             (push (cons "TAGS" value) props))
-           (when (and (or (not specific) (string= specific "ALLTAGS"))
-                      (setq value (org-get-tags-at)))
-             (push (cons "ALLTAGS" (concat ":" (mapconcat 'identity value ":")
-                                           ":"))
-                   props))
-           (when (or (not specific) (string= specific "BLOCKED"))
-             (push (cons "BLOCKED" (if (org-entry-blocked-p) "t" "")) props))
-           (when (or (not specific)
-                     (member specific
-                             '("SCHEDULED" "DEADLINE" "CLOCK" "CLOSED"
-                               "TIMESTAMP" "TIMESTAMP_IA")))
-             (catch 'match
-               (while (re-search-forward org-maybe-keyword-time-regexp end t)
-                 (setq key (if (match-end 1)
-                               (substring (org-match-string-no-properties 1)
-                                          0 -1))
-                       string (if (equal key clockstr)
-                                  (org-trim
-                                   (buffer-substring-no-properties
-                                    (match-beginning 3) (goto-char
-                                                         (point-at-eol))))
-                                (substring (org-match-string-no-properties 3)
-                                           1 -1)))
-                 ;; Get the correct property name from the key.  This is
-                 ;; necessary if the user has configured time keywords.
-                 (setq key1 (concat key ":"))
-                 (cond
-                  ((not key)
-                   (setq key
-                         (if (= (char-after (match-beginning 3)) ?\[)
-                             "TIMESTAMP_IA" "TIMESTAMP")))
-                  ((equal key1 org-scheduled-string) (setq key "SCHEDULED"))
-                  ((equal key1 org-deadline-string)  (setq key "DEADLINE"))
-                  ((equal key1 org-closed-string)    (setq key "CLOSED"))
-                  ((equal key1 org-clock-string)     (setq key "CLOCK")))
-                 (if (and specific (equal key specific) (not (equal key 
"CLOCK")))
-                     (progn
-                       (push (cons key string) props)
-                       ;; no need to search further if match is found
-                       (throw 'match t))
-                   (when (or (equal key "CLOCK") (not (assoc key props)))
-                     (push (cons key string) props)))))))
+  (org-with-wide-buffer
+   (org-with-point-at pom
+     (let ((clockstr (substring org-clock-string 0 -1))
+          (excluded '("TODO" "TAGS" "ALLTAGS" "PRIORITY" "BLOCKED"))
+          (case-fold-search nil)
+          beg end range props sum-props key key1 value string clocksum 
clocksumt)
+       (when (and (derived-mode-p 'org-mode)
+                 (ignore-errors (org-back-to-heading t)))
+        (setq beg (point))
+        (setq sum-props (get-text-property (point) 'org-summaries))
+        (setq clocksum (get-text-property (point) :org-clock-minutes)
+              clocksumt (get-text-property (point) :org-clock-minutes-today))
+        (outline-next-heading)
+        (setq end (point))
+        (when (memq which '(all special))
+          ;; Get the special properties, like TODO and tags
+          (goto-char beg)
+          (when (and (or (not specific) (string= specific "TODO"))
+                     (looking-at org-todo-line-regexp) (match-end 2))
+            (push (cons "TODO" (org-match-string-no-properties 2)) props))
+          (when (and (or (not specific) (string= specific "PRIORITY"))
+                     (looking-at org-priority-regexp))
+            (push (cons "PRIORITY" (org-match-string-no-properties 2)) props))
+          (when (or (not specific) (string= specific "FILE"))
+            (push (cons "FILE" buffer-file-name) props))
+          (when (and (or (not specific) (string= specific "TAGS"))
+                     (setq value (org-get-tags-string))
+                     (string-match "\\S-" value))
+            (push (cons "TAGS" value) props))
+          (when (and (or (not specific) (string= specific "ALLTAGS"))
+                     (setq value (org-get-tags-at)))
+            (push (cons "ALLTAGS" (concat ":" (mapconcat 'identity value ":")
+                                          ":"))
+                  props))
+          (when (or (not specific) (string= specific "BLOCKED"))
+            (push (cons "BLOCKED" (if (org-entry-blocked-p) "t" "")) props))
+          (when (or (not specific)
+                    (member specific
+                            '("SCHEDULED" "DEADLINE" "CLOCK" "CLOSED"
+                              "TIMESTAMP" "TIMESTAMP_IA")))
+            (catch 'match
+              (while (re-search-forward org-maybe-keyword-time-regexp end t)
+                (setq key (if (match-end 1)
+                              (substring (org-match-string-no-properties 1)
+                                         0 -1))
+                      string (if (equal key clockstr)
+                                 (org-trim
+                                  (buffer-substring-no-properties
+                                   (match-beginning 3) (goto-char
+                                                        (point-at-eol))))
+                               (substring (org-match-string-no-properties 3)
+                                          1 -1)))
+                ;; Get the correct property name from the key.  This is
+                ;; necessary if the user has configured time keywords.
+                (setq key1 (concat key ":"))
+                (cond
+                 ((not key)
+                  (setq key
+                        (if (= (char-after (match-beginning 3)) ?\[)
+                            "TIMESTAMP_IA" "TIMESTAMP")))
+                 ((equal key1 org-scheduled-string) (setq key "SCHEDULED"))
+                 ((equal key1 org-deadline-string)  (setq key "DEADLINE"))
+                 ((equal key1 org-closed-string)    (setq key "CLOSED"))
+                 ((equal key1 org-clock-string)     (setq key "CLOCK")))
+                (if (and specific (equal key specific) (not (equal key 
"CLOCK")))
+                    (progn
+                      (push (cons key string) props)
+                      ;; no need to search further if match is found
+                      (throw 'match t))
+                  (when (or (equal key "CLOCK") (not (assoc key props)))
+                    (push (cons key string) props)))))))
 
-         (when (memq which '(all standard))
-           ;; Get the standard properties, like :PROP: ...
-           (setq range (org-get-property-block beg end))
-           (when range
-             (goto-char (car range))
-             (while (re-search-forward org-property-re
-                     (cdr range) t)
-               (setq key (org-match-string-no-properties 2)
-                     value (org-trim (or (org-match-string-no-properties 3) 
"")))
-               (unless (member key excluded)
-                 (push (cons key (or value "")) props)))))
-         (if clocksum
-             (push (cons "CLOCKSUM"
-                         (org-columns-number-to-string (/ (float clocksum) 60.)
-                                                       'add_times))
-                   props))
-         (if clocksumt
-             (push (cons "CLOCKSUM_T"
-                         (org-columns-number-to-string (/ (float clocksumt) 
60.)
-                                                       'add_times))
-                   props))
-         (unless (assoc "CATEGORY" props)
-           (push (cons "CATEGORY" (org-get-category)) props))
-         (append sum-props (nreverse props)))))))
+        (when (memq which '(all standard))
+          ;; Get the standard properties, like :PROP: ...
+          (setq range (org-get-property-block beg end))
+          (when range
+            (goto-char (car range))
+            (while (re-search-forward org-property-re
+                                      (cdr range) t)
+              (setq key (org-match-string-no-properties 2)
+                    value (org-trim (or (org-match-string-no-properties 3) 
"")))
+              (unless (member key excluded)
+                (push (cons key (or value "")) props)))))
+        (if clocksum
+            (push (cons "CLOCKSUM"
+                        (org-columns-number-to-string (/ (float clocksum) 60.)
+                                                      'add_times))
+                  props))
+        (if clocksumt
+            (push (cons "CLOCKSUM_T"
+                        (org-columns-number-to-string (/ (float clocksumt) 60.)
+                                                      'add_times))
+                  props))
+        (unless (assoc "CATEGORY" props)
+          (push (cons "CATEGORY" (org-get-category)) props))
+        (append sum-props (nreverse props)))))))
 
 (defun org-entry-get (pom property &optional inherit literal-nil)
   "Get value of PROPERTY for entry or content at point-or-marker POM.
@@ -15320,30 +15298,32 @@
                       t))
        (org-entry-get-with-inheritance property literal-nil)
       (if (member property org-special-properties)
-         ;; We need a special property.  Use `org-entry-properties' to
-         ;; retrieve it, but specify the wanted property
+         ;; We need a special property.  Use `org-entry-properties'
+         ;; to retrieve it, but specify the wanted property
          (cdr (assoc property (org-entry-properties nil 'special property)))
-       (let ((range (org-get-property-block)))
-         (when (and range (not (eq (car range) (cdr range))))
-           (let* ((props (list (or (assoc property org-file-properties)
-                                   (assoc property org-global-properties)
-                                   (assoc property 
org-global-properties-fixed))))
-                  (ap (lambda (key)
-                        (when (re-search-forward
-                               (org-re-property key) (cdr range) t)
-                          (setq props
-                                (org-update-property-plist
-                                 key
-                                 (if (match-end 3)
-                                     (org-match-string-no-properties 3) "")
-                                 props)))))
-                  val)
-             (goto-char (car range))
-             (funcall ap property)
-             (goto-char (car range))
-             (while (funcall ap (concat property "+")))
-             (setq val (cdr (assoc property props)))
-             (when val (if literal-nil val (org-not-nil val))))))))))
+       (org-with-wide-buffer
+        (let ((range (org-get-property-block)))
+          (when (and range (not (eq (car range) (cdr range))))
+            (let* ((props
+                    (list (or (assoc property org-file-properties)
+                              (assoc property org-global-properties)
+                              (assoc property org-global-properties-fixed))))
+                   (ap (lambda (key)
+                         (when (re-search-forward
+                                (org-re-property key) (cdr range) t)
+                           (setq props
+                                 (org-update-property-plist
+                                  key
+                                  (if (match-end 3)
+                                      (org-match-string-no-properties 3) "")
+                                  props)))))
+                   val)
+              (goto-char (car range))
+              (funcall ap property)
+              (goto-char (car range))
+              (while (funcall ap (concat property "+")))
+              (setq val (cdr (assoc property props)))
+              (when val (if literal-nil val (org-not-nil val)))))))))))
 
 (defun org-property-or-variable-value (var &optional inherit)
   "Check if there is a property fixing the value of VAR.
@@ -19525,9 +19505,6 @@
 (put 'org-self-insert-command 'pabbrev-expand-after-command t)
 (put 'orgtbl-self-insert-command 'pabbrev-expand-after-command t)
 
-;; How to do this: Measure non-white length of current string
-;; If equal to column width, we should realign.
-
 (defun org-remap (map &rest commands)
   "In MAP, remap the functions given in COMMANDS.
 COMMANDS is a list of alternating OLDDEF NEWDEF command names."
@@ -20237,10 +20214,17 @@
       (if (save-excursion (beginning-of-line) (looking-at "[ \t]*$"))
          (or (run-hook-with-args-until-success 'org-ctrl-c-ctrl-c-final-hook)
              (user-error "C-c C-c can do nothing useful at this location"))
-       ;; When at a link, act according to the parent instead.
-       (when (eq type 'link)
-         (setq context (org-element-property :parent context))
-         (setq type (org-element-type context)))
+       (case type
+         ;; When at a link, act according to the parent instead.
+         (link (setq context (org-element-property :parent context))
+               (setq type (org-element-type context)))
+         ;; Unsupported object types: check parent element instead.
+         ((bold code entity export-snippet inline-babel-call inline-src-block
+                italic latex-fragment line-break macro strike-through subscript
+                superscript underline verbatim)
+          (while (and (setq context (org-element-property :parent context))
+                      (not (memq (setq type (org-element-type context))
+                                 '(paragraph verse-block)))))))
        ;; For convenience: at the first line of a paragraph on the
        ;; same line as an item, apply function on that item instead.
        (when (eq type 'paragraph)

=== modified file 'lisp/org/ox-ascii.el'
--- a/lisp/org/ox-ascii.el      2013-11-17 07:51:24 +0000
+++ b/lisp/org/ox-ascii.el      2013-12-06 11:21:31 +0000
@@ -336,7 +336,8 @@
   :package-version '(Org . "8.0")
   :type 'string)
 
-(defcustom org-ascii-format-drawer-function nil
+(defcustom org-ascii-format-drawer-function
+  (lambda (name contents width) contents)
   "Function called to format a drawer in ASCII.
 
 The function must accept three parameters:
@@ -347,63 +348,32 @@
 The function should return either the string to be exported or
 nil to ignore the drawer.
 
-For example, the variable could be set to the following function
-in order to mimic default behaviour:
-
-\(defun org-ascii-format-drawer-default (name contents width)
-  \"Format a drawer element for ASCII export.\"
-  contents)"
+The default value simply returns the value of CONTENTS."
   :group 'org-export-ascii
   :version "24.4"
   :package-version '(Org . "8.0")
   :type 'function)
 
-(defcustom org-ascii-format-inlinetask-function nil
+(defcustom org-ascii-format-inlinetask-function
+  'org-ascii-format-inlinetask-default
   "Function called to format an inlinetask in ASCII.
 
-The function must accept six parameters:
-  TODO      the todo keyword, as a string
-  TODO-TYPE the todo type, a symbol among `todo', `done' and nil.
-  PRIORITY  the inlinetask priority, as a string
-  NAME      the inlinetask name, as a string.
-  TAGS      the inlinetask tags, as a list of strings.
-  CONTENTS  the contents of the inlinetask, as a string.
+The function must accept nine parameters:
+  TODO       the todo keyword, as a string
+  TODO-TYPE  the todo type, a symbol among `todo', `done' and nil.
+  PRIORITY   the inlinetask priority, as a string
+  NAME       the inlinetask name, as a string.
+  TAGS       the inlinetask tags, as a list of strings.
+  CONTENTS   the contents of the inlinetask, as a string.
+  WIDTH      the width of the inlinetask, as a number.
+  INLINETASK the inlinetask itself.
+  INFO       the info channel.
 
 The function should return either the string to be exported or
-nil to ignore the inline task.
-
-For example, the variable could be set to the following function
-in order to mimic default behaviour:
-
-\(defun org-ascii-format-inlinetask-default
-  \(todo type priority name tags contents\)
-  \"Format an inline task element for ASCII export.\"
-  \(let* \(\(utf8p \(eq \(plist-get info :ascii-charset\) 'utf-8\)\)
-           \(width org-ascii-inlinetask-width\)
-    \(org-ascii--indent-string
-     \(concat
-      ;; Top line, with an additional blank line if not in UTF-8.
-      \(make-string width \(if utf8p ?━ ?_\)\)  \"\\n\"
-      \(unless utf8p \(concat \(make-string width ? \) \"\\n\"\)\)
-      ;; Add title.  Fill it if wider than inlinetask.
-      \(let \(\(title \(org-ascii--build-title inlinetask info width\)\)\)
-       \(if \(<= \(length title\) width\) title
-         \(org-ascii--fill-string title width info\)\)\)
-      \"\\n\"
-      ;; If CONTENTS is not empty, insert it along with
-      ;; a separator.
-      \(when \(org-string-nw-p contents\)
-        \(concat \(make-string width \(if utf8p ?─ ?-\)\) \"\\n\" contents\)\)
-      ;; Bottom line.
-      \(make-string width \(if utf8p ?━ ?_\)\)\)
-     ;; Flush the inlinetask to the right.
-     \(- \(plist-get info :ascii-width\)
-        \(plist-get info :ascii-margin\)
-        \(plist-get info :ascii-inner-margin\)
-        \(org-ascii--current-text-width inlinetask info\)\)"
+nil to ignore the inline task."
   :group 'org-export-ascii
   :version "24.4"
-  :package-version '(Org . "8.0")
+  :package-version '(Org . "8.3")
   :type 'function)
 
 
@@ -1071,11 +1041,7 @@
 holding contextual information."
   (let ((name (org-element-property :drawer-name drawer))
        (width (org-ascii--current-text-width drawer info)))
-    (if (functionp org-ascii-format-drawer-function)
-       (funcall org-ascii-format-drawer-function name contents width)
-      ;; If there's no user defined function: simply
-      ;; display contents of the drawer.
-      contents)))
+    (funcall org-ascii-format-drawer-function name contents width)))
 
 
 ;;;; Dynamic Block
@@ -1228,55 +1194,58 @@
 
 ;;;; Inlinetask
 
+(defun org-ascii-format-inlinetask-default
+    (todo type priority name tags contents width inlinetask info)
+  "Format an inline task element for ASCII export.
+See `org-ascii-format-inlinetask-function' for a description
+of the paramaters."
+  (let* ((utf8p (eq (plist-get info :ascii-charset) 'utf-8))
+        (width (or width org-ascii-inlinetask-width)))
+    (org-ascii--indent-string
+     (concat
+      ;; Top line, with an additional blank line if not in UTF-8.
+      (make-string width (if utf8p ?━ ?_)) "\n"
+      (unless utf8p (concat (make-string width ? ) "\n"))
+      ;; Add title.  Fill it if wider than inlinetask.
+      (let ((title (org-ascii--build-title inlinetask info width)))
+       (if (<= (length title) width) title
+         (org-ascii--fill-string title width info)))
+      "\n"
+      ;; If CONTENTS is not empty, insert it along with
+      ;; a separator.
+      (when (org-string-nw-p contents)
+        (concat (make-string width (if utf8p ?─ ?-)) "\n" contents))
+      ;; Bottom line.
+      (make-string width (if utf8p ?━ ?_)))
+     ;; Flush the inlinetask to the right.
+     (- org-ascii-text-width org-ascii-global-margin
+       (if (not (org-export-get-parent-headline inlinetask)) 0
+         org-ascii-inner-margin)
+       (org-ascii--current-text-width inlinetask info)))))
+
 (defun org-ascii-inlinetask (inlinetask contents info)
   "Transcode an INLINETASK element from Org to ASCII.
 CONTENTS holds the contents of the block.  INFO is a plist
 holding contextual information."
   (let ((width (org-ascii--current-text-width inlinetask info)))
-    ;; If `org-ascii-format-inlinetask-function' is provided, call it
-    ;; with appropriate arguments.
-    (if (functionp org-ascii-format-inlinetask-function)
-       (funcall org-ascii-format-inlinetask-function
-                ;; todo.
-                (and (plist-get info :with-todo-keywords)
-                     (let ((todo (org-element-property
-                                  :todo-keyword inlinetask)))
-                       (and todo (org-export-data todo info))))
-                ;; todo-type
-                (org-element-property :todo-type inlinetask)
-                ;; priority
-                (and (plist-get info :with-priority)
-                     (org-element-property :priority inlinetask))
-                ;; title
-                (org-export-data (org-element-property :title inlinetask) info)
-                ;; tags
-                (and (plist-get info :with-tags)
-                     (org-element-property :tags inlinetask))
-                ;; contents and width
-                contents width)
-      ;; Otherwise, use a default template.
-      (let* ((utf8p (eq (plist-get info :ascii-charset) 'utf-8)))
-       (org-ascii--indent-string
-        (concat
-         ;; Top line, with an additional blank line if not in UTF-8.
-         (make-string width (if utf8p ?━ ?_))  "\n"
-         (unless utf8p (concat (make-string width ? ) "\n"))
-         ;; Add title.  Fill it if wider than inlinetask.
-         (let ((title (org-ascii--build-title inlinetask info width)))
-           (if (<= (length title) width) title
-             (org-ascii--fill-string title width info)))
-         "\n"
-         ;; If CONTENTS is not empty, insert it along with
-         ;; a separator.
-         (when (org-string-nw-p contents)
-           (concat (make-string width (if utf8p ?─ ?-)) "\n" contents))
-         ;; Bottom line.
-         (make-string width (if utf8p ?━ ?_)))
-        ;; Flush the inlinetask to the right.
-        (- org-ascii-text-width org-ascii-global-margin
-           (if (not (org-export-get-parent-headline inlinetask)) 0
-             org-ascii-inner-margin)
-           (org-ascii--current-text-width inlinetask info)))))))
+    (funcall org-ascii-format-inlinetask-function
+            ;; todo.
+            (and (plist-get info :with-todo-keywords)
+                 (let ((todo (org-element-property
+                              :todo-keyword inlinetask)))
+                   (and todo (org-export-data todo info))))
+            ;; todo-type
+            (org-element-property :todo-type inlinetask)
+            ;; priority
+            (and (plist-get info :with-priority)
+                 (org-element-property :priority inlinetask))
+            ;; title
+            (org-export-data (org-element-property :title inlinetask) info)
+            ;; tags
+            (and (plist-get info :with-tags)
+                 (org-element-property :tags inlinetask))
+            ;; contents and width
+            contents width inlinetask info)))
 
 
 ;;;; Italic

=== modified file 'lisp/org/ox-html.el'
--- a/lisp/org/ox-html.el       2013-11-17 07:51:24 +0000
+++ b/lisp/org/ox-html.el       2013-12-06 11:21:31 +0000
@@ -130,7 +130,9 @@
     (:infojs-opt "INFOJS_OPT" nil nil)
     ;; Redefine regular options.
     (:creator "CREATOR" nil org-html-creator-string)
-    (:with-latex nil "tex" org-html-with-latex)))
+    (:with-latex nil "tex" org-html-with-latex)
+    ;; Retrieve LaTeX header for fragments.
+    (:latex-header "LATEX_HEADER" nil nil newline)))
 
 
 ;;; Internal Variables
@@ -544,6 +546,8 @@
 If no association can be found for a given markup, text will be
 returned as-is."
   :group 'org-export-html
+  :version "24.4"
+  :package-version '(Org . "8.0")
   :type '(alist :key-type (symbol :tag "Markup type")
                :value-type (string :tag "Format string"))
   :options '(bold code italic strike-through underline verbatim))
@@ -565,7 +569,8 @@
 
 ;;;; Drawers
 
-(defcustom org-html-format-drawer-function nil
+(defcustom org-html-format-drawer-function
+  (lambda (name contents) contents)
   "Function called to format a drawer in HTML code.
 
 The function must accept two parameters:
@@ -577,10 +582,10 @@
 For example, the variable could be set to the following function
 in order to mimic default behaviour:
 
-\(defun org-html-format-drawer-default \(name contents\)
-  \"Format a drawer element for HTML export.\"
-  contents\)"
+The default value simply returns the value of CONTENTS."
   :group 'org-export-html
+  :version "24.4"
+  :package-version '(Org . "8.0")
   :type 'function)
 
 ;;;; Footnotes
@@ -622,7 +627,7 @@
   :group 'org-export-html
   :type 'integer)
 
-(defcustom org-html-format-headline-function nil
+(defcustom org-html-format-headline-function 'ignore
   "Function to format headline text.
 
 This function will be called with 5 arguments:
@@ -634,6 +639,8 @@
 
 The function result will be used in the section format string."
   :group 'org-export-html
+  :version "24.4"
+  :package-version '(Org . "8.0")
   :type 'function)
 
 ;;;; HTML-specific
@@ -649,7 +656,7 @@
 
 ;;;; Inlinetasks
 
-(defcustom org-html-format-inlinetask-function nil
+(defcustom org-html-format-inlinetask-function 'ignore
   "Function called to format an inlinetask in HTML code.
 
 The function must accept six parameters:
@@ -662,6 +669,8 @@
 
 The function should return the string to be exported."
   :group 'org-export-html
+  :version "24.4"
+  :package-version '(Org . "8.0")
   :type 'function)
 
 ;;;; LaTeX
@@ -1119,6 +1128,8 @@
   "Information about the creator of the HTML document.
 This option can also be set on with the CREATOR keyword."
   :group 'org-export-html
+  :version "24.4"
+  :package-version '(Org . "8.0")
   :type '(string :tag "Creator string"))
 
 ;;;; Template :: Preamble
@@ -1971,7 +1982,8 @@
 (defun org-html--format-toc-headline (headline info)
   "Return an appropriate table of contents entry for HEADLINE.
 INFO is a plist used as a communication channel."
-  (let* ((todo (and (plist-get info :with-todo-keywords)
+  (let* ((headline-number (org-export-get-headline-number headline info))
+        (todo (and (plist-get info :with-todo-keywords)
                    (let ((todo (org-element-property :todo-keyword headline)))
                      (and todo (org-export-data todo info)))))
         (todo-type (and todo (org-element-property :todo-type headline)))
@@ -1992,19 +2004,23 @@
         (tags (and (eq (plist-get info :with-tags) t)
                    (org-export-get-tags headline info))))
     (format "<a href=\"#%s\">%s</a>"
+           ;; Label.
            (org-export-solidify-link-text
             (or (org-element-property :CUSTOM_ID headline)
                 (concat "sec-"
-                        (mapconcat
-                         #'number-to-string
-                         (org-export-get-headline-number headline info)
-                         "-"))))
-           (apply (if (functionp org-html-format-headline-function)
-                      (lambda (todo todo-type priority text tags &rest ignore)
-                        (funcall org-html-format-headline-function
-                                 todo todo-type priority text tags))
-                    #'org-html-format-headline)
-                  todo todo-type priority text tags :section-number nil))))
+                        (mapconcat #'number-to-string headline-number "-"))))
+           ;; Body.
+           (concat
+            (and (not (org-export-low-level-p headline info))
+                 (org-export-numbered-headline-p headline info)
+                 (concat (mapconcat #'number-to-string headline-number ".")
+                         ". "))
+            (apply (if (not (eq org-html-format-headline-function 'ignore))
+                       (lambda (todo todo-type priority text tags &rest ignore)
+                         (funcall org-html-format-headline-function
+                                  todo todo-type priority text tags))
+                     #'org-html-format-headline)
+                   todo todo-type priority text tags :section-number nil)))))
 
 (defun org-html-list-of-listings (info)
   "Build a list of listings.
@@ -2244,7 +2260,7 @@
                                                       headline-number "-"))))
         (format-function
          (cond ((functionp format-function) format-function)
-               ((functionp org-html-format-headline-function)
+               ((not (eq org-html-format-headline-function 'ignore))
                 (lambda (todo todo-type priority text tags &rest ignore)
                   (funcall org-html-format-headline-function
                            todo todo-type priority text tags)))
@@ -2371,9 +2387,9 @@
 CONTENTS holds the contents of the block.  INFO is a plist
 holding contextual information."
   (cond
-   ;; If `org-html-format-inlinetask-function' is provided, call it
+   ;; If `org-html-format-inlinetask-function' is not 'ignore, call it
    ;; with appropriate arguments.
-   ((functionp org-html-format-inlinetask-function)
+   ((not (eq org-html-format-inlinetask-function 'ignore))
     (let ((format-function
           (function*
            (lambda (todo todo-type priority text tags
@@ -2474,18 +2490,34 @@
 
 ;;;; Latex Environment
 
-(defun org-html-format-latex (latex-frag processing-type)
-  "Format a LaTeX fragment LATEX-FRAG into HTML."
+(defun org-html-format-latex (latex-frag processing-type info)
+  "Format a LaTeX fragment LATEX-FRAG into HTML.
+PROCESSING-TYPE designates the tool used for conversion.  It is
+a symbol among `mathjax', `dvipng', `imagemagick', `verbatim' nil
+and t.  See `org-html-with-latex' for more information.  INFO is
+a plist containing export properties."
   (let ((cache-relpath "") (cache-dir ""))
     (unless (eq processing-type 'mathjax)
       (let ((bfn (or (buffer-file-name)
                     (make-temp-name
-                     (expand-file-name "latex" temporary-file-directory)))))
+                     (expand-file-name "latex" temporary-file-directory))))
+           (latex-header
+            (let ((header (plist-get info :latex-header)))
+              (and header
+                   (concat (mapconcat
+                            (lambda (line) (concat "#+LATEX_HEADER: " line))
+                            (org-split-string header "\n")
+                            "\n")
+                           "\n")))))
        (setq cache-relpath
              (concat "ltxpng/"
                      (file-name-sans-extension
                       (file-name-nondirectory bfn)))
-             cache-dir (file-name-directory bfn))))
+             cache-dir (file-name-directory bfn))
+       ;; Re-create LaTeX environment from original buffer in
+       ;; temporary buffer so that dvipng/imagemagick can properly
+       ;; turn the fragment into an image.
+       (setq latex-frag (concat latex-header latex-frag))))
     (with-temp-buffer
       (insert latex-frag)
       (org-format-latex cache-relpath cache-dir nil "Creating LaTeX Image..."
@@ -2501,9 +2533,10 @@
        (attributes (org-export-read-attribute :attr_html latex-environment)))
     (case processing-type
       ((t mathjax)
-       (org-html-format-latex latex-frag 'mathjax))
+       (org-html-format-latex latex-frag 'mathjax info))
       ((dvipng imagemagick)
-       (let ((formula-link (org-html-format-latex latex-frag processing-type)))
+       (let ((formula-link
+             (org-html-format-latex latex-frag processing-type info)))
         (when (and formula-link (string-match "file:\\([^]]*\\)" formula-link))
           ;; Do not provide a caption or a name to be consistent with
           ;; `mathjax' handling.
@@ -2521,9 +2554,10 @@
        (processing-type (plist-get info :with-latex)))
     (case processing-type
       ((t mathjax)
-       (org-html-format-latex latex-frag 'mathjax))
+       (org-html-format-latex latex-frag 'mathjax info))
       ((dvipng imagemagick)
-       (let ((formula-link (org-html-format-latex latex-frag processing-type)))
+       (let ((formula-link
+             (org-html-format-latex latex-frag processing-type info)))
         (when (and formula-link (string-match "file:\\([^]]*\\)" formula-link))
           (org-html--format-image (match-string 1 formula-link) nil info))))
       (t latex-frag))))

=== modified file 'lisp/org/ox-latex.el'
--- a/lisp/org/ox-latex.el      2013-11-17 07:51:24 +0000
+++ b/lisp/org/ox-latex.el      2013-12-06 11:21:31 +0000
@@ -556,7 +556,8 @@
 
 ;;;; Drawers
 
-(defcustom org-latex-format-drawer-function nil
+(defcustom org-latex-format-drawer-function
+  (lambda (name contents) contents)
   "Function called to format a drawer in LaTeX code.
 
 The function must accept two parameters:
@@ -565,19 +566,16 @@
 
 The function should return the string to be exported.
 
-For example, the variable could be set to the following function
-in order to mimic default behaviour:
-
-\(defun org-latex-format-drawer-default \(name contents\)
-  \"Format a drawer element for LaTeX export.\"
-  contents\)"
+The default function simply returns the value of CONTENTS."
   :group 'org-export-latex
+  :version "24.4"
+  :package-version '(Org . "8.3")
   :type 'function)
 
 
 ;;;; Inlinetasks
 
-(defcustom org-latex-format-inlinetask-function nil
+(defcustom org-latex-format-inlinetask-function 'ignore
   "Function called to format an inlinetask in LaTeX code.
 
 The function must accept six parameters:
@@ -1212,12 +1210,8 @@
 CONTENTS holds the contents of the block.  INFO is a plist
 holding contextual information."
   (let* ((name (org-element-property :drawer-name drawer))
-        (output (if (functionp org-latex-format-drawer-function)
-                    (funcall org-latex-format-drawer-function
-                             name contents)
-                  ;; If there's no user defined function: simply
-                  ;; display contents of the drawer.
-                  contents)))
+        (output (funcall org-latex-format-drawer-function
+                         name contents)))
     (org-latex--wrap-label drawer output)))
 
 
@@ -1502,7 +1496,7 @@
                       (org-element-property :priority inlinetask))))
     ;; If `org-latex-format-inlinetask-function' is provided, call it
     ;; with appropriate arguments.
-    (if (functionp org-latex-format-inlinetask-function)
+    (if (not (eq org-latex-format-inlinetask-function 'ignore))
        (funcall org-latex-format-inlinetask-function
                 todo todo-type priority title tags contents)
       ;; Otherwise, use a default template.

=== modified file 'lisp/org/ox-odt.el'
--- a/lisp/org/ox-odt.el        2013-11-17 07:51:24 +0000
+++ b/lisp/org/ox-odt.el        2013-12-06 11:21:31 +0000
@@ -449,7 +449,7 @@
   :type '(choice (const nil)
                 (file))
   :group 'org-export-odt
-  :version "24.1")
+  :version "24.3")
 
 (defcustom org-odt-styles-file nil
   "Default styles file for use with ODT export.
@@ -498,7 +498,8 @@
 (defcustom org-odt-display-outline-level 2
   "Outline levels considered for enumerating captioned entities."
   :group 'org-export-odt
-  :version "24.2"
+  :version "24.4"
+  :package-version '(Org . "8.0")
   :type 'integer)
 
 ;;;; Document conversion
@@ -645,7 +646,8 @@
 
 ;;;; Drawers
 
-(defcustom org-odt-format-drawer-function nil
+(defcustom org-odt-format-drawer-function
+  (lambda (name contents) contents)
   "Function called to format a drawer in ODT code.
 
 The function must accept two parameters:
@@ -654,21 +656,16 @@
 
 The function should return the string to be exported.
 
-For example, the variable could be set to the following function
-in order to mimic default behaviour:
-
-\(defun org-odt-format-drawer-default \(name contents\)
-  \"Format a drawer element for ODT export.\"
-  contents\)"
+The default value simply returns the value of CONTENTS."
   :group 'org-export-odt
   :version "24.4"
-  :package-version '(Org . "8.0")
+  :package-version '(Org . "8.3")
   :type 'function)
 
 
 ;;;; Headline
 
-(defcustom org-odt-format-headline-function nil
+(defcustom org-odt-format-headline-function 'ignore
   "Function to format headline text.
 
 This function will be called with 5 arguments:
@@ -687,7 +684,7 @@
 
 ;;;; Inlinetasks
 
-(defcustom org-odt-format-inlinetask-function nil
+(defcustom org-odt-format-inlinetask-function 'ignore
   "Function called to format an inlinetask in ODT code.
 
 The function must accept six parameters:
@@ -746,6 +743,8 @@
 to consider, and value is a regexp that will be matched against
 link's path."
   :group 'org-export-odt
+  :version "24.4"
+  :package-version '(Org . "8.0")
   :type '(alist :key-type (string :tag "Type")
                :value-type (regexp :tag "Path")))
 
@@ -757,6 +756,8 @@
 to consider, and value is a regexp that will be matched against
 link's path."
   :group 'org-export-odt
+  :version "24.4"
+  :package-version '(Org . "8.0")
   :type '(alist :key-type (string :tag "Type")
                :value-type (regexp :tag "Path")))
 
@@ -929,6 +930,8 @@
 
 See `org-odt--build-date-styles' for implementation details."
   :group 'org-export-odt
+  :version "24.4"
+  :package-version '(Org . "8.0")
   :type 'boolean)
 
 
@@ -1619,12 +1622,8 @@
 CONTENTS holds the contents of the block.  INFO is a plist
 holding contextual information."
   (let* ((name (org-element-property :drawer-name drawer))
-        (output (if (functionp org-odt-format-drawer-function)
-                    (funcall org-odt-format-drawer-function
-                             name contents)
-                  ;; If there's no user defined function: simply
-                  ;; display contents of the drawer.
-                  contents)))
+        (output (funcall org-odt-format-drawer-function
+                         name contents)))
     output))
 
 
@@ -1805,10 +1804,10 @@
                                                   headline-number "-")))
         (format-function (cond
                           ((functionp format-function) format-function)
-                          ((functionp org-odt-format-headline-function)
+                          ((not (eq org-odt-format-headline-function 'ignore))
                            (function*
                             (lambda (todo todo-type priority text tags
-                                     &allow-other-keys)
+                                          &allow-other-keys)
                               (funcall org-odt-format-headline-function
                                        todo todo-type priority text tags))))
                           (t 'org-odt-format-headline))))
@@ -1931,9 +1930,9 @@
 CONTENTS holds the contents of the block.  INFO is a plist
 holding contextual information."
   (cond
-   ;; If `org-odt-format-inlinetask-function' is provided, call it
+   ;; If `org-odt-format-inlinetask-function' is not 'ignore, call it
    ;; with appropriate arguments.
-   ((functionp org-odt-format-inlinetask-function)
+   ((not (eq org-odt-format-inlinetask-function 'ignore))
     (let ((format-function
           (function*
            (lambda (todo todo-type priority text tags

=== modified file 'lisp/org/ox-publish.el'
--- a/lisp/org/ox-publish.el    2013-11-12 13:06:26 +0000
+++ b/lisp/org/ox-publish.el    2013-12-06 11:21:31 +0000
@@ -1225,8 +1225,9 @@
   (let ((attr (file-attributes
               (expand-file-name (or (file-symlink-p file) file)
                                 (file-name-directory file)))))
-    (+ (lsh (car (nth 5 attr)) 16)
-       (cadr (nth 5 attr)))))
+    (if (not attr) (error "No such file: \"%s\"" file)
+      (+ (lsh (car (nth 5 attr)) 16)
+        (cadr (nth 5 attr))))))
 
 
 (provide 'ox-publish)

=== modified file 'lisp/org/ox-texinfo.el'
--- a/lisp/org/ox-texinfo.el    2013-11-17 07:51:24 +0000
+++ b/lisp/org/ox-texinfo.el    2013-12-06 11:21:31 +0000
@@ -143,7 +143,7 @@
 
 ;;; Preamble
 
-(defcustom org-texinfo-filename nil
+(defcustom org-texinfo-filename ""
   "Default filename for Texinfo output."
   :group 'org-export-texinfo
   :type '(string :tag "Export Filename"))
@@ -202,7 +202,7 @@
 
 ;;; Headline
 
-(defcustom org-texinfo-format-headline-function nil
+(defcustom org-texinfo-format-headline-function 'ignore
   "Function to format headline text.
 
 This function will be called with 5 arguments:
@@ -316,7 +316,8 @@
 
 ;;; Drawers
 
-(defcustom org-texinfo-format-drawer-function nil
+(defcustom org-texinfo-format-drawer-function
+  (lambda (name contents) contents)
   "Function called to format a drawer in Texinfo code.
 
 The function must accept two parameters:
@@ -325,18 +326,15 @@
 
 The function should return the string to be exported.
 
-For example, the variable could be set to the following function
-in order to mimic default behaviour:
-
-\(defun org-texinfo-format-drawer-default \(name contents\)
-  \"Format a drawer element for Texinfo export.\"
-  contents\)"
+The default function simply returns the value of CONTENTS."
   :group 'org-export-texinfo
+  :version "24.4"
+  :package-version '(Org . "8.3")
   :type 'function)
 
 ;;; Inlinetasks
 
-(defcustom org-texinfo-format-inlinetask-function nil
+(defcustom org-texinfo-format-inlinetask-function 'ignore
   "Function called to format an inlinetask in Texinfo code.
 
 The function must accept six parameters:
@@ -882,12 +880,8 @@
 CONTENTS holds the contents of the block.  INFO is a plist
 holding contextual information."
   (let* ((name (org-element-property :drawer-name drawer))
-        (output (if (functionp org-texinfo-format-drawer-function)
-                    (funcall org-texinfo-format-drawer-function
-                             name contents)
-                  ;; If there's no user defined function: simply
-                  ;; display contents of the drawer.
-                  contents)))
+        (output (funcall org-texinfo-format-drawer-function
+                         name contents)))
     output))
 
 ;;; Dynamic Block
@@ -1036,7 +1030,7 @@
         ;; Create the headline text along with a no-tag version.  The
         ;; latter is required to remove tags from table of contents.
         (full-text (org-texinfo--sanitize-content
-                    (if (functionp org-texinfo-format-headline-function)
+                    (if (not (eq org-texinfo-format-headline-function 'ignore))
                         ;; User-defined formatting function.
                         (funcall org-texinfo-format-headline-function
                                  todo todo-type priority text tags)
@@ -1051,7 +1045,7 @@
                                  (mapconcat 'identity tags ":")))))))
         (full-text-no-tag
          (org-texinfo--sanitize-content
-          (if (functionp org-texinfo-format-headline-function)
+          (if (not (eq org-texinfo-format-headline-function 'ignore))
               ;; User-defined formatting function.
               (funcall org-texinfo-format-headline-function
                        todo todo-type priority text nil)
@@ -1153,7 +1147,7 @@
                       (org-element-property :priority inlinetask))))
     ;; If `org-texinfo-format-inlinetask-function' is provided, call it
     ;; with appropriate arguments.
-    (if (functionp org-texinfo-format-inlinetask-function)
+    (if (not (eq org-texinfo-format-inlinetask-function 'ignore))
        (funcall org-texinfo-format-inlinetask-function
                 todo todo-type priority title tags contents)
       ;; Otherwise, use a default template.

=== modified file 'lisp/org/ox.el'
--- a/lisp/org/ox.el    2013-11-17 07:51:24 +0000
+++ b/lisp/org/ox.el    2013-12-06 11:21:31 +0000
@@ -626,11 +626,20 @@
 (defcustom org-export-with-sub-superscripts t
   "Non-nil means interpret \"_\" and \"^\" for export.
 
+If you want to control how Org displays those characters, see
+`org-use-sub-superscripts'.  `org-export-with-sub-superscripts'
+used to be an alias for `org-use-sub-superscripts' in Org <8.0,
+it is not anymore.
+
 When this option is turned on, you can use TeX-like syntax for
-sub- and superscripts.  Several characters after \"_\" or \"^\"
-will be considered as a single item - so grouping with {} is
-normally not needed.  For example, the following things will be
-parsed as single sub- or superscripts.
+sub- and superscripts and see them exported correctly.
+
+You can also set the option with #+OPTIONS: ^:t
+
+Several characters after \"_\" or \"^\" will be considered as a
+single item - so grouping with {} is normally not needed.  For
+example, the following things will be parsed as single sub- or
+superscripts:
 
  10^24   or   10^tau     several digits will be considered 1 item.
  10^-12  or   10^-tau    a leading sign with digits or a word
@@ -638,15 +647,14 @@
                         terminated by almost any nonword/nondigit char.
  x_{i^2} or   x^(2-i)    braces or parenthesis do grouping.
 
-Still, ambiguity is possible - so when in doubt use {} to enclose
-the sub/superscript.  If you set this variable to the symbol
-`{}', the braces are *required* in order to trigger
-interpretations as sub/superscript.  This can be helpful in
-documents that need \"_\" frequently in plain text.
-
-This option can also be set with the OPTIONS keyword,
-e.g. \"^:nil\"."
+Still, ambiguity is possible.  So when in doubt, use {} to enclose
+the sub/superscript.  If you set this variable to the symbol `{}',
+the braces are *required* in order to trigger interpretations as
+sub/superscript.  This can be helpful in documents that need \"_\"
+frequently in plain text."
   :group 'org-export-general
+  :version "24.4"
+  :package-version '(Org . "8.0")
   :type '(choice
          (const :tag "Interpret them" t)
          (const :tag "Curly brackets only" {})


reply via email to

[Prev in Thread] Current Thread [Next in Thread]