>>>>> On Tue, 15 Nov 2005 18:21:59 -0500, "Richard M. Stallman" <[EMAIL >>>>> PROTECTED]> said:
>> I meant a kind of analysis to ensure that any literals inside a >> function are not modified. > I don't quite follow. If they are pure, they cannot be modified; > the primitives that would do so will signal an error. Unless they > have bugs. I'm not suggesting anything. You say compile-time check is unnecessary. I say it is difficult. No problem. > On a system where "pure" space really is read-only, trying to modify > it would cause an immediate crash--good for debugging, but not an > elegant way to report the problem. I guess there are many places that don't do CHECK_IMPURE, and setting watchpoint is as useful for debugging as the read-only pure space. Actually, I found another problem related to international/encode-kb.el using it. This causes a real problem unlike the Fccl_execute_on_string case. (defconst encoded-kbd-mode-map (make-sparse-keymap) "Keymap for Encoded-kbd minor mode.") The keymap is allocated in the pure storage if this file is preloaded, because it is defined by `defconst' (should be `defvar'?). But it is modified in the following part. (defun encoded-kbd-setup-keymap (coding) ;; At first, reset the keymap. (define-key encoded-kbd-mode-map "\e" nil) ;; Then setup the keymap according to the keyboard coding system. `define-key' does not do CHECK_IMPURE for the given keymap, and the following situation really occurs. >>>>> On Sun, 13 Nov 2005 15:39:37 +0900, YAMAMOTO Mitsuharu <[EMAIL >>>>> PROTECTED]> said: > So, if there's a non-pure object that is only pointed to by pure > objects, which may happen if the assumption for the pure storage is > violated, then the object is reachable but get collected. Now I'm sure this is the real cause of "Wrong type argument: commandp" error that is found in some Carbon Emacs distributions that preloads international/encoded-kb.elc. YAMAMOTO Mitsuharu [EMAIL PROTECTED] _______________________________________________ emacs-pretest-bug mailing list emacs-pretest-bug@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-pretest-bug