Nicolas Goaziou <n.goaz...@gmail.com> writes: > Hello, > > Eric Schulte <schulte.e...@gmail.com> writes: > >> Nicolas Goaziou <n.goaz...@gmail.com> writes: > >>> It would solve the current problem, but there are still many problematic >>> characters allowed (e.g., commas, curly brackets). I think there's no >>> point in allowing "call_{i=1}()" as a valid inline Babel call. >>> >>> Furthermore, I don't think it's a real limitation to use alphanumeric >>> characters (and hyphen) only for a function name. I would even require >>> an alphabetic character as the first char, to avoid calls like: >>> "call_1()". >>> >> >> I often use "/" in function names, and in general I'd prefer not to >> remove characters (e.g., "{") unless there is a specific reason. > > I think there's a specific reason to disallow naming a function "{i=1}": > it is too close to underline syntax. We should make syntax less prone to > ambiguity (see recent thread about underline and subscript) ; this > doesn't help. Think also about call_~my-verbatim-function-name~(), > call_@@latex:my-export-snippet@@()... > > We're talking about function names, not free-form text, so limitations > are understandable. For example, macro names only allow alphanumeric > characters or hyphens and have to start with an alphabetic character. >
Having considered this, unless there are user objections I'd be happy limiting function names to the same restricted alphabet as macro names. This would be a breaking change though, and should be mentioned as such in the notes. Best, > > I suggest to select a few symbols allowed in names (e.g., "/") as > a starter. It is always possible to discuss on a case by case basis if > other symbols should be added. > > > Regards, -- Eric Schulte https://cs.unm.edu/~eschulte PGP: 0x614CA05D