QUERY
>>>> "Sean" == Sean Dague <sean(a)dague.net>
writes:
Sean> - if (!(HASH_TABLEP(Qgtk_seen_characters)))
Sean> + if (!Qgtk_seen_characters || !(HASH_TABLEP(Qgtk_seen_characters)))
Never apply C logical operators to C variable names like Qfoo, Fbar,
or Vbaz. It doesn't mean what you hope it would; if such variables
are ever NULL after the LISP engine is initialized, it's a bug.
I think that probably what should be done is to
(1) Rename Qgtk_seen_characters to Vgtk_seen_characters. (The Q
prefix is reserved for symbols, but this variable should contain
hash tables.)
(2) Initialize Vgtk_seen_characters = Qunbound in the vars_of
function.
I prefer Qunbound to Qnil because the latter may silently pass in come
cases, but lack of initialization to a hash table here is always a
bug---we definitely want an error signaled.
--
School of Systems and Information Engineering
http://turnbull.sk.tsukuba.ac.jp
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Ask not how you can "do" free software business;
ask what your business can "do for" free software.