|
@ -3201,6 +3201,22 @@ oop prim___eval__(oop func, oop self, oop args, oop env) |
|
|
return self; |
|
|
return self; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
oop prim_intern(oop func, oop self, oop args, oop env) |
|
|
|
|
|
{ |
|
|
|
|
|
int argc = _get(args, Object,isize); |
|
|
|
|
|
oop *indexed = _get(args, Object,indexed); |
|
|
|
|
|
oop result = nil; |
|
|
|
|
|
|
|
|
|
|
|
if (argc != 1) { |
|
|
|
|
|
fatal("intern: invalid number of arguments"); |
|
|
|
|
|
} |
|
|
|
|
|
if (getType(indexed[0]) != String) { |
|
|
|
|
|
fatal("intern: argument is not of type String, got %s instead", getTypeName(indexed[0])); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return intern(_get(indexed[0], String, value)); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
oop prim_print(oop func, oop self, oop args, oop env) |
|
|
oop prim_print(oop func, oop self, oop args, oop env) |
|
|
{ |
|
|
{ |
|
|
int argc = _get(args, Object,isize); |
|
|
int argc = _get(args, Object,isize); |
|
@ -3444,6 +3460,7 @@ int main(int argc, char **argv) |
|
|
prim(chr , prim_chr); |
|
|
prim(chr , prim_chr); |
|
|
prim(readfile , prim_readfile); |
|
|
prim(readfile , prim_readfile); |
|
|
prim(exit , prim_exit); |
|
|
prim(exit , prim_exit); |
|
|
|
|
|
prim(intern , prim_intern); |
|
|
|
|
|
|
|
|
# undef prim |
|
|
# undef prim |
|
|
|
|
|
|
|
|