Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.forth > #29015
| 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> |
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 | Next — Previous in thread | Next in thread | Find similar | Unroll 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