THE WELCH COMPANY
440 Davis Court #1602
San Francisco, CA 94111-2496
415 781 5700


S U M M A R Y


DIARY: April 16, 1988 07:45 AM .......; Rod Welch

Visited Morris to work on Medit.

1...Summary/Objective
2...Improved "-return" command
3...Gosub error trapping
4...CNTSUBR NN 0
5...Ledger [1] or [0]
6...Markcur & Ecur
7...Counters
8...Subject Report Operational After Increasing Counters for Macros
9...Help Improvements for User Friendly Support


..............
Click here to comment!

CONTACTS 
0201 - Chips & Technologies, Inc                    408 765 8080
020101 - Mr. Morris E. Jones; Sr. Vice President  =408 545 9521
020102 - mojo@chips.com

SUBJECTS
Medit development
Macro subroutine commands
Gosub Goto Label Return

0405 -    ..
0406 - Summary/Objective
0407 -
040701 - Follow up ref SDS 12 0000, ref SDS 11 0000.
040702 -
040703 - Added and improved Medit commands for subroutines, and developed error
040704 - trapping method that identifies nesting errors.  Added utility to
040705 - markcur command by providing an arguement so a variety of different
040706 - files can be identified during processing for return. ref SDS 0 MNUW
040707 - Increased counters from 100 to 200, which makes programming easier,
040708 - ref SDS 0 MN68, and solved problem with subject report. ref SDS 0 MO6K
040709 - Morris has ideas on improving the Help system, which need to be
040710 - followed up. ref SDS 0 MO5L
040711 -
040712 -
040713 -
040714 -
040715 -
040716 -
040717 -  ..
0408 -
0409 -
0410 - Progress
0411 -
041101 - Improved "-return" command
041102 -
041103 - Formerly -return was only a local command. ref OF 1 QXTY
041104 -
041105 - It would begin executing commands in a new file if an e command was
041106 - embedded in a subroutine file.  Now it is global and so will return to
041107 - the next line below the initialization line regardless of whether an e
041108 - command is in the subroutine.
041109 -
041110 -
041111 -  ..
041112 - Gosub error trapping
041113 -
041114 - Morris created a feature within Medit so it will stop and beep when a
041115 - program run is completed and there remain un-executed -return
041116 - commands.
041117 -
041118 - This turned out to be the problem with the 06112 code that caused
041119 - so much difficulty the past few months.
041120 -
041121 - Since processing now stops when this condition is encountered, this
041122 - is a faily comprehensive means for identifying these kind of
041123 - problems.
041124 -
041125 -
041126 -  ..
041127 - CNTSUBR NN 0
041128 -
041129 - I asked for this command but now am not sure of its usefullness.
041130 - ref OF 1 QXQP It evaluates the -return stack to see if at any time it
041131 - is out of balance.  When a routine ends it should be 0.  If not, then
041132 - a -gosub error exists.  Since the Medit code now beeps and processing
041133 - stops when this occurs, it is unclear what value this has.
041134 -
041135 - It might be useful as a diagnostic tool to help identify the exact
041136 - code that is the problem.  But practice may show that it almost just
041137 - as easy to locate the problem with careful visual analysis from the
041138 - ledger.dat file once it is known a problem exists.
041139 -
041140 -
041141 -  ..
041142 - Ledger [1] or [0]
041143 -
041144 - This is a new command to write macro commands as they are executed
041145 - into a temporary file, ledger.dat.  It can then be evaluated to locate
041146 - incorrect -gosub coding. ref OF 1 QXPR
041147 -
041148 - Enter the command....
041149 -
041150 -
041151 -                 ledger 1
041152 -
041153 - ...in a macro, and the code will begin writing commands into ledger 1
041154 - until processing stops, or the command...
041155 -
041156 -                 ledger 0
041157 -
041158 - ...is encountered.
041159 -
041160 -  ..
041161 - The contents of ledger.dat can be compared with the code to see where
041162 - unexpected branching occurred, or something did not run that should
041163 - run.
041164 -
041165 - In practice, this turned out to be used very infrequently, becasue the
041166 - debug 100 command, ref OF 1 T34O, lets the user step through one
041167 - command at a time to observe what occurs, while observing the code
041168 - list in another window so that when a goto, gosub or return ocurs that
041169 - should not occur, it is easy to see the problem and fix it.
041170 -
041171 -
041172 -
041173 -
041174 -
041175 -
041176 -
0412 -

SUBJECTS
Ecur Markcur

0504 -
050401 -  ..
050402 - Markcur & Ecur
050403 -
050404 - Improved markcur and ecur command, so it can take an argument of
050405 - either a value or a counter in which case it uses the value of the
050406 - counter.
050407 -
050408 - The valid numbers are from 0 - 99, and the syntax is markcur 0 0.
050409 - The second number is not actually used, but is required.
050410 -
050411 -
050412 -
050413 -
0505 -

SUBJECTS
Counters, @@ (globals, other)

0604 -
060401 -  ..
060402 - Counters
060403 -
060404 - Initially Morris advised that Medit only has 100 global counters,
060405 - from 0 99.  Therefore the macros that have been using globals above
060406 - 100 have been creating subtle errors.  That is why some of the
060407 - globals above 100 show values at startup.  This may have been part
060408 - of the problem with function 06112.
060409 -
060410 - Added another hundred counters.  The numbers are now 0 - 299.
060411 -
060412 - Made the same number of globals as there are locals.
060413 -
060414 - This feature makes it easier to capture, evaluate and enter strings of
060415 - text, we can eliminate cut and paste for macro operation, since it is
060416 - a big memory drain.  More counters also makes it a lot easier to
060417 - assign flags without having to maintain a careful inventory.
060418 -
060419 -
060420 -
060421 -
060422 -
060423 -
060424 -
0605 -
0606 -

SUBJECTS
Procurement, Upgrade AT to
386 and larger disk, controller
problem, 06112 application failure

0806 -
080601 -  ..
080602 - Subject Report Operational After Increasing Counters for Macros
080603 -
080604 - This problem seems to have been solved by improvements Morris made
080605 - today.  Part of it may have been the fact that the macro used globals
080606 - above 100 and until today, these did not actually exist, per above.
080607 - ref SDS 0 MN68  The main problem was that the code in 04701 was
080608 - incorrect in that it contained a -gosub error.
080609 -
080610 - The new commands Morris created and the internal feature in Medit he
080611 - added so it beeps when this situation arises identified the problem
080612 - and showed the location.
080613 -
080614 -  ..
080615 - When this problem was eliminated, the 06112 macro ran continuously
080616 - without difficulty.
080617 -
080618 - These results indicate the OMTI controller was not the problem, the
080619 - Maxtor disk was not a problem, and the Dub 14 card was not needed.
080620 - Would have to review the record to see if any other matters were
080621 - affected.
080622 -
080623 -
080624 -
080625 -
0807 -

SUBJECTS
Help system
Morris pending actions
Help GUI User Friendly
GUI User Friendly Interface for Help

1007 -
100701 -  ..
100702 - Help Improvements for User Friendly Support
100703 -
100704 - Morris has some ideas about how to create some User friendly features
100705 - for this, but we didn't have time to implement them.
100706 -
100707 - He feels it is about a 3 to 4 hour job.
100708 -
100709 -
100710 -
100711 -
100712 -
100713 -
100714 -
100715 -
100716 -
1008 -
1009 -
Distribution. . . . See "CONTACTS"