Jim Tcl
Check-in [5db7a6f0b2]
Not logged in

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Update website. Primary repo has moved to github
Timelines: family | ancestors | descendants | both | www
Files: files | file ages | folders
SHA1: 5db7a6f0b269c9e61e0c017e1017cd31f058777c
User & Date: steveb 2020-02-09 00:50:11
Context
2020-02-09
00:50
Remove errant file: www/Makefile Leaf check-in: 462afb76f5 user: steveb tags: www
00:50
Update website. Primary repo has moved to github check-in: 5db7a6f0b2 user: steveb tags: www
2019-11-20
01:29
Release notes for 0.79 check-in: 075597ef08 user: steveb tags: www
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to www/about/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37
38

39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - About Jim Tcl</title>
    <link rel="stylesheet" type="text/css" href="../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../css/sh_style.css" media="screen">
	
	<script src="../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../">The Jim Interpreter</a> 
			» 

		
			<a href="./">About Jim Tcl</a> 
			 
		

		</div>
		<div class="main" id="main">
		
		<h1 id="about-jim-tcl">About Jim Tcl</h1>

<h2 id="support">Support</h2>

<p>For support, either commercial or non-commercial, please ask on the
<a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Jim Mailing List</a></p>

<h2 id="credits">Credits</h2>
<p>Jim Tcl was originally written by <a href="http://www.invece.org">Salvatore <em>antirez</em> Sanfilippo</a>.
Original contributions have been made by many other people.
See the <a href="http://repo.or.cz/w/jimtcl.git/shortlog">git log</a> for full details.</p>

<p>Jim Tcl is actively maintained by <a href="mailto:steveb@workware.net.au">Steve Bennett</a></p>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../license/">License</a></li>
		
			
			<li class="stdlink"><span class="active">About</span></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
|
|
>
|
|
|
|









|



|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - About Jim Tcl</title>
        <link rel="stylesheet" type="text/css" href="../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../css/sh_style.css" media="screen">
        
        <script src="../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_about" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../">The Jim Interpreter</a>


            
                <a href="./">About Jim Tcl</a>
                
            
        
        </div>
        <div class="main" id="main">
        
        <h1 id="about-jim-tcl">About Jim Tcl</h1>

<h2 id="support">Support</h2>

<p>For support, either commercial or non-commercial, please ask on the
<a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Jim Mailing List</a></p>

<h2 id="credits">Credits</h2>
<p>Jim Tcl was originally written by <a href="http://www.invece.org">Salvatore <em>antirez</em> Sanfilippo</a>.
Original contributions have been made by many other people.
See the <a href="https://github.com/msteveb/jimtcl/commits/master">git log</a> for full details.</p>

<p>Jim Tcl is actively maintained by <a href="mailto:steveb@workware.net.au">Steve Bennett</a></p>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../license/">License</a></li>
            
                
                <li class="stdlink"><span class="active">About</span></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/2010-09-09/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
...
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - SMTP Mail with Jim</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">SMTP Mail with Jim</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Thursday, 09 September 2010</p>
			<h2 class="news">SMTP Mail with Jim</h2>
		
		<p>I recently had the need to send email from my Jim-enabled embedded
web application. There are many ways to achieve this, including via
a command line application, but I chose to use the networking
capabilities of Jim to send email directly via SMTP. It turned out
to be remarkably easy.</p>

<p>First the test code:</p>

................................................................................
    # Invoke the script in the original callframe
    uplevel 2 $script
}
</pre>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/2010-09-09/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/2010-09-09/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
...
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - SMTP Mail with Jim</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_2010-09-09" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">SMTP Mail with Jim</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Thursday, 09 September 2010</p>
            <h2 class="news">SMTP Mail with Jim</h2>
        
        <p>I recently had the need to send email from my Jim-enabled embedded
web application. There are many ways to achieve this, including via
a command line application, but I chose to use the networking
capabilities of Jim to send email directly via SMTP. It turned out
to be remarkably easy.</p>

<p>First the test code:</p>

................................................................................
    # Invoke the script in the original callframe
    uplevel 2 $script
}
</pre>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/2010-09-09/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/2010-09-09/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/2010-10-29/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
..
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Announcing Jim Tcl version 0.63</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">Announcing Jim Tcl version 0.63</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Friday, 29 October 2010</p>
			<h2 class="news">Announcing Jim Tcl version 0.63</h2>
		
		<p>Jim Tcl 0.63 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a></p>

<h2 id="changes-since-version-051">CHANGES SINCE VERSION 0.51</h2>

<p>This is a major update which incorporates many bug fixes and new features.</p>

................................................................................
  <li>‘proc’ now returns the name of the procedure</li>
  <li>Changes to the package system and extension interface</li>
  <li>‘jim’ is now ‘jimsh’</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/2010-10-29/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/2010-10-29/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
..
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Announcing Jim Tcl version 0.63</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_2010-10-29" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">Announcing Jim Tcl version 0.63</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Friday, 29 October 2010</p>
            <h2 class="news">Announcing Jim Tcl version 0.63</h2>
        
        <p>Jim Tcl 0.63 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a></p>

<h2 id="changes-since-version-051">CHANGES SINCE VERSION 0.51</h2>

<p>This is a major update which incorporates many bug fixes and new features.</p>

................................................................................
  <li>‘proc’ now returns the name of the procedure</li>
  <li>Changes to the package system and extension interface</li>
  <li>‘jim’ is now ‘jimsh’</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/2010-10-29/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/2010-10-29/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/2010-11-03/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
..
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - expr shorthand syntax</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">expr shorthand syntax</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Wednesday, 03 November 2010</p>
			<h2 class="news">expr shorthand syntax</h2>
		
		<p>One of the biggest complaints about Tcl is it’s verbosity for common expressions. Consider:</p>

<pre class="sh_tcl">set sublist [lrange $list [expr {$a + 1}] [expr {$b - 1}]]
</pre>

<p>This is mitigated somewhat in list and string index and ranges
expression which support the notation <code>int+int</code> or <code>int-int</code>. However,
many simple, common expressions are still cumbersome.</p>
................................................................................
expression, accessing an array named with the empty string. Giving
up this is a very small price to pay for this more accessible syntax.
Perhaps as Tcl grinds it’s way towards version 9.0, it could give
up a tiny bit of backward compatibility for easy of use.</p>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/2010-11-03/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/2010-11-03/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
..
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - expr shorthand syntax</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_2010-11-03" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">expr shorthand syntax</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Wednesday, 03 November 2010</p>
            <h2 class="news">expr shorthand syntax</h2>
        
        <p>One of the biggest complaints about Tcl is it’s verbosity for common expressions. Consider:</p>

<pre class="sh_tcl">set sublist [lrange $list [expr {$a + 1}] [expr {$b - 1}]]
</pre>

<p>This is mitigated somewhat in list and string index and ranges
expression which support the notation <code>int+int</code> or <code>int-int</code>. However,
many simple, common expressions are still cumbersome.</p>
................................................................................
expression, accessing an array named with the empty string. Giving
up this is a very small price to pay for this more accessible syntax.
Perhaps as Tcl grinds it’s way towards version 9.0, it could give
up a tiny bit of backward compatibility for easy of use.</p>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/2010-11-03/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/2010-11-03/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/2010-11-15/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
..
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - IPv6 Support</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">IPv6 Support</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Monday, 15 November 2010</p>
			<h2 class="news">IPv6 Support</h2>
		
		<p>Jim Tcl has had ipv6 support ever since the WorkWare fork was merged
back into mainline.</p>

<p>You can read more about it in the documentation at:
<a href="http://repo.or.cz/w/jimtcl.git/blob_plain/master:/Tcl_shipped.html#_socket">socket</a></p>

<p>Basically it is a matter of specifying <code>-ipv6</code> when creating the
socket and giving an IPv6 address. For example:</p>
................................................................................
<p>Note that on all hosts I have tried, listening on an IPv6 socket
will also listen on the corresponding IPv4 socket. You can try this
by running udp6.server and connecting with both udp6.client and
udp.client</p>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/2010-11-15/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/2010-11-15/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
..
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - IPv6 Support</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_2010-11-15" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">IPv6 Support</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Monday, 15 November 2010</p>
            <h2 class="news">IPv6 Support</h2>
        
        <p>Jim Tcl has had ipv6 support ever since the WorkWare fork was merged
back into mainline.</p>

<p>You can read more about it in the documentation at:
<a href="http://repo.or.cz/w/jimtcl.git/blob_plain/master:/Tcl_shipped.html#_socket">socket</a></p>

<p>Basically it is a matter of specifying <code>-ipv6</code> when creating the
socket and giving an IPv6 address. For example:</p>
................................................................................
<p>Note that on all hosts I have tried, listening on an IPv6 socket
will also listen on the corresponding IPv4 socket. You can try this
by running udp6.server and connecting with both udp6.client and
udp.client</p>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/2010-11-15/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/2010-11-15/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/2010-11-24/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - A History of Jim</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">A History of Jim</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Wednesday, 24 November 2010</p>
			<h2 class="news">A History of Jim</h2>
		
		<p><a href="../../img/jim-history-chart.pdf"><img src="../../img/jim-history-thumb.png"></a></p>

<p>I intend to analyse the history of Jim in more detail at some point.
Nonetheless, this is interesting. For this exercise I attempted to
build and run benchmarks for every, single version of Jim.</p>

<p><strong>Click on the image for a larger version.</strong></p>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/2010-11-24/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/2010-11-24/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|









|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - A History of Jim</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_2010-11-24" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">A History of Jim</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Wednesday, 24 November 2010</p>
            <h2 class="news">A History of Jim</h2>
        
        <p><a href="../../img/jim-history-chart.pdf"><img src="../../img/jim-history-thumb.png"></a></p>

<p>I intend to analyse the history of Jim in more detail at some point.
Nonetheless, this is interesting. For this exercise I attempted to
build and run benchmarks for every, single version of Jim.</p>

<p><strong>Click on the image for a larger version.</strong></p>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/2010-11-24/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/2010-11-24/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/2011-04-14/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
..
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Announcing Jim Tcl version 0.70</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">Announcing Jim Tcl version 0.70</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Thursday, 14 April 2011</p>
			<h2 class="news">Announcing Jim Tcl version 0.70</h2>
		
		<p>Jim Tcl 0.70 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a>
or <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<h2 id="changes-since-version-063">CHANGES SINCE VERSION 0.63</h2>

<p>This is a major update which incorporates many bug fixes and
................................................................................
  <li>Command line editing with linenoise</li>
  <li>Pure-Tcl OO extension</li>
  <li>exec uses only vfork() for full functionality on no-mmu uClinux</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/2011-04-14/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/2011-04-14/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
..
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Announcing Jim Tcl version 0.70</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_2011-04-14" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">Announcing Jim Tcl version 0.70</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Thursday, 14 April 2011</p>
            <h2 class="news">Announcing Jim Tcl version 0.70</h2>
        
        <p>Jim Tcl 0.70 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a>
or <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<h2 id="changes-since-version-063">CHANGES SINCE VERSION 0.63</h2>

<p>This is a major update which incorporates many bug fixes and
................................................................................
  <li>Command line editing with linenoise</li>
  <li>Pure-Tcl OO extension</li>
  <li>exec uses only vfork() for full functionality on no-mmu uClinux</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/2011-04-14/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/2011-04-14/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/2011-04-22/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
..
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Roadmap for Jim Tcl</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">Roadmap for Jim Tcl</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Friday, 22 April 2011</p>
			<h2 class="news">Roadmap for Jim Tcl</h2>
		
		<p>I have a few things on my list that I would like to see go into the
next release of Jim Tcl.</p>

<h2 id="boring-stuff">Boring Stuff</h2>
<ul>
  <li>Bug fixes</li>
  <li>Performance improvements</li>
  <li>Size reduction</li>
................................................................................
<ul>
  <li>Ability to “push” a proc over the top of an existing proc to easily create a
wrapper proc, including the ability to “upcall” the original proc.</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/2011-04-22/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/2011-04-22/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
..
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Roadmap for Jim Tcl</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_2011-04-22" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">Roadmap for Jim Tcl</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Friday, 22 April 2011</p>
            <h2 class="news">Roadmap for Jim Tcl</h2>
        
        <p>I have a few things on my list that I would like to see go into the
next release of Jim Tcl.</p>

<h2 id="boring-stuff">Boring Stuff</h2>
<ul>
  <li>Bug fixes</li>
  <li>Performance improvements</li>
  <li>Size reduction</li>
................................................................................
<ul>
  <li>Ability to “push” a proc over the top of an existing proc to easily create a
wrapper proc, including the ability to “upcall” the original proc.</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/2011-04-22/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/2011-04-22/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/2011-04-24/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - New Website Launched</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">New Website Launched</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Sunday, 24 April 2011</p>
			<h2 class="news">New Website Launched</h2>
		
		<p>Jim Tcl development has been proceeding apace, but the <a href="http://jim.berlios.de/">website</a>
had not been updated for several years. In order to make Jim Tcl
more approachable, we have given the website and updated the content
to reflect current reality.</p>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/2011-04-24/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/2011-04-24/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|






|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - New Website Launched</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_2011-04-24" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">New Website Launched</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Sunday, 24 April 2011</p>
            <h2 class="news">New Website Launched</h2>
        
        <p>Jim Tcl development has been proceeding apace, but the <a href="http://jim.berlios.de/">website</a>
had not been updated for several years. In order to make Jim Tcl
more approachable, we have given the website and updated the content
to reflect current reality.</p>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/2011-04-24/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/2011-04-24/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/binary-cheatsheet/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
...
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Binary Cheatsheet</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">Binary Cheatsheet</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Friday, 24 January 2014</p>
			<h2 class="news">Binary Cheatsheet</h2>
		
		<p>I have been using Tcl for years, but I <em>still</em> need to lookup the manual every
time I use <code>binary format</code> and <code>binary scan</code>. If you are like me, you will find
this cheatsheet a handy reference.</p>

<table>
  <tbody>
    <tr>
      <td><code> </code></td>
................................................................................

# This returns 4 (number of conversions)
binary scan $bin I2sH2a* intlist intval hexval str
</pre>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/binary-cheatsheet/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/binary-cheatsheet/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
...
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Binary Cheatsheet</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_binary-cheatsheet" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">Binary Cheatsheet</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Friday, 24 January 2014</p>
            <h2 class="news">Binary Cheatsheet</h2>
        
        <p>I have been using Tcl for years, but I <em>still</em> need to lookup the manual every
time I use <code>binary format</code> and <code>binary scan</code>. If you are like me, you will find
this cheatsheet a handy reference.</p>

<table>
  <tbody>
    <tr>
      <td><code> </code></td>
................................................................................

# This returns 4 (number of conversions)
binary scan $bin I2sH2a* intlist intval hexval str
</pre>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/binary-cheatsheet/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/binary-cheatsheet/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/bootstrap-jimsh/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
..
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Bootstrap jimsh</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">Bootstrap jimsh</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Thursday, 09 June 2011</p>
			<h2 class="news">Bootstrap jimsh</h2>
		
		<p>The Jim interpreter is small, portable and full-featured. This makes
<code>jimsh</code> an ideal tool to bootstrap a development system that
requires an interpreter.</p>

<p>Consider the case of a development configuration system such as
<a href="http://www.gnu.org/software/autoconf/">GNU autotools</a>.  Here it
is necessary to run fairly complex scripts that invoke external
programs (such as the compiler) and perform intensive string
................................................................................
C compiler...ccache cc -g -O2
C++ compiler...ccache c++ -g -O2
Checking for stdlib.h...ok
...
</pre>

<p>A script to create the bootstrap interpreter source is included in the
<a href="http://repo.or.cz/w/jimtcl.git/blob/HEAD:/make-bootstrap-jim">jimtcl git repository</a></p>

<pre class="sh_unix">$ sh make-bootstrap-jim &gt;jimsh0.c
$ time cc -o jimsh0 jimsh0.c
real   0m1.339s
user   0m1.121s
sys    0m0.109s
$ ./jimsh0
Welcome to Jim version 0.71
. 
</pre>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/bootstrap-jimsh/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/bootstrap-jimsh/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|













|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
..
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Bootstrap jimsh</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_bootstrap-jimsh" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">Bootstrap jimsh</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Thursday, 09 June 2011</p>
            <h2 class="news">Bootstrap jimsh</h2>
        
        <p>The Jim interpreter is small, portable and full-featured. This makes
<code>jimsh</code> an ideal tool to bootstrap a development system that
requires an interpreter.</p>

<p>Consider the case of a development configuration system such as
<a href="http://www.gnu.org/software/autoconf/">GNU autotools</a>.  Here it
is necessary to run fairly complex scripts that invoke external
programs (such as the compiler) and perform intensive string
................................................................................
C compiler...ccache cc -g -O2
C++ compiler...ccache c++ -g -O2
Checking for stdlib.h...ok
...
</pre>

<p>A script to create the bootstrap interpreter source is included in the
<a href="https://github.com/msteveb/jimtcl/blob/master/make-bootstrap-jim">jimtcl git repository</a></p>

<pre class="sh_unix">$ sh make-bootstrap-jim &gt;jimsh0.c
$ time cc -o jimsh0 jimsh0.c
real   0m1.339s
user   0m1.121s
sys    0m0.109s
$ ./jimsh0
Welcome to Jim version 0.71
. 
</pre>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/bootstrap-jimsh/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/bootstrap-jimsh/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

37
38

39
40
41
42

43
44
45
46



47
48
49
50
51
52
53
...
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - All News Articles</title>
    <link rel="stylesheet" type="text/css" href="../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../css/sh_style.css" media="screen">
	
	<link rel="alternate" type="application/rss+xml" title="News" href="../feed.xml">
	
	<script src="../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		<a id="rss" title="News RSS Feed" href="../feed.xml"><img src="../img/rssicon.png"></a>
		
		

			<a href="../">The Jim Interpreter</a> 
			» 

		
			<a href="./">All News Articles</a> 
			 
		

		</div>
		<div class="main" id="main">
		
		<h1 id="all-news-articles">All News Articles</h1>




<p class="articledate">Wednesday, 20 November 2019</p>
<h2 class="news"><a href="jim-release-0-79/">Jim Tcl version 0.79</a></h2>

<p class="articledate">Sunday, 01 July 2018</p>
<h2 class="news"><a href="jim-release-0-78/">Jim Tcl version 0.78</a></h2>

................................................................................

<p class="articledate">Friday, 29 October 2010</p>
<h2 class="news"><a href="2010-10-29/">Announcing Jim Tcl version 0.63</a></h2>

<p class="articledate">Thursday, 09 September 2010</p>
<h2 class="news"><a href="2010-09-09/">SMTP Mail with Jim</a></h2>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
>
|
<
>
|
|
|
|
>
|
|
|
|
>
>
>







 







|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
...
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - All News Articles</title>
        <link rel="stylesheet" type="text/css" href="../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../css/sh_style.css" media="screen">
        
            <link rel="alternate" type="application/rss+xml" title="News" href="../feed.xml">
        
        <script src="../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
            <a id="rss" title="News RSS Feed" href="../feed.xml"><img src="../img/rssicon.png"></a>
        
        
            
                <a href="../">The Jim Interpreter</a>


            
                <a href="./">All News Articles</a>
                
            
        
        </div>
        <div class="main" id="main">
        
        <h1 id="all-news-articles">All News Articles</h1>

<p class="articledate">Monday, 03 February 2020</p>
<h2 class="news"><a href="move-to-github/">Move primary repo to github</a></h2>

<p class="articledate">Wednesday, 20 November 2019</p>
<h2 class="news"><a href="jim-release-0-79/">Jim Tcl version 0.79</a></h2>

<p class="articledate">Sunday, 01 July 2018</p>
<h2 class="news"><a href="jim-release-0-78/">Jim Tcl version 0.78</a></h2>

................................................................................

<p class="articledate">Friday, 29 October 2010</p>
<h2 class="news"><a href="2010-10-29/">Announcing Jim Tcl version 0.63</a></h2>

<p class="articledate">Thursday, 09 September 2010</p>
<h2 class="news"><a href="2010-09-09/">SMTP Mail with Jim</a></h2>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/jim-is-modular/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
..
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Jim Is Modular</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">Jim Is Modular</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Wednesday, 25 May 2011</p>
			<h2 class="news">Jim Is Modular</h2>
		
		<p>One of the advantages of Jim Tcl is that the core interpreter
contains only the bare essentials. Many Tcl standard commands are provided by
optional extensions which can be disable or built as loadable modules if required.</p>

<dl>
  <dt>core commands</dt>
  <dd>*, +, -, /, alias, append, break, catch, collect, concat,
continue, curry, dict, env, error, errorInfo, eval, exists, exit,
................................................................................
</dl>

<p>In addition, features including references, UTF-8 support, IPv6 and command line editing
can be disabled with <code>configure</code>. See <code>configure --help</code> for full details.</p>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-is-modular/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-is-modular/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
..
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Jim Is Modular</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_jim-is-modular" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">Jim Is Modular</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Wednesday, 25 May 2011</p>
            <h2 class="news">Jim Is Modular</h2>
        
        <p>One of the advantages of Jim Tcl is that the core interpreter
contains only the bare essentials. Many Tcl standard commands are provided by
optional extensions which can be disable or built as loadable modules if required.</p>

<dl>
  <dt>core commands</dt>
  <dd>*, +, -, /, alias, append, break, catch, collect, concat,
continue, curry, dict, env, error, errorInfo, eval, exists, exit,
................................................................................
</dl>

<p>In addition, features including references, UTF-8 support, IPv6 and command line editing
can be disabled with <code>configure</code>. See <code>configure --help</code> for full details.</p>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-is-modular/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-is-modular/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/jim-release-0-71/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
..
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Jim Tcl version 0.71</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">Jim Tcl version 0.71</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Friday, 24 June 2011</p>
			<h2 class="news">Jim Tcl version 0.71</h2>
		
		<h2 id="announce-jim-tcl-version-071">ANNOUNCE: Jim Tcl version 0.71</h2>

<p>Jim Tcl 0.71 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a> or <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<h2 id="changes-since-version-070">CHANGES SINCE VERSION 0.70</h2>

................................................................................
  <li>Add string byterange</li>
  <li>Ability to create a single source file bootstrap jimsh</li>
  <li>Added debian packaging support</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-release-0-71/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-71/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
..
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Jim Tcl version 0.71</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_jim-release-0-71" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">Jim Tcl version 0.71</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Friday, 24 June 2011</p>
            <h2 class="news">Jim Tcl version 0.71</h2>
        
        <h2 id="announce-jim-tcl-version-071">ANNOUNCE: Jim Tcl version 0.71</h2>

<p>Jim Tcl 0.71 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a> or <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<h2 id="changes-since-version-070">CHANGES SINCE VERSION 0.70</h2>

................................................................................
  <li>Add string byterange</li>
  <li>Ability to create a single source file bootstrap jimsh</li>
  <li>Added debian packaging support</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-release-0-71/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-71/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/jim-release-0-72/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
..
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Jim Tcl version 0.72</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">Jim Tcl version 0.72</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Thursday, 06 October 2011</p>
			<h2 class="news">Jim Tcl version 0.72</h2>
		
		<h2 id="announce-jim-tcl-version-072">ANNOUNCE: Jim Tcl version 0.72</h2>

<p>Jim Tcl 0.72 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a> or <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<h2 id="changes-since-version-071">CHANGES SINCE VERSION 0.71</h2>

................................................................................
  <li>The oo, tree, binary and pack extensions are now documented</li>
  <li>New metakit extension</li>
  <li>The SDL extension once again builds and runs</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-release-0-72/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-72/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
..
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Jim Tcl version 0.72</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_jim-release-0-72" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">Jim Tcl version 0.72</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Thursday, 06 October 2011</p>
            <h2 class="news">Jim Tcl version 0.72</h2>
        
        <h2 id="announce-jim-tcl-version-072">ANNOUNCE: Jim Tcl version 0.72</h2>

<p>Jim Tcl 0.72 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a> or <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<h2 id="changes-since-version-071">CHANGES SINCE VERSION 0.71</h2>

................................................................................
  <li>The oo, tree, binary and pack extensions are now documented</li>
  <li>New metakit extension</li>
  <li>The SDL extension once again builds and runs</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-release-0-72/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-72/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/jim-release-0-73/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
..
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Jim Tcl version 0.73</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">Jim Tcl version 0.73</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Thursday, 22 December 2011</p>
			<h2 class="news">Jim Tcl version 0.73</h2>
		
		<h2 id="announce-jim-tcl-version-073">ANNOUNCE: Jim Tcl version 0.73</h2>

<p>Jim Tcl 0.73 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a> or <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<p>Find out all about Jim Tcl at <a href="http://jim.tcl.tk/">http://jim.tcl.tk/</a></p>

................................................................................
  <li>Added a Tcl-compatible <code>apply</code> command</li>
  <li>Most extensions are now enabled by default</li>
  <li>Jim Tcl now compiles with MSVC on Windows (but no build support)</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-release-0-73/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-73/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
..
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Jim Tcl version 0.73</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_jim-release-0-73" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">Jim Tcl version 0.73</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Thursday, 22 December 2011</p>
            <h2 class="news">Jim Tcl version 0.73</h2>
        
        <h2 id="announce-jim-tcl-version-073">ANNOUNCE: Jim Tcl version 0.73</h2>

<p>Jim Tcl 0.73 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a> or <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<p>Find out all about Jim Tcl at <a href="http://jim.tcl.tk/">http://jim.tcl.tk/</a></p>

................................................................................
  <li>Added a Tcl-compatible <code>apply</code> command</li>
  <li>Most extensions are now enabled by default</li>
  <li>Jim Tcl now compiles with MSVC on Windows (but no build support)</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-release-0-73/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-73/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/jim-release-0-74/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
...
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Jim Tcl version 0.74</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">Jim Tcl version 0.74</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Thursday, 25 July 2013</p>
			<h2 class="news">Jim Tcl version 0.74</h2>
		
		<h2 id="announce-jim-tcl-version-074">ANNOUNCE: Jim Tcl version 0.74</h2>

<p>Jim Tcl 0.74 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a> or <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<p>Find out all about Jim Tcl at <a href="http://jim.tcl.tk/">http://jim.tcl.tk/</a></p>

................................................................................
       sieve [dict]    -20%
              upvar    -16%
   wiki.tcl.tk/8566       .
</code></pre>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-release-0-74/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-74/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
...
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Jim Tcl version 0.74</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_jim-release-0-74" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">Jim Tcl version 0.74</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Thursday, 25 July 2013</p>
            <h2 class="news">Jim Tcl version 0.74</h2>
        
        <h2 id="announce-jim-tcl-version-074">ANNOUNCE: Jim Tcl version 0.74</h2>

<p>Jim Tcl 0.74 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a> or <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<p>Find out all about Jim Tcl at <a href="http://jim.tcl.tk/">http://jim.tcl.tk/</a></p>

................................................................................
       sieve [dict]    -20%
              upvar    -16%
   wiki.tcl.tk/8566       .
</code></pre>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-release-0-74/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-74/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/jim-release-0-75/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
...
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Jim Tcl version 0.75</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">Jim Tcl version 0.75</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Thursday, 27 February 2014</p>
			<h2 class="news">Jim Tcl version 0.75</h2>
		
		<h2 id="announce-jim-tcl-version-075">ANNOUNCE: Jim Tcl version 0.75</h2>

<p>Jim Tcl 0.75 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a> or <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<p>Find out all about Jim Tcl at <a href="http://jim.tcl.tk/">http://jim.tcl.tk/</a></p>

................................................................................

<ul>
  <li>The deprecated <code>case</code> command has been removed</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-release-0-75/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-75/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
...
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Jim Tcl version 0.75</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_jim-release-0-75" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">Jim Tcl version 0.75</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Thursday, 27 February 2014</p>
            <h2 class="news">Jim Tcl version 0.75</h2>
        
        <h2 id="announce-jim-tcl-version-075">ANNOUNCE: Jim Tcl version 0.75</h2>

<p>Jim Tcl 0.75 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a> or <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<p>Find out all about Jim Tcl at <a href="http://jim.tcl.tk/">http://jim.tcl.tk/</a></p>

................................................................................

<ul>
  <li>The deprecated <code>case</code> command has been removed</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-release-0-75/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-75/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/jim-release-0-76/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
..
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Jim Tcl version 0.76</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">Jim Tcl version 0.76</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Saturday, 31 January 2015</p>
			<h2 class="news">Jim Tcl version 0.76</h2>
		
		<h2 id="announce-jim-tcl-version-076">ANNOUNCE: Jim Tcl version 0.76</h2>

<p>Jim Tcl 0.76 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a> or <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<p>Find out all about Jim Tcl at <a href="http://jim.tcl.tk/">http://jim.tcl.tk/</a></p>

................................................................................
  <li>Some invalid scripts will now throw an error rather than silently executing</li>
  <li><code>glob</code> is more Tcl-compatible with respect to <code>-directory</code> and <code>-tails</code>, so may affect some scripts</li>
  <li>The output of errorInfo has changed from <code>"Runtime Error: &lt;file&gt;:&lt;line&gt;: ..."</code> to <code>"&lt;file&gt;:&lt;line&gt;: Error: ..."</code></li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-release-0-76/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-76/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
..
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Jim Tcl version 0.76</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_jim-release-0-76" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">Jim Tcl version 0.76</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Saturday, 31 January 2015</p>
            <h2 class="news">Jim Tcl version 0.76</h2>
        
        <h2 id="announce-jim-tcl-version-076">ANNOUNCE: Jim Tcl version 0.76</h2>

<p>Jim Tcl 0.76 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a> or <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<p>Find out all about Jim Tcl at <a href="http://jim.tcl.tk/">http://jim.tcl.tk/</a></p>

................................................................................
  <li>Some invalid scripts will now throw an error rather than silently executing</li>
  <li><code>glob</code> is more Tcl-compatible with respect to <code>-directory</code> and <code>-tails</code>, so may affect some scripts</li>
  <li>The output of errorInfo has changed from <code>"Runtime Error: &lt;file&gt;:&lt;line&gt;: ..."</code> to <code>"&lt;file&gt;:&lt;line&gt;: Error: ..."</code></li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-release-0-76/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-76/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/jim-release-0-77/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
..
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Jim Tcl version 0.77</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">Jim Tcl version 0.77</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Sunday, 04 September 2016</p>
			<h2 class="news">Jim Tcl version 0.77</h2>
		
		<h2 id="announce-jim-tcl-version-077">ANNOUNCE: Jim Tcl version 0.77</h2>

<p>Jim Tcl 0.77 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a> or <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<p>Find out all about Jim Tcl at <a href="http://jim.tcl.tk/">http://jim.tcl.tk/</a></p>

................................................................................
  </li>
  <li>Add Travis and AppVeyor continuous integration support</li>
  <li>Use <code>pkg-config</code> in <code>configure</code> to find packages if possibe</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-release-0-77/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-77/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
..
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Jim Tcl version 0.77</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_jim-release-0-77" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">Jim Tcl version 0.77</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Sunday, 04 September 2016</p>
            <h2 class="news">Jim Tcl version 0.77</h2>
        
        <h2 id="announce-jim-tcl-version-077">ANNOUNCE: Jim Tcl version 0.77</h2>

<p>Jim Tcl 0.77 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a> or <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<p>Find out all about Jim Tcl at <a href="http://jim.tcl.tk/">http://jim.tcl.tk/</a></p>

................................................................................
  </li>
  <li>Add Travis and AppVeyor continuous integration support</li>
  <li>Use <code>pkg-config</code> in <code>configure</code> to find packages if possibe</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-release-0-77/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-77/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/jim-release-0-78/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
...
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Jim Tcl version 0.78</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">Jim Tcl version 0.78</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Sunday, 01 July 2018</p>
			<h2 class="news">Jim Tcl version 0.78</h2>
		
		<h2 id="announce-jim-tcl-version-078">ANNOUNCE: Jim Tcl version 0.78</h2>

<p>Jim Tcl 0.78 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a> or <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<p>Find out all about Jim Tcl at <a href="http://jim.tcl.tk/">http://jim.tcl.tk/</a></p>

................................................................................
  <li><code>os.wait</code> is now <code>wait</code></li>
  <li><code>aio ssl</code> now upgrades the current channel rather than creating a new channel</li>
  <li>Update autosetup to v0.6.8</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-release-0-78/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-78/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
...
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Jim Tcl version 0.78</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_jim-release-0-78" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">Jim Tcl version 0.78</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Sunday, 01 July 2018</p>
            <h2 class="news">Jim Tcl version 0.78</h2>
        
        <h2 id="announce-jim-tcl-version-078">ANNOUNCE: Jim Tcl version 0.78</h2>

<p>Jim Tcl 0.78 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a> or <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<p>Find out all about Jim Tcl at <a href="http://jim.tcl.tk/">http://jim.tcl.tk/</a></p>

................................................................................
  <li><code>os.wait</code> is now <code>wait</code></li>
  <li><code>aio ssl</code> now upgrades the current channel rather than creating a new channel</li>
  <li>Update autosetup to v0.6.8</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-release-0-78/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-78/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/jim-release-0-79/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
..
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Jim Tcl version 0.79</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">Jim Tcl version 0.79</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Wednesday, 20 November 2019</p>
			<h2 class="news">Jim Tcl version 0.79</h2>
		
		<h2 id="announce-jim-tcl-version-079">ANNOUNCE: Jim Tcl version 0.79</h2>

<p>Jim Tcl 0.79 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a> or <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<p>Find out all about Jim Tcl at <a href="http://jim.tcl.tk/">http://jim.tcl.tk/</a></p>

<h2 id="changes-since-version-078">CHANGES SINCE VERSION 0.78</h2>

<p>This release contains bug fixes plus a number of additional features.
A summary is below. See git for the full changelog.</p>

<p>Thanks to everyone who contributed to this release.</p>

<p><strong>Bugs fixed in version 0.79</strong></p>

<ul>
  <li><code>aio</code> - Fix closing stdin in bootstrap jimsh</li>
  <li><code>clock scan</code> - Unspecified filed use the current date/time</li>
  <li>Fix linenoise assertion failure on Windows</li>
  <li><code>file</code> - Improved support for trailing slashes in pathnames</li>
  <li><code>regexp</code>, <code>regsub</code> - Various fixes in UTF-8 mode</li>
  <li><code>$(...)</code> syntax now properly returns non-error codes</li>
</ul>

<p><strong>Features added in version 0.78</strong></p>
................................................................................
  <li>Documentation updates to improve consistency, remove obsolete commands, add some missing commands</li>
  <li><code>exec</code> no longer forces <code>SIGPIPE</code> disposition to <code>SIG_DFL</code></li>
  <li>Update autosetup to v0.6.9 with optimised insert/delete</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-release-0-79/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-79/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|



|





|
<







|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60

61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
..
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Jim Tcl version 0.79</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_jim-release-0-79" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">Jim Tcl version 0.79</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Wednesday, 20 November 2019</p>
            <h2 class="news">Jim Tcl version 0.79</h2>
        
        <h2 id="announce-jim-tcl-version-079">ANNOUNCE: Jim Tcl version 0.79</h2>

<p>Jim Tcl 0.79 has been released and is available from:</p>

<p><a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<p>Find out all about Jim Tcl at <a href="http://jim.tcl.tk/">http://jim.tcl.tk/</a></p>

<h2 id="changes-since-version-078">CHANGES SINCE VERSION 0.78</h2>

<p>This release contains bug fixes plus a number of additional features. A summary is below. See git for the full changelog.</p>


<p>Thanks to everyone who contributed to this release.</p>

<p><strong>Bugs fixed in version 0.79</strong></p>

<ul>
  <li><code>aio</code> - Fix closing stdin in bootstrap jimsh</li>
  <li><code>clock scan</code> - Unspecified fields use the current date/time</li>
  <li>Fix linenoise assertion failure on Windows</li>
  <li><code>file</code> - Improved support for trailing slashes in pathnames</li>
  <li><code>regexp</code>, <code>regsub</code> - Various fixes in UTF-8 mode</li>
  <li><code>$(...)</code> syntax now properly returns non-error codes</li>
</ul>

<p><strong>Features added in version 0.78</strong></p>
................................................................................
  <li>Documentation updates to improve consistency, remove obsolete commands, add some missing commands</li>
  <li><code>exec</code> no longer forces <code>SIGPIPE</code> disposition to <code>SIG_DFL</code></li>
  <li>Update autosetup to v0.6.9 with optimised insert/delete</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-release-0-79/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-79/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/jim-sqlite-shell/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
..
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - jSQLsh - Jim Tcl SQLite Shell</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">jSQLsh - Jim Tcl SQLite Shell</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Tuesday, 04 October 2011</p>
			<h2 class="news">jSQLsh - Jim Tcl SQLite Shell</h2>
		
		<p>The jSQLsh project at <a href="https://github.com/LStinson/jSQLsh">https://github.com/LStinson/jSQLsh</a> provides
a small but powerful shell for sqlite, modelled after
<a href="http://www.postgresql.org/docs/9.0/static/app-psql.html">psql</a></p>

<p>The creator, Lorance Stinson, wanted an sqlite command shell which
addressed some of the deficiencies of the native sqlite command
shell, so he decided to create his own with Jim Tcl.</p>

................................................................................
  /u(ser)#    Copy user macro # into the query buffer.
  /u(ser)# -  Copy the query buffer, or supplied text, into macro #.
:memory: (0 rows, 0 changes) # 
</pre>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-sqlite-shell/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-sqlite-shell/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
..
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - jSQLsh - Jim Tcl SQLite Shell</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_jim-sqlite-shell" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">jSQLsh - Jim Tcl SQLite Shell</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Tuesday, 04 October 2011</p>
            <h2 class="news">jSQLsh - Jim Tcl SQLite Shell</h2>
        
        <p>The jSQLsh project at <a href="https://github.com/LStinson/jSQLsh">https://github.com/LStinson/jSQLsh</a> provides
a small but powerful shell for sqlite, modelled after
<a href="http://www.postgresql.org/docs/9.0/static/app-psql.html">psql</a></p>

<p>The creator, Lorance Stinson, wanted an sqlite command shell which
addressed some of the deficiencies of the native sqlite command
shell, so he decided to create his own with Jim Tcl.</p>

................................................................................
  /u(ser)#    Copy user macro # into the query buffer.
  /u(ser)# -  Copy the query buffer, or supplied text, into macro #.
:memory: (0 rows, 0 changes) # 
</pre>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-sqlite-shell/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-sqlite-shell/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/jim-tcl-tk-2011-paper/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Jim @ Tcl/Tk 2011</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">Jim @ Tcl/Tk 2011</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Thursday, 10 November 2011</p>
			<h2 class="news">Jim @ Tcl/Tk 2011</h2>
		
		<p>At the <a href="http://www.tcl.tk/community/tcl2011/">Tck/Tk 2011 conference</a> I
presented a paper on Jim Tcl. It seemed to be well received.</p>

<p>You can read the paper by clicking on the image below.</p>

<p><a href="http://workware.net.au/papers/jimtcl-tcl-tk-2011.pdf"><img src="../../img/jimtcl-tcl-tk-2011-front.png"></a></p>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-tcl-tk-2011-paper/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-tcl-tk-2011-paper/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|








|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Jim @ Tcl/Tk 2011</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_jim-tcl-tk-2011-paper" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">Jim @ Tcl/Tk 2011</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Thursday, 10 November 2011</p>
            <h2 class="news">Jim @ Tcl/Tk 2011</h2>
        
        <p>At the <a href="http://www.tcl.tk/community/tcl2011/">Tck/Tk 2011 conference</a> I
presented a paper on Jim Tcl. It seemed to be well received.</p>

<p>You can read the paper by clicking on the image below.</p>

<p><a href="http://workware.net.au/papers/jimtcl-tcl-tk-2011.pdf"><img src="../../img/jimtcl-tcl-tk-2011-front.png"></a></p>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/jim-tcl-tk-2011-paper/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/jim-tcl-tk-2011-paper/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/light-weight-namespaces/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
...
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Lightweight Namespaces</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">Lightweight Namespaces</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Thursday, 15 December 2011</p>
			<h2 class="news">Lightweight Namespaces</h2>
		
		<p>New in Jim Tcl v0.73 is (optional) support for namespaces.</p>

<p>The following is taken directly from README.namespaces in the Jim Tcl repository.</p>

<hr>

<h1 id="lightweight-namespaces-for-jim-tcl">Lightweight Namespaces for Jim Tcl</h1>

................................................................................
<h2 id="changes-in-the-core-jim-tcl">Changes in the core Jim Tcl</h2>
<p>Previously Jim Tcl performed no scoping of command names.  i.e. The
::format command was considered different from the format command.</p>

<p>Even if namespace support is disabled, the command resolution will
recognised global scoping of commands and treat these as identical.</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/light-weight-namespaces/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/light-weight-namespaces/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
...
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Lightweight Namespaces</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_light-weight-namespaces" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">Lightweight Namespaces</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Thursday, 15 December 2011</p>
            <h2 class="news">Lightweight Namespaces</h2>
        
        <p>New in Jim Tcl v0.73 is (optional) support for namespaces.</p>

<p>The following is taken directly from README.namespaces in the Jim Tcl repository.</p>

<hr>

<h1 id="lightweight-namespaces-for-jim-tcl">Lightweight Namespaces for Jim Tcl</h1>

................................................................................
<h2 id="changes-in-the-core-jim-tcl">Changes in the core Jim Tcl</h2>
<p>Previously Jim Tcl performed no scoping of command names.  i.e. The
::format command was considered different from the format command.</p>

<p>Even if namespace support is disabled, the command resolution will
recognised global scoping of commands and treat these as identical.</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/light-weight-namespaces/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/light-weight-namespaces/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/metakit-extension/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
..
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - New Metakit Extension</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">New Metakit Extension</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Tuesday, 06 September 2011</p>
			<h2 class="news">New Metakit Extension</h2>
		
		<p>Alexander Shpilkin has contributed the metakit extension to Jim Tcl.</p>

<p>Metakit (<a href="http://equi4.com/metakit/">http://equi4.com/metakit/</a>) is an embeddable non-SQL
database with advanced data manipulation features through the use of views.
Using metakit can be an alternative to sqlite.</p>

<p>The Jim Tcl metakit interface is different from the Tcl metakit interface as it
makes use of unique Jim Tcl features such as references. The <a href="../../documentation/metakit/">metakit extension</a>
................................................................................
$ make
$ ./jimsh examples/metakit.tcl
  ...
</pre>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/metakit-extension/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/metakit-extension/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
..
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - New Metakit Extension</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_metakit-extension" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">New Metakit Extension</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Tuesday, 06 September 2011</p>
            <h2 class="news">New Metakit Extension</h2>
        
        <p>Alexander Shpilkin has contributed the metakit extension to Jim Tcl.</p>

<p>Metakit (<a href="http://equi4.com/metakit/">http://equi4.com/metakit/</a>) is an embeddable non-SQL
database with advanced data manipulation features through the use of views.
Using metakit can be an alternative to sqlite.</p>

<p>The Jim Tcl metakit interface is different from the Tcl metakit interface as it
makes use of unique Jim Tcl features such as references. The <a href="../../documentation/metakit/">metakit extension</a>
................................................................................
$ make
$ ./jimsh examples/metakit.tcl
  ...
</pre>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/metakit-extension/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/metakit-extension/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Added www/articles/move-to-github/index.html.







































































































































































































































>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Move primary repo to github</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_move-to-github" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>

            
                <a href="../">All News Articles</a>

            
                <a href="./">Move primary repo to github</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Monday, 03 February 2020</p>
            <h2 class="news">Move primary repo to github</h2>
        
        <h2 id="announce-jim-tcl-is-moving-to-github">ANNOUNCE: Jim Tcl is moving to github</h2>

<p>As repo.or.cz has been down for some time, the mirror at github
has now been desginated as the primary repository.</p>

<p><a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/move-to-github/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/move-to-github/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/new-comment-system/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - New Comment System</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">New Comment System</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Friday, 10 June 2011</p>
			<h2 class="news">New Comment System</h2>
		
		<p>I have added a comment system to the Jim Tcl website.
Let me know if there are any problems with it.</p>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/new-comment-system/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/new-comment-system/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|




|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - New Comment System</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_new-comment-system" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">New Comment System</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Friday, 10 June 2011</p>
            <h2 class="news">New Comment System</h2>
        
        <p>I have added a comment system to the Jim Tcl website.
Let me know if there are any problems with it.</p>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/new-comment-system/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/new-comment-system/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/no-namespaces-revisited/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
...
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Coping without Namespaces - Revisited</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">Coping without Namespaces - Revisited</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Friday, 10 February 2012</p>
			<h2 class="news">Coping without Namespaces - Revisited</h2>
		
		<p>Back in the article <a href="../no-namespaces/">Coping without Namespaces</a>,
we discussed that fact that Jim Tcl did not support namespaces, but
that small changes to the source could be made to allow namespace-based
Tcl code to be ported for use with Jim Tcl.</p>

<p>Now with <a href="../light-weight-namespaces/">namespaces supported</a>
in <a href="../jim-release-0.73/">Jim Tcl 0.73</a>, porting Tcl code
which makes use of namespaces is easier than ever.</p>
................................................................................
<p>Notice that no namespace-related changes were required when porting this module.</p>

<p>The latest version of <a href="https://github.com/msteveb/jimtcl/blob/ad3b3c48c9d7e9/examples/dns.tcl">dns.tcl for Jim Tcl</a> is
available in git.</p>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/no-namespaces-revisited/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/no-namespaces-revisited/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
...
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Coping without Namespaces - Revisited</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_no-namespaces-revisited" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">Coping without Namespaces - Revisited</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Friday, 10 February 2012</p>
            <h2 class="news">Coping without Namespaces - Revisited</h2>
        
        <p>Back in the article <a href="../no-namespaces/">Coping without Namespaces</a>,
we discussed that fact that Jim Tcl did not support namespaces, but
that small changes to the source could be made to allow namespace-based
Tcl code to be ported for use with Jim Tcl.</p>

<p>Now with <a href="../light-weight-namespaces/">namespaces supported</a>
in <a href="../jim-release-0.73/">Jim Tcl 0.73</a>, porting Tcl code
which makes use of namespaces is easier than ever.</p>
................................................................................
<p>Notice that no namespace-related changes were required when porting this module.</p>

<p>The latest version of <a href="https://github.com/msteveb/jimtcl/blob/ad3b3c48c9d7e9/examples/dns.tcl">dns.tcl for Jim Tcl</a> is
available in git.</p>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/no-namespaces-revisited/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/no-namespaces-revisited/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/articles/no-namespaces/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
53
54
55
...
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Coping without Namespaces</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">All News Articles</a> 
			» 

		
			<a href="./">Coping without Namespaces</a> 
			 
		

		</div>
		<div class="main" id="main">
		
			<p class="articledate">Thursday, 26 May 2011</p>
			<h2 class="news">Coping without Namespaces</h2>
		
		<p>One of the features of Tcl which Jim lacks is support for
<a href="http://www.tcl.tk/man/tcl8.5/TclCmd/namespace.htm">namespaces</a>.</p>

<p>The lack of namespaces in Jim is generally not a problem in the
small, embedded applications for which Jim is most suited. However
occasionally it useful to be able to port Tcl code which uses
namespace.  For example, <a href="http://tcllib.sourceforge.net/">tcllib</a>
makes heavy use of namespaces. This article describes one approach
................................................................................
  <li>Replace the use of <code>namespace current</code> with the namespace name</li>
  <li>Replace the use of <code>namespace origin</code> with the namespace name</li>
  <li>Use the <code>variable</code> proc to declare variables within procs</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

		
			<hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/no-namespaces/'; 
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/no-namespaces/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|
|
|
|







 







|
|



|










|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
...
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Coping without Namespaces</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_articles_no-namespaces" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">All News Articles</a>


            
                <a href="./">Coping without Namespaces</a>
                
            
        
        </div>
        <div class="main" id="main">
        
            <p class="articledate">Thursday, 26 May 2011</p>
            <h2 class="news">Coping without Namespaces</h2>
        
        <p>One of the features of Tcl which Jim lacks is support for
<a href="http://www.tcl.tk/man/tcl8.5/TclCmd/namespace.htm">namespaces</a>.</p>

<p>The lack of namespaces in Jim is generally not a problem in the
small, embedded applications for which Jim is most suited. However
occasionally it useful to be able to port Tcl code which uses
namespace.  For example, <a href="http://tcllib.sourceforge.net/">tcllib</a>
makes heavy use of namespaces. This article describes one approach
................................................................................
  <li>Replace the use of <code>namespace current</code> with the namespace name</li>
  <li>Replace the use of <code>namespace origin</code> with the namespace name</li>
  <li>Use the <code>variable</code> proc to declare variables within procs</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>

        
            <hr id="#comments">
<div id="disqus_thread"></div>
<script type="text/javascript">
	var disqus_shortname = 'jimtcl';
	var disqus_identifier = '/articles/no-namespaces/';
	
	var disqus_url = 'http://jim.tcl.tk/index.html/doc/www/www/articles/no-namespaces/';
	(function() {
		var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
		dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
		(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
	})();
</script>
<a href="http://disqus.com" class="dsq-brlink">comments powered by <span class="logo-disqus">Disqus</span></a>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/documentation/functional/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
...
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Functional Programming</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">Documentation</a> 
			» 

		
			<a href="./">Functional Programming</a> 
			 
		

		</div>
		<div class="main" id="main">
		
		<h1 id="functional-programming-for-jim-tcl">Functional Programming for Jim Tcl</h1>

<h2 id="garbage-collection-references-lambda">GARBAGE COLLECTION, REFERENCES, LAMBDA</h2>
<p>Unlike Tcl, Jim has some sophisticated support for functional programming.
These are described briefly below.</p>

<p>More information may be found at http://wiki.tcl.tk/13847</p>

................................................................................

<p>Indeed this is not an example! This is the real implementation of lambda in Jim. This is how it works: it creates a reference with an empty string as content, using as tag “function”, and LambdaFinalizer as finalizer procedure. Then a normal Tcl procedure having with name the reference is created, and its name returned. Done!</p>

<p>Once every reference to the procedure is lost, the finalizer will be called, and it will just use rename to delete the procedure. Note that this is possible because Jim does not scan variables or command names for references.</p>

<p>Jim references are the basis of the Jim Object System.</p>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|







 







|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
...
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Functional Programming</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_documentation_functional" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">Documentation</a>


            
                <a href="./">Functional Programming</a>
                
            
        
        </div>
        <div class="main" id="main">
        
        <h1 id="functional-programming-for-jim-tcl">Functional Programming for Jim Tcl</h1>

<h2 id="garbage-collection-references-lambda">GARBAGE COLLECTION, REFERENCES, LAMBDA</h2>
<p>Unlike Tcl, Jim has some sophisticated support for functional programming.
These are described briefly below.</p>

<p>More information may be found at http://wiki.tcl.tk/13847</p>

................................................................................

<p>Indeed this is not an example! This is the real implementation of lambda in Jim. This is how it works: it creates a reference with an empty string as content, using as tag “function”, and LambdaFinalizer as finalizer procedure. Then a normal Tcl procedure having with name the reference is created, and its name returned. Done!</p>

<p>Once every reference to the procedure is lost, the finalizer will be called, and it will just use rename to delete the procedure. Note that this is possible because Jim does not scan variables or command names for references.</p>

<p>Jim references are the basis of the Jim Object System.</p>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/documentation/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37
38

39
40
41
42
43
44
45
46
47
48
49
..
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Documentation</title>
    <link rel="stylesheet" type="text/css" href="../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../css/sh_style.css" media="screen">
	
	<script src="../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../">The Jim Interpreter</a> 
			» 

		
			<a href="./">Documentation</a> 
			 
		

		</div>
		<div class="main" id="main">
		
		<h1 id="jim-tcl-documentation">Jim Tcl Documentation</h1>

<h2 id="overview">Overview</h2>

<p>Jim includes an extensive <a href="http://jim.tcl.tk/fossil/doc/trunk/Tcl_shipped.html">User Reference Manual</a></p>

<p>Jim is highly compatible implementation of the Tcl programming
language.  Despite some differences, it is not a new language, so
................................................................................
<ul>
  <li><a href="oo/">Object Oriented Extension</a></li>
  <li><a href="sqlite/">Sqlite Extension</a></li>
  <li><a href="utf8/">UTF-8 and Unicode</a></li>
  <li><a href="metakit/">Metakit Extension</a></li>
</ul>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../download/">Download</a></li>
		
			
			<li class="stdlink"><span class="active">Documentation</span></li>
		
			
			<li class="stdlink"><a href="../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
|
|
>
|
|
|
|







 







|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
..
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Documentation</title>
        <link rel="stylesheet" type="text/css" href="../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../css/sh_style.css" media="screen">
        
        <script src="../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_documentation" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../">The Jim Interpreter</a>


            
                <a href="./">Documentation</a>
                
            
        
        </div>
        <div class="main" id="main">
        
        <h1 id="jim-tcl-documentation">Jim Tcl Documentation</h1>

<h2 id="overview">Overview</h2>

<p>Jim includes an extensive <a href="http://jim.tcl.tk/fossil/doc/trunk/Tcl_shipped.html">User Reference Manual</a></p>

<p>Jim is highly compatible implementation of the Tcl programming
language.  Despite some differences, it is not a new language, so
................................................................................
<ul>
  <li><a href="oo/">Object Oriented Extension</a></li>
  <li><a href="sqlite/">Sqlite Extension</a></li>
  <li><a href="utf8/">UTF-8 and Unicode</a></li>
  <li><a href="metakit/">Metakit Extension</a></li>
</ul>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../download/">Download</a></li>
            
                
                <li class="stdlink"><span class="active">Documentation</span></li>
            
                
                <li class="stdlink"><a href="../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/documentation/metakit/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
...
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Metakit</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">Documentation</a> 
			» 

		
			<a href="./">Metakit</a> 
			 
		

		</div>
		<div class="main" id="main">
		
		<h1 id="metakit-extension-for-jim-tcl">Metakit Extension for Jim Tcl</h1>

<h2 id="overview">OVERVIEW</h2>
<p>The mk extension provides an interface to the Metakit small-footprint
embeddable database library (<a href="http://equi4.com/metakit/">http://equi4.com/metakit/</a>). The underlying
library is efficient at manipulating not-so-large amounts of data and takes a
different approach to composing database operations than common SQL-based
relational databases.</p>
................................................................................
arguments. Remember to <code>pin</code> the view handle in view methods if you call more
than one method of it!</p>

<p>Custom <code>cursor</code> subcommands may also be defined by creating a procedure called
{<code>cursor</code> <em>methodName</em>}. These receive all the arguments without any
modifications.</p>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|







 







|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
...
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Metakit</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_documentation_metakit" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">Documentation</a>


            
                <a href="./">Metakit</a>
                
            
        
        </div>
        <div class="main" id="main">
        
        <h1 id="metakit-extension-for-jim-tcl">Metakit Extension for Jim Tcl</h1>

<h2 id="overview">OVERVIEW</h2>
<p>The mk extension provides an interface to the Metakit small-footprint
embeddable database library (<a href="http://equi4.com/metakit/">http://equi4.com/metakit/</a>). The underlying
library is efficient at manipulating not-so-large amounts of data and takes a
different approach to composing database operations than common SQL-based
relational databases.</p>
................................................................................
arguments. Remember to <code>pin</code> the view handle in view methods if you call more
than one method of it!</p>

<p>Custom <code>cursor</code> subcommands may also be defined by creating a procedure called
{<code>cursor</code> <em>methodName</em>}. These receive all the arguments without any
modifications.</p>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/documentation/oo/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
...
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Object Oriented</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">Documentation</a> 
			» 

		
			<a href="./">Object Oriented</a> 
			 
		

		</div>
		<div class="main" id="main">
		
		<h1 id="object-oriented-support-for-jim-tcl">Object Oriented Support for Jim Tcl</h1>

<h2 id="overview">OVERVIEW</h2>

<p>The pure-Tcl oo package leverages Jim’s unique strengths
to provide support for Object Oriented programming.</p>

<p>The oo package can be statically linked with Jim or installed
................................................................................

<p>The method dispatch is via a two step process. Firstly the object procedure is invoked
with the method name. This procedure then invokes “classname method” which sets up
the appropriate access to the object variables, and then invokes the method body.</p>

<h2 id="examples">EXAMPLES</h2>

<h3 id="treetclhttprepoorczwjimtclgitblobheadtreetcl"><a href="http://repo.or.cz/w/jimtcl.git/blob/HEAD:/tree.tcl">tree.tcl</a></h3>

<p>The <code>tree</code> package is implemented using the <code>oo</code> package.
See the source code in tree.tcl and a usage example in tests/tree.test</p>

<p>Of particular note is how callbacks and recursive invocation is used in the <code>walk</code> method.</p>

<h3 id="examplesootesttclhttprepoorczwjimtclgitblobheadexamplesootesttcl"><a href="http://repo.or.cz/w/jimtcl.git/blob/HEAD:/examples/ootest.tcl">examples/ootest.tcl</a></h3>

<p>A comprehensive OO example is provided in examples/ootest.tcl.</p>

<p>It can be run simply as:</p>

<pre class="sh_unix">$ ./jimsh examples/ootest.tcl
</pre>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|







 







|






|








|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
...
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Object Oriented</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_documentation_oo" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">Documentation</a>


            
                <a href="./">Object Oriented</a>
                
            
        
        </div>
        <div class="main" id="main">
        
        <h1 id="object-oriented-support-for-jim-tcl">Object Oriented Support for Jim Tcl</h1>

<h2 id="overview">OVERVIEW</h2>

<p>The pure-Tcl oo package leverages Jim’s unique strengths
to provide support for Object Oriented programming.</p>

<p>The oo package can be statically linked with Jim or installed
................................................................................

<p>The method dispatch is via a two step process. Firstly the object procedure is invoked
with the method name. This procedure then invokes “classname method” which sets up
the appropriate access to the object variables, and then invokes the method body.</p>

<h2 id="examples">EXAMPLES</h2>

<h3 id="treetclhttpsgithubcommstevebjimtclblobmastertreetcl"><a href="https://github.com/msteveb/jimtcl/blob/master/tree.tcl">tree.tcl</a></h3>

<p>The <code>tree</code> package is implemented using the <code>oo</code> package.
See the source code in tree.tcl and a usage example in tests/tree.test</p>

<p>Of particular note is how callbacks and recursive invocation is used in the <code>walk</code> method.</p>

<h3 id="examplesootesttclhttpsgithubcommstevebjimtclblobmasterexamplesootesttcl"><a href="https://github.com/msteveb/jimtcl/blob/master/examples/ootest.tcl">examples/ootest.tcl</a></h3>

<p>A comprehensive OO example is provided in examples/ootest.tcl.</p>

<p>It can be run simply as:</p>

<pre class="sh_unix">$ ./jimsh examples/ootest.tcl
</pre>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/documentation/sqlite/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
...
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Sqlite Extension</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">Documentation</a> 
			» 

		
			<a href="./">Sqlite Extension</a> 
			 
		

		</div>
		<div class="main" id="main">
		
		<h1 id="sqlite-support-for-jim-tcl">Sqlite Support for Jim Tcl</h1>

<h2 id="overview">OVERVIEW</h2>

<p>The sqlite and sqlite3 extensions makes possible to work with
<a href="http://www.sqlite.org">sqlite</a> databases from Jim. SQLite is a
small C library that implements a self-contained, embeddable,
zero-configuration SQL database engine. This means it is perfect
................................................................................
$db close
foreach r $res {puts $r(author)}
</pre>

<p>Of course once the Jim process is destroyed the database will no longer
exists.</p>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|







 







|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
...
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Sqlite Extension</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_documentation_sqlite" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">Documentation</a>


            
                <a href="./">Sqlite Extension</a>
                
            
        
        </div>
        <div class="main" id="main">
        
        <h1 id="sqlite-support-for-jim-tcl">Sqlite Support for Jim Tcl</h1>

<h2 id="overview">OVERVIEW</h2>

<p>The sqlite and sqlite3 extensions makes possible to work with
<a href="http://www.sqlite.org">sqlite</a> databases from Jim. SQLite is a
small C library that implements a self-contained, embeddable,
zero-configuration SQL database engine. This means it is perfect
................................................................................
$db close
foreach r $res {puts $r(author)}
</pre>

<p>Of course once the Jim process is destroyed the database will no longer
exists.</p>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/documentation/utf8/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37

38
39
40
41

42
43
44
45
46
47
48
49
50
51
52
...
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - UTF-8 and Unicode</title>
    <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
	
	<script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../../">The Jim Interpreter</a> 
			» 

		
			<a href="../">Documentation</a> 
			» 

		
			<a href="./">UTF-8 and Unicode</a> 
			 
		

		</div>
		<div class="main" id="main">
		
		<h1 id="utf-8-and-unicode">UTF-8 AND UNICODE</h1>

<h2 id="overview">Overview</h2>
<p>Traditionally Jim Tcl has support strings, including binary strings containing
nulls, however it has had no support for multi-byte character encodings.</p>

<p>In some fields, such as when dealing with the web or other user-generated content,
support for multi-byte character encodings is necessary.
................................................................................

<ol>
  <li>Build Jim without UTF-8 support</li>
  <li>Arrange to encode and decode binary data or data in other encodings
to UTF-8 before manipulation.</li>
</ol>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
<
>
|
|
|
|
>
|
|
|
|







 







|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
...
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - UTF-8 and Unicode</title>
        <link rel="stylesheet" type="text/css" href="../../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../../css/sh_style.css" media="screen">
        
        <script src="../../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_documentation_utf8" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../../">The Jim Interpreter</a>


            
                <a href="../">Documentation</a>


            
                <a href="./">UTF-8 and Unicode</a>
                
            
        
        </div>
        <div class="main" id="main">
        
        <h1 id="utf-8-and-unicode">UTF-8 AND UNICODE</h1>

<h2 id="overview">Overview</h2>
<p>Traditionally Jim Tcl has support strings, including binary strings containing
nulls, however it has had no support for multi-byte character encodings.</p>

<p>In some fields, such as when dealing with the web or other user-generated content,
support for multi-byte character encodings is necessary.
................................................................................

<ol>
  <li>Build Jim without UTF-8 support</li>
  <li>Arrange to encode and decode binary data or data in other encodings
to UTF-8 before manipulation.</li>
</ol>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/download/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37
38

39
40
41
42
43
44
45
46
47
48
49


50
51
52

53
54
55
56
57
58
59
60
61
62
63
64
65
...
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Get Jim Tcl</title>
    <link rel="stylesheet" type="text/css" href="../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../css/sh_style.css" media="screen">
	
	<script src="../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../">The Jim Interpreter</a> 
			» 

		
			<a href="./">Get Jim Tcl</a> 
			 
		

		</div>
		<div class="main" id="main">
		
		<h2 id="get-it">Get It</h2>

<p>Jim Tcl source is available from the git repository.</p>

<p>See <a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a> or
the github mirror at <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<pre class="sh_unix">$ git clone git://repo.or.cz/jimtcl.git


remote: Counting objects: 3703, done.
remote: Compressing objects: 100% (907/907), done.
remote: Total 3703 (delta 2715), reused 3703 (delta 2715)

Receiving objects: 100% (3703/3703), 1.88 MiB | 437 KiB/s, done.
Resolving deltas: 100% (2715/2715), done.
</pre>

<p><strong>Note:</strong> The source code may be downloaded from <code>repo.or.cz</code> as a <em>tar.gz</em> or <em>zip</em> file
      instead if you don’t have git available.</p>

<h2 id="build-it">Build It</h2>

<p>You will need:</p>

<ul>
  <li>a C compiler</li>
................................................................................
</pre>

<h2 id="try-it">Try It</h2>

<p>The Jim Tcl shell can be run interactively.</p>

<pre class="sh_unix">$ ./jimsh 
Welcome to Jim version 0.71
. 
</pre>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../news/">News</a></li>
		
			
			<li class="stdlink"><span class="active">Download</span></li>
		
			
			<li class="stdlink"><a href="../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
|
|
>
|
|
|
|



<
|

|
>
>
|
|
<
>
|
|


|
|







 







|



|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37
38
39
40
41
42
43
44
45
46
47

48
49
50
51
52
53
54

55
56
57
58
59
60
61
62
63
64
65
66
67
68
...
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Get Jim Tcl</title>
        <link rel="stylesheet" type="text/css" href="../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../css/sh_style.css" media="screen">
        
        <script src="../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_download" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../">The Jim Interpreter</a>


            
                <a href="./">Get Jim Tcl</a>
                
            
        
        </div>
        <div class="main" id="main">
        
        <h2 id="get-it">Get It</h2>

<p>Jim Tcl source is available from the git repository.</p>


<p>See <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<pre class="sh_unix">$ git clone https://github.com/msteveb/jimtcl.git
Cloning into 'jimtcl'...
remote: Enumerating objects: 126, done.
remote: Counting objects: 100% (126/126), done.
remote: Compressing objects: 100% (80/80), done.

remote: Total 7761 (delta 65), reused 89 (delta 45), pack-reused 7635
Receiving objects: 100% (7761/7761), 11.45 MiB | 5.47 MiB/s, done.
Resolving deltas: 100% (4964/4964), done.
</pre>

<p><strong>Note:</strong> The source code may be downloaded as a <em>tar.gz</em> or <em>zip</em> file
      instead if you don’t have git available. e.g. <a href="https://github.com/msteveb/jimtcl/archive/master.zip">https://github.com/msteveb/jimtcl/archive/master.zip</a></p>

<h2 id="build-it">Build It</h2>

<p>You will need:</p>

<ul>
  <li>a C compiler</li>
................................................................................
</pre>

<h2 id="try-it">Try It</h2>

<p>The Jim Tcl shell can be run interactively.</p>

<pre class="sh_unix">$ ./jimsh 
Welcome to Jim version 0.79
. 
</pre>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../news/">News</a></li>
            
                
                <li class="stdlink"><span class="active">Download</span></li>
            
                
                <li class="stdlink"><a href="../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/extensions/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37
38

39
40
41
42
43
44
45
46
47
48
49
...
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - Extensions</title>
    <link rel="stylesheet" type="text/css" href="../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../css/sh_style.css" media="screen">
	
	<script src="../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../">The Jim Interpreter</a> 
			» 

		
			<a href="./">Extensions</a> 
			 
		

		</div>
		<div class="main" id="main">
		
		<div>
<!-- vim: syntax=markdown:
-->
</div>

<h1 id="extensions-available">Extensions available</h1>
<p>The following is a list of extensions available inside the Jim
core distribution. Note that any pure-Tcl extension may be compiled
................................................................................
win32.GetTickCount win32.SetActiveWindow
win32.Beep win32.FindWindow win32.CreateWindow
win32.SetForegroundWindow win32.SetComputerName
win32.LoadCursor </pre>
  </dd>
</dl>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><span class="active">Extensions</span></li>
		
			
			<li class="stdlink"><a href="../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
|
|
>
|
|
|
|







 







|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
...
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - Extensions</title>
        <link rel="stylesheet" type="text/css" href="../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../css/sh_style.css" media="screen">
        
        <script src="../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_extensions" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../">The Jim Interpreter</a>


            
                <a href="./">Extensions</a>
                
            
        
        </div>
        <div class="main" id="main">
        
        <div>
<!-- vim: syntax=markdown:
-->
</div>

<h1 id="extensions-available">Extensions available</h1>
<p>The following is a list of extensions available inside the Jim
core distribution. Note that any pure-Tcl extension may be compiled
................................................................................
win32.GetTickCount win32.SetActiveWindow
win32.Beep win32.FindWindow win32.CreateWindow
win32.SetForegroundWindow win32.SetComputerName
win32.LoadCursor </pre>
  </dd>
</dl>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><span class="active">Extensions</span></li>
            
                
                <li class="stdlink"><a href="../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/feed.xml.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
<!--?xml version="1.0" encoding="UTF-8"?-->
<feed xmlns="http://www.w3.org/2005/Atom" xml:base="http://jim.tcl.tk/index.html/doc/www/www/">
  <id>http://jim.tcl.tk/index.html/doc/www/www/</id>
  <title>Jim Tcl News</title>
  <updated>2019-11-20T00:00:00Z</updated>
  <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/" type="text/html">
  <link rel="self" href="http://jim.tcl.tk/index.html/doc/www/www/feed.xml" type="application/atom+xml">
  <author>
    <name>steveb@workware.net.au</name>
    <uri>mailto:steveb@workware.net.au</uri>
  </author>
  <entry>
    <id>tag:jim.tcl.tk,2019-11-20:/index.html/doc/www/www/articles/jim-release-0-79/</id>
    <title type="html">Jim Tcl version 0.79</title>
    <published>2019-11-20T00:00:00Z</published>
    <updated>2019-11-20T00:00:00Z</updated>
    <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-79/" type="text/html">
    <content type="html">&lt;h2 id="announce-jim-tcl-version-079"&gt;ANNOUNCE: Jim Tcl version 0.79&lt;/h2&gt;

&lt;p&gt;Jim Tcl 0.79 has been released and is available from:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://repo.or.cz/w/jimtcl.git"&gt;http://repo.or.cz/w/jimtcl.git&lt;/a&gt; or &lt;a href="https://github.com/msteveb/jimtcl"&gt;https://github.com/msteveb/jimtcl&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Find out all about Jim Tcl at &lt;a href="http://jim.tcl.tk/"&gt;http://jim.tcl.tk/&lt;/a&gt;&lt;/p&gt;

&lt;h2 id="changes-since-version-078"&gt;CHANGES SINCE VERSION 0.78&lt;/h2&gt;

&lt;p&gt;This release contains bug fixes plus a number of additional features.
A summary is below. See git for the full changelog.&lt;/p&gt;

&lt;p&gt;Thanks to everyone who contributed to this release.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bugs fixed in version 0.79&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;aio&lt;/code&gt; - Fix closing stdin in bootstrap jimsh&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;clock scan&lt;/code&gt; - Unspecified filed use the current date/time&lt;/li&gt;
  &lt;li&gt;Fix linenoise assertion failure on Windows&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;file&lt;/code&gt; - Improved support for trailing slashes in pathnames&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;regexp&lt;/code&gt;, &lt;code&gt;regsub&lt;/code&gt; - Various fixes in UTF-8 mode&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;$(...)&lt;/code&gt; syntax now properly returns non-error codes&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Features added in version 0.78&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;file&lt;/code&gt; - Add &lt;code&gt;mtimeus&lt;/code&gt; for microsecond resolution&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;file&lt;/code&gt; - Add missing &lt;code&gt;split&lt;/code&gt; subcommand&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;lreplace&lt;/code&gt; - Implement &lt;a href="https://core.tcl-lang.org/tips/doc/trunk/tip/505.md"&gt;TIP #505&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;aio&lt;/code&gt; - Add dgram unix socket support&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;aio&lt;/code&gt; - Add support for &lt;code&gt;lock -wait&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;aio copyto&lt;/code&gt; - Significantly improve performance&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;aio tty&lt;/code&gt; - Allow setting echo&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;signal&lt;/code&gt; - Add &lt;code&gt;block&lt;/code&gt; for blocking signals with &lt;code&gt;SIG_IGN&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Add built-in JSON support with the &lt;code&gt;json&lt;/code&gt; extension&lt;/li&gt;
  &lt;li&gt;Improve performance when indexing UTF-8 strings&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Other changes&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Documentation updates to improve consistency, remove obsolete commands, add some missing commands&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;exec&lt;/code&gt; no longer forces &lt;code&gt;SIGPIPE&lt;/code&gt; disposition to &lt;code&gt;SIG_DFL&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Update autosetup to v0.6.9 with optimised insert/delete&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Steve Bennett (&lt;a href="mailto:steveb@workware.net.au"&gt;steveb@workware.net.au&lt;/a&gt;)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:jim.tcl.tk,2018-07-01:/index.html/doc/www/www/articles/jim-release-0-78/</id>
    <title type="html">Jim Tcl version 0.78</title>
    <published>2018-07-01T00:00:00Z</published>
    <updated>2018-07-01T00:00:00Z</updated>
    <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-78/" type="text/html">
    <content type="html">&lt;h2 id="announce-jim-tcl-version-078"&gt;ANNOUNCE: Jim Tcl version 0.78&lt;/h2&gt;

&lt;p&gt;Jim Tcl 0.78 has been released and is available from:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://repo.or.cz/w/jimtcl.git"&gt;http://repo.or.cz/w/jimtcl.git&lt;/a&gt; or &lt;a href="https://github.com/msteveb/jimtcl"&gt;https://github.com/msteveb/jimtcl&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Find out all about Jim Tcl at &lt;a href="http://jim.tcl.tk/"&gt;http://jim.tcl.tk/&lt;/a&gt;&lt;/p&gt;

&lt;h2 id="changes-since-version-077"&gt;CHANGES SINCE VERSION 0.77&lt;/h2&gt;

&lt;p&gt;This release contains some bug fixes plus a number of additional features.
A summary is below. See git for the full changelog.&lt;/p&gt;

&lt;p&gt;Thanks to everyone who contributed to this release.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bugs fixed in version 0.78&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;local&lt;/code&gt; - Fix crash when local command is deleted&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;history&lt;/code&gt; - When creating ~/.jim_history, set permissions to 0600 for security&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;exec&lt;/code&gt; - Fix windows exec with empty or unset env&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;exec&lt;/code&gt; - Fix check for &lt;code&gt;|&lt;/code&gt; and &lt;code&gt;|&amp;amp;&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;jim.c - Fix Object leak in zlib support&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;signal&lt;/code&gt; - Restore default signal handling on interp exit&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;dict&lt;/code&gt; - Fix [dict values] with duplicate values&lt;/li&gt;
  &lt;li&gt;Fix ‘/’ command, divide by zero&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;expr&lt;/code&gt; - Replace expression engine to fix a number of problems&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;zlib&lt;/code&gt; - Various fixes&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;lsort -unique&lt;/code&gt; - Fix case with no duplicates&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;aio tempname&lt;/code&gt; - Fix a crash when the template is invalid&lt;/li&gt;
  &lt;li&gt;Tcl compatibility - Error on extra characters after close brace&lt;/li&gt;
  &lt;li&gt;eventloop - Return from callback is not an error&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;oo&lt;/code&gt; - Fix &lt;code&gt;methods&lt;/code&gt; for superclasses&lt;/li&gt;
  &lt;li&gt;Various refcount and edge case fixes found by fuzz testing&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Features added in version 0.78&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Add support for utf-8 wide characters&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;aio&lt;/code&gt; - Add &lt;code&gt;tty&lt;/code&gt; for termios settings&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;aio&lt;/code&gt; - Add &lt;code&gt;sockopt&lt;/code&gt; for &lt;code&gt;broadcast&lt;/code&gt;, &lt;code&gt;tcp_nodelay&lt;/code&gt;, etc.&lt;/li&gt;
  &lt;li&gt;utf-8 - Update UnicodeData.txt to 9.0.0&lt;/li&gt;
  &lt;li&gt;jimsh - Add support for &lt;code&gt;jimsh -&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;jimsh - Scriptable command-line completion support via &lt;code&gt;tcl::autocomplete&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;history&lt;/code&gt; - Add autocompletion support &lt;code&gt;history completion &amp;lt;cmd&amp;gt;&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Add support for &lt;code&gt;-commands&lt;/code&gt; to many commands&lt;/li&gt;
  &lt;li&gt;Add pkg-config support - &lt;code&gt;jimtcl.pc&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;clock&lt;/code&gt; - Add &lt;code&gt;-gmt&lt;/code&gt; option to &lt;code&gt;format&lt;/code&gt; and &lt;code&gt;scan&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;tree&lt;/code&gt; - Allow nodes to be deleted&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;defer&lt;/code&gt;, &lt;code&gt;$jim::defer&lt;/code&gt; - Allow scripts to run on proc exit&lt;/li&gt;
  &lt;li&gt;eventloop - Support sub-millisecond timer resolution&lt;/li&gt;
  &lt;li&gt;Support &lt;code&gt;lambda&lt;/code&gt; even if references are disabled&lt;/li&gt;
  &lt;li&gt;Performance - Improve a number of common cases through caching&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;signal&lt;/code&gt;, &lt;code&gt;exec&lt;/code&gt;, &lt;code&gt;wait&lt;/code&gt;, &lt;code&gt;pid&lt;/code&gt;, &lt;code&gt;pipe&lt;/code&gt; - Many improvements&lt;/li&gt;
  &lt;li&gt;build - Support &lt;code&gt;--silent-rules&lt;/code&gt;, and enable by default&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;regexp&lt;/code&gt; - Implement class shorthand escapes in brackets&lt;/li&gt;
  &lt;li&gt;linenoise (&lt;code&gt;jimsh&lt;/code&gt;) - Add ^Z (SUSP) support&lt;/li&gt;
  &lt;li&gt;linenoise (&lt;code&gt;jismh&lt;/code&gt;) - Update to support multiline mode&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Other changes&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;signal&lt;/code&gt; - Remove the signal command from child interpreters&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;os.wait&lt;/code&gt; is now &lt;code&gt;wait&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;aio ssl&lt;/code&gt; now upgrades the current channel rather than creating a new channel&lt;/li&gt;
  &lt;li&gt;Update autosetup to v0.6.8&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Steve Bennett (&lt;a href="mailto:steveb@workware.net.au"&gt;steveb@workware.net.au&lt;/a&gt;)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:jim.tcl.tk,2016-09-04:/index.html/doc/www/www/articles/jim-release-0-77/</id>
    <title type="html">Jim Tcl version 0.77</title>
    <published>2016-09-04T00:00:00Z</published>
    <updated>2016-09-04T00:00:00Z</updated>
    <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-77/" type="text/html">
    <content type="html">&lt;h2 id="announce-jim-tcl-version-077"&gt;ANNOUNCE: Jim Tcl version 0.77&lt;/h2&gt;

&lt;p&gt;Jim Tcl 0.77 has been released and is available from:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://repo.or.cz/w/jimtcl.git"&gt;http://repo.or.cz/w/jimtcl.git&lt;/a&gt; or &lt;a href="https://github.com/msteveb/jimtcl"&gt;https://github.com/msteveb/jimtcl&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Find out all about Jim Tcl at &lt;a href="http://jim.tcl.tk/"&gt;http://jim.tcl.tk/&lt;/a&gt;&lt;/p&gt;

&lt;h2 id="changes-since-version-076"&gt;CHANGES SINCE VERSION 0.76&lt;/h2&gt;

&lt;p&gt;This release contains some bug fixes plus a number of additional features.
A summary is below. See git for the full changelog.&lt;/p&gt;

&lt;p&gt;Thanks to everyone who contributed to this release.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bugs fixed in version 0.77&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;exec&lt;/code&gt; - better handline of pipeline abnormal termination&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;exec&lt;/code&gt; - fix append redirection on Windows&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;regsub&lt;/code&gt; - fix substitution with trailing backslash&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;expr&lt;/code&gt; - improved mathfunc handling and &lt;code&gt;pow/**&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;chained tailcalls were not always being run&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Features added in version 0.77&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Add support for &lt;code&gt;configure --docdir=...&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Add support for &lt;code&gt;jimsh --help&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Add support for booleans in &lt;code&gt;string is&lt;/code&gt; and expressions (true, false, on, off, yes, no)&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;aio&lt;/code&gt; - add &lt;code&gt;sync&lt;/code&gt;, openssl bindings, posix locking&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;expr&lt;/code&gt; - add support for atan2, hypot and fmod&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;regexp&lt;/code&gt;, &lt;code&gt;regsub&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Add support for &lt;code&gt;\D&lt;/code&gt;, &lt;code&gt;\W&lt;/code&gt; and &lt;code&gt;\S&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;Add partial support for &lt;code&gt;\A&lt;/code&gt;, &lt;code&gt;\Z&lt;/code&gt;&lt;/li&gt;
      &lt;li&gt;Add support for all character classes: &lt;code&gt;[[::blank:]], [[::xdigit::]]&lt;/code&gt;, etc.&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Update included sqlite3 to v3.14.1&lt;/li&gt;
  &lt;li&gt;Add &lt;code&gt;$tcl_platform(engine)&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Add basic (optional) &lt;code&gt;zlib&lt;/code&gt; support&lt;/li&gt;
  &lt;li&gt;Add &lt;code&gt;interp&lt;/code&gt; child interprester support&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;oo&lt;/code&gt;:
    &lt;ul&gt;
      &lt;li&gt;Add support for constructor, runs on new object creation&lt;/li&gt;
      &lt;li&gt;Add support for &lt;code&gt;unknown&lt;/code&gt; method&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Add Travis and AppVeyor continuous integration support&lt;/li&gt;
  &lt;li&gt;Use &lt;code&gt;pkg-config&lt;/code&gt; in &lt;code&gt;configure&lt;/code&gt; to find packages if possibe&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Steve Bennett (&lt;a href="mailto:steveb@workware.net.au"&gt;steveb@workware.net.au&lt;/a&gt;)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:jim.tcl.tk,2015-01-31:/index.html/doc/www/www/articles/jim-release-0-76/</id>
    <title type="html">Jim Tcl version 0.76</title>
    <published>2015-01-31T00:00:00Z</published>
    <updated>2015-01-31T00:00:00Z</updated>
    <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-76/" type="text/html">
    <content type="html">&lt;h2 id="announce-jim-tcl-version-076"&gt;ANNOUNCE: Jim Tcl version 0.76&lt;/h2&gt;

&lt;p&gt;Jim Tcl 0.76 has been released and is available from:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://repo.or.cz/w/jimtcl.git"&gt;http://repo.or.cz/w/jimtcl.git&lt;/a&gt; or &lt;a href="https://github.com/msteveb/jimtcl"&gt;https://github.com/msteveb/jimtcl&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Find out all about Jim Tcl at &lt;a href="http://jim.tcl.tk/"&gt;http://jim.tcl.tk/&lt;/a&gt;&lt;/p&gt;

&lt;h2 id="changes-since-version-075"&gt;CHANGES SINCE VERSION 0.75&lt;/h2&gt;

&lt;p&gt;This release contains some bug fixes plus a number of additional features.
A summary is below. See git for the full changelog.&lt;/p&gt;

&lt;p&gt;Thanks to everyone who contributed to this release.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bugs fixed in version 0.76&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;file&lt;/code&gt; - fix stat file size for large files&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;array&lt;/code&gt; - avoid crash on unset variable&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;exec&lt;/code&gt;, file` - set umask before mkstemp&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;file copy&lt;/code&gt; - use binary mode when reading and writing files (Windows)&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;glob&lt;/code&gt; - work when intermediate dirs are not readable, and other fixes&lt;/li&gt;
  &lt;li&gt;aio - fix conflict between onexception and writable&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;namespace&lt;/code&gt; - restore namespace import support&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;alias&lt;/code&gt; - don’t rely on internal list never shimmering&lt;/li&gt;
  &lt;li&gt;Fix various minor problems reported by &lt;a href="http://www.coverity.com"&gt;coverity&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Fix &lt;code&gt;info nameofexecutable&lt;/code&gt; after &lt;code&gt;cd&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Features added in version 0.76&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;exec&lt;/code&gt;, file - respect $TMPDIR&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;aio&lt;/code&gt; - optional argument addrvar for accept.&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;string&lt;/code&gt; - implement &lt;code&gt;string cat&lt;/code&gt; (&lt;a href="http://www.tcl.tk/cgi-bin/tct/tip/429.html"&gt;TIP #429&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;file&lt;/code&gt; - add support for &lt;code&gt;file link&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;info&lt;/code&gt; - add support for &lt;code&gt;info source ?filename line?&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Better script validation (e.g. missing trailing brackets)&lt;/li&gt;
  &lt;li&gt;Install tcltest compatibility package&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Compatiblity&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Some invalid scripts will now throw an error rather than silently executing&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;glob&lt;/code&gt; is more Tcl-compatible with respect to &lt;code&gt;-directory&lt;/code&gt; and &lt;code&gt;-tails&lt;/code&gt;, so may affect some scripts&lt;/li&gt;
  &lt;li&gt;The output of errorInfo has changed from &lt;code&gt;"Runtime Error: &amp;lt;file&amp;gt;:&amp;lt;line&amp;gt;: ..."&lt;/code&gt; to &lt;code&gt;"&amp;lt;file&amp;gt;:&amp;lt;line&amp;gt;: Error: ..."&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Steve Bennett (&lt;a href="mailto:steveb@workware.net.au"&gt;steveb@workware.net.au&lt;/a&gt;)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:jim.tcl.tk,2014-02-27:/index.html/doc/www/www/articles/jim-release-0-75/</id>
    <title type="html">Jim Tcl version 0.75</title>
    <published>2014-02-27T00:00:00Z</published>
    <updated>2014-02-27T00:00:00Z</updated>
    <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-75/" type="text/html">
    <content type="html">&lt;h2 id="announce-jim-tcl-version-075"&gt;ANNOUNCE: Jim Tcl version 0.75&lt;/h2&gt;

&lt;p&gt;Jim Tcl 0.75 has been released and is available from:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://repo.or.cz/w/jimtcl.git"&gt;http://repo.or.cz/w/jimtcl.git&lt;/a&gt; or &lt;a href="https://github.com/msteveb/jimtcl"&gt;https://github.com/msteveb/jimtcl&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Find out all about Jim Tcl at &lt;a href="http://jim.tcl.tk/"&gt;http://jim.tcl.tk/&lt;/a&gt;&lt;/p&gt;

&lt;h2 id="changes-since-version-074"&gt;CHANGES SINCE VERSION 0.74&lt;/h2&gt;

&lt;p&gt;This release contains some bug fixes plus a number of additional features.
A summary is below. See git for the full changelog.&lt;/p&gt;

&lt;p&gt;Thanks to everyone who contributed to this release.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bugs fixed in version 0.75&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;eventloop - Correct file handler should be deleted&lt;/li&gt;
  &lt;li&gt;eventloop - Fix memory management of aio event handlers&lt;/li&gt;
  &lt;li&gt;local - Requires at least one argument&lt;/li&gt;
  &lt;li&gt;exec - Support nulls in &lt;code&gt;exec&lt;/code&gt; immediate redirection&lt;/li&gt;
  &lt;li&gt;binary - More compliant with Tcl&lt;/li&gt;
  &lt;li&gt;aio - Fix aio recvfrom for non-inet socket&lt;/li&gt;
  &lt;li&gt;Fix &lt;code&gt;string tolower&lt;/code&gt; buffer overflow for non-utf8&lt;/li&gt;
  &lt;li&gt;jimsh - consider scripts with trailing backslash as unfinished&lt;/li&gt;
  &lt;li&gt;Properly respect backslashes in comments&lt;/li&gt;
  &lt;li&gt;Avoid infinite recursion with namespace import&lt;/li&gt;
  &lt;li&gt;Fix dict/list shimmering with embedded nulls&lt;/li&gt;
  &lt;li&gt;Fix &lt;code&gt;aio close&lt;/code&gt; from non-global namespace&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;tailcall&lt;/code&gt; should resolve command in current namespace&lt;/li&gt;
  &lt;li&gt;errors caught by &lt;code&gt;catch&lt;/code&gt; shouldn`t affect later stacktrace&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;tailcall&lt;/code&gt;: properly merge tailcall frames&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;exec&lt;/code&gt;: fix reaping of detached processes&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;clock&lt;/code&gt;: handle case of format string too long&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;format&lt;/code&gt;: fix format %hd on some platforms&lt;/li&gt;
  &lt;li&gt;jim.c: fix some dict/list shimmering issues&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Features added in version 0.75&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;binary&lt;/code&gt;, &lt;code&gt;pack&lt;/code&gt; and &lt;code&gt;unpack&lt;/code&gt; now support floating point&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;file copy&lt;/code&gt; &lt;code&gt;-force&lt;/code&gt; handles source and target as the same file&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;format&lt;/code&gt; now supports &lt;code&gt;%b&lt;/code&gt; for binary conversion&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;lsort&lt;/code&gt; now supports &lt;code&gt;-unique&lt;/code&gt; and &lt;code&gt;-real&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Add support for half-close with &lt;code&gt;aio close ?r|w?&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Add &lt;code&gt;socket pair&lt;/code&gt; for a bidirectional pipe&lt;/li&gt;
  &lt;li&gt;Add –random-hash to randomise hash tables for greater security&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;dict&lt;/code&gt; now supports &lt;code&gt;for&lt;/code&gt;, &lt;code&gt;values&lt;/code&gt;, &lt;code&gt;incr&lt;/code&gt;, &lt;code&gt;append&lt;/code&gt;, &lt;code&gt;lappend&lt;/code&gt;, &lt;code&gt;update&lt;/code&gt;, &lt;code&gt;info&lt;/code&gt; and &lt;code&gt;replace&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;file stat&lt;/code&gt; no longer requires the variable name&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Compatiblity&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;The deprecated &lt;code&gt;case&lt;/code&gt; command has been removed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Steve Bennett (&lt;a href="mailto:steveb@workware.net.au"&gt;steveb@workware.net.au&lt;/a&gt;)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:jim.tcl.tk,2014-01-24:/index.html/doc/www/www/articles/binary-cheatsheet/</id>
    <title type="html">Binary Cheatsheet</title>
    <published>2014-01-24T00:00:00Z</published>
    <updated>2014-01-24T00:00:00Z</updated>
    <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/articles/binary-cheatsheet/" type="text/html">
    <content type="html">&lt;p&gt;I have been using Tcl for years, but I &lt;em&gt;still&lt;/em&gt; need to lookup the manual every
time I use &lt;code&gt;binary format&lt;/code&gt; and &lt;code&gt;binary scan&lt;/code&gt;. If you are like me, you will find
this cheatsheet a handy reference.&lt;/p&gt;

&lt;table&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code&gt; &lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&lt;strong&gt;Endian&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;strong&gt;Little&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;&lt;strong&gt;Big&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;&lt;strong&gt;Host&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;&lt;strong&gt;Type&lt;/strong&gt;&lt;/td&gt;
      &lt;td&gt;&lt;strong&gt;Notes&lt;/strong&gt;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code&gt;a&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
      &lt;td&gt;byte string&lt;/td&gt;
      &lt;td&gt;format pads with nulls&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code&gt;A&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
      &lt;td&gt;byte string&lt;/td&gt;
      &lt;td&gt;format pads with spaces, scan strips trailing spaces/nulls&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code&gt;b&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&lt;code&gt;B&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
      &lt;td&gt;binary digits&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code&gt;h&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&lt;code&gt;H&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
      &lt;td&gt;hex digits&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code&gt;c&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
      &lt;td&gt;8 bit integer list&lt;/td&gt;
      &lt;td&gt;In other words, ASCII chars&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code&gt;s&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&lt;code&gt;S&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&lt;code&gt;t&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;16 bit integer list&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code&gt;i&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&lt;code&gt;I&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&lt;code&gt;n&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;32 bit integer list&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code&gt;w&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&lt;code&gt;W&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&lt;code&gt;m&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;64 bit integer list&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code&gt;r&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&lt;code&gt;R&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&lt;code&gt;f&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;single prec. float list&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code&gt;q&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&lt;code&gt;Q&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&lt;code&gt;d&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;double prec. float list&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code&gt;x&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
      &lt;td&gt;null bytes&lt;/td&gt;
      &lt;td&gt;count is number of bytes&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code&gt;X&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
      &lt;td&gt;move cursor back&lt;/td&gt;
      &lt;td&gt;count is number of bytes to back up&lt;/td&gt;
    &lt;/tr&gt;
    &lt;tr&gt;
      &lt;td&gt;&lt;code&gt;@&lt;/code&gt;&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
      &lt;td&gt;&nbsp;&lt;/td&gt;
      &lt;td&gt;move cursor to location&lt;/td&gt;
      &lt;td&gt;count is byte position, zero based&lt;/td&gt;
    &lt;/tr&gt;
  &lt;/tbody&gt;
&lt;/table&gt;

&lt;p&gt;&lt;strong&gt;Examples&lt;/strong&gt;&lt;/p&gt;

&lt;pre class="sh_tcl"&gt;
set bin [binary format I2sH2a* {0x123 0x456} 17 ab "testing"]

# This returns 4 (number of conversions)
binary scan $bin I2sH2a* intlist intval hexval str
&lt;/pre&gt;

&lt;p&gt;Steve Bennett (&lt;a href="mailto:steveb@workware.net.au"&gt;steveb@workware.net.au&lt;/a&gt;)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:jim.tcl.tk,2013-07-25:/index.html/doc/www/www/articles/jim-release-0-74/</id>
    <title type="html">Jim Tcl version 0.74</title>
    <published>2013-07-25T00:00:00Z</published>
    <updated>2013-07-25T00:00:00Z</updated>
    <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-74/" type="text/html">
    <content type="html">&lt;h2 id="announce-jim-tcl-version-074"&gt;ANNOUNCE: Jim Tcl version 0.74&lt;/h2&gt;

&lt;p&gt;Jim Tcl 0.74 has been released and is available from:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://repo.or.cz/w/jimtcl.git"&gt;http://repo.or.cz/w/jimtcl.git&lt;/a&gt; or &lt;a href="https://github.com/msteveb/jimtcl"&gt;https://github.com/msteveb/jimtcl&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Find out all about Jim Tcl at &lt;a href="http://jim.tcl.tk/"&gt;http://jim.tcl.tk/&lt;/a&gt;&lt;/p&gt;

&lt;h2 id="changes-since-version-073"&gt;CHANGES SINCE VERSION 0.73&lt;/h2&gt;

&lt;p&gt;This release is mostly a bug fix release with some performance
enhancements and a few small additional features.
A summary is below. See git for the full changelog.&lt;/p&gt;

&lt;p&gt;Thanks to everyone who contributed to this release.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bugs fixed in version 0.74&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Space allocated for &lt;code&gt;exec&lt;/code&gt; envenvironment may be one byte short&lt;/li&gt;
  &lt;li&gt;Fix &lt;code&gt;glob&lt;/code&gt; with patterns containing spaces, [ and ]&lt;/li&gt;
  &lt;li&gt;Sense of &lt;code&gt;fconfigure -blocking&lt;/code&gt; is reversed&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;subst -noc&lt;/code&gt; should substitute vars inside brackets&lt;/li&gt;
  &lt;li&gt;Fix a reference counting bug&lt;/li&gt;
  &lt;li&gt;Fix invalid memory reference during finalisers&lt;/li&gt;
  &lt;li&gt;Fix an invalid memory reference in &lt;code&gt;info references&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Fix a buffer overflow in &lt;code&gt;info references&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Ensure that the full ref is passed to finalizer&lt;/li&gt;
  &lt;li&gt;Fix conversion of numbers &amp;gt;= 2^31&lt;/li&gt;
  &lt;li&gt;Fix &lt;code&gt;binary scan&lt;/code&gt; for too-few bytes.&lt;/li&gt;
  &lt;li&gt;Fix bug that was causing the system &lt;code&gt;environ&lt;/code&gt; variable to be freed&lt;/li&gt;
  &lt;li&gt;Fix a linenoise bug when moving off the left&lt;/li&gt;
  &lt;li&gt;Fix linenoise serial console window size for vt102&lt;/li&gt;
  &lt;li&gt;Fix a bug in the &lt;code&gt;sqlite3&lt;/code&gt; module (array index out of bounds)&lt;/li&gt;
  &lt;li&gt;Fix &lt;code&gt;string replace&lt;/code&gt; replacing a single char&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Features added in version 0.74&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Add support for &lt;code&gt;aio isatty&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Remove octal literals with a leading 0 (&lt;a href="TIP #114"&gt;http://www.tcl.tk/cgi-bin/tct/tip/114.html&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Add support for &lt;code&gt;glob -directory&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Allow abbreviations to &lt;code&gt;glob&lt;/code&gt; options&lt;/li&gt;
  &lt;li&gt;Ensure that signals can break &lt;code&gt;vwait&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Allow &lt;code&gt;aio copyto&lt;/code&gt; and &lt;code&gt;aio read&lt;/code&gt; to copy &amp;gt;2GB&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;aio seek&lt;/code&gt; and &lt;code&gt;aio tell&lt;/code&gt; should allow for 64 bit offsets&lt;/li&gt;
  &lt;li&gt;Add support for &lt;code&gt;string equal -length&lt;/code&gt; and &lt;code&gt;string compare -length&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Performance Improvements&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Thanks in large part to Lauri Kasanen, performance of Jim Tcl has
improved by up to 20% in some areas compared to version 0.73.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;    Executable Size     +1%
          PI digits     -4%
    [for] busy loop       .
       [local] loop       .
  [while] busy loop     -1%
                ary    -10%
         ary [dict]    -20%
       ary [static]     -1%
       dynamic code     -3%
dynamic code (list)       .
             expand     -1%
      fibonacci(25)     +1%
           heapsort     -4%
             mandel     -9%
         mini loops       .
       nested loops       .
             repeat       .
             rotate       .
              sieve    -20%
       sieve [dict]    -20%
              upvar    -16%
   wiki.tcl.tk/8566       .
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Steve Bennett (&lt;a href="mailto:steveb@workware.net.au"&gt;steveb@workware.net.au&lt;/a&gt;)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:jim.tcl.tk,2012-02-10:/index.html/doc/www/www/articles/no-namespaces-revisited/</id>
    <title type="html">Coping without Namespaces - Revisited</title>
    <published>2012-02-10T00:00:00Z</published>
    <updated>2012-02-10T00:00:00Z</updated>
    <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/articles/no-namespaces-revisited/" type="text/html">
    <content type="html">&lt;p&gt;Back in the article &lt;a href="/articles/no-namespaces/"&gt;Coping without Namespaces&lt;/a&gt;,
we discussed that fact that Jim Tcl did not support namespaces, but
that small changes to the source could be made to allow namespace-based
Tcl code to be ported for use with Jim Tcl.&lt;/p&gt;

&lt;p&gt;Now with &lt;a href="/articles/light-weight-namespaces/"&gt;namespaces supported&lt;/a&gt;
in &lt;a href="/articles/jim-release-0.73/"&gt;Jim Tcl 0.73&lt;/a&gt;, porting Tcl code
which makes use of namespaces is easier than ever.&lt;/p&gt;

&lt;p&gt;Once again, let's consider porting &lt;a href="http://tcllib.cvs.sourceforge.net/viewvc/tcllib/tcllib/modules/dns/dns.tcl"&gt;dns.tcl&lt;/a&gt;
from &lt;a href="http://tcllib.sourceforge.net/"&gt;tcllib&lt;/a&gt; to Jim Tcl.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Firstly an explanation of what was changed.&lt;/p&gt;

&lt;pre class="sh_tcl"&gt;
--- dns.tcl.orig	2012-03-05 13:02:36.000000000 +1000
+++ dns.tcl	2012-03-05 13:02:56.000000000 +1000
@@ -1,3 +1,15 @@
+# dns.tcl - Steve Bennett &amp;lt;steveb@workware.net.au&amp;gt;
+#
+# Modified for Jim Tcl to:
+# - use udp transport by default
+# - use sendto/recvfrom
+# - don't try to determine local nameservers
+# - remove support for dns uris and finding local nameservers
+# - remove logging calls
+#   (both of these in order to remove dependencies on tcllib)
+
+# Based on:
+
 # dns.tcl - Copyright (C) 2002 Pat Thoyts &amp;lt;patthoyts@users.sourceforge.net&amp;gt;
 #
 # Provide a Tcl only Domain Name Service client. See RFC 1034 and RFC 1035
&lt;/pre&gt;

&lt;p&gt;For simplicity, we remove the dependencies on tcllib &lt;code&gt;logger&lt;/code&gt;, &lt;code&gt;uri&lt;/code&gt; and &lt;code&gt;ip&lt;/code&gt; to
allow this example to be self contained. In Jim Tcl the &lt;code&gt;binary&lt;/code&gt; and &lt;code&gt;namespace&lt;/code&gt;
modules are optional, so load them if required.&lt;/p&gt;

&lt;pre class="sh_tcl"&gt;
@@ -31,14 +43,11 @@
 #
 # $Id: dns.tcl,v 1.36 2008/11/22 12:28:54 mic42 Exp $
 
-package require Tcl 8.2;                # tcl minimum version
-package require logger;                 # tcllib 1.3
-package require uri;                    # tcllib 1.1
-package require uri::urn;               # tcllib 1.2
-package require ip;                     # tcllib 1.7
+package require binary
+package require namespace
 
 namespace eval ::dns {
-    variable version 1.3.3
+    variable version 1.3.3-jim2
     variable rcsid {$Id: dns.tcl,v 1.36 2008/11/22 12:28:54 mic42 Exp $}
 
     namespace export configure resolve name address cname \
&lt;/pre&gt;

&lt;p&gt;Since Jim Tcl supports udp out-of-the-box, and it is more efficient,
default to udp rather than tcp. Also comment out the logging calls.&lt;/p&gt;

&lt;pre class="sh_tcl"&gt;
@@ -49,23 +58,13 @@
         array set options {
             port       53
             timeout    30000
-            protocol   tcp
+            protocol   udp
             search     {}
             nameserver {localhost}
             loglevel   warn
         }
-        variable log [logger::init dns]
-        ${log}::setlevel $options(loglevel)
-    }
-
-    # We can use either ceptcl or tcludp for UDP support.
-    if {![catch {package require udp 1.0.4} msg]} { ;# tcludp 1.0.4+
-        # If TclUDP 1.0.4 or better is available, use it.
-        set options(protocol) udp
-    } else {
-        if {![catch {package require ceptcl} msg]} {
-            set options(protocol) udp
-        }
+        #variable log [logger::init dns]
+        #${log}::setlevel $options(loglevel)
     }
 
     variable types
&lt;/pre&gt;

&lt;p&gt;udp is built-in with Jim Tcl.&lt;/p&gt;

&lt;pre class="sh_tcl"&gt;
@@ -248,14 +237,6 @@
         return -code error "no nameserver specified"
     }
 
-    if {$state(-protocol) == "udp"} {
-        if {[llength [package provide ceptcl]] == 0 \
-                &amp;amp;&amp;amp; [llength [package provide udp]] == 0} {
-            return -code error "udp support is not available,\
-                get ceptcl or tcludp"
-        }
-    }
-    
     # Check for reverse lookups
     if {[regexp {^(?:\d{0,3}\.){3}\d{0,3}$} $state(query)]} {
         set addr [lreverse [split $state(query) .]]
&lt;/pre&gt;

&lt;p&gt;udp in Jim Tcl works just like tcp, with &lt;code&gt;readable&lt;/code&gt; event handler being
triggered when the response is available.&lt;/p&gt;

&lt;pre class="sh_tcl"&gt;
@@ -273,6 +254,7 @@
         }
     } else {
         UdpTransmit $token
+        wait $token
     }
     
     return $token
&lt;/pre&gt;

&lt;p&gt;Jim Tcl has no support for async connect, and the parameters to &lt;code&gt;socket&lt;/code&gt; are a little different.&lt;/p&gt;

&lt;pre class="sh_tcl"&gt;
@@ -668,9 +650,9 @@
                                    "operation timed out"]]
     }
 
-    # Sometimes DNS servers drop TCP requests. So it's better to
-    # use asynchronous connect
-    set s [socket -async $state(-nameserver) $state(-port)]
+    # Jim Tcl has no async connect ...
+
+    set s [socket stream $state(-nameserver):$state(-port)]
     fileevent $s writable [list [namespace origin TcpConnected] $token $s]
     set state(sock) $s
     set state(status) connect
&lt;/pre&gt;

&lt;p&gt;Comment out the async connect check.&lt;/p&gt;

&lt;pre class="sh_tcl"&gt;
@@ -683,11 +665,13 @@
     upvar 0 $token state
 
     fileevent $s writable {}
-    if {[catch {fconfigure $s -peername}]} {
-	# TCP connection failed
-        Finish $token "can't connect to server"
-	return
-    }
+
+    # Jim Tcl has no async connect ...
+#    if {[catch {fconfigure $s -peername}]} {
+#	# TCP connection failed
+#        Finish $token "can't connect to server"
+#	return
+#    }
 
     fconfigure $s -blocking 0 -translation binary -buffering none
 
&lt;/pre&gt;

&lt;p&gt;udp in Jim Tcl is easy. Simpy create the socket with &lt;code&gt;socket dgram&lt;/code&gt; and
send with &lt;code&gt;sendto&lt;/code&gt;.&lt;/p&gt;

&lt;pre class="sh_tcl"&gt;
@@ -722,18 +706,10 @@
                                   "operation timed out"]]
     }
     
-    if {[llength [package provide ceptcl]] &amp;gt; 0} {
-        # using ceptcl
-        set state(sock) [cep -type datagram $state(-nameserver) $state(-port)]
-        fconfigure $state(sock) -blocking 0
-    } else {
-        # using tcludp
-        set state(sock) [udp_open]
-        udp_conf $state(sock) $state(-nameserver) $state(-port)
-    }
-    fconfigure $state(sock) -translation binary -buffering none
+    set state(sock) [socket dgram]
+    #fconfigure $state(sock) -translation binary -buffering none
     set state(status) connect
-    puts -nonewline $state(sock) $state(request)
+    $state(sock) sendto $state(request) $state(-nameserver):$state(-port)
     
     fileevent $state(sock) readable [list [namespace current]::UdpEvent $token]
     
&lt;/pre&gt;

&lt;p&gt;Reading from a udp socket is best done with &lt;code&gt;recvfrom&lt;/code&gt;&lt;/p&gt;

&lt;pre class="sh_tcl"&gt;
@@ -879,7 +855,7 @@
     upvar 0 $token state
     set s $state(sock)
 
-    set payload [read $state(sock)]
+    set payload [$state(sock) recvfrom 1500]
     append state(reply) $payload
 
     binary scan $payload S id
&lt;/pre&gt;

&lt;p&gt;Jim Tcl has &lt;code&gt;lreverse&lt;/code&gt; built-in&lt;/p&gt;

&lt;pre class="sh_tcl"&gt;
@@ -1011,17 +987,6 @@
 }
 
 # -------------------------------------------------------------------------
-# Description:
-#   Reverse a list. Code from http://wiki.tcl.tk/tcl/43
-#
-proc ::dns::lreverse {lst} {
-    set res {}
-    set i [llength $lst]
-    while {$i} {lappend res [lindex $lst [incr i -1]]}
-    return $res
-}
-
-# -------------------------------------------------------------------------
 
 proc ::dns::KeyOf {arrayname value {default {}}} {
     upvar $arrayname array
&lt;/pre&gt;

&lt;hr /&gt;

&lt;p&gt;Notice that no namespace-related changes were required when porting this module.&lt;/p&gt;

&lt;p&gt;The latest version of &lt;a href="https://github.com/msteveb/jimtcl/blob/ad3b3c48c9d7e9/examples/dns.tcl"&gt;dns.tcl for Jim Tcl&lt;/a&gt; is
available in git.&lt;/p&gt;

&lt;p&gt;Steve Bennett (&lt;a href="mailto:steveb@workware.net.au"&gt;steveb@workware.net.au&lt;/a&gt;)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:jim.tcl.tk,2011-12-22:/index.html/doc/www/www/articles/jim-release-0-73/</id>
    <title type="html">Jim Tcl version 0.73</title>
    <published>2011-12-22T00:00:00Z</published>
    <updated>2011-12-22T00:00:00Z</updated>
    <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-73/" type="text/html">
    <content type="html">&lt;h2 id="announce-jim-tcl-version-073"&gt;ANNOUNCE: Jim Tcl version 0.73&lt;/h2&gt;

&lt;p&gt;Jim Tcl 0.73 has been released and is available from:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://repo.or.cz/w/jimtcl.git"&gt;http://repo.or.cz/w/jimtcl.git&lt;/a&gt; or &lt;a href="https://github.com/msteveb/jimtcl"&gt;https://github.com/msteveb/jimtcl&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Find out all about Jim Tcl at &lt;a href="http://jim.tcl.tk/"&gt;http://jim.tcl.tk/&lt;/a&gt;&lt;/p&gt;

&lt;h2 id="changes-since-version-072"&gt;CHANGES SINCE VERSION 0.72&lt;/h2&gt;

&lt;p&gt;This release incorporates bug fixes and many new features.
A summary is below. See git for the full changelog.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bugs fixed in version 0.73&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code&gt;exec&lt;/code&gt; on cygwin now correctly passes $::env&lt;/li&gt;
  &lt;li&gt;On mingw and cygwin, &lt;code&gt;--shared&lt;/code&gt; creates libjim.dll rather than libjim.so&lt;/li&gt;
  &lt;li&gt;UTF-8 case folding may change the encoded length&lt;/li&gt;
  &lt;li&gt;Fix a &lt;code&gt;regexp&lt;/code&gt; infinite loop on invalid UTF-8 strings&lt;/li&gt;
  &lt;li&gt;Prevent infinite recursion in &lt;code&gt;eval&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Don’t allow &lt;code&gt;upvar&lt;/code&gt; to a higher level&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;regexp&lt;/code&gt; counted matches may be wrong on subsequent use&lt;/li&gt;
  &lt;li&gt;Form feed (\f) is a valid white space character&lt;/li&gt;
  &lt;li&gt;Parsing bug for quoted orphan $&lt;/li&gt;
  &lt;li&gt;Standard handles were not being kept open&lt;/li&gt;
  &lt;li&gt;Fix edge cases with &lt;code&gt;tailcall&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Features added in version 0.73&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Added support for namespaces and the &lt;code&gt;namespace&lt;/code&gt; command&lt;/li&gt;
  &lt;li&gt;The “full” sqlite3 extension is included in the repo&lt;/li&gt;
  &lt;li&gt;Built-in regexp now support non-capturing parentheses: &lt;code&gt;(?:...)&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Added &lt;code&gt;string replace&lt;/code&gt; and &lt;code&gt;string totitle&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Added &lt;code&gt;info statics&lt;/code&gt; to access proc static variables&lt;/li&gt;
  &lt;li&gt;Added &lt;code&gt;info alias&lt;/code&gt; to access the target of an alias&lt;/li&gt;
  &lt;li&gt;Added &lt;code&gt;build-jim-ext&lt;/code&gt; for easy separate building of loadable modules (extensions)&lt;/li&gt;
  &lt;li&gt;&lt;code&gt;local&lt;/code&gt; now works with any command, not just procs&lt;/li&gt;
  &lt;li&gt;UTF-8 encoding past the basic multilingual plane (BMP) is supported&lt;/li&gt;
  &lt;li&gt;Added &lt;code&gt;tcl::prefix&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Added the &lt;code&gt;history&lt;/code&gt; command to access command line editing and history from scripts&lt;/li&gt;
  &lt;li&gt;Added a Tcl-compatible &lt;code&gt;apply&lt;/code&gt; command&lt;/li&gt;
  &lt;li&gt;Most extensions are now enabled by default&lt;/li&gt;
  &lt;li&gt;Jim Tcl now compiles with MSVC on Windows (but no build support)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Steve Bennett (&lt;a href="mailto:steveb@workware.net.au"&gt;steveb@workware.net.au&lt;/a&gt;)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:jim.tcl.tk,2011-12-15:/index.html/doc/www/www/articles/light-weight-namespaces/</id>
    <title type="html">Lightweight Namespaces</title>
    <published>2011-12-15T00:00:00Z</published>
    <updated>2011-12-15T00:00:00Z</updated>
    <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/articles/light-weight-namespaces/" type="text/html">
    <content type="html">&lt;p&gt;New in Jim Tcl v0.73 is (optional) support for namespaces.&lt;/p&gt;

&lt;p&gt;The following is taken directly from README.namespaces in the Jim Tcl repository.&lt;/p&gt;

&lt;hr /&gt;

&lt;h1 id="lightweight-namespaces-for-jim-tcl"&gt;Lightweight Namespaces for Jim Tcl&lt;/h1&gt;

&lt;p&gt;There are two broad requirements for namespace support in Jim Tcl.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;(1) To allow code from multiple sources while reducing the chance of name clashes&lt;/li&gt;
  &lt;li&gt;(2) To simplify porting existing Tcl code which uses namespaces&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This proposal addresses both of these requirements, with the following
additional requirements imposed by Jim Tcl.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;(3) Support for namespaces should be optional, with the space and time overhead
 when namespaces are disabled as close to zero as possible.&lt;/li&gt;
  &lt;li&gt;(4) The implementation should be small and reasonably efficient.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;To further expand on requirement (2), the goal is not to be able to run
any Tcl scripts using namespaces with no changes. Rather, scripts
which use namespaces in a straightforward manner, should be easily
ported with changes which are compatible with Tcl.&lt;/p&gt;

&lt;h2 id="implicit-namespaces"&gt;Implicit namespaces&lt;/h2&gt;
&lt;p&gt;Rather than supporting explicit namespaces as Tcl does, Jim Tcl
supports implicit namespaces. Any procedure or variable which
is defined with a name containing ::, is implicitly scoped within
a namespace.&lt;/p&gt;

&lt;p&gt;For example, the following procedure and variable are created
in the namespace ‘test’&lt;/p&gt;

&lt;pre class="sh_tcl"&gt;
proc ::test::myproc {} {
  puts "I am in namespace [namespace current]"
}
set ::test::myvar 3
&lt;/pre&gt;

&lt;p&gt;This approach allows much of the existing variable and command
resolution machinery to be used with little change. It also means
that it is possible to simply define a namespace-scoped variable
or procedure without first creating the namespace, and similarly,
namespaces “disappear” when all variables and procedures defined
with the namespace scope are deleted.&lt;/p&gt;

&lt;h2 id="namespaces-procedures-and-call-frames"&gt;Namespaces, procedures and call frames&lt;/h2&gt;
&lt;p&gt;When namespace support is enabled (at build time), each procedure has an associated
namespace (based on the procedure name). When the procedure is evaluated,
the namespace for the created call frame is set to the namespace associated
with the procedure.&lt;/p&gt;

&lt;p&gt;Command resolution is based on the namespace of the current call frame.
An unscoped command name will first be looked up in the current namespace,
and then in the global namespace.&lt;/p&gt;

&lt;p&gt;This also means that commands which do not create a call frame (such as commands
implemented in C) do not have an associated namespace.&lt;/p&gt;

&lt;p&gt;Similarly to Tcl, namespace eval introduces a temporary, anonymous
call frame with the associated namespace. For example, the following
will return “::test,1”.&lt;/p&gt;

&lt;pre class="sh_tcl"&gt;
namespace eval test {
	puts [namespace current],[info level]
}
&lt;/pre&gt;

&lt;h2 id="variable-resolution"&gt;Variable resolution&lt;/h2&gt;
&lt;p&gt;The variable command in Jim Tcl has the same syntax as Tcl, but is closer in behaviour to the global command.
The variable command creates a link from a local variable to a namespace variable, possibly initialising it.&lt;/p&gt;

&lt;p&gt;For example, the following procedure uses ‘variable’ to initialse and access myvar.&lt;/p&gt;

&lt;pre class="sh_tcl"&gt;
proc ::test::myproc {} {
  variable myvar 4
  incr myvar
}
&lt;/pre&gt;

&lt;p&gt;Note that there is no automatic resolution of namespace variables.
For example, the following will &lt;em&gt;not&lt;/em&gt; work.&lt;/p&gt;

&lt;pre class="sh_tcl"&gt;
namespace eval ::test {
  variable myvar 4
}
namespace eval ::test {
  # This will increment a local variable, not ::test::myvar
  incr myvar
}
&lt;/pre&gt;

&lt;p&gt;And similarly, the following will only access local variables&lt;/p&gt;

&lt;pre class="sh_tcl"&gt;
set x 3
namespace eval ::test {
	# This will incremement a local variable, not ::x
	incr x
	# This will also increment a local variable
	incr abc::def
}
&lt;/pre&gt;

&lt;p&gt;In the same way that variable resolution does not “fall back” to
global variables, it also does not “fall back” to namespace variables.&lt;/p&gt;

&lt;p&gt;This approach allows name resolution to be simpler and more efficient
since it uses the same variable linking mechanism as upvar/global
and it allows namespaces to be implicit. It also solves the “creative
writing” problem where a variable may be created in an unintentional
scope.&lt;/p&gt;

&lt;h2 id="the-namespace-command"&gt;The namespace command&lt;/h2&gt;
&lt;p&gt;Currently, the following namespace commands are supported.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;current - returns the current, fully-qualified namespace&lt;/li&gt;
  &lt;li&gt;eval - evaluates a script in a namespace (introduces a call frame)&lt;/li&gt;
  &lt;li&gt;qualifiers, tail, parent - note that these do not check for existence&lt;/li&gt;
  &lt;li&gt;code, inscope - implemented&lt;/li&gt;
  &lt;li&gt;delete - deletes all variables and commands with the namespace prefix&lt;/li&gt;
  &lt;li&gt;which - implemented&lt;/li&gt;
  &lt;li&gt;upvar - implemented&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 id="namespace-children-exists-path"&gt;namespace children, exists, path&lt;/h2&gt;
&lt;p&gt;With implicit namespaces, the namespace exists and namespace children commands
are expensive to implement and are of limited use. Checking the existence
of a namespace can be better done by checking for the existence of a known procedure
or variable in the namespace.&lt;/p&gt;

&lt;p&gt;Command resolution is always done by first looking in the namespace and then
at the global scope, so namespace path is not required.&lt;/p&gt;

&lt;h2 id="namespace-ensemble"&gt;namespace ensemble&lt;/h2&gt;
&lt;p&gt;The namespace ensemble command is not currently supported. A future version
of Jim Tcl will have a general-purpose ensemble creation and manipulation
mechanism and namespace ensemble will be implemented in terms of that mechanism.&lt;/p&gt;

&lt;h2 id="namespace-import-export-forget-origin"&gt;namespace import, export, forget, origin&lt;/h2&gt;
&lt;p&gt;Since Jim Tcl namespaces are implicit, there is no location to store export patterns.
Therefore the namespace export command is a dummy command which does nothing.
All procedures in a namespace are considered to be exported.&lt;/p&gt;

&lt;p&gt;The namespace import command works by creating aliases to the target namespace
procedures.&lt;/p&gt;

&lt;p&gt;namespace forget is not implemented.&lt;/p&gt;

&lt;p&gt;namespace origin understands aliases created by namespace import
and can return the original command.&lt;/p&gt;

&lt;h2 id="namespace-unknown"&gt;namespace unknown&lt;/h2&gt;
&lt;p&gt;If an undefined command is invoked, the “unknown” command is invoked.
The same namespace resolution rules apply for the unknown command.
This means that in the following example, test::unknown will be invoked
for the missing command rather than the global ::unknown.&lt;/p&gt;

&lt;pre class="sh_tcl"&gt;
proc unknown {args} {
	puts "global unknown"
}

proc test::unknown {args} {
	puts "test unknown"
}

namespace eval test {
	bogus
}
&lt;/pre&gt;

&lt;p&gt;This approach requires no special support and provides enough flexibility that
the namespace unknown command is not implemented.&lt;/p&gt;

&lt;h2 id="porting-namespace-code-from-tcl-to-jim-tcl"&gt;Porting namespace code from Tcl to Jim Tcl&lt;/h2&gt;
&lt;p&gt;For most code, the following changes will be sufficient to port code.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;Canonicalise namespace names. For example, ::ns:: should be written
as ::ns or ns as appropriate, and excess colons should be removed.
For example ::ns:::blah should be written as ::ns::blah
(Note that the only “excess colon” case supported is ::::abc
in order to support [namespace current]::abc in the global namespace)&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;The variable command should be used within namespace eval to link
to namespace variables, and access to variables in other namespaces
should be fully qualified&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;h2 id="changes-in-the-core-jim-tcl"&gt;Changes in the core Jim Tcl&lt;/h2&gt;
&lt;p&gt;Previously Jim Tcl performed no scoping of command names.  i.e. The
::format command was considered different from the format command.&lt;/p&gt;

&lt;p&gt;Even if namespace support is disabled, the command resolution will
recognised global scoping of commands and treat these as identical.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:jim.tcl.tk,2011-11-10:/index.html/doc/www/www/articles/jim-tcl-tk-2011-paper/</id>
    <title type="html">Jim @ Tcl/Tk 2011</title>
    <published>2011-11-10T00:00:00Z</published>
    <updated>2011-11-10T00:00:00Z</updated>
    <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/articles/jim-tcl-tk-2011-paper/" type="text/html">
    <content type="html">&lt;p&gt;At the &lt;a href="http://www.tcl.tk/community/tcl2011/"&gt;Tck/Tk 2011 conference&lt;/a&gt; I
presented a paper on Jim Tcl. It seemed to be well received.&lt;/p&gt;

&lt;p&gt;You can read the paper by clicking on the image below.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://workware.net.au/papers/jimtcl-tcl-tk-2011.pdf"&gt;&lt;img src="/img/jimtcl-tcl-tk-2011-front.png" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Steve Bennett (&lt;a href="mailto:steveb@workware.net.au"&gt;steveb@workware.net.au&lt;/a&gt;)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:jim.tcl.tk,2011-10-06:/index.html/doc/www/www/articles/jim-release-0-72/</id>
    <title type="html">Jim Tcl version 0.72</title>
    <published>2011-10-06T00:00:00Z</published>
    <updated>2011-10-06T00:00:00Z</updated>
    <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-72/" type="text/html">
    <content type="html">&lt;h2 id="announce-jim-tcl-version-072"&gt;ANNOUNCE: Jim Tcl version 0.72&lt;/h2&gt;

&lt;p&gt;Jim Tcl 0.72 has been released and is available from:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://repo.or.cz/w/jimtcl.git"&gt;http://repo.or.cz/w/jimtcl.git&lt;/a&gt; or &lt;a href="https://github.com/msteveb/jimtcl"&gt;https://github.com/msteveb/jimtcl&lt;/a&gt;&lt;/p&gt;

&lt;h2 id="changes-since-version-071"&gt;CHANGES SINCE VERSION 0.71&lt;/h2&gt;

&lt;p&gt;This release incorporates bug fixes and many new features.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Bugs fixed in version 0.72&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Improvements to configure (autosetup)&lt;/li&gt;
  &lt;li&gt;Fix memory overwrite in built-in regexp&lt;/li&gt;
  &lt;li&gt;[regexp], [regsub] could leak objects in some circumstances&lt;/li&gt;
  &lt;li&gt;Fix [file join] in some cases&lt;/li&gt;
  &lt;li&gt;[info nameofexecutable] now always returns an absolute path&lt;/li&gt;
  &lt;li&gt;[catch] works correctly for platforms without long long&lt;/li&gt;
  &lt;li&gt;[dict unset] no longer gives an error on missing last key&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Features added in version 0.72&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;[proc] now accepts optional parameters and “args” in any position&lt;/li&gt;
  &lt;li&gt;Much improved support for mingw32 including 64-bit mingw
    &lt;ul&gt;
      &lt;li&gt;tcl_platform(platform) is set to “windows”&lt;/li&gt;
      &lt;li&gt;[file dirname] handles leading drive (e.g. c:/)&lt;/li&gt;
      &lt;li&gt;[pwd] returns a path containing only forward slashes&lt;/li&gt;
      &lt;li&gt;[glob] now works correctly&lt;/li&gt;
      &lt;li&gt;[exec] is now fully implement on mingw32&lt;/li&gt;
      &lt;li&gt;Command line editing now works in the win32 console&lt;/li&gt;
      &lt;li&gt;New tcl_platform(pathSeparator)&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;Builtin regexp is more efficient. Patterns are only compiled once.&lt;/li&gt;
  &lt;li&gt;Add rand(), srand() and pow() math functions&lt;/li&gt;
  &lt;li&gt;[file delete] now supports the -force option&lt;/li&gt;
  &lt;li&gt;[fconfigure -translation] is now accepted and ignored for Tcl compatibility&lt;/li&gt;
  &lt;li&gt;Improved diagnostics when sourcing a script with missing/mismatches brackets, quotes, etc.&lt;/li&gt;
  &lt;li&gt;Jim Tcl now builds on Haiku (BeOS clone) and Solaris&lt;/li&gt;
  &lt;li&gt;Build now works with BSD make&lt;/li&gt;
  &lt;li&gt;[file mtime] can now set the file time&lt;/li&gt;
  &lt;li&gt;New [aio listen] to set the size of the listen queue on server sockets&lt;/li&gt;
  &lt;li&gt;Jim Tcl Manual is better formatted, commands are hyperlinked and various corrections have been made&lt;/li&gt;
  &lt;li&gt;The oo, tree, binary and pack extensions are now documented&lt;/li&gt;
  &lt;li&gt;New metakit extension&lt;/li&gt;
  &lt;li&gt;The SDL extension once again builds and runs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Steve Bennett (&lt;a href="mailto:steveb@workware.net.au"&gt;steveb@workware.net.au&lt;/a&gt;)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:jim.tcl.tk,2011-10-04:/index.html/doc/www/www/articles/jim-sqlite-shell/</id>
    <title type="html">jSQLsh - Jim Tcl SQLite Shell</title>
    <published>2011-10-04T00:00:00Z</published>
    <updated>2011-10-04T00:00:00Z</updated>
    <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/articles/jim-sqlite-shell/" type="text/html">
    <content type="html">&lt;p&gt;The jSQLsh project at &lt;a href="https://github.com/LStinson/jSQLsh"&gt;https://github.com/LStinson/jSQLsh&lt;/a&gt; provides
a small but powerful shell for sqlite, modelled after
&lt;a href="http://www.postgresql.org/docs/9.0/static/app-psql.html"&gt;psql&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The creator, Lorance Stinson, wanted an sqlite command shell which
addressed some of the deficiencies of the native sqlite command
shell, so he decided to create his own with Jim Tcl.&lt;/p&gt;

&lt;p&gt;To run it, you simply need &lt;code&gt;jimsh&lt;/code&gt; built with &lt;em&gt;sqlite3&lt;/em&gt; and &lt;em&gt;readline&lt;/em&gt; support.
For example, to build a version of &lt;code&gt;jimsh&lt;/code&gt; with these extensions included statically:&lt;/p&gt;

&lt;pre class="sh_unix"&gt;
$ ./configure --with-ext="sqlite3 rlprompt"
...
$ make
...
&lt;/pre&gt;

&lt;p&gt;And then try it out:&lt;/p&gt;

&lt;pre class="sh_unix"&gt;
$ ./jimsh jsqlsh
Welcome to the SQLite Shell in Jim TCL 0.72.
Opening the database ':memory:'.
To execute a query type '/'. For help type '/h'.
:memory: (0 rows, 0 changes) # /h
Commands:
  /A(UTO)     Toggle the auto option state.
  /c(lear)    Clear the query buffer
  /D(EBUG)    Toggle the debug option state.
  /d          Display all objects in the database.
  /d[itv]     Display all indexes (/di) / tables (/dt) / views (/dv).
  /d OBJ      Describe the object OBJ.
  /ds OBJ     Displays the schema for the object OBJ.
  /e(dit)     Edit the query buffer.
  /go | /     Execute the query in the query buffer.
  /h(elp)     Print this help text.
  /o(pen)     Open a database file, change directories and list files.
  /P(AGER)    Toggle the page option state.
  /p(rint)    Print the query buffer.
  /s(et)      Set/List configuration options. '/s OPTION VALUE'
              Values are treated as TCL strings and can be quoted.
  /Q(uiet)    Toggle the quiet option state.
  /q(uit)     Quit  (Also Ctrl-D)
  /u(ser)     Display the user macros.
  /u(ser)#    Copy user macro # into the query buffer.
  /u(ser)# -  Copy the query buffer, or supplied text, into macro #.
:memory: (0 rows, 0 changes) # 
&lt;/pre&gt;

&lt;p&gt;Steve Bennett (&lt;a href="mailto:steveb@workware.net.au"&gt;steveb@workware.net.au&lt;/a&gt;)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:jim.tcl.tk,2011-09-06:/index.html/doc/www/www/articles/metakit-extension/</id>
    <title type="html">New Metakit Extension</title>
    <published>2011-09-06T00:00:00Z</published>
    <updated>2011-09-06T00:00:00Z</updated>
    <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/articles/metakit-extension/" type="text/html">
    <content type="html">&lt;p&gt;Alexander Shpilkin has contributed the metakit extension to Jim Tcl.&lt;/p&gt;

&lt;p&gt;Metakit (&lt;a href="http://equi4.com/metakit/"&gt;http://equi4.com/metakit/&lt;/a&gt;) is an embeddable non-SQL
database with advanced data manipulation features through the use of views.
Using metakit can be an alternative to sqlite.&lt;/p&gt;

&lt;p&gt;The Jim Tcl metakit interface is different from the Tcl metakit interface as it
makes use of unique Jim Tcl features such as references. The &lt;a href="/documentation/metakit/"&gt;metakit extension&lt;/a&gt;
documentation fully explains the API.&lt;/p&gt;

&lt;h2 id="building-the-metakit-extension"&gt;Building the Metakit Extension&lt;/h2&gt;

&lt;p&gt;Building the extension requires the metakit headers and library to be
available. Here is one way to statically build the metakit extension into jimsh.&lt;/p&gt;

&lt;pre class="sh_unix"&gt;
$ cd jimtcl
$ svn co svn://svn.equi4.com/metakit/trunk metakit
$ cd metakit/unix
$ ./configure --without-tcl --without-python --disable-shared
$ make
$ cd ../..
$ ./configure --with-ext=mk CFLAGS="-Imetakit/include -Lmetakit/unix"
$ make
$ ./jimsh examples/metakit.tcl
  ...
&lt;/pre&gt;

&lt;p&gt;Steve Bennett (&lt;a href="mailto:steveb@workware.net.au"&gt;steveb@workware.net.au&lt;/a&gt;)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:jim.tcl.tk,2011-06-24:/index.html/doc/www/www/articles/jim-release-0-71/</id>
    <title type="html">Jim Tcl version 0.71</title>
    <published>2011-06-24T00:00:00Z</published>
    <updated>2011-06-24T00:00:00Z</updated>
    <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/articles/jim-release-0-71/" type="text/html">
    <content type="html">&lt;h2 id="announce-jim-tcl-version-071"&gt;ANNOUNCE: Jim Tcl version 0.71&lt;/h2&gt;

&lt;p&gt;Jim Tcl 0.71 has been released and is available from:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://repo.or.cz/w/jimtcl.git"&gt;http://repo.or.cz/w/jimtcl.git&lt;/a&gt; or &lt;a href="https://github.com/msteveb/jimtcl"&gt;https://github.com/msteveb/jimtcl&lt;/a&gt;&lt;/p&gt;

&lt;h2 id="changes-since-version-070"&gt;CHANGES SINCE VERSION 0.70&lt;/h2&gt;

&lt;p&gt;This release incorporates bug fixes and
several new features, including:&lt;/p&gt;

&lt;p&gt;Bugs fixed&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Line editing works better on serial consoles&lt;/li&gt;
  &lt;li&gt;Fix various parsing bugs and crashes in unusual cases&lt;/li&gt;
  &lt;li&gt;package require now loads packages at the global level&lt;/li&gt;
  &lt;li&gt;string trim* and string last are now 8-bit clean and faster&lt;/li&gt;
  &lt;li&gt;exec child processes are now reaped&lt;/li&gt;
  &lt;li&gt;FD_CLOEXEC is now set on opened filehandles&lt;/li&gt;
  &lt;li&gt;dlopen() handles are now freed on freeing interpreter&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Features added&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Add optional support for the binary command&lt;/li&gt;
  &lt;li&gt;Test suite is now tcltests v2 compatible&lt;/li&gt;
  &lt;li&gt;proc ‘args’ can now be renamed&lt;/li&gt;
  &lt;li&gt;Automatic proc upref args are now supported with &amp;amp;varname&lt;/li&gt;
  &lt;li&gt;expr shorthand syntax with $(…)&lt;/li&gt;
  &lt;li&gt;Previous proc definitions can be saved with local and invoked with upcall&lt;/li&gt;
  &lt;li&gt;Non-greedy regexp/regsub support with the built-in regexp implementation&lt;/li&gt;
  &lt;li&gt;Minimal exec implementation is supported even without vfork/waitpid&lt;/li&gt;
  &lt;li&gt;configure is now faster and simpler with autosetup (&lt;a href="https://github.com/msteveb/autosetup"&gt;https://github.com/msteveb/autosetup&lt;/a&gt;)&lt;/li&gt;
  &lt;li&gt;Add string byterange&lt;/li&gt;
  &lt;li&gt;Ability to create a single source file bootstrap jimsh&lt;/li&gt;
  &lt;li&gt;Added debian packaging support&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Steve Bennett (&lt;a href="mailto:steveb@workware.net.au"&gt;steveb@workware.net.au&lt;/a&gt;)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:jim.tcl.tk,2011-06-10:/index.html/doc/www/www/articles/new-comment-system/</id>
    <title type="html">New Comment System</title>
    <published>2011-06-10T00:00:00Z</published>
    <updated>2011-06-10T00:00:00Z</updated>
    <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/articles/new-comment-system/" type="text/html">
    <content type="html">&lt;p&gt;I have added a comment system to the Jim Tcl website.
Let me know if there are any problems with it.&lt;/p&gt;

&lt;p&gt;Steve Bennett (&lt;a href="mailto:steveb@workware.net.au"&gt;steveb@workware.net.au&lt;/a&gt;)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:jim.tcl.tk,2011-06-09:/index.html/doc/www/www/articles/bootstrap-jimsh/</id>
    <title type="html">Bootstrap jimsh</title>
    <published>2011-06-09T00:00:00Z</published>
    <updated>2011-06-09T00:00:00Z</updated>
    <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/articles/bootstrap-jimsh/" type="text/html">
    <content type="html">&lt;p&gt;The Jim interpreter is small, portable and full-featured. This makes
&lt;code&gt;jimsh&lt;/code&gt; an ideal tool to bootstrap a development system that
requires an interpreter.&lt;/p&gt;

&lt;p&gt;Consider the case of a development configuration system such as
&lt;a href="http://www.gnu.org/software/autoconf/"&gt;GNU autotools&lt;/a&gt;.  Here it
is necessary to run fairly complex scripts that invoke external
programs (such as the compiler) and perform intensive string
processing. The autotools solution uses a combination of &lt;a href="http://en.wikipedia.org/wiki/Bourne_shell"&gt;Bourne
Shell&lt;/a&gt;, the &lt;a href="http://www.gnu.org/software/m4/"&gt;m4 Macro
Processor&lt;/a&gt; and various external
tools such as &lt;code&gt;sed&lt;/code&gt;. Since this needs to work across a wide range
of systems, even those with buggy shells or external tools, many
contortions are required.  The resulting system is
&lt;a href="http://freshmeat.net/articles/stop-the-autoconf-insanity-why-we-need-a-new-build-system"&gt;slow, cumbersome and complex&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Now consider the different approach taken by
&lt;a href="http://msteveb.github.com/autosetup/"&gt;autosetup&lt;/a&gt;.  Here a scripting
language is used that has excellent support for string processing,
data structures (arrays/dicts and lists) and running external
programs — Tcl. The only problem is bootstrap. What if the target
system doesn’t have a suitable Tcl interpreter available?  The
solution is a bootstrap version of Jim Tcl is included in the
distribution as a &lt;strong&gt;single source file&lt;/strong&gt; and simply requires a C compiler
to create the interpreter.  In fact, autosetup automatically
determines if no suitable and interpreter is available and seamlessly
builds and runs the bootstrap interpreter.&lt;/p&gt;

&lt;pre class="sh_unix"&gt;
$ ./configure 
No installed jimsh or tclsh, building local bootstrap jimsh0
Host System...x86_64-apple-darwin10.7.0
Build System...x86_64-apple-darwin10.7.0
C compiler...ccache cc -g -O2
C++ compiler...ccache c++ -g -O2
Checking for stdlib.h...ok
...
&lt;/pre&gt;

&lt;p&gt;A script to create the bootstrap interpreter source is included in the
&lt;a href="http://repo.or.cz/w/jimtcl.git/blob/HEAD:/make-bootstrap-jim"&gt;jimtcl git repository&lt;/a&gt;&lt;/p&gt;

&lt;pre class="sh_unix"&gt;
$ sh make-bootstrap-jim &amp;gt;jimsh0.c
$ time cc -o jimsh0 jimsh0.c
real   0m1.339s
user   0m1.121s
sys    0m0.109s
$ ./jimsh0
Welcome to Jim version 0.71
. 
&lt;/pre&gt;

&lt;p&gt;Steve Bennett (&lt;a href="mailto:steveb@workware.net.au"&gt;steveb@workware.net.au&lt;/a&gt;)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:jim.tcl.tk,2011-05-26:/index.html/doc/www/www/articles/no-namespaces/</id>
    <title type="html">Coping without Namespaces</title>
    <published>2011-05-26T00:00:00Z</published>
    <updated>2011-05-26T00:00:00Z</updated>
    <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/articles/no-namespaces/" type="text/html">
    <content type="html">&lt;p&gt;One of the features of Tcl which Jim lacks is support for
&lt;a href="http://www.tcl.tk/man/tcl8.5/TclCmd/namespace.htm"&gt;namespaces&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The lack of namespaces in Jim is generally not a problem in the
small, embedded applications for which Jim is most suited. However
occasionally it useful to be able to port Tcl code which uses
namespace.  For example, &lt;a href="http://tcllib.sourceforge.net/"&gt;tcllib&lt;/a&gt;
makes heavy use of namespaces. This article describes one approach
to easily porting this code to Jim.&lt;/p&gt;

&lt;p&gt;For this example, we will port &lt;a href="http://tcllib.cvs.sourceforge.net/viewvc/tcllib/tcllib/modules/dns/dns.tcl"&gt;dns.tcl&lt;/a&gt; to Jim.&lt;/p&gt;

&lt;p&gt;The general approach is to modify the code from using implicit scoping to explicit scoping.
Consider the following code which uses namespaces to declare a proc and a variable within a namespace.&lt;/p&gt;

&lt;pre class="sh_tcl"&gt;
namespace eval dns {
	variable timeout 10 
	proc configure {new} {
		variable timeout
		set timeout $new
	}
}
&lt;/pre&gt;

&lt;p&gt;This code create a variable &lt;code&gt;::dns::timeout&lt;/code&gt; and a proc &lt;code&gt;::dns::configure&lt;/code&gt;. We can do the same
explicitly.&lt;/p&gt;

&lt;pre class="sh_tcl"&gt;
set dns::timeout 10

proc dns::configure {new} {
	global dns::timeout
	set dns::timeout $new
}
&lt;/pre&gt;

&lt;p&gt;The main differences between this code and the namespace code are:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;All variables and procs are visible, even if not &lt;em&gt;exported&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;Namespace procs need to be referenced with a fully qualified name&lt;/li&gt;
  &lt;li&gt;Namespace variables need to be referenced with a fully qualified name&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We can mitigate this last difference with one small change.&lt;/p&gt;

&lt;pre class="sh_tcl"&gt;
# Poor man's variable for Jim Tcl
# Links a global variable, ::ns::var to a local variable, var
proc variable {ns var} {
    uplevel 1 [list upvar #0 ${ns}::$var $var]
}

set dns::timeout 10

proc dns::configure {new} {
	variable dns timeout
	set timeout $new
}
&lt;/pre&gt;

&lt;p&gt;With this change, code can refer to the unqualified variable name
which is linked to the fully qualified name.&lt;/p&gt;

&lt;p&gt;You can see the fully converted version of &lt;a href="https://github.com/msteveb/jimtcl/blob/0.73/examples/dns.tcl"&gt;dns.tcl for Jim&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To summarise:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Remove &lt;code&gt;namespace eval&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Initialise variables with fully qualified names: &lt;code&gt;set ns::var value&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Ensure procs are declared with fully quality names: &lt;code&gt;proc ns::procname { ... }&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;Use fully qualified names when invoking procs within the namespace.&lt;/li&gt;
  &lt;li&gt;Replace the use of &lt;code&gt;namespace current&lt;/code&gt; with the namespace name&lt;/li&gt;
  &lt;li&gt;Replace the use of &lt;code&gt;namespace origin&lt;/code&gt; with the namespace name&lt;/li&gt;
  &lt;li&gt;Use the &lt;code&gt;variable&lt;/code&gt; proc to declare variables within procs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Steve Bennett (&lt;a href="mailto:steveb@workware.net.au"&gt;steveb@workware.net.au&lt;/a&gt;)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:jim.tcl.tk,2011-05-25:/index.html/doc/www/www/articles/jim-is-modular/</id>
    <title type="html">Jim Is Modular</title>
    <published>2011-05-25T00:00:00Z</published>
    <updated>2011-05-25T00:00:00Z</updated>
    <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/articles/jim-is-modular/" type="text/html">
    <content type="html">&lt;p&gt;One of the advantages of Jim Tcl is that the core interpreter
contains only the bare essentials. Many Tcl standard commands are provided by
optional extensions which can be disable or built as loadable modules if required.&lt;/p&gt;

&lt;dl&gt;
  &lt;dt&gt;core commands&lt;/dt&gt;
  &lt;dd&gt;*, +, -, /, alias, append, break, catch, collect, concat,
continue, curry, dict, env, error, errorInfo, eval, exists, exit,
expr, finalize, for, foreach, format, getref, global, if, incr,
info, join, lambda, lappend, lassign, lindex, linsert, list, llength,
lmap, local, lrange, lrepeat, lreplace, lreverse, lsearch, lset,
lsort, proc, rand, range, ref, rename, return, scan, set, setref,
source, split, stackdump, stacktrace, string, subst, switch, tailcall,
tell, throw, time, unset, uplevel, upvar, while&lt;/dd&gt;
  &lt;dt&gt;aio extension&lt;/dt&gt;
  &lt;dd&gt;open, socket&lt;/dd&gt;
  &lt;dt&gt;eventloop extension&lt;/dt&gt;
  &lt;dd&gt;vwait, update, after&lt;/dd&gt;
  &lt;dt&gt;tclcompat extension&lt;/dt&gt;
  &lt;dd&gt;puts, gets, read, close, tell, seek, eof, flush, parray, try, throw, case&lt;/dd&gt;
  &lt;dt&gt;array extension&lt;/dt&gt;
  &lt;dd&gt;array&lt;/dd&gt;
  &lt;dt&gt;clock extension&lt;/dt&gt;
  &lt;dd&gt;clock&lt;/dd&gt;
  &lt;dt&gt;file extension&lt;/dt&gt;
  &lt;dd&gt;file, cd, pwd&lt;/dd&gt;
  &lt;dt&gt;exec extension&lt;/dt&gt;
  &lt;dd&gt;exec&lt;/dd&gt;
  &lt;dt&gt;load extension&lt;/dt&gt;
  &lt;dd&gt;load&lt;/dd&gt;
  &lt;dt&gt;package extension&lt;/dt&gt;
  &lt;dd&gt;package&lt;/dd&gt;
  &lt;dt&gt;posix extension&lt;/dt&gt;
  &lt;dd&gt;os.fork, os.wait, os.getids, os.gethostname, os.uptime, pid&lt;/dd&gt;
  &lt;dt&gt;glob, readdir extensions&lt;/dt&gt;
  &lt;dd&gt;glob, readdir&lt;/dd&gt;
  &lt;dt&gt;regexp extension&lt;/dt&gt;
  &lt;dd&gt;regexp, regsub&lt;/dd&gt;
  &lt;dt&gt;signal extension&lt;/dt&gt;
  &lt;dd&gt;signal, alarm, kill, sleep&lt;/dd&gt;
&lt;/dl&gt;

&lt;p&gt;In addition, features including references, UTF-8 support, IPv6 and command line editing
can be disabled with &lt;code&gt;configure&lt;/code&gt;. See &lt;code&gt;configure --help&lt;/code&gt; for full details.&lt;/p&gt;

&lt;p&gt;Steve Bennett (&lt;a href="mailto:steveb@workware.net.au"&gt;steveb@workware.net.au&lt;/a&gt;)&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:jim.tcl.tk,2011-04-24:/index.html/doc/www/www/articles/2011-04-24/</id>
    <title type="html">New Website Launched</title>
    <published>2011-04-24T00:00:00Z</published>
    <updated>2011-04-24T00:00:00Z</updated>
    <link rel="alternate" href="http://jim.tcl.tk/index.html/doc/www/www/articles/2011-04-24/" type="text/html">
    <content type="html">&lt;p&gt;Jim Tcl development has been proceeding apace, but the &lt;a href="http://jim.berlios.de/"&gt;website&lt;/a&gt;
had not been updated for several years. In order to make Jim Tcl
more approachable, we have given the website and updated the content
to reflect current reality.&lt;/p&gt;

&lt;p&gt;Steve Bennett (&lt;a href="mailto:steveb@workware.net.au"&gt;steveb@workware.net.au&lt;/a&gt;)&lt;/p&gt;
</content>
  </entry>
</feed>

|
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
1

































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































<%= atom_feed :limit => @config[:rss_feed_count].to_i %>

































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































Changes to www/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

37
38
39

40
41
42
43
44
45
46
47
48
49
50
..
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - The Jim Interpreter</title>
    <link rel="stylesheet" type="text/css" href="css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="css/sh_style.css" media="screen">
	
	<link rel="alternate" type="application/rss+xml" title="News" href="feed.xml">
	
	<script src="javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		<a id="rss" title="News RSS Feed" href="feed.xml"><img src="img/rssicon.png"></a>
		
		

			<a href="./">The Jim Interpreter</a> 
			 
		

		</div>
		<div class="main" id="main">
		
		<h2 id="introduction">Introduction</h2>

<p>Jim is an <strong>opensource</strong> small-footprint implementation of the
<a href="http://wiki.tcl.tk">Tcl</a> programming language. It implements a
large subset of Tcl and adds new features like <em>references</em> with
garbage collection, closures, built-in Object Oriented Programming
system, Functional Programming commands, first-class arrays and
UTF-8 support. All this with a binary size of about <strong>100-200kB</strong>
................................................................................
implementation of a language that is ideal for scripting, and at
the same time is powerful and scalable.</p>

<p>Jim is also designed for deployment on <strong>Embedded Systems</strong>. It is
easy to cross compile, written in portable ANSI-C, and is very small
both in both binary size and memory requirements.</p>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><span class="active">Introduction</span></li>
		
			
			<li class="stdlink"><a href="news/">News</a></li>
		
			
			<li class="stdlink"><a href="download/">Download</a></li>
		
			
			<li class="stdlink"><a href="documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="license/">License</a></li>
		
			
			<li class="stdlink"><a href="about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
>
|
|
|
>
|
|
|
|







 







|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
..
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - The Jim Interpreter</title>
        <link rel="stylesheet" type="text/css" href="css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="css/sh_style.css" media="screen">
        
            <link rel="alternate" type="application/rss+xml" title="News" href="feed.xml">
        
        <script src="javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_index" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
            <a id="rss" title="News RSS Feed" href="feed.xml"><img src="img/rssicon.png"></a>
        
        
            
                <a href="./">The Jim Interpreter</a>
                
            
        
        </div>
        <div class="main" id="main">
        
        <h2 id="introduction">Introduction</h2>

<p>Jim is an <strong>opensource</strong> small-footprint implementation of the
<a href="http://wiki.tcl.tk">Tcl</a> programming language. It implements a
large subset of Tcl and adds new features like <em>references</em> with
garbage collection, closures, built-in Object Oriented Programming
system, Functional Programming commands, first-class arrays and
UTF-8 support. All this with a binary size of about <strong>100-200kB</strong>
................................................................................
implementation of a language that is ideal for scripting, and at
the same time is powerful and scalable.</p>

<p>Jim is also designed for deployment on <strong>Embedded Systems</strong>. It is
easy to cross compile, written in portable ANSI-C, and is very small
both in both binary size and memory requirements.</p>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><span class="active">Introduction</span></li>
            
                
                <li class="stdlink"><a href="news/">News</a></li>
            
                
                <li class="stdlink"><a href="download/">Download</a></li>
            
                
                <li class="stdlink"><a href="documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="license/">License</a></li>
            
                
                <li class="stdlink"><a href="about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/license/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32

33
34

35
36
37
38

39
40
41
42
43
44
45
46
47
48
49
..
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - License</title>
    <link rel="stylesheet" type="text/css" href="../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../css/sh_style.css" media="screen">
	
	<script src="../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		

			<a href="../">The Jim Interpreter</a> 
			» 

		
			<a href="./">License</a> 
			 
		

		</div>
		<div class="main" id="main">
		
		
<h2 id="terms-and-conditions">Terms and Conditions</h2>

<p><a style="border: 0px;" href="http://www.opensource.org/docs/definition.php"><img style="border: 0px;" src="http://opensource.org/trademarks/open_source_button.png" width="88" height="31" alt="opensource logo"></a></p>

<p>Jim is released under the <a href="http://www.freebsd.org/copyright/freebsd-license.html">FreeBSD License</a>.
This license but allows you to create derivative proprietary software
with Jim, that can be ditributed in binary only form without the
................................................................................
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The views and conclusions contained in the software and documentation
are those of the authors and should not be interpreted as representing
official policies, either expressed or implied, of the Jim Tcl Project.
</code></pre>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>
		
			
			<li class="stdlink"><a href="../">Introduction</a></li>
		
			
			<li class="stdlink"><a href="../news/">News</a></li>
		
			
			<li class="stdlink"><a href="../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><span class="active">License</span></li>
		
			
			<li class="stdlink"><a href="../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
>
|
<
>
|
|
|
|
>
|
|
|
|







 







|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
..
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - License</title>
        <link rel="stylesheet" type="text/css" href="../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../css/sh_style.css" media="screen">
        
        <script src="../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_license" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
        
            
                <a href="../">The Jim Interpreter</a>


            
                <a href="./">License</a>
                
            
        
        </div>
        <div class="main" id="main">
        
        
<h2 id="terms-and-conditions">Terms and Conditions</h2>

<p><a style="border: 0px;" href="http://www.opensource.org/docs/definition.php"><img style="border: 0px;" src="http://opensource.org/trademarks/open_source_button.png" width="88" height="31" alt="opensource logo"></a></p>

<p>Jim is released under the <a href="http://www.freebsd.org/copyright/freebsd-license.html">FreeBSD License</a>.
This license but allows you to create derivative proprietary software
with Jim, that can be ditributed in binary only form without the
................................................................................
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

The views and conclusions contained in the software and documentation
are those of the authors and should not be interpreted as representing
official policies, either expressed or implied, of the Jim Tcl Project.
</code></pre>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>
        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../">Introduction</a></li>
            
                
                <li class="stdlink"><a href="../news/">News</a></li>
            
                
                <li class="stdlink"><a href="../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><span class="active">License</span></li>
            
                
                <li class="stdlink"><a href="../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>

Changes to www/news/index.html.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

37
38

39
40
41
42

43
44
45
46





















47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
..
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
...
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
...
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
...
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
...
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542

543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
<!DOCTYPE html><html lang="en"><head>
    <meta charset="utf-8">
    <title>Jim Tcl - News</title>
    <link rel="stylesheet" type="text/css" href="../css/style.css" media="screen">
    <link rel="stylesheet" type="text/css" href="../css/sh_style.css" media="screen">
	
	<link rel="alternate" type="application/rss+xml" title="News" href="../feed.xml">
	
	<script src="../javascript/sh_main.min.js" type="text/javascript"></script>
	<script src="../javascript/sh_lang.js" type="text/javascript"></script>
	
	<script type="text/javascript">
	  var _gaq = _gaq || [];
	  _gaq.push(['_setAccount', 'UA-23178588-2']);
	  _gaq.push(['_trackPageview']);

	  (function() {
		var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
		ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
		var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
	  })();
	</script>
	
    <meta name="generator" content="Nanoc 4.11.5">
  </head>
  <body>
	<div id="header">
	  <h1 id="blog-title">The Jim Interpreter</h1>
	  <p id="description">A small footprint implementation of the Tcl programming language</p>
	</div>
    <div id="content">
		<div class="breadcrumbs">
		
		<a id="rss" title="News RSS Feed" href="../feed.xml"><img src="../img/rssicon.png"></a>
		
		

			<a href="../">The Jim Interpreter</a> 
			» 

		
			<a href="./">News</a> 
			 
		

		</div>
		<div class="main" id="news">
		
		





















<div class="main" id="main">
<p class="articledate">Wednesday, 20 November 2019</p>
<h2 class="news"><a href="../articles/jim-release-0-79/">Jim Tcl version 0.79</a></h2>


<h2 id="announce-jim-tcl-version-079">ANNOUNCE: Jim Tcl version 0.79</h2>

<p>Jim Tcl 0.79 has been released and is available from:</p>

<p><a href="http://repo.or.cz/w/jimtcl.git">http://repo.or.cz/w/jimtcl.git</a> or <a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<p>Find out all about Jim Tcl at <a href="http://jim.tcl.tk/">http://jim.tcl.tk/</a></p>

<h2 id="changes-since-version-078">CHANGES SINCE VERSION 0.78</h2>

<p>This release contains bug fixes plus a number of additional features.
A summary is below. See git for the full changelog.</p>

<p>Thanks to everyone who contributed to this release.</p>

<p><strong>Bugs fixed in version 0.79</strong></p>

<ul>
  <li><code>aio</code> - Fix closing stdin in bootstrap jimsh</li>
  <li><code>clock scan</code> - Unspecified filed use the current date/time</li>
  <li>Fix linenoise assertion failure on Windows</li>
  <li><code>file</code> - Improved support for trailing slashes in pathnames</li>
  <li><code>regexp</code>, <code>regsub</code> - Various fixes in UTF-8 mode</li>
  <li><code>$(...)</code> syntax now properly returns non-error codes</li>
</ul>

<p><strong>Features added in version 0.78</strong></p>
................................................................................
  <li><code>exec</code> no longer forces <code>SIGPIPE</code> disposition to <code>SIG_DFL</code></li>
  <li>Update autosetup to v0.6.9 with optimised insert/delete</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>


<a href="../articles/jim-release-0-79/#comments">Comments &gt;&gt;&gt;</a>



</div>

<div class="main" id="main">
<p class="articledate">Sunday, 01 July 2018</p>
................................................................................
  <li><code>aio ssl</code> now upgrades the current channel rather than creating a new channel</li>
  <li>Update autosetup to v0.6.8</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>


<a href="../articles/jim-release-0-78/#comments">Comments &gt;&gt;&gt;</a>



</div>

<div class="main" id="main">
<p class="articledate">Sunday, 04 September 2016</p>
................................................................................
  <li>Add Travis and AppVeyor continuous integration support</li>
  <li>Use <code>pkg-config</code> in <code>configure</code> to find packages if possibe</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>


<a href="../articles/jim-release-0-77/#comments">Comments &gt;&gt;&gt;</a>



</div>

<div class="main" id="main">
<p class="articledate">Saturday, 31 January 2015</p>
................................................................................
  <li><code>glob</code> is more Tcl-compatible with respect to <code>-directory</code> and <code>-tails</code>, so may affect some scripts</li>
  <li>The output of errorInfo has changed from <code>"Runtime Error: &lt;file&gt;:&lt;line&gt;: ..."</code> to <code>"&lt;file&gt;:&lt;line&gt;: Error: ..."</code></li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>


<a href="../articles/jim-release-0-76/#comments">Comments &gt;&gt;&gt;</a>



</div>

<div class="main" id="main">
<p class="articledate">Thursday, 27 February 2014</p>
................................................................................
<ul>
  <li>The deprecated <code>case</code> command has been removed</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>


<a href="../articles/jim-release-0-75/#comments">Comments &gt;&gt;&gt;</a>



</div>

<div class="main" id="main">
<p class="articledate">Friday, 24 January 2014</p>
<h2 class="news"><a href="../articles/binary-cheatsheet/">Binary Cheatsheet</a></h2>


<p>I have been using Tcl for years, but I <em>still</em> need to lookup the manual every
time I use <code>binary format</code> and <code>binary scan</code>. If you are like me, you will find
this cheatsheet a handy reference.</p>

<table>
  <tbody>
    <tr>
      <td><code> </code></td>
      <td><strong>Endian</strong></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><strong>Little</strong></td>
      <td><strong>Big</strong></td>
      <td><strong>Host</strong></td>
      <td><strong>Type</strong></td>
      <td><strong>Notes</strong></td>
    </tr>
    <tr>
      <td><code>a</code></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>byte string</td>
      <td>format pads with nulls</td>
    </tr>
    <tr>
      <td><code>A</code></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>byte string</td>
      <td>format pads with spaces, scan strips trailing spaces/nulls</td>
    </tr>
    <tr>
      <td><code>b</code></td>
      <td><code>B</code></td>
      <td>&nbsp;</td>
      <td>binary digits</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><code>h</code></td>
      <td><code>H</code></td>
      <td>&nbsp;</td>
      <td>hex digits</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><code>c</code></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>8 bit integer list</td>
      <td>In other words, ASCII chars</td>
    </tr>
    <tr>
      <td><code>s</code></td>
      <td><code>S</code></td>
      <td><code>t</code></td>
      <td>16 bit integer list</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><code>i</code></td>
      <td><code>I</code></td>
      <td><code>n</code></td>
      <td>32 bit integer list</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><code>w</code></td>
      <td><code>W</code></td>
      <td><code>m</code></td>
      <td>64 bit integer list</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><code>r</code></td>
      <td><code>R</code></td>
      <td><code>f</code></td>
      <td>single prec. float list</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><code>q</code></td>
      <td><code>Q</code></td>
      <td><code>d</code></td>
      <td>double prec. float list</td>
      <td>&nbsp;</td>
    </tr>
    <tr>
      <td><code>x</code></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>null bytes</td>
      <td>count is number of bytes</td>
    </tr>
    <tr>
      <td><code>X</code></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>move cursor back</td>
      <td>count is number of bytes to back up</td>
    </tr>
    <tr>
      <td><code>@</code></td>
      <td>&nbsp;</td>
      <td>&nbsp;</td>
      <td>move cursor to location</td>
      <td>count is byte position, zero based</td>
    </tr>
  </tbody>
</table>

<p><strong>Examples</strong></p>

<pre class="sh_tcl">set bin [binary format I2sH2a* {0x123 0x456} 17 ab "testing"]

# This returns 4 (number of conversions)
binary scan $bin I2sH2a* intlist intval hexval str
</pre>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>


<a href="../articles/binary-cheatsheet/#comments">Comments &gt;&gt;&gt;</a>



</div>

<p><a href="../articles/">See All News Articles »</a></p>

		
		</div>
	</div>
    <div id="sidebar">
      <h2>About Jim Tcl</h2>
      <ul>

		
			
			<li class="stdlink"><a href="../">Introduction</a></li>
		
			
			<li class="stdlink"><span class="active">News</span></li>
		
			
			<li class="stdlink"><a href="../download/">Download</a></li>
		
			
			<li class="stdlink"><a href="../documentation/">Documentation</a></li>
		
			
			<li class="stdlink"><a href="../extensions/">Extensions</a></li>
		
			
			<li class="stdlink"><a href="../license/">License</a></li>
		
			
			<li class="stdlink"><a href="../about/">About</a></li>
		
      </ul>
      <h2>Community</h2>
      <ul>
		<li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
		<li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
		<li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
		<li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
      </ul>
    </div>
	<script language="javascript">sh_highlightDocument();</script>
  

</body></html>

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
>
|
<
>
|
|
|
|
>
|
|
|
|
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>









|





|
<







|







 







|







 







|







 







|







 







|







 







|





<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
<
|

|
|
|

|
<
>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38

39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85

86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
...
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
...
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
...
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
...
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
...
408
409
410
411
412
413
414
415
416
417
418
419
420








































































































































421
422
423
424
425
426
427

428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
<!DOCTYPE html><html lang="en"><head>
        <meta charset="utf-8">
        <title>Jim Tcl - News</title>
        <link rel="stylesheet" type="text/css" href="../css/style.css" media="screen">
        <link rel="stylesheet" type="text/css" href="../css/sh_style.css" media="screen">
        
            <link rel="alternate" type="application/rss+xml" title="News" href="../feed.xml">
        
        <script src="../javascript/sh_main.min.js" type="text/javascript"></script>
        <script src="../javascript/sh_lang.js" type="text/javascript"></script>
        
            <script type="text/javascript">
                var _gaq = _gaq || [];
                _gaq.push(['_setAccount', 'UA-23178588-2']);
                _gaq.push(['_trackPageview']);

                (function() {
                var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
                ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
                var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
                })();
            </script>
        
        <meta name="generator" content="Nanoc 4.11.5">
    </head>
    <body id="_news" class="default">
    <div id="header">
        <h1 id="blog-title">The Jim Interpreter</h1>
        <p id="description">A small footprint implementation of the Tcl programming language</p>
    </div>
    <div id="content">
        <div class="breadcrumbs">
        
            <a id="rss" title="News RSS Feed" href="../feed.xml"><img src="../img/rssicon.png"></a>
        
        
            
                <a href="../">The Jim Interpreter</a>


            
                <a href="./">News</a>
                
            
        
        </div>
        <div class="main" id="news">
        
        
<div class="main" id="main">
<p class="articledate">Monday, 03 February 2020</p>
<h2 class="news"><a href="../articles/move-to-github/">Move primary repo to github</a></h2>


<h2 id="announce-jim-tcl-is-moving-to-github">ANNOUNCE: Jim Tcl is moving to github</h2>

<p>As repo.or.cz has been down for some time, the mirror at github
has now been desginated as the primary repository.</p>

<p><a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>


<a href="../articles/move-to-github.md#comments">Comments &gt;&gt;&gt;</a>



</div>

<div class="main" id="main">
<p class="articledate">Wednesday, 20 November 2019</p>
<h2 class="news"><a href="../articles/jim-release-0-79/">Jim Tcl version 0.79</a></h2>


<h2 id="announce-jim-tcl-version-079">ANNOUNCE: Jim Tcl version 0.79</h2>

<p>Jim Tcl 0.79 has been released and is available from:</p>

<p><a href="https://github.com/msteveb/jimtcl">https://github.com/msteveb/jimtcl</a></p>

<p>Find out all about Jim Tcl at <a href="http://jim.tcl.tk/">http://jim.tcl.tk/</a></p>

<h2 id="changes-since-version-078">CHANGES SINCE VERSION 0.78</h2>

<p>This release contains bug fixes plus a number of additional features. A summary is below. See git for the full changelog.</p>


<p>Thanks to everyone who contributed to this release.</p>

<p><strong>Bugs fixed in version 0.79</strong></p>

<ul>
  <li><code>aio</code> - Fix closing stdin in bootstrap jimsh</li>
  <li><code>clock scan</code> - Unspecified fields use the current date/time</li>
  <li>Fix linenoise assertion failure on Windows</li>
  <li><code>file</code> - Improved support for trailing slashes in pathnames</li>
  <li><code>regexp</code>, <code>regsub</code> - Various fixes in UTF-8 mode</li>
  <li><code>$(...)</code> syntax now properly returns non-error codes</li>
</ul>

<p><strong>Features added in version 0.78</strong></p>
................................................................................
  <li><code>exec</code> no longer forces <code>SIGPIPE</code> disposition to <code>SIG_DFL</code></li>
  <li>Update autosetup to v0.6.9 with optimised insert/delete</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>


<a href="../articles/jim-release-0-79.md#comments">Comments &gt;&gt;&gt;</a>



</div>

<div class="main" id="main">
<p class="articledate">Sunday, 01 July 2018</p>
................................................................................
  <li><code>aio ssl</code> now upgrades the current channel rather than creating a new channel</li>
  <li>Update autosetup to v0.6.8</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>


<a href="../articles/jim-release-0-78.md#comments">Comments &gt;&gt;&gt;</a>



</div>

<div class="main" id="main">
<p class="articledate">Sunday, 04 September 2016</p>
................................................................................
  <li>Add Travis and AppVeyor continuous integration support</li>
  <li>Use <code>pkg-config</code> in <code>configure</code> to find packages if possibe</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>


<a href="../articles/jim-release-0-77.md#comments">Comments &gt;&gt;&gt;</a>



</div>

<div class="main" id="main">
<p class="articledate">Saturday, 31 January 2015</p>
................................................................................
  <li><code>glob</code> is more Tcl-compatible with respect to <code>-directory</code> and <code>-tails</code>, so may affect some scripts</li>
  <li>The output of errorInfo has changed from <code>"Runtime Error: &lt;file&gt;:&lt;line&gt;: ..."</code> to <code>"&lt;file&gt;:&lt;line&gt;: Error: ..."</code></li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>


<a href="../articles/jim-release-0-76.md#comments">Comments &gt;&gt;&gt;</a>



</div>

<div class="main" id="main">
<p class="articledate">Thursday, 27 February 2014</p>
................................................................................
<ul>
  <li>The deprecated <code>case</code> command has been removed</li>
</ul>

<p>Steve Bennett (<a href="mailto:steveb@workware.net.au">steveb@workware.net.au</a>)</p>


<a href="../articles/jim-release-0-75.md#comments">Comments &gt;&gt;&gt;</a>



</div>









































































































































<p><a href="../articles/">See All News Articles&nbsp;»</a></p>

        
        </div>
    </div>
    <div id="sidebar">
        <h2>About Jim Tcl</h2>

        <ul id="mainmenu">
            
                
                <li class="stdlink"><a href="../">Introduction</a></li>
            
                
                <li class="stdlink"><span class="active">News</span></li>
            
                
                <li class="stdlink"><a href="../download/">Download</a></li>
            
                
                <li class="stdlink"><a href="../documentation/">Documentation</a></li>
            
                
                <li class="stdlink"><a href="../extensions/">Extensions</a></li>
            
                
                <li class="stdlink"><a href="../license/">License</a></li>
            
                
                <li class="stdlink"><a href="../about/">About</a></li>
            
        </ul>
        <h2>Community</h2>
        <ul>
            <li><a href="http://jim.tcl.tk:8080/cgi-bin/mailman/listinfo/jim-devel">Mailing List</a></li>
            <li><a href="https://github.com/msteveb/jimtcl">Jim @ github</a></li>
            <li><a href="http://jim.tcl.tk/fossil/timeline/">Jim in fossil</a></li>
            <li><a href="http://wiki.tcl.tk/jim">Jim @ the Tcler's Wiki</a></li>
        </ul>
    </div>
    <script language="javascript">sh_highlightDocument();</script>
    

</body></html>