Index: slime.el =================================================================== RCS file: /project/slime/cvsroot/slime/slime.el,v retrieving revision 1.195 diff -u -r1.195 slime.el --- slime.el 21 Jan 2004 22:00:33 -0000 1.195 +++ slime.el 23 Jan 2004 01:01:55 -0000 @@ -61,6 +61,7 @@ (require 'pp) (require 'hideshow) (require 'hyperspec) +(require 'cltl2) (require 'font-lock) (when (featurep 'xemacs) (require 'overlay)) @@ -437,6 +438,7 @@ ("\M-m" slime-macroexpand-all :prefixed t :inferior t) ("\M-0" slime-restore-window-configuration :prefixed t :inferior t) ("\C-h" slime-hyperspec-lookup :prefixed t :inferior t :sldb t) + ("\M-h" slime-cltl2-lookup :prefixed t :inferior t :sldb t) ([(control meta ?\.)] slime-next-location :inferior t) ;; Emacs20 on LinuxPPC signals a ;; "Invalid character: 400000040, 2147479172, 0xffffffd8" @@ -530,6 +533,7 @@ [ "Apropos..." slime-apropos ,C ] [ "Apropos Package..." slime-apropos-package ,C ] - [ "Hyperspec..." slime-hyperspec-lookup t ]) + [ "Hyperspec..." slime-hyperspec-lookup t ] + [ "CLtL2..." slime-cltl2-lookup t ]) "--" [ "Interrupt Command" slime-interrupt ,C ] [ "Abort Async. Command" slime-quit ,C ] @@ -3560,6 +3580,21 @@ t symbol-at-point 'common-lisp-hyperspec-history))))) (hyperspec-lookup symbol-name)) + +(defun slime-cltl2-lookup (symbol-name) + "A wrapper for `cltl2-lookup'" + (interactive (list (let ((symbol-at-point (slime-symbol-name-at-point))) + (if (and symbol-at-point + (intern-soft (downcase symbol-at-point) + cltl2-symbols)) + symbol-at-point + (completing-read + "Look up symbol in CLtL2: " + cltl2-symbols #'boundp + t symbol-at-point + 'cltl2-history))))) + (cltl2-lookup symbol-name)) + (defun slime-show-description (string package) (slime-with-output-to-temp-buffer "*SLIME Description*"