Fix the master branch.

I started from the 78ec8e commit then cherry-picked and squashed
commits that have been done in master since then, except the bad
commits that overwrote the tree (in master) with the tree in maint.

This commit also bumps the version number to 7.8.06.

The only "fix" that was made between 78ec8e and the previous commit
is e0072f which has been reported to break stuff.
This commit is contained in:
Bastien Guerry 2012-03-19 21:38:12 +01:00
parent b32d2f737d
commit ecd0562c5f
134 changed files with 7099 additions and 3927 deletions

File diff suppressed because it is too large Load Diff

View File

@ -170,7 +170,9 @@ LISPF = org.el \
ob-shen.el \ ob-shen.el \
ob-fortran.el \ ob-fortran.el \
ob-picolisp.el \ ob-picolisp.el \
ob-maxima.el ob-maxima.el \
ob-io.el \
ob-scala.el
LISPFILES0 = $(LISPF:%=lisp/%) LISPFILES0 = $(LISPF:%=lisp/%)
LISPFILES = $(LISPFILES0) lisp/org-install.el 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 The is a distribution of Org, a plain text notes and project planning
tool for Emacs. tool for Emacs.
The version of this release is: 7.8.05 The version of this release is: 7.8.06
The homepage of Org is at http://orgmode.org The homepage of Org is at http://orgmode.org

View File

@ -1,6 +1,6 @@
;;; ob-fomus.el --- org-babel functions for fomus evaluation ;;; ob-fomus.el --- org-babel functions for fomus evaluation
;; Copyright (C) 2011, 2012 Torsten Anders ;; Copyright (C) 2011-2012 Torsten Anders
;; Author: Torsten Anders ;; Author: Torsten Anders
;; Keywords: literate programming, reproducible research ;; Keywords: literate programming, reproducible research

View File

@ -1,6 +1,6 @@
;;; ob-oz.el --- org-babel functions for Oz evaluation ;;; 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 ;; Keywords: literate programming, reproducible research

View File

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

View File

@ -633,7 +633,7 @@ without modifying their meaning."
(goto-char (point-min)) (goto-char (point-min))
(while (search-forward "Local Variables:" nil t) (while (search-forward "Local Variables:" nil t)
(replace-match "Local Variables:" nil t))) (replace-match "Local Variables:" nil t)))
;;; Color handling. ;;; Color handling.
@ -796,7 +796,7 @@ If no rgb.txt file is found, return nil."
(t (t
;; We're getting the RGB components from Emacs. ;; We're getting the RGB components from Emacs.
(let ((rgb (let ((rgb
;; Here I cannot conditionalize on (fboundp ...) ;; Here I cannot conditionalize on (fboundp ...)
;; because ps-print under some versions of GNU Emacs ;; because ps-print under some versions of GNU Emacs
;; defines its own dummy version of ;; defines its own dummy version of
;; `color-instance-rgb-components'. ;; `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 ;; used methods are `doctype', `insert-head', `body-tag', and
;; `insert-text'. Not all output types define all methods. ;; `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 ;; special form, or by accessing the function with
;; (htmlize-method-function 'METHOD) and calling (funcall FUNCTION). ;; (htmlize-method-function 'METHOD) and calling (funcall FUNCTION).
;; The latter form is useful in tight loops because `htmlize-method' ;; 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\">" (format "<body text=\"%s\" bgcolor=\"%s\">"
(htmlize-fstruct-foreground fstruct) (htmlize-fstruct-foreground fstruct)
(htmlize-fstruct-background fstruct)))) (htmlize-fstruct-background fstruct))))
(defun htmlize-font-insert-text (text fstruct-list buffer) (defun htmlize-font-insert-text (text fstruct-list buffer)
;; In `font' mode, we use the traditional HTML means of altering ;; In `font' mode, we use the traditional HTML means of altering
;; presentation: <font> tag for colors, <b> for bold, <u> for ;; 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) (if (not file)
(when (eq major-mode 'bookmark-bmenu-mode) (when (eq major-mode 'bookmark-bmenu-mode)
(setq bookmark (bookmark-bmenu-bookmark))) (setq bookmark (bookmark-bmenu-bookmark)))
(when (and (setq bmks (when (and (setq bmks
(mapcar (lambda (name) (mapcar (lambda (name)
(if (equal file (if (equal file
(abbreviate-file-name (abbreviate-file-name
@ -75,7 +75,7 @@ Otherwise prompt the user for the right bookmark to use."
name)) name))
(bookmark-all-names))) (bookmark-all-names)))
(setq bmks (delete nil bmks))) (setq bmks (delete nil bmks)))
(setq bookmark (setq bookmark
(if (or (eq 1 (length bmks)) org-bookmark-use-first-bookmark) (if (or (eq 1 (length bmks)) org-bookmark-use-first-bookmark)
(car bmks) (car bmks)
(completing-read "Bookmark: " bmks nil t nil nil (car bmks)))))) (completing-read "Bookmark: " bmks nil t nil nil (car bmks))))))

View File

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

View File

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

View File

@ -2915,4 +2915,3 @@ returns its return value."
(provide 'org-drill) (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") (defcustom org-eval-light-interpreters '("lisp" "emacs-lisp" "ruby" "shell")
"Interpreters allows for evaluation tags. "Interpreters allows for evaluation tags.
This is a list of program names (as strings) that can evaluate code and 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 lisp Interpret Emacs Lisp code and display the result
shell Pass command to the shell 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 (with-temp-buffer
(insert code) (insert code)
(shell-command-on-region (point-min) (point-max) cmd nil 'replace) (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) (defadvice org-ctrl-c-ctrl-c (around org-cc-eval-source activate)
(if (org-eval-light-inside-snippet) (if (org-eval-light-inside-snippet)

View File

@ -105,7 +105,7 @@
(defcustom org-eval-interpreters '("lisp") (defcustom org-eval-interpreters '("lisp")
"Interpreters allows for evaluation tags. "Interpreters allows for evaluation tags.
This is a list of program names (as strings) that can evaluate code and 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 lisp Interpret Emacs Lisp code and display the result
shell Pass command to the shell 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 "python")
(const "ruby") (const "ruby")
(const "shell"))) (const "shell")))
(defun org-eval-handle-snippets (limit &optional replace) (defun org-eval-handle-snippets (limit &optional replace)
"Evaluate code snippets and display the results as display property. "Evaluate code snippets and display the results as display property.
When REPLACE is non-nil, replace the code region with the result (used 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 (with-temp-buffer
(insert code) (insert code)
(shell-command-on-region (point-min) (point-max) cmd nil 'replace) (shell-command-on-region (point-min) (point-max) cmd nil 'replace)
(buffer-string))) (buffer-string)))
(provide 'org-eval) (provide 'org-eval)
;;; org-eval.el ends here ;;; org-eval.el ends here

View File

@ -25,7 +25,7 @@
;;; Commentary: ;;; Commentary:
;; ;;
;; This gives you a chance to get rid of old entries in your Org files ;; 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 ;; 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 ;; 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. ;; your tasks will be deleted with the default settings.
;; ;;
;; When does an entry expires? ;; When does an entry expires?
;; ;;
;; Consider this entry: ;; Consider this entry:
;; ;;
;; * Stop watching TV ;; * Stop watching TV
@ -41,8 +41,8 @@
;; :CREATED: <2008-01-07 lun 08:01> ;; :CREATED: <2008-01-07 lun 08:01>
;; :EXPIRY: <2008-01-09 08:01> ;; :EXPIRY: <2008-01-09 08:01>
;; :END: ;; :END:
;; ;;
;; This entry will expire on the 9th, january 2008. ;; This entry will expire on the 9th, january 2008.
;; * Stop watching TV ;; * Stop watching TV
;; :PROPERTIES: ;; :PROPERTIES:
@ -56,19 +56,19 @@
;; What happen when an entry is expired? Nothing until you explicitely ;; What happen when an entry is expired? Nothing until you explicitely
;; M-x org-expiry-process-entries When doing this, org-expiry will check ;; M-x org-expiry-process-entries When doing this, org-expiry will check
;; for expired entries and request permission to process them. ;; for expired entries and request permission to process them.
;; ;;
;; Processing an expired entries means calling the function associated ;; Processing an expired entries means calling the function associated
;; with `org-expiry-handler-function'; the default is to add the tag ;; with `org-expiry-handler-function'; the default is to add the tag
;; :ARCHIVE:, but you can also add a EXPIRED keyword or even archive ;; :ARCHIVE:, but you can also add a EXPIRED keyword or even archive
;; the subtree. ;; the subtree.
;; ;;
;; Is this useful? Well, when you're in a brainstorming session, it ;; 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 ;; 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. ;; 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 ;; 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 ;; 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 ;; property will be automatically added. Same when you're scheduling or
;; deadlining items. You can deinsinuate: M-x org-expiry-deinsinuate ;; 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 Return nil if the entry is not expired. Otherwise return the
amount of time between today and the expiry date. 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'." If there is no expiry date, use `org-expiry-expiry-date'."
(let* ((ex-prop org-expiry-expiry-property-name) (let* ((ex-prop org-expiry-expiry-property-name)
(cr-prop org-expiry-created-property-name) (cr-prop org-expiry-created-property-name)
@ -292,7 +292,7 @@ update the date."
d-time d-hour timestr) d-time d-hour timestr)
(when (or (null d) arg) (when (or (null d) arg)
;; update if no date or non-nil prefix argument ;; 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) (setq d-time (if d (org-time-string-to-time d)
(current-time))) (current-time)))
(setq d-hour (format-time-string "%H:%M" d-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 ;; maybe transform to inactive timestamp
(if org-expiry-inactive-timestamps (if org-expiry-inactive-timestamps
(setq timestr (concat "[" (substring timestr 1 -1) "]"))) (setq timestr (concat "[" (substring timestr 1 -1) "]")))
(save-excursion (save-excursion
(org-entry-put (org-entry-put
(point) org-expiry-expiry-property-name timestr)))) (point) org-expiry-expiry-property-name timestr))))

View File

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

File diff suppressed because it is too large Load Diff

View File

@ -6,7 +6,7 @@
;; Version: 1.0 ;; Version: 1.0
;; Keywords: org, wp ;; 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 ;; 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 ;; 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 positive selection criterion
;; \ add a keyword as a newgative selection criterion ;; \ add a keyword as a newgative selection criterion
;; = clear a keyword from the selection string ;; = clear a keyword from the selection string
;; ; ;; ;
(require 'org) (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-and-cmd)
(org-defkey org-agenda-mode-map ";" 'org-agenda-query-or-cmd) (org-defkey org-agenda-mode-map ";" 'org-agenda-query-or-cmd)
(org-defkey org-agenda-mode-map "\\" 'org-agenda-query-not-cmd) (org-defkey org-agenda-mode-map "\\" 'org-agenda-query-not-cmd)
;;; Agenda interactive query manipulation ;;; Agenda interactive query manipulation
(defcustom org-agenda-query-selection-single-key t (defcustom org-agenda-query-selection-single-key t
@ -283,7 +283,7 @@ keyword string."
(defun org-agenda-query-generic-cmd (op) (defun org-agenda-query-generic-cmd (op)
"Activate query manipulation with OP as initial operator." "Activate query manipulation with OP as initial operator."
(let ((q (org-agenda-query-selection org-agenda-query-string op (let ((q (org-agenda-query-selection org-agenda-query-string op
org-tag-alist org-tag-alist
(org-agenda-query-global-todo-keys)))) (org-agenda-query-global-todo-keys))))
(when q (when q
(setq org-agenda-query-string 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 (or (not min) (< level min)) (setq min level))
(when (> level max) (setq max level)))) (when (> level max) (setq max level))))
(cons (or min 0) max))) (cons (or min 0) max)))
(defun org-invoice-collapse-list (ls) (defun org-invoice-collapse-list (ls)
"Reorganize the given list by dates." "Reorganize the given list by dates."
(let ((min-max (org-invoice-level-min-max ls)) new) (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))))) (+ price (cdr (assoc 'price (car bucket)))))
(nconc bucket (list info)))))) (nconc bucket (list info))))))
(nreverse new))) (nreverse new)))
(defun org-invoice-info-to-table (info) (defun org-invoice-info-to-table (info)
"Create a single org table row from the given info alist." "Create a single org table row from the given info alist."
(let ((title (cdr (assoc 'title info))) (let ((title (cdr (assoc 'title info)))
@ -223,19 +223,19 @@ looks like tree2, where the level is 2."
(price (cdr (assoc 'price info))) (price (cdr (assoc 'price info)))
(with-price (plist-get org-invoice-table-params :price))) (with-price (plist-get org-invoice-table-params :price)))
(unless total (unless total
(setq (setq
org-invoice-total-time (+ org-invoice-total-time work) org-invoice-total-time (+ org-invoice-total-time work)
org-invoice-total-price (+ org-invoice-total-price price))) org-invoice-total-price (+ org-invoice-total-price price)))
(setq total (and total (org-minutes-to-hh:mm-string total))) (setq total (and total (org-minutes-to-hh:mm-string total)))
(setq work (and work (org-minutes-to-hh:mm-string work))) (setq work (and work (org-minutes-to-hh:mm-string work)))
(insert-before-markers (insert-before-markers
(concat "|" title (concat "|" title
(cond (cond
(total (concat "|" total)) (total (concat "|" total))
(work (concat "|" work))) (work (concat "|" work)))
(and with-price price (concat "|" (format "%.2f" price))) (and with-price price (concat "|" (format "%.2f" price)))
"|" "\n")))) "|" "\n"))))
(defun org-invoice-list-to-table (ls) (defun org-invoice-list-to-table (ls)
"Convert a list of heading info to an org table" "Convert a list of heading info to an org table"
(let ((with-price (plist-get org-invoice-table-params :price)) (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)) (with-header (plist-get org-invoice-table-params :headers))
(org-invoice-total-time 0) (org-invoice-total-time 0)
(org-invoice-total-price 0)) (org-invoice-total-price 0))
(insert-before-markers (insert-before-markers
(concat "| Task / Date | Time" (and with-price "| Price") "|\n")) (concat "| Task / Date | Time" (and with-price "| Price") "|\n"))
(dolist (info ls) (dolist (info ls)
(insert-before-markers "|-\n") (insert-before-markers "|-\n")
@ -268,9 +268,9 @@ heading that begins the invoice data, usually using the
(org-clock-sum) (org-clock-sum)
(run-hook-with-args 'org-invoice-start-hook) (run-hook-with-args 'org-invoice-start-hook)
(cons org-invoice-current-invoice (cons org-invoice-current-invoice
(org-invoice-collapse-list (org-invoice-collapse-list
(org-map-entries 'org-invoice-heading-info t 'tree 'archive)))))) (org-map-entries 'org-invoice-heading-info t 'tree 'archive))))))
(defun org-dblock-write:invoice (params) (defun org-dblock-write:invoice (params)
"Function called by OrgMode to write the invoice dblock. To "Function called by OrgMode to write the invoice dblock. To
create an invoice dblock you can use the `org-invoice-report' 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) (if report (goto-char report)
(org-create-dblock (list :name "invoice"))) (org-create-dblock (list :name "invoice")))
(org-update-dblock))) (org-update-dblock)))
(provide 'org-invoice) (provide 'org-invoice)

View File

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

View File

@ -2,7 +2,7 @@
;;; application and insert them as links into org-mode documents ;;; application and insert them as links into org-mode documents
;; ;;
;; Copyright (c) 2010-2012 Free Software Foundation, Inc. ;; Copyright (c) 2010-2012 Free Software Foundation, Inc.
;; ;;
;; Author: Anthony Lander <anthony.lander@gmail.com> ;; Author: Anthony Lander <anthony.lander@gmail.com>
;; Version: 1.0.1 ;; Version: 1.0.1
;; Keywords: org, mac, hyperlink ;; Keywords: org, mac, hyperlink
@ -52,7 +52,7 @@
;; add (require 'org-mac-link-grabber) to your .emacs, and optionally ;; add (require 'org-mac-link-grabber) to your .emacs, and optionally
;; bind a key to activate the link grabber menu, like this: ;; 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))) ;; (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)) (when (and active (eq input key))
(call-interactively grab-function)))) (call-interactively grab-function))))
descriptors))) descriptors)))
(defalias 'omgl-grab-link 'omlg-grab-link (defalias 'omgl-grab-link 'omlg-grab-link
"Renamed, and this alias will be obsolete next revision.") "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" " return theUrl & \"::split::\" & theName & \"\n\"\n"
"end tell\n")))) "end tell\n"))))
(car (split-string result "[\r\n]+" t)))) (car (split-string result "[\r\n]+" t))))
(defun org-mac-safari-get-frontmost-url () (defun org-mac-safari-get-frontmost-url ()
(interactive) (interactive)
(message "Applescript: Getting Safari url...") (message "Applescript: Getting Safari url...")
@ -361,7 +361,7 @@ applications and inserting them in org documents"
(defun org-mac-safari-insert-frontmost-url () (defun org-mac-safari-insert-frontmost-url ()
(interactive) (interactive)
(insert (org-mac-safari-get-frontmost-url))) (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) :group 'org-mairix)
(defcustom org-mairix-mutt-display-command (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>\"' &" ~/mail/mairix -e \"push <display-message>\"' &"
"Command to execute to display mairix search results via mutt within "Command to execute to display mairix search results via mutt within
an xterm. an xterm.
@ -244,7 +244,7 @@ along with general mairix configuration."
:group 'org-mairix-gnus :group 'org-mairix-gnus
:type 'string) :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 'org-mairix-gnus-select-display-group-function-gg
"Hook to call to select the group that contains the matching articles. "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 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 you can improve this, please do!"
(if (not (equal (substring search 0 2) "m:" )) (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")) message-id not implemented yet"))
(setq message-id (substring search 2 nil)) (setq message-id (substring search 2 nil))
(require 'gnus) (require 'gnus)

View File

@ -43,13 +43,13 @@
;; ;;
;; you might want to bind this to a key with something like the ;; you might want to bind this to a key with something like the
;; following message-mode binding ;; following message-mode binding
;; ;;
;; (add-hook 'message-mode-hook ;; (add-hook 'message-mode-hook
;; (lambda () ;; (lambda ()
;; (local-set-key "\C-c\M-o" 'org-mime-htmlize))) ;; (local-set-key "\C-c\M-o" 'org-mime-htmlize)))
;; ;;
;; and the following org-mode binding ;; and the following org-mode binding
;; ;;
;; (add-hook 'org-mode-hook ;; (add-hook 'org-mode-hook
;; (lambda () ;; (lambda ()
;; (local-set-key "\C-c\M-o" 'org-mime-org-buffer-htmlize))) ;; (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 ;;; org-mtags.el --- Muse-like tags in Org-mode
;; Copyright (C) 2008-2012 Free Software Foundation, Inc. ;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
;; ;;
;; Author: Carsten Dominik <carsten at orgmode dot org> ;; 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) (provide 'org-mtags)
;;; org-mtags.el ends here ;;; org-mtags.el ends here

View File

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

View File

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

View File

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

View File

@ -40,7 +40,7 @@
;; associated with that task, go to the end of your item and type: ;; associated with that task, go to the end of your item and type:
;; ;;
;; M-x org-screen ;; M-x org-screen
;; ;;
;; This will prompt you for a name of a screen session. Type in a ;; 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 ;; name and it will insert a link into your org file at your current
;; location. ;; location.
@ -79,10 +79,10 @@ is copied from ansi-term method."
;; Pick the name of the new buffer. ;; Pick the name of the new buffer.
(let ((term-ansi-buffer-name (let ((term-ansi-buffer-name
(generate-new-buffer-name (generate-new-buffer-name
(org-screen-buffer-name name)))) (org-screen-buffer-name name))))
(setq term-ansi-buffer-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)) term-ansi-buffer-name org-screen-program-name nil arg name))
(set-buffer term-ansi-buffer-name) (set-buffer term-ansi-buffer-name)
(term-mode) (term-mode)
@ -104,5 +104,5 @@ is copied from ansi-term method."
'("screen" . "elisp:(org-screen-goto \"%s\")")) '("screen" . "elisp:(org-screen-goto \"%s\")"))
(setq org-link-abbrev-alist (setq org-link-abbrev-alist
'(("screen" . "elisp:(org-screen-goto \"%s\")")))) '(("screen" . "elisp:(org-screen-goto \"%s\")"))))
(provide 'org-screen) (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 (set 'org-static-mathjax-mathjax-path
(car (read-from-string (car (read-from-string
(substring mathjax-options (match-end 0)))))))) (substring mathjax-options (match-end 0))))))))
(add-hook 'after-save-hook (add-hook 'after-save-hook
'org-static-mathjax-process 'org-static-mathjax-process
nil t))))) 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 (set symbol (eval (car (read-from-string
(substring options (match-end 0)))))))) (substring options (match-end 0))))))))
'(embed-fonts output-file-name)) '(embed-fonts output-file-name))
; debug ; debug
(when org-static-mathjax-debug (when org-static-mathjax-debug
(message "output file name, embed-fonts") (message "output file name, embed-fonts")
(print output-file-name) (print output-file-name)
(print embed-fonts)) (print embed-fonts))
; open (temporary) input file, copy contents there, replace MathJax path with local installation ; open (temporary) input file, copy contents there, replace MathJax path with local installation
(with-temp-buffer (with-temp-buffer
(insert html-code) (insert html-code)
(goto-char 1) (goto-char 1)
(replace-regexp mathjax-oldpath mathjax-newpath) (replace-regexp mathjax-oldpath mathjax-newpath)
(write-file input-file-name)) (write-file input-file-name))
; prepare argument list for call-process ; prepare argument list for call-process
(let ((call-process-args (list org-static-mathjax-xulrunner-path (let ((call-process-args (list org-static-mathjax-xulrunner-path
nil nil nil nil nil nil
@ -146,10 +146,10 @@ org-static-mathjax-options: The string given with #+STATICMATHJAX: in the f
(if (not embed-fonts) (if (not embed-fonts)
(progn (progn
(add-to-list 'call-process-args "--final-mathjax-url" t) (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) (file-name-directory org-static-mathjax-mathjax-path)
t))) t)))
; debug ; debug
(when org-static-mathjax-debug (when org-static-mathjax-debug
(print call-process-args)) (print call-process-args))

View File

@ -1,5 +1,6 @@
;;; org-sudoku.el --- Greate and solve SUDOKU games in Org tables ;;; 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> ;; Author: Carsten Dominik <carsten at orgmode dot org>
;; Keywords: outlines, hypermedia, calendar, wp, games ;; 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)) (setq game (org-sudoku-solve-game game))
(if game (if game
(progn (progn
(org-table-put i j (number-to-string (org-table-put i j (number-to-string
(nth 1 (assoc (cons i j) game))) (nth 1 (assoc (cons i j) game)))
'align) 'align)
(org-table-goto-line i) (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. "Interpret table at point as sudoku game and read it.
A game structure is returned." A game structure is returned."
(let (b e g i j game) (let (b e g i j game)
(org-table-goto-line 1) (org-table-goto-line 1)
(org-table-goto-column 1) (org-table-goto-column 1)
(setq b (point)) (setq b (point))

View File

@ -278,7 +278,7 @@ specified, then make `org-toc-recenter' use this value."
;;; Navigation functions: ;;; Navigation functions:
(defun org-toc-goto (&optional jump cycle) (defun org-toc-goto (&optional jump cycle)
"From Org TOC buffer, follow the targeted subtree in the Org window. "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 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." If CYCLE is non-nil, cycle the targeted subtree in the Org window."
(interactive) (interactive)
@ -459,15 +459,15 @@ status."
(defun org-toc-help () (defun org-toc-help ()
"Display a quick help message in the echo-area for `org-toc-mode'." "Display a quick help message in the echo-area for `org-toc-mode'."
(interactive) (interactive)
(let ((st-start 0) (let ((st-start 0)
(help-message (help-message
"\[space\] show heading \[1-4\] hide headlines below this level "\[space\] show heading \[1-4\] hide headlines below this level
\[TAB\] jump to heading \[f\] toggle follow mode (currently %s) \[TAB\] jump to heading \[f\] toggle follow mode (currently %s)
\[return\] jump and delete others windows \[i\] toggle info 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) \[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) \[:\] 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")) \[q\] quit the TOC \[g\] restore last TOC configuration"))
(while (string-match "\\[[^]]+\\]" help-message st-start) (while (string-match "\\[[^]]+\\]" help-message st-start)
(add-text-properties (match-beginning 0) (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" (message "New Wiki target `%s' created in current buffer"
target)))))) target))))))
;;; The target cache ;;; The target cache
(defvar org-wikinodes-directory-targets-cache nil) (defvar org-wikinodes-directory-targets-cache nil)
@ -206,7 +206,7 @@ setting of `org-wikinodes-create-targets'."
(while (re-search-forward re nil t) (while (re-search-forward re nil t)
(push (org-match-string-no-properties 4) targets)))) (push (org-match-string-no-properties 4) targets))))
(nreverse targets))) (nreverse targets)))
(defun org-wikinodes-get-links-for-directory (dir) (defun org-wikinodes-get-links-for-directory (dir)
"Return an alist that connects wiki links to files in directory DIR." "Return an alist that connects wiki links to files in directory DIR."
(let ((files (directory-files dir nil "\\`[^.#].*\\.org\\'")) (let ((files (directory-files dir nil "\\`[^.#].*\\.org\\'"))
@ -328,7 +328,7 @@ with working links."
(setcdr m (cons '(org-wikinodes-activate-links) (cdr m))) (setcdr m (cons '(org-wikinodes-activate-links) (cdr m)))
(message (message
"Failed to add wikinodes to `org-font-lock-extra-keywords'.")))) "Failed to add wikinodes to `org-font-lock-extra-keywords'."))))
(add-hook 'org-font-lock-set-keywords-hook (add-hook 'org-font-lock-set-keywords-hook
'org-wikinodes-add-to-font-lock-keywords) '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")))) (insert sexp "\n"))))
;; (princ (org-diary-to-rem-string sexp-buffer)) ;; (princ (org-diary-to-rem-string sexp-buffer))
(kill-buffer sexp-buffer)) (kill-buffer sexp-buffer))
(when org-remind-include-todo (when org-remind-include-todo
(setq prefix "TODO-") (setq prefix "TODO-")
(goto-char (point-min)) (goto-char (point-min))
@ -450,7 +450,7 @@ REM %s %s MSG EVENT:%s%s %s%s%%
(if dos diff-days 0) (if dos diff-days 0)
(if dos 0 diff-days)) (if dos 0 diff-days))
1000))) 1000)))
(if (and (numberp org-rem-aw) (> org-rem-aw 0)) (if (and (numberp org-rem-aw) (> org-rem-aw 0))
(setq remind-aw (+ (or remind-aw 0) org-rem-aw))) (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 due (setq due (org-rem-ts-to-remind-date-type due)))
(and start (setq start (org-rem-ts-to-remind-date-type start))) (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))) (and remind-ew (setq remind-ew (org-rem-ts-to-remind-date-type remind-ew)))
(if (string-match org-bracket-link-regexp hd) (if (string-match org-bracket-link-regexp hd)
(setq hd (replace-match (if (match-end 3) (match-string 3 hd) (setq hd (replace-match (if (match-end 3) (match-string 3 hd)
(match-string 1 hd)) (match-string 1 hd))

View File

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

View File

@ -0,0 +1,213 @@
REM ***** BASIC *****
Dim DocTypes
Private DocTypeToFiltersMap As New Collection
Private WriterExportFilters As New Collection
Private WriterWebExportFilters As New Collection
Private CalcExportFilters As New Collection
Private ImpressExportFilters As New Collection
Private DrawExportFilters As New Collection
Private ExportFiltersInited As Boolean
Sub InitExportFilters
If ExportFiltersInited Then
Exit Sub
End If
DocTypes = Array(_
"com.sun.star.text.TextDocument", _
"com.sun.star.sheet.SpreadsheetDocument", _
"com.sun.star.presentation.PresentationDocument", _
"com.sun.star.drawing.DrawingDocument",_
"com.sun.star.text.WebDocument"_
)
With WriterExportFilters
.Add Key := "bib" , Item :=Array("bib" , "BibTeX" , "BibTeX_Writer ")
.Add Key := "doc" , Item :=Array("doc" , "Microsoft Word 97/2000/XP" , "MS Word 97 ")
.Add Key := "doc6" , Item :=Array("doc" , "Microsoft Word 6.0" , "MS WinWord 6.0 ")
.Add Key := "doc95" , Item :=Array("doc" , "Microsoft Word 95" , "MS Word 95 ")
.Add Key := "docbook" , Item :=Array("xml" , "DocBook" , "DocBook File ")
.Add Key := "html" , Item :=Array("html" , "HTML Document (OpenOffice.org Writer)" , "HTML (StarWriter) ")
.Add Key := "latex" , Item :=Array("ltx" , "LaTeX 2e" , "LaTeX_Writer ")
.Add Key := "mediawiki" , Item :=Array("txt" , "MediaWiki" , "MediaWiki ")
.Add Key := "odt" , Item :=Array("odt" , "ODF Text Document" , "writer8 ")
.Add Key := "ooxml" , Item :=Array("xml" , "Microsoft Office Open XML" , "MS Word 2003 XML ")
.Add Key := "ott" , Item :=Array("ott" , "Open Document Text" , "writer8_template ")
.Add Key := "pdf" , Item :=Array("pdf" , "Portable Document Format" , "writer_pdf_Export ")
.Add Key := "rtf" , Item :=Array("rtf" , "Rich Text Format" , "Rich Text Format ")
.Add Key := "sdw" , Item :=Array("sdw" , "StarWriter 5.0" , "StarWriter 5.0 ")
.Add Key := "sdw3" , Item :=Array("sdw" , "StarWriter 3.0" , "StarWriter 3.0 ")
.Add Key := "sdw4" , Item :=Array("sdw" , "StarWriter 4.0" , "StarWriter 4.0 ")
.Add Key := "stw" , Item :=Array("stw" , "Open Office.org 1.0 Text Document Template" , "writer_StarOffice_XML_Writer_Template ")
.Add Key := "sxw" , Item :=Array("sxw" , "Open Office.org 1.0 Text Document" , "StarOffice XML (Writer) ")
.Add Key := "text" , Item :=Array("txt" , "Text Encoded" , "Text (encoded) ")
.Add Key := "txt" , Item :=Array("txt" , "Text" , "Text ")
.Add Key := "uot" , Item :=Array("uot" , "Unified Office Format text" , "UOF text ")
.Add Key := "vor" , Item :=Array("vor" , "StarWriter 5.0 Template" , "StarWriter 5.0 Vorlage/Template ")
.Add Key := "vor3" , Item :=Array("vor" , "StarWriter 3.0 Template" , "StarWriter 3.0 Vorlage/Template ")
.Add Key := "vor4" , Item :=Array("vor" , "StarWriter 4.0 Template" , "StarWriter 4.0 Vorlage/Template ")
.Add Key := "xhtml" , Item :=Array("html" , "XHTML Document" , "XHTML Writer File ")
End With
With DrawExportFilters
.Add Key := "bmp" , Item :=Array("bmp" , "Windows Bitmap" , "draw_bmp_Export ")
.Add Key := "emf" , Item :=Array("emf" , "Enhanced Metafile" , "draw_emf_Export ")
.Add Key := "eps" , Item :=Array("eps" , "Encapsulated PostScript" , "draw_eps_Export ")
.Add Key := "gif" , Item :=Array("gif" , "Graphics Interchange Format" , "draw_gif_Export ")
.Add Key := "html" , Item :=Array("html" , "HTML Document (OpenOffice.org Draw)" , "draw_html_Export ")
.Add Key := "jpg" , Item :=Array("jpg" , "Joint Photographic Experts Group" , "draw_jpg_Export ")
.Add Key := "met" , Item :=Array("met" , "OS/2 Metafile" , "draw_met_Export ")
.Add Key := "odd" , Item :=Array("odd" , "OpenDocument Drawing" , "draw8 ")
.Add Key := "otg" , Item :=Array("otg" , "OpenDocument Drawing Template" , "draw8_template ")
.Add Key := "pbm" , Item :=Array("pbm" , "Portable Bitmap" , "draw_pbm_Export ")
.Add Key := "pct" , Item :=Array("pct" , "Mac Pict" , "draw_pct_Export ")
.Add Key := "pdf" , Item :=Array("pdf" , "Portable Document Format" , "draw_pdf_Export ")
.Add Key := "pgm" , Item :=Array("pgm" , "Portable Graymap" , "draw_pgm_Export ")
.Add Key := "png" , Item :=Array("png" , "Portable Network Graphic" , "draw_png_Export ")
.Add Key := "ppm" , Item :=Array("ppm" , "Portable Pixelmap" , "draw_ppm_Export ")
.Add Key := "ras" , Item :=Array("ras" , "Sun Raster Image" , "draw_ras_Export ")
.Add Key := "std" , Item :=Array("std" , "OpenOffice.org 1.0 Drawing Template" , "draw_StarOffice_XML_Draw_Template ")
.Add Key := "svg" , Item :=Array("svg" , "Scalable Vector Graphics" , "draw_svg_Export ")
.Add Key := "svm" , Item :=Array("svm" , "StarView Metafile" , "draw_svm_Export ")
.Add Key := "swf" , Item :=Array("swf" , "Macromedia Flash (SWF)" , "draw_flash_Export ")
.Add Key := "sxd" , Item :=Array("sxd" , "OpenOffice.org 1.0 Drawing" , "StarOffice XML (Draw) ")
.Add Key := "sxd3" , Item :=Array("sxd" , "StarDraw 3.0" , "StarDraw 3.0 ")
.Add Key := "sxd5" , Item :=Array("sxd" , "StarDraw 5.0" , "StarDraw 5.0 ")
.Add Key := "tiff" , Item :=Array("tiff" , "Tagged Image File Format" , "draw_tif_Export ")
.Add Key := "vor" , Item :=Array("vor" , "StarDraw 5.0 Template" , "StarDraw 5.0 Vorlage ")
.Add Key := "vor3" , Item :=Array("vor" , "StarDraw 3.0 Template" , "StarDraw 3.0 Vorlage ")
.Add Key := "wmf" , Item :=Array("wmf" , "Windows Metafile" , "draw_wmf_Export ")
.Add Key := "xhtml" , Item :=Array("xhtml" , "XHTML" , "XHTML Draw File ")
.Add Key := "xpm" , Item :=Array("xpm" , "X PixMap" , "draw_xpm_Export ")
End With
With ImpressExportFilters
.Add Key := "bmp" , Item :=Array("bmp" , "Windows Bitmap" , "impress_bmp_Export ")
.Add Key := "emf" , Item :=Array("emf" , "Enhanced Metafile" , "impress_emf_Export ")
.Add Key := "eps" , Item :=Array("eps" , "Encapsulated PostScript" , "impress_eps_Export ")
.Add Key := "gif" , Item :=Array("gif" , "Graphics Interchange Format" , "impress_gif_Export ")
.Add Key := "html" , Item :=Array("html" , "HTML Document (OpenOffice.org Impress)" , "impress_html_Export ")
.Add Key := "jpg" , Item :=Array("jpg" , "Joint Photographic Experts Group" , "impress_jpg_Export ")
.Add Key := "met" , Item :=Array("met" , "OS/2 Metafile" , "impress_met_Export ")
.Add Key := "odg" , Item :=Array("odg" , "ODF Drawing (Impress)" , "impress8_draw ")
.Add Key := "odp" , Item :=Array("odp" , "ODF Presentation" , "impress8 ")
.Add Key := "otp" , Item :=Array("otp" , "ODF Presentation Template" , "impress8_template ")
.Add Key := "pbm" , Item :=Array("pbm" , "Portable Bitmap" , "impress_pbm_Export ")
.Add Key := "pct" , Item :=Array("pct" , "Mac Pict" , "impress_pct_Export ")
.Add Key := "pdf" , Item :=Array("pdf" , "Portable Document Format" , "impress_pdf_Export ")
.Add Key := "pgm" , Item :=Array("pgm" , "Portable Graymap" , "impress_pgm_Export ")
.Add Key := "png" , Item :=Array("png" , "Portable Network Graphic" , "impress_png_Export ")
.Add Key := "pot" , Item :=Array("pot" , "Microsoft PowerPoint 97/2000/XP Template" , "MS PowerPoint 97 Vorlage ")
.Add Key := "ppm" , Item :=Array("ppm" , "Portable Pixelmap" , "impress_ppm_Export ")
.Add Key := "ppt" , Item :=Array("ppt" , "Microsoft PowerPoint 97/2000/XP" , "MS PowerPoint 97 ")
.Add Key := "pwp" , Item :=Array("pwp" , "PlaceWare" , "placeware_Export ")
.Add Key := "ras" , Item :=Array("ras" , "Sun Raster Image" , "impress_ras_Export ")
.Add Key := "sda" , Item :=Array("sda" , "StarDraw 5.0 (OpenOffice.org Impress)" , "StarDraw 5.0 (StarImpress) ")
.Add Key := "sdd" , Item :=Array("sdd" , "StarImpress 5.0" , "StarImpress 5.0 ")
.Add Key := "sdd3" , Item :=Array("sdd" , "StarDraw 3.0 (OpenOffice.org Impress)" , "StarDraw 3.0 (StarImpress) ")
.Add Key := "sdd4" , Item :=Array("sdd" , "StarImpress 4.0" , "StarImpress 4.0 ")
.Add Key := "sti" , Item :=Array("sti" , "OpenOffice.org 1.0 Presentation Template" , "impress_StarOffice_XML_Impress_Template ")
.Add Key := "svg" , Item :=Array("svg" , "Scalable Vector Graphics" , "impress_svg_Export ")
.Add Key := "svm" , Item :=Array("svm" , "StarView Metafile" , "impress_svm_Export ")
.Add Key := "swf" , Item :=Array("swf" , "Macromedia Flash (SWF)" , "impress_flash_Export ")
.Add Key := "sxd" , Item :=Array("sxd" , "OpenOffice.org 1.0 Drawing (OpenOffice.org Impress)" , "impress_StarOffice_XML_Draw ")
.Add Key := "sxi" , Item :=Array("sxi" , "OpenOffice.org 1.0 Presentation" , "StarOffice XML (Impress) ")
.Add Key := "tiff" , Item :=Array("tiff" , "Tagged Image File Format" , "impress_tif_Export ")
.Add Key := "uop" , Item :=Array("uop" , "Unified Office Format presentation" , "UOF presentation ")
.Add Key := "vor" , Item :=Array("vor" , "StarImpress 5.0 Template" , "StarImpress 5.0 Vorlage ")
.Add Key := "vor3" , Item :=Array("vor" , "StarDraw 3.0 Template (OpenOffice.org Impress)" , "StarDraw 3.0 Vorlage (StarImpress) ")
.Add Key := "vor4" , Item :=Array("vor" , "StarImpress 4.0 Template" , "StarImpress 4.0 Vorlage ")
.Add Key := "vor5" , Item :=Array("vor" , "StarDraw 5.0 Template (OpenOffice.org Impress)" , "StarDraw 5.0 Vorlage (StarImpress) ")
.Add Key := "wmf" , Item :=Array("wmf" , "Windows Metafile" , "impress_wmf_Export ")
.Add Key := "xhtml" , Item :=Array("xml" , "XHTML" , "XHTML Impress File ")
.Add Key := "xpm" , Item :=Array("xpm" , "X PixMap" , "impress_xpm_Export ")
End With
With CalcExportFilters
.Add Key := "csv" , Item :=Array("csv" , "Text CSV" , "Text - txt - csv (StarCalc) ")
.Add Key := "dbf" , Item :=Array("dbf" , "dBASE" , "dBase ")
.Add Key := "dif" , Item :=Array("dif" , "Data Interchange Format" , "DIF ")
.Add Key := "html" , Item :=Array("html" , "HTML Document (OpenOffice.org Calc)" , "HTML (StarCalc) ")
.Add Key := "ods" , Item :=Array("ods" , "ODF Spreadsheet" , "calc8 ")
.Add Key := "ooxml" , Item :=Array("xml" , "Microsoft Excel 2003 XML" , "MS Excel 2003 XML ")
.Add Key := "ots" , Item :=Array("ots" , "ODF Spreadsheet Template" , "calc8_template ")
.Add Key := "pdf" , Item :=Array("pdf" , "Portable Document Format" , "calc_pdf_Export ")
.Add Key := "sdc" , Item :=Array("sdc" , "StarCalc 5.0" , "StarCalc 5.0 ")
.Add Key := "sdc3" , Item :=Array("sdc" , "StarCalc 3.0" , "StarCalc 3.0 ")
.Add Key := "sdc4" , Item :=Array("sdc" , "StarCalc 4.0" , "StarCalc 4.0 ")
.Add Key := "slk" , Item :=Array("slk" , "SYLK" , "SYLK ")
.Add Key := "stc" , Item :=Array("stc" , "OpenOffice.org 1.0 Spreadsheet Template" , "calc_StarOffice_XML_Calc_Template ")
.Add Key := "sxc" , Item :=Array("sxc" , "OpenOffice.org 1.0 Spreadsheet" , "StarOffice XML (Calc) ")
.Add Key := "uos" , Item :=Array("uos" , "Unified Office Format spreadsheet" , "UOF spreadsheet ")
.Add Key := "vor" , Item :=Array("vor" , "StarCalc 5.0 Template" , "StarCalc 5.0 Vorlage/Template ")
.Add Key := "vor3" , Item :=Array("vor" , "StarCalc 3.0 Template" , "StarCalc 3.0 Vorlage/Template ")
.Add Key := "vor4" , Item :=Array("vor" , "StarCalc 4.0 Template" , "StarCalc 4.0 Vorlage/Template ")
.Add Key := "xhtml" , Item :=Array("xhtml" , "XHTML" , "XHTML Calc File ")
.Add Key := "xls" , Item :=Array("xls" , "Microsoft Excel 97/2000/XP" , "MS Excel 97 ")
.Add Key := "xls5" , Item :=Array("xls" , "Microsoft Excel 5.0" , "MS Excel 5.0/95 ")
.Add Key := "xls95" , Item :=Array("xls" , "Microsoft Excel 95" , "MS Excel 95 ")
.Add Key := "xlt" , Item :=Array("xlt" , "Microsoft Excel 97/2000/XP Template" , "MS Excel 97 Vorlage/Template ")
.Add Key := "xlt5" , Item :=Array("xlt" , "Microsoft Excel 5.0 Template" , "MS Excel 5.0/95 Vorlage/Template ")
.Add Key := "xlt95" , Item :=Array("xlt" , "Microsoft Excel 95 Template" , "MS Excel 95 Vorlage/Template ")
End With
With WriterWebExportFilters
.Add Key := "etext" , Item :=Array("txt" , "Text Encoded (OpenOffice.org Writer/Web)" , "Text (encoded) (StarWriter/Web) ")
.Add Key := "html" , Item :=Array("html" , "HTML Document" , "HTML ")
'.Add Key := "html" , Item :=Array("html" , "HTML Document Template" , "writerweb8_writer_template ")
.Add Key := "html10" , Item :=Array("html" , "OpenOffice.org 1.0 HTML Template" , "writer_web_StarOffice_XML_Writer_Web_Template ")
.Add Key := "mediawiki" , Item :=Array("txt" , "MediaWiki" , "MediaWiki_Web ")
.Add Key := "pdf" , Item :=Array("pdf" , "PDF - Portable Document Format" , "writer_web_pdf_Export ")
.Add Key := "sdw" , Item :=Array("sdw" , "StarWriter 5.0 (OpenOffice.org Writer/Web)" , "StarWriter 5.0 (StarWriter/Web) ")
.Add Key := "sdw3" , Item :=Array("sdw" , "StarWriter 3.0 (OpenOffice.org Writer/Web)" , "StarWriter 3.0 (StarWriter/Web) ")
.Add Key := "sdw4" , Item :=Array("sdw" , "StarWriter 4.0 (OpenOffice.org Writer/Web)" , "StarWriter 4.0 (StarWriter/Web) ")
.Add Key := "text" , Item :=Array("txt" , "Text (OpenOffice.org Writer/Web)" , "Text (StarWriter/Web) ")
.Add Key := "text10" , Item :=Array("txt" , "OpenOffice.org 1.0 Text Document (OpenOffice.org Writer/Web)" , "writer_web_StarOffice_XML_Writer ")
.Add Key := "odt" , Item :=Array("txt" , "OpenOffice.org Text (OpenOffice.org Writer/Web)" , "writerweb8_writer ")
.Add Key := "vor" , Item :=Array("vor" , "StarWriter/Web 5.0 Template" , "StarWriter/Web 5.0 Vorlage/Template ")
.Add Key := "vor4" , Item :=Array("vor" , "StarWriter/Web 4.0 Template" , "StarWriter/Web 4.0 Vorlage/Template ")
End With
With DocTypeToFiltersMap
.Add Key := "com.sun.star.text.TextDocument", Item := WriterExportFilters
.Add Key := "com.sun.star.sheet.SpreadsheetDocument", Item := CalcExportFilters
.Add Key := "com.sun.star.presentation.PresentationDocument", Item :=ImpressExportFilters
.Add Key := "com.sun.star.drawing.DrawingDocument", Item := DrawExportFilters
.Add Key := "com.sun.star.text.WebDocument", Item := WriterWebExportFilters
End With
ExportFiltersInited = True
End Sub
Function FilterSaveExtension(filterDescriptor ())
FilterSaveExtension = Trim(filterDescriptor(0))
End Function
Function FilterHandler(filterDescriptor ())
FilterHandler = Trim(filterDescriptor(2))
End Function
Function GetFilter(docType, outputFormat)
Dim filters
On Error Goto MissingFilter
filters = DocTypeToFiltersMap(docType)
LogMessage "output format is " & outputFormat
GetFilter = filters(outputFormat)
Done:
Exit Function
MissingFilter:
LogMessage("No existing filters for exporting " & docType & " to " & outputFormat)
GetFilter = Null
Resume Done
End Function

View File

@ -0,0 +1,201 @@
REM ***** BASIC *****
Dim Interactive As Boolean
Dim WaitFor
Function Convert(Optional inFileURL, Optional filterSpec, Optional outFileURL)
Dim inDoc, inDocType, openParams, closeInDoc, presentationDoc
' Set Interactivity i.e., LogMessage pops up a message.
Interactive = False
WaitFor = 10
' Init dependencies
BasicLibraries.LoadLibrary("Tools")
' BasicLibraries.LoadLibrary("XrayTool")
' Setup Export filters
InitExportFilters
' Export to doc format by default
If IsMissing(filterSpec) Then
If Interactive Then
filterSpec = InputBox("Export to: ")
Else
filterSpec = "doc"
End If
End If
filterSpec = Trim(filterSpec)
closeInDoc = False
If IsMissing(inFileURL) Then
' Most likely, the Macro is run interactively. Act on
' the current document
If Not ThisComponent.HasLocation() Then
LogMessage("Document doesn't have a location")
Goto Failure
End If
inDoc = ThisComponent
inFileURL = inDoc.GetLocation()
closeInDoc = False
Else
' Load the document
On Error Goto Failure
openParams = Array(MakePropertyValue("Hidden", True),MakePropertyValue("ReadOnly", True),)
'openParams = Array()
inDoc = StarDesktop.loadComponentFromURL(inFileURL, "_blank", 0, OpenParams())
closeInDoc = True
End If
If IsMissing(outFileURL) Then
outFileURL = GetURLWithoutExtension(inFileURL)
End If
If ExportDocument(inDoc, filterSpec, outFileURL) Then
Goto Success
End If
LogMessage("filterSpec1 is " & filterSpec)
' Export didn't go through. Maybe didn't find a valid filter.
' Check whether the request is to convert a Text or a Web
' Document to a Presentation Document
inDocType = GetDocumentType(inDoc)
If (inDocType = "com.sun.star.text.TextDocument" Or _
inDocType = "com.sun.star.text.WebDocument") Then
LogMessage("Filterspec2 is " & filterSpec)
filter = GetFilter("com.sun.star.presentation.PresentationDocument", filterSpec)
If IsNull(filter) Then
LogMessage("We tried our best. Nothing more to do"
Goto Failure
Else
LogMessage("Trying to create presentation document. Found valid filter for " & filterSpec)
End If
Else
Goto Failure
End If
' Export Outline to Presentation
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
dispatcher.executeDispatch(inDoc.CurrentController.Frame, ".uno:SendOutlineToStarImpress", "", 0, Array())
' Dispatch event above is aynchronous. Wait for a few seconds for the above event to finish
Wait(WaitFor * 1000)
' After the dispatch, the current component is a presentation
' document. Note that it doesn't have a location
presentationDoc = ThisComponent
If IsNull(ExportDocument(presentationDoc, filter, outFileURL)) Then
Goto Failure
Else
presentationDoc.Close(True)
End If
Success:
LogMessage("Successfully exported to " & outFileURL )
Goto Done
Failure:
LogMessage("Export failed " & outFileURL )
Goto Done
Done:
If closeInDoc Then
inDoc.Close(True)
End If
End Function
' http://codesnippets.services.openoffice.org/Writer/Writer.MergeDocs.snip
' http://user.services.openoffice.org/en/forum/viewtopic.php?f=20&t=39983
' http://user.services.openoffice.org/en/forum/viewtopic.php?f=21&t=23531
' http://wiki.services.openoffice.org/wiki/Documentation/BASIC_Guide/Files_and_Directories_%28Runtime_Library%29
Function ExportDocument(inputDoc, filterSpec, outFileURL) As Boolean
Dim inputDocType, filter
ExportDocument = False
On Error Goto Failure
inputDocType = GetDocumentType(inputDoc)
If IsArray(filterSpec) Then
' Filter is fully specified
filter = filterSpec
Else
' Filter is specified by it's name
filter = GetFilter(inputDocType, filterSpec)
End If
If InStr(outFileURL, ".") = 0 Then
outFileURL = outFileURL & "." & FilterSaveExtension(filter)
End If
LogMessage("outFileURL is " & outFileURL)
inputDoc.storeToUrl(outFileURL, Array(MakePropertyValue("FilterName", FilterHandler(filter))))
ExportDocument = True
LogMessage("Export to " & outFileURL & " succeeded")
Done:
Exit Function
Failure:
LogMessage("Export to " & outFileURL & " failed")
Resume Done
End Function
Function GetURLWithoutExtension(s As String)
Dim pos
pos = Instr(s, ".")
If pos = 0 Then
GetURLWithoutExtension = s
Else
GetURLWithoutExtension = Left(s, pos - 1)
End If
End Function
Function GetDocumentType(oDoc)
For Each docType in DocTypes
If (oDoc.supportsService(docType)) Then
GetDocumentType = docType
Exit Function
End If
Next docType
GetDocumentType = Nothing
End Function
Function MakePropertyValue(Optional sName As String, Optional sValue) As com.sun.star.beans.PropertyValue
Dim oPropertyValue As New com.sun.star.beans.PropertyValue
If Not IsMissing(sName) Then
oPropertyValue.Name = sName
EndIf
If Not IsMissing(sValue) Then
oPropertyValue.Value = sValue
EndIf
MakePropertyValue() = oPropertyValue
End Function
Sub LogMessage(message)
If Interactive Then
If Err <> 0 Then
Print "Error " & Err & ": " & Error$ & " (line : " & Erl & ")"
End If
Print message
End If
End Sub

View File

@ -1,5 +1,5 @@
%%% ************************************************************* %%% *************************************************************
%%% Copyright (C) 2009 Torsten Anders (www.torsten-anders.de) %%% Copyright (C) 2009-2012 Torsten Anders (www.torsten-anders.de)
%%% This program is free software; you can redistribute it and/or %%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License %%% modify it under the terms of the GNU General Public License
%%% as published by the Free Software Foundation; either version 2 %%% as published by the Free Software Foundation; either version 2

View File

@ -1,5 +1,5 @@
# org2hpda - a small utility to generate hipster pda style printouts from org mode # org2hpda - a small utility to generate hipster pda style printouts from org mode
# Copyright (C) 2007 Christian Egli # Copyright (C) 2007-2012 Christian Egli
# #
# Version: 0.6 # Version: 0.6
# #

View File

@ -4,7 +4,7 @@
@setfilename ../../info/org @setfilename ../../info/org
@settitle The Org Manual @settitle The Org Manual
@set VERSION 7.8.05 @set VERSION 7.8.06
@set DATE mars 2012 @set DATE mars 2012
@c Use proper quote and backtick for code sections in PDF output @c Use proper quote and backtick for code sections in PDF output
@ -265,7 +265,7 @@
@copying @copying
This manual is for Org version @value{VERSION}. 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 @quotation
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
@ -717,6 +717,7 @@ Specific header arguments
* rownames:: Handle row names in tables * rownames:: Handle row names in tables
* shebang:: Make tangled files executable * shebang:: Make tangled files executable
* eval:: Limit evaluation of specific code blocks * eval:: Limit evaluation of specific code blocks
* wrap:: Mark source block evaluation results
Miscellaneous Miscellaneous
@ -1080,7 +1081,7 @@ attach it to your bug report.
@node Conventions, , Feedback, Introduction @node Conventions, , Feedback, Introduction
@section Typesetting conventions used in this manual @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: names. In this manual we use the following conventions:
@table @code @table @code
@ -1098,7 +1099,14 @@ User-defined properties are capitalized; built-in properties with
special meaning are written with all capitals. special meaning are written with all capitals.
@end table @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, 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 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, 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 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-special-ctrl-a/e}, @code{org-special-ctrl-k}, and
@code{org-ctrl-k-protect-subtree} to configure special behavior of @kbd{C-a}, @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 @example
* Top level headline * Top level headline
@ -1428,7 +1437,7 @@ more details, see the docstring of the command
@code{org-clone-subtree-with-time-shift}. @code{org-clone-subtree-with-time-shift}.
@orgcmd{C-c C-w,org-refile} @orgcmd{C-c C-w,org-refile}
Refile entry or region to a different location. @xref{Refiling notes}. 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 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 region will be sorted. Otherwise the children of the current headline are
sorted. The command prompts for the sorting method, which can be 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 @cindex visibility cycling, drawers
@vindex org-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 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}. normally don't want to see it. For this, Org mode has @emph{drawers}.
Drawers need to be configured with the variable Drawers need to be configured with the variable
@code{org-drawers}@footnote{You can define drawers on a per-file basis @code{org-drawers}@footnote{You can define additional drawers on a
with a line like @code{#+DRAWERS: HIDDEN PROPERTIES STATE}}. Drawers per-file basis with a line like @code{#+DRAWERS: HIDDEN STATE}}. Drawers
look like this: look like this:
@example @example
@ -1771,6 +1782,13 @@ look like this:
After the drawer. After the drawer.
@end example @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 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 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 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 @r{VM folder link}
vm:folder#id @r{VM message link} vm:folder#id @r{VM message link}
vm://myself@@some.where.org/folder#id @r{VM on remote machine} 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 @r{WANDERLUST folder link}
wl:folder#id @r{WANDERLUST message link} wl:folder#id @r{WANDERLUST message link}
mhe:folder @r{MH-E folder 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 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 @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}). 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 Customize the variable @code{org-log-into-drawer} to get this behavior---the
behavior---the recommended drawer for this is called @code{LOGBOOK}. You can recommended drawer for this is called @code{LOGBOOK}@footnote{Note that the
also overrule the setting of this variable for a subtree by setting a @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. @code{LOG_INTO_DRAWER} property.
Since it is normally too much to record a note for every state, Org mode 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} @orgcmd{C-c C-x p,org-set-property}
Set a property. This prompts for a property name and a value. If Set a property. This prompts for a property name and a value. If
necessary, the property drawer is created as well. necessary, the property drawer is created as well.
@item M-x org-insert-property-drawer @item C-u M-x org-insert-drawer
@findex org-insert-property-drawer @cindex org-insert-drawer
Insert a property drawer into the current entry. The drawer will be Insert a property drawer into the current entry. The drawer will be
inserted early in the entry, but after the lines with planning inserted early in the entry, but after the lines with planning
information like deadlines. information like deadlines.
@ -5896,12 +5918,14 @@ created for this purpose, it is described in @ref{Structure editing}.
@cindex time clocking @cindex time clocking
Org mode allows you to clock the time you spend on specific tasks in a 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. project. When you start working on an item, you can start the clock. When
When you stop working on that task, or when you mark the task done, the you stop working on that task, or when you mark the task done, the clock is
clock is stopped and the corresponding time interval is recorded. It stopped and the corresponding time interval is recorded. It also computes
also computes the total time spent on each subtree of a project. And it the total time spent on each subtree@footnote{Clocking only works if all
remembers a history or tasks recently clocked, to that you can jump quickly headings are indented with less than 30 stars. This is a hardcoded
between a number of tasks absorbing your time. 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 To save the clock history across Emacs sessions, use
@lisp @lisp
@ -6680,21 +6704,21 @@ similar way.}:
@vindex org-from-is-user-regexp @vindex org-from-is-user-regexp
@smallexample @smallexample
Link type | Available keywords Link type | Available keywords
------------------------+---------------------------------------------- ---------------------------------+----------------------------------------------
bbdb | %:name %:company bbdb | %:name %:company
irc | %:server %:port %:nick irc | %:server %:port %:nick
vm, wl, mh, mew, rmail | %:type %:subject %:message-id vm, vm-imap, wl, mh, mew, rmail | %:type %:subject %:message-id
| %:from %:fromname %:fromaddress | %:from %:fromname %:fromaddress
| %:to %:toname %:toaddress | %:to %:toname %:toaddress
| %:date @r{(message date header field)} | %:date @r{(message date header field)}
| %:date-timestamp @r{(date as active timestamp)} | %:date-timestamp @r{(date as active timestamp)}
| %:date-timestamp-inactive @r{(date as inactive 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}.}} | %: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} gnus | %:group, @r{for messages also all email fields}
w3, w3m | %:url w3, w3m | %:url
info | %:file %:node info | %:file %:node
calendar | %:date calendar | %:date
@end smallexample @end smallexample
@noindent @noindent
@ -9020,7 +9044,7 @@ the object with @code{\ref@{tab:basic-data@}}:
@example @example
#+CAPTION: This is the caption for the next table (or link) #+CAPTION: This is the caption for the next table (or link)
#+LABEL: tbl:basic-data #+LABEL: tab:basic-data
| ... | ...| | ... | ...|
|-----|----| |-----|----|
@end example @end example
@ -9634,7 +9658,7 @@ Insert template with export options, see example below.
@cindex #+EXPORT_SELECT_TAGS @cindex #+EXPORT_SELECT_TAGS
@cindex #+EXPORT_EXCLUDE_TAGS @cindex #+EXPORT_EXCLUDE_TAGS
@cindex #+XSLT @cindex #+XSLT
@cindex #+LATEX_HEADER @cindex #+LaTeX_HEADER
@vindex user-full-name @vindex user-full-name
@vindex user-mail-address @vindex user-mail-address
@vindex org-export-default-language @vindex org-export-default-language
@ -9654,7 +9678,7 @@ Insert template with export options, see example below.
@r{You need to confirm using these, or configure @code{org-export-allow-BIND}} @r{You need to confirm using these, or configure @code{org-export-allow-BIND}}
#+LINK_UP: the ``up'' link of an exported page #+LINK_UP: the ``up'' link of an exported page
#+LINK_HOME: the ``home'' 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_SELECT_TAGS: Tags that select a tree for export
#+EXPORT_EXCLUDE_TAGS: Tags that exclude a tree from export #+EXPORT_EXCLUDE_TAGS: Tags that exclude a tree from export
#+XSLT: the XSLT stylesheet used by DocBook exporter to generate FO file #+XSLT: the XSLT stylesheet used by DocBook exporter to generate FO file
@ -10326,11 +10350,11 @@ By default, the @LaTeX{} output uses the class @code{article}.
@vindex org-export-latex-classes @vindex org-export-latex-classes
@vindex org-export-latex-default-packages-alist @vindex org-export-latex-default-packages-alist
@vindex org-export-latex-packages-alist @vindex org-export-latex-packages-alist
@cindex #+LATEX_HEADER @cindex #+LaTeX_HEADER
@cindex #+LATEX_CLASS @cindex #+LaTeX_CLASS
@cindex #+LATEX_CLASS_OPTIONS @cindex #+LaTeX_CLASS_OPTIONS
@cindex property, LATEX_CLASS @cindex property, LaTeX_CLASS
@cindex property, LATEX_CLASS_OPTIONS @cindex property, LaTeX_CLASS_OPTIONS
You can change this globally by setting a different value for 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{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:} @code{#+LaTeX_CLASS: myclass} in your file, or with a @code{:LaTeX_CLASS:}
@ -10340,11 +10364,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-default-packages-alist} and
@code{org-export-latex-packages-alist} are spliced.}, and allows you to @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 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} classes there. @code{#+LaTeX_CLASS_OPTIONS} or a @code{:LaTeX_CLASS_OPTIONS:}
property can specify the options for the @code{\documentclass} macro. You property can specify the options for the @code{\documentclass} macro. The
can also use @code{#+LATEX_HEADER: \usepackage@{xyz@}} to add lines to the options to documentclass have to be provided, as expected by @LaTeX{}, within
header. See the docstring of @code{org-export-latex-classes} for more square brackets. You can also use @code{#+LaTeX_HEADER: \usepackage@{xyz@}}
information. 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 @node Quoting @LaTeX{} code, Tables in @LaTeX{} export, Header and sectioning, @LaTeX{} and PDF export
@subsection Quoting @LaTeX{} code @subsection Quoting @LaTeX{} code
@ -10428,9 +10463,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 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 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 table environment. For an example see the section ``Exporting org files'' in
@url{http://orgmode.org/worg/org-hacks.html}}. For example the @url{http://orgmode.org/worg/org-hacks.html}}.
@code{#+ATTR_LaTeX:} line below is exported as the @code{figure} environment
below it.
If you would like to let text flow around the image, add the word @samp{wrap} 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 to the @code{#+ATTR_LaTeX:} line, which will make the figure occupy the left
@ -10517,7 +10550,7 @@ transitions.
Frames will automatically receive a @code{fragile} option if they contain Frames will automatically receive a @code{fragile} option if they contain
source code that uses the verbatim environment. Special @file{beamer} source code that uses the verbatim environment. Special @file{beamer}
specific code can be inserted using @code{#+BEAMER:} and 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 backends, but with the difference that @code{#+LaTeX:} stuff will be included
in the presentation as well. in the presentation as well.
@ -12280,7 +12313,7 @@ publish it as @file{theindex.html}.
@end multitable @end multitable
The file will be created when first publishing a project with the 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 "theindex.inc"}. You can then build around this include statement by adding
a title, style information, etc. a title, style information, etc.
@ -12668,10 +12701,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 begins by default with @code{#+RESULTS} and optionally a cache identifier
and/or the name of the evaluated code block. The default value of and/or the name of the evaluated code block. The default value of
@code{#+RESULTS} can be changed with the customizable variable @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 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 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 languages and @ref{Structure of code blocks} for information on the syntax
used to define a code block). used to define a code block).
@ -12685,8 +12718,8 @@ evaluation from the @kbd{C-c C-c} key binding.}. This will call the
its results into the Org mode buffer. its results into the Org mode buffer.
@cindex #+CALL @cindex #+CALL
It is also possible to evaluate named code blocks from anywhere in an It is also possible to evaluate named code blocks from anywhere in an Org
Org mode buffer or an Org mode table. Live code blocks located in the current 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}) 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 can be executed. Named code blocks can be executed with a separate
@code{#+CALL:} line or inline within a block of text. @code{#+CALL:} line or inline within a block of text.
@ -12980,7 +13013,7 @@ Multi-line header arguments on an un-named code block:
(message "data1:%S, data2:%S" data1 data2) (message "data1:%S, data2:%S" data1 data2)
#+END_SRC #+END_SRC
#+results: #+RESULTS:
: data1:1, data2:2 : data1:1, data2:2
@end example @end example
@ -12992,7 +13025,7 @@ Multi-line header arguments on a named code block:
(message "data:%S" data) (message "data:%S" data)
#+END_SRC #+END_SRC
#+results: named-block #+RESULTS: named-block
: data:2 : data:2
@end example @end example
@ -13050,6 +13083,7 @@ argument in lowercase letters. The following header arguments are defined:
* rownames:: Handle row names in tables * rownames:: Handle row names in tables
* shebang:: Make tangled files executable * shebang:: Make tangled files executable
* eval:: Limit evaluation of specific code blocks * eval:: Limit evaluation of specific code blocks
* wrap:: Mark source block evaluation results
@end menu @end menu
Additional header arguments are defined on a language-specific basis, see Additional header arguments are defined on a language-specific basis, see
@ -13064,7 +13098,7 @@ syntax used to specify arguments is the same across all languages. In every
case, variables require a default value when they are declared. case, variables require a default value when they are declared.
The values passed to arguments can either be literal values, references, or 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:}, include anything in the Org mode file that takes a @code{#+NAME:},
@code{#+TBLNAME:}, or @code{#+RESULTS:} line. This includes tables, lists, @code{#+TBLNAME:}, or @code{#+RESULTS:} line. This includes tables, lists,
@code{#+BEGIN_EXAMPLE} blocks, other code blocks, and the results of other @code{#+BEGIN_EXAMPLE} blocks, other code blocks, and the results of other
@ -13103,7 +13137,7 @@ an Org mode table named with either a @code{#+NAME:} or @code{#+TBLNAME:} line
(length table) (length table)
#+END_SRC #+END_SRC
#+results: table-length #+RESULTS: table-length
: 4 : 4
@end example @end example
@ -13122,7 +13156,7 @@ carried through to the source code block)
(print x) (print x)
#+END_SRC #+END_SRC
#+results: #+RESULTS:
| simple | list | | simple | list |
@end example @end example
@ -13135,7 +13169,7 @@ optionally followed by parentheses
(* 2 length) (* 2 length)
#+END_SRC #+END_SRC
#+results: #+RESULTS:
: 8 : 8
@end example @end example
@ -13150,7 +13184,7 @@ code block name using standard function call syntax
(* 2 input) (* 2 input)
#+END_SRC #+END_SRC
#+results: double #+RESULTS: double
: 16 : 16
#+NAME: squared #+NAME: squared
@ -13158,7 +13192,7 @@ code block name using standard function call syntax
(* input input) (* input input)
#+END_SRC #+END_SRC
#+results: squared #+RESULTS: squared
: 4 : 4
@end example @end example
@ -13177,7 +13211,7 @@ on two lines
(concatenate 'string x " for you.") (concatenate 'string x " for you.")
#+END_SRC #+END_SRC
#+results: read-literal-example #+RESULTS: read-literal-example
: A literal example : A literal example
: on two lines for you. : on two lines for you.
@ -13219,7 +13253,7 @@ following example assigns the last cell of the first row the table
data data
#+END_SRC #+END_SRC
#+results: #+RESULTS:
: a : a
@end example @end example
@ -13240,7 +13274,7 @@ to @code{data}.
data data
#+END_SRC #+END_SRC
#+results: #+RESULTS:
| 2 | b | | 2 | b |
| 3 | c | | 3 | c |
| 4 | d | | 4 | d |
@ -13262,7 +13296,7 @@ column is referenced.
data data
#+END_SRC #+END_SRC
#+results: #+RESULTS:
| 1 | 2 | 3 | 4 | | 1 | 2 | 3 | 4 |
@end example @end example
@ -13282,7 +13316,7 @@ another by commas, as shown in the following example.
data data
#+END_SRC #+END_SRC
#+results: #+RESULTS:
| 11 | 14 | 17 | | 11 | 14 | 17 |
@end example @end example
@ -13315,7 +13349,7 @@ Emacs Lisp, as shown in the following example.
$data $data
#+END_SRC #+END_SRC
#+results: #+RESULTS:
: (a b c) : (a b c)
@end example @end example
@ -13381,10 +13415,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 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}. such by Org mode. E.g., @code{:results value raw}.
@item @code{html} @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}. block. E.g., @code{:results value html}.
@item @code{latex} @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}. E.g., @code{:results value latex}.
@item @code{code} @item @code{code}
Result are assumed to be parsable code and are enclosed in a code block. Result are assumed to be parsable code and are enclosed in a code block.
@ -13617,21 +13651,34 @@ interpreted language.
@node noweb, noweb-ref, session, Specific header arguments @node noweb, noweb-ref, session, Specific header arguments
@subsubsection @code{:noweb} @subsubsection @code{:noweb}
The @code{:noweb} header argument controls expansion of ``noweb'' style (see The @code{:noweb} header argument controls expansion of ``noweb'' syntax
@ref{Noweb reference syntax}) references in a code block. This header references (see @ref{Noweb reference syntax}) when the code block is
argument can have one of three values: @code{yes}, @code{no}, or @code{tangle}. 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 @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} @item @code{no}
The default. No ``noweb'' syntax specific action is taken when the code The default. ``Noweb'' syntax references in the body of the code block will
block is evaluated, tangled or exported. 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} @item @code{tangle}
All ``noweb'' syntax references in the body of the code block will be ``Noweb'' syntax references in the body of the code block will be expanded
expanded before the block is tangled, however ``noweb'' references will not before the code block is tangled. However, ``noweb'' syntax references will
be expanded when the block is evaluated or exported. 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 @end itemize
@subsubheading Noweb prefix lines @subsubheading Noweb prefix lines
@ -13732,7 +13779,7 @@ every time it is called.
@item @code{yes} @item @code{yes}
Every time the code block is run a SHA1 hash of the code and arguments 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 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 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. changed since the last time it was evaluated, it will not be re-evaluated.
@end itemize @end itemize
@ -13749,7 +13796,7 @@ changed since it was last run.
runif(1) runif(1)
#+END_SRC #+END_SRC
#+results[a2a72cd647ad44515fab62e144796432793d68e1]: random #+RESULTS[a2a72cd647ad44515fab62e144796432793d68e1]: random
0.4659510825295 0.4659510825295
#+NAME: caller #+NAME: caller
@ -13757,7 +13804,7 @@ changed since it was last run.
x x
#+END_SRC #+END_SRC
#+results[bec9c8724e397d5df3b696502df3ed7892fc4f5f]: caller #+RESULTS[bec9c8724e397d5df3b696502df3ed7892fc4f5f]: caller
0.254227238707244 0.254227238707244
@end example @end example
@ -13801,7 +13848,7 @@ default value yields the following results.
return tab return tab
#+END_SRC #+END_SRC
#+results: echo-table #+RESULTS: echo-table
| a | b | c | | a | b | c |
| d | e | f | | d | e | f |
| g | h | i | | g | h | i |
@ -13823,7 +13870,7 @@ Leaves hlines in the table. Setting @code{:hlines yes} has this effect.
return tab return tab
#+END_SRC #+END_SRC
#+results: echo-table #+RESULTS: echo-table
| a | b | c | | a | b | c |
|---+---+---| |---+---+---|
| d | e | f | | d | e | f |
@ -13861,7 +13908,7 @@ processing, then reapplied to the results.
return [[val + '*' for val in row] for row in tab] return [[val + '*' for val in row] for row in tab]
#+END_SRC #+END_SRC
#+results: echo-table-again #+RESULTS: echo-table-again
| a | | a |
|----| |----|
| b* | | b* |
@ -13904,7 +13951,7 @@ and is then reapplied to the results.
return [[val + 10 for val in row] for row in tab] return [[val + 10 for val in row] for row in tab]
#+END_SRC #+END_SRC
#+results: echo-table-once-again #+RESULTS: echo-table-once-again
| one | 11 | 12 | 13 | 14 | 15 | | one | 11 | 12 | 13 | 14 | 15 |
| two | 16 | 17 | 18 | 19 | 20 | | two | 16 | 17 | 18 | 19 | 20 |
@end example @end example
@ -13922,7 +13969,7 @@ Setting the @code{:shebang} header argument to a string value
first line of any tangled file holding the code block, and the file first line of any tangled file holding the code block, and the file
permissions of the tangled file are set to make it executable. 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} @subsubsection @code{:eval}
The @code{:eval} header argument can be used to limit the evaluation of 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 specific code blocks. The @code{:eval} header argument can be useful for
@ -13947,6 +13994,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 of the @code{org-confirm-babel-evaluate} variable see @ref{Code evaluation
security}. 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 @node Results of evaluation, Noweb reference syntax, Header arguments, Working With Source Code
@section Results of evaluation @section Results of evaluation
@cindex code block, results of evaluation @cindex code block, results of evaluation
@ -14016,7 +14071,7 @@ process. For example, compare the following two blocks:
print "bye" print "bye"
#+END_SRC #+END_SRC
#+results: #+RESULTS:
: hello : hello
: bye : bye
@end example @end example
@ -14029,7 +14084,7 @@ In non-session mode, the `2' is not printed and does not appear.
print "bye" print "bye"
#+END_SRC #+END_SRC
#+results: #+RESULTS:
: hello : hello
: 2 : 2
: bye : bye
@ -14320,19 +14375,19 @@ keystrokes are typed on a line by itself.
The following template selectors are currently supported. The following template selectors are currently supported.
@multitable @columnfractions 0.1 0.9 @multitable @columnfractions 0.1 0.9
@item @kbd{s} @tab @code{#+begin_src ... #+end_src} @item @kbd{s} @tab @code{#+BEGIN_SRC ... #+END_SRC}
@item @kbd{e} @tab @code{#+begin_example ... #+end_example} @item @kbd{e} @tab @code{#+BEGIN_EXAMPLE ... #+END_EXAMPLE}
@item @kbd{q} @tab @code{#+begin_quote ... #+end_quote} @item @kbd{q} @tab @code{#+BEGIN_QUOTE ... #+END_QUOTE}
@item @kbd{v} @tab @code{#+begin_verse ... #+end_verse} @item @kbd{v} @tab @code{#+BEGIN_VERSE ... #+END_VERSE}
@item @kbd{c} @tab @code{#+begin_center ... #+end_center} @item @kbd{c} @tab @code{#+BEGIN_CENTER ... #+END_CENTER}
@item @kbd{l} @tab @code{#+begin_latex ... #+end_latex} @item @kbd{l} @tab @code{#+BEGIN_LaTeX ... #+END_LaTeX}
@item @kbd{L} @tab @code{#+latex:} @item @kbd{L} @tab @code{#+LaTeX:}
@item @kbd{h} @tab @code{#+begin_html ... #+end_html} @item @kbd{h} @tab @code{#+BEGIN_HTML ... #+END_HTML}
@item @kbd{H} @tab @code{#+html:} @item @kbd{H} @tab @code{#+HTML:}
@item @kbd{a} @tab @code{#+begin_ascii ... #+end_ascii} @item @kbd{a} @tab @code{#+BEGIN_ASCII ... #+END_ASCII}
@item @kbd{A} @tab @code{#+ascii:} @item @kbd{A} @tab @code{#+ASCII:}
@item @kbd{i} @tab @code{#+index:} line @item @kbd{i} @tab @code{#+INDEX:} line
@item @kbd{I} @tab @code{#+include:} line @item @kbd{I} @tab @code{#+INCLUDE:} line
@end multitable @end multitable
For example, on an empty line, typing "<e" and then pressing TAB, will expand For example, on an empty line, typing "<e" and then pressing TAB, will expand
@ -14426,7 +14481,7 @@ either by the @i{calc} interpreter, or by the @i{Emacs Lisp} interpreter.
@cindex options, for customization @cindex options, for customization
@cindex variables, 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 Org. For the sake of compactness of the manual, I am not
describing the variables here. A structured overview of customization describing the variables here. A structured overview of customization
variables is available with @kbd{M-x org-customize}. Or select variables is available with @kbd{M-x org-customize}. Or select
@ -14477,8 +14532,8 @@ Set tags that can be inherited by any entry in the file, including the
top-level entries. top-level entries.
@item #+DRAWERS: NAME1 ..... @item #+DRAWERS: NAME1 .....
@vindex org-drawers @vindex org-drawers
Set the file-local set of drawers. The corresponding global variable is Set the file-local set of additional drawers. The corresponding global
@code{org-drawers}. variable is @code{org-drawers}.
@item #+LINK: linkword replace @item #+LINK: linkword replace
@vindex org-link-abbrev-alist @vindex org-link-abbrev-alist
These lines (several are allowed) specify link abbreviations. These lines (several are allowed) specify link abbreviations.
@ -14689,7 +14744,7 @@ This line contains the formulas for the table directly above the line.
@item #+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+TEXT:, #+DATE:, @item #+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+TEXT:, #+DATE:,
@itemx #+OPTIONS:, #+BIND:, #+XSLT:, @itemx #+OPTIONS:, #+BIND:, #+XSLT:,
@itemx #+DESCRIPTION:, #+KEYWORDS:, @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: @itemx #+EXPORT_SELECT_TAGS:, #+EXPORT_EXCLUDE_TAGS:
These lines provide settings for exporting files. For more details see These lines provide settings for exporting files. For more details see
@ref{Export options}. @ref{Export options}.
@ -15966,6 +16021,7 @@ If WHICH is nil or `all', get all properties. If WHICH is
`special' or `standard', only get that subclass. `special' or `standard', only get that subclass.
@end defun @end defun
@vindex org-use-property-inheritance @vindex org-use-property-inheritance
@findex org-insert-property-drawer
@defun org-entry-get pom property &optional inherit @defun org-entry-get pom property &optional inherit
Get value of PROPERTY for entry at point-or-marker POM. By default, 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 this only looks at properties defined locally in the entry. If INHERIT
@ -15988,7 +16044,7 @@ Get all property keys in the current buffer.
@end defun @end defun
@defun org-insert-property-drawer @defun org-insert-property-drawer
Insert a property drawer at point. Insert a property drawer for the current entry. Also
@end defun @end defun
@defun org-entry-put-multivalued-property pom property &rest values @defun org-entry-put-multivalued-property pom property &rest values
@ -16141,13 +16197,16 @@ The following example counts the number of entries with TODO keyword
@cindex iPhone @cindex iPhone
@cindex MobileOrg @cindex MobileOrg
@uref{http://mobileorg.ncogni.to/, MobileOrg} is an application for the @i{MobileOrg} is the name of the mobile companion app for Org mode, currently
@i{iPhone/iPod Touch} series of devices, developed by Richard Moreland. available for iOS and for Android. @i{MobileOrg} offers offline viewing and
@i{MobileOrg} offers offline viewing and capture support for an Org mode capture support for an Org mode system rooted on a ``real'' computer. It
system rooted on a ``real'' computer. It does also allow you to record does also allow you to record changes to existing entries.
changes to existing entries. Android users should check out 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} @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 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 format that can be displayed by @i{MobileOrg}, and for integrating notes
@ -16312,7 +16371,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 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 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 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. hosting costs for the orgmode.org website.
@item Eric Schulte and Dan Davison @item Eric Schulte and Dan Davison
Eric and Dan are jointly responsible for the Org-babel system, which turns Eric and Dan are jointly responsible for the Org-babel system, which turns

View File

@ -1,5 +1,5 @@
% Reference Card for Org Mode % Reference Card for Org Mode
\def\orgversionnumber{7.8.05} \def\orgversionnumber{7.8.06}
\def\versionyear{2012} % latest update \def\versionyear{2012} % latest update
\def\year{2012} % latest copyright year \def\year{2012} % latest copyright year
@ -17,7 +17,7 @@
\pdflayout=(0l) \pdflayout=(0l)
% Nothing else needs to be changed below this line. % 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. % Free Software Foundation, Inc.
% This file is part of GNU Emacs. % This file is part of GNU Emacs.

View File

@ -3,7 +3,7 @@
@setfilename ../../info/orgguide @setfilename ../../info/orgguide
@settitle The compact Org-mode Guide @settitle The compact Org-mode Guide
@set VERSION 7.8.05 @set VERSION 7.8.06
@set DATE mars 2012 @set DATE mars 2012
@c Use proper quote and backtick for code sections in PDF output @c Use proper quote and backtick for code sections in PDF output
@ -40,7 +40,7 @@
@end macro @end macro
@copying @copying
Copyright @copyright{} 2010 Free Software Foundation Copyright @copyright{} 2010-2012 Free Software Foundation
@quotation @quotation
Permission is granted to copy, distribute and/or modify this document Permission is granted to copy, distribute and/or modify this document
@ -1906,7 +1906,7 @@ outline, not only the heading.
@c @c
@itemx @key{TAB} @itemx @key{TAB}
Go to the original location of the item in another window. Under Emacs 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 @c
@itemx @key{RET} @itemx @key{RET}
Go to the original location of the item and delete other windows. Go to the original location of the item and delete other windows.
@ -2409,8 +2409,8 @@ verbatim @LaTeX{} code.
Export as DocBook file. Export as DocBook file.
@end table @end table
Similarly to the HTML exporter, you can use @code{#+DocBook:} and Similarly to the HTML exporter, you can use @code{#+DOCBOOK:} and
@code{#+BEGIN_DocBook ... #+END_DocBook} construct to add verbatim @LaTeX{} @code{#+BEGIN_DOCBOOK ... #+END_DOCBOOK} construct to add verbatim @LaTeX{}
code. code.
@node iCalendar export, , DocBook export, Exporting @node iCalendar export, , DocBook export, Exporting
@ -2492,10 +2492,10 @@ results in several formats.
The structure of code blocks is as follows: The structure of code blocks is as follows:
@example @example
#+srcname: <name> #+NAME: <name>
#+begin_src <language> <switches> <header arguments> #+BEGIN_SRC <language> <switches> <header arguments>
<body> <body>
#+end_src #+END_SRC
@end example @end example
Where @code{<name>} is a string used to name the code block, 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. manual. The following shows a code block and its results.
@example @example
#+begin_src emacs-lisp #+BEGIN_SRC emacs-lisp
(+ 1 2 3 4) (+ 1 2 3 4)
#+end_src #+END_SRC
#+results: #+RESULTS:
: 10 : 10
@end example @end example
@ -2663,10 +2663,17 @@ indentation for each level. To get this support in a file, use
@node MobileOrg, , Clean view, Miscellaneous @node MobileOrg, , Clean view, Miscellaneous
@section MobileOrg @section MobileOrg
@i{MobileOrg} is an application originally developed for the @i{iPhone/iPod @i{MobileOrg} is the name of the mobile companion app for Org mode, currently
Touch} series of devices, developed by Richard Moreland. There is also an available for iOS and for Android. @i{MobileOrg} offers offline viewing and
independent implementation for Android devices, by Matt Jones. capture support for an Org mode system rooted on a ``real'' computer. It
For details, see the Org-mode manual. 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{ @seealso{
@uref{http://orgmode.org/manual/Miscellaneous.html#Miscellaneous, Chapter 15 @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. % This file is part of GNU Emacs.

View File

@ -3,11 +3,11 @@
% Load plain if necessary, i.e., if running under initex. % Load plain if necessary, i.e., if running under initex.
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi \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, % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, % 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 % 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 % modify it under the terms of the GNU General Public License as

View File

@ -24,9 +24,9 @@
;;; Commentary: ;;; Commentary:
;; Babel's awk can use special header argument: ;; Babel's awk can use special header argument:
;; ;;
;; - :in-file takes a path to a file of data to be processed by awk ;; - :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 ;; - :stdin takes an Org-mode data or code block reference, the value
;; of which will be passed to the awk process through STDIN ;; 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 ;; 3) we are adding the "file" and "cmdline" header arguments
;; ;;
;; 4) there are no variables (at least for now) ;; 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: ;;; Code:
(require 'ob) (require 'ob)
(defvar org-ditaa-jar-path) ;; provided by org-exp-blocks
(defvar org-babel-default-header-args:ditaa (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.") "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) (defun org-babel-execute:ditaa (body params)
"Execute a block of Ditaa code with org-babel. "Execute a block of Ditaa code with org-babel.
This function is called by `org-babel-execute-src-block'." 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))) (cmdline (cdr (assoc :cmdline params)))
(java (cdr (assoc :java params))) (java (cdr (assoc :java params)))
(in-file (org-babel-temp-file "ditaa-")) (in-file (org-babel-temp-file "ditaa-"))
(cmd (concat "java " java " -jar " (cmd (concat "java " java " " org-ditaa-jar-option " "
(shell-quote-argument (shell-quote-argument
(expand-file-name org-ditaa-jar-path)) (expand-file-name org-ditaa-jar-path))
" " cmdline " " cmdline

View File

@ -43,31 +43,37 @@
When set to nil no code will be evaluated as part of the export When set to nil no code will be evaluated as part of the export
process." process."
:group 'org-babel :group 'org-babel
:version "24.1"
:type 'boolean) :type 'boolean)
(put 'org-export-babel-evaluate 'safe-local-variable (lambda (x) (eq x nil))) (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) (defmacro org-babel-exp-in-export-file (lang &rest body)
(declare (indent 1)) (declare (indent 1))
`(let* ((lang-headers (intern (concat "org-babel-default-header-args:" ,lang))) `(let* ((lang-headers (intern (concat "org-babel-default-header-args:" ,lang)))
(heading (nth 4 (ignore-errors (org-heading-components)))) (heading (nth 4 (ignore-errors (org-heading-components))))
(link (when org-current-export-file (export-buffer (current-buffer))
(org-make-link-string (original-buffer (org-babel-exp-get-export-buffer)) results)
(if heading (when original-buffer
(concat org-current-export-file "::" heading)
org-current-export-file))))
(export-buffer (current-buffer)) results)
(when link
;; resolve parameters in the original file so that ;; resolve parameters in the original file so that
;; headline and file-wide parameters are included, attempt ;; headline and file-wide parameters are included, attempt
;; to go to the same heading in the original file ;; 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 (save-restriction
(condition-case nil (when heading
(let ((org-link-search-inhibit-query t)) (condition-case nil
(org-open-link-from-string link)) (let ((org-link-search-inhibit-query t))
(error (when heading (org-link-search heading))
(goto-char (point-min)) (error (when heading
(re-search-forward (regexp-quote heading) nil t)))) (goto-char (point-min))
(re-search-forward (regexp-quote heading) nil t)))))
(setq results ,@body)) (setq results ,@body))
(set-buffer export-buffer) (set-buffer export-buffer)
results))) results)))
@ -109,13 +115,32 @@ none ----- do not display either code or results upon export"
(setf hash (org-babel-sha1-hash info))) (setf hash (org-babel-sha1-hash info)))
;; expand noweb references in the original file ;; expand noweb references in the original file
(setf (nth 1 info) (setf (nth 1 info)
(if (and (cdr (assoc :noweb (nth 2 info))) (if (string= "strip-export" (cdr (assoc :noweb (nth 2 info))))
(string= "yes" (cdr (assoc :noweb (nth 2 info))))) (replace-regexp-in-string
(org-babel-expand-noweb-references (org-babel-noweb-wrap) "" (nth 1 info))
info (get-file-buffer org-current-export-file)) (if (org-babel-noweb-p (nth 2 info) :export)
(nth 1 info))) (org-babel-expand-noweb-references
info (org-babel-exp-get-export-buffer))
(nth 1 info))))
(org-babel-exp-do-export info 'block hash))))) (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) (defvar org-babel-default-lob-header-args)
(defun org-babel-exp-non-block-elements (start end) (defun org-babel-exp-non-block-elements (start end)
"Process inline source and call lines between START and END for export." "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)) (if (and (cdr (assoc :noweb params))
(string= "yes" (cdr (assoc :noweb params)))) (string= "yes" (cdr (assoc :noweb params))))
(org-babel-expand-noweb-references (org-babel-expand-noweb-references
info (get-file-buffer org-current-export-file)) info (org-babel-exp-get-export-buffer))
(nth 1 info))) (nth 1 info)))
(let ((code-replacement (save-match-data (let ((code-replacement (save-match-data
(org-babel-exp-do-export (org-babel-exp-do-export
@ -162,22 +187,24 @@ none ----- do not display either code or results upon export"
(inlinep (match-string 11)) (inlinep (match-string 11))
(inline-start (match-end 11)) (inline-start (match-end 11))
(inline-end (match-end 0)) (inline-end (match-end 0))
(rep (let ((lob-info (org-babel-lob-get-info))) (results (save-match-data
(save-match-data (org-babel-exp-do-export
(org-babel-exp-do-export (list "emacs-lisp" "results"
(list "emacs-lisp" "results" (org-babel-merge-params
(org-babel-merge-params org-babel-default-header-args
org-babel-default-header-args org-babel-default-lob-header-args
org-babel-default-lob-header-args (org-babel-params-from-properties)
(org-babel-params-from-properties) (org-babel-parse-header-arguments
(org-babel-parse-header-arguments (org-babel-clean-text-properties
(org-babel-clean-text-properties (concat ":var results="
(concat ":var results=" (mapconcat #'identity
(mapconcat #'identity (butlast lob-info)
(butlast lob-info) " ")))))
" "))))) "" nil (car (last lob-info)))
"" nil (car (last lob-info))) 'lob)))
'lob))))) (rep (org-fill-template
org-babel-exp-call-line-template
`(("line" . ,(nth 0 lob-info))))))
(if inlinep (if inlinep
(save-excursion (save-excursion
(goto-char inline-start) (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) ('both (org-babel-exp-results info type nil hash)
(org-babel-exp-code info))))) (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) (defun org-babel-exp-code (info)
"Return the original code block formatted for export." "Return the original code block formatted for export."
(org-fill-template (org-fill-template
"#+BEGIN_SRC %lang%flags\n%body\n#+END_SRC" org-babel-exp-code-template
`(("lang" . ,(nth 0 info)) `(("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))) ("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) (defun org-babel-exp-results (info type &optional silent hash)
"Evaluate and return the results of the current code block for export. "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 (when (and org-export-babel-evaluate
(not (and hash (equal hash (org-babel-current-result-hash))))) (not (and hash (equal hash (org-babel-current-result-hash)))))
(let ((lang (nth 0 info)) (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 ;; skip code blocks which we can't evaluate
(when (fboundp (intern (concat "org-babel-execute:" lang))) (when (fboundp (intern (concat "org-babel-execute:" lang)))
(org-babel-eval-wipe-error-buffer) (org-babel-eval-wipe-error-buffer)

View File

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

View File

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

View File

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

View File

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

View File

@ -49,6 +49,7 @@
For example a value of \"(progn ;; %s\\n %%s)\" would ignore the For example a value of \"(progn ;; %s\\n %%s)\" would ignore the
current directory string." current directory string."
:group 'org-babel :group 'org-babel
:version "24.1"
:type 'string) :type 'string)
(defun org-babel-expand-body:lisp (body params) (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'. "Files used to populate the `org-babel-library-of-babel'.
To add files to this list use the `org-babel-lob-ingest' command." To add files to this list use the `org-babel-lob-ingest' command."
:group 'org-babel :group 'org-babel
:version "24.1"
:type 'list) :type 'list)
(defvar org-babel-default-lob-header-args '((:exports . "results")) (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) (beginning-of-line 1)
(when (looking-at org-babel-lob-one-liner-regexp) (when (looking-at org-babel-lob-one-liner-regexp)
(append (append
(mapcar #'org-babel-clean-text-properties (mapcar #'org-babel-clean-text-properties
(list (list
(format "%s%s(%s)%s" (format "%s%s(%s)%s"
(nonempty 3 12) (nonempty 3 12)
@ -115,7 +116,7 @@ if so then run the appropriate source block from the Library."
(nonempty 9 18))) (nonempty 9 18)))
(list (length (if (= (length (match-string 12)) 0) (list (length (if (= (length (match-string 12)) 0)
(match-string 2) (match-string 11)))))))))) (match-string 2) (match-string 11))))))))))
(defun org-babel-lob-execute (info) (defun org-babel-lob-execute (info)
"Execute the lob call specified by INFO." "Execute the lob call specified by INFO."
(let ((params (org-babel-process-params (let ((params (org-babel-process-params

View File

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

View File

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

View File

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

View File

@ -60,7 +60,7 @@
(declare-function org-narrow-to-subtree "org" ()) (declare-function org-narrow-to-subtree "org" ())
(declare-function org-id-find-id-in-file "org-id" (id file &optional markerp)) (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-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)) "org-compat" (&optional buffer-or-name norecord label))
(defvar org-babel-ref-split-regexp (defvar org-babel-ref-split-regexp

View File

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

View File

@ -54,6 +54,7 @@
(defcustom org-babel-scheme-cmd "guile" (defcustom org-babel-scheme-cmd "guile"
"Name of command used to evaluate scheme blocks." "Name of command used to evaluate scheme blocks."
:group 'org-babel :group 'org-babel
:version "24.1"
:type 'string) :type 'string)
(defun org-babel-expand-body:scheme (body params) (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'." This function is called by `org-babel-execute-src-block'."
(let* ((session (org-babel-sh-initiate-session (let* ((session (org-babel-sh-initiate-session
(cdr (assoc :session params)))) (cdr (assoc :session params))))
(result-params (cdr (assoc :result-params params)))
(stdin ((lambda (stdin) (when stdin (org-babel-sh-var-to-string (stdin ((lambda (stdin) (when stdin (org-babel-sh-var-to-string
(org-babel-ref-resolve stdin)))) (org-babel-ref-resolve stdin))))
(cdr (assoc :stdin params)))) (cdr (assoc :stdin params))))
(full-body (org-babel-expand-body:generic (full-body (org-babel-expand-body:generic
body params (org-babel-variable-assignments:sh params)))) body params (org-babel-variable-assignments:sh params))))
(org-babel-reassemble-table (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 (org-babel-pick-name
(cdr (assoc :colname-names params)) (cdr (assoc :colnames params))) (cdr (assoc :colname-names params)) (cdr (assoc :colnames params)))
(org-babel-pick-name (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" (defvar org-babel-sh-eoe-output "org_babel_sh_eoe"
"String to indicate that evaluation has completed.") "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. "Pass BODY to the Shell process in BUFFER.
If RESULT-TYPE equals 'output then return a list of the outputs If RESULT-TYPE equals 'output then return a list of the outputs
of the statements in BODY, if RESULT-TYPE equals 'value then of the statements in BODY, if RESULT-TYPE equals 'value then
return the value of the last statement in BODY." return the value of the last statement in BODY."
((lambda (results) ((lambda (results)
(when results (when results
(if (or (member "scalar" result-params) (let ((result-params (cdr (assoc :result-params params))))
(member "verbatim" result-params) (if (or (member "scalar" result-params)
(member "output" result-params)) (member "verbatim" result-params)
results (member "output" result-params))
(let ((tmp-file (org-babel-temp-file "sh-"))) results
(with-temp-file tmp-file (insert results)) (let ((tmp-file (org-babel-temp-file "sh-")))
(org-babel-import-elisp-from-file tmp-file))))) (with-temp-file tmp-file (insert results))
(org-babel-import-elisp-from-file tmp-file))))))
(cond (cond
(stdin ; external shell script w/STDIN (stdin ; external shell script w/STDIN
(let ((script-file (org-babel-temp-file "sh-script-")) (let ((script-file (org-babel-temp-file "sh-script-"))
(stdin-file (org-babel-temp-file "sh-stdin-"))) (stdin-file (org-babel-temp-file "sh-stdin-"))
(with-temp-file script-file (insert body)) (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-file stdin-file (insert stdin))
(with-temp-buffer (with-temp-buffer
(call-process-shell-command (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 stdin-file
(current-buffer)) (current-buffer))
(buffer-string)))) (buffer-string))))
@ -182,7 +190,17 @@ return the value of the last statement in BODY."
(list org-babel-sh-eoe-indicator)))) (list org-babel-sh-eoe-indicator))))
2)) "\n")) 2)) "\n"))
('otherwise ; external shell script ('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) (defun org-babel-sh-strip-weird-long-prompt (string)
"Remove prompt cruft from a string of shell output." "Remove prompt cruft from a string of shell output."

View File

@ -40,7 +40,7 @@
;; - add more useful header arguments (user, passwd, database, etc...) ;; - add more useful header arguments (user, passwd, database, etc...)
;; - support for more engines (currently only supports mysql) ;; - support for more engines (currently only supports mysql)
;; - what's a reasonable way to drop table data into SQL? ;; - what's a reasonable way to drop table data into SQL?
;; ;;
;;; Code: ;;; Code:
(require 'ob) (require 'ob)
@ -70,6 +70,10 @@ This function is called by `org-babel-execute-src-block'."
(org-babel-temp-file "sql-out-"))) (org-babel-temp-file "sql-out-")))
(header-delim "") (header-delim "")
(command (case (intern engine) (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" ('msosql (format "osql %s -s \"\t\" -i %s -o %s"
(or cmdline "") (or cmdline "")
(org-babel-process-file-name in-file) (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, written in this language. If no entry is found in this list,
then the name of the language is used." then the name of the language is used."
:group 'org-babel-tangle :group 'org-babel-tangle
:version "24.1"
:type '(repeat :type '(repeat
(cons (cons
(string "Language name") (string "Language name")
@ -55,16 +56,19 @@ then the name of the language is used."
(defcustom org-babel-post-tangle-hook nil (defcustom org-babel-post-tangle-hook nil
"Hook run in code files tangled by `org-babel-tangle'." "Hook run in code files tangled by `org-babel-tangle'."
:group 'org-babel :group 'org-babel
:version "24.1"
:type 'hook) :type 'hook)
(defcustom org-babel-pre-tangle-hook '(save-buffer) (defcustom org-babel-pre-tangle-hook '(save-buffer)
"Hook run at the beginning of `org-babel-tangle'." "Hook run at the beginning of `org-babel-tangle'."
:group 'org-babel :group 'org-babel
:version "24.1"
:type 'hook) :type 'hook)
(defcustom org-babel-tangle-body-hook nil (defcustom org-babel-tangle-body-hook nil
"Hook run over the contents of each code block body." "Hook run over the contents of each code block body."
:group 'org-babel :group 'org-babel
:version "24.1"
:type 'hook) :type 'hook)
(defcustom org-babel-tangle-comment-format-beg "[[%link][%source-name]]" (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 Whether or not comments are inserted during tangling is
controlled by the :comments header argument." controlled by the :comments header argument."
:group 'org-babel :group 'org-babel
:version "24.1"
:type 'string) :type 'string)
(defcustom org-babel-tangle-comment-format-end "%source-name ends here" (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 Whether or not comments are inserted during tangling is
controlled by the :comments header argument." controlled by the :comments header argument."
:group 'org-babel :group 'org-babel
:version "24.1"
:type 'string) :type 'string)
(defcustom org-babel-process-comment-text #'org-babel-trim (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 should take a single string argument and return a string
result. The default value is `org-babel-trim'." result. The default value is `org-babel-trim'."
:group 'org-babel :group 'org-babel
:version "24.1"
:type 'function) :type 'function)
(defun org-babel-find-file-noselect-refresh (file) (defun org-babel-find-file-noselect-refresh (file)
@ -283,7 +290,7 @@ references."
(interactive) (interactive)
(goto-char (point-min)) (goto-char (point-min))
(while (or (re-search-forward "\\[\\[file:.*\\]\\[.*\\]\\]" nil t) (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)) (delete-region (save-excursion (beginning-of-line 1) (point))
(save-excursion (end-of-line 1) (forward-char 1) (point))))) (save-excursion (end-of-line 1) (forward-char 1) (point)))))
@ -344,11 +351,7 @@ code blocks by language."
body params body params
(and (fboundp assignments-cmd) (and (fboundp assignments-cmd)
(funcall assignments-cmd params)))))) (funcall assignments-cmd params))))))
(if (and (cdr (assoc :noweb params)) ;; expand noweb refs (if (org-babel-noweb-p params :tangle)
(let ((nowebs (split-string
(cdr (assoc :noweb params)))))
(or (member "yes" nowebs)
(member "tangle" nowebs))))
(org-babel-expand-noweb-references info) (org-babel-expand-noweb-references info)
(nth 1 info))))) (nth 1 info)))))
(comment (comment

View File

@ -33,6 +33,8 @@
(defvar org-babel-library-of-babel) (defvar org-babel-library-of-babel)
(declare-function show-all "outline" ()) (declare-function show-all "outline" ())
(declare-function org-reduce "org" (CL-FUNC CL-SEQ &rest CL-KEYS)) (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" (declare-function tramp-compat-make-temp-file "tramp-compat"
(filename &optional dir-flag)) (filename &optional dir-flag))
(declare-function tramp-dissect-file-name "tramp" (name &optional nodefault)) (declare-function tramp-dissect-file-name "tramp" (name &optional nodefault))
@ -57,6 +59,7 @@
(declare-function org-cycle "org" (&optional arg)) (declare-function org-cycle "org" (&optional arg))
(declare-function org-uniquify "org" (list)) (declare-function org-uniquify "org" (list))
(declare-function org-current-level "org" ()) (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-table-import "org-table" (file arg))
(declare-function org-add-hook "org-compat" (declare-function org-add-hook "org-compat"
(hook function &optional append local)) (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 `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." remove code block execution from the C-c C-c keybinding."
:group 'org-babel :group 'org-babel
:version "24.1"
:type '(choice boolean function)) :type '(choice boolean function))
;; don't allow this variable to be changed through file settings ;; don't allow this variable to be changed through file settings
(put 'org-confirm-babel-evaluate 'safe-local-variable (lambda (x) (eq x t))) (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 (defcustom org-babel-no-eval-on-ctrl-c-ctrl-c nil
"Remove code block evaluation from the C-c C-c key binding." "Remove code block evaluation from the C-c C-c key binding."
:group 'org-babel :group 'org-babel
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-babel-results-keyword "RESULTS" (defcustom org-babel-results-keyword "RESULTS"
@ -120,6 +125,23 @@ be used."
:group 'org-babel :group 'org-babel
:type 'string) :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 (defvar org-babel-src-name-regexp
"^[ \t]*#\\+name:[ \t]*" "^[ \t]*#\\+name:[ \t]*"
"Regular expression used to match a source name line.") "Regular expression used to match a source name line.")
@ -381,7 +403,7 @@ then run `org-babel-pop-to-session'."
(mkdirp . ((yes no))) (mkdirp . ((yes no)))
(no-expand) (no-expand)
(noeval) (noeval)
(noweb . ((yes no tangle))) (noweb . ((yes no tangle no-export strip-export)))
(noweb-ref . :any) (noweb-ref . :any)
(noweb-sep . :any) (noweb-sep . :any)
(padline . ((yes no))) (padline . ((yes no)))
@ -394,7 +416,8 @@ then run `org-babel-pop-to-session'."
(session . :any) (session . :any)
(shebang . :any) (shebang . :any)
(tangle . ((tangle yes no :any))) (tangle . ((tangle yes no :any)))
(var . :any))) (var . :any)
(wrap . :any)))
(defconst org-babel-header-arg-names (defconst org-babel-header-arg-names
(mapcar #'car org-babel-common-header-args-w-values) (mapcar #'car org-babel-common-header-args-w-values)
@ -492,12 +515,9 @@ block."
(new-hash (when cache? (org-babel-sha1-hash info))) (new-hash (when cache? (org-babel-sha1-hash info)))
(old-hash (when cache? (org-babel-current-result-hash))) (old-hash (when cache? (org-babel-current-result-hash)))
(body (setf (nth 1 info) (body (setf (nth 1 info)
(let ((noweb (cdr (assoc :noweb params)))) (if (org-babel-noweb-p params :eval)
(if (and noweb (org-babel-expand-noweb-references info)
(or (string= "yes" noweb) (nth 1 info))))
(string= "tangle" noweb)))
(org-babel-expand-noweb-references info)
(nth 1 info)))))
(dir (cdr (assoc :dir params))) (dir (cdr (assoc :dir params)))
(default-directory (default-directory
(or (and dir (file-name-as-directory dir)) 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)) (lambda (el1 el2) (string< (symbol-name (car el1))
(symbol-name (car el2))))))) (symbol-name (car el2)))))))
(body (setf (nth 1 info) (body (setf (nth 1 info)
(if (and (cdr (assoc :noweb params)) (if (org-babel-noweb-p params :eval)
(string= "yes" (cdr (assoc :noweb params))))
(org-babel-expand-noweb-references info) (nth 1 info)))) (org-babel-expand-noweb-references info) (nth 1 info))))
(expand-cmd (intern (concat "org-babel-expand-body:" lang))) (expand-cmd (intern (concat "org-babel-expand-body:" lang)))
(assignments-cmd (intern (concat "org-babel-variable-assignments:" (assignments-cmd (intern (concat "org-babel-variable-assignments:"
@ -669,8 +688,7 @@ session."
(lang (nth 0 info)) (lang (nth 0 info))
(params (nth 2 info)) (params (nth 2 info))
(body (setf (nth 1 info) (body (setf (nth 1 info)
(if (and (cdr (assoc :noweb params)) (if (org-babel-noweb-p params :eval)
(string= "yes" (cdr (assoc :noweb params))))
(org-babel-expand-noweb-references info) (org-babel-expand-noweb-references info)
(nth 1 info)))) (nth 1 info))))
(session (cdr (assoc :session params))) (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) (defun org-babel-goto-named-src-block (name)
"Go to a named source-code block." "Go to a named source-code block."
(interactive (interactive
(let ((completion-ignore-case t)) (let ((completion-ignore-case t)
(list (org-icompleting-read "source-block name: " (under-point (thing-at-point 'line)))
(org-babel-src-block-names) nil t)))) (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))) (let ((point (org-babel-find-named-block name)))
(if point (if point
;; taken from `org-open-at-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)))) (message "source-code block '%s' not found in this buffer" name))))
(defun org-babel-find-named-block (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)) (setq end (point-marker))
;; possibly wrap result ;; possibly wrap result
(cond (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) ((member "html" result-params)
(wrap "#+BEGIN_HTML" "#+END_HTML")) (wrap "#+BEGIN_HTML" "#+END_HTML"))
((member "latex" result-params) ((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:")) (progn (re-search-forward (concat "^" (match-string 1) ":END:"))
(forward-char 1) (point))) (forward-char 1) (point)))
(t (t
(let ((case-fold-search t) (let ((case-fold-search t))
(blocks-re (regexp-opt (if (looking-at (concat "[ \t]*#\\+begin_\\([^ \t\n\r]+\\)"))
(list "latex" "html" "example" "src" "result" "org")))) (progn (re-search-forward (concat "[ \t]*#\\+end_" (match-string 1))
(if (looking-at (concat "[ \t]*#\\+begin_" blocks-re)) nil t)
(progn (re-search-forward (concat "[ \t]*#\\+end_" blocks-re) nil t)
(forward-char 1)) (forward-char 1))
(while (looking-at "[ \t]*\\(: \\|\\[\\[\\)") (while (looking-at "[ \t]*\\(: \\|\\[\\[\\)")
(forward-line 1)))) (forward-line 1))))
@ -2073,8 +2115,11 @@ parameters when merging lists."
(:tangle ;; take the latest -- always overwrite (:tangle ;; take the latest -- always overwrite
(setq tangle (or (list (cdr pair)) tangle))) (setq tangle (or (list (cdr pair)) tangle)))
(:noweb (:noweb
(setq noweb (e-merge '(("yes" "no" "tangle")) noweb (setq noweb (e-merge
(split-string (or (cdr pair) ""))))) '(("yes" "no" "tangle" "no-export"
"strip-export" "eval"))
noweb
(split-string (or (cdr pair) "")))))
(:cache (:cache
(setq cache (e-merge '(("yes" "no")) cache (setq cache (e-merge '(("yes" "no")) cache
(split-string (or (cdr pair) ""))))) (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\" not properly allow code blocks to inherit the \":noweb-ref\"
header argument from buffer or subtree wide properties.") 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) (defun org-babel-expand-noweb-references (&optional info parent-buffer)
"Expand Noweb references in the body of the current source code block. "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 (with-temp-buffer
(insert body) (goto-char (point-min)) (insert body) (goto-char (point-min))
(setq index (point)) (setq index (point))
(while (and (re-search-forward "<<\\([^ \t\n].+?[^ \t\n]\\|[^ \t\n]\\)>>" (while (and (re-search-forward (org-babel-noweb-wrap) nil t))
nil t))
(save-match-data (setf source-name (match-string 1))) (save-match-data (setf source-name (match-string 1)))
(save-match-data (setq evaluate (string-match "\(.*\)" source-name))) (save-match-data (setq evaluate (string-match "\(.*\)" source-name)))
(save-match-data (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 ;; possibly raise an error if named block doesn't exist
(if (member lang org-babel-noweb-error-langs) (if (member lang org-babel-noweb-error-langs)
(error "%s" (concat (error "%s" (concat
"<<" source-name ">> " (org-babel-noweb-wrap source-name)
"could not be resolved (see " "could not be resolved (see "
"`org-babel-noweb-error-langs')")) "`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 ;; Keep custom values for `org-agenda-filter-preset' compatible with
;; the new variable `org-agenda-tag-filter-preset'. ;; 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 (defconst org-agenda-custom-commands-local-options
`(repeat :tag "Local settings for this command. Remember to quote values" `(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." to make his option also apply to the tags-todo list."
:group 'org-agenda-skip :group 'org-agenda-skip
:group 'org-agenda-todo-list :group 'org-agenda-todo-list
:version "24.1"
:type '(choice :type '(choice
(const :tag "Ignore future timestamp todos" future) (const :tag "Ignore future timestamp todos" future)
(const :tag "Ignore past or present timestamp todos" past) (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." because you will take care of it on the day when scheduled."
:group 'org-agenda-skip :group 'org-agenda-skip
:group 'org-agenda-daily/weekly :group 'org-agenda-daily/weekly
:version "24.1"
:type '(choice :type '(choice
(const :tag "Alwas show prewarning" nil) (const :tag "Alwas show prewarning" nil)
(const :tag "Remove prewarning if entry is scheduled" t) (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 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')." you want to use two-column display (see `org-agenda-menu-two-column')."
:group 'org-agenda :group 'org-agenda
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-agenda-menu-two-column nil (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' If you use this, you probably want to set `org-agenda-menu-show-matcher'
to nil." to nil."
:group 'org-agenda :group 'org-agenda
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-finalize-agenda-hook nil (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 "Non-nil means `org-agenda-follow-mode' displays only the
current item's tree, in an indirect buffer." current item's tree, in an indirect buffer."
:group 'org-agenda :group 'org-agenda
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-agenda-show-outline-path t (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. "Non-nil means use leading zero for military times in agenda.
For example, 9:30am would become 09:30 rather than 9:30." For example, 9:30am would become 09:30 rather than 9:30."
:group 'org-agenda-daily/weekly :group 'org-agenda-daily/weekly
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-agenda-timegrid-use-ampm nil (defcustom org-agenda-timegrid-use-ampm nil
"When set, show AM/PM style timestamps on the timegrid." "When set, show AM/PM style timestamps on the timegrid."
:group 'org-agenda :group 'org-agenda
:version "24.1"
:type 'boolean) :type 'boolean)
(defun org-agenda-time-of-day-to-ampm (time) (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 to today. WHen nil, just move one day forward even if the date stays
in the past." in the past."
:group 'org-agenda-daily/weekly :group 'org-agenda-daily/weekly
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-agenda-include-diary nil (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. "If non-nil, include entries within their deadline warning period.
Custom commands can set this variable in the options section." Custom commands can set this variable in the options section."
:group 'org-agenda-daily/weekly :group 'org-agenda-daily/weekly
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-agenda-repeating-timestamp-show-all t (defcustom org-agenda-repeating-timestamp-show-all t
@ -1179,6 +1190,7 @@ issue display.
:short-face face for clock intervals that are too short" :short-face face for clock intervals that are too short"
:group 'org-agenda-daily/weekly :group 'org-agenda-daily/weekly
:group 'org-clock :group 'org-clock
:version "24.1"
:type 'plist) :type 'plist)
(defcustom org-agenda-log-mode-add-notes t (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 is a regexp marked with braces like \"{abc}\", this will also switch to
boolean search." boolean search."
:group 'org-agenda-search-view :group 'org-agenda-search-view
:version "24.1"
:type 'boolean) :type 'boolean)
(if (fboundp 'defvaralias) (if (fboundp 'defvaralias)
@ -1247,6 +1260,7 @@ boolean search."
"Non-nil means, search words must be matches as complete words. "Non-nil means, search words must be matches as complete words.
When nil, they may also match part of a word." When nil, they may also match part of a word."
:group 'org-agenda-search-view :group 'org-agenda-search-view
:version "24.1"
:type 'boolean) :type 'boolean)
(defgroup org-agenda-time-grid nil (defgroup org-agenda-time-grid nil
@ -1310,12 +1324,14 @@ a grid line."
(defcustom org-agenda-show-current-time-in-grid t (defcustom org-agenda-show-current-time-in-grid t
"Non-nil means show the current time in the time grid." "Non-nil means show the current time in the time grid."
:group 'org-agenda-time-grid :group 'org-agenda-time-grid
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-agenda-current-time-string (defcustom org-agenda-current-time-string
"now - - - - - - - - - - - - - - - - - - - - - - - - -" "now - - - - - - - - - - - - - - - - - - - - - - - - -"
"The string for the current time marker in the agenda." "The string for the current time marker in the agenda."
:group 'org-agenda-time-grid :group 'org-agenda-time-grid
:version "24.1"
:type 'string) :type 'string)
(defgroup org-agenda-sorting nil (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. "Text preceding item pulled into the agenda by inactive time stamps.
These entries are added to the agenda when pressing \"[\"." These entries are added to the agenda when pressing \"[\"."
:group 'org-agenda-line-format :group 'org-agenda-line-format
:version "24.1"
:type '(list :type '(list
(string :tag "Scheduled today ") (string :tag "Scheduled today ")
(string :tag "Scheduled previously"))) (string :tag "Scheduled previously")))
@ -1564,6 +1581,7 @@ the headline/diary entry."
"Non-nil means remove time ranges specifications in agenda "Non-nil means remove time ranges specifications in agenda
items that span on several days." items that span on several days."
:group 'org-agenda-line-format :group 'org-agenda-line-format
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-agenda-default-appointment-duration nil (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 returns a face, or nil if does not want to specify a face and let
the normal rules apply." the normal rules apply."
:group 'org-agenda-line-format :group 'org-agenda-line-format
:version "24.1"
:type 'function) :type 'function)
(defcustom org-agenda-category-icon-alist nil (defcustom org-agenda-category-icon-alist nil
@ -1677,6 +1696,7 @@ category, you can use:
(\"Emacs\" '(space . (:width (16))))" (\"Emacs\" '(space . (:width (16))))"
:group 'org-agenda-line-format :group 'org-agenda-line-format
:version "24.1"
:type '(alist :key-type (string :tag "Regexp matching category") :type '(alist :key-type (string :tag "Regexp matching category")
:value-type (choice (list :tag "Icon" :value-type (choice (list :tag "Icon"
(string :tag "File or data") (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. the custom function `set-category' on the selected entries.
Note that functions in this alist don't need to be quoted." Note that functions in this alist don't need to be quoted."
:type 'alist :type 'alist
:version "24.1"
:group 'org-agenda) :group 'org-agenda)
(eval-when-compile (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)) (setcdr ass (cdr entry))
(push entry org-agenda-custom-commands)))) (push entry org-agenda-custom-commands))))
;;; Define the Org-agenda-mode ;;; Define the org-agenda-mode
(defvar org-agenda-mode-map (make-sparse-keymap) (defvar org-agenda-mode-map (make-sparse-keymap)
"Keymap for `org-agenda-mode'.") "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 ;;; Diary integration
(defvar org-disable-agenda-to-diary nil) ;Dynamically-scoped param. (defvar org-disable-agenda-to-diary nil) ;Dynamically-scoped param.
(defvar list-diary-entries-hook) (defvar diary-list-entries-hook)
(defvar diary-time-regexp) (defvar diary-time-regexp)
(defun org-get-entries-from-diary (date) (defun org-get-entries-from-diary (date)
"Get the (Emacs Calendar) diary entries for 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-hook '(fancy-diary-display))
(diary-display-function 'fancy-diary-display) (diary-display-function 'fancy-diary-display)
(pop-up-frames nil) (pop-up-frames nil)
(list-diary-entries-hook (diary-list-entries-hook
(cons 'org-diary-default-entry list-diary-entries-hook)) (cons 'org-diary-default-entry diary-list-entries-hook))
(diary-file-name-prefix-function nil) ; turn this feature off (diary-file-name-prefix-function nil) ; turn this feature off
(diary-modify-entry-list-string-function 'org-modify-diary-entry-string) (diary-modify-entry-list-string-function 'org-modify-diary-entry-string)
entries entries
@ -6190,8 +6211,9 @@ When this is the global TODO list, a prefix argument will be interpreted."
(recenter window-line))) (recenter window-line)))
(defvar org-global-tags-completion-table nil) (defvar org-global-tags-completion-table nil)
(defvar org-agenda-filtered-by-category nil)
(defvar org-agenda-filter-form nil) (defvar org-agenda-filter-form nil)
(defvar org-agenda-filtered-by-category nil)
(defun org-agenda-filter-by-category (strip) (defun org-agenda-filter-by-category (strip)
"Keep only those lines in the agenda buffer that have a specific category. "Keep only those lines in the agenda buffer that have a specific category.
The category is that of the current line." 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)) (funcall op (or eff (if org-sort-agenda-noeffort-is-high 32767 0))
value)))) value))))
(defvar org-agenda-filtered-by-category nil)
(defun org-agenda-filter-apply (filter type) (defun org-agenda-filter-apply (filter type)
"Set FILTER as the new agenda filter and apply it." "Set FILTER as the new agenda filter and apply it."
(let (tags) (let (tags cat)
(if (eq type 'tag) (if (eq type 'tag)
(setq org-agenda-tag-filter filter) (setq org-agenda-tag-filter filter)
(setq org-agenda-category-filter filter (setq org-agenda-category-filter filter
@ -7150,10 +7171,13 @@ if it was hidden in the outline."
(select-window win))) (select-window win)))
(defvar org-agenda-show-window nil) (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. "Display the Org-mode file which contains the item at point.
When called repeatedly, scroll the window that is displaying the buffer." When called repeatedly, scroll the window that is displaying the buffer.
(interactive) 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))) (let ((win (selected-window)))
(if (and (window-live-p org-agenda-show-window) (if (and (window-live-p org-agenda-show-window)
(eq this-command last-command)) (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) (select-window org-agenda-show-window)
(ignore-errors (scroll-up))) (ignore-errors (scroll-up)))
(org-agenda-goto t) (org-agenda-goto t)
(show-subtree) (if arg (org-show-entry) (show-subtree))
(setq org-agenda-show-window (selected-window))) (setq org-agenda-show-window (selected-window)))
(select-window win))) (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 (defcustom org-agenda-insert-diary-extract-time nil
"Non-nil means extract any time specification from the diary entry." "Non-nil means extract any time specification from the diary entry."
:group 'org-agenda :group 'org-agenda
:version "24.1"
:type 'boolean) :type 'boolean)
(defun org-agenda-add-entry-to-org-agenda-diary-file (type text &optional d1 d2) (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 (defcustom org-archive-reversed-order nil
"Non-nil means make the tree first child under the archive heading, not last." "Non-nil means make the tree first child under the archive heading, not last."
:group 'org-archive :group 'org-archive
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-archive-sibling-heading "Archive" (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 (defcustom org-archive-subtree-add-inherited-tags 'infile
"Non-nil means append inherited tags when archiving a subtree." "Non-nil means append inherited tags when archiving a subtree."
:group 'org-archive :group 'org-archive
:version "24.1"
:type '(choice :type '(choice
(const :tag "Never" nil) (const :tag "Never" nil)
(const :tag "When archiving a subtree to the same file" infile) (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) (defun org-export-as-utf8 (&rest args)
"Like `org-export-as-ascii', use encoding for special symbols." "Like `org-export-as-ascii', use encoding for special symbols."
(interactive) (interactive)
(org-export-as-encoding 'org-export-as-ascii (org-export-as-encoding 'org-export-as-ascii
(org-called-interactively-p 'any) (org-called-interactively-p 'any)
'utf8 args)) '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 (defcustom org-attach-store-link-p nil
"Non-nil means store a link to a file when attaching it." "Non-nil means store a link to a file when attaching it."
:group 'org-attach :group 'org-attach
:version "24.1"
:type '(choice :type '(choice
(const :tag "Don't store link" nil) (const :tag "Don't store link" nil)
(const :tag "Link to origin location" t) (const :tag "Link to origin location" t)

View File

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

View File

@ -43,6 +43,7 @@
(defcustom org-beamer-use-parts nil (defcustom org-beamer-use-parts nil
"" ""
:group 'org-beamer :group 'org-beamer
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-beamer-frame-level 1 (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 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'." `org-beamer-use-parts' to make the top levels `\part'."
:group 'org-beamer :group 'org-beamer
:version "24.1"
:type '(choice :type '(choice
(const :tag "Frames need a BEAMER_env property" nil) (const :tag "Frames need a BEAMER_env property" nil)
(integer :tag "Specific level makes a frame"))) (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]. "Default options string to use for frames, should contains the [brackets].
And example for this is \"[allowframebreaks]\"." And example for this is \"[allowframebreaks]\"."
:group 'org-beamer :group 'org-beamer
:version "24.1"
:type '(string :tag "[options]")) :type '(string :tag "[options]"))
(defcustom org-beamer-column-view-format (defcustom org-beamer-column-view-format
"%45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra)" "%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." "Default column view format that should be used to fill the template."
:group 'org-beamer :group 'org-beamer
:version "24.1"
:type '(choice :type '(choice
(const :tag "Do not insert Beamer column view format" nil) (const :tag "Do not insert Beamer column view format" nil)
(string :tag "Beamer column view format"))) (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 When a beamer template is filled, this will be the default for
BEAMER_HEADER_EXTRA, which will be inserted just before \\begin{document}." BEAMER_HEADER_EXTRA, which will be inserted just before \\begin{document}."
:group 'org-beamer :group 'org-beamer
:version "24.1"
:type '(choice :type '(choice
(const :tag "Do not insert Beamer themes" nil) (const :tag "Do not insert Beamer themes" nil)
(string :tag "Beamer themes"))) (string :tag "Beamer themes")))
@ -102,6 +107,7 @@ These are just a completion help.")
("theorem" "t" "\\begin{theorem}%a%U%x" "\\end{theorem}") ("theorem" "t" "\\begin{theorem}%a%U%x" "\\end{theorem}")
("definition" "d" "\\begin{definition}%a%U%x" "\\end{definition}") ("definition" "d" "\\begin{definition}%a%U%x" "\\end{definition}")
("example" "e" "\\begin{example}%a%U%x" "\\end{example}") ("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}") ("proof" "p" "\\begin{proof}%a%U%x" "\\end{proof}")
("beamercolorbox" "o" "\\begin{beamercolorbox}%o{%h}%x" "\\end{beamercolorbox}") ("beamercolorbox" "o" "\\begin{beamercolorbox}%o{%h}%x" "\\end{beamercolorbox}")
("normal" "h" "%h" "") ; Emit the heading as normal text ("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." close The closing string of the environment."
:group 'org-beamer :group 'org-beamer
:version "24.1"
:type '(repeat :type '(repeat
(list (list
(string :tag "Environment") (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\\)}" (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." "If this regexp matches in a frame, the frame is marked as fragile."
:group 'org-beamer :group 'org-beamer
:version "24.1"
:type 'regexp) :type 'regexp)
(defface org-beamer-tag '((t (:box (:line-width 1 :color grey40)))) (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" (defcustom org-beamer-outline-frame-title "Outline"
"Default title of a frame containing an outline." "Default title of a frame containing an outline."
:group 'org-beamer :group 'org-beamer
:version "24.1"
:type '(string :tag "Outline frame title") :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 You might want to put e.g. [allowframebreaks=0.9] here. Remember to
include square brackets." include square brackets."
:group 'org-beamer :group 'org-beamer
:version "24.1"
:type '(string :tag "Outline frame options") :type '(string :tag "Outline frame options")
) )

View File

@ -216,12 +216,14 @@
(defcustom org-bibtex-autogen-keys nil (defcustom org-bibtex-autogen-keys nil
"Set to a truth value to use `bibtex-generate-autokey' to generate keys." "Set to a truth value to use `bibtex-generate-autokey' to generate keys."
:group 'org-bibtex :group 'org-bibtex
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-bibtex-prefix nil (defcustom org-bibtex-prefix nil
"Optional prefix for all bibtex property names. "Optional prefix for all bibtex property names.
For example setting to 'BIB_' would allow interoperability with fireforg." For example setting to 'BIB_' would allow interoperability with fireforg."
:group 'org-bibtex :group 'org-bibtex
:version "24.1"
:type 'string) :type 'string)
(defcustom org-bibtex-treat-headline-as-title t (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 the property. If this value is t, `org-bibtex-check' will ignore
a missing title field." a missing title field."
:group 'org-bibtex :group 'org-bibtex
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-bibtex-export-arbitrary-fields nil (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 ensure that other org-properties, such as CATEGORY or LOGGING are
not placed in the exported bibtex entry." not placed in the exported bibtex entry."
:group 'org-bibtex :group 'org-bibtex
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-bibtex-key-property "CUSTOM_ID" (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 to enable global links, but only with great caution, as global
IDs must be unique." IDs must be unique."
:group 'org-bibtex :group 'org-bibtex
:version "24.1"
:type 'string) :type 'string)
(defcustom org-bibtex-tags nil (defcustom org-bibtex-tags nil
"List of tag(s) that should be added to new bib entries." "List of tag(s) that should be added to new bib entries."
:group 'org-bibtex :group 'org-bibtex
:version "24.1"
:type '(repeat :tag "Tag" (string))) :type '(repeat :tag "Tag" (string)))
(defcustom org-bibtex-tags-are-keywords nil (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 defined in `org-bibtex-tags' or `org-bibtex-no-export-tags' will
not be exported." not be exported."
:group 'org-bibtex :group 'org-bibtex
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-bibtex-no-export-tags nil (defcustom org-bibtex-no-export-tags nil
"List of tag(s) that should not be converted to keywords. "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." This variable is relevant only if `org-bibtex-export-tags-as-keywords` is t."
:group 'org-bibtex :group 'org-bibtex
:version "24.1"
:type '(repeat :tag "Tag" (string))) :type '(repeat :tag "Tag" (string)))
(defcustom org-bibtex-type-property-name "btype" (defcustom org-bibtex-type-property-name "btype"
"Property in which to store bibtex entry type (e.g., article)." "Property in which to store bibtex entry type (e.g., article)."
:group 'org-bibtex :group 'org-bibtex
:version "24.1"
:type 'string) :type 'string)

View File

@ -56,7 +56,7 @@
(date &optional keep-restriction)) (date &optional keep-restriction))
(declare-function org-table-get-specials "org-table" ()) (declare-function org-table-get-specials "org-table" ())
(declare-function org-table-goto-line "org-table" (N)) (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)) (&optional buffer-or-name norecord label))
(defvar org-remember-default-headline) (defvar org-remember-default-headline)
@ -262,6 +262,7 @@ w3, w3m | %:type %:url
info | %:type %:file %:node info | %:type %:file %:node
calendar | %:type %:date" calendar | %:type %:date"
:group 'org-capture :group 'org-capture
:version "24.1"
:type :type
'(repeat '(repeat
(choice :value ("" "" entry (file "~/org/notes.org") "") (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 The capture buffer is still current when this hook runs and it is
widened to the entire buffer." widened to the entire buffer."
:group 'org-capture :group 'org-capture
:version "24.1"
:type 'hook) :type 'hook)
(defcustom org-capture-after-finalize-hook nil (defcustom org-capture-after-finalize-hook nil
"Hook that is run right after a capture process is finalized. "Hook that is run right after a capture process is finalized.
Suitable for window cleanup" Suitable for window cleanup"
:group 'org-capture :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) :type 'hook)
;;; The property list for keeping information about the capture process ;;; The property list for keeping information about the capture process
@ -527,6 +537,8 @@ captured item after finalizing."
(buffer-base-buffer (current-buffer))) (buffer-base-buffer (current-buffer)))
(error "This does not seem to be a capture buffer for Org-mode")) (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? ;; Did we start the clock in this capture buffer?
(when (and org-capture-clock-was-started (when (and org-capture-clock-was-started
org-clock-marker (marker-buffer org-clock-marker) 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, When this is a string, it is prepended to the clock string as an indication,
also using the face `org-mode-line-clock-overrun'." also using the face `org-mode-line-clock-overrun'."
:group 'org-clock :group 'org-clock
:version "24.1"
:type '(choice :type '(choice
(const :tag "Just mark the time string" nil) (const :tag "Just mark the time string" nil)
(string :tag "Text to prepend"))) (string :tag "Text to prepend")))
@ -267,12 +268,14 @@ string as argument."
:formatter nil) :formatter nil)
"Default properties for clock tables." "Default properties for clock tables."
:group 'org-clock :group 'org-clock
:version "24.1"
:type 'plist) :type 'plist)
(defcustom org-clock-clocktable-formatter 'org-clocktable-write-default (defcustom org-clock-clocktable-formatter 'org-clocktable-write-default
"Function to turn clocking data into a table. "Function to turn clocking data into a table.
For more information, see `org-clocktable-write-default'." For more information, see `org-clocktable-write-default'."
:group 'org-clocktable :group 'org-clocktable
:version "24.1"
:type 'function) :type 'function)
;; FIXME: translate es and nl last string "Clock summary at" ;; 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")) ("nl" "Bestand" "N" "Tijdstip" "Hoofding" "Duur" "ALLES" "Totale duur" "Bestandstijd" "Clock summary at"))
"Terms used in clocktable, translated to different languages." "Terms used in clocktable, translated to different languages."
:group 'org-clocktable :group 'org-clocktable
:version "24.1"
:type 'alist) :type 'alist)
(defcustom org-clock-clocktable-default-properties '(:maxlevel 2 :scope file) (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 (defcustom org-clock-report-include-clocking-task nil
"When non-nil, include the current clocking task time in clock reports." "When non-nil, include the current clocking task time in clock reports."
:group 'org-clock :group 'org-clock
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-clock-resolve-expert nil (defcustom org-clock-resolve-expert nil
"Non-nil means do not show the splash buffer with the clock resolver." "Non-nil means do not show the splash buffer with the clock resolver."
:group 'org-clock :group 'org-clock
:version "24.1"
:type 'boolean) :type 'boolean)
(defvar org-clock-in-prepare-hook nil (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 (message (concat "Clock stopped at %s after HH:MM = " org-time-clocksum-format "%s") te h m
(if remove " => LINE REMOVED" "")) (if remove " => LINE REMOVED" ""))
(run-hooks 'org-clock-out-hook) (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) (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)))) (encode-time 0 0 0 (+ d n) m y))))
((and wp (string-match "w\\|W" wp) mw (> (length wp) 0)) ((and wp (string-match "w\\|W" wp) mw (> (length wp) 0))
(require 'cal-iso) (require 'cal-iso)
(setq date (calendar-gregorian-from-absolute (setq date (calendar-gregorian-from-absolute
(calendar-absolute-from-iso (list (+ mw n) 1 y)))) (calendar-absolute-from-iso (list (+ mw n) 1 y))))
(setq ins (format-time-string (setq ins (format-time-string
"%G-W%V" "%G-W%V"
@ -2006,7 +2013,7 @@ the currently selected interval size."
(setq mw 5 (setq mw 5
y (- y 1)) 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)))) (calendar-absolute-from-iso (org-quarter-to-date (+ mw n) y))))
(setq ins (format-time-string (setq ins (format-time-string
(concatenate 'string (number-to-string y) "-Q" (number-to-string (+ mw n))) (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 (org-clock-sum ts te
(unless (null matcher) (unless (null matcher)
(lambda () (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))))) (eval matcher)))))
(goto-char (point-min)) (goto-char (point-min))
(setq st t) (setq st t)
@ -2631,4 +2640,3 @@ The details of what will be saved are regulated by the variable
(provide 'org-clock) (provide 'org-clock)
;;; org-clock.el ends here ;;; org-clock.el ends here

View File

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

View File

@ -162,6 +162,7 @@ See the ctags documentation for more information.")
(t "ctags-exuberant")) (t "ctags-exuberant"))
"Full path to the ctags executable file." "Full path to the ctags executable file."
:group 'org-ctags :group 'org-ctags
:version "24.1"
:type 'file) :type 'file)
(defcustom org-ctags-open-link-functions (defcustom org-ctags-open-link-functions
@ -170,6 +171,7 @@ See the ctags documentation for more information.")
org-ctags-ask-append-topic) org-ctags-ask-append-topic)
"List of functions to be prepended to ORG-OPEN-LINK-FUNCTIONS when ORG-CTAGS is active." "List of functions to be prepended to ORG-OPEN-LINK-FUNCTIONS when ORG-CTAGS is active."
:group 'org-ctags :group 'org-ctags
:version "24.1"
:type 'hook :type 'hook
:options '(org-ctags-find-tag :options '(org-ctags-find-tag
org-ctags-ask-rebuild-tags-file-then-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: The following patterns are replaced in the string:
`%t' - replaced with the capitalized title of the hyperlink" `%t' - replaced with the capitalized title of the hyperlink"
:group 'org-ctags :group 'org-ctags
:version "24.1"
:type 'string) :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>" (defcustom org-export-docbook-footnote-separator "<superscript>, </superscript>"
"Text used to separate footnotes." "Text used to separate footnotes."
:group 'org-export-docbook :group 'org-export-docbook
:version "24.1"
:type 'string) :type 'string)
(defcustom org-export-docbook-emphasis-alist (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 Object (FO) files. You can use either `fo/docbook.xsl' that
comes with DocBook, or any customization layer you may have." comes with DocBook, or any customization layer you may have."
:group 'org-export-docbook :group 'org-export-docbook
:version "24.1"
:type 'string) :type 'string)
(defcustom org-export-docbook-xslt-proc-command nil (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]\" For example, this will replace \"\\nsup\" with \"[not a superset of]\"
in backends where the corresponding character is not available." in backends where the corresponding character is not available."
:group 'org-entities :group 'org-entities
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-entities-user nil (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 If you define new entities here that require specific LaTeX packages to be
loaded, add these packages to `org-export-latex-packages-alist'." loaded, add these packages to `org-export-latex-packages-alist'."
:group 'org-entities :group 'org-entities
:version "24.1"
:type '(repeat :type '(repeat
(list (list
(string :tag "name ") (string :tag "name ")

View File

@ -45,7 +45,7 @@
(if (get-buffer eshell-buffer-name) (if (get-buffer eshell-buffer-name)
(org-pop-to-buffer-same-window eshell-buffer-name) (org-pop-to-buffer-same-window eshell-buffer-name)
(eshell)) (eshell))
(end-of-buffer) (goto-char (point-max))
(eshell-kill-input) (eshell-kill-input)
(insert command) (insert command)
(eshell-send-input))) (eshell-send-input)))

View File

@ -135,6 +135,7 @@ export function should accept three arguments."
(defcustom org-export-blocks-postblock-hook nil (defcustom org-export-blocks-postblock-hook nil
"Run after blocks have been processed with `org-export-blocks-preprocess'." "Run after blocks have been processed with `org-export-blocks-preprocess'."
:group 'org-export-general :group 'org-export-general
:version "24.1"
:type 'hook) :type 'hook)
(defun org-export-blocks-html-quote (body &optional open close) (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 ;; 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" "ditaa.jar"
(file-name-as-directory (file-name-as-directory
(expand-file-name (expand-file-name
@ -233,7 +234,9 @@ which defaults to the value of `org-export-blocks-witheld'."
(expand-file-name (expand-file-name
"../contrib" "../contrib"
(file-name-directory (or load-file-name buffer-file-name))))))) (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 (defvar org-export-current-backend) ; dynamically bound in org-exp.el
(defun org-export-blocks-format-ditaa (body &rest headers) (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 This applied to the commands `org-export-as-html-and-open' and
`org-export-as-pdf-and-open'." `org-export-as-pdf-and-open'."
:group 'org-export-general :group 'org-export-general
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-export-run-in-background nil (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'. "The initial scope when exporting with `org-export'.
This variable can be either set to 'buffer or 'subtree." This variable can be either set to 'buffer or 'subtree."
:group 'org-export-general :group 'org-export-general
:version "24.1"
:type '(choice :type '(choice
(const :tag "Export current buffer" 'buffer) (const :tag "Export current buffer" 'buffer)
(const :tag "Export current subtree" 'subtree))) (const :tag "Export current subtree" 'subtree)))
@ -206,7 +208,7 @@ This option can also be set with the +OPTIONS line, e.g. \"-:nil\"."
("sv" "F&ouml;rfattare" "Datum" "Inneh&aring;ll" "Fotnoter") ("sv" "F&ouml;rfattare" "Datum" "Inneh&aring;ll" "Fotnoter")
;; Use numeric character entities for proper rendering of non-UTF8 documents ;; Use numeric character entities for proper rendering of non-UTF8 documents
;; ("zh_CN" "作者" "日期" "目录" "脚注") ;; ("zh_CN" "作者" "日期" "目录" "脚注")
("zh_CN" "&#20316;&#32773;" "&#26085;&#26399;" "&#30446;&#24405;" "&#33050;&#27880;")) ("zh-CN" "&#20316;&#32773;" "&#26085;&#26399;" "&#30446;&#24405;" "&#33050;&#27880;"))
"Terms used in export text, translated to different languages. "Terms used in export text, translated to different languages.
Use the variable `org-export-default-language' to set the language, Use the variable `org-export-default-language' to set the language,
or use the +OPTION lines for a per-file setting." or use the +OPTION lines for a per-file setting."
@ -229,6 +231,7 @@ and in `org-clock-clocktable-language-setup'."
(defcustom org-export-date-timestamp-format "%Y-%m-%d" (defcustom org-export-date-timestamp-format "%Y-%m-%d"
"Time string format for Org timestamps in the #+DATE option." "Time string format for Org timestamps in the #+DATE option."
:group 'org-export-general :group 'org-export-general
:version "24.1"
:type 'string) :type 'string)
(defvar org-export-page-description "" (defvar org-export-page-description ""
@ -326,6 +329,7 @@ done include only tasks that are already done.
nil remove all tasks before export nil remove all tasks before export
list of TODO kwds keep only tasks with these keywords" list of TODO kwds keep only tasks with these keywords"
:group 'org-export-general :group 'org-export-general
:version "24.1"
:type '(choice :type '(choice
(const :tag "All tasks" t) (const :tag "All tasks" t)
(const :tag "No tasks" nil) (const :tag "No tasks" nil)
@ -376,6 +380,7 @@ e.g. \"author:nil\"."
This option can also be set with the +OPTIONS line, This option can also be set with the +OPTIONS line,
e.g. \"email:t\"." e.g. \"email:t\"."
:group 'org-export-general :group 'org-export-general
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-export-creator-info t (defcustom org-export-creator-info t
@ -603,6 +608,7 @@ the values of constants may be useful to have."
This is the global equivalent of the :remove-nil-lines option This is the global equivalent of the :remove-nil-lines option
when locally sending a table with #+ORGTBL." when locally sending a table with #+ORGTBL."
:group 'org-export-tables :group 'org-export-tables
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-export-prefer-native-exporter-for-tables nil (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." color."
:group 'org-faces :group 'org-faces
:group 'org-todo :group 'org-todo
:version "24.1"
:type '(repeat :type '(repeat
(cons (choice (const todo) (const tag) (const priority)) (cons (choice (const todo) (const tag) (const priority))
(choice (const :foreground) (const :background))))) (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 When nil, format these as normal Org. This is the default, because the
content of these blocks will still be treated as Org syntax." content of these blocks will still be treated as Org syntax."
:group 'org-faces :group 'org-faces
:version "24.1"
:type 'boolean) :type 'boolean)
(defface org-clock-overlay ;; copied from secondary-selection (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" level org-n-level-faces"
:group 'org-appearance :group 'org-appearance
:group 'org-faces :group 'org-faces
:version "24.1"
:type 'boolean) :type 'boolean)
(defface org-latex-and-export-specials (defface org-latex-and-export-specials

View File

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

View File

@ -57,6 +57,7 @@
(declare-function org-mark-ring-push "org" (&optional pos buffer)) (declare-function org-mark-ring-push "org" (&optional pos buffer))
(declare-function org-show-context "org" (&optional key)) (declare-function org-show-context "org" (&optional key))
(declare-function org-trim "org" (s)) (declare-function org-trim "org" (s))
(declare-function org-skip-whitespace "org" ())
(declare-function outline-next-heading "outline") (declare-function outline-next-heading "outline")
(defvar org-outline-regexp-bol) ; defined in org.el (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 ;; 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 ;; bug or is it a windows xp bug (some resource gets exhausted if you
;; use sticky keys which I do). ;; use sticky keys which I do).
:version "24.1"
:group 'org-freemind) :group 'org-freemind)
(defun org-freemind-org-text-to-freemind-subnode/note (node-name start end drawers-regexp) (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 So if following a link to a Gnus article takes ages, try setting
this variable to `t'." this variable to `t'."
:group 'org-link-store :group 'org-link-store
:version "24.1"
:type 'boolean) :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")) (setq to (or to (gnus-fetch-original-field "To"))
newsgroups (gnus-fetch-original-field "Newsgroups") newsgroups (gnus-fetch-original-field "Newsgroups")
x-no-archive (gnus-fetch-original-field "x-no-archive"))) 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) :message-id message-id :group group :to to)
(when date (when date
(org-add-link-props :date date :date-timestamp date-ts (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 ?! (defcustom org-habit-today-glyph ?!
"Glyph character used to identify today." "Glyph character used to identify today."
:group 'org-habit :group 'org-habit
:version "24.1"
:type 'character) :type 'character)
(defcustom org-habit-completed-glyph ?* (defcustom org-habit-completed-glyph ?*
"Glyph character used to show completed days on which a task was done." "Glyph character used to show completed days on which a task was done."
:group 'org-habit :group 'org-habit
:version "24.1"
:type 'character) :type 'character)
(defface org-habit-clear-face (defface org-habit-clear-face

View File

@ -64,6 +64,7 @@ by the footnotes themselves."
(defcustom org-export-html-footnote-separator "<sup>, </sup>" (defcustom org-export-html-footnote-separator "<sup>, </sup>"
"Text used to separate footnotes." "Text used to separate footnotes."
:group 'org-export-html :group 'org-export-html
:version "24.1"
:type 'string) :type 'string)
(defcustom org-export-html-coding-system nil (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/\"" #+MATHJAX: scale:\"133\" align:\"right\" mathml:t path:\"/MathJax/\""
:group 'org-export-html :group 'org-export-html
:version "24.1"
:type '(list :greedy t :type '(list :greedy t
(list :tag "path (the path from where to load MathJax.js)" (list :tag "path (the path from where to load MathJax.js)"
(const :format " " path) (string)) (const :format " " path) (string))
@ -335,6 +337,7 @@ You can also customize this for each buffer, using something like
</script>" </script>"
"The MathJax setup for XHTML files." "The MathJax setup for XHTML files."
:group 'org-export-html :group 'org-export-html
:version "24.1"
:type 'string) :type 'string)
(defcustom org-export-html-tag-class-prefix "" (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 to the headline (e.g. \"sec-2\"). When set to `nil', don't insert
HTML anchors in headlines." HTML anchors in headlines."
:group 'org-export-html :group 'org-export-html
:version "24.1"
:type 'string) :type 'string)
(defcustom org-export-html-preamble t (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 If you need to use a \"%\" character, you need to escape it
like that: \"%%\"." like that: \"%%\"."
:group 'org-export-html :group 'org-export-html
:version "24.1"
:type 'string) :type 'string)
(defcustom org-export-html-postamble 'auto (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 If you need to use a \"%\" character, you need to escape it
like that: \"%%\"." like that: \"%%\"."
:group 'org-export-html :group 'org-export-html
:version "24.1"
:type 'string) :type 'string)
(defcustom org-export-html-home/up-format (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 is ignored by some browsers (like Firefox, Safari). Opera does it right
though." though."
:group 'org-export-tables :group 'org-export-tables
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-export-html-table-use-header-tags-for-first-column nil (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;")) (">" . "&gt;"))
"Alist of characters to be converted by `org-html-protect'." "Alist of characters to be converted by `org-html-protect'."
:group 'org-export-html :group 'org-export-html
:version "24.1"
:type '(repeat (cons (string :tag "Character") :type '(repeat (cons (string :tag "Character")
(string :tag "HTML equivalent")))) (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 DIV, the second one for the content DIV and the third one for the
postamble DIV." postamble DIV."
:group 'org-export-html :group 'org-export-html
:version "24.1"
:type '(list :type '(list
(string :tag " Div for the preamble:") (string :tag " Div for the preamble:")
(string :tag " Div for the content:") (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 - The alarm will go off N minutes before the event
- only a DISPLAY action is defined." - only a DISPLAY action is defined."
:group 'org-export-icalendar :group 'org-export-icalendar
:version "24.1"
:type 'integer) :type 'integer)
(defcustom org-icalendar-combined-name "OrgMode" (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 (defcustom org-icalendar-combined-description nil
"Calendar description for the combined iCalendar (all agenda files)." "Calendar description for the combined iCalendar (all agenda files)."
:group 'org-export-icalendar :group 'org-export-icalendar
:version "24.1"
:type 'string) :type 'string)
(defcustom org-icalendar-use-plain-timestamp t (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 (defcustom org-icalendar-honor-noexport-tag nil
"Non-nil means don't export entries with a tag in `org-export-exclude-tags'." "Non-nil means don't export entries with a tag in `org-export-exclude-tags'."
:group 'org-export-icalendar :group 'org-export-icalendar
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-icalendar-use-deadline '(event-if-not-todo todo-due) (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" - \":%Y%m%dT%H%M%SZ\" for time expressed in Universal Time"
:group 'org-export-icalendar :group 'org-export-icalendar
:version "24.1"
:type '(choice :type '(choice
(const :tag "Local time" ":%Y%m%dT%H%M%S") (const :tag "Local time" ":%Y%m%dT%H%M%S")
(const :tag "Explicit local time" ";TZID=%Z:%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) (require 'org)
(declare-function message-make-fqdn "message" ()) (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)) "org-compat" (&optional buffer-or-name norecord label))
;;; Customization ;;; Customization
@ -641,7 +641,3 @@ optional argument MARKERP, return the position as a new marker."
(provide 'org-id) (provide 'org-id)
;;; org-id.el ends here ;;; org-id.el ends here

View File

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

View File

@ -90,6 +90,9 @@
(defcustom org-inlinetask-min-level 15 (defcustom org-inlinetask-min-level 15
"Minimum level a headline must have before it is treated as an inline task. "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, 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 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 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) (const :tag "Off" nil)
(integer))) (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 (defcustom org-inlinetask-export t
"Non-nil means export inline tasks. "Non-nil means export inline tasks.
When nil, they will not be exported." 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 This should be the state `org-inlinetask-insert-task' should use by
default, or nil of no state should be assigned." default, or nil of no state should be assigned."
:group 'org-inlinetask :group 'org-inlinetask
:version "24.1"
:type '(choice :type '(choice
(const :tag "No state" nil) (const :tag "No state" nil)
(string :tag "Specific state"))) (string :tag "Specific state")))
@ -431,9 +441,12 @@ Either remove headline and meta data, or do special formatting."
'org-hide 'org-hide
'org-warning))) 'org-warning)))
(while (re-search-forward re limit t) (while (re-search-forward re limit t)
(add-text-properties (match-beginning 1) (match-end 1) (if org-inlinetask-show-first-star
`(face ,start-face font-lock-fontified t)) (add-text-properties (match-beginning 1) (match-end 1)
(add-text-properties (match-beginning 2) (match-end 2) `(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)) '(face org-hide font-lock-fontified t))
(add-text-properties (match-beginning 3) (match-end 3) (add-text-properties (match-beginning 3) (match-end 3)
'(face org-inlinetask font-lock-fontified t))))) '(face org-inlinetask font-lock-fontified t)))))
@ -451,7 +464,7 @@ Either remove headline and meta data, or do special formatting."
((= end start)) ((= end start))
;; Inlinetask was folded: expand it. ;; Inlinetask was folded: expand it.
((get-char-property (1+ start) 'invisible) ((get-char-property (1+ start) 'invisible)
(outline-flag-region start end nil)) (org-show-entry))
(t (outline-flag-region start end t))))) (t (outline-flag-region start end t)))))
(defun org-inlinetask-remove-END-maybe () (defun org-inlinetask-remove-END-maybe ()

View File

@ -59,7 +59,7 @@
(declare-function erc-server-buffer "erc" ()) (declare-function erc-server-buffer "erc" ())
(declare-function erc-get-server-nickname-list "erc" ()) (declare-function erc-get-server-nickname-list "erc" ())
(declare-function erc-cmd-JOIN "erc" (channel &optional key)) (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)) "org-compat" (&optional buffer-or-name norecord label))
(defvar org-irc-client 'erc (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 will cause \\usepackage[utf8x]{inputenc} to be used for buffers that
are written as utf8 files." are written as utf8 files."
:group 'org-export-latex :group 'org-export-latex
:version "24.1"
:type '(repeat :type '(repeat
(cons (cons
(string :tag "Derived from buffer") (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}" (defcustom org-export-latex-tag-markup "\\textbf{%s}"
"Markup for tags, as a printf format." "Markup for tags, as a printf format."
:group 'org-export-latex :group 'org-export-latex
:version "24.1"
:type 'string) :type 'string)
(defcustom org-export-latex-timestamp-markup "\\textit{%s}" (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}" (defcustom org-export-latex-timestamp-inactive-markup "\\textit{%s}"
"A printf format string to be applied to inactive time stamps." "A printf format string to be applied to inactive time stamps."
:group 'org-export-latex :group 'org-export-latex
:version "24.1"
:type 'string) :type 'string)
(defcustom org-export-latex-timestamp-keyword-markup "\\texttt{%s}" (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}" (defcustom org-export-latex-href-format "\\href{%s}{%s}"
"A printf format string to be applied to href links. "A printf format string to be applied to href links.
The format must contain either two %s instances or just one. The format must contain either two %s instances or just one.
If it contains two %s instances, the first will be filled with If it contains two %s instances, the first will be filled with
the link, the second with the link description. If it contains the link, the second with the link description. If it contains
only one, the %s will be filled with the link." only one, the %s will be filled with the link."
:group 'org-export-latex :group 'org-export-latex
:version "24.1"
:type 'string) :type 'string)
(defcustom org-export-latex-hyperref-format "\\hyperref[%s]{%s}" (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 The format must contain one or two %s instances. The first one
will be filled with the link, the second with its description." will be filled with the link, the second with its description."
:group 'org-export-latex :group 'org-export-latex
:version "24.1"
:type 'string) :type 'string)
(defcustom org-export-latex-footnote-separator "\\textsuperscript{,}\\," (defcustom org-export-latex-footnote-separator "\\textsuperscript{,}\\,"
"Text used to separate footnotes." "Text used to separate footnotes."
:group 'org-export-latex :group 'org-export-latex
:version "24.1"
:type 'string) :type 'string)
(defcustom org-export-latex-quotes (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 for allowed characters before/after the quote, the second
string defines the replacement string for this quote." string defines the replacement string for this quote."
:group 'org-export-latex :group 'org-export-latex
:version "24.1"
:type '(list :type '(list
(cons :tag "Opening quote" (cons :tag "Opening quote"
(string :tag "Regexp for char before") (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, "When non-nil, the caption is set above the table. When nil,
the caption is set below the table." the caption is set below the table."
:group 'org-export-latex :group 'org-export-latex
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-export-latex-tables-column-borders nil (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 `org-export-latex-listings' variable) can be named in the style
of noweb." of noweb."
:group 'org-export-latex :group 'org-export-latex
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-export-latex-minted-langs (defcustom org-export-latex-minted-langs
@ -499,6 +508,7 @@ with:
pygmentize -L lexers pygmentize -L lexers
" "
:group 'org-export-latex :group 'org-export-latex
:version "24.1"
:type '(repeat :type '(repeat
(list (list
(symbol :tag "Major mode ") (symbol :tag "Major mode ")
@ -522,6 +532,7 @@ black keywords.
Note that the same options will be applied to blocks of all Note that the same options will be applied to blocks of all
languages." languages."
:group 'org-export-latex :group 'org-export-latex
:version "24.1"
:type '(repeat :type '(repeat
(list (list
(string :tag "Listings option name ") (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 as the start of the minted environment. Note that the same
options will be applied to blocks of all languages." options will be applied to blocks of all languages."
:group 'org-export-latex :group 'org-export-latex
:version "24.1"
:type '(repeat :type '(repeat
(list (list
(string :tag "Minted option name ") (string :tag "Minted option name ")
@ -586,11 +598,13 @@ and `org-export-with-tags' instead."
(defcustom org-latex-default-figure-position "htb" (defcustom org-latex-default-figure-position "htb"
"Default position for latex figures." "Default position for latex figures."
:group 'org-export-latex :group 'org-export-latex
:version "24.1"
:type 'string) :type 'string)
(defcustom org-export-latex-tabular-environment "tabular" (defcustom org-export-latex-tabular-environment "tabular"
"Default environment used to build tables." "Default environment used to build tables."
:group 'org-export-latex :group 'org-export-latex
:version "24.1"
:type 'string) :type 'string)
(defcustom org-export-latex-inline-image-extensions (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") '("aux" "idx" "log" "out" "toc" "nav" "snm" "vrb")
"The list of file extensions to consider as LaTeX logfiles." "The list of file extensions to consider as LaTeX logfiles."
:group 'org-export-pdf :group 'org-export-pdf
:version "24.1"
:type '(repeat (string :tag "Extension"))) :type '(repeat (string :tag "Extension")))
(defcustom org-export-pdf-remove-logfiles t (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. ;; a LaTeX issue, but we here implement a work-around anyway.
(setq path (org-export-latex-protect-amp path) (setq path (org-export-latex-protect-amp path)
desc (org-export-latex-protect-amp desc))) desc (org-export-latex-protect-amp desc)))
(insert (insert
(if (string-match "%s.*%s" org-export-latex-href-format) (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 desc)
(format org-export-latex-href-format path)))) (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 26 items will fallback to standard numbering. Alphabetical
counters like \"[@c]\" will be recognized." counters like \"[@c]\" will be recognized."
:group 'org-plain-lists :group 'org-plain-lists
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-list-two-spaces-after-bullet-regexp nil (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 outdenting a list whose bullet is * to column 0 will
change that bullet to \"-\"." change that bullet to \"-\"."
:group 'org-plain-lists :group 'org-plain-lists
:version "24.1"
:type '(alist :tag "Sets of rules" :type '(alist :tag "Sets of rules"
:key-type :key-type
(choice (choice
@ -277,6 +279,7 @@ This affects the behavior of \\[org-move-item-up],
\\[org-move-item-down], \\[org-next-item] and \\[org-move-item-down], \\[org-next-item] and
\\[org-previous-item]." \\[org-previous-item]."
:group 'org-plain-lists :group 'org-plain-lists
:version "24.1"
:type 'boolean) :type 'boolean)
(defvar org-checkbox-statistics-hook nil (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 By setting this to a small number, usually 1 or 2, one can more
clearly distinguish sub-items in a list." clearly distinguish sub-items in a list."
:group 'org-plain-lists :group 'org-plain-lists
:version "24.1"
:type 'integer) :type 'integer)
(defcustom org-list-radio-list-templates (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 ;; equally indented than BEG-CELL's cdr. Also, store ending
;; position of items in END-LST-2. ;; position of items in END-LST-2.
(catch 'exit (catch 'exit
(while t (while t
(let ((ind (+ (or (get-text-property (point) 'original-indentation) 0) (let ((ind (+ (or (get-text-property (point) 'original-indentation) 0)
(org-get-indentation)))) (org-get-indentation))))
(cond (cond
((>= (point) lim-down) ((>= (point) lim-down)
;; At downward limit: this is de facto the end of the ;; At downward limit: this is de facto the end of the
;; list. Save point as an ending position, and jump to ;; list. Save point as an ending position, and jump to
;; part 3. ;; part 3.
(throw 'exit (throw 'exit
(push (cons 0 (funcall end-before-blank)) end-lst-2))) (push (cons 0 (funcall end-before-blank)) end-lst-2)))
;; At a verbatim block, move to its end. Point is at bol ;; At a verbatim block, move to its end. Point is at bol
;; and 'org-example property is set by whole lines: ;; 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) ((string-match "[[:alnum:]]" (org-list-get-bullet first struct)) 'ordered)
(t 'unordered)))) (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 ;;; Searching
@ -1239,9 +1278,8 @@ This function modifies STRUCT."
(insert body item-sep) (insert body item-sep)
;; 5. Add new item to STRUCT. ;; 5. Add new item to STRUCT.
(mapc (lambda (e) (mapc (lambda (e)
(let ((p (car e)) (let ((p (car e)) (end (nth 6 e)))
(end (nth 6 e))) (cond
(cond
;; Before inserted item, positions don't change but ;; Before inserted item, positions don't change but
;; an item ending after insertion has its end shifted ;; an item ending after insertion has its end shifted
;; by SIZE-OFFSET. ;; by SIZE-OFFSET.
@ -2129,6 +2167,18 @@ item is invisible."
(goto-char (match-end 0)) (goto-char (match-end 0))
t))))) 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 () (defun org-list-repair ()
"Fix indentation, bullets and checkboxes is the list at point." "Fix indentation, bullets and checkboxes is the list at point."
(interactive) (interactive)

View File

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

View File

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

View File

@ -50,6 +50,9 @@
:tag "Org" :tag "Org"
:group 'org) :group 'org)
(defvar org-drawer-regexp)
(defvar org-property-re)
(defun org-thing-at-point () (defun org-thing-at-point ()
"Examine the thing at point and let the caller know what it is. "Examine the thing at point and let the caller know what it is.
The return value is a string naming the thing at point." 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)) ?*)) (equal (char-after (point-at-bol)) ?*))
(cons "tag" nil)) (cons "tag" nil))
((and (equal (char-before beg1) ?:) ((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)) (cons "prop" nil))
((and (equal (char-before beg1) ?:)
(not (equal (char-after (point-at-bol)) ?*)))
(cons "drawer" nil))
(t nil)))) (t nil))))
(defun org-command-at-point () (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-split-string (org-get-current-options) "\n"))
org-additional-option-like-keywords))))) org-additional-option-like-keywords)))))
(substring pcomplete-stub 2))) (substring pcomplete-stub 2)))
(defvar org-startup-options) (defvar org-startup-options)
(defun pcomplete/org-mode/file-option/startup () (defun pcomplete/org-mode/file-option/startup ()
"Complete arguments for the #+STARTUP file option." "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)) lst))
(substring pcomplete-stub 1))) (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 () (defun pcomplete/org-mode/block-option/src ()
"Complete the arguments of a begin_src block. "Complete the arguments of a begin_src block.
Complete a language in the first field, the header arguments and switches." 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 You can overwrite this default per project in your
`org-publish-project-alist', using `:sitemap-sort-files'." `org-publish-project-alist', using `:sitemap-sort-files'."
:group 'org-publish :group 'org-publish
:version "24.1"
:type 'symbol) :type 'symbol)
(defcustom org-publish-sitemap-sort-folders 'first (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 You can overwrite this default per project in your
`org-publish-project-alist', using `:sitemap-sort-folders'." `org-publish-project-alist', using `:sitemap-sort-folders'."
:group 'org-publish :group 'org-publish
:version "24.1"
:type 'symbol) :type 'symbol)
(defcustom org-publish-sitemap-sort-ignore-case nil (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 You can overwrite this default per project in your
`org-publish-project-alist', using `:sitemap-ignore-case'." `org-publish-project-alist', using `:sitemap-ignore-case'."
:group 'org-publish :group 'org-publish
:version "24.1"
:type 'boolean) :type 'boolean)
(defcustom org-publish-sitemap-date-format "%Y-%m-%d" (defcustom org-publish-sitemap-date-format "%Y-%m-%d"
"Format for `format-time-string' which is used to print a date "Format for `format-time-string' which is used to print a date
in the sitemap." in the sitemap."
:group 'org-publish :group 'org-publish
:version "24.1"
:type 'string) :type 'string)
(defcustom org-publish-sitemap-file-entry-format "%t" (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. %a is the author.
%d is the date formatted using `org-publish-sitemap-date-format'." %d is the date formatted using `org-publish-sitemap-date-format'."
:group 'org-publish :group 'org-publish
:version "24.1"
:type 'string) :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 org-publish-delete-dups "org-publish" (list))
(declare-function find-lisp-find-files "find-lisp" (directory regexp)) (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)) "org-compat" (&optional buffer-or-name norecord label))
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
@ -1031,7 +1036,7 @@ the project."
(setq ibuffer (find-file-noselect index-file)) (setq ibuffer (find-file-noselect index-file))
(with-current-buffer ibuffer (with-current-buffer ibuffer
(erase-buffer) (erase-buffer)
(insert "\n\n#+include: \"theindex.inc\"\n\n") (insert "\n\n#+INCLUDE: \"theindex.inc\"\n\n")
(save-buffer)) (save-buffer))
(kill-buffer ibuffer))))) (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))) (let ((ctime (org-publish-cache-ctime-of-src filename)))
(or (< pstamp ctime) (or (< pstamp ctime)
(when included-files-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)))))))))) included-files-ctime))))))))))
(defun org-publish-cache-set-file-property (filename property value &optional project-name) (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 "remember" (&optional initial))
(declare-function remember-buffer-desc "remember" ()) (declare-function remember-buffer-desc "remember" ())
(declare-function remember-finalize "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)) "org-compat" (&optional buffer-or-name norecord label))
(defvar remember-save-after-remembering) (defvar remember-save-after-remembering)
@ -1152,4 +1152,3 @@ See also the variable `org-reverse-note-order'."
(provide 'org-remember) (provide 'org-remember)
;;; org-remember.el ends here ;;; org-remember.el ends here

View File

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

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