diff --git a/mc-mark-more.el b/mc-mark-more.el index e4a141e..51f867e 100644 --- a/mc-mark-more.el +++ b/mc-mark-more.el @@ -29,6 +29,7 @@ (require 'multiple-cursors-core) (require 'thingatpt) +(require 'sgml-mode) (defun mc/cursor-end (cursor) (if (overlay-get cursor 'mark-active) @@ -96,8 +97,8 @@ to (point)), or nil." "How should mc/mark-more-* search for more matches? Match everything: nil -Match only whole words: 'words -Match only whole symbols: 'symbols +Match only whole words: \\='words +Match only whole symbols: \\='symbols Use like case-fold-search, don't recommend setting it globally.") @@ -497,20 +498,27 @@ remove the keymap depends on user input and KEEP-PRED: (push alist emulation-mode-map-alists)))) +(defvar mc/mark-more-like-this-extended-keymap (make-sparse-keymap)) + +(define-key mc/mark-more-like-this-extended-keymap (kbd "") 'mc/mmlte--up) +(define-key mc/mark-more-like-this-extended-keymap (kbd "") 'mc/mmlte--down) +(define-key mc/mark-more-like-this-extended-keymap (kbd "") 'mc/mmlte--left) +(define-key mc/mark-more-like-this-extended-keymap (kbd "") 'mc/mmlte--right) + ;;;###autoload (defun mc/mark-more-like-this-extended () "Like mark-more-like-this, but then lets you adjust with arrow keys. The adjustments work like this: - Mark previous like this and set direction to 'up - Mark next like this and set direction to 'down + Mark previous like this and set direction to \\='up + Mark next like this and set direction to \\='down -If direction is 'up: +If direction is \\='up: Skip past the cursor furthest up Remove the cursor furthest up -If direction is 'down: +If direction is \\='down: Remove the cursor furthest down Skip past the cursor furthest down @@ -558,13 +566,6 @@ are we working on the next or previous cursors?") (mc/skip-to-next-like-this)) (mc/mmlte--message)) -(defvar mc/mark-more-like-this-extended-keymap (make-sparse-keymap)) - -(define-key mc/mark-more-like-this-extended-keymap (kbd "") 'mc/mmlte--up) -(define-key mc/mark-more-like-this-extended-keymap (kbd "") 'mc/mmlte--down) -(define-key mc/mark-more-like-this-extended-keymap (kbd "") 'mc/mmlte--left) -(define-key mc/mark-more-like-this-extended-keymap (kbd "") 'mc/mmlte--right) - (defvar mc--restrict-mark-all-to-symbols nil) ;;;###autoload diff --git a/multiple-cursors-core.el b/multiple-cursors-core.el index 02a9e75..ead1ed3 100644 --- a/multiple-cursors-core.el +++ b/multiple-cursors-core.el @@ -334,7 +334,7 @@ values." (let ((mc-name (intern (concat "mc--" (symbol-name fn-name))))) `(progn (defun ,mc-name (orig-fun &rest args) - (if (not multiple-cursors-mode) + (if (not (bound-and-true-p multiple-cursors-mode)) (apply orig-fun args) (let* ((cache-key (cons ,(symbol-name fn-name) (,args-cache-key-fn args))) (cached-value (assoc cache-key mc--input-function-cache))