From 56f51a5e66c5b4f35837b7592b832f23b05c97e8 Mon Sep 17 00:00:00 2001 From: Hendrik Tews Date: Mon, 24 Jan 2011 15:37:30 +0000 Subject: - change 'span-delete-action in 'span-delete-actions, which is now a list of functions to be run when the span is deleted. Use span-add-delete-action to add a delete action. --- lib/span.el | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'lib/span.el') diff --git a/lib/span.el b/lib/span.el index cbdf8406..371292ec 100644 --- a/lib/span.el +++ b/lib/span.el @@ -85,11 +85,16 @@ (car-safe (spans-at-point-prop pt prop))) (defsubst span-delete (span) - "Delete SPAN." - (let ((predelfn (span-property span 'span-delete-action))) - (and predelfn (funcall predelfn))) + "Run the 'span-delete-actions and delete SPAN." + (mapc (lambda (predelfn) (funcall predelfn)) + (span-property span 'span-delete-actions)) (delete-overlay span)) +(defsubst span-add-delete-action (span action) + "Add ACTION to the list of functions called when SPAN is deleted." + (span-set-property span 'span-delete-actions + (cons action (span-property span 'span-delete-actions)))) + ;; The next two change ordering of list of spans: (defsubst span-mapcar-spans (fn start end prop) "Map function FN over spans between START and END with property PROP." -- cgit v1.2.3