[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: "load" on Windows
From: |
Paul Smith |
Subject: |
Re: "load" on Windows |
Date: |
Sat, 05 Oct 2013 11:12:35 -0400 |
On Sat, 2013-10-05 at 16:34 +0300, Eli Zaretskii wrote:
> > EXPORT int mk_test_gmk_setup (const gmk_floc *flocp)
> > {
> > gmk_add_function ("hello_world", hello_world, 0, 255, 0);
> ^^^^^^^^^^^
> Make functions cannot have the '_' character in their names, so it
> seems. Here's why:
> /* Look up a function by name. */
>
> static const struct function_table_entry *
> lookup_function (const char *s)
> {
> const char *e = s;
>
> while (*e && ( (*e >= 'a' && *e <= 'z') || *e == '-')) <<<<<<<<<<<<
> e++;
>
> So if you name your function hello-world instead, it will work.
>
> Paul, if this limitation is deliberate, I suggest to document it where
> we explain the arguments of gmk_add_function.
It's not so much a deliberate restriction, as it was a performance
improvement I added in 2002 along with the switch to hash table lookups,
and completely forgot about afterward :-). All the existing make
functions were lowercase and contained only '-', so we avoided the
lookup effort if we found a name which could not be a function.
Now that users can define their own functions, I don't think that
restriction is appropriate anymore. I'll fix this, thanks.
> (I can make these changes in documentation, if you agree.)
I have a vivid memory of adding documentation regarding this so let me
look around for it.
- "load" on Windows, Gisle Vanem, 2013/10/03
- Re: "load" on Windows, Eli Zaretskii, 2013/10/03
- Re: "load" on Windows, Gisle Vanem, 2013/10/03
- Re: "load" on Windows, Eli Zaretskii, 2013/10/04
- Re: "load" on Windows, Eli Zaretskii, 2013/10/04
- Re: "load" on Windows, Gisle Vanem, 2013/10/05
- Re: "load" on Windows, Eli Zaretskii, 2013/10/05
- Re: "load" on Windows, Eli Zaretskii, 2013/10/05
- Re: "load" on Windows, David Boyce, 2013/10/05
- Re: "load" on Windows, Eli Zaretskii, 2013/10/05
- Re: "load" on Windows,
Paul Smith <=
- Re: "load" on Windows, Gisle Vanem, 2013/10/05