>>>>> 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

Reply via email to