TclVFS

Check-in [3654e5e1d0]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment: * library/template/templatevfs.tcl (memchan): Fix result for * pkgIndex.tcl: unix. The bug was reported on the wiki. The fix there was wrong, did improper handling of the $args argument. Fixed here. Version bumped to 1.5.3.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 3654e5e1d0da660399e9a56eeb0fdff9739d83cc
User & Date: andreas_kupries 2009-07-06 17:00:19.000
Context
2009-10-16
05:40
2008-10-15 Steve Huntley <[email protected]> vfs::template package update ver. 1.5.3: * templatevfs.tcl: Incorporated AK's fix below. * collatevfs.tcl: ensured binary file contents got written correctly, and ensured that not only file contents but also file attributes were updated to all write targets. check-in: ff8d467939 user: blacksqr tags: trunk
2009-07-06
17:00
* library/template/templatevfs.tcl (memchan): Fix result for * pkgIndex.tcl: unix. The bug was reported on the wiki. The fix there was wrong, did improper handling of the $args argument. Fixed here. Version bumped to 1.5.3. check-in: 3654e5e1d0 user: andreas_kupries tags: trunk
2009-05-30
17:00
modified the base address check-in: 8aaea4d729 user: patthoyts tags: trunk
Changes
Unified Diff Ignore Whitespace Patch
Changes to ChangeLog.







1
2
3
4
5
6
7







2009-05-14  Pat Thoyts  <[email protected]>

	* library/zipvfs.tcl: Handle directory names that include
	* tests/vfsZip.test:  glob chars. Added some tests.
	* win/makefile.vc: fix running the tests.

2009-02-06  Andreas Kupries  <[email protected]>
>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
2009-07-06  Andreas Kupries  <[email protected]>

	* library/template/templatevfs.tcl (memchan): Fix result for
	* pkgIndex.tcl: unix. The bug was reported on the wiki. The fix
	  there was wrong, did improper handling of the $args argument.
	  Fixed here. Version bumped to 1.5.3.

2009-05-14  Pat Thoyts  <[email protected]>

	* library/zipvfs.tcl: Handle directory names that include
	* tests/vfsZip.test:  glob chars. Added some tests.
	* win/makefile.vc: fix running the tests.

2009-02-06  Andreas Kupries  <[email protected]>
Changes to library/template/templatevfs.tcl.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#/usr/bin/env tclsh

if 0 {
########################

templatevfs.tcl --

Written by Stephen Huntley ([email protected])
License: Tcl license
Version 1.5.2

The template virtual filesystem is designed as a prototype on which to build new virtual 
filesystems.  Only a few simple, abstract procedures have to be overridden to produce a new
vfs, requiring no knowledge of the Tclvfs API. 

In addition, several behind-the-scenes functions are provided to make new vfs's more stable and
scalable, including file information caching and management of close callback errors. 









|







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#/usr/bin/env tclsh

if 0 {
########################

templatevfs.tcl --

Written by Stephen Huntley ([email protected])
License: Tcl license
Version 1.5.3

The template virtual filesystem is designed as a prototype on which to build new virtual 
filesystems.  Only a few simple, abstract procedures have to be overridden to produce a new
vfs, requiring no knowledge of the Tclvfs API. 

In addition, several behind-the-scenes functions are provided to make new vfs's more stable and
scalable, including file information caching and management of close callback errors. 
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package require vfs 1.0

# force sourcing of vfsUtils.tcl: 
set vfs::posix(load) x
vfs::posixError load
unset vfs::posix(load)

package provide vfs::template 1.5.2

namespace eval ::vfs::template {

if 0 {
########################

In order to create a new virtual filesystem:







|







50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
package require vfs 1.0

# force sourcing of vfsUtils.tcl: 
set vfs::posix(load) x
vfs::posixError load
unset vfs::posix(load)

package provide vfs::template 1.5.3

namespace eval ::vfs::template {

if 0 {
########################

In order to create a new virtual filesystem:
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
# workaround for bug in tclkit:
proc memchan {args} {
	if {$::tcl_platform(platform) == "windows"} {
		package require Memchan
		set chan [uplevel 1 ::memchan $args]
		return $chan
	} else {
		return ::vfs::memchan $args
	}
}

}
# end namespace eval ::vfs::template

# overload exit command so that all vfs's are explicitly 







|







546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
# workaround for bug in tclkit:
proc memchan {args} {
	if {$::tcl_platform(platform) == "windows"} {
		package require Memchan
		set chan [uplevel 1 ::memchan $args]
		return $chan
	} else {
	    return [eval [linsert $args 0 ::vfs::memchan]]
	}
}

}
# end namespace eval ::vfs::template

# overload exit command so that all vfs's are explicitly 
Changes to pkgIndex.tcl.in.
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
    [list source [file join $dir template versionvfs.tcl]]
package ifneeded vfs::template::version::delta 1.5.2 \
    [list source [file join $dir template deltavfs.tcl]]
package ifneeded vfs::template::fish 1.5.2 \
    [list source [file join $dir template fishvfs.tcl]]
package ifneeded vfs::template::quota 1.5.2 \
    [list source [file join $dir template quotavfs.tcl]]
package ifneeded vfs::template 1.5.2 \
    [list source [file join $dir template templatevfs.tcl]]
#
# Helpers
#
package ifneeded fileutil::globfind 1.5 \
    [list source [file join $dir template globfind.tcl]]
package ifneeded trsync 1.0 [list source [file join $dir template tdelta.tcl]]







|







40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
    [list source [file join $dir template versionvfs.tcl]]
package ifneeded vfs::template::version::delta 1.5.2 \
    [list source [file join $dir template deltavfs.tcl]]
package ifneeded vfs::template::fish 1.5.2 \
    [list source [file join $dir template fishvfs.tcl]]
package ifneeded vfs::template::quota 1.5.2 \
    [list source [file join $dir template quotavfs.tcl]]
package ifneeded vfs::template 1.5.3 \
    [list source [file join $dir template templatevfs.tcl]]
#
# Helpers
#
package ifneeded fileutil::globfind 1.5 \
    [list source [file join $dir template globfind.tcl]]
package ifneeded trsync 1.0 [list source [file join $dir template tdelta.tcl]]