In the meantime, here is a simple patch which appears to fix the problem for me, on Emacs 22.2. I would appreciate it if somebody with a recent emacs-snapshot could take the time to verify that this problem still exists there (looking at CVS sources on Savannah, it ought to) and that this patch fixes it. If so, I can take care of bringing this to the attention of the Emacs maintainers.
The change to do a single regex match is not strictly necessary, but should hopefully improve scalability for long lists of ignore words, and might improve performance if the regex engine manages to do a good job with optimizing the generated expression.
The local "case-fold-search nil" and the reintroduction of [:lower:] in the final regex are the real meat of this patch.
Repro steps in some more detail:
1. Create a file /tmp/nst.bib and paste in the example entry from the problem report
2 In that buffer, press C-c C-c
3. Observe the suggested title in the minibuffer. (Press C-g to discard it and quit.)
What should have happened and what does happen as in the original report.
In the meantime, here is a simple patch which appears to fix the problem for me, on Emacs 22.2. I would appreciate it if somebody with a recent emacs-snapshot could take the time to verify that this problem still exists there (looking at CVS sources on Savannah, it ought to) and that this patch fixes it. If so, I can take care of bringing this to the attention of the Emacs maintainers.
The change to do a single regex match is not strictly necessary, but should hopefully improve scalability for long lists of ignore words, and might improve performance if the regex engine manages to do a good job with optimizing the generated expression.
The local "case-fold-search nil" and the reintroduction of [:lower:] in the final regex are the real meat of this patch.
Repro steps in some more detail:
1. Create a file /tmp/nst.bib and paste in the example entry from the problem report
2 In that buffer, press C-c C-c
3. Observe the suggested title in the minibuffer. (Press C-g to discard it and quit.)
What should have happened and what does happen as in the original report.