Skip to content

Commit 7471762

Browse files
committed
fix meow-beacon bug
bug introduced in 6741f4d. fixes #291.
1 parent 679f73d commit 7471762

File tree

3 files changed

+13
-7
lines changed

3 files changed

+13
-7
lines changed

meow-command.el

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1591,14 +1591,17 @@ This command is a replacement for build-in `kmacro-end-macro'."
15911591
;;; GRAB SELECTION
15921592
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
15931593

1594+
(defun meow--cancel-second-selection ()
1595+
(delete-overlay mouse-secondary-overlay)
1596+
(setq mouse-secondary-start (make-marker))
1597+
(move-marker mouse-secondary-start (point)))
1598+
15941599
(defun meow-grab ()
15951600
"Create secondary selection or a marker if no region available."
15961601
(interactive)
15971602
(if (region-active-p)
15981603
(secondary-selection-from-region)
1599-
(delete-overlay mouse-secondary-overlay)
1600-
(setq mouse-secondary-start (make-marker))
1601-
(move-marker mouse-secondary-start (point)))
1604+
(meow--cancel-second-selection))
16021605
(meow--cancel-selection))
16031606

16041607
(defun meow-pop-grab ()

meow-core.el

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,7 @@
9090
(meow--cancel-selection)
9191
(hl-line-mode -1))
9292
(when meow--beacon-backup-hl-line
93-
(hl-line-mode 1))
94-
(meow--beacon-remove-overlays)))
93+
(hl-line-mode 1))))
9594

9695
;;;###autoload
9796
(define-minor-mode meow-mode
@@ -156,7 +155,10 @@ there's no chance for meow to call an init function."
156155

157156
(defun meow--disable ()
158157
"Disable Meow."
159-
(mapc (lambda (state-mode) (funcall (cdr state-mode) -1)) meow-state-mode-alist))
158+
(mapc (lambda (state-mode) (funcall (cdr state-mode) -1)) meow-state-mode-alist)
159+
(meow--beacon-remove-overlays)
160+
(when (secondary-selection-exist-p)
161+
(meow--cancel-second-selection)))
160162

161163
(defun meow--global-enable ()
162164
"Enable meow globally."

meow-util.el

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,8 @@ Looks up the state in meow-replace-state-name-list"
204204
(defun meow--exit-keypad-state ()
205205
"Exit keypad state."
206206
(meow-keypad-mode -1)
207-
(when (eq 'beacon meow--keypad-previous-state)
207+
(when (and (eq 'beacon meow--keypad-previous-state)
208+
meow--current-state)
208209
(meow--beacon-apply-command meow--keypad-this-command))
209210
(when meow--keypad-previous-state
210211
(meow--switch-state meow--keypad-previous-state)))

0 commit comments

Comments
 (0)