diff -Naur fxp-1.4.6/Makefile fxp-win32-1.4.6/Makefile --- fxp-1.4.6/Makefile 2003-10-09 09:48:03.000000000 -0500 +++ fxp-win32-1.4.6/Makefile 2003-10-17 13:22:17.000000000 -0500 @@ -6,7 +6,7 @@ ############################################################################## # These are the locations for executables, heap images and library files ############################################################################## -PREFIX = /home/berlea/xmlsoft +PREFIX = /cygdrive/d/xml FXP_BINDIR = ${PREFIX}/bin FXP_LIBDIR = ${PREFIX}/fxp @@ -15,15 +15,15 @@ # SML-NJ executable with the Compilation manager built-in. If sml is in # your PATH at execution time, you fon't need the full path here. ############################################################################## -SML_BINDIR = /usr/share/smlnj/bin +SML_BINDIR = /cygdrive/d/smlnj-110.43/bin SML_EXEC = ${SML_BINDIR}/sml ############################################################################## # No need to change this for SML-NJ 110.0.6. For earlier or working versions # 110.19 you might have to use the second or third line. This is the # compilation manager function for making with a named description file. ############################################################################## -SML_MAKEDEF= val make = CM.make' -#SML_MAKEDEF= val make = CM.make +#SML_MAKEDEF= val make = CM.make' +SML_MAKEDEF= val make = CM.make #SML_MAKEDEF= fun make x = CM.make'{force_relink=true, group=x} ############################################################################## @@ -35,7 +35,7 @@ COPY = cp -f CHMOD = chmod FIND = find -MKDIRHIER = mkdirhier +MKDIRHIER = mkdir -p ############################################################################## # nothing to change below this line diff -Naur fxp-1.4.6/src/Apps/Canon/canon.cm fxp-win32-1.4.6/src/Apps/Canon/canon.cm --- fxp-1.4.6/src/Apps/Canon/canon.cm 2003-10-09 09:48:00.000000000 -0500 +++ fxp-win32-1.4.6/src/Apps/Canon/canon.cm 2003-10-17 16:16:42.000000000 -0500 @@ -5,3 +5,4 @@ canonHooks.sml canon.sml ../../fxlib.cm + $/basis.cm diff -Naur fxp-1.4.6/src/Apps/Copy/copy.cm fxp-win32-1.4.6/src/Apps/Copy/copy.cm --- fxp-1.4.6/src/Apps/Copy/copy.cm 2003-10-09 09:48:00.000000000 -0500 +++ fxp-win32-1.4.6/src/Apps/Copy/copy.cm 2003-10-17 16:16:51.000000000 -0500 @@ -5,3 +5,4 @@ copyHooks.sml copy.sml ../../fxlib.cm + $/basis.cm diff -Naur fxp-1.4.6/src/Apps/Copy/copyEncode.sml fxp-win32-1.4.6/src/Apps/Copy/copyEncode.sml --- fxp-1.4.6/src/Apps/Copy/copyEncode.sml 2003-10-09 09:48:00.000000000 -0500 +++ fxp-win32-1.4.6/src/Apps/Copy/copyEncode.sml 2003-10-17 14:30:01.000000000 -0500 @@ -126,7 +126,7 @@ | _ => if c<>q andalso validChar(f,c) then putChar(f,c) else putCharRef(f,c) val f1 = putChar(f,q) - val f2 = Vector.foldli putOne f1 (cv,0,NONE) + val f2 = Vector.foldli putOne f1 cv val f3 = putChar(f2,q) in f3 end diff -Naur fxp-1.4.6/src/Apps/Esis/esis.cm fxp-win32-1.4.6/src/Apps/Esis/esis.cm --- fxp-1.4.6/src/Apps/Esis/esis.cm 2003-10-09 09:48:01.000000000 -0500 +++ fxp-win32-1.4.6/src/Apps/Esis/esis.cm 2003-10-17 16:17:04.000000000 -0500 @@ -5,3 +5,4 @@ esisHooks.sml esisData.sml ../../fxlib.cm + $/basis.cm diff -Naur fxp-1.4.6/src/Apps/Null/null.cm fxp-win32-1.4.6/src/Apps/Null/null.cm --- fxp-1.4.6/src/Apps/Null/null.cm 2003-10-09 09:47:59.000000000 -0500 +++ fxp-win32-1.4.6/src/Apps/Null/null.cm 2003-10-17 16:16:57.000000000 -0500 @@ -4,3 +4,4 @@ null.sml nullHard.sml ../../fxlib.cm + $/basis.cm diff -Naur fxp-1.4.6/src/Apps/Viz/viz.cm fxp-win32-1.4.6/src/Apps/Viz/viz.cm --- fxp-1.4.6/src/Apps/Viz/viz.cm 2003-10-09 09:48:01.000000000 -0500 +++ fxp-win32-1.4.6/src/Apps/Viz/viz.cm 2003-10-17 16:17:32.000000000 -0500 @@ -3,3 +3,4 @@ viz.sml vizHooks.sml ../../fxlib.cm + $/basis.cm diff -Naur fxp-1.4.6/src/Parser/Dfa/dfaPassTwo.sml fxp-win32-1.4.6/src/Parser/Dfa/dfaPassTwo.sml --- fxp-1.4.6/src/Parser/Dfa/dfaPassTwo.sml 2003-10-09 09:47:55.000000000 -0500 +++ fxp-win32-1.4.6/src/Parser/Dfa/dfaPassTwo.sml 2003-10-17 14:24:41.000000000 -0500 @@ -72,6 +72,6 @@ val _ = do_cm (nil,true) cmi - in Array.extract (table,0,NONE) + in Array.vector table end end diff -Naur fxp-1.4.6/src/Parser/Dfa/dfaString.sml fxp-win32-1.4.6/src/Parser/Dfa/dfaString.sml --- fxp-1.4.6/src/Parser/Dfa/dfaString.sml 2003-10-09 09:47:55.000000000 -0500 +++ fxp-win32-1.4.6/src/Parser/Dfa/dfaString.sml 2003-10-17 14:07:50.000000000 -0500 @@ -68,11 +68,11 @@ (fn (i,q,yet) => if q<0 then yet else " "::Elem2String (i+lo)::"->"::State2String q::yet) (if fin then [" [Final]"] else nil) - (tab,0,NONE)) + tab) fun Dfa2String Elem2String tab = String.concat (Vector.foldri (fn (q,row,yet) => State2String q::":"::Row2String Elem2String row::yet) - nil (tab,0,NONE)) + nil tab) end diff -Naur fxp-1.4.6/src/Parser/Dfa/dfaUtil.sml fxp-win32-1.4.6/src/Parser/Dfa/dfaUtil.sml --- fxp-1.4.6/src/Parser/Dfa/dfaUtil.sml 2003-10-09 09:47:54.000000000 -0500 +++ fxp-win32-1.4.6/src/Parser/Dfa/dfaUtil.sml 2003-10-17 14:22:35.000000000 -0500 @@ -124,7 +124,7 @@ val tab = Array.array(hi-lo+1,dfaError) val _ = app (fn (q,a) => Array.update (tab,a-lo,q)) flw in - (lo,hi,Array.extract (tab,0,NONE),fin) + (lo,hi,Array.vector tab,fin) end end diff -Naur fxp-1.4.6/src/Parser/Dtd/dtdAttributes.sml fxp-win32-1.4.6/src/Parser/Dtd/dtdAttributes.sml --- fxp-1.4.6/src/Parser/Dtd/dtdAttributes.sml 2003-10-09 09:47:55.000000000 -0500 +++ fxp-win32-1.4.6/src/Parser/Dtd/dtdAttributes.sml 2003-10-17 14:12:28.000000000 -0500 @@ -65,7 +65,7 @@ ord(String.sub(s,1))-65, true)) iso639codes - in Vector.tabulate(26,fn i => Array.extract (Array.sub(arr,i),0,NONE)) + in Vector.tabulate(26,fn i => Array.vector (Array.sub(arr,i))) end (*--------------------------------------------------------------------*) diff -Naur fxp-1.4.6/src/Parser/Params/dtd.sml fxp-win32-1.4.6/src/Parser/Params/dtd.sml --- fxp-1.4.6/src/Parser/Params/dtd.sml 2003-10-09 09:47:56.000000000 -0500 +++ fxp-win32-1.4.6/src/Parser/Params/dtd.sml 2003-10-17 14:09:57.000000000 -0500 @@ -290,10 +290,10 @@ val _ = map (fn i => Array.update(preRedef,i,false)) [1,2,3,4,5] val _ = GenEnt2Index dtd [0wx2D] (* "-" *) val _ = ParEnt2Index dtd [0wx2D] (* "-" *) - val _ = Vector.appi - (fn (_,(name,lit,cs)) - => (setGenEnt dtd (GenEnt2Index dtd name,(GE_INTERN(lit,cs),false)))) - (predefined,1,NONE) + val _ = VectorSlice.appi + (fn (_,(name,lit,cs)) + => (setGenEnt dtd (GenEnt2Index dtd name,(GE_INTERN(lit,cs),false)))) + (VectorSlice.slice (predefined,1,NONE)) in () end diff -Naur fxp-1.4.6/src/Parser/Parse/parseContent.sml fxp-win32-1.4.6/src/Parser/Parse/parseContent.sml --- fxp-1.4.6/src/Parser/Parse/parseContent.sml 2003-10-09 09:47:56.000000000 -0500 +++ fxp-win32-1.4.6/src/Parser/Parse/parseContent.sml 2003-10-17 14:26:30.000000000 -0500 @@ -587,7 +587,9 @@ val _ = Array.update(dataBuffer,0,c0) fun data_hook (i,(a,q)) = - hookData(a,((!pos0,getPos q),Array.extract(dataBuffer,0,SOME i),false)) + hookData(a,((!pos0,getPos q), + ArraySlice.vector(ArraySlice.slice(dataBuffer,0,SOME i)), + false)) fun takeOne (c,qE,i,aq as (a,q)) = if i c::cs) nil (vec,0,SOME (maxlen div 2)) - val cs2 = Vector.foldri - (fn (_,c,cs) => c::cs) nil (vec,len-3-maxlen div 2,NONE) + val cs1 = VectorSlice.foldri + (fn (_,c,cs) => c::cs) + nil + (VectorSlice.slice (vec,0,SOME (maxlen div 2))) + val cs2 = VectorSlice.foldri + (fn (_,c,cs) => c::cs) + nil + (VectorSlice.slice (vec,len-3-maxlen div 2,NONE)) in Data2String cs1^"..."^Data2String cs2 end end diff -Naur fxp-1.4.6/src/Unicode/Uri/uriEncode.sml fxp-win32-1.4.6/src/Unicode/Uri/uriEncode.sml --- fxp-1.4.6/src/Unicode/Uri/uriEncode.sml 2003-10-09 09:47:57.000000000 -0500 +++ fxp-win32-1.4.6/src/Unicode/Uri/uriEncode.sml 2003-10-17 13:52:57.000000000 -0500 @@ -73,7 +73,7 @@ in c2::c1:: #"%"::s end) s (encodeCharUtf8 c)) - nil (cv,0,NONE) + nil cv in String.implode (rev revd) end @@ -85,7 +85,7 @@ else let val (c1,c2) = Byte2Cc (Char2Byte c) in c2::c1:: #"%"::s end)) - nil (cv,0,NONE) + nil cv in String.implode (rev revd) end diff -Naur fxp-1.4.6/src/Util/SymDict/dict.sml fxp-win32-1.4.6/src/Util/SymDict/dict.sml --- fxp-1.4.6/src/Util/SymDict/dict.sml 2003-10-09 09:47:59.000000000 -0500 +++ fxp-win32-1.4.6/src/Util/SymDict/dict.sml 2003-10-17 13:57:44.000000000 -0500 @@ -230,7 +230,7 @@ in () end in - Array.appi addTo (oldTab,0,NONE) + Array.appi addTo oldTab end (*--------------------------------------------------------------------*) @@ -316,8 +316,8 @@ (*--------------------------------------------------------------------*) fun printDict X2String ({desc,tab,count,...}:'a Dict) = (print (desc^" dictionary:\n"); - Array.appi + ArraySlice.appi (fn (n,(key,value)) => print (" "^Int.toString n^": "^Key.toString key^" = "^X2String value^"\n")) - (!tab,0,SOME (!count))) + (ArraySlice.slice(!tab,0,SOME (!count)))) end diff -Naur fxp-1.4.6/src/Util/SymDict/symbolTable.sml fxp-win32-1.4.6/src/Util/SymDict/symbolTable.sml --- fxp-1.4.6/src/Util/SymDict/symbolTable.sml 2003-10-09 09:47:59.000000000 -0500 +++ fxp-win32-1.4.6/src/Util/SymDict/symbolTable.sml 2003-10-17 14:03:39.000000000 -0500 @@ -219,7 +219,7 @@ val _ = Array.update(newTab,i,key) in () end - val _ = Array.appi addToNew (!tab,0,NONE) + val _ = Array.appi addToNew (!tab) val _ = tab := newTab val _ = hash := newHash @@ -300,15 +300,15 @@ (* extract the contents of a symbol table to a vector. *) (*--------------------------------------------------------------------*) fun extractSymTable({count,tab,...}:SymTable) = - Array.extract(!tab,0,SOME(!count)) + ArraySlice.vector(ArraySlice.slice(!tab,0,SOME(!count))) (*--------------------------------------------------------------------*) (* print the contents of the symbol table. *) (*--------------------------------------------------------------------*) fun printSymTable ({desc,tab,count,...}:SymTable) = (print (desc^" table:\n"); - Array.appi + ArraySlice.appi (fn (n,key) => print (" "^Int.toString n^": "^Key.toString key^"\n")) - (!tab,0,SOME (!count))) + (ArraySlice.slice(!tab,0,SOME (!count)))) end diff -Naur fxp-1.4.6/src/Util/intSets.sml fxp-win32-1.4.6/src/Util/intSets.sml --- fxp-1.4.6/src/Util/intSets.sml 2003-10-09 09:47:58.000000000 -0500 +++ fxp-win32-1.4.6/src/Util/intSets.sml 2003-10-17 14:20:11.000000000 -0500 @@ -49,8 +49,8 @@ fun normalize (vec:IntSet) = let val max = Vector.foldli - (fn (i,w,max) => if w=0wx0 then i else max) 0 (vec,0,NONE) - in Vector.extract (vec,0,SOME max) + (fn (i,w,max) => if w=0wx0 then i else max) 0 vec + in VectorSlice.vector(VectorSlice.slice (vec,0,SOME max)) end val emptyIntSet = Vector.fromList nil : IntSet @@ -88,7 +88,7 @@ val size = Vector.length vec in if size>idx - then Vector.mapi (fn (i,x) => if i=idx then x||mask else x) (vec,0,NONE) + then Vector.mapi (fn (i,x) => if i=idx then x||mask else x) vec else Vector.tabulate (idx+1,fn i => if i if i=idx then x && mask else x) (vec,0,NONE) + (fn (i,x) => if i=idx then x && mask else x) vec end in normalize vec1 end diff -Naur fxp-1.4.6/src/Util/utilString.sml fxp-win32-1.4.6/src/Util/utilString.sml --- fxp-1.4.6/src/Util/utilString.sml 2003-10-09 09:47:58.000000000 -0500 +++ fxp-win32-1.4.6/src/Util/utilString.sml 2003-10-17 13:38:53.000000000 -0500 @@ -230,6 +230,9 @@ if Vector.length vec=0 then pre^post else String.concat (pre::X2String(Vector.sub(vec,0)):: - Vector.foldri (fn (_,x,yet) => sep::X2String x::yet) [post] (vec,1,NONE)) + VectorSlice.foldri + (fn (_,x,yet) => sep::X2String x::yet) + [post] + (VectorSlice.slice (vec,1,NONE))) fun Vector2String X2String vec = Vector2xString ("#[",",","]") X2String vec end diff -Naur fxp-1.4.6/src/fxlib.cm fxp-win32-1.4.6/src/fxlib.cm --- fxp-1.4.6/src/fxlib.cm 2003-10-09 09:47:59.000000000 -0500 +++ fxp-win32-1.4.6/src/fxlib.cm 2003-10-17 16:16:27.000000000 -0500 @@ -92,3 +92,4 @@ Util/SymDict/intDict.sml Util/utilCompare.sml config.sml + $/basis.cm