On January 12, [EMAIL PROTECTED] said: > featurep of XEmacs 21.1 and newer has fairly sophisticated emacs > version testing support. Has this been implemented for GNU Emacs > yet?
See, this is still a problem, because if you're on XEmacs 21.1 the feature already exists and there's no testing to do, and if you're not, you don't have the feature. There are two basic problems here, some referred to (I recently discovered) in Kyle Jones' byte-compiling options for VM. The first is compiling your .el files under Emacs X and then attempting to run them using (X)Emacs Y; the second is simply figuring out what's available on a given version of Emacs. Right now, the code is littered with special-case handling for these problems, albeit mostly for the latter. I would really, REALLY like to force the compile environment to be the same as the run environment; specifically, if you compile BBDB under Emacs Y, then it will only run under Emacs Y. This would allow a lot more compile-time optimizing of things like native-vs.-hacked-up functions and the like. Of course, this will no doubt upset people who run multiple Emacs versions, and I don't particularly want to upset people unnecessarily. At the same time, all this run-time checking does slow BBDB down and it would be far nicer to get rid of it where possible. I had intended to make a release this evening, once I'd sorted out the current misrequirement of VM (there are some other things on the known bugs list, but not quite as big a deal). This will most likely happen tomorrow instead because I've been away for most of the weekend and I'd rather not rush a release out the door just to hit a self-imposed and somewhat arbitrary deadline. However. Once I've made the release, I'm going to look at rearranging the code with the following goals in mind: * All variable/custom definitions get migrated to their own file, akin to vm-vars in the VM distribution * All Emacs-version-related code gets migrated to its own file, akin to w3's sysdep.el (which is a great idea that nobody seems to use, and I'm not even sure if it's still maintained) * Possibly some other logical-location-of-functions cleanup, such as bbdb.el being able to read and parse the .bbdb file without needing to load anything other than the above two files. In the meantime, I'll fix the bbdb-hooks thing. Thanks for all the suggested code :) Cheers, Waider. -- [EMAIL PROTECTED] / Yes, it /is/ very personal of me. "It doesn't corner well. It doesn't have to. It just warps space until the street is facing the right way." - Blair P. Houghton _______________________________________________ [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/bbdb-info BBDB Home Page: http://bbdb.sourceforge.net/