forked from mirrors/org-mode
org-export: Dispatcher repeats last export action when called with C-u
* contrib/lisp/org-export.el (org-export-dispatch-last-action): New variable. (org-export-dispatch): Repeat last export action when called with C-u.
This commit is contained in:
parent
09cfdb8260
commit
07f4d867e5
|
@ -262,6 +262,11 @@ and CDR is a plist with the following properties:
|
||||||
This variable is set with `org-export-define-backend' and
|
This variable is set with `org-export-define-backend' and
|
||||||
`org-export-define-derived-backend' functions.")
|
`org-export-define-derived-backend' functions.")
|
||||||
|
|
||||||
|
(defvar org-export-dispatch-last-action nil
|
||||||
|
"Last command called from the dispatcher.
|
||||||
|
The value should be a list. Its CAR is the action, as a symbol,
|
||||||
|
and its CDR is a list of export options.")
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
;;; User-configurable Variables
|
;;; User-configurable Variables
|
||||||
|
@ -4835,22 +4840,30 @@ to `:default' encoding. If it fails, return S."
|
||||||
;; pressed to `org-export-dispatch-action'.
|
;; pressed to `org-export-dispatch-action'.
|
||||||
|
|
||||||
;;;###autoload
|
;;;###autoload
|
||||||
(defun org-export-dispatch ()
|
(defun org-export-dispatch (&optional arg)
|
||||||
"Export dispatcher for Org mode.
|
"Export dispatcher for Org mode.
|
||||||
|
|
||||||
It provides an access to common export related tasks in a buffer.
|
It provides an access to common export related tasks in a buffer.
|
||||||
Its interface comes in two flavours: standard and expert. While
|
Its interface comes in two flavours: standard and expert. While
|
||||||
both share the same set of bindings, only the former displays the
|
both share the same set of bindings, only the former displays the
|
||||||
valid keys associations. Set `org-export-dispatch-use-expert-ui'
|
valid keys associations. Set `org-export-dispatch-use-expert-ui'
|
||||||
to switch to one or the other."
|
to switch to one or the other.
|
||||||
(interactive)
|
|
||||||
(let* ((input (save-window-excursion
|
When called with C-u prefix ARG, repeat the last export action,
|
||||||
|
with the same set of options used back then, on the current
|
||||||
|
buffer."
|
||||||
|
(interactive "P")
|
||||||
|
(let* ((input (or (and arg org-export-dispatch-last-action)
|
||||||
|
(save-window-excursion
|
||||||
(unwind-protect
|
(unwind-protect
|
||||||
(org-export-dispatch-ui (list org-export-initial-scope)
|
;; Store this export command.
|
||||||
|
(setq org-export-dispatch-last-action
|
||||||
|
(org-export-dispatch-ui
|
||||||
|
(list org-export-initial-scope)
|
||||||
nil
|
nil
|
||||||
org-export-dispatch-use-expert-ui)
|
org-export-dispatch-use-expert-ui))
|
||||||
(and (get-buffer "*Org Export Dispatcher*")
|
(and (get-buffer "*Org Export Dispatcher*")
|
||||||
(kill-buffer "*Org Export Dispatcher*")))))
|
(kill-buffer "*Org Export Dispatcher*"))))))
|
||||||
(action (car input))
|
(action (car input))
|
||||||
(optns (cdr input)))
|
(optns (cdr input)))
|
||||||
(case action
|
(case action
|
||||||
|
|
Loading…
Reference in New Issue