Moved to xemacs-beta for discussion.
>>>> "Andrew" == Andrew Begel
<abegel(a)eecs.berkeley.edu> writes:
Andrew> This patch is against 21.4.4. It removes the #ifdef around
Andrew> the unload-module function. Besides the fact that
Andrew> DANGEROUS_NASTY_SCARY_MONSTER isn't even a configure
Andrew> option and is never defined anywhere,
If I understand the issues correctly, there's good reason for that,
and this is unlikely to ever go in to 21.4.
Andrew> this code for unloading modules is incredibly useful and
Andrew> shouldn't be #ifdef'd out.
I can see where it would be useful for module _developers_, but for
users in general Lisp must be _safe_. If you have an application that
requires this capability, I'd suggest a configure option for 21.5.
Or, if what you really want is the reinit capability, why not
implement that directly? That might be safe. Define a global
"in_ell_reinit" or some such and make the symbols.c assert
"(in_ell_reinit || ...)". The submitted patch looks very unsafe.
[...]
Andrew> So, we add a warning: if you call unload-module, don't
Andrew> call any functions or eval any variables that come from
Andrew> the module.
And if I do, what happens? Do I get a crash? Data loss? Convince me
I won't.
--
University of Tsukuba Tennodai 1-1-1 Tsukuba 305-8573 JAPAN
Institute of Policy and Planning Sciences Tel/fax: +81 (298) 53-5091
_________________ _________________ _________________ _________________
What are those straight lines for? "XEmacs rules."