From 0376f35241ced867eccf718898e0fbbecf8e328d Mon Sep 17 00:00:00 2001
From: toy <toy>
Date: Tue, 10 Jun 2003 18:17:44 +0000
Subject: [PATCH] 	* code/filesys.lisp (filesys-init): The version
 component of 	*default-pathname-defaults* changed from :newest to
 :unspecific, 	so merging doesn't automatically create versioned files.

	(extract-name-type-and-version): When no explicit version is given
	in a namestring, return version NIL instead of :NEWEST.
---
 code/filesys.lisp            | 12 +++++++++---
 general-info/release-19a.txt |  9 +++++++++
 2 files changed, 18 insertions(+), 3 deletions(-)

diff --git a/code/filesys.lisp b/code/filesys.lisp
index 78a236ed1..915586e7f 100644
--- a/code/filesys.lisp
+++ b/code/filesys.lisp
@@ -6,7 +6,7 @@
 ;;; Scott Fahlman or slisp-group@cs.cmu.edu.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/filesys.lisp,v 1.73 2003/06/10 16:52:36 toy Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/filesys.lisp,v 1.74 2003/06/10 18:14:10 toy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -179,7 +179,10 @@
       ((explicit-version (namestr start end)
 	 (cond ((or (< (- end start) 5)
 		    (char/= (schar namestr (1- end)) #\~))
-		(values :newest end))
+		;; No explicit version given, so return NIL to
+		;; indicate we don't want file versions, unless
+		;; requested in other ways.
+		(values nil end))
 	       ((and (char= (schar namestr (- end 2)) #\*)
 		     (char= (schar namestr (- end 3)) #\~)
 		     (char= (schar namestr (- end 4)) #\.))
@@ -1263,8 +1266,11 @@ optionally keeping some of the most recent old versions."
 (defsetf default-directory %set-default-directory)
 
 (defun filesys-init ()
+  ;; Use :unspecific so we don't create file versions whenever merging
+  ;; happens.  If the user wants that, let him change
+  ;; *default-pathname-defaults* appropriately.
   (setf *default-pathname-defaults*
-	(%make-pathname *unix-host* nil nil nil nil :newest))
+	(%make-pathname *unix-host* nil nil nil nil :unspecific))
   (setf (search-list "default:") (default-directory))
   nil)
 
diff --git a/general-info/release-19a.txt b/general-info/release-19a.txt
index 9dacb2918..a5da76aa7 100644
--- a/general-info/release-19a.txt
+++ b/general-info/release-19a.txt
@@ -133,6 +133,15 @@ New in this release:
      - the signature of *COMPILER-NOTIFICATION-FUNCTION* has changed;
        it now has an extra argument that describes the nature of the
        error or warning. 
+     - File versioning occurs when the version component is :newest,
+       and Emacs style file versions are created:  foo.bar.~N~, where
+       the larger N is newer.  foo.bar is the newest version.
+     - Converting namestrings to pathnames now get a version component
+       of NIL instead of :NEWEST.
+     - *default-pathname-defaults* has a version component of
+       :unspecific instead of :newest so versioning is disabled by
+       default to preserve current behavior.  Set the version to
+       :newest to create versions.
 
   * Numerous improvements to the PCL implementation of CLOS:
      - Gerd's PCL has been added, which fixes numerous bugs and ANSI/
-- 
GitLab