Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | Merge forked trunk |
---|---|
Downloads: | Tarball | ZIP archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
c132505b1bae6b0e7573cf52ded28c32 |
User & Date: | oehhar 2018-09-23 11:53:01.550 |
Context
2018-09-23
| ||
12:54 | TIP #517 accepted 8/0/0: YES: 8 (Decoster, Fellows, Griffin, Kenny, Kupries, Landers, Nijtmans, Vogel). NO: -. PRESENT: -. Vote conclusion email was sent 23-Sep-2018 to Tcl Core list. Implementation was merged same day. check-in: a70938fd8b user: fvogel tags: trunk | |
11:53 | Merge forked trunk check-in: c132505b1b user: oehhar tags: trunk | |
09:53 | TIP518: discussion why not use virtual event <<Configure>> instead <<NoManagedChild>>. Use consistently <<NoManagedChild>> (not <<NoManagedChilds>>) check-in: 475fbebb73 user: oehhar tags: trunk | |
07:58 | Fix formatting bug in 426. Clarify a bit of confusing wording. check-in: cacd40b86f user: dkf tags: trunk | |
Changes
Changes to tip/426.md.
︙ | ︙ | |||
55 56 57 58 59 60 61 | ## Supporting C API The supporting public C functions shall be: > void **Tcl\_RegisterCommandTypeName**\(Tcl\_ObjCmdProc *_implementationProc_, const char \*_nameStr_\) | | | > > | > > | | | > > < | 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | ## Supporting C API The supporting public C functions shall be: > void **Tcl\_RegisterCommandTypeName**\(Tcl\_ObjCmdProc *_implementationProc_, const char \*_nameStr_\) > const char \* **Tcl\_GetCommandTypeName**\(Tcl\_Command _command_\) **Tcl\_RegisterCommandTypeName** will associate a particular implementation function, _implementationProc_, with an \(assumed literal constant\) string, _nameStr_; if _nameStr_ is supplied as NULL, the mapping for _implementationProc_ will be removed. The _implementationProc_ argument must not be NULL. The use of a package prefix within the name is _recommended_. **Tcl\_GetCommandTypeName** shall take a command handle, _command_, and return the registered type name string \(as previously passed to Tcl\_RegisterCommandTypeName\) for the command implementation function that the _command_ is using. If there is no type name registered for the command's implementation function, the literal string **native** will be returned instead. The result will never be NULL. ## Predefined Command Types The following command types are guaranteed to be among the set defined by default, but others may be done as well. **proc**: Procedures defined by the **proc** command. Introspection commands like **info body** may be used (without error due to the command not being a procedure). **alias**: Aliases defined by the **interp alias** command, which will be able to perform introspection on it. _Inter-interpreter aliases are not required to report themselves this way to the slave interpreter._ **ensemble**: Ensembles defined by the **namespace ensemble** command. **import**: Commands imported by the **namespace import** command. **object**: Object \(or class\) defined by instantiating any TclOO class. The introspection command **info object** may be used (without error due to the command not being an object). ## Impact on Tk It is anticipated that Tk widget instances will report themselves through this mechanism as well, with a prefix to their names of **tk::**; that prefix _should not_ be used by any other package. Note however that not all widget types will be distinguishable; this is part of the way that Tk is implemented. The built-in widget creation functions _may_ declare themselves to be of type **tk::widgetFactory**. # Copyright This document has been placed in the public domain. |