Date: Tuesday, May 31, 2011 @ 06:14:39 Author: rtoy Path: /project/cmucl/cvsroot/src/code
Modified: fd-stream.lisp
Ignore shell wildcards when determining next version.
Comment from Paul Foley:
Problem: FD-OPEN calls NEXT-VERSION with the namestring; NEXT-VERSION calls EXTRACT-NAME-TYPE-AND-VERSION, which builds a "pattern" when it sees globbing characters in the name, and NEXT-VERSION promptly crashes when it tries to concatenate strings.
Fix: Bind *IGNORE-WILDCARDS* to T in NEXT-VERSION (in fd-stream.lisp)
----------------+ fd-stream.lisp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
Index: src/code/fd-stream.lisp diff -u src/code/fd-stream.lisp:1.123 src/code/fd-stream.lisp:1.124 --- src/code/fd-stream.lisp:1.123 Wed Feb 16 18:55:45 2011 +++ src/code/fd-stream.lisp Tue May 31 06:14:39 2011 @@ -5,7 +5,7 @@ ;;; Carnegie Mellon University, and has been placed in the public domain. ;;; (ext:file-comment - "$Header: /project/cmucl/cvsroot/src/code/fd-stream.lisp,v 1.123 2011/02/17 02:55:45 rtoy Exp $") + "$Header: /project/cmucl/cvsroot/src/code/fd-stream.lisp,v 1.124 2011/05/31 13:14:39 rtoy Exp $") ;;; ;;; ********************************************************************** ;;; @@ -1948,7 +1948,8 @@ ;;; (defun next-version (name) (declare (type simple-string name)) - (let* ((sep (position #/ name :from-end t)) + (let* ((*ignore-wildcards* t) + (sep (position #/ name :from-end t)) (base (if sep (subseq name 0 (1+ sep)) "")) (dir (unix:open-dir base))) (multiple-value-bind (name type version)