1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 18:40:39 -08:00

Integrate error implementation from scheme-malloc.c.

Copied from Perforce
 Change: 180293
 ServerID: perforce.ravenbrook.com
This commit is contained in:
Gareth Rees 2012-11-02 19:12:58 +00:00
parent 99d142ffd6
commit d18dd95c1f

View file

@ -2949,6 +2949,17 @@ static obj_t entry_eval(obj_t env, obj_t op_env, obj_t operator, obj_t operands)
}
static obj_t entry_error(obj_t env, obj_t op_env, obj_t operator, obj_t operands)
{
obj_t msg;
eval_args(operator->operator.name, env, op_env, operands, 1, &msg);
unless(TYPE(msg) == TYPE_STRING)
error("%s: argument must be a string", operator->operator.name);
error(msg->string.string);
return obj_undefined;
}
static obj_t entry_symbol_to_string(obj_t env, obj_t op_env, obj_t operator, obj_t operands)
{
obj_t symbol;
@ -3584,6 +3595,7 @@ static struct {char *name; entry_t entry;} funtab[] = {
{"list->vector", entry_list_to_vector},
{"vector-fill!", entry_vector_fill},
{"eval", entry_eval},
{"error", entry_error},
{"symbol->string", entry_symbol_to_string},
{"string->symbol", entry_string_to_symbol},
{"string?", entry_stringp},