Kim F. Storm wrote: > Chong Yidong <[EMAIL PROTECTED]> writes: >>I installed VM to and played around with it trying to make the >>string_free_list/compact_small_strings crash happen. I got a crash on >>an invalid cons_free_list; dunno if that's related. > > It seems that most of the crashes triggered by VM are somehow related > to mapcar -- and in this case a mapcar called inside mapatoms. > > Can you deduce what functions are run here, and see if they > do something special, e.g. intern new symbols or something > else which manipulates symbols, conses, or strings...
Here is the code inside vm-update-summary-and-mode-line that calls mapatoms: (save-excursion (mapatoms (function (lambda (b) (setq b (get-buffer (symbol-name b))) (if b (progn (set-buffer b) (intern (buffer-name) vm-buffers-needing-undo-boundaries) (vm-check-for-killed-summary) (and vm-use-toolbar (vm-toolbar-support-possible-p) (vm-toolbar-update-toolbar)) (vm-do-needed-renumbering) (if vm-summary-buffer (vm-do-needed-summary-rebuild)) (vm-do-needed-mode-line-update))))) vm-buffers-needing-display-update) (fillarray vm-buffers-needing-display-update 0)) The crash occurs inside vm-do-needed-mode-line-update, which calls vm-copy-local-variables, which in turn calls vm-mapc: (defun vm-copy-local-variables (buffer &rest variables) (let ((values (mapcar 'symbol-value variables))) (save-excursion (set-buffer buffer) (vm-mapc 'set variables values)))) (defun vm-mapc (function &rest lists) (let (arglist) (while (car lists) (setq arglist (mapcar 'car lists)) (apply function arglist) (setq lists (mapcar 'cdr lists))))) -- Kevin _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel