[1634] in Coldmud discussion meeting

root meeting help first first in chain previous in chain previous next next in chain last in chain last

Re: Genesis 1.1.9 - STABLE

daemon@ATHENA.MIT.EDU (Tue Jan 9 01:42:13 2001 )

Message-ID: <3A5AAE4E.75982FBF@cubik.org>
Date: Mon, 08 Jan 2001 23:23:10 -0700
From: Bruce <bruce@puremagic.com>
MIME-Version: 1.0
To: coldstuff@cold.org
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Reply-To: coldstuff@cold.org

This is a very delayed response, but I need to see a dev release
made fairly soon to get some large changes into wider testing.

Allen Noe wrote:
> However I noticed a few things that didn't get in, so I'm
> (re)posting the diffs I use. Separated into two patches
> for your convenience, the stable one shouldn't break
> anything, the -dev one might, but I haven't noticed
> anything.
> 
> They can apply together, against a clean 1.1.9, with a 3
> line offset in one.
> 
> In the stable one:
> * html_escape needs to encode if there are doublequotes,
>   otherwise Bruce's added case won't be used. (me)
> * $http.decode now returns a buffer; workaround for
>   $http.decode("%1b") and similar returning improper
>   strings. (me)

I don't think that this can go into a stable release.  It changes
the interface and would require DB modifications.  Seems
reasonable for a dev release though.

> * Corrected random(x)'s throw message for x < 1 (me)
> * Make method_bytecode() act like list_method(), specifically
>   not returning bytecode for methods on parent objects (me)
> * Also fix a bug in method_bytecode where it checks the
>   wrong variable. (me)
> 
> In the dev one:
> * Some method-cache stuff, if you're impatient. (Bruce)

I think this isn't the full version.  At any rate, I have a far
larger patch with many more optimizations and enhancements that
Brad and I have been working on that includes this.

> * Have stack(1) not bother returning line number or pc. (me)

This conflicts with an extension that I've made to stack() that
allows you to specify which task you'd like to get a stack for. 
While this info is available from task_info(), it isn't in the
same format as stack() and traceback().  I didn't know about the
stack trace being in task_info() until I'd already done my work,
so I'm not clear what I'd like to do here.  To me, it makes sense
for stack() to present that information, but the duplication
seems wasteful. (I already had to change the underlying stuff in
execute.c to let task_stack() work for any given task for some of
the other work that has been going on.)

> * Have method_bytecode() return jumps so if (1) { return 1; }
>   return 0; has different bytecode than if (1) { return 1;
>   return 0; } (me)
> * Add SYMBOL calling_method(), the same as stack()[2][3] (me)

These 2 look fine for the stable release to me, if they aren't
buggy.  How long and to what extent have you been using these
bits of code?

> * Add LIST explode_quoted(STRING), which is a native version
>   of ColdCore's $string.explode_quoted() (Jeremy Weatherford)

Hmmm. Would be nicer to see this as a native method on $string. 
I may do that work for you since it is pretty easy if you prefer.

 - Bruce