summaryrefslogtreecommitdiffstats
path: root/generic/tclInt.h
diff options
context:
space:
mode:
authormlafon <mlafon@gmail.com>2017-05-23 22:36:27 (GMT)
committermlafon <mlafon@gmail.com>2017-05-23 22:36:27 (GMT)
commit54868765b61d327129b4bf27a19342f1448a2ffd (patch)
tree9dc18283b0daea206a6782be65d3aa79b367f061 /generic/tclInt.h
parent3cf85c6f708ffbb7aa84f1a5d91f8dd5a1f45c9a (diff)
downloadtcl-54868765b61d327129b4bf27a19342f1448a2ffd.zip
tcl-54868765b61d327129b4bf27a19342f1448a2ffd.tar.gz
tcl-54868765b61d327129b4bf27a19342f1448a2ffd.tar.bz2
TIP#457: Update named group endingtip_457
Diffstat (limited to 'generic/tclInt.h')
-rw-r--r--generic/tclInt.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/generic/tclInt.h b/generic/tclInt.h
index 5b8ee23..5e4c4b8 100644
--- a/generic/tclInt.h
+++ b/generic/tclInt.h
@@ -947,15 +947,17 @@ typedef struct NamedGroupEntry {
typedef struct ExtendedArgSpec {
struct NamedGroupEntry *firstNamedEntryPtr;
/* Pointer to the first named parameter entry
- * defined on the proc argument. */
- struct NamedGroupEntry *lastNamedEntryPtr;
- /* Pointer to the last named parameter entry
- * defined on the proc argument. */
+ * defined on this proc argument. */
Tcl_HashTable *namedHashTable;
/* Pointer to the hash table created for a
* fast lookup of named entry. The pointer is
* only set on the first local of a named
* group. */
+ int remainAfterNamedGroup; /* If the number of arguments after a named
+ * group is fixed and non-optional, this will
+ * contain that number. Otherwise, will be set
+ * to -1. This is only set on the first local
+ * of a named group. */
Tcl_Obj *upvarLevelPtr; /* Pointer to the level value specified using
* the -upvar specifier. */
} ExtendedArgSpec;
@@ -1050,9 +1052,12 @@ typedef struct Proc {
* PROC_HAS_EXT_ARG_SPEC 1 means that the procedure has at least one
* argument defined using an extended argument
* specification.
+ * PROC_HAS_NAMED_GROUP 1 means that the procedure has at least one
+ * named group.
*/
#define PROC_HAS_EXT_ARG_SPEC 0x01
+#define PROC_HAS_NAMED_GROUP 0x02
/*
* The type of functions called to process errors found during the execution