>>>>> On Sat, 12 Nov 2005 11:35:43 +0000, David Reitter <[EMAIL PROTECTED]> 
>>>>> said:

> Looking at the C-level patches that Aquamacs and Carbon Emacs
> Package have in common:

> - transparency
> - toolbar-button

> Both patches don't do anything unless their respective functionality
> is used, as far as I can tell.

Either of them is not an essential feature, so you can try to test
without them if needed.

> I suspect it's rather due to the higher memory management
> requirements - the distributions load more packages.

I found both of the distributions have some entries for additional
preloading in site-load.el, but some of them are not valid.  For
example, international/encoded-kb.el has the following code:

(defun encoded-kbd-self-insert-ccl (ignore)
  (let ((str (char-to-string (encoded-kbd-last-key)))
        (ccl (car (aref (coding-system-spec (keyboard-coding-system)) 4)))
        (vec [nil nil nil nil nil nil nil nil nil])
        result)
    (while (= (length (setq result (ccl-execute-on-string ccl vec str t))) 0)
      (dotimes (i 9) (aset vec i nil))
      (setq str (format "%s%c" str (read-char-exclusive))))
    (vector (aref result 0))))

The vector [nil ...] is allocated in the pure storage if this file is
preloaded, but its contents are altered in the function body and thus
the read-only assumption of the pure storage is violated.  So this
file should not be preloaded as it is.

Inappropriate preloading also affects the correctness of GC.  Since
the pure storage is assumed to be read-only, GC does not mark or
follow the objects in this storage.  So, if there's an object that is
only pointed to by pure storage objects, which may happen if the
assumption for the pure storage is violated, the object is reachable
but never get collected.

                                     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