Commit 919d884a authored by Ken Manheimer's avatar Ken Manheimer
Browse files

* allout.el (allout-post-undo-hook): New allout outline-change event hook

to signal undo activity.
(allout-post-command-business): Run allout-post-undo-hook if an undo just
occurred.
(allout-after-copy-or-kill-hook), (allout-mode): Minor docstring changes.

* allout-widgets.el (allout-widgets-after-undo-function): Ensure the
integrity of the current item's decoration after it has been in the
vicinity of an undo.
(allout-widgets-mode): Include allout-widgets-after-undo-function on the
new allout-post-undo-hook.
parent 450a0f09
2011-07-05 Ken Manheimer <ken.manheimer@gmail.com>
* allout.el (allout-post-undo-hook): New allout outline-change
event hook to signal undo activity.
(allout-post-command-business): Run allout-post-undo-hook if an
undo just occurred.
(allout-after-copy-or-kill-hook), (allout-mode): Minor docstring
changes.
* allout-widgets.el (allout-widgets-after-undo-function): Ensure
the integrity of the current item's decoration after it has been
in the vicinity of an undo.
(allout-widgets-mode): Include allout-widgets-after-undo-function
on the new allout-post-undo-hook.
2011-07-05 Stefan Monnier <monnier@iro.umontreal.ca>
* emacs-lisp/lisp-mode.el (lisp-interaction-mode-abbrev-table):
......
......@@ -561,6 +561,8 @@ outline hot-spot navigation \(see `allout-mode')."
'allout-widgets-shifts-recorder nil 'local)
(add-hook 'allout-after-copy-or-kill-hook
'allout-widgets-after-copy-or-kill-function nil 'local)
(add-hook 'allout-post-undo-hook
'allout-widgets-after-undo-function nil 'local)
(add-hook 'before-change-functions 'allout-widgets-before-change-handler
nil 'local)
......@@ -1130,6 +1132,14 @@ Dispatched by `allout-widgets-post-command-business' in response to
Intended for use on allout-after-copy-or-kill-hook."
(if (car kill-ring)
(setcar kill-ring (allout-widgets-undecorate-text (car kill-ring)))))
;;;_ > allout-widgets-after-undo-function ()
(defun allout-widgets-after-undo-function ()
"Do allout-widgets processing of text after an undo.
Intended for use on allout-post-undo-hook."
(save-excursion
(if (allout-goto-prefix)
(allout-redecorate-item (allout-get-or-create-item-widget)))))
;;;_ > allout-widgets-exposure-undo-recorder (widget from-state)
(defun allout-widgets-exposure-undo-recorder (widget)
......
......@@ -1461,7 +1461,15 @@ This hook might be invoked multiple times by a single command.")
(defvar allout-after-copy-or-kill-hook nil
"*Hook that's run after copying outline text.
Functions on the hook should not take any arguments.")
Functions on the hook should not require any arguments.")
;;;_ = allout-post-undo-hook
(defvar allout-post-undo-hook nil
"*Hook that's run after undo activity.
The item that's current when the hook is run *may* be the one
that was affected by the undo.
Functions on the hook should not require any arguments.")
;;;_ = allout-outside-normal-auto-fill-function
(defvar allout-outside-normal-auto-fill-function nil
"Value of normal-auto-fill-function outside of allout mode.
......@@ -1874,6 +1882,7 @@ without changes to the allout core. Here are key ones:
`allout-structure-deleted-hook'
`allout-structure-shifted-hook'
`allout-after-copy-or-kill-hook'
`allout-post-undo-hook'
Terminology
......@@ -3313,6 +3322,7 @@ coordinating with allout activity.")
(when allout-just-did-undo
(setq allout-just-did-undo nil)
(run-hooks 'allout-post-undo-hook)
(cond ((and (= buffer-saved-size -1)
allout-auto-save-temporarily-disabled)
;; user possibly undid a decryption, deinhibit auto-save:
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment