[slime-devel] [RfC] Changing behaviour of `C-w' in Isearch
Bill Clementson
billclem at gmail.com
Tue Jan 8 15:35:39 UTC 2008
Hi Tobias,
> I often find it quite annoying that `C-w' during Isearch just inserts
> the word at point; the reason is that variable identifiers in Lisp
> contain non-word constituents very often.
>
> E.g. If point is at *special-variables*, you'd have to press `C-w' three
> times to eventually get it inserted as the search string.
>
> The following will make `C-w' respect symbol constituents as well as
> word constituents when isearching in Lisp buffers, such that one `C-w'
> will suffice for gripping special variables.
>
> (defun isearch-yank-symbolic-word-or-char ()
> (interactive)
> (isearch-yank-internal
> (lambda ()
> (let ((distance (skip-syntax-forward "w_")))
> (when (zerop distance) (forward-char 1))
> (point)))))
>
> (add-hook 'lisp-mode-hook
> (lambda ()
> (make-local-variable 'isearch-mode-map)
> (define-key isearch-mode-map
> "\C-w" 'isearch-yank-symbolic-word-or-char)))
>
>
> I consider this generally useful, and wanted to ask if I should commit
> something like that to Slime?
I don't know whether it should be put into Slime; however, it's easy
enough to set this in emacs by doing the following:
(modify-syntax-entry ?- "w") ; now '-' is not considered a word-delimiter
--
Bill Clementson
More information about the slime-devel
mailing list