summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--generic/tcl.h4
-rw-r--r--generic/tclEncoding.c3
-rw-r--r--generic/tclIOUtil.c4
-rw-r--r--generic/tclInt.decls2
-rw-r--r--generic/tclInt.h4
-rw-r--r--generic/tclIntPlatDecls.h12
-rw-r--r--generic/tclTest.c6
-rw-r--r--unix/tclUnixCompat.c4
-rw-r--r--win/tclWin32Dll.c4
-rw-r--r--win/tclWinTime.c2
10 files changed, 19 insertions, 26 deletions
diff --git a/generic/tcl.h b/generic/tcl.h
index a8f4dd1..0b222d7 100644
--- a/generic/tcl.h
+++ b/generic/tcl.h
@@ -2293,10 +2293,6 @@ TCLAPI void Tcl_GetMemoryInfo(Tcl_DString *dsPtr);
/*
* Use do/while0 idiom for optimum correctness without compiler warnings.
* http://c2.com/cgi/wiki?TrivialDoWhileLoop
- *
- * Decrement refCount AFTER checking it for 0 or 1 (<2), because
- * we cannot assume anymore that refCount is a signed type; In
- * Tcl8 it was but in Tcl9 it is subject to change.
*/
# define Tcl_DecrRefCount(objPtr) \
do { \
diff --git a/generic/tclEncoding.c b/generic/tclEncoding.c
index f0e8539..13c4f58 100644
--- a/generic/tclEncoding.c
+++ b/generic/tclEncoding.c
@@ -915,7 +915,7 @@ Tcl_GetEncodingNames(
* Side effects:
* The reference count of the new system encoding is incremented. The
* reference count of the old system encoding is decremented and it may
- * be freed.
+ * be freed. All VFS cached information is invalidated.
*
*------------------------------------------------------------------------
*/
@@ -946,6 +946,7 @@ Tcl_SetSystemEncoding(
FreeEncoding(systemEncoding);
systemEncoding = encoding;
Tcl_MutexUnlock(&encodingMutex);
+ Tcl_FSMountsChanged(NULL);
return TCL_OK;
}
diff --git a/generic/tclIOUtil.c b/generic/tclIOUtil.c
index 0ad4d23..f5f62cd 100644
--- a/generic/tclIOUtil.c
+++ b/generic/tclIOUtil.c
@@ -622,8 +622,8 @@ FsGetFirstFilesystem(void)
}
/*
- * The epoch can be changed both by filesystems being added or removed and by
- * env(HOME) changing.
+ * The epoch can be changed by filesystems being added or removed, by changing
+ * the "system encoding" and by env(HOME) changing.
*/
int
diff --git a/generic/tclInt.decls b/generic/tclInt.decls
index f217c0c..0d4a2b1 100644
--- a/generic/tclInt.decls
+++ b/generic/tclInt.decls
@@ -1265,7 +1265,7 @@ declare 19 macosx {
}
declare 29 {win unix} {
- int TclWinCPUID(unsigned int index, unsigned int *regs)
+ int TclWinCPUID(int index, int *regs)
}
# Added in 8.6; core of TclpOpenTemporaryFile
declare 30 {win unix} {
diff --git a/generic/tclInt.h b/generic/tclInt.h
index 0bf7dcc..4c716e3 100644
--- a/generic/tclInt.h
+++ b/generic/tclInt.h
@@ -4005,10 +4005,6 @@ typedef const char *TclDTraceStr;
*
* Use do/while0 idiom for optimum correctness without compiler warnings.
* http://c2.com/cgi/wiki?TrivialDoWhileLoop
- *
- * Decrement refCount AFTER checking it for 0 or 1 (<2), because
- * we cannot assume anymore that refCount is a signed type; In
- * Tcl8 it was but in Tcl9 it is subject to change.
*/
# define TclDecrRefCount(objPtr) \
diff --git a/generic/tclIntPlatDecls.h b/generic/tclIntPlatDecls.h
index c700837..0bcb749 100644
--- a/generic/tclIntPlatDecls.h
+++ b/generic/tclIntPlatDecls.h
@@ -78,7 +78,7 @@ TCLAPI int TclUnixCopyFile(const char *src, const char *dst,
/* Slot 27 is reserved */
/* Slot 28 is reserved */
/* 29 */
-TCLAPI int TclWinCPUID(unsigned int index, unsigned int *regs);
+TCLAPI int TclWinCPUID(int index, int *regs);
/* 30 */
TCLAPI int TclUnixOpenTemporaryFile(Tcl_Obj *dirObj,
Tcl_Obj *basenameObj, Tcl_Obj *extensionObj,
@@ -143,7 +143,7 @@ TCLAPI void TclWinFlushDirtyChannels(void);
/* 28 */
TCLAPI void TclWinResetInterfaces(void);
/* 29 */
-TCLAPI int TclWinCPUID(unsigned int index, unsigned int *regs);
+TCLAPI int TclWinCPUID(int index, int *regs);
/* 30 */
TCLAPI int TclUnixOpenTemporaryFile(Tcl_Obj *dirObj,
Tcl_Obj *basenameObj, Tcl_Obj *extensionObj,
@@ -213,7 +213,7 @@ TCLAPI void TclMacOSXNotifierAddRunLoopMode(
/* Slot 27 is reserved */
/* Slot 28 is reserved */
/* 29 */
-TCLAPI int TclWinCPUID(unsigned int index, unsigned int *regs);
+TCLAPI int TclWinCPUID(int index, int *regs);
/* 30 */
TCLAPI int TclUnixOpenTemporaryFile(Tcl_Obj *dirObj,
Tcl_Obj *basenameObj, Tcl_Obj *extensionObj,
@@ -254,7 +254,7 @@ typedef struct TclIntPlatStubs {
void (*reserved26)(void);
void (*reserved27)(void);
void (*reserved28)(void);
- int (*tclWinCPUID) (unsigned int index, unsigned int *regs); /* 29 */
+ int (*tclWinCPUID) (int index, int *regs); /* 29 */
int (*tclUnixOpenTemporaryFile) (Tcl_Obj *dirObj, Tcl_Obj *basenameObj, Tcl_Obj *extensionObj, Tcl_Obj *resultingNameObj); /* 30 */
#endif /* UNIX */
#if defined(_WIN32) || defined(__CYGWIN__) /* WIN */
@@ -287,7 +287,7 @@ typedef struct TclIntPlatStubs {
void (*tclWinSetInterfaces) (int wide); /* 26 */
void (*tclWinFlushDirtyChannels) (void); /* 27 */
void (*tclWinResetInterfaces) (void); /* 28 */
- int (*tclWinCPUID) (unsigned int index, unsigned int *regs); /* 29 */
+ int (*tclWinCPUID) (int index, int *regs); /* 29 */
int (*tclUnixOpenTemporaryFile) (Tcl_Obj *dirObj, Tcl_Obj *basenameObj, Tcl_Obj *extensionObj, Tcl_Obj *resultingNameObj); /* 30 */
#endif /* WIN */
#ifdef MAC_OSX_TCL /* MACOSX */
@@ -320,7 +320,7 @@ typedef struct TclIntPlatStubs {
void (*reserved26)(void);
void (*reserved27)(void);
void (*reserved28)(void);
- int (*tclWinCPUID) (unsigned int index, unsigned int *regs); /* 29 */
+ int (*tclWinCPUID) (int index, int *regs); /* 29 */
int (*tclUnixOpenTemporaryFile) (Tcl_Obj *dirObj, Tcl_Obj *basenameObj, Tcl_Obj *extensionObj, Tcl_Obj *resultingNameObj); /* 30 */
#endif /* MACOSX */
} TclIntPlatStubs;
diff --git a/generic/tclTest.c b/generic/tclTest.c
index 5aef8dc..2f417e3 100644
--- a/generic/tclTest.c
+++ b/generic/tclTest.c
@@ -6575,7 +6575,7 @@ TestcpuidCmd(
Tcl_Obj *const * objv) /* Parameter vector */
{
int status, index, i;
- unsigned int regs[4];
+ int regs[4];
Tcl_Obj *regsObjs[4];
if (objc != 2) {
@@ -6585,14 +6585,14 @@ TestcpuidCmd(
if (Tcl_GetIntFromObj(interp, objv[1], &index) != TCL_OK) {
return TCL_ERROR;
}
- status = TclWinCPUID((unsigned) index, regs);
+ status = TclWinCPUID(index, regs);
if (status != TCL_OK) {
Tcl_SetObjResult(interp,
Tcl_NewStringObj("operation not available", -1));
return status;
}
for (i=0 ; i<4 ; ++i) {
- regsObjs[i] = Tcl_NewLongObj((int) regs[i]);
+ regsObjs[i] = Tcl_NewLongObj(regs[i]);
}
Tcl_SetObjResult(interp, Tcl_NewListObj(4, regsObjs));
return TCL_OK;
diff --git a/unix/tclUnixCompat.c b/unix/tclUnixCompat.c
index e5929ba..ee00190 100644
--- a/unix/tclUnixCompat.c
+++ b/unix/tclUnixCompat.c
@@ -986,8 +986,8 @@ CopyString(
int
TclWinCPUID(
- unsigned int index, /* Which CPUID value to retrieve. */
- unsigned int *regsPtr) /* Registers after the CPUID. */
+ int index, /* Which CPUID value to retrieve. */
+ int *regsPtr) /* Registers after the CPUID. */
{
int status = TCL_ERROR;
diff --git a/win/tclWin32Dll.c b/win/tclWin32Dll.c
index 688fa8d..d8a8717 100644
--- a/win/tclWin32Dll.c
+++ b/win/tclWin32Dll.c
@@ -603,8 +603,8 @@ Tcl_WinTCharToUtf(
int
TclWinCPUID(
- unsigned int index, /* Which CPUID value to retrieve. */
- unsigned int *regsPtr) /* Registers after the CPUID. */
+ int index, /* Which CPUID value to retrieve. */
+ int *regsPtr) /* Registers after the CPUID. */
{
int status = TCL_ERROR;
diff --git a/win/tclWinTime.c b/win/tclWinTime.c
index 0762362..c869036 100644
--- a/win/tclWinTime.c
+++ b/win/tclWinTime.c
@@ -317,7 +317,7 @@ NativeGetTime(
*/
SYSTEM_INFO systemInfo;
- unsigned int regs[4];
+ int regs[4];
GetSystemInfo(&systemInfo);
if (TclWinCPUID(0, regs) == TCL_OK