Fix something (abd break something else)

This commit is contained in:
2026-04-17 01:04:42 -07:00
parent 460bcf507b
commit 47af10861d
3 changed files with 7 additions and 6 deletions

View File

@@ -1,5 +1,5 @@
;;; Directory Local Variables -*- no-byte-compile: t -*- ;;; Directory Local Variables -*- no-byte-compile: t -*-
;;; For more information see (info "(emacs) Directory Variables") ;;; For more information see (info "(emacs) Directory Variables")
((nil . ((my/project-run-command . "build/simple-lisp") ((nil . ((compile-command . "make -kC build/")
(compile-command . "make -C build")))) (my/project-run-command . "build/simple-lisp"))))

View File

@@ -975,7 +975,7 @@ STATIC_DEFUN(set_for_return, "set-for-return", (LispVal * entry, LispVal *dest),
static inline void setup_return_handler(LispVal *tag, LispVal *dest) { static inline void setup_return_handler(LispVal *tag, LispVal *dest) {
LispVal *err_var = INTERN_STATIC("e", system_package); LispVal *err_var = INTERN_STATIC("e", system_package);
LispVal *quoted_dest = const_list(false, 2, Qquote, dest); LispVal *quoted_dest = const_list(true, 2, Qquote, dest);
LispVal *handler = LispVal *handler =
const_list(true, 4, err_var, Qset_for_return, err_var, quoted_dest); const_list(true, 4, err_var, Qset_for_return, err_var, quoted_dest);
refcount_unref(quoted_dest); refcount_unref(quoted_dest);
@@ -3019,7 +3019,7 @@ static void rehash_to(LispHashtable *self, size_t new_size) {
lisp_malloc0(sizeof(struct HashtableEntry) * new_size); lisp_malloc0(sizeof(struct HashtableEntry) * new_size);
struct HashtableDataArray data_arr = {.size = new_size, struct HashtableDataArray data_arr = {.size = new_size,
.entries = new_data}; .entries = new_data};
void *cl_handler; void *cl_handler = NULL; // silence warning
if (the_stack) { if (the_stack) {
cl_handler = register_cleanup(&free_hash_table_data_array, &data_arr); cl_handler = register_cleanup(&free_hash_table_data_array, &data_arr);
} }

View File

@@ -26,7 +26,7 @@ STATIC_DEFUN(toplevel_error_handler, "toplevel-error-handler",
LispVal *stream = make_lisp_integer(fileno(stderr)); LispVal *stream = make_lisp_integer(fileno(stderr));
if (!NILP(detail)) { if (!NILP(detail)) {
fprintf(stderr, "Details: "); fprintf(stderr, "Details: ");
Fprintln(detail, Qt, stream); refcount_unref(Fprintln(detail, Qt, stream));
} }
fprintf(stderr, "\nBacktrace (toplevel comes last):\n"); fprintf(stderr, "\nBacktrace (toplevel comes last):\n");
FOREACH(frame, backtrace) { FOREACH(frame, backtrace) {
@@ -44,13 +44,14 @@ STATIC_DEFUN(toplevel_error_handler, "toplevel-error-handler",
LispVal *name = NILP(fobj->name) ? LISPVAL(fobj) : fobj->name; LispVal *name = NILP(fobj->name) ? LISPVAL(fobj) : fobj->name;
LispVal *to_print = Fpair(name, TAIL(frame)); LispVal *to_print = Fpair(name, TAIL(frame));
fprintf(stderr, " "); fprintf(stderr, " ");
Fprint(to_print, Qt, stream); refcount_unref(Fprint(to_print, Qt, stream));
refcount_unref(to_print); refcount_unref(to_print);
if (!fobj->is_builtin && fobj->is_macro) { if (!fobj->is_builtin && fobj->is_macro) {
fprintf(stderr, " ;; macro"); fprintf(stderr, " ;; macro");
} }
fputc('\n', stderr); fputc('\n', stderr);
} }
refcount_unref(stream);
exit_status = 1; exit_status = 1;
return Qnil; return Qnil;
} }