File: changes20

package info (click to toggle)
ploticus-doc 2.33-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 9,392 kB
  • ctags: 169
  • sloc: pascal: 469; makefile: 63; sh: 11
file content (207 lines) | stat: -rw-r--r-- 5,945 bytes parent folder | download
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
.ig >>
<STYLE TYPE="text/css">
<!--
        A:link{text-decoration:none}
        A:visited{text-decoration:none}
        A:active{text-decoration:none}
        OL,UL,P,BODY,TD,TR,TH,FORM { font-family: arial,helvetica,sans-serif;; font-size:small; color: #333333; }

        H1 { font-size: x-large; font-family: arial,helvetica,sans-serif; }
        H2 { font-size: large; font-family: arial,helvetica,sans-serif; }
        H3 { font-size: medium; font-family: arial,helvetica,sans-serif; }
        H4 { font-size: small; font-family: arial,helvetica,sans-serif; }
-->
</STYLE>
<title>ploticus: script syntax changes - version 2.00</title>
<body bgcolor=D0D0EE vlink=0000FF>
<br>
<br>
<center>
<table cellpadding=2 bgcolor=FFFFFF width=550><tr>
<td>
  <table cellpadding=2 width=550><tr>
  <td><br><h2>Script syntax changes - version 2.00</h2></td>
  <td align=right>
  <small>
  <a href="../doc/welcome.html"><img src="../doc/ploticus.gif" border=0></a><br>
  Version 2.33 Jun'06
  <td></tr></table>
</td></tr>
<td>
<br>
<br>
.>>

.TH Script_syntax_changes_-_version_2.00 PL "02-JUN-2006   PL ploticus.sourceforge.net"

.SH NEW SCRIPT INTERPRETER
Ploticus release 2.00 debuts a new underlying script interpreter system,
with some consequent changes in legal script syntax.
These changes should be fairly obscure; when I tested on the collection of
gallery examples there were minor problems with 3 or 4 of the examples and these were easily fixed.
I appologize in advance for any disruption this may cause.

.LP
\fBChanges that may require maintenance to existing scripts:\fR

.IP \(bu
Variables no longer need to be \fB#declare\fRd.
\fB#declare\fR no longer does anything; if encountered
it will be silently ignored. 
Scripts that depended on \fB#declare\fR to initialize a
variable should now use \fB#set\fR or \fB#setifnotgiven\fR instead.
.br
.br
.IP \(bu
\fB#setifnotgiven\fR should be used to set a default value for any 
variable that may be passed in to the script.  Scripts that use
\fB#declare soft\fR, \fB$exists()\fR, or \fB$notexists()\fR to
handle passed variables should be changed to use \fB#setifnotgiven\fR.
.br
.br
.IP \(bu
References to variables that have never been given a value
cause evaluation to be cancelled, leaving the variable name to appear 
in result, and do not cause an error message to be issued.  
.br
.br
.IP \(bu
Concatenation of constants and/or variables in \fB#set\fR statements
are now done differently.  You used to be able to do this:
\fC#set A = /home/scg/data/@TESTRUN \fR
.br
Now it must be done this way:
\fC#set A = "/home/scg/data/" @TESTRUN\fR
.br
.br
.IP \(bu
Implicit concatentation of constants and/or variables in an \fB#if\fR statement
is longer supported.  For instance, you used to be able to do this:
.br
\fC#if @FILENAME = /home/scg/data/@TESTRUN\fR
.br
Now it must be done this way:
.nf
\0#set F = "/home/scg/data/" @TESTRUN
\0#if @FILENAME = @F
\0...
.fi
.IP \(bu
The \fB$system()\fR function is no longer supported, since the new script interpreter has 
.ig >>
<a href="shell.html">
.>>
\0#shell
.ig >>
</a>
.>>
for issuing shell commands and capturing the results, including multi-row results.
For example, this old code:
.nf
  \0#set dir = $system(pwd)
.fi
can be replaced with the following:
.nf
  \0#shell #processrows pwd
  \0#call $shellrow( dir )
.fi
Spaces may be freely used in the #shell command. (this item added Mar 26 '02)
.br
.br
.IP \(bu
Resource utilization limits have been added as a safety feature 
for automated situations.  By default pl (and any other process it initiates) 
are limited to 10 cpu seconds and 5MB of created disk space.  When a process 
exceeds a limit, a core dump occurs.  These limits can be raised via
.ig >>
<a href="settings.html">
.>>
\0proc settings
.ig >>
</a>
.>>
or
.ig >>
<a href="config.html">
.>>
\0a config file.
.ig >>
</a>
.>>
Or, you can remove the safety limits altogether by making an adjustment in
the Makefile (see step 3) and then do make clean and then make.
.br
.br
.IP \(bu
The \fB$change()\fR function no longer supports the special symbol \fCspace\fR.
A space may be represented naturally, eg \fC$change( "_", " ", @FOO )\fR
.br
.br
.IP \(bu
The \fB$validate()\fR function is no longer supported.
Scripts should use $isnumber() to test numbers, 
$datevalid() to test date values, 
and $timevalid() to test time values.
.br
.br
.IP \(bu
Trailing comments may cause errors where they didn't before.
This line contains a trailing comment:
.nf
	rectangle: 1 1 5 6.5    //xlo, ylo, xhi, yhi
.fi
The documentation has always stated that "any line beginning with a double slash (//)
is taken as a comment", however some of the examples may have used trailing
comments.  When in doubt don't use them.  \fI(this item added Oct 2 '01)\fR
.br
.br
.IP \(bu
\fB#clone\fR no longer accepts a filename argument.  
Use \fB#include\fR and \fB#procdef\fR instead.

.ig >>
<br><br><br>
.>>

.LP
\fBChanges that should not affect existing scripts:\fR

.IP \(bu
\fB#if\fR statements support quoted operands,
useful for constants that have embedded white space.
Example: \fC#if @A = "hello world"\fR
.br
.br
.IP \(bu
Function constructs may now contain embedded spaces, and quoted arguments.
Exceptions are \fB$arith()\fR and \fB$arithl()\fR, which do not allow
embedded spaces within the arithmetic expression.
.br
.br
.IP \(bu
\fB#hideund\fR and \fB#showund\fR directives are no longer necessary, 
and are silently ignored.


.ig >>
<br>
<br>
</td></tr>
<td align=right>
<a href="../doc/welcome.html">
<img src="../doc/ploticus.gif" border=0></a><br><small>data display engine &nbsp; <br>
<a href="../doc/Copyright.html">Copyright Steve Grubb</a>
<br>
<br>
<center>
<img src="../gallery/all.gif"> 
</center>
</td></tr>
</table>
<br>
<center>
Ploticus is hosted at http://ploticus.sourceforge.net <br>
<img src="http://sourceforge.net/sflogo.php?group_id=38453" width="88" height="31" border="0" alt="SourceForge Logo">
</center>
.>>