[Laszlo-dev] For Review: Change 20080827-ptw-k Summary:

André Bargull andre.bargull at udo.edu
Sun Aug 31 14:42:54 PDT 2008


new dhtml-differences:
- write into the debugger 'null' (not as a string), it prints now: 
"«object| null»", but was "null"
- write into the debugger 'void(0)' (not as a string), it doesn't print 
a new prompt (same as for "" ?)

LzDebugService#isObjectLike() does not return a Boolean for falsy 
arguments, try e.g. Debug.isObjectLike(null).


On 8/31/2008 10:17 PM, André Bargull wrote:
> Last one is easy to fix:
> In LzDHTMLDebugService#__StringDescription(), first if-clause:
> t == 'object'    =>    typeof thing == 'object'
>
> On 8/31/2008 10:13 PM, André Bargull wrote:
>> Dhtml, IE-only: HTML-elements are no longer printed pretty, e.g. try 
>> "Debug.write(canvas.sprite.__LZdiv)".
>> expected:
>>> «object#0| #document/html/body/div#lzappContainer[1]/div#sprite_0[1]»
>> actual:
>>> «object#75| {…, scrollHeight: 19, isTextEdit: false, currentStyle: 
>>> [object], document: [object], ............... 
>>> <javascript:window.parent.$modules.lz.Debug.displayObj(75)>
>>
>>
>> On 8/31/2008 9:58 PM, André Bargull wrote:
>>> 'Debug.write("")' does not print a new prompt (regression for dhtml, 
>>> swf was also broken before the change).
>>>
>>> On 8/31/2008 9:52 PM, André Bargull wrote:
>>>> And "canvas.sprite" prints a "SyntaxError" (also dhtml-only):
>>>>> «Error «object| SyntaxError:…» computing __typeof#44| {owner: This 
>>>>> is th [...]
>>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(44)>
>>>>
>>>>
>>>> On 8/31/2008 9:46 PM, André Bargull wrote:
>>>>> Functions are displayed differently in dhtml, for instance type 
>>>>> "Class" into the debugger and inspect the object:
>>>>>
>>>>> new:
>>>>>> «Object#8| Class» {
>>>>>> _dbg_name: 'Class'
>>>>>> addProperty: «Class static function(2)» 
>>>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(5)>
>>>>>> addStaticProperty: addStaticProperty($1_name, $2_value) {
>>>>>> this[$1_name] = $2_value;
>>>>>> if <javascript:window.parent.$modules.lz.Debug.displayObj(6)>
>>>>>> allClasses: {…} 
>>>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(15)>
>>>>>> make: make($1_classname, $2_traitsAndSuperclass, 
>>>>>> $3_instanceProperties, $4_staticProperties) {
>>>>>> var nc = function constructor() {this.constructor = 
>>>>>> arguments.callee;this.validateClassStructure();if 
>>>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(16)>
>>>>>> prototype: {…} 
>>>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(18)>
>>>>>> }
>>>>>
>>>>> old:
>>>>>> «Object#87| Class» {
>>>>>> _dbg_name: 'Class'
>>>>>> addProperty: addProperty 
>>>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(83)>
>>>>>> addStaticProperty: addStaticProperty 
>>>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(84)>
>>>>>> allClasses: {...} 
>>>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(95)>
>>>>>> make: make 
>>>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(96)>
>>>>>> prototype: {...} 
>>>>>> <javascript:window.parent.$modules.lz.Debug.displayObj(97)>
>>>>>> }
>>>>>
>>>>>
>>>>>
>>>>> On 8/30/2008 8:11 PM, André Bargull wrote:
>>>>>> Great stuff, that will make live easier for everyone who needs to 
>>>>>> touch the debugger.
>>>>>> Right now I'm going through the files, until now just 
>>>>>> (mini-)source changes:
>>>>>>
>>>>>> LzRuntime.lzs, encodeURIComponent: why not decodeURIComponent?,
>>>>>> LzBootstrapDebugConsole#addText(..): string coercion looks odd, 
>>>>>> belongs into the catch-clause?
>>>>>> LzBootstrapDebugLogger#log(..): loadVariables() should be 
>>>>>> loadVariablesNum(), right?
>>>>>> LzBootstrapDebugService: _dbg_log_all_writes, why a global?
>>>>>> LzBootstrapDebugService#xmlEscape(): we really ought to 
>>>>>> consolidate all our different xml-escape routines...
>>>>>> LzBootstrapDebugService, "var Debug": you've left out the 
>>>>>> "var"-declaration for the generic and runtime-specific debuggers, 
>>>>>> why not here? (as the first "var Debug" is declared in 
>>>>>> LzRuntime.lzs)
>>>>>> LzBootstrapDebugService, $reportNotFunction and 
>>>>>> $reportUndefinedMethod: message concatenation looks odd
>>>>>> LzCompiler, $reportSourceWarning: "if (LzWarning)" is (now) 
>>>>>> always true, so the else-clause can be removed
>>>>>> LzBootstrapMessage#indexOf(..args) vs 
>>>>>> LzDebugMessage#indexOf(key): not a compatible override
>>>>>> LzBootstrapMessage#toString(), #toHTML(): timestamp is off by 
>>>>>> three years ;-)
>>>>>> LzBootstrapMessage: String.prototype.toHTML() uses 
>>>>>> "Debug.xmlEscape", which is only available in debug-mode
>>>>>> LzSourceMessage: missing declaration of "message" in class
>>>>>> LzSourceMessage: constructor typing wrong, "message" is either 
>>>>>> String or LzMessage
>>>>>> LzDebugService.internalPropertyPrefixes: use an Object instead of 
>>>>>> an Array (it's used as an Object in 
>>>>>> LzDebugService#internalProperty())
>>>>>> debugger-component: update the comment at file-beginning and mark 
>>>>>> the methods which implement the LzBootstrapDebugConsole-interface
>>>>>> LzDHTMLDebugConsole declares "doEval" as overriden, but there is 
>>>>>> no "doEval" in LzBootstrapDebugConsole, missing?
>>>>>>
>>>>>> Does it make sense to replace these lines (occur several times in 
>>>>>> the debugger-files):
>>>>>>> var color = '#0000ff';
>>>>>>> if (attrs && attrs.color) { color = attrs.color };
>>>>>> with a shorter replacement (for LPP-6892): var color = (attrs && 
>>>>>> attrs.color) || '#0000ff';
>>>>>>
>>>>>> As you see, that's merely me being nit-picking. And I haven't yet 
>>>>>> tried the new debugger, I'll do that tomorrow.
>>>>>>
>>>>>> On 8/28/2008 10:14 PM, P T Withington wrote:
>>>>>>> Change 20080827-ptw-k by ptw at dueling-banjos.home on 2008-08-27 
>>>>>>> 14:46:24 EDT
>>>>>>> in /Users/ptw/OpenLaszlo/krispy-kreme
>>>>>>> for http://svn.openlaszlo.org/openlaszlo/trunk
>>>>>>>
>>>>>>> Summary: Classify the debugger
>>>>>>>
>>>>>>> Bugs Fixed:
>>>>>>> LPP-6226 'make the compiler debug flag work with swf9' (step 0)
>>>>>>>
>>>>>>> Technical Reviewer: hminsky (pending)
>>>>>>> QA Reviewer: a.bargull at intensis.de (pending)
>>>>>>>
>>>>>>> Summary:
>>>>>>> This is a pretty massive change, not easy to review from the
>>>>>>> diffs. I propose checking it in so we can just get some usage on
>>>>>>> it.
>>>>>>>
>>>>>>> [...]
>>>>>>
>>>>>
>>>>
>>>
>>
>


More information about the Laszlo-dev mailing list