Am 15.09.2007 um 14:10 schrieb Tobias C. Rittweiler:
Frank Goenninger frgo@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