diff options
author | David Maus <dmaus@ictsoc.de> | 2011-08-12 08:49:24 +0200 |
---|---|---|
committer | David Maus <dmaus@ictsoc.de> | 2011-08-12 08:49:24 +0200 |
commit | 7410001a4768b58a9e6c9ea414a0aeffec1a8471 (patch) | |
tree | ae514d9004e4335b453678eb9a0af18ee8c486dd | |
parent | 44e42d4dabf839f94ef682fa43cf7d66ac1e7109 (diff) | |
parent | 545bfddeead9496a6ecc8ade24f6e30b71995e08 (diff) | |
download | org-mode-7410001a4768b58a9e6c9ea414a0aeffec1a8471.tar.gz |
Merge branch 'refactor/org-macros'
-rw-r--r-- | lisp/ob-comint.el | 2 | ||||
-rw-r--r-- | lisp/ob-exp.el | 1 | ||||
-rw-r--r-- | lisp/ob-table.el | 1 | ||||
-rw-r--r-- | lisp/ob-tangle.el | 1 | ||||
-rw-r--r-- | lisp/ob.el | 3 | ||||
-rw-r--r-- | lisp/org-agenda.el | 4 | ||||
-rw-r--r-- | lisp/org-clock.el | 4 | ||||
-rw-r--r-- | lisp/org-compat.el | 1 | ||||
-rw-r--r-- | lisp/org-macs.el | 25 | ||||
-rw-r--r-- | lisp/org-publish.el | 1 | ||||
-rw-r--r-- | lisp/org-src.el | 1 |
11 files changed, 40 insertions, 4 deletions
diff --git a/lisp/ob-comint.el b/lisp/ob-comint.el index 4e23888..09f02f0 100644 --- a/lisp/ob-comint.el +++ b/lisp/ob-comint.el @@ -54,6 +54,7 @@ executed inside the protection of `save-excursion' and (error "buffer %s doesn't exist or has no process" ,buffer)) (set-buffer ,buffer) ,@body))) +(def-edebug-spec org-babel-comint-in-buffer (form body)) (defmacro org-babel-comint-with-output (meta &rest body) "Evaluate BODY in BUFFER and return process output. @@ -115,6 +116,7 @@ or user `keyboard-quit' during execution of body." string-buffer)) (setq raw (substring string-buffer (match-end 0)))) (split-string string-buffer comint-prompt-regexp))))) +(def-edebug-spec org-babel-comint-with-output (form body)) (defun org-babel-comint-input-command (buffer cmd) "Pass CMD to BUFFER. diff --git a/lisp/ob-exp.el b/lisp/ob-exp.el index 062033a..2134301 100644 --- a/lisp/ob-exp.el +++ b/lisp/ob-exp.el @@ -73,6 +73,7 @@ process." (setq results ,@body)) (set-buffer export-buffer) results))) +(def-edebug-spec org-babel-exp-in-export-file (form body)) (defun org-babel-exp-src-block (body &rest headers) "Process source block for export. diff --git a/lisp/ob-table.el b/lisp/ob-table.el index 91e238f..df9e7b5 100644 --- a/lisp/ob-table.el +++ b/lisp/ob-table.el @@ -118,6 +118,7 @@ example above." (org-babel-execute-src-block nil (list "emacs-lisp" "results" params) '((:results . "silent")))) "")))) +(def-edebug-spec sbe (form form)) (provide 'ob-table) diff --git a/lisp/ob-tangle.el b/lisp/ob-tangle.el index d4fb606..3ead8de 100644 --- a/lisp/ob-tangle.el +++ b/lisp/ob-tangle.el @@ -119,6 +119,7 @@ evaluating BODY." (setf ,temp-result (progn ,@body))) (unless ,visited-p (kill-buffer ,temp-file)) ,temp-result))) +(def-edebug-spec org-babel-with-temp-filebuffer (form body)) ;;;###autoload (defun org-babel-load-file (file) @@ -624,6 +624,7 @@ Return t if a code block was found at point, nil otherwise." (if (org-bound-and-true-p org-edit-src-from-org-mode) (org-edit-src-exit))) t))) +(def-edebug-spec org-babel-do-in-edit-buffer (body)) (defun org-babel-do-key-sequence-in-edit-buffer (key) "Read key sequence and execute the command in edit buffer. @@ -720,6 +721,7 @@ end-body --------- point at the end of the body" (goto-char end-block)))) (unless visited-p (kill-buffer to-be-removed)) (goto-char point)))) +(def-edebug-spec org-babel-map-src-blocks (form body)) ;;;###autoload (defmacro org-babel-map-inline-src-blocks (file &rest body) @@ -742,6 +744,7 @@ buffer." (goto-char (match-end 0)))) (unless visited-p (kill-buffer to-be-removed)) (goto-char point)))) +(def-edebug-spec org-babel-map-inline-src-blocks (form body)) ;;;###autoload (defun org-babel-execute-buffer (&optional arg) diff --git a/lisp/org-agenda.el b/lisp/org-agenda.el index bf88b35..7e346a7 100644 --- a/lisp/org-agenda.el +++ b/lisp/org-agenda.el @@ -1738,6 +1738,7 @@ of the current line." (save-excursion (goto-char ,marker) ,@body))))) +(def-edebug-spec org-agenda-with-point-at-orig-entry (form body)) (defun org-add-agenda-custom-command (entry) "Replace or add a command in `org-agenda-custom-commands'. @@ -2599,6 +2600,7 @@ before running the agenda command." (org-agenda nil cmd-key))) (set-buffer org-agenda-buffer-name) (princ (org-encode-for-stdout (buffer-string)))) +(def-edebug-spec org-batch-agenda (form &rest sexp)) ;(defun org-encode-for-stdout (string) ; (if (fboundp 'encode-coding-string) @@ -2665,6 +2667,7 @@ agenda-day The day in the agenda where this is listed" priority-letter priority agenda-day) ","))) (princ "\n"))))) +(def-edebug-spec org-batch-agenda-csv (form &rest sexp)) (defun org-fix-agenda-info (props) "Make sure all properties on an agenda item have a canonical form. @@ -2741,6 +2744,7 @@ This ensures the export commands can easily use it." (org-write-agenda (expand-file-name (pop files) dir) nil t))) (and (get-buffer org-agenda-buffer-name) (kill-buffer org-agenda-buffer-name))))))) +(def-edebug-spec org-batch-store-agenda-views (&rest sexp)) (defun org-agenda-mark-header-line (pos) "Mark the line at POS as an agenda structure header." diff --git a/lisp/org-clock.el b/lisp/org-clock.el index 91d4ef1..5a56385 100644 --- a/lisp/org-clock.el +++ b/lisp/org-clock.el @@ -693,7 +693,7 @@ Use alsa's aplay tool if available." (goto-char (car ,clock)) (beginning-of-line) ,@forms)))) - +(def-edebug-spec org-with-clock-position (form body)) (put 'org-with-clock-position 'lisp-indent-function 1) (defmacro org-with-clock (clock &rest forms) @@ -709,7 +709,7 @@ This macro also protects the current active clock from being altered." (outline-back-to-heading t) (point-marker)))) ,@forms))) - +(def-edebug-spec org-with-clock (form body)) (put 'org-with-clock 'lisp-indent-function 1) (defsubst org-clock-clock-in (clock &optional resume start-time) diff --git a/lisp/org-compat.el b/lisp/org-compat.el index e96918c..771d501 100644 --- a/lisp/org-compat.el +++ b/lisp/org-compat.el @@ -286,6 +286,7 @@ Works on both Emacs and XEmacs." (dolist (ext-inv-spec ext-inv-specs) (set-extent-property (car ext-inv-spec) 'invisible (cadr ext-inv-spec))))) +(def-edebug-spec org-xemacs-without-invisibility (body)) (defun org-indent-to-column (column &optional minimum buffer) "Work around a bug with extents with invisibility in XEmacs." diff --git a/lisp/org-macs.el b/lisp/org-macs.el index a4db2a1..08298ef 100644 --- a/lisp/org-macs.el +++ b/lisp/org-macs.el @@ -51,6 +51,7 @@ `(let ,(mapcar (lambda (s) `(,s (make-symbol (concat "--" (symbol-name ',s))))) symbols) ,@body)) +(def-edebug-spec org-with-gensyms (sexp body)) (put 'org-with-gensyms 'lisp-indent-function 1) (defmacro org-called-interactively-p (&optional kind) @@ -61,17 +62,20 @@ (>= emacs-minor-version 2))) `(with-no-warnings (called-interactively-p ,kind)) ;; defined with no argument in <=23.1 `(interactive-p)))) +(def-edebug-spec org-called-interactively-p (&optional ("quote" symbolp))) -(if (and (not (fboundp 'with-silent-modifications)) +(when (and (not (fboundp 'with-silent-modifications)) (or (< emacs-major-version 23) (and (= emacs-major-version 23) (< emacs-minor-version 2)))) (defmacro with-silent-modifications (&rest body) - `(org-unmodified ,@body))) + `(org-unmodified ,@body)) + (def-edebug-spec with-silent-modifications (body))) (defmacro org-bound-and-true-p (var) "Return the value of symbol VAR if it is bound, else nil." `(and (boundp (quote ,var)) ,var)) +(def-edebug-spec org-bound-and-true-p (symbolp)) (defun org-string-nw-p (s) "Is S a string with a non-white character?" @@ -92,6 +96,7 @@ Also, do not record undo information." (let ((buffer-undo-list t) before-change-functions after-change-functions) ,@body)))) +(def-edebug-spec org-unmodified (body)) (defun org-substitute-posix-classes (re) "Substitute posix classes in regular expression RE." @@ -110,6 +115,7 @@ Also, do not record undo information." (defmacro org-re (s) "Replace posix classes in regular expression." (if (featurep 'xemacs) `(org-substitute-posix-classes ,s) s)) +(def-edebug-spec org-re (form)) (defmacro org-preserve-lc (&rest body) (org-with-gensyms (line col) @@ -119,6 +125,7 @@ Also, do not record undo information." (progn ,@body) (org-goto-line ,line) (org-move-to-column ,col))))) +(def-edebug-spec org-preserve-lc (body)) (defmacro org-without-partial-completion (&rest body) `(if (and (boundp 'partial-completion-mode) @@ -130,7 +137,9 @@ Also, do not record undo information." ,@body) (partial-completion-mode 1)) ,@body)) +(def-edebug-spec org-without-partial-completion (body)) +;; FIXME: Slated for removal. Current Org mode does not support Emacs < 22 (defmacro org-maybe-intangible (props) "Add '(intangible t) to PROPS if Emacs version is earlier than Emacs 22. In Emacs 21, invisible text is not avoided by the command loop, so the @@ -152,25 +161,30 @@ We use a macro so that the test can happen at compilation time." (save-excursion (goto-char (or ,mpom (point))) ,@body))))) +(def-edebug-spec org-with-point-at (form body)) (put 'org-with-point-at 'lisp-indent-function 1) (defmacro org-no-warnings (&rest body) (cons (if (fboundp 'with-no-warnings) 'with-no-warnings 'progn) body)) +(def-edebug-spec org-no-warnings (body)) (defmacro org-if-unprotected (&rest body) "Execute BODY if there is no `org-protected' text property at point." `(unless (get-text-property (point) 'org-protected) ,@body)) +(def-edebug-spec org-if-unprotected (body)) (defmacro org-if-unprotected-1 (&rest body) "Execute BODY if there is no `org-protected' text property at point-1." `(unless (get-text-property (1- (point)) 'org-protected) ,@body)) +(def-edebug-spec org-if-unprotected-1 (body)) (defmacro org-if-unprotected-at (pos &rest body) "Execute BODY if there is no `org-protected' text property at POS." `(unless (get-text-property ,pos 'org-protected) ,@body)) +(def-edebug-spec org-if-unprotected-at (form body)) (put 'org-if-unprotected-at 'lisp-indent-function 1) (defun org-re-search-forward-unprotected (&rest args) @@ -182,6 +196,7 @@ We use a macro so that the test can happen at compilation time." (unless (get-text-property (match-beginning 0) 'org-protected) (throw 'exit (point)))))) +;; FIXME: Normalize argument names (defmacro org-with-remote-undo (_buffer &rest _body) "Execute BODY while recording undo information in two buffers." (org-with-gensyms (cline cmd buf1 buf2 undo1 undo2 c1 c2) @@ -205,11 +220,13 @@ We use a macro so that the test can happen at compilation time." ;; remember which buffer to undo (push (list ,cmd ,cline ,buf1 ,c1 ,buf2 ,c2) org-agenda-undo-list)))))) +(def-edebug-spec org-with-remote-undo (form body)) (put 'org-with-remote-undo 'lisp-indent-function 1) (defmacro org-no-read-only (&rest body) "Inhibit read-only for BODY." `(let ((inhibit-read-only t)) ,@body)) +(def-edebug-spec org-no-read-only (body)) (defconst org-rm-props '(invisible t face t keymap t intangible t mouse-face t rear-nonsticky t mouse-map t fontified t @@ -349,6 +366,7 @@ point nowhere." (and (markerp (cdr c)) (move-marker (cdr c) nil))) ,data))) ,rtn))) +(def-edebug-spec org-save-outline-visibility (form body)) (defmacro org-with-wide-buffer (&rest body) "Execute body while temporarily widening the buffer." @@ -356,6 +374,7 @@ point nowhere." (save-restriction (widen) ,@body))) +(def-edebug-spec org-with-wide-buffer (body)) (defmacro org-with-limited-levels (&rest body) "Execute BODY with limited number of outline levels." @@ -363,6 +382,7 @@ point nowhere." (outline-regexp org-outline-regexp) (org-outline-regexp-at-bol (concat "^" org-outline-regexp))) ,@body)) +(def-edebug-spec org-with-limited-levels (body)) (defvar org-outline-regexp) ; defined in org.el (defvar org-odd-levels-only) ; defined in org.el @@ -384,6 +404,7 @@ The number of levels is controlled by `org-inlinetask-min-level'" (defmacro org-eval-in-environment (environment form) `(eval (list 'let ,environment ',form))) +(def-edebug-spec org-eval-in-environment (form form)) (put 'org-eval-in-environment 'lisp-indent-function 1) (defun org-make-parameter-alist (flat) diff --git a/lisp/org-publish.el b/lisp/org-publish.el index 67bccae..354dcde 100644 --- a/lisp/org-publish.el +++ b/lisp/org-publish.el @@ -602,6 +602,7 @@ PUB-DIR is the publishing directory." org-export-preprocess-after-headline-targets-hook) org-export-preprocess-after-headline-targets-hook))) ,@body)) +(def-edebug-spec org-publish-with-aux-preprocess-maybe (body)) (defvar project-plist) (defun org-publish-org-to-latex (plist filename pub-dir) diff --git a/lisp/org-src.el b/lisp/org-src.el index 094ec09..608b4e8 100644 --- a/lisp/org-src.el +++ b/lisp/org-src.el @@ -718,6 +718,7 @@ the language, a switch telling if the content should be in a single line." (with-current-buffer (marker-buffer beg-marker) (goto-char (marker-position beg-marker)) ,@body)))) +(def-edebug-spec org-src-do-at-code-block (body)) (defun org-src-do-key-sequence-at-code-block (&optional key) "Execute key sequence at code block in the source Org buffer. |