Update of bug #43378 (project make): Component Version: None => 4.0
_______________________________________________________ Follow-up Comment #2: I agree that make's handling of # is busted: there's actually a bug open elsewhere for similar issues in the $(shell ...) function. This needs to be fixed... unfortunately it's a bit problematic since by now people are adding backslashes to escape the #, which we don't want, so this will be a backward-incompatible change. Maybe for a time we can accept both. Or something. For your second example, this is intended (and necessary) behavior. The problem you're having is not that ! is an illegal character (it's not; ! is in no way special to make). The problem is that the $(guile ...) function expands to the results of the Guile code. In your case the function you invoked was append!, and that function expands to the new list after the append is done. So after make runs this: $(guile (append! %load-path (list "./"))) make sees (and tries to parse) this: /usr/share/guile/2.0 /usr/share/guile/site/2.0 /usr/share/guile/site /usr/share/guile ./ and that gives you the "missing separator" error. You can avoid this by having the final term in your Guile code be #nil; as per the documentation make converts #nil to the empty string: $(guile (append! %load-path (list "./")) #nil) Note backslash is not needed for # here, for some reason (ugh!) _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?43378> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/ _______________________________________________ Bug-make mailing list Bug-make@gnu.org https://lists.gnu.org/mailman/listinfo/bug-make