emacs-pretest-bug
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

puresize / macro expansion


From: David Reitter
Subject: puresize / macro expansion
Date: Fri, 29 Jul 2005 09:59:31 +0100

Whenever I add

 #define SITELOAD_PURESIZE_EXTRA 500000

to puresize.h (as documented), Emacs will throw an error "invalid- function (macro ..." from within cl-macroexpand-all when called by the initialization function of slime.
Slime is a Lisp mode, available from:

http://common-lisp.net/project/slime/

It is started with

(defvar home-dir (concat (expand-file-name "~") "/Desktop/"))
(setq load-path (append (list (concat home-dir "")
                  (concat home-dir "cvsroot/slime"))
            load-path))
(require 'slime)
(setq openmcl-dir (concat home-dir "ccl"))
(setenv "PATH" (concat openmcl-dir ":" (getenv "PATH")))
(setenv "CCL_DEFAULT_DIRECTORY" openmcl-dir)
(setq inferior-lisp-program (concat openmcl-dir "/dppccl"))
(slime)

(provided common lisp is set up in ~/Desktop).

The error occurs in different configurations of Carbon Emacs, whether compiled on 10.3.9 or on 10.4.2 (w/o fink). It is well reproducible and occurred on different machines. It occurs whether I precompile files (site-load.el) in the binary or not.

I'm sorry I can't provide a smaller test case. Tracing this bug down to puresize setting took Bill Clementson and me hours. I'm well aware that the actual bug is possibly not in the code that handles puresize.

Needless to say, the same version of Slime works just fine without the puresize setting.




Stack trace:


Debugger entered--Lisp error: (invalid-function (macro . #[(&rest body) "..." [body condition-case nil progn ((error nil))] 4 ("/ Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/cl- macs.elc" . 95316)]))
  ignore-errors(t)
cl-macroexpand-all((function attempt-connection) (("--cl- var--63109" (symbol-value --cl---cl-var--63109--) t) (defun . cl- defun-expander) (attempt-connection lambda (&rest cl-labels-args) (list* ... ... cl-labels-args)) ("process" (symbol-value --cl- process--) t) ("retries" (symbol-value --cl-retries--) t) ("attempt" (symbol-value --cl-attempt--) t) ("lisp-name" (symbol- value --cl-lisp-name--) t) (defun . cl-defun-expander))) #[(x) "Â \"‡" [x env cl-macroexpand-all] 3]((function attempt- connection)) mapcar(#[(x) "Â \"‡" [x env cl-macroexpand-all] 3] (1 nil (function attempt-connection))) cl-macroexpand-body((1 nil (function attempt-connection)) (("--cl- var--63109" (symbol-value --cl---cl-var--63109--) t) (defun . cl- defun-expander) (attempt-connection lambda (&rest cl-labels-args) (list* ... ... cl-labels-args)) ("process" (symbol-value --cl- process--) t) ("retries" (symbol-value --cl-retries--) t) ("attempt" (symbol-value --cl-attempt--) t) ("lisp-name" (symbol- value --cl-lisp-name--) t) (defun . cl-defun-expander))) cl-macroexpand-all((run-with-timer 1 nil (function attempt- connection)) (("--cl-var--63109" (symbol-value --cl---cl- var--63109--) t) (defun . cl-defun-expander) (attempt-connection lambda (&rest cl-labels-args) (list* ... ... cl-labels-args)) ("process" (symbol-value --cl-process--) t) ("retries" (symbol-value --cl-retries--) t) ("attempt" (symbol-value --cl-attempt--) t) ("lisp- name" (symbol-value --cl-lisp-name--) t) (defun . cl-defun-expander))) #[(x) "Â \"‡" [x env cl-macroexpand-all] 3]((run-with-timer 1 nil (function attempt-connection))) mapcar(#[(x) "Â \"‡" [x env cl-macroexpand-all] 3] (slime- connect-retry-timer (run-with-timer 1 nil (function attempt- connection)))) cl-macroexpand-body((slime-connect-retry-timer (run-with-timer 1 nil (function attempt-connection))) (("--cl-var--63109" (symbol-value --cl---cl-var--63109--) t) (defun . cl-defun-expander) (attempt- connection lambda (&rest cl-labels-args) (list* ... ... cl-labels- args)) ("process" (symbol-value --cl-process--) t) ("retries" (symbol- value --cl-retries--) t) ("attempt" (symbol-value --cl-attempt--) t) ("lisp-name" (symbol-value --cl-lisp-name--) t) (defun . cl-defun- expander))) cl-macroexpand-all((setq slime-connect-retry-timer (run-with-timer 1 nil (function attempt-connection))) (("--cl-var--63109" (symbol- value --cl---cl-var--63109--) t) (defun . cl-defun-expander) (attempt- connection lambda (&rest cl-labels-args) (list* ... ... cl-labels- args)) ("process" (symbol-value --cl-process--) t) ("retries" (symbol- value --cl-retries--) t) ("attempt" (symbol-value --cl-attempt--) t) ("lisp-name" (symbol-value --cl-lisp-name--) t) (defun . cl-defun- expander))) #[(x) "Â \"‡" [x env cl-macroexpand-all] 3]((setq slime- connect-retry-timer (run-with-timer 1 nil (function attempt- connection)))) mapcar(#[(x) "Â \"‡" [x env cl-macroexpand-all] 3] (t (when retries (decf retries)) (setq slime-connect-retry-timer (run-with- timer 1 nil ...)))) cl-macroexpand-body((t (when retries (decf retries)) (setq slime- connect-retry-timer (run-with-timer 1 nil ...))) (("--cl- var--63109" (symbol-value --cl---cl-var--63109--) t) (defun . cl- defun-expander) (attempt-connection lambda (&rest cl-labels-args) (list* ... ... cl-labels-args)) ("process" (symbol-value --cl- process--) t) ("retries" (symbol-value --cl-retries--) t) ("attempt" (symbol-value --cl-attempt--) t) ("lisp-name" (symbol- value --cl-lisp-name--) t) (defun . cl-defun-expander))) #[(x) "Â \"‡" [x env cl-macroexpand-body] 3]((t (when retries (decf retries)) (setq slime-connect-retry-timer (run-with-timer 1 nil ...)))) mapcar(#[(x) "Â \"‡" [x env cl-macroexpand-body] 3] (((file- exists-p ...) (let ... ... ...)) ((and retries ...) (message "Failed to connect to Swank.")) (t (when retries ...) (setq slime-connect- retry-timer ...)))) cl-macroexpand-all((cond ((file-exists-p ...) (let ... ... ...)) ((and retries ...) (message "Failed to connect to Swank.")) (t (when retries ...) (setq slime-connect-retry-timer ...))) (("--cl- var--63109" (symbol-value --cl---cl-var--63109--) t) (defun . cl- defun-expander) (attempt-connection lambda (&rest cl-labels-args) (list* ... ... cl-labels-args)) ("process" (symbol-value --cl- process--) t) ("retries" (symbol-value --cl-retries--) t) ("attempt" (symbol-value --cl-attempt--) t) ("lisp-name" (symbol- value --cl-lisp-name--) t) (defun . cl-defun-expander))) #[(x) "Â \"‡" [x env cl-macroexpand-all] 3]((cond ((file- exists-p ...) (let ... ... ...)) ((and retries ...) (message "Failed to connect to Swank.")) (t (when retries ...) (setq slime-connect- retry-timer ...)))) mapcar(#[(x) "Â \"‡" [x env cl-macroexpand-all] 3] ((unless (active-minibuffer-window) (message "Polling %S.. (Abort with `M-x slime-abort-connection'.)" ...)) (unless (slime-connected-p) (slime- set-state ...)) (when slime-connect-retry-timer (cancel-timer slime- connect-retry-timer)) (setq slime-connect-retry-timer nil) (cond (... ...) (... ...) (t ... ...)))) cl-macroexpand-body(((unless (active-minibuffer-window) (message "Polling %S.. (Abort with `M-x slime-abort-connection'.)" ...)) (unless (slime-connected-p) (slime-set-state ...)) (when slime- connect-retry-timer (cancel-timer slime-connect-retry-timer)) (setq slime-connect-retry-timer nil) (cond (... ...) (... ...) (t ... ...))) (("--cl-var--63109" (symbol-value --cl---cl- var--63109--) t) (defun . cl-defun-expander) (attempt-connection lambda (&rest cl-labels-args) (list* ... ... cl-labels-args)) ("process" (symbol-value --cl-process--) t) ("retries" (symbol-value --cl-retries--) t) ("attempt" (symbol-value --cl-attempt--) t) ("lisp- name" (symbol-value --cl-lisp-name--) t) (defun . cl-defun-expander))) cl-macroexpand-all((function* (lambda nil (unless ... ...) (unless ... ...) (when slime-connect-retry-timer ...) (setq slime- connect-retry-timer nil) (cond ... ... ...))) (("--cl- var--63109" (symbol-value --cl---cl-var--63109--) t) (defun . cl- defun-expander) (attempt-connection lambda (&rest cl-labels-args) (list* ... ... cl-labels-args)) ("process" (symbol-value --cl- process--) t) ("retries" (symbol-value --cl-retries--) t) ("attempt" (symbol-value --cl-attempt--) t) ("lisp-name" (symbol- value --cl-lisp-name--) t) (defun . cl-defun-expander))) #[(x) "Â \"‡" [x env cl-macroexpand-all] 3]((function* (lambda nil (unless ... ...) (unless ... ...) (when slime-connect-retry- timer ...) (setq slime-connect-retry-timer nil) (cond ... ... ...)))) mapcar(#[(x) "Â \"‡" [x env cl-macroexpand-all] 3] (--cl- var--63109 (function* (lambda nil ... ... ... ... ...)))) cl-macroexpand-body((--cl-var--63109 (function* (lambda nil ... ... ... ... ...))) (("--cl-var--63109" (symbol-value --cl--- cl-var--63109--) t) (defun . cl-defun-expander) (attempt-connection lambda (&rest cl-labels-args) (list* ... ... cl-labels-args)) ("process" (symbol-value --cl-process--) t) ("retries" (symbol-value --cl-retries--) t) ("attempt" (symbol-value --cl-attempt--) t) ("lisp- name" (symbol-value --cl-lisp-name--) t) (defun . cl-defun-expander))) cl-macroexpand-all((setq --cl-var--63109 (function* (lambda nil ... ... ... ... ...))) (("--cl-var--63109" (symbol-value --cl--- cl-var--63109--) t) (defun . cl-defun-expander) (attempt-connection lambda (&rest cl-labels-args) (list* ... ... cl-labels-args)) ("process" (symbol-value --cl-process--) t) ("retries" (symbol-value --cl-retries--) t) ("attempt" (symbol-value --cl-attempt--) t) ("lisp- name" (symbol-value --cl-lisp-name--) t) (defun . cl-defun-expander))) #[(x) "Â \"‡" [x env cl-macroexpand-all] 3]((setq --cl- var--63109 (function* (lambda nil ... ... ... ... ...)))) mapcar(#[(x) "Â \"‡" [x env cl-macroexpand-all] 3] ((setq --cl- var--63109 (function* ...)) (attempt-connection))) cl-macroexpand-body(((setq --cl-var--63109 (function* ...)) (attempt-connection)) (("--cl-var--63109" (symbol-value --cl---cl- var--63109--) t) (defun . cl-defun-expander) (attempt-connection lambda (&rest cl-labels-args) (list* ... ... cl-labels-args)) ("process" (symbol-value --cl-process--) t) ("retries" (symbol-value --cl-retries--) t) ("attempt" (symbol-value --cl-attempt--) t) ("lisp- name" (symbol-value --cl-lisp-name--) t) (defun . cl-defun-expander))) cl-macroexpand-all((progn (setq --cl-var--63109 (function* ...)) (attempt-connection)) (("--cl-var--63109" (symbol-value --cl---cl- var--63109--) t) (defun . cl-defun-expander) (attempt-connection lambda (&rest cl-labels-args) (list* ... ... cl-labels-args)) ("process" (symbol-value --cl-process--) t) ("retries" (symbol-value --cl-retries--) t) ("attempt" (symbol-value --cl-attempt--) t) ("lisp- name" (symbol-value --cl-lisp-name--) t) (defun . cl-defun-expander))) #[(bindings &rest body) "ÆÇ \"ÈÉ BÆÊ\n\"ËC¤\f¤\"address@hidden/ÎÆÏ \n\"ÐÆÑ\n\"
\"E‚>ÎÆÒ\n\"ÓÔÕÆÖ\n\"#
F+‡" [cl-closure-vars bindings vars body cl-macro-environment ebody mapcar #[... ":address@hidden"! address@hidden@‰A@) @E‡" [x cl- closure-vars make-symbol format "--cl-%s--" [bad-lexical-ref]] 5] cl- macroexpand-all progn #[... "address@hidden" [x symbol-name symbol- value caddr t] 4] (defun . cl-defun-expander) last used let #[... "Á!‰A@)D‡" [x caddr] 3] sublis #[... "Á!ÂÁ!DB‡" [x caddr quote] 4] #[... "address@hidden"DD‡" [x caddr make-symbol format "--%s--"] 5] apply append (setf) #[... "ÁÂ!D‰A@)D‡" [x symbol-value caddr] 4]] 8 ("/Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/cl- macs.elc" . 38184)]((--cl-var--63109) (setq --cl-var--63109 (function* (lambda nil ... ... ... ... ...))) (attempt-connection)) #<subr macroexpand>((lexical-let (--cl-var--63109) (setq --cl- var--63109 (function* ...)) (attempt-connection)) ((attempt- connection lambda (&rest cl-labels-args) (list* ... ... cl-labels- args)) ("process" (symbol-value --cl-process--) t) ("retries" (symbol- value --cl-retries--) t) ("attempt" (symbol-value --cl-attempt--) t) ("lisp-name" (symbol-value --cl-lisp-name--) t) (defun . cl-defun- expander))) macroexpand((lexical-let (--cl-var--63109) (setq --cl-var--63109 (function* ...)) (attempt-connection)) ((attempt-connection lambda (&rest cl-labels-args) (list* ... ... cl-labels-args)) ("process" (symbol-value --cl-process--) t) ("retries" (symbol-value --cl-retries--) t) ("attempt" (symbol-value --cl-attempt--) t) ("lisp- name" (symbol-value --cl-lisp-name--) t) (defun . cl-defun-expander))) cl-macroexpand-all((lexical-let (--cl-var--63109) (setq --cl- var--63109 (function* ...)) (attempt-connection)) ((attempt- connection lambda (&rest cl-labels-args) (list* ... ... cl-labels- args)) ("process" (symbol-value --cl-process--) t) ("retries" (symbol- value --cl-retries--) t) ("attempt" (symbol-value --cl-attempt--) t) ("lisp-name" (symbol-value --cl-lisp-name--) t) (defun . cl-defun- expander))) #[(bindings &rest body) "Ɖ ƒ:address@hidden)BD B\f B ‰A@@ÊËÌÍÎ\fDÏFFB)‚ÐÌÑ\nÒ BB#\"+‡" [cl-macro-environment sets vars bindings var x nil gensym "--cl-var--" function* lambda (&rest cl-labels-args) list* (quote funcall) quote cl-labels-args cl- macroexpand-all lexical-let setq body] 8 ("/Applications/Emacs.app/ Contents/Resources/lisp/emacs-lisp/cl-macs.elc" . 36378)](((attempt- connection nil (unless ... ...) (unless ... ...) (when slime-connect- retry-timer ...) (setq slime-connect-retry-timer nil) (cond ... ... ...))) (attempt-connection)) #<subr macroexpand>((labels ((attempt-connection nil ... ... ... ... ...)) (attempt-connection)) (("process" (symbol- value --cl-process--) t) ("retries" (symbol-value --cl-retries--) t) ("attempt" (symbol-value --cl-attempt--) t) ("lisp-name" (symbol- value --cl-lisp-name--) t) (defun . cl-defun-expander))) macroexpand((labels ((attempt-connection nil ... ... ... ... ...)) (attempt-connection)) (("process" (symbol-value --cl-process--) t) ("retries" (symbol-value --cl-retries--) t) ("attempt" (symbol-value --cl-attempt--) t) ("lisp-name" (symbol-value --cl-lisp-name--) t) (defun . cl-defun-expander))) cl-macroexpand-all((labels ((attempt-connection nil ... ... ... ... ...)) (attempt-connection)) (("process" (symbol- value --cl-process--) t) ("retries" (symbol-value --cl-retries--) t) ("attempt" (symbol-value --cl-attempt--) t) ("lisp-name" (symbol- value --cl-lisp-name--) t) (defun . cl-defun-expander))) cl-macroexpand-all((progn (labels (...) (attempt-connection))) (("process" (symbol-value --cl-process--) t) ("retries" (symbol-value --cl-retries--) t) ("attempt" (symbol-value --cl-attempt--) t) ("lisp- name" (symbol-value --cl-lisp-name--) t) (defun . cl-defun-expander))) #[(bindings &rest body) "ÆÇ \"ÈÉ BÆÊ\n\"ËC¤\f¤\"address@hidden/ÎÆÏ \n\"ÐÆÑ\n\"
\"E‚>ÎÆÒ\n\"ÓÔÕÆÖ\n\"#
F+‡" [cl-closure-vars bindings vars body cl-macro-environment ebody mapcar #[... ":address@hidden"! address@hidden@‰A@) @E‡" [x cl- closure-vars make-symbol format "--cl-%s--" [bad-lexical-ref]] 5] cl- macroexpand-all progn #[... "address@hidden" [x symbol-name symbol- value caddr t] 4] (defun . cl-defun-expander) last used let #[... "Á!‰A@)D‡" [x caddr] 3] sublis #[... "Á!ÂÁ!DB‡" [x caddr quote] 4] #[... "address@hidden"DD‡" [x caddr make-symbol format "--%s--"] 5] apply append (setf) #[... "ÁÂ!D‰A@)D‡" [x symbol-value caddr] 4]] 8 ("/Applications/Emacs.app/Contents/Resources/lisp/emacs-lisp/cl- macs.elc" . 38184)](((process inferior-process) (retries retries) (attempt 0) (lisp-name symbolic-lisp-name)) (labels ((attempt- connection nil ... ... ... ... ...)) (attempt-connection))) (lexical-let ((process inferior-process) (retries retries) (attempt 0) (lisp-name symbolic-lisp-name)) (labels (...) (attempt- connection)))
  slime-read-port-and-connect(#<process inferior-lisp<1>> nil nil)
  slime-inferior-connect(#<process inferior-lisp<1>> nil nil)
(let ((proc ...)) (slime-inferior-connect proc nil symbolic-lisp- name) (pop-to-buffer (process-buffer proc))) (progn (let (...) (slime-inferior-connect proc nil symbolic-lisp- name) (pop-to-buffer ...))) (if (or (not ...) (slime-urge-bytecode-recompile)) (progn (let ... ... ...))) (when (or (not ...) (slime-urge-bytecode-recompile)) (let (...) (slime-inferior-connect proc nil symbolic-lisp-name) (pop-to- buffer ...))) (let ((symbolic-lisp-name ...)) (slime-check-coding-system coding- system) (setq slime-net-coding-system coding-system) (when (or ... ...) (let ... ... ...))) (let ((command ...) (buffer ...) (coding-system ...)) (let (...) (slime-check-coding-system coding-system) (setq slime-net-coding- system coding-system) (when ... ...)))
  slime()
  eval((slime))
  eval-last-sexp-1(nil)
  eval-last-sexp(nil)
  call-interactively(eval-last-sexp)









In GNU Emacs 22.0.50.3 (powerpc-apple-darwin7.9.0)
 of 2005-07-29 on madonna - Aquamacs Distribution 0.9.5 beta-2
Distributor `Apple Computers', version 10.4.2
configured using `configure '--without-x' '--prefix=/usr/local''

Important settings:
  value of $LC_ALL: nil
  value of $LC_COLLATE: nil
  value of $LC_CTYPE: nil
  value of $LC_MESSAGES: nil
  value of $LC_MONETARY: nil
  value of $LC_NUMERIC: nil
  value of $LC_TIME: nil
  value of $LANG: nil
  locale-coding-system: iso-latin-1
  default-enable-multibyte-characters: t

Major mode: Emacs-Lisp

Minor modes in effect:
  show-paren-mode: t
  delete-selection-mode: t
  pc-selection-mode: t
  cua-mode: t
  smart-frame-positioning-mode: t
  recentf-mode: t
  encoded-kbd-mode: t
  osx-key-mode: t
  tool-bar-mode: t
  mouse-wheel-mode: t
  tooltip-mode: t
  auto-compression-mode: t
  menu-bar-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  unify-8859-on-encoding-mode: t
  utf-translate-cjk-mode: t
  column-number-mode: t
  line-number-mode: t
  transient-mark-mode: t
  next-error-follow-minor-mode:  Fol





reply via email to

[Prev in Thread] Current Thread [Next in Thread]