diff options
author | dgp <dgp@users.sourceforge.net> | 2017-05-04 20:40:15 (GMT) |
---|---|---|
committer | dgp <dgp@users.sourceforge.net> | 2017-05-04 20:40:15 (GMT) |
commit | 1dd9e5410409e738a9965f15b8d2bbe397438345 (patch) | |
tree | fb37b5252a82e028e81da8dc74575a98d14f4ca0 /generic | |
parent | 9a454635ecd23f4e1976376f84adf53755d6517e (diff) | |
parent | 2d302090fb3a5abcff4a3346629a4cadb465adc4 (diff) | |
download | tcl-1dd9e5410409e738a9965f15b8d2bbe397438345.zip tcl-1dd9e5410409e738a9965f15b8d2bbe397438345.tar.gz tcl-1dd9e5410409e738a9965f15b8d2bbe397438345.tar.bz2 |
merge 8.6
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclPathObj.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/generic/tclPathObj.c b/generic/tclPathObj.c index 20f41a3..31ed68e 100644 --- a/generic/tclPathObj.c +++ b/generic/tclPathObj.c @@ -921,7 +921,17 @@ TclJoinPath( if (res != NULL) { TclDecrRefCount(res); } - return TclNewFSPathObj(elt, str, len); + + if (PATHFLAGS(elt)) { + return TclNewFSPathObj(elt, str, len); + } + if (TCL_PATH_ABSOLUTE != Tcl_FSGetPathType(elt)) { + return TclNewFSPathObj(elt, str, len); + } + (void) Tcl_FSGetNormalizedPath(NULL, elt); + if (elt == PATHOBJ(elt)->normPathPtr) { + return TclNewFSPathObj(elt, str, len); + } } } |