[slime-devel] slime.el issues w/ 21.4 xemacs

Sundar Narasimhan sundar at itasoftware.com
Mon Sep 12 22:18:30 UTC 2005


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)




More information about the slime-devel mailing list