Miles Bader writes: > There's no need to add a new field to `struct buffer' for the > `abbrev-case-fold' variable, you can just declare a normal variable > Vabbrev_case_fold using DEFVAR_LISP, and emacs will do the right thing > if a mode makes it buffer-local. [There are obviously trade-offs, but I > think for something minor like this you shouldn't extend the buffer > structure] You are right, and I was hoping for a solution that was simpler than that. :-) > The feature that makes it track `case-fold-search' probably isn't useful > -- I expect that in most cases people will want to retain > case-insensitive searching, even in situations where case-sensitive > abbrevs would be appropriate. I think you should just initialize the > global value to `nil' for compatibility, and leave it to individual > language modes to set a different buffer-local value. All right. Here is a much cleaner patch: