Merge branch 'maint'
This commit is contained in:
commit
5ed0384e51
File diff suppressed because it is too large
Load Diff
4
Makefile
4
Makefile
|
@ -170,9 +170,7 @@ LISPF = org.el \
|
|||
ob-shen.el \
|
||||
ob-fortran.el \
|
||||
ob-picolisp.el \
|
||||
ob-maxima.el \
|
||||
ob-io.el \
|
||||
ob-scala.el
|
||||
ob-maxima.el
|
||||
|
||||
LISPFILES0 = $(LISPF:%=lisp/%)
|
||||
LISPFILES = $(LISPFILES0) lisp/org-install.el
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
;;; ob-fomus.el --- org-babel functions for fomus evaluation
|
||||
|
||||
;; Copyright (C) 2011-2012 Torsten Anders
|
||||
;; Copyright (C) 2011, 2012 Torsten Anders
|
||||
|
||||
;; Author: Torsten Anders
|
||||
;; Keywords: literate programming, reproducible research
|
||||
;; Homepage: http://orgmode.org
|
||||
;; Version:
|
||||
|
||||
;;; License:
|
||||
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
;;; ob-oz.el --- org-babel functions for Oz evaluation
|
||||
|
||||
;; Copyright (C) 2009-2012 Torsten Anders and Eric Schulte
|
||||
;; Copyright (C) 2009, 2012 Torsten Anders and Eric Schulte
|
||||
|
||||
;; Author: Torsten Anders and Eric Schulte
|
||||
;; Author: Torsten Anders and Eric Schulte
|
||||
;; Keywords: literate programming, reproducible research
|
||||
;; Homepage: http://orgmode.org
|
||||
;; Version: 0.02
|
||||
|
||||
;;; License:
|
||||
|
||||
|
@ -26,7 +25,7 @@
|
|||
|
||||
;;; Commentary:
|
||||
|
||||
;; Org-Babel support for evaluating Oz source code.
|
||||
;; Org-Babel support for evaluating Oz source code.
|
||||
;;
|
||||
;; Oz code is always send to the Oz Programming Environment (OPI), the
|
||||
;; Emacs mode and compiler interface for Oz programs. Therefore, only
|
||||
|
@ -71,7 +70,7 @@
|
|||
;; arrive then in any order) I could use IDs
|
||||
;; (e.g. integers). However, how do I do concurrency in Emacs Lisp,
|
||||
;; and how can I define org-babel-execute:oz concurrently.
|
||||
;;
|
||||
;;
|
||||
;; - Expressions are rarely used in Oz at the top-level, and using
|
||||
;; them in documentation and Literate Programs will cause
|
||||
;; confusion. Idea: hide expression from reader and instead show
|
||||
|
@ -94,10 +93,10 @@
|
|||
|
||||
;;
|
||||
;; Interface to communicate with Oz.
|
||||
;; (1) For statements without any results: oz-send-string
|
||||
;; (1) For statements without any results: oz-send-string
|
||||
;; (2) For expressions with a single result: oz-send-string-expression
|
||||
;; (defined in org-babel-oz-ResultsValue.el)
|
||||
;;
|
||||
;;
|
||||
|
||||
;; oz-send-string-expression implements an additional very direct
|
||||
;; communication between Org-babel and the Oz compiler. Communication
|
||||
|
@ -128,7 +127,7 @@
|
|||
"Path to the contrib/scripts directory in which
|
||||
StartOzServer.oz is located.")
|
||||
|
||||
(defvar org-babel-oz-port 6001
|
||||
(defvar org-babel-oz-port 6001
|
||||
"Port for communicating with Oz compiler.")
|
||||
(defvar org-babel-oz-OPI-socket nil
|
||||
"Socket for communicating with OPI.")
|
||||
|
@ -144,18 +143,18 @@ StartOzServer.oz is located.")
|
|||
|
||||
(defun org-babel-oz-create-socket ()
|
||||
(message "Create OPI socket for evaluating expressions")
|
||||
;; Start Oz directly
|
||||
;; Start Oz directly
|
||||
(run-oz)
|
||||
;; Create socket on Oz side (after Oz was started).
|
||||
(oz-send-string (concat "\\insert '" org-babel-oz-server-dir "StartOzServer.oz'"))
|
||||
;; Wait until socket is created before connecting to it.
|
||||
;; Quick hack: wait 3 sec
|
||||
;;
|
||||
;;
|
||||
;; extending time to 30 secs does not help when starting Emacs for
|
||||
;; the first time (and computer does nothing else)
|
||||
(sit-for 3)
|
||||
;; connect to OPI socket
|
||||
(setq org-babel-oz-OPI-socket
|
||||
(setq org-babel-oz-OPI-socket
|
||||
;; Creates a socket. I/O interface of Emacs sockets as for processes.
|
||||
(open-network-stream "*Org-babel-OPI-socket*" nil "localhost" org-babel-oz-port))
|
||||
;; install filter
|
||||
|
@ -166,7 +165,7 @@ StartOzServer.oz is located.")
|
|||
;; oz-send-string-expression turns is into synchronous...
|
||||
(defun oz-send-string-expression (string &optional wait-time)
|
||||
"Similar to oz-send-string, oz-send-string-expression sends a string to the OPI compiler. However, string must be expression and this function returns the result of the expression (as string). oz-send-string-expression is synchronous, wait-time allows to specify a maximum wait time. After wait-time is over with no result, the function returns nil."
|
||||
(if (not org-babel-oz-OPI-socket)
|
||||
(if (not org-babel-oz-OPI-socket)
|
||||
(org-babel-oz-create-socket))
|
||||
(let ((polling-delay 0.1)
|
||||
result)
|
||||
|
@ -176,11 +175,11 @@ StartOzServer.oz is located.")
|
|||
(let ((waited 0))
|
||||
(unwind-protect
|
||||
(progn
|
||||
(while
|
||||
(while
|
||||
;; stop loop if org-babel-oz-collected-result \= nil or waiting time is over
|
||||
(not (or (not (equal org-babel-oz-collected-result nil))
|
||||
(> waited wait-time)))
|
||||
(progn
|
||||
(progn
|
||||
(sit-for polling-delay)
|
||||
;; (message "org-babel-oz: next polling iteration")
|
||||
(setq waited (+ waited polling-delay))))
|
||||
|
@ -253,7 +252,7 @@ called by `org-babel-execute-src-block' via multiple-value-bind."
|
|||
;; (when vars
|
||||
;; (with-temp-buffer
|
||||
;; (insert var-lines) (write-file vars-file)
|
||||
;; (oz-mode)
|
||||
;; (oz-mode)
|
||||
;; ;; (inferior-oz-load-file) ; ??
|
||||
;; ))
|
||||
;; (current-buffer))))
|
||||
|
@ -262,7 +261,7 @@ called by `org-babel-execute-src-block' via multiple-value-bind."
|
|||
|
||||
;; TODO: testing... (simplified version of def in org-babel-prep-session:ocaml)
|
||||
;;
|
||||
;; BUG: does not work yet. Error: ad-Orig-error: buffer none doesn't exist or has no process
|
||||
;; BUG: does not work yet. Error: ad-Orig-error: buffer none doesn't exist or has no process
|
||||
;; UNUSED DEF
|
||||
(defun org-babel-oz-initiate-session (&optional session params)
|
||||
"If there is not a current inferior-process-buffer in SESSION
|
||||
|
@ -278,12 +277,12 @@ then create. Return the initialized session."
|
|||
specifying a var of the same value."
|
||||
(if (listp var)
|
||||
;; (concat "[" (mapconcat #'org-babel-oz-var-to-oz var ", ") "]")
|
||||
(eval var)
|
||||
(format "%s" var) ; don't preserve string quotes.
|
||||
(eval var)
|
||||
(format "%s" var) ; don't preserve string quotes.
|
||||
;; (format "%s" var)
|
||||
))
|
||||
|
||||
;; TODO:
|
||||
;; TODO:
|
||||
(defun org-babel-oz-table-or-string (results)
|
||||
"If the results look like a table, then convert them into an
|
||||
Emacs-lisp table, otherwise return the results as a string."
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
% Reference Card for Org Mode
|
||||
\def\orgversionnumber{7.5}
|
||||
\def\versionyear{2011} % latest update
|
||||
\def\year{2011} % latest copyright year
|
||||
\def\versionyear{2012} % latest update
|
||||
\def\year{2012} % latest copyright year
|
||||
|
||||
%**start of header
|
||||
\newcount\columnsperpage
|
||||
|
|
|
@ -633,7 +633,7 @@ without modifying their meaning."
|
|||
(goto-char (point-min))
|
||||
(while (search-forward "Local Variables:" nil t)
|
||||
(replace-match "Local Variables:" nil t)))
|
||||
|
||||
|
||||
|
||||
;;; Color handling.
|
||||
|
||||
|
@ -796,7 +796,7 @@ If no rgb.txt file is found, return nil."
|
|||
(t
|
||||
;; We're getting the RGB components from Emacs.
|
||||
(let ((rgb
|
||||
;; Here I cannot conditionalize on (fboundp ...)
|
||||
;; Here I cannot conditionalize on (fboundp ...)
|
||||
;; because ps-print under some versions of GNU Emacs
|
||||
;; defines its own dummy version of
|
||||
;; `color-instance-rgb-components'.
|
||||
|
@ -1211,7 +1211,7 @@ property and by buffer overlays that specify `face'."
|
|||
;; used methods are `doctype', `insert-head', `body-tag', and
|
||||
;; `insert-text'. Not all output types define all methods.
|
||||
;;
|
||||
;; Methods are called either with (htmlize-method METHOD ARGS...)
|
||||
;; Methods are called either with (htmlize-method METHOD ARGS...)
|
||||
;; special form, or by accessing the function with
|
||||
;; (htmlize-method-function 'METHOD) and calling (funcall FUNCTION).
|
||||
;; The latter form is useful in tight loops because `htmlize-method'
|
||||
|
@ -1389,7 +1389,7 @@ it's called with the same value of KEY. All other times, the cached
|
|||
(format "<body text=\"%s\" bgcolor=\"%s\">"
|
||||
(htmlize-fstruct-foreground fstruct)
|
||||
(htmlize-fstruct-background fstruct))))
|
||||
|
||||
|
||||
(defun htmlize-font-insert-text (text fstruct-list buffer)
|
||||
;; In `font' mode, we use the traditional HTML means of altering
|
||||
;; presentation: <font> tag for colors, <b> for bold, <u> for
|
||||
|
|
|
@ -67,7 +67,7 @@ Otherwise prompt the user for the right bookmark to use."
|
|||
(if (not file)
|
||||
(when (eq major-mode 'bookmark-bmenu-mode)
|
||||
(setq bookmark (bookmark-bmenu-bookmark)))
|
||||
(when (and (setq bmks
|
||||
(when (and (setq bmks
|
||||
(mapcar (lambda (name)
|
||||
(if (equal file
|
||||
(abbreviate-file-name
|
||||
|
@ -75,7 +75,7 @@ Otherwise prompt the user for the right bookmark to use."
|
|||
name))
|
||||
(bookmark-all-names)))
|
||||
(setq bmks (delete nil bmks)))
|
||||
(setq bookmark
|
||||
(setq bookmark
|
||||
(if (or (eq 1 (length bmks)) org-bookmark-use-first-bookmark)
|
||||
(car bmks)
|
||||
(completing-read "Bookmark: " bmks nil t nil nil (car bmks))))))
|
||||
|
|
|
@ -138,3 +138,6 @@ of checkbox items"
|
|||
(provide 'org-checklist)
|
||||
|
||||
;;; org-checklist.el ends here
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -46,13 +46,13 @@
|
|||
;; * Use C-S-right to change the keyword set. Use this to change to
|
||||
;; the "choose" keyword set that you just defined.
|
||||
|
||||
;; * Use S-right to advance the TODO mark to the next setting.
|
||||
;; * Use S-right to advance the TODO mark to the next setting.
|
||||
|
||||
;; For "choose", that means you like this alternative more than
|
||||
;; before. Other alternatives will be automatically demoted to
|
||||
;; keep your settings consistent.
|
||||
|
||||
;; * Use S-left to demote TODO to the previous setting.
|
||||
;; * Use S-left to demote TODO to the previous setting.
|
||||
|
||||
;; For "choose", that means you don't like this alternative as much
|
||||
;; as before. Other alternatives will be automatically promoted,
|
||||
|
@ -83,7 +83,7 @@ Indexes are 0-based or `nil'.
|
|||
static-default
|
||||
all-keywords)
|
||||
|
||||
(defvar org-choose-mark-data
|
||||
(defvar org-choose-mark-data
|
||||
()
|
||||
"Alist of information for choose marks.
|
||||
|
||||
|
@ -101,7 +101,7 @@ Each entry is an `org-choose-mark-data.'" )
|
|||
(not
|
||||
(string-match "(.*)" i))
|
||||
(list i i)
|
||||
(let*
|
||||
(let*
|
||||
(
|
||||
(end-text (match-beginning 0))
|
||||
(vanilla-text (substring i 0 end-text))
|
||||
|
@ -116,7 +116,7 @@ Each entry is an `org-choose-mark-data.'" )
|
|||
;;When string starts with "," `split-string' doesn't
|
||||
;;make a first arg, so in that case make one
|
||||
;;manually.
|
||||
(if
|
||||
(if
|
||||
(string-match "^," args)
|
||||
(cons nil arglist-x)
|
||||
arglist-x)))
|
||||
|
@ -157,11 +157,11 @@ Each entry is an `org-choose-mark-data.'" )
|
|||
;;item.
|
||||
(top-upper-range
|
||||
(or top-upper-range (1- num-items)))
|
||||
(lower-range-length
|
||||
(lower-range-length
|
||||
(1+ (- static-default bot-lower-range)))
|
||||
(upper-range-length
|
||||
(upper-range-length
|
||||
(- top-upper-range static-default))
|
||||
(range-length
|
||||
(range-length
|
||||
(min upper-range-length lower-range-length)))
|
||||
|
||||
|
||||
|
@ -194,7 +194,7 @@ Each entry is an `org-choose-mark-data.'" )
|
|||
;;;_ . org-choose-filter-tail
|
||||
(defun org-choose-filter-tail (raw)
|
||||
"Return a translation of RAW to vanilla and set appropriate
|
||||
buffer-local variables.
|
||||
buffer-local variables.
|
||||
|
||||
RAW is a list of strings representing the input text of a choose
|
||||
interpretation."
|
||||
|
@ -219,7 +219,7 @@ interpretation."
|
|||
(push vanilla-mark vanilla-list)))
|
||||
|
||||
(org-choose-setup-vars bot-lower-range top-upper-range
|
||||
static-default index (reverse all-mark-texts))
|
||||
static-default index (reverse all-mark-texts))
|
||||
(nreverse vanilla-list)))
|
||||
|
||||
;;;_ . org-choose-setup-filter
|
||||
|
@ -234,35 +234,35 @@ interpretation."
|
|||
;;;_ . org-choose-conform-after-promotion
|
||||
(defun org-choose-conform-after-promotion (entry-pos keywords highest-ok-ix)
|
||||
"Conform the current item after another item was promoted"
|
||||
|
||||
|
||||
(unless
|
||||
;;Skip the entry that triggered this by skipping any entry with
|
||||
;;the same starting position. plist uses the start of the
|
||||
;;header line as the position, but map no longer does, so we
|
||||
;;have to go back to the heading.
|
||||
(=
|
||||
(=
|
||||
(save-excursion
|
||||
(org-back-to-heading)
|
||||
(point))
|
||||
(point))
|
||||
entry-pos)
|
||||
(let
|
||||
((ix
|
||||
(org-choose-get-entry-index keywords)))
|
||||
;;If the index of the entry exceeds the highest allowable
|
||||
;;index, change it to that.
|
||||
(when (and ix
|
||||
(when (and ix
|
||||
(> ix highest-ok-ix))
|
||||
(org-todo
|
||||
(org-todo
|
||||
(nth highest-ok-ix keywords))))))
|
||||
;;;_ . org-choose-conform-after-demotion
|
||||
(defun org-choose-conform-after-demotion (entry-pos keywords
|
||||
raise-to-ix
|
||||
old-highest-ok-ix)
|
||||
old-highest-ok-ix)
|
||||
"Conform the current item after another item was demoted."
|
||||
|
||||
(unless
|
||||
;;Skip the entry that triggered this.
|
||||
(=
|
||||
(=
|
||||
(save-excursion
|
||||
(org-back-to-heading)
|
||||
(point))
|
||||
|
@ -273,11 +273,11 @@ interpretation."
|
|||
;;If the index of the entry was at or above the old allowable
|
||||
;;position, change it to the new mirror position if there is
|
||||
;;one.
|
||||
(when (and
|
||||
ix
|
||||
(when (and
|
||||
ix
|
||||
raise-to-ix
|
||||
(>= ix old-highest-ok-ix))
|
||||
(org-todo
|
||||
(org-todo
|
||||
(nth raise-to-ix keywords))))))
|
||||
|
||||
;;;_ , org-choose-keep-sensible (the org-trigger-hook function)
|
||||
|
@ -287,7 +287,7 @@ setting was changed."
|
|||
(let*
|
||||
( (from (plist-get change-plist :from))
|
||||
(to (plist-get change-plist :to))
|
||||
(entry-pos
|
||||
(entry-pos
|
||||
(set-marker
|
||||
(make-marker)
|
||||
(plist-get change-plist :position)))
|
||||
|
@ -303,11 +303,11 @@ setting was changed."
|
|||
(org-choose-mark-data.-all-keywords data))
|
||||
(old-index
|
||||
(org-choose-get-index-in-keywords
|
||||
from
|
||||
from
|
||||
keywords))
|
||||
(new-index
|
||||
(org-choose-get-index-in-keywords
|
||||
to
|
||||
to
|
||||
keywords))
|
||||
(highest-ok-ix
|
||||
(org-choose-highest-other-ok
|
||||
|
@ -324,7 +324,7 @@ setting was changed."
|
|||
(> new-index old-index))
|
||||
(list
|
||||
#'org-choose-conform-after-promotion
|
||||
entry-pos keywords
|
||||
entry-pos keywords
|
||||
highest-ok-ix))
|
||||
(t ;;Otherwise the entry was demoted.
|
||||
(let
|
||||
|
@ -338,14 +338,14 @@ setting was changed."
|
|||
(org-choose-highest-other-ok
|
||||
old-index
|
||||
data)))
|
||||
|
||||
|
||||
(list
|
||||
#'org-choose-conform-after-demotion
|
||||
entry-pos
|
||||
#'org-choose-conform-after-demotion
|
||||
entry-pos
|
||||
keywords
|
||||
raise-to-ix
|
||||
old-highest-ok-ix))))))
|
||||
|
||||
|
||||
(if funcdata
|
||||
;;The funny-looking names are to make variable capture
|
||||
;;unlikely. (Poor-man's lexical bindings).
|
||||
|
@ -356,8 +356,8 @@ setting was changed."
|
|||
;;We may call `org-todo', so let various hooks
|
||||
;;`nil' so we don't cause loops.
|
||||
org-after-todo-state-change-hook
|
||||
org-trigger-hook
|
||||
org-blocker-hook
|
||||
org-trigger-hook
|
||||
org-blocker-hook
|
||||
org-todo-get-default-hook
|
||||
;;Also let this alist `nil' so we don't log
|
||||
;;secondary transitions.
|
||||
|
@ -366,7 +366,7 @@ setting was changed."
|
|||
(funcall map-over-entries
|
||||
#'(lambda ()
|
||||
(apply func-d473 args-46k))))))))
|
||||
|
||||
|
||||
;;Remove the marker
|
||||
(set-marker entry-pos nil)))
|
||||
|
||||
|
@ -393,7 +393,7 @@ setting was changed."
|
|||
|
||||
(defun org-choose-get-fn-map-group ()
|
||||
"Return a function to map over the group"
|
||||
|
||||
|
||||
#'(lambda (fn)
|
||||
(require 'org-agenda) ;; `org-map-entries' seems to need it.
|
||||
(save-excursion
|
||||
|
@ -402,7 +402,7 @@ setting was changed."
|
|||
(let
|
||||
((level (org-reduced-level (org-outline-level))))
|
||||
(save-restriction
|
||||
(org-map-entries
|
||||
(org-map-entries
|
||||
fn
|
||||
(format "LEVEL=%d" level)
|
||||
'tree))))))
|
||||
|
@ -418,10 +418,10 @@ If there is none, return 0"
|
|||
;;Func maps over applicable entries.
|
||||
(map-over-entries
|
||||
(org-choose-get-fn-map-group))
|
||||
|
||||
|
||||
(indexes-list
|
||||
(remove nil
|
||||
(funcall map-over-entries
|
||||
(funcall map-over-entries
|
||||
#'(lambda ()
|
||||
(org-choose-get-entry-index keywords))))))
|
||||
(if
|
||||
|
@ -438,7 +438,7 @@ given that another mark has index IX.
|
|||
DATA must be a `org-choose-mark-data.'."
|
||||
|
||||
(let
|
||||
(
|
||||
(
|
||||
(bot-lower-range
|
||||
(org-choose-mark-data.-bot-lower-range data))
|
||||
(top-upper-range
|
||||
|
@ -455,7 +455,7 @@ DATA must be a `org-choose-mark-data.'."
|
|||
|
||||
;;;_ . org-choose-get-default-mark-index
|
||||
|
||||
(defun org-choose-get-default-mark-index (data)
|
||||
(defun org-choose-get-default-mark-index (data)
|
||||
"Return the index of the default mark in a choose interpretation.
|
||||
|
||||
DATA must be a `org-choose-mark-data.'."
|
||||
|
@ -475,7 +475,7 @@ DATA must be a `org-choose-mark-data.'."
|
|||
;;;_ . org-choose-get-mark-N
|
||||
(defun org-choose-get-mark-N (n data)
|
||||
"Get the text of the nth mark in a choose interpretation."
|
||||
|
||||
|
||||
(let*
|
||||
((l (org-choose-mark-data.-all-keywords data)))
|
||||
(nth n l)))
|
||||
|
|
|
@ -87,7 +87,7 @@
|
|||
;; | run (50) | 0.116446 |
|
||||
;; | run (100) | 0.118863 |
|
||||
;; #+END:
|
||||
;;
|
||||
;;
|
||||
|
||||
;;; Code:
|
||||
(require 'org)
|
||||
|
@ -134,7 +134,7 @@ preceeding the dblock, then update the contents of the dblock."
|
|||
(org-narrow-to-subtree)
|
||||
(setq stringformat (if noquote "%s" "%S"))
|
||||
(setq table (org-propview-to-table
|
||||
(org-propview-collect cols stringformat conds match scope inherit
|
||||
(org-propview-collect cols stringformat conds match scope inherit
|
||||
(if colnames colnames cols)) stringformat))
|
||||
(widen))
|
||||
(setq pos (point))
|
||||
|
|
|
@ -2915,3 +2915,4 @@ returns its return value."
|
|||
|
||||
|
||||
(provide 'org-drill)
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -67,7 +67,7 @@ large example block")
|
|||
(defcustom org-eval-light-interpreters '("lisp" "emacs-lisp" "ruby" "shell")
|
||||
"Interpreters allows for evaluation tags.
|
||||
This is a list of program names (as strings) that can evaluate code and
|
||||
insert the output into an Org-mode buffer. Valid choices are
|
||||
insert the output into an Org-mode buffer. Valid choices are
|
||||
|
||||
lisp Interpret Emacs Lisp code and display the result
|
||||
shell Pass command to the shell and display the result
|
||||
|
@ -189,7 +189,7 @@ commented by `org-eval-light-make-region-example'."
|
|||
(with-temp-buffer
|
||||
(insert code)
|
||||
(shell-command-on-region (point-min) (point-max) cmd nil 'replace)
|
||||
(buffer-string)))
|
||||
(buffer-string)))
|
||||
|
||||
(defadvice org-ctrl-c-ctrl-c (around org-cc-eval-source activate)
|
||||
(if (org-eval-light-inside-snippet)
|
||||
|
|
|
@ -105,7 +105,7 @@
|
|||
(defcustom org-eval-interpreters '("lisp")
|
||||
"Interpreters allows for evaluation tags.
|
||||
This is a list of program names (as strings) that can evaluate code and
|
||||
insert the output into an Org-mode buffer. Valid choices are
|
||||
insert the output into an Org-mode buffer. Valid choices are
|
||||
|
||||
lisp Interpret Emacs Lisp code and display the result
|
||||
shell Pass command to the shell and display the result
|
||||
|
@ -120,7 +120,7 @@ ruby The ruby interpreter"
|
|||
(const "python")
|
||||
(const "ruby")
|
||||
(const "shell")))
|
||||
|
||||
|
||||
(defun org-eval-handle-snippets (limit &optional replace)
|
||||
"Evaluate code snippets and display the results as display property.
|
||||
When REPLACE is non-nil, replace the code region with the result (used
|
||||
|
@ -212,8 +212,9 @@ This should go into the `org-export-preprocess-hook'."
|
|||
(with-temp-buffer
|
||||
(insert code)
|
||||
(shell-command-on-region (point-min) (point-max) cmd nil 'replace)
|
||||
(buffer-string)))
|
||||
(buffer-string)))
|
||||
|
||||
(provide 'org-eval)
|
||||
|
||||
;;; org-eval.el ends here
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
;;; Commentary:
|
||||
;;
|
||||
;; This gives you a chance to get rid of old entries in your Org files
|
||||
;; by expiring them.
|
||||
;; by expiring them.
|
||||
;;
|
||||
;; By default, entries that have no EXPIRY property are considered to be
|
||||
;; new (i.e. 0 day old) and only entries older than one year go to the
|
||||
|
@ -33,7 +33,7 @@
|
|||
;; your tasks will be deleted with the default settings.
|
||||
;;
|
||||
;; When does an entry expires?
|
||||
;;
|
||||
;;
|
||||
;; Consider this entry:
|
||||
;;
|
||||
;; * Stop watching TV
|
||||
|
@ -41,8 +41,8 @@
|
|||
;; :CREATED: <2008-01-07 lun 08:01>
|
||||
;; :EXPIRY: <2008-01-09 08:01>
|
||||
;; :END:
|
||||
;;
|
||||
;; This entry will expire on the 9th, january 2008.
|
||||
;;
|
||||
;; This entry will expire on the 9th, january 2008.
|
||||
|
||||
;; * Stop watching TV
|
||||
;; :PROPERTIES:
|
||||
|
@ -56,19 +56,19 @@
|
|||
;; What happen when an entry is expired? Nothing until you explicitely
|
||||
;; M-x org-expiry-process-entries When doing this, org-expiry will check
|
||||
;; for expired entries and request permission to process them.
|
||||
;;
|
||||
;;
|
||||
;; Processing an expired entries means calling the function associated
|
||||
;; with `org-expiry-handler-function'; the default is to add the tag
|
||||
;; :ARCHIVE:, but you can also add a EXPIRED keyword or even archive
|
||||
;; the subtree.
|
||||
;; :ARCHIVE:, but you can also add a EXPIRED keyword or even archive
|
||||
;; the subtree.
|
||||
;;
|
||||
;; Is this useful? Well, when you're in a brainstorming session, it
|
||||
;; might be useful to know about the creation date of an entry, and be
|
||||
;; able to archive those entries that are more than xxx days/weeks old.
|
||||
;;
|
||||
;;
|
||||
;; When you're in such a session, you can insinuate org-expiry like
|
||||
;; this: M-x org-expiry-insinuate
|
||||
;;
|
||||
;; this: M-x org-expiry-insinuate
|
||||
;;
|
||||
;; Then, each time you're pressing M-RET to insert an item, the CREATION
|
||||
;; property will be automatically added. Same when you're scheduling or
|
||||
;; deadlining items. You can deinsinuate: M-x org-expiry-deinsinuate
|
||||
|
@ -218,7 +218,7 @@ and restart `org-mode' if necessary."
|
|||
Return nil if the entry is not expired. Otherwise return the
|
||||
amount of time between today and the expiry date.
|
||||
|
||||
If there is no creation date, use `org-expiry-created-date'.
|
||||
If there is no creation date, use `org-expiry-created-date'.
|
||||
If there is no expiry date, use `org-expiry-expiry-date'."
|
||||
(let* ((ex-prop org-expiry-expiry-property-name)
|
||||
(cr-prop org-expiry-created-property-name)
|
||||
|
@ -292,7 +292,7 @@ update the date."
|
|||
d-time d-hour timestr)
|
||||
(when (or (null d) arg)
|
||||
;; update if no date or non-nil prefix argument
|
||||
;; FIXME Use `org-time-string-to-time'
|
||||
;; FIXME Use `org-time-string-to-time'
|
||||
(setq d-time (if d (org-time-string-to-time d)
|
||||
(current-time)))
|
||||
(setq d-hour (format-time-string "%H:%M" d-time))
|
||||
|
@ -326,7 +326,7 @@ and insert today's date."
|
|||
;; maybe transform to inactive timestamp
|
||||
(if org-expiry-inactive-timestamps
|
||||
(setq timestr (concat "[" (substring timestr 1 -1) "]")))
|
||||
|
||||
|
||||
(save-excursion
|
||||
(org-entry-put
|
||||
(point) org-expiry-expiry-property-name timestr))))
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
;; org-set-generic-type function:
|
||||
;;
|
||||
;; (org-set-generic-type
|
||||
;; "really-basic-text"
|
||||
;; "really-basic-text"
|
||||
;; '(:file-suffix ".txt"
|
||||
;; :key-binding ?R
|
||||
;;
|
||||
|
@ -155,10 +155,10 @@ in this way, it will be wrapped."
|
|||
|
||||
:toc-section-numbers t
|
||||
:toc-section-number-format "\#(%s) "
|
||||
:toc-format "--%s--"
|
||||
:toc-format "--%s--"
|
||||
:toc-format-with-todo "!!%s!!\n"
|
||||
:toc-indent-char ?\
|
||||
:toc-indent-depth 4
|
||||
:toc-indent-char ?\
|
||||
:toc-indent-depth 4
|
||||
|
||||
:toc-tags-export t
|
||||
:toc-tags-prefix " <tags>"
|
||||
|
@ -217,7 +217,7 @@ in this way, it will be wrapped."
|
|||
:body-list-checkbox-half-end "</checkbox (half)>"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
; other body lines
|
||||
:body-line-format "%s"
|
||||
|
@ -257,10 +257,10 @@ in this way, it will be wrapped."
|
|||
:toc-export t
|
||||
:toc-section-numbers t
|
||||
:toc-section-number-format "%s "
|
||||
:toc-format "%s\n"
|
||||
:toc-format "%s\n"
|
||||
:toc-format-with-todo "%s (*)\n"
|
||||
:toc-indent-char ?\
|
||||
:toc-indent-depth 4
|
||||
:toc-indent-char ?\
|
||||
:toc-indent-depth 4
|
||||
|
||||
:body-header-section-numbers 3
|
||||
:body-section-prefix "\n"
|
||||
|
@ -310,7 +310,7 @@ in this way, it will be wrapped."
|
|||
|
||||
:body-section-header-prefix ("= " "== " "=== "
|
||||
"==== " "===== " "====== ")
|
||||
:body-section-header-suffix (" =\n\n" " ==\n\n" " ===\n\n"
|
||||
:body-section-header-suffix (" =\n\n" " ==\n\n" " ===\n\n"
|
||||
" ====\n\n" " =====\n\n" " ======\n\n")
|
||||
|
||||
:body-line-export-preformated t ;; yes/no/maybe???
|
||||
|
@ -390,7 +390,7 @@ in this way, it will be wrapped."
|
|||
:body-list-format "<t>%s</t>\n"
|
||||
|
||||
)
|
||||
("trac-wiki"
|
||||
("trac-wiki"
|
||||
:file-suffix ".txt"
|
||||
:key-binding ?T
|
||||
|
||||
|
@ -409,7 +409,7 @@ in this way, it will be wrapped."
|
|||
|
||||
:body-section-header-prefix (" == " " === " " ==== "
|
||||
" ===== " )
|
||||
:body-section-header-suffix (" ==\n\n" " ===\n\n" " ====\n\n"
|
||||
:body-section-header-suffix (" ==\n\n" " ===\n\n" " ====\n\n"
|
||||
" =====\n\n" " ======\n\n" " =======\n\n")
|
||||
|
||||
:body-line-export-preformated t ;; yes/no/maybe???
|
||||
|
@ -426,7 +426,7 @@ in this way, it will be wrapped."
|
|||
;; this is ignored! [2010/02/02:rpg]
|
||||
:body-bullet-list-prefix ("* " "** " "*** " "**** " "***** ")
|
||||
)
|
||||
("tikiwiki"
|
||||
("tikiwiki"
|
||||
:file-suffix ".txt"
|
||||
:key-binding ?U
|
||||
|
||||
|
@ -445,7 +445,7 @@ in this way, it will be wrapped."
|
|||
|
||||
:body-section-header-prefix ("! " "!! " "!!! " "!!!! "
|
||||
"!!!!! " "!!!!!! " "!!!!!!! ")
|
||||
:body-section-header-suffix (" \n" " \n" " \n"
|
||||
:body-section-header-suffix (" \n" " \n" " \n"
|
||||
" \n" " \n" " \n")
|
||||
|
||||
|
||||
|
@ -498,12 +498,12 @@ the body of an org-set-generic-type definition."
|
|||
))
|
||||
|
||||
(def-org-export-generic-keyword :body-newline-paragraph
|
||||
:documentation "Bound either to NIL or to a pattern to be
|
||||
:documentation "Bound either to NIL or to a pattern to be
|
||||
inserted in the output for every blank line in the input.
|
||||
The intention is to handle formats where text is flowed, and
|
||||
newlines are interpreted as significant \(e.g., as indicating
|
||||
preformatted text\). A common non-nil value for this keyword
|
||||
is \"\\n\". Should typically be combined with a value for
|
||||
is \"\\n\". Should typically be combined with a value for
|
||||
:body-line-format that does NOT end with a newline."
|
||||
:type string)
|
||||
|
||||
|
@ -515,8 +515,8 @@ is \"\\n\". Should typically be combined with a value for
|
|||
(def-org-export-generic-keyword :code-format)
|
||||
(def-org-export-generic-keyword :verbatim-format)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
(defun org-export-generic-remember-section (type suffix &optional prefix)
|
||||
(setq org-export-generic-section-type type)
|
||||
|
@ -569,7 +569,7 @@ underlined headlines. The default is 3."
|
|||
(org-export-add-subtree-options opt-plist rbeg)
|
||||
opt-plist)))
|
||||
|
||||
helpstart
|
||||
helpstart
|
||||
(bogus (mapc (lambda (x)
|
||||
(setq helpstart
|
||||
(concat helpstart "\["
|
||||
|
@ -611,7 +611,7 @@ underlined headlines. The default is 3."
|
|||
(unless (setq ass (cadr (assq r2 cmds)))
|
||||
(error "No command associated with key %c" r1))
|
||||
|
||||
(cdr (assoc
|
||||
(cdr (assoc
|
||||
(if (equal ass "default") org-generic-export-type ass)
|
||||
org-generic-alist))))
|
||||
|
||||
|
@ -732,11 +732,11 @@ underlined headlines. The default is 3."
|
|||
(format-code (plist-get export-plist :code-format))
|
||||
(format-verbatim (plist-get export-plist :verbatim-format))
|
||||
|
||||
|
||||
|
||||
|
||||
thetoc toctags have-headings first-heading-pos
|
||||
table-open table-buffer link-buffer link desc desc0 rpl wrap)
|
||||
|
||||
|
||||
(let ((inhibit-read-only t))
|
||||
(org-unmodified
|
||||
(remove-text-properties (point-min) (point-max)
|
||||
|
@ -841,7 +841,7 @@ underlined headlines. The default is 3."
|
|||
(org-re "[ \t]+:\\([[:alnum:]_@:]+\\):[ \t]*$")
|
||||
txt)
|
||||
(progn
|
||||
(setq
|
||||
(setq
|
||||
toctags
|
||||
(org-export-generic-header
|
||||
(match-string 1 txt)
|
||||
|
@ -852,7 +852,7 @@ underlined headlines. The default is 3."
|
|||
txt)
|
||||
(setq txt (replace-match "" t t txt)))
|
||||
(setq toctags tocnotagsstr)))
|
||||
|
||||
|
||||
(if (string-match quote-re0 txt)
|
||||
(setq txt (replace-match "" t t txt)))
|
||||
|
||||
|
@ -871,7 +871,7 @@ underlined headlines. The default is 3."
|
|||
"")
|
||||
|
||||
(format
|
||||
(if todo tocformtodo tocformat)
|
||||
(if todo tocformtodo tocformat)
|
||||
txt)
|
||||
|
||||
toctags)
|
||||
|
@ -908,7 +908,7 @@ underlined headlines. The default is 3."
|
|||
(substring link 8)
|
||||
org-export-code-refs)))
|
||||
t t line))
|
||||
(setq rpl (concat "["
|
||||
(setq rpl (concat "["
|
||||
(or (match-string 3 line) (match-string 1 line))
|
||||
"]"))
|
||||
(when (and desc0 (not (equal desc0 link)))
|
||||
|
@ -1043,7 +1043,7 @@ underlined headlines. The default is 3."
|
|||
;;
|
||||
(org-export-generic-check-section "body" bodytextpre bodytextsuf)
|
||||
|
||||
(setq line
|
||||
(setq line
|
||||
(org-export-generic-fontify line))
|
||||
|
||||
;; XXX: properties? list?
|
||||
|
@ -1208,7 +1208,7 @@ REVERSE means to reverse the list if the plist match is a list
|
|||
(setq result (concat result line))
|
||||
(setq len 0)))
|
||||
(concat result indstr line)))
|
||||
|
||||
|
||||
(defun org-export-generic-push-links (link-buffer)
|
||||
"Push out links in the buffer."
|
||||
(when link-buffer
|
||||
|
@ -1258,13 +1258,13 @@ REVERSE means to reverse the list if the plist match is a list
|
|||
))
|
||||
;; same level
|
||||
((= level old-level)
|
||||
(insert
|
||||
(insert
|
||||
(org-export-generic-format export-plist :body-section-suffix 0 level))
|
||||
)
|
||||
)
|
||||
(insert
|
||||
(org-export-generic-format export-plist :body-section-prefix 0 level))
|
||||
|
||||
|
||||
(if (and org-export-with-section-numbers
|
||||
secnums
|
||||
(or (not (numberp secnums))
|
||||
|
@ -1365,7 +1365,7 @@ REVERSE means to reverse the list if the plist match is a list
|
|||
Each element of the list is a list of three elements.
|
||||
The first element is the character used as a marker for fontification.
|
||||
The second element is a variable name, set in org-export-generic. That
|
||||
variable will be dereferenced to obtain a formatting string to wrap
|
||||
variable will be dereferenced to obtain a formatting string to wrap
|
||||
fontified text with.
|
||||
The third element decides whether to protect converted text from other
|
||||
conversions.")
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -6,7 +6,7 @@
|
|||
;; Version: 1.0
|
||||
;; Keywords: org, wp
|
||||
;;
|
||||
;; This file is not part of GNU Emacs.
|
||||
;; This file is not part of GNU Emacs.
|
||||
;;
|
||||
;; This program is free software; you can redistribute it and/or modify
|
||||
;; it under the terms of the GNU General Public License as published by
|
||||
|
@ -31,7 +31,7 @@
|
|||
;; / add a keyword as a positive selection criterion
|
||||
;; \ add a keyword as a newgative selection criterion
|
||||
;; = clear a keyword from the selection string
|
||||
;; ;
|
||||
;; ;
|
||||
|
||||
(require 'org)
|
||||
|
||||
|
@ -39,7 +39,7 @@
|
|||
(org-defkey org-agenda-mode-map "/" 'org-agenda-query-and-cmd)
|
||||
(org-defkey org-agenda-mode-map ";" 'org-agenda-query-or-cmd)
|
||||
(org-defkey org-agenda-mode-map "\\" 'org-agenda-query-not-cmd)
|
||||
|
||||
|
||||
;;; Agenda interactive query manipulation
|
||||
|
||||
(defcustom org-agenda-query-selection-single-key t
|
||||
|
@ -283,7 +283,7 @@ keyword string."
|
|||
(defun org-agenda-query-generic-cmd (op)
|
||||
"Activate query manipulation with OP as initial operator."
|
||||
(let ((q (org-agenda-query-selection org-agenda-query-string op
|
||||
org-tag-alist
|
||||
org-tag-alist
|
||||
(org-agenda-query-global-todo-keys))))
|
||||
(when q
|
||||
(setq org-agenda-query-string q)
|
||||
|
|
|
@ -181,7 +181,7 @@ looks like tree2, where the level is 2."
|
|||
(when (or (not min) (< level min)) (setq min level))
|
||||
(when (> level max) (setq max level))))
|
||||
(cons (or min 0) max)))
|
||||
|
||||
|
||||
(defun org-invoice-collapse-list (ls)
|
||||
"Reorganize the given list by dates."
|
||||
(let ((min-max (org-invoice-level-min-max ls)) new)
|
||||
|
@ -214,7 +214,7 @@ looks like tree2, where the level is 2."
|
|||
(+ price (cdr (assoc 'price (car bucket)))))
|
||||
(nconc bucket (list info))))))
|
||||
(nreverse new)))
|
||||
|
||||
|
||||
(defun org-invoice-info-to-table (info)
|
||||
"Create a single org table row from the given info alist."
|
||||
(let ((title (cdr (assoc 'title info)))
|
||||
|
@ -223,19 +223,19 @@ looks like tree2, where the level is 2."
|
|||
(price (cdr (assoc 'price info)))
|
||||
(with-price (plist-get org-invoice-table-params :price)))
|
||||
(unless total
|
||||
(setq
|
||||
(setq
|
||||
org-invoice-total-time (+ org-invoice-total-time work)
|
||||
org-invoice-total-price (+ org-invoice-total-price price)))
|
||||
(setq total (and total (org-minutes-to-hh:mm-string total)))
|
||||
(setq work (and work (org-minutes-to-hh:mm-string work)))
|
||||
(insert-before-markers
|
||||
(insert-before-markers
|
||||
(concat "|" title
|
||||
(cond
|
||||
(total (concat "|" total))
|
||||
(work (concat "|" work)))
|
||||
(and with-price price (concat "|" (format "%.2f" price)))
|
||||
"|" "\n"))))
|
||||
|
||||
|
||||
(defun org-invoice-list-to-table (ls)
|
||||
"Convert a list of heading info to an org table"
|
||||
(let ((with-price (plist-get org-invoice-table-params :price))
|
||||
|
@ -243,7 +243,7 @@ looks like tree2, where the level is 2."
|
|||
(with-header (plist-get org-invoice-table-params :headers))
|
||||
(org-invoice-total-time 0)
|
||||
(org-invoice-total-price 0))
|
||||
(insert-before-markers
|
||||
(insert-before-markers
|
||||
(concat "| Task / Date | Time" (and with-price "| Price") "|\n"))
|
||||
(dolist (info ls)
|
||||
(insert-before-markers "|-\n")
|
||||
|
@ -268,9 +268,9 @@ heading that begins the invoice data, usually using the
|
|||
(org-clock-sum)
|
||||
(run-hook-with-args 'org-invoice-start-hook)
|
||||
(cons org-invoice-current-invoice
|
||||
(org-invoice-collapse-list
|
||||
(org-invoice-collapse-list
|
||||
(org-map-entries 'org-invoice-heading-info t 'tree 'archive))))))
|
||||
|
||||
|
||||
(defun org-dblock-write:invoice (params)
|
||||
"Function called by OrgMode to write the invoice dblock. To
|
||||
create an invoice dblock you can use the `org-invoice-report'
|
||||
|
@ -397,5 +397,5 @@ I place mine under a third-level heading like so:
|
|||
(if report (goto-char report)
|
||||
(org-create-dblock (list :name "invoice")))
|
||||
(org-update-dblock)))
|
||||
|
||||
|
||||
(provide 'org-invoice)
|
||||
|
|
|
@ -101,7 +101,7 @@ the the Emacs diary"
|
|||
(shell-command "sw_vers" (current-buffer))
|
||||
(when (re-search-backward "10\\.[567]" nil t)
|
||||
(omi-concat-leopard-ics all-calendars)))
|
||||
|
||||
|
||||
;; move all caldav ics files to the same place as local ics files
|
||||
(mapc
|
||||
(lambda (x)
|
||||
|
@ -111,7 +111,7 @@ the the Emacs diary"
|
|||
(concat "~/Library/Calendars/" y)))
|
||||
(directory-files x nil ".*ics$")))
|
||||
caldav-folders)
|
||||
|
||||
|
||||
;; check calendar has contents and import
|
||||
(setq import-calendars (directory-files "~/Library/Calendars" 1 ".*ics$"))
|
||||
(mapc
|
||||
|
@ -181,7 +181,7 @@ date range so that Emacs calendar view doesn't grind to a halt"
|
|||
(* (/ org-mac-iCal-range 2) 30))
|
||||
(delete-region startEntry endEntry)))
|
||||
(goto-char (point-max))))
|
||||
(while
|
||||
(while
|
||||
(re-search-forward "^END:VEVENT$" nil t)
|
||||
(delete-blank-lines))
|
||||
(goto-line 1)
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
;;; application and insert them as links into org-mode documents
|
||||
;;
|
||||
;; Copyright (c) 2010-2012 Free Software Foundation, Inc.
|
||||
;;
|
||||
;;
|
||||
;; Author: Anthony Lander <anthony.lander@gmail.com>
|
||||
;; Version: 1.0.1
|
||||
;; Keywords: org, mac, hyperlink
|
||||
|
@ -52,7 +52,7 @@
|
|||
;; add (require 'org-mac-link-grabber) to your .emacs, and optionally
|
||||
;; bind a key to activate the link grabber menu, like this:
|
||||
;;
|
||||
;; (add-hook 'org-mode-hook (lambda ()
|
||||
;; (add-hook 'org-mode-hook (lambda ()
|
||||
;; (define-key org-mode-map (kbd "C-c g") 'omlg-grab-link)))
|
||||
;;
|
||||
;;
|
||||
|
@ -161,7 +161,7 @@ applications and inserting them in org documents"
|
|||
(when (and active (eq input key))
|
||||
(call-interactively grab-function))))
|
||||
descriptors)))
|
||||
|
||||
|
||||
(defalias 'omgl-grab-link 'omlg-grab-link
|
||||
"Renamed, and this alias will be obsolete next revision.")
|
||||
|
||||
|
@ -344,7 +344,7 @@ applications and inserting them in org documents"
|
|||
" return theUrl & \"::split::\" & theName & \"\n\"\n"
|
||||
"end tell\n"))))
|
||||
(car (split-string result "[\r\n]+" t))))
|
||||
|
||||
|
||||
(defun org-mac-safari-get-frontmost-url ()
|
||||
(interactive)
|
||||
(message "Applescript: Getting Safari url...")
|
||||
|
@ -361,7 +361,7 @@ applications and inserting them in org documents"
|
|||
(defun org-mac-safari-insert-frontmost-url ()
|
||||
(interactive)
|
||||
(insert (org-mac-safari-get-frontmost-url)))
|
||||
|
||||
|
||||
|
||||
;;
|
||||
;;
|
||||
|
|
|
@ -207,7 +207,7 @@ applications in order to mimic `org-store-link'. Used by
|
|||
:group 'org-mairix)
|
||||
|
||||
(defcustom org-mairix-mutt-display-command
|
||||
"xterm -title 'mairix search: %search%' -e 'unset COLUMNS; mutt -f
|
||||
"xterm -title 'mairix search: %search%' -e 'unset COLUMNS; mutt -f
|
||||
~/mail/mairix -e \"push <display-message>\"' &"
|
||||
"Command to execute to display mairix search results via mutt within
|
||||
an xterm.
|
||||
|
@ -244,7 +244,7 @@ along with general mairix configuration."
|
|||
:group 'org-mairix-gnus
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-mairix-gnus-select-display-group-function
|
||||
(defcustom org-mairix-gnus-select-display-group-function
|
||||
'org-mairix-gnus-select-display-group-function-gg
|
||||
"Hook to call to select the group that contains the matching articles.
|
||||
We should not need this, it is owed to a problem of gnus that people were
|
||||
|
@ -285,7 +285,7 @@ to do that -- so you're likely to see zombies floating around.
|
|||
|
||||
If you can improve this, please do!"
|
||||
(if (not (equal (substring search 0 2) "m:" ))
|
||||
(error "org-mairix-gnus-display-results: display of search other than
|
||||
(error "org-mairix-gnus-display-results: display of search other than
|
||||
message-id not implemented yet"))
|
||||
(setq message-id (substring search 2 nil))
|
||||
(require 'gnus)
|
||||
|
|
|
@ -43,13 +43,13 @@
|
|||
;;
|
||||
;; you might want to bind this to a key with something like the
|
||||
;; following message-mode binding
|
||||
;;
|
||||
;;
|
||||
;; (add-hook 'message-mode-hook
|
||||
;; (lambda ()
|
||||
;; (local-set-key "\C-c\M-o" 'org-mime-htmlize)))
|
||||
;;
|
||||
;; and the following org-mode binding
|
||||
;;
|
||||
;;
|
||||
;; (add-hook 'org-mode-hook
|
||||
;; (lambda ()
|
||||
;; (local-set-key "\C-c\M-o" 'org-mime-org-buffer-htmlize)))
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
;;; org-mtags.el --- Muse-like tags in Org-mode
|
||||
|
||||
;; Copyright (C) 2008-2012 Free Software Foundation, Inc.
|
||||
;;
|
||||
;; Author: Carsten Dominik <carsten at orgmode dot org>
|
||||
|
@ -255,3 +254,4 @@ with string values. In addition, it reutnrs the following properties:
|
|||
(provide 'org-mtags)
|
||||
|
||||
;;; org-mtags.el ends here
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
;; Links have one the following form
|
||||
;; notmuch:<search terms>
|
||||
;; notmuch-search:<search terms>.
|
||||
;; notmuch-search:<search terms>.
|
||||
|
||||
;; The first form open the queries in notmuch-show mode, whereas the
|
||||
;; second link open it in notmuch-search mode. Note that queries are
|
||||
|
@ -61,13 +61,13 @@
|
|||
(setq link (org-make-link "notmuch:" "id:" message-id))
|
||||
(org-add-link-props :link link :description desc)
|
||||
link)))
|
||||
|
||||
|
||||
(defun org-notmuch-open (path)
|
||||
"Follow a notmuch message link specified by PATH."
|
||||
(org-notmuch-follow-link path))
|
||||
|
||||
(defun org-notmuch-follow-link (search)
|
||||
"Follow a notmuch link to SEARCH.
|
||||
"Follow a notmuch link to SEARCH.
|
||||
|
||||
Can link to more than one message, if so all matching messages are shown."
|
||||
(require 'notmuch)
|
||||
|
@ -82,10 +82,10 @@ Can link to more than one message, if so all matching messages are shown."
|
|||
(defun org-notmuch-search-store-link ()
|
||||
"Store a link to a notmuch search or message."
|
||||
(when (eq major-mode 'notmuch-search-mode)
|
||||
(let ((link (org-make-link "notmuch-search:"
|
||||
(let ((link (org-make-link "notmuch-search:"
|
||||
(org-link-escape notmuch-search-query-string)))
|
||||
(desc (concat "Notmuch search: " notmuch-search-query-string)))
|
||||
(org-store-link-props :type "notmuch-search"
|
||||
(org-store-link-props :type "notmuch-search"
|
||||
:link link
|
||||
:description desc)
|
||||
link)))
|
||||
|
|
|
@ -639,3 +639,5 @@ button changes the binding of the arrow keys."
|
|||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
;;; org-panel.el ends here
|
||||
|
||||
|
||||
|
|
|
@ -145,15 +145,15 @@ buffer."
|
|||
|
||||
(defun org-registry-assoc-all (link &optional registry)
|
||||
"Return all associated entries of LINK in the registry."
|
||||
(org-registry-find-all
|
||||
(org-registry-find-all
|
||||
(lambda (entry) (string= link (car entry)))
|
||||
registry))
|
||||
|
||||
(defun org-registry-find-all (test &optional registry)
|
||||
"Return all entries satisfying `test' in the registry."
|
||||
(delq nil
|
||||
(mapcar
|
||||
(lambda (x) (and (funcall test x) x))
|
||||
(delq nil
|
||||
(mapcar
|
||||
(lambda (x) (and (funcall test x) x))
|
||||
(or registry org-registry-alist))))
|
||||
|
||||
;;;###autoload
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
;; associated with that task, go to the end of your item and type:
|
||||
;;
|
||||
;; M-x org-screen
|
||||
;;
|
||||
;;
|
||||
;; This will prompt you for a name of a screen session. Type in a
|
||||
;; name and it will insert a link into your org file at your current
|
||||
;; location.
|
||||
|
@ -79,10 +79,10 @@ is copied from ansi-term method."
|
|||
|
||||
;; Pick the name of the new buffer.
|
||||
(let ((term-ansi-buffer-name
|
||||
(generate-new-buffer-name
|
||||
(generate-new-buffer-name
|
||||
(org-screen-buffer-name name))))
|
||||
(setq term-ansi-buffer-name
|
||||
(term-ansi-make-term
|
||||
(term-ansi-make-term
|
||||
term-ansi-buffer-name org-screen-program-name nil arg name))
|
||||
(set-buffer term-ansi-buffer-name)
|
||||
(term-mode)
|
||||
|
@ -104,5 +104,5 @@ is copied from ansi-term method."
|
|||
'("screen" . "elisp:(org-screen-goto \"%s\")"))
|
||||
(setq org-link-abbrev-alist
|
||||
'(("screen" . "elisp:(org-screen-goto \"%s\")"))))
|
||||
|
||||
|
||||
(provide 'org-screen)
|
||||
|
|
|
@ -86,7 +86,7 @@ org-static-mathjax-options: The string given with #+STATICMATHJAX: in the f
|
|||
(set 'org-static-mathjax-mathjax-path
|
||||
(car (read-from-string
|
||||
(substring mathjax-options (match-end 0))))))))
|
||||
(add-hook 'after-save-hook
|
||||
(add-hook 'after-save-hook
|
||||
'org-static-mathjax-process
|
||||
nil t)))))
|
||||
|
||||
|
@ -117,20 +117,20 @@ org-static-mathjax-options: The string given with #+STATICMATHJAX: in the f
|
|||
(set symbol (eval (car (read-from-string
|
||||
(substring options (match-end 0))))))))
|
||||
'(embed-fonts output-file-name))
|
||||
|
||||
|
||||
; debug
|
||||
(when org-static-mathjax-debug
|
||||
(message "output file name, embed-fonts")
|
||||
(print output-file-name)
|
||||
(print embed-fonts))
|
||||
|
||||
|
||||
; open (temporary) input file, copy contents there, replace MathJax path with local installation
|
||||
(with-temp-buffer
|
||||
(insert html-code)
|
||||
(goto-char 1)
|
||||
(replace-regexp mathjax-oldpath mathjax-newpath)
|
||||
(write-file input-file-name))
|
||||
|
||||
|
||||
; prepare argument list for call-process
|
||||
(let ((call-process-args (list org-static-mathjax-xulrunner-path
|
||||
nil nil nil
|
||||
|
@ -146,10 +146,10 @@ org-static-mathjax-options: The string given with #+STATICMATHJAX: in the f
|
|||
(if (not embed-fonts)
|
||||
(progn
|
||||
(add-to-list 'call-process-args "--final-mathjax-url" t)
|
||||
(add-to-list 'call-process-args
|
||||
(add-to-list 'call-process-args
|
||||
(file-name-directory org-static-mathjax-mathjax-path)
|
||||
t)))
|
||||
|
||||
|
||||
; debug
|
||||
(when org-static-mathjax-debug
|
||||
(print call-process-args))
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
;;; org-sudoku.el --- Greate and solve SUDOKU games in Org tables
|
||||
|
||||
;; Copyright (C) 2012 Free Software Foundation, Inc.
|
||||
;; Copyright (C) 2011, 2012 Free Software Foundation, Inc.
|
||||
;;
|
||||
;; Author: Carsten Dominik <carsten at orgmode dot org>
|
||||
;; Keywords: outlines, hypermedia, calendar, wp, games
|
||||
|
@ -127,7 +126,7 @@ This works by solving the whole game, then inserting only the single field."
|
|||
(setq game (org-sudoku-solve-game game))
|
||||
(if game
|
||||
(progn
|
||||
(org-table-put i j (number-to-string
|
||||
(org-table-put i j (number-to-string
|
||||
(nth 1 (assoc (cons i j) game)))
|
||||
'align)
|
||||
(org-table-goto-line i)
|
||||
|
@ -140,7 +139,7 @@ This works by solving the whole game, then inserting only the single field."
|
|||
"Interpret table at point as sudoku game and read it.
|
||||
A game structure is returned."
|
||||
(let (b e g i j game)
|
||||
|
||||
|
||||
(org-table-goto-line 1)
|
||||
(org-table-goto-column 1)
|
||||
(setq b (point))
|
||||
|
|
|
@ -278,7 +278,7 @@ specified, then make `org-toc-recenter' use this value."
|
|||
;;; Navigation functions:
|
||||
(defun org-toc-goto (&optional jump cycle)
|
||||
"From Org TOC buffer, follow the targeted subtree in the Org window.
|
||||
If JUMP is non-nil, go to the base buffer.
|
||||
If JUMP is non-nil, go to the base buffer.
|
||||
If JUMP is 'delete, go to the base buffer and delete other windows.
|
||||
If CYCLE is non-nil, cycle the targeted subtree in the Org window."
|
||||
(interactive)
|
||||
|
@ -459,15 +459,15 @@ status."
|
|||
(defun org-toc-help ()
|
||||
"Display a quick help message in the echo-area for `org-toc-mode'."
|
||||
(interactive)
|
||||
(let ((st-start 0)
|
||||
(let ((st-start 0)
|
||||
(help-message
|
||||
"\[space\] show heading \[1-4\] hide headlines below this level
|
||||
\[TAB\] jump to heading \[f\] toggle follow mode (currently %s)
|
||||
\[return\] jump and delete others windows \[i\] toggle info mode (currently %s)
|
||||
\[S-TAB\] cycle subtree (in Org) \[S\] toggle show subtree mode (currently %s)
|
||||
\[C-S-TAB\] global cycle (in Org) \[r\] toggle recenter mode (currently %s)
|
||||
\[C-S-TAB\] global cycle (in Org) \[r\] toggle recenter mode (currently %s)
|
||||
\[:\] cycle subtree (in TOC) \[c\] toggle column view (currently %s)
|
||||
\[n/p\] next/previous heading \[s\] save TOC configuration
|
||||
\[n/p\] next/previous heading \[s\] save TOC configuration
|
||||
\[q\] quit the TOC \[g\] restore last TOC configuration"))
|
||||
(while (string-match "\\[[^]]+\\]" help-message st-start)
|
||||
(add-text-properties (match-beginning 0)
|
||||
|
|
|
@ -174,7 +174,7 @@ setting of `org-wikinodes-create-targets'."
|
|||
(message "New Wiki target `%s' created in current buffer"
|
||||
target))))))
|
||||
|
||||
;;; The target cache
|
||||
;;; The target cache
|
||||
|
||||
(defvar org-wikinodes-directory-targets-cache nil)
|
||||
|
||||
|
@ -206,7 +206,7 @@ setting of `org-wikinodes-create-targets'."
|
|||
(while (re-search-forward re nil t)
|
||||
(push (org-match-string-no-properties 4) targets))))
|
||||
(nreverse targets)))
|
||||
|
||||
|
||||
(defun org-wikinodes-get-links-for-directory (dir)
|
||||
"Return an alist that connects wiki links to files in directory DIR."
|
||||
(let ((files (directory-files dir nil "\\`[^.#].*\\.org\\'"))
|
||||
|
@ -328,7 +328,7 @@ with working links."
|
|||
(setcdr m (cons '(org-wikinodes-activate-links) (cdr m)))
|
||||
(message
|
||||
"Failed to add wikinodes to `org-font-lock-extra-keywords'."))))
|
||||
|
||||
|
||||
(add-hook 'org-font-lock-set-keywords-hook
|
||||
'org-wikinodes-add-to-font-lock-keywords)
|
||||
|
||||
|
|
|
@ -402,7 +402,7 @@ REM %s %s MSG EVENT:%s%s %s%s%%
|
|||
(insert sexp "\n"))))
|
||||
;; (princ (org-diary-to-rem-string sexp-buffer))
|
||||
(kill-buffer sexp-buffer))
|
||||
|
||||
|
||||
(when org-remind-include-todo
|
||||
(setq prefix "TODO-")
|
||||
(goto-char (point-min))
|
||||
|
@ -450,7 +450,7 @@ REM %s %s MSG EVENT:%s%s %s%s%%
|
|||
(if dos diff-days 0)
|
||||
(if dos 0 diff-days))
|
||||
1000)))
|
||||
|
||||
|
||||
(if (and (numberp org-rem-aw) (> org-rem-aw 0))
|
||||
(setq remind-aw (+ (or remind-aw 0) org-rem-aw)))
|
||||
|
||||
|
@ -470,7 +470,7 @@ REM %s %s MSG EVENT:%s%s %s%s%%
|
|||
(and due (setq due (org-rem-ts-to-remind-date-type due)))
|
||||
(and start (setq start (org-rem-ts-to-remind-date-type start)))
|
||||
(and remind-ew (setq remind-ew (org-rem-ts-to-remind-date-type remind-ew)))
|
||||
|
||||
|
||||
(if (string-match org-bracket-link-regexp hd)
|
||||
(setq hd (replace-match (if (match-end 3) (match-string 3 hd)
|
||||
(match-string 1 hd))
|
||||
|
|
|
@ -36,3 +36,4 @@
|
|||
(org-pop-to-buffer-same-window "*preproc-temp*")
|
||||
(point-max)
|
||||
(insert string))))
|
||||
|
||||
|
|
293
doc/org.texi
293
doc/org.texi
|
@ -265,7 +265,7 @@
|
|||
@copying
|
||||
This manual is for Org version @value{VERSION}.
|
||||
|
||||
Copyright @copyright{} 2004-2012 Free Software Foundation, Inc.
|
||||
Copyright @copyright{} 2004-2011 Free Software Foundation, Inc.
|
||||
|
||||
@quotation
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
|
@ -717,7 +717,6 @@ Specific header arguments
|
|||
* rownames:: Handle row names in tables
|
||||
* shebang:: Make tangled files executable
|
||||
* eval:: Limit evaluation of specific code blocks
|
||||
* wrap:: Mark source block evaluation results
|
||||
|
||||
Miscellaneous
|
||||
|
||||
|
@ -1081,7 +1080,7 @@ attach it to your bug report.
|
|||
@node Conventions, , Feedback, Introduction
|
||||
@section Typesetting conventions used in this manual
|
||||
|
||||
Org uses three types of keywords: TODO keywords, tags and property
|
||||
Org uses three types of keywords: TODO keywords, tags, and property
|
||||
names. In this manual we use the following conventions:
|
||||
|
||||
@table @code
|
||||
|
@ -1099,14 +1098,7 @@ User-defined properties are capitalized; built-in properties with
|
|||
special meaning are written with all capitals.
|
||||
@end table
|
||||
|
||||
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
|
||||
The manual lists both the keys and the corresponding commands for accessing
|
||||
functionality. Org mode often uses the same key for different functions,
|
||||
depending on context. The command that is bound to such keys has a generic
|
||||
name, like @code{org-metaright}. In the manual we will, wherever possible,
|
||||
|
@ -1166,8 +1158,7 @@ Headlines define the structure of an outline tree. The headlines in Org
|
|||
start with one or more stars, on the left margin@footnote{See the variables
|
||||
@code{org-special-ctrl-a/e}, @code{org-special-ctrl-k}, and
|
||||
@code{org-ctrl-k-protect-subtree} to configure special behavior of @kbd{C-a},
|
||||
@kbd{C-e}, and @kbd{C-k} in headlines.} @footnote{Clocking only works with
|
||||
headings indented less then 30 stars.}. For example:
|
||||
@kbd{C-e}, and @kbd{C-k} in headlines.}. For example:
|
||||
|
||||
@example
|
||||
* Top level headline
|
||||
|
@ -1437,7 +1428,7 @@ more details, see the docstring of the command
|
|||
@code{org-clone-subtree-with-time-shift}.
|
||||
@orgcmd{C-c C-w,org-refile}
|
||||
Refile entry or region to a different location. @xref{Refiling notes}.
|
||||
@orgcmd{C-c ^,org-sort}
|
||||
@orgcmd{C-c ^,org-sort-entries-or-items}
|
||||
Sort same-level entries. When there is an active region, all entries in the
|
||||
region will be sorted. Otherwise the children of the current headline are
|
||||
sorted. The command prompts for the sorting method, which can be
|
||||
|
@ -1764,13 +1755,11 @@ numerically, alphabetically, by time, or by custom function.
|
|||
@cindex visibility cycling, drawers
|
||||
|
||||
@vindex org-drawers
|
||||
@cindex org-insert-drawer
|
||||
@kindex C-c C-x d
|
||||
Sometimes you want to keep information associated with an entry, but you
|
||||
normally don't want to see it. For this, Org mode has @emph{drawers}.
|
||||
Drawers need to be configured with the variable
|
||||
@code{org-drawers}@footnote{You can define additional drawers on a
|
||||
per-file basis with a line like @code{#+DRAWERS: HIDDEN STATE}}. Drawers
|
||||
@code{org-drawers}@footnote{You can define drawers on a per-file basis
|
||||
with a line like @code{#+DRAWERS: HIDDEN PROPERTIES STATE}}. Drawers
|
||||
look like this:
|
||||
|
||||
@example
|
||||
|
@ -1782,13 +1771,6 @@ look like this:
|
|||
After the drawer.
|
||||
@end example
|
||||
|
||||
You can interactively insert drawers at point by calling
|
||||
@code{org-insert-drawer}, which is bound to @key{C-c C-x d}. With an active
|
||||
region, this command will put the region inside the drawer. With a prefix
|
||||
argument, this command calls @code{org-insert-property-drawer} and add a
|
||||
property drawer right below the current headline. Completion over drawer
|
||||
keywords is also possible using @key{M-TAB}.
|
||||
|
||||
Visibility cycling (@pxref{Visibility cycling}) on the headline will hide and
|
||||
show the entry, but keep the drawer collapsed to a single line. In order to
|
||||
look inside the drawer, you need to move the cursor to the drawer line and
|
||||
|
@ -3243,8 +3225,6 @@ mailto:adent@@galaxy.net @r{Mail link}
|
|||
vm:folder @r{VM folder link}
|
||||
vm:folder#id @r{VM message link}
|
||||
vm://myself@@some.where.org/folder#id @r{VM on remote machine}
|
||||
vm-imap:account:folder @r{VM IMAP folder link}
|
||||
vm-imap:account:folder#id @r{VM IMAP message link}
|
||||
wl:folder @r{WANDERLUST folder link}
|
||||
wl:folder#id @r{WANDERLUST message link}
|
||||
mhe:folder @r{MH-E folder link}
|
||||
|
@ -4083,11 +4063,9 @@ time-stamped note for a change. These records will be inserted after the
|
|||
headline as an itemized list, newest first@footnote{See the variable
|
||||
@code{org-log-states-order-reversed}}. When taking a lot of notes, you might
|
||||
want to get the notes out of the way into a drawer (@pxref{Drawers}).
|
||||
Customize the variable @code{org-log-into-drawer} to get this behavior---the
|
||||
recommended drawer for this is called @code{LOGBOOK}@footnote{Note that the
|
||||
@code{LOGBOOK} drawer is unfolded when pressing @key{SPC} in the agenda to
|
||||
show an entry---use @key{C-u SPC} to keep it folded here}. You can also
|
||||
overrule the setting of this variable for a subtree by setting a
|
||||
Customize the variable @code{org-log-into-drawer} to get this
|
||||
behavior---the recommended drawer for this is called @code{LOGBOOK}. You can
|
||||
also overrule the setting of this variable for a subtree by setting a
|
||||
@code{LOG_INTO_DRAWER} property.
|
||||
|
||||
Since it is normally too much to record a note for every state, Org mode
|
||||
|
@ -4892,8 +4870,8 @@ in the current file will be offered as possible completions.
|
|||
@orgcmd{C-c C-x p,org-set-property}
|
||||
Set a property. This prompts for a property name and a value. If
|
||||
necessary, the property drawer is created as well.
|
||||
@item C-u M-x org-insert-drawer
|
||||
@cindex org-insert-drawer
|
||||
@item M-x org-insert-property-drawer
|
||||
@findex org-insert-property-drawer
|
||||
Insert a property drawer into the current entry. The drawer will be
|
||||
inserted early in the entry, but after the lines with planning
|
||||
information like deadlines.
|
||||
|
@ -5918,14 +5896,12 @@ created for this purpose, it is described in @ref{Structure editing}.
|
|||
@cindex time clocking
|
||||
|
||||
Org mode allows you to clock the time you spend on specific tasks in a
|
||||
project. When you start working on an item, you can start the clock. When
|
||||
you stop working on that task, or when you mark the task done, the clock is
|
||||
stopped and the corresponding time interval is recorded. It also computes
|
||||
the total time spent on each subtree@footnote{Clocking only works if all
|
||||
headings are indented with less than 30 stars. This is a hardcoded
|
||||
limitation of `lmax' in `org-clock-sum'.} of a project. And it remembers a
|
||||
history or tasks recently clocked, to that you can jump quickly between a
|
||||
number of tasks absorbing your time.
|
||||
project. When you start working on an item, you can start the clock.
|
||||
When you stop working on that task, or when you mark the task done, the
|
||||
clock is stopped and the corresponding time interval is recorded. It
|
||||
also computes the total time spent on each subtree of a project. And it
|
||||
remembers a history or tasks recently clocked, to that you can jump quickly
|
||||
between a number of tasks absorbing your time.
|
||||
|
||||
To save the clock history across Emacs sessions, use
|
||||
@lisp
|
||||
|
@ -6704,21 +6680,21 @@ similar way.}:
|
|||
|
||||
@vindex org-from-is-user-regexp
|
||||
@smallexample
|
||||
Link type | Available keywords
|
||||
---------------------------------+----------------------------------------------
|
||||
bbdb | %:name %:company
|
||||
irc | %:server %:port %:nick
|
||||
vm, vm-imap, wl, mh, mew, rmail | %:type %:subject %:message-id
|
||||
| %:from %:fromname %:fromaddress
|
||||
| %:to %:toname %:toaddress
|
||||
| %:date @r{(message date header field)}
|
||||
| %:date-timestamp @r{(date as active timestamp)}
|
||||
| %:date-timestamp-inactive @r{(date as inactive timestamp)}
|
||||
| %:fromto @r{(either "to NAME" or "from NAME")@footnote{This will always be the other, not the user. See the variable @code{org-from-is-user-regexp}.}}
|
||||
gnus | %:group, @r{for messages also all email fields}
|
||||
w3, w3m | %:url
|
||||
info | %:file %:node
|
||||
calendar | %:date
|
||||
Link type | Available keywords
|
||||
------------------------+----------------------------------------------
|
||||
bbdb | %:name %:company
|
||||
irc | %:server %:port %:nick
|
||||
vm, wl, mh, mew, rmail | %:type %:subject %:message-id
|
||||
| %:from %:fromname %:fromaddress
|
||||
| %:to %:toname %:toaddress
|
||||
| %:date @r{(message date header field)}
|
||||
| %:date-timestamp @r{(date as active timestamp)}
|
||||
| %:date-timestamp-inactive @r{(date as inactive timestamp)}
|
||||
| %:fromto @r{(either "to NAME" or "from NAME")@footnote{This will always be the other, not the user. See the variable @code{org-from-is-user-regexp}.}}
|
||||
gnus | %:group, @r{for messages also all email fields}
|
||||
w3, w3m | %:url
|
||||
info | %:file %:node
|
||||
calendar | %:date
|
||||
@end smallexample
|
||||
|
||||
@noindent
|
||||
|
@ -9041,7 +9017,7 @@ the object with @code{\ref@{tab:basic-data@}}:
|
|||
|
||||
@example
|
||||
#+CAPTION: This is the caption for the next table (or link)
|
||||
#+LABEL: tab:basic-data
|
||||
#+LABEL: tbl:basic-data
|
||||
| ... | ...|
|
||||
|-----|----|
|
||||
@end example
|
||||
|
@ -9655,7 +9631,7 @@ Insert template with export options, see example below.
|
|||
@cindex #+EXPORT_SELECT_TAGS
|
||||
@cindex #+EXPORT_EXCLUDE_TAGS
|
||||
@cindex #+XSLT
|
||||
@cindex #+LaTeX_HEADER
|
||||
@cindex #+LATEX_HEADER
|
||||
@vindex user-full-name
|
||||
@vindex user-mail-address
|
||||
@vindex org-export-default-language
|
||||
|
@ -9675,7 +9651,7 @@ Insert template with export options, see example below.
|
|||
@r{You need to confirm using these, or configure @code{org-export-allow-BIND}}
|
||||
#+LINK_UP: the ``up'' link of an exported page
|
||||
#+LINK_HOME: the ``home'' link of an exported page
|
||||
#+LaTeX_HEADER: extra line(s) for the @LaTeX{} header, like \usepackage@{xyz@}
|
||||
#+LATEX_HEADER: extra line(s) for the @LaTeX{} header, like \usepackage@{xyz@}
|
||||
#+EXPORT_SELECT_TAGS: Tags that select a tree for export
|
||||
#+EXPORT_EXCLUDE_TAGS: Tags that exclude a tree from export
|
||||
#+XSLT: the XSLT stylesheet used by DocBook exporter to generate FO file
|
||||
|
@ -10347,11 +10323,11 @@ By default, the @LaTeX{} output uses the class @code{article}.
|
|||
@vindex org-export-latex-classes
|
||||
@vindex org-export-latex-default-packages-alist
|
||||
@vindex org-export-latex-packages-alist
|
||||
@cindex #+LaTeX_HEADER
|
||||
@cindex #+LaTeX_CLASS
|
||||
@cindex #+LaTeX_CLASS_OPTIONS
|
||||
@cindex property, LaTeX_CLASS
|
||||
@cindex property, LaTeX_CLASS_OPTIONS
|
||||
@cindex #+LATEX_HEADER
|
||||
@cindex #+LATEX_CLASS
|
||||
@cindex #+LATEX_CLASS_OPTIONS
|
||||
@cindex property, LATEX_CLASS
|
||||
@cindex property, LATEX_CLASS_OPTIONS
|
||||
You can change this globally by setting a different value for
|
||||
@code{org-export-latex-default-class} or locally by adding an option like
|
||||
@code{#+LaTeX_CLASS: myclass} in your file, or with a @code{:LaTeX_CLASS:}
|
||||
|
@ -10361,22 +10337,11 @@ defines a header template for each class@footnote{Into which the values of
|
|||
@code{org-export-latex-default-packages-alist} and
|
||||
@code{org-export-latex-packages-alist} are spliced.}, and allows you to
|
||||
define the sectioning structure for each class. You can also define your own
|
||||
classes there. @code{#+LaTeX_CLASS_OPTIONS} or a @code{:LaTeX_CLASS_OPTIONS:}
|
||||
property can specify the options for the @code{\documentclass} macro. The
|
||||
options to documentclass have to be provided, as expected by @LaTeX{}, within
|
||||
square brackets. You can also use @code{#+LaTeX_HEADER: \usepackage@{xyz@}}
|
||||
to add lines to the header. See the docstring of
|
||||
@code{org-export-latex-classes} for more information. An example is shown
|
||||
below.
|
||||
|
||||
@example
|
||||
#+LaTeX_CLASS: article
|
||||
#+LaTeX_CLASS_OPTIONS: [a4paper]
|
||||
#+LaTeX_HEADER: \usepackage@{xyz@}
|
||||
|
||||
* Headline 1
|
||||
some text
|
||||
@end example
|
||||
classes there. @code{#+LaTeX_CLASS_OPTIONS} or a @code{LaTeX_CLASS_OPTIONS}
|
||||
property can specify the options for the @code{\documentclass} macro. You
|
||||
can also use @code{#+LATEX_HEADER: \usepackage@{xyz@}} to add lines to the
|
||||
header. See the docstring of @code{org-export-latex-classes} for more
|
||||
information.
|
||||
|
||||
@node Quoting @LaTeX{} code, Tables in @LaTeX{} export, Header and sectioning, @LaTeX{} and PDF export
|
||||
@subsection Quoting @LaTeX{} code
|
||||
|
@ -10460,7 +10425,9 @@ add something like @samp{placement=[h!]} to the attributes. It is to be noted
|
|||
this option can be used with tables as well@footnote{One can also take
|
||||
advantage of this option to pass other, unrelated options into the figure or
|
||||
table environment. For an example see the section ``Exporting org files'' in
|
||||
@url{http://orgmode.org/worg/org-hacks.html}}.
|
||||
@url{http://orgmode.org/worg/org-hacks.html}}. For example the
|
||||
@code{#+ATTR_LaTeX:} line below is exported as the @code{figure} environment
|
||||
below it.
|
||||
|
||||
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
|
||||
|
@ -10547,7 +10514,7 @@ transitions.
|
|||
Frames will automatically receive a @code{fragile} option if they contain
|
||||
source code that uses the verbatim environment. Special @file{beamer}
|
||||
specific code can be inserted using @code{#+BEAMER:} and
|
||||
@code{#+BEGIN_BEAMER...#+END_BEAMER} constructs, similar to other export
|
||||
@code{#+BEGIN_beamer...#+end_beamer} constructs, similar to other export
|
||||
backends, but with the difference that @code{#+LaTeX:} stuff will be included
|
||||
in the presentation as well.
|
||||
|
||||
|
@ -12310,7 +12277,7 @@ publish it as @file{theindex.html}.
|
|||
@end multitable
|
||||
|
||||
The file will be created when first publishing a project with the
|
||||
@code{:makeindex} set. The file only contains a statement @code{#+INCLUDE:
|
||||
@code{:makeindex} set. The file only contains a statement @code{#+include:
|
||||
"theindex.inc"}. You can then build around this include statement by adding
|
||||
a title, style information, etc.
|
||||
|
||||
|
@ -12698,10 +12665,10 @@ Org mode buffer. The results of evaluation are placed following a line that
|
|||
begins by default with @code{#+RESULTS} and optionally a cache identifier
|
||||
and/or the name of the evaluated code block. The default value of
|
||||
@code{#+RESULTS} can be changed with the customizable variable
|
||||
@code{org-babel-results-keyword}.
|
||||
@code{org-babel-results-keyword}.
|
||||
|
||||
By default, the evaluation facility is only enabled for Lisp code blocks
|
||||
specified as @code{emacs-lisp}. However, source code blocks in many languages
|
||||
specified as @code{emacs-lisp}. However, source code blocks in many languages
|
||||
can be evaluated within Org mode (see @ref{Languages} for a list of supported
|
||||
languages and @ref{Structure of code blocks} for information on the syntax
|
||||
used to define a code block).
|
||||
|
@ -12715,8 +12682,8 @@ evaluation from the @kbd{C-c C-c} key binding.}. This will call the
|
|||
its results into the Org mode buffer.
|
||||
@cindex #+CALL
|
||||
|
||||
It is also possible to evaluate named code blocks from anywhere in an Org
|
||||
mode buffer or an Org mode table. Live code blocks located in the current
|
||||
It is also possible to evaluate named code blocks from anywhere in an
|
||||
Org mode buffer or an Org mode table. Live code blocks located in the current
|
||||
Org mode buffer or in the ``Library of Babel'' (see @ref{Library of Babel})
|
||||
can be executed. Named code blocks can be executed with a separate
|
||||
@code{#+CALL:} line or inline within a block of text.
|
||||
|
@ -13010,7 +12977,7 @@ Multi-line header arguments on an un-named code block:
|
|||
(message "data1:%S, data2:%S" data1 data2)
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
#+results:
|
||||
: data1:1, data2:2
|
||||
@end example
|
||||
|
||||
|
@ -13022,7 +12989,7 @@ Multi-line header arguments on a named code block:
|
|||
(message "data:%S" data)
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS: named-block
|
||||
#+results: named-block
|
||||
: data:2
|
||||
@end example
|
||||
|
||||
|
@ -13080,7 +13047,6 @@ argument in lowercase letters. The following header arguments are defined:
|
|||
* rownames:: Handle row names in tables
|
||||
* shebang:: Make tangled files executable
|
||||
* eval:: Limit evaluation of specific code blocks
|
||||
* wrap:: Mark source block evaluation results
|
||||
@end menu
|
||||
|
||||
Additional header arguments are defined on a language-specific basis, see
|
||||
|
@ -13095,7 +13061,7 @@ syntax used to specify arguments is the same across all languages. In every
|
|||
case, variables require a default value when they are declared.
|
||||
|
||||
The values passed to arguments can either be literal values, references, or
|
||||
Emacs Lisp code (see @ref{var, Emacs Lisp evaluation of variables}). References
|
||||
Emacs Lisp code (see @ref{var, Emacs Lisp evaluation of variables}). References
|
||||
include anything in the Org mode file that takes a @code{#+NAME:},
|
||||
@code{#+TBLNAME:}, or @code{#+RESULTS:} line. This includes tables, lists,
|
||||
@code{#+BEGIN_EXAMPLE} blocks, other code blocks, and the results of other
|
||||
|
@ -13134,7 +13100,7 @@ an Org mode table named with either a @code{#+NAME:} or @code{#+TBLNAME:} line
|
|||
(length table)
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS: table-length
|
||||
#+results: table-length
|
||||
: 4
|
||||
@end example
|
||||
|
||||
|
@ -13153,7 +13119,7 @@ carried through to the source code block)
|
|||
(print x)
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
#+results:
|
||||
| simple | list |
|
||||
@end example
|
||||
|
||||
|
@ -13166,7 +13132,7 @@ optionally followed by parentheses
|
|||
(* 2 length)
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
#+results:
|
||||
: 8
|
||||
@end example
|
||||
|
||||
|
@ -13181,7 +13147,7 @@ code block name using standard function call syntax
|
|||
(* 2 input)
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS: double
|
||||
#+results: double
|
||||
: 16
|
||||
|
||||
#+NAME: squared
|
||||
|
@ -13189,7 +13155,7 @@ code block name using standard function call syntax
|
|||
(* input input)
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS: squared
|
||||
#+results: squared
|
||||
: 4
|
||||
@end example
|
||||
|
||||
|
@ -13208,7 +13174,7 @@ on two lines
|
|||
(concatenate 'string x " for you.")
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS: read-literal-example
|
||||
#+results: read-literal-example
|
||||
: A literal example
|
||||
: on two lines for you.
|
||||
|
||||
|
@ -13250,7 +13216,7 @@ following example assigns the last cell of the first row the table
|
|||
data
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
#+results:
|
||||
: a
|
||||
@end example
|
||||
|
||||
|
@ -13271,7 +13237,7 @@ to @code{data}.
|
|||
data
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
#+results:
|
||||
| 2 | b |
|
||||
| 3 | c |
|
||||
| 4 | d |
|
||||
|
@ -13293,7 +13259,7 @@ column is referenced.
|
|||
data
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
#+results:
|
||||
| 1 | 2 | 3 | 4 |
|
||||
@end example
|
||||
|
||||
|
@ -13313,7 +13279,7 @@ another by commas, as shown in the following example.
|
|||
data
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
#+results:
|
||||
| 11 | 14 | 17 |
|
||||
@end example
|
||||
|
||||
|
@ -13346,7 +13312,7 @@ Emacs Lisp, as shown in the following example.
|
|||
$data
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
#+results:
|
||||
: (a b c)
|
||||
@end example
|
||||
|
||||
|
@ -13412,10 +13378,10 @@ The results are interpreted as raw Org mode code and are inserted directly
|
|||
into the buffer. If the results look like a table they will be aligned as
|
||||
such by Org mode. E.g., @code{:results value raw}.
|
||||
@item @code{html}
|
||||
Results are assumed to be HTML and will be enclosed in a @code{BEGIN_HTML}
|
||||
Results are assumed to be HTML and will be enclosed in a @code{begin_html}
|
||||
block. E.g., @code{:results value html}.
|
||||
@item @code{latex}
|
||||
Results assumed to be @LaTeX{} and are enclosed in a @code{BEGIN_LaTeX} block.
|
||||
Results assumed to be @LaTeX{} and are enclosed in a @code{begin_latex} block.
|
||||
E.g., @code{:results value latex}.
|
||||
@item @code{code}
|
||||
Result are assumed to be parsable code and are enclosed in a code block.
|
||||
|
@ -13648,34 +13614,21 @@ interpreted language.
|
|||
@node noweb, noweb-ref, session, Specific header arguments
|
||||
@subsubsection @code{:noweb}
|
||||
|
||||
The @code{:noweb} header argument controls expansion of ``noweb'' syntax
|
||||
references (see @ref{Noweb reference syntax}) when the code block is
|
||||
evaluated, tangled, or exported. The @code{:noweb} header argument can have
|
||||
one of the five values: @code{no}, @code{yes}, @code{tangle}, or
|
||||
@code{no-export} @code{strip-export}.
|
||||
The @code{:noweb} header argument controls expansion of ``noweb'' style (see
|
||||
@ref{Noweb reference syntax}) references in a code block. This header
|
||||
argument can have one of three values: @code{yes}, @code{no}, or @code{tangle}.
|
||||
|
||||
@itemize @bullet
|
||||
@item @code{no}
|
||||
The default. ``Noweb'' syntax references in the body of the code block will
|
||||
not be expanded before the code block is evaluated, tangled or exported.
|
||||
@item @code{yes}
|
||||
``Noweb'' syntax references in the body of the code block will be
|
||||
expanded before the code block is evaluated, tangled or exported.
|
||||
All ``noweb'' syntax references in the body of the code block will be
|
||||
expanded before the block is evaluated, tangled or exported.
|
||||
@item @code{no}
|
||||
The default. No ``noweb'' syntax specific action is taken when the code
|
||||
block is evaluated, tangled or exported.
|
||||
@item @code{tangle}
|
||||
``Noweb'' syntax references in the body of the code block will be expanded
|
||||
before the code block is tangled. However, ``noweb'' syntax references will
|
||||
not be expanded when the code block is evaluated or exported.
|
||||
@item @code{no-export}
|
||||
``Noweb'' syntax references in the body of the code block will be expanded
|
||||
before the block is evaluated or tangled. However, ``noweb'' syntax
|
||||
references will not be expanded when the code block is exported.
|
||||
@item @code{strip-export}
|
||||
``Noweb'' syntax references in the body of the code block will be expanded
|
||||
before the block is evaluated or tangled. However, ``noweb'' syntax
|
||||
references will not be removed when the code block is exported.
|
||||
@item @code{eval}
|
||||
``Noweb'' syntax references in the body of the code block will only be
|
||||
expanded before the block is evaluated.
|
||||
All ``noweb'' syntax references in the body of the code block will be
|
||||
expanded before the block is tangled, however ``noweb'' references will not
|
||||
be expanded when the block is evaluated or exported.
|
||||
@end itemize
|
||||
|
||||
@subsubheading Noweb prefix lines
|
||||
|
@ -13776,7 +13729,7 @@ every time it is called.
|
|||
@item @code{yes}
|
||||
Every time the code block is run a SHA1 hash of the code and arguments
|
||||
passed to the block will be generated. This hash is packed into the
|
||||
@code{#+RESULTS:} line and will be checked on subsequent
|
||||
@code{#+results:} line and will be checked on subsequent
|
||||
executions of the code block. If the code block has not
|
||||
changed since the last time it was evaluated, it will not be re-evaluated.
|
||||
@end itemize
|
||||
|
@ -13793,7 +13746,7 @@ changed since it was last run.
|
|||
runif(1)
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS[a2a72cd647ad44515fab62e144796432793d68e1]: random
|
||||
#+results[a2a72cd647ad44515fab62e144796432793d68e1]: random
|
||||
0.4659510825295
|
||||
|
||||
#+NAME: caller
|
||||
|
@ -13801,7 +13754,7 @@ changed since it was last run.
|
|||
x
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS[bec9c8724e397d5df3b696502df3ed7892fc4f5f]: caller
|
||||
#+results[bec9c8724e397d5df3b696502df3ed7892fc4f5f]: caller
|
||||
0.254227238707244
|
||||
@end example
|
||||
|
||||
|
@ -13845,7 +13798,7 @@ default value yields the following results.
|
|||
return tab
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS: echo-table
|
||||
#+results: echo-table
|
||||
| a | b | c |
|
||||
| d | e | f |
|
||||
| g | h | i |
|
||||
|
@ -13867,7 +13820,7 @@ Leaves hlines in the table. Setting @code{:hlines yes} has this effect.
|
|||
return tab
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS: echo-table
|
||||
#+results: echo-table
|
||||
| a | b | c |
|
||||
|---+---+---|
|
||||
| d | e | f |
|
||||
|
@ -13905,7 +13858,7 @@ processing, then reapplied to the results.
|
|||
return [[val + '*' for val in row] for row in tab]
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS: echo-table-again
|
||||
#+results: echo-table-again
|
||||
| a |
|
||||
|----|
|
||||
| b* |
|
||||
|
@ -13948,7 +13901,7 @@ and is then reapplied to the results.
|
|||
return [[val + 10 for val in row] for row in tab]
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS: echo-table-once-again
|
||||
#+results: echo-table-once-again
|
||||
| one | 11 | 12 | 13 | 14 | 15 |
|
||||
| two | 16 | 17 | 18 | 19 | 20 |
|
||||
@end example
|
||||
|
@ -13966,7 +13919,7 @@ Setting the @code{:shebang} header argument to a string value
|
|||
first line of any tangled file holding the code block, and the file
|
||||
permissions of the tangled file are set to make it executable.
|
||||
|
||||
@node eval, wrap, shebang, Specific header arguments
|
||||
@node eval, , shebang, Specific header arguments
|
||||
@subsubsection @code{:eval}
|
||||
The @code{:eval} header argument can be used to limit the evaluation of
|
||||
specific code blocks. The @code{:eval} header argument can be useful for
|
||||
|
@ -13991,14 +13944,6 @@ If this header argument is not set then evaluation is determined by the value
|
|||
of the @code{org-confirm-babel-evaluate} variable see @ref{Code evaluation
|
||||
security}.
|
||||
|
||||
@node wrap, , eval, Specific header arguments
|
||||
@subsubsection @code{:wrap}
|
||||
The @code{:wrap} header argument is used to mark the results of source block
|
||||
evaluation. The header argument can be passed a string that will be appended
|
||||
to @code{#+BEGIN_} and @code{#+END_}, which will then be used to wrap the
|
||||
results. If not string is specified then the results will be wrapped in a
|
||||
@code{#+BEGIN/END_RESULTS} block.
|
||||
|
||||
@node Results of evaluation, Noweb reference syntax, Header arguments, Working With Source Code
|
||||
@section Results of evaluation
|
||||
@cindex code block, results of evaluation
|
||||
|
@ -14068,7 +14013,7 @@ process. For example, compare the following two blocks:
|
|||
print "bye"
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
#+results:
|
||||
: hello
|
||||
: bye
|
||||
@end example
|
||||
|
@ -14081,7 +14026,7 @@ In non-session mode, the `2' is not printed and does not appear.
|
|||
print "bye"
|
||||
#+END_SRC
|
||||
|
||||
#+RESULTS:
|
||||
#+results:
|
||||
: hello
|
||||
: 2
|
||||
: bye
|
||||
|
@ -14372,19 +14317,19 @@ keystrokes are typed on a line by itself.
|
|||
The following template selectors are currently supported.
|
||||
|
||||
@multitable @columnfractions 0.1 0.9
|
||||
@item @kbd{s} @tab @code{#+BEGIN_SRC ... #+END_SRC}
|
||||
@item @kbd{e} @tab @code{#+BEGIN_EXAMPLE ... #+END_EXAMPLE}
|
||||
@item @kbd{q} @tab @code{#+BEGIN_QUOTE ... #+END_QUOTE}
|
||||
@item @kbd{v} @tab @code{#+BEGIN_VERSE ... #+END_VERSE}
|
||||
@item @kbd{c} @tab @code{#+BEGIN_CENTER ... #+END_CENTER}
|
||||
@item @kbd{l} @tab @code{#+BEGIN_LaTeX ... #+END_LaTeX}
|
||||
@item @kbd{L} @tab @code{#+LaTeX:}
|
||||
@item @kbd{h} @tab @code{#+BEGIN_HTML ... #+END_HTML}
|
||||
@item @kbd{H} @tab @code{#+HTML:}
|
||||
@item @kbd{a} @tab @code{#+BEGIN_ASCII ... #+END_ASCII}
|
||||
@item @kbd{A} @tab @code{#+ASCII:}
|
||||
@item @kbd{i} @tab @code{#+INDEX:} line
|
||||
@item @kbd{I} @tab @code{#+INCLUDE:} line
|
||||
@item @kbd{s} @tab @code{#+begin_src ... #+end_src}
|
||||
@item @kbd{e} @tab @code{#+begin_example ... #+end_example}
|
||||
@item @kbd{q} @tab @code{#+begin_quote ... #+end_quote}
|
||||
@item @kbd{v} @tab @code{#+begin_verse ... #+end_verse}
|
||||
@item @kbd{c} @tab @code{#+begin_center ... #+end_center}
|
||||
@item @kbd{l} @tab @code{#+begin_latex ... #+end_latex}
|
||||
@item @kbd{L} @tab @code{#+latex:}
|
||||
@item @kbd{h} @tab @code{#+begin_html ... #+end_html}
|
||||
@item @kbd{H} @tab @code{#+html:}
|
||||
@item @kbd{a} @tab @code{#+begin_ascii ... #+end_ascii}
|
||||
@item @kbd{A} @tab @code{#+ascii:}
|
||||
@item @kbd{i} @tab @code{#+index:} line
|
||||
@item @kbd{I} @tab @code{#+include:} line
|
||||
@end multitable
|
||||
|
||||
For example, on an empty line, typing "<e" and then pressing TAB, will expand
|
||||
|
@ -14478,7 +14423,7 @@ either by the @i{calc} interpreter, or by the @i{Emacs Lisp} interpreter.
|
|||
@cindex options, for customization
|
||||
@cindex variables, for customization
|
||||
|
||||
There are more than 500 variables that can be used to customize
|
||||
There are more than 180 variables that can be used to customize
|
||||
Org. For the sake of compactness of the manual, I am not
|
||||
describing the variables here. A structured overview of customization
|
||||
variables is available with @kbd{M-x org-customize}. Or select
|
||||
|
@ -14529,8 +14474,8 @@ Set tags that can be inherited by any entry in the file, including the
|
|||
top-level entries.
|
||||
@item #+DRAWERS: NAME1 .....
|
||||
@vindex org-drawers
|
||||
Set the file-local set of additional drawers. The corresponding global
|
||||
variable is @code{org-drawers}.
|
||||
Set the file-local set of drawers. The corresponding global variable is
|
||||
@code{org-drawers}.
|
||||
@item #+LINK: linkword replace
|
||||
@vindex org-link-abbrev-alist
|
||||
These lines (several are allowed) specify link abbreviations.
|
||||
|
@ -14741,7 +14686,7 @@ This line contains the formulas for the table directly above the line.
|
|||
@item #+TITLE:, #+AUTHOR:, #+EMAIL:, #+LANGUAGE:, #+TEXT:, #+DATE:,
|
||||
@itemx #+OPTIONS:, #+BIND:, #+XSLT:,
|
||||
@itemx #+DESCRIPTION:, #+KEYWORDS:,
|
||||
@itemx #+LaTeX_HEADER:, #+STYLE:, #+LINK_UP:, #+LINK_HOME:,
|
||||
@itemx #+LATEX_HEADER:, #+STYLE:, #+LINK_UP:, #+LINK_HOME:,
|
||||
@itemx #+EXPORT_SELECT_TAGS:, #+EXPORT_EXCLUDE_TAGS:
|
||||
These lines provide settings for exporting files. For more details see
|
||||
@ref{Export options}.
|
||||
|
@ -16017,7 +15962,6 @@ If WHICH is nil or `all', get all properties. If WHICH is
|
|||
`special' or `standard', only get that subclass.
|
||||
@end defun
|
||||
@vindex org-use-property-inheritance
|
||||
@findex org-insert-property-drawer
|
||||
@defun org-entry-get pom property &optional inherit
|
||||
Get value of PROPERTY for entry at point-or-marker POM. By default,
|
||||
this only looks at properties defined locally in the entry. If INHERIT
|
||||
|
@ -16040,7 +15984,7 @@ Get all property keys in the current buffer.
|
|||
@end defun
|
||||
|
||||
@defun org-insert-property-drawer
|
||||
Insert a property drawer for the current entry. Also
|
||||
Insert a property drawer at point.
|
||||
@end defun
|
||||
|
||||
@defun org-entry-put-multivalued-property pom property &rest values
|
||||
|
@ -16193,16 +16137,13 @@ The following example counts the number of entries with TODO keyword
|
|||
@cindex iPhone
|
||||
@cindex MobileOrg
|
||||
|
||||
@i{MobileOrg} is the name of the mobile companion app for Org mode, currently
|
||||
available for iOS and for Android. @i{MobileOrg} offers offline viewing and
|
||||
capture support for an Org mode system rooted on a ``real'' computer. It
|
||||
does also allow you to record changes to existing entries.
|
||||
The @uref{http://mobileorg.ncogni.to/, iOS implementation} for the
|
||||
@i{iPhone/iPod Touch/iPad} series of devices, was developed by Richard
|
||||
Moreland. Android users should check out
|
||||
@uref{http://mobileorg.ncogni.to/, MobileOrg} is an application for the
|
||||
@i{iPhone/iPod Touch} series of devices, developed by Richard Moreland.
|
||||
@i{MobileOrg} offers offline viewing and capture support for an Org mode
|
||||
system rooted on a ``real'' computer. It does also allow you to record
|
||||
changes to existing entries. Android users should check out
|
||||
@uref{http://wiki.github.com/matburt/mobileorg-android/, MobileOrg Android}
|
||||
by Matt Jones. The two implementations are not identical but offer similar
|
||||
features.
|
||||
by Matt Jones.
|
||||
|
||||
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
|
||||
|
@ -16367,7 +16308,7 @@ Bastien has written a large number of extensions to Org (most of them
|
|||
integrated into the core by now), including the @LaTeX{} exporter and the plain
|
||||
list parser. His support during the early days, when he basically acted as
|
||||
co-maintainer, was central to the success of this project. Bastien also
|
||||
invented Worg, helped establishing the Web presence of Org, and sponsored
|
||||
invented Worg, helped establishing the Web presence of Org, and sponsors
|
||||
hosting costs for the orgmode.org website.
|
||||
@item Eric Schulte and Dan Davison
|
||||
Eric and Dan are jointly responsible for the Org-babel system, which turns
|
||||
|
|
|
@ -17,7 +17,7 @@
|
|||
\pdflayout=(0l)
|
||||
|
||||
% Nothing else needs to be changed below this line.
|
||||
% Copyright (C) 1987, 1993, 1996-1997, 2001-2012
|
||||
% Copyright (C) 1987, 1993, 1996-1997, 2001-2011
|
||||
% Free Software Foundation, Inc.
|
||||
|
||||
% This file is part of GNU Emacs.
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
@end macro
|
||||
@copying
|
||||
|
||||
Copyright @copyright{} 2010-2012 Free Software Foundation
|
||||
Copyright @copyright{} 2010 Free Software Foundation
|
||||
|
||||
@quotation
|
||||
Permission is granted to copy, distribute and/or modify this document
|
||||
|
@ -1906,7 +1906,7 @@ outline, not only the heading.
|
|||
@c
|
||||
@itemx @key{TAB}
|
||||
Go to the original location of the item in another window. Under Emacs
|
||||
22, @kbd{mouse-1} will also work for this.
|
||||
22, @kbd{mouse-1} will also works for this.
|
||||
@c
|
||||
@itemx @key{RET}
|
||||
Go to the original location of the item and delete other windows.
|
||||
|
@ -2409,8 +2409,8 @@ verbatim @LaTeX{} code.
|
|||
Export as DocBook file.
|
||||
@end table
|
||||
|
||||
Similarly to the HTML exporter, you can use @code{#+DOCBOOK:} and
|
||||
@code{#+BEGIN_DOCBOOK ... #+END_DOCBOOK} construct to add verbatim @LaTeX{}
|
||||
Similarly to the HTML exporter, you can use @code{#+DocBook:} and
|
||||
@code{#+BEGIN_DocBook ... #+END_DocBook} construct to add verbatim @LaTeX{}
|
||||
code.
|
||||
|
||||
@node iCalendar export, , DocBook export, Exporting
|
||||
|
@ -2492,10 +2492,10 @@ results in several formats.
|
|||
The structure of code blocks is as follows:
|
||||
|
||||
@example
|
||||
#+NAME: <name>
|
||||
#+BEGIN_SRC <language> <switches> <header arguments>
|
||||
#+srcname: <name>
|
||||
#+begin_src <language> <switches> <header arguments>
|
||||
<body>
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
@end example
|
||||
|
||||
Where @code{<name>} is a string used to name the code block,
|
||||
|
@ -2520,11 +2520,11 @@ in many languages. For a complete list of supported languages see the
|
|||
manual. The following shows a code block and its results.
|
||||
|
||||
@example
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
#+begin_src emacs-lisp
|
||||
(+ 1 2 3 4)
|
||||
#+END_SRC
|
||||
#+end_src
|
||||
|
||||
#+RESULTS:
|
||||
#+results:
|
||||
: 10
|
||||
@end example
|
||||
|
||||
|
@ -2663,17 +2663,10 @@ indentation for each level. To get this support in a file, use
|
|||
@node MobileOrg, , Clean view, Miscellaneous
|
||||
@section MobileOrg
|
||||
|
||||
@i{MobileOrg} is the name of the mobile companion app for Org mode, currently
|
||||
available for iOS and for Android. @i{MobileOrg} offers offline viewing and
|
||||
capture support for an Org mode system rooted on a ``real'' computer. It
|
||||
does also allow you to record changes to existing entries.
|
||||
|
||||
The @uref{http://mobileorg.ncogni.to/, iOS implementation} for the
|
||||
@i{iPhone/iPod Touch/iPad} series of devices, was developed by Richard
|
||||
Moreland. Android users should check out
|
||||
@uref{http://wiki.github.com/matburt/mobileorg-android/, MobileOrg Android}
|
||||
by Matt Jones. The two implementations are not identical but offer similar
|
||||
features.
|
||||
@i{MobileOrg} is an application originally developed for the @i{iPhone/iPod
|
||||
Touch} series of devices, developed by Richard Moreland. There is also an
|
||||
independent implementation for Android devices, by Matt Jones.
|
||||
For details, see the Org-mode manual.
|
||||
|
||||
@seealso{
|
||||
@uref{http://orgmode.org/manual/Miscellaneous.html#Miscellaneous, Chapter 15
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
% Copyright (C) 2007-2012 Free Software Foundation, Inc.
|
||||
% Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
|
||||
|
||||
% This file is part of GNU Emacs.
|
||||
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
% Load plain if necessary, i.e., if running under initex.
|
||||
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
||||
%
|
||||
\def\texinfoversion{2012-01-03.18}
|
||||
\def\texinfoversion{2011-08-15.20}
|
||||
%
|
||||
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
|
||||
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006,
|
||||
% 2007, 2008-2012 Free Software Foundation, Inc.
|
||||
% 2007, 2008 Free Software Foundation, Inc.
|
||||
%
|
||||
% This texinfo.tex file is free software: you can redistribute it and/or
|
||||
% modify it under the terms of the GNU General Public License as
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
The files OrgOdtContentTemplate.xml and OrgOdtStyles.xml have the
|
||||
following copyright information:
|
||||
|
||||
Copyright (C) 2010-2011 Free Software Foundation, Inc.
|
||||
Copyright (C) 2010-2012 Free Software Foundation, Inc.
|
||||
|
||||
These files are part of GNU Emacs.
|
||||
|
||||
|
|
|
@ -24,9 +24,9 @@
|
|||
;;; Commentary:
|
||||
|
||||
;; Babel's awk can use special header argument:
|
||||
;;
|
||||
;;
|
||||
;; - :in-file takes a path to a file of data to be processed by awk
|
||||
;;
|
||||
;;
|
||||
;; - :stdin takes an Org-mode data or code block reference, the value
|
||||
;; of which will be passed to the awk process through STDIN
|
||||
|
||||
|
|
|
@ -34,28 +34,15 @@
|
|||
;; 3) we are adding the "file" and "cmdline" header arguments
|
||||
;;
|
||||
;; 4) there are no variables (at least for now)
|
||||
;;
|
||||
;; 5) it depends on a variable defined in org-exp-blocks (namely
|
||||
;; `org-ditaa-jar-path') so be sure you have org-exp-blocks loaded
|
||||
|
||||
;;; Code:
|
||||
(require 'ob)
|
||||
|
||||
(defvar org-ditaa-jar-path) ;; provided by org-exp-blocks
|
||||
|
||||
(defvar org-babel-default-header-args:ditaa
|
||||
'((:results . "file")
|
||||
(:exports . "results")
|
||||
(:java . "-Dfile.encoding=UTF-8"))
|
||||
'((:results . "file") (:exports . "results") (:java . "-Dfile.encoding=UTF-8"))
|
||||
"Default arguments for evaluating a ditaa source block.")
|
||||
|
||||
(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)
|
||||
|
||||
(defvar org-ditaa-jar-path)
|
||||
(defun org-babel-execute:ditaa (body params)
|
||||
"Execute a block of Ditaa code with org-babel.
|
||||
This function is called by `org-babel-execute-src-block'."
|
||||
|
@ -68,7 +55,7 @@ This function is called by `org-babel-execute-src-block'."
|
|||
(cmdline (cdr (assoc :cmdline params)))
|
||||
(java (cdr (assoc :java params)))
|
||||
(in-file (org-babel-temp-file "ditaa-"))
|
||||
(cmd (concat "java " java " " org-ditaa-jar-option " "
|
||||
(cmd (concat "java " java " -jar "
|
||||
(shell-quote-argument
|
||||
(expand-file-name org-ditaa-jar-path))
|
||||
" " cmdline
|
||||
|
|
130
lisp/ob-exp.el
130
lisp/ob-exp.el
|
@ -43,37 +43,31 @@
|
|||
When set to nil no code will be evaluated as part of the export
|
||||
process."
|
||||
:group 'org-babel
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
(put 'org-export-babel-evaluate 'safe-local-variable (lambda (x) (eq x nil)))
|
||||
|
||||
(defun org-babel-exp-get-export-buffer ()
|
||||
"Return the current export buffer if possible."
|
||||
(cond
|
||||
((bufferp org-current-export-file) org-current-export-file)
|
||||
(org-current-export-file (get-file-buffer org-current-export-file))
|
||||
('otherwise
|
||||
(error "Requested export buffer when `org-current-export-file' is nil"))))
|
||||
|
||||
(defmacro org-babel-exp-in-export-file (lang &rest body)
|
||||
(declare (indent 1))
|
||||
`(let* ((lang-headers (intern (concat "org-babel-default-header-args:" ,lang)))
|
||||
(heading (nth 4 (ignore-errors (org-heading-components))))
|
||||
(export-buffer (current-buffer))
|
||||
(original-buffer (org-babel-exp-get-export-buffer)) results)
|
||||
(when original-buffer
|
||||
(link (when org-current-export-file
|
||||
(org-make-link-string
|
||||
(if heading
|
||||
(concat org-current-export-file "::" heading)
|
||||
org-current-export-file))))
|
||||
(export-buffer (current-buffer)) results)
|
||||
(when link
|
||||
;; resolve parameters in the original file so that
|
||||
;; headline and file-wide parameters are included, attempt
|
||||
;; to go to the same heading in the original file
|
||||
(set-buffer original-buffer)
|
||||
(set-buffer (get-file-buffer org-current-export-file))
|
||||
(save-restriction
|
||||
(when heading
|
||||
(condition-case nil
|
||||
(let ((org-link-search-inhibit-query t))
|
||||
(org-link-search heading))
|
||||
(error (when heading
|
||||
(goto-char (point-min))
|
||||
(re-search-forward (regexp-quote heading) nil t)))))
|
||||
(condition-case nil
|
||||
(let ((org-link-search-inhibit-query t))
|
||||
(org-open-link-from-string link))
|
||||
(error (when heading
|
||||
(goto-char (point-min))
|
||||
(re-search-forward (regexp-quote heading) nil t))))
|
||||
(setq results ,@body))
|
||||
(set-buffer export-buffer)
|
||||
results)))
|
||||
|
@ -115,32 +109,13 @@ none ----- do not display either code or results upon export"
|
|||
(setf hash (org-babel-sha1-hash info)))
|
||||
;; expand noweb references in the original file
|
||||
(setf (nth 1 info)
|
||||
(if (string= "strip-export" (cdr (assoc :noweb (nth 2 info))))
|
||||
(replace-regexp-in-string
|
||||
(org-babel-noweb-wrap) "" (nth 1 info))
|
||||
(if (org-babel-noweb-p (nth 2 info) :export)
|
||||
(org-babel-expand-noweb-references
|
||||
info (org-babel-exp-get-export-buffer))
|
||||
(nth 1 info))))
|
||||
(if (and (cdr (assoc :noweb (nth 2 info)))
|
||||
(string= "yes" (cdr (assoc :noweb (nth 2 info)))))
|
||||
(org-babel-expand-noweb-references
|
||||
info (get-file-buffer org-current-export-file))
|
||||
(nth 1 info)))
|
||||
(org-babel-exp-do-export info 'block hash)))))
|
||||
|
||||
(defcustom org-babel-exp-call-line-template
|
||||
""
|
||||
"Template used to export call lines.
|
||||
This template may be customized to include the call line name
|
||||
with any export markup. The template is filled out using
|
||||
`org-fill-template', and the following %keys may be used.
|
||||
|
||||
line --- call line
|
||||
|
||||
An example value would be \"\\n: call: %line\" to export the call line
|
||||
wrapped in a verbatim environment.
|
||||
|
||||
Note: the results are inserted separately after the contents of
|
||||
this template."
|
||||
:group 'org-babel
|
||||
:type 'string)
|
||||
|
||||
(defvar org-babel-default-lob-header-args)
|
||||
(defun org-babel-exp-non-block-elements (start end)
|
||||
"Process inline source and call lines between START and END for export."
|
||||
|
@ -171,7 +146,7 @@ this template."
|
|||
(if (and (cdr (assoc :noweb params))
|
||||
(string= "yes" (cdr (assoc :noweb params))))
|
||||
(org-babel-expand-noweb-references
|
||||
info (org-babel-exp-get-export-buffer))
|
||||
info (get-file-buffer org-current-export-file))
|
||||
(nth 1 info)))
|
||||
(let ((code-replacement (save-match-data
|
||||
(org-babel-exp-do-export
|
||||
|
@ -187,24 +162,22 @@ this template."
|
|||
(inlinep (match-string 11))
|
||||
(inline-start (match-end 11))
|
||||
(inline-end (match-end 0))
|
||||
(results (save-match-data
|
||||
(org-babel-exp-do-export
|
||||
(list "emacs-lisp" "results"
|
||||
(org-babel-merge-params
|
||||
org-babel-default-header-args
|
||||
org-babel-default-lob-header-args
|
||||
(org-babel-params-from-properties)
|
||||
(org-babel-parse-header-arguments
|
||||
(org-babel-clean-text-properties
|
||||
(concat ":var results="
|
||||
(mapconcat #'identity
|
||||
(butlast lob-info)
|
||||
" ")))))
|
||||
"" nil (car (last lob-info)))
|
||||
'lob)))
|
||||
(rep (org-fill-template
|
||||
org-babel-exp-call-line-template
|
||||
`(("line" . ,(nth 0 lob-info))))))
|
||||
(rep (let ((lob-info (org-babel-lob-get-info)))
|
||||
(save-match-data
|
||||
(org-babel-exp-do-export
|
||||
(list "emacs-lisp" "results"
|
||||
(org-babel-merge-params
|
||||
org-babel-default-header-args
|
||||
org-babel-default-lob-header-args
|
||||
(org-babel-params-from-properties)
|
||||
(org-babel-parse-header-arguments
|
||||
(org-babel-clean-text-properties
|
||||
(concat ":var results="
|
||||
(mapconcat #'identity
|
||||
(butlast lob-info)
|
||||
" ")))))
|
||||
"" nil (car (last lob-info)))
|
||||
'lob)))))
|
||||
(if inlinep
|
||||
(save-excursion
|
||||
(goto-char inline-start)
|
||||
|
@ -239,37 +212,13 @@ The function respects the value of the :exports header argument."
|
|||
('both (org-babel-exp-results info type nil hash)
|
||||
(org-babel-exp-code info)))))
|
||||
|
||||
(defcustom org-babel-exp-code-template
|
||||
"#+BEGIN_SRC %lang%flags\n%body\n#+END_SRC"
|
||||
"Template used to export the body of code blocks.
|
||||
This template may be customized to include additional information
|
||||
such as the code block name, or the values of particular header
|
||||
arguments. The template is filled out using `org-fill-template',
|
||||
and the following %keys may be used.
|
||||
|
||||
lang ------ the language of the code block
|
||||
name ------ the name of the code block
|
||||
body ------ the body of the code block
|
||||
flags ----- the flags passed to the code block
|
||||
|
||||
In addition to the keys mentioned above, every header argument
|
||||
defined for the code block may be used as a key and will be
|
||||
replaced with its value."
|
||||
:group 'org-babel
|
||||
:type 'string)
|
||||
|
||||
(defun org-babel-exp-code (info)
|
||||
"Return the original code block formatted for export."
|
||||
(org-fill-template
|
||||
org-babel-exp-code-template
|
||||
"#+BEGIN_SRC %lang%flags\n%body\n#+END_SRC"
|
||||
`(("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)))
|
||||
("name" . ,(or (nth 4 info) "")))))
|
||||
("body" . ,(nth 1 info)))))
|
||||
|
||||
(defun org-babel-exp-results (info type &optional silent hash)
|
||||
"Evaluate and return the results of the current code block for export.
|
||||
|
@ -280,8 +229,7 @@ inhibit insertion of results into the buffer."
|
|||
(when (and org-export-babel-evaluate
|
||||
(not (and hash (equal hash (org-babel-current-result-hash)))))
|
||||
(let ((lang (nth 0 info))
|
||||
(body (nth 1 info))
|
||||
(info (copy-sequence info)))
|
||||
(body (nth 1 info)))
|
||||
;; skip code blocks which we can't evaluate
|
||||
(when (fboundp (intern (concat "org-babel-execute:" lang)))
|
||||
(org-babel-eval-wipe-error-buffer)
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
;;; Requirements:
|
||||
|
||||
;; - gnuplot :: http://www.gnuplot.info/
|
||||
;;
|
||||
;;
|
||||
;; - gnuplot-mode :: http://cars9.uchicago.edu/~ravel/software/gnuplot-mode.html
|
||||
|
||||
;;; Code:
|
||||
|
|
|
@ -79,7 +79,7 @@
|
|||
(cdr (member org-babel-haskell-eoe
|
||||
(reverse (mapcar #'org-babel-trim raw)))))))
|
||||
(org-babel-reassemble-table
|
||||
(cond
|
||||
(cond
|
||||
((equal result-type 'output)
|
||||
(mapconcat #'identity (reverse (cdr results)) "\n"))
|
||||
((equal result-type 'value)
|
||||
|
|
|
@ -55,7 +55,6 @@
|
|||
(defcustom org-babel-js-cmd "node"
|
||||
"Name of command used to evaluate js blocks."
|
||||
:group 'org-babel
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defvar org-babel-js-function-wrapper
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
;; Copyright (C) 2010-2012 Free Software Foundation, Inc.
|
||||
|
||||
;; Author: Martyn Jago
|
||||
;; Keywords: babel language, literate programming, music score
|
||||
;; Keywords: babel language, literate programming
|
||||
;; Homepage: https://github.com/mjago/ob-lilypond
|
||||
|
||||
;; This file is part of GNU Emacs.
|
||||
|
@ -23,14 +23,10 @@
|
|||
|
||||
;;; Commentary:
|
||||
|
||||
;; Installation, ob-lilypond documentation, and examples are available at
|
||||
;; http://orgmode.org/worg/org-contrib/babel/languages/ob-doc-lilypond.html
|
||||
;;
|
||||
;; Lilypond documentation can be found at
|
||||
;; http://lilypond.org/manuals.html
|
||||
;; Installation / usage info, and examples are available at
|
||||
;; https://github.com/mjago/ob-lilypond
|
||||
|
||||
;;; Code:
|
||||
|
||||
(require 'ob)
|
||||
(require 'ob-eval)
|
||||
(require 'ob-tangle)
|
||||
|
@ -41,11 +37,9 @@
|
|||
(add-to-list 'org-babel-tangle-lang-exts '("LilyPond" . "ly"))
|
||||
|
||||
(defvar org-babel-default-header-args:lilypond '()
|
||||
"Default header arguments for lilypond code blocks.
|
||||
NOTE: The arguments are determined at lilypond compile time.
|
||||
See (ly-set-header-args)")
|
||||
"Default header arguments for js code blocks.")
|
||||
|
||||
(defconst ly-version "7.6"
|
||||
(defconst ly-version "0.3"
|
||||
"The version number of the file ob-lilypond.el.")
|
||||
|
||||
(defvar ly-compile-post-tangle t
|
||||
|
@ -92,10 +86,6 @@ LY-GEN-SVG to t")
|
|||
"HTML generation can be turned on by default by setting
|
||||
LY-GEN-HTML to t")
|
||||
|
||||
(defvar ly-gen-pdf nil
|
||||
"PDF generation can be turned on by default by setting
|
||||
LY-GEN-PDF to t")
|
||||
|
||||
(defvar ly-use-eps nil
|
||||
"You can force the compiler to use the EPS backend by setting
|
||||
LY-USE-EPS to t")
|
||||
|
@ -124,7 +114,7 @@ blocks")
|
|||
body))))
|
||||
vars)
|
||||
body))
|
||||
|
||||
|
||||
(defun org-babel-execute:lilypond (body params)
|
||||
"This function is called by `org-babel-execute-src-block'.
|
||||
Depending on whether we are in arrange mode either:
|
||||
|
@ -148,7 +138,7 @@ specific arguments to =org-babel-tangle="
|
|||
|
||||
(defun ly-process-basic (body params)
|
||||
"Execute a lilypond block in basic mode"
|
||||
|
||||
|
||||
(let* ((result-params (cdr (assoc :result-params params)))
|
||||
(out-file (cdr (assoc :file params)))
|
||||
(cmdline (or (cdr (assoc :cmdline params))
|
||||
|
@ -157,7 +147,7 @@ specific arguments to =org-babel-tangle="
|
|||
|
||||
(with-temp-file in-file
|
||||
(insert (org-babel-expand-body:generic body params)))
|
||||
|
||||
|
||||
(org-babel-eval
|
||||
(concat
|
||||
(ly-determine-ly-path)
|
||||
|
@ -187,7 +177,7 @@ If error in compilation, attempt to mark the error in lilypond org file"
|
|||
(ly-temp-file (ly-switch-extension
|
||||
(buffer-file-name) ".ly")))
|
||||
(if (file-exists-p ly-tangled-file)
|
||||
(progn
|
||||
(progn
|
||||
(when (file-exists-p ly-temp-file)
|
||||
(delete-file ly-temp-file))
|
||||
(rename-file ly-tangled-file
|
||||
|
@ -213,20 +203,18 @@ FILE-NAME is full path to lilypond (.ly) file"
|
|||
(arg-2 nil) ;infile
|
||||
(arg-3 "*lilypond*") ;buffer
|
||||
(arg-4 t) ;display
|
||||
(arg-4 t) ;display
|
||||
(arg-5 (if ly-gen-png "--png" "")) ;&rest...
|
||||
(arg-6 (if ly-gen-html "--html" ""))
|
||||
(arg-7 (if ly-gen-pdf "--pdf" ""))
|
||||
(arg-8 (if ly-use-eps "-dbackend=eps" ""))
|
||||
(arg-9 (if ly-gen-svg "-dbackend=svg" ""))
|
||||
(arg-10 (concat "--output=" (file-name-sans-extension file-name)))
|
||||
(arg-11 file-name))
|
||||
(arg-5 (if ly-gen-png "--png" "")) ;&rest...
|
||||
(arg-6 (if ly-gen-html "--html" ""))
|
||||
(arg-7 (if ly-use-eps "-dbackend=eps" ""))
|
||||
(arg-8 (if ly-gen-svg "-dbackend=svg" ""))
|
||||
(arg-9 (concat "--output=" (file-name-sans-extension file-name)))
|
||||
(arg-10 file-name))
|
||||
(if test
|
||||
`(,arg-1 ,arg-2 ,arg-3 ,arg-4 ,arg-5 ,arg-6
|
||||
,arg-7 ,arg-8 ,arg-9 ,arg-10 ,arg-11)
|
||||
`(,arg-1 ,arg-2 ,arg-3 ,arg-4 ,arg-5
|
||||
,arg-6 ,arg-7 ,arg-8 ,arg-9 ,arg-10)
|
||||
(call-process
|
||||
arg-1 arg-2 arg-3 arg-4 arg-5 arg-6
|
||||
arg-7 arg-8 arg-9 arg-10 arg-11))))
|
||||
arg-1 arg-2 arg-3 arg-4 arg-5
|
||||
arg-6 arg-7 arg-8 arg-9 arg-10))))
|
||||
|
||||
(defun ly-check-for-compile-error (file-name &optional test)
|
||||
"Check for compile error.
|
||||
|
@ -255,7 +243,7 @@ FILE-NAME is full path to lilypond file"
|
|||
"Mark the erroneous lines in the lilypond org buffer.
|
||||
FILE-NAME is full path to lilypond file.
|
||||
LINE is the erroneous line"
|
||||
|
||||
|
||||
(switch-to-buffer-other-window
|
||||
(concat (file-name-nondirectory
|
||||
(ly-switch-extension file-name ".org"))))
|
||||
|
@ -268,7 +256,7 @@ LINE is the erroneous line"
|
|||
(set-mark (point))
|
||||
(goto-char (- (point) (length line))))
|
||||
(goto-char temp))))
|
||||
|
||||
|
||||
(defun ly-parse-line-num (&optional buffer)
|
||||
"Extract error line number."
|
||||
|
||||
|
@ -296,7 +284,7 @@ LINE is the erroneous line"
|
|||
"Extract the erroneous line from the tangled .ly file
|
||||
FILE-NAME is full path to lilypond file.
|
||||
LINENO is the number of the erroneous line"
|
||||
|
||||
|
||||
(with-temp-buffer
|
||||
(insert-file-contents (ly-switch-extension file-name ".ly")
|
||||
nil nil nil t)
|
||||
|
@ -306,12 +294,12 @@ LINENO is the number of the erroneous line"
|
|||
(forward-line (- lineNo 1))
|
||||
(buffer-substring (point) (point-at-eol)))
|
||||
nil)))
|
||||
|
||||
|
||||
(defun ly-attempt-to-open-pdf (file-name &optional test)
|
||||
"Attempt to display the generated pdf file
|
||||
FILE-NAME is full path to lilypond file
|
||||
If TEST is non-nil, the shell command is returned and is not run"
|
||||
|
||||
|
||||
(when ly-display-pdf-post-tangle
|
||||
(let ((pdf-file (ly-switch-extension file-name ".pdf")))
|
||||
(if (file-exists-p pdf-file)
|
||||
|
@ -319,12 +307,8 @@ If TEST is non-nil, the shell command is returned and is not run"
|
|||
(concat (ly-determine-pdf-path) " " pdf-file)))
|
||||
(if test
|
||||
cmd-string
|
||||
(start-process
|
||||
"\"Audition pdf\""
|
||||
"*lilypond*"
|
||||
(ly-determine-pdf-path)
|
||||
pdf-file)))
|
||||
(message "No pdf file generated so can't display!")))))
|
||||
(shell-command cmd-string)))
|
||||
(message "No pdf file generated so can't display!")))))
|
||||
|
||||
(defun ly-attempt-to-play-midi (file-name &optional test)
|
||||
"Attempt to play the generated MIDI file
|
||||
|
@ -338,11 +322,7 @@ If TEST is non-nil, the shell command is returned and is not run"
|
|||
(concat (ly-determine-midi-path) " " midi-file)))
|
||||
(if test
|
||||
cmd-string
|
||||
(start-process
|
||||
"\"Audition midi\""
|
||||
"*lilypond*"
|
||||
(ly-determine-midi-path)
|
||||
midi-file)))
|
||||
(shell-command cmd-string)))
|
||||
(message "No midi file generated so can't play!")))))
|
||||
|
||||
(defun ly-determine-ly-path (&optional test)
|
||||
|
@ -360,7 +340,7 @@ If TEST is non-nil, it contains a simulation of the OS for test purposes"
|
|||
(defun ly-determine-pdf-path (&optional test)
|
||||
"Return correct path to pdf viewer depending on OS
|
||||
If TEST is non-nil, it contains a simulation of the OS for test purposes"
|
||||
|
||||
|
||||
(let ((sys-type
|
||||
(or test system-type)))
|
||||
(cond ((string= sys-type "darwin")
|
||||
|
@ -372,7 +352,7 @@ If TEST is non-nil, it contains a simulation of the OS for test purposes"
|
|||
(defun ly-determine-midi-path (&optional test)
|
||||
"Return correct path to midi player depending on OS
|
||||
If TEST is non-nil, it contains a simulation of the OS for test purposes"
|
||||
|
||||
|
||||
(let ((sys-type
|
||||
(or test test system-type)))
|
||||
(cond ((string= sys-type "darwin")
|
||||
|
@ -380,10 +360,10 @@ If TEST is non-nil, it contains a simulation of the OS for test purposes"
|
|||
((string= sys-type "win32")
|
||||
ly-win32-midi-path)
|
||||
(t ly-nix-midi-path))))
|
||||
|
||||
|
||||
(defun ly-toggle-midi-play ()
|
||||
"Toggle whether midi will be played following a successful compilation"
|
||||
|
||||
|
||||
(interactive)
|
||||
(setq ly-play-midi-post-tangle
|
||||
(not ly-play-midi-post-tangle))
|
||||
|
@ -393,7 +373,7 @@ If TEST is non-nil, it contains a simulation of the OS for test purposes"
|
|||
|
||||
(defun ly-toggle-pdf-display ()
|
||||
"Toggle whether pdf will be displayed following a successful compilation"
|
||||
|
||||
|
||||
(interactive)
|
||||
(setq ly-display-pdf-post-tangle
|
||||
(not ly-display-pdf-post-tangle))
|
||||
|
@ -419,15 +399,6 @@ If TEST is non-nil, it contains a simulation of the OS for test purposes"
|
|||
(message (concat "HTML generation has been "
|
||||
(if ly-gen-html "ENABLED." "DISABLED."))))
|
||||
|
||||
(defun ly-toggle-pdf-generation ()
|
||||
"Toggle whether pdf will be generated by compilation"
|
||||
|
||||
(interactive)
|
||||
(setq ly-gen-pdf
|
||||
(not ly-gen-pdf))
|
||||
(message (concat "PDF generation has been "
|
||||
(if ly-gen-pdf "ENABLED." "DISABLED."))))
|
||||
|
||||
(defun ly-toggle-arrange-mode ()
|
||||
"Toggle whether in Arrange mode or Basic mode"
|
||||
|
||||
|
@ -457,7 +428,6 @@ mode i.e. ARRANGE-MODE is t"
|
|||
'((:tangle . "yes")
|
||||
(:noweb . "yes")
|
||||
(:results . "silent")
|
||||
(:cache . "yes")
|
||||
(:comments . "yes")))
|
||||
(t
|
||||
'((:results . "file")
|
||||
|
@ -471,4 +441,6 @@ dependent on LY-ARRANGE-MODE"
|
|||
|
||||
(provide 'ob-lilypond)
|
||||
|
||||
|
||||
|
||||
;;; ob-lilypond.el ends here
|
||||
|
|
|
@ -49,7 +49,6 @@
|
|||
For example a value of \"(progn ;; %s\\n %%s)\" would ignore the
|
||||
current directory string."
|
||||
:group 'org-babel
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defun org-babel-expand-body:lisp (body params)
|
||||
|
|
|
@ -39,7 +39,6 @@ files to `org-babel-lob-files'.")
|
|||
"Files used to populate the `org-babel-library-of-babel'.
|
||||
To add files to this list use the `org-babel-lob-ingest' command."
|
||||
:group 'org-babel
|
||||
:version "24.1"
|
||||
:type 'list)
|
||||
|
||||
(defvar org-babel-default-lob-header-args '((:exports . "results"))
|
||||
|
@ -105,7 +104,7 @@ if so then run the appropriate source block from the Library."
|
|||
(beginning-of-line 1)
|
||||
(when (looking-at org-babel-lob-one-liner-regexp)
|
||||
(append
|
||||
(mapcar #'org-babel-clean-text-properties
|
||||
(mapcar #'org-babel-clean-text-properties
|
||||
(list
|
||||
(format "%s%s(%s)%s"
|
||||
(nonempty 3 12)
|
||||
|
@ -116,7 +115,7 @@ if so then run the appropriate source block from the Library."
|
|||
(nonempty 9 18)))
|
||||
(list (length (if (= (length (match-string 12)) 0)
|
||||
(match-string 2) (match-string 11))))))))))
|
||||
|
||||
|
||||
(defun org-babel-lob-execute (info)
|
||||
"Execute the lob call specified by INFO."
|
||||
(let ((params (org-babel-process-params
|
||||
|
|
|
@ -98,7 +98,7 @@
|
|||
(lambda (pair) (format "let %s = %s;;" (car pair)
|
||||
(org-babel-ocaml-elisp-to-ocaml (cdr pair))))
|
||||
(mapcar #'cdr (org-babel-get-header params :var))))
|
||||
|
||||
|
||||
(defun org-babel-ocaml-elisp-to-ocaml (val)
|
||||
"Return a string of ocaml code which evaluates to VAL."
|
||||
(if (listp val)
|
||||
|
|
|
@ -45,10 +45,10 @@
|
|||
|
||||
;; PicoLisp _is_ an object-oriented database with a Prolog-based query
|
||||
;; language implemented in PicoLisp (Pilog). Database objects are
|
||||
;; first-class members of the language.
|
||||
;; first-class members of the language.
|
||||
|
||||
;; PicoLisp is an extremely productive framework for the development
|
||||
;; of interactive web-applications (on top of a database).
|
||||
;; of interactive web-applications (on top of a database).
|
||||
|
||||
;;; Requirements:
|
||||
|
||||
|
@ -76,7 +76,6 @@
|
|||
(defcustom org-babel-picolisp-cmd "pil"
|
||||
"Name of command used to evaluate picolisp blocks."
|
||||
:group 'org-babel
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defun org-babel-expand-body:picolisp (body params &optional processed-params)
|
||||
|
@ -97,7 +96,7 @@
|
|||
|
||||
(defun org-babel-execute:picolisp (body params)
|
||||
"Execute a block of Picolisp code with org-babel. This function is
|
||||
called by `org-babel-execute-src-block'"
|
||||
called by `org-babel-execute-src-block'"
|
||||
(message "executing Picolisp source code block")
|
||||
(let* (
|
||||
;; name of the session or "none"
|
||||
|
@ -120,7 +119,7 @@
|
|||
((member "value" result-params)
|
||||
(format "(out \"/dev/null\" %s)" full-body))
|
||||
(t full-body))))
|
||||
|
||||
|
||||
((lambda (result)
|
||||
(if (or (member "verbatim" result-params)
|
||||
(member "scalar" result-params)
|
||||
|
|
|
@ -44,7 +44,6 @@
|
|||
(defcustom org-plantuml-jar-path nil
|
||||
"Path to the plantuml.jar file."
|
||||
:group 'org-babel
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defun org-babel-execute:plantuml (body params)
|
||||
|
|
|
@ -60,7 +60,7 @@
|
|||
(declare-function org-narrow-to-subtree "org" ())
|
||||
(declare-function org-id-find-id-in-file "org-id" (id file &optional markerp))
|
||||
(declare-function org-show-context "org" (&optional key))
|
||||
(declare-function org-pop-to-buffer-same-window
|
||||
(declare-function org-pop-to-buffer-same-window
|
||||
"org-compat" (&optional buffer-or-name norecord label))
|
||||
|
||||
(defvar org-babel-ref-split-regexp
|
||||
|
|
|
@ -28,10 +28,10 @@
|
|||
;;; Requirements:
|
||||
|
||||
;; - ruby and irb executables :: http://www.ruby-lang.org/
|
||||
;;
|
||||
;;
|
||||
;; - ruby-mode :: Can be installed through ELPA, or from
|
||||
;; http://github.com/eschulte/rinari/raw/master/util/ruby-mode.el
|
||||
;;
|
||||
;;
|
||||
;; - inf-ruby mode :: Can be installed through ELPA, or from
|
||||
;; http://github.com/eschulte/rinari/raw/master/util/inf-ruby.el
|
||||
|
||||
|
|
|
@ -54,7 +54,6 @@
|
|||
(defcustom org-babel-scheme-cmd "guile"
|
||||
"Name of command used to evaluate scheme blocks."
|
||||
:group 'org-babel
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defun org-babel-expand-body:scheme (body params)
|
||||
|
|
|
@ -56,13 +56,14 @@ This will be passed to `shell-command-on-region'")
|
|||
This function is called by `org-babel-execute-src-block'."
|
||||
(let* ((session (org-babel-sh-initiate-session
|
||||
(cdr (assoc :session params))))
|
||||
(result-params (cdr (assoc :result-params params)))
|
||||
(stdin ((lambda (stdin) (when stdin (org-babel-sh-var-to-string
|
||||
(org-babel-ref-resolve stdin))))
|
||||
(cdr (assoc :stdin params))))
|
||||
(full-body (org-babel-expand-body:generic
|
||||
body params (org-babel-variable-assignments:sh params))))
|
||||
(org-babel-reassemble-table
|
||||
(org-babel-sh-evaluate session full-body params stdin)
|
||||
(org-babel-sh-evaluate session full-body result-params stdin)
|
||||
(org-babel-pick-name
|
||||
(cdr (assoc :colname-names params)) (cdr (assoc :colnames params)))
|
||||
(org-babel-pick-name
|
||||
|
@ -133,38 +134,29 @@ Emacs-lisp table, otherwise return the results as a string."
|
|||
(defvar org-babel-sh-eoe-output "org_babel_sh_eoe"
|
||||
"String to indicate that evaluation has completed.")
|
||||
|
||||
(defun org-babel-sh-evaluate (session body &optional params stdin)
|
||||
(defun org-babel-sh-evaluate (session body &optional result-params stdin)
|
||||
"Pass BODY to the Shell process in BUFFER.
|
||||
If RESULT-TYPE equals 'output then return a list of the outputs
|
||||
of the statements in BODY, if RESULT-TYPE equals 'value then
|
||||
return the value of the last statement in BODY."
|
||||
((lambda (results)
|
||||
(when results
|
||||
(let ((result-params (cdr (assoc :result-params params))))
|
||||
(if (or (member "scalar" result-params)
|
||||
(member "verbatim" result-params)
|
||||
(member "output" result-params))
|
||||
results
|
||||
(let ((tmp-file (org-babel-temp-file "sh-")))
|
||||
(with-temp-file tmp-file (insert results))
|
||||
(org-babel-import-elisp-from-file tmp-file))))))
|
||||
(if (or (member "scalar" result-params)
|
||||
(member "verbatim" result-params)
|
||||
(member "output" result-params))
|
||||
results
|
||||
(let ((tmp-file (org-babel-temp-file "sh-")))
|
||||
(with-temp-file tmp-file (insert results))
|
||||
(org-babel-import-elisp-from-file tmp-file)))))
|
||||
(cond
|
||||
(stdin ; external shell script w/STDIN
|
||||
(let ((script-file (org-babel-temp-file "sh-script-"))
|
||||
(stdin-file (org-babel-temp-file "sh-stdin-"))
|
||||
(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)
|
||||
(stdin-file (org-babel-temp-file "sh-stdin-")))
|
||||
(with-temp-file script-file (insert body))
|
||||
(with-temp-file stdin-file (insert stdin))
|
||||
(with-temp-buffer
|
||||
(call-process-shell-command
|
||||
(if shebang
|
||||
script-file
|
||||
(format "%s %s" org-babel-sh-command script-file))
|
||||
(format "%s %s" org-babel-sh-command script-file)
|
||||
stdin-file
|
||||
(current-buffer))
|
||||
(buffer-string))))
|
||||
|
@ -190,17 +182,7 @@ return the value of the last statement in BODY."
|
|||
(list org-babel-sh-eoe-indicator))))
|
||||
2)) "\n"))
|
||||
('otherwise ; external shell script
|
||||
(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)))))))
|
||||
(org-babel-eval org-babel-sh-command (org-babel-trim body))))))
|
||||
|
||||
(defun org-babel-sh-strip-weird-long-prompt (string)
|
||||
"Remove prompt cruft from a string of shell output."
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
;; - add more useful header arguments (user, passwd, database, etc...)
|
||||
;; - support for more engines (currently only supports mysql)
|
||||
;; - what's a reasonable way to drop table data into SQL?
|
||||
;;
|
||||
;;
|
||||
|
||||
;;; Code:
|
||||
(require 'ob)
|
||||
|
@ -70,10 +70,6 @@ This function is called by `org-babel-execute-src-block'."
|
|||
(org-babel-temp-file "sql-out-")))
|
||||
(header-delim "")
|
||||
(command (case (intern engine)
|
||||
('monetdb (format "mclient -f tab %s < %s > %s"
|
||||
(or cmdline "")
|
||||
(org-babel-process-file-name in-file)
|
||||
(org-babel-process-file-name out-file)))
|
||||
('msosql (format "osql %s -s \"\t\" -i %s -o %s"
|
||||
(or cmdline "")
|
||||
(org-babel-process-file-name in-file)
|
||||
|
|
|
@ -47,7 +47,6 @@ be inserted as the extension commonly used to identify files
|
|||
written in this language. If no entry is found in this list,
|
||||
then the name of the language is used."
|
||||
:group 'org-babel-tangle
|
||||
:version "24.1"
|
||||
:type '(repeat
|
||||
(cons
|
||||
(string "Language name")
|
||||
|
@ -56,19 +55,16 @@ then the name of the language is used."
|
|||
(defcustom org-babel-post-tangle-hook nil
|
||||
"Hook run in code files tangled by `org-babel-tangle'."
|
||||
:group 'org-babel
|
||||
:version "24.1"
|
||||
:type 'hook)
|
||||
|
||||
(defcustom org-babel-pre-tangle-hook '(save-buffer)
|
||||
"Hook run at the beginning of `org-babel-tangle'."
|
||||
:group 'org-babel
|
||||
:version "24.1"
|
||||
:type 'hook)
|
||||
|
||||
(defcustom org-babel-tangle-body-hook nil
|
||||
"Hook run over the contents of each code block body."
|
||||
:group 'org-babel
|
||||
:version "24.1"
|
||||
:type 'hook)
|
||||
|
||||
(defcustom org-babel-tangle-comment-format-beg "[[%link][%source-name]]"
|
||||
|
@ -83,7 +79,6 @@ information into the output using `org-fill-template'.
|
|||
Whether or not comments are inserted during tangling is
|
||||
controlled by the :comments header argument."
|
||||
:group 'org-babel
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-babel-tangle-comment-format-end "%source-name ends here"
|
||||
|
@ -98,7 +93,6 @@ information into the output using `org-fill-template'.
|
|||
Whether or not comments are inserted during tangling is
|
||||
controlled by the :comments header argument."
|
||||
:group 'org-babel
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-babel-process-comment-text #'org-babel-trim
|
||||
|
@ -107,7 +101,6 @@ inserted as comments in tangled source-code files. The function
|
|||
should take a single string argument and return a string
|
||||
result. The default value is `org-babel-trim'."
|
||||
:group 'org-babel
|
||||
:version "24.1"
|
||||
:type 'function)
|
||||
|
||||
(defun org-babel-find-file-noselect-refresh (file)
|
||||
|
@ -290,7 +283,7 @@ references."
|
|||
(interactive)
|
||||
(goto-char (point-min))
|
||||
(while (or (re-search-forward "\\[\\[file:.*\\]\\[.*\\]\\]" nil t)
|
||||
(re-search-forward (org-babel-noweb-wrap) nil t))
|
||||
(re-search-forward "<<[^[:space:]]*>>" nil t))
|
||||
(delete-region (save-excursion (beginning-of-line 1) (point))
|
||||
(save-excursion (end-of-line 1) (forward-char 1) (point)))))
|
||||
|
||||
|
@ -351,7 +344,11 @@ code blocks by language."
|
|||
body params
|
||||
(and (fboundp assignments-cmd)
|
||||
(funcall assignments-cmd params))))))
|
||||
(if (org-babel-noweb-p params :tangle)
|
||||
(if (and (cdr (assoc :noweb params)) ;; expand noweb refs
|
||||
(let ((nowebs (split-string
|
||||
(cdr (assoc :noweb params)))))
|
||||
(or (member "yes" nowebs)
|
||||
(member "tangle" nowebs))))
|
||||
(org-babel-expand-noweb-references info)
|
||||
(nth 1 info)))))
|
||||
(comment
|
||||
|
|
110
lisp/ob.el
110
lisp/ob.el
|
@ -33,8 +33,6 @@
|
|||
(defvar org-babel-library-of-babel)
|
||||
(declare-function show-all "outline" ())
|
||||
(declare-function org-reduce "org" (CL-FUNC CL-SEQ &rest CL-KEYS))
|
||||
(declare-function org-mark-ring-push "org" (&optional pos buffer))
|
||||
(declare-function org-strip-protective-commas "org" (beg end))
|
||||
(declare-function tramp-compat-make-temp-file "tramp-compat"
|
||||
(filename &optional dir-flag))
|
||||
(declare-function tramp-dissect-file-name "tramp" (name &optional nodefault))
|
||||
|
@ -59,7 +57,6 @@
|
|||
(declare-function org-cycle "org" (&optional arg))
|
||||
(declare-function org-uniquify "org" (list))
|
||||
(declare-function org-current-level "org" ())
|
||||
(declare-function org-strip-protective-commas "org" (beg end))
|
||||
(declare-function org-table-import "org-table" (file arg))
|
||||
(declare-function org-add-hook "org-compat"
|
||||
(hook function &optional append local))
|
||||
|
@ -107,7 +104,6 @@ against accidental code block evaluation. The
|
|||
`org-babel-no-eval-on-ctrl-c-ctrl-c' variable can be used to
|
||||
remove code block execution from the C-c C-c keybinding."
|
||||
:group 'org-babel
|
||||
:version "24.1"
|
||||
:type '(choice boolean function))
|
||||
;; don't allow this variable to be changed through file settings
|
||||
(put 'org-confirm-babel-evaluate 'safe-local-variable (lambda (x) (eq x t)))
|
||||
|
@ -115,7 +111,6 @@ remove code block execution from the C-c C-c keybinding."
|
|||
(defcustom org-babel-no-eval-on-ctrl-c-ctrl-c nil
|
||||
"Remove code block evaluation from the C-c C-c key binding."
|
||||
:group 'org-babel
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-babel-results-keyword "RESULTS"
|
||||
|
@ -125,23 +120,6 @@ be used."
|
|||
:group 'org-babel
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-babel-noweb-wrap-start "<<"
|
||||
"String used to begin a noweb reference in a code block.
|
||||
See also `org-babel-noweb-wrap-end'."
|
||||
:group 'org-babel
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-babel-noweb-wrap-end ">>"
|
||||
"String used to end a noweb reference in a code block.
|
||||
See also `org-babel-noweb-wrap-start'."
|
||||
:group 'org-babel
|
||||
:type 'string)
|
||||
|
||||
(defun org-babel-noweb-wrap (&optional regexp)
|
||||
(concat org-babel-noweb-wrap-start
|
||||
(or regexp "\\([^ \t\n].+?[^ \t]\\|[^ \t\n]\\)")
|
||||
org-babel-noweb-wrap-end))
|
||||
|
||||
(defvar org-babel-src-name-regexp
|
||||
"^[ \t]*#\\+name:[ \t]*"
|
||||
"Regular expression used to match a source name line.")
|
||||
|
@ -403,7 +381,7 @@ then run `org-babel-pop-to-session'."
|
|||
(mkdirp . ((yes no)))
|
||||
(no-expand)
|
||||
(noeval)
|
||||
(noweb . ((yes no tangle no-export strip-export)))
|
||||
(noweb . ((yes no tangle)))
|
||||
(noweb-ref . :any)
|
||||
(noweb-sep . :any)
|
||||
(padline . ((yes no)))
|
||||
|
@ -416,8 +394,7 @@ then run `org-babel-pop-to-session'."
|
|||
(session . :any)
|
||||
(shebang . :any)
|
||||
(tangle . ((tangle yes no :any)))
|
||||
(var . :any)
|
||||
(wrap . :any)))
|
||||
(var . :any)))
|
||||
|
||||
(defconst org-babel-header-arg-names
|
||||
(mapcar #'car org-babel-common-header-args-w-values)
|
||||
|
@ -515,9 +492,12 @@ block."
|
|||
(new-hash (when cache? (org-babel-sha1-hash info)))
|
||||
(old-hash (when cache? (org-babel-current-result-hash)))
|
||||
(body (setf (nth 1 info)
|
||||
(if (org-babel-noweb-p params :eval)
|
||||
(org-babel-expand-noweb-references info)
|
||||
(nth 1 info))))
|
||||
(let ((noweb (cdr (assoc :noweb params))))
|
||||
(if (and noweb
|
||||
(or (string= "yes" noweb)
|
||||
(string= "tangle" noweb)))
|
||||
(org-babel-expand-noweb-references info)
|
||||
(nth 1 info)))))
|
||||
(dir (cdr (assoc :dir params)))
|
||||
(default-directory
|
||||
(or (and dir (file-name-as-directory dir)) default-directory))
|
||||
|
@ -591,7 +571,8 @@ arguments and pop open the results in a preview buffer."
|
|||
(lambda (el1 el2) (string< (symbol-name (car el1))
|
||||
(symbol-name (car el2)))))))
|
||||
(body (setf (nth 1 info)
|
||||
(if (org-babel-noweb-p params :eval)
|
||||
(if (and (cdr (assoc :noweb params))
|
||||
(string= "yes" (cdr (assoc :noweb params))))
|
||||
(org-babel-expand-noweb-references info) (nth 1 info))))
|
||||
(expand-cmd (intern (concat "org-babel-expand-body:" lang)))
|
||||
(assignments-cmd (intern (concat "org-babel-variable-assignments:"
|
||||
|
@ -688,7 +669,8 @@ session."
|
|||
(lang (nth 0 info))
|
||||
(params (nth 2 info))
|
||||
(body (setf (nth 1 info)
|
||||
(if (org-babel-noweb-p params :eval)
|
||||
(if (and (cdr (assoc :noweb params))
|
||||
(string= "yes" (cdr (assoc :noweb params))))
|
||||
(org-babel-expand-noweb-references info)
|
||||
(nth 1 info))))
|
||||
(session (cdr (assoc :session params)))
|
||||
|
@ -1460,35 +1442,13 @@ If the point is not on a source block then return nil."
|
|||
(defun org-babel-goto-named-src-block (name)
|
||||
"Go to a named source-code block."
|
||||
(interactive
|
||||
(let ((completion-ignore-case t)
|
||||
(under-point (thing-at-point 'line)))
|
||||
(list (org-icompleting-read
|
||||
"source-block name: " (org-babel-src-block-names) nil t
|
||||
(cond
|
||||
;; noweb
|
||||
((string-match (org-babel-noweb-wrap) under-point)
|
||||
(let ((block-name (match-string 1 under-point)))
|
||||
(string-match "[^(]*" block-name)
|
||||
(match-string 0 block-name)))
|
||||
;; #+call:
|
||||
((string-match org-babel-lob-one-liner-regexp under-point)
|
||||
(let ((source-info (car (org-babel-lob-get-info))))
|
||||
(if (string-match "^\\([^\\[]+?\\)\\(\\[.*\\]\\)?(" source-info)
|
||||
(let ((source-name (match-string 1 source-info)))
|
||||
source-name))))
|
||||
;; #+results:
|
||||
((string-match (concat "#\\+" org-babel-results-keyword
|
||||
"\\:\s+\\([^\\(]*\\)") under-point)
|
||||
(match-string 1 under-point))
|
||||
;; symbol-at-point
|
||||
((and (thing-at-point 'symbol))
|
||||
(org-babel-find-named-block (thing-at-point 'symbol))
|
||||
(thing-at-point 'symbol))
|
||||
(""))))))
|
||||
(let ((completion-ignore-case t))
|
||||
(list (org-icompleting-read "source-block name: "
|
||||
(org-babel-src-block-names) nil t))))
|
||||
(let ((point (org-babel-find-named-block name)))
|
||||
(if point
|
||||
;; taken from `org-open-at-point'
|
||||
(progn (org-mark-ring-push) (goto-char point) (org-show-context))
|
||||
(progn (goto-char point) (org-show-context))
|
||||
(message "source-code block '%s' not found in this buffer" name))))
|
||||
|
||||
(defun org-babel-find-named-block (name)
|
||||
|
@ -1914,9 +1874,6 @@ code ---- the results are extracted in the syntax of the source
|
|||
(setq end (point-marker))
|
||||
;; possibly wrap result
|
||||
(cond
|
||||
((assoc :wrap (nth 2 info))
|
||||
(let ((name (or (cdr (assoc :wrap (nth 2 info))) "RESULTS")))
|
||||
(wrap (concat "#+BEGIN_" name) (concat "#+END_" name))))
|
||||
((member "html" result-params)
|
||||
(wrap "#+BEGIN_HTML" "#+END_HTML"))
|
||||
((member "latex" result-params)
|
||||
|
@ -1968,10 +1925,11 @@ code ---- the results are extracted in the syntax of the source
|
|||
(progn (re-search-forward (concat "^" (match-string 1) ":END:"))
|
||||
(forward-char 1) (point)))
|
||||
(t
|
||||
(let ((case-fold-search t))
|
||||
(if (looking-at (concat "[ \t]*#\\+begin_\\([^ \t\n\r]+\\)"))
|
||||
(progn (re-search-forward (concat "[ \t]*#\\+end_" (match-string 1))
|
||||
nil t)
|
||||
(let ((case-fold-search t)
|
||||
(blocks-re (regexp-opt
|
||||
(list "latex" "html" "example" "src" "result" "org"))))
|
||||
(if (looking-at (concat "[ \t]*#\\+begin_" blocks-re))
|
||||
(progn (re-search-forward (concat "[ \t]*#\\+end_" blocks-re) nil t)
|
||||
(forward-char 1))
|
||||
(while (looking-at "[ \t]*\\(: \\|\\[\\[\\)")
|
||||
(forward-line 1))))
|
||||
|
@ -2115,11 +2073,8 @@ parameters when merging lists."
|
|||
(:tangle ;; take the latest -- always overwrite
|
||||
(setq tangle (or (list (cdr pair)) tangle)))
|
||||
(:noweb
|
||||
(setq noweb (e-merge
|
||||
'(("yes" "no" "tangle" "no-export"
|
||||
"strip-export" "eval"))
|
||||
noweb
|
||||
(split-string (or (cdr pair) "")))))
|
||||
(setq noweb (e-merge '(("yes" "no" "tangle")) noweb
|
||||
(split-string (or (cdr pair) "")))))
|
||||
(:cache
|
||||
(setq cache (e-merge '(("yes" "no")) cache
|
||||
(split-string (or (cdr pair) "")))))
|
||||
|
@ -2151,20 +2106,6 @@ This results in much faster noweb reference expansion but does
|
|||
not properly allow code blocks to inherit the \":noweb-ref\"
|
||||
header argument from buffer or subtree wide properties.")
|
||||
|
||||
(defun org-babel-noweb-p (params context)
|
||||
"Check if PARAMS require expansion in CONTEXT.
|
||||
CONTEXT may be one of :tangle, :export or :eval."
|
||||
(flet ((intersect (as bs)
|
||||
(when as
|
||||
(if (member (car as) bs)
|
||||
(car as)
|
||||
(intersect (cdr as) bs)))))
|
||||
(intersect (case context
|
||||
(:tangle '("yes" "tangle" "no-export" "strip-export"))
|
||||
(:eval '("yes" "no-export" "strip-export" "eval"))
|
||||
(:export '("yes")))
|
||||
(split-string (or (cdr (assoc :noweb params)) "")))))
|
||||
|
||||
(defun org-babel-expand-noweb-references (&optional info parent-buffer)
|
||||
"Expand Noweb references in the body of the current source code block.
|
||||
|
||||
|
@ -2212,7 +2153,8 @@ block but are passed literally to the \"example-block\"."
|
|||
(with-temp-buffer
|
||||
(insert body) (goto-char (point-min))
|
||||
(setq index (point))
|
||||
(while (and (re-search-forward (org-babel-noweb-wrap) nil t))
|
||||
(while (and (re-search-forward "<<\\([^ \t\n].+?[^ \t\n]\\|[^ \t\n]\\)>>"
|
||||
nil t))
|
||||
(save-match-data (setf source-name (match-string 1)))
|
||||
(save-match-data (setq evaluate (string-match "\(.*\)" source-name)))
|
||||
(save-match-data
|
||||
|
@ -2284,7 +2226,7 @@ block but are passed literally to the \"example-block\"."
|
|||
;; possibly raise an error if named block doesn't exist
|
||||
(if (member lang org-babel-noweb-error-langs)
|
||||
(error "%s" (concat
|
||||
(org-babel-noweb-wrap source-name)
|
||||
"<<" source-name ">> "
|
||||
"could not be resolved (see "
|
||||
"`org-babel-noweb-error-langs')"))
|
||||
"")))
|
||||
|
|
|
@ -247,9 +247,7 @@ you can \"misuse\" it to also add other text to the header. However,
|
|||
|
||||
;; Keep custom values for `org-agenda-filter-preset' compatible with
|
||||
;; the new variable `org-agenda-tag-filter-preset'.
|
||||
(if (fboundp 'defvaralias)
|
||||
(defvaralias 'org-agenda-filter-preset 'org-agenda-tag-filter-preset)
|
||||
(defvaralias 'org-agenda-filter 'org-agenda-tag-filter))
|
||||
(defvaralias 'org-agenda-filter-preset 'org-agenda-tag-filter-preset)
|
||||
|
||||
(defconst org-agenda-custom-commands-local-options
|
||||
`(repeat :tag "Local settings for this command. Remember to quote values"
|
||||
|
@ -649,7 +647,6 @@ See also the variable `org-agenda-tags-todo-honor-ignore-options' if you want
|
|||
to make his option also apply to the tags-todo list."
|
||||
:group 'org-agenda-skip
|
||||
:group 'org-agenda-todo-list
|
||||
:version "24.1"
|
||||
:type '(choice
|
||||
(const :tag "Ignore future timestamp todos" future)
|
||||
(const :tag "Ignore past or present timestamp todos" past)
|
||||
|
@ -797,7 +794,6 @@ trigger you to schedule it, and then you don't want to be reminded of it
|
|||
because you will take care of it on the day when scheduled."
|
||||
:group 'org-agenda-skip
|
||||
:group 'org-agenda-daily/weekly
|
||||
:version "24.1"
|
||||
:type '(choice
|
||||
(const :tag "Alwas show prewarning" nil)
|
||||
(const :tag "Remove prewarning if entry is scheduled" t)
|
||||
|
@ -862,7 +858,6 @@ property so than moving the mouse over the command shows it.
|
|||
Setting it to nil is good if matcher strings are very long and/or if
|
||||
you want to use two-column display (see `org-agenda-menu-two-column')."
|
||||
:group 'org-agenda
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-agenda-menu-two-column nil
|
||||
|
@ -870,7 +865,6 @@ you want to use two-column display (see `org-agenda-menu-two-column')."
|
|||
If you use this, you probably want to set `org-agenda-menu-show-matcher'
|
||||
to nil."
|
||||
:group 'org-agenda
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-finalize-agenda-hook nil
|
||||
|
@ -894,7 +888,6 @@ Needs to be set before org.el is loaded."
|
|||
"Non-nil means `org-agenda-follow-mode' displays only the
|
||||
current item's tree, in an indirect buffer."
|
||||
:group 'org-agenda
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-agenda-show-outline-path t
|
||||
|
@ -1047,13 +1040,11 @@ This function makes sure that dates are aligned for easy reading."
|
|||
"Non-nil means use leading zero for military times in agenda.
|
||||
For example, 9:30am would become 09:30 rather than 9:30."
|
||||
:group 'org-agenda-daily/weekly
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-agenda-timegrid-use-ampm nil
|
||||
"When set, show AM/PM style timestamps on the timegrid."
|
||||
:group 'org-agenda
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defun org-agenda-time-of-day-to-ampm (time)
|
||||
|
@ -1101,7 +1092,6 @@ stamp currently points to the past, the first key press will move it
|
|||
to today. WHen nil, just move one day forward even if the date stays
|
||||
in the past."
|
||||
:group 'org-agenda-daily/weekly
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-agenda-include-diary nil
|
||||
|
@ -1114,7 +1104,6 @@ Custom commands can set this variable in the options section."
|
|||
"If non-nil, include entries within their deadline warning period.
|
||||
Custom commands can set this variable in the options section."
|
||||
:group 'org-agenda-daily/weekly
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-agenda-repeating-timestamp-show-all t
|
||||
|
@ -1190,7 +1179,6 @@ issue display.
|
|||
:short-face face for clock intervals that are too short"
|
||||
:group 'org-agenda-daily/weekly
|
||||
:group 'org-clock
|
||||
:version "24.1"
|
||||
:type 'plist)
|
||||
|
||||
(defcustom org-agenda-log-mode-add-notes t
|
||||
|
@ -1249,7 +1237,6 @@ by preceding the first snippet with \"+\" or \"-\". If the first snippet
|
|||
is a regexp marked with braces like \"{abc}\", this will also switch to
|
||||
boolean search."
|
||||
:group 'org-agenda-search-view
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(if (fboundp 'defvaralias)
|
||||
|
@ -1260,7 +1247,6 @@ boolean search."
|
|||
"Non-nil means, search words must be matches as complete words.
|
||||
When nil, they may also match part of a word."
|
||||
:group 'org-agenda-search-view
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defgroup org-agenda-time-grid nil
|
||||
|
@ -1324,14 +1310,12 @@ a grid line."
|
|||
(defcustom org-agenda-show-current-time-in-grid t
|
||||
"Non-nil means show the current time in the time grid."
|
||||
:group 'org-agenda-time-grid
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-agenda-current-time-string
|
||||
"now - - - - - - - - - - - - - - - - - - - - - - - - -"
|
||||
"The string for the current time marker in the agenda."
|
||||
:group 'org-agenda-time-grid
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defgroup org-agenda-sorting nil
|
||||
|
@ -1542,7 +1526,6 @@ that passed since this item was scheduled first."
|
|||
"Text preceding item pulled into the agenda by inactive time stamps.
|
||||
These entries are added to the agenda when pressing \"[\"."
|
||||
:group 'org-agenda-line-format
|
||||
:version "24.1"
|
||||
:type '(list
|
||||
(string :tag "Scheduled today ")
|
||||
(string :tag "Scheduled previously")))
|
||||
|
@ -1581,7 +1564,6 @@ the headline/diary entry."
|
|||
"Non-nil means remove time ranges specifications in agenda
|
||||
items that span on several days."
|
||||
:group 'org-agenda-line-format
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-agenda-default-appointment-duration nil
|
||||
|
@ -1663,7 +1645,6 @@ The only argument passed to that function is the day. It should
|
|||
returns a face, or nil if does not want to specify a face and let
|
||||
the normal rules apply."
|
||||
:group 'org-agenda-line-format
|
||||
:version "24.1"
|
||||
:type 'function)
|
||||
|
||||
(defcustom org-agenda-category-icon-alist nil
|
||||
|
@ -1696,7 +1677,6 @@ category, you can use:
|
|||
|
||||
(\"Emacs\" '(space . (:width (16))))"
|
||||
:group 'org-agenda-line-format
|
||||
:version "24.1"
|
||||
:type '(alist :key-type (string :tag "Regexp matching category")
|
||||
:value-type (choice (list :tag "Icon"
|
||||
(string :tag "File or data")
|
||||
|
@ -1759,7 +1739,6 @@ With selected entries in an agenda buffer, `B R' will call
|
|||
the custom function `set-category' on the selected entries.
|
||||
Note that functions in this alist don't need to be quoted."
|
||||
:type 'alist
|
||||
:version "24.1"
|
||||
:group 'org-agenda)
|
||||
|
||||
(eval-when-compile
|
||||
|
@ -1789,7 +1768,7 @@ works you probably want to add it to `org-agenda-custom-commands' for good."
|
|||
(setcdr ass (cdr entry))
|
||||
(push entry org-agenda-custom-commands))))
|
||||
|
||||
;;; Define the org-agenda-mode
|
||||
;;; Define the Org-agenda-mode
|
||||
|
||||
(defvar org-agenda-mode-map (make-sparse-keymap)
|
||||
"Keymap for `org-agenda-mode'.")
|
||||
|
@ -4396,7 +4375,7 @@ of what a project is and how to check if it stuck, customize the variable
|
|||
;;; Diary integration
|
||||
|
||||
(defvar org-disable-agenda-to-diary nil) ;Dynamically-scoped param.
|
||||
(defvar diary-list-entries-hook)
|
||||
(defvar list-diary-entries-hook)
|
||||
(defvar diary-time-regexp)
|
||||
(defun org-get-entries-from-diary (date)
|
||||
"Get the (Emacs Calendar) diary entries for DATE."
|
||||
|
@ -4405,8 +4384,8 @@ of what a project is and how to check if it stuck, customize the variable
|
|||
(diary-display-hook '(fancy-diary-display))
|
||||
(diary-display-function 'fancy-diary-display)
|
||||
(pop-up-frames nil)
|
||||
(diary-list-entries-hook
|
||||
(cons 'org-diary-default-entry diary-list-entries-hook))
|
||||
(list-diary-entries-hook
|
||||
(cons 'org-diary-default-entry list-diary-entries-hook))
|
||||
(diary-file-name-prefix-function nil) ; turn this feature off
|
||||
(diary-modify-entry-list-string-function 'org-modify-diary-entry-string)
|
||||
entries
|
||||
|
@ -6211,9 +6190,8 @@ When this is the global TODO list, a prefix argument will be interpreted."
|
|||
(recenter window-line)))
|
||||
|
||||
(defvar org-global-tags-completion-table nil)
|
||||
(defvar org-agenda-filtered-by-category nil)
|
||||
(defvar org-agenda-filter-form nil)
|
||||
(defvar org-agenda-filtered-by-category nil)
|
||||
|
||||
(defun org-agenda-filter-by-category (strip)
|
||||
"Keep only those lines in the agenda buffer that have a specific category.
|
||||
The category is that of the current line."
|
||||
|
@ -6391,9 +6369,10 @@ If the line does not have an effort defined, return nil."
|
|||
(funcall op (or eff (if org-sort-agenda-noeffort-is-high 32767 0))
|
||||
value))))
|
||||
|
||||
(defvar org-agenda-filtered-by-category nil)
|
||||
(defun org-agenda-filter-apply (filter type)
|
||||
"Set FILTER as the new agenda filter and apply it."
|
||||
(let (tags cat)
|
||||
(let (tags)
|
||||
(if (eq type 'tag)
|
||||
(setq org-agenda-tag-filter filter)
|
||||
(setq org-agenda-category-filter filter
|
||||
|
@ -7171,13 +7150,10 @@ if it was hidden in the outline."
|
|||
(select-window win)))
|
||||
|
||||
(defvar org-agenda-show-window nil)
|
||||
(defun org-agenda-show-and-scroll-up (&optional arg)
|
||||
(defun org-agenda-show-and-scroll-up ()
|
||||
"Display the Org-mode file which contains the item at point.
|
||||
When called repeatedly, scroll the window that is displaying the buffer.
|
||||
With a \\[universal-argument] prefix, use `org-show-entry' instead of
|
||||
`show-subtree' to display the item, so that drawers and logbooks stay
|
||||
folded."
|
||||
(interactive "P")
|
||||
When called repeatedly, scroll the window that is displaying the buffer."
|
||||
(interactive)
|
||||
(let ((win (selected-window)))
|
||||
(if (and (window-live-p org-agenda-show-window)
|
||||
(eq this-command last-command))
|
||||
|
@ -7185,7 +7161,7 @@ folded."
|
|||
(select-window org-agenda-show-window)
|
||||
(ignore-errors (scroll-up)))
|
||||
(org-agenda-goto t)
|
||||
(if arg (org-show-entry) (show-subtree))
|
||||
(show-subtree)
|
||||
(setq org-agenda-show-window (selected-window)))
|
||||
(select-window win)))
|
||||
|
||||
|
@ -8020,7 +7996,6 @@ top-level as top-level entries at the end of the file."
|
|||
(defcustom org-agenda-insert-diary-extract-time nil
|
||||
"Non-nil means extract any time specification from the diary entry."
|
||||
:group 'org-agenda
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defun org-agenda-add-entry-to-org-agenda-diary-file (type text &optional d1 d2)
|
||||
|
|
|
@ -43,7 +43,6 @@
|
|||
(defcustom org-archive-reversed-order nil
|
||||
"Non-nil means make the tree first child under the archive heading, not last."
|
||||
:group 'org-archive
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-archive-sibling-heading "Archive"
|
||||
|
@ -73,7 +72,6 @@ This variable is obsolete and has no effect anymore, instead add or remove
|
|||
(defcustom org-archive-subtree-add-inherited-tags 'infile
|
||||
"Non-nil means append inherited tags when archiving a subtree."
|
||||
:group 'org-archive
|
||||
:version "24.1"
|
||||
:type '(choice
|
||||
(const :tag "Never" nil)
|
||||
(const :tag "When archiving a subtree to the same file" infile)
|
||||
|
|
|
@ -108,7 +108,7 @@ utf8 Use all UTF-8 characters")
|
|||
(defun org-export-as-utf8 (&rest args)
|
||||
"Like `org-export-as-ascii', use encoding for special symbols."
|
||||
(interactive)
|
||||
(org-export-as-encoding 'org-export-as-ascii
|
||||
(org-export-as-encoding 'org-export-as-ascii
|
||||
(org-called-interactively-p 'any)
|
||||
'utf8 args))
|
||||
|
||||
|
|
|
@ -101,7 +101,6 @@ ln create a hard link. Note that this is not supported
|
|||
(defcustom org-attach-store-link-p nil
|
||||
"Non-nil means store a link to a file when attaching it."
|
||||
:group 'org-attach
|
||||
:version "24.1"
|
||||
:type '(choice
|
||||
(const :tag "Don't store link" nil)
|
||||
(const :tag "Link to origin location" t)
|
||||
|
|
|
@ -120,7 +120,6 @@
|
|||
(declare-function diary-ordinal-suffix "diary-lib" (n))
|
||||
|
||||
(defvar date) ;; dynamically scoped from Org
|
||||
(defvar name) ;; dynamically scoped from Org
|
||||
|
||||
;; Customization
|
||||
|
||||
|
|
|
@ -43,7 +43,6 @@
|
|||
(defcustom org-beamer-use-parts nil
|
||||
""
|
||||
:group 'org-beamer
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-beamer-frame-level 1
|
||||
|
@ -53,7 +52,6 @@ Setting this to 2 will allow sections, 3 will allow subsections as well.
|
|||
You can set this to 4 as well, if you at the same time set
|
||||
`org-beamer-use-parts' to make the top levels `\part'."
|
||||
:group 'org-beamer
|
||||
:version "24.1"
|
||||
:type '(choice
|
||||
(const :tag "Frames need a BEAMER_env property" nil)
|
||||
(integer :tag "Specific level makes a frame")))
|
||||
|
@ -62,14 +60,12 @@ You can set this to 4 as well, if you at the same time set
|
|||
"Default options string to use for frames, should contains the [brackets].
|
||||
And example for this is \"[allowframebreaks]\"."
|
||||
:group 'org-beamer
|
||||
:version "24.1"
|
||||
:type '(string :tag "[options]"))
|
||||
|
||||
(defcustom org-beamer-column-view-format
|
||||
"%45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra)"
|
||||
"Default column view format that should be used to fill the template."
|
||||
:group 'org-beamer
|
||||
:version "24.1"
|
||||
:type '(choice
|
||||
(const :tag "Do not insert Beamer column view format" nil)
|
||||
(string :tag "Beamer column view format")))
|
||||
|
@ -80,7 +76,6 @@ And example for this is \"[allowframebreaks]\"."
|
|||
When a beamer template is filled, this will be the default for
|
||||
BEAMER_HEADER_EXTRA, which will be inserted just before \\begin{document}."
|
||||
:group 'org-beamer
|
||||
:version "24.1"
|
||||
:type '(choice
|
||||
(const :tag "Do not insert Beamer themes" nil)
|
||||
(string :tag "Beamer themes")))
|
||||
|
@ -107,7 +102,6 @@ These are just a completion help.")
|
|||
("theorem" "t" "\\begin{theorem}%a%U%x" "\\end{theorem}")
|
||||
("definition" "d" "\\begin{definition}%a%U%x" "\\end{definition}")
|
||||
("example" "e" "\\begin{example}%a%U%x" "\\end{example}")
|
||||
("exampleblock" "E" "\\begin{exampleblock}%a{%h}%x" "\\end{exampleblock}")
|
||||
("proof" "p" "\\begin{proof}%a%U%x" "\\end{proof}")
|
||||
("beamercolorbox" "o" "\\begin{beamercolorbox}%o{%h}%x" "\\end{beamercolorbox}")
|
||||
("normal" "h" "%h" "") ; Emit the heading as normal text
|
||||
|
@ -148,7 +142,6 @@ open The opening template for the environment, with the following escapes
|
|||
close The closing string of the environment."
|
||||
|
||||
:group 'org-beamer
|
||||
:version "24.1"
|
||||
:type '(repeat
|
||||
(list
|
||||
(string :tag "Environment")
|
||||
|
@ -409,7 +402,6 @@ the value will be inserted right after the documentclass statement."
|
|||
(defcustom org-beamer-fragile-re "\\\\\\(verb\\|lstinline\\)\\|^[ \t]*\\\\begin{\\(verbatim\\|lstlisting\\|minted\\)}"
|
||||
"If this regexp matches in a frame, the frame is marked as fragile."
|
||||
:group 'org-beamer
|
||||
:version "24.1"
|
||||
:type 'regexp)
|
||||
|
||||
(defface org-beamer-tag '((t (:box (:line-width 1 :color grey40))))
|
||||
|
@ -519,7 +511,6 @@ This function will run in the final LaTeX document."
|
|||
(defcustom org-beamer-outline-frame-title "Outline"
|
||||
"Default title of a frame containing an outline."
|
||||
:group 'org-beamer
|
||||
:version "24.1"
|
||||
:type '(string :tag "Outline frame title")
|
||||
)
|
||||
|
||||
|
@ -528,7 +519,6 @@ This function will run in the final LaTeX document."
|
|||
You might want to put e.g. [allowframebreaks=0.9] here. Remember to
|
||||
include square brackets."
|
||||
:group 'org-beamer
|
||||
:version "24.1"
|
||||
:type '(string :tag "Outline frame options")
|
||||
)
|
||||
|
||||
|
|
|
@ -216,14 +216,12 @@
|
|||
(defcustom org-bibtex-autogen-keys nil
|
||||
"Set to a truth value to use `bibtex-generate-autokey' to generate keys."
|
||||
:group 'org-bibtex
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-bibtex-prefix nil
|
||||
"Optional prefix for all bibtex property names.
|
||||
For example setting to 'BIB_' would allow interoperability with fireforg."
|
||||
:group 'org-bibtex
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-bibtex-treat-headline-as-title t
|
||||
|
@ -232,7 +230,6 @@ If an entry is missing a title property, use the headline text as
|
|||
the property. If this value is t, `org-bibtex-check' will ignore
|
||||
a missing title field."
|
||||
:group 'org-bibtex
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-bibtex-export-arbitrary-fields nil
|
||||
|
@ -241,7 +238,6 @@ This only has effect if `org-bibtex-prefix' is defined, so as to
|
|||
ensure that other org-properties, such as CATEGORY or LOGGING are
|
||||
not placed in the exported bibtex entry."
|
||||
:group 'org-bibtex
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-bibtex-key-property "CUSTOM_ID"
|
||||
|
@ -251,13 +247,11 @@ bibtex headlines from within an org file. This can be set to ID
|
|||
to enable global links, but only with great caution, as global
|
||||
IDs must be unique."
|
||||
:group 'org-bibtex
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-bibtex-tags nil
|
||||
"List of tag(s) that should be added to new bib entries."
|
||||
:group 'org-bibtex
|
||||
:version "24.1"
|
||||
:type '(repeat :tag "Tag" (string)))
|
||||
|
||||
(defcustom org-bibtex-tags-are-keywords nil
|
||||
|
@ -272,20 +266,17 @@ comma-separated string of keywords when exported to bibtex. Tags
|
|||
defined in `org-bibtex-tags' or `org-bibtex-no-export-tags' will
|
||||
not be exported."
|
||||
:group 'org-bibtex
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-bibtex-no-export-tags nil
|
||||
"List of tag(s) that should not be converted to keywords.
|
||||
This variable is relevant only if `org-bibtex-export-tags-as-keywords` is t."
|
||||
:group 'org-bibtex
|
||||
:version "24.1"
|
||||
:type '(repeat :tag "Tag" (string)))
|
||||
|
||||
(defcustom org-bibtex-type-property-name "btype"
|
||||
"Property in which to store bibtex entry type (e.g., article)."
|
||||
:group 'org-bibtex
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@
|
|||
(date &optional keep-restriction))
|
||||
(declare-function org-table-get-specials "org-table" ())
|
||||
(declare-function org-table-goto-line "org-table" (N))
|
||||
(declare-function org-pop-to-buffer-same-window "org-compat"
|
||||
(declare-function org-pop-to-buffer-same-window "org-compat"
|
||||
(&optional buffer-or-name norecord label))
|
||||
|
||||
(defvar org-remember-default-headline)
|
||||
|
@ -262,7 +262,6 @@ w3, w3m | %:type %:url
|
|||
info | %:type %:file %:node
|
||||
calendar | %:type %:date"
|
||||
:group 'org-capture
|
||||
:version "24.1"
|
||||
:type
|
||||
'(repeat
|
||||
(choice :value ("" "" entry (file "~/org/notes.org") "")
|
||||
|
@ -337,21 +336,12 @@ calendar | %:type %:date"
|
|||
The capture buffer is still current when this hook runs and it is
|
||||
widened to the entire buffer."
|
||||
:group 'org-capture
|
||||
:version "24.1"
|
||||
:type 'hook)
|
||||
|
||||
(defcustom org-capture-after-finalize-hook nil
|
||||
"Hook that is run right after a capture process is finalized.
|
||||
Suitable for window cleanup"
|
||||
:group 'org-capture
|
||||
:version "24.1"
|
||||
:type 'hook)
|
||||
|
||||
(defcustom org-capture-prepare-finalize-hook nil
|
||||
"Hook that is run before the finalization starts.
|
||||
The capture buffer is current and still narrowed."
|
||||
:group 'org-capture
|
||||
:version "24.1"
|
||||
:type 'hook)
|
||||
|
||||
;;; The property list for keeping information about the capture process
|
||||
|
@ -537,8 +527,6 @@ captured item after finalizing."
|
|||
(buffer-base-buffer (current-buffer)))
|
||||
(error "This does not seem to be a capture buffer for Org-mode"))
|
||||
|
||||
(run-hooks 'org-capture-prepare-finalize-hook)
|
||||
|
||||
;; Did we start the clock in this capture buffer?
|
||||
(when (and org-capture-clock-was-started
|
||||
org-clock-marker (marker-buffer org-clock-marker)
|
||||
|
|
|
@ -226,7 +226,6 @@ should get a different face (`org-mode-line-clock-overrun').
|
|||
When this is a string, it is prepended to the clock string as an indication,
|
||||
also using the face `org-mode-line-clock-overrun'."
|
||||
:group 'org-clock
|
||||
:version "24.1"
|
||||
:type '(choice
|
||||
(const :tag "Just mark the time string" nil)
|
||||
(string :tag "Text to prepend")))
|
||||
|
@ -268,14 +267,12 @@ string as argument."
|
|||
:formatter nil)
|
||||
"Default properties for clock tables."
|
||||
:group 'org-clock
|
||||
:version "24.1"
|
||||
:type 'plist)
|
||||
|
||||
(defcustom org-clock-clocktable-formatter 'org-clocktable-write-default
|
||||
"Function to turn clocking data into a table.
|
||||
For more information, see `org-clocktable-write-default'."
|
||||
:group 'org-clocktable
|
||||
:version "24.1"
|
||||
:type 'function)
|
||||
|
||||
;; FIXME: translate es and nl last string "Clock summary at"
|
||||
|
@ -286,7 +283,6 @@ For more information, see `org-clocktable-write-default'."
|
|||
("nl" "Bestand" "N" "Tijdstip" "Hoofding" "Duur" "ALLES" "Totale duur" "Bestandstijd" "Clock summary at"))
|
||||
"Terms used in clocktable, translated to different languages."
|
||||
:group 'org-clocktable
|
||||
:version "24.1"
|
||||
:type 'alist)
|
||||
|
||||
(defcustom org-clock-clocktable-default-properties '(:maxlevel 2 :scope file)
|
||||
|
@ -314,13 +310,11 @@ play with them."
|
|||
(defcustom org-clock-report-include-clocking-task nil
|
||||
"When non-nil, include the current clocking task time in clock reports."
|
||||
:group 'org-clock
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-clock-resolve-expert nil
|
||||
"Non-nil means do not show the splash buffer with the clock resolver."
|
||||
:group 'org-clock
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defvar org-clock-in-prepare-hook nil
|
||||
|
@ -1393,8 +1387,7 @@ If there is no running clock, throw an error, unless FAIL-QUIETLY is set."
|
|||
(message (concat "Clock stopped at %s after HH:MM = " org-time-clocksum-format "%s") te h m
|
||||
(if remove " => LINE REMOVED" ""))
|
||||
(run-hooks 'org-clock-out-hook)
|
||||
(unless (org-clocking-p)
|
||||
(org-clock-delete-current)))))))
|
||||
(org-clock-delete-current))))))
|
||||
|
||||
(add-hook 'org-clock-out-hook 'org-clock-remove-empty-clock-drawer)
|
||||
|
||||
|
@ -1996,7 +1989,7 @@ the currently selected interval size."
|
|||
(encode-time 0 0 0 (+ d n) m y))))
|
||||
((and wp (string-match "w\\|W" wp) mw (> (length wp) 0))
|
||||
(require 'cal-iso)
|
||||
(setq date (calendar-gregorian-from-absolute
|
||||
(setq date (calendar-gregorian-from-absolute
|
||||
(calendar-absolute-from-iso (list (+ mw n) 1 y))))
|
||||
(setq ins (format-time-string
|
||||
"%G-W%V"
|
||||
|
@ -2013,7 +2006,7 @@ the currently selected interval size."
|
|||
(setq mw 5
|
||||
y (- y 1))
|
||||
())
|
||||
(setq date (calendar-gregorian-from-absolute
|
||||
(setq date (calendar-gregorian-from-absolute
|
||||
(calendar-absolute-from-iso (org-quarter-to-date (+ mw n) y))))
|
||||
(setq ins (format-time-string
|
||||
(concatenate 'string (number-to-string y) "-Q" (number-to-string (+ mw n)))
|
||||
|
@ -2463,9 +2456,7 @@ TIME: The sum of all time spend in this tree, in minutes. This time
|
|||
(org-clock-sum ts te
|
||||
(unless (null matcher)
|
||||
(lambda ()
|
||||
(let* ((tags-list (org-get-tags-at))
|
||||
(org-scanner-tags tags-list)
|
||||
(org-trust-scanner-tags t))
|
||||
(let ((tags-list (org-get-tags-at)))
|
||||
(eval matcher)))))
|
||||
(goto-char (point-min))
|
||||
(setq st t)
|
||||
|
@ -2640,3 +2631,4 @@ The details of what will be saved are regulated by the variable
|
|||
(provide 'org-clock)
|
||||
|
||||
;;; org-clock.el ends here
|
||||
|
||||
|
|
|
@ -76,21 +76,21 @@
|
|||
|
||||
(defgroup org-crypt nil
|
||||
"Org Crypt"
|
||||
:tag "Org Crypt"
|
||||
:tag "Org Crypt"
|
||||
:group 'org)
|
||||
|
||||
(defcustom org-crypt-tag-matcher "crypt"
|
||||
"The tag matcher used to find headings whose contents should be encrypted.
|
||||
|
||||
See the \"Match syntax\" section of the org manual for more details."
|
||||
:type 'string
|
||||
:type 'string
|
||||
:group 'org-crypt)
|
||||
|
||||
(defcustom org-crypt-key ""
|
||||
"The default key to use when encrypting the contents of a heading.
|
||||
|
||||
This setting can also be overridden in the CRYPTKEY property."
|
||||
:type 'string
|
||||
:type 'string
|
||||
:group 'org-crypt)
|
||||
|
||||
(defcustom org-crypt-disable-auto-save 'ask
|
||||
|
@ -111,7 +111,6 @@ nil : Leave auto-save-mode enabled.
|
|||
NOTE: This only works for entries which have a tag
|
||||
that matches `org-crypt-tag-matcher'."
|
||||
:group 'org-crypt
|
||||
:version "24.1"
|
||||
:type '(choice (const :tag "Always" t)
|
||||
(const :tag "Never" nil)
|
||||
(const :tag "Ask" ask)
|
||||
|
|
|
@ -162,7 +162,6 @@ See the ctags documentation for more information.")
|
|||
(t "ctags-exuberant"))
|
||||
"Full path to the ctags executable file."
|
||||
:group 'org-ctags
|
||||
:version "24.1"
|
||||
:type 'file)
|
||||
|
||||
(defcustom org-ctags-open-link-functions
|
||||
|
@ -171,7 +170,6 @@ See the ctags documentation for more information.")
|
|||
org-ctags-ask-append-topic)
|
||||
"List of functions to be prepended to ORG-OPEN-LINK-FUNCTIONS when ORG-CTAGS is active."
|
||||
:group 'org-ctags
|
||||
:version "24.1"
|
||||
:type 'hook
|
||||
:options '(org-ctags-find-tag
|
||||
org-ctags-ask-rebuild-tags-file-then-find-tag
|
||||
|
@ -193,7 +191,6 @@ Created as a local variable in each buffer.")
|
|||
The following patterns are replaced in the string:
|
||||
`%t' - replaced with the capitalized title of the hyperlink"
|
||||
:group 'org-ctags
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
|
||||
|
|
|
@ -150,7 +150,6 @@ avoid same set of footnote IDs being used multiple times."
|
|||
(defcustom org-export-docbook-footnote-separator "<superscript>, </superscript>"
|
||||
"Text used to separate footnotes."
|
||||
:group 'org-export-docbook
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-docbook-emphasis-alist
|
||||
|
@ -196,7 +195,6 @@ This XSLT stylesheet is used by
|
|||
Object (FO) files. You can use either `fo/docbook.xsl' that
|
||||
comes with DocBook, or any customization layer you may have."
|
||||
:group 'org-export-docbook
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-docbook-xslt-proc-command nil
|
||||
|
|
|
@ -44,7 +44,6 @@
|
|||
For example, this will replace \"\\nsup\" with \"[not a superset of]\"
|
||||
in backends where the corresponding character is not available."
|
||||
:group 'org-entities
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-entities-user nil
|
||||
|
@ -69,7 +68,6 @@ utf-8 replacement Use the special characters available in utf-8.
|
|||
If you define new entities here that require specific LaTeX packages to be
|
||||
loaded, add these packages to `org-export-latex-packages-alist'."
|
||||
:group 'org-entities
|
||||
:version "24.1"
|
||||
:type '(repeat
|
||||
(list
|
||||
(string :tag "name ")
|
||||
|
|
|
@ -45,7 +45,7 @@
|
|||
(if (get-buffer eshell-buffer-name)
|
||||
(org-pop-to-buffer-same-window eshell-buffer-name)
|
||||
(eshell))
|
||||
(goto-char (point-max))
|
||||
(end-of-buffer)
|
||||
(eshell-kill-input)
|
||||
(insert command)
|
||||
(eshell-send-input)))
|
||||
|
|
|
@ -135,7 +135,6 @@ export function should accept three arguments."
|
|||
(defcustom org-export-blocks-postblock-hook nil
|
||||
"Run after blocks have been processed with `org-export-blocks-preprocess'."
|
||||
:group 'org-export-general
|
||||
:version "24.1"
|
||||
:type 'hook)
|
||||
|
||||
(defun org-export-blocks-html-quote (body &optional open close)
|
||||
|
@ -225,7 +224,7 @@ which defaults to the value of `org-export-blocks-witheld'."
|
|||
|
||||
;;--------------------------------------------------------------------------------
|
||||
;; ditaa: create images from ASCII art using the ditaa utility
|
||||
(defcustom org-ditaa-jar-path (expand-file-name
|
||||
(defvar org-ditaa-jar-path (expand-file-name
|
||||
"ditaa.jar"
|
||||
(file-name-as-directory
|
||||
(expand-file-name
|
||||
|
@ -234,9 +233,7 @@ which defaults to the value of `org-export-blocks-witheld'."
|
|||
(expand-file-name
|
||||
"../contrib"
|
||||
(file-name-directory (or load-file-name buffer-file-name)))))))
|
||||
"Path to the ditaa jar executable."
|
||||
:group 'org-babel
|
||||
:type 'string)
|
||||
"Path to the ditaa jar executable.")
|
||||
|
||||
(defvar org-export-current-backend) ; dynamically bound in org-exp.el
|
||||
(defun org-export-blocks-format-ditaa (body &rest headers)
|
||||
|
|
|
@ -98,7 +98,6 @@ is nil, the buffer remains buried also in these cases."
|
|||
This applied to the commands `org-export-as-html-and-open' and
|
||||
`org-export-as-pdf-and-open'."
|
||||
:group 'org-export-general
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-export-run-in-background nil
|
||||
|
@ -121,7 +120,6 @@ force an export command into the current process."
|
|||
"The initial scope when exporting with `org-export'.
|
||||
This variable can be either set to 'buffer or 'subtree."
|
||||
:group 'org-export-general
|
||||
:version "24.1"
|
||||
:type '(choice
|
||||
(const :tag "Export current buffer" 'buffer)
|
||||
(const :tag "Export current subtree" 'subtree)))
|
||||
|
@ -222,7 +220,6 @@ and in `org-clock-clocktable-language-setup'."
|
|||
(defcustom org-export-date-timestamp-format "%Y-%m-%d"
|
||||
"Time string format for Org timestamps in the #+DATE option."
|
||||
:group 'org-export-general
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defvar org-export-page-description ""
|
||||
|
@ -320,7 +317,6 @@ done include only tasks that are already done.
|
|||
nil remove all tasks before export
|
||||
list of TODO kwds keep only tasks with these keywords"
|
||||
:group 'org-export-general
|
||||
:version "24.1"
|
||||
:type '(choice
|
||||
(const :tag "All tasks" t)
|
||||
(const :tag "No tasks" nil)
|
||||
|
@ -371,7 +367,6 @@ e.g. \"author:nil\"."
|
|||
This option can also be set with the +OPTIONS line,
|
||||
e.g. \"email:t\"."
|
||||
:group 'org-export-general
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-export-creator-info t
|
||||
|
@ -599,7 +594,6 @@ the values of constants may be useful to have."
|
|||
This is the global equivalent of the :remove-nil-lines option
|
||||
when locally sending a table with #+ORGTBL."
|
||||
:group 'org-export-tables
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-export-prefer-native-exporter-for-tables nil
|
||||
|
|
|
@ -351,7 +351,6 @@ keywords will then be interpreted as either foreground or background
|
|||
color."
|
||||
:group 'org-faces
|
||||
:group 'org-todo
|
||||
:version "24.1"
|
||||
:type '(repeat
|
||||
(cons (choice (const todo) (const tag) (const priority))
|
||||
(choice (const :foreground) (const :background)))))
|
||||
|
@ -548,7 +547,6 @@ follows a #+DATE:, #+AUTHOR: or #+EMAIL: keyword."
|
|||
When nil, format these as normal Org. This is the default, because the
|
||||
content of these blocks will still be treated as Org syntax."
|
||||
:group 'org-faces
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defface org-clock-overlay ;; copied from secondary-selection
|
||||
|
@ -734,7 +732,6 @@ If nil, then all levels >=org-n-level-faces are styled like
|
|||
level org-n-level-faces"
|
||||
:group 'org-appearance
|
||||
:group 'org-faces
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defface org-latex-and-export-specials
|
||||
|
|
|
@ -80,7 +80,7 @@
|
|||
;; that received the input of the feed. You should add FEEDSTATUS
|
||||
;; to your list of drawers in the files that receive feed input:
|
||||
;;
|
||||
;; #+DRAWERS: PROPERTIES CLOCK LOGBOOK RESULTS FEEDSTATUS
|
||||
;; #+DRAWERS: PROPERTIES LOGBOOK FEEDSTATUS
|
||||
;;
|
||||
;; Acknowledgments
|
||||
;; ---------------
|
||||
|
|
|
@ -57,7 +57,6 @@
|
|||
(declare-function org-mark-ring-push "org" (&optional pos buffer))
|
||||
(declare-function org-show-context "org" (&optional key))
|
||||
(declare-function org-trim "org" (s))
|
||||
(declare-function org-skip-whitespace "org" ())
|
||||
(declare-function outline-next-heading "outline")
|
||||
|
||||
(defvar org-outline-regexp-bol) ; defined in org.el
|
||||
|
|
|
@ -414,7 +414,6 @@ MATCHED is the link just matched."
|
|||
;; with this setting now, but not before??? Was this perhaps a java
|
||||
;; bug or is it a windows xp bug (some resource gets exhausted if you
|
||||
;; use sticky keys which I do).
|
||||
:version "24.1"
|
||||
:group 'org-freemind)
|
||||
|
||||
(defun org-freemind-org-text-to-freemind-subnode/note (node-name start end drawers-regexp)
|
||||
|
|
|
@ -62,7 +62,6 @@ configured) IMAP servers don't support this operation quickly.
|
|||
So if following a link to a Gnus article takes ages, try setting
|
||||
this variable to `t'."
|
||||
:group 'org-link-store
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
|
||||
|
@ -176,7 +175,7 @@ If `org-store-link' was called with a prefix arg the meaning of
|
|||
(setq to (or to (gnus-fetch-original-field "To"))
|
||||
newsgroups (gnus-fetch-original-field "Newsgroups")
|
||||
x-no-archive (gnus-fetch-original-field "x-no-archive")))
|
||||
(org-store-link-props :type "gnus" :from from :subject subject
|
||||
(org-store-link-props :type "gnus" :from from :subject subject
|
||||
:message-id message-id :group group :to to)
|
||||
(when date
|
||||
(org-add-link-props :date date :date-timestamp date-ts
|
||||
|
|
|
@ -70,13 +70,11 @@ relative to the current effective date."
|
|||
(defcustom org-habit-today-glyph ?!
|
||||
"Glyph character used to identify today."
|
||||
:group 'org-habit
|
||||
:version "24.1"
|
||||
:type 'character)
|
||||
|
||||
(defcustom org-habit-completed-glyph ?*
|
||||
"Glyph character used to show completed days on which a task was done."
|
||||
:group 'org-habit
|
||||
:version "24.1"
|
||||
:type 'character)
|
||||
|
||||
(defface org-habit-clear-face
|
||||
|
|
|
@ -64,7 +64,6 @@ by the footnotes themselves."
|
|||
(defcustom org-export-html-footnote-separator "<sup>, </sup>"
|
||||
"Text used to separate footnotes."
|
||||
:group 'org-export-html
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-html-coding-system nil
|
||||
|
@ -253,7 +252,6 @@ You can also customize this for each buffer, using something like
|
|||
|
||||
#+MATHJAX: scale:\"133\" align:\"right\" mathml:t path:\"/MathJax/\""
|
||||
:group 'org-export-html
|
||||
:version "24.1"
|
||||
:type '(list :greedy t
|
||||
(list :tag "path (the path from where to load MathJax.js)"
|
||||
(const :format " " path) (string))
|
||||
|
@ -337,7 +335,6 @@ You can also customize this for each buffer, using something like
|
|||
</script>"
|
||||
"The MathJax setup for XHTML files."
|
||||
:group 'org-export-html
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-html-tag-class-prefix ""
|
||||
|
@ -364,7 +361,6 @@ It requires to %s: both will be replaced by the anchor referring
|
|||
to the headline (e.g. \"sec-2\"). When set to `nil', don't insert
|
||||
HTML anchors in headlines."
|
||||
:group 'org-export-html
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-html-preamble t
|
||||
|
@ -396,7 +392,6 @@ precedence over this variable."
|
|||
If you need to use a \"%\" character, you need to escape it
|
||||
like that: \"%%\"."
|
||||
:group 'org-export-html
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-html-postamble 'auto
|
||||
|
@ -437,7 +432,6 @@ precedence over this variable."
|
|||
If you need to use a \"%\" character, you need to escape it
|
||||
like that: \"%%\"."
|
||||
:group 'org-export-html
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-html-home/up-format
|
||||
|
@ -554,7 +548,6 @@ When nil, alignment will only be specified in the column tags, but this
|
|||
is ignored by some browsers (like Firefox, Safari). Opera does it right
|
||||
though."
|
||||
:group 'org-export-tables
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-export-html-table-use-header-tags-for-first-column nil
|
||||
|
@ -585,7 +578,6 @@ When nil, also column one will use data tags."
|
|||
(">" . ">"))
|
||||
"Alist of characters to be converted by `org-html-protect'."
|
||||
:group 'org-export-html
|
||||
:version "24.1"
|
||||
:type '(repeat (cons (string :tag "Character")
|
||||
(string :tag "HTML equivalent"))))
|
||||
|
||||
|
@ -647,7 +639,6 @@ This is a list of three strings, the first one for the preamble
|
|||
DIV, the second one for the content DIV and the third one for the
|
||||
postamble DIV."
|
||||
:group 'org-export-html
|
||||
:version "24.1"
|
||||
:type '(list
|
||||
(string :tag " Div for the preamble:")
|
||||
(string :tag " Div for the content:")
|
||||
|
|
|
@ -54,7 +54,6 @@ for timed events. If non-zero, alarms are created.
|
|||
- The alarm will go off N minutes before the event
|
||||
- only a DISPLAY action is defined."
|
||||
:group 'org-export-icalendar
|
||||
:version "24.1"
|
||||
:type 'integer)
|
||||
|
||||
(defcustom org-icalendar-combined-name "OrgMode"
|
||||
|
@ -65,7 +64,6 @@ for timed events. If non-zero, alarms are created.
|
|||
(defcustom org-icalendar-combined-description nil
|
||||
"Calendar description for the combined iCalendar (all agenda files)."
|
||||
:group 'org-export-icalendar
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-icalendar-use-plain-timestamp t
|
||||
|
@ -76,7 +74,6 @@ for timed events. If non-zero, alarms are created.
|
|||
(defcustom org-icalendar-honor-noexport-tag nil
|
||||
"Non-nil means don't export entries with a tag in `org-export-exclude-tags'."
|
||||
:group 'org-export-icalendar
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-icalendar-use-deadline '(event-if-not-todo todo-due)
|
||||
|
@ -216,7 +213,6 @@ Interesting value are:
|
|||
- \":%Y%m%dT%H%M%SZ\" for time expressed in Universal Time"
|
||||
|
||||
:group 'org-export-icalendar
|
||||
:version "24.1"
|
||||
:type '(choice
|
||||
(const :tag "Local time" ":%Y%m%dT%H%M%S")
|
||||
(const :tag "Explicit local time" ";TZID=%Z:%Y%m%dT%H%M%S")
|
||||
|
|
|
@ -73,7 +73,7 @@
|
|||
(require 'org)
|
||||
|
||||
(declare-function message-make-fqdn "message" ())
|
||||
(declare-function org-pop-to-buffer-same-window
|
||||
(declare-function org-pop-to-buffer-same-window
|
||||
"org-compat" (&optional buffer-or-name norecord label))
|
||||
|
||||
;;; Customization
|
||||
|
@ -641,3 +641,7 @@ optional argument MARKERP, return the position as a new marker."
|
|||
(provide 'org-id)
|
||||
|
||||
;;; org-id.el ends here
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -45,7 +45,6 @@
|
|||
(declare-function org-inlinetask-get-task-level "org-inlinetask" ())
|
||||
(declare-function org-inlinetask-in-task-p "org-inlinetask" ())
|
||||
(declare-function org-list-item-body-column "org-list" (item))
|
||||
(defvar org-inlinetask-show-first-star)
|
||||
|
||||
(defgroup org-indent nil
|
||||
"Options concerning dynamic virtual outline indentation."
|
||||
|
@ -294,10 +293,8 @@ Assume point is at beginning of line."
|
|||
(let ((stars (aref org-indent-stars
|
||||
(min l org-indent-max-levels))))
|
||||
(and stars
|
||||
(if (org-bound-and-true-p org-inlinetask-show-first-star)
|
||||
(concat org-indent-inlinetask-first-star
|
||||
(substring stars 1))
|
||||
stars))))
|
||||
(concat org-indent-inlinetask-first-star
|
||||
(substring stars 1)))))
|
||||
(h (aref org-indent-stars
|
||||
(min l org-indent-max-levels)))
|
||||
(t (aref org-indent-strings
|
||||
|
|
|
@ -90,9 +90,6 @@
|
|||
|
||||
(defcustom org-inlinetask-min-level 15
|
||||
"Minimum level a headline must have before it is treated as an inline task.
|
||||
Don't set it to something higher than `29' or clocking will break since this
|
||||
is the hardcoded maximum number of stars `org-clock-sum' will work with.
|
||||
|
||||
It is strongly recommended that you set `org-cycle-max-level' not at all,
|
||||
or to a number smaller than this one. In fact, when `org-cycle-max-level' is
|
||||
not set, it will be assumed to be one less than the value of smaller than
|
||||
|
@ -102,12 +99,6 @@ the value of this variable."
|
|||
(const :tag "Off" nil)
|
||||
(integer)))
|
||||
|
||||
(defcustom org-inlinetask-show-first-star nil
|
||||
"Non-nil means display the first star of an inline task as additional marker.
|
||||
When nil, the first star is not shown."
|
||||
:tag "Org Inline Tasks"
|
||||
:group 'org-structure)
|
||||
|
||||
(defcustom org-inlinetask-export t
|
||||
"Non-nil means export inline tasks.
|
||||
When nil, they will not be exported."
|
||||
|
@ -182,7 +173,6 @@ or, with the additional package \"todonotes\" for LaTeX,
|
|||
This should be the state `org-inlinetask-insert-task' should use by
|
||||
default, or nil of no state should be assigned."
|
||||
:group 'org-inlinetask
|
||||
:version "24.1"
|
||||
:type '(choice
|
||||
(const :tag "No state" nil)
|
||||
(string :tag "Specific state")))
|
||||
|
@ -441,12 +431,9 @@ Either remove headline and meta data, or do special formatting."
|
|||
'org-hide
|
||||
'org-warning)))
|
||||
(while (re-search-forward re limit t)
|
||||
(if org-inlinetask-show-first-star
|
||||
(add-text-properties (match-beginning 1) (match-end 1)
|
||||
`(face ,start-face font-lock-fontified t)))
|
||||
(add-text-properties (match-beginning
|
||||
(if org-inlinetask-show-first-star 2 1))
|
||||
(match-end 2)
|
||||
(add-text-properties (match-beginning 1) (match-end 1)
|
||||
`(face ,start-face font-lock-fontified t))
|
||||
(add-text-properties (match-beginning 2) (match-end 2)
|
||||
'(face org-hide font-lock-fontified t))
|
||||
(add-text-properties (match-beginning 3) (match-end 3)
|
||||
'(face org-inlinetask font-lock-fontified t)))))
|
||||
|
@ -464,7 +451,7 @@ Either remove headline and meta data, or do special formatting."
|
|||
((= end start))
|
||||
;; Inlinetask was folded: expand it.
|
||||
((get-char-property (1+ start) 'invisible)
|
||||
(org-show-entry))
|
||||
(outline-flag-region start end nil))
|
||||
(t (outline-flag-region start end t)))))
|
||||
|
||||
(defun org-inlinetask-remove-END-maybe ()
|
||||
|
|
|
@ -59,7 +59,7 @@
|
|||
(declare-function erc-server-buffer "erc" ())
|
||||
(declare-function erc-get-server-nickname-list "erc" ())
|
||||
(declare-function erc-cmd-JOIN "erc" (channel &optional key))
|
||||
(declare-function org-pop-to-buffer-same-window
|
||||
(declare-function org-pop-to-buffer-same-window
|
||||
"org-compat" (&optional buffer-or-name norecord label))
|
||||
|
||||
(defvar org-irc-client 'erc
|
||||
|
|
|
@ -218,7 +218,6 @@ For example, adding an entry
|
|||
will cause \\usepackage[utf8x]{inputenc} to be used for buffers that
|
||||
are written as utf8 files."
|
||||
:group 'org-export-latex
|
||||
:version "24.1"
|
||||
:type '(repeat
|
||||
(cons
|
||||
(string :tag "Derived from buffer")
|
||||
|
@ -284,7 +283,6 @@ markup defined, the first one in the association list will be used."
|
|||
(defcustom org-export-latex-tag-markup "\\textbf{%s}"
|
||||
"Markup for tags, as a printf format."
|
||||
:group 'org-export-latex
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-latex-timestamp-markup "\\textit{%s}"
|
||||
|
@ -295,7 +293,6 @@ markup defined, the first one in the association list will be used."
|
|||
(defcustom org-export-latex-timestamp-inactive-markup "\\textit{%s}"
|
||||
"A printf format string to be applied to inactive time stamps."
|
||||
:group 'org-export-latex
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-latex-timestamp-keyword-markup "\\texttt{%s}"
|
||||
|
@ -305,12 +302,11 @@ markup defined, the first one in the association list will be used."
|
|||
|
||||
(defcustom org-export-latex-href-format "\\href{%s}{%s}"
|
||||
"A printf format string to be applied to href links.
|
||||
The format must contain either two %s instances or just one.
|
||||
If it contains two %s instances, the first will be filled with
|
||||
The format must contain either two %s instances or just one.
|
||||
If it contains two %s instances, the first will be filled with
|
||||
the link, the second with the link description. If it contains
|
||||
only one, the %s will be filled with the link."
|
||||
:group 'org-export-latex
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-latex-hyperref-format "\\hyperref[%s]{%s}"
|
||||
|
@ -318,13 +314,11 @@ only one, the %s will be filled with the link."
|
|||
The format must contain one or two %s instances. The first one
|
||||
will be filled with the link, the second with its description."
|
||||
:group 'org-export-latex
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-latex-footnote-separator "\\textsuperscript{,}\\,"
|
||||
"Text used to separate footnotes."
|
||||
:group 'org-export-latex
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-latex-quotes
|
||||
|
@ -342,7 +336,6 @@ For each item in a CONS, the first string is a regexp
|
|||
for allowed characters before/after the quote, the second
|
||||
string defines the replacement string for this quote."
|
||||
:group 'org-export-latex
|
||||
:version "24.1"
|
||||
:type '(list
|
||||
(cons :tag "Opening quote"
|
||||
(string :tag "Regexp for char before")
|
||||
|
@ -368,7 +361,6 @@ string defines the replacement string for this quote."
|
|||
"When non-nil, the caption is set above the table. When nil,
|
||||
the caption is set below the table."
|
||||
:group 'org-export-latex
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-export-latex-tables-column-borders nil
|
||||
|
@ -486,7 +478,6 @@ Code blocks exported with the listings package (controlled by the
|
|||
`org-export-latex-listings' variable) can be named in the style
|
||||
of noweb."
|
||||
:group 'org-export-latex
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-export-latex-minted-langs
|
||||
|
@ -508,7 +499,6 @@ with:
|
|||
pygmentize -L lexers
|
||||
"
|
||||
:group 'org-export-latex
|
||||
:version "24.1"
|
||||
:type '(repeat
|
||||
(list
|
||||
(symbol :tag "Major mode ")
|
||||
|
@ -532,7 +522,6 @@ black keywords.
|
|||
Note that the same options will be applied to blocks of all
|
||||
languages."
|
||||
:group 'org-export-latex
|
||||
:version "24.1"
|
||||
:type '(repeat
|
||||
(list
|
||||
(string :tag "Listings option name ")
|
||||
|
@ -556,7 +545,6 @@ will result in src blocks being exported with
|
|||
as the start of the minted environment. Note that the same
|
||||
options will be applied to blocks of all languages."
|
||||
:group 'org-export-latex
|
||||
:version "24.1"
|
||||
:type '(repeat
|
||||
(list
|
||||
(string :tag "Minted option name ")
|
||||
|
@ -598,13 +586,11 @@ and `org-export-with-tags' instead."
|
|||
(defcustom org-latex-default-figure-position "htb"
|
||||
"Default position for latex figures."
|
||||
:group 'org-export-latex
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-latex-tabular-environment "tabular"
|
||||
"Default environment used to build tables."
|
||||
:group 'org-export-latex
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-latex-inline-image-extensions
|
||||
|
@ -681,7 +667,6 @@ This function should accept the file name as its single argument."
|
|||
'("aux" "idx" "log" "out" "toc" "nav" "snm" "vrb")
|
||||
"The list of file extensions to consider as LaTeX logfiles."
|
||||
:group 'org-export-pdf
|
||||
:version "24.1"
|
||||
:type '(repeat (string :tag "Extension")))
|
||||
|
||||
(defcustom org-export-pdf-remove-logfiles t
|
||||
|
@ -2242,7 +2227,7 @@ The conversion is made depending of STRING-BEFORE and STRING-AFTER."
|
|||
;; a LaTeX issue, but we here implement a work-around anyway.
|
||||
(setq path (org-export-latex-protect-amp path)
|
||||
desc (org-export-latex-protect-amp desc)))
|
||||
(insert
|
||||
(insert
|
||||
(if (string-match "%s.*%s" org-export-latex-href-format)
|
||||
(format org-export-latex-href-format path desc)
|
||||
(format org-export-latex-href-format path))))
|
||||
|
|
|
@ -215,7 +215,6 @@ Both uppercase and lowercase are handled. Lists with more than
|
|||
26 items will fallback to standard numbering. Alphabetical
|
||||
counters like \"[@c]\" will be recognized."
|
||||
:group 'org-plain-lists
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-list-two-spaces-after-bullet-regexp nil
|
||||
|
@ -259,7 +258,6 @@ indent when non-nil, indenting or outdenting list top-item
|
|||
outdenting a list whose bullet is * to column 0 will
|
||||
change that bullet to \"-\"."
|
||||
:group 'org-plain-lists
|
||||
:version "24.1"
|
||||
:type '(alist :tag "Sets of rules"
|
||||
:key-type
|
||||
(choice
|
||||
|
@ -279,7 +277,6 @@ This affects the behavior of \\[org-move-item-up],
|
|||
\\[org-move-item-down], \\[org-next-item] and
|
||||
\\[org-previous-item]."
|
||||
:group 'org-plain-lists
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defvar org-checkbox-statistics-hook nil
|
||||
|
@ -309,7 +306,6 @@ When the indentation would be larger than this, it will become
|
|||
By setting this to a small number, usually 1 or 2, one can more
|
||||
clearly distinguish sub-items in a list."
|
||||
:group 'org-plain-lists
|
||||
:version "24.1"
|
||||
:type 'integer)
|
||||
|
||||
(defcustom org-list-radio-list-templates
|
||||
|
@ -714,15 +710,15 @@ Assume point is at an item."
|
|||
;; equally indented than BEG-CELL's cdr. Also, store ending
|
||||
;; position of items in END-LST-2.
|
||||
(catch 'exit
|
||||
(while t
|
||||
(let ((ind (+ (or (get-text-property (point) 'original-indentation) 0)
|
||||
(while t
|
||||
(let ((ind (+ (or (get-text-property (point) 'original-indentation) 0)
|
||||
(org-get-indentation))))
|
||||
(cond
|
||||
((>= (point) lim-down)
|
||||
(cond
|
||||
((>= (point) lim-down)
|
||||
;; At downward limit: this is de facto the end of the
|
||||
;; list. Save point as an ending position, and jump to
|
||||
;; part 3.
|
||||
(throw 'exit
|
||||
(throw 'exit
|
||||
(push (cons 0 (funcall end-before-blank)) end-lst-2)))
|
||||
;; At a verbatim block, move to its end. Point is at bol
|
||||
;; and 'org-example property is set by whole lines:
|
||||
|
@ -1019,41 +1015,6 @@ type is determined by the first item of the list."
|
|||
((string-match "[[:alnum:]]" (org-list-get-bullet first struct)) 'ordered)
|
||||
(t 'unordered))))
|
||||
|
||||
(defun org-list-get-item-number (item struct prevs parents)
|
||||
"Return ITEM's sequence number.
|
||||
|
||||
STRUCT is the list structure. PREVS is the alist of previous
|
||||
items, as returned by `org-list-prevs-alist'. PARENTS is the
|
||||
alist of ancestors, as returned by `org-list-parents-alist'.
|
||||
|
||||
Return value is a list of integers. Counters have an impact on
|
||||
that value."
|
||||
(let ((get-relative-number
|
||||
(function
|
||||
(lambda (item struct prevs)
|
||||
;; Return relative sequence number of ITEM in the sub-list
|
||||
;; it belongs. STRUCT is the list structure. PREVS is
|
||||
;; the alist of previous items.
|
||||
(let ((seq 0) (pos item) counter)
|
||||
(while (and (not (setq counter (org-list-get-counter pos struct)))
|
||||
(setq pos (org-list-get-prev-item pos struct prevs)))
|
||||
(incf seq))
|
||||
(if (not counter) (1+ seq)
|
||||
(cond
|
||||
((string-match "[A-Za-z]" counter)
|
||||
(+ (- (string-to-char (upcase (match-string 0 counter))) 64)
|
||||
seq))
|
||||
((string-match "[0-9]+" counter)
|
||||
(+ (string-to-number (match-string 0 counter)) seq))
|
||||
(t (1+ seq)))))))))
|
||||
;; Cons each parent relative number into return value (OUT).
|
||||
(let ((out (list (funcall get-relative-number item struct prevs)))
|
||||
(parent item))
|
||||
(while (setq parent (org-list-get-parent parent struct parents))
|
||||
(push (funcall get-relative-number parent struct prevs) out))
|
||||
;; Return value.
|
||||
out)))
|
||||
|
||||
|
||||
|
||||
;;; Searching
|
||||
|
@ -1278,8 +1239,9 @@ This function modifies STRUCT."
|
|||
(insert body item-sep)
|
||||
;; 5. Add new item to STRUCT.
|
||||
(mapc (lambda (e)
|
||||
(let ((p (car e)) (end (nth 6 e)))
|
||||
(cond
|
||||
(let ((p (car e))
|
||||
(end (nth 6 e)))
|
||||
(cond
|
||||
;; Before inserted item, positions don't change but
|
||||
;; an item ending after insertion has its end shifted
|
||||
;; by SIZE-OFFSET.
|
||||
|
@ -2167,18 +2129,6 @@ item is invisible."
|
|||
(goto-char (match-end 0))
|
||||
t)))))
|
||||
|
||||
(defun org-mark-list ()
|
||||
"Mark the current list.
|
||||
If this is a sublist, only mark the sublist."
|
||||
(interactive)
|
||||
(let* ((item (org-list-get-item-begin))
|
||||
(struct (org-list-struct))
|
||||
(prevs (org-list-prevs-alist struct))
|
||||
(lbeg (org-list-get-list-begin item struct prevs))
|
||||
(lend (org-list-get-list-end item struct prevs)))
|
||||
(push-mark lend nil t)
|
||||
(goto-char lbeg)))
|
||||
|
||||
(defun org-list-repair ()
|
||||
"Fix indentation, bullets and checkboxes is the list at point."
|
||||
(interactive)
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
|
||||
;;; Commentary:
|
||||
;;
|
||||
;;
|
||||
|
||||
;;; Code:
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@
|
|||
|
||||
(eval-when-compile (require 'cl))
|
||||
|
||||
(declare-function org-pop-to-buffer-same-window
|
||||
(declare-function org-pop-to-buffer-same-window
|
||||
"org-compat" (&optional buffer-or-name norecord label))
|
||||
|
||||
(defgroup org-mobile nil
|
||||
|
@ -68,7 +68,6 @@ org-agenda-text-search-extra-files
|
|||
(defcustom org-mobile-files-exclude-regexp ""
|
||||
"A regexp to exclude files from `org-mobile-files'."
|
||||
:group 'org-mobile
|
||||
:version "24.1"
|
||||
:type 'regexp)
|
||||
|
||||
(defcustom org-mobile-directory ""
|
||||
|
@ -85,7 +84,6 @@ Turning on encryption requires to set the same password in the MobileOrg
|
|||
application. Before turning this on, check of MobileOrg does already
|
||||
support it - at the time of this writing it did not yet."
|
||||
:group 'org-mobile
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-mobile-encryption-tempfile "~/orgtmpcrypt"
|
||||
|
@ -93,7 +91,6 @@ support it - at the time of this writing it did not yet."
|
|||
This must be local file on your local machine (not on the WebDAV server).
|
||||
You might want to put this file into a directory where only you have access."
|
||||
:group 'org-mobile
|
||||
:version "24.1"
|
||||
:type 'directory)
|
||||
|
||||
(defcustom org-mobile-encryption-password ""
|
||||
|
@ -114,7 +111,6 @@ it, this also limits the security of this approach. You can also leave
|
|||
this variable empty - Org will then ask for the password once per Emacs
|
||||
session."
|
||||
:group 'org-mobile
|
||||
:version "24.1"
|
||||
:type '(string :tag "Password"))
|
||||
|
||||
(defvar org-mobile-encryption-password-session nil)
|
||||
|
@ -154,7 +150,6 @@ custom all custom agendas defined by the user
|
|||
all the custom agendas and the default ones
|
||||
list a list of selection key(s) as string."
|
||||
:group 'org-mobile
|
||||
:version "24.1"
|
||||
:type '(choice
|
||||
(const :tag "Default Agendas" default)
|
||||
(const :tag "Custom Agendas" custom)
|
||||
|
@ -277,7 +272,7 @@ Also exclude files matching `org-mobile-files-exclude-regexp'."
|
|||
(t nil)))
|
||||
org-mobile-files)))
|
||||
(files (delete
|
||||
nil
|
||||
nil
|
||||
(mapcar (lambda (f)
|
||||
(unless (and (not (string= org-mobile-files-exclude-regexp ""))
|
||||
(string-match org-mobile-files-exclude-regexp f))
|
||||
|
@ -300,8 +295,6 @@ Also exclude files matching `org-mobile-files-exclude-regexp'."
|
|||
(push (cons file link-name) rtn)))
|
||||
(nreverse rtn)))
|
||||
|
||||
(defvar org-agenda-filter)
|
||||
|
||||
;;;###autoload
|
||||
(defun org-mobile-push ()
|
||||
"Push the current state of Org affairs to the WebDAV directory.
|
||||
|
@ -310,7 +303,7 @@ create all custom agenda views, for upload to the mobile phone."
|
|||
(interactive)
|
||||
(let ((a-buffer (get-buffer org-agenda-buffer-name)))
|
||||
(let ((org-agenda-buffer-name "*SUMO*")
|
||||
(org-agenda-tag-filter org-agenda-tag-filter)
|
||||
(org-agenda-filter org-agenda-filter)
|
||||
(org-agenda-redo-command org-agenda-redo-command))
|
||||
(save-excursion
|
||||
(save-window-excursion
|
||||
|
@ -506,7 +499,7 @@ agenda view showing the flagged items."
|
|||
org-mobile-directory))
|
||||
(save-excursion
|
||||
(setq buf (find-file file))
|
||||
(when (and (= (point-min) (point-max)))
|
||||
(when (and (= (point-min) (point-max)))
|
||||
(insert "\n")
|
||||
(save-buffer)
|
||||
(when org-mobile-use-encryption
|
||||
|
@ -1106,3 +1099,4 @@ A and B must be strings or nil."
|
|||
(provide 'org-mobile)
|
||||
|
||||
;;; org-mobile.el ends here
|
||||
|
||||
|
|
|
@ -50,9 +50,6 @@
|
|||
:tag "Org"
|
||||
:group 'org)
|
||||
|
||||
(defvar org-drawer-regexp)
|
||||
(defvar org-property-re)
|
||||
|
||||
(defun org-thing-at-point ()
|
||||
"Examine the thing at point and let the caller know what it is.
|
||||
The return value is a string naming the thing at point."
|
||||
|
@ -86,17 +83,9 @@ The return value is a string naming the thing at point."
|
|||
((and (equal (char-before beg1) ?:)
|
||||
(equal (char-after (point-at-bol)) ?*))
|
||||
(cons "tag" nil))
|
||||
((and (equal (char-before beg1) ?:)
|
||||
(not (equal (char-after (point-at-bol)) ?*))
|
||||
(save-excursion
|
||||
(move-beginning-of-line 1)
|
||||
(skip-chars-backward "[ \t\n]")
|
||||
(or (looking-back org-drawer-regexp)
|
||||
(looking-back org-property-re))))
|
||||
(cons "prop" nil))
|
||||
((and (equal (char-before beg1) ?:)
|
||||
(not (equal (char-after (point-at-bol)) ?*)))
|
||||
(cons "drawer" nil))
|
||||
(cons "prop" nil))
|
||||
(t nil))))
|
||||
|
||||
(defun org-command-at-point ()
|
||||
|
@ -157,7 +146,7 @@ When completing for #+STARTUP, for example, this function returns
|
|||
(org-split-string (org-get-current-options) "\n"))
|
||||
org-additional-option-like-keywords)))))
|
||||
(substring pcomplete-stub 2)))
|
||||
|
||||
|
||||
(defvar org-startup-options)
|
||||
(defun pcomplete/org-mode/file-option/startup ()
|
||||
"Complete arguments for the #+STARTUP file option."
|
||||
|
@ -250,25 +239,6 @@ This needs more work, to handle headings with lots of spaces in them."
|
|||
lst))
|
||||
(substring pcomplete-stub 1)))
|
||||
|
||||
(defvar org-drawers)
|
||||
|
||||
(defun pcomplete/org-mode/drawer ()
|
||||
"Complete a drawer name."
|
||||
(let ((spc (save-excursion
|
||||
(move-beginning-of-line 1)
|
||||
(looking-at "^\\([ \t]*\\):")
|
||||
(match-string 1)))
|
||||
(cpllist (mapcar (lambda (x) (concat x ": ")) org-drawers)))
|
||||
(pcomplete-here cpllist
|
||||
(substring pcomplete-stub 1)
|
||||
(unless (or (not (delete
|
||||
nil
|
||||
(mapcar (lambda(x)
|
||||
(string-match (substring pcomplete-stub 1) x))
|
||||
cpllist)))
|
||||
(looking-at "[ \t]*\n.*:END:"))
|
||||
(save-excursion (insert "\n" spc ":END:"))))))
|
||||
|
||||
(defun pcomplete/org-mode/block-option/src ()
|
||||
"Complete the arguments of a begin_src block.
|
||||
Complete a language in the first field, the header arguments and switches."
|
||||
|
|
|
@ -248,7 +248,6 @@ nil won't sort files.
|
|||
You can overwrite this default per project in your
|
||||
`org-publish-project-alist', using `:sitemap-sort-files'."
|
||||
:group 'org-publish
|
||||
:version "24.1"
|
||||
:type 'symbol)
|
||||
|
||||
(defcustom org-publish-sitemap-sort-folders 'first
|
||||
|
@ -261,7 +260,6 @@ Any other value will not mix files and folders.
|
|||
You can overwrite this default per project in your
|
||||
`org-publish-project-alist', using `:sitemap-sort-folders'."
|
||||
:group 'org-publish
|
||||
:version "24.1"
|
||||
:type 'symbol)
|
||||
|
||||
(defcustom org-publish-sitemap-sort-ignore-case nil
|
||||
|
@ -270,14 +268,12 @@ You can overwrite this default per project in your
|
|||
You can overwrite this default per project in your
|
||||
`org-publish-project-alist', using `:sitemap-ignore-case'."
|
||||
:group 'org-publish
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-publish-sitemap-date-format "%Y-%m-%d"
|
||||
"Format for `format-time-string' which is used to print a date
|
||||
in the sitemap."
|
||||
:group 'org-publish
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-publish-sitemap-file-entry-format "%t"
|
||||
|
@ -288,7 +284,6 @@ You could use brackets to delimit on what part the link will be.
|
|||
%a is the author.
|
||||
%d is the date formatted using `org-publish-sitemap-date-format'."
|
||||
:group 'org-publish
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
|
||||
|
@ -373,7 +368,7 @@ This is a compatibility function for Emacsen without `delete-dups'."
|
|||
|
||||
(declare-function org-publish-delete-dups "org-publish" (list))
|
||||
(declare-function find-lisp-find-files "find-lisp" (directory regexp))
|
||||
(declare-function org-pop-to-buffer-same-window
|
||||
(declare-function org-pop-to-buffer-same-window
|
||||
"org-compat" (&optional buffer-or-name norecord label))
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
@ -1036,7 +1031,7 @@ the project."
|
|||
(setq ibuffer (find-file-noselect index-file))
|
||||
(with-current-buffer ibuffer
|
||||
(erase-buffer)
|
||||
(insert "\n\n#+INCLUDE: \"theindex.inc\"\n\n")
|
||||
(insert "\n\n#+include: \"theindex.inc\"\n\n")
|
||||
(save-buffer))
|
||||
(kill-buffer ibuffer)))))
|
||||
|
||||
|
@ -1132,7 +1127,7 @@ so that the file including them will be republished as well."
|
|||
(let ((ctime (org-publish-cache-ctime-of-src filename)))
|
||||
(or (< pstamp ctime)
|
||||
(when included-files-ctime
|
||||
(not (null (delq nil (mapcar (lambda(ct) (< ctime ct))
|
||||
(not (null (delq nil (mapcar (lambda(ct) (< ctime ct))
|
||||
included-files-ctime))))))))))
|
||||
|
||||
(defun org-publish-cache-set-file-property (filename property value &optional project-name)
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
(declare-function remember "remember" (&optional initial))
|
||||
(declare-function remember-buffer-desc "remember" ())
|
||||
(declare-function remember-finalize "remember" ())
|
||||
(declare-function org-pop-to-buffer-same-window
|
||||
(declare-function org-pop-to-buffer-same-window
|
||||
"org-compat" (&optional buffer-or-name norecord label))
|
||||
|
||||
(defvar remember-save-after-remembering)
|
||||
|
@ -1152,3 +1152,4 @@ See also the variable `org-reverse-note-order'."
|
|||
(provide 'org-remember)
|
||||
|
||||
;;; org-remember.el ends here
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ interpreted by other mechanisms.")
|
|||
(defun org-special-blocks-make-special-cookies ()
|
||||
"Adds special cookies when #+begin_foo and #+end_foo tokens are
|
||||
seen. This is run after a few special cases are taken care of."
|
||||
(when (or (eq org-export-current-backend 'html)
|
||||
(when (or (eq org-export-current-backend 'html)
|
||||
(eq org-export-current-backend 'latex))
|
||||
(goto-char (point-min))
|
||||
(while (re-search-forward "^[ \t]*#\\+\\(begin\\|end\\)_\\(.*\\)$" nil t)
|
||||
|
|
|
@ -41,7 +41,6 @@
|
|||
(declare-function org-at-table.el-p "org" ())
|
||||
(declare-function org-get-indentation "org" (&optional line))
|
||||
(declare-function org-switch-to-buffer-other-window "org" (&rest args))
|
||||
(declare-function org-strip-protective-commas "org" (beg end))
|
||||
(declare-function org-pop-to-buffer-same-window
|
||||
"org-compat" (&optional buffer-or-name norecord label))
|
||||
|
||||
|
@ -173,7 +172,6 @@ For example, there is no ocaml-mode in Emacs, but the mode to use is
|
|||
|
||||
(defvar org-src-mode-map (make-sparse-keymap))
|
||||
(define-key org-src-mode-map "\C-c'" 'org-edit-src-exit)
|
||||
(define-key org-src-mode-map "\C-x\C-s" 'org-edit-src-save)
|
||||
|
||||
(defvar org-edit-src-force-single-line nil)
|
||||
(defvar org-edit-src-from-org-mode nil)
|
||||
|
@ -328,7 +326,6 @@ buffer."
|
|||
(if org-src-preserve-indentation col (max 0 (- col total-nindent))))
|
||||
(org-src-mode)
|
||||
(set-buffer-modified-p nil)
|
||||
(setq buffer-file-name nil)
|
||||
(and org-edit-src-persistent-message
|
||||
(org-set-local 'header-line-format msg))
|
||||
(let ((edit-prep-func (intern (concat "org-babel-edit-prep:" lang))))
|
||||
|
@ -674,33 +671,21 @@ the language, a switch telling if the content should be in a single line."
|
|||
(set-window-configuration org-edit-src-saved-temp-window-config)
|
||||
(setq org-edit-src-saved-temp-window-config nil))))
|
||||
|
||||
(defmacro org-src-in-org-buffer (&rest body)
|
||||
`(let ((p (point)) (m (mark)) (ul buffer-undo-list) msg)
|
||||
(save-window-excursion
|
||||
(org-edit-src-exit 'save)
|
||||
,@body
|
||||
(setq msg (current-message))
|
||||
(if (eq org-src-window-setup 'other-frame)
|
||||
(let ((org-src-window-setup 'current-window))
|
||||
(org-edit-src-code 'save))
|
||||
(org-edit-src-code 'save)))
|
||||
(setq buffer-undo-list ul)
|
||||
(push-mark m 'nomessage)
|
||||
(goto-char (min p (point-max)))
|
||||
(message (or msg ""))))
|
||||
(def-edebug-spec org-src-in-org-buffer (body))
|
||||
|
||||
(defun org-edit-src-save ()
|
||||
"Save parent buffer with current state source-code buffer."
|
||||
(interactive)
|
||||
(org-src-in-org-buffer (save-buffer)))
|
||||
|
||||
(declare-function org-babel-tangle "ob-tangle" (&optional only-this-block target-file lang))
|
||||
|
||||
(defun org-src-tangle (arg)
|
||||
"Tangle the parent buffer."
|
||||
(interactive)
|
||||
(org-src-in-org-buffer (org-babel-tangle arg)))
|
||||
(let ((p (point)) (m (mark)) msg)
|
||||
(save-window-excursion
|
||||
(org-edit-src-exit 'save)
|
||||
(save-buffer)
|
||||
(setq msg (current-message))
|
||||
(if (eq org-src-window-setup 'other-frame)
|
||||
(let ((org-src-window-setup 'current-window))
|
||||
(org-edit-src-code 'save))
|
||||
(org-edit-src-code 'save)))
|
||||
(push-mark m 'nomessage)
|
||||
(goto-char (min p (point-max)))
|
||||
(message (or msg ""))))
|
||||
|
||||
(defun org-src-mode-configure-edit-buffer ()
|
||||
(when (org-bound-and-true-p org-edit-src-from-org-mode)
|
||||
|
@ -774,7 +759,6 @@ Org-babel commands."
|
|||
"If non-nil, the effect of TAB in a code block is as if it were
|
||||
issued in the language major mode buffer."
|
||||
:type 'boolean
|
||||
:version "24.1"
|
||||
:group 'org-babel)
|
||||
|
||||
(defun org-src-native-tab-command-maybe ()
|
||||
|
|
|
@ -169,13 +169,11 @@ window configuration, it is not recommended to set this variable to nil,
|
|||
except maybe locally in a special file that has mostly tables with long
|
||||
fields."
|
||||
:group 'org-table
|
||||
:version "24.1"
|
||||
:type 'boolean)
|
||||
|
||||
(defcustom org-table-fix-formulas-confirm nil
|
||||
"Whether the user should confirm when Org fixes formulas."
|
||||
:group 'org-table-editing
|
||||
:version "24.1"
|
||||
:type '(choice
|
||||
(const :tag "with yes-or-no" yes-or-no-p)
|
||||
(const :tag "with y-or-n" y-or-n-p)
|
||||
|
@ -238,7 +236,6 @@ number of hours. Other allowed values are 'seconds, 'minutes and
|
|||
'days, and the output will be a fraction of seconds, minutes or
|
||||
days."
|
||||
:group 'org-table-calculation
|
||||
:version "24.1"
|
||||
:type '(choice (symbol :tag "Seconds" 'seconds)
|
||||
(symbol :tag "Minutes" 'minutes)
|
||||
(symbol :tag "Hours " 'hours)
|
||||
|
@ -250,7 +247,6 @@ For example, using \"~%s~\" will display the result within tilde
|
|||
characters. Beware that modifying the display can prevent the
|
||||
field from being used in another formula."
|
||||
:group 'org-table-settings
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-table-formula-evaluate-inline t
|
||||
|
@ -2440,7 +2436,7 @@ not overwrite the stored one."
|
|||
(modes (copy-sequence org-calc-default-modes))
|
||||
(numbers nil) ; was a variable, now fixed default
|
||||
(keep-empty nil)
|
||||
n form form0 formrpl formrg bw fmt x ev orig c lispp literal
|
||||
n form form0 formrpl formrg bw fmt x ev orig c lispp literal
|
||||
duration duration-output-format)
|
||||
;; Parse the format string. Since we have a lot of modes, this is
|
||||
;; a lot of work. However, I think calc still uses most of the time.
|
||||
|
@ -2465,7 +2461,7 @@ not overwrite the stored one."
|
|||
duration-output-format nil
|
||||
fmt (replace-match "" t t fmt)))
|
||||
(if (string-match "t" fmt)
|
||||
(setq duration t
|
||||
(setq duration t
|
||||
duration-output-format org-table-duration-custom-format
|
||||
numbers t
|
||||
fmt (replace-match "" t t fmt)))
|
||||
|
@ -2533,7 +2529,7 @@ not overwrite the stored one."
|
|||
;; Insert complex ranges
|
||||
(while (and (string-match org-table-range-regexp form)
|
||||
(> (length (match-string 0 form)) 1))
|
||||
(setq formrg (save-match-data
|
||||
(setq formrg (save-match-data
|
||||
(org-table-get-range (match-string 0 form) nil n0)))
|
||||
(setq formrpl
|
||||
(save-match-data
|
||||
|
@ -4763,3 +4759,4 @@ list of the fields in the rectangle ."
|
|||
(provide 'org-table)
|
||||
|
||||
;;; org-table.el ends here
|
||||
|
||||
|
|
|
@ -166,33 +166,28 @@
|
|||
(defcustom org-export-taskjuggler-extension ".tjp"
|
||||
"Extension of TaskJuggler files."
|
||||
:group 'org-export-taskjuggler
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-taskjuggler-project-tag "taskjuggler_project"
|
||||
"Tag, property or todo used to find the tree containing all
|
||||
the tasks for the project."
|
||||
:group 'org-export-taskjuggler
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-taskjuggler-resource-tag "taskjuggler_resource"
|
||||
"Tag, property or todo used to find the tree containing all the
|
||||
resources for the project."
|
||||
:group 'org-export-taskjuggler
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-taskjuggler-target-version 2.4
|
||||
"Which version of TaskJuggler the exporter is targeting."
|
||||
:group 'org-export-taskjuggler
|
||||
:version "24.1"
|
||||
:type 'number)
|
||||
|
||||
(defcustom org-export-taskjuggler-default-project-version "1.0"
|
||||
"Default version string for the project."
|
||||
:group 'org-export-taskjuggler
|
||||
:version "24.1"
|
||||
:type 'string)
|
||||
|
||||
(defcustom org-export-taskjuggler-default-project-duration 280
|
||||
|
@ -200,7 +195,6 @@ resources for the project."
|
|||
in the root node of the task tree, i.e. the tree that has been marked
|
||||
with `org-export-taskjuggler-project-tag'"
|
||||
:group 'org-export-taskjuggler
|
||||
:version "24.1"
|
||||
:type 'integer)
|
||||
|
||||
(defcustom org-export-taskjuggler-default-reports
|
||||
|
@ -220,7 +214,6 @@ with `org-export-taskjuggler-project-tag'"
|
|||
}")
|
||||
"Default reports for the project."
|
||||
:group 'org-export-taskjuggler
|
||||
:version "24.1"
|
||||
:type '(repeat (string :tag "Report")))
|
||||
|
||||
(defcustom org-export-taskjuggler-default-global-properties
|
||||
|
@ -237,7 +230,6 @@ include another TaskJuggler file.
|
|||
The global properties are inserted after the project declaration
|
||||
but before any resource and task declarations."
|
||||
:group 'org-export-taskjuggler
|
||||
:version "24.1"
|
||||
:type '(string :tag "Preamble"))
|
||||
|
||||
;;; Hooks
|
||||
|
@ -363,8 +355,8 @@ information, all the properties, etc."
|
|||
(let* ((props (org-entry-properties))
|
||||
(components (org-heading-components))
|
||||
(level (nth 1 components))
|
||||
(headline
|
||||
(replace-regexp-in-string
|
||||
(headline
|
||||
(replace-regexp-in-string
|
||||
"\"" "\\\"" (nth 4 components) t t)) ; quote double quotes in headlines
|
||||
(parent-ordered (org-taskjuggler-parent-is-ordered-p)))
|
||||
(push (cons "level" level) props)
|
||||
|
@ -414,10 +406,10 @@ deeper), then it's not a leaf."
|
|||
(successor (car (cdr tasks))))
|
||||
(cond
|
||||
;; if a task has no successors it is a leaf
|
||||
((null successor)
|
||||
((null successor)
|
||||
(push (cons (cons "leaf-node" t) task) new-list))
|
||||
;; if the successor has a lower level than task it is a leaf
|
||||
((<= (cdr (assoc "level" successor)) (cdr (assoc "level" task)))
|
||||
((<= (cdr (assoc "level" successor)) (cdr (assoc "level" task)))
|
||||
(push (cons (cons "leaf-node" t) task) new-list))
|
||||
;; otherwise examine the rest of the tasks
|
||||
(t (push task new-list))))
|
||||
|
|
|
@ -53,7 +53,6 @@ the value of the relative timer."
|
|||
"The default timer when a timer is set.
|
||||
When 0, the user is prompted for a value."
|
||||
:group 'org-time
|
||||
:version "24.1"
|
||||
:type 'number)
|
||||
|
||||
(defvar org-timer-start-hook nil
|
||||
|
|
|
@ -6,10 +6,6 @@
|
|||
;; Keywords: outlines, hypermedia, calendar, wp
|
||||
;; Homepage: http://orgmode.org
|
||||
;;
|
||||
;; Support for IMAP folders added
|
||||
;; by Konrad Hinsen <konrad dot hinsen at fastmail dot net>
|
||||
;; Requires VM 8.2.0a or later.
|
||||
;;
|
||||
;; This file is part of GNU Emacs.
|
||||
;;
|
||||
;; GNU Emacs is free software: you can redistribute it and/or modify
|
||||
|
@ -46,17 +42,11 @@
|
|||
(declare-function vm-su-message-id "ext:vm-summary" (m))
|
||||
(declare-function vm-su-subject "ext:vm-summary" (m))
|
||||
(declare-function vm-summarize "ext:vm-summary" (&optional display raise))
|
||||
(declare-function vm-imap-folder-p "ext:vm-save" ())
|
||||
(declare-function vm-imap-find-spec-for-buffer "ext:vm-imap" (buffer))
|
||||
(declare-function vm-imap-folder-for-spec "ext:vm-imap" (spec))
|
||||
(declare-function vm-imap-parse-spec-to-list "ext:vm-imap" (spec))
|
||||
(declare-function vm-imap-spec-for-account "ext:vm-imap" (account))
|
||||
(defvar vm-message-pointer)
|
||||
(defvar vm-folder-directory)
|
||||
|
||||
;; Install the link type
|
||||
(org-add-link-type "vm" 'org-vm-open)
|
||||
(org-add-link-type "vm-imap" 'org-vm-imap-open)
|
||||
(add-hook 'org-store-link-functions 'org-vm-store-link)
|
||||
|
||||
;; Implementation
|
||||
|
@ -71,11 +61,11 @@
|
|||
(save-excursion
|
||||
(vm-select-folder-buffer)
|
||||
(let* ((message (car vm-message-pointer))
|
||||
(subject (vm-su-subject message))
|
||||
(folder buffer-file-name)
|
||||
(subject (vm-su-subject message))
|
||||
(to (vm-get-header-contents message "To"))
|
||||
(from (vm-get-header-contents message "From"))
|
||||
(message-id (vm-su-message-id message))
|
||||
(link-type (if (vm-imap-folder-p) "vm-imap" "vm"))
|
||||
(message-id (vm-su-message-id message))
|
||||
(date (vm-get-header-contents message "Date"))
|
||||
(date-ts (and date (format-time-string
|
||||
(org-time-stamp-format t)
|
||||
|
@ -83,24 +73,20 @@
|
|||
(date-ts-ia (and date (format-time-string
|
||||
(org-time-stamp-format t t)
|
||||
(date-to-time date))))
|
||||
folder desc link)
|
||||
(if (vm-imap-folder-p)
|
||||
(let ((spec (vm-imap-find-spec-for-buffer (current-buffer))))
|
||||
(setq folder (vm-imap-folder-for-spec spec)))
|
||||
(progn
|
||||
(setq folder (abbreviate-file-name buffer-file-name))
|
||||
(if (and vm-folder-directory
|
||||
(string-match (concat "^" (regexp-quote vm-folder-directory))
|
||||
folder))
|
||||
(setq folder (replace-match "" t t folder)))))
|
||||
(setq message-id (org-remove-angle-brackets message-id))
|
||||
(org-store-link-props :type link-type :from from :to to :subject subject
|
||||
desc link)
|
||||
(org-store-link-props :type "vm" :from from :to to :subject subject
|
||||
:message-id message-id)
|
||||
(when date
|
||||
(org-add-link-props :date date :date-timestamp date-ts
|
||||
:date-timestamp-inactive date-ts-ia))
|
||||
(setq message-id (org-remove-angle-brackets message-id))
|
||||
(setq folder (abbreviate-file-name folder))
|
||||
(if (and vm-folder-directory
|
||||
(string-match (concat "^" (regexp-quote vm-folder-directory))
|
||||
folder))
|
||||
(setq folder (replace-match "" t t folder)))
|
||||
(setq desc (org-email-link-description))
|
||||
(setq link (org-make-link (concat link-type ":") folder "#" message-id))
|
||||
(setq link (org-make-link "vm:" folder "#" message-id))
|
||||
(org-add-link-props :link link :description desc)
|
||||
link))))
|
||||
|
||||
|
@ -135,46 +121,21 @@
|
|||
(setq folder (format "/%s@%s:%s" user host file))))))
|
||||
(when folder
|
||||
(funcall (cdr (assq 'vm org-link-frame-setup)) folder readonly)
|
||||
(sit-for 0.1)
|
||||
(when article
|
||||
(org-vm-select-message (org-add-angle-brackets article)))))
|
||||
|
||||
(defun org-vm-imap-open (path)
|
||||
"Follow a VM link to an IMAP folder"
|
||||
(require 'vm-imap)
|
||||
(when (string-match "\\([^:]+\\):\\([^#]+\\)#?\\(.+\\)?" path)
|
||||
(let* ((account-name (match-string 1 path))
|
||||
(mailbox-name (match-string 2 path))
|
||||
(message-id (match-string 3 path))
|
||||
(account-spec (vm-imap-parse-spec-to-list
|
||||
(vm-imap-spec-for-account account-name)))
|
||||
(mailbox-spec (mapconcat 'identity
|
||||
(append (butlast account-spec 4)
|
||||
(cons mailbox-name
|
||||
(last account-spec 3)))
|
||||
":")))
|
||||
(funcall (cdr (assq 'vm-imap org-link-frame-setup))
|
||||
mailbox-spec)
|
||||
(when message-id
|
||||
(org-vm-select-message (org-add-angle-brackets message-id))))))
|
||||
|
||||
(defun org-vm-select-message (message-id)
|
||||
"Go to the message with message-id in the current folder."
|
||||
(require 'vm-search)
|
||||
(sit-for 0.1)
|
||||
(vm-select-folder-buffer)
|
||||
(widen)
|
||||
(let ((case-fold-search t))
|
||||
(goto-char (point-min))
|
||||
(if (not (re-search-forward
|
||||
(concat "^" "message-id: *" (regexp-quote message-id))))
|
||||
(error "Could not find the specified message in this folder"))
|
||||
(vm-isearch-update)
|
||||
(vm-isearch-narrow)
|
||||
(vm-preview-current-message)
|
||||
(vm-summarize)))
|
||||
(require 'vm-search)
|
||||
(vm-select-folder-buffer)
|
||||
(widen)
|
||||
(let ((case-fold-search t))
|
||||
(goto-char (point-min))
|
||||
(if (not (re-search-forward
|
||||
(concat "^" "message-id: *" (regexp-quote article))))
|
||||
(error "Could not find the specified message in this folder"))
|
||||
(vm-isearch-update)
|
||||
(vm-isearch-narrow)
|
||||
(vm-preview-current-message)
|
||||
(vm-summarize)))))
|
||||
|
||||
(provide 'org-vm)
|
||||
|
||||
|
||||
|
||||
;;; org-vm.el ends here
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue