aboutsummaryrefslogtreecommitdiff
path: root/generic
diff options
context:
space:
mode:
authorPierre Courtieu2004-03-17 14:48:45 +0000
committerPierre Courtieu2004-03-17 14:48:45 +0000
commit818c3801029863e220f17ef0ed12642e05a76e84 (patch)
tree17889c6a56176190079ed17e441efc798feccb36 /generic
parentae033a743e9fb6512bcb41da1d184d423904acab (diff)
holes debugging.
Diffstat (limited to 'generic')
-rw-r--r--generic/holes.el16
-rw-r--r--generic/span-extent.el4
-rw-r--r--generic/span-overlay.el15
3 files changed, 25 insertions, 10 deletions
diff --git a/generic/holes.el b/generic/holes.el
index 4a03f9de..c32b21f6 100644
--- a/generic/holes.el
+++ b/generic/holes.el
@@ -363,7 +363,7 @@ is), which is annoying.
ext `(
hole ,hole-counter
mouse-face highlight
- priority 5 ; what should I put here? I want holes to have big priority
+ priority 100 ; what should I put here? I want holes to have big priority
face secondary-selection
start-open nil
end-open t
@@ -656,9 +656,11 @@ is), which is annoying.
)
+(defun hole-at-event (event) (span-at-event event 'hole))
+
(defun mouse-destroy-hole (event)
(interactive "*e")
- (destroy-hole (span-at-event event))
+ (destroy-hole (hole-at-event event))
)
@@ -667,7 +669,7 @@ is), which is annoying.
(defun mouse-forget-hole (event)
(interactive "*e")
(save-excursion
- (let ((ext (span-at-event event)))
+ (let ((ext (hole-at-event event)))
(if (eq ext active-hole)
(disable-active-hole))
(detach-span ext)
@@ -689,7 +691,7 @@ is), which is annoying.
(if (hole-region-exists-p)
(set-make-active-hole)
- (let ((ext (span-at-event event)))
+ (let ((ext (hole-at-event event)))
(if (and ext (is-hole-p ext))
(error "Already a hole here")
(set-active-hole (make-hole-at)))
@@ -700,7 +702,7 @@ is), which is annoying.
(defun mouse-set-active-hole (event)
(interactive "*e")
- (let ((ext (span-at-event event)))
+ (let ((ext (hole-at-event event)))
(if (and ext (is-hole-p ext))
(set-active-hole ext)
(error "No hole here"))
@@ -894,7 +896,7 @@ created. return t if num is > 0, nil otherwise."
(count-holes-in-last-expand) empty-hole-regexp)
(if (> (count-holes-in-last-expand) 1)
(progn (goto-char pos)
- (message "Hit meta-return to jump to active hole. M-x holes-short-doc to see holes documentation."))
+ (message "Hit M-ret to jump to active hole. M-x holes-short-doc to see holes doc."))
(if (= (count-holes-in-last-expand) 0) () ; no hole, stay here.
(goto-char pos)
@@ -918,6 +920,8 @@ created. return t if num is > 0, nil otherwise."
(goto-char pos)
(set-point-next-hole-destroy) ; if only one hole, go to it.
)
+ (if (> c 1) (message "Hit M-ret to jump to active hole. M-x holes-short-doc to see holes doc.")
+ )
)
)
diff --git a/generic/span-extent.el b/generic/span-extent.el
index a2a3a2c9..8bd37441 100644
--- a/generic/span-extent.el
+++ b/generic/span-extent.el
@@ -137,8 +137,8 @@ A span is before PT if it covers the character before PT."
)
;there are more args to extent-at-event
-(defsubst span-at-event (event)
- (extent-at-event event)
+(defsubst span-at-event (event &optional prop)
+ (extent-at-event event prop)
)
(provide 'span-extent)
diff --git a/generic/span-overlay.el b/generic/span-overlay.el
index 535f8a85..5c047bed 100644
--- a/generic/span-overlay.el
+++ b/generic/span-overlay.el
@@ -328,8 +328,19 @@ Behaviour is still worse than before."
)
)
-(defsubst span-at-event (event)
- (car (overlays-at (posn-point (event-start event))))
+(defun span-find-span (overlay-list &optional prop)
+ "Returns the first overlay of overlay-list having property prop (default 'span), nil if no such overlay belong to the list."
+ (let* ((l overlay-list))
+ (while (and
+ (not (eq l nil))
+ (not (overlay-get (car l) (or prop 'span))))
+ (setq l (cdr l)))
+ (if (eq l nil) nil (car l))
+ )
+ )
+
+(defsubst span-at-event (event &optional prop)
+ (span-find-span (overlays-at (posn-point (event-start event))) prop)
)