summaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorjan.nijtmans <nijtmans@users.sourceforge.net>2025-05-26 12:59:04 (GMT)
committerjan.nijtmans <nijtmans@users.sourceforge.net>2025-05-26 12:59:04 (GMT)
commit05271f5f1347de19b568daa4ac49eccca923ca96 (patch)
tree57b76e599dd2d588c440328588d069ecb33889f2 /doc
parent31df7569748f126a4cc0e88854b1019531b5073e (diff)
parentc21ec96ab359f5f26f51e1103bb3671e240be592 (diff)
downloadtcl-core-attemptgetstring.zip
tcl-core-attemptgetstring.tar.gz
tcl-core-attemptgetstring.tar.bz2
Add some more Tcl_Attempt* functionscore-attemptgetstring
Diffstat (limited to 'doc')
-rw-r--r--doc/Object.35
-rw-r--r--doc/ObjectType.33
-rw-r--r--doc/StringObj.38
3 files changed, 14 insertions, 2 deletions
diff --git a/doc/Object.3 b/doc/Object.3
index 5503599..ef91c2f 100644
--- a/doc/Object.3
+++ b/doc/Object.3
@@ -8,7 +8,7 @@
.so man.macros
.BS
.SH NAME
-Tcl_NewObj, Tcl_DuplicateObj, Tcl_IncrRefCount, Tcl_DecrRefCount, Tcl_BounceRefCount, Tcl_IsShared, Tcl_InvalidateStringRep \- manipulate Tcl values
+Tcl_NewObj, Tcl_DuplicateObj, Tcl_AttemptDuplicateObj, Tcl_IncrRefCount, Tcl_DecrRefCount, Tcl_BounceRefCount, Tcl_IsShared, Tcl_InvalidateStringRep \- manipulate Tcl values
.SH SYNOPSIS
.nf
\fB#include <tcl.h>\fR
@@ -19,6 +19,9 @@ Tcl_Obj *
Tcl_Obj *
\fBTcl_DuplicateObj\fR(\fIobjPtr\fR)
.sp
+Tcl_Obj *
+\fBTcl_AttemptDuplicateObj\fR(\fIobjPtr\fR)
+.sp
\fBTcl_IncrRefCount\fR(\fIobjPtr\fR)
.sp
\fBTcl_DecrRefCount\fR(\fIobjPtr\fR)
diff --git a/doc/ObjectType.3 b/doc/ObjectType.3
index 1bcf503..a8e5166 100644
--- a/doc/ObjectType.3
+++ b/doc/ObjectType.3
@@ -269,6 +269,9 @@ Tcl routines accepting string values as arguments.
Storage for the byte array must be allocated in the heap by \fBTcl_Alloc\fR.
Note that \fIupdateStringProc\fRs must allocate
enough storage for the string's bytes and the terminating null byte.
+If the \fIupdateStringProc\fR cannot do that, it must set
+interp->bytes to be NULL (freeing the previous content), and set
+interp->length to the number of bytes it tried to allocate.
.PP
The \fIupdateStringProc\fR for Tcl's built-in double type, for example,
calls Tcl_PrintDouble to write to a buffer of size TCL_DOUBLE_SPACE,
diff --git a/doc/StringObj.3 b/doc/StringObj.3
index df2bcf5..205c1c5 100644
--- a/doc/StringObj.3
+++ b/doc/StringObj.3
@@ -8,7 +8,7 @@
.so man.macros
.BS
.SH NAME
-Tcl_NewStringObj, Tcl_NewUnicodeObj, Tcl_SetStringObj, Tcl_SetUnicodeObj, Tcl_GetStringFromObj, Tcl_GetString, Tcl_GetUnicodeFromObj, Tcl_GetUnicode, Tcl_GetUniChar, Tcl_GetCharLength, Tcl_GetRange, Tcl_AppendToObj, Tcl_AppendUnicodeToObj, Tcl_AppendObjToObj, Tcl_AppendStringsToObj, Tcl_AppendLimitedToObj, Tcl_Format, Tcl_AppendFormatToObj, Tcl_ObjPrintf, Tcl_AppendPrintfToObj, Tcl_SetObjLength, Tcl_AttemptSetObjLength, Tcl_ConcatObj, Tcl_IsEmpty \- manipulate Tcl values as strings
+Tcl_NewStringObj, Tcl_AttemptNewStringObj, Tcl_NewUnicodeObj, Tcl_SetStringObj, Tcl_AttemptSetStringObj, Tcl_SetUnicodeObj, Tcl_GetStringFromObj, Tcl_GetString, Tcl_GetUnicodeFromObj, Tcl_GetUnicode, Tcl_GetUniChar, Tcl_GetCharLength, Tcl_GetRange, Tcl_AppendToObj, Tcl_AppendUnicodeToObj, Tcl_AppendObjToObj, Tcl_AppendStringsToObj, Tcl_AppendLimitedToObj, Tcl_Format, Tcl_AppendFormatToObj, Tcl_ObjPrintf, Tcl_AppendPrintfToObj, Tcl_SetObjLength, Tcl_AttemptSetObjLength, Tcl_ConcatObj, Tcl_IsEmpty \- manipulate Tcl values as strings
.SH SYNOPSIS
.nf
\fB#include <tcl.h>\fR
@@ -17,11 +17,17 @@ Tcl_Obj *
\fBTcl_NewStringObj\fR(\fIbytes, length\fR)
.sp
Tcl_Obj *
+\fBTcl_AttemptNewStringObj\fR(\fIbytes, length\fR)
+.sp
+Tcl_Obj *
\fBTcl_NewUnicodeObj\fR(\fIunicode, numChars\fR)
.sp
void
\fBTcl_SetStringObj\fR(\fIobjPtr, bytes, length\fR)
.sp
+char *
+\fBTcl_AttemptSetStringObj\fR(\fIobjPtr, bytes, length\fR)
+.sp
void
\fBTcl_SetUnicodeObj\fR(\fIobjPtr, unicode, numChars\fR)
.sp