
I get a wrong-type listp lambda when I click right on a presented value in XEmacs 21.4 (patch 15). Stack trace below.. Could someone who understands x-popup-menu parse what needs to be done here? slime-menu-choices-for-presentation contains (list `(,(if (featurep 'xemacs) " " "") ("" ("Inspect" . (lambda () (interactive) (slime-inspect-presented-object ',what))) ... which doesn't seem right given that xemacs evaluates (cons 'a (lambda (x) x)) to (a lambda (x) x) Tracing -- 1 -> x-popup-menu: event=#<buttondown-event button3> menu=(" " ("" ("Inspect" lambda nil (interactive) (slime-inspect-presented-object (quote (4 . 0)))) ("Describe" lambda nil (interactive) (slime-eval (quote (cl:describe (swank::lookup-presented-object (quote (4 . 0))))))) ("Copy to input" . slime-copy-presentation-at-point))) Thanks, -Sundar -- #<compiled-function (x) "...(51)" [x vector nil true-list-p convert_fsf_popup] 3>(lambda) mapcar(#<compiled-function (x) "...(51)" [x vector nil true-list-p convert_fsf_popup] 3> (lambda nil (interactive) (slime-inspect-presented-object (quote (4 . 0))))) convert_fsf_popup((lambda nil (interactive) (slime-inspect-presented-object (quote (4 . 0))))) #<compiled-function (x) "...(51)" [x vector nil true-list-p convert_fsf_popup] 3>(("Inspect" lambda nil (interactive) (slime-inspect-presented-object (quote (4 . 0))))) mapcar(#<compiled-function (x) "...(51)" [x vector nil true-list-p convert_fsf_popup] 3> (("Inspect" lambda nil (interactive) (slime-inspect-presented-object (quote (4 . 0)))) ("Describe" lambda nil (interactive) (slime-eval (quote (cl:describe (swank::lookup-presented-object (quote (4 . 0))))))) ("Copy to input" . slime-copy-presentation-at-point))) convert_fsf_popup((("Inspect" lambda nil (interactive) (slime-inspect-presented-object (quote (4 . 0)))) ("Describe" lambda nil (interactive) (slime-eval (quote (cl:describe (swank::lookup-presented-object (quote (4 . 0))))))) ("Copy to input" . slime-copy-presentation-at-point))) ad-Orig-x-popup-menu(#<buttondown-event button3> (" " ("" ("Inspect" lambda nil (interactive) (slime-inspect-presented-object (quote (4 . 0)))) ("Describe" lambda nil (interactive) (slime-eval (quote (cl:describe (swank::lookup-presented-object (quote (4 . 0))))))) ("Copy to input" . slime-copy-presentation-at-point)))) x-popup-menu(#<buttondown-event button3> (" " ("" ("Inspect" lambda nil (interactive) (slime-inspect-presented-object (quote (4 . 0)))) ("Describe" lambda nil (interactive) (slime-eval (quote (cl:describe (swank::lookup-presented-object (quote (4 . 0))))))) ("Copy to input" . slime-copy-presentation-at-point)))) (let ((choice (x-popup-menu event menu))) (when choice (call-interactively choice))) (let ((menu (slime-menu-choices-for-presentation presentation from to))) (let ((choice (x-popup-menu event menu))) (when choice (call-interactively choice)))) (let* ((G350273 (slime-presentation-around-point point)) (presentation (nth 0 G350273)) (from (nth 1 G350273)) (to (nth 2 G350273))) (unless presentation (error "No presentation at event position")) (let ((menu (slime-menu-choices-for-presentation presentation from to))) (let ((choice (x-popup-menu event menu))) (when choice (call-interactively choice))))) (multiple-value-bind (presentation from to) (slime-presentation-around-point point) (unless presentation (error "No presentation at event position")) (let ((menu (slime-menu-choices-for-presentation presentation from to))) (let ((choice (x-popup-menu event menu))) (when choice (call-interactively choice))))) (save-current-buffer (set-buffer (window-buffer window)) (multiple-value-bind (presentation from to) (slime-presentation-around-point point) (unless presentation (error "No presentation at event position")) (let ((menu (slime-menu-choices-for-presentation presentation from to))) (let ((choice (x-popup-menu event menu))) (when choice (call-interactively choice)))))) (with-current-buffer (window-buffer window) (multiple-value-bind (presentation from to) (slime-presentation-around-point point) (unless presentation (error "No presentation at event position")) (let ((menu (slime-menu-choices-for-presentation presentation from to))) (let ((choice (x-popup-menu event menu))) (when choice (call-interactively choice)))))) (let* ((point (if (featurep (quote xemacs)) (event-point event) (posn-point (event-end event)))) (window (if (featurep (quote xemacs)) (event-window event) (caadr event)))) (with-current-buffer (window-buffer window) (multiple-value-bind (presentation from to) (slime-presentation-around-point point) (unless presentation (error "No presentation at event position")) (let ((menu (slime-menu-choices-for-presentation presentation from to))) (let ((choice (x-popup-menu event menu))) (when choice (call-interactively choice))))))) slime-presentation-menu(#<buttondown-event button3>) call-interactively(slime-presentation-menu)