Automap behavior differs for constants and variables.
From the Pike mailinglist:
24084121 2020-06-18 11:26 +0200 /42 lines/ Mateusz Krawczuk <krawczukmat@gmail.com>
Sent by: SRS0+eNdN=77=lists.lysator.liu.se=pike-devel-bounces@lysator.liu.se
Imported: 2020-06-18 11:27 by Brevbäraren
External recipient: Pike Development List <pike-devel@lists.lysator.liu.se>
To: Pike (-) developers forum <21001>
Subject: an automap bug
Reproduces both on pike 8 from apt repository and pike compiled on master:
$ ./pike -v
Pike v8.1 release 13 Copyright © 1994-2018 Linköping University
Pike comes with ABSOLUTELY NO WARRANTY; This is free software and you are
welcome to redistribute it under certain conditions; read the files
COPYING and COPYRIGHT in the Pike distribution for more details.
$
$ cat automap1.pike
int main() {
write( "%O\n", combine_path("foo", ({ "abc", "cde" })[*] ) );
}
$
$ cat automap2.pike
int main() {
string s = "foo";
write("%O\n", combine_path(s, ({ "abc", "cde" })[*] ) );
}
$
$ ./pike automap1.pike
({ /* 2 elements */
"foo/abc",
"foo/cde"
})
$
$ ./pike automap2.pike
automap2.pike:4:[*] not supported here.
Pike: Failed to compile script.
$
$ pike -v
Pike v8.0 release 498 Copyright © 1994-2017 Linköping University
Pike comes with ABSOLUTELY NO WARRANTY; This is free software and you are
welcome to redistribute it under certain conditions; read the files
COPYING and COPYRIGHT in the Pike distribution for more details.
$ pike automap1.pike
({ /* 2 elements */
"foo/abc",
"foo/cde"
})
$
$ pike automap2.pike
automap2.pike:4:[*] not supported here.
(24084121) /Mateusz Krawczuk krawczukmat@gmail.com/