Implement $EXECUTABLE_NAME

This commit is contained in:
HAYAMA_Kaoru
2024-12-02 10:28:27 +09:00
parent ab0e2b12a3
commit 9c73fd4215
+7 -2
View File
@@ -54,9 +54,14 @@ func mains(args []string) error {
for _, s := range args[1:] {
posixArgv = append(posixArgv, gmnlisp.String(s))
}
executable := os.Args[0]
if value, err := os.Executable(); err == nil {
executable = value
}
lisp = lisp.Let(gmnlisp.Variables{
gmnlisp.NewSymbol("args"): gmnlisp.List(posixArgv...),
gmnlisp.NewSymbol("$PROGRAM_NAME"): gmnlisp.String(args[0]),
gmnlisp.NewSymbol("args"): gmnlisp.List(posixArgv...),
gmnlisp.NewSymbol("$PROGRAM_NAME"): gmnlisp.String(args[0]),
gmnlisp.NewSymbol("$EXECUTABLE_NAME"): gmnlisp.String(executable),
})
ctx, cancel := context.WithCancel(context.Background())