The only way for this change to actually solve the problem rather than simply 
move it, would be if executeNewlineMacro() or executeModMacro() could be 
re-entered before the arg copy in ExecuteMacro(). Another possibility is if 
some of the fields were conditionally set and other times left to their "once 
only" initialized values. I don't see how this is possible. When you can tell 
me how this is possible, I will believe that this actually fixes the problem, 
rather than simply hiding it.

To me, it sounds like we need to find this bug before we submarine it.

   -Steve

--
Steve LoBasso
mailto:[EMAIL PROTECTED]
http://slobasso.tripod.com/

----- Original Message ----
From: Bert Wesarg <[EMAIL PROTECTED]>
To: NEdit development list <[email protected]>
Sent: Monday, March 10, 2008 10:16:40 AM
Subject: Re: smartIndent.c: remove static

On Mon, Mar 10, 2008 at 6:12 PM, Steve LoBasso <[EMAIL PROTECTED]> wrote:
> I done an analysis of the code.
>
>  In both cases the static variable is used as an argument to ExecuteMacro(). 
> ExecuteMacro() then proceeds to immediately copy the values.
>
>  I came to the following conclusions:
>
>  Because the values are not used past the beginning of ExecuteMacro() and
>  none of the fields are conditionally set, so the static one time 
> initialization is not a problem.
>  This tells me that as the code stands right now it is safe.
Have you tried this:

http://www.nedit.org/pipermail/develop/2008-January/014029.html

Bert
>
>  The variables being static was probably written as a speed optimization and 
> nothing more.
>
>  The current state is fragile but stable. Meaning that it will survive minor 
> maintenance but is a potential land mine to any major code manipulation at a 
> later date.
>
>  Removing the static would be safe.
>
>    -Steve
>
>  --
>  Steve LoBasso
>  mailto:[EMAIL PROTECTED]
>  http://slobasso.tripod.com/
>
>
>  ----- Original Message ----
>  From: Scott Tringali <[EMAIL PROTECTED]>
>  To: NEdit development list <[email protected]>
>  Sent: Monday, March 10, 2008 8:27:02 AM
>  Subject: Re: smartIndent.c: remove static
>
>  Thorsten Haude wrote:
>
>  > The question is of course why they are static in the first place.
>
>  I don't know a whole lot about the macro interpreter, but...
>
>  If simply removing static was the right thing to do, the author or
>  commenter probably would have done it.  There is probably a reason it's
>  there.  Passing off a local variable to another routine, which may store
>  the value and use it later isn't a good idea.
>
>  Probably, it needs to be dynamically allocated and properly managed.
>  That's the way I read it that comment.
>
> --
>  NEdit Develop mailing list - [email protected]
>  http://www.nedit.org/mailman/listinfo/develop
>
>
>
>
>
>
>       
> ____________________________________________________________________________________
>  Looking for last minute shopping deals?
>  Find them fast with Yahoo! Search.  
> http://tools.search.yahoo.com/newsearch/category.php?category=shopping
>
>
> --
>  NEdit Develop mailing list - [email protected]
>  http://www.nedit.org/mailman/listinfo/develop
>
-- 
NEdit Develop mailing list - [email protected]
http://www.nedit.org/mailman/listinfo/develop





      
____________________________________________________________________________________
Looking for last minute shopping deals?  
Find them fast with Yahoo! Search.  
http://tools.search.yahoo.com/newsearch/category.php?category=shopping
-- 
NEdit Develop mailing list - [email protected]
http://www.nedit.org/mailman/listinfo/develop

Reply via email to