diff options
| author | Pierre Courtieu | 2004-03-17 14:48:45 +0000 |
|---|---|---|
| committer | Pierre Courtieu | 2004-03-17 14:48:45 +0000 |
| commit | 818c3801029863e220f17ef0ed12642e05a76e84 (patch) | |
| tree | 17889c6a56176190079ed17e441efc798feccb36 /generic | |
| parent | ae033a743e9fb6512bcb41da1d184d423904acab (diff) | |
holes debugging.
Diffstat (limited to 'generic')
| -rw-r--r-- | generic/holes.el | 16 | ||||
| -rw-r--r-- | generic/span-extent.el | 4 | ||||
| -rw-r--r-- | generic/span-overlay.el | 15 |
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) ) |
