TIP #3: TIP Format
Abstract
This TIP is a companion document to the TIP Guidelines TIP #2 and describes the structure and formatting to use when writing a TIP.
Rationale
The major goals of this document are to define a format that is
The latter is important because non-acceptance essentially means that the TIP process will be stillborn. This not only means basically plain text without much markup but also that we should reuse formats with which people are already acquainted.
As the concept of TIPs borrows heavily from Python's PEPs [1] their definition on how to structure and format a PEP was reviewed for its suitability of use by the TCT and the community at large.
The major points of the format are:
Plain ASCII text without special markup for references or highlighting of important parts.
Mail-like header section containing the meta-information.
Uses indentation to distinguish section headers from section text.
A header section like is used in mail or news is something people are acquainted with and fulfils the other criteria too. In addition it is extendable. Using indentation to convey semantic and syntactic information on the other hand is something Pythonistas are used to but here in the Tcl world we are not to the same extent.
Looking at bit closer to home we find the Tcl'ers Wiki [2]
It does use a plain text format with some very light formatting conventions to allow things like links, images, enumerated and itemized lists.
Given the rather high acceptance of this site by the community using its format should be beneficiary to the acceptance of TIPs too.
It is therefore proposed to use a combination of a header in mail/news style together with a body employing a slightly extended/modified Wiki format (mostly backward compatible) as the format for TIPs. This proposed format is specified in detail below.
Note that the use of TAB characters within a TIP is discouraged (but permitted) as some mailers (notably Outlook Express) make a mess of them. Please be considerate and avoid their use...
Rejected Alternatives
But before we specify the format a (short) discussion of possible alternatives and why they where rejected.
There were three primary competitors to the format specified below, these are SGML/XML, HTML and a markup based upon plain text with embedded tcl-commands, for example like ... [section Abstract] ...
The main disadvantage of SGML and XML based solutions is that they require a much more heavyweight infrastructure for editing and processing documents using them, like specialized editors and extensions for parsing. The format below on the other hand can be processed using pure tcl without extensions. with respect to the specialized editors it should be said that an editor operating on plain ASCII is possible too, but then the text will be difficult to read for humans because of the many occurrences of < and >, conflicting with the requirement to have an 'easy to read' format.
While there are commercial products which can gloss over this, making the editing of XML fairly easy, not everyone currently has access to one or the desire to spend what might be quite a lot of money to acquire one. It is far better to let everyone continue to use their current favourite plain-text editor.
The main problem of HTML is that it is focused on visual and not logical markup. This will make it, although not impossible, but very difficult to parse documents for automatic handling. It is also a poor format for producing printed versions of the documentation from. Experience has also shown that different people have widely different ideas about how the content of TIP documents should be rendered into HTML, an indication that using the language would prove problematic! We can still use HTML as a generated format, but we should not write the documents themselves in it.
The approach of embedding tcl commands into the text of a TIP is (at least) as powerful as XML when it comes to automatic processing of documents but much more lightweight. Because of this it is seen as the best of the three rejected alternatives. It was rejected in the end because it was still seen as too heavyweight/demanding for the casual user with respect to learning, easy writing and reading.
Header Format
The general format of the header for a TIP is specified in RFC 822 [3]. This leaves us to define and explain the keywords, their meaning and their values. The following keywords are required, and unless otherwise stated, should occur exactly once:
- TIP
The number of the TIP as assigned by the TIP editor. Unchangeable later on.
- Title
Defines the title of the document using plain text. May change during the discussion and review phases.
- Version
Specifies the version of the document. Usually something like $Revision: 1.8 $. (Initially $Revision: 1.8 $ should be used, which is then changed by the version control to contain the actual revision number.
- Author
Contact information (email address) for each author. The email address has to contain the real name of the author. If there are multiple authors of the document, this header may occur multiple times (once per author.) The format should be approximately like this: Firstname Lastname <emailaddress>
- State
Defines the state the TIP is currently in. Allowed values are Draft, Active, Accepted, Deferred, Final, Rejected and Withdrawn. This list will be influenced by the finalization of the workflow in TIP #2.
- Type
The type of the TIP. Allowed values are Process, Project and Informative. See TIP #2 for more explanations about the various types.
- Vote
The current state of voting for the TIP. Allowed values are Pending, In progress, Done and No voting. The latter is used to indicate a TIP which doesn't require a vote, for example TIP #1.
- Created
The date the TIP was created, in the format dd-mmm-yyyy. mmm is the (English) short name of the month. The other information is numerical. Example: 14-Sep-2000
All numeric dates, though more easily internationalised, are not used because the ordering of particularly the month and day is ambiguous and subject to some confusion between different locales. Unix-style timestamps are unreadable to the majority of people (as well as being over-precise,) and I (<fellowsd at cs dot man dot ac dot uk>) don't know ISO 8601 well enough to be able to comment on it.
- Post-History
A list of the dates the document was posted to the mailing list for discussion.
- Tcl-Version
This indicates the version of Tcl that a Project TIP depends upon (where it is required.) Process and Informative TIPs must not have this keyword.
The following headers are optional and should (unless otherwise stated) occur at most once:
- Discussions-To
While a TIP is in private discussions (usually during the initial Draft phase), this header will indicate the mailing list or URL where the TIP is being discussed.
- Obsoletes
Indicates a TIP number that this TIP renders obsolete. (Thanks to Joel Saunier <Joel dot Saunier at agriculture dot gouv dot fr> for suggesting this!)
- Obsoleted-By
Indicates a TIP number that renders this TIP obsolete. (Thanks to Joel Saunier <Joel dot Saunier at agriculture dot gouv dot fr> for suggesting this!)
- Keywords
A comma-separated list of keywords relating to this TIP, to facilitate automated indexing and improve search engine results.
The following headers are proposed (by Donald G. Porter <dgp at cam dot nist dot gov>) but not currently supported:
- Sponsor
A TCT member that is sponsoring this TIP. May occur multiple times, once per sponsor.
- Supporter
A person (not necessarily a TCT member) who is supporting this TIP. May occur multiple times, once per supporter.
- Objector
A person (not necessarily a TCT member) who is opposed to this TIP. May occur multiple times, once per objector.
Body Format
The body of a TIP is split by visually blank lines (i.e. lines containing nothing other than conventional whitespace) into units that will be called paragraphs. Each paragraph is in one of the following forms.
If the paragraph consists of exactly four minus symbols "----" then it is a separator paragraph and should be rendered as a horizonal rule.
If the paragraph consists of a vertical bar "|" followed by text, then it is a verbatim paragraph. The bar will be stripped from the front of each line and the rest of the text will be formatted literally. Tab characters will be expanded to 8-character boundaries. (Note that this is completely incompatible with the Tcl'ers Wiki.)
If the paragraph consists of one or more tildes "~" (which may be space-separated) followed by text, then it is a section heading. The text following is the name of the section. In the name of good style, the section heading should have its significant words capitalised. The number of tildes indicates whether this is a section heading, a subsection heading or a subsubsection heading (one, two or three tildes respectively.)
If the paragraph consists of the sequence "#index:" followed by some optional text, then it is a request to insert an index. The text following (after trimming spaces) indicates the kind of index desired. The default is a "medium" index, and fully compliant implementations should support "short" (expected to contain less detail) and "long" (expected to contain all header details plus the abstract) as well. Support for other kinds of indices is optional.
If the paragraph consists of the sequence "#image:" followed by some text, then it is a request to insert an image. The first word of the following text is a reference to the image, and the other words are an optional caption for the image (in plain text.) Image references that consist of just letters, numbers, hyphens and underscores are handled specially by the current implementation, which can map them to the correct media type for its current output format (assuming it has a suitable image in its repository.)
All other paragraphs that start with a non-whitespace character are ordinary paragraphs.
If a paragraph starts with a whitespace character sequence (use three spaces and keep the whole paragraph on a single line if you want compatability with the Tcl'ers Wiki,) a star "*" and another whitespace character, it is an item in a bulleted list.
If a paragraph starts with a whitespace character sequence, a number, a full stop "." and another whitespace character, it is an item in an enumerated list. If the number is 1 then the number of the item is guessed from the current list context, and any other value sets the number explicitly. If you want compatability with the Tcl'ers Wiki, make the initial whitespace sequence be three spaces, the number be 1, and keep the whole paragraph on a single line.
If a paragraph starts with a whitespace character sequence, some text (that includes no tabs or newlines but can include spaces), a colon and another whitespace character, then it is an item in a descriptive (a.k.a. definition) list. The item being described cannot contain advanced formatting (including any kind of emphasis) because this is not supported by all formats that a TIP may be viewed in.
If a paragraph does not start with a whitespace character sequence, a greater than symbol ">", and then another whitespace character, it is also an ordinary paragraph. (Note that this is completely incompatible with the Tcl'ers Wiki.)
Where a paragraph does begin with the sequence described in the preceding paragraph, it is a nested list item (if the paragraph contained is a list item) or a subsequent paragraph (if the paragraph contained is an ordinary paragraph.) If there's no suitable "enclosing" list context (i.e. if the preceding paragraph was not part of a list) the paragraph will be a quotation instead. (The rules for these continuation paras seem complex at first glance, but seem to work out fairly well in practise, especially since they are only rarely used.)
Within the body text of a (non-verbatim) paragraph, there are two styles of emphasis:
The two emphasis styles should not be nested. Special URLs of the form tip:tipnumber are expanded into full URLs to the given TIP through the current formatting engine (where applicable.) References of the form [tipnumber] are also expanded as links to the given TIP, but are not displayed as URLs (the expansion is format dependent, of course.) Doubled up square brackets are converted into matching single square brackets. Email addresses (of the form <email at address>) and ordinary URLs in single square brackets might also be treated specially.
The first paragraph of the body of any TIP must be an abstract section title ("~Abstract" or "~ Abstract"), and the second must be an ordinary paragraph (and should normally be just plain text, to make processing by tools easier.)
You can compare these rules with those for the Tcl'ers Wiki which are described at http://wiki.tcl.tk/14.html, with the following modifications:
The text for an item in an itemized, enumerated or tagged list can be split over multiple physical lines. The text of the item will reach until the next empty line.
All paragraphs must be split with whitespace. This is a corollary of the above item.
A paragraph starting with the character ~ is interpreted as a section heading. Consequently it should be very short so that it renders onto a single line under most circumstances.
A full verbatim mode is added. Any line starting with the bar character is reproduced essentially verbatim (the bar character is removed). This allows embedding of code or other texts containing formatting usually recognized as special by the formatter without triggering this special processing. This applies especially to brackets and the hyperlinking they provide and their role in tcl code. This is used in preference to the whitespace rule of the Tcl'ers Wiki which is potentially far more sensitive. Our rule makes it extremely obvious what lines are verbatim, and what those lines will be rendered as.
Only one style of emphasis within paragraphs is supported. Having multiple emphasis styles (italic and bold) not only fails to carry across well in all media, but also makes for confusion on the part of authors and is more difficult to write renderers for too.
Images are only supported in a limited way, since under HTML the support for images varies a lot more than most people would like to think, and the concept of an inline image can vary quite a lot between different rendered formats too.
Reference Implementation
A reference renderer was created by Donal Fellows <fellowsd at cs dot man dot ac dot uk> and is installed (as a behind-the-scenes rendering engine) on a set of TIP documents [4] with the source code to the rendering engine being available [5]
Note that this code does support nested lists and multi-paragraph items, but this is experimental right now. Examples are presented behind the code itself.
Examples
This document itself is an example of the new format.
Examples for nested lists, multi-paragraph items in list's, and quotations.
Here is the source (itself a demonstration of verbatim text)
* This is a paragraph
> * This is an inner paragraph
that goes onto two lines.
> > * This one's even further in!
> > * So's this one.
> * Out again
> > And a second paragraph here...
> * Yet another item.
* Outermost level once more.
1. Enumerate?
> 1. Deeper?
2. Out again?
list item: body text that is relatively long so that we can tell
that it laps round properly as a paragraph even though this takes a
ridiculous amount of text on my browser...
| VERB IN LIST?
> nested: body
Top-level paragraph once more.
> A quotation from someone famous might be rendered something like
this. As you can see, it is inset somewhat from the surrounding
text. - ''Donal K. Fellows <[email protected]>''
And back to the top-level yet again. Now we show off both ''italic''
and '''bold''' text.
----
and the rendered result
Enumerate?
Deeper?
Out again?
- list item
body text that is relatively long so that we can tell that it laps round properly as a paragraph even though this takes a ridiculous amount of text on my browser...
VERB IN LIST?
- nested
body
Top-level paragraph once more.
A quotation from someone famous might be rendered something like this. As you can see, it is inset somewhat from the surrounding text. - Donal K. Fellows <fellowsd at cs dot man dot ac dot uk>
And back to the top-level yet again. Now we show off both italic and bold text.
Examples of index generation and image paragraphs.
Here is the code
#index:
#index:short
#index: long
#image:3example This is a test caption
This is an example long TIP reference tip:3 that should be expanded in
a renderer-specific way...
This is an example non-reference - ''index[[3]]'' - that should not
be rendered as a link (to this document or anywhere else) at all.
Note that the dashes in the previous sentence (with whitespace on
each side) are candidates for rendering as long dashes (em-dashes) on
output-media which support this.
Supported URLs: should be http, https, mailto, news, newsrc, ftp and
gopher. Test here...
> HTTP URL - http://purl.org/thecliff/tcl/wiki/
> HTTP URL in brackets - [http://wiki.tcl.tk]
> HTTPS URL - https://sourceforge.net/
> FTP URL - ftp://src.doc.ic.ac.uk/packages/tcl/tcl/
> NEWS URL - news:comp.lang.tcl
> MAILTO URL - mailto:[email protected]?subject=TIP3
> Others (might not be valid links!) - gopher://info.mcc.ac.uk,
newsrc:2845823825
and here is the rendered result.
TIP #10000: Draft
Dummy Proposal for Testing Editing Interfaces
TIP #473:
Allow a Defined Target Namespace in oo::copy
TIP #472: Accepted
Add Support for 0d Radix Prefix to Integer Literals
TIP #471: Draft
Add [info linkedname] Introspection Command
TIP #470:
Reliable Access to OO Definition Context Object
TIP #469: Draft
A Callback for Channel-Exception Conditions
TIP #468: Draft
Support Passing TCP listen Backlog Size Option to TCP Socket Creation
TIP #467: Draft
Move TIP Collection to Fossil
TIP #466: Draft
Revised Implementation of the Text Widget
TIP #465: Draft
Change Rule 8 of the Dodekalogue to Cut Some Corner Cases
TIP #464:
Support for Multimedia Keys on Windows
TIP #463:
Command-Driven Substitutions for regsub
TIP #462: Draft
Add New [info ps] Ensemble for Subprocess Management
TIP #461: Draft
Separate Numeric and String Comparison Operators
TIP #460: Draft
An Alternative to Upvar
TIP #459: Draft
Tcl Package Introspection Improvements
TIP #458:
Add Support for epoll() and kqueue() in the Notifier
TIP #457: Draft
Add Support for Named Arguments
TIP #456:
Extend the C API to Support Passing Options to TCP Server Creation
TIP #455: Draft
Extensions to [vwait]: Variable Sets and Scripted Access to Tcl_DoOneEvent
TIP #454: Draft
Automatically Resize Frames After Last Child Removed
TIP #453: Draft
Tcl Based Automation for tcl/pkgs
TIP #452: Draft
Add "stubs" Package to or Along Side of TclTest
TIP #451: Draft
Modify [update] to Give Full Script Access to Tcl_DoOneEvent
TIP #450: Draft
Add [binary] subcommand "set" for in-place modification
TIP #449:
[text] undo/redo to Return Range of Characters
TIP #448: Draft
Update Tcl_SetNotifier to Reinitialize Event Loop
TIP #447:
Execution Time Verbosity Levels in tcltest::configure
TIP #446:
Introspect Undo/Redo Stack Depths
TIP #445: Draft
Tcl_ObjType Utility Routines
TIP #444:
Add "weekdays" unit in clock add
TIP #443:
More Tag Configuration Options for the Text Widget
TIP #442:
Display text in progressbars
TIP #441:
Add -justify Configuration Option to the listbox Widget
TIP #440:
Add engine to tcl_platform Array
TIP #439: Draft
Semantic Versioning
TIP #438:
Ensure Line Metrics are Up-to-Date
TIP #437:
Tk panedwindow options for proxy window
TIP #436:
Improve TclOO isa Introspection
TIP #435: Rejected
Safe Mutex Disposal API
TIP #434: Draft
Specify Event Sources for 'vwait'
TIP #433:
Add %M binding substitution
TIP #432:
Support for New Windows File Dialogs in Vista and Later
TIP #431: Draft
Add 'tempdir' Subcommand to 'file'
TIP #430: Draft
Add basic ZIP archive support to Tcl
TIP #429:
A 'string' Subcommand for Concatenation
TIP #428: Draft
Produce Error Dictionary from 'fconfigure -error'
TIP #427:
Introspection of Asynchronous Socket Connection
TIP #426: Draft
Determining the "Type" of Commands
TIP #425: Draft
Internationalization of Default Panic Callback on Windows
TIP #424: Draft
Improving [exec]
TIP #423: Draft
Formatting Timestamps with Milliseconds
TIP #422: Draft
Don't Use stdarg.h/va_list in Public API
TIP #421: Draft
A Command for Iterating Over Arrays
TIP #420: Draft
'vexpr', a Vector Expression Command
TIP #419: Draft
A New Command for Binding to Tk Events
TIP #418: Draft
Add [binary] Subcommands for In-Place Modification
TIP #417: Draft
Use Explicit Option Names for "file tempfile"
TIP #416:
New Options for 'load': -global and -lazy
TIP #415: Draft
Enable Easy Creation of Circular Arc Segments
TIP #414: Draft
Add (back) Tcl_InitSubsystems as Public API
TIP #413:
Unicode Support for 'string is space' and 'string trim'
TIP #412:
Dynamic Locale Changing for msgcat with On-Demand File Load
TIP #411: Draft
Improved Channel Introspection via "chan info"
TIP #410: Draft
Three Features of scan Adapted for binary scan/format
TIP #409: Draft
UDP in Tcl
TIP #408: Draft
Allow Any Command for expr Functions
TIP #407:
The String Representation of Tcl Lists: the Gory Details
TIP #406: Draft
"C" is for Cookie
TIP #405:
Add Collecting Loops, the 'lmap' and 'dict map' Commands
TIP #404:
Let Message Catalogs get the Locale from their File Name
TIP #403:
Web Colors for Tk
TIP #402: Draft
General Platform UNC Support
TIP #401: Draft
Comment Words with Leading {#}
TIP #400:
Setting the Compression Dictionary and Other 'zlib' Updates
TIP #399: Accepted
Dynamic Locale Changing for msgcat
TIP #398:
Quickly Exit with Non-Blocking Blocked Channels
TIP #397:
Extensible Object Copying
TIP #396:
Symmetric Coroutines, Multiple Args, and yieldto
TIP #395:
New 'string is entier' Command
TIP #394: Draft
Platform-Independent Handling of Contemporary Mice
TIP #393: Draft
Add -command Option to lsearch
TIP #392: Draft
Allow Bignums to be Disabled at Runtime on a Per-Interp Basis
TIP #391: Withdrawn
Support for UDP Sockets in Tcl
TIP #390: Draft
A Logging API for Tcl
TIP #389: Draft
Full support for Unicode 8.0 and later
TIP #388:
Extending Unicode literals past the BMP
TIP #387: Withdrawn
Unified Yield Command Syntax
TIP #386: Draft
Relocation of Tcl/Tk Source Control Repositories
TIP #385: Draft
Functional Traces On Variables
TIP #384: Draft
Add File Alteration Monitoring to the Tcl Core
TIP #383: Draft
Injecting Code into Suspended Coroutines
TIP #382:
Let tk_getSaveFile ignore file overwrites
TIP #381:
Call Chain Introspection and Control
TIP #380:
TclOO Slots for Flexible Declarations
TIP #379: Draft
Add a Command for Delivering Events Without Tk
TIP #378:
Fixing the Performance of TIP 280
TIP #377: Withdrawn
Portably Determining the Number of Processors in the System
TIP #376:
Bundle sqlite3 and tdbc::sqlite3 Packages
TIP #375: Draft
Symmetric Coroutines and Yieldto
TIP #374: Draft
Stackless Vwait
TIP #373: Withdrawn
Improved Yielding Support for Coroutines
TIP #372: Draft
Multi-argument Yield for Coroutines
TIP #371: Draft
Improvements for the dict command
TIP #370: Draft
Extend Tk's selection with a -time option
TIP #369: Draft
Widget cargo command
TIP #368: Withdrawn
Listbox Justification Option
TIP #367: Draft
A Command to Remove Elements from a List
TIP #366: Draft
Variable Sized Indicators for Menubuttons
TIP #365:
Add Python Compatibility Mode
TIP #364:
Threading Support: Configuration and Package
TIP #363: Draft
Vector Math in the Tcl Core
TIP #362:
Simple 32 and 64 bit Registry Support
TIP #361: Draft
Releasing Channel Buffers
TIP #360:
Modernize X11 Menus
TIP #359:
Extended Window Manager Hint Support
TIP #358: Draft
Suppress Empty List Element Generation from the Split Command
TIP #357:
Export TclLoadFile
TIP #356:
NR-enabled Substitutions for Extensions
TIP #355: Draft
Stop Fast Recycling of Channel Names on Unix
TIP #354:
Minor Production-Driven TclOO Revisions
TIP #353:
NR-enabled Expressions for Extensions
TIP #352: Draft
Tcl Style Guide
TIP #351: Draft
Add Striding Support to lsearch
TIP #350: Draft
Tcl Database Connectivity - Corrigenda
TIP #349: Draft
New "-cargo" option for every Tk widget
TIP #348:
Substituted 'errorstack' / 'traceback'
TIP #347: Withdrawn
Align 'string is ...' to Type-Conversion Functions in 'expr'
TIP #346: Draft
Error on Failed String Encodings
TIP #345: Draft
Kill the 'identity' Encoding
TIP #344: Draft
Bring TCP_NODELAY and SO_KEEPALIVE to socket options
TIP #343:
A Binary Specifier for [format/scan]
TIP #342: Draft
Dict Get With Default
TIP #341:
Multiple 'dict filter' Patterns
TIP #340: Withdrawn
Const Qualification of Tcl_SetResult's Argument
TIP #339: Rejected
Case-Insensitive Package Names
TIP #338:
Embedder Access to Startup Scripts of *_Main()
TIP #337:
Make TclBackgroundException() Public
TIP #336:
Supported Access To interp->errorline
TIP #335:
An API for Detecting Active Interpreters
TIP #334: Withdrawn
Make 'lrepeat' Accept Zero as a Count
TIP #333: Draft
New Variable and Namespace Resolving Interface
TIP #332:
Half-Close for Bidirectional Channels
TIP #331:
Allow [lset] to Extend Lists
TIP #330:
Eliminate interp->result from the Public Headers
TIP #329:
Try/Catch/Finally syntax
TIP #328:
Coroutines
TIP #327:
Proper Tailcalls
TIP #326:
Add -stride Option to lsort
TIP #325: Draft
System Tray Access
TIP #324:
A Standard Dialog For Font Selection
TIP #323:
Do Nothing Gracefully
TIP #322:
Publish the NRE API
TIP #321:
Add a [tk busy] Command
TIP #320:
Improved Variable Handling in the Core Object System
TIP #319: Draft
Implement Backwards Compatibility for ttk Themed Widgets in tk Widgets
TIP #318:
Extend Default Whitespace in 'string trim' Beyond ASCII
TIP #317:
Extend binary Ensemble with Binary Encodings
TIP #316:
Portable Access Functions for Stat Buffers
TIP #315:
Add pathSeparator to tcl_platform Array
TIP #314:
Ensembles with Parameters
TIP #313:
Inexact Searching in Sorted List
TIP #312: Draft
Add More Link Types
TIP #311: Draft
Tcl/Tk 8.6 Release Calendar
TIP #310: Rejected
Add a New Pseudo-Random Number Generator
TIP #309: Draft
Expose the Expression Parsing
TIP #308:
Tcl Database Connectivity (TDBC)
TIP #307:
Make TclTransferResult() Public
TIP #306: Rejected
Auto-Naming Widgets
TIP #305: Withdrawn
ANSI Escape Sequence Support for Windows's Console Channel Driver
TIP #304:
A Standalone [chan pipe] Primitive for Advanced Child IPC
TIP #303: Draft
Enhance 'llength' Command to Support Nested Lists
TIP #302: Draft
Fix "after"'s Sensitivity To Adjustments Of System Clock
TIP #301: Withdrawn
Split Bidirectional Channels For Half-Close
TIP #300:
Examine Glyph Substitution in the 'font actual' Command
TIP #299:
Add isqrt() Math Function
TIP #298:
Revise Shared Value Rules for Tcl_GetBignumAndClearObj
TIP #297: Draft
Integer Type Introspection and Conversion
TIP #296: Draft
Enhanced Syntax for Pair-Wise Indices
TIP #295: Draft
Enhance Arguments to lrange
TIP #294: Rejected
The "entier" Function: It's Spelt "entire"
TIP #293:
Argument Expansion with Leading {*}
TIP #292: Draft
Allow Unquoted Strings in Expressions
TIP #291:
Add the 'platform' Package to Tcl
TIP #290: Draft
Registration of Custom Error Handler Scripts
TIP #289: Rejected
Revision of [lrepeat] Argument Order
TIP #288: Draft
Allow "args" Anywhere in Procedure Formal Arguments
TIP #287:
Add a Commands for Determining Size of Buffered Data
TIP #286:
Add 'xposition' Command to Menu Widgets
TIP #285:
Script Cancellation with [interp cancel] and Tcl_CancelEval
TIP #284: Draft
New 'invoke' and 'namespace invoke' Commands
TIP #283: Draft
Modify Ensemble Command Resolution Behaviour
TIP #282: Draft
Enhanced Expression Syntax
TIP #281: Draft
Improvements in System Error Handling
TIP #280:
Add Full Stack Trace Capability With Location Introspection
TIP #279: Draft
Adding an Extensible Object System to the Core
TIP #278: Draft
Fix Variable Name Resolution Quirks
TIP #277: Draft
Create Namespaces as Needed
TIP #276: Draft
Specify and Unify Variable Linking Commands
TIP #275:
Support Unsigned Values in binary Command
TIP #274:
Right-Associativity for the Exponentiation Operator
TIP #273: Rejected
Add Tcl_Expr... Support to Tcl_Get... Functions
TIP #272:
String and List Reversal Operations
TIP #271: Draft
Windows-Style Open and Save File Dialog on Unix
TIP #270:
Utility C Routines for String Formatting
TIP #269:
Add 'string is list' to the 'string is' Subcommand
TIP #268:
Enhance 'package' Version Handling
TIP #267:
Allow 'exec' to Ignore Stderr
TIP #266: Rejected
Numbers are Commands
TIP #265:
A Convenient C-side Command Option Parser for Tcl
TIP #264:
Add Function to Retrieve the Interpreter of a Window
TIP #263: Draft
Quantum Tcl
TIP #262: Draft
Background Images for Frames
TIP #261:
Return Imported Commands from [namespace import]
TIP #260:
Add Underline Option to Canvas Text Items
TIP #259: Draft
Making 'exec' Optionally Binary Safe
TIP #258:
Enhanced Interface for Encodings
TIP #257:
Object Orientation for Tcl
TIP #256:
Implement Tabular and Wordprocessor Style Tabbing
TIP #255:
Add 'min' and 'max' [expr] Functions
TIP #254:
New Types for Tcl_LinkVar
TIP #253: Draft
Consolidate Package-Related Commands
TIP #252: Rejected
Add New 'string' Command Options
TIP #251: Rejected
Enhance the 'list' Command
TIP #250:
Efficient Access to Namespace Variables
TIP #249:
Unification of Tcl's Parsing of Numbers
TIP #248:
Integrate Tile into Tk as Ttk
TIP #247: Draft
Tcl/Tk Engineering Manual
TIP #246: Draft
Unify Pattern Matching
TIP #245:
Discover User Inactivity Time
TIP #244:
PNG Photo Image Support for Tk
TIP #243: Draft
Supply Find Dialog for the Text Widget
TIP #242:
Preselect Filter on tk_get*File Dialogs
TIP #241:
Case-Insensitive Switches and List Searching and Sorting
TIP #240: Draft
An Ensemble Command to Manage Processes
TIP #239: Draft
Enhance the 'load' Command
TIP #238: Draft
Fire Event when Widget Created
TIP #237:
Arbitrary-Precision Integers for Tcl
TIP #236:
Absolute Positioning of Canvas Items
TIP #235:
Exposing a C API for Ensembles
TIP #234:
Add Support For Zlib Compression
TIP #233:
Virtualization of Tcl's Sense of Time
TIP #232:
Creating New Math Functions for the 'expr' Command
TIP #231:
Support for [wm attributes] on X11
TIP #230:
Tcl Channel Transformation Reflection API
TIP #229:
Scripted Control of Name Resolution in Namespaces
TIP #228: Draft
Tcl Filesystem Reflection API
TIP #227:
Interface to Get and Set the Return Options of an Interpreter
TIP #226:
Interface to Save and Restore Interpreter State
TIP #225: Draft
Arithmetic Series with Optimized Space Complexity
TIP #224: Draft
Add New [array] Subcommands 'incr' and 'value'
TIP #223:
Full-Screen Toplevel Support for Tk
TIP #222:
Add [wm attributes -alpha] Attribute on Windows
TIP #221:
Allow Background Error Handlers to Accept Return Options
TIP #220: Draft
Escalate Privileges in VFS Close Callback
TIP #219:
Tcl Channel Reflection API
TIP #218:
Tcl Channel Driver Thread State Actions
TIP #217:
Getting Sorted Indices out of Lsort
TIP #216: Draft
Handling Command-Line Options in Tclsh and Wish
TIP #215:
Make [incr] Auto-Initialize Undefined Variables
TIP #214: Withdrawn
Add New Object Introspection Command
TIP #213: Withdrawn
A Standard Dialog for Font Selection
TIP #212:
Temporarily Opening out a Dictionary
TIP #211: Withdrawn
Add Full Stack Trace Capability
TIP #210:
Add 'tempfile' Subcommand to 'file'
TIP #209:
Add [clock milliseconds], and [clock microseconds]
TIP #208:
Add a 'chan' Command
TIP #207:
Add a -namespace Option to [interp invokehidden]
TIP #206: Rejected
Add an [ftruncate] Command
TIP #205:
Use pkgconfig Database to Register Xft Support
TIP #204:
Virtual Events for Keyboard Traversal
TIP #203: Withdrawn
Create tclConfig.sh-Equivalent in Tcl
TIP #202:
Add 2>@1 Special Case to [open] and [exec]
TIP #201:
Add 'in' Operator to [expr]
TIP #200: Rejected
Listing the Values in an Array
TIP #199: Rejected
Specification of Alternatives to .wishrc/.tclshrc
TIP #198: Draft
Image Command XPM Extension
TIP #197:
Unfocussed Text Widget Cursor Control
TIP #196: Withdrawn
Tcl Commands as Values
TIP #195:
A Unique Prefix Handling Command
TIP #194:
Procedures as Values via '''apply'''
TIP #193: Draft
Simple Syntax Help System
TIP #192: Draft
Lazy Lists
TIP #191: Draft
Managing Tcl Packages and Modules in a Multi-Version Environment
TIP #190: Draft
Implementation Choices for Tcl Modules
TIP #189:
Tcl Modules
TIP #188:
Add 'string is wideinteger' to the 'string is' Subcommand
TIP #187: Rejected
Procedures as Values
TIP #186: Draft
Expose the Type and Modified-State of Widget Options
TIP #185: Rejected
Null Handling
TIP #184:
Avoid Creating Unusable Variables
TIP #183:
Add a Binary Flag to [open]
TIP #182:
Add [expr bool] Math Function
TIP #181:
Add a [namespace unknown] Command
TIP #180: Draft
Add a Megawidget Support Core Package
TIP #179:
Add -hide Option to panedwindow Widget
TIP #178: Draft
[info pid] and [info tid] Subcommands
TIP #177:
Add -stretch Option to panedwindow Widget
TIP #176:
Add String Index Values
TIP #175: Withdrawn
Add an -async Option to [open]
TIP #174:
Math Operators as Commands
TIP #173:
Internationalisation and Refactoring of the 'clock' Command
TIP #172: Withdrawn
Improve UNIX Tk Look and Feel
TIP #171:
Change Default Bindings Behavior
TIP #170: Draft
Better Support for Nested Lists
TIP #169:
Add Peer Text Widgets
TIP #168:
Cubic Bezier Curves on the Canvas
TIP #167: Draft
Add a New Option for Context Help for Windows
TIP #166: Draft
Reading and Writing the Photo Image Alpha Channel
TIP #165:
A User-Data Field for Virtual Events
TIP #164: Draft
Add Rotate Subcommand to the Canvas Widget
TIP #163:
A [dict merge] Subcommand
TIP #162:
IPv6 Sockets for Tcl
TIP #161: Draft
Change Default for Menu's -tearoff Option to False
TIP #160: Draft
Improvements to Terminal and Serial Channel Handling
TIP #159:
Extending Tk 'wm' Command to Support Coloured Icons
TIP #158:
Distinguish the two 'Enter' keys on Windows
TIP #157:
Argument Expansion with Leading {expand}
TIP #156:
Language-Neutral Root Locale for Msgcat
TIP #155:
Fix Some of the Text Widget's Limitations
TIP #154: Draft
Add Named Colors to Tk
TIP #153:
Enhancing the [winfo toplevel] Command
TIP #152:
New -detail Option for tk_messageBox
TIP #151:
Remove -e: Command Line Option from tclsh and wish
TIP #150:
Implement the Tk send Command for Windows
TIP #149: Withdrawn
Allow "enabled" as Synonym for "normal" in -state Option
TIP #148:
Correct [list]-Quoting of the '#' Character
TIP #147:
Make Grid's Column/Row Configure Easier
TIP #146:
Add Overall Anchoring to the Grid Geometry Manager
TIP #145:
Enhanced Tk Font Handling
TIP #144: Withdrawn
Argument Expansion Syntax
TIP #143:
An Interpreter Resource Limiting Framework
TIP #142: Withdrawn
Search Path Variable to Lookup Command Names in Namespaces
TIP #141:
Multiple Initial-Files in [tk_getOpenFile]
TIP #140:
Tracing Namespace Modifications
TIP #139:
Publish Part of Tcl's Namespace API
TIP #138:
New TCL_HASH_KEY_SYSTEM_HASH option for Tcl hash tables
TIP #137:
Specifying Script Encodings for [source] and tclsh
TIP #136:
Large List Initialisation
TIP #135:
Change 'dde servername -exact' Option to -force
TIP #134: Withdrawn
Subsystem Per-Thread Data Interfaces
TIP #133: Draft
Extending [expr] Operators
TIP #132:
Revised Floating-Point Conversions in Tcl
TIP #131:
Read My Mind and Do What I Mean
TIP #130:
Unique DDE server names.
TIP #129:
New Format Codes for the [binary] Command
TIP #128: Rejected
Ability to Install a Custom Memory Allocator
TIP #127:
Add an -index Option to [lsearch]
TIP #126: Draft
Rich Strings for Representation Persistence
TIP #125:
Converting between Frame and Toplevel Windows
TIP #124:
High-Resolution Absolute Time Values From [clock]
TIP #123:
Adding an Exponentiation Operator to the [expr] Command
TIP #122: Rejected
Use tcl_{non,}wordchars Throughout Tcl/Tk
TIP #121:
Controlled Application Shutdown via Tcl_Exit
TIP #120:
Restricted DDE Services
TIP #119:
Angled Text on a Canvas
TIP #118:
Enhance [file attributes] and [file copy] on Mac OS X & BSD
TIP #117: Withdrawn
Object Type Introspection
TIP #116:
More Safety for Large Images
TIP #115: Draft
Making Tcl Truly 64-Bit Ready
TIP #114: Draft
Eliminate Octal Parsing of Leading Zero Integer Strings
TIP #113:
Multi-Line Searches in the Text Widget
TIP #112:
Ensembles are Namespaces are Commands
TIP #111:
Dictionary Values and Manipulators
TIP #110:
Add a Tristate Mode to the Checkbutton and Radiobutton
TIP #109:
New Look for Checkbutton and Radiobutton on Unix
TIP #108:
Summary of Changes to Generic Tcl/Tk Code to Enable Mac OS X Port
TIP #107:
Fix the 2-second "raise delay" in Tk
TIP #106:
Add Encoding Abilities to the [dde] Command
TIP #105: Withdrawn
Add Prefix Matching for Switch
TIP #104:
Generalization of the Tk Undo Subsystem
TIP #103: Rejected
Argument Expansion Command
TIP #102:
Change [trace list] to [trace info]
TIP #101:
Export Tcltest Configuration
TIP #100:
Add Support for Unloading Dynamic Libraries Loaded with [load]
TIP #99:
Add 'file link' to Tcl
TIP #98:
Adding Transparency Compositing Rules to Photo Images
TIP #97:
Moving Vertices of Canvas Items
TIP #96:
Add [tk caret] Command and Tk_SetCaretPos API
TIP #95:
Add [wm attributes] Command
TIP #94:
Add Listbox -activestyle Option
TIP #93:
Get/Delete Enhancement for the Tk Text Widget
TIP #92: Withdrawn
Move Package Load Decisions to Application Developer
TIP #91:
Backward Compatibility for Channel Types with 32-bit SeekProcs
TIP #90:
Enable [return -code] in Control Structure Procs
TIP #89: Withdrawn
Try/Catch Exception Handling in the Core
TIP #88: Rejected
Extend Tcl Process Id Control via 'pid'
TIP #87:
Allow Tcl Access to the Recursion Limit
TIP #86: Draft
Improved Debugger Support
TIP #85:
Custom Comparisons in Tcltest
TIP #84:
Add control for mouse movement filtering
TIP #83: Withdrawn
Augment Tcl_EvalFile with Tcl_EvalChannel and Tcl_EvalUrl
TIP #82:
Add -offrelief Option to Checkbutton and Radiobutton
TIP #81: Withdrawn
[incr Tcl] Functional Areas for Maintainer Assignments
TIP #80:
Additional Options for 'lsearch'
TIP #79:
Add Deletion Callback to Tcl_CreateObjTrace
TIP #78: Draft
TEA 2.0 Definitions
TIP #77: Withdrawn
Support for Nested Paired Item Lists
TIP #76:
Make 'regsub' Return a String
TIP #75:
Refer to Sub-RegExps Inside 'switch -regexp' Bodies
TIP #74:
wm stackorder command
TIP #73:
Export Tcl_GetTime in the Public API
TIP #72:
64-Bit Value Support for Tcl on 32-Bit Platforms
TIP #71: Withdrawn
Tk Bitmap Image Improvements
TIP #70: Withdrawn
A Relational Switch Control Structure
TIP #69: Draft
Improvements for the Tcl Hash Table
TIP #68:
Dynamic Trace Result Handling
TIP #67: Withdrawn
Allow Subclassing of tk_getOpenFile, tk_getSaveFile on UNIX
TIP #66: Draft
Stand-alone and Embedded Tcl/Tk Applications
TIP #65: Rejected
Enhanced [info args]
TIP #64:
Improvements to Windows Font Handling
TIP #63:
Add -compound Option to Menu Entries
TIP #62:
Add Support for Command Tracing
TIP #61:
Make TK_NO_SECURITY Run-Time Switchable
TIP #60: Rejected
EXTERN Macro Change to Support a Wider Set of Attributes
TIP #59:
Embed Build Information in Tcl Binary Library
TIP #58: Rejected
Extend [set] to Assign Multiple Values to Multiple Variables
TIP #57:
Move TclX's [lassign] into the Tcl Core
TIP #56:
Standardize Call Interface to Tcl_Eval* Functions
TIP #55:
Package Format for Tcl Extensions
TIP #54: Withdrawn
Using PURLs to Unite the Tcl Webspace
TIP #53: Withdrawn
Addition of 'assert' Command
TIP #52: Withdrawn
Hierarchical Namespace Lookup of Commands and Variables
TIP #51: Withdrawn
Native Menubutton on Macintosh
TIP #50:
Bundle [incr Tcl] with the Core Tcl distribution
TIP #49:
I/O Subsystem: Add API Tcl_OutputBuffered(chan)
TIP #48:
Tk Widget Styling Support
TIP #47:
Modifying Tk to Allow Writing X Window managers
TIP #46: Withdrawn
Consistent Overlap Behavior of Area-Defining Canvas Items
TIP #45:
Empty index lists for [lindex] and [lset]
TIP #44:
Move Tk's Private Commands and Variables into ::tk Namespace
TIP #43: Draft
How to be a TIP Editor
TIP #42: Withdrawn
Add New Standard Tk Option: -clientdata
TIP #41:
Paned Window Tk Widget
TIP #40: Withdrawn
Documentation Generator for Tcl Scripts
TIP #39: Withdrawn
Add New Standard Tk Option: -component
TIP #38: Withdrawn
Add Support for Default Bindtags
TIP #37:
Uniform Rows and Columns in Grid
TIP #36:
Library Access to 'Subst' Functionality
TIP #35:
Enhanced Support for Serial Communications
TIP #34: Withdrawn
Modernize TEA Build System
TIP #33:
Add 'lset' Command to Assign to List Elements.
TIP #32:
Add Tcl_Obj-enabled counterpart to Tcl_CreateTrace
TIP #31: Draft
CVS tags in the Tcl and Tk repositories
TIP #30: Draft
Tk Toolkit Maintainer Assignments
TIP #29: Rejected
Allow array syntax for Tcl lists
TIP #28: Draft
How to be a good maintainer for Tcl/Tk
TIP #27:
CONST Qualification on Pointers in Tcl API's
TIP #26:
Enhancements for the Tk Text Widget
TIP #25: Withdrawn
Native tk_messageBox on Macintosh
TIP #24: Draft
Tcl Maintainer Assignments
TIP #23: Accepted
Tk Toolkit Functional Areas for Maintainer Assignments
TIP #22:
Multiple Index Arguments to lindex
TIP #21:
Asymmetric Padding in the Pack and Grid Geometry Managers
TIP #20:
Add C Locale-Exact CType Functions
TIP #19:
Add a Text Changed Flag to Tk's Text Widget
TIP #18:
Add Labels to Frames
TIP #17:
Redo Tcl's filesystem
TIP #16: Accepted
Tcl Functional Areas for Maintainer Assignments
TIP #15:
Functions to List and Detail Math Functions
TIP #14:
Access to Tk Photo Image Transparency
TIP #13: Accepted
Web Service for Drafting and Archiving TIPs
TIP #12: Draft
The "Batteries Included" Distribution
TIP #11:
Tk Menubutton Enhancement: -compound option for menubutton
TIP #10:
Tcl I/O Enhancement: Thread-Aware Channels
TIP #9: Withdrawn
Tk Standard Library
TIP #8:
Add Winico support to the wm command on windows
TIP #7:
Increased resolution for TclpGetTime on Windows
TIP #6: Rejected
Include [Incr Tcl] in the Core Tcl distribution
TIP #5:
Make TkClassProcs and TkSetClassProcs Public and Extensible
TIP #4: Draft
Tcl Release and Distribution Philosophy
TIP #3: Accepted
TIP Format
TIP #2: Draft
TIP Guidelines
TIP #1:
TIP Index
TIP #0:
Tcl Core Team Basic Rules
TIP #0: Tcl Core Team Basic Rules
- $Revision: 2.6 $
-
This TIP describes the mission, structure, and operating procedures of the Tcl Core Team (TCT). When in doubt about how the TCT works, consult this document as the final authority.
|
Author: | John Ousterhout |
Type: | Process |
State: | Final |
Vote: | Done |
Created: | 11 Dec 2000 |
Posting History: | |
|
|
TIP #1: TIP Index
- $Revision: 1.6 $
-
This TIP contains the index of all TIPs published over the lifetime of the TCT. It will be continually and automatically updated.
|
Author: | TIP Editor |
Type: | Informative |
State: | Active |
Vote: | No voting |
Created: | 14 Sep 2000 |
Posting History: | |
|
|
TIP #2: TIP Guidelines
- $Revision: 1.38 $
-
This document describes and defines the editorial process a TCT document (TIP) has to go through before accepted as official.
| |
TIP #3: TIP Format
- $Revision: 1.8 $
-
This TIP is a companion document to the TIP Guidelines TIP #2 and describes the structure and formatting to use when writing a TIP.
| |
TIP #4: Tcl Release and Distribution Philosophy
- $Revision: 1.10 $
-
This document outlines how Tcl should be distributed, with particular reference to issues related to building a distribution with the batteries included so that most people can have access to the useful extensions without having to chasing halfway across the 'net for them.
| |
TIP #5: Make TkClassProcs and TkSetClassProcs Public and Extensible
- $Revision: 1.3 $
-
At certain critical moments in the lifetime of a Tk widget, Tk will invoke various callbacks on that widget. These callbacks enable the widget to do lots of interesting things, such as react to configuration changes for named fonts, or create and manage truly native widgets (such as the scrollbar widget on Windows platforms). The API for setting up these callbacks for a particular window are, as of Tk 8.3.2, private. This prohibits extension widget authors from fully utilizing this powerful system; those developers can either copy the private declarations into their own source code (leading to future maintenance hassles), or forego the system entirely, hampering their ability to make truly native and well-integrated widgets. This proposal offers an extensible means for making that API public.
|
Author: | Eric Melski |
Type: | Project |
Tcl Version: | 8.4 |
State: | Final |
Vote: | Done |
Created: | 17 Oct 2000 |
Posting History: | |
|
|
TIP #7: Increased resolution for TclpGetTime on Windows
- $Revision: 1.4 $
-
Tcl users on the Windows platform have long been at a disadvantage in attempting to do code timing studies, owing to the poor resolution of the Windows system clock. The time command, the clock clicks command, and all related functions are limited to a resolution of (typically) 10 milliseconds. This proposal offers a solution based on the Windows performance counter. It presents a means of disciplining this counter to the system clock so that TclpGetTime (the underlying call that the above commands use) can return times to microsecond precision with accuracy in the tens of microseconds.
|
Author: | Kevin Kenny |
Type: | Project |
Tcl Version: | 8.4 |
State: | Final |
Vote: | Done |
Created: | 26 Oct 2000 |
Posting History: | |
Discussions To: | comp.lang.tcl |
|
|
TIP #8: Add Winico support to the wm command on windows
- $Revision: 1.8 $
-
Add to wm the ability to do the windows-titlebar-icon manipulation that the Winico extension currently provides, without the bugs noted in that extension.
|
Author: | Vince Darley |
Type: | Project |
Tcl Version: | 8.4.0 |
State: | Final |
Vote: | Done |
Created: | 06 Nov 2000 |
Posting History: | |
|
|
TIP #9: Tk Standard Library
- $Revision: 1.9 $
-
A Tk standard library shall be bundled with the core Tcl/Tk distribution. The library will consist of general purpose widgets and composite widgets for use in constructing Tcl/Tk applications. The library of Tk components will be written in Tcl/Tk.
| |
TIP #12: The "Batteries Included" Distribution
- $Revision: 1.3 $
-
This document describes a comprehensive Tcl/Tk distribution. Its primary purpose is to create a standard source tree that includes Tcl, Tk, and extensions so that they can be built and installed in an simple and easy manner.
| |
TIP #13: Web Service for Drafting and Archiving TIPs
- $Revision: 1.26 $
-
This document proposes the TCT provide a service on the World Wide Web for drafting and archiving TIPs and for providing TIPs in a variety of formats. A reference implementation is provided, and its server requirements are outlined.
| |
TIP #14: Access to Tk Photo Image Transparency
- $Revision: 2.5 $
-
It is useful for some code (both extensions and scripts) to have access to the transparency information in photo images for various reasons, but this is not currently available, even via an internal structure defined in generic/tkInt.h. This TIP is aimed at making the information available, and in such a way at the C level that backward compatibility is maintained in the future even if the internal structure definitions change.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.4.0 |
State: | Final |
Vote: | Done |
Created: | 22 Nov 2000 |
Posting History: | |
Keywords: | Tk, photo, transparency, internal, access |
|
|
TIP #15: Functions to List and Detail Math Functions
- $Revision: 1.8 $
-
Provides a way for the list of all math functions defined in the current interpreter to be discovered, and for discovering what arguments might be passed to an existing math function. This may be useful in tests as well as more general use.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.4.0 |
State: | Final |
Vote: | Done |
Created: | 22 Nov 2000 |
Posting History: | |
Keywords: | Tcl, expr, function, introspection |
|
|
TIP #17: Redo Tcl's filesystem
- $Revision: 1.18 $
-
Many of the most exciting recent developments in Tcl have involved putting virtual file systems in a file (e.g. Prowrap, Freewrap, Wrap, TclKit) but these have been largely ad hoc hacks of various internal APIs. This TIP seeks to replace this with a common underlying API that will, in addition, make porting of Tcl to new platforms a simpler task as well.
|
Author: | Vince Darley |
Type: | Project |
Tcl Version: | 8.4.0 |
State: | Final |
Vote: | Done |
Created: | 17 Nov 2000 |
Posting History: | |
|
|
TIP #18: Add Labels to Frames
- $Revision: 2.3 $
-
This TIP proposes to add a labelled frame widget to Tk.
|
Author: | Peter Spjuth |
Type: | Project |
Tcl Version: | 8.4 |
State: | Final |
Vote: | Done |
Created: | 12 Dec 2000 |
Posting History: | |
|
|
TIP #19: Add a Text Changed Flag to Tk's Text Widget
- $Revision: 1.6 $
-
This TIP adds a text changed flag to the Tk text widget. The flag would initially be reset, but would be set whenever the contents of the text widget changes.
|
Author: | Neil McKay |
Type: | Project |
Tcl Version: | 8.4a2 |
State: | Final |
Vote: | Done |
Created: | 03 Jan 2001 |
Posting History: | |
Obsoleted By: | TIP #26 |
|
|
TIP #20: Add C Locale-Exact CType Functions
- $Revision: 1.4 $
-
This TIP adds functions to Tcl that are a subset of the standard ctype functions (isspace, isalpha, ...) that are ensured to operate only in the C locale (char < 0x80).
|
Author: | Jeffrey Hobbs |
Type: | Project |
Tcl Version: | 8.5 |
State: | Deferred |
Vote: | Pending |
Created: | 08 Jan 2001 |
Posting History: | |
|
|
TIP #22: Multiple Index Arguments to lindex
- $Revision: 1.22 $
-
Obtaining access to elements of sublists in Tcl often requires nested calls to the lindex command. The indices are syntactically listed in most-nested to least-nested order, which is the reverse from other notations. In addition, the nesting of command substitution brackets further decreases readability. This proposal describes an extension to the lindex command that allows it to accept multiple index arguments, in least-nested to most-nested order, to automatically extract elements of sublists.
| |
TIP #25: Native tk_messageBox on Macintosh
- $Revision: 1.3 $
-
This is a replacement for the tk_messageBox on the Macintosh with a native implementation which is compliant with the Appearance Manager in Mac OS 8 and later.
|
Author: | Mats Bengtsson |
Type: | Project |
Tcl Version: | 8.5 |
State: | Withdrawn |
Vote: | Pending |
Created: | 07 Feb 2001 |
Posting History: | |
Obsoleted By: | TIP #152 |
|
|
TIP #26: Enhancements for the Tk Text Widget
- $Revision: 1.9 $
-
This TIP proposes several enhancements for the Tk text widget. An unlimited undo/redo mechanism is proposed, with several user available customisation features. Related to this, a text modified indication is proposed. This means that the user can set, query or receive a virtual event when the content of the text widget is modified. And finally a virtual event is added that is generated whenever the selection changes in the text widget.
| |
TIP #27: CONST Qualification on Pointers in Tcl API's
- $Revision: 1.6 $
-
Many of the C and C++ interfaces to the Tcl library lack a CONST qualifier on the parameters that accept pointers, even though they do not, in fact, modify the data that the pointers designate. This lack causes a persistent annoyance to C/C++ programmers. Not only is the code needed to work around this problem more verbose than required; it also can lead to compromises in type safety. This TIP proposes that the C interfaces for Tcl be revised so that functions that accept pointers to constant data have type signatures that reflect the fact. The new interfaces will remain backward-compatible with the old, except that a few must be changed to return pointers to CONST data. (Changes of this magnitude, in the past, have been routine in minor releases; the author of this TIP does not see a compelling reason to wait for Tcl 9.0 to clean up these API's.)
| |
TIP #29: Allow array syntax for Tcl lists
- $Revision: 1.8 $
-
Most popular programming languages provide some sort of indexed array construct, where array subscripts are integers. Tcl's lists are, in fact, arrays, but the existing syntax obscures the fact. Moreover, the existing list commands make it difficult to manipulate lists as arrays without running into peculiar performance issues. This TIP proposes that the syntax of variableName(value) be extended to function as an array selector if variableName designates a list. This change is upward compatible with existing Tcl scripts, because the proposed syntax results in a runtime error in every extant Tcl release.
| |
TIP #33: Add 'lset' Command to Assign to List Elements.
- $Revision: 1.13 $
-
Most popular programming languages provide some sort of indexed array construct, where array subscripts are integers. Tcl's lists are implemented internally as indexed arrays, but it is difficult to use them as such because there is no convenient way to assign to individual elements. This TIP proposes a new command, lset, to rectify this limitation.
| |
TIP #34: Modernize TEA Build System
- $Revision: 2.7 $
-
A number of things in the original TEA specification and documentation have fallen out of date. Numerous complaints about the difficulty of creating a TEA compliant package have appeared on news:comp.lang.tcl. Other complaints about the ease of building Tcl and Tk using the autoconf based build system have also surfaced. Addressing these concerns is made even more difficult by the fact that two independent build systems currently exist, one for UNIX, and one for Windows. Maintaining multiple build systems is a frustratingly slow process that wastes time better spent on other issues. In addition, the Tcl build scripts do not support cross compilation which makes the maintenance process even slower since one can't test simple build system changes for a given platform without access to that platform. This document describes how these concerns can be addressed.
|
Author: | Mo DeJong |
| Andreas Kupries |
Type: | Project |
Tcl Version: | 8.5 |
State: | Withdrawn |
Vote: | Done |
Created: | 03 May 2001 |
Posting History: | |
|
|
TIP #35: Enhanced Support for Serial Communications
- $Revision: 1.12 $
-
Tcl's support for RS-232 is very rudimentary. Mainly it allows to setup the communication rate [fconfigure -mode] and to read and write data with the standard Tcl functions. Real serial communications are often more complex. Therefore it is proposed to add support for hardware and software flow control, polling RS-232 (modem) status lines, and watching the input and output queue. This is all to be implemented via additional [fconfigure] options.
|
Author: | Rolf Schroedter |
Type: | Project |
Tcl Version: | 8.4 |
State: | Final |
Vote: | Done |
Created: | 06 Jun 2001 |
Posting History: | |
|
|
TIP #36: Library Access to 'Subst' Functionality
- $Revision: 1.4 $
-
Some applications make very heavy use of the subst command - it seems particularly popular in the active-content-generation field - and for them it is important to optimise this as much as possible. This TIP adds a direct interface to these capabilities to the Tcl library, allowing programmers to avoid the modest overheads of even Tcl_EvalObjv and the option parser for the subst command implementation.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.4 |
State: | Final |
Vote: | Done |
Created: | 13 Jun 2001 |
Posting History: | |
|
|
TIP #37: Uniform Rows and Columns in Grid
- $Revision: 1.11 $
-
This TIP proposes to add a -uniform option to grid rowconfigure and grid columnconfigure so as to make it easier to create layouts where cells are constrained to have identical dimensions.
|
Author: | Peter Spjuth |
| Kevin Kenny |
Type: | Project |
Tcl Version: | 8.4 |
State: | Final |
Vote: | Done |
Created: | 19 Jun 2001 |
Posting History: | |
|
|
TIP #38: Add Support for Default Bindtags
- $Revision: 1.5 $
-
This TIP proposes to add support for the ability to change the default list of bindtags for a class of widgets.
|
Author: | Bryan Oakley |
Type: | Project |
Tcl Version: | 8.5 |
State: | Withdrawn |
Vote: | Pending |
Created: | 27 Jun 2001 |
Posting History: | |
|
|
TIP #40: Documentation Generator for Tcl Scripts
- $Revision: 1.4 $
-
This TIP proposes the adoption of a standard documentation format for Tcl scripts and the implementation of a simple tool that will extract this documentation from the source code so that it may be turned into a programmer's guide. This is in essence akin to documentation tools like the well-known javadoc utility for Java programs and Eiffel's short utility.
|
Author: | Arjen Markus |
| Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.0 |
State: | Withdrawn |
Vote: | Pending |
Created: | 04 Jul 2001 |
Posting History: | |
Keywords: | documentation, automatic generation, HTML, reference |
|
|
TIP #41: Paned Window Tk Widget
- $Revision: 1.13 $
-
This TIP proposes a C-based paned window widget for inclusion in the Tk core. A paned window consists of one or more vertical or horizontal "panes", each pair separated by a movable "sash" and each containing one widget, called a "slave". Paned windows are common in modern graphical user interfaces and should therefore be provided directly by the Tk core. Examples of the widget can be found in Windows Explorer; Netscape Messenger; many email clients; and virtually every graphical World Wide Web browser.
|
Author: | Eric Melski |
Type: | Project |
Tcl Version: | 8.4a2 |
State: | Final |
Vote: | Done |
Created: | 04 Jul 2001 |
Posting History: | |
Keywords: | widget, tk, panedwindow |
|
|
TIP #43: How to be a TIP Editor
- $Revision: 1.4 $
-
This TIP describes some of the rules and guidelines that the TIP Editor uses when accepting TIPs for the first time.
|
Author: | Donal K. Fellows |
Type: | Informative |
State: | Draft |
Vote: | Pending |
Created: | 07 Jul 2001 |
Posting History: | |
|
|
TIP #45: Empty index lists for [lindex] and [lset]
- $Revision: 1.9 $
-
TIP's #22 and #33 contain an oversight in specifying the behavior of the multi-argument forms of lset and lindex when an empty index list is specified. The intended behavior is that an empty list of indices designates the entire list.
| |
TIP #46: Consistent Overlap Behavior of Area-Defining Canvas Items
- $Revision: 1.5 $
-
This document proposes that all canvas items that define an area should behave the same in terms of interior points, i.e. points that return the enclosing object id when submitted to [$canvas find overlapping]. Currently polygons behave differently from the rest (rectangle, arc, oval).
|
Author: | Gerhard Hintermayer |
Type: | Project |
Tcl Version: | 8.5 |
State: | Withdrawn |
Vote: | Pending |
Created: | 18 Jul 2001 |
Posting History: | |
|
|
TIP #48: Tk Widget Styling Support
- $Revision: 1.20 $
-
The Tk Toolkit is one of the last major GUI toolkits lacking themes support. This TIP proposes several changes to widget design that allows custom code to be provided for widget element handling in a transparent and extensible fashion. User-provided code may then be used to alter the widgets' look without the need to alter the Tk core. The proposed changes induce no loss of compatibility, and only slight core changes are needed with no side effect on existing functionality.
| |
TIP #50: Bundle [incr Tcl] with the Core Tcl distribution
- $Revision: 1.12 $
-
A "town meeting" discussion in which users were given the opportunity to question the Tcl Core Team at the 2001 Open Source Convention has revealed a great popular demand for bundling an object system with the distribution of the Tcl Core. This TIP presents a compromise proposal for including [incr Tcl] that was acceptable to all eight TCT members present.
| |
TIP #51: Native Menubutton on Macintosh
- $Revision: 1.4 $
-
This is a replacement for the menubutton on the Macintosh with a native implementation which is compliant with the Appearance Manager in Mac OS 8 and later.
|
Author: | Mats Bengtsson |
Type: | Project |
Tcl Version: | 8.5 |
State: | Withdrawn |
Vote: | Pending |
Created: | 04 Aug 2001 |
Posting History: | |
|
|
TIP #52: Hierarchical Namespace Lookup of Commands and Variables
- $Revision: 1.6 $
-
This TIP proposes to change the command and variable namespace lookup system so that the full hierarchy of namespaces is parsed, rather than just the current namespace followed by the global namespace. This is primarily intended to rectify problems often encountered with the use of [incr Tcl] (ITcl) and namespaces. In addition, package encapsulation can be enhanced with judicious application of this feature.
| |
TIP #54: Using PURLs to Unite the Tcl Webspace
- $Revision: 1.8 $
-
This TIP proposes the use of PURLs to unify the scattered landscape of Tcl URLs into a coherent set of information about the language, the community, extensions, etc.
| |
TIP #55: Package Format for Tcl Extensions
- $Revision: 1.18 $
-
This document specifies the contents of a binary distribution of a Tcl package, especially directory structure and required files, suitable for automated installation into an existing Tcl installation.
| |
TIP #59: Embed Build Information in Tcl Binary Library
- $Revision: 1.16 $
-
This TIP provides an interface through which Tcl may be queried for information on its own configuration, in order to extract the information directly instead of reading it from a Bourne shell file. An important reason to do this is to have the information not only available but also tightly bound to the binary configured by it, so that the information doesn't get lost.
|
Author: | Andreas Kupries |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 04 Sep 2001 |
Posting History: | |
|
|
TIP #62: Add Support for Command Tracing
- $Revision: 1.11 $
-
This TIP proposes that the Tcl's trace command be extended to include the following features: 1. tracing of command execution for the specified tcl command, and 2. step-wise tracing of any command execution within a specified procedure.
| |
TIP #63: Add -compound Option to Menu Entries
- $Revision: 1.5 $
-
This TIP adds to menu entries the ability to display both textual labels and images (or bitmaps) in exactly the same way as buttons and menubuttons currently can, by adding a -compound option.
|
Author: | Vince Darley |
Type: | Project |
Tcl Version: | 8.4 |
State: | Final |
Vote: | Done |
Created: | 27 Sep 2001 |
Posting History: | |
|
|
TIP #64: Improvements to Windows Font Handling
- $Revision: 1.9 $
-
This TIP improves handling of native fonts in Tk under Microsoft Windows making Tk applications more aesthetic and more consistent with users' expectations of 'Windows applications.
| |
TIP #65: Enhanced [info args]
- $Revision: 1.6 $
-
This TIP proposes a new subcommand to the [info] command be added that would return the list of arguments, together with any default values in the same format as the args parameter to the [proc] command.
| |
TIP #66: Stand-alone and Embedded Tcl/Tk Applications
- $Revision: 1.15 $
-
This TIP describes the development and deployment of Tcl/Tk applications, with particular attention on how to embed the interpreter into executables written in C or C++.
|
Author: | Arjen Markus |
Type: | Informative |
State: | Draft |
Vote: | Pending |
Created: | 02 Oct 2001 |
Posting History: | |
Keywords: | installation, initialisation, embedded, resources |
|
|
TIP #67: Allow Subclassing of tk_getOpenFile, tk_getSaveFile on UNIX
- $Revision: 1.5 $
-
On Microsoft Windows it is possible to "subclass" a standard dialog and add controls to it. This TIP proposes adding that feature to the tk_getOpenFile and tk_getSaveFile dialogs for non-Windows systems (wherever tkfbox.tcl and xmfbox.tcl are used for these dialogs).
| |
TIP #69: Improvements for the Tcl Hash Table
- $Revision: 1.10 $
-
This document describes various improvements to the existing Tcl hash table. They include support for 64 bit platforms, better memory performance, and improved array hashing. The goal is a hash table that improves Tcl/Tk, but also can be used in industrial strength applications.
| |
TIP #70: A Relational Switch Control Structure
- $Revision: 1.8 $
-
This TIP proposes the introduction of a new control structure, rswitch, which is a relational parallel to switch-case control structure. It consists of two lists: condition list and situation-reaction list. At the maximum two conditions can be specified. Based on situation, reaction is executed. The situation is selected on "first true and only the first true" basis.
| |
TIP #71: Tk Bitmap Image Improvements
- $Revision: 1.14 $
-
Tk has a number of pre-defined bitmaps (10 on all platforms) but it lacks a number of bitmaps useful for creating GUI elements. This TIP adds several such bitmaps (as bitmap images).
| |
TIP #72: 64-Bit Value Support for Tcl on 32-Bit Platforms
- $Revision: 1.10 $
-
This TIP adds the capability to perform computations on values that are (at least) 64-bits wide even on 32-bit platforms. It also adds support for handling files that are larger than 2GB large on those platforms (where supported by the underlying platform and filing system).
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.4 |
State: | Final |
Vote: | Done |
Created: | 05 Nov 2001 |
Posting History: | |
|
|
TIP #73: Export Tcl_GetTime in the Public API
- $Revision: 1.4 $
-
This TIP proposes that the existing TclpGetTime function be renamed to be Tcl_GetTime and included in the published API.
|
Author: | Kevin Kenny |
Type: | Project |
Tcl Version: | 8.4 |
State: | Final |
Vote: | Done |
Created: | 03 Nov 2001 |
Posting History: | |
|
|
TIP #74: wm stackorder command
- $Revision: 1.6 $
-
Tk provides no means to query the stacking order of toplevel windows. This functionality would be useful to applications that wished to save and restore the state and relative order of each toplevel. This functionality would also make it possible to write test cases for window manager related commands like focus, raise, and lower. This document suggests a new wm stackorder command to address this deficiency.
|
Author: | Mo DeJong |
Type: | Project |
Tcl Version: | 8.4 |
State: | Final |
Vote: | Done |
Created: | 12 Nov 2001 |
Posting History: | |
|
|
TIP #75: Refer to Sub-RegExps Inside 'switch -regexp' Bodies
- $Revision: 1.14 $
-
Currently, it is necessary to match a regular expression against a string twice in order to get the sub-expressions out of the matched string. This TIP alters that so that those sub-exps can be substituted directly into the body of the script to be executed.
| |
TIP #77: Support for Nested Paired Item Lists
- $Revision: 1.3 $
-
Tcl arrays can be transformed to and from lists using the array get and array set commands. This TIP proposes a new command for working directly these paired lists, and extending them to allow nesting in a manner analogous to TIP #22.
|
Author: | Christian Williams |
Type: | Project |
Tcl Version: | 8.5 |
State: | Withdrawn |
Vote: | Pending |
Created: | 07 Dec 2001 |
Posting History: | |
Obsoleted By: | TIP #111 |
|
|
TIP #78: TEA 2.0 Definitions
- $Revision: 1.4 $
-
This document is an informational TIP providing definitions for commonly used terms (like package, extension, core, distribution, etc.) to make future communication among people in the community easier. It is recommended that future and past documents specifying details inside of the greater context of TEA refer to this document to ensure a consistent usage of terms.
| |
TIP #80: Additional Options for 'lsearch'
- $Revision: 1.10 $
-
This TIP proposes additional options for the lsearch command to return and work with all matching items in the return rather than the first matching item. Additional options are also added.
| |
TIP #82: Add -offrelief Option to Checkbutton and Radiobutton
- $Revision: 1.4 $
-
This TIP proposes adding option -offrelief to the checkbutton and radiobutton widgets to specify the relief of the widget when -indicatoron is off and the state of the button is off. This feature is needed to support the use of checkbutton and radiobutton widgets on toolbars.
|
Author: | D. Richard Hipp |
Type: | Project |
Tcl Version: | 8.4 |
State: | Final |
Vote: | Done |
Created: | 10 Jan 2002 |
Posting History: | |
|
|
TIP #84: Add control for mouse movement filtering
- $Revision: 1.5 $
-
When the mouse is moved, the Tcl/Tk system eats most of the mouse movement events and only the last movement event when Tcl/Tk is not busy is stored in the event queue. I would like to obtain all the movement events from the X-server or the Windows UI.
| |
TIP #85: Custom Comparisons in Tcltest
- $Revision: 1.14 $
-
This TIP proposes a simple mechanism to make the tcltest package an even more flexible package than it already is by allowing the programmer to define his or her own comparison procedures. Such procedures can deal with issues like allowing a (small) tolerance in floating-point results.
|
Author: | Arjen Markus |
| Don Porter |
Type: | Project |
Tcl Version: | 8.4 |
State: | Final |
Vote: | Done |
Created: | 31 Jan 2002 |
Posting History: | |
Keywords: | test, string comparison, floating-point |
|
|
TIP #86: Improved Debugger Support
- $Revision: 1.26 $
-
This TIP proposes the storage by Tcl of source code file-name and line-numbering information, making it available at script execution time. It also adds additional trace and info subcommands to make it easier for a debugger to control a Tcl script much as gdb can control a C program.
| |
TIP #87: Allow Tcl Access to the Recursion Limit
- $Revision: 1.11 $
-
An extension to the [interp] command, [interp recursionlimit], will permit Tcl scripts to control their own recursion limits. Until now, this limit has been changeable from a C API, but not from within Tcl.
| |
TIP #92: Move Package Load Decisions to Application Developer
- $Revision: 1.3 $
-
This TIP makes the loading of packages far more flexible, so as to better support their use by application authors in situations above and beyond those foreseen by the developer of the package.
|
Author: | Clif Flynt |
Type: | Project |
Tcl Version: | 8.4 |
State: | Withdrawn |
Vote: | Pending |
Created: | 13 May 2002 |
Posting History: | |
Keywords: | package require, namespace, pkg_mkIndex |
|
|
TIP #93: Get/Delete Enhancement for the Tk Text Widget
- $Revision: 1.8 $
-
The Tk Text widget provides text tags, which are a very powerful thing. However, the current implementation does not provide an efficient way for a Tk Text widget programmer to extract (get) all of the actual text that has a given text tag. This TIP proposes to enhance the Tk Text widget to provide this functionality.
| |
TIP #94: Add Listbox -activestyle Option
- $Revision: 1.5 $
-
This TIP proposes to add a [-activestyle] option to the [listbox] widget that would control what style the active element has when the widget has focus (currently hard-coded to be underlined).
|
Author: | Jeff Hobbs |
Type: | Project |
Tcl Version: | 8.4 |
State: | Final |
Vote: | Done |
Created: | 29 May 2002 |
Posting History: | |
|
|
TIP #95: Add [wm attributes] Command
- $Revision: 1.5 $
-
This TIP proposes adding a [wm attributes] command in order to control platform-specific aspects of a toplevel. In addition, it proposes making [wm] a Tcl_Obj-based command and centralizing the common functionality.
|
Author: | Jeff Hobbs |
Type: | Project |
Tcl Version: | 8.4 |
State: | Final |
Vote: | Done |
Created: | 29 May 2002 |
Posting History: | |
|
|
TIP #96: Add [tk caret] Command and Tk_SetCaretPos API
- $Revision: 1.4 $
-
This TIP proposes to add a [tk caret] command and [Tk_SetCaretPos] C API to manage carets in Tk. caret is the term for where text of graphics will be inserted. It is necessary for correct accessibility functionality (to know where to shift focus), and for location the IME or XIM input box to handle complex character input (e.g. Asian character sets).
|
Author: | Jeff Hobbs |
Type: | Project |
Tcl Version: | 8.4 |
State: | Final |
Vote: | Done |
Created: | 29 May 2002 |
Posting History: | |
|
|
TIP #97: Moving Vertices of Canvas Items
- $Revision: 1.10 $
-
This TIP proposes a canvas subcommand (or possibly two) that allows for replacing characters in text objects and to move individual vertices of line and polygon items.
| |
TIP #98: Adding Transparency Compositing Rules to Photo Images
- $Revision: 1.5 $
-
This TIP adds compositing rules to Tk's photo images to give programmers better control over what happens when two transparent images are combined. This TIP also allows for several frames of an animated GIF file to be correctly displayed in an image even when the transparent area is not constant.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.4 |
State: | Final |
Vote: | Done |
Created: | 09 Jun 2001 |
Posting History: | |
|
|
TIP #99: Add 'file link' to Tcl
- $Revision: 1.23 $
-
Tcl can read links, but cannot create them. This TIP proposes adding a file link subcommand to allow cross-platform creation of links.
|
Author: | Vince Darley |
Type: | Project |
Tcl Version: | 8.4 |
State: | Final |
Vote: | Done |
Created: | 11 Jun 2002 |
Posting History: | |
|
|
TIP #100: Add Support for Unloading Dynamic Libraries Loaded with [load]
- $Revision: 1.10 $
-
Tcl already provides facilities for loading dynamic libraries, through the load command. However no facilities are currently offered in order to unload dynamic libraries already loaded with the load command. This TIP tries to add support for unloading libraries, by introducing a new Tcl command (unload) and the guidelines that dynamic libraries must follow, in order to be unloadable. Note that the unload command will operate only on libraries that are designed to be unloadable by their developers. This way backward compatibility with older extensions is maintained, as unload will never try to unload libraries unaware of this new functionality.
|
Author: | George Petasis |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 11 Jun 2002 |
Posting History: | |
Discussions To: | comp.lang.tcl |
Keywords: | load, unload, dynamic library |
|
|
TIP #101: Export Tcltest Configuration
- $Revision: 1.4 $
-
Proposes public command tcltest::configure to give programmatic control to processing configuration options of the tcltest package.
|
Author: | Don Porter |
Type: | Project |
Tcl Version: | 8.4 |
State: | Final |
Vote: | Done |
Created: | 11 Jun 2002 |
Posting History: | |
|
|
TIP #102: Change [trace list] to [trace info]
- $Revision: 1.4 $
-
This TIP proposes to change the name of the introspection subcommand of the trace command from list to info.
|
Author: | Reinhard Max |
Type: | Project |
Tcl Version: | 8.4 |
State: | Final |
Vote: | Done |
Created: | 12 Jun 2002 |
Posting History: | |
Keywords: | trace, info, introspection |
|
|
TIP #104: Generalization of the Tk Undo Subsystem
- $Revision: 1.6 $
-
This TIP proposes a reimplementation of the Tk Text widget undo feature. The text widget interface is not affected. No functional changes are made at the Tcl level. The purpose of the reimplementation is to move the undo feature from a text only implementation to a general implementation also usable by other widgets. This opens the door to undoing also tag, mark and other operations, and allows for an exposure of the undo stack at the Tcl level. These new features are however not part of this TIP.
| |
TIP #105: Add Prefix Matching for Switch
- $Revision: 1.4 $
-
This TIP adds a new option to the [switch] command to support matching of strings to unique prefixes of patterns, similar to Tcl's existing subcommand-name matching or Tk's option-name matching.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.5 |
State: | Withdrawn |
Vote: | Pending |
Created: | 03 Jul 2002 |
Posting History: | |
Obsoleted By: | TIP #195 |
|
|
TIP #106: Add Encoding Abilities to the [dde] Command
- $Revision: 1.14 $
-
When using Windows DDE communication with non-Tcl programs, the encoding of the exchanged strings is mostly needed to be the system encoding. Selection of this behaviour should be possible with in the dde command should be done by a parameter.
|
Author: | Harald Oehlmann |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 13 Aug 2002 |
Posting History: | |
|
|
TIP #107: Fix the 2-second "raise delay" in Tk
- $Revision: 1.4 $
-
This TIP explains the genesis of the long delays often associated with the [raise] and [lower] commands under Unix/X with some window managers, as well as describing the solution.
|
Author: | Joe English |
Type: | Project |
Tcl Version: | 8.4 |
State: | Final |
Vote: | Done |
Created: | 28 Aug 2002 |
Posting History: | |
|
|
TIP #108: Summary of Changes to Generic Tcl/Tk Code to Enable Mac OS X Port
- $Revision: 1.2 $
-
The submission of the changes to generic Tcl/Tk necessary for the Mac OS X port was discussed on the Tcl Core mailing list. In light of the very minor changes to shared code involved, and to facilitate including the port in the 8.4 release, it was decided that we would not hold a formal vote. This informational TIP is offered to summarize the work done, however, and to maintain a more complete record.
|
Author: | Jim Ingham |
Type: | Informative |
State: | Final |
Vote: | No voting |
Created: | 29 Aug 2002 |
Posting History: | |
|
|
TIP #111: Dictionary Values and Manipulators
- $Revision: 1.12 $
-
This TIP proposes adding a standard value format (and supporting commands) to Tcl that implements a value-to-value mapping, just as Tcl's list values can be regarded as implementing a number-to-value mapping.
| |
TIP #112: Ensembles are Namespaces are Commands
- $Revision: 2.28 $
-
This TIP proposes unifying the concept of ensembles (from [Incr Tcl]) with namespaces and commands. It also adds control of command rewriting to allow for more efficient support for object systems like Snit.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 10 Oct 2002 |
Posting History: | |
|
|
TIP #113: Multi-Line Searches in the Text Widget
- $Revision: 1.13 $
-
This TIP proposes enhancing the implementation of the $textwidget search subcommand to allow matching of both exact strings and regexp patterns which span multiple lines, and to allow reporting on all matches.
|
Author: | Vince Darley |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 11 Oct 2002 |
Posting History: | |
|
|
TIP #116: More Safety for Large Images
- $Revision: 1.6 $
-
This TIP alters the C API for Tk's images so that failures to allocate sufficient memory for a large image can be handled more gracefully than a straight panic().
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 28 Oct 2002 |
Posting History: | |
|
|
TIP #117: Object Type Introspection
- $Revision: 1.9 $
-
This TIP proposes to add a command to give information on the current internal representation of an object.
|
Author: | Peter Spjuth |
Type: | Project |
Tcl Version: | 8.5 |
State: | Withdrawn |
Vote: | Pending |
Created: | 01 Nov 2002 |
Posting History: | |
Obsoleted By: | TIP #214 |
|
|
TIP #119: Angled Text on a Canvas
- $Revision: 1.8 $
-
The current text object on a canvas does not support the creation of text strings at an arbitrary angle. For some applications this is limitation is sufficiently serious to disqualify Tk from use. This TIP removes this restriction.
| |
TIP #120: Restricted DDE Services
- $Revision: 1.5 $
-
This TIP will enhance the DDE package for use with safe interpreters and allow programmer control of the commands exposed by the DDE service.
|
Author: | Pat Thoyts |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 04 Dec 2002 |
Posting History: | |
|
|
TIP #122: Use tcl_{non,}wordchars Throughout Tcl/Tk
- $Revision: 1.9 $
-
This TIP shall bring flexible management of word and non-word chars to Tcl, to be used throughout the Tcl realm in e.g. [regexp]'s \w \W, Tk's [textwidget], [string] wordstart/wordend etc.
|
Author: | Martin Weber |
| Vince Darley |
Type: | Project |
Tcl Version: | 8.6 |
State: | Rejected |
Vote: | Done |
Created: | 12 Dec 2002 |
Posting History: | |
|
|
TIP #123: Adding an Exponentiation Operator to the [expr] Command
- $Revision: 1.6 $
-
This TIP proposes to add a new operator to the operators recognised by the [expr] command: the exponentiation operator. This operator will enhance the functionality of the current pow() function by returning a result that depends on the type of its operands. It will also make complicated formulae more readable.
|
Author: | Arjen Markus |
| Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 16 Dec 2002 |
Posting History: | |
Keywords: | mathematics, evaluation |
|
|
TIP #126: Rich Strings for Representation Persistence
- $Revision: 1.1 $
-
This TIP enriches the standard UTF-8 string representation of every Tcl_Obj to allow for improved persistence of non-string representations. This, combined with rules for substring and substitution handling, allows the lifetime of an object to correspond far more closely with the more-broadly understood concept of "object lifetime".
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 9.0 |
State: | Draft |
Vote: | Pending |
Created: | 30 Jan 2003 |
Posting History: | |
|
|
TIP #127: Add an -index Option to [lsearch]
- $Revision: 1.13 $
-
Matching the lsort functionality a -index option should be added to the lsearch command to make searching lists in list easier. The lsort -index and the lsearch -index options should accept list style indices like lindex and lset do. This TIP proposes such added options.
|
Author: | Michael Schlenker |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 26 Feb 2003 |
Posting History: | |
|
|
TIP #128: Ability to Install a Custom Memory Allocator
- $Revision: 1.5 $
-
This TIP alters Tcl to allow embedded uses of the Tcl library (and any extensions) to either use the Tcl memory allocators as their main allocator (especially in C++) or to set the memory allocator that Tcl uses for itself through ckalloc().
| |
TIP #129: New Format Codes for the [binary] Command
- $Revision: 1.5 $
-
This TIP proposes to add a set of new format codes to the binary command to enhance its ability to deal with especially non-native floating-point data. The assumption is that current limitations are due to the distinction between little-endian and big-endian storage of such data.
|
Author: | Arjen Markus |
| Torsten Reincke |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 14 Mar 2003 |
Posting History: | |
Keywords: | IEEE, binary data, Tcl |
|
|
TIP #130: Unique DDE server names.
- $Revision: 1.4 $
-
The dde package server registration code should ensure that the server names are unique. The proposed changes will mean end-user visible changes for some scripts.
|
Author: | Pat Thoyts |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 23 Mar 2003 |
Posting History: | |
|
|
TIP #131: Read My Mind and Do What I Mean
- $Revision: 1.2 $
-
A new Tcl command is proposed, rmmadwim. This is an acronym for ``Read My Mind and Do What I Mean''. This command has obvious utility.
|
Author: | Joe English |
Type: | Project |
Tcl Version: | 8.5 |
State: | Draft |
Vote: | No voting |
Created: | 01 Apr 2003 |
Posting History: | |
|
|
TIP #132: Revised Floating-Point Conversions in Tcl
- $Revision: 1.14 $
-
This TIP proposes several changes to the conversion between floating point numbers and character strings. The changes are made to restore the "everything is a string" contract that Tcl implicitly makes; without them, there are observable differences in the behavior of floating point numbers, depending on the state of the internal representation.
|
Author: | Kevin Kenny |
| Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 31 Mar 2003 |
Posting History: | |
Keywords: | floating point, IEEE, precision |
|
|
TIP #133: Extending [expr] Operators
- $Revision: 1.6 $
-
This TIP proposes a way to define new operators for conditions and the expr command. It also includes demonstrations of how it might work in the examples: in tests inclusion in a list, and and, or, and not are aliases for "&&", "||", "!".
|
Author: | Richard Suchenwirth |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 08 Apr 2003 |
Posting History: | |
|
|
TIP #134: Subsystem Per-Thread Data Interfaces
- $Revision: 1.4 $
-
Tcl core subsystems per-thread data is good, because it modularises the core. None of the structures or access keys are exported, which is bad, because it makes modification to these subsystems difficult in a CVS world.
|
Author: | Colin McCormack |
Type: | Project |
Tcl Version: | 8.5 |
State: | Withdrawn |
Vote: | Pending |
Created: | 12 May 2003 |
Posting History: | |
|
|
TIP #136: Large List Initialisation
- $Revision: 1.5 $
-
This TIP proposes the addition of a list initialisation command so that large lists can be easily and efficiently initialised.
|
Author: | Simon Geard |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 25 May 2003 |
Posting History: | |
|
|
TIP #140: Tracing Namespace Modifications
- $Revision: 1.2 $
-
This TIP allows scripts to register callbacks to monitor alterations to namespaces, such as their deletion, the creation, renaming and deletion of commands within the namespace and modifications to the exports list of the namespace.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.5 |
State: | Deferred |
Vote: | Pending |
Created: | 04 Jun 2003 |
Posting History: | |
|
|
TIP #141: Multiple Initial-Files in [tk_getOpenFile]
- $Revision: 1.8 $
-
This TIP proposes modifying the semantics of the -initialfile option when the tk_get*File commands are asked to select multiple files so as to allow several files to be selected initially.
|
Author: | David N. Welton |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 18 Jul 2003 |
Posting History: | |
|
|
TIP #143: An Interpreter Resource Limiting Framework
- $Revision: 1.13 $
-
This TIP introduces a mechanism for creating and manipulating per-interpreter resource limits. This stops several significant classes of denial-of-service attack, and can also be used to do things like guaranteeing an answer within a particular amount of time.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 25 Jul 2003 |
Posting History: | |
|
|
TIP #145: Enhanced Tk Font Handling
- $Revision: 1.10 $
-
TIP #64 suggests some improvements to font handling under windows. However, not all of this TIP appears to have been implemented and I believe this can be done better using the Tk named fonts mechanism.
|
Author: | Pat Thoyts |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 31 Jul 2003 |
Posting History: | |
Obsoletes: | TIP #64 |
|
|
TIP #153: Enhancing the [winfo toplevel] Command
- $Revision: 1.8 $
-
The [winfo toplevel] command returns the Tk toplevel window that encloses the window that's passed as an argument. However, Tk extensions may allow the creation of windows which reside at the top of a window hierarchy, but are not Tk toplevel widgets. If a subwindow of one of these top-of-hierarchy widgets is passed to [winfo toplevel], it returns an empty string, making it impossible to determine what hierarchy the window resides in. This TIP proposes enhancing the [winfo toplevel] command so that it will return the top window in the hierarchy regardless of what type of widget it is.
|
Author: | Neil McKay |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 26 Aug 2003 |
Posting History: | |
|
|
TIP #154: Add Named Colors to Tk
- $Revision: 1.26 $
-
This TIP proposes the addition of a color command at the Tk level to allow developers to create named colors as they can already do with both fonts and images.
|
Author: | Damon Courtney |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 03 Sep 2003 |
Posting History: | |
|
|
TIP #155: Fix Some of the Text Widget's Limitations
- $Revision: 1.23 $
-
Tk's text widget is very powerful, but has a number of known limitations. In particular the entire handling of wrapped lines and 'display/visual entities' versus 'logical entities' is quite limited. The most obvious side-effect of these inadequacies is the 'scrollbar problem' (in which, particularly when there are long wrapped lines in the widget, the vertical scrollbar slider changes in size depending on the number of logical lines currently displayed, see http://mini.net/tcl/896 for example). This TIP overhauls the widget to provide consistent, complete support for 'display lines', 'display indices' and as a consequence smooth, pixel-based scrolling. A few other small bugs/issues have also been resolved.
|
Author: | Vince Darley |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 08 Sep 2003 |
Posting History: | |
|
|
TIP #156: Language-Neutral Root Locale for Msgcat
- $Revision: 1.4 $
-
This TIP proposes to extend Tcl's message catalog mechanism by adding a "root locale" (whose name is the empty string) that is searched after searches in all the language-dependent locales have failed.
|
Author: | Kevin Kenny |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 20 Sep 2003 |
Posting History: | |
Discussions To: | comp.lang.tcl |
|
|
TIP #159: Extending Tk 'wm' Command to Support Coloured Icons
- $Revision: 1.7 $
-
Currently, Tk lacks a mechanism for allowing scripts to place colour icons in the window manager decorations of a toplevel window. Tk supports only the placement of monochrome bitmaps through the wm iconbitmap and wm iconmask commands. This TIP proposes an extension of the wm command with the iconphoto subcommand, which will pass a set of photo images as possible window manager icons.
|
Author: | Georgios Petasis |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 01 Oct 2003 |
Posting History: | |
|
|
TIP #160: Improvements to Terminal and Serial Channel Handling
- $Revision: 1.3 $
-
Terminals and other kinds of serial lines have other capabilities and requirements that are not currently controllable using Tcl. This TIP adds new options to [fconfigure] to allow these advanced capabilities to be supported within Tcl in a straight-forward way.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 17 Oct 2003 |
Posting History: | |
|
|
TIP #162: IPv6 Sockets for Tcl
- $Revision: 1.16 $
-
This TIP is about allowing Tcl to use IPv6 sockets in virtually the same way that you would use the current (IPv4) sockets.
| |
TIP #163: A [dict merge] Subcommand
- $Revision: 1.4 $
-
This TIP proposes a new [dict] subcommand which is used to combine multiple dictionaries.
|
Author: | Joe English |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 14 Nov 2003 |
Posting History: | |
|
|
TIP #165: A User-Data Field for Virtual Events
- $Revision: 1.6 $
-
This TIP proposes adding to virtual events a new field that is not interpreted by Tk. This will make it far easier for user-code to pass information between creators and consumers of events instead of forcing the use of fragile global variables for this purpose.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 17 Nov 2003 |
Posting History: | |
Keywords: | Tk, substitution |
|
|
TIP #166: Reading and Writing the Photo Image Alpha Channel
- $Revision: 1.12 $
-
This TIP describes how to update the image get and image put subcommands so as to allow script-level access to the full alpha channel information that has been present in the photo image data model since Tk 8.3.
|
Author: | Donal K. Fellows |
| Simon Bachmann |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 19 Nov 2003 |
Posting History: | |
Keywords: | Tk, image get, image put |
|
|
TIP #167: Add a New Option for Context Help for Windows
- $Revision: 1.9 $
-
This TIP proposes adding a new option to wm attributes for the Windows version of Tk that offers contextual help in that window. Additionally, a new event type <Help> is defined, that will be delivered when the user picks the Help button in the window and picks over a widget. The event will be also hitted when user presses F1 over one window.
|
Author: | Ramon Ribó |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 19 Nov 2003 |
Posting History: | |
|
|
TIP #168: Cubic Bezier Curves on the Canvas
- $Revision: 1.10 $
-
This document proposes a new -smooth method for line and polygon canvas items that supports cubic Bezier curves and clarifies some of the existing terminology in that area.
|
Author: | Lars Hellström |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 25 Jan 2004 |
Posting History: | |
|
|
TIP #169: Add Peer Text Widgets
- $Revision: 1.15 $
-
This TIP proposes adding a method to the text widget that will create peer text widgets, allowing two or more text widgets to share the same text, tags, and marks.
| |
TIP #170: Better Support for Nested Lists
- $Revision: 1.6 $
-
Nested lists are easy to create with Tcl but then manipulating them is not easy. For example, think about how to change a value nested in a list 2 levels deep? How about 4 levels deep? The proposed new commands make such manipulation easy, and make the nested lists a great replacement for arrays and structures in C-like languages.
| |
TIP #172: Improve UNIX Tk Look and Feel
- $Revision: 1.4 $
-
In the spirit of "worse is better", this TIP proposes a simple way to notably improve Tk's look and feel for the 8.5 release of Tk. It does not fix all the problems, and won't make Tk look like whatever toolkit is "native" on the user's machine (Gtk or Qt), but will at least improve the current situation.
|
Author: | David N. Welton |
Type: | Project |
Tcl Version: | 8.5 |
State: | Withdrawn |
Vote: | No voting |
Created: | 08 Mar 2004 |
Posting History: | |
Obsoleted By: | TIP #248 |
|
|
TIP #173: Internationalisation and Refactoring of the 'clock' Command
- $Revision: 1.22 $
-
The [clock] command provides Tcl's fundamental facilities for computing with dates and times. It has served Tcl faithfully since 7.6, but the computing world has advanced significantly in the decade that it has been in service. This TIP proposes a (nearly entirely compatible) reimplementation of [clock] that will allow for fewer ambiguities on input, improved localisation, more portability, and less exposure of platform-dependent bugs. A significantly greater fraction of [clock] shall be implemented in Tcl than it is today, and the code shall be refactored to use the ensemble mechanism introducted for Tcl 8.5 (see TIP #112).
|
Author: | Kevin Kenny |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 11 Mar 2004 |
Posting History: | |
Discussions To: | comp.lang.tcl |
|
|
TIP #174: Math Operators as Commands
- $Revision: 1.21 $
-
This TIP describes a proposal for math operators in Tcl as separate commands, acting much like the equivalent in the Lisp language. This would make simple usage of mathematics much clearer.
| |
TIP #175: Add an -async Option to [open]
- $Revision: 1.9 $
-
This TIP propose to add an -async option to the [open] command, with identical semantics to the -async option to the [socket] command.
|
Author: | Neil Madden |
Type: | Project |
Tcl Version: | 9.0 |
State: | Withdrawn |
Vote: | Pending |
Created: | 15 Mar 2004 |
Posting History: | |
|
|
TIP #176: Add String Index Values
- $Revision: 1.8 $
-
This TIP proposes extended index formats to be recognized by TclGetIntForIndex, supporting simple index arithmetic for string and list indices.
| |
TIP #180: Add a Megawidget Support Core Package
- $Revision: 1.5 $
-
This TIP proposes the addition of a "megawidget" package to Tk as a core package which contains a set of functions useful for building megawidgets with standard script-level behaviour in Tk.
|
Author: | Damon Courtney |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 22 Mar 2003 |
Posting History: | |
Keywords: | Tk |
|
|
TIP #181: Add a [namespace unknown] Command
- $Revision: 1.33 $
-
This TIP proposing adding a new namespace subcommand, unknown, which would register a per-namespace procedure for dealing with unknown commands.
|
Author: | Neil Madden |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 23 Mar 2004 |
Posting History: | |
|
|
TIP #183: Add a Binary Flag to [open]
- $Revision: 1.10 $
-
To handle binary files, one currently has to open the file, and then in a second step fconfigure it with -translation binary. This TIP proposes to add a flag "b" to open's access-argument to set initial translation to binary (rather than auto).
|
Author: | Andreas Leitgeb |
| Don Porter |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 24 Mar 2004 |
Posting History: | |
Keywords: | Tcl |
|
|
TIP #184: Avoid Creating Unusable Variables
- $Revision: 1.4 $
-
Both upvar and global can create unreachable variables: scalar variables whose name looks like an array element, e.g., a(b). This behaviour is documented in the upvar manpage. This TIP proposes that both upvar and global raise errors instead of creating such variables.
|
Author: | Miguel Sofer |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 27 Mar 2004 |
Posting History: | |
Keywords: | Tcl, upvar, global |
|
|
TIP #185: Null Handling
- $Revision: 1.8 $
-
Tcl lacks the ability to handle nulls, data with missing or unknown values. In this TIP I suggest a means for representing and propagating nulls, and command modifications for manipulating them.
|
Author: | John H. Harris |
Type: | Project |
Tcl Version: | 8.6 |
State: | Rejected |
Vote: | Done |
Created: | 08 Apr 2004 |
Posting History: | |
Keywords: | Tcl, absent value |
|
|
TIP #187: Procedures as Values
- $Revision: 1.14 $
-
This TIP describes a change in the semantics of Tcl to allow procedures to be first class values, being represented as strings, and in particular as three element lists.
| |
TIP #189: Tcl Modules
- $Revision: 1.13 $
-
This document describes a new mechanism for the handling of packages by the Tcl Core which differs from the existing system in important details and makes different trade-offs with regard to flexibility of package declarations and to access to the filesystem. This mechanism is called "Tcl Modules".
| |
TIP #190: Implementation Choices for Tcl Modules
- $Revision: 1.3 $
-
This document is an informational adjunct to TIP #189 "Tcl Modules", describing a number of choices for the implementation of Tcl Modules, pure-Tcl, binary, or mixed. It lists these choices and then discusses their relative merits and problems, especially their interaction with wrapping, i.e. when used in a wrapped application. The main point of the document is to dispel the illusion that the restriction to the "source" command for the loading Tcl Modules is an actual limitation. A secondary point is to make recommendations regarding preferred implementations, based the merits and weaknesses of the various possibilities.
| |
TIP #192: Lazy Lists
- $Revision: 1.2 $
-
This TIP proposes to add a new command to generate lists of N elements, where the i-th element is computed as the result of an unary Tcl procedure with i as itsargument. Implementing special handling for this kind of lists inside the Tcl core will allow generation of lists in a lazy way. This TIP's goal is not to change the semantics of Tcl, but just to provide a different space complexity for an (often interesting) subset of Tcl lists.
| |
TIP #193: Simple Syntax Help System
- $Revision: 1.3 $
-
This TIP proposes a simple scheme to allow commands to provide basic syntax help for themselves. This information would allow for more advanced processing by programs doing interactive input of Tcl commands (by providing a mechanism for them to discover what possible completions of the current command fragment are available) and could be processed automatically by the interp alias and namespace ensemble mechanisms so that help could be automatically extended to commands defined through those mechanisms.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 29 Apr 2004 |
Posting History: | |
Keywords: | Tcl |
|
|
TIP #194: Procedures as Values via '''apply'''
- $Revision: 1.6 $
-
This TIP proposes a new command, tentatively named apply, to allow procedures to be first class values. It is an alternative to the approach of TIP #187, where attaining a similar goal requires a syntactic and semantic change.
|
Author: | Miguel Sofer |
| Joe Mistachkin |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 30 Apr 2004 |
Posting History: | |
Keywords: | Tcl, lambda, anonymous, command, function, functional programming |
|
|
TIP #195: A Unique Prefix Handling Command
- $Revision: 1.18 $
-
This TIP adds a new command to support matching of strings to unique prefixes of patterns, similar to Tcl's existing subcommand-name matching or Tk's option-name matching.
| |
TIP #196: Tcl Commands as Values
- $Revision: 1.2 $
-
This TIP proposes making command procedures first-class values in Tcl. It also changes the command binding scheme to recognize these values before performing old-style name lookup indirection.
|
Author: | Robert Suetterlin |
Type: | Project |
Tcl Version: | 8.5 |
State: | Withdrawn |
Vote: | Pending |
Created: | 11 May 2004 |
Posting History: | |
|
|
TIP #198: Image Command XPM Extension
- $Revision: 1.6 $
-
This TIP proposes an extension to the Tk image command to incorporate color pixmap images based on the XPM format. The format is analogous to the bitmap option (tkImgBmap.c in the Tk source).
| |
TIP #199: Specification of Alternatives to .wishrc/.tclshrc
- $Revision: 1.8 $
-
This TIP describes an extension of the command-line options to the "wish" and "tclsh" programs to allow the startup script to be redirected from the default ~/.wishrc (or ~/.tclshrc) to an alternative file.
|
Author: | R. Timothy Edwards |
| Don Porter |
Type: | Project |
Tcl Version: | 8.6 |
State: | Rejected |
Vote: | Done |
Created: | 12 May 2004 |
Posting History: | |
Keywords: | Tcl, Tk, shell, interactive |
|
|
TIP #201: Add 'in' Operator to [expr]
- $Revision: 1.5 $
-
This TIP proposes new expr operators "in" and "ni" that simplifies the standard "does this item exist in list" lsearch case in expressions, with "ni" being "not in".
|
Author: | Jeff Hobbs |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 21 May 2004 |
Posting History: | |
Keywords: | Tk, list membership, sets |
|
|
TIP #202: Add 2>@1 Special Case to [open] and [exec]
- $Revision: 1.4 $
-
This TIP proposes adding a new redirection case '2>@1' that redirects the error channel to the output channel in open and exec. This would only be valid at the end of a pipeline.
|
Author: | Jeff Hobbs |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 19 May 2004 |
Posting History: | |
Keywords: | Tcl, redirection |
|
|
TIP #203: Create tclConfig.sh-Equivalent in Tcl
- $Revision: 1.11 $
-
This proposal requires the registration of information about the built process, currently stored in tclConfig.sh, by means of the Tcl_RegisterConfig mechanism set out in [Tip 59].
| |
TIP #204: Virtual Events for Keyboard Traversal
- $Revision: 1.5 $
-
Proposes using two new virtual events, <<TraverseIn>> and <<TraverseOut>>, to notify widgets of keyboard navigation events.
|
Author: | Joe English |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 21 Jun 2004 |
Posting History: | |
|
|
TIP #208: Add a 'chan' Command
- $Revision: 1.8 $
-
This TIP proposes adding a chan command that would serve as a top-level command container for all the related channel commands that have proliferated over time, as well as future new channel-based commands.
|
Author: | Jeff Hobbs |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 02 Jul 2004 |
Posting History: | |
Obsoletes: | TIP #206 |
Keywords: | Tcl |
|
|
TIP #210: Add 'tempfile' Subcommand to 'file'
- $Revision: 1.11 $
-
Programmers often need to create temporary files. This TIP proposes adding the new subcommand tempfile to the file command, simplifying programmer effort in creating a unique temporary file name.
|
Author: | Bob Techentin |
| Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 19 Jul 2004 |
Posting History: | |
Keywords: | Tcl, filename |
|
|
TIP #211: Add Full Stack Trace Capability
- $Revision: 1.6 $
-
This TIP proposes adding a new subcommand to the info command to get a list of all the frames on the current stack, rather than the limited list returned by info level.
| |
TIP #212: Temporarily Opening out a Dictionary
- $Revision: 1.9 $
-
This TIP proposes a new subcommand of dict that associates variables with dictionary entries while a Tcl script (the "body" of the command) runs.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 11 Aug 2004 |
Posting History: | |
Keywords: | tcl, dict, update, script |
|
|
TIP #213: A Standard Dialog for Font Selection
- $Revision: 1.7 $
-
This TIP proposes a new command that pops up a dialog box that allows the selection of a font. Where possible, this dialog will be implemented using the host platform's standard dialogs.
| |
TIP #216: Handling Command-Line Options in Tclsh and Wish
- $Revision: 1.5 $
-
Currently there is no means to add new command-line options to the standard Tcl shells, tclsh and wish, that can be handled at the script level. This hampers the development of, for instance, a scripted debugger or tracing tool, because the shell must be called with an awkward command line (stating the location of the script file implementing the facility). This TIP proposes a simple mechanism so that a command line like "tclsh -debug myprog.tcl" is possible. The new mechanism relies on the existing package mechanism and a few conventions. It can be implemented for the most part in Tcl.
|
Author: | Arjen Markus |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 23 Aug 2004 |
Posting History: | |
Keywords: | Tcl, debugging, argument, shell |
|
|
TIP #217: Getting Sorted Indices out of Lsort
- $Revision: 1.20 $
-
An -indices option is proposed for the lsort command, returning the indices of the given list's elements in the order that they would have otherwise been sorted.
|
Author: | James P. Salsman |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 26 Aug 2004 |
Posting History: | |
Keywords: | Tcl, lsort, parallel lists |
|
|
TIP #218: Tcl Channel Driver Thread State Actions
- $Revision: 1.10 $
-
This document specifies a modification of the public definition of channel drivers for the Tcl I/O system to fix a bug in the transfer of channels between threads affecting all drivers requiring thread-specific initialization. The targets for the change are Tcl 8.4.x (note that this is an API change to a release) and Tcl 8.5.
| |
TIP #219: Tcl Channel Reflection API
- $Revision: 1.27 $
-
This document describes an API which reflects the Channel Driver API of the core I/O system up into the Tcl level, for the implementation of channel types in Tcl. It is built on top of TIP #208 ('Add a chan command') and also an independent companion to TIP #230 ('Tcl Channel Transformation Reflection API') and TIP #228 ('Tcl Filesystem Reflection API'). As the later TIPs bring the ability of writing channel transformations and filesystems in Tcl itself into the core so this TIP provides the facilities for the implementation of new channel types in Tcl. This document specifies version 1 of the channel reflection API.
| |
TIP #220: Escalate Privileges in VFS Close Callback
- $Revision: 1.18 $
-
This tip allows the creator and opener of a channel to cast away privileges and have them restored on close, to permit last-minute processing. It is sufficient to resolve a tclvfs bug, minimal, and safe.
| |
TIP #223: Full-Screen Toplevel Support for Tk
- $Revision: 1.6 $
-
Tk lacks an optimal method for creating a full-screen toplevel. A full-screen toplevel is one that has no borders and a client drawing area that covers the entire screen. On some UNIX systems, one can create a normal toplevel that is a little larger than size of the screen and place the upper left corner of the client drawing area at at (0,0). This option is not available under Windows as the position and dimensions of normal windows are constrained to keep them from covering up the start menu and task bar. Under Windows, a zoomed toplevel with the overrideredirect flag set avoids this size restriction and displays with no borders, both desirable properties. Unfortunately, setting the overrideredirect flag also keeps an icon for the toplevel from being displayed in the task bar and in the programs list accessed via Alt-Tab. There are also some UNIX systems that restrict the placement of a normal toplevel window. For example, the default window manager for the KDE desktop restricts size and placement of a normal toplevel in much the same way as Windows. This TIP and its associated patch implement full-screen functionality that also displays an icon in the taskbar and is accessible via Alt-Tab. The implementation adds a new -fullscreen option to the wm attributes subcommand.
|
Author: | Mo DeJong |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 21 Sep 2004 |
Posting History: | |
|
|
TIP #224: Add New [array] Subcommands 'incr' and 'value'
- $Revision: 1.12 $
-
The TIP proposes the addition to two new subcommands to the array command: incr and value. The 'incr subcommand would increment an element in an array. The value subcommand would query, reference, and/or initialize an array element.
| |
TIP #225: Arithmetic Series with Optimized Space Complexity
- $Revision: 1.14 $
-
This TIP proposes to add a new command to generate arithmetic sequences as Tcl lists that may be stored in constant space in many practical situations. The only change from the point of view of the Tcl programmer is the addition of a new command named range.
| |
TIP #226: Interface to Save and Restore Interpreter State
- $Revision: 1.5 $
-
This TIP proposes new public C routines to allow the dynamic state of an interp, including the return options, and error logging in progress as well as the interp result, to be saved and later restored.
|
Author: | Don Porter |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 30 Oct 2004 |
Posting History: | |
Keywords: | Tcl |
|
|
TIP #228: Tcl Filesystem Reflection API
- $Revision: 1.10 $
-
This document describes an API which reflects the Filesystem Driver API of the core Virtual Filesystem Layer up into the Tcl level, for the implementation of filesystems in Tcl. It is an independent companion to TIP #219 ('Tcl Channel Reflection API') and TIP #230 ('Tcl Channel Transformation Reflection API'). As the latter TIPs bring the ability of writing channel drivers and transformations in Tcl itself into the core so this TIP provides the facilities for the implementation of filesystems in Tcl. This document specifies version 1 of the filesystem reflection API.
| |
TIP #230: Tcl Channel Transformation Reflection API
- $Revision: 1.17 $
-
This document describes an API which reflects the Channel Transformation API of the core I/O system up into the Tcl level, for the implementation of channel transformations in Tcl. It is built on top of TIP #208 ('Add a chan command') and also an independent companion to TIP #219 ('Tcl Channel Reflection API') and TIP #228 ('Tcl Filesystem Reflection API'). As the latter TIPs bring the ability of writing channel drivers and filesystems in Tcl itself so this TIP provides the facilities for the implementation of new channel transformations in Tcl. This document specifies version 1 of the transformation reflection API.
| |
TIP #231: Support for [wm attributes] on X11
- $Revision: 1.7 $
-
This TIP adds three UNIX/X11-specific attributes to the wm attributes command to take advantage of features newer Unix window manager control standards.
|
Author: | Joe English |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 06 Nov 2004 |
Posting History: | |
|
|
TIP #232: Creating New Math Functions for the 'expr' Command
- $Revision: 1.11 $
-
This TIP proposes to replace Tcl's math functions, ordinarily created using the Tcl_CreateMathFunc() function, with ordinary Tcl commands created in a known namespace, ::tcl::mathfunc. This change has two chief motivations: it allows programmers to define new math functions at the Tcl level, and it encapsulates the Tcl_Value API so that new math functions can work on data types that are not described adequately as Tcl_Value objects.
|
Author: | Arjen Markus |
| Kevin Kenny |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 26 Nov 2004 |
Posting History: | |
Keywords: | math, expr, Tcl |
|
|
TIP #233: Virtualization of Tcl's Sense of Time
- $Revision: 1.6 $
-
This document describes a number of changes to internal and public APIs which allows external code to hook into the routines through which the Tcl core computes time-dependent information, and to override them. Through this the external code can manipulate Tcl's sense of time.
| |
TIP #234: Add Support For Zlib Compression
- $Revision: 1.21 $
-
This TIP proposes a new core package with commands to handle compression and decompression using the Zlib compression library.
|
Author: | Pascal Scheffers |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 08 Dec 2004 |
Posting History: | |
Keywords: | Tcl, zip, gzip, deflate |
|
|
TIP #236: Absolute Positioning of Canvas Items
- $Revision: 1.10 $
-
This TIP proposes adding a canvas widget command to set the absolute position of canvas items.
|
Author: | Neil McKay |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 25 Dec 2004 |
Posting History: | |
Keywords: | Tk, anchor, place |
|
|
TIP #238: Fire Event when Widget Created
- $Revision: 1.7 $
-
This TIP arranged for a new virtual event to be fired every time a widget is created. This allows class bindings to automatically discover new widget instances and act on their creation.
|
Author: | Gerald W. Lester |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 25 Jan 2005 |
Posting History: | |
Keywords: | Tk |
|
|
TIP #239: Enhance the 'load' Command
- $Revision: 1.12 $
-
This TIP proposes enhancing the Tcl load command with the ability to load arbitrary libraries and functions.
|
Author: | Jeff Hobbs |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 26 Jan 2005 |
Posting History: | |
|
|
TIP #242: Preselect Filter on tk_get*File Dialogs
- $Revision: 1.8 $
-
This TIP proposes adding an -typevariable option to the tk_getOpenFile and tk_getSaveFile dialog box commands. This option will preselect the filter from the -filetypes list based on the type name.
|
Author: | Brian Griffin |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 03 Mar 2005 |
Posting History: | |
|
|
TIP #244: PNG Photo Image Support for Tk
- $Revision: 1.7 $
-
Tk's photo image type has had support for alpha channels internally since version 8.3. However, to date there is no photo format in the core that exposes this functionality. This TIP proposes adding support for the PNG (Portable Network Graphics) format.
| |
TIP #245: Discover User Inactivity Time
- $Revision: 1.12 $
-
This TIP proposes a new subcommand, inactive, to the tk command, as well as Tk_GetUserInactiveTime and Tk_ResetUserInactiveTime C functions to discover the number of milliseconds the user has been inactive and reset that timer to zero respectively. For most environments, this is the time since the user last used the keyboard or mouse.
| |
TIP #246: Unify Pattern Matching
- $Revision: 1.5 $
-
Many Tcl commands take arguments that are patterns to match against. Some of these commands allow options to specify whether the pattern should be treated as a literal, a glob pattern, or a regular expression, and whether or not matching should be case sensitive. This TIP proposes a unique set of options for all commands that accept pattern arguments.
|
Author: | Reinhard Max |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 27 Apr 2005 |
Posting History: | |
Keywords: | pattern, match, glob, exact, regexp, case sensitive, Tcl |
|
|
TIP #247: Tcl/Tk Engineering Manual
- $Revision: 1.9 $
-
This document describes the set of conventions used for writing C code to go into the Tcl and Tk core. It is also recommended that extensions be written in the same style for clarity.
| |
TIP #249: Unification of Tcl's Parsing of Numbers
- $Revision: 1.9 $
-
This TIP proposes to unify the recognition of all of Tcl's "numeric" objects into a single parser. The intended effect is to improve performance by eliminating a number of cases where a cached numeric representation may be discarded, and to restore (more accurately, to establish) the "everything is a string" principle in dealing with numbers.
| |
TIP #251: Enhance the 'list' Command
- $Revision: 1.14 $
-
This TIP proposes enhancing the existing list command to serve as a top-level command ensemble for all the related list commands that have proliferated over time, as well as making it easier to add future new list-based commands.
| |
TIP #252: Add New 'string' Command Options
- $Revision: 1.4 $
-
This TIP proposes moving several existing string-related commands to be options in the existing top-level string command.
|
Author: | Brian Schmidt |
Type: | Project |
Tcl Version: | 8.6 |
State: | Rejected |
Vote: | Done |
Created: | 28 Jun 2005 |
Posting History: | |
|
|
TIP #253: Consolidate Package-Related Commands
- $Revision: 1.6 $
-
This TIP proposes enhancing the existing package command with additional subcommands to serve as the top-level command container for the existing pkg::create and pkg_mkIndex commands.
|
Author: | Brian Schmidt |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 05 Jul 2005 |
Posting History: | |
|
|
TIP #254: New Types for Tcl_LinkVar
- $Revision: 1.6 $
-
Currently only a limited set of types of C variable may be linked to using Tcl_LinkVar. This TIP proposes extending this to cover all the basic numeric C types.
|
Author: | Rene Meyer |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 21 Jul 2005 |
Posting History: | |
|
|
TIP #256: Implement Tabular and Wordprocessor Style Tabbing
- $Revision: 1.15 $
-
There are two common style of tabbing in the computer world: that used for a regular table of information, and that used by a word-processor/text editor. This TIP proposes to add support for the latter to Tk's text widget.
|
Author: | Vince Darley |
| Vince Darley |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 12 Aug 2005 |
Posting History: | |
|
|
TIP #257: Object Orientation for Tcl
- $Revision: 1.31 $
-
This TIP proposes adding OO support to the Tcl core, semantically inspired by XOTcl. The commands it defines will be in the ::oo namespace, which is not used by any current mainstream OO system, and it will be designed specifically to allow other object systems to be built on top.
| |
TIP #258: Enhanced Interface for Encodings
- $Revision: 1.4 $
-
This TIP proposes public C routines and a new encoding dirs subcommand to improve the interfaces to Tcl's encodings.
|
Author: | Don Porter |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 01 Oct 2005 |
Posting History: | |
Keywords: | encoding |
|
|
TIP #259: Making 'exec' Optionally Binary Safe
- $Revision: 1.4 $
-
A new option shall be added to the command exec, that allows the user to specify that input redirected from immediate data (using <<) and/or the data received from the external command shall not undergo any translation within Tcl.
|
Author: | Andreas Leitgeb |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 12 Dec 2005 |
Posting History: | |
|
|
TIP #263: Quantum Tcl
- $Revision: 1.2 $
-
A new Tcl command qubit is proposed. This command makes it possible to handle quantum information in the form of qubits.
|
Author: | Lars Hellström |
Type: | Project |
Tcl Version: | 9.2 |
State: | Draft |
Vote: | Pending |
Created: | 01 Apr 2006 |
Posting History: | |
|
|
TIP #265: A Convenient C-side Command Option Parser for Tcl
- $Revision: 1.7 $
-
The Tk C library provides developers with a Tk_ParseArgv() function that allows command line parsing of options of the "-option" form. Archived discussions on news:comp.lang.tcl and on the Wiki indicate that a desire for similar functionality without Tk has arisen several times in the past. This TIP presents a Tk-free implementation of Tk_ParseArgv() named Tcl_ParseArgvObj, that developers can use to parse "-option" style command options in C implementations of Tcl commands using the Tcl_Obj interface.
|
Author: | Sam Bromley |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 03 Apr 2006 |
Posting History: | |
Keywords: | Command line parsing, C implementation |
|
|
TIP #266: Numbers are Commands
- $Revision: 1.8 $
-
This TIP describes a change to Tcl's command dispatch which would allow every number to act as a command.
| |
TIP #267: Allow 'exec' to Ignore Stderr
- $Revision: 1.4 $
-
Currently the exec command will always fail if the process writes to standard error. Since various applications use stderr for debug output it would be useful to retain this output without having to resort to redirecting stderr to stdout (which can cause interleaving).
|
Author: | Nathan Bell |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 25 Apr 2006 |
Posting History: | |
|
|
TIP #268: Enhance 'package' Version Handling
- $Revision: 1.12 $
-
This TIP proposes enhancing the Tcl package command to understand version numbers containing "a", and "b" and extend the semantics of package require to allow multiple requirements and various types of ranges of versions.
| |
TIP #269: Add 'string is list' to the 'string is' Subcommand
- $Revision: 1.7 $
-
The string command supports tests for a number of Tcl's basic types, for example, integers, doubles, and booleans. This TIP proposes adding lists to the set of things that can be checked for.
|
Author: | Joe Mistachkin |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 19 May 2006 |
Posting History: | |
Keywords: | Tcl, lists, strings |
|
|
TIP #273: Add Tcl_Expr... Support to Tcl_Get... Functions
- $Revision: 1.5 $
-
This TIP proposes adding Tcl_Expr... calls to Tcl_Get... functions, supporting direct use of expressions for arguments to commands that is defined as int, long, wide-int, double or boolean.
|
Author: | Carsten Gosvig |
Type: | Project |
Tcl Version: | 8.5 |
State: | Rejected |
Vote: | Done |
Created: | 30 Aug 2006 |
Posting History: | |
Obsoletes: | TIP #176 |
|
|
TIP #276: Specify and Unify Variable Linking Commands
- $Revision: 1.20 $
-
The purpose of this TIP is to simplify and clarify the semantics of the commands in Tcl that couple variables in different scopes together.
|
Author: | Miguel Sofer |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 01 Oct 2006 |
Posting History: | |
Keywords: | Tcl, global, variable, upvar, namespace upvar |
|
|
TIP #277: Create Namespaces as Needed
- $Revision: 1.3 $
-
This TIP proposes that namespaces be created automatically whenever a script tries to create a command, variable or child namespace in it.
|
Author: | Miguel Sofer |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 01 Oct 2006 |
Posting History: | |
|
|
TIP #278: Fix Variable Name Resolution Quirks
- $Revision: 1.18 $
-
This TIP proposes to fix the behaviour for variable name resolution, modelling it on the resolution for namespace names instead of the current command name resolution.
| |
TIP #279: Adding an Extensible Object System to the Core
- $Revision: 1.10 $
-
This TIP proposes adding OO support to the Tcl core, consisting mostly of a dispatcher plus a small number of helper commands. The TIP allows the coexistence of multiple object systems by providing a common framework, the Tcl Minimal Object System (TMOS). The framework will contain, as well, a small, basic oriented language (Tcl Core Object Oriented Language, TclCOOL) to make it usable in the core without any extensions. All defined commands of the minimal object system are defined in the ::oo namespace, which is not used by any current mainstream OO system. It has been designed specifically to allow a relatively simple re-implementation of the known object systems.
| |
TIP #280: Add Full Stack Trace Capability With Location Introspection
- $Revision: 1.13 $
-
This TIP proposes adding a new subcommand to the info command to get a list of all the frames on the current stack, with additional information about command location, type of execution, etc., rather than the limited list returned by info level. It is also related to Peter MacDonald's TIP #86, or rather, to the info linenum feature proposed there. The base feature of providing location information for a command was extended, allowing the user to ask for the current location in all stack levels. Enough information is returned to consider this as an extended TIP #211.
| |
TIP #281: Improvements in System Error Handling
- $Revision: 1.7 $
-
This TIP describes the need for better error codes and message handling of system errors to be returned to scripts.
|
Author: | David Gravereaux |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 08 Oct 2006 |
Posting History: | |
Keywords: | POSIX, channel driver, errorCode |
|
|
TIP #282: Enhanced Expression Syntax
- $Revision: 1.4 $
-
This TIP extends the syntax of the expr command to allow a sequence of mathematical computations to be expressed clearly and concisely.
|
Author: | Will Duquette |
| Don Porter |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 13 Oct 2006 |
Posting History: | |
Keywords: | expr, operator, assignment |
|
|
TIP #286: Add 'xposition' Command to Menu Widgets
- $Revision: 1.4 $
-
There has been a yposition subcommand for menu widgets for years, but its counterpart in the x-direction does not currently exist. This TIP intends to rectify that situation.
|
Author: | Schelte Bron |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 18 Oct 2006 |
Posting History: | |
Keywords: | Tk |
|
|
TIP #287: Add a Commands for Determining Size of Buffered Data
- $Revision: 1.12 $
-
Many network servers programmed in Tcl (including the venerable tclhttpd) are vulnerable to DoS (denial of service) attacks because they lack any way to introspect the amount of buffered data on a non-blocking socket that is in line buffering mode. This TIP proposes a new subcommand to chan to allow the amount of buffered input and buffered output (for symmetry) to be inspected from Tcl.
|
Author: | Michael A. Cleverly |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 26 Oct 2006 |
Posting History: | |
Keywords: | Tcl, channel, chan, pendinginput, pendingoutput |
|
|
TIP #291: Add the 'platform' Package to Tcl
- $Revision: 1.9 $
-
This TIP proposes adding the platform package to the Tcl core sources and to install it automatically, similar to what is currently done with the tcltest package.
|
Author: | Steve Landers |
| Andreas Kupries |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 26 Oct 2006 |
Posting History: | |
Keywords: | Tcl, Critcl, TEApot |
|
|
TIP #295: Enhance Arguments to lrange
- $Revision: 1.7 $
-
This TIP proposes an enhancement to lrange and string range that lets them take more than one start-end index pair.
|
Author: | Andreas Leitgeb |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 06 Nov 2006 |
Posting History: | |
Keywords: | Tcl, lrange |
|
|
TIP #296: Enhanced Syntax for Pair-Wise Indices
- $Revision: 1.7 $
-
This TIP proposes adding another anchor s (for usage exclusively in end-indices) that refers to the respective start-index.
|
Author: | Andreas Leitgeb |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 06 Nov 2006 |
Posting History: | |
Keywords: | Tcl, lrange, lreplace |
|
|
TIP #297: Integer Type Introspection and Conversion
- $Revision: 1.3 $
-
This TIP proposes changes to complete the set of commands to test and convert among Tcl's integer types.
|
Author: | Don Porter |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 20 Nov 2006 |
Posting History: | |
Keywords: | Tcl, number, expression |
|
|
TIP #299: Add isqrt() Math Function
- $Revision: 1.3 $
-
This TIP proposes a new expr math function isqrt().
|
Author: | Kevin B. Kenny |
Type: | Project |
Tcl Version: | 8.5 |
State: | Final |
Vote: | Done |
Created: | 24 Nov 2006 |
Posting History: | |
Keywords: | Tcl, expression, integer, square root |
|
|
TIP #301: Split Bidirectional Channels For Half-Close
- $Revision: 1.2 $
-
This TIP proposes to introduce a chan split command allowing to access both sides of a bidirectional channel (r+ pipe, or socket) as separate Tcl channels, in order to be able to close them separately. This would give Tcl the same level of control that the OS enjoys on the lifetime of such bidirectional connections.
|
Author: | Alexandre Ferrieux |
Type: | Project |
Tcl Version: | 8.6 |
State: | Withdrawn |
Vote: | Pending |
Created: | 11 Dec 2006 |
Posting History: | |
Obsoleted By: | TIP #332 |
|
|
TIP #302: Fix "after"'s Sensitivity To Adjustments Of System Clock
- $Revision: 1.3 $
-
Currently, after tasks can be drastically delayed or sped up simply by adjusting the system clock. This is due to the implementation's use of an absolute target date based on the system clock. The idea of this TIP is to use another timebase for this purpose: the count of ticks from boot, which is not affected by system time adjustments.
|
Author: | Alexandre Ferrieux |
| Kevin Kenny |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 13 Dec 2006 |
Posting History: | |
Keywords: | Tcl, time changes |
|
|
TIP #303: Enhance 'llength' Command to Support Nested Lists
- $Revision: 1.3 $
-
The command llength currently returns the length of a list. Sometimes it is desirable to know the length of a nested list. This TIP proposes an improvement to llength to do that.
|
Author: | Wolf-Dieter Busch |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 29 Jan 2007 |
Posting History: | |
Keywords: | Tcl, lindex |
|
|
TIP #304: A Standalone [chan pipe] Primitive for Advanced Child IPC
- $Revision: 1.15 $
-
Currently, it is not easy to get both (separate) dataflows from the stdout and stderr of a child. BLT's bgexec does this in an extension, and could be added to the core. But the point of this TIP is to show that a much smaller code addition can provide a lower-level primitive with much more potential than bgexec's: a standalone pipe creation tool like TclX's pipe command.
|
Author: | Alexandre Ferrieux |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 07 Feb 2007 |
Posting History: | |
Keywords: | Tcl, exec, process, subprocess, pipeline, channel |
|
|
TIP #305: ANSI Escape Sequence Support for Windows's Console Channel Driver
- $Revision: 1.4 $
-
The console channel driver for windows (win/tclWinConsole.c) could support colors, cursor movement, and scrolling by embedding such commands in the stream to the console in the age-old tradition of ANSI_X3.64-1979 escapes. By filtering-out such commands in the DriverOutputProc and doing the command actions, greater cross-platform support is enabled to other platforms (such as Linux) that have ANSI support.
|
Author: | David Gravereaux |
Type: | Project |
Tcl Version: | 8.5 |
State: | Withdrawn |
Vote: | Pending |
Created: | 21 Feb 2007 |
Posting History: | |
Discussions To: | comp.lang.tcl |
|
|
TIP #306: Auto-Naming Widgets
- $Revision: 1.11 $
-
A Tk programmer must give every widget a unique name. This is often quite annoying, especially for widgets whose name is stored in a variable (which also must be given a name). This TIP proposes a small extension to generate automatic names for widgets.
|
Author: | Koen Danckaert |
| Richard Suchenwirth |
Type: | Project |
Tcl Version: | 8.6 |
State: | Rejected |
Vote: | Done |
Created: | 11 Jun 2007 |
Posting History: | |
Keywords: | automatic, Tk, widget, naming |
|
|
TIP #307: Make TclTransferResult() Public
- $Revision: 1.7 $
-
This TIP proposes to make the existing function TclTransferResult() part of the public interface.
|
Author: | Erik Leunissen |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 28 Sep 2007 |
Posting History: | |
Keywords: | Tcl, result, transfer, interpreter, API rename |
|
|
TIP #309: Expose the Expression Parsing
- $Revision: 1.2 $
-
This TIP proposes a new command to expose the parsing of expressions by the expr command. This will make it much easier to implement alternative number systems, such as complex numbers, or to implement symbolic algebra.
|
Author: | Arjen Markus |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 07 Jan 2008 |
Posting History: | |
Keywords: | expr, parse |
|
|
TIP #310: Add a New Pseudo-Random Number Generator
- $Revision: 1.3 $
-
This TIP proposes to add a new expr function: a random number generator with a longer sequence than the one currently in the core.
|
Author: | Arjen Markus |
Type: | Project |
Tcl Version: | 8.6 |
State: | Rejected |
Vote: | Done |
Created: | 07 Jan 2008 |
Posting History: | |
Keywords: | expr |
|
|
TIP #312: Add More Link Types
- $Revision: 1.9 $
-
This TIP proposes adding a command, Tcl_LinkArray, to allow linking of C variables to Tcl lists. It also adds more types of linked variable.
|
Author: | Rene Zaumseil |
| Larry W. Virden |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 26 Jan 2008 |
Posting History: | |
Keywords: | variable, trace |
|
|
TIP #313: Inexact Searching in Sorted List
- $Revision: 1.14 $
-
This TIP adds a new switch to lsearch to do a binary search to find the insertion point in a sorted list.
|
Author: | Peter Spjuth |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 14 Feb 2008 |
Posting History: | |
Keywords: | Tcl |
|
|
TIP #314: Ensembles with Parameters
- $Revision: 1.5 $
-
This TIP proposes that namespace ensemble commands are generalised so that they may have arguments before the subcommand name.
|
Author: | Lars Hellström |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 26 Feb 2008 |
Posting History: | |
|
|
TIP #315: Add pathSeparator to tcl_platform Array
- $Revision: 1.5 $
-
This TIP proposes a mechanism for determining the platform's path separator. The path separator is currently ":" in Unix and ";" in DOS/Windows.
|
Author: | Hai Vu |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 04 Apr 2008 |
Posting History: | |
|
|
TIP #316: Portable Access Functions for Stat Buffers
- $Revision: 1.4 $
-
Tcl exposes the definition of the struct stat type to users of its C API, but this can vary between builds. This TIP proposes a set of portable functions for reading (portable) fields out of those structures so that code does not need to match the API version when reading the fields (the most common case by far).
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 02 May 2008 |
Posting History: | |
|
|
TIP #317: Extend binary Ensemble with Binary Encodings
- $Revision: 1.5 $
-
This TIP extends the binary command with implementations in C of commonly used binary encodings. In particular the base64 encoding is implemented but the Tcl ensemble scheme TIP #112 can be used to provide simple extension of the implemented formats.
|
Author: | Pat Thoyts |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 03 May 2008 |
Posting History: | |
Keywords: | base64, uuencode, hex, transfer encoding |
|
|
TIP #318: Extend Default Whitespace in 'string trim' Beyond ASCII
- $Revision: 1.5 $
-
This TIP extends the string trim, string trimleft, and string trimright subcommands to function properly with non-roman writing systems by adding non-ASCII space characters to the default list of characters to be trimmed.
|
Author: | Bill Poser |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 13 May 2008 |
Posting History: | |
|
|
TIP #319: Implement Backwards Compatibility for ttk Themed Widgets in tk Widgets
- $Revision: 1.4 $
-
This TIP calls for the implementation of backward compatibility between ttk themed widgets and conventional tk widgets. It does this by describing configuration options that specify how to deal with unsupported options (error, ignore, or call supplied callbacks) where full compatibility is not feasible. Configuration should be both global (all widgets) and specific (by class or individual widget).
|
Author: | Eric Taylor |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 04 Jun 2008 |
Posting History: | |
|
|
TIP #321: Add a [tk busy] Command
- $Revision: 1.6 $
-
The blt::busy commands can be used to make Tk widget busy, with all user interaction blocked and the cursor can be changed to e.g. a clock. This TIP proposes to add this useful feature to Tk.
|
Author: | Jos Decoster |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 26 Jun 2008 |
Posting History: | |
Keywords: | Tk, BLT, busy |
|
|
TIP #322: Publish the NRE API
- $Revision: 1.9 $
-
This TIP exposes an API to allow extension writers to take advantage of Tcl's Non-Recursive evaluation Engine.
|
Author: | Miguel Sofer |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 13 Jul 2008 |
Posting History: | |
|
|
TIP #323: Do Nothing Gracefully
- $Revision: 1.6 $
-
A number of Tcl's built-in commands currently raise errors when given arguments that would cause them to do nothing. This proposal asks that they instead simply do nothing gracefully.
| |
TIP #324: A Standard Dialog For Font Selection
- $Revision: 1.7 $
-
This TIP proposes the addition of a font selection dialog to the set of common dialogs already available in Tk. Where possible, this dialog will be implemented using the host platform's standard dialogs.
| |
TIP #325: System Tray Access
- $Revision: 1.2 $
-
Modern operating systems have a "system tray", where programs may place an icon to indicate program status. This TIP proposes that Tk should adopt some existing code in order to permit cross platform access to this functionality.
|
Author: | David N. Welton |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 25 Aug 2008 |
Posting History: | |
Keywords: | Tk, desktop integration |
|
|
TIP #326: Add -stride Option to lsort
- $Revision: 1.5 $
-
This TIP adds a new option, -stride, to lsort to request that a list be treated as consisting of repeated groups of elements (as opposed to sublists), and that the the groups be sorted according to a chosen element within each group.
|
Author: | Kieran Elby |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 01 Sep 2008 |
Posting History: | |
Keywords: | Tcl, lsort, sorting |
|
|
TIP #328: Coroutines
- $Revision: 1.6 $
-
This TIP recommends adding a coroutine mechanism to Tcl, loosely modelled on those present in Lua.
|
Author: | Miguel Sofer |
| Neil Madden |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 07 Sep 2008 |
Posting History: | |
Keywords: | Coroutine, continuation, event-loop, NRE |
|
|
TIP #329: Try/Catch/Finally syntax
- $Revision: 1.9 $
-
This TIP proposes the addition of new core commands to improve the exception handling mechanism. It supercedes TIP #89 by providing support for the error options dictionary introduced in Tcl 8.5 by TIP #90.
| |
TIP #332: Half-Close for Bidirectional Channels
- $Revision: 1.6 $
-
This TIP proposes to extend the close/chan close commands to let them perform an unidirectional "half-close" on bidirectional channels.
|
Author: | Alexandre Ferrieux |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 25 Sep 2008 |
Posting History: | |
Obsoletes: | TIP #301 |
Keywords: | Tcl, channel, close, socket, shutdown |
|
|
TIP #333: New Variable and Namespace Resolving Interface
- $Revision: 1.4 $
-
This is a TIP to allow easy command and variable resolving for itcl-ng, but is not restricted to itcl-ng. It should be possible for an application to drive the rules for command and variable lookup using the interface described below. This TIP should allow to get rid of namespace and interpreter resolvers for itcl-ng.
|
Author: | Arnulf Wiedemann |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 13 Oct 2008 |
Posting History: | |
Keywords: | Tcl, resolution |
|
|
TIP #335: An API for Detecting Active Interpreters
- $Revision: 1.8 $
-
This TIP introduces the ability to quickly and safely decide whether a Tcl script is evaluating in an interpreter, allowing an external system to determine whether it is safe to delete that interpreter.
|
Author: | Joe Mistachkin |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 13 Oct 2008 |
Posting History: | |
Keywords: | numLevels, embedding, terminate, async, thread, safe, gc |
|
|
TIP #336: Supported Access To interp->errorline
- $Revision: 1.4 $
-
This TIP proposes a supported public interface to set and get the value of the errorLine field of the Tcl_Interp data structure.
|
Author: | Don Porter |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 21 Oct 2008 |
Posting History: | |
|
|
TIP #337: Make TclBackgroundException() Public
- $Revision: 1.6 $
-
This TIP proposes to make the TclBackgroundException routine available in the public interface so that extensions may notify Tcl about all return codes that occur during background operations.
|
Author: | Don Porter |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 21 Oct 2008 |
Posting History: | |
|
|
TIP #338: Embedder Access to Startup Scripts of *_Main()
- $Revision: 1.4 $
-
This TIP proposes to make public the routines that get and set the startup script file that Tcl_Main or Tk_Main evaluate in their non-interactive modes.
|
Author: | Don Porter |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 22 Oct 2008 |
Posting History: | |
Keywords: | Tcl, Tk, tclsh, wish |
|
|
TIP #339: Case-Insensitive Package Names
- $Revision: 1.8 $
-
This document proposes to change the package management facilities of the Tcl core to handle package names in a case-insensitive manner, switching back to case-sensitive operation if and only if explicitly requested by the user. The case of package names is preserved in the storage however.
|
Author: | Andreas Kupries |
Type: | Project |
Tcl Version: | 8.6 |
State: | Rejected |
Vote: | Done |
Created: | 14 Nov 2008 |
Posting History: | |
|
|
TIP #340: Const Qualification of Tcl_SetResult's Argument
- $Revision: 1.8 $
-
As a follow-up of TIP #27, in Tcl 8.6 and Tk 8.6 much work has been done to clean up the remaining places where pointers were not const qualified. The question is, how can we prevent that in the future similar "mistakes" are made. The gcc compiler warning -Wwrite-strings helps in that, therefore this TIP proposes to add that to the CFLAGS_WARNING flag in Tcl and Tk when using gcc. But for this flag to be introduced, all warnings will have to be eliminated. In the HEAD, this is done already, except for one function: Tcl_SetResult. This function is explicitely mentioned in TIP #27 not to be modified, because it cannot be handled without unsafe casting. This TIP proposes to deprecate Tcl_SetResult in full, and provide a new macro Tcl_SetStringResult in its place.
|
Author: | Jan Nijtmans |
Type: | Project |
Tcl Version: | 8.7 |
State: | Withdrawn |
Vote: | Pending |
Created: | 14 Nov 2008 |
Posting History: | |
Keywords: | Tcl_SetResult |
|
|
TIP #341: Multiple 'dict filter' Patterns
- $Revision: 1.5 $
-
The key and value forms of dict filter are generalised to allow an arbitrary number of patterns.
|
Author: | Lars Hellström |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 27 Nov 2008 |
Posting History: | |
Keywords: | Tcl, set intersection |
|
|
TIP #342: Dict Get With Default
- $Revision: 1.3 $
-
A new subcommand of dict is proposed, which returns a dictionary value if it exists and returns a per-call default otherwise.
|
Author: | Lars Hellström |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 27 Nov 2008 |
Posting History: | |
Keywords: | dictionary, default value |
|
|
TIP #343: A Binary Specifier for [format/scan]
- $Revision: 1.3 $
-
This TIP proposes to add a %b specifier to the format and scan commands for working with integers in base-2 representation.
|
Author: | Alexandre Ferrieux |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 03 Dec 2008 |
Posting History: | |
Keywords: | Tcl, binary |
|
|
TIP #345: Kill the 'identity' Encoding
- $Revision: 1.2 $
-
This TIP proposes to remove the 'identity' encoding which is the Pandora's Box of invalid UTF-8 string representations.
|
Author: | Alexandre Ferrieux |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 05 Feb 2009 |
Posting History: | |
Keywords: | Tcl, encoding, invalid UTF-8 |
|
|
TIP #346: Error on Failed String Encodings
- $Revision: 1.2 $
-
This TIP proposes to raise an error when an encoding-based conversion loses information.
|
Author: | Alexandre Ferrieux |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 02 Feb 2009 |
Posting History: | |
Keywords: | Tcl, encoding, convertto, strict, Unicode, String, ByteArray |
|
|
TIP #347: Align 'string is ...' to Type-Conversion Functions in 'expr'
- $Revision: 1.8 $
-
The string command supports tests for a number of Tcl's basic types, for example, integers, doubles, and booleans. The tcl::mathfunc mathematical functions provides sevaral functions to limit the number of bits used in integer numbers. This TIP proposes to align both groups of functions for int, long, wide and entier.
|
Author: | Jos Decoster |
Type: | Project |
Tcl Version: | 8.7 |
State: | Withdrawn |
Vote: | Pending |
Created: | 09 Feb 2009 |
Posting History: | |
Discussions To: | comp.lang.tcl |
Obsoleted By: | TIP #395 |
Keywords: | Tcl |
|
|
TIP #348: Substituted 'errorstack' / 'traceback'
- $Revision: 1.17 $
-
This TIP proposes to add an errorstack options dict entry and associated info subcommand, giving a "substituted" traceback similar to Python's or gdb's ones.
|
Author: | Alexandre Ferrieux |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 26 Feb 2009 |
Posting History: | |
Keywords: | Tcl, debugging |
|
|
TIP #349: New "-cargo" option for every Tk widget
- $Revision: 1.1 $
-
This TIP proposes adding a -cargo option to every Tk widget that will be kept free for code that uses the widget to use as it sees fit; the Tk library will assign no interpretation to the option.
|
Author: | Zbigniew Baniewski |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 17 Apr 2009 |
Posting History: | |
|
|
TIP #350: Tcl Database Connectivity - Corrigenda
- $Revision: 1.1 $
-
This TIP defines a common database access interface for Tcl scripts. It is an update to TIP #308 to take into account experience gained since that TIP was written. Note that this TIP does not repeat the contents of that one, which is mostly correct apart from the changes described in this document.
|
Author: | Kevin B. Kenny |
Type: | Informative |
State: | Draft |
Vote: | Pending |
Created: | 18 Apr 2009 |
Posting History: | |
Obsoletes: | TIP #308 |
|
|
TIP #352: Tcl Style Guide
- $Revision: 1.5 $
-
This document describes a set of conventions that it is suggested people use when writing Tcl code. It is substantially based on the Tcl/Tk Engineering Manual TIP #247.
| |
TIP #353: NR-enabled Expressions for Extensions
- $Revision: 1.7 $
-
This TIP proposes the new public routine Tcl_NRExprObj to provide extension commands that evaluate Tcl expressions the ability to do so in a non-recursive manner.
|
Author: | Don Porter |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 29 Jul 2009 |
Posting History: | |
|
|
TIP #355: Stop Fast Recycling of Channel Names on Unix
- $Revision: 1.1 $
-
This TIP proposes to put an end to the unix-specific habit of naming channels after the underlying file descriptor, by using a much longer-lived incremented counter instead.
|
Author: | Alexandre Ferrieux |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 01 Sep 2009 |
Posting History: | |
|
|
TIP #356: NR-enabled Substitutions for Extensions
- $Revision: 1.4 $
-
This TIP proposes the new public routine Tcl_NRSubstObj to provide extension commands that evaluate Tcl substitutions the ability to do so in a non-recursive manner.
|
Author: | Don Porter |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 17 Sep 2009 |
Posting History: | |
Keywords: | Tcl, C API, subst |
|
|
TIP #357: Export TclLoadFile
- $Revision: 1.14 $
-
This TIP proposes to promote the internal calls, TclLoadFile and TclpFindSymbol to the external API, making them available to C extensions. In addition, it proposes to introduce a Tcl_FSUnloadFile to the VFS layer, removing the weird duplicate client data from TclLoadFile and wrapping all necessary data into the Tcl_LoadHandle
|
Author: | Kevin Kenny |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 01 Oct 2009 |
Posting History: | |
|
|
TIP #358: Suppress Empty List Element Generation from the Split Command
- $Revision: 1.2 $
-
The split command will create empty list elements when adjacent split characters are found in the input. In some cases these empty list elements are not desired, so this TIP proposes a new switch to disable their generation.
|
Author: | George Petasis |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 04 Oct 2009 |
Posting History: | |
Keywords: | Tcl, list extraction, parsing |
|
|
TIP #359: Extended Window Manager Hint Support
- $Revision: 1.7 $
-
The wm attributes command will be extended to accept a -type option when running on the X Window system to manipulate the extended window manager hints for Tk toplevel windows.
|
Author: | Pat Thoyts |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 21 Dec 2009 |
Posting History: | |
Keywords: | Tk, X11, ewmh, window manager |
|
|
TIP #360: Modernize X11 Menus
- $Revision: 1.5 $
-
This TIP proposes to modernize the functionality of the Tk menus on X11 to bring Tk up to date with reference to other toolkits on this platform.
|
Author: | Pat Thoyts |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 24 Dec 2009 |
Posting History: | |
Keywords: | Tk, X11, menu |
|
|
TIP #361: Releasing Channel Buffers
- $Revision: 1.3 $
-
Tcl should provide a mechanism by which a channel's output buffer can be released without requiring that Tcl flush any remaining data in the buffer to the operating system. This is of particular interest with output mechanisms which can block indefinitely causing the interpreter to consume unnecessary resources or prevent the interpreter from exiting.
|
Author: | Wayne Cuddy |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 03 Feb 2010 |
Posting History: | |
|
|
TIP #363: Vector Math in the Tcl Core
- $Revision: 1.1 $
-
The "expand" operator - {*} - was adopted in Tcl 8.5 and is very useful for simplifying code involving lists. It is proposed to add this operator to the list of actions performed during processing of double-quote ("), joining the $, [, and \, and to modify the behavior of $ in variable substitution. The proposed behavior will break existing substitution, but a trivial quoted-string substitution restores original behavior with the new approach. The proposed approach will enable eventual incorporation of vector-math to the Tcl engine without changing any of the existing syntax.
|
Author: | Karl C. Hansen |
Type: | Project |
Tcl Version: | 9.0 |
State: | Draft |
Vote: | Pending |
Created: | 02 Mar 2010 |
Posting History: | |
Keywords: | expand, {*}, vector, math |
|
|
TIP #364: Threading Support: Configuration and Package
- $Revision: 1.4 $
-
This TIP changes the the default configuration for building to threaded on all platforms where this is not already the case (primarily Unix other than MacOS X) and adds the Thread package to the set of packages included by default.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 19 Mar 2010 |
Posting History: | |
Keywords: | Tcl |
|
|
TIP #365: Add Python Compatibility Mode
- $Revision: 1.2 $
-
This TIP adds support for reading and evaluating code written in Python to the tclsh interpreter.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.6 |
State: | Draft |
Vote: | No voting |
Created: | 01 Apr 2010 |
Posting History: | |
Keywords: | Look at the date |
|
|
TIP #367: A Command to Remove Elements from a List
- $Revision: 1.1 $
-
This TIP proposes a command, lremove, that takes a list value and a collection of indices, and returns a list that is the input list with the elements at those indices removed.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 18 May 2010 |
Posting History: | |
Keywords: | Tcl, delete, item |
|
|
TIP #369: Widget cargo command
- $Revision: 1.7 $
-
This TIP is to add a cargo subcommand to widgets for storing data in a data dictionary. This TIP is related to TIP #349.
|
Author: | Russell Davidson |
| Trevor Davel |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 15 Jul 2010 |
Posting History: | |
Keywords: | Tk, user-defined data, dictionary |
|
|
TIP #370: Extend Tk's selection with a -time option
- $Revision: 1.3 $
-
This TIP proposes the addition of a new argument to the Tk command selection, for specifying a timestamp that should be used in order to retrieve a selection.
|
Author: | George Petasis |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 04 Aug 2010 |
Posting History: | |
|
|
TIP #371: Improvements for the dict command
- $Revision: 1.3 $
-
The dict command is limited by allowing manipulation of only the first level of key elements. Not only should the dict get accept a nested key list, but also the other commands like dict replace.
| |
TIP #374: Stackless Vwait
- $Revision: 1.5 $
-
This TIP proposes a way to have multiple procedures waiting for an event to happen, where the command that gets executed depends on the order of the events.
| |
TIP #375: Symmetric Coroutines and Yieldto
- $Revision: 1.3 $
-
The new command yieldto allows a coroutine to suspend its execution and tailcall into an arbitrary command. If the new command is another coroutine's resume command we obtain symmetric coroutines.
|
Author: | Miguel Sofer |
Type: | Project |
Tcl Version: | 8.6 |
State: | Draft |
Vote: | Done |
Created: | 12 Aug 2010 |
Posting History: | |
Obsoletes: | TIP #373 |
Obsoleted By: | TIP #396 |
Keywords: | coroutine, yield |
|
|
TIP #379: Add a Command for Delivering Events Without Tk
- $Revision: 1.9 $
-
This proposal defines the hook ensemble command, which implements the Subject/Observer pattern. It allows subjects, which may be modules, objects, widgets, and so forth, to synchronously call hooks which may be bound to an arbitrary number of subscribers, called observers. A subject may call any number of distinct hooks, and any number of observers can bind callbacks to a particular hook called by a particular subject. Hook bindings can be queried and deleted.
|
Author: | Will Duquette |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 17 Oct 2010 |
Posting History: | |
Keywords: | event |
|
|
TIP #380: TclOO Slots for Flexible Declarations
- $Revision: 1.5 $
-
This TIP proposes a system that enables a more flexible system of handling all declarations relating to classes and objects that resolve to control over a list of things. This system, which will use TclOO to configure itself, will enable the scripting of additional mechanisms for manipulating declarations and will also include a change to the default behavior of the filter and variable declarations, where the standard "replace everything" behavior was found to be non-obvious in practice. In order to enable this, the exact behavior of the unknown method mechanism will be slightly varied.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 20 Oct 2010 |
Posting History: | |
|
|
TIP #381: Call Chain Introspection and Control
- $Revision: 1.9 $
-
This TIP proposes mechanisms for inspecting the TclOO call chain for a particular method, both externally via info and from within a call to that method. It also proposes a mechanism that will allow the traversal of the call chain in a more controlled way than at present with the next command.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 20 Oct 2010 |
Posting History: | |
Keywords: | TclOO, iTcl |
|
|
TIP #382: Let tk_getSaveFile ignore file overwrites
- $Revision: 1.6 $
-
This document describes new option for tk_getSaveFile named -confirmoverwrite to control whether a warning dialog is displayed when selecting an existing file for overwriting.
|
Author: | Pawel Salawa |
| Don Porter |
Type: | Project |
Tcl Version: | 8.5.11 |
State: | Final |
Vote: | Done |
Created: | 02 Nov 2010 |
Posting History: | |
Keywords: | Tk, dialog |
|
|
TIP #385: Functional Traces On Variables
- $Revision: 1.6 $
-
Functional traces are new variants of variable traces, that rely purely on value passing rather than variable updating. Applied to array traces, they allow a much more efficient implementation of various storage backends.
|
Author: | Alexandre Ferrieux |
Type: | Project |
Tcl Version: | 9.0 |
State: | Draft |
Vote: | Pending |
Created: | 13 Feb 2011 |
Posting History: | |
Keywords: | Tcl, traces |
|
|
TIP #387: Unified Yield Command Syntax
- $Revision: 1.7 $
-
This document describes the syntax of a unified yield command, which is designed so that it can combine all features of the various yield-related commands proposed during 2010.
|
Author: | Lars Hellström |
Type: | Project |
Tcl Version: | 8.6 |
State: | Withdrawn |
Vote: | Pending |
Created: | 30 May 2011 |
Posting History: | |
Obsoleted By: | TIP #396 |
Keywords: | Tcl, coroutine |
|
|
TIP #390: A Logging API for Tcl
- $Revision: 1.1 $
-
This TIP proposes a standard API for logging in Tcl applications, both at the Tcl and C level.
|
Author: | Jeff Rogers |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 27 Oct 2011 |
Posting History: | |
|
|
TIP #392: Allow Bignums to be Disabled at Runtime on a Per-Interp Basis
- $Revision: 1.1 $
-
This TIP proposes the ability to enable or disable all use of bignums at runtime on a per-interpreter basis. The mechanism being presented to accomplish this goal has been designed to be generic enough so that it can be used for other per-interpreter configuration parameters in the future.
|
Author: | Joe Mistachkin |
Type: | Project |
Tcl Version: | 8.5 |
State: | Draft |
Vote: | Pending |
Created: | 30 Oct 2011 |
Posting History: | |
Keywords: | bignum, runaway, safe, math, precision, integer, tcl |
|
|
TIP #393: Add -command Option to lsearch
- $Revision: 1.2 $
-
This document describes new option for lsearch named -command that lets the developer define a custom comparision algorithm for searching for an element of a list.
|
Author: | Pawel Salawa |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 25 Apr 2011 |
Posting History: | |
|
|
TIP #395: New 'string is entier' Command
- $Revision: 1.5 $
-
The string is command supports tests for a number of Tcl's basic types, for example, integers, doubles, and booleans. One common case is missing: checking if a value is an integer number without particular storage width, unlike string is integer and string is wideinteger. This document proposes to augment the string is command with a string is entier.
|
Author: | Jos Decoster |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 13 Dec 2011 |
Posting History: | |
Discussions To: | comp.lang.tcl |
Obsoletes: | TIP #347 |
Keywords: | Tcl |
|
|
TIP #396: Symmetric Coroutines, Multiple Args, and yieldto
- $Revision: 1.8 $
-
A new command, yieldto, is proposed that allows a corouting to suspend its execution and tailcall into an arbitrary command. If the new command is another coroutine's resume command, we obtain symmetric coroutines. If the new command is the return command, we obtain the ability for a coroutine to present an unusual status (e.g., error, break, continue or return) to its caller. The yieldto command also marshals the arguments as a list when the yielding coroutine is next invoked, allowing for the transmission of multiple arguments.
|
Author: | Kevin Kenny |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 11 Feb 2012 |
Posting History: | |
Obsoletes: | TIP #372 |
Keywords: | coroutine, yield, yieldto |
|
|
TIP #397: Extensible Object Copying
- $Revision: 1.4 $
-
This TIP proposes a mechanism whereby an object or class can provide additional control over how it gets copied to a new one by the oo::copy command.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 13 Feb 2012 |
Posting History: | |
Keywords: | Tcl, TclOO, copy, clone |
|
|
TIP #398: Quickly Exit with Non-Blocking Blocked Channels
- $Revision: 1.7 $
-
This TIP reverts an age-old documented behavior that is useless, and the ill effects of which cannot be circumvented: Tcl's insistence on flushing even non-blocking channels on exit.
|
Author: | Alexandre Ferrieux |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 24 Feb 2012 |
Posting History: | |
Keywords: | close, exit, flush, blocking, nonblocking |
|
|
TIP #400: Setting the Compression Dictionary and Other 'zlib' Updates
- $Revision: 1.7 $
-
Sometimes it is necessary to set the compression dictionary so that a sequence of bytes may be compressed more efficiently (and decompressed as well). This TIP exposes that functionality. It also reduces the number of inconsistencies in the zlib command.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 30 Mar 2012 |
Posting History: | |
Keywords: | Tcl, zlib |
|
|
TIP #401: Comment Words with Leading {#}
- $Revision: 1.5 $
-
The basic syntax rules of Tcl (the "dodekalogue") are modified to allow words that are comments. In analogy with the argument expansion {*}, such comment words will begin with {#} (left brace, hash sign, right brace). The change concerns both words in scripts and, more importantly, words in lists.
|
Author: | Lars Hellström |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 29 Apr 2012 |
Posting History: | |
|
|
TIP #402: General Platform UNC Support
- $Revision: 1.2 $
-
Both Windows and Cygwin interpret paths starting with // as a special prefix, indicating that the path has the form: //server/share/file_path. Windows has built-in handling of such paths built-in. UNIX doesn't have this. It could be implemented through a VFS extension, but there is one problem: File normalization on UNIX collapes multiple slashes into a single slash, so this would convert the UNC path into a normal path. This makes it impossible to implement a VFS extension which uses // as prefix, implementing connection to a Samba server using the UNC path format.
|
Author: | Jan Nijtmans |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 16 Jul 2011 |
Posting History: | |
Discussions To: | Tcl Core list |
Keywords: | Tcl |
|
|
TIP #403: Web Colors for Tk
- $Revision: 1.3 $
-
This TIP proposes some modifications in the RGB values of various colors as used in Tk, bringing those colors more in line with various W3C standards.
|
Author: | Jan Nijtmans |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 17 Jul 2011 |
Posting History: | |
Discussions To: | Tcl Core list |
Keywords: | Tk |
|
|
TIP #405: Add Collecting Loops, the 'lmap' and 'dict map' Commands
- $Revision: 1.10 $
-
The lmap command is a collecting loop with the semantics of foreach. When the loop begins an accumulator is set to an empty list. In any iteration where the body of the loop completes normally, the result of the body is appended to the accumulator list. The return value for lmap is the contents of the accumulator. The dict map command is an equivalent collecting loop with the semantics based off dict for.
|
Author: | Trevor Davel |
| Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.6 |
State: | Final |
Vote: | Done |
Created: | 31 Jul 2012 |
Posting History: | |
Keywords: | Tcl, mapeach, loop, accumulator |
|
|
TIP #406: "C" is for Cookie
- $Revision: 1.4 $
-
The "http" package needs cookie support, especially to support complex modern web authentication protocols. This TIP defines a pluggable interface and a TclOO class that implements that interface so that Tcl programmers can control just what is shared and stored, and where.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.6 |
State: | Draft |
Vote: | Pending |
Created: | 01 Aug 2012 |
Posting History: | |
|
|
TIP #409: UDP in Tcl
- $Revision: 1.19 $
-
This TIP adds support for UDP in Tcl, with a pure event approach to packet reception (as opposed to hijacking the existing channel infrastructure).
| |
TIP #410: Three Features of scan Adapted for binary scan/format
- $Revision: 1.2 $
-
This proposal specifies three new features for binary scan and binary format that already exist similarly for scan, namely: # for consuming a count-value from the parameter list (like "scan %*"), p for writing current position to a consumed parameter variable (like "scan %n") and returning a single parsed value if no parameter is left.
|
Author: | Andreas Leitgeb |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 26 Aug 2012 |
Posting History: | |
|
|
TIP #411: Improved Channel Introspection via "chan info"
- $Revision: 1.4 $
-
This document describes new subcommand for chan, chan info, that provides a unified interface to deeper introspection of information about a particular channel.
|
Author: | Pawel Salawa |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 31 Aug 2012 |
Posting History: | |
|
|
TIP #415: Enable Easy Creation of Circular Arc Segments
- $Revision: 1.11 $
-
Creating a segment of a circular arc is unnecessarily difficult using the canvas arc. This TIP proposes a simple extension of the syntax to support the creation of circular arc segments in a natural way. A similar extension to support the more general elliptical arc segments is outside the scope of this TIP.
|
Author: | Simon Geard |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 16 Oct 2012 |
Posting History: | |
Keywords: | Tk |
|
|
TIP #417: Use Explicit Option Names for "file tempfile"
- $Revision: 1.1 $
-
This TIP proposes altering the way in which optional arguments are specified to file tempfile (see TIP #210) to make them easier to understand and extend in the future.
|
Author: | Christophe Curis |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 16 Nov 2012 |
Posting History: | |
Keywords: | Tcl, future expansion, extensibility |
|
|
TIP #420: 'vexpr', a Vector Expression Command
- $Revision: 1.6 $
-
This TIP proposes to add a new command to Tcl for manipulating vectors and related mathematical objects. The command, vexpr, will provide C-optimized implementations of generally useful scalar, 2D, 3D and affine transforms. vexpr is a complement to expr, and expects to take in vector arguments and return vector results.
| |
TIP #422: Don't Use stdarg.h/va_list in Public API
- $Revision: 1.1 $
-
This TIP proposes to remove all functions which use the va_list type from the public API, and it describes what extensions using this should do to make their extension portable on the mingw-w64 gcc compiler on the AMD64 platform.
|
Author: | Jan Nijtmans |
Type: | Project |
Tcl Version: | 9.0 |
State: | Draft |
Vote: | Pending |
Created: | 02 Jan 2013 |
Posting History: | |
Keywords: | Tcl, API removal, varargs |
|
|
TIP #423: Formatting Timestamps with Milliseconds
- $Revision: 1.1 $
-
This TIP describes a change to clock format to allow it to handle timestamps with sub-second accuracy.
|
Author: | Thomas Perschak |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 07 Jun 2013 |
Posting History: | |
Keywords: | Tcl, time, millisecond resolution |
|
|
TIP #424: Improving [exec]
- $Revision: 1.8 $
-
This extension overcomes day-1 limitations of [exec]'s syntax, allowing for unconstrained arguments to commands, and opening the path to more exotic redirections.
|
Author: | Alexandre Ferrieux |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 07 Jul 2013 |
Posting History: | |
Keywords: | Tcl, subprocess, execution |
|
|
TIP #425: Internationalization of Default Panic Callback on Windows
- $Revision: 1.6 $
-
The default panic proc on Windows console applications writes the message in UTF-8 to stderr. Unfortunately, the Windows console normally does not have UTF-8 as code page but some single-byte code page like CP1252. When using characters outside the ASCII range, that does not give the expected output in the console. This TIP proposes to add a new Console panic proc to the stub library, and modify the Tcl_Main() macro to use it.
|
Author: | Jan Nijtmans |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 17 Jul 2013 |
Posting History: | |
Keywords: | Tcl, platform integration, i18n |
|
|
TIP #426: Determining the "Type" of Commands
- $Revision: 1.2 $
-
This TIP describes a mechanism for determining what "type" of command a particular command is. This can be used as a prelude to performing other kinds of introspection, such as using info body, namespace origin or interp alias.
|
Author: | Donal K. Fellows |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 31 Jul 2013 |
Posting History: | |
Keywords: | introspection, commands, Tcl, Tk |
|
|
TIP #427: Introspection of Asynchronous Socket Connection
- $Revision: 1.13 $
-
This TIP describes a method to introspect the asynchronous connection process by an extension of the fconfigure interface in addition to fconfigure -error. This will enable better control over the asynchronous connection process, even in cases where the event loop is not in use.
| |
TIP #428: Produce Error Dictionary from 'fconfigure -error'
- $Revision: 1.26 $
-
This TIP proposes a new method which allows to return the error message and the error code of a background socket error (as reported by fconfigure -error), similar to the option dictionaries produced by catch and try and consumed by return.
|
Author: | Harald Oehlmann |
| Harald Oehlmann |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 16 Mar 2014 |
Posting History: | |
Keywords: | socket, non-blocking, error reporting, option dictionary |
|
|
TIP #431: Add 'tempdir' Subcommand to 'file'
- $Revision: 1.2 $
-
This TIP proposes adding a new tempdir subcommand to the file command, simplifying the effort required in creating uniquely named temporary directories at the scripting level.
|
Author: | Kevin Pasko |
Type: | Project |
Tcl Version: | 8.6.4 |
State: | Draft |
Vote: | Pending |
Created: | 10 Sep 2014 |
Posting History: | |
Keywords: | Tcl, directory, file |
|
|
TIP #433: Add %M binding substitution
- $Revision: 1.7 $
-
This TIP proposes one new binding substitution, %M, to access the number of script-based binding patterns matched so far for the event.
| |
TIP #434: Specify Event Sources for 'vwait'
- $Revision: 1.1 $
-
This TIP proposes to extend the vwait Tcl command so the event sources can be specified, as is possible with the Tcl_DoOneEvent C command.
|
Author: | Jos Decoster |
Type: | Project |
Tcl Version: | 8.6 |
State: | Draft |
Vote: | Pending |
Created: | 26 Feb 2015 |
Posting History: | |
|
|
TIP #436: Improve TclOO isa Introspection
- $Revision: 1.3 $
-
The various info object isa introspectors should not produce errors when given a non-object; the set membership tests should simply return boolean false in those cases.
|
Author: | Donal Fellows |
Type: | Project |
Tcl Version: | 8.6.5 |
State: | Final |
Vote: | Done |
Created: | 30 Jun 2015 |
Posting History: | |
|
|
TIP #437: Tk panedwindow options for proxy window
- $Revision: 1.5 $
-
The proxy window (i.e., the moving sash) of the Tk paned window widget is hard to see in some circumstances. This TIP adds three options allowing more control over the display of the proxy so that its visibility can be enhanced where required.
| |
TIP #438: Ensure Line Metrics are Up-to-Date
- $Revision: 1.16 $
-
The text widget calculates line metrics asynchronously, for performance reasons. Because of this, some commands of the text widget may return wrong results if the asynchronous calculations are not over. This TIP is about providing the user with ways to ensure that line metrics are up-to-date.
|
Author: | François Vogel |
| Jan Nijtmans |
Type: | Project |
Tcl Version: | 8.6.5 |
State: | Final |
Vote: | Done |
Created: | 01 Nov 2015 |
Posting History: | |
Keywords: | Tk, text |
|
|
TIP #439: Semantic Versioning
- $Revision: 1.8 $
-
The version schema used by Tcl and Tk has the form MAJOR.MINOR.PATCH, which is the same schema used by "Semantic Versioning" [6]. For alpha and beta releases the schema is MAJOR.MINORaPATCH resp MAJOR.MINORbPATCH, which is not following the "Semantic Versioning" rules, but it's close. This TIP proposes to start using "Semantic Versioning" for Tcl and Tk, starting with Tcl/Tk 8.7, without making it mandatory for extensions and Tcl modules: existing extensions and modules written for Tcl/Tk 8.6 or lower must cooperate unmodified with later 8.x versions as well.
|
Author: | Jan Nijtmans |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 08 Dec 2015 |
Posting History: | |
|
|
TIP #441: Add -justify Configuration Option to the listbox Widget
- $Revision: 1.3 $
-
Despite the listbox widget already having numerous configuration options, some users need more refinements and have requested the possibility to control the justification of the text displayed in the items of the listbox. This TIP proposes to add this option.
|
Author: | François Vogel |
| François Vogel |
Type: | Project |
Tcl Version: | 8.6.5 |
State: | Final |
Vote: | Done |
Created: | 18 Jan 2016 |
Posting History: | |
Keywords: | Tk, listbox |
|
|
TIP #442: Display text in progressbars
- $Revision: 1.11 $
-
Horizontal progress bars should support the ability to display text inside the progress bar. Buttons should allow justification of multiline texts.
| |
TIP #443: More Tag Configuration Options for the Text Widget
- $Revision: 1.9 $
-
Despite the text widget already has numerous configuration options, some users need more refinements and have requested new tag configuration options. This TIP proposes to add these options, when deemed relevant.
|
Author: | François Vogel |
Type: | Project |
Tcl Version: | 8.6.6 |
State: | Final |
Vote: | Done |
Created: | 09 Feb 2016 |
Posting History: | |
Keywords: | Tk |
|
|
TIP #444: Add "weekdays" unit in clock add
- $Revision: 1.6 $
-
This TIP proposes an enhancement to the clock add command to support performing days arithmetic using weekdays only.
|
Author: | Pietro Cerutti |
Type: | Project |
Tcl Version: | 8.7 |
State: | Final |
Vote: | Done |
Created: | 23 Feb 2016 |
Posting History: | |
|
|
TIP #445: Tcl_ObjType Utility Routines
- $Revision: 1.7 $
-
Proposes additional public routines useful for extensions that implement custom 'Tcl_ObjTypes.
|
Author: | Don Porter |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 18 Mar 2016 |
Posting History: | |
|
|
TIP #446: Introspect Undo/Redo Stack Depths
- $Revision: 1.9 $
-
Tk features a generic undo/redo mechanism (see TIP #104). This is used in practice by the text widget, within the edit command. The present TIP proposes to add two new subcommands to the edit command allowing the user to know whether undo and redo is possible for a text widget.
|
Author: | François Vogel |
Type: | Project |
Tcl Version: | 8.6.6 |
State: | Final |
Vote: | Done |
Created: | 05 Apr 2016 |
Posting History: | |
Keywords: | Tk |
|
|
TIP #447: Execution Time Verbosity Levels in tcltest::configure
- $Revision: 1.6 $
-
The -verbose option of the tcltest::configure command accepts a set of verbosity levels to specify what pieces of information about tests the user wants reported. This TIP proposes the addition of two new verbosity levels to report information about the execution time of tests.
|
Author: | Pietro Cerutti |
Type: | Project |
Tcl Version: | 8.7 |
State: | Final |
Vote: | Done |
Created: | 20 Apr 2016 |
Posting History: | |
Keywords: | Tcl, tcltest |
|
|
TIP #448: Update Tcl_SetNotifier to Reinitialize Event Loop
- $Revision: 1.1 $
-
Tcl_SetNotifier cannot be used in its current state to replace a notifier than has been initialized because pointers to the old initialized value are kept in the interp's private data. This TIP proposes a way to change that.
|
Author: | Jeff Rogers |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 24 May 2016 |
Posting History: | |
Keywords: | Tcl, C API |
|
|
TIP #449: [text] undo/redo to Return Range of Characters
- $Revision: 1.12 $
-
Tk features an undo/redo mechanism for the text widget. This TIP proposes that the edit undo and edit redo commands of the text widget return the ranges of characters impacted by the undo or redo operation.
|
Author: | François Vogel |
Type: | Project |
Tcl Version: | 8.7 |
State: | Final |
Vote: | Done |
Created: | 07 Jun 2016 |
Posting History: | |
Keywords: | Tk |
|
|
TIP #450: Add [binary] subcommand "set" for in-place modification
- $Revision: 1.1 $
-
This TIP proposes a simpler extension of the [binary] command than the related TIP #418, namely just a subcommand set that updates an existing byte array in a variable instead of creating a new one like binary format. It does not propose an extension of the various formatting codes.
|
Author: | Arjen Markus |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 18 Jul 2016 |
Posting History: | |
Keywords: | Tcl, binary data |
|
|
TIP #453: Tcl Based Automation for tcl/pkgs
- $Revision: 1.2 $
-
This TIP proposes replacing the make package process currently employed by the core with a Tcl-based build automation tool.
|
Author: | Sean Woods |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 13 Sep 2016 |
Posting History: | |
Keywords: | Build tooling |
|
|
TIP #454: Automatically Resize Frames After Last Child Removed
- $Revision: 1.19 $
-
A frame-like widget has 1x1 required size if created. If children are added by pack/grid and the last children is unpacked/grid, the frame-like widget does not return to the 1x1 required size. Instead, it keeps the size of the last packed item. It should automatically or under control resize to the initial requested size of 1x1.
| |
TIP #455: Extensions to [vwait]: Variable Sets and Scripted Access to Tcl_DoOneEvent
- $Revision: 1.2 $
-
This TIP generalizes the vwait command to allow waiting on zero, one, or more variable changes, on zero or more file events, to time-limit the wait, and to control on which kinds of events is to be waited by partially exposing the underlying API, namely Tcl_DoOneEvent().
|
Author: | Christian Werner |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 07 Oct 2016 |
Posting History: | |
Keywords: | Tcl, event loop |
|
|
TIP #456: Extend the C API to Support Passing Options to TCP Server Creation
- $Revision: 1.6 $
-
The Tcl_OpenTcpServer interface doesn't provide enough flexibility as experienced during the implementation of the scaffolding necessary to support the SO_REUSEPORT flag for sockets. This TIP adds that capability through a new API function, Tcl_OpenTcpServerEx, that takes extra options.
|
Author: | LemonBoy |
| lime boy |
Type: | Project |
Tcl Version: | 8.7 |
State: | Final |
Vote: | Done |
Created: | 18 Nov 2016 |
Posting History: | |
Keywords: | Tcl, socket, SO_REUSEPORT, SO_REUSEADDR |
|
|
TIP #457: Add Support for Named Arguments
- $Revision: 1.22 $
-
This TIP proposes an enhancement of the Tcl language to support named arguments and additional features when calling a procedure.
|
Author: | Mathieu Lafon |
| Andreas Leitgeb |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 21 Nov 2016 |
Posting History: | |
Keywords: | Tcl, procedure, argument handling |
|
|
TIP #458: Add Support for epoll() and kqueue() in the Notifier
- $Revision: 1.6 $
-
This TIP proposes to replace select(2) in the notifier implementation with epoll(7) and kqueue(2) on Linux and DragonFly-, Free-, Net-, and OpenBSD respectively. This is to remove a major bottleneck in the ability of Tcl to scale up to thousands and tens of thousands of sockets (aka C10K). Furthermore, this should also provide sufficient infrastructure in order to permit adding support for other platform-specific event mechanisms in the future, such as IOCPs on Solaris and Windows.
| |
TIP #460: An Alternative to Upvar
- $Revision: 1.5 $
-
Variable linking with the upvar command is not as intuitive or effecient as it should be. This TIP proposes an alternative through automatic variable linking.
|
Author: | Don Hathway |
Type: | Project |
Tcl Version: | 9.0 |
State: | Draft |
Vote: | Pending |
Created: | 08 Dec 2016 |
Posting History: | |
Keywords: | Tcl, variable, link, upvar |
|
|
TIP #461: Separate Numeric and String Comparison Operators
- $Revision: 1.6 $
-
This TIP proposes to complete the separation between string and numeric comparison operations in [expr] and related commands ([for], [if], [while], etc.). It introduces new comparison operators ge, gt, le, and lt, (along with the corresponding commands in the ::tcl::mathop namespace), and encourages programmers to restrict the six operators ==, >=, >, <=, < and != to comparisons of numeric values.
| |
TIP #463: Command-Driven Substitutions for regsub
- $Revision: 1.6 $
-
The regsub command can only do substitutions of a limited complexity. This TIP adds an option to generate substitution text using another Tcl command, allowing a more complex range of substitutions to be performed easily and safely.
|
Author: | Donal Fellows |
Type: | Project |
Tcl Version: | 8.7 |
State: | Final |
Vote: | Done |
Created: | 11 Feb 2017 |
Posting History: | |
Keywords: | Tcl, regular expression |
|
|
TIP #465: Change Rule 8 of the Dodekalogue to Cut Some Corner Cases
- $Revision: 1.2 $
-
This TIP proposes to make $-substitution more conforming to naive expectations and just rule out certain odd-ball uses that can safely be assumed to not appear in serious use, but only in crafted examples "serving" for confusion, or as accidentally legal interpretation of mistyped Tcl code.
|
Author: | Andreas Leitgeb |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 03 Mar 2017 |
Posting History: | |
|
|
TIP #466: Revised Implementation of the Text Widget
- $Revision: 1.11 $
-
This TIP proposes the replacement of the current implementation of the text widget (the "legacy" text widget) by a revised implementation offering a large number of advantages.
|
Author: | François Vogel |
| Gregor Cramer |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 10 Mar 2017 |
Posting History: | |
Keywords: | Tk, text widget |
|
|
TIP #467: Move TIP Collection to Fossil
- $Revision: 1.5 $
-
The Tcl TIP collection shall be moved to Fossil and the process of managing TIPs shall use Fossil as much as possible. The TIP format will be changed from a TIP-specific form to Markdown.
|
Author: | Mark Janssen |
Type: | Process |
State: | Draft |
Vote: | Pending |
Created: | 14 Mar 2017 |
Posting History: | |
Keywords: | migration |
|
|
TIP #468: Support Passing TCP listen Backlog Size Option to TCP Socket Creation
- $Revision: 1.1 $
-
This TIP adds the ability to control the TCP backlog depth used by the listen system call within the socket Command. The API function, Tcl_OpenTcpServerEx, will be extended to allow the passing of the backlog value. Currently, the SOMAXCONN macro is used as the default. Backlog values are hard coded to a minimum of 100. The backlog values of 1 and 0 are useful on the Linux platform.
|
Author: | Shannon Noe |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 03 Apr 2017 |
Posting History: | |
Keywords: | Tcl, socket, SOMAXCONN |
|
|
TIP #469: A Callback for Channel-Exception Conditions
- $Revision: 1.3 $
-
This TIP proposes to extend the fileevent Tcl command to also accept the keyword exception for its second argument. This will allow to register a callback for the specific event that the OS reports an exception on the channel, while ignoring read- or writability.
|
Author: | Andreas Leitgeb |
Type: | Project |
Tcl Version: | 8.7 |
State: | Draft |
Vote: | Pending |
Created: | 16 Apr 2017 |
Posting History: | |
Keywords: | Tcl, event handling |
|
|
TIP #473: Allow a Defined Target Namespace in oo::copy
- $Revision: 1.4 $
-
This TIP adds functionality to oo::copy to allow the created copy to have a defined namespace, much as oo::class's createWithNamespace method allows such a namespace to be given on normal object creation.
|
Author: | Donal Fellows |
Type: | Project |
Tcl Version: | 8.6.7 |
State: | Final |
Vote: | Done |
Created: | 06 Jun 2017 |
Posting History: | |
Keywords: | Tcl, missing functionality, bugfix |
|
|
TIP #10000: Dummy Proposal for Testing Editing Interfaces
- $Revision: 1.216 $
-
This TIP proposes to complete the separation between string and numeric comparison operations in [expr] and related commands ([for], [if], [while], etc.). It introduces new comparison operators ge, gt, le, and lt, (along with the corresponding commands in the ::tcl::mathop namespace), and to restrict the six operators ==, >=, >, <=, < and != to comparisons of numeric values.
| |
This is an example long TIP reference https://tip.tcl-lang.org3.html that should be expanded in a renderer-specific way...
This is an example non-reference - index[3] - that should not be rendered as a link (to this document or anywhere else) at all. Note that the dashes in the previous sentence (with whitespace on each side) are candidates for rendering as long dashes (em-dashes) on output-media which support this.
- Supported URLs
should be http, https, mailto, news, newsrc, ftp and gopher. Test here...
HTTP URL - http://purl.org/thecliff/tcl/wiki/
HTTP URL in brackets - [7]
HTTPS URL - https://sourceforge.net/
FTP URL - ftp://src.doc.ic.ac.uk/packages/tcl/tcl/
NEWS URL - news:comp.lang.tcl
MAILTO URL - fellowsd at cs dot man dot ac dot uk?subject=TIP3
Others (might not be valid links!) - gopher://info.mcc.ac.uk, newsrc:2845823825
Examples of sections and subsections
~Section Heading
Section text
~~Subsection Heading
Subsection text
~~~Subsubsection Heading
Subsubsection text
which renders as...
Section Heading
Section text
Subsection Heading
Subsection text
Subsubsection Heading
Subsubsection text
Copyright
This document has been placed in the public domain.
[Index] [History] [HTML Format] [Source Format] [LaTeX Format] [Text Format] [XML Format] [*roff Format (experimental)] [RTF Format (experimental)]
TIP AutoGenerator - written by Donal K. Fellows