My take is that this is more or less how most unix commands work: some require specific ordering of "flags" before "arguments" while other don't. That's not based on "enforcing" or "eschewing" convention but more on personal style and/or age of the tool. I suppose if you wanted, you could open an issue with each and every unix tool, but it's simpler to use the order which works for both in documentation and not worry much beyond that: flags before arguments.

I say this also follows for Pd objects and I don't see sigmund's handling as a bug or anything that needs to be changed. In fact, you are likely to break people's patches if you make it have a new, strict handling. It follows that you would then need to push for 3rd0party externals to have similar behavior or things would be "confusing" if such behavior is mandated in all the documentation. I saw just document it as such but *without* writing a pedantic list of rules.

On Mar 1, 2022, at 6:43 AM, pd-list-request@lists.iem.at wrote:

Message: 2
Date: Mon, 28 Feb 2022 18:13:50 +0100
From: IOhannes m zmoelnig <zmoelnig@iem.at>
To: pd-list@lists.iem.at
Subject: Re: [PD] should 'flags' always come first?
Message-ID: <6e75e36e-14ef-0793-6e9f-4b1b1cbfe6fc@iem.at>
Content-Type: text/plain; charset="utf-8"; Format="flowed"

On 2/28/22 17:47, Alexandre Torres Porres wrote:
I know, that's because they should come first! This is why I think it's
confusing that sigmund~ doesn't complain and it just works...

i doubt that it is confusing.
but: if you do find it confusing, just put the flags at the beginning.

it's not like Pd is *forcing* you to put the sigmund~ flags at the end, 
and the flags for all other objects at the beginning. (*that* would be 
an inconsistency, and deserve some attention).

it's not even documented, that you can put the flags at the end.
and i agree with christof, that there's no benefit in documenting that 
you can put them at the end.

so just forget it, and the source for the confusion will be gone.



[netreceive -u 5000] will listen to port 5000 and will use udp protocol,
but
[netreceive 5000 -u] will listen to port 5000 and use tcp protocol!! -u is
ignored in this case...

yup, wrong order, so it gets ignored, but a warning should be given
that the order is wrong, so it's ignored!


i agree that a warning should be given if there are any ignored (and 
probably also: unknown) arguments (for objects with a complex invocation).


in general i think:
it is confusing if things don't work.
it isn't confusing if things do work.

--------
Dan Wilcox
@danomatika
danomatika.com
robotcowboy.com