diff options
Diffstat (limited to 'src/eval.c')
| -rw-r--r-- | src/eval.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/eval.c b/src/eval.c index 5e25caaa847..42c275de6bc 100644 --- a/src/eval.c +++ b/src/eval.c | |||
| @@ -1591,7 +1591,7 @@ DEFUN ("signal", Fsignal, Ssignal, 2, 2, 0, | |||
| 1591 | This function does not return. | 1591 | This function does not return. |
| 1592 | 1592 | ||
| 1593 | An error symbol is a symbol with an `error-conditions' property | 1593 | An error symbol is a symbol with an `error-conditions' property |
| 1594 | that is a list of condition names. | 1594 | that is a list of condition names. The symbol should be non-nil. |
| 1595 | A handler for any of those names will get to handle this signal. | 1595 | A handler for any of those names will get to handle this signal. |
| 1596 | The symbol `error' should normally be one of them. | 1596 | The symbol `error' should normally be one of them. |
| 1597 | 1597 | ||
| @@ -1603,6 +1603,9 @@ See also the function `condition-case'. */ | |||
| 1603 | attributes: noreturn) | 1603 | attributes: noreturn) |
| 1604 | (Lisp_Object error_symbol, Lisp_Object data) | 1604 | (Lisp_Object error_symbol, Lisp_Object data) |
| 1605 | { | 1605 | { |
| 1606 | /* If they call us with nonsensical arguments, produce "peculiar error". */ | ||
| 1607 | if (NILP (error_symbol) && NILP (data)) | ||
| 1608 | error_symbol = Qerror; | ||
| 1606 | signal_or_quit (error_symbol, data, false); | 1609 | signal_or_quit (error_symbol, data, false); |
| 1607 | eassume (false); | 1610 | eassume (false); |
| 1608 | } | 1611 | } |