;ELC
;;; Compiled by LTX@Xue-LingTaos-MacBook-Pro.local on Wed Mar 16 23:17:36 2011
;;; from file /Users/LTX/Projects/Emacs/emacs/lisp/org/org-inlinetask.el
;;; in Emacs version 24.0.50.1
;;; with all optimizations.

;;; This file contains utf-8 non-ASCII characters,
;;; and so cannot be loaded into Emacs 22 or earlier.
(and (boundp 'emacs-version)
     (< (aref emacs-version (1- (length emacs-version))) ?A)
     (string-lessp emacs-version "23")
     (error "`org-inlinetask.el' was compiled for Emacs 23 or later"))

;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\302\303\304\305\306\307\310\311&\207" [require org custom-declare-group org-inlinetask nil "Options concerning inline tasks in Org mode." :tag "Org Inline Tasks" :group org-structure] 8)
#@330 Minimum level a headline must have before it is treated as an inline task.
It is strongly recommended that you set `org-cycle-max-level' not at all,
or to a number smaller than this one.  In fact, when `org-cycle-max-level' is
not set, it will be assumed to be one less than the value of smaller than
the value of this variable.
(custom-declare-variable 'org-inlinetask-min-level '15 '(#$ . 767) :group 'org-inlinetask :type '(choice (const :tag "Off" nil) (integer)))
#@73 Non-nil means export inline tasks.
When nil, they will not be exported.
(custom-declare-variable 'org-inlinetask-export 't '(#$ . 1242) :group 'org-inlinetask :type 'boolean)
#@1054 Templates for inline tasks in various exporters.

This variable is an alist in the shape of (BACKEND STRING OBJECTS).

BACKEND is the name of the backend for the template (ascii, html...).

STRING is a format control string.

OBJECTS is a list of elements to be substituted into the format
string.  They can be of any type, from a string to a form
returning a value (thus allowing conditional insertion).  A nil
object will be substituted as the empty string.  Obviously, there
must be at least as many objects as %-sequences in the format
string.

Moreover, the following special keywords are provided: `todo',
`priority', `heading', `content', `tags'.  If some of them are not
defined in an inline task, their value is the empty string.

As an example, valid associations are:

(html "<ul><li>%s <p>%s</p></li></ul>" (heading content))

or, with the additional package "todonotes" for LaTeX,

(latex "\todo[inline]{\textbf{\textsf{%s %s}}\linebreak{} %s}"
       '((unless (eq todo "")
	   (format "\textsc{%s%s}" todo priority))
	 heading content)))
(defvar org-inlinetask-export-templates '((html "<pre class=\"inlinetask\"><b>%s%s</b><br>%s</pre>" '((unless (eq todo #1="") (format "<span class=\"%s %s\">%s%s</span> " class todo todo priority)) heading content)) (latex "\\begin{description}\\item[%s%s]%s\\end{description}" '((unless (eq todo #1#) (format "\\textsc{%s%s} " todo priority)) heading content)) (ascii "     -- %s%s%s" '((unless (eq todo #1#) (format "%s%s " todo priority)) heading (unless (eq content #1#) (format "\n         Â¦ %s" (mapconcat 'identity (org-split-string content "\n") "\n         Â¦ "))))) (docbook "<variablelist>\n<varlistentry>\n<term>%s%s</term>\n<listitem><para>%s</para></listitem>\n</varlistentry>\n</variablelist>" '((unless (eq todo #1#) (format "%s%s " todo priority)) heading content))) (#$ . 1425))
#@180 Non-nil means make inline tasks have a TODO keyword initially.
This should be the state `org-inlinetask-insert-task' should use by
default, or nil of no state should be assigned.
(custom-declare-variable 'org-inlinetask-default-state 'nil '(#$ . 3283) :group 'org-inlinetask :type '(choice (const :tag "No state" nil) (string :tag "Specific state")))
#@94 Insert an inline task.
If prefix arg NO-STATE is set, ignore `org-inlinetask-default-state'.
(defalias 'org-inlinetask-insert-task #[(&optional no-state) "n\204\305 \210\n\203	\306_S\307	\310\"\204\f\204\"\311\202&\312\f\311Q\307	\310\"\313\261\210)\314\207" [org-inlinetask-min-level indent org-odd-levels-only no-state org-inlinetask-default-state newline 2 make-string 42 " \n" " " " END\n" -1] 5 (#$ . 3640) "P"])
(define-key org-mode-map "t" 'org-inlinetask-insert-task)
#@114 Return string matching an inline task heading.
The number of levels is controlled by `org-inlinetask-min-level'.
(defalias 'org-inlinetask-outline-regexp #[nil "\203	\303_S\202\f	\304\305\n\")\207" [org-odd-levels-only org-inlinetask-min-level nstars 2 format "^\\(\\*\\{%d,\\}\\)[ 	]+"] 3 (#$ . 4139)])
#@48 Return true if point is inside an inline task.
(defalias 'org-inlinetask-in-task-p #[nil "\212\303 \211\304P\305P\306 \210\307	!\206#\310\311\312\313#\205#\306 \210\307\n!,\207" [stars-re task-beg-re task-end-re org-inlinetask-outline-regexp "\\(?:.*\\)" "\\(?:END\\|end\\)[ 	]*$" beginning-of-line looking-at re-search-forward "^\\*+[ 	]+" nil t] 5 (#$ . 4454)])
#@50 Go to the beginning of the inline task at point.
(defalias 'org-inlinetask-goto-beginning #[nil "\300\210\301\302 \300\303#\210\304\302 \305P!\205\301\302 \300\303#\207" [nil re-search-backward org-inlinetask-outline-regexp t org-looking-at-p "END[ 	]*$"] 4 (#$ . 4830)])
#@44 Go to the end of the inline task at point.
(defalias 'org-inlinetask-goto-end #[nil "\300 \210\301\302 \303P!\203\304y\207\301\302 !\203(\304y\210\305 \2051\306\302 \307\310#\210\304y\207\306\302 \307\310#\210\304y\207" [beginning-of-line org-looking-at-p org-inlinetask-outline-regexp "END[ 	]*$" 1 org-inlinetask-in-task-p re-search-forward nil t] 4 (#$ . 5111)])
#@91 Get the level of the inline task around.
This assumes the point is inside an inline task.
(defalias 'org-inlinetask-get-task-level #[nil "\212\300\210\301\302 \300\303#\210\304\225\304\224Z)\207" [nil re-search-backward org-inlinetask-outline-regexp t 1] 4 (#$ . 5487)])
#@140 Handle headlines with level larger or equal to `org-inlinetask-min-level'.
Either remove headline and meta data, or do special formatting.
(defalias 'org-inlinetask-export-handler #[nil "eb\210\203	\206\f\306\307_S\202	\206\306\310\311\n\"\312\fP\313\211)*\313\211+,\313-\314\313\315#\205c\316\317!)\316\320!,\313-\321\322!\210\323
!\203X`\324 T|\210\202I\323.!\203u`*\314/\313\315#\203X*\317\225T|\210\202X`*\314\325\313\315#\203\244\316\320!G,GU\203\244\317\225b\210\323\326!\203\244*\327 S{-*\317\225T|\210*b\2100\2030-\203\326\330\331-\"\204\300\313-\202\326\330\332-\"\203\320-\317\211\224O-\333-!--\206\334\322-\3301)\"\2030\316\307)\"\206\360\322\2112\322=\203\374\322\202	23\235\203\334\202	\3354\316\336)\"\206\3225\316\337)\"\206\3226\316\340)\"\206*\322789\236\211:A@;\307:8\211<A@)=\341>\342\343\344\345\346>=\"\"!\313\347\315$\211?\350\261\210.\n\2020.\207" [org-odd-levels-only org-inlinetask-min-level nstars re1 org-keyword-time-regexp re2 200 2 format "^\\(\\*\\{%d,\\}\\) .*\n" "^[ 	]*" nil re-search-forward t match-string 0 1 replace-match #1="" looking-at point-at-eol "^\\(\\*+\\) " "END[ 	]*$" point-at-bol string-match "\\S-" "[ 	\n]+\\'" org-remove-indentation "done" "todo" 3 4 5 #[(el) "\301!\206\302\207" [el eval #1#] 2] org-add-props eval append (format format-str) mapcar org-protected "\n" headline beg end stars content org-drawer-regexp org-property-end-re org-inlinetask-export org-complex-heading-regexp todo org-done-keywords class priority heading tags backend org-inlinetask-export-templates backend-spec format-str x tokens nil-to-str export-str] 8 (#$ . 5766)])
#@64 Get the indentation of the last non-while line above this one.
(defalias 'org-inlinetask-get-current-indentation #[nil "\212\300\301!\210\302\303x\210\300\301!\210\304 \204\305\306!\210\307\225b\210i)\207" [beginning-of-line 1 " 	\n" nil org-at-item-p looking-at "[ 	]*" 0] 2 (#$ . 7473)])
#@27 Fontify the inline tasks.
(defalias 'org-inlinetask-fontify #[(limit) "\203	\206	\305\306_S\202	\206\305\307\310\311\n\312Z\"\313Q\314\f\315#\205B\316\317\224\317\225\320#\210\316\306\224\306\225\321#\210\316\312\224\312\225\322#\210\202*\207" [org-odd-levels-only org-inlinetask-min-level nstars re limit 200 2 "^\\(\\*\\)\\(\\*\\{" format "%d" 3 ",\\}\\)\\(\\*\\* .*\\)" re-search-forward t add-text-properties 1 (face org-warning font-lock-fontified t) (face org-hide font-lock-fontified t) (face shadow font-lock-fontified t)] 5 (#$ . 7771)])
#@34 Remove an END line when present.
(defalias 'org-inlinetask-remove-END-maybe #[nil "\301\302\303\"!\205\f\304\305!\207" [org-inlinetask-min-level looking-at format "\\([ 	]*\n\\)*\\*\\{%d,\\}[ 	]+END[ 	]*$" replace-match ""] 4 (#$ . 8338)])
(byte-code "\300\301\302\"\210\300\303\304\"\210\305\306!\207" [eval-after-load "org-exp" (add-hook 'org-export-preprocess-after-tree-selection-hook 'org-inlinetask-export-handler) "org" (add-hook 'org-font-lock-hook 'org-inlinetask-fontify) provide org-inlinetask] 3)
