POV-Ray : Newsgroups : povray.bugreports : #write : Re: #write Server Time
4 May 2024 19:45:21 EDT (-0400)
  Re: #write  
From: Anthony D  Baye
Date: 2 Mar 2016 18:20:00
Message: <web.56d7742ea95e761bfd6b6fe10@news.povray.org>
clipka <ano### [at] anonymousorg> wrote:
> Am 01.03.2016 um 23:08 schrieb Le_Forgeron:
>
> > ab-using code like
> > #write( .... #write( ...
> > is a call for lightning from Zeus and the opening of the multidimensional portal
for Chtulhu.
>
> Actually - no. There's no abuse in there /per se/. The nested `#write`
> might be part of a macro invocation, such as in:
>
> #write(File,SomeMacro())
>
That sounds like a break in scoping rules.  It's not like the code is just
dropped inline as it is with c macros, though that's how it works with the
result.

Sounds like we need a proper function system in the new language.  Assuming it
ever takes shape.

but if you think that's bad, take a look at this little Gem, I found a few days
ago.

while ( --argc > - && (*++argv)[0] == '-' )
{
  for ( s = argv[0]+1; *s; s++ )
  {
    switch( *s )
    {
      default:
        usage ( progname );
        exit ( -1 );
        break;
    }
  }
}

Typing it out makes me want to go scrub my hands with steel wool.

Regards,
A.D.B.

> where `SomeMacro` might be part of a 3rd party include file that itself
> makes heavy use of file operations, e.g. to persist some random number
> generator's state across frames or the like.
>
> Most notably, `Parse_String` is implemented as a macro that uses `#write`.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.