Ticket UUID: | 562970 | |||
Title: | TIP99, a 'file link source ?target?' impl. | |||
Type: | Patch | Version: | None | |
Submitter: | vincentdarley | Created on: | 2002-05-31 16:23:50 | |
Subsystem: | 37. File System | Assigned To: | vincentdarley | |
Priority: | 5 Medium | Severity: | ||
Status: | Closed | Last Modified: | 2002-06-21 21:38:28 | |
Resolution: | Accepted | Closed By: | vincentdarley | |
Closed on: | 2002-06-21 14:38:28 | |||
Description: |
Here's a patch which implements 'file link source ? target?'. It is fully implemented on Unix, and on Win/MacOS, it simply returns standard error messages (like 'file readlink' on Windows at present). It would be easy to add a MacOS implementation, and a WinNT version is apparently possible (search on comp.lang.tcl for 'file link'). Obviously this would need a TIP, but it is a very minor change (the patch is v. small!). No 'VFS' modifications are required at all -- this fits into the pre-existing framework. Any thoughts? | |||
User Comments: |
vincentdarley added on 2002-06-21 21:38:28:
Logged In: YES user_id=32170 Patch applied to cvs head. vincentdarley added on 2002-06-18 17:32:37: File Deleted - 25108: File Added - 25311: tip99.patch Logged In: YES user_id=32170 Added some more tests, and improved performance of file normalization in presence of links on Windows. Also enhanced the documentation. vincentdarley added on 2002-06-14 21:20:49: File Deleted - 25098: File Added - 25108: tip99.patch Logged In: YES user_id=32170 Made some more tests which were 'unixOnly' work cross-platform. I think this is a suitable final version of the patch for TIP 99. vincentdarley added on 2002-06-14 18:19:15: File Deleted - 25044: File Added - 25098: tip99.patch Logged In: YES user_id=32170 Added complete documentation and further tests. vincentdarley added on 2002-06-13 22:47:10: File Deleted - 25042: File Added - 25044: tip99.patch vincentdarley added on 2002-06-13 22:47:09: Logged In: YES user_id=32170 Added more tests. vincentdarley added on 2002-06-13 22:33:19: File Deleted - 24939: File Added - 25042: tip99c.patch Logged In: YES user_id=32170 Added patch to latest cvs head. vincentdarley added on 2002-06-12 16:40:14: File Deleted - 24897: File Added - 24939: tip99.patch Logged In: YES user_id=32170 renamed, and added new patch to latest cvs head. dkf added on 2002-06-12 15:06:38: Logged In: YES user_id=79902 Cross-ref: http://purl.org/tcl/tip/99 vincentdarley added on 2002-06-12 01:01:48: File Deleted - 24866: File Added - 24897: fileLink7.patch vincentdarley added on 2002-06-12 01:01:47: Logged In: YES user_id=32170 Added 'file normalize' handling of symlinks on Windows. Tcl now has complete handling of symlinks on Windows. vincentdarley added on 2002-06-11 17:46:32: File Deleted - 24783: vincentdarley added on 2002-06-11 17:46:31: File Deleted - 24862: File Added - 24866: fileLink6.patch Logged In: YES user_id=32170 Better docs, tests, comments in code. Tests also check type of drive to ensure links are supported on Windows. Note: patch doesn't include support for MacOS yet, but that should be easy to add. vincentdarley added on 2002-06-11 16:07:47: File Added - 24862: fileLink5.patch Logged In: YES user_id=32170 Unfortunately, (at least some of) those defines are shared between tclWinFile.c and tclWinFCmd.c... However, it is a good idea, so I've added some helper functions and now only one define is actually needed in winInt. Attached latest patch. This allows 'file delete' and 'file copy' to work correctly on links (i.e. as defined by the man page). Is it worth putting in a TIP to get this into 8.4? davygrvy added on 2002-06-11 05:00:02: Logged In: YES user_id=7549 I like it. I haven't tried it, but I do like it. In file.n you say "systems that don't support it". You might add some detail and say only (XP?) and 2K support this. I do like the way you test for the existence of the function pointer in tclWinProcs rather than an OS version test as it'll be more accurate. Say another service pack for ME somehow adds it in, Tcl gets it. If possible, you might be able to move the PlatSdk defines from tclWinInt.h to just tclWinCmd.c as it isn't shared. Or is it? I should apply this and offer some substance to my opinions :) vincentdarley added on 2002-06-11 02:02:11: File Added - 24816: fileLink4.patch Logged In: YES user_id=32170 Yet another patch -- handles some annoying Windows / \ problems. vincentdarley added on 2002-06-10 19:56:26: File Added - 24788: fileLink2.patch Logged In: YES user_id=32170 Attached patch with some docs and tests and to allow file linking of directories and files on Windows. vincentdarley added on 2002-06-10 17:44:52: File Added - 24783: fileLink.patch Logged In: YES user_id=32170 Uploading new patch. Contains implementation for Windows. This needs the very latest cvs head (with improved handling of windows native paths). vincentdarley added on 2002-06-10 17:43:13: File Deleted - 24145: Logged In: YES user_id=32170 deleted old patch. vincentdarley added on 2002-05-31 23:23:50: File Added - 24145: fileLink.diff |
Attachments:
- tip99.patch [download] added by vincentdarley on 2002-06-18 17:32:37. [details]