Manually revert to the Release 7.8.04 tag.

This commit is contained in:
Bastien Guerry 2012-03-17 15:52:24 +01:00
parent b058173c6c
commit 73bb18ba37
128 changed files with 6570 additions and 3943 deletions

File diff suppressed because it is too large Load Diff

View File

@ -170,7 +170,9 @@ LISPF = org.el \
ob-shen.el \
ob-fortran.el \
ob-picolisp.el \
ob-maxima.el
ob-maxima.el \
ob-io.el \
ob-scala.el
LISPFILES0 = $(LISPF:%=lisp/%)
LISPFILES = $(LISPFILES0) lisp/org-install.el

View File

@ -1,7 +1,7 @@
The is a distribution of Org, a plain text notes and project planning
tool for Emacs.
The version of this release is: 7.8.03
The version of this release is: 7.8.04
The homepage of Org is at http://orgmode.org

View File

@ -1,10 +1,11 @@
;;; ob-fomus.el --- org-babel functions for fomus evaluation
;; Copyright (C) 2011, 2012 Torsten Anders
;; Copyright (C) 2011-2012 Torsten Anders
;; Author: Torsten Anders
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; Version:
;;; License:

View File

@ -1,10 +1,11 @@
;;; ob-oz.el --- org-babel functions for Oz evaluation
;; Copyright (C) 2009, 2012 Torsten Anders and Eric Schulte
;; Copyright (C) 2009-2012 Torsten Anders and Eric Schulte
;; Author: Torsten Anders and Eric Schulte
;; Author: Torsten Anders and Eric Schulte
;; Keywords: literate programming, reproducible research
;; Homepage: http://orgmode.org
;; Version: 0.02
;;; License:
@ -25,7 +26,7 @@
;;; Commentary:
;; Org-Babel support for evaluating Oz source code.
;; Org-Babel support for evaluating Oz source code.
;;
;; Oz code is always send to the Oz Programming Environment (OPI), the
;; Emacs mode and compiler interface for Oz programs. Therefore, only
@ -70,7 +71,7 @@
;; arrive then in any order) I could use IDs
;; (e.g. integers). However, how do I do concurrency in Emacs Lisp,
;; and how can I define org-babel-execute:oz concurrently.
;;
;;
;; - Expressions are rarely used in Oz at the top-level, and using
;; them in documentation and Literate Programs will cause
;; confusion. Idea: hide expression from reader and instead show
@ -93,10 +94,10 @@
;;
;; Interface to communicate with Oz.
;; (1) For statements without any results: oz-send-string
;; (1) For statements without any results: oz-send-string
;; (2) For expressions with a single result: oz-send-string-expression
;; (defined in org-babel-oz-ResultsValue.el)
;;
;;
;; oz-send-string-expression implements an additional very direct
;; communication between Org-babel and the Oz compiler. Communication
@ -127,7 +128,7 @@
"Path to the contrib/scripts directory in which
StartOzServer.oz is located.")
(defvar org-babel-oz-port 6001
(defvar org-babel-oz-port 6001
"Port for communicating with Oz compiler.")
(defvar org-babel-oz-OPI-socket nil
"Socket for communicating with OPI.")
@ -143,18 +144,18 @@ StartOzServer.oz is located.")
(defun org-babel-oz-create-socket ()
(message "Create OPI socket for evaluating expressions")
;; Start Oz directly
;; Start Oz directly
(run-oz)
;; Create socket on Oz side (after Oz was started).
(oz-send-string (concat "\\insert '" org-babel-oz-server-dir "StartOzServer.oz'"))
;; Wait until socket is created before connecting to it.
;; Quick hack: wait 3 sec
;;
;;
;; extending time to 30 secs does not help when starting Emacs for
;; the first time (and computer does nothing else)
(sit-for 3)
;; connect to OPI socket
(setq org-babel-oz-OPI-socket
(setq org-babel-oz-OPI-socket
;; Creates a socket. I/O interface of Emacs sockets as for processes.
(open-network-stream "*Org-babel-OPI-socket*" nil "localhost" org-babel-oz-port))
;; install filter
@ -165,7 +166,7 @@ StartOzServer.oz is located.")
;; oz-send-string-expression turns is into synchronous...
(defun oz-send-string-expression (string &optional wait-time)
"Similar to oz-send-string, oz-send-string-expression sends a string to the OPI compiler. However, string must be expression and this function returns the result of the expression (as string). oz-send-string-expression is synchronous, wait-time allows to specify a maximum wait time. After wait-time is over with no result, the function returns nil."
(if (not org-babel-oz-OPI-socket)
(if (not org-babel-oz-OPI-socket)
(org-babel-oz-create-socket))
(let ((polling-delay 0.1)
result)
@ -175,11 +176,11 @@ StartOzServer.oz is located.")
(let ((waited 0))
(unwind-protect
(progn
(while
(while
;; stop loop if org-babel-oz-collected-result \= nil or waiting time is over
(not (or (not (equal org-babel-oz-collected-result nil))
(> waited wait-time)))
(progn
(progn
(sit-for polling-delay)
;; (message "org-babel-oz: next polling iteration")
(setq waited (+ waited polling-delay))))
@ -252,7 +253,7 @@ called by `org-babel-execute-src-block' via multiple-value-bind."
;; (when vars
;; (with-temp-buffer
;; (insert var-lines) (write-file vars-file)
;; (oz-mode)
;; (oz-mode)
;; ;; (inferior-oz-load-file) ; ??
;; ))
;; (current-buffer))))
@ -261,7 +262,7 @@ called by `org-babel-execute-src-block' via multiple-value-bind."
;; TODO: testing... (simplified version of def in org-babel-prep-session:ocaml)
;;
;; BUG: does not work yet. Error: ad-Orig-error: buffer none doesn't exist or has no process
;; BUG: does not work yet. Error: ad-Orig-error: buffer none doesn't exist or has no process
;; UNUSED DEF
(defun org-babel-oz-initiate-session (&optional session params)
"If there is not a current inferior-process-buffer in SESSION
@ -277,12 +278,12 @@ then create. Return the initialized session."
specifying a var of the same value."
(if (listp var)
;; (concat "[" (mapconcat #'org-babel-oz-var-to-oz var ", ") "]")
(eval var)
(format "%s" var) ; don't preserve string quotes.
(eval var)
(format "%s" var) ; don't preserve string quotes.
;; (format "%s" var)
))
;; TODO:
;; TODO:
(defun org-babel-oz-table-or-string (results)
"If the results look like a table, then convert them into an
Emacs-lisp table, otherwise return the results as a string."

View File

@ -1,7 +1,7 @@
% Reference Card for Org Mode
\def\orgversionnumber{7.5}
\def\versionyear{2012} % latest update
\def\year{2012} % latest copyright year
\def\versionyear{2011} % latest update
\def\year{2011} % latest copyright year
%**start of header
\newcount\columnsperpage

View File

@ -633,7 +633,7 @@ without modifying their meaning."
(goto-char (point-min))
(while (search-forward "Local Variables:" nil t)
(replace-match "Local Variables:" nil t)))
;;; Color handling.
@ -796,7 +796,7 @@ If no rgb.txt file is found, return nil."
(t
;; We're getting the RGB components from Emacs.
(let ((rgb
;; Here I cannot conditionalize on (fboundp ...)
;; Here I cannot conditionalize on (fboundp ...)
;; because ps-print under some versions of GNU Emacs
;; defines its own dummy version of
;; `color-instance-rgb-components'.
@ -1211,7 +1211,7 @@ property and by buffer overlays that specify `face'."
;; used methods are `doctype', `insert-head', `body-tag', and
;; `insert-text'. Not all output types define all methods.
;;
;; Methods are called either with (htmlize-method METHOD ARGS...)
;; Methods are called either with (htmlize-method METHOD ARGS...)
;; special form, or by accessing the function with
;; (htmlize-method-function 'METHOD) and calling (funcall FUNCTION).
;; The latter form is useful in tight loops because `htmlize-method'
@ -1389,7 +1389,7 @@ it's called with the same value of KEY. All other times, the cached
(format "<body text=\"%s\" bgcolor=\"%s\">"
(htmlize-fstruct-foreground fstruct)
(htmlize-fstruct-background fstruct))))
(defun htmlize-font-insert-text (text fstruct-list buffer)
;; In `font' mode, we use the traditional HTML means of altering
;; presentation: <font> tag for colors, <b> for bold, <u> for

View File

@ -67,7 +67,7 @@ Otherwise prompt the user for the right bookmark to use."
(if (not file)
(when (eq major-mode 'bookmark-bmenu-mode)
(setq bookmark (bookmark-bmenu-bookmark)))
(when (and (setq bmks
(when (and (setq bmks
(mapcar (lambda (name)
(if (equal file
(abbreviate-file-name
@ -75,7 +75,7 @@ Otherwise prompt the user for the right bookmark to use."
name))
(bookmark-all-names)))
(setq bmks (delete nil bmks)))
(setq bookmark
(setq bookmark
(if (or (eq 1 (length bmks)) org-bookmark-use-first-bookmark)
(car bmks)
(completing-read "Bookmark: " bmks nil t nil nil (car bmks))))))

View File

@ -138,6 +138,3 @@ of checkbox items"
(provide 'org-checklist)
;;; org-checklist.el ends here

View File

@ -46,13 +46,13 @@
;; * Use C-S-right to change the keyword set. Use this to change to
;; the "choose" keyword set that you just defined.
;; * Use S-right to advance the TODO mark to the next setting.
;; * Use S-right to advance the TODO mark to the next setting.
;; For "choose", that means you like this alternative more than
;; before. Other alternatives will be automatically demoted to
;; keep your settings consistent.
;; * Use S-left to demote TODO to the previous setting.
;; * Use S-left to demote TODO to the previous setting.
;; For "choose", that means you don't like this alternative as much
;; as before. Other alternatives will be automatically promoted,
@ -83,7 +83,7 @@ Indexes are 0-based or `nil'.
static-default
all-keywords)
(defvar org-choose-mark-data
(defvar org-choose-mark-data
()
"Alist of information for choose marks.
@ -101,7 +101,7 @@ Each entry is an `org-choose-mark-data.'" )
(not
(string-match "(.*)" i))
(list i i)
(let*
(let*
(
(end-text (match-beginning 0))
(vanilla-text (substring i 0 end-text))
@ -116,7 +116,7 @@ Each entry is an `org-choose-mark-data.'" )
;;When string starts with "," `split-string' doesn't
;;make a first arg, so in that case make one
;;manually.
(if
(if
(string-match "^," args)
(cons nil arglist-x)
arglist-x)))
@ -157,11 +157,11 @@ Each entry is an `org-choose-mark-data.'" )
;;item.
(top-upper-range
(or top-upper-range (1- num-items)))
(lower-range-length
(lower-range-length
(1+ (- static-default bot-lower-range)))
(upper-range-length
(upper-range-length
(- top-upper-range static-default))
(range-length
(range-length
(min upper-range-length lower-range-length)))
@ -194,7 +194,7 @@ Each entry is an `org-choose-mark-data.'" )
;;;_ . org-choose-filter-tail
(defun org-choose-filter-tail (raw)
"Return a translation of RAW to vanilla and set appropriate
buffer-local variables.
buffer-local variables.
RAW is a list of strings representing the input text of a choose
interpretation."
@ -219,7 +219,7 @@ interpretation."
(push vanilla-mark vanilla-list)))
(org-choose-setup-vars bot-lower-range top-upper-range
static-default index (reverse all-mark-texts))
static-default index (reverse all-mark-texts))
(nreverse vanilla-list)))
;;;_ . org-choose-setup-filter
@ -234,35 +234,35 @@ interpretation."
;;;_ . org-choose-conform-after-promotion
(defun org-choose-conform-after-promotion (entry-pos keywords highest-ok-ix)
"Conform the current item after another item was promoted"
(unless
;;Skip the entry that triggered this by skipping any entry with
;;the same starting position. plist uses the start of the
;;header line as the position, but map no longer does, so we
;;have to go back to the heading.
(=
(=
(save-excursion
(org-back-to-heading)
(point))
(point))
entry-pos)
(let
((ix
(org-choose-get-entry-index keywords)))
;;If the index of the entry exceeds the highest allowable
;;index, change it to that.
(when (and ix
(when (and ix
(> ix highest-ok-ix))
(org-todo
(org-todo
(nth highest-ok-ix keywords))))))
;;;_ . org-choose-conform-after-demotion
(defun org-choose-conform-after-demotion (entry-pos keywords
raise-to-ix
old-highest-ok-ix)
old-highest-ok-ix)
"Conform the current item after another item was demoted."
(unless
;;Skip the entry that triggered this.
(=
(=
(save-excursion
(org-back-to-heading)
(point))
@ -273,11 +273,11 @@ interpretation."
;;If the index of the entry was at or above the old allowable
;;position, change it to the new mirror position if there is
;;one.
(when (and
ix
(when (and
ix
raise-to-ix
(>= ix old-highest-ok-ix))
(org-todo
(org-todo
(nth raise-to-ix keywords))))))
;;;_ , org-choose-keep-sensible (the org-trigger-hook function)
@ -287,7 +287,7 @@ setting was changed."
(let*
( (from (plist-get change-plist :from))
(to (plist-get change-plist :to))
(entry-pos
(entry-pos
(set-marker
(make-marker)
(plist-get change-plist :position)))
@ -303,11 +303,11 @@ setting was changed."
(org-choose-mark-data.-all-keywords data))
(old-index
(org-choose-get-index-in-keywords
from
from
keywords))
(new-index
(org-choose-get-index-in-keywords
to
to
keywords))
(highest-ok-ix
(org-choose-highest-other-ok
@ -324,7 +324,7 @@ setting was changed."
(> new-index old-index))
(list
#'org-choose-conform-after-promotion
entry-pos keywords
entry-pos keywords
highest-ok-ix))
(t ;;Otherwise the entry was demoted.
(let
@ -338,14 +338,14 @@ setting was changed."
(org-choose-highest-other-ok
old-index
data)))
(list
#'org-choose-conform-after-demotion
entry-pos
#'org-choose-conform-after-demotion
entry-pos
keywords
raise-to-ix
old-highest-ok-ix))))))
(if funcdata
;;The funny-looking names are to make variable capture
;;unlikely. (Poor-man's lexical bindings).
@ -356,8 +356,8 @@ setting was changed."
;;We may call `org-todo', so let various hooks
;;`nil' so we don't cause loops.
org-after-todo-state-change-hook
org-trigger-hook
org-blocker-hook
org-trigger-hook
org-blocker-hook
org-todo-get-default-hook
;;Also let this alist `nil' so we don't log
;;secondary transitions.
@ -366,7 +366,7 @@ setting was changed."
(funcall map-over-entries
#'(lambda ()
(apply func-d473 args-46k))))))))
;;Remove the marker
(set-marker entry-pos nil)))
@ -393,7 +393,7 @@ setting was changed."
(defun org-choose-get-fn-map-group ()
"Return a function to map over the group"
#'(lambda (fn)
(require 'org-agenda) ;; `org-map-entries' seems to need it.
(save-excursion
@ -402,7 +402,7 @@ setting was changed."
(let
((level (org-reduced-level (org-outline-level))))
(save-restriction
(org-map-entries
(org-map-entries
fn
(format "LEVEL=%d" level)
'tree))))))
@ -418,10 +418,10 @@ If there is none, return 0"
;;Func maps over applicable entries.
(map-over-entries
(org-choose-get-fn-map-group))
(indexes-list
(remove nil
(funcall map-over-entries
(funcall map-over-entries
#'(lambda ()
(org-choose-get-entry-index keywords))))))
(if
@ -438,7 +438,7 @@ given that another mark has index IX.
DATA must be a `org-choose-mark-data.'."
(let
(
(
(bot-lower-range
(org-choose-mark-data.-bot-lower-range data))
(top-upper-range
@ -455,7 +455,7 @@ DATA must be a `org-choose-mark-data.'."
;;;_ . org-choose-get-default-mark-index
(defun org-choose-get-default-mark-index (data)
(defun org-choose-get-default-mark-index (data)
"Return the index of the default mark in a choose interpretation.
DATA must be a `org-choose-mark-data.'."
@ -475,7 +475,7 @@ DATA must be a `org-choose-mark-data.'."
;;;_ . org-choose-get-mark-N
(defun org-choose-get-mark-N (n data)
"Get the text of the nth mark in a choose interpretation."
(let*
((l (org-choose-mark-data.-all-keywords data)))
(nth n l)))

View File

@ -87,7 +87,7 @@
;; | run (50) | 0.116446 |
;; | run (100) | 0.118863 |
;; #+END:
;;
;;
;;; Code:
(require 'org)
@ -134,7 +134,7 @@ preceeding the dblock, then update the contents of the dblock."
(org-narrow-to-subtree)
(setq stringformat (if noquote "%s" "%S"))
(setq table (org-propview-to-table
(org-propview-collect cols stringformat conds match scope inherit
(org-propview-collect cols stringformat conds match scope inherit
(if colnames colnames cols)) stringformat))
(widen))
(setq pos (point))

View File

@ -2915,4 +2915,3 @@ returns its return value."
(provide 'org-drill)

File diff suppressed because it is too large Load Diff

View File

@ -67,7 +67,7 @@ large example block")
(defcustom org-eval-light-interpreters '("lisp" "emacs-lisp" "ruby" "shell")
"Interpreters allows for evaluation tags.
This is a list of program names (as strings) that can evaluate code and
insert the output into an Org-mode buffer. Valid choices are
insert the output into an Org-mode buffer. Valid choices are
lisp Interpret Emacs Lisp code and display the result
shell Pass command to the shell and display the result
@ -189,7 +189,7 @@ commented by `org-eval-light-make-region-example'."
(with-temp-buffer
(insert code)
(shell-command-on-region (point-min) (point-max) cmd nil 'replace)
(buffer-string)))
(buffer-string)))
(defadvice org-ctrl-c-ctrl-c (around org-cc-eval-source activate)
(if (org-eval-light-inside-snippet)

View File

@ -105,7 +105,7 @@
(defcustom org-eval-interpreters '("lisp")
"Interpreters allows for evaluation tags.
This is a list of program names (as strings) that can evaluate code and
insert the output into an Org-mode buffer. Valid choices are
insert the output into an Org-mode buffer. Valid choices are
lisp Interpret Emacs Lisp code and display the result
shell Pass command to the shell and display the result
@ -120,7 +120,7 @@ ruby The ruby interpreter"
(const "python")
(const "ruby")
(const "shell")))
(defun org-eval-handle-snippets (limit &optional replace)
"Evaluate code snippets and display the results as display property.
When REPLACE is non-nil, replace the code region with the result (used
@ -212,9 +212,8 @@ This should go into the `org-export-preprocess-hook'."
(with-temp-buffer
(insert code)
(shell-command-on-region (point-min) (point-max) cmd nil 'replace)
(buffer-string)))
(buffer-string)))
(provide 'org-eval)
;;; org-eval.el ends here

View File

@ -25,7 +25,7 @@
;;; Commentary:
;;
;; This gives you a chance to get rid of old entries in your Org files
;; by expiring them.
;; by expiring them.
;;
;; By default, entries that have no EXPIRY property are considered to be
;; new (i.e. 0 day old) and only entries older than one year go to the
@ -33,7 +33,7 @@
;; your tasks will be deleted with the default settings.
;;
;; When does an entry expires?
;;
;;
;; Consider this entry:
;;
;; * Stop watching TV
@ -41,8 +41,8 @@
;; :CREATED: <2008-01-07 lun 08:01>
;; :EXPIRY: <2008-01-09 08:01>
;; :END:
;;
;; This entry will expire on the 9th, january 2008.
;;
;; This entry will expire on the 9th, january 2008.
;; * Stop watching TV
;; :PROPERTIES:
@ -56,19 +56,19 @@
;; What happen when an entry is expired? Nothing until you explicitely
;; M-x org-expiry-process-entries When doing this, org-expiry will check
;; for expired entries and request permission to process them.
;;
;;
;; Processing an expired entries means calling the function associated
;; with `org-expiry-handler-function'; the default is to add the tag
;; :ARCHIVE:, but you can also add a EXPIRED keyword or even archive
;; the subtree.
;; :ARCHIVE:, but you can also add a EXPIRED keyword or even archive
;; the subtree.
;;
;; Is this useful? Well, when you're in a brainstorming session, it
;; might be useful to know about the creation date of an entry, and be
;; able to archive those entries that are more than xxx days/weeks old.
;;
;;
;; When you're in such a session, you can insinuate org-expiry like
;; this: M-x org-expiry-insinuate
;;
;; this: M-x org-expiry-insinuate
;;
;; Then, each time you're pressing M-RET to insert an item, the CREATION
;; property will be automatically added. Same when you're scheduling or
;; deadlining items. You can deinsinuate: M-x org-expiry-deinsinuate
@ -218,7 +218,7 @@ and restart `org-mode' if necessary."
Return nil if the entry is not expired. Otherwise return the
amount of time between today and the expiry date.
If there is no creation date, use `org-expiry-created-date'.
If there is no creation date, use `org-expiry-created-date'.
If there is no expiry date, use `org-expiry-expiry-date'."
(let* ((ex-prop org-expiry-expiry-property-name)
(cr-prop org-expiry-created-property-name)
@ -292,7 +292,7 @@ update the date."
d-time d-hour timestr)
(when (or (null d) arg)
;; update if no date or non-nil prefix argument
;; FIXME Use `org-time-string-to-time'
;; FIXME Use `org-time-string-to-time'
(setq d-time (if d (org-time-string-to-time d)
(current-time)))
(setq d-hour (format-time-string "%H:%M" d-time))
@ -326,7 +326,7 @@ and insert today's date."
;; maybe transform to inactive timestamp
(if org-expiry-inactive-timestamps
(setq timestr (concat "[" (substring timestr 1 -1) "]")))
(save-excursion
(org-entry-put
(point) org-expiry-expiry-property-name timestr))))

View File

@ -35,7 +35,7 @@
;; org-set-generic-type function:
;;
;; (org-set-generic-type
;; "really-basic-text"
;; "really-basic-text"
;; '(:file-suffix ".txt"
;; :key-binding ?R
;;
@ -155,10 +155,10 @@ in this way, it will be wrapped."
:toc-section-numbers t
:toc-section-number-format "\#(%s) "
:toc-format "--%s--"
:toc-format "--%s--"
:toc-format-with-todo "!!%s!!\n"
:toc-indent-char ?\
:toc-indent-depth 4
:toc-indent-char ?\
:toc-indent-depth 4
:toc-tags-export t
:toc-tags-prefix " <tags>"
@ -217,7 +217,7 @@ in this way, it will be wrapped."
:body-list-checkbox-half-end "</checkbox (half)>"
; other body lines
:body-line-format "%s"
@ -257,10 +257,10 @@ in this way, it will be wrapped."
:toc-export t
:toc-section-numbers t
:toc-section-number-format "%s "
:toc-format "%s\n"
:toc-format "%s\n"
:toc-format-with-todo "%s (*)\n"
:toc-indent-char ?\
:toc-indent-depth 4
:toc-indent-char ?\
:toc-indent-depth 4
:body-header-section-numbers 3
:body-section-prefix "\n"
@ -310,7 +310,7 @@ in this way, it will be wrapped."
:body-section-header-prefix ("= " "== " "=== "
"==== " "===== " "====== ")
:body-section-header-suffix (" =\n\n" " ==\n\n" " ===\n\n"
:body-section-header-suffix (" =\n\n" " ==\n\n" " ===\n\n"
" ====\n\n" " =====\n\n" " ======\n\n")
:body-line-export-preformated t ;; yes/no/maybe???
@ -390,7 +390,7 @@ in this way, it will be wrapped."
:body-list-format "<t>%s</t>\n"
)
("trac-wiki"
("trac-wiki"
:file-suffix ".txt"
:key-binding ?T
@ -409,7 +409,7 @@ in this way, it will be wrapped."
:body-section-header-prefix (" == " " === " " ==== "
" ===== " )
:body-section-header-suffix (" ==\n\n" " ===\n\n" " ====\n\n"
:body-section-header-suffix (" ==\n\n" " ===\n\n" " ====\n\n"
" =====\n\n" " ======\n\n" " =======\n\n")
:body-line-export-preformated t ;; yes/no/maybe???
@ -426,7 +426,7 @@ in this way, it will be wrapped."
;; this is ignored! [2010/02/02:rpg]
:body-bullet-list-prefix ("* " "** " "*** " "**** " "***** ")
)
("tikiwiki"
("tikiwiki"
:file-suffix ".txt"
:key-binding ?U
@ -445,7 +445,7 @@ in this way, it will be wrapped."
:body-section-header-prefix ("! " "!! " "!!! " "!!!! "
"!!!!! " "!!!!!! " "!!!!!!! ")
:body-section-header-suffix (" \n" " \n" " \n"
:body-section-header-suffix (" \n" " \n" " \n"
" \n" " \n" " \n")
@ -498,12 +498,12 @@ the body of an org-set-generic-type definition."
))
(def-org-export-generic-keyword :body-newline-paragraph
:documentation "Bound either to NIL or to a pattern to be
:documentation "Bound either to NIL or to a pattern to be
inserted in the output for every blank line in the input.
The intention is to handle formats where text is flowed, and
newlines are interpreted as significant \(e.g., as indicating
preformatted text\). A common non-nil value for this keyword
is \"\\n\". Should typically be combined with a value for
is \"\\n\". Should typically be combined with a value for
:body-line-format that does NOT end with a newline."
:type string)
@ -515,8 +515,8 @@ is \"\\n\". Should typically be combined with a value for
(def-org-export-generic-keyword :code-format)
(def-org-export-generic-keyword :verbatim-format)
(defun org-export-generic-remember-section (type suffix &optional prefix)
(setq org-export-generic-section-type type)
@ -569,7 +569,7 @@ underlined headlines. The default is 3."
(org-export-add-subtree-options opt-plist rbeg)
opt-plist)))
helpstart
helpstart
(bogus (mapc (lambda (x)
(setq helpstart
(concat helpstart "\["
@ -611,7 +611,7 @@ underlined headlines. The default is 3."
(unless (setq ass (cadr (assq r2 cmds)))
(error "No command associated with key %c" r1))
(cdr (assoc
(cdr (assoc
(if (equal ass "default") org-generic-export-type ass)
org-generic-alist))))
@ -732,11 +732,11 @@ underlined headlines. The default is 3."
(format-code (plist-get export-plist :code-format))
(format-verbatim (plist-get export-plist :verbatim-format))
thetoc toctags have-headings first-heading-pos
table-open table-buffer link-buffer link desc desc0 rpl wrap)
(let ((inhibit-read-only t))
(org-unmodified
(remove-text-properties (point-min) (point-max)
@ -841,7 +841,7 @@ underlined headlines. The default is 3."
(org-re "[ \t]+:\\([[:alnum:]_@:]+\\):[ \t]*$")
txt)
(progn
(setq
(setq
toctags
(org-export-generic-header
(match-string 1 txt)
@ -852,7 +852,7 @@ underlined headlines. The default is 3."
txt)
(setq txt (replace-match "" t t txt)))
(setq toctags tocnotagsstr)))
(if (string-match quote-re0 txt)
(setq txt (replace-match "" t t txt)))
@ -871,7 +871,7 @@ underlined headlines. The default is 3."
"")
(format
(if todo tocformtodo tocformat)
(if todo tocformtodo tocformat)
txt)
toctags)
@ -908,7 +908,7 @@ underlined headlines. The default is 3."
(substring link 8)
org-export-code-refs)))
t t line))
(setq rpl (concat "["
(setq rpl (concat "["
(or (match-string 3 line) (match-string 1 line))
"]"))
(when (and desc0 (not (equal desc0 link)))
@ -1043,7 +1043,7 @@ underlined headlines. The default is 3."
;;
(org-export-generic-check-section "body" bodytextpre bodytextsuf)
(setq line
(setq line
(org-export-generic-fontify line))
;; XXX: properties? list?
@ -1208,7 +1208,7 @@ REVERSE means to reverse the list if the plist match is a list
(setq result (concat result line))
(setq len 0)))
(concat result indstr line)))
(defun org-export-generic-push-links (link-buffer)
"Push out links in the buffer."
(when link-buffer
@ -1258,13 +1258,13 @@ REVERSE means to reverse the list if the plist match is a list
))
;; same level
((= level old-level)
(insert
(insert
(org-export-generic-format export-plist :body-section-suffix 0 level))
)
)
(insert
(org-export-generic-format export-plist :body-section-prefix 0 level))
(if (and org-export-with-section-numbers
secnums
(or (not (numberp secnums))
@ -1365,7 +1365,7 @@ REVERSE means to reverse the list if the plist match is a list
Each element of the list is a list of three elements.
The first element is the character used as a marker for fontification.
The second element is a variable name, set in org-export-generic. That
variable will be dereferenced to obtain a formatting string to wrap
variable will be dereferenced to obtain a formatting string to wrap
fontified text with.
The third element decides whether to protect converted text from other
conversions.")

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,7 @@
;; Version: 1.0
;; Keywords: org, wp
;;
;; This file is not part of GNU Emacs.
;; This file is not part of GNU Emacs.
;;
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
@ -31,7 +31,7 @@
;; / add a keyword as a positive selection criterion
;; \ add a keyword as a newgative selection criterion
;; = clear a keyword from the selection string
;; ;
;; ;
(require 'org)
@ -39,7 +39,7 @@
(org-defkey org-agenda-mode-map "/" 'org-agenda-query-and-cmd)
(org-defkey org-agenda-mode-map ";" 'org-agenda-query-or-cmd)
(org-defkey org-agenda-mode-map "\\" 'org-agenda-query-not-cmd)
;;; Agenda interactive query manipulation
(defcustom org-agenda-query-selection-single-key t
@ -283,7 +283,7 @@ keyword string."
(defun org-agenda-query-generic-cmd (op)
"Activate query manipulation with OP as initial operator."
(let ((q (org-agenda-query-selection org-agenda-query-string op
org-tag-alist
org-tag-alist
(org-agenda-query-global-todo-keys))))
(when q
(setq org-agenda-query-string q)

View File

@ -181,7 +181,7 @@ looks like tree2, where the level is 2."
(when (or (not min) (< level min)) (setq min level))
(when (> level max) (setq max level))))
(cons (or min 0) max)))
(defun org-invoice-collapse-list (ls)
"Reorganize the given list by dates."
(let ((min-max (org-invoice-level-min-max ls)) new)
@ -214,7 +214,7 @@ looks like tree2, where the level is 2."
(+ price (cdr (assoc 'price (car bucket)))))
(nconc bucket (list info))))))
(nreverse new)))
(defun org-invoice-info-to-table (info)
"Create a single org table row from the given info alist."
(let ((title (cdr (assoc 'title info)))
@ -223,19 +223,19 @@ looks like tree2, where the level is 2."
(price (cdr (assoc 'price info)))
(with-price (plist-get org-invoice-table-params :price)))
(unless total
(setq
(setq
org-invoice-total-time (+ org-invoice-total-time work)
org-invoice-total-price (+ org-invoice-total-price price)))
(setq total (and total (org-minutes-to-hh:mm-string total)))
(setq work (and work (org-minutes-to-hh:mm-string work)))
(insert-before-markers
(insert-before-markers
(concat "|" title
(cond
(total (concat "|" total))
(work (concat "|" work)))
(and with-price price (concat "|" (format "%.2f" price)))
"|" "\n"))))
(defun org-invoice-list-to-table (ls)
"Convert a list of heading info to an org table"
(let ((with-price (plist-get org-invoice-table-params :price))
@ -243,7 +243,7 @@ looks like tree2, where the level is 2."
(with-header (plist-get org-invoice-table-params :headers))
(org-invoice-total-time 0)
(org-invoice-total-price 0))
(insert-before-markers
(insert-before-markers
(concat "| Task / Date | Time" (and with-price "| Price") "|\n"))
(dolist (info ls)
(insert-before-markers "|-\n")
@ -268,9 +268,9 @@ heading that begins the invoice data, usually using the
(org-clock-sum)
(run-hook-with-args 'org-invoice-start-hook)
(cons org-invoice-current-invoice
(org-invoice-collapse-list
(org-invoice-collapse-list
(org-map-entries 'org-invoice-heading-info t 'tree 'archive))))))
(defun org-dblock-write:invoice (params)
"Function called by OrgMode to write the invoice dblock. To
create an invoice dblock you can use the `org-invoice-report'
@ -397,5 +397,5 @@ I place mine under a third-level heading like so:
(if report (goto-char report)
(org-create-dblock (list :name "invoice")))
(org-update-dblock)))
(provide 'org-invoice)

View File

@ -101,7 +101,7 @@ the the Emacs diary"
(shell-command "sw_vers" (current-buffer))
(when (re-search-backward "10\\.[567]" nil t)
(omi-concat-leopard-ics all-calendars)))
;; move all caldav ics files to the same place as local ics files
(mapc
(lambda (x)
@ -111,7 +111,7 @@ the the Emacs diary"
(concat "~/Library/Calendars/" y)))
(directory-files x nil ".*ics$")))
caldav-folders)
;; check calendar has contents and import
(setq import-calendars (directory-files "~/Library/Calendars" 1 ".*ics$"))
(mapc
@ -181,7 +181,7 @@ date range so that Emacs calendar view doesn't grind to a halt"
(* (/ org-mac-iCal-range 2) 30))
(delete-region startEntry endEntry)))
(goto-char (point-max))))
(while
(while
(re-search-forward "^END:VEVENT$" nil t)
(delete-blank-lines))
(goto-line 1)

View File

@ -2,7 +2,7 @@
;;; application and insert them as links into org-mode documents
;;
;; Copyright (c) 2010-2012 Free Software Foundation, Inc.
;;
;;
;; Author: Anthony Lander <anthony.lander@gmail.com>
;; Version: 1.0.1
;; Keywords: org, mac, hyperlink
@ -52,7 +52,7 @@
;; add (require 'org-mac-link-grabber) to your .emacs, and optionally
;; bind a key to activate the link grabber menu, like this:
;;
;; (add-hook 'org-mode-hook (lambda ()
;; (add-hook 'org-mode-hook (lambda ()
;; (define-key org-mode-map (kbd "C-c g") 'omlg-grab-link)))
;;
;;
@ -161,7 +161,7 @@ applications and inserting them in org documents"
(when (and active (eq input key))
(call-interactively grab-function))))
descriptors)))
(defalias 'omgl-grab-link 'omlg-grab-link
"Renamed, and this alias will be obsolete next revision.")
@ -344,7 +344,7 @@ applications and inserting them in org documents"
" return theUrl & \"::split::\" & theName & \"\n\"\n"
"end tell\n"))))
(car (split-string result "[\r\n]+" t))))
(defun org-mac-safari-get-frontmost-url ()
(interactive)
(message "Applescript: Getting Safari url...")
@ -361,7 +361,7 @@ applications and inserting them in org documents"
(defun org-mac-safari-insert-frontmost-url ()
(interactive)
(insert (org-mac-safari-get-frontmost-url)))
;;
;;

View File

@ -207,7 +207,7 @@ applications in order to mimic `org-store-link'. Used by
:group 'org-mairix)
(defcustom org-mairix-mutt-display-command
"xterm -title 'mairix search: %search%' -e 'unset COLUMNS; mutt -f
"xterm -title 'mairix search: %search%' -e 'unset COLUMNS; mutt -f
~/mail/mairix -e \"push <display-message>\"' &"
"Command to execute to display mairix search results via mutt within
an xterm.
@ -244,7 +244,7 @@ along with general mairix configuration."
:group 'org-mairix-gnus
:type 'string)
(defcustom org-mairix-gnus-select-display-group-function
(defcustom org-mairix-gnus-select-display-group-function
'org-mairix-gnus-select-display-group-function-gg
"Hook to call to select the group that contains the matching articles.
We should not need this, it is owed to a problem of gnus that people were
@ -285,7 +285,7 @@ to do that -- so you're likely to see zombies floating around.
If you can improve this, please do!"
(if (not (equal (substring search 0 2) "m:" ))
(error "org-mairix-gnus-display-results: display of search other than
(error "org-mairix-gnus-display-results: display of search other than
message-id not implemented yet"))
(setq message-id (substring search 2 nil))
(require 'gnus)

View File

@ -43,13 +43,13 @@
;;
;; you might want to bind this to a key with something like the
;; following message-mode binding
;;
;;
;; (add-hook 'message-mode-hook
;; (lambda ()
;; (local-set-key "\C-c\M-o" 'org-mime-htmlize)))
;;
;; and the following org-mode binding
;;
;;
;; (add-hook 'org-mode-hook
;; (lambda ()
;; (local-set-key "\C-c\M-o" 'org-mime-org-buffer-htmlize)))

View File

@ -1,4 +1,5 @@
;;; org-mtags.el --- Muse-like tags in Org-mode
;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
;;
;; Author: Carsten Dominik <carsten at orgmode dot org>
@ -254,4 +255,3 @@ with string values. In addition, it reutnrs the following properties:
(provide 'org-mtags)
;;; org-mtags.el ends here

View File

@ -32,7 +32,7 @@
;; Links have one the following form
;; notmuch:<search terms>
;; notmuch-search:<search terms>.
;; notmuch-search:<search terms>.
;; The first form open the queries in notmuch-show mode, whereas the
;; second link open it in notmuch-search mode. Note that queries are
@ -61,13 +61,13 @@
(setq link (org-make-link "notmuch:" "id:" message-id))
(org-add-link-props :link link :description desc)
link)))
(defun org-notmuch-open (path)
"Follow a notmuch message link specified by PATH."
(org-notmuch-follow-link path))
(defun org-notmuch-follow-link (search)
"Follow a notmuch link to SEARCH.
"Follow a notmuch link to SEARCH.
Can link to more than one message, if so all matching messages are shown."
(require 'notmuch)
@ -82,10 +82,10 @@ Can link to more than one message, if so all matching messages are shown."
(defun org-notmuch-search-store-link ()
"Store a link to a notmuch search or message."
(when (eq major-mode 'notmuch-search-mode)
(let ((link (org-make-link "notmuch-search:"
(let ((link (org-make-link "notmuch-search:"
(org-link-escape notmuch-search-query-string)))
(desc (concat "Notmuch search: " notmuch-search-query-string)))
(org-store-link-props :type "notmuch-search"
(org-store-link-props :type "notmuch-search"
:link link
:description desc)
link)))

View File

@ -639,5 +639,3 @@ button changes the binding of the arrow keys."
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; org-panel.el ends here

View File

@ -145,15 +145,15 @@ buffer."
(defun org-registry-assoc-all (link &optional registry)
"Return all associated entries of LINK in the registry."
(org-registry-find-all
(org-registry-find-all
(lambda (entry) (string= link (car entry)))
registry))
(defun org-registry-find-all (test &optional registry)
"Return all entries satisfying `test' in the registry."
(delq nil
(mapcar
(lambda (x) (and (funcall test x) x))
(delq nil
(mapcar
(lambda (x) (and (funcall test x) x))
(or registry org-registry-alist))))
;;;###autoload

View File

@ -40,7 +40,7 @@
;; associated with that task, go to the end of your item and type:
;;
;; M-x org-screen
;;
;;
;; This will prompt you for a name of a screen session. Type in a
;; name and it will insert a link into your org file at your current
;; location.
@ -79,10 +79,10 @@ is copied from ansi-term method."
;; Pick the name of the new buffer.
(let ((term-ansi-buffer-name
(generate-new-buffer-name
(generate-new-buffer-name
(org-screen-buffer-name name))))
(setq term-ansi-buffer-name
(term-ansi-make-term
(term-ansi-make-term
term-ansi-buffer-name org-screen-program-name nil arg name))
(set-buffer term-ansi-buffer-name)
(term-mode)
@ -104,5 +104,5 @@ is copied from ansi-term method."
'("screen" . "elisp:(org-screen-goto \"%s\")"))
(setq org-link-abbrev-alist
'(("screen" . "elisp:(org-screen-goto \"%s\")"))))
(provide 'org-screen)

View File

@ -86,7 +86,7 @@ org-static-mathjax-options: The string given with #+STATICMATHJAX: in the f
(set 'org-static-mathjax-mathjax-path
(car (read-from-string
(substring mathjax-options (match-end 0))))))))
(add-hook 'after-save-hook
(add-hook 'after-save-hook
'org-static-mathjax-process
nil t)))))
@ -117,20 +117,20 @@ org-static-mathjax-options: The string given with #+STATICMATHJAX: in the f
(set symbol (eval (car (read-from-string
(substring options (match-end 0))))))))
'(embed-fonts output-file-name))
; debug
(when org-static-mathjax-debug
(message "output file name, embed-fonts")
(print output-file-name)
(print embed-fonts))
; open (temporary) input file, copy contents there, replace MathJax path with local installation
(with-temp-buffer
(insert html-code)
(goto-char 1)
(replace-regexp mathjax-oldpath mathjax-newpath)
(write-file input-file-name))
; prepare argument list for call-process
(let ((call-process-args (list org-static-mathjax-xulrunner-path
nil nil nil
@ -146,10 +146,10 @@ org-static-mathjax-options: The string given with #+STATICMATHJAX: in the f
(if (not embed-fonts)
(progn
(add-to-list 'call-process-args "--final-mathjax-url" t)
(add-to-list 'call-process-args
(add-to-list 'call-process-args
(file-name-directory org-static-mathjax-mathjax-path)
t)))
; debug
(when org-static-mathjax-debug
(print call-process-args))

View File

@ -1,5 +1,6 @@
;;; org-sudoku.el --- Greate and solve SUDOKU games in Org tables
;; Copyright (C) 2011, 2012 Free Software Foundation, Inc.
;; Copyright (C) 2012 Free Software Foundation, Inc.
;;
;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp, games
@ -126,7 +127,7 @@ This works by solving the whole game, then inserting only the single field."
(setq game (org-sudoku-solve-game game))
(if game
(progn
(org-table-put i j (number-to-string
(org-table-put i j (number-to-string
(nth 1 (assoc (cons i j) game)))
'align)
(org-table-goto-line i)
@ -139,7 +140,7 @@ This works by solving the whole game, then inserting only the single field."
"Interpret table at point as sudoku game and read it.
A game structure is returned."
(let (b e g i j game)
(org-table-goto-line 1)
(org-table-goto-column 1)
(setq b (point))

View File

@ -278,7 +278,7 @@ specified, then make `org-toc-recenter' use this value."
;;; Navigation functions:
(defun org-toc-goto (&optional jump cycle)
"From Org TOC buffer, follow the targeted subtree in the Org window.
If JUMP is non-nil, go to the base buffer.
If JUMP is non-nil, go to the base buffer.
If JUMP is 'delete, go to the base buffer and delete other windows.
If CYCLE is non-nil, cycle the targeted subtree in the Org window."
(interactive)
@ -459,15 +459,15 @@ status."
(defun org-toc-help ()
"Display a quick help message in the echo-area for `org-toc-mode'."
(interactive)
(let ((st-start 0)
(let ((st-start 0)
(help-message
"\[space\] show heading \[1-4\] hide headlines below this level
\[TAB\] jump to heading \[f\] toggle follow mode (currently %s)
\[return\] jump and delete others windows \[i\] toggle info mode (currently %s)
\[S-TAB\] cycle subtree (in Org) \[S\] toggle show subtree mode (currently %s)
\[C-S-TAB\] global cycle (in Org) \[r\] toggle recenter mode (currently %s)
\[C-S-TAB\] global cycle (in Org) \[r\] toggle recenter mode (currently %s)
\[:\] cycle subtree (in TOC) \[c\] toggle column view (currently %s)
\[n/p\] next/previous heading \[s\] save TOC configuration
\[n/p\] next/previous heading \[s\] save TOC configuration
\[q\] quit the TOC \[g\] restore last TOC configuration"))
(while (string-match "\\[[^]]+\\]" help-message st-start)
(add-text-properties (match-beginning 0)

View File

@ -174,7 +174,7 @@ setting of `org-wikinodes-create-targets'."
(message "New Wiki target `%s' created in current buffer"
target))))))
;;; The target cache
;;; The target cache
(defvar org-wikinodes-directory-targets-cache nil)
@ -206,7 +206,7 @@ setting of `org-wikinodes-create-targets'."
(while (re-search-forward re nil t)
(push (org-match-string-no-properties 4) targets))))
(nreverse targets)))
(defun org-wikinodes-get-links-for-directory (dir)
"Return an alist that connects wiki links to files in directory DIR."
(let ((files (directory-files dir nil "\\`[^.#].*\\.org\\'"))
@ -328,7 +328,7 @@ with working links."
(setcdr m (cons '(org-wikinodes-activate-links) (cdr m)))
(message
"Failed to add wikinodes to `org-font-lock-extra-keywords'."))))
(add-hook 'org-font-lock-set-keywords-hook
'org-wikinodes-add-to-font-lock-keywords)

View File

@ -402,7 +402,7 @@ REM %s %s MSG EVENT:%s%s %s%s%%
(insert sexp "\n"))))
;; (princ (org-diary-to-rem-string sexp-buffer))
(kill-buffer sexp-buffer))
(when org-remind-include-todo
(setq prefix "TODO-")
(goto-char (point-min))
@ -450,7 +450,7 @@ REM %s %s MSG EVENT:%s%s %s%s%%
(if dos diff-days 0)
(if dos 0 diff-days))
1000)))
(if (and (numberp org-rem-aw) (> org-rem-aw 0))
(setq remind-aw (+ (or remind-aw 0) org-rem-aw)))
@ -470,7 +470,7 @@ REM %s %s MSG EVENT:%s%s %s%s%%
(and due (setq due (org-rem-ts-to-remind-date-type due)))
(and start (setq start (org-rem-ts-to-remind-date-type start)))
(and remind-ew (setq remind-ew (org-rem-ts-to-remind-date-type remind-ew)))
(if (string-match org-bracket-link-regexp hd)
(setq hd (replace-match (if (match-end 3) (match-string 3 hd)
(match-string 1 hd))

View File

@ -36,4 +36,3 @@
(org-pop-to-buffer-same-window "*preproc-temp*")
(point-max)
(insert string))))

View File

@ -4,8 +4,8 @@
@setfilename ../../info/org
@settitle The Org Manual
@set VERSION 7.8.03
@set DATE January 2012
@set VERSION 7.8.04
@set DATE March 2012
@c Use proper quote and backtick for code sections in PDF output
@c Cf. Texinfo manual 14.2
@ -265,7 +265,7 @@
@copying
This manual is for Org version @value{VERSION}.
Copyright @copyright{} 2004-2011 Free Software Foundation, Inc.
Copyright @copyright{} 2004-2012 Free Software Foundation, Inc.
@quotation
Permission is granted to copy, distribute and/or modify this document
@ -717,6 +717,7 @@ Specific header arguments
* rownames:: Handle row names in tables
* shebang:: Make tangled files executable
* eval:: Limit evaluation of specific code blocks
* wrap:: Mark source block evaluation results
Miscellaneous
@ -1080,7 +1081,7 @@ attach it to your bug report.
@node Conventions, , Feedback, Introduction
@section Typesetting conventions used in this manual
Org uses three types of keywords: TODO keywords, tags, and property
Org uses three types of keywords: TODO keywords, tags and property
names. In this manual we use the following conventions:
@table @code
@ -1098,7 +1099,14 @@ User-defined properties are capitalized; built-in properties with
special meaning are written with all capitals.
@end table
The manual lists both the keys and the corresponding commands for accessing
Moreover, Org uses @i{option keywords} (like @code{#+TITLE} to set the title)
and @i{environment keywords} (like @code{#+BEGIN_HTML} to start a @code{HTML}
environment). They are written in uppercase in the manual to enhance its
readability, but you can use lowercase in your Org files@footnote{Easy
templates insert lowercase keywords and Babel dynamically inserts
@code{#+results}.}
The manual lists both the keys and the corresponding commands for accessing a
functionality. Org mode often uses the same key for different functions,
depending on context. The command that is bound to such keys has a generic
name, like @code{org-metaright}. In the manual we will, wherever possible,
@ -1158,7 +1166,8 @@ Headlines define the structure of an outline tree. The headlines in Org
start with one or more stars, on the left margin@footnote{See the variables
@code{org-special-ctrl-a/e}, @code{org-special-ctrl-k}, and
@code{org-ctrl-k-protect-subtree} to configure special behavior of @kbd{C-a},
@kbd{C-e}, and @kbd{C-k} in headlines.}. For example:
@kbd{C-e}, and @kbd{C-k} in headlines.} @footnote{Clocking only works with
headings indented less then 30 stars.}. For example:
@example
* Top level headline
@ -1428,7 +1437,7 @@ more details, see the docstring of the command
@code{org-clone-subtree-with-time-shift}.
@orgcmd{C-c C-w,org-refile}
Refile entry or region to a different location. @xref{Refiling notes}.
@orgcmd{C-c ^,org-sort-entries-or-items}
@orgcmd{C-c ^,org-sort}
Sort same-level entries. When there is an active region, all entries in the
region will be sorted. Otherwise the children of the current headline are
sorted. The command prompts for the sorting method, which can be
@ -1755,11 +1764,13 @@ numerically, alphabetically, by time, or by custom function.
@cindex visibility cycling, drawers
@vindex org-drawers
@cindex org-insert-drawer
@kindex C-c C-x d
Sometimes you want to keep information associated with an entry, but you
normally don't want to see it. For this, Org mode has @emph{drawers}.
Drawers need to be configured with the variable
@code{org-drawers}@footnote{You can define drawers on a per-file basis
with a line like @code{#+DRAWERS: HIDDEN PROPERTIES STATE}}. Drawers
@code{org-drawers}@footnote{You can define additional drawers on a
per-file basis with a line like @code{#+DRAWERS: HIDDEN STATE}}. Drawers
look like this:
@example
@ -1771,6 +1782,13 @@ look like this:
After the drawer.
@end example
You can interactively insert drawers at point by calling
@code{org-insert-drawer}, which is bound to @key{C-c C-x d}. With an active
region, this command will put the region inside the drawer. With a prefix
argument, this command calls @code{org-insert-property-drawer} and add a
property drawer right below the current headline. Completion over drawer
keywords is also possible using @key{M-TAB}.
Visibility cycling (@pxref{Visibility cycling}) on the headline will hide and
show the entry, but keep the drawer collapsed to a single line. In order to
look inside the drawer, you need to move the cursor to the drawer line and
@ -3225,6 +3243,8 @@ mailto:adent@@galaxy.net @r{Mail link}
vm:folder @r{VM folder link}
vm:folder#id @r{VM message link}
vm://myself@@some.where.org/folder#id @r{VM on remote machine}
vm-imap:account:folder @r{VM IMAP folder link}
vm-imap:account:folder#id @r{VM IMAP message link}
wl:folder @r{WANDERLUST folder link}
wl:folder#id @r{WANDERLUST message link}
mhe:folder @r{MH-E folder link}
@ -4063,9 +4083,11 @@ time-stamped note for a change. These records will be inserted after the
headline as an itemized list, newest first@footnote{See the variable
@code{org-log-states-order-reversed}}. When taking a lot of notes, you might
want to get the notes out of the way into a drawer (@pxref{Drawers}).
Customize the variable @code{org-log-into-drawer} to get this
behavior---the recommended drawer for this is called @code{LOGBOOK}. You can
also overrule the setting of this variable for a subtree by setting a
Customize the variable @code{org-log-into-drawer} to get this behavior---the
recommended drawer for this is called @code{LOGBOOK}@footnote{Note that the
@code{LOGBOOK} drawer is unfolded when pressing @key{SPC} in the agenda to
show an entry---use @key{C-u SPC} to keep it folded here}. You can also
overrule the setting of this variable for a subtree by setting a
@code{LOG_INTO_DRAWER} property.
Since it is normally too much to record a note for every state, Org mode
@ -4870,8 +4892,8 @@ in the current file will be offered as possible completions.
@orgcmd{C-c C-x p,org-set-property}
Set a property. This prompts for a property name and a value. If
necessary, the property drawer is created as well.
@item M-x org-insert-property-drawer
@findex org-insert-property-drawer
@item C-u M-x org-insert-drawer
@cindex org-insert-drawer
Insert a property drawer into the current entry. The drawer will be
inserted early in the entry, but after the lines with planning
information like deadlines.
@ -5896,12 +5918,14 @@ created for this purpose, it is described in @ref{Structure editing}.
@cindex time clocking
Org mode allows you to clock the time you spend on specific tasks in a
project. When you start working on an item, you can start the clock.
When you stop working on that task, or when you mark the task done, the
clock is stopped and the corresponding time interval is recorded. It
also computes the total time spent on each subtree of a project. And it
remembers a history or tasks recently clocked, to that you can jump quickly
between a number of tasks absorbing your time.
project. When you start working on an item, you can start the clock. When
you stop working on that task, or when you mark the task done, the clock is
stopped and the corresponding time interval is recorded. It also computes
the total time spent on each subtree@footnote{Clocking only works if all
headings are indented with less than 30 stars. This is a hardcoded
limitation of `lmax' in `org-clock-sum'.} of a project. And it remembers a
history or tasks recently clocked, to that you can jump quickly between a
number of tasks absorbing your time.
To save the clock history across Emacs sessions, use
@lisp
@ -6680,21 +6704,21 @@ similar way.}:
@vindex org-from-is-user-regexp
@smallexample
Link type | Available keywords
------------------------+----------------------------------------------
bbdb | %:name %:company
irc | %:server %:port %:nick
vm, wl, mh, mew, rmail | %:type %:subject %:message-id
| %:from %:fromname %:fromaddress
| %:to %:toname %:toaddress
| %:date @r{(message date header field)}
| %:date-timestamp @r{(date as active timestamp)}
| %:date-timestamp-inactive @r{(date as inactive timestamp)}
| %:fromto @r{(either "to NAME" or "from NAME")@footnote{This will always be the other, not the user. See the variable @code{org-from-is-user-regexp}.}}
gnus | %:group, @r{for messages also all email fields}
w3, w3m | %:url
info | %:file %:node
calendar | %:date
Link type | Available keywords
---------------------------------+----------------------------------------------
bbdb | %:name %:company
irc | %:server %:port %:nick
vm, vm-imap, wl, mh, mew, rmail | %:type %:subject %:message-id
| %:from %:fromname %:fromaddress
| %:to %:toname %:toaddress
| %:date @r{(message date header field)}
| %:date-timestamp @r{(date as active timestamp)}
| %:date-timestamp-inactive @r{(date as inactive timestamp)}
| %:fromto @r{(either "to NAME" or "from NAME")@footnote{This will always be the other, not the user. See the variable @code{org-from-is-user-regexp}.}}
gnus | %:group, @r{for messages also all email fields}
w3, w3m | %:url
info | %:file %:node
calendar | %:date
@end smallexample
@noindent
@ -9017,7 +9041,7 @@ the object with @code{\ref@{tab:basic-data@}}:
@example
#+CAPTION: This is the caption for the next table (or link)
#+LABEL: tbl:basic-data
#+LABEL: tab:basic-data
| ... | ...|
|-----|----|
@end example
@ -9631,7 +9655,7 @@ Insert template with export options, see example below.
@cindex #+EXPORT_SELECT_TAGS
@cindex #+EXPORT_EXCLUDE_TAGS
@cindex #+XSLT
@cindex #+LATEX_HEADER
@cindex #+LaTeX_HEADER
@vindex user-full-name
@vindex user-mail-address
@vindex org-export-default-language
@ -9651,7 +9675,7 @@ Insert template with export options, see example below.
@r{You need to confirm using these, or configure @code{org-export-allow-BIND}}
#+LINK_UP: the ``up'' link of an exported page
#+LINK_HOME: the ``home'' link of an exported page
#+LATEX_HEADER: extra line(s) for the @LaTeX{} header, like \usepackage@{xyz@}
#+LaTeX_HEADER: extra line(s) for the @LaTeX{} header, like \usepackage@{xyz@}
#+EXPORT_SELECT_TAGS: Tags that select a tree for export
#+EXPORT_EXCLUDE_TAGS: Tags that exclude a tree from export
#+XSLT: the XSLT stylesheet used by DocBook exporter to generate FO file
@ -10323,11 +10347,11 @@ By default, the @LaTeX{} output uses the class @code{article}.
@vindex org-export-latex-classes
@vindex org-export-latex-default-packages-alist
@vindex org-export-latex-packages-alist
@cindex #+LATEX_HEADER
@cindex #+LATEX_CLASS
@cindex #+LATEX_CLASS_OPTIONS
@cindex property, LATEX_CLASS
@cindex property, LATEX_CLASS_OPTIONS
@cindex #+LaTeX_HEADER
@cindex #+LaTeX_CLASS
@cindex #+LaTeX_CLASS_OPTIONS
@cindex property, LaTeX_CLASS
@cindex property, LaTeX_CLASS_OPTIONS
You can change this globally by setting a different value for
@code{org-export-latex-default-class} or locally by adding an option like
@code{#+LaTeX_CLASS: myclass} in your file, or with a @code{:LaTeX_CLASS:}
@ -10337,11 +10361,22 @@ defines a header template for each class@footnote{Into which the values of
@code{org-export-latex-default-packages-alist} and
@code{org-export-latex-packages-alist} are spliced.}, and allows you to
define the sectioning structure for each class. You can also define your own
classes there. @code{#+LaTeX_CLASS_OPTIONS} or a @code{LaTeX_CLASS_OPTIONS}
property can specify the options for the @code{\documentclass} macro. You
can also use @code{#+LATEX_HEADER: \usepackage@{xyz@}} to add lines to the
header. See the docstring of @code{org-export-latex-classes} for more
information.
classes there. @code{#+LaTeX_CLASS_OPTIONS} or a @code{:LaTeX_CLASS_OPTIONS:}
property can specify the options for the @code{\documentclass} macro. The
options to documentclass have to be provided, as expected by @LaTeX{}, within
square brackets. You can also use @code{#+LaTeX_HEADER: \usepackage@{xyz@}}
to add lines to the header. See the docstring of
@code{org-export-latex-classes} for more information. An example is shown
below.
@example
#+LaTeX_CLASS: article
#+LaTeX_CLASS_OPTIONS: [a4paper]
#+LaTeX_HEADER: \usepackage@{xyz@}
* Headline 1
some text
@end example
@node Quoting @LaTeX{} code, Tables in @LaTeX{} export, Header and sectioning, @LaTeX{} and PDF export
@subsection Quoting @LaTeX{} code
@ -10425,9 +10460,7 @@ add something like @samp{placement=[h!]} to the attributes. It is to be noted
this option can be used with tables as well@footnote{One can also take
advantage of this option to pass other, unrelated options into the figure or
table environment. For an example see the section ``Exporting org files'' in
@url{http://orgmode.org/worg/org-hacks.html}}. For example the
@code{#+ATTR_LaTeX:} line below is exported as the @code{figure} environment
below it.
@url{http://orgmode.org/worg/org-hacks.html}}.
If you would like to let text flow around the image, add the word @samp{wrap}
to the @code{#+ATTR_LaTeX:} line, which will make the figure occupy the left
@ -10514,7 +10547,7 @@ transitions.
Frames will automatically receive a @code{fragile} option if they contain
source code that uses the verbatim environment. Special @file{beamer}
specific code can be inserted using @code{#+BEAMER:} and
@code{#+BEGIN_beamer...#+end_beamer} constructs, similar to other export
@code{#+BEGIN_BEAMER...#+END_BEAMER} constructs, similar to other export
backends, but with the difference that @code{#+LaTeX:} stuff will be included
in the presentation as well.
@ -12277,7 +12310,7 @@ publish it as @file{theindex.html}.
@end multitable
The file will be created when first publishing a project with the
@code{:makeindex} set. The file only contains a statement @code{#+include:
@code{:makeindex} set. The file only contains a statement @code{#+INCLUDE:
"theindex.inc"}. You can then build around this include statement by adding
a title, style information, etc.
@ -12665,10 +12698,10 @@ Org mode buffer. The results of evaluation are placed following a line that
begins by default with @code{#+RESULTS} and optionally a cache identifier
and/or the name of the evaluated code block. The default value of
@code{#+RESULTS} can be changed with the customizable variable
@code{org-babel-results-keyword}.
@code{org-babel-results-keyword}.
By default, the evaluation facility is only enabled for Lisp code blocks
specified as @code{emacs-lisp}. However, source code blocks in many languages
specified as @code{emacs-lisp}. However, source code blocks in many languages
can be evaluated within Org mode (see @ref{Languages} for a list of supported
languages and @ref{Structure of code blocks} for information on the syntax
used to define a code block).
@ -12682,8 +12715,8 @@ evaluation from the @kbd{C-c C-c} key binding.}. This will call the
its results into the Org mode buffer.
@cindex #+CALL
It is also possible to evaluate named code blocks from anywhere in an
Org mode buffer or an Org mode table. Live code blocks located in the current
It is also possible to evaluate named code blocks from anywhere in an Org
mode buffer or an Org mode table. Live code blocks located in the current
Org mode buffer or in the ``Library of Babel'' (see @ref{Library of Babel})
can be executed. Named code blocks can be executed with a separate
@code{#+CALL:} line or inline within a block of text.
@ -12977,7 +13010,7 @@ Multi-line header arguments on an un-named code block:
(message "data1:%S, data2:%S" data1 data2)
#+END_SRC
#+results:
#+RESULTS:
: data1:1, data2:2
@end example
@ -12989,7 +13022,7 @@ Multi-line header arguments on a named code block:
(message "data:%S" data)
#+END_SRC
#+results: named-block
#+RESULTS: named-block
: data:2
@end example
@ -13047,6 +13080,7 @@ argument in lowercase letters. The following header arguments are defined:
* rownames:: Handle row names in tables
* shebang:: Make tangled files executable
* eval:: Limit evaluation of specific code blocks
* wrap:: Mark source block evaluation results
@end menu
Additional header arguments are defined on a language-specific basis, see
@ -13061,7 +13095,7 @@ syntax used to specify arguments is the same across all languages. In every
case, variables require a default value when they are declared.
The values passed to arguments can either be literal values, references, or
Emacs Lisp code (see @ref{var, Emacs Lisp evaluation of variables}). References
Emacs Lisp code (see @ref{var, Emacs Lisp evaluation of variables}). References
include anything in the Org mode file that takes a @code{#+NAME:},
@code{#+TBLNAME:}, or @code{#+RESULTS:} line. This includes tables, lists,
@code{#+BEGIN_EXAMPLE} blocks, other code blocks, and the results of other
@ -13100,7 +13134,7 @@ an Org mode table named with either a @code{#+NAME:} or @code{#+TBLNAME:} line
(length table)
#+END_SRC
#+results: table-length
#+RESULTS: table-length
: 4
@end example
@ -13119,7 +13153,7 @@ carried through to the source code block)
(print x)
#+END_SRC
#+results:
#+RESULTS:
| simple | list |
@end example
@ -13132,7 +13166,7 @@ optionally followed by parentheses
(* 2 length)
#+END_SRC
#+results:
#+RESULTS:
: 8
@end example
@ -13147,7 +13181,7 @@ code block name using standard function call syntax
(* 2 input)
#+END_SRC
#+results: double
#+RESULTS: double
: 16
#+NAME: squared
@ -13155,7 +13189,7 @@ code block name using standard function call syntax
(* input input)
#+END_SRC
#+results: squared
#+RESULTS: squared
: 4
@end example
@ -13174,7 +13208,7 @@ on two lines
(concatenate 'string x " for you.")
#+END_SRC
#+results: read-literal-example
#+RESULTS: read-literal-example
: A literal example
: on two lines for you.
@ -13216,7 +13250,7 @@ following example assigns the last cell of the first row the table
data
#+END_SRC
#+results:
#+RESULTS:
: a
@end example
@ -13237,7 +13271,7 @@ to @code{data}.
data
#+END_SRC
#+results:
#+RESULTS:
| 2 | b |
| 3 | c |
| 4 | d |
@ -13259,7 +13293,7 @@ column is referenced.
data
#+END_SRC
#+results:
#+RESULTS:
| 1 | 2 | 3 | 4 |
@end example
@ -13279,7 +13313,7 @@ another by commas, as shown in the following example.
data
#+END_SRC
#+results:
#+RESULTS:
| 11 | 14 | 17 |
@end example
@ -13312,7 +13346,7 @@ Emacs Lisp, as shown in the following example.
$data
#+END_SRC
#+results:
#+RESULTS:
: (a b c)
@end example
@ -13378,10 +13412,10 @@ The results are interpreted as raw Org mode code and are inserted directly
into the buffer. If the results look like a table they will be aligned as
such by Org mode. E.g., @code{:results value raw}.
@item @code{html}
Results are assumed to be HTML and will be enclosed in a @code{begin_html}
Results are assumed to be HTML and will be enclosed in a @code{BEGIN_HTML}
block. E.g., @code{:results value html}.
@item @code{latex}
Results assumed to be @LaTeX{} and are enclosed in a @code{begin_latex} block.
Results assumed to be @LaTeX{} and are enclosed in a @code{BEGIN_LaTeX} block.
E.g., @code{:results value latex}.
@item @code{code}
Result are assumed to be parsable code and are enclosed in a code block.
@ -13614,21 +13648,34 @@ interpreted language.
@node noweb, noweb-ref, session, Specific header arguments
@subsubsection @code{:noweb}
The @code{:noweb} header argument controls expansion of ``noweb'' style (see
@ref{Noweb reference syntax}) references in a code block. This header
argument can have one of three values: @code{yes}, @code{no}, or @code{tangle}.
The @code{:noweb} header argument controls expansion of ``noweb'' syntax
references (see @ref{Noweb reference syntax}) when the code block is
evaluated, tangled, or exported. The @code{:noweb} header argument can have
one of the five values: @code{no}, @code{yes}, @code{tangle}, or
@code{no-export} @code{strip-export}.
@itemize @bullet
@item @code{yes}
All ``noweb'' syntax references in the body of the code block will be
expanded before the block is evaluated, tangled or exported.
@item @code{no}
The default. No ``noweb'' syntax specific action is taken when the code
block is evaluated, tangled or exported.
The default. ``Noweb'' syntax references in the body of the code block will
not be expanded before the code block is evaluated, tangled or exported.
@item @code{yes}
``Noweb'' syntax references in the body of the code block will be
expanded before the code block is evaluated, tangled or exported.
@item @code{tangle}
All ``noweb'' syntax references in the body of the code block will be
expanded before the block is tangled, however ``noweb'' references will not
be expanded when the block is evaluated or exported.
``Noweb'' syntax references in the body of the code block will be expanded
before the code block is tangled. However, ``noweb'' syntax references will
not be expanded when the code block is evaluated or exported.
@item @code{no-export}
``Noweb'' syntax references in the body of the code block will be expanded
before the block is evaluated or tangled. However, ``noweb'' syntax
references will not be expanded when the code block is exported.
@item @code{strip-export}
``Noweb'' syntax references in the body of the code block will be expanded
before the block is evaluated or tangled. However, ``noweb'' syntax
references will not be removed when the code block is exported.
@item @code{eval}
``Noweb'' syntax references in the body of the code block will only be
expanded before the block is evaluated.
@end itemize
@subsubheading Noweb prefix lines
@ -13729,7 +13776,7 @@ every time it is called.
@item @code{yes}
Every time the code block is run a SHA1 hash of the code and arguments
passed to the block will be generated. This hash is packed into the
@code{#+results:} line and will be checked on subsequent
@code{#+RESULTS:} line and will be checked on subsequent
executions of the code block. If the code block has not
changed since the last time it was evaluated, it will not be re-evaluated.
@end itemize
@ -13746,7 +13793,7 @@ changed since it was last run.
runif(1)
#+END_SRC
#+results[a2a72cd647ad44515fab62e144796432793d68e1]: random
#+RESULTS[a2a72cd647ad44515fab62e144796432793d68e1]: random
0.4659510825295
#+NAME: caller
@ -13754,7 +13801,7 @@ changed since it was last run.
x
#+END_SRC
#+results[bec9c8724e397d5df3b696502df3ed7892fc4f5f]: caller
#+RESULTS[bec9c8724e397d5df3b696502df3ed7892fc4f5f]: caller
0.254227238707244
@end example
@ -13798,7 +13845,7 @@ default value yields the following results.
return tab
#+END_SRC
#+results: echo-table
#+RESULTS: echo-table
| a | b | c |
| d | e | f |
| g | h | i |
@ -13820,7 +13867,7 @@ Leaves hlines in the table. Setting @code{:hlines yes} has this effect.
return tab
#+END_SRC
#+results: echo-table
#+RESULTS: echo-table
| a | b | c |
|---+---+---|
| d | e | f |
@ -13858,7 +13905,7 @@ processing, then reapplied to the results.
return [[val + '*' for val in row] for row in tab]
#+END_SRC
#+results: echo-table-again
#+RESULTS: echo-table-again
| a |
|----|
| b* |
@ -13901,7 +13948,7 @@ and is then reapplied to the results.
return [[val + 10 for val in row] for row in tab]
#+END_SRC
#+results: echo-table-once-again
#+RESULTS: echo-table-once-again
| one | 11 | 12 | 13 | 14 | 15 |
| two | 16 | 17 | 18 | 19 | 20 |
@end example
@ -13919,7 +13966,7 @@ Setting the @code{:shebang} header argument to a string value
first line of any tangled file holding the code block, and the file
permissions of the tangled file are set to make it executable.
@node eval, , shebang, Specific header arguments
@node eval, wrap, shebang, Specific header arguments
@subsubsection @code{:eval}
The @code{:eval} header argument can be used to limit the evaluation of
specific code blocks. The @code{:eval} header argument can be useful for
@ -13944,6 +13991,14 @@ If this header argument is not set then evaluation is determined by the value
of the @code{org-confirm-babel-evaluate} variable see @ref{Code evaluation
security}.
@node wrap, , eval, Specific header arguments
@subsubsection @code{:wrap}
The @code{:wrap} header argument is used to mark the results of source block
evaluation. The header argument can be passed a string that will be appended
to @code{#+BEGIN_} and @code{#+END_}, which will then be used to wrap the
results. If not string is specified then the results will be wrapped in a
@code{#+BEGIN/END_RESULTS} block.
@node Results of evaluation, Noweb reference syntax, Header arguments, Working With Source Code
@section Results of evaluation
@cindex code block, results of evaluation
@ -14013,7 +14068,7 @@ process. For example, compare the following two blocks:
print "bye"
#+END_SRC
#+results:
#+RESULTS:
: hello
: bye
@end example
@ -14026,7 +14081,7 @@ In non-session mode, the `2' is not printed and does not appear.
print "bye"
#+END_SRC
#+results:
#+RESULTS:
: hello
: 2
: bye
@ -14317,19 +14372,19 @@ keystrokes are typed on a line by itself.
The following template selectors are currently supported.
@multitable @columnfractions 0.1 0.9
@item @kbd{s} @tab @code{#+begin_src ... #+end_src}
@item @kbd{e} @tab @code{#+begin_example ... #+end_example}
@item @kbd{q} @tab @code{#+begin_quote ... #+end_quote}
@item @kbd{v} @tab @code{#+begin_verse ... #+end_verse}
@item @kbd{c} @tab @code{#+begin_center ... #+end_center}
@item @kbd{l} @tab @code{#+begin_latex ... #+end_latex}
@item @kbd{L} @tab @code{#+latex:}
@item @kbd{h} @tab @code{#+begin_html ... #+end_html}
@item @kbd{H} @tab @code{#+html:}
@item @kbd{a} @tab @code{#+begin_ascii ... #+end_ascii}
@item @kbd{A} @tab @code{#+ascii:}
@item @kbd{i} @tab @code{#+index:} line
@item @kbd{I} @tab @code{#+include:} line
@item @kbd{s} @tab @code{#+BEGIN_SRC ... #+END_SRC}
@item @kbd{e} @tab @code{#+BEGIN_EXAMPLE ... #+END_EXAMPLE}
@item @kbd{q} @tab @code{#+BEGIN_QUOTE ... #+END_QUOTE}
@item @kbd{v} @tab @code{#+BEGIN_VERSE ... #+END_VERSE}
@item @kbd{c} @tab @code{#+BEGIN_CENTER ... #+END_CENTER}
@item @kbd{l} @tab @code{#+BEGIN_LaTeX ... #+END_LaTeX}
@item @kbd{L} @tab @code{#+LaTeX:}
@item @kbd{h} @tab @code{#+BEGIN_HTML ... #+END_HTML}
@item @kbd{H} @tab @code{#+HTML:}
@item @kbd{a} @tab @code{#+BEGIN_ASCII ... #+END_ASCII}
@item @kbd{A} @tab @code{#+ASCII:}
@item @kbd{i} @tab @code{#+INDEX:} line
@item @kbd{I} @tab @code{#+INCLUDE:} line
@end multitable
For example, on an empty line, typing "<e" and then pressing TAB, will expand
@ -14423,7 +14478,7 @@ either by the @i{calc} interpreter, or by the @i{Emacs Lisp} interpreter.
@cindex options, for customization
@cindex variables, for customization
There are more than 180 variables that can be used to customize
There are more than 500 variables that can be used to customize
Org. For the sake of compactness of the manual, I am not
describing the variables here. A structured overview of customization
variables is available with @kbd{M-x org-customize}. Or select
@ -14474,8 +14529,8 @@ Set tags that can be inherited by any entry in the file, including the
top-level entries.
@item #+DRAWERS: NAME1 .....
@vindex org-drawers
Set the file-local set of drawers. The corresponding global variable is
@code{org-drawers}.
Set the file-local set of additional drawers. The corresponding global
variable is @code{org-drawers}.
@item #+LINK: linkword replace
@vindex org-link-abbrev-alist
These lines (several are allowed) specify link abbreviations.
@ -14686,7 +14741,7 @@ This line contains the formulas for the table directly above the line.
@item #+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+TEXT:, #+DATE:,
@itemx #+OPTIONS:, #+BIND:, #+XSLT:,
@itemx #+DESCRIPTION:, #+KEYWORDS:,
@itemx #+LATEX_HEADER:, #+STYLE:, #+LINK_UP:, #+LINK_HOME:,
@itemx #+LaTeX_HEADER:, #+STYLE:, #+LINK_UP:, #+LINK_HOME:,
@itemx #+EXPORT_SELECT_TAGS:, #+EXPORT_EXCLUDE_TAGS:
These lines provide settings for exporting files. For more details see
@ref{Export options}.
@ -15962,6 +16017,7 @@ If WHICH is nil or `all', get all properties. If WHICH is
`special' or `standard', only get that subclass.
@end defun
@vindex org-use-property-inheritance
@findex org-insert-property-drawer
@defun org-entry-get pom property &optional inherit
Get value of PROPERTY for entry at point-or-marker POM. By default,
this only looks at properties defined locally in the entry. If INHERIT
@ -15984,7 +16040,7 @@ Get all property keys in the current buffer.
@end defun
@defun org-insert-property-drawer
Insert a property drawer at point.
Insert a property drawer for the current entry. Also
@end defun
@defun org-entry-put-multivalued-property pom property &rest values
@ -16137,13 +16193,16 @@ The following example counts the number of entries with TODO keyword
@cindex iPhone
@cindex MobileOrg
@uref{http://mobileorg.ncogni.to/, MobileOrg} is an application for the
@i{iPhone/iPod Touch} series of devices, developed by Richard Moreland.
@i{MobileOrg} offers offline viewing and capture support for an Org mode
system rooted on a ``real'' computer. It does also allow you to record
changes to existing entries. Android users should check out
@i{MobileOrg} is the name of the mobile companion app for Org mode, currently
available for iOS and for Android. @i{MobileOrg} offers offline viewing and
capture support for an Org mode system rooted on a ``real'' computer. It
does also allow you to record changes to existing entries.
The @uref{http://mobileorg.ncogni.to/, iOS implementation} for the
@i{iPhone/iPod Touch/iPad} series of devices, was developed by Richard
Moreland. Android users should check out
@uref{http://wiki.github.com/matburt/mobileorg-android/, MobileOrg Android}
by Matt Jones.
by Matt Jones. The two implementations are not identical but offer similar
features.
This appendix describes the support Org has for creating agenda views in a
format that can be displayed by @i{MobileOrg}, and for integrating notes
@ -16308,7 +16367,7 @@ Bastien has written a large number of extensions to Org (most of them
integrated into the core by now), including the @LaTeX{} exporter and the plain
list parser. His support during the early days, when he basically acted as
co-maintainer, was central to the success of this project. Bastien also
invented Worg, helped establishing the Web presence of Org, and sponsors
invented Worg, helped establishing the Web presence of Org, and sponsored
hosting costs for the orgmode.org website.
@item Eric Schulte and Dan Davison
Eric and Dan are jointly responsible for the Org-babel system, which turns

View File

@ -1,5 +1,5 @@
% Reference Card for Org Mode
\def\orgversionnumber{7.8.03}
\def\orgversionnumber{7.8.04}
\def\versionyear{2012} % latest update
\def\year{2012} % latest copyright year
@ -17,7 +17,7 @@
\pdflayout=(0l)
% Nothing else needs to be changed below this line.
% Copyright (C) 1987, 1993, 1996-1997, 2001-2011
% Copyright (C) 1987, 1993, 1996-1997, 2001-2012
% Free Software Foundation, Inc.
% This file is part of GNU Emacs.

View File

@ -3,8 +3,8 @@
@setfilename ../../info/orgguide
@settitle The compact Org-mode Guide
@set VERSION 7.8.03
@set DATE January 2012
@set VERSION 7.8.04
@set DATE March 2012
@c Use proper quote and backtick for code sections in PDF output
@c Cf. Texinfo manual 14.2
@ -40,7 +40,7 @@
@end macro
@copying
Copyright @copyright{} 2010 Free Software Foundation
Copyright @copyright{} 2010-2012 Free Software Foundation
@quotation
Permission is granted to copy, distribute and/or modify this document
@ -1906,7 +1906,7 @@ outline, not only the heading.
@c
@itemx @key{TAB}
Go to the original location of the item in another window. Under Emacs
22, @kbd{mouse-1} will also works for this.
22, @kbd{mouse-1} will also work for this.
@c
@itemx @key{RET}
Go to the original location of the item and delete other windows.
@ -2409,8 +2409,8 @@ verbatim @LaTeX{} code.
Export as DocBook file.
@end table
Similarly to the HTML exporter, you can use @code{#+DocBook:} and
@code{#+BEGIN_DocBook ... #+END_DocBook} construct to add verbatim @LaTeX{}
Similarly to the HTML exporter, you can use @code{#+DOCBOOK:} and
@code{#+BEGIN_DOCBOOK ... #+END_DOCBOOK} construct to add verbatim @LaTeX{}
code.
@node iCalendar export, , DocBook export, Exporting
@ -2492,10 +2492,10 @@ results in several formats.
The structure of code blocks is as follows:
@example
#+srcname: <name>
#+begin_src <language> <switches> <header arguments>
#+NAME: <name>
#+BEGIN_SRC <language> <switches> <header arguments>
<body>
#+end_src
#+END_SRC
@end example
Where @code{<name>} is a string used to name the code block,
@ -2520,11 +2520,11 @@ in many languages. For a complete list of supported languages see the
manual. The following shows a code block and its results.
@example
#+begin_src emacs-lisp
#+BEGIN_SRC emacs-lisp
(+ 1 2 3 4)
#+end_src
#+END_SRC
#+results:
#+RESULTS:
: 10
@end example
@ -2663,10 +2663,17 @@ indentation for each level. To get this support in a file, use
@node MobileOrg, , Clean view, Miscellaneous
@section MobileOrg
@i{MobileOrg} is an application originally developed for the @i{iPhone/iPod
Touch} series of devices, developed by Richard Moreland. There is also an
independent implementation for Android devices, by Matt Jones.
For details, see the Org-mode manual.
@i{MobileOrg} is the name of the mobile companion app for Org mode, currently
available for iOS and for Android. @i{MobileOrg} offers offline viewing and
capture support for an Org mode system rooted on a ``real'' computer. It
does also allow you to record changes to existing entries.
The @uref{http://mobileorg.ncogni.to/, iOS implementation} for the
@i{iPhone/iPod Touch/iPad} series of devices, was developed by Richard
Moreland. Android users should check out
@uref{http://wiki.github.com/matburt/mobileorg-android/, MobileOrg Android}
by Matt Jones. The two implementations are not identical but offer similar
features.
@seealso{
@uref{http://orgmode.org/manual/Miscellaneous.html#Miscellaneous, Chapter 15

View File

@ -1,4 +1,4 @@
% Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
% Copyright (C) 2007-2012 Free Software Foundation, Inc.
% This file is part of GNU Emacs.

View File

@ -3,11 +3,11 @@
% Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
%
\def\texinfoversion{2011-08-15.20}
\def\texinfoversion{2012-01-03.18}
%
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
% 2007, 2008 Free Software Foundation, Inc.
% 2007, 2008-2012 Free Software Foundation, Inc.
%
% This texinfo.tex file is free software: you can redistribute it and/or
% modify it under the terms of the GNU General Public License as

View File

@ -1,7 +1,7 @@
The files OrgOdtContentTemplate.xml and OrgOdtStyles.xml have the
following copyright information:
Copyright (C) 2010-2012 Free Software Foundation, Inc.
Copyright (C) 2010-2011 Free Software Foundation, Inc.
These files are part of GNU Emacs.

View File

@ -24,9 +24,9 @@
;;; Commentary:
;; Babel's awk can use special header argument:
;;
;;
;; - :in-file takes a path to a file of data to be processed by awk
;;
;;
;; - :stdin takes an Org-mode data or code block reference, the value
;; of which will be passed to the awk process through STDIN

View File

@ -34,15 +34,28 @@
;; 3) we are adding the "file" and "cmdline" header arguments
;;
;; 4) there are no variables (at least for now)
;;
;; 5) it depends on a variable defined in org-exp-blocks (namely
;; `org-ditaa-jar-path') so be sure you have org-exp-blocks loaded
;;; Code:
(require 'ob)
(defvar org-ditaa-jar-path) ;; provided by org-exp-blocks
(defvar org-babel-default-header-args:ditaa
'((:results . "file") (:exports . "results") (:java . "-Dfile.encoding=UTF-8"))
'((:results . "file")
(:exports . "results")
(:java . "-Dfile.encoding=UTF-8"))
"Default arguments for evaluating a ditaa source block.")
(defvar org-ditaa-jar-path)
(defcustom org-ditaa-jar-option "-jar"
"Option for the ditaa jar file.
Do not leave leading or trailing spaces in this string."
:group 'org-babel
:version "24.1"
:type 'string)
(defun org-babel-execute:ditaa (body params)
"Execute a block of Ditaa code with org-babel.
This function is called by `org-babel-execute-src-block'."
@ -55,7 +68,7 @@ This function is called by `org-babel-execute-src-block'."
(cmdline (cdr (assoc :cmdline params)))
(java (cdr (assoc :java params)))
(in-file (org-babel-temp-file "ditaa-"))
(cmd (concat "java " java " -jar "
(cmd (concat "java " java " " org-ditaa-jar-option " "
(shell-quote-argument
(expand-file-name org-ditaa-jar-path))
" " cmdline

View File

@ -43,31 +43,37 @@
When set to nil no code will be evaluated as part of the export
process."
:group 'org-babel
:version "24.1"
:type 'boolean)
(put 'org-export-babel-evaluate 'safe-local-variable (lambda (x) (eq x nil)))
(defun org-babel-exp-get-export-buffer ()
"Return the current export buffer if possible."
(cond
((bufferp org-current-export-file) org-current-export-file)
(org-current-export-file (get-file-buffer org-current-export-file))
('otherwise
(error "Requested export buffer when `org-current-export-file' is nil"))))
(defmacro org-babel-exp-in-export-file (lang &rest body)
(declare (indent 1))
`(let* ((lang-headers (intern (concat "org-babel-default-header-args:" ,lang)))
(heading (nth 4 (ignore-errors (org-heading-components))))
(link (when org-current-export-file
(org-make-link-string
(if heading
(concat org-current-export-file "::" heading)
org-current-export-file))))
(export-buffer (current-buffer)) results)
(when link
(export-buffer (current-buffer))
(original-buffer (org-babel-exp-get-export-buffer)) results)
(when original-buffer
;; resolve parameters in the original file so that
;; headline and file-wide parameters are included, attempt
;; to go to the same heading in the original file
(set-buffer (get-file-buffer org-current-export-file))
(set-buffer original-buffer)
(save-restriction
(condition-case nil
(let ((org-link-search-inhibit-query t))
(org-open-link-from-string link))
(error (when heading
(goto-char (point-min))
(re-search-forward (regexp-quote heading) nil t))))
(when heading
(condition-case nil
(let ((org-link-search-inhibit-query t))
(org-link-search heading))
(error (when heading
(goto-char (point-min))
(re-search-forward (regexp-quote heading) nil t)))))
(setq results ,@body))
(set-buffer export-buffer)
results)))
@ -109,13 +115,32 @@ none ----- do not display either code or results upon export"
(setf hash (org-babel-sha1-hash info)))
;; expand noweb references in the original file
(setf (nth 1 info)
(if (and (cdr (assoc :noweb (nth 2 info)))
(string= "yes" (cdr (assoc :noweb (nth 2 info)))))
(org-babel-expand-noweb-references
info (get-file-buffer org-current-export-file))
(nth 1 info)))
(if (string= "strip-export" (cdr (assoc :noweb (nth 2 info))))
(replace-regexp-in-string
(org-babel-noweb-wrap) "" (nth 1 info))
(if (org-babel-noweb-p (nth 2 info) :export)
(org-babel-expand-noweb-references
info (org-babel-exp-get-export-buffer))
(nth 1 info))))
(org-babel-exp-do-export info 'block hash)))))
(defcustom org-babel-exp-call-line-template
""
"Template used to export call lines.
This template may be customized to include the call line name
with any export markup. The template is filled out using
`org-fill-template', and the following %keys may be used.
line --- call line
An example value would be \"\\n: call: %line\" to export the call line
wrapped in a verbatim environment.
Note: the results are inserted separately after the contents of
this template."
:group 'org-babel
:type 'string)
(defvar org-babel-default-lob-header-args)
(defun org-babel-exp-non-block-elements (start end)
"Process inline source and call lines between START and END for export."
@ -146,7 +171,7 @@ none ----- do not display either code or results upon export"
(if (and (cdr (assoc :noweb params))
(string= "yes" (cdr (assoc :noweb params))))
(org-babel-expand-noweb-references
info (get-file-buffer org-current-export-file))
info (org-babel-exp-get-export-buffer))
(nth 1 info)))
(let ((code-replacement (save-match-data
(org-babel-exp-do-export
@ -162,22 +187,24 @@ none ----- do not display either code or results upon export"
(inlinep (match-string 11))
(inline-start (match-end 11))
(inline-end (match-end 0))
(rep (let ((lob-info (org-babel-lob-get-info)))
(save-match-data
(org-babel-exp-do-export
(list "emacs-lisp" "results"
(org-babel-merge-params
org-babel-default-header-args
org-babel-default-lob-header-args
(org-babel-params-from-properties)
(org-babel-parse-header-arguments
(org-babel-clean-text-properties
(concat ":var results="
(mapconcat #'identity
(butlast lob-info)
" ")))))
"" nil (car (last lob-info)))
'lob)))))
(results (save-match-data
(org-babel-exp-do-export
(list "emacs-lisp" "results"
(org-babel-merge-params
org-babel-default-header-args
org-babel-default-lob-header-args
(org-babel-params-from-properties)
(org-babel-parse-header-arguments
(org-babel-clean-text-properties
(concat ":var results="
(mapconcat #'identity
(butlast lob-info)
" ")))))
"" nil (car (last lob-info)))
'lob)))
(rep (org-fill-template
org-babel-exp-call-line-template
`(("line" . ,(nth 0 lob-info))))))
(if inlinep
(save-excursion
(goto-char inline-start)
@ -212,13 +239,37 @@ The function respects the value of the :exports header argument."
('both (org-babel-exp-results info type nil hash)
(org-babel-exp-code info)))))
(defcustom org-babel-exp-code-template
"#+BEGIN_SRC %lang%flags\n%body\n#+END_SRC"
"Template used to export the body of code blocks.
This template may be customized to include additional information
such as the code block name, or the values of particular header
arguments. The template is filled out using `org-fill-template',
and the following %keys may be used.
lang ------ the language of the code block
name ------ the name of the code block
body ------ the body of the code block
flags ----- the flags passed to the code block
In addition to the keys mentioned above, every header argument
defined for the code block may be used as a key and will be
replaced with its value."
:group 'org-babel
:type 'string)
(defun org-babel-exp-code (info)
"Return the original code block formatted for export."
(org-fill-template
"#+BEGIN_SRC %lang%flags\n%body\n#+END_SRC"
org-babel-exp-code-template
`(("lang" . ,(nth 0 info))
("body" . ,(nth 1 info))
,@(mapcar (lambda (pair)
(cons (substring (symbol-name (car pair)) 1)
(format "%S" (cdr pair))))
(nth 2 info))
("flags" . ,((lambda (f) (when f (concat " " f))) (nth 3 info)))
("body" . ,(nth 1 info)))))
("name" . ,(or (nth 4 info) "")))))
(defun org-babel-exp-results (info type &optional silent hash)
"Evaluate and return the results of the current code block for export.
@ -229,7 +280,8 @@ inhibit insertion of results into the buffer."
(when (and org-export-babel-evaluate
(not (and hash (equal hash (org-babel-current-result-hash)))))
(let ((lang (nth 0 info))
(body (nth 1 info)))
(body (nth 1 info))
(info (copy-sequence info)))
;; skip code blocks which we can't evaluate
(when (fboundp (intern (concat "org-babel-execute:" lang)))
(org-babel-eval-wipe-error-buffer)

View File

@ -5,6 +5,7 @@
;; Authors: Sergey Litvinov (based on ob-C.el by Eric Schulte), Eric Schulte
;; Keywords: literate programming, reproducible research, fortran
;; Homepage: http://orgmode.org
;; Version: 7.8.04
;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by

View File

@ -34,7 +34,7 @@
;;; Requirements:
;; - gnuplot :: http://www.gnuplot.info/
;;
;;
;; - gnuplot-mode :: http://cars9.uchicago.edu/~ravel/software/gnuplot-mode.html
;;; Code:

View File

@ -79,7 +79,7 @@
(cdr (member org-babel-haskell-eoe
(reverse (mapcar #'org-babel-trim raw)))))))
(org-babel-reassemble-table
(cond
(cond
((equal result-type 'output)
(mapconcat #'identity (reverse (cdr results)) "\n"))
((equal result-type 'value)

View File

@ -55,6 +55,7 @@
(defcustom org-babel-js-cmd "node"
"Name of command used to evaluate js blocks."
:group 'org-babel
:version "24.1"
:type 'string)
(defvar org-babel-js-function-wrapper

View File

@ -3,7 +3,7 @@
;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
;; Author: Martyn Jago
;; Keywords: babel language, literate programming
;; Keywords: babel language, literate programming, music score
;; Homepage: https://github.com/mjago/ob-lilypond
;; This file is part of GNU Emacs.
@ -23,10 +23,14 @@
;;; Commentary:
;; Installation / usage info, and examples are available at
;; https://github.com/mjago/ob-lilypond
;; Installation, ob-lilypond documentation, and examples are available at
;; http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-lilypond.html
;;
;; Lilypond documentation can be found at
;; http://lilypond.org/manuals.html
;;; Code:
(require 'ob)
(require 'ob-eval)
(require 'ob-tangle)
@ -37,9 +41,11 @@
(add-to-list 'org-babel-tangle-lang-exts '("LilyPond" . "ly"))
(defvar org-babel-default-header-args:lilypond '()
"Default header arguments for js code blocks.")
"Default header arguments for lilypond code blocks.
NOTE: The arguments are determined at lilypond compile time.
See (ly-set-header-args)")
(defconst ly-version "0.3"
(defconst ly-version "7.6"
"The version number of the file ob-lilypond.el.")
(defvar ly-compile-post-tangle t
@ -86,6 +92,10 @@ LY-GEN-SVG to t")
"HTML generation can be turned on by default by setting
LY-GEN-HTML to t")
(defvar ly-gen-pdf nil
"PDF generation can be turned on by default by setting
LY-GEN-PDF to t")
(defvar ly-use-eps nil
"You can force the compiler to use the EPS backend by setting
LY-USE-EPS to t")
@ -114,7 +124,7 @@ blocks")
body))))
vars)
body))
(defun org-babel-execute:lilypond (body params)
"This function is called by `org-babel-execute-src-block'.
Depending on whether we are in arrange mode either:
@ -138,7 +148,7 @@ specific arguments to =org-babel-tangle="
(defun ly-process-basic (body params)
"Execute a lilypond block in basic mode"
(let* ((result-params (cdr (assoc :result-params params)))
(out-file (cdr (assoc :file params)))
(cmdline (or (cdr (assoc :cmdline params))
@ -147,7 +157,7 @@ specific arguments to =org-babel-tangle="
(with-temp-file in-file
(insert (org-babel-expand-body:generic body params)))
(org-babel-eval
(concat
(ly-determine-ly-path)
@ -177,7 +187,7 @@ If error in compilation, attempt to mark the error in lilypond org file"
(ly-temp-file (ly-switch-extension
(buffer-file-name) ".ly")))
(if (file-exists-p ly-tangled-file)
(progn
(progn
(when (file-exists-p ly-temp-file)
(delete-file ly-temp-file))
(rename-file ly-tangled-file
@ -203,18 +213,20 @@ FILE-NAME is full path to lilypond (.ly) file"
(arg-2 nil) ;infile
(arg-3 "*lilypond*") ;buffer
(arg-4 t) ;display
(arg-5 (if ly-gen-png "--png" "")) ;&rest...
(arg-6 (if ly-gen-html "--html" ""))
(arg-7 (if ly-use-eps "-dbackend=eps" ""))
(arg-8 (if ly-gen-svg "-dbackend=svg" ""))
(arg-9 (concat "--output=" (file-name-sans-extension file-name)))
(arg-10 file-name))
(arg-4 t) ;display
(arg-5 (if ly-gen-png "--png" "")) ;&rest...
(arg-6 (if ly-gen-html "--html" ""))
(arg-7 (if ly-gen-pdf "--pdf" ""))
(arg-8 (if ly-use-eps "-dbackend=eps" ""))
(arg-9 (if ly-gen-svg "-dbackend=svg" ""))
(arg-10 (concat "--output=" (file-name-sans-extension file-name)))
(arg-11 file-name))
(if test
`(,arg-1 ,arg-2 ,arg-3 ,arg-4 ,arg-5
,arg-6 ,arg-7 ,arg-8 ,arg-9 ,arg-10)
`(,arg-1 ,arg-2 ,arg-3 ,arg-4 ,arg-5 ,arg-6
,arg-7 ,arg-8 ,arg-9 ,arg-10 ,arg-11)
(call-process
arg-1 arg-2 arg-3 arg-4 arg-5
arg-6 arg-7 arg-8 arg-9 arg-10))))
arg-1 arg-2 arg-3 arg-4 arg-5 arg-6
arg-7 arg-8 arg-9 arg-10 arg-11))))
(defun ly-check-for-compile-error (file-name &optional test)
"Check for compile error.
@ -243,7 +255,7 @@ FILE-NAME is full path to lilypond file"
"Mark the erroneous lines in the lilypond org buffer.
FILE-NAME is full path to lilypond file.
LINE is the erroneous line"
(switch-to-buffer-other-window
(concat (file-name-nondirectory
(ly-switch-extension file-name ".org"))))
@ -256,7 +268,7 @@ LINE is the erroneous line"
(set-mark (point))
(goto-char (- (point) (length line))))
(goto-char temp))))
(defun ly-parse-line-num (&optional buffer)
"Extract error line number."
@ -284,7 +296,7 @@ LINE is the erroneous line"
"Extract the erroneous line from the tangled .ly file
FILE-NAME is full path to lilypond file.
LINENO is the number of the erroneous line"
(with-temp-buffer
(insert-file-contents (ly-switch-extension file-name ".ly")
nil nil nil t)
@ -294,12 +306,12 @@ LINENO is the number of the erroneous line"
(forward-line (- lineNo 1))
(buffer-substring (point) (point-at-eol)))
nil)))
(defun ly-attempt-to-open-pdf (file-name &optional test)
"Attempt to display the generated pdf file
FILE-NAME is full path to lilypond file
If TEST is non-nil, the shell command is returned and is not run"
(when ly-display-pdf-post-tangle
(let ((pdf-file (ly-switch-extension file-name ".pdf")))
(if (file-exists-p pdf-file)
@ -307,8 +319,12 @@ If TEST is non-nil, the shell command is returned and is not run"
(concat (ly-determine-pdf-path) " " pdf-file)))
(if test
cmd-string
(shell-command cmd-string)))
(message "No pdf file generated so can't display!")))))
(start-process
"\"Audition pdf\""
"*lilypond*"
(ly-determine-pdf-path)
pdf-file)))
(message "No pdf file generated so can't display!")))))
(defun ly-attempt-to-play-midi (file-name &optional test)
"Attempt to play the generated MIDI file
@ -322,7 +338,11 @@ If TEST is non-nil, the shell command is returned and is not run"
(concat (ly-determine-midi-path) " " midi-file)))
(if test
cmd-string
(shell-command cmd-string)))
(start-process
"\"Audition midi\""
"*lilypond*"
(ly-determine-midi-path)
midi-file)))
(message "No midi file generated so can't play!")))))
(defun ly-determine-ly-path (&optional test)
@ -340,7 +360,7 @@ If TEST is non-nil, it contains a simulation of the OS for test purposes"
(defun ly-determine-pdf-path (&optional test)
"Return correct path to pdf viewer depending on OS
If TEST is non-nil, it contains a simulation of the OS for test purposes"
(let ((sys-type
(or test system-type)))
(cond ((string= sys-type "darwin")
@ -352,7 +372,7 @@ If TEST is non-nil, it contains a simulation of the OS for test purposes"
(defun ly-determine-midi-path (&optional test)
"Return correct path to midi player depending on OS
If TEST is non-nil, it contains a simulation of the OS for test purposes"
(let ((sys-type
(or test test system-type)))
(cond ((string= sys-type "darwin")
@ -360,10 +380,10 @@ If TEST is non-nil, it contains a simulation of the OS for test purposes"
((string= sys-type "win32")
ly-win32-midi-path)
(t ly-nix-midi-path))))
(defun ly-toggle-midi-play ()
"Toggle whether midi will be played following a successful compilation"
(interactive)
(setq ly-play-midi-post-tangle
(not ly-play-midi-post-tangle))
@ -373,7 +393,7 @@ If TEST is non-nil, it contains a simulation of the OS for test purposes"
(defun ly-toggle-pdf-display ()
"Toggle whether pdf will be displayed following a successful compilation"
(interactive)
(setq ly-display-pdf-post-tangle
(not ly-display-pdf-post-tangle))
@ -399,6 +419,15 @@ If TEST is non-nil, it contains a simulation of the OS for test purposes"
(message (concat "HTML generation has been "
(if ly-gen-html "ENABLED." "DISABLED."))))
(defun ly-toggle-pdf-generation ()
"Toggle whether pdf will be generated by compilation"
(interactive)
(setq ly-gen-pdf
(not ly-gen-pdf))
(message (concat "PDF generation has been "
(if ly-gen-pdf "ENABLED." "DISABLED."))))
(defun ly-toggle-arrange-mode ()
"Toggle whether in Arrange mode or Basic mode"
@ -428,6 +457,7 @@ mode i.e. ARRANGE-MODE is t"
'((:tangle . "yes")
(:noweb . "yes")
(:results . "silent")
(:cache . "yes")
(:comments . "yes")))
(t
'((:results . "file")
@ -441,6 +471,4 @@ dependent on LY-ARRANGE-MODE"
(provide 'ob-lilypond)
;;; ob-lilypond.el ends here

View File

@ -49,6 +49,7 @@
For example a value of \"(progn ;; %s\\n %%s)\" would ignore the
current directory string."
:group 'org-babel
:version "24.1"
:type 'string)
(defun org-babel-expand-body:lisp (body params)

View File

@ -39,6 +39,7 @@ files to `org-babel-lob-files'.")
"Files used to populate the `org-babel-library-of-babel'.
To add files to this list use the `org-babel-lob-ingest' command."
:group 'org-babel
:version "24.1"
:type 'list)
(defvar org-babel-default-lob-header-args '((:exports . "results"))
@ -104,7 +105,7 @@ if so then run the appropriate source block from the Library."
(beginning-of-line 1)
(when (looking-at org-babel-lob-one-liner-regexp)
(append
(mapcar #'org-babel-clean-text-properties
(mapcar #'org-babel-clean-text-properties
(list
(format "%s%s(%s)%s"
(nonempty 3 12)
@ -115,7 +116,7 @@ if so then run the appropriate source block from the Library."
(nonempty 9 18)))
(list (length (if (= (length (match-string 12)) 0)
(match-string 2) (match-string 11))))))))))
(defun org-babel-lob-execute (info)
"Execute the lob call specified by INFO."
(let ((params (org-babel-process-params

View File

@ -98,7 +98,7 @@
(lambda (pair) (format "let %s = %s;;" (car pair)
(org-babel-ocaml-elisp-to-ocaml (cdr pair))))
(mapcar #'cdr (org-babel-get-header params :var))))
(defun org-babel-ocaml-elisp-to-ocaml (val)
"Return a string of ocaml code which evaluates to VAL."
(if (listp val)

View File

@ -45,10 +45,10 @@
;; PicoLisp _is_ an object-oriented database with a Prolog-based query
;; language implemented in PicoLisp (Pilog). Database objects are
;; first-class members of the language.
;; first-class members of the language.
;; PicoLisp is an extremely productive framework for the development
;; of interactive web-applications (on top of a database).
;; of interactive web-applications (on top of a database).
;;; Requirements:
@ -76,6 +76,7 @@
(defcustom org-babel-picolisp-cmd "pil"
"Name of command used to evaluate picolisp blocks."
:group 'org-babel
:version "24.1"
:type 'string)
(defun org-babel-expand-body:picolisp (body params &optional processed-params)
@ -96,7 +97,7 @@
(defun org-babel-execute:picolisp (body params)
"Execute a block of Picolisp code with org-babel. This function is
called by `org-babel-execute-src-block'"
called by `org-babel-execute-src-block'"
(message "executing Picolisp source code block")
(let* (
;; name of the session or "none"
@ -119,7 +120,7 @@
((member "value" result-params)
(format "(out \"/dev/null\" %s)" full-body))
(t full-body))))
((lambda (result)
(if (or (member "verbatim" result-params)
(member "scalar" result-params)

View File

@ -44,6 +44,7 @@
(defcustom org-plantuml-jar-path nil
"Path to the plantuml.jar file."
:group 'org-babel
:version "24.1"
:type 'string)
(defun org-babel-execute:plantuml (body params)

View File

@ -60,7 +60,7 @@
(declare-function org-narrow-to-subtree "org" ())
(declare-function org-id-find-id-in-file "org-id" (id file &optional markerp))
(declare-function org-show-context "org" (&optional key))
(declare-function org-pop-to-buffer-same-window
(declare-function org-pop-to-buffer-same-window
"org-compat" (&optional buffer-or-name norecord label))
(defvar org-babel-ref-split-regexp

View File

@ -28,10 +28,10 @@
;;; Requirements:
;; - ruby and irb executables :: http://www.ruby-lang.org/
;;
;;
;; - ruby-mode :: Can be installed through ELPA, or from
;; http://github.com/eschulte/rinari/raw/master/util/ruby-mode.el
;;
;;
;; - inf-ruby mode :: Can be installed through ELPA, or from
;; http://github.com/eschulte/rinari/raw/master/util/inf-ruby.el

View File

@ -54,6 +54,7 @@
(defcustom org-babel-scheme-cmd "guile"
"Name of command used to evaluate scheme blocks."
:group 'org-babel
:version "24.1"
:type 'string)
(defun org-babel-expand-body:scheme (body params)

View File

@ -56,14 +56,13 @@ This will be passed to `shell-command-on-region'")
This function is called by `org-babel-execute-src-block'."
(let* ((session (org-babel-sh-initiate-session
(cdr (assoc :session params))))
(result-params (cdr (assoc :result-params params)))
(stdin ((lambda (stdin) (when stdin (org-babel-sh-var-to-string
(org-babel-ref-resolve stdin))))
(cdr (assoc :stdin params))))
(full-body (org-babel-expand-body:generic
body params (org-babel-variable-assignments:sh params))))
(org-babel-reassemble-table
(org-babel-sh-evaluate session full-body result-params stdin)
(org-babel-sh-evaluate session full-body params stdin)
(org-babel-pick-name
(cdr (assoc :colname-names params)) (cdr (assoc :colnames params)))
(org-babel-pick-name
@ -134,29 +133,38 @@ Emacs-lisp table, otherwise return the results as a string."
(defvar org-babel-sh-eoe-output "org_babel_sh_eoe"
"String to indicate that evaluation has completed.")
(defun org-babel-sh-evaluate (session body &optional result-params stdin)
(defun org-babel-sh-evaluate (session body &optional params stdin)
"Pass BODY to the Shell process in BUFFER.
If RESULT-TYPE equals 'output then return a list of the outputs
of the statements in BODY, if RESULT-TYPE equals 'value then
return the value of the last statement in BODY."
((lambda (results)
(when results
(if (or (member "scalar" result-params)
(member "verbatim" result-params)
(member "output" result-params))
results
(let ((tmp-file (org-babel-temp-file "sh-")))
(with-temp-file tmp-file (insert results))
(org-babel-import-elisp-from-file tmp-file)))))
(let ((result-params (cdr (assoc :result-params params))))
(if (or (member "scalar" result-params)
(member "verbatim" result-params)
(member "output" result-params))
results
(let ((tmp-file (org-babel-temp-file "sh-")))
(with-temp-file tmp-file (insert results))
(org-babel-import-elisp-from-file tmp-file))))))
(cond
(stdin ; external shell script w/STDIN
(let ((script-file (org-babel-temp-file "sh-script-"))
(stdin-file (org-babel-temp-file "sh-stdin-")))
(with-temp-file script-file (insert body))
(stdin-file (org-babel-temp-file "sh-stdin-"))
(shebang (cdr (assoc :shebang params)))
(padline (not (string= "no" (cdr (assoc :padline params))))))
(with-temp-file script-file
(when shebang (insert (concat shebang "\n")))
(when padline (insert "\n"))
(insert body))
(set-file-modes script-file #o755)
(with-temp-file stdin-file (insert stdin))
(with-temp-buffer
(call-process-shell-command
(format "%s %s" org-babel-sh-command script-file)
(if shebang
script-file
(format "%s %s" org-babel-sh-command script-file))
stdin-file
(current-buffer))
(buffer-string))))
@ -182,7 +190,17 @@ return the value of the last statement in BODY."
(list org-babel-sh-eoe-indicator))))
2)) "\n"))
('otherwise ; external shell script
(org-babel-eval org-babel-sh-command (org-babel-trim body))))))
(if (cdr (assoc :shebang params))
(let ((script-file (org-babel-temp-file "sh-script-"))
(shebang (cdr (assoc :shebang params)))
(padline (not (string= "no" (cdr (assoc :padline params))))))
(with-temp-file script-file
(when shebang (insert (concat shebang "\n")))
(when padline (insert "\n"))
(insert body))
(set-file-modes script-file #o755)
(org-babel-eval script-file ""))
(org-babel-eval org-babel-sh-command (org-babel-trim body)))))))
(defun org-babel-sh-strip-weird-long-prompt (string)
"Remove prompt cruft from a string of shell output."

View File

@ -40,7 +40,7 @@
;; - add more useful header arguments (user, passwd, database, etc...)
;; - support for more engines (currently only supports mysql)
;; - what's a reasonable way to drop table data into SQL?
;;
;;
;;; Code:
(require 'ob)
@ -70,6 +70,10 @@ This function is called by `org-babel-execute-src-block'."
(org-babel-temp-file "sql-out-")))
(header-delim "")
(command (case (intern engine)
('monetdb (format "mclient -f tab %s < %s > %s"
(or cmdline "")
(org-babel-process-file-name in-file)
(org-babel-process-file-name out-file)))
('msosql (format "osql %s -s \"\t\" -i %s -o %s"
(or cmdline "")
(org-babel-process-file-name in-file)

View File

@ -47,6 +47,7 @@ be inserted as the extension commonly used to identify files
written in this language. If no entry is found in this list,
then the name of the language is used."
:group 'org-babel-tangle
:version "24.1"
:type '(repeat
(cons
(string "Language name")
@ -55,16 +56,19 @@ then the name of the language is used."
(defcustom org-babel-post-tangle-hook nil
"Hook run in code files tangled by `org-babel-tangle'."
:group 'org-babel
:version "24.1"
:type 'hook)
(defcustom org-babel-pre-tangle-hook '(save-buffer)
"Hook run at the beginning of `org-babel-tangle'."
:group 'org-babel
:version "24.1"
:type 'hook)
(defcustom org-babel-tangle-body-hook nil
"Hook run over the contents of each code block body."
:group 'org-babel
:version "24.1"
:type 'hook)
(defcustom org-babel-tangle-comment-format-beg "[[%link][%source-name]]"
@ -79,6 +83,7 @@ information into the output using `org-fill-template'.
Whether or not comments are inserted during tangling is
controlled by the :comments header argument."
:group 'org-babel
:version "24.1"
:type 'string)
(defcustom org-babel-tangle-comment-format-end "%source-name ends here"
@ -93,6 +98,7 @@ information into the output using `org-fill-template'.
Whether or not comments are inserted during tangling is
controlled by the :comments header argument."
:group 'org-babel
:version "24.1"
:type 'string)
(defcustom org-babel-process-comment-text #'org-babel-trim
@ -101,6 +107,7 @@ inserted as comments in tangled source-code files. The function
should take a single string argument and return a string
result. The default value is `org-babel-trim'."
:group 'org-babel
:version "24.1"
:type 'function)
(defun org-babel-find-file-noselect-refresh (file)
@ -283,7 +290,7 @@ references."
(interactive)
(goto-char (point-min))
(while (or (re-search-forward "\\[\\[file:.*\\]\\[.*\\]\\]" nil t)
(re-search-forward "<<[^[:space:]]*>>" nil t))
(re-search-forward (org-babel-noweb-wrap) nil t))
(delete-region (save-excursion (beginning-of-line 1) (point))
(save-excursion (end-of-line 1) (forward-char 1) (point)))))
@ -344,11 +351,7 @@ code blocks by language."
body params
(and (fboundp assignments-cmd)
(funcall assignments-cmd params))))))
(if (and (cdr (assoc :noweb params)) ;; expand noweb refs
(let ((nowebs (split-string
(cdr (assoc :noweb params)))))
(or (member "yes" nowebs)
(member "tangle" nowebs))))
(if (org-babel-noweb-p params :tangle)
(org-babel-expand-noweb-references info)
(nth 1 info)))))
(comment

View File

@ -33,6 +33,8 @@
(defvar org-babel-library-of-babel)
(declare-function show-all "outline" ())
(declare-function org-reduce "org" (CL-FUNC CL-SEQ &rest CL-KEYS))
(declare-function org-mark-ring-push "org" (&optional pos buffer))
(declare-function org-strip-protective-commas "org" (beg end))
(declare-function tramp-compat-make-temp-file "tramp-compat"
(filename &optional dir-flag))
(declare-function tramp-dissect-file-name "tramp" (name &optional nodefault))
@ -57,6 +59,7 @@
(declare-function org-cycle "org" (&optional arg))
(declare-function org-uniquify "org" (list))
(declare-function org-current-level "org" ())
(declare-function org-strip-protective-commas "org" (beg end))
(declare-function org-table-import "org-table" (file arg))
(declare-function org-add-hook "org-compat"
(hook function &optional append local))
@ -104,6 +107,7 @@ against accidental code block evaluation. The
`org-babel-no-eval-on-ctrl-c-ctrl-c' variable can be used to
remove code block execution from the C-c C-c keybinding."
:group 'org-babel
:version "24.1"
:type '(choice boolean function))
;; don't allow this variable to be changed through file settings
(put 'org-confirm-babel-evaluate 'safe-local-variable (lambda (x) (eq x t)))
@ -111,6 +115,7 @@ remove code block execution from the C-c C-c keybinding."
(defcustom org-babel-no-eval-on-ctrl-c-ctrl-c nil
"Remove code block evaluation from the C-c C-c key binding."
:group 'org-babel
:version "24.1"
:type 'boolean)
(defcustom org-babel-results-keyword "RESULTS"
@ -120,6 +125,23 @@ be used."
:group 'org-babel
:type 'string)
(defcustom org-babel-noweb-wrap-start "<<"
"String used to begin a noweb reference in a code block.
See also `org-babel-noweb-wrap-end'."
:group 'org-babel
:type 'string)
(defcustom org-babel-noweb-wrap-end ">>"
"String used to end a noweb reference in a code block.
See also `org-babel-noweb-wrap-start'."
:group 'org-babel
:type 'string)
(defun org-babel-noweb-wrap (&optional regexp)
(concat org-babel-noweb-wrap-start
(or regexp "\\([^ \t\n].+?[^ \t]\\|[^ \t\n]\\)")
org-babel-noweb-wrap-end))
(defvar org-babel-src-name-regexp
"^[ \t]*#\\+name:[ \t]*"
"Regular expression used to match a source name line.")
@ -381,7 +403,7 @@ then run `org-babel-pop-to-session'."
(mkdirp . ((yes no)))
(no-expand)
(noeval)
(noweb . ((yes no tangle)))
(noweb . ((yes no tangle no-export strip-export)))
(noweb-ref . :any)
(noweb-sep . :any)
(padline . ((yes no)))
@ -394,7 +416,8 @@ then run `org-babel-pop-to-session'."
(session . :any)
(shebang . :any)
(tangle . ((tangle yes no :any)))
(var . :any)))
(var . :any)
(wrap . :any)))
(defconst org-babel-header-arg-names
(mapcar #'car org-babel-common-header-args-w-values)
@ -492,12 +515,9 @@ block."
(new-hash (when cache? (org-babel-sha1-hash info)))
(old-hash (when cache? (org-babel-current-result-hash)))
(body (setf (nth 1 info)
(let ((noweb (cdr (assoc :noweb params))))
(if (and noweb
(or (string= "yes" noweb)
(string= "tangle" noweb)))
(org-babel-expand-noweb-references info)
(nth 1 info)))))
(if (org-babel-noweb-p params :eval)
(org-babel-expand-noweb-references info)
(nth 1 info))))
(dir (cdr (assoc :dir params)))
(default-directory
(or (and dir (file-name-as-directory dir)) default-directory))
@ -571,8 +591,7 @@ arguments and pop open the results in a preview buffer."
(lambda (el1 el2) (string< (symbol-name (car el1))
(symbol-name (car el2)))))))
(body (setf (nth 1 info)
(if (and (cdr (assoc :noweb params))
(string= "yes" (cdr (assoc :noweb params))))
(if (org-babel-noweb-p params :eval)
(org-babel-expand-noweb-references info) (nth 1 info))))
(expand-cmd (intern (concat "org-babel-expand-body:" lang)))
(assignments-cmd (intern (concat "org-babel-variable-assignments:"
@ -669,8 +688,7 @@ session."
(lang (nth 0 info))
(params (nth 2 info))
(body (setf (nth 1 info)
(if (and (cdr (assoc :noweb params))
(string= "yes" (cdr (assoc :noweb params))))
(if (org-babel-noweb-p params :eval)
(org-babel-expand-noweb-references info)
(nth 1 info))))
(session (cdr (assoc :session params)))
@ -1442,13 +1460,35 @@ If the point is not on a source block then return nil."
(defun org-babel-goto-named-src-block (name)
"Go to a named source-code block."
(interactive
(let ((completion-ignore-case t))
(list (org-icompleting-read "source-block name: "
(org-babel-src-block-names) nil t))))
(let ((completion-ignore-case t)
(under-point (thing-at-point 'line)))
(list (org-icompleting-read
"source-block name: " (org-babel-src-block-names) nil t
(cond
;; noweb
((string-match (org-babel-noweb-wrap) under-point)
(let ((block-name (match-string 1 under-point)))
(string-match "[^(]*" block-name)
(match-string 0 block-name)))
;; #+call:
((string-match org-babel-lob-one-liner-regexp under-point)
(let ((source-info (car (org-babel-lob-get-info))))
(if (string-match "^\\([^\\[]+?\\)\\(\\[.*\\]\\)?(" source-info)
(let ((source-name (match-string 1 source-info)))
source-name))))
;; #+results:
((string-match (concat "#\\+" org-babel-results-keyword
"\\:\s+\\([^\\(]*\\)") under-point)
(match-string 1 under-point))
;; symbol-at-point
((and (thing-at-point 'symbol))
(org-babel-find-named-block (thing-at-point 'symbol))
(thing-at-point 'symbol))
(""))))))
(let ((point (org-babel-find-named-block name)))
(if point
;; taken from `org-open-at-point'
(progn (goto-char point) (org-show-context))
(progn (org-mark-ring-push) (goto-char point) (org-show-context))
(message "source-code block '%s' not found in this buffer" name))))
(defun org-babel-find-named-block (name)
@ -1874,6 +1914,9 @@ code ---- the results are extracted in the syntax of the source
(setq end (point-marker))
;; possibly wrap result
(cond
((assoc :wrap (nth 2 info))
(let ((name (or (cdr (assoc :wrap (nth 2 info))) "RESULTS")))
(wrap (concat "#+BEGIN_" name) (concat "#+END_" name))))
((member "html" result-params)
(wrap "#+BEGIN_HTML" "#+END_HTML"))
((member "latex" result-params)
@ -1925,11 +1968,10 @@ code ---- the results are extracted in the syntax of the source
(progn (re-search-forward (concat "^" (match-string 1) ":END:"))
(forward-char 1) (point)))
(t
(let ((case-fold-search t)
(blocks-re (regexp-opt
(list "latex" "html" "example" "src" "result" "org"))))
(if (looking-at (concat "[ \t]*#\\+begin_" blocks-re))
(progn (re-search-forward (concat "[ \t]*#\\+end_" blocks-re) nil t)
(let ((case-fold-search t))
(if (looking-at (concat "[ \t]*#\\+begin_\\([^ \t\n\r]+\\)"))
(progn (re-search-forward (concat "[ \t]*#\\+end_" (match-string 1))
nil t)
(forward-char 1))
(while (looking-at "[ \t]*\\(: \\|\\[\\[\\)")
(forward-line 1))))
@ -2073,8 +2115,11 @@ parameters when merging lists."
(:tangle ;; take the latest -- always overwrite
(setq tangle (or (list (cdr pair)) tangle)))
(:noweb
(setq noweb (e-merge '(("yes" "no" "tangle")) noweb
(split-string (or (cdr pair) "")))))
(setq noweb (e-merge
'(("yes" "no" "tangle" "no-export"
"strip-export" "eval"))
noweb
(split-string (or (cdr pair) "")))))
(:cache
(setq cache (e-merge '(("yes" "no")) cache
(split-string (or (cdr pair) "")))))
@ -2106,6 +2151,20 @@ This results in much faster noweb reference expansion but does
not properly allow code blocks to inherit the \":noweb-ref\"
header argument from buffer or subtree wide properties.")
(defun org-babel-noweb-p (params context)
"Check if PARAMS require expansion in CONTEXT.
CONTEXT may be one of :tangle, :export or :eval."
(flet ((intersect (as bs)
(when as
(if (member (car as) bs)
(car as)
(intersect (cdr as) bs)))))
(intersect (case context
(:tangle '("yes" "tangle" "no-export" "strip-export"))
(:eval '("yes" "no-export" "strip-export" "eval"))
(:export '("yes")))
(split-string (or (cdr (assoc :noweb params)) "")))))
(defun org-babel-expand-noweb-references (&optional info parent-buffer)
"Expand Noweb references in the body of the current source code block.
@ -2153,8 +2212,7 @@ block but are passed literally to the \"example-block\"."
(with-temp-buffer
(insert body) (goto-char (point-min))
(setq index (point))
(while (and (re-search-forward "<<\\([^ \t\n].+?[^ \t\n]\\|[^ \t\n]\\)>>"
nil t))
(while (and (re-search-forward (org-babel-noweb-wrap) nil t))
(save-match-data (setf source-name (match-string 1)))
(save-match-data (setq evaluate (string-match "\(.*\)" source-name)))
(save-match-data
@ -2226,7 +2284,7 @@ block but are passed literally to the \"example-block\"."
;; possibly raise an error if named block doesn't exist
(if (member lang org-babel-noweb-error-langs)
(error "%s" (concat
"<<" source-name ">> "
(org-babel-noweb-wrap source-name)
"could not be resolved (see "
"`org-babel-noweb-error-langs')"))
"")))

View File

@ -247,7 +247,9 @@ you can \"misuse\" it to also add other text to the header. However,
;; Keep custom values for `org-agenda-filter-preset' compatible with
;; the new variable `org-agenda-tag-filter-preset'.
(defvaralias 'org-agenda-filter-preset 'org-agenda-tag-filter-preset)
(if (fboundp 'defvaralias)
(defvaralias 'org-agenda-filter-preset 'org-agenda-tag-filter-preset)
(defvaralias 'org-agenda-filter 'org-agenda-tag-filter))
(defconst org-agenda-custom-commands-local-options
`(repeat :tag "Local settings for this command. Remember to quote values"
@ -647,6 +649,7 @@ See also the variable `org-agenda-tags-todo-honor-ignore-options' if you want
to make his option also apply to the tags-todo list."
:group 'org-agenda-skip
:group 'org-agenda-todo-list
:version "24.1"
:type '(choice
(const :tag "Ignore future timestamp todos" future)
(const :tag "Ignore past or present timestamp todos" past)
@ -794,6 +797,7 @@ trigger you to schedule it, and then you don't want to be reminded of it
because you will take care of it on the day when scheduled."
:group 'org-agenda-skip
:group 'org-agenda-daily/weekly
:version "24.1"
:type '(choice
(const :tag "Alwas show prewarning" nil)
(const :tag "Remove prewarning if entry is scheduled" t)
@ -858,6 +862,7 @@ property so than moving the mouse over the command shows it.
Setting it to nil is good if matcher strings are very long and/or if
you want to use two-column display (see `org-agenda-menu-two-column')."
:group 'org-agenda
:version "24.1"
:type 'boolean)
(defcustom org-agenda-menu-two-column nil
@ -865,6 +870,7 @@ you want to use two-column display (see `org-agenda-menu-two-column')."
If you use this, you probably want to set `org-agenda-menu-show-matcher'
to nil."
:group 'org-agenda
:version "24.1"
:type 'boolean)
(defcustom org-finalize-agenda-hook nil
@ -888,6 +894,7 @@ Needs to be set before org.el is loaded."
"Non-nil means `org-agenda-follow-mode' displays only the
current item's tree, in an indirect buffer."
:group 'org-agenda
:version "24.1"
:type 'boolean)
(defcustom org-agenda-show-outline-path t
@ -1040,11 +1047,13 @@ This function makes sure that dates are aligned for easy reading."
"Non-nil means use leading zero for military times in agenda.
For example, 9:30am would become 09:30 rather than 9:30."
:group 'org-agenda-daily/weekly
:version "24.1"
:type 'boolean)
(defcustom org-agenda-timegrid-use-ampm nil
"When set, show AM/PM style timestamps on the timegrid."
:group 'org-agenda
:version "24.1"
:type 'boolean)
(defun org-agenda-time-of-day-to-ampm (time)
@ -1092,6 +1101,7 @@ stamp currently points to the past, the first key press will move it
to today. WHen nil, just move one day forward even if the date stays
in the past."
:group 'org-agenda-daily/weekly
:version "24.1"
:type 'boolean)
(defcustom org-agenda-include-diary nil
@ -1104,6 +1114,7 @@ Custom commands can set this variable in the options section."
"If non-nil, include entries within their deadline warning period.
Custom commands can set this variable in the options section."
:group 'org-agenda-daily/weekly
:version "24.1"
:type 'boolean)
(defcustom org-agenda-repeating-timestamp-show-all t
@ -1179,6 +1190,7 @@ issue display.
:short-face face for clock intervals that are too short"
:group 'org-agenda-daily/weekly
:group 'org-clock
:version "24.1"
:type 'plist)
(defcustom org-agenda-log-mode-add-notes t
@ -1237,6 +1249,7 @@ by preceding the first snippet with \"+\" or \"-\". If the first snippet
is a regexp marked with braces like \"{abc}\", this will also switch to
boolean search."
:group 'org-agenda-search-view
:version "24.1"
:type 'boolean)
(if (fboundp 'defvaralias)
@ -1247,6 +1260,7 @@ boolean search."
"Non-nil means, search words must be matches as complete words.
When nil, they may also match part of a word."
:group 'org-agenda-search-view
:version "24.1"
:type 'boolean)
(defgroup org-agenda-time-grid nil
@ -1310,12 +1324,14 @@ a grid line."
(defcustom org-agenda-show-current-time-in-grid t
"Non-nil means show the current time in the time grid."
:group 'org-agenda-time-grid
:version "24.1"
:type 'boolean)
(defcustom org-agenda-current-time-string
"now - - - - - - - - - - - - - - - - - - - - - - - - -"
"The string for the current time marker in the agenda."
:group 'org-agenda-time-grid
:version "24.1"
:type 'string)
(defgroup org-agenda-sorting nil
@ -1526,6 +1542,7 @@ that passed since this item was scheduled first."
"Text preceding item pulled into the agenda by inactive time stamps.
These entries are added to the agenda when pressing \"[\"."
:group 'org-agenda-line-format
:version "24.1"
:type '(list
(string :tag "Scheduled today ")
(string :tag "Scheduled previously")))
@ -1564,6 +1581,7 @@ the headline/diary entry."
"Non-nil means remove time ranges specifications in agenda
items that span on several days."
:group 'org-agenda-line-format
:version "24.1"
:type 'boolean)
(defcustom org-agenda-default-appointment-duration nil
@ -1645,6 +1663,7 @@ The only argument passed to that function is the day. It should
returns a face, or nil if does not want to specify a face and let
the normal rules apply."
:group 'org-agenda-line-format
:version "24.1"
:type 'function)
(defcustom org-agenda-category-icon-alist nil
@ -1677,6 +1696,7 @@ category, you can use:
(\"Emacs\" '(space . (:width (16))))"
:group 'org-agenda-line-format
:version "24.1"
:type '(alist :key-type (string :tag "Regexp matching category")
:value-type (choice (list :tag "Icon"
(string :tag "File or data")
@ -1739,6 +1759,7 @@ With selected entries in an agenda buffer, `B R' will call
the custom function `set-category' on the selected entries.
Note that functions in this alist don't need to be quoted."
:type 'alist
:version "24.1"
:group 'org-agenda)
(eval-when-compile
@ -1768,7 +1789,7 @@ works you probably want to add it to `org-agenda-custom-commands' for good."
(setcdr ass (cdr entry))
(push entry org-agenda-custom-commands))))
;;; Define the Org-agenda-mode
;;; Define the org-agenda-mode
(defvar org-agenda-mode-map (make-sparse-keymap)
"Keymap for `org-agenda-mode'.")
@ -4375,7 +4396,7 @@ of what a project is and how to check if it stuck, customize the variable
;;; Diary integration
(defvar org-disable-agenda-to-diary nil) ;Dynamically-scoped param.
(defvar list-diary-entries-hook)
(defvar diary-list-entries-hook)
(defvar diary-time-regexp)
(defun org-get-entries-from-diary (date)
"Get the (Emacs Calendar) diary entries for DATE."
@ -4384,8 +4405,8 @@ of what a project is and how to check if it stuck, customize the variable
(diary-display-hook '(fancy-diary-display))
(diary-display-function 'fancy-diary-display)
(pop-up-frames nil)
(list-diary-entries-hook
(cons 'org-diary-default-entry list-diary-entries-hook))
(diary-list-entries-hook
(cons 'org-diary-default-entry diary-list-entries-hook))
(diary-file-name-prefix-function nil) ; turn this feature off
(diary-modify-entry-list-string-function 'org-modify-diary-entry-string)
entries
@ -6190,8 +6211,9 @@ When this is the global TODO list, a prefix argument will be interpreted."
(recenter window-line)))
(defvar org-global-tags-completion-table nil)
(defvar org-agenda-filtered-by-category nil)
(defvar org-agenda-filter-form nil)
(defvar org-agenda-filtered-by-category nil)
(defun org-agenda-filter-by-category (strip)
"Keep only those lines in the agenda buffer that have a specific category.
The category is that of the current line."
@ -6369,10 +6391,9 @@ If the line does not have an effort defined, return nil."
(funcall op (or eff (if org-sort-agenda-noeffort-is-high 32767 0))
value))))
(defvar org-agenda-filtered-by-category nil)
(defun org-agenda-filter-apply (filter type)
"Set FILTER as the new agenda filter and apply it."
(let (tags)
(let (tags cat)
(if (eq type 'tag)
(setq org-agenda-tag-filter filter)
(setq org-agenda-category-filter filter
@ -7150,10 +7171,13 @@ if it was hidden in the outline."
(select-window win)))
(defvar org-agenda-show-window nil)
(defun org-agenda-show-and-scroll-up ()
(defun org-agenda-show-and-scroll-up (&optional arg)
"Display the Org-mode file which contains the item at point.
When called repeatedly, scroll the window that is displaying the buffer."
(interactive)
When called repeatedly, scroll the window that is displaying the buffer.
With a \\[universal-argument] prefix, use `org-show-entry' instead of
`show-subtree' to display the item, so that drawers and logbooks stay
folded."
(interactive "P")
(let ((win (selected-window)))
(if (and (window-live-p org-agenda-show-window)
(eq this-command last-command))
@ -7161,7 +7185,7 @@ When called repeatedly, scroll the window that is displaying the buffer."
(select-window org-agenda-show-window)
(ignore-errors (scroll-up)))
(org-agenda-goto t)
(show-subtree)
(if arg (org-show-entry) (show-subtree))
(setq org-agenda-show-window (selected-window)))
(select-window win)))
@ -7996,6 +8020,7 @@ top-level as top-level entries at the end of the file."
(defcustom org-agenda-insert-diary-extract-time nil
"Non-nil means extract any time specification from the diary entry."
:group 'org-agenda
:version "24.1"
:type 'boolean)
(defun org-agenda-add-entry-to-org-agenda-diary-file (type text &optional d1 d2)

View File

@ -43,6 +43,7 @@
(defcustom org-archive-reversed-order nil
"Non-nil means make the tree first child under the archive heading, not last."
:group 'org-archive
:version "24.1"
:type 'boolean)
(defcustom org-archive-sibling-heading "Archive"
@ -72,6 +73,7 @@ This variable is obsolete and has no effect anymore, instead add or remove
(defcustom org-archive-subtree-add-inherited-tags 'infile
"Non-nil means append inherited tags when archiving a subtree."
:group 'org-archive
:version "24.1"
:type '(choice
(const :tag "Never" nil)
(const :tag "When archiving a subtree to the same file" infile)

View File

@ -108,7 +108,7 @@ utf8 Use all UTF-8 characters")
(defun org-export-as-utf8 (&rest args)
"Like `org-export-as-ascii', use encoding for special symbols."
(interactive)
(org-export-as-encoding 'org-export-as-ascii
(org-export-as-encoding 'org-export-as-ascii
(org-called-interactively-p 'any)
'utf8 args))

View File

@ -101,6 +101,7 @@ ln create a hard link. Note that this is not supported
(defcustom org-attach-store-link-p nil
"Non-nil means store a link to a file when attaching it."
:group 'org-attach
:version "24.1"
:type '(choice
(const :tag "Don't store link" nil)
(const :tag "Link to origin location" t)

View File

@ -120,6 +120,7 @@
(declare-function diary-ordinal-suffix "diary-lib" (n))
(defvar date) ;; dynamically scoped from Org
(defvar name) ;; dynamically scoped from Org
;; Customization

View File

@ -43,6 +43,7 @@
(defcustom org-beamer-use-parts nil
""
:group 'org-beamer
:version "24.1"
:type 'boolean)
(defcustom org-beamer-frame-level 1
@ -52,6 +53,7 @@ Setting this to 2 will allow sections, 3 will allow subsections as well.
You can set this to 4 as well, if you at the same time set
`org-beamer-use-parts' to make the top levels `\part'."
:group 'org-beamer
:version "24.1"
:type '(choice
(const :tag "Frames need a BEAMER_env property" nil)
(integer :tag "Specific level makes a frame")))
@ -60,12 +62,14 @@ You can set this to 4 as well, if you at the same time set
"Default options string to use for frames, should contains the [brackets].
And example for this is \"[allowframebreaks]\"."
:group 'org-beamer
:version "24.1"
:type '(string :tag "[options]"))
(defcustom org-beamer-column-view-format
"%45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra)"
"Default column view format that should be used to fill the template."
:group 'org-beamer
:version "24.1"
:type '(choice
(const :tag "Do not insert Beamer column view format" nil)
(string :tag "Beamer column view format")))
@ -76,6 +80,7 @@ And example for this is \"[allowframebreaks]\"."
When a beamer template is filled, this will be the default for
BEAMER_HEADER_EXTRA, which will be inserted just before \\begin{document}."
:group 'org-beamer
:version "24.1"
:type '(choice
(const :tag "Do not insert Beamer themes" nil)
(string :tag "Beamer themes")))
@ -102,6 +107,7 @@ These are just a completion help.")
("theorem" "t" "\\begin{theorem}%a%U%x" "\\end{theorem}")
("definition" "d" "\\begin{definition}%a%U%x" "\\end{definition}")
("example" "e" "\\begin{example}%a%U%x" "\\end{example}")
("exampleblock" "E" "\\begin{exampleblock}%a{%h}%x" "\\end{exampleblock}")
("proof" "p" "\\begin{proof}%a%U%x" "\\end{proof}")
("beamercolorbox" "o" "\\begin{beamercolorbox}%o{%h}%x" "\\end{beamercolorbox}")
("normal" "h" "%h" "") ; Emit the heading as normal text
@ -142,6 +148,7 @@ open The opening template for the environment, with the following escapes
close The closing string of the environment."
:group 'org-beamer
:version "24.1"
:type '(repeat
(list
(string :tag "Environment")
@ -402,6 +409,7 @@ the value will be inserted right after the documentclass statement."
(defcustom org-beamer-fragile-re "\\\\\\(verb\\|lstinline\\)\\|^[ \t]*\\\\begin{\\(verbatim\\|lstlisting\\|minted\\)}"
"If this regexp matches in a frame, the frame is marked as fragile."
:group 'org-beamer
:version "24.1"
:type 'regexp)
(defface org-beamer-tag '((t (:box (:line-width 1 :color grey40))))
@ -511,6 +519,7 @@ This function will run in the final LaTeX document."
(defcustom org-beamer-outline-frame-title "Outline"
"Default title of a frame containing an outline."
:group 'org-beamer
:version "24.1"
:type '(string :tag "Outline frame title")
)
@ -519,6 +528,7 @@ This function will run in the final LaTeX document."
You might want to put e.g. [allowframebreaks=0.9] here. Remember to
include square brackets."
:group 'org-beamer
:version "24.1"
:type '(string :tag "Outline frame options")
)

View File

@ -216,12 +216,14 @@
(defcustom org-bibtex-autogen-keys nil
"Set to a truth value to use `bibtex-generate-autokey' to generate keys."
:group 'org-bibtex
:version "24.1"
:type 'boolean)
(defcustom org-bibtex-prefix nil
"Optional prefix for all bibtex property names.
For example setting to 'BIB_' would allow interoperability with fireforg."
:group 'org-bibtex
:version "24.1"
:type 'string)
(defcustom org-bibtex-treat-headline-as-title t
@ -230,6 +232,7 @@ If an entry is missing a title property, use the headline text as
the property. If this value is t, `org-bibtex-check' will ignore
a missing title field."
:group 'org-bibtex
:version "24.1"
:type 'boolean)
(defcustom org-bibtex-export-arbitrary-fields nil
@ -238,6 +241,7 @@ This only has effect if `org-bibtex-prefix' is defined, so as to
ensure that other org-properties, such as CATEGORY or LOGGING are
not placed in the exported bibtex entry."
:group 'org-bibtex
:version "24.1"
:type 'boolean)
(defcustom org-bibtex-key-property "CUSTOM_ID"
@ -247,11 +251,13 @@ bibtex headlines from within an org file. This can be set to ID
to enable global links, but only with great caution, as global
IDs must be unique."
:group 'org-bibtex
:version "24.1"
:type 'string)
(defcustom org-bibtex-tags nil
"List of tag(s) that should be added to new bib entries."
:group 'org-bibtex
:version "24.1"
:type '(repeat :tag "Tag" (string)))
(defcustom org-bibtex-tags-are-keywords nil
@ -266,17 +272,20 @@ comma-separated string of keywords when exported to bibtex. Tags
defined in `org-bibtex-tags' or `org-bibtex-no-export-tags' will
not be exported."
:group 'org-bibtex
:version "24.1"
:type 'boolean)
(defcustom org-bibtex-no-export-tags nil
"List of tag(s) that should not be converted to keywords.
This variable is relevant only if `org-bibtex-export-tags-as-keywords` is t."
:group 'org-bibtex
:version "24.1"
:type '(repeat :tag "Tag" (string)))
(defcustom org-bibtex-type-property-name "btype"
"Property in which to store bibtex entry type (e.g., article)."
:group 'org-bibtex
:version "24.1"
:type 'string)

View File

@ -56,7 +56,7 @@
(date &optional keep-restriction))
(declare-function org-table-get-specials "org-table" ())
(declare-function org-table-goto-line "org-table" (N))
(declare-function org-pop-to-buffer-same-window "org-compat"
(declare-function org-pop-to-buffer-same-window "org-compat"
(&optional buffer-or-name norecord label))
(defvar org-remember-default-headline)
@ -262,6 +262,7 @@ w3, w3m | %:type %:url
info | %:type %:file %:node
calendar | %:type %:date"
:group 'org-capture
:version "24.1"
:type
'(repeat
(choice :value ("" "" entry (file "~/org/notes.org") "")
@ -336,12 +337,21 @@ calendar | %:type %:date"
The capture buffer is still current when this hook runs and it is
widened to the entire buffer."
:group 'org-capture
:version "24.1"
:type 'hook)
(defcustom org-capture-after-finalize-hook nil
"Hook that is run right after a capture process is finalized.
Suitable for window cleanup"
:group 'org-capture
:version "24.1"
:type 'hook)
(defcustom org-capture-prepare-finalize-hook nil
"Hook that is run before the finalization starts.
The capture buffer is current and still narrowed."
:group 'org-capture
:version "24.1"
:type 'hook)
;;; The property list for keeping information about the capture process
@ -527,6 +537,8 @@ captured item after finalizing."
(buffer-base-buffer (current-buffer)))
(error "This does not seem to be a capture buffer for Org-mode"))
(run-hooks 'org-capture-prepare-finalize-hook)
;; Did we start the clock in this capture buffer?
(when (and org-capture-clock-was-started
org-clock-marker (marker-buffer org-clock-marker)

View File

@ -226,6 +226,7 @@ should get a different face (`org-mode-line-clock-overrun').
When this is a string, it is prepended to the clock string as an indication,
also using the face `org-mode-line-clock-overrun'."
:group 'org-clock
:version "24.1"
:type '(choice
(const :tag "Just mark the time string" nil)
(string :tag "Text to prepend")))
@ -267,12 +268,14 @@ string as argument."
:formatter nil)
"Default properties for clock tables."
:group 'org-clock
:version "24.1"
:type 'plist)
(defcustom org-clock-clocktable-formatter 'org-clocktable-write-default
"Function to turn clocking data into a table.
For more information, see `org-clocktable-write-default'."
:group 'org-clocktable
:version "24.1"
:type 'function)
;; FIXME: translate es and nl last string "Clock summary at"
@ -283,6 +286,7 @@ For more information, see `org-clocktable-write-default'."
("nl" "Bestand" "N" "Tijdstip" "Hoofding" "Duur" "ALLES" "Totale duur" "Bestandstijd" "Clock summary at"))
"Terms used in clocktable, translated to different languages."
:group 'org-clocktable
:version "24.1"
:type 'alist)
(defcustom org-clock-clocktable-default-properties '(:maxlevel 2 :scope file)
@ -310,11 +314,13 @@ play with them."
(defcustom org-clock-report-include-clocking-task nil
"When non-nil, include the current clocking task time in clock reports."
:group 'org-clock
:version "24.1"
:type 'boolean)
(defcustom org-clock-resolve-expert nil
"Non-nil means do not show the splash buffer with the clock resolver."
:group 'org-clock
:version "24.1"
:type 'boolean)
(defvar org-clock-in-prepare-hook nil
@ -1387,7 +1393,8 @@ If there is no running clock, throw an error, unless FAIL-QUIETLY is set."
(message (concat "Clock stopped at %s after HH:MM = " org-time-clocksum-format "%s") te h m
(if remove " => LINE REMOVED" ""))
(run-hooks 'org-clock-out-hook)
(org-clock-delete-current))))))
(unless (org-clocking-p)
(org-clock-delete-current)))))))
(add-hook 'org-clock-out-hook 'org-clock-remove-empty-clock-drawer)
@ -1989,7 +1996,7 @@ the currently selected interval size."
(encode-time 0 0 0 (+ d n) m y))))
((and wp (string-match "w\\|W" wp) mw (> (length wp) 0))
(require 'cal-iso)
(setq date (calendar-gregorian-from-absolute
(setq date (calendar-gregorian-from-absolute
(calendar-absolute-from-iso (list (+ mw n) 1 y))))
(setq ins (format-time-string
"%G-W%V"
@ -2006,7 +2013,7 @@ the currently selected interval size."
(setq mw 5
y (- y 1))
())
(setq date (calendar-gregorian-from-absolute
(setq date (calendar-gregorian-from-absolute
(calendar-absolute-from-iso (org-quarter-to-date (+ mw n) y))))
(setq ins (format-time-string
(concatenate 'string (number-to-string y) "-Q" (number-to-string (+ mw n)))
@ -2456,7 +2463,9 @@ TIME: The sum of all time spend in this tree, in minutes. This time
(org-clock-sum ts te
(unless (null matcher)
(lambda ()
(let ((tags-list (org-get-tags-at)))
(let* ((tags-list (org-get-tags-at))
(org-scanner-tags tags-list)
(org-trust-scanner-tags t))
(eval matcher)))))
(goto-char (point-min))
(setq st t)
@ -2631,4 +2640,3 @@ The details of what will be saved are regulated by the variable
(provide 'org-clock)
;;; org-clock.el ends here

View File

@ -76,21 +76,21 @@
(defgroup org-crypt nil
"Org Crypt"
:tag "Org Crypt"
:tag "Org Crypt"
:group 'org)
(defcustom org-crypt-tag-matcher "crypt"
"The tag matcher used to find headings whose contents should be encrypted.
See the \"Match syntax\" section of the org manual for more details."
:type 'string
:type 'string
:group 'org-crypt)
(defcustom org-crypt-key ""
"The default key to use when encrypting the contents of a heading.
This setting can also be overridden in the CRYPTKEY property."
:type 'string
:type 'string
:group 'org-crypt)
(defcustom org-crypt-disable-auto-save 'ask
@ -111,6 +111,7 @@ nil : Leave auto-save-mode enabled.
NOTE: This only works for entries which have a tag
that matches `org-crypt-tag-matcher'."
:group 'org-crypt
:version "24.1"
:type '(choice (const :tag "Always" t)
(const :tag "Never" nil)
(const :tag "Ask" ask)

View File

@ -162,6 +162,7 @@ See the ctags documentation for more information.")
(t "ctags-exuberant"))
"Full path to the ctags executable file."
:group 'org-ctags
:version "24.1"
:type 'file)
(defcustom org-ctags-open-link-functions
@ -170,6 +171,7 @@ See the ctags documentation for more information.")
org-ctags-ask-append-topic)
"List of functions to be prepended to ORG-OPEN-LINK-FUNCTIONS when ORG-CTAGS is active."
:group 'org-ctags
:version "24.1"
:type 'hook
:options '(org-ctags-find-tag
org-ctags-ask-rebuild-tags-file-then-find-tag
@ -191,6 +193,7 @@ Created as a local variable in each buffer.")
The following patterns are replaced in the string:
`%t' - replaced with the capitalized title of the hyperlink"
:group 'org-ctags
:version "24.1"
:type 'string)

View File

@ -150,6 +150,7 @@ avoid same set of footnote IDs being used multiple times."
(defcustom org-export-docbook-footnote-separator "<superscript>, </superscript>"
"Text used to separate footnotes."
:group 'org-export-docbook
:version "24.1"
:type 'string)
(defcustom org-export-docbook-emphasis-alist
@ -195,6 +196,7 @@ This XSLT stylesheet is used by
Object (FO) files. You can use either `fo/docbook.xsl' that
comes with DocBook, or any customization layer you may have."
:group 'org-export-docbook
:version "24.1"
:type 'string)
(defcustom org-export-docbook-xslt-proc-command nil

View File

@ -44,6 +44,7 @@
For example, this will replace \"\\nsup\" with \"[not a superset of]\"
in backends where the corresponding character is not available."
:group 'org-entities
:version "24.1"
:type 'boolean)
(defcustom org-entities-user nil
@ -68,6 +69,7 @@ utf-8 replacement Use the special characters available in utf-8.
If you define new entities here that require specific LaTeX packages to be
loaded, add these packages to `org-export-latex-packages-alist'."
:group 'org-entities
:version "24.1"
:type '(repeat
(list
(string :tag "name ")

View File

@ -3,6 +3,7 @@
;; Copyright (C) 2011-2012 Free Software Foundation, Inc.
;; Author: Konrad Hinsen <konrad.hinsen AT fastmail.net>
;; Version: 7.8.04
;; This file is part of GNU Emacs.
@ -45,7 +46,7 @@
(if (get-buffer eshell-buffer-name)
(org-pop-to-buffer-same-window eshell-buffer-name)
(eshell))
(end-of-buffer)
(goto-char (point-max))
(eshell-kill-input)
(insert command)
(eshell-send-input)))

View File

@ -135,6 +135,7 @@ export function should accept three arguments."
(defcustom org-export-blocks-postblock-hook nil
"Run after blocks have been processed with `org-export-blocks-preprocess'."
:group 'org-export-general
:version "24.1"
:type 'hook)
(defun org-export-blocks-html-quote (body &optional open close)
@ -224,7 +225,7 @@ which defaults to the value of `org-export-blocks-witheld'."
;;--------------------------------------------------------------------------------
;; ditaa: create images from ASCII art using the ditaa utility
(defvar org-ditaa-jar-path (expand-file-name
(defcustom org-ditaa-jar-path (expand-file-name
"ditaa.jar"
(file-name-as-directory
(expand-file-name
@ -233,7 +234,9 @@ which defaults to the value of `org-export-blocks-witheld'."
(expand-file-name
"../contrib"
(file-name-directory (or load-file-name buffer-file-name)))))))
"Path to the ditaa jar executable.")
"Path to the ditaa jar executable."
:group 'org-babel
:type 'string)
(defvar org-export-current-backend) ; dynamically bound in org-exp.el
(defun org-export-blocks-format-ditaa (body &rest headers)

View File

@ -98,6 +98,7 @@ is nil, the buffer remains buried also in these cases."
This applied to the commands `org-export-as-html-and-open' and
`org-export-as-pdf-and-open'."
:group 'org-export-general
:version "24.1"
:type 'boolean)
(defcustom org-export-run-in-background nil
@ -120,6 +121,7 @@ force an export command into the current process."
"The initial scope when exporting with `org-export'.
This variable can be either set to 'buffer or 'subtree."
:group 'org-export-general
:version "24.1"
:type '(choice
(const :tag "Export current buffer" 'buffer)
(const :tag "Export current subtree" 'subtree)))
@ -220,6 +222,7 @@ and in `org-clock-clocktable-language-setup'."
(defcustom org-export-date-timestamp-format "%Y-%m-%d"
"Time string format for Org timestamps in the #+DATE option."
:group 'org-export-general
:version "24.1"
:type 'string)
(defvar org-export-page-description ""
@ -317,6 +320,7 @@ done include only tasks that are already done.
nil remove all tasks before export
list of TODO kwds keep only tasks with these keywords"
:group 'org-export-general
:version "24.1"
:type '(choice
(const :tag "All tasks" t)
(const :tag "No tasks" nil)
@ -367,6 +371,7 @@ e.g. \"author:nil\"."
This option can also be set with the +OPTIONS line,
e.g. \"email:t\"."
:group 'org-export-general
:version "24.1"
:type 'boolean)
(defcustom org-export-creator-info t
@ -594,6 +599,7 @@ the values of constants may be useful to have."
This is the global equivalent of the :remove-nil-lines option
when locally sending a table with #+ORGTBL."
:group 'org-export-tables
:version "24.1"
:type 'boolean)
(defcustom org-export-prefer-native-exporter-for-tables nil

View File

@ -351,6 +351,7 @@ keywords will then be interpreted as either foreground or background
color."
:group 'org-faces
:group 'org-todo
:version "24.1"
:type '(repeat
(cons (choice (const todo) (const tag) (const priority))
(choice (const :foreground) (const :background)))))
@ -547,6 +548,7 @@ follows a #+DATE:, #+AUTHOR: or #+EMAIL: keyword."
When nil, format these as normal Org. This is the default, because the
content of these blocks will still be treated as Org syntax."
:group 'org-faces
:version "24.1"
:type 'boolean)
(defface org-clock-overlay ;; copied from secondary-selection
@ -732,6 +734,7 @@ If nil, then all levels >=org-n-level-faces are styled like
level org-n-level-faces"
:group 'org-appearance
:group 'org-faces
:version "24.1"
:type 'boolean)
(defface org-latex-and-export-specials

View File

@ -80,7 +80,7 @@
;; that received the input of the feed. You should add FEEDSTATUS
;; to your list of drawers in the files that receive feed input:
;;
;; #+DRAWERS: PROPERTIES LOGBOOK FEEDSTATUS
;; #+DRAWERS: PROPERTIES CLOCK LOGBOOK RESULTS FEEDSTATUS
;;
;; Acknowledgments
;; ---------------

View File

@ -57,6 +57,7 @@
(declare-function org-mark-ring-push "org" (&optional pos buffer))
(declare-function org-show-context "org" (&optional key))
(declare-function org-trim "org" (s))
(declare-function org-skip-whitespace "org" ())
(declare-function outline-next-heading "outline")
(defvar org-outline-regexp-bol) ; defined in org.el

View File

@ -414,6 +414,7 @@ MATCHED is the link just matched."
;; with this setting now, but not before??? Was this perhaps a java
;; bug or is it a windows xp bug (some resource gets exhausted if you
;; use sticky keys which I do).
:version "24.1"
:group 'org-freemind)
(defun org-freemind-org-text-to-freemind-subnode/note (node-name start end drawers-regexp)

View File

@ -62,6 +62,7 @@ configured) IMAP servers don't support this operation quickly.
So if following a link to a Gnus article takes ages, try setting
this variable to `t'."
:group 'org-link-store
:version "24.1"
:type 'boolean)
@ -175,7 +176,7 @@ If `org-store-link' was called with a prefix arg the meaning of
(setq to (or to (gnus-fetch-original-field "To"))
newsgroups (gnus-fetch-original-field "Newsgroups")
x-no-archive (gnus-fetch-original-field "x-no-archive")))
(org-store-link-props :type "gnus" :from from :subject subject
(org-store-link-props :type "gnus" :from from :subject subject
:message-id message-id :group group :to to)
(when date
(org-add-link-props :date date :date-timestamp date-ts

View File

@ -70,11 +70,13 @@ relative to the current effective date."
(defcustom org-habit-today-glyph ?!
"Glyph character used to identify today."
:group 'org-habit
:version "24.1"
:type 'character)
(defcustom org-habit-completed-glyph ?*
"Glyph character used to show completed days on which a task was done."
:group 'org-habit
:version "24.1"
:type 'character)
(defface org-habit-clear-face

View File

@ -64,6 +64,7 @@ by the footnotes themselves."
(defcustom org-export-html-footnote-separator "<sup>, </sup>"
"Text used to separate footnotes."
:group 'org-export-html
:version "24.1"
:type 'string)
(defcustom org-export-html-coding-system nil
@ -252,6 +253,7 @@ You can also customize this for each buffer, using something like
#+MATHJAX: scale:\"133\" align:\"right\" mathml:t path:\"/MathJax/\""
:group 'org-export-html
:version "24.1"
:type '(list :greedy t
(list :tag "path (the path from where to load MathJax.js)"
(const :format " " path) (string))
@ -335,6 +337,7 @@ You can also customize this for each buffer, using something like
</script>"
"The MathJax setup for XHTML files."
:group 'org-export-html
:version "24.1"
:type 'string)
(defcustom org-export-html-tag-class-prefix ""
@ -361,6 +364,7 @@ It requires to %s: both will be replaced by the anchor referring
to the headline (e.g. \"sec-2\"). When set to `nil', don't insert
HTML anchors in headlines."
:group 'org-export-html
:version "24.1"
:type 'string)
(defcustom org-export-html-preamble t
@ -392,6 +396,7 @@ precedence over this variable."
If you need to use a \"%\" character, you need to escape it
like that: \"%%\"."
:group 'org-export-html
:version "24.1"
:type 'string)
(defcustom org-export-html-postamble 'auto
@ -432,6 +437,7 @@ precedence over this variable."
If you need to use a \"%\" character, you need to escape it
like that: \"%%\"."
:group 'org-export-html
:version "24.1"
:type 'string)
(defcustom org-export-html-home/up-format
@ -548,6 +554,7 @@ When nil, alignment will only be specified in the column tags, but this
is ignored by some browsers (like Firefox, Safari). Opera does it right
though."
:group 'org-export-tables
:version "24.1"
:type 'boolean)
(defcustom org-export-html-table-use-header-tags-for-first-column nil
@ -578,6 +585,7 @@ When nil, also column one will use data tags."
(">" . "&gt;"))
"Alist of characters to be converted by `org-html-protect'."
:group 'org-export-html
:version "24.1"
:type '(repeat (cons (string :tag "Character")
(string :tag "HTML equivalent"))))
@ -639,6 +647,7 @@ This is a list of three strings, the first one for the preamble
DIV, the second one for the content DIV and the third one for the
postamble DIV."
:group 'org-export-html
:version "24.1"
:type '(list
(string :tag " Div for the preamble:")
(string :tag " Div for the content:")

View File

@ -54,6 +54,7 @@ for timed events. If non-zero, alarms are created.
- The alarm will go off N minutes before the event
- only a DISPLAY action is defined."
:group 'org-export-icalendar
:version "24.1"
:type 'integer)
(defcustom org-icalendar-combined-name "OrgMode"
@ -64,6 +65,7 @@ for timed events. If non-zero, alarms are created.
(defcustom org-icalendar-combined-description nil
"Calendar description for the combined iCalendar (all agenda files)."
:group 'org-export-icalendar
:version "24.1"
:type 'string)
(defcustom org-icalendar-use-plain-timestamp t
@ -74,6 +76,7 @@ for timed events. If non-zero, alarms are created.
(defcustom org-icalendar-honor-noexport-tag nil
"Non-nil means don't export entries with a tag in `org-export-exclude-tags'."
:group 'org-export-icalendar
:version "24.1"
:type 'boolean)
(defcustom org-icalendar-use-deadline '(event-if-not-todo todo-due)
@ -213,6 +216,7 @@ Interesting value are:
- \":%Y%m%dT%H%M%SZ\" for time expressed in Universal Time"
:group 'org-export-icalendar
:version "24.1"
:type '(choice
(const :tag "Local time" ":%Y%m%dT%H%M%S")
(const :tag "Explicit local time" ";TZID=%Z:%Y%m%dT%H%M%S")

View File

@ -73,7 +73,7 @@
(require 'org)
(declare-function message-make-fqdn "message" ())
(declare-function org-pop-to-buffer-same-window
(declare-function org-pop-to-buffer-same-window
"org-compat" (&optional buffer-or-name norecord label))
;;; Customization
@ -641,7 +641,3 @@ optional argument MARKERP, return the position as a new marker."
(provide 'org-id)
;;; org-id.el ends here

View File

@ -45,6 +45,7 @@
(declare-function org-inlinetask-get-task-level "org-inlinetask" ())
(declare-function org-inlinetask-in-task-p "org-inlinetask" ())
(declare-function org-list-item-body-column "org-list" (item))
(defvar org-inlinetask-show-first-star)
(defgroup org-indent nil
"Options concerning dynamic virtual outline indentation."
@ -293,8 +294,10 @@ Assume point is at beginning of line."
(let ((stars (aref org-indent-stars
(min l org-indent-max-levels))))
(and stars
(concat org-indent-inlinetask-first-star
(substring stars 1)))))
(if (org-bound-and-true-p org-inlinetask-show-first-star)
(concat org-indent-inlinetask-first-star
(substring stars 1))
stars))))
(h (aref org-indent-stars
(min l org-indent-max-levels)))
(t (aref org-indent-strings

View File

@ -90,6 +90,9 @@
(defcustom org-inlinetask-min-level 15
"Minimum level a headline must have before it is treated as an inline task.
Don't set it to something higher than `29' or clocking will break since this
is the hardcoded maximum number of stars `org-clock-sum' will work with.
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
@ -99,6 +102,12 @@ the value of this variable."
(const :tag "Off" nil)
(integer)))
(defcustom org-inlinetask-show-first-star nil
"Non-nil means display the first star of an inline task as additional marker.
When nil, the first star is not shown."
:tag "Org Inline Tasks"
:group 'org-structure)
(defcustom org-inlinetask-export t
"Non-nil means export inline tasks.
When nil, they will not be exported."
@ -173,6 +182,7 @@ or, with the additional package \"todonotes\" for LaTeX,
This should be the state `org-inlinetask-insert-task' should use by
default, or nil of no state should be assigned."
:group 'org-inlinetask
:version "24.1"
:type '(choice
(const :tag "No state" nil)
(string :tag "Specific state")))
@ -431,9 +441,12 @@ Either remove headline and meta data, or do special formatting."
'org-hide
'org-warning)))
(while (re-search-forward re limit t)
(add-text-properties (match-beginning 1) (match-end 1)
`(face ,start-face font-lock-fontified t))
(add-text-properties (match-beginning 2) (match-end 2)
(if org-inlinetask-show-first-star
(add-text-properties (match-beginning 1) (match-end 1)
`(face ,start-face font-lock-fontified t)))
(add-text-properties (match-beginning
(if org-inlinetask-show-first-star 2 1))
(match-end 2)
'(face org-hide font-lock-fontified t))
(add-text-properties (match-beginning 3) (match-end 3)
'(face org-inlinetask font-lock-fontified t)))))
@ -451,7 +464,7 @@ Either remove headline and meta data, or do special formatting."
((= end start))
;; Inlinetask was folded: expand it.
((get-char-property (1+ start) 'invisible)
(outline-flag-region start end nil))
(org-show-entry))
(t (outline-flag-region start end t)))))
(defun org-inlinetask-remove-END-maybe ()

View File

@ -59,7 +59,7 @@
(declare-function erc-server-buffer "erc" ())
(declare-function erc-get-server-nickname-list "erc" ())
(declare-function erc-cmd-JOIN "erc" (channel &optional key))
(declare-function org-pop-to-buffer-same-window
(declare-function org-pop-to-buffer-same-window
"org-compat" (&optional buffer-or-name norecord label))
(defvar org-irc-client 'erc

View File

@ -218,6 +218,7 @@ For example, adding an entry
will cause \\usepackage[utf8x]{inputenc} to be used for buffers that
are written as utf8 files."
:group 'org-export-latex
:version "24.1"
:type '(repeat
(cons
(string :tag "Derived from buffer")
@ -283,6 +284,7 @@ markup defined, the first one in the association list will be used."
(defcustom org-export-latex-tag-markup "\\textbf{%s}"
"Markup for tags, as a printf format."
:group 'org-export-latex
:version "24.1"
:type 'string)
(defcustom org-export-latex-timestamp-markup "\\textit{%s}"
@ -293,6 +295,7 @@ markup defined, the first one in the association list will be used."
(defcustom org-export-latex-timestamp-inactive-markup "\\textit{%s}"
"A printf format string to be applied to inactive time stamps."
:group 'org-export-latex
:version "24.1"
:type 'string)
(defcustom org-export-latex-timestamp-keyword-markup "\\texttt{%s}"
@ -302,11 +305,12 @@ markup defined, the first one in the association list will be used."
(defcustom org-export-latex-href-format "\\href{%s}{%s}"
"A printf format string to be applied to href links.
The format must contain either two %s instances or just one.
If it contains two %s instances, the first will be filled with
The format must contain either two %s instances or just one.
If it contains two %s instances, the first will be filled with
the link, the second with the link description. If it contains
only one, the %s will be filled with the link."
:group 'org-export-latex
:version "24.1"
:type 'string)
(defcustom org-export-latex-hyperref-format "\\hyperref[%s]{%s}"
@ -314,11 +318,13 @@ only one, the %s will be filled with the link."
The format must contain one or two %s instances. The first one
will be filled with the link, the second with its description."
:group 'org-export-latex
:version "24.1"
:type 'string)
(defcustom org-export-latex-footnote-separator "\\textsuperscript{,}\\,"
"Text used to separate footnotes."
:group 'org-export-latex
:version "24.1"
:type 'string)
(defcustom org-export-latex-quotes
@ -336,6 +342,7 @@ For each item in a CONS, the first string is a regexp
for allowed characters before/after the quote, the second
string defines the replacement string for this quote."
:group 'org-export-latex
:version "24.1"
:type '(list
(cons :tag "Opening quote"
(string :tag "Regexp for char before")
@ -361,6 +368,7 @@ string defines the replacement string for this quote."
"When non-nil, the caption is set above the table. When nil,
the caption is set below the table."
:group 'org-export-latex
:version "24.1"
:type 'boolean)
(defcustom org-export-latex-tables-column-borders nil
@ -478,6 +486,7 @@ Code blocks exported with the listings package (controlled by the
`org-export-latex-listings' variable) can be named in the style
of noweb."
:group 'org-export-latex
:version "24.1"
:type 'boolean)
(defcustom org-export-latex-minted-langs
@ -499,6 +508,7 @@ with:
pygmentize -L lexers
"
:group 'org-export-latex
:version "24.1"
:type '(repeat
(list
(symbol :tag "Major mode ")
@ -522,6 +532,7 @@ black keywords.
Note that the same options will be applied to blocks of all
languages."
:group 'org-export-latex
:version "24.1"
:type '(repeat
(list
(string :tag "Listings option name ")
@ -545,6 +556,7 @@ will result in src blocks being exported with
as the start of the minted environment. Note that the same
options will be applied to blocks of all languages."
:group 'org-export-latex
:version "24.1"
:type '(repeat
(list
(string :tag "Minted option name ")
@ -586,11 +598,13 @@ and `org-export-with-tags' instead."
(defcustom org-latex-default-figure-position "htb"
"Default position for latex figures."
:group 'org-export-latex
:version "24.1"
:type 'string)
(defcustom org-export-latex-tabular-environment "tabular"
"Default environment used to build tables."
:group 'org-export-latex
:version "24.1"
:type 'string)
(defcustom org-export-latex-inline-image-extensions
@ -667,6 +681,7 @@ This function should accept the file name as its single argument."
'("aux" "idx" "log" "out" "toc" "nav" "snm" "vrb")
"The list of file extensions to consider as LaTeX logfiles."
:group 'org-export-pdf
:version "24.1"
:type '(repeat (string :tag "Extension")))
(defcustom org-export-pdf-remove-logfiles t
@ -2227,7 +2242,7 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER."
;; a LaTeX issue, but we here implement a work-around anyway.
(setq path (org-export-latex-protect-amp path)
desc (org-export-latex-protect-amp desc)))
(insert
(insert
(if (string-match "%s.*%s" org-export-latex-href-format)
(format org-export-latex-href-format path desc)
(format org-export-latex-href-format path))))

View File

@ -215,6 +215,7 @@ Both uppercase and lowercase are handled. Lists with more than
26 items will fallback to standard numbering. Alphabetical
counters like \"[@c]\" will be recognized."
:group 'org-plain-lists
:version "24.1"
:type 'boolean)
(defcustom org-list-two-spaces-after-bullet-regexp nil
@ -258,6 +259,7 @@ indent when non-nil, indenting or outdenting list top-item
outdenting a list whose bullet is * to column 0 will
change that bullet to \"-\"."
:group 'org-plain-lists
:version "24.1"
:type '(alist :tag "Sets of rules"
:key-type
(choice
@ -277,6 +279,7 @@ This affects the behavior of \\[org-move-item-up],
\\[org-move-item-down], \\[org-next-item] and
\\[org-previous-item]."
:group 'org-plain-lists
:version "24.1"
:type 'boolean)
(defvar org-checkbox-statistics-hook nil
@ -306,6 +309,7 @@ When the indentation would be larger than this, it will become
By setting this to a small number, usually 1 or 2, one can more
clearly distinguish sub-items in a list."
:group 'org-plain-lists
:version "24.1"
:type 'integer)
(defcustom org-list-radio-list-templates
@ -710,15 +714,15 @@ Assume point is at an item."
;; equally indented than BEG-CELL's cdr. Also, store ending
;; position of items in END-LST-2.
(catch 'exit
(while t
(let ((ind (+ (or (get-text-property (point) 'original-indentation) 0)
(while t
(let ((ind (+ (or (get-text-property (point) 'original-indentation) 0)
(org-get-indentation))))
(cond
((>= (point) lim-down)
(cond
((>= (point) lim-down)
;; At downward limit: this is de facto the end of the
;; list. Save point as an ending position, and jump to
;; part 3.
(throw 'exit
(throw 'exit
(push (cons 0 (funcall end-before-blank)) end-lst-2)))
;; At a verbatim block, move to its end. Point is at bol
;; and 'org-example property is set by whole lines:
@ -1015,6 +1019,41 @@ type is determined by the first item of the list."
((string-match "[[:alnum:]]" (org-list-get-bullet first struct)) 'ordered)
(t 'unordered))))
(defun org-list-get-item-number (item struct prevs parents)
"Return ITEM's sequence number.
STRUCT is the list structure. PREVS is the alist of previous
items, as returned by `org-list-prevs-alist'. PARENTS is the
alist of ancestors, as returned by `org-list-parents-alist'.
Return value is a list of integers. Counters have an impact on
that value."
(let ((get-relative-number
(function
(lambda (item struct prevs)
;; Return relative sequence number of ITEM in the sub-list
;; it belongs. STRUCT is the list structure. PREVS is
;; the alist of previous items.
(let ((seq 0) (pos item) counter)
(while (and (not (setq counter (org-list-get-counter pos struct)))
(setq pos (org-list-get-prev-item pos struct prevs)))
(incf seq))
(if (not counter) (1+ seq)
(cond
((string-match "[A-Za-z]" counter)
(+ (- (string-to-char (upcase (match-string 0 counter))) 64)
seq))
((string-match "[0-9]+" counter)
(+ (string-to-number (match-string 0 counter)) seq))
(t (1+ seq)))))))))
;; Cons each parent relative number into return value (OUT).
(let ((out (list (funcall get-relative-number item struct prevs)))
(parent item))
(while (setq parent (org-list-get-parent parent struct parents))
(push (funcall get-relative-number parent struct prevs) out))
;; Return value.
out)))
;;; Searching
@ -1239,9 +1278,8 @@ This function modifies STRUCT."
(insert body item-sep)
;; 5. Add new item to STRUCT.
(mapc (lambda (e)
(let ((p (car e))
(end (nth 6 e)))
(cond
(let ((p (car e)) (end (nth 6 e)))
(cond
;; Before inserted item, positions don't change but
;; an item ending after insertion has its end shifted
;; by SIZE-OFFSET.
@ -2129,6 +2167,18 @@ item is invisible."
(goto-char (match-end 0))
t)))))
(defun org-mark-list ()
"Mark the current list.
If this is a sublist, only mark the sublist."
(interactive)
(let* ((item (org-list-get-item-begin))
(struct (org-list-struct))
(prevs (org-list-prevs-alist struct))
(lbeg (org-list-get-list-begin item struct prevs))
(lend (org-list-get-list-end item struct prevs)))
(push-mark lend nil t)
(goto-char lbeg)))
(defun org-list-repair ()
"Fix indentation, bullets and checkboxes is the list at point."
(interactive)

View File

@ -24,7 +24,7 @@
;;; Commentary:
;;
;;
;;; Code:

View File

@ -37,7 +37,7 @@
(eval-when-compile (require 'cl))
(declare-function org-pop-to-buffer-same-window
(declare-function org-pop-to-buffer-same-window
"org-compat" (&optional buffer-or-name norecord label))
(defgroup org-mobile nil
@ -68,6 +68,7 @@ org-agenda-text-search-extra-files
(defcustom org-mobile-files-exclude-regexp ""
"A regexp to exclude files from `org-mobile-files'."
:group 'org-mobile
:version "24.1"
:type 'regexp)
(defcustom org-mobile-directory ""
@ -84,6 +85,7 @@ Turning on encryption requires to set the same password in the MobileOrg
application. Before turning this on, check of MobileOrg does already
support it - at the time of this writing it did not yet."
:group 'org-mobile
:version "24.1"
:type 'boolean)
(defcustom org-mobile-encryption-tempfile "~/orgtmpcrypt"
@ -91,6 +93,7 @@ support it - at the time of this writing it did not yet."
This must be local file on your local machine (not on the WebDAV server).
You might want to put this file into a directory where only you have access."
:group 'org-mobile
:version "24.1"
:type 'directory)
(defcustom org-mobile-encryption-password ""
@ -111,6 +114,7 @@ it, this also limits the security of this approach. You can also leave
this variable empty - Org will then ask for the password once per Emacs
session."
:group 'org-mobile
:version "24.1"
:type '(string :tag "Password"))
(defvar org-mobile-encryption-password-session nil)
@ -150,6 +154,7 @@ custom all custom agendas defined by the user
all the custom agendas and the default ones
list a list of selection key(s) as string."
:group 'org-mobile
:version "24.1"
:type '(choice
(const :tag "Default Agendas" default)
(const :tag "Custom Agendas" custom)
@ -272,7 +277,7 @@ Also exclude files matching `org-mobile-files-exclude-regexp'."
(t nil)))
org-mobile-files)))
(files (delete
nil
nil
(mapcar (lambda (f)
(unless (and (not (string= org-mobile-files-exclude-regexp ""))
(string-match org-mobile-files-exclude-regexp f))
@ -295,6 +300,8 @@ Also exclude files matching `org-mobile-files-exclude-regexp'."
(push (cons file link-name) rtn)))
(nreverse rtn)))
(defvar org-agenda-filter)
;;;###autoload
(defun org-mobile-push ()
"Push the current state of Org affairs to the WebDAV directory.
@ -303,7 +310,7 @@ create all custom agenda views, for upload to the mobile phone."
(interactive)
(let ((a-buffer (get-buffer org-agenda-buffer-name)))
(let ((org-agenda-buffer-name "*SUMO*")
(org-agenda-filter org-agenda-filter)
(org-agenda-tag-filter org-agenda-tag-filter)
(org-agenda-redo-command org-agenda-redo-command))
(save-excursion
(save-window-excursion
@ -499,7 +506,7 @@ agenda view showing the flagged items."
org-mobile-directory))
(save-excursion
(setq buf (find-file file))
(when (and (= (point-min) (point-max)))
(when (and (= (point-min) (point-max)))
(insert "\n")
(save-buffer)
(when org-mobile-use-encryption
@ -1099,4 +1106,3 @@ A and B must be strings or nil."
(provide 'org-mobile)
;;; org-mobile.el ends here

View File

@ -50,6 +50,9 @@
:tag "Org"
:group 'org)
(defvar org-drawer-regexp)
(defvar org-property-re)
(defun org-thing-at-point ()
"Examine the thing at point and let the caller know what it is.
The return value is a string naming the thing at point."
@ -84,8 +87,16 @@ The return value is a string naming the thing at point."
(equal (char-after (point-at-bol)) ?*))
(cons "tag" nil))
((and (equal (char-before beg1) ?:)
(not (equal (char-after (point-at-bol)) ?*)))
(not (equal (char-after (point-at-bol)) ?*))
(save-excursion
(move-beginning-of-line 1)
(skip-chars-backward "[ \t\n]")
(or (looking-back org-drawer-regexp)
(looking-back org-property-re))))
(cons "prop" nil))
((and (equal (char-before beg1) ?:)
(not (equal (char-after (point-at-bol)) ?*)))
(cons "drawer" nil))
(t nil))))
(defun org-command-at-point ()
@ -146,7 +157,7 @@ When completing for #+STARTUP, for example, this function returns
(org-split-string (org-get-current-options) "\n"))
org-additional-option-like-keywords)))))
(substring pcomplete-stub 2)))
(defvar org-startup-options)
(defun pcomplete/org-mode/file-option/startup ()
"Complete arguments for the #+STARTUP file option."
@ -239,6 +250,25 @@ This needs more work, to handle headings with lots of spaces in them."
lst))
(substring pcomplete-stub 1)))
(defvar org-drawers)
(defun pcomplete/org-mode/drawer ()
"Complete a drawer name."
(let ((spc (save-excursion
(move-beginning-of-line 1)
(looking-at "^\\([ \t]*\\):")
(match-string 1)))
(cpllist (mapcar (lambda (x) (concat x ": ")) org-drawers)))
(pcomplete-here cpllist
(substring pcomplete-stub 1)
(unless (or (not (delete
nil
(mapcar (lambda(x)
(string-match (substring pcomplete-stub 1) x))
cpllist)))
(looking-at "[ \t]*\n.*:END:"))
(save-excursion (insert "\n" spc ":END:"))))))
(defun pcomplete/org-mode/block-option/src ()
"Complete the arguments of a begin_src block.
Complete a language in the first field, the header arguments and switches."

View File

@ -248,6 +248,7 @@ nil won't sort files.
You can overwrite this default per project in your
`org-publish-project-alist', using `:sitemap-sort-files'."
:group 'org-publish
:version "24.1"
:type 'symbol)
(defcustom org-publish-sitemap-sort-folders 'first
@ -260,6 +261,7 @@ Any other value will not mix files and folders.
You can overwrite this default per project in your
`org-publish-project-alist', using `:sitemap-sort-folders'."
:group 'org-publish
:version "24.1"
:type 'symbol)
(defcustom org-publish-sitemap-sort-ignore-case nil
@ -268,12 +270,14 @@ You can overwrite this default per project in your
You can overwrite this default per project in your
`org-publish-project-alist', using `:sitemap-ignore-case'."
:group 'org-publish
:version "24.1"
:type 'boolean)
(defcustom org-publish-sitemap-date-format "%Y-%m-%d"
"Format for `format-time-string' which is used to print a date
in the sitemap."
:group 'org-publish
:version "24.1"
:type 'string)
(defcustom org-publish-sitemap-file-entry-format "%t"
@ -284,6 +288,7 @@ You could use brackets to delimit on what part the link will be.
%a is the author.
%d is the date formatted using `org-publish-sitemap-date-format'."
:group 'org-publish
:version "24.1"
:type 'string)
@ -368,7 +373,7 @@ This is a compatibility function for Emacsen without `delete-dups'."
(declare-function org-publish-delete-dups "org-publish" (list))
(declare-function find-lisp-find-files "find-lisp" (directory regexp))
(declare-function org-pop-to-buffer-same-window
(declare-function org-pop-to-buffer-same-window
"org-compat" (&optional buffer-or-name norecord label))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -1031,7 +1036,7 @@ the project."
(setq ibuffer (find-file-noselect index-file))
(with-current-buffer ibuffer
(erase-buffer)
(insert "\n\n#+include: \"theindex.inc\"\n\n")
(insert "\n\n#+INCLUDE: \"theindex.inc\"\n\n")
(save-buffer))
(kill-buffer ibuffer)))))
@ -1127,7 +1132,7 @@ so that the file including them will be republished as well."
(let ((ctime (org-publish-cache-ctime-of-src filename)))
(or (< pstamp ctime)
(when included-files-ctime
(not (null (delq nil (mapcar (lambda(ct) (< ctime ct))
(not (null (delq nil (mapcar (lambda(ct) (< ctime ct))
included-files-ctime))))))))))
(defun org-publish-cache-set-file-property (filename property value &optional project-name)

View File

@ -39,7 +39,7 @@
(declare-function remember "remember" (&optional initial))
(declare-function remember-buffer-desc "remember" ())
(declare-function remember-finalize "remember" ())
(declare-function org-pop-to-buffer-same-window
(declare-function org-pop-to-buffer-same-window
"org-compat" (&optional buffer-or-name norecord label))
(defvar remember-save-after-remembering)
@ -1152,4 +1152,3 @@ See also the variable `org-reverse-note-order'."
(provide 'org-remember)
;;; org-remember.el ends here

View File

@ -51,7 +51,7 @@ interpreted by other mechanisms.")
(defun org-special-blocks-make-special-cookies ()
"Adds special cookies when #+begin_foo and #+end_foo tokens are
seen. This is run after a few special cases are taken care of."
(when (or (eq org-export-current-backend 'html)
(when (or (eq org-export-current-backend 'html)
(eq org-export-current-backend 'latex))
(goto-char (point-min))
(while (re-search-forward "^[ \t]*#\\+\\(begin\\|end\\)_\\(.*\\)$" nil t)

View File

@ -41,6 +41,7 @@
(declare-function org-at-table.el-p "org" ())
(declare-function org-get-indentation "org" (&optional line))
(declare-function org-switch-to-buffer-other-window "org" (&rest args))
(declare-function org-strip-protective-commas "org" (beg end))
(declare-function org-pop-to-buffer-same-window
"org-compat" (&optional buffer-or-name norecord label))
@ -172,6 +173,7 @@ For example, there is no ocaml-mode in Emacs, but the mode to use is
(defvar org-src-mode-map (make-sparse-keymap))
(define-key org-src-mode-map "\C-c'" 'org-edit-src-exit)
(define-key org-src-mode-map "\C-x\C-s" 'org-edit-src-save)
(defvar org-edit-src-force-single-line nil)
(defvar org-edit-src-from-org-mode nil)
@ -326,6 +328,7 @@ buffer."
(if org-src-preserve-indentation col (max 0 (- col total-nindent))))
(org-src-mode)
(set-buffer-modified-p nil)
(setq buffer-file-name nil)
(and org-edit-src-persistent-message
(org-set-local 'header-line-format msg))
(let ((edit-prep-func (intern (concat "org-babel-edit-prep:" lang))))
@ -671,21 +674,33 @@ the language, a switch telling if the content should be in a single line."
(set-window-configuration org-edit-src-saved-temp-window-config)
(setq org-edit-src-saved-temp-window-config nil))))
(defmacro org-src-in-org-buffer (&rest body)
`(let ((p (point)) (m (mark)) (ul buffer-undo-list) msg)
(save-window-excursion
(org-edit-src-exit 'save)
,@body
(setq msg (current-message))
(if (eq org-src-window-setup 'other-frame)
(let ((org-src-window-setup 'current-window))
(org-edit-src-code 'save))
(org-edit-src-code 'save)))
(setq buffer-undo-list ul)
(push-mark m 'nomessage)
(goto-char (min p (point-max)))
(message (or msg ""))))
(def-edebug-spec org-src-in-org-buffer (body))
(defun org-edit-src-save ()
"Save parent buffer with current state source-code buffer."
(interactive)
(let ((p (point)) (m (mark)) msg)
(save-window-excursion
(org-edit-src-exit 'save)
(save-buffer)
(setq msg (current-message))
(if (eq org-src-window-setup 'other-frame)
(let ((org-src-window-setup 'current-window))
(org-edit-src-code 'save))
(org-edit-src-code 'save)))
(push-mark m 'nomessage)
(goto-char (min p (point-max)))
(message (or msg ""))))
(org-src-in-org-buffer (save-buffer)))
(declare-function org-babel-tangle "ob-tangle" (&optional only-this-block target-file lang))
(defun org-src-tangle (arg)
"Tangle the parent buffer."
(interactive)
(org-src-in-org-buffer (org-babel-tangle arg)))
(defun org-src-mode-configure-edit-buffer ()
(when (org-bound-and-true-p org-edit-src-from-org-mode)
@ -759,6 +774,7 @@ Org-babel commands."
"If non-nil, the effect of TAB in a code block is as if it were
issued in the language major mode buffer."
:type 'boolean
:version "24.1"
:group 'org-babel)
(defun org-src-native-tab-command-maybe ()

View File

@ -169,11 +169,13 @@ window configuration, it is not recommended to set this variable to nil,
except maybe locally in a special file that has mostly tables with long
fields."
:group 'org-table
:version "24.1"
:type 'boolean)
(defcustom org-table-fix-formulas-confirm nil
"Whether the user should confirm when Org fixes formulas."
:group 'org-table-editing
:version "24.1"
:type '(choice
(const :tag "with yes-or-no" yes-or-no-p)
(const :tag "with y-or-n" y-or-n-p)
@ -236,6 +238,7 @@ number of hours. Other allowed values are 'seconds, 'minutes and
'days, and the output will be a fraction of seconds, minutes or
days."
:group 'org-table-calculation
:version "24.1"
:type '(choice (symbol :tag "Seconds" 'seconds)
(symbol :tag "Minutes" 'minutes)
(symbol :tag "Hours " 'hours)
@ -247,6 +250,7 @@ For example, using \"~%s~\" will display the result within tilde
characters. Beware that modifying the display can prevent the
field from being used in another formula."
:group 'org-table-settings
:version "24.1"
:type 'string)
(defcustom org-table-formula-evaluate-inline t
@ -2436,7 +2440,7 @@ not overwrite the stored one."
(modes (copy-sequence org-calc-default-modes))
(numbers nil) ; was a variable, now fixed default
(keep-empty nil)
n form form0 formrpl formrg bw fmt x ev orig c lispp literal
n form form0 formrpl formrg bw fmt x ev orig c lispp literal
duration duration-output-format)
;; Parse the format string. Since we have a lot of modes, this is
;; a lot of work. However, I think calc still uses most of the time.
@ -2461,7 +2465,7 @@ not overwrite the stored one."
duration-output-format nil
fmt (replace-match "" t t fmt)))
(if (string-match "t" fmt)
(setq duration t
(setq duration t
duration-output-format org-table-duration-custom-format
numbers t
fmt (replace-match "" t t fmt)))
@ -2529,7 +2533,7 @@ not overwrite the stored one."
;; Insert complex ranges
(while (and (string-match org-table-range-regexp form)
(> (length (match-string 0 form)) 1))
(setq formrg (save-match-data
(setq formrg (save-match-data
(org-table-get-range (match-string 0 form) nil n0)))
(setq formrpl
(save-match-data
@ -4759,4 +4763,3 @@ list of the fields in the rectangle ."
(provide 'org-table)
;;; org-table.el ends here

View File

@ -166,28 +166,33 @@
(defcustom org-export-taskjuggler-extension ".tjp"
"Extension of TaskJuggler files."
:group 'org-export-taskjuggler
:version "24.1"
:type 'string)
(defcustom org-export-taskjuggler-project-tag "taskjuggler_project"
"Tag, property or todo used to find the tree containing all
the tasks for the project."
:group 'org-export-taskjuggler
:version "24.1"
:type 'string)
(defcustom org-export-taskjuggler-resource-tag "taskjuggler_resource"
"Tag, property or todo used to find the tree containing all the
resources for the project."
:group 'org-export-taskjuggler
:version "24.1"
:type 'string)
(defcustom org-export-taskjuggler-target-version 2.4
"Which version of TaskJuggler the exporter is targeting."
:group 'org-export-taskjuggler
:version "24.1"
:type 'number)
(defcustom org-export-taskjuggler-default-project-version "1.0"
"Default version string for the project."
:group 'org-export-taskjuggler
:version "24.1"
:type 'string)
(defcustom org-export-taskjuggler-default-project-duration 280
@ -195,6 +200,7 @@ resources for the project."
in the root node of the task tree, i.e. the tree that has been marked
with `org-export-taskjuggler-project-tag'"
:group 'org-export-taskjuggler
:version "24.1"
:type 'integer)
(defcustom org-export-taskjuggler-default-reports
@ -214,6 +220,7 @@ with `org-export-taskjuggler-project-tag'"
}")
"Default reports for the project."
:group 'org-export-taskjuggler
:version "24.1"
:type '(repeat (string :tag "Report")))
(defcustom org-export-taskjuggler-default-global-properties
@ -230,6 +237,7 @@ include another TaskJuggler file.
The global properties are inserted after the project declaration
but before any resource and task declarations."
:group 'org-export-taskjuggler
:version "24.1"
:type '(string :tag "Preamble"))
;;; Hooks
@ -355,8 +363,8 @@ information, all the properties, etc."
(let* ((props (org-entry-properties))
(components (org-heading-components))
(level (nth 1 components))
(headline
(replace-regexp-in-string
(headline
(replace-regexp-in-string
"\"" "\\\"" (nth 4 components) t t)) ; quote double quotes in headlines
(parent-ordered (org-taskjuggler-parent-is-ordered-p)))
(push (cons "level" level) props)
@ -406,10 +414,10 @@ deeper), then it's not a leaf."
(successor (car (cdr tasks))))
(cond
;; if a task has no successors it is a leaf
((null successor)
((null successor)
(push (cons (cons "leaf-node" t) task) new-list))
;; if the successor has a lower level than task it is a leaf
((<= (cdr (assoc "level" successor)) (cdr (assoc "level" task)))
((<= (cdr (assoc "level" successor)) (cdr (assoc "level" task)))
(push (cons (cons "leaf-node" t) task) new-list))
;; otherwise examine the rest of the tasks
(t (push task new-list))))

Some files were not shown because too many files have changed in this diff Show More