-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathChangeLog.2007
2727 lines (1756 loc) · 88.1 KB
/
ChangeLog.2007
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
2007-12-26 David N. Welton <davidw@dedasys.com>
* tests/java.hcl: Added some more tests: for -methods and for an
error condition.
* java/org/hecl/java/JavaCmd.java: Added -methods flag.
* java/org/hecl/java/Reflector.java: Added methods method.
2007-12-19 David N. Welton <davidw@dedasys.com>
* android/res/raw/lib.hcl: Added basiclist code here to make
things cleaner and easier.
* android/res/raw/script.hcl: Add task selector, inspired by dims'
work here:
http://davanum.wordpress.com/2007/12/18/android-task-manager-primitive-prototype/
* android/src/org/hecl/android/AndroidCmd.java: Load HeclJavaCmd
so we can create new Hecl Java commands on the fly - this is a
better way of dealing with infrequently used classes like those in
the task demo.
* android/AndroidManifest.xml: Let Android look at tasks.
* java/org/hecl/java/Reflector.java: Add getField method that can
be used with instance object fields.
* java/org/hecl/java/JavaCmd.java: Add a -field "subcommand". I
don't think that's even a valid name for a method in Java, so it
ought to be ok. It returns the value of a field.
2007-12-18 David N. Welton <davidw@dedasys.com>
* android/res/raw/script.hcl: Use the new activity command.
* android/src/org/hecl/android/AndroidCmd.java: Added activity
command here, which returns a Hecl object, which is also added as
a JavaCmd, so we don't have to have a specialized command for it.
* android/src/org/hecl/android/ActivityCmd.java: Removed activity
command in favor of some hackery in AndroidCmd.
2007-12-18 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* core/org/hecl/MathCmds.java: Enhanced round, now present even on cdlc1.1
2007-12-18 David N. Welton <davidw@dedasys.com>
* android/src/org/hecl/android/Hecl.java: Tweaked the resource
readers to use what Android provides, which are ints, not strings.
* android/AndroidManifest.xml: Let Hecl read contacts.
* android/src/org/hecl/android/AndroidCmd.java: Added query
command, cursor command.
* android/res/raw/script.hcl: Added simple contact list.
* android/res/raw/lib.hcl: Helper/library script for Android.
Since Android makes heavy use of the Java compatibility bridge,
this file is useful to add a nice layer of "Heclness" on top of
some of the commands.
* java/org/hecl/java/Reflector.java: Added return type mappings
for String[] and int[].
* settings.xml: Added android defines.
* core/, net/, rms/, settings.xml: One more time: let's use
wtk.cldc.version instead of cldcstr, which means that we compare
numbers like 1.0 instead of 10.
2007-12-17 David N. Welton <davidw@dedasys.com>
* android/src/org/hecl/android/Hecl.java: Read in 1k at a time.
* android/build.xml: Fixed up android for new symbols.
* settings.xml: Use midp, cldc, j2me, j2se and javaversion
symbols.
* core/, net/, rms/: Let's try out cldc and midp as a symbols.
* net/*.java: Use "cldc1.0" instead of ant:cldc1.0 as a symbol.
* midp20gui/*.java: Use "cldc1.0" instead of ant:cldc1.0 as a symbol.
* core/org/hecl/*.java: Use "cldc1.0" instead of ant:cldc1.0 as a symbol.
* core/org/hecl/Interp.java: *IMPORTANT* - make eval synchronized!
2007-12-17 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* rms/org/hecl/rms/RMSCmd.java: New rms.setmode, added ability to
support midp1.0 RMS once th ebuild files can handle this.
2007-12-17 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* j2me.xml: Turned off verbosity when preprocessing/compiling some
targets.
* rms/org/hecl/rms/RMSCmd.java: Added new command rms.create andf
changed behavior of rms.set.
* core/org/hecl/Interp.java: Added simple caching for
classcommand and support for subtyped classcommands. For now the
cache is cleared whenever a classcommand is added/removed and
filled lazily when a method is called. The search now looks for
the most specific classcommand for the object in question and
caches the lookup result for later reuse.
2007-12-17 David N. Welton <davidw@dedasys.com>
* net/org/hecl/HttpRequest.java: Use j2me symbol instead of
ant:j2me.
* j2me.xml: Use j2me.defines instead of ant:j2me,ant:${cldc} for
the symbols.
* midp10/examples/recordstore.hcl: Updated again from Nils-Arne.
2007-12-15 David N. Welton <davidw@dedasys.com>
* android/res/raw/script.hcl: We no longer need all the casts,
because Hecl now figures out numbers automatically, thanks to the
Parse.java changes.
2007-12-14 David N. Welton <davidw@dedasys.com>
* tests/for.hcl: This is the only test case that failed after the
previous change, because {01} is turned into 1. It's necessary to
represent the number as a string by wrapping it in quotes.
* core/org/hecl/Parse.java: *IMPORTANT* checked in some code that
tries to parse numbers as numbers *as* they are parsed. This
means that Hecl will see 10 as a number immediately, and "10" as a
string. It will still be possible for Hecl to use "10" as a
number via its weak typing, but this will make Java integration,
which relies on getting the correct Hecl type, easier.
* java/org/hecl/java/Reflector.java: Get the right class name for
errors even when we are doing a static call.
* tests/java.hcl: Test an error condition in the java integration.
* java/org/hecl/java/HeclJavaCmd.java: Added this file...oops!
* java/org/hecl/java/*.java: Added docstrings.
* misc.xml: Fixed up javadoc generation, created a 'build
everything' target that HeclBuilder uses as well.
2007-12-14 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* midp20gui/org/hecl/midp20/lcdui/HeclCanvas.java:
* midp20gui/org/hecl/midp20/lcdui/DisplayableCmd.java:
* midp20gui/org/hecl/midp20/lcdui/AlertCmd.java:
Changed setcurrent to save old fullscreen state of cancas and
restore it after performing the switch. Workaround to fix problem
with WTK2.5.2 emulator.
2007-12-13 David N. Welton <davidw@dedasys.com>
* android/res/raw/script.hcl: Added a little bit of code to
execute Hecl code and display the results.
* android/README: Added a very basic getting started doc for
Android Hecl.
* android/AndroidManifest.xml: Added icon.
* HeclBuilder/heclbuilder/HeclBuilderGui.java: Corrected location
of internal jars.
* misc.xml: Add correct files to HeclBuilder.jar. Make sure that
both midp10 and midp20 jars are built prior to packaging them.
2007-12-12 David N. Welton <davidw@dedasys.com>
* docs/hecl.xml: Initial cut at integrating demo originally
written for free software magazine.
2007-12-11 David N. Welton <davidw@dedasys.com>
* docs/hecl.xml: Removed references in the short tutorial so as to
avoid confusing people.
* android/res/raw/script.hcl: Added a number of comments.
* android/res/raw/script.hcl: Select the demo you want with a
listview instead of a spinner.
* android/src/org/hecl/android/HeclCallback.java: Added callback
for OnItemSelectedListener, OnItemClickListener.
* android/src/org/hecl/android/AndroidCmd.java: Added AdapterView,
DigitalClock and ListView.
* android/res/raw/script.hcl: Added checkbox, progressdialog and
radiobutton dialogs. Radio buttons do not, however, work, due to
a bug in the Android code!
* android/src/org/hecl/android/AndroidCmd.java: Added
ProgressDialog and CheckBox.
* android/src/org/hecl/android/HeclCallback.java: Added callback
for android.widget.CompoundButton.OnCheckedChangeListener, used in
checkboxes.
2007-12-10 David N. Welton <davidw@dedasys.com>
* android/res/raw/script.hcl: Added a few more widgets.
* android/src/org/hecl/android/Hecl.java: Added some preliminary
code to deal with menus.
* android/src/org/hecl/android/HeclCallback.java: Made this a more
generic place to host callbacks.
* android/src/org/hecl/android/AndroidCmd.java: Use a 'Hecl'
object instead of an Activity, so we can get access to the goodies
within. Added menusetup and menucallback commands.
* docs/hecl.xml: Fixed DTD to use recent version of DocBook.
2007-12-07 David N. Welton <davidw@dedasys.com>
* midp10/examples/recordstore.hcl: New version by Nils-Arne
Dahlberg.
2007-12-05 David N. Welton <davidw@dedasys.com>
* java/org/hecl/java/Reflector.java: Added getField method.
Unknown constant types are created as Objects. Boolean return
types are created as integers.
* java/org/hecl/java/JavaCmd.java: Added ways to deal with static
methods, and access fields. -new must also be argv[1], where it's
used.
2007-12-04 David N. Welton <davidw@dedasys.com>
* android/build.xml: We need the Hecl java package here too.
* core/org/hecl/Thing.java: Conditionally provide hashCode and
equals methods, which are utilized by the JavaCmd code.
* java/org/hecl/java/Reflector.java: Use .class instead of string
comparisons in mapRetval. Special case for returned Thing
objects.
* tests/java.hcl: Test the java command and its application to the
Hashtable class.
* core/org/hecl/Properties.java: Make Hashtable protected instead
of private.
* core/org/hecl/MathCmds.java: Use #if javaversion >= 1.5 instead
of #ifdef j2se.java15.
* java/org/hecl/java/JavaCmd.java,
java/org/hecl/java/MethodProps.java,java/org/hecl/java/Reflection.java:
Moved these here from the Android directory, so that they may also
be used (and tested) by command line Hecl.
* core.xml: Compile 'java' package for command line Hecl.
* settings.xml: Use 'javaversion' instead of 'j2se.java15' for
j2se.defines.
* j2me.xml: Removed 'symbols' from midp target, as they're not
needed, and cause compilation errors due to "new, improved"
preprocessor which doesn't accept the old syntax.
2007-11-28 David N. Welton <davidw@dedasys.com>
* midp20gui/org/graphics/Drawable.java: Commented reference to
unavailable font.
2007-11-27 David N. Welton <davidw@dedasys.com>
* android/res/raw/script.hcl: Utilize -new syntax for constructors.
* android/src/org/hecl/android/JavaCmd.java: Use -new [list x y z]
syntax to pass arguments to constructor, for the time being.
* core/org/hecl/ListThing.java: Added a convenience method to
transform a ListThing into an array of Things, instead of a
Vector.
* core.xml: Added tests target.
* android/src/org/hecl/android/JavaCmd.java: Evaluate any
additional props passed in.
* android/src/org/hecl/android/Reflector.java: Recognise Thing as
a Java parameter.
* android/src/org/hecl/android/HeclOnClickListener.java: New class
that is utilized for handling callbacks.
* android/src/org/hecl/android/MethodProps.java: Remove special
cases.
* android/src/org/hecl/android/AndroidCmd.java: Switch over
completely to JavaCmd from ViewCmd.
* android/src/org/hecl/android/HeclTypeMap.java: Removed and all
functionality transferred to Reflector.java.
* android/src/org/hecl/android/Reflector.java: Stop using the
HeclTypeMap thing in favor of some methods added to this class,
that also unify the method selection and parameter filling.
* android/src/org/hecl/android/AndroidCmd.java: Hacked reslookup
command to accept android package layout stuff as well. Utilize
JavaCmd for more things.
2007-11-26 David N. Welton <davidw@dedasys.com>
* android/res/raw/script.hcl: Beginnings of a widget tour.
* android/src/org/hecl/android/HeclTypeMap.java: Make the methods
here just a bit more generic so they can be used both by
constructors and methods.
* android/src/org/hecl/android/JavaCmd.java: Added a command to
more "purely" integrate with Java in that it won't be aware of any
Android specific classes. It also takes care of instantiating a
class, although the final API for this isn't yet clear in my head.
* android/src/org/hecl/android/Reflector.java: Added a system to
get public static final fields and turn them into potential
arguments for methods and constructors. Also added a system to
instantiate classes given a list of Hecl variables passed as a
constructor to a JavaCmd.
* android/src/org/hecl/android/MethodProps.java: Hacky class that
will likely see significant changes in short order, especially the
special cases, which should go away in favor of better Java
integration.
* android/src/org/hecl/android/AndroidCmd.java: Added null
command. Load up a few widgets as JavaCmds rather than ViewCmds.
* android/src/org/hecl/android/ActivityCmd.java: Added a subcmd to
get the activity object itself. Still hacky code.
2007-11-24 David N. Welton <davidw@dedasys.com>
* android/src/org/hecl/android/Hecl.java: Make the logStacktrace
method available, add in http command.
* android/build.xml: Add in HTTP.
2007-11-22 David N. Welton <davidw@dedasys.com>
* android/src/org/hecl/android/AndroidCmd.java: Use ViewCmd load method.
* android/src/org/hecl/android/Reflector.java: Be a bit more
verbose in our error messages for the time being. Check for
null methodnames in selectMethod.
* android/src/org/hecl/android/ViewCmd.java: This is beginning to
be able to handle any sort of generic View derived object,
through the magic of reflection. We can also instantiate new
objects.
* res/layout/main.xml: Give the layout an ID so that it's
accessible.
2007-11-20 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* j2me.xml: Moved property definitions into targets, so it is no
longer necessary to use the property files.
* midp20gui/org/graphics/VFont.java:
* midp20gui/org/graphics/Drawable.java:
* midp20gui/org/hecl/midp20/lcdui/HeclCanvas.java:
Modified defines to work with antenna-1.0.0.
2007-11-19 David N. Welton <davidw@dedasys.com>
* android/src/org/hecl/android/AndroidCmd.java: Added experimental
s, l, i, d commands for casting purposes. These will be moved
elsewhere if they prove successful.
* settings.xml: Use the new Antenna preprocessor.
* core/org/hecl/MathCmds.java: New Antenna preprocessor can't
handle text after "endif" - removed.
* android/build.xml: Grab the android tools' location from a
properties file. Remove the android.defines in the symbols passed
to the android compile, for the moment.
2007-11-19 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* core/org/hecl/MathCmds.java: Changed ifdef to work with new
wtk2.5 preprocessor which allow comparison.
* core/org/hecl/Interp.java: Corrected imports to work in j2me environment.
2007-11-15 David N. Welton <davidw@dedasys.com>
* core/org/hecl/Interp.java: Improved jline stuff to do command
line completion of commands present at run time. Several fixes
possible: update as new commands are created, and do something
with variables as well.
2007-11-14 David N. Welton <davidw@dedasys.com>
* core.xml: Unjar jline in order to include it in the j2se Hecl jar.
2007-11-12 David N. Welton <davidw@dedasys.com>
* core/org/hecl/Interp.java: Integrated jline command line
processing tool.
2007-09-11 David N. Welton <davidw@dedasys.com>
* cldc11midp20.properties: Use this to build MIDP2.0 applications.
* cldc10midp10.properties: Use this to build MIDP1.0 applications.
* j2me.xml: Build system is now automated through the use of
.properties files.
2007-09-09 David N. Welton <davidw@dedasys.com>
* docs/hecl.xml: First draft of the lcdui commands is done.
2007-09-05 David N. Welton <davidw@dedasys.com>
* midp20/script.hcl (settingsDemo): Added settings demo.
2007-09-05 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* midp20/org/hecl/midp20/lcdui/SettingsCmd.java: Made command work
with a dirty trick to fake an instance.
* midp20/org/hecl/midp20/lcdui/ListCmd.java: Added support for
'selection index' to get selected index.
* midp20/org/hecl/midp20/lcdui/HeclCanvas.java: Added fix for
Nokia 6630 screen size bug.
* midp20/org/hecl/midp20/lcdui/FormCmd.java:
* midp20/org/hecl/midp20/lcdui/WidgetInfo.java: Allow Form with no
title to support usage with j2me polish in fullscreen mode!
2007-09-04 David N. Welton <davidw@dedasys.com>
* docs/hecl.xml: lcdui.list, settings, stringitem.
2007-09-03 David N. Welton <davidw@dedasys.com>
* tests/upeval.hcl: Fix test for error thrown in upeval, and
restoration of the previous stack.
* core/org/hecl/HeclException.java: Added a message field to save
the message in, and removed the getMessage method. pushException
accepts a string to save in the message field.
2007-09-02 David N. Welton <davidw@dedasys.com>
* docs/hecl.xml: Added lcdui.image, lcdui.imageitem documentation.
2007-09-01 David N. Welton <davidw@dedasys.com>
* docs/hecl.xml: Added lcdui.gauge documentation.
* midp20/script.hcl: Added gauge to the form demo.
* docs/hecl.xml: Added documentation for the lcdui.font and
lcdui.form commands. Various other fixes.
* midp20/script.hcl: Added font demo.
2007-08-31 David N. Welton <davidw@dedasys.com>
* midp20/script.hcl (menu1sel): Make the list demo actually do
something that can be seen on phones.
* midp20gui/org/hecl/midp20/lcdui/FontMap.java: Used else if
instead of simple if.
* docs/*.html: Set svn:mime-type to application/octet-stream in
order to not generate so much churn in SVN.
* docs/hecl.xml: Described $eventcmd.
2007-08-28 David N. Welton <davidw@dedasys.com>
* docs/hecl.xml: Added some links back to the Java docs so that
people can find more detailed explanations. Added a bit more to
the lcdui.command command.
2007-08-27 David N. Welton <davidw@dedasys.com>
* docs/hecl.css: Fiddled with margins, corrected font size for
td's.
* docs/hecl.xml: Latest lcdui updates. Switch from simplelist to
itemizedlist.
2007-08-23 David N. Welton <davidw@dedasys.com>
* midp20gui/org/hecl/midp20/lcdui/HeclCanvas.java: Changed German
text to English.
* docs/hecl.xml: Started work on lcdui.* commands.
2007-08-20 David N. Welton <davidw@dedasys.com>
* docs/hecl.xml: Added http.* commands to the documentation,
replacing the http command.
Added record store commands.
* midp20/script.hcl: Added canvas example.
2007-08-17 David N. Welton <davidw@dedasys.com>
* media/org/hecl/media/MediaCmd.java, HeclMedia.java: Added
initial media support. Still needs lots of work, and to be made
more robust.
2007-08-13 David N. Welton <davidw@dedasys.com>
* midp20gui/org/hecl/midp20/lcdui/WidgetListener.java: Extracted
code into a new method, eventEval. Also, we treat the first
argument as a list, so that it becomes possible to pass a real
list to -commandaction.
* tests/upeval.hcl: Add test that blows up without the fix, below,
in Interp.java.
* core/org/hecl/Interp.java: Catch any exceptions in code
evaluation and throw them only *after* any upper stack frames have
been restored.
* core/org/hecl/HeclTask.java: Use toString instead of getMessage
for bgerrors, in order to get a stack trace.
* jarhack/jarhack/JarHack.java: Extract the CLDC and MIDP versions
in order to do the right thing when building new jars.
* core.xml: Fixed typo preventing jarhack build.
2007-08-08 David N. Welton <davidw@dedasys.com>
* midp10/script.hcl: Minor tweaks.
* midp10/Hecl.java: Use read method from HeclUtil, as it's more
robust. Display alert on error.
2007-08-07 David N. Welton <davidw@dedasys.com>
* j2me.xml, settings.xml: Reworked compilation code for J2ME to
take into consideration the possibility of CLDC1.0 + MIDP2.0.
There are some problems in the Java code that prevent us from
actually implementing that at the moment though.
* midp20/: Moved actual GUI code to midp20gui.
* midp10/: Moved GUI code go midp10gui.
* midp20gui/org/awt/geom/Point2D.java: Removed ugly from comments.
2007-08-06 David N. Welton <davidw@dedasys.com>
* midp20/script.hcl: Added example script from Wolfgang Kechel.
* midp20/Hecl.java: Added MIDP2.0 example from Wolfgang Kechel.
2007-08-05 David N. Welton <davidw@dedasys.com>
* docs/hecl.xml: Updated documentation to refer to midp10 instead
of j2me.
* j2me/midp10: Moved j2me directory to midp10.
* j2me.xml: Reorganized j2me compilation code just a bit. I'm not
100% certain that it's correct now, but we're heading in the right
direction, I think, and it does compile both midp10 and midp20.
2007-08-04 David N. Welton <davidw@dedasys.com>
* build.xml: Broke the build file into smaller, hopefully more
manageable chunks. Requires Ant 1.6, but that's been out for a
while, so it shouldn't be a problem.
2007-08-02 David N. Welton <davidw@dedasys.com>
* docs/hecl.xml: Added warning about making sure the java bin
directory is in the system path.
2007-07-02 David N. Welton <davidw@dedasys.com>
* tests/set.hcl: Added test pointing out a current flaw with
Thing.java's EMPTYTHING.
2007-07-01 David N. Welton <davidw@dedasys.com>
* tests/circular.hcl: Added a new circular reference test
demonstrating a problem with attempting to print circular
references.
2007-06-29 David N. Welton <davidw@dedasys.com>
* docs/hecl.xml: Added floating point math commands to
documentation.
2007-06-19 David N. Welton <davidw@dedasys.com>
* tests/proc.hcl: Added another 'rename' test.
* core/org/hecl/Interp.java: Make sure we remove the old command name
from the hash table when renaming.
2007-05-22 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* core/org/hecl/StringCmds.java: Changec comparison for instances
of ObjectThing, now eq/neq call Compare.same.
* core/org/hecl/Compare.java: New function same for comparison to
avoid problems when comparing ObjectThings on mobile devices.
2007-05-09 David N. Welton <davidw@dedasys.com>
* core/org/hecl/Parse.java: Fix to not parse # characters that are
not at the beginning of a line specially.
* tests/parse.hcl: Added test for incorrect handling of #
character.
2007-04-29 David N. Welton <davidw@dedasys.com>
* tests/after.hcl: Added a simple after test.
* core/org/hecl/ParseList.java: Ignore [ and \ in list parsing.
2007-04-27 David N. Welton <davidw@dedasys.com>
* applet/org/hecl/applet/HeclApplet.java: Updated applet code to
use new interfaces.
2007-04-27 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* midp20/*:
Major changes with massive ussage of ObjectThing and class command
support from modified core. Removed many unused class formerly
necessary to keep a mapping between GUI elements and strings,
changed many methods. Many user visible changes on scripting
level, nameley: callback treatment, item handling, creation.
As a result, the code is much cleaner, simplier, smaller and
runtime behavior has been improved concerning memory requirements
and performance!
* j2me/Hecl.java:
Simplified command creation.
* j2me/GUICmdFacade.java:
* j2me/GUI.java:
Adapted for new evaluation, cmdCode now returns Thing.
* load/org/hecl/load/HeclLoad:
Removed, no longer necessary.
* load/org/hecl/load/LoadCmd.java:
Adapted for new evaluation, cmdCode now returns Thing. Changed
loading of command to avoid class HeclLoad.
* commandline/StandaloneHecl.java:
Fixed imports.
* commandline/Hecl.java:
Moved read/eval/print to core.
* net/org/hecl/HttpCmd.java:
* net/org/hecl/Base64Cmd.java:
* core/org/hecl/MathCmds.java:
* files/org/hecl/files/FileCmds.java:
* rms/org/hecl/rms/RMSCmd.java:
* core/org/hecl/MathCmds.java:
* core/org/hecl/Proc.java:
* core/org/hecl/SortCmd.java:
* core/org/hecl/StringCmds.java:
* core/org/hecl/ListCmds.java:
* core/org/hecl/Compare.java:
* core/org/hecl/ControlCmds.java:
* core/org/hecl/Operator.java:
* core/org/hecl/PutsCmd.java:
* core/org/hecl/Stanza.java:
* core/org/hecl/CodeThing.java:
* core/org/hecl/PutsCmd.java:
* core/org/hecl/InterpCmds.java:
* core/org/hecl/PutsCmd.java:
* core/org/hecl/Ensemble.java:
* core/org/hecl/HashCmds.java:
Adapted for new evaluation, cmdCode now returns Thing.
* files/org/hecl/files/HeclFile.java:
Now throws Hecl Exception on error instead of printing out.
* core/org/hecl/ObjectThing.java:
Added proper handling of null.
* core/org/hecl/Command.java:
Adapted for new evaluation.
* core/org/hecl/HeclException.java: Modifications allow passing
return value for exceptions via constructor, used in break/continue/return.
* core/org/hecl/HeclTask.java: Beautfication.
* core/org/hecl/StringThing.java: New memethod create that treats
null properly.
* core/org/hecl/ListCmds.java:
Fixed bug in lrange.
* core/org/hecl/ClassCommandInfo.java:
* core/org/hecl/ClassCommand.java: New classes to support
ObjectThing commands.
* core/org/hecl/Interp.java: Changed evaluation process to return
result. Removed member variable result and all related
methods. Added read/eval/print loop.
2007-04-20 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* midp20/org/hecl/midp20/MidletCmd.java: Now adheres to new
signature of operate. Fixed bug in playtone command - it did ont
use the proper arguments.
* rms/org/hecl/rms/RMSCmd.java:
* j2me/GUICmdFacade.java:
* j2me/GUI.java: Now adheres to new cmdCode signature.
* j2me/Hecl.java: Now uses Interp.addCommand to add commands.
* tests/catch.hcl: Changed to expect correct error message.
* commandline/StandaloneHecl.java: Reduced imports, added load command.
* commandline/Hecl.java: Simplified, moved readEvalPrint into
Interp class, reduced changed imports, added simple extensions
mechanism for quick tests.
* load/org/hecl/load/LoadCmd.java: Simplified, module HeclLoad no
longer needed.
* load/org/hecl/load/HeclLoad.java: Removed, no longer necessary.
2007-04-19 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* core/org/hecl/ObjectThing.java: New method get to retrieve the
value, changed toString to support references to Java null.
* commandline/StandaloneHecl.java:
Reduced import statements.
2007-04-22 David N. Welton <davidw@dedasys.com>
* core/org/hecl/Stanza.java: Removed premade new argv arrays.
* core/org/hecl/Stanza.java: Moved newargv creation and
initialization to the run method, where it is now a local
variable.
2007-01-29 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* files/org/hecl/files/FileCmds.java:
* rms/org/hecl/rms/RMSCmd.java:
* midp20/org/hecl/midp20/MidletCmd.java:
* midp20/org/hecl/midp20/lcdui/ListCmd.java:
* midp20/org/hecl/midp20/lcdui/GUICmds.java:
* core/org/hecl/StringCmds.java:
* core/org/hecl/Operator.java:
* core/org/hecl/MathCmds.java:
* core/org/hecl/ListCmds.java:
* core/org/hecl/Interp.java:
* core/org/hecl/InterpCmds.java:
* core/org/hecl/HashCmds.java:
* core/org/hecl/ControlCmds.java:
* net/org/hecl/HttpRequest.java:
* net/org/hecl/HttpCmd.java:
* net/org/hecl/Base64Cmd.java:
Corrected usage of command table. Former versions treated static
variable of base class incorrect.
* midp20/org/hecl/midp20/lcdui/SettingsCmd.java:
Proper handling of command table (see above), added skleft/skright to allow
configuration of left and right soft key code.
* midp20/org/hecl/midp20/lcdui/FormCmd.java:
* midp20/org/hecl/midp20/lcdui/DisplayableCmd.java:
Minor changes for use with j2mepolish.
* midp20/org/hecl/midp20/lcdui/HeclCanvas.java:
* midp20/org/hecl/midp20/lcdui/CanvasCmd.java:
New attributes drawwidth/drawheight, no longer ovberwrites methods
getWidth/getHeight of base class, ifdefs for blackberry usage.
All this done to allow usage with j2mepolish.
* midp20/org/hecl/midp20/lcdui/AlertCmd.java:
Minor changes to allow usage with j2mepolish.
* midp20/org/awt/Point.java:
Use import for org.awt.geom.Point2D.
2006-11-12 David N. Welton <davidw@dedasys.com>
* tests/parse.hcl (parse-16): Check unbalanced "quotes" behavior.
* core/org/hecl/ParseList.java: Check for unbalanced "quotes" in
lists, and throw an error if they occur. Don't parse \backslashes
in list text, as they should already have been parsed or not by
Hecl.
2006-11-11 David N. Welton <davidw@dedasys.com>
* tests/parse.hcl (parse-14): Fixed test for list parsing.
(parse-15): Test to make sure that quoted square braces aren't
unquoted inside braces, when treated as a list.
* core/org/hecl/ParseList.java: Lists should ignore [].
2006-10-18 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* midp20/org/hecl/midp20/MidletCmd.java: Added manager commands.
2006-10-12 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* midp20/org/hecl/midp20/lcdui/HeclCanvas.java: Fixed bug in
drawing of commands. Clipping region was not set correctly
before. The problem was visible on phones with a display with a height
<= width.
* rms/org/hecl/rms/RMSInputStream.java: Added feature to detect
the number of bytes stored in this RS (getSize).
* net/org/hecl/QParam.java:
* net/org/hecl/RMSQParam.java:
* net/org/hecl/ByteQParam.java:
* net/org/hecl/StringQParam.java:
* net/org/hecl/BinQParam.java: Removed, they are not used by Hecl anyway.
* net/org/hecl/QueryParam.java: New file with interface for http
query parameters.
* net/org/hecl/HttpRequest.java: Made debug output switchable.
2006-10-11 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* midp20/org/hecl/midp20/lcdui/CanvasEvent.java: Minor
beautification, changed asString to StringBuffer directly.
* midp20/org/hecl/midp20/MidletCmd.java: Now add GUI commands directly.
* midp20/org/hecl/midp20/lcdui/HeclCanvas.java: CanvasEvent only
created when eventhandler installed.
* midp20/org/hecl/midp20/lcdui/CanvasCmd.java:
* net/org/hecl/HttpCmd.java (http): Disabled debug printout.
* net/org/hecl/QParam.java: printon now works with empty name and data.
2006-09-26 David N. Welton <davidw@dedasys.com>
* commandline/Hecl.java: Show more in the way of errors when there
are problems.
2006-09-19 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* core/org/hecl/HeclTask.java: Evaluation of all HeclTasks now
starts at level 0 (global).
* core/org/hecl/InterpCmds.java: Uses new implementation for
global command.
* core/org/hecl/Interp.java: Changed treatment of global variables
during variable lookup for set/unset/get of variable value.
USER VISIBLE CHANGE: this might affect script code that uses not
properly initialized global variables!
* tests/harness.hcl: Properly initialize global vars before
starting a test run.
2006-09-17 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* tests/global.hcl (global-6-1): Added test.
* core/org/hecl/Interp.java: Made result a private member. Cosmetics.
* core/org/hecl/InterpCmds.java: Now correctly uses the proper
async indicator prefixes from Interp.
* core/org/hecl/CodeThing.java:
* core/org/hecl/Stanza.java: Cosmetics.
2006-09-16 David N. Welton <davidw@dedasys.com>
* docs/hecl.xml: Added after and bgerror commands.
* tests/global.hcl: Test for global problems by setting a variable
at three different stack levels - 0, and in two procs.
2006-09-16 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* core/org/hecl/Proc.java: Only set varargs param when varargs are
present.
* tests/foreach.hcl: Corrected test foreach-6.
* core/org/hecl/Thing.java: Beautification of deepcopy, no
functional changes.
* core/org/hecl/Compare.java:
* commandline/Hecl.java: Use proper function to access evaluation result.
2006-09-15 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* build.xml: Corrected compileJ2MEHttp and defines for j2me compile.
* j2me/Hecl.java: Uses new RMS class names.
* core/org/hecl/Interp.java: New clock command.
* midp20/org/hecl/midp20/lcdui/GUICmds.java: Now properly unsets
global variables.
* net/org/hecl/HttpCmd.java:
* net/org/hecl/StringQParam.java:
* net/org/hecl/QParam.java: Corrected copyright.
* midp20/org/hecl/midp20/lcdui/WidgetInfo.java: Added function to
retrieve command labels.
* midp20/org/hecl/midp20/lcdui/HeclCanvas.java: Added support for
more than 3 commands via a menu implemented using a list.
* rms/org/hecl/rms/RMSInputStream.java:
* rms/org/hecl/rms/RMSOututStream.java:
* rms/org/hecl/rms/RMSCmd.java: New functionality, renamed files.
* core/org/hecl/ControlCmds.java: Enhanced treatment of
if/then/else/elseif to throw error on invalid sequences.
* tests/if.hcl: Added more tests.
* tests/harness.hcl (testfiles): Clear failure list when starting
new test.
* core/org/hecl/StringThing.java: Simplified deepcopy().
* midp20/org/graphics/Drawable.java: Added/disabled debug printout,
corrected clipping.
* midp20/org/hecl/misc/HeclUtils.java: removed function classExists.
2006-09-14 David N. Welton <davidw@dedasys.com>
* TODO-tests-docs: A list of commands to be documented and tested,
where possible.
* TODO: Removed - it wasn't being used.
* tests/if.hcl: Added two more if tests.
* core/org/hecl/ControlCmds.java: Added Wolfgang's patch for
if/elseif.
2006-09-13 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* core/org/hecl/ControlCmds.java: hack for if elseif...
* core/org/hecl/Interp.java: Added unSetVar with level. Reduced
sleep time when waiting for events.
2006-09-13 David N. Welton <davidw@dedasys.com>
* tests/if.hcl: New if/elseif test that demonstrates a bug
Wolfgang found.
2006-09-12 David N. Welton <davidw@dedasys.com>
* core/org/hecl/Interp.java: Eliminate reference code in setVar.
* core/org/hecl/Thing.java: Don't cache a string representation.
We'll save optimization for later.
2006-09-09 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>
* midp20/org/hecl/midp20/lcdui/ImageCmd.java: Fixed creation of
image from string via '-data'.
2006-09-07 Wolfgang S. Kechel <wolfgang.kechel@data2c.com>