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)