summaryrefslogtreecommitdiff log msg author committer range
path: root/ext
diff options
 context: 12345678910152025303540 space: includeignore mode: unifiedssdiffstat only
Diffstat (limited to 'ext')
-rw-r--r--ext/bigdecimal/bigdecimal_en.html66
-rw-r--r--ext/bigdecimal/bigdecimal_ja.html12
-rw-r--r--ext/bigdecimal/lib/bigdecimal/jacobian.rb2
-rw-r--r--ext/bigdecimal/lib/bigdecimal/util.rb6
-rw-r--r--ext/curses/curses.c168
-rw-r--r--ext/etc/depend2
-rw-r--r--ext/pty/pty.c4
-rw-r--r--ext/stringio/depend2
-rw-r--r--ext/syslog/syslog.txt4
-rw-r--r--ext/tk/ChangeLog.tkextlib36
-rw-r--r--ext/tk/MANUAL_tcltklib.eng302
-rw-r--r--ext/tk/MANUAL_tcltklib.eucj28
-rw-r--r--ext/tk/lib/tkextlib/SUPPORT_STATUS56
-rw-r--r--ext/tk/sample/demos-en/ChangeLog.prev2
-rw-r--r--ext/tk/sample/demos-en/browse122
-rw-r--r--ext/tk/sample/demos-en/browse222
-rw-r--r--ext/tk/sample/demos-en/ixset28
-rw-r--r--ext/tk/sample/demos-en/ixset254
-rw-r--r--ext/tk/sample/demos-en/rmt68
-rw-r--r--ext/tk/sample/demos-en/rolodex6
-rw-r--r--ext/tk/sample/demos-en/square12
-rw-r--r--ext/tk/sample/demos-en/tcolor18
-rw-r--r--ext/tk/sample/demos-en/timer2
-rw-r--r--ext/tk/sample/demos-en/widget136
-rw-r--r--ext/tk/sample/demos-jp/browse122
-rw-r--r--ext/tk/sample/demos-jp/browse222
-rw-r--r--ext/tk/sample/demos-jp/ixset30
-rw-r--r--ext/tk/sample/demos-jp/ixset256
-rw-r--r--ext/tk/sample/demos-jp/rmt68
-rw-r--r--ext/tk/sample/demos-jp/rolodex6
-rw-r--r--ext/tk/sample/demos-jp/rolodex-j4
-rw-r--r--ext/tk/sample/demos-jp/square12
-rw-r--r--ext/tk/sample/demos-jp/tcolor18
-rw-r--r--ext/tk/sample/demos-jp/timer2
-rw-r--r--ext/tk/sample/demos-jp/widget208
-rw-r--r--ext/tk/sample/irbtkw.rbw10
-rw-r--r--ext/tk/sample/msgs_rb/es.msg2
-rw-r--r--ext/tk/sample/msgs_rb/ru.msg4
-rw-r--r--ext/tk/sample/msgs_tk/el.msg2
-rw-r--r--ext/tk/sample/msgs_tk/es.msg2
-rw-r--r--ext/tk/sample/msgs_tk/ru.msg4
-rw-r--r--ext/tk/sample/tkextlib/tile/repeater.tcl10
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/blue/blue.tcl8
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/keramik/keramik.tcl28
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/keramik/pkgIndex.tcl2
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/kroc/kroc.tcl38
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/kroc/pkgIndex.tcl2
-rw-r--r--ext/tk/sample/tkextlib/tile/themes/plastik/pkgIndex.tcl2
-rw-r--r--ext/tk/sample/tkextlib/tile/toolbutton.tcl34
-rw-r--r--ext/tk/sample/tkextlib/tkHTML/page2/index.html48
-rw-r--r--ext/tk/sample/tkextlib/tkHTML/page3/index.html38
-rw-r--r--ext/win32ole/depend2
83 files changed, 1033 insertions, 1033 deletions
 diff --git a/ext/bigdecimal/README b/ext/bigdecimal/READMEindex a233f47..ae65b01 100644--- a/ext/bigdecimal/README+++ b/ext/bigdecimal/README@@ -51,7 +51,7 @@ You can redistribute it and/or modify it under either the terms of the GPL * The Author -Feel free to send comments and bug reports to the author. Here is the +Feel free to send comments and bug reports to the author. Here is the author's latest mail address: shigeo@tinyforest.gr.jpdiff --git a/ext/bigdecimal/bigdecimal_en.html b/ext/bigdecimal/bigdecimal_en.htmlindex 82acd2a..afaf8ec 100644--- a/ext/bigdecimal/bigdecimal_en.html+++ b/ext/bigdecimal/bigdecimal_en.html@@ -31,14 +31,14 @@ pre

BigDecimal(Variable Precision Floating Library for Ruby)

Japanese

-BigDecimal is an extension library for the Ruby interpreter. -Using BigDecimal class, you can obtain any number of significant digits in computation. +BigDecimal is an extension library for the Ruby interpreter.+Using BigDecimal class, you can obtain any number of significant digits in computation. For the details about Ruby see:
+ NOTE:
This software is provided "AS IS" and without any express or implied warranties,including,without limitation,the implied@@ -62,15 +62,15 @@ NOTE:

Introduction

Ruby already has builtin (variable length integer number) class Bignum. Using Bignum class,you can obtain- any integer value in magnitude. But, variable length decimal number class is not yet built in. + any integer value in magnitude. But, variable length decimal number class is not yet built in. This is why I made variable length floating class BigDecimal. Feel free to send any comments or bug reports to me.
shigeo@tinyforest.gr.jp-I will try(but can't promise) to fix bugs reported. +I will try(but can't promise) to fix bugs reported.

Installation

In 32 bits integer system,every 4 digits(in decimal) are computed simultaneously. This means the number of significant digits in BigDecimal is always a multiple of 4.

-Some more methods are available in Ruby code (not C code). +Some more methods are available in Ruby code (not C code). Functions such as sin,cos ...,are in math.rb in bigdecimal directory. To use them,require math.rb as:

@@ -110,7 +110,7 @@ For details,see the util.rb code. a=BigDecimal::new(s[,n]) or
a=BigDecimal(s[,n]) or
where:
-s: Initial value string. Spaces will be ignored. Any unrecognizable character for +s: Initial value string. Spaces will be ignored. Any unrecognizable character for representing initial value terminates the string.
n: Maximum number of significant digits of a. n must be a Fixnum object. If n is omitted or is equal to 0,then the maximum number of significant digits of a is determined from the length of s.@@ -146,7 +146,7 @@ EXCEPTION_OVERFLOW controls the execution when computation overflows.
EXCEPTION_ZERODIVIDE controls the execution when zero-division occurs.
EXCEPTION_ALL controls the execution when any defined exception occurs.
If the flag is true,then the relating exception is thrown.
-No exception is thrown when the flag is false(default) and computation +No exception is thrown when the flag is false(default) and computation continues with the result:
EXCEPTION_NaN results to NaN
@@ -159,7 +159,7 @@ EXCEPTION_INFINITY,EXCEPTION_OVERFLOW, and EXCEPTION_ZERODIVIDE are currently the same.
The return value of mode method is the value set.
If nil is specified for the second argument,then current setting is returned.
-Suppose the return value of the mode method is f,then +Suppose the return value of the mode method is f,then f & BigDecimal::EXCEPTION_NaN !=0 means EXCEPTION_NaN is set to on.

[ROUND error control]

• limit[(n)]
• Limits the maximum digits that the newly created BigDecimal objects can hold never exceed n.-This means the rounding operation specified by BigDecimal.mode is +This means the rounding operation specified by BigDecimal.mode is performed if necessary. limit returns the value before set if n is nil or is not specified. Zero,the default value,means no upper limit.
@@ -194,7 +194,7 @@ mf = BigDecimal::limit(n)
• double_fig
• -double_fig is a class method which returns the number of digits +double_fig is a class method which returns the number of digits the Float class can have.
p BigDecimal::double_fig  # ==> 20 (depends on the CPU etc.)@@ -290,7 +290,7 @@ returns the maximum integer value (in BigDecimal) which is less than or equal to  c = BigDecimal("-1.23456").floor #  ==> -2
-As shown in the following example,an optional integer argument (n) specifying the position +As shown in the following example,an optional integer argument (n) specifying the position of the target digit can be given.
If n> 0,then the (n+1)th digit counted from the decimal point in fraction part is processed(resulting number of fraction part digits is less than or equal to n).
If n<0,then the n-th digit counted from the decimal point in integer part is processed(at least n 0's are placed from the decimal point to left).@@ -308,7 +308,7 @@ returns the minimum integer value (in BigDecimal) which is greater than or equal c = BigDecimal("-1.23456").ceil # ==> -1
-As shown in the following example,an optional integer argument (n) specifying the position +As shown in the following example,an optional integer argument (n) specifying the position of the target digit can be given.
If n>0,then the (n+1)th digit counted from the decimal point in fraction part is processed(resulting number of fraction part digits is less than or equal to n).
If n<0,then the n-th digit counted from the decimal point in integer part is processed(at least n 0's are placed from the decimal point to left).@@ -327,7 +327,7 @@ round a to the nearest 1(default)ÅD
The rounding operation changes according to BigDecimal::mode(BigDecimal::ROUND_MODE,flag) if specified. -As shown in the following example,an optional integer argument (n) specifying the position +As shown in the following example,an optional integer argument (n) specifying the position of the target digit can be given.
If n>0,then the (n+1)th digit counted from the decimal point in fraction part is processed(resulting number of fraction part digits is less than or equal to n).
If n<0,then the n-th digit counted from the decimal point in integer part is processed(at least n 0's are placed from the decimal point to left).@@ -346,7 +346,7 @@ c = BigDecimal::new("1.23356").round(3,BigDecimal::ROUND_HALF_EVEN) # ==> 1.2
• truncate[(n)]
• c = a.truncate
truncate a to the nearest 1ÅD
-As shown in the following example,an optional integer argument (n) specifying the position +As shown in the following example,an optional integer argument (n) specifying the position of the target digit can be given.
If n>0,then the (n+1)th digit counted from the decimal point in fraction part is processed(resulting number of fraction part digits is less than or equal to n).
If n<0,then the n-th digit counted from the decimal point in integer part is processed(at least n 0's are placed from the decimal point to left).@@ -373,7 +373,7 @@ converts to string(default results look like "0.xxxxxEn").
BigDecimal("1.23456").to_s  #  ==> "0.123456E1"
-If n(>0) is given,then a space is inserted to each of two parts divided by the decimal point +If n(>0) is given,then a space is inserted to each of two parts divided by the decimal point after every n digits for readability.
BigDecimal("0.1234567890123456789").to_s(10)   #  ==> "0.1234567890 123456789E0"@@ -390,7 +390,7 @@ BigDecimal("0.1234567890123456789").to_s("+10") #  ==> "+0.1234567890 123456789E BigDecimal("-0.1234567890123456789").to_s("10") #  ==> "-0.1234567890 123456789E0"
-At the end of the string,'E'(or 'e') or 'F'(or 'f') can be specified to change +At the end of the string,'E'(or 'e') or 'F'(or 'f') can be specified to change number representation.
BigDecimal("1234567890.123456789").to_s("E")  #  ==> "0.1234567890123456789E10"@@ -408,7 +408,7 @@ means a = 0.xxxxxxx*10**n.
• precs
• n,m = a.precs
-precs returns number of significant digits (n) and maximum number of +precs returns number of significant digits (n) and maximum number of significant digits (m) of a.
@@ -473,7 +473,7 @@ p a=BigDecimal::new("3.14",10)
should produce output like "#<0x112344:'0.314E1',4(12)%gt;". where "0x112344" is the address, '0.314E1' is the value,4 is the number of the significant digits,-and 12 is the maximum number of the significant digits +and 12 is the maximum number of the significant digits the object can hold.
@@ -527,12 +527,12 @@ same as ==,used in case statement.
2.A is the BigDecimal object but B is other than BigDecimal object
Operation is performed,after B is translated to corresponding BigDecimal object(because BigDecimal supports coerce method).
3.A is not the BigDecimal object but B is BigDecimal object
-
If A has coerce method,then B will translate A to corresponding +
If A has coerce method,then B will translate A to corresponding BigDecimal object and the operation is performed,otherwise an error occures.
String is not translated to BigDecimal in default.-Uncomment /* #define ENABLE_NUMERIC_STRING */ in bigdecimal.c, compile and install +Uncomment /* #define ENABLE_NUMERIC_STRING */ in bigdecimal.c, compile and install again if you want to enable string to BigDecimal conversion. Translation stops without error at the character representing non digit. For instance,"10XX" is translated to 10,"XXXX" is translated to 0.
@@ -563,7 +563,7 @@ and define coerce method within the new class.
Infinite numbers and NaN can be represented by string writing "+Infinity"(or "Infinity"),"-Infinity",and "NaN" respectively in your program. Infinite numbers can be obtained by 1.0/0.0(=Infinity) or -1.0/0.0(=-Infinity).

-NaN(Not a number) can be obtained by undefined computation like 0.0/0.0 +NaN(Not a number) can be obtained by undefined computation like 0.0/0.0 or Infinity-Infinity. Any computation including NaN results to NaN. Comparisons with NaN never become true,including comparison with NaN itself.@@ -602,7 +602,7 @@ where 'x' is any digit representing mantissa(kept in the array frac[]), BASE is base value(=10000 in 32 bit integer system), and n is the exponent value.
Larger BASE value enables smaller size of the array frac[],and increases computation speed.-The value of BASE is defined ind VpInit(). In 32 bit integer system, this value is +The value of BASE is defined ind VpInit(). In 32 bit integer system, this value is 10000. In 64 bit integer system, the value is 1000000000. When BASE is 10000,an element of the array frac[] can have value of from 0 to 9999. (up to 4 digits).
@@ -630,7 +630,7 @@ The decimal value 1234.56784321 is represented as(BASE=10000):
0.1234 5678 4321*(10000)**1 where frac[0]=1234,frac[1]=5678,frac[2]=4321,-Prec=3,sign=2,exponent=1. MaxPrec can be any value greater than or equal to +Prec=3,sign=2,exponent=1. MaxPrec can be any value greater than or equal to Prec.
@@ -657,7 +657,7 @@ The reason why I adopted decimal number representation for BigDecimal is:
end
-If the internal representation is binary,translation from decimal to +If the internal representation is binary,translation from decimal to binary is required and the translation error is inevitable. For example, 0.1 can not exactly be represented in binary.
0.1 => b1*2**(-1)+b1*2**(-2)+b3*2**(-3)+b4*2**(-4)....
@@ -669,7 +669,7 @@ Of course, exact "0.1" is printed if the rounding operation is properly done,
In binary representation,0.1 can not be represented in finite series of digit. But we only need one element(frac[0]=1) in decimal representation.-This means that we can always determine the size of the array frac[] in Real +This means that we can always determine the size of the array frac[] in Real structure. @@ -689,11 +689,11 @@ For the fundamental arithmetics such as addition,subtraction, multiplication,and division,I prepared 2 group of methods

1. +,-,*,/

-For the operation + - * /,you can not specify the resulting +For the operation + - * /,you can not specify the resulting number of significant digits.
Resulting number of significant digits are defined as:
-1.1 For *,resulting number of significant digits is the sum of the -significant digits of both side of the operator. For / ,resulting number of significant digits is the sum of the +1.1 For *,resulting number of significant digits is the sum of the+significant digits of both side of the operator. For / ,resulting number of significant digits is the sum of the maximum significant digits of both side of the operator.
1.2 For + and -,resulting number of significant digits is determined so that no round operation is needed.
@@ -705,7 +705,7 @@ which means more memory is required to keep computation results. But,the division such as c=1.0/3.0 will always be rounded.

-The length of the significant digits obtained from +,-,*,/ +The length of the significant digits obtained from +,-,*,/ is always defined by that of right and left side of the operator. To specify the length of the significant digits by your self, use methos add,sub,mult,div.@@ -724,7 +724,7 @@ decimal point.

4. Example

-Following example compute the ratio of the circumference of a circle to +Following example compute the ratio of the circumference of a circle to its diameter(pi=3.14159265358979....) using J.Machin's formula.

@@ -746,7 +746,7 @@ def big_pi(sig) # sig: Number of significant figures   k = BigDecimal::new("1")   w = BigDecimal::new("1")   t = BigDecimal::new("-80")-  while (u.nonzero? && u.exponent >= exp) +  while (u.nonzero? && u.exponent >= exp)     t   = t*m25     u   = t.div(k,sig)     pi  = pi + udiff --git a/ext/bigdecimal/bigdecimal_ja.html b/ext/bigdecimal/bigdecimal_ja.htmlindex 37bbcbb..cc44d61 100644--- a/ext/bigdecimal/bigdecimal_ja.html+++ b/ext/bigdecimal/bigdecimal_ja.html@@ -41,7 +41,7 @@ Ruby ɂĂ̏ڂe͈ȉURLQƂĂB  +

ڎ

@@ -73,8 +73,8 @@ Ruby ɂ Bignum ƂNXAS̐łvZ邱Ƃł܂B BigDecimal ܂ Ruby ̍ŐVłRubyy[W_E[hł܂B _E[hŐVł𓀂Aʏ̃CXg[菇sĉB Ruby CXg[΁A BigDecimal pł悤ɂȂ͂łB-\[Xt@C -bigdecimal.c,bigdecimal.h +\[Xt@C+bigdecimal.c,bigdecimal.h ̂Q݂̂łB

@@ -332,7 +332,7 @@ n>=0 ȂA_ȉ n+1 ʂ̐𑀍삵܂(_ȉAő n ɂ܂)
• round[(n[,b])]
• c = a.round
-NX\bh BigDecimal::mode(BigDecimal::ROUND_MODE,flag) Ŏw肵 +NX\bh BigDecimal::mode(BigDecimal::ROUND_MODE,flag) Ŏw肵 ROUND_MODE ɏ]Ċۂߑs܂B BigDecimal::mode(BigDecimal::ROUND_MODE,flag) ŉw肹AA w肵Ȃꍇ́u_ȉʂ̐ľܓĐiBigDecimal ljvɂ܂B
@@ -505,7 +505,7 @@ c = a.sqrt(n)
• <=>
• a==b Ȃ 0Aa > b Ȃ 1Aa < b Ȃ -1 ɂȂ܂B
-c = a <=> b +c = a <=> b
́AǂŎ̔@łB
- + @@ -50,8 +50,8 @@ } } //-->- - + +
@@ -186,13 +186,13 @@ or higher. There are also an "unofficial" release for 8.0p2 and 8.1a2 that were not done by the author. Edit(October 26, 1999 09:43)
BWidget-
A set of native Tk 8.x Widgets using Tcl8.x namespaces. +
A set of native Tk 8.x Widgets using Tcl8.x namespaces. The ToolKit is available under Unix/X11 and Windows.-The BWidget(s) have a professional look&feel as in other -well known Toolkits (Tix or Incr Widget) but the concept is -radically different because everything is native +The BWidget(s) have a professional look&feel as in other+well known Toolkits (Tix or Incr Widget) but the concept is+radically different because everything is native so no platform compilation, no compiled extension-library are needed. The code is 100 Pure Tcl/Tk. +library are needed. The code is 100 Pure Tcl/Tk. More 30 components : Notebook, PageManager, Tree, PanedWindow, ButtonBox, ScrollView, ComboBox, SpinBox, ListBox, SelectFont, SelectColor, ProgressBare ... Edit@@ -220,10 +220,10 @@ Unix). The console itself provides many more features than the standard console.
This project seeks to integrate the Tk toolkit with the Frontier scripting language. Edit (August 19, 1999 15:36)
Img image format extension-
This package enhances Tk, adding support for many other Image formats: +
This package enhances Tk, adding support for many other Image formats: BMP, XBM, XPM, GIF (with transparency), PNG, JPEG, TIFF and postscript.-This is implemented as a shared library that can be dynamically loaded into +This is implemented as a shared library that can be dynamically loaded into Tcl/Tk. Edit (November 21, 1999 06:35)
mclistbox - a multi-column listbox widget@@ -234,7 +234,7 @@ requires no other extensions; it is completely standalone. Edit (August 19, 1999 15:37)
MFC views C++ class for embedding Tk
The idea of embedding Tk in MFC windows always seemed very enticing but information was sparse and contradictory - on a- scale between "very easy" and "not yet possible". The only thing for it was to have a go and lo, it wasn't that hard after all. + scale between "very easy" and "not yet possible". The only thing for it was to have a go and lo, it wasn't that hard after all. CTkView is a C++ class which can be used in MFC SDI or MDI applications. An instance of CTkView hosts an embedded Tk toplevel widget and performs some management chores for the widget so that it can size, update and react correctly to Windows events. Edit@@ -244,7 +244,7 @@ standalone. download.html
Pad++ is a Tk widget that provides a Zoomable User Interface (ZUI) that supports real-time interactive zoomable graphics in a fashion similar to the Tk Canvas widget. Pad++ supports tens of thousands of objects which include text, images, graphics, portals, lenses, simple html (and more), including transparency and rotation. Edit (August 19, 1999 15:39)
Progressbar-
Progressbar is a megawidget written in pure tcl (ie: no compiling required - runs on all platforms Macintosh, Unix, Windows). +
Progressbar is a megawidget written in pure tcl (ie: no compiling required - runs on all platforms Macintosh, Unix, Windows). Its primary purpose is to show the progress of any action in percent. Edit (January 24, 2000 09:19)
scwoop (Simple Composite Widget Object Oriented Package)
Scwoop is a composite widget (also known as mega widget) extension to the great Tk widget library. Scwoop is@@ -287,7 +287,7 @@ pie charts on a Tk canvas. Edit (October 11, 1999 09:58)
The TkTable widget. The table command creates a +
The TkTable widget. The table command creates a 2-dimensional grid of cells. The table can use a Tcl array variable or Tcl command for data storage and retrieval. Edit@@ -303,14 +303,14 @@ command for data storage and retrieval. Edit (August 23, 1999 12:14)
ToGL - a Tk Open GL widget
Togl is a Tk widget for OpenGL rendering. Togl is based on OGLTK, originally written by Benjamin Bederson at the-University of New Mexico (who has since moved to the University of Maryland). Togl adds the new features: +University of New Mexico (who has since moved to the University of Maryland). Togl adds the new features:
-
• color-index mode support including color allocation functions -
• support for requesting stencil, accumulation, alpha buffers, etc -
• multiple OpenGL drawing widgets -
• OpenGL extension testing from Tcl -
• simple, portable font support -
• overlay plane support +
• color-index mode support including color allocation functions+
• support for requesting stencil, accumulation, alpha buffers, etc+
• multiple OpenGL drawing widgets+
• OpenGL extension testing from Tcl+
• simple, portable font support+
• overlay plane support
Togl allows one to create and manage a special Tk/OpenGL widget with Tcl and render into it with a C program. That is, a typical Togl program will have Tcl code for managing the user interface and a C program for computations and@@ -383,7 +383,7 @@ tree. The tree can be displayed horizontally or vertically. Works with Tcl/Tk 8.0 or higher
This is a package of megawidgets (i.e., compound widgets) that work almost exactly like Tk widgets.- You can also build your own new megawidgets. + You can also build your own new megawidgets. Includes: combobox, hierarchy, console, progressbar, tabnotebook, validating entry, pane geometry manager, baloon help. Edit (August 23, 1999 12:16)@@ -419,15 +419,15 @@ tabnotebook, validating entry, pane geometry manager, baloon help.
Legal Notice | + Legal Notice | Privacy Statement
- \ No newline at end of file+diff --git a/ext/tk/sample/tkextlib/tkHTML/page3/index.html b/ext/tk/sample/tkextlib/tkHTML/page3/index.htmlindex ce92e8a..a04470e 100644--- a/ext/tk/sample/tkextlib/tkHTML/page3/index.html+++ b/ext/tk/sample/tkextlib/tkHTML/page3/index.html@@ -218,7 +218,7 @@

How To Compile Under Unix Without Installing Tcl

Specify the *.a file directly:

-  \$ gcc -I../tcl8.2.2/generic hello.c \ +  \$ gcc -I../tcl8.2.2/generic hello.c \       ../tcl8.2.2/unix/libtcl8.2.a -lm -ldl   \$ strip a.out   \$ ./a.out@@ -226,7 +226,7 @@

Or, tell the C compiler where to look for *.a files:

-  \$ gcc -I../tcl8.2.2/generic hello.c \ +  \$ gcc -I../tcl8.2.2/generic hello.c \       -L../tcl8.2.2/unix -ltcl -lm -ldl   \$ strip a.out   \$ ./a.out@@ -982,7 +982,7 @@ int main(int argc, char **argv){

• 3rd parameter of Tcl_CreateCommand() is a pointer to the C subroutine- that implements the command.
• 4th parameter to Tcl_CreateCommand() becomes the 1st parameter to + that implements the command.
• 4th parameter to Tcl_CreateCommand() becomes the 1st parameter to the C routine whenever the Tcl command is executed.
• 1st parameter to Tcl_CreateCommand() must be a valid Tcl interpreter. The same pointer appears as the second parameter to the C routine whenever the Tcl command is executed.

@@ -990,7 +990,7 @@ int main(int argc, char **argv){

• 5th parameter of Tcl_CreateCommand() is a pointer to the C subroutine- that is called when the Tcl command is deleted.
• 4th parameter to Tcl_CreateCommand() becomes the 1st parameter to + that is called when the Tcl command is deleted.
• 4th parameter to Tcl_CreateCommand() becomes the 1st parameter to the C routine.

@@ -1035,7 +1035,7 @@ pack .b

-

The argc and argv parameters work just like in +

The argc and argv parameters work just like in main()

@@ -1139,7 +1139,7 @@ pack .b
-

• Result should be the text of an error message if you +

• Result should be the text of an error message if you return TCL_ERROR.
• 3rd argument to Tcl_SetResult() can be TCL_STATIC, TCL_DYNAMIC, TCL_VOLATILE, or a function pointer.
• Also consider using Tcl_AppendResult().
• See the man pages for details.

@@ -1443,7 +1443,7 @@ int main(int argc, char **argv){

Initialization Scripts

• Run the mini TCLSH implemented above and execute the parray command
• It doesn't work! What's wrong?

• parray is really a Tcl proc that is read in when the interpreter is initialized.

• parray (and several other commands) are stored in a- handful of "Initialization Scripts"

• All the initialization scripts are stored in the + handful of "Initialization Scripts"

• All the initialization scripts are stored in the "Tcl Library" - a directory on the host computer.

Invoke the Tcl_Init() function to locate and read the@@ -1668,8 +1668,8 @@ int main(int argc, char **argv){
• Allows us to implement a virtual filesystem that overlays the real filesystem.
• The virtual filesystem contains all the initialization scripts as compiled-in strings. The initialization scripts look like- they are resident on disk even though they are built in.
• These functions first appeared in Tcl8.0.3. - Presumably to support TclPro Wrapper.
• The only documentation is comments on the code. + they are resident on disk even though they are built in.
• These functions first appeared in Tcl8.0.3.+ Presumably to support TclPro Wrapper.
• The only documentation is comments on the code. See the Tcl source file generic/tclIOUtil.c

The TclStatInsertProc() Function

@@ -1997,7 +1997,7 @@ int main(int argc, char **argv){

Compiling "Hello, World!" For Tk

Unix:

-  \$ gcc hello.c -ltk -L/usr/X11R6/lib \ +  \$ gcc hello.c -ltk -L/usr/X11R6/lib \         -lX11 -ltcl -lm -ldl   \$ ./a.out
@@ -2008,7 +2008,7 @@ int main(int argc, char **argv){

Windows using Mingw32:

-  C:> gcc -mno-cygwin hello.c -mwindows \ +  C:> gcc -mno-cygwin hello.c -mwindows \            -ltk82 -ltcl82 -lm   C:> a.exe

@@ -2162,7 +2162,7 @@ int main(int argc, char **argv){
• FreeWrap - http://www.albany.net/~dlabelle/freewrap/freewrap.html
• Wrap - http://members1.chello.nl/~j.nijtmans/wrap.html
• No C compiler required!
• TclPro will convert Tcl script into bytecode so that it cannot be- easily read by the end user. FreeWrap encrypts the scripts.
• FreeWrap uses compression on its executable. + easily read by the end user. FreeWrap encrypts the scripts.
• FreeWrap uses compression on its executable. Wrap uses compression on both the executable and on the bundled script files.
• Usually include extensions like winico and/or BLT

@@ -2170,8 +2170,8 @@ int main(int argc, char **argv){

• Mix C/C++ with Tcl/Tk into a standalone binary
• mktclapp generates an application initialization file- that contains Tcl scripts as strings and makes all necessary calls - to Tcl_Init, Tcl_CreateCommand, + that contains Tcl scripts as strings and makes all necessary calls+ to Tcl_Init, Tcl_CreateCommand, Tcl*InsertProc, etc.
• Features to make it easier to write new Tcl command in C
• xmktclapp.tcl provides a GUI interface to mktclapp
• http://www.hwaci.com/sw/mktclapp/

@@ -2400,7 +2400,7 @@ int ET_OBJCOMMAND_add2(ET_OBJARGS){

Locations Of Libraries

• Tells mktclapp where to look for script libraries.
• All Tcl scripts in the indicated directories are- compiled into the appinit.c file.
• Comments and extra white-space are removed. + compiled into the appinit.c file.
• Comments and extra white-space are removed. There is no way to turn this off.

@@ -2607,10 +2607,10 @@ int main(int argc, char **argv){

Mktclapp Initialization Sequence

-

• Initialization starts when the Et_Init() +

• Initialization starts when the Et_Init() function is called either by client code or by the main() that mktclapp generates
• Create the main Tcl interpreter
• Construct the virtual filesystem overlay by redefining- the source command and by using the + the source command and by using the Tcl*InsertProc() functions
• Call Et_PreInit() if the client defines it
• Call Tcl_Init() and Tk_Init()
• Call Tcl_CreateCommand() and Tcl_CreateObjCommand() for every ET_COMMAND_* and ET_OBJCOMMAND_* function in the client code
• Call Et_AppInit() if the client defines it
• Run the main Tcl script if there is one
• Call Et_CustomMainLoop() if defined by client code or@@ -2680,7 +2680,7 @@ void ErrMsg(char *zMsg){
• The command that gets executed is:
-    tk_messageBox -icon error -msg \ +    tk_messageBox -icon error -msg \         {Syntax error near "}"} -type ok
@@ -2708,7 +2708,7 @@ void ErrMsg(char *zMsg){

• The puts a backslash before all characters that are special to Tcl
• The Tcl command becomes:
-    tk_messageBox -icon error -msg \ +    tk_messageBox -icon error -msg \         "Syntax error near \"\}\"" -type ok