Re: [PATCH] bbdb-search: make `string-match' customizable.
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.
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.
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.
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.
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.
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/