[cmucl-commit] CMUCL commit: src/code (fd-stream.lisp)

Raymond Toy rtoy at common-lisp.net
Tue May 31 15:14:39 CEST 2011


    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)


More information about the cmucl-commit mailing list