Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.forth > #29015

Re: RfD: Interpret S\" (Version 2)

From Bernd Paysan <bernd.paysan@gmx.de>
Newsgroups comp.lang.forth
Subject Re: RfD: Interpret S\" (Version 2)
Date 2014-03-11 21:32 +0100
Organization 1&1 Internet AG
Message-ID <lfnrth$eu0$1@online.de> (permalink)
References <op.xcj1pdntsu5d0p@david> <lfnl3l$7su$1@dont-email.me>

Show all headers | View raw


Alex McDonald wrote:

> on 11/03/2014 11:18:40, "Peter Knaggs" wrote:
>> The number of available buffers is defined as "At least one".  As a
>> number of FILE words require two strings, this would be the right time
>> to change this to "at least two".
> 
> Andrew Haley objected that it doesn't follow the zero, one, many model.

Sure, but sometimes though shalt count to three, neither to two nor to four, 
because three is the right number.  Or so.  The reason for having two 
buffers is that RENAME-FILE needs two strings, one is clearly insufficient, 
and many are too many.  We have other places were we don't follow this rule, 
either.

>> The system provides transient buffers for S" and S\" strings.
>> These buffers shall be no less than 80 characters in length,
>> and there shall be at least two buffers.  The system should
>> be able to store two strings defined by sequential use of S"
>> or S\".
> 
> The length of the buffer is ambiguously defined, since 80 untranslated \l
> characters (backslash-L or linefeed) requires 160 characters in the parse
> buffer but only 80 characters in the S\" buffer.

Actually not.  The rule is "store the resulting string in the buffer".  This 
defines it that you need to fit in the 80 translated characters, regardless 
how many untranslated there were (\x20 needs four untranslated characters 
per translated character).

>> b) Add section A.11.3.4 Transient String Buffers
>> 
>> Additional transient buffers are provided for use by S" and S\".
>> The buffers should be able to store two consecutive strings,
>> thus allowing the command line:
>> 
>> S" name1" S" name2" RENAME-FILE
>> 
>> The buffers may be implemented in a circular arrangement, where
> 
> s/The buffers/When more than two buffers are desired, they/

"Circular" works even for just two.

>> a string is placed into the next available buffer.  When there
>> are no buffers available, the oldest buffer is overwritten.
> 
> This isn't the classic definition, which is an index into some space,
> incremented modulo the buffer size.

Yes, because the "classic definition" doesn't make much sense here.

-- 
Bernd Paysan
"If you want it done right, you have to do it yourself"
http://bernd-paysan.de/

Back to comp.lang.forth | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

RfD: Interpret S\" (Version 2) "Peter Knaggs" <pjk@bcs.org.uk> - 2014-03-11 11:18 +0000
  Re: RfD: Interpret S\" (Version 2) "Alex McDonald" <blog@rivadpm.com> - 2014-03-11 18:36 +0000
    Re: RfD: Interpret S\" (Version 2) Bernd Paysan <bernd.paysan@gmx.de> - 2014-03-11 21:32 +0100
      Re: RfD: Interpret S\" (Version 2) "Alex McDonald" <blog@rivadpm.com> - 2014-03-11 22:38 +0000
        Re: RfD: Interpret S\" (Version 2) Bernd Paysan <bernd.paysan@gmx.de> - 2014-03-12 13:02 +0100
      Re: RfD: Interpret S\" (Version 2) Andrew Haley <andrew29@littlepinkcloud.invalid> - 2014-03-12 04:41 -0500
        Re: RfD: Interpret S\" (Version 2) Bernd Paysan <bernd.paysan@gmx.de> - 2014-03-12 13:16 +0100
    Re: RfD: Interpret S\" (Version 2) Mark Wills <markwills1970@gmail.com> - 2014-03-12 04:33 -0700
      Re: RfD: Interpret S\" (Version 2) Bernd Paysan <bernd.paysan@gmx.de> - 2014-03-12 12:51 +0100
        Re: RfD: Interpret S\" (Version 2) Mark Wills <markwills1970@gmail.com> - 2014-03-12 06:25 -0700
          Re: RfD: Interpret S\" (Version 2) Coos Haak <chforth@hccnet.nl> - 2014-03-12 15:59 +0100
            Re: RfD: Interpret S\" (Version 2) Bernd Paysan <bernd.paysan@gmx.de> - 2014-03-12 19:43 +0100
          Re: RfD: Interpret S\" (Version 2) "Peter Knaggs" <pjk@bcs.org.uk> - 2014-03-13 18:55 +0000

csiph-web