On Tue, Aug 19, 2008 at 23:05, Tony Balinski <[EMAIL PROTECTED]> wrote:
> Quoting Bert Wesarg <[EMAIL PROTECTED]>:
>
>> As reported here [1], we shuold force a final newline in macro files,
>> to prevent syntax errors.
>>
>> Regards
>> Bert
>>
>> [1]
>>
> https://sourceforge.net/tracker/index.php?func=detail&aid=2038921&group_id=11005&atid=111005
>>
> Looks good to me.
Than I start committing again. The macro clean-up in interpret.c is
overdue, and I have similar (but way smaller) patches for macro.c and
parse.y

>
> Tony
>
> PS re your comments about my fastConcat3 patch: you're right, of course...
> I'll need to fix it some time, but I'm very behind in keeping my patch set up
> to date. Sorry. The easiest, I suppose, is to return the negative of the
> length
> and a positive number for failure. A bit unnatural, but there you go...
>
> I've been playing in parse.y, implemented (both)
>    for ([k] = v in array) { ... }
> and
>    for (v = [k] in array) { ... }
I saw this too (see below). But I don't see a benefit for both
syntaxes. I fixed today my extended for-array patches [2]:

The problem was, that I like to have the ability to iterate only over
n-dimensional keys.
So the simple [k]=v was not possible anymore (because the case for
N==1 was missing), and the simple k=v didn't work, because the parser
bails now out by the 'normal' for (i=0;;) loop. And my previous
solution with k:v looks nasty. So, I fixed this by a big look ahead
function for the '=' sign ('= SYMBOL IN'). A new feature is the
k[0]=v/k[]=v syntax, for all keys, but nicely split-up and put into
the k array.

Here is all in one rush:
  for (k in a) ..              # all keys assigned to k
  for (k = v in a) ..          #  -"- with v := a[k]
  for ([k1,..,kN] in a) ..     # all N-dim keys assigned to k1,..,kN
  for ([k1,..,kN] = v in a) .. #  -"- with v := a[k1,..,kN]
  for (k[N] in a) ..           # all N-dim keys assigned to k[0],..,k[N-1]
                               # N == 0 => all keys, same as missing N
(i.e. 'k[] in a')
  for (k[N] = v in a) ..       # -"- with v := a[join(k, $array_sep)]

> meaning the same thing, and similarly
>    if (v = [k] in array) { ... }
true if array[k] == v, right?

>    if ([k] ! in in array) { ... }
true if k is not a key in array, right?

Both sounds reasonable, except my previous concern about v=[k].

> ex-or (^^) and conditional (?:) operators; and adding parser location
> information so you can go from an instruction to a position in a source code
> string. I'd like to get it to the point of being able to provide a debugging
> service.
Ahh, thats these CALL_TAG/LINK_TAG tags in your code at [1]. I just
'discovered' this last week. I just started coding with Nedit again.


> But building patch files for each of these and combining with the
> others is turning into a real can of worms!
Sounds like its time to change your tools ;-)

> We need the next release and a new branch!
ACK.

Good Night
Bert

[1] http://ajbj.free.fr/nedit/neditHome/neditHome-2008-08-04.tar.gz
[2] http://kgb.endoftheinternet.org/git/nedit-bw/
    but its currently down :(
-- 
NEdit Develop mailing list - [email protected]
http://www.nedit.org/mailman/listinfo/develop

Reply via email to