~ubuntu-branches/ubuntu/utopic/critcl/utopic

« back to all changes in this revision

Viewing changes to doc/include/changes31.inc

  • Committer: Package Import Robot
  • Author(s): Andrew Shadura
  • Date: 2013-05-11 00:08:06 UTC
  • Revision ID: package-import@ubuntu.com-20130511000806-7hq1zc3fnn0gat79
Tags: upstream-3.1.9
ImportĀ upstreamĀ versionĀ 3.1.9

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
[section {Changes for version 3.1}]
 
2
[list_begin enumerated]
 
3
 
 
4
[comment {- - -- --- ----- -------- ------------- ---------------------}]
 
5
[enum] Added a new higher-level package [package critcl::iassoc].
 
6
 
 
7
[para] This package simplifies the creation of code associating data
 
8
with an interpreter via Tcl's [fun Tcl_(Get|Set)AssocData()] APIs. The
 
9
user can concentrate on his data while all the necessary boilerplate
 
10
C code to support this is generated by the package.
 
11
 
 
12
[para] This package uses several of the new features which were added
 
13
to the core [package critcl] package, see below.
 
14
 
 
15
[comment {- - -- --- ----- -------- ------------- ---------------------}]
 
16
[enum] Added the higher-level package [package critcl::class]. 
 
17
 
 
18
[para] This package simplifies the creation of C level objects with
 
19
class and instance commands. The user can write a class definition
 
20
with class- and instance-variables and -methods similar to a TclOO
 
21
class, with all the necessary boilerplate C code to support this
 
22
generated by the package.
 
23
 
 
24
[para] This package uses several of the new features which were added
 
25
to the core [package critcl] package, see below.
 
26
 
 
27
[comment {- - -- --- ----- -------- ------------- ---------------------}]
 
28
[enum] Extended the API for handling TEApot metadata. Added the
 
29
command [cmd critcl::meta?] to query the stored information. Main use
 
30
currently envisioned is retrieval of the current package's name by
 
31
utility commands, for use in constructed names. This particular
 
32
information is always available due to the static scan of the package
 
33
file on execution of the first critcl command.
 
34
 
 
35
[para] The new packages [package critcl::iassoc] and
 
36
[package critcl::class] (see above) are users of this command.
 
37
 
 
38
[comment {- - -- --- ----- -------- ------------- ---------------------}]
 
39
[enum] Extended the API with a command, [cmd critcl::name2c], exposing
 
40
the process of converting a Tcl name into base name, namespace, and C
 
41
namespace. This enables higher-level code generators to generate the same
 
42
type of C identifiers as [package critcl] itself.
 
43
 
 
44
[para] The new package [package critcl::class] (see above) is a user
 
45
of this command.
 
46
 
 
47
[comment {- - -- --- ----- -------- ------------- ---------------------}]
 
48
[enum] Extended the API with a command, [cmd critcl::source],
 
49
executing critcl commands found in a separate file in the context of
 
50
the current file. This enables easier management of larger bodies of
 
51
code as it allows the user to split such up into easier to digest
 
52
smaller chunks without causing the generation of multiple packages.
 
53
 
 
54
[comment {- - -- --- ----- -------- ------------- ---------------------}]
 
55
[enum] Related to the previous item, extended the API with commands to
 
56
divert collection of generated C code into memory. This makes it
 
57
easier to use the commands for embedded C code in higher-level code
 
58
generators.
 
59
 
 
60
[para] See the section [sectref {Advanced: Diversions}] for details of
 
61
the provided commands.
 
62
 
 
63
[para] The new package [package critcl::class] (see above) is a user
 
64
of these facilities.
 
65
 
 
66
[comment {- - -- --- ----- -------- ------------- ---------------------}]
 
67
[enum] Extended the API with commands helping developers with the
 
68
generation of proper C [term #line] directives. This allows
 
69
higher-level code generators to generate and insert their own
 
70
directives, ensuring that compile errors in their code are properly
 
71
attributed.
 
72
 
 
73
[para] See the section [sectref {Advanced: Location management}] for
 
74
details of the provided commands.
 
75
 
 
76
[para] The new packages [package critcl::iassoc] and
 
77
[package critcl::class] (see above) are users of these facilities.
 
78
 
 
79
[comment {- - -- --- ----- -------- ------------- ---------------------}]
 
80
[enum] Extended the API with commands giving users the ability to
 
81
define custom argument and result types for [cmd ::critcl::cproc].
 
82
 
 
83
[para] See the section [sectref {Advanced: Extending cproc}] for
 
84
details of the provided commands.
 
85
 
 
86
[comment {- - -- --- ----- -------- ------------- ---------------------}]
 
87
[list_end]
 
88
 
 
89
[include changes311.inc]
 
90
[include changes312.inc]
 
91
[include changes313.inc]
 
92
[include changes314.inc]
 
93
[include changes315.inc]
 
94
[include changes316.inc]
 
95
[include changes317.inc]
 
96
[include changes318.inc]
 
97
[include changes319.inc]