aboutsummaryrefslogtreecommitdiff
path: root/environment.c
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2024-09-09 16:54:08 -0400
committerBruce Hill <bruce@bruce-hill.com>2024-09-09 16:54:08 -0400
commit23de8e1f5a80fdf05469b4961ba0eaafb4531b0e (patch)
tree6ec00ca90b9d0d829869d108e1e3aabdd66a3348 /environment.c
parent0bc207266ed50d628b2071a7be128ace92de3dec (diff)
Fix up some stuff with path escaping
Diffstat (limited to 'environment.c')
-rw-r--r--environment.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/environment.c b/environment.c
index 8eefc2b2..d6c6673c 100644
--- a/environment.c
+++ b/environment.c
@@ -253,6 +253,7 @@ env_t *new_compilation_unit(CORD *libname)
{"base_name", "Path$base_name", "func(path:Path)->Text"},
{"children", "Path$children", "func(path:Path, include_hidden=no)->[Path]"},
{"create_directory", "Path$create_directory", "func(path:Path, permissions=0o644_i32)"},
+ {"escape_path", "Path$escape_path", "func(path:Path)->Path"},
{"escape_text", "Path$escape_text", "func(text:Text)->Path"},
{"exists", "Path$exists", "func(path:Path)->Bool"},
{"extension", "Path$extension", "func(path:Path, full=yes)->Text"},
@@ -598,6 +599,7 @@ binding_t *get_namespace_binding(env_t *env, ast_t *self, const char *name)
binding_t *get_lang_escape_function(env_t *env, const char *lang_name, type_t *type_to_escape)
{
+ if (!lang_name) lang_name = "Text";
binding_t *typeinfo = get_binding(env, lang_name);
assert(typeinfo && typeinfo->type->tag == TypeInfoType);
env_t *lang_env = Match(typeinfo->type, TypeInfoType)->env;