Sorry, didn't mean to yell. Or misspell variadic. On 2006-04-21, at 15:55 EDT, P T Withington wrote:
> THEY HAVE ALWAYS BEEN VARADIC. > > I have made them so they will also work for people who refuse to read > the documentation and assume that they have the same interface as > Debug.write. > > On 2006-04-21, at 15:33 EDT, Benjamin Shine wrote: > >> >> So you've made Debug.warn and Debug.error variadic? Great! >> >> On Apr 21, 2006, at 12:27 PM, P T Withington wrote: >> >>> Since no one commented, I implemented this (for legals), to see how >>> it works. If there is popular demand, it could be migrated to 3.x. >>> >>> The underlying implementation of Debug.format now detects the >>> case of >>> the 'control' string either not being a string, or there being >>> multiple arguments and no format directives in the control string. >>> In either of those cases, it will simply emit each of the arguments >>> separated by spaces. >>> >>> If there is a control string with format directives, it will warn if >>> the number of arguments does not match the number of directives. >>> >>> On 2006-04-19, at 12:14 EDT, P T Withington wrote: >>> >>>> The debugger has always had a method Debug.write that can be used >>>> to output to the debugger console. It takes any number of >>>> arguments and outputs them, separated by spaces. It uses the >>>> Debug.__String method to present objects, which makes them >>>> 'inspectable' in the output window (you can click on them to invoke >>>> Debug.inspect on the object). >>>> >>>> In 3.2 (and perhaps earlier) there is a new method, Debug.format, >>>> that acts more like printf. It takes a 'control' string, and any >>>> number of arguments and formats the arguments according to the >>>> format directives in the control string. For the most part it >>>> supports the same directives as printf, but there is an additional >>>> one, %w, which outputs the argument as if it were printed by >>>> Debug.write, thus making it inspectable. [In the Legal's branch, >>>> objects that are formatted by %s are also inspectable, but their >>>> presentation is as if they were printed by toString.] >>>> >>>> Debug.warn and Debug.error take arguments like Debug.format and >>>> create warnings or error messages on the debugger console. They >>>> are labeled with a tag (WARNING: or ERROR:) and presented in orange >>>> or red. They have the additional feature that if backtracing is >>>> enabled, they capture a backtrace, which can be seen by inspecting >>>> (clicking on) the message. >>>> >>>> In recent weeks I have had several bug reports that Debug.warn and >>>> Debug.error do not work. Apparently this is because the caller >>>> expected them to be like Debug.write and simply take a list of >>>> arguments that are output separated by spaces. What they see is >>>> only their first argument being printed (because it is interpreted >>>> as a control string with no format directives). >>>> >>>> It occurred to me today that I could have them check for the case >>>> of multiple arguments with no format controls in the first argument >>>> and operate in 'Debug.write compatibility mode' if that is the >>>> case. Would this be useful? Too complex to document? Are there >>>> pitfalls? Is there a use case where ignoring the extra arguments >>>> is really what is desired? >>>> >>>> Your comments solicited. >>> >>> _______________________________________________ >>> Laszlo-dev mailing list >>> [email protected] >>> http://www.openlaszlo.org/mailman/listinfo/laszlo-dev >> >> _______________________________________________ >> Laszlo-dev mailing list >> [email protected] >> http://www.openlaszlo.org/mailman/listinfo/laszlo-dev > > _______________________________________________ > Laszlo-dev mailing list > [email protected] > http://www.openlaszlo.org/mailman/listinfo/laszlo-dev _______________________________________________ Laszlo-dev mailing list [email protected] http://www.openlaszlo.org/mailman/listinfo/laszlo-dev
