Hi Sam, 2018-05-21 15:16 GMT+09:00 Sam Ravnborg <sam@xxxxxxxxxxxx>: > Hi Masahiro > >> >> + char *(*func)(int argc, char *argv[], int old_argc, char *old_argv[]); >> >> +}; >> > If a typedef was provided for the function then ... >> >> >> Yes, I can do this, >> but I may rather consider to simplify the code. > > Simplify is better. > >> > Will the following be equal: >> > >> > $(foo,abc,$(x),$(y)) >> > $(foo, abc, $(x), $(y)) >> > >> > make is rather annoying as space is significant, but there seems no good reason >> > for kconfig to inheritate this. >> > So unless there are good arguments consider alloing the spaces. >> > If the current implmentation already supports optional spaces then I just missed >> > it whie reviewing. >> >> >> I have been thinking of trimming the leading whitespaces. >> (https://patchwork.kernel.org/patch/10405549/) >> >> This is trade-off vs "how to pass spaces as arguments?" > > Maybe allow strings to be passed enclosed in ""? > Then it is simple to add whitespace. > > But the use of "" should be optional in all other cases. > And the "" should be stripped. > Hmm, your suggestion is more shell-oriented parsing. In Make, there is no concept of quoting because it does not touch single-quote, double-quote, whitespaces etc. at all. $(info "'@@"'' '" ' "' ) will print the message as they are. This simplifies both the grammar and the parser implementation. If we expand the quoting by Kconfig, we need more careful consideration. [1] In the following, would "hello world" be expanded by Kconfig or by shell? $(shell, echo "hello world") [2] Is a quoted comma delimiter or not? $(if,",",$(A)) If remember I first examined shell-oriented expansion, but I stopped. Probably, I found it was much more complex, then I chose Make-like simpler one. -- Best Regards Masahiro Yamada -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html