sbcl stuff
This commit is contained in:
parent
1d1dbc34df
commit
5d91dbb667
335 changed files with 119806 additions and 1 deletions
|
|
@ -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)
|
||||
Loading…
Add table
Add a link
Reference in a new issue