Re: [PATCH] bbdb-search: make `string-match' customizable.

2015-06-02 Thread ????
 believe, was concerned
 that typing Chinese names can be cumbersome so that he wanted an
 ascii-based shortcut.


Yes, This is my main focus... 


Nearly every contacts manager in China have this feature.--
___
bbdb-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bbdb-info
BBDB Home Page: http://bbdb.sourceforge.net/

Re: [PATCH] bbdb-search: make `string-match' customizable.

2015-06-02 Thread ????
 Perhaps there should be a standard string-match-loose which is used for 
 potentially-approximate matches like this and which has a  double handful of 
 configuration options and tweaks that can be fiddled with by prefixes in the 
 search string.

In my opinion, i think it is a kind of  abbrev-match instead of 
string-match.



 
--Barak.--
___
bbdb-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bbdb-info
BBDB Home Page: http://bbdb.sourceforge.net/

Re: [PATCH] bbdb-search: make `string-match' customizable.

2015-06-01 Thread Roland Winkler
On Mon Jun 1 2015 Barak A. Pearlmutter wrote:
 To put a slightly different perspective on this, I have a sizable
 bbdb file, and sometimes I can't find someone because I'm spelling
 their name wrong. Maybe Steven vs Stephen. The classic way to deal
 with this is to do a SOUNDEX search, or one of its successors.
 
 A hook here would be useful for this purpose. It wouldn't make
 sense to redefine string-match though. Perhaps there should be a
 standard string-match-loose which is used for
 potentially-approximate matches like this and which has a double
 handful of configuration options and tweaks that can be fiddled
 with by prefixes in the search string.

This is interesting, though it might go in a somewhat different
direction than what the OP had in mind who, I believe, was concerned
that typing Chinese names can be cumbersome so that he wanted an
ascii-based shortcut.

GNU Emacs comes with lisp/soundex.el (for many years).  Yet probably
this does not solve problems with other languages.  It seems to me
that soundex was designed for English only.  Every language has its
own phonetic rules.

The algorithms listed by Wikipedia
http://en.wikipedia.org/wiki/Phonetic_algorithm are all for the
English language, except for one algorithm for German.

There is also http://en.wikipedia.org/wiki/Approximate_string_matching

Again, all this is not specific to BBDB either.  It can probably be
useful for various emacs packages.  But BBDB is probably one of
them.

Any approximate search will give you yet more matches than what you
get otherwise.  So it might not always simplify life if you have a
large BBDB file.  Therefore, exact and approximate search tools
should probably exist in parallel.

--
___
bbdb-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bbdb-info
BBDB Home Page: http://bbdb.sourceforge.net/


Re: [PATCH] bbdb-search: make `string-match' customizable.

2015-06-01 Thread Roland Winkler
On Tue Jun 2 2015 Roland Winkler wrote:
 Any approximate search will give you yet more matches than what you
 get otherwise.  So it might not always simplify life if you have a
 large BBDB file.

The examples at the bottom of lisp/soundex.el illustrate this quite
well.

--
___
bbdb-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bbdb-info
BBDB Home Page: http://bbdb.sourceforge.net/


Re: [PATCH] bbdb-search: make `string-match' customizable.

2015-05-31 Thread Roland Winkler
On Sat May 30 2015 Feng Shu wrote:
 This patch make `string-match' used by `bbdb-search'
 customizable. I use this feature to search Chinese contacts names with
 pinyin. this is a very useful feature for CJK users.

...I am surprised: what is the purpose of replacing string-match
with something else?  (The emacs package chinese-pyim that you are
using seems to be documented in chinese only, which does not help
me.)

I can imagine that CJK might sometimes require different solutions
than, say, western languages.  Yet I am not sure whether it is the
right approach to then introduce custom variables like
bbdb-string-match-function to replace string-match in (only) certain
instances by something else.

I mean: string-match is used by emacs in a zillion of places.  If
for some reason this built-in function does not do what you need,
you might want to discuss at emacs-devel whether this can be
improved in a way that will benefit all emacs code.  Or loading the
package chinese-pyim could effectively replace string-match.
(Yet this only works at the lisp level.  There might also be
instances when string-match is called at the C level.)

Roland

--
___
bbdb-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bbdb-info
BBDB Home Page: http://bbdb.sourceforge.net/


Re: [PATCH] bbdb-search: make `string-match' customizable.

2015-05-31 Thread Feng Shu
Roland Winkler wink...@gnu.org writes:

 On Sat May 30 2015 Feng Shu wrote:
 This patch make `string-match' used by `bbdb-search'
 customizable. I use this feature to search Chinese contacts names with
 pinyin. this is a very useful feature for CJK users.

 ...I am surprised: what is the purpose of replacing string-match
 with something else?  (The emacs package chinese-pyim that you are
 using seems to be documented in chinese only, which does not help
 me.)


I just use `pyim-hanzi2pinyin' function, which do such work:

  你好 BBDB - nihao BBDB

so, what I want to do is like this, for example:
1. I have a contact record, which name is 你好 BBDB
2. If use `string-match', I need type 你好 to search this record, which
need to use Chinese input method and not convenience.
3. if I use this custom, i just type nihao, then the contact records
will be found. just type ascii.

Another toy example is that you can use az to match azzkkkz,
at bbdb-search's condition, this is useful.

Maybe string match is not a good name for this feature.

 I can imagine that CJK might sometimes require different solutions
 than, say, western languages.  Yet I am not sure whether it is the
 right approach to then introduce custom variables like
 bbdb-string-match-function to replace string-match in (only) certain
 instances by something else.


Another approach is auto add AKA field with a fuction, the problem of
this approach is that, many different chinese-char have same pinyin, so
I need deal with many many conflites when I use this approach.


 I mean: string-match is used by emacs in a zillion of places.  If
 for some reason this built-in function does not do what you need,
 you might want to discuss at emacs-devel whether this can be
 improved in a way that will benefit all emacs code.  Or loading the
 package chinese-pyim could effectively replace string-match.
 (Yet this only works at the lisp level.  There might also be
 instances when string-match is called at the C level.)

 Roland

The above `string-match' only meanful in `bbdb-search',  meanless in
other situation.


-- 



--
___
bbdb-info@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/bbdb-info
BBDB Home Page: http://bbdb.sourceforge.net/