help-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: symbols verses words


From: Andreas Röhler
Subject: Re: symbols verses words
Date: Thu, 03 Mar 2011 08:52:27 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; de; rv:1.9.1.11) Gecko/20100711 Thunderbird/3.0.6

Am 03.03.2011 01:20, schrieb Perry Smith:
I need some help understanding Emac's design.  I use a lot of "word" constructs where I 
*think* I should be using symbol.  For example, if I'm writing C code and I want to find foo but not 
foo_bar, I usually do \<foo\>  but really it seems that I should be doing \_<foo\_>  ... 
fine.  I can make that adjustment.  But when I do incremental search, I often hit ^w to pull in the 
next word but what I really want (often but not always) is to pull in the next symbol (into the 
search string).  So if I'm sitting at this_that, I'd ilke to hit ^W (perhaps) and pull in this_that 
instead of just this.

So, I started looking at isearch-yank-word-or-char and I was going to concoct 
isearch-yank-symbol-or-char and got stuck-- at least briefly.  Because not only 
is _ marked as symbol, -, +, /, *, etc are marked as symbol characters too.  So 
now, I'm confused...

If I have:  this  this_that  this-that

and search for \_<this\_>  I hit the first and third this -- which is exactly 
what I want.


Which should not happen IMHO, as

`\_>'
     matches the empty string, but only at the end of a symbol


and your third this of this-that is not at the end.

BTW can't reproduce this with C-M-s, isearch-repeat-forward

it doesn't match this-that, as expected.

Looks like a bug, maybe try the last pre-release, which works fine here:

ftp://alpha.gnu.org/gnu/emacs/pretest/emacs-23.3-rc1.tar.gz

Andreas

--
https://code.launchpad.net/~a-roehler/python-mode/python-mode-components
https://code.launchpad.net/s-x-emacs-werkstatt/




But how is it doing that since this_that and this-that are the same as far as looking at the syntax table entries? They are both wwww_wwww.

I'd like to understand how the \_<  and \_>  constructs work so I can make my 
isearch-yank-symbol-or-char work in a consistent manner.

Thanks,
Perry







reply via email to

[Prev in Thread] Current Thread [Next in Thread]