[slime-devel] Re: M-. => "Wrong type argument: stringp, nil" after cvs update to SLIME 2007-09-14
Frank Goenninger
frgo at mac.com
Sat Sep 15 12:41:56 UTC 2007
Am 15.09.2007 um 14:10 schrieb Tobias C. Rittweiler:
> Frank Goenninger <frgo at mac.com> writes:
>
>> Anybody seeing this also?
>>
>> (I'm using ACL 8.1 Express Edition with GNU Emacs 22.1.1 on Mac OS X
>> 10.4.10 Intel)
>
> Could please provide the backtrace? (And if you don't get on, do an
> `M-x toggle-debug-on-error' before you do whatever causes the error.)
In my code fragment:
(defmd gnc-window ( cello::cello-window
cello::sound-manager )
:md-name (gensym "gnc-window-")
:on-key-down (c-in 'gnc-key-down-handler)
:sound `((:open .
,(lambda (self)
(declare (ignorable self))
(make-sound :paths '("open-window") ;;; ----
POINT /CURSOR IS AT "m" of make-sound
:source (al-source-gen 1)
:callback (lambda (dur sources)
(loop for source in
sources
for gain =
(max 0 (- 1
(/ dur 3)))
do
(al-sourcef source
al_gain
gain)
(al-chk "openal
test GAIN set"))))))
(:keydown . "key-down")
(:close . "close-window"))
:ll (c-in 0)
:lt (c-in 0)
:lr (c-in (upts 600))
:lb (c-in (upts (downs 800))))
Backtrace:
Debugger entered--Lisp error: (wrong-type-argument stringp nil)
file-name-directory(nil)
(slime-highlight-differences-in-dirname (file-name-directory
target-filename) (file-name-directory guessed-target))
(concat (slime-highlight-differences-in-dirname (file-name-
directory target-filename) (file-name-directory guessed-target))
(file-name-nondirectory target-filename))
(slime-message "Attention: This is `%s'." (concat (slime-highlight-
differences-in-dirname ... ...) (file-name-nondirectory target-
filename)))
(progn (slime-message "Attention: This is `%s'." (concat ... ...)))
(if (and (not ...) (or t ...)) (progn (slime-message "Attention:
This is `%s'." ...)))
(when (and (not ...) (or t ...)) (slime-message "Attention: This
is `%s'." (concat ... ...)))
(let ((guessed-target ...)) (when (and ... ...) (slime-message
"Attention: This is `%s'." ...)))
(progn (let (...) (when ... ...)))
(if slime-warn-when-possibly-tricked-by-M-\. (progn (let ... ...)))
(when slime-warn-when-possibly-tricked-by-M-\. (let (...)
(when ... ...)))
slime-maybe-warn-for-different-source-root("/opt/common-lisp/cello/
cello-openal.lisp" "/private/var/data/projects/gt/app/cello-widgets/
gnc-window.lisp")
(progn (slime-maybe-warn-for-different-source-root target-filename
buffer-filename))
(if buffer-filename (progn (slime-maybe-warn-for-different-source-
root target-filename buffer-filename)))
(when buffer-filename (slime-maybe-warn-for-different-source-root
target-filename buffer-filename))
(let ((target-filename ...) (buffer-filename ...)) (when buffer-
filename (slime-maybe-warn-for-different-source-root target-filename
buffer-filename)) (unless (and buffer-filename ...) (set-buffer ...)))
(let* ((--cl-rest-- rand-51997) (filename ...)) (let (... ...)
(when buffer-filename ...) (unless ... ...)) (goto-char (point-min)))
(progn (let* (... ...) (let ... ... ...) (goto-char ...)))
(destructuring-bind (filename) rand-51997 (let (... ...) (when
buffer-filename ...) (unless ... ...)) (goto-char (point-min)))
(cond ((eql op-51996 ...) (destructuring-bind ...
rand-51997 ... ...)) ((eql op-51996 ...) (destructuring-bind ...
rand-51997 ... ... ...)) ((eql op-51996 ...) (destructuring-bind ...
rand-51997 ... ... ... ... ...)) ((eql op-51996 ...) (destructuring-
bind ... rand-51997 ... ... ... ... ...)) (t (error "Elisp
destructure-case failed: %S" tmp-51998)))
(case op-51996 (:file (destructuring-bind ... rand-51997 ... ...))
(:buffer (destructuring-bind ... rand-51997 ... ... ...)) (:source-
form (destructuring-bind ... rand-51997 ... ... ... ... ...)) (:zip
(destructuring-bind ... rand-51997 ... ... ... ... ...)) (t (error
"Elisp destructure-case failed: %S" tmp-51998)))
(let* ((tmp-51998 buffer) (op-51996 ...) (rand-51997 ...)) (case
op-51996 (:file ...) (:buffer ...) (:source-form ...) (:zip ...)
(t ...)))
(destructure-case buffer ((:file filename) (let ... ... ...) (goto-
char ...)) ((:buffer buffer-name) (let ... ...) (set-buffer buffer-
name) (goto-char ...)) ((:source-form string) (set-buffer ...) (erase-
buffer) (lisp-mode) (insert string) (goto-char ...)) ((:zip file
entry) (require ...) (set-buffer ...) (goto-char ...) (re-search-
forward ...) (let ... ... ...)))
(progn (fset (quote file-truename-safe) (function* ...))
(destructure-case buffer (... ... ...) (... ... ... ...)
(... ... ... ... ... ...) (... ... ... ... ... ...)))
(unwind-protect (progn (fset ... ...) (destructure-case
buffer ... ... ... ...)) (if --cl-letf-bound-- (fset ... --cl-letf-
save--) (fmakunbound ...)))
(let* ((--cl-letf-bound-- ...) (--cl-letf-save-- ...)) (unwind-
protect (progn ... ...) (if --cl-letf-bound-- ... ...)))
(letf ((... ...)) (destructure-case buffer (... ... ...)
(... ... ... ...) (... ... ... ... ... ...) (... ... ... ... ... ...)))
(letf* ((... ...)) (destructure-case buffer (... ... ...)
(... ... ... ...) (... ... ... ... ... ...) (... ... ... ... ... ...)))
(flet ((file-truename-safe ... ...)) (destructure-case buffer
(... ... ...) (... ... ... ...) (... ... ... ... ... ...)
(... ... ... ... ... ...)))
slime-goto-location-buffer((:file "/opt/common-lisp/cello/cello-
openal.lisp"))
(let* ((--cl-rest-- rand-51994) (buffer ...) (position ...)
(hints ...)) (slime-goto-location-buffer buffer) (slime-goto-location-
position position) (when-let (snippet ...) (slime-isearch snippet))
(when-let (fname ...) (slime-search-call-site fname)))
(progn (let* (... ... ... ...) (slime-goto-location-buffer buffer)
(slime-goto-location-position position) (when-let ... ...) (when-
let ... ...)))
(destructuring-bind (buffer position hints) rand-51994 (slime-goto-
location-buffer buffer) (slime-goto-location-position position) (when-
let (snippet ...) (slime-isearch snippet)) (when-let (fname ...)
(slime-search-call-site fname)))
(cond ((eql op-51993 ...) (destructuring-bind ...
rand-51994 ... ... ... ...)) ((eql op-51993 ...) (destructuring-
bind ... rand-51994 ...)) (t (error "Elisp destructure-case failed: %
S" tmp-51995)))
(case op-51993 (:location (destructuring-bind ...
rand-51994 ... ... ... ...)) (:error (destructuring-bind ...
rand-51994 ...)) (t (error "Elisp destructure-case failed: %S"
tmp-51995)))
(let* ((tmp-51995 location) (op-51993 ...) (rand-51994 ...)) (case
op-51993 (:location ...) (:error ...) (t ...)))
(destructure-case location ((:location buffer position hints)
(slime-goto-location-buffer buffer) (slime-goto-location-position
position) (when-let ... ...) (when-let ... ...)) ((:error message)
(if noerror ... ...)))
slime-goto-source-location((:location (:file "/opt/common-lisp/
cello/cello-openal.lisp") (:position 532) nil))
(cond ((equal where ...) (slime-goto-definition-other-window ...))
((equal where ...) (let ... ...)) (t (slime-goto-source-location ...)
(switch-to-buffer ...)))
(cond ((eql op-51990 ...) (destructuring-bind ... rand-51991 ...))
(t (cond ... ... ...)))
(case op-51990 (:error (destructuring-bind ... rand-51991 ...)) (t
(cond ... ... ...)))
(let* ((tmp-51992 ...) (op-51990 ...) (rand-51991 ...)) (case
op-51990 (:error ...) (t ...)))
(destructure-case (slime-definition\.location def) ((:error
message) (error "%s" message)) (t (cond ... ... ...)))
(let ((def ...)) (destructure-case (slime-definition\.location
def) (... ...) (t ...)))
(if (and (slime-length> definitions 1) (not all-locations-equal))
(slime-show-definitions name definitions) (let (...) (destructure-
case ... ... ...)))
(let ((all-locations-equal ...)) (if (and ... ...) (slime-show-
definitions name definitions) (let ... ...)))
slime-goto-definition("make-sound" (("(:OPERATOR MAKE-
SOUND)" (:location ... ... nil))) nil)
(cond ((null definitions) (if slime-edit-definition-fallback-
function ... ...)) ((and ... ...) (if slime-edit-definition-fallback-
function ... ...)) (t (slime-goto-definition name definitions where)))
(let ((definitions ...)) (cond (... ...) (... ...) (t ...)))
slime-edit-definition("make-sound")
call-interactively(slime-edit-definition)
>
>> (How should I revert the cvs update to the previous version ? -
>> Thx...)
>
> I very much presume that the error will not happen when you do an
>
> M-: (setq slime-warn-when-possibly-tricked-by-M-. nil)
That is actually true, yes - when setting this to NIL I don't get the
error.
>
> I'm interested in seeing the backtrace, though. Thanks.
>
> -T.
Thanks, Tobias!!!
Frank
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PGP.sig
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/slime-devel/attachments/20070915/a610317a/attachment.sig>
More information about the slime-devel
mailing list