sbcl stuff

This commit is contained in:
Ian Keane 2020-01-20 14:13:08 -05:00
parent 1d1dbc34df
commit 5d91dbb667
335 changed files with 119806 additions and 1 deletions

View file

@ -0,0 +1,46 @@
(require 'slime-enclosing-context)
(require 'slime-tests)
(require 'cl-lib)
(def-slime-test enclosing-context.1
(buffer-sexpr wished-bound-names wished-bound-functions)
"Check that finding local definitions work."
'(("(flet ((,nil ()))
(let ((bar 13)
(,foo 42))
*HERE*))"
;; We used to return ,foo here, but we do not anymore. We
;; still return ,nil for the `slime-enclosing-bound-functions',
;; though. The first one is used for local M-., whereas the
;; latter is used for local autodoc. It does not seem too
;; important for local M-. to work on such names. \(The reason
;; that it does not work anymore, is that
;; `slime-symbol-at-point' now does TRT and does not return a
;; leading comma anymore.\)
("bar" nil nil)
((",nil" "()")))
("(flet ((foo ()))
(quux)
(bar *HERE*))"
("foo")
(("foo" "()"))))
(slime-check-top-level)
(with-temp-buffer
(let ((tmpbuf (current-buffer)))
(lisp-mode)
(insert buffer-sexpr)
(search-backward "*HERE*")
(cl-multiple-value-bind (bound-names points)
(slime-enclosing-bound-names)
(slime-check "Check enclosing bound names"
(cl-loop for name in wished-bound-names
always (member name bound-names))))
(cl-multiple-value-bind (fn-names fn-arglists points)
(slime-enclosing-bound-functions)
(slime-check "Check enclosing bound functions"
(cl-loop for (name arglist) in wished-bound-functions
always (and (member name fn-names)
(member arglist fn-arglists)))))
)))
(provide 'slime-enclosing-context-tests)