Index: /trunk/ccl/compiler/nx0.lisp
===================================================================
--- /trunk/ccl/compiler/nx0.lisp	(revision 291)
+++ /trunk/ccl/compiler/nx0.lisp	(revision 292)
@@ -82,8 +82,10 @@
 (defvar *nx1-compiler-special-forms* nil "Real special forms")
 
-(defvar *nx-never-tail-call* '(error cerror break warn type-error file-error
-                               #-bccl %get-frame-pointer
-                               #-bccl break-loop)
- "List of functions which never return multiple values and
+(defparameter *nx-never-tail-call*
+  '(error cerror break warn type-error file-error
+    signal-program-error signal-simple-program-error
+    #-bccl %get-frame-pointer
+    #-bccl break-loop)
+  "List of functions which never return multiple values and
    should never be tail-called.")
 
@@ -1656,5 +1658,5 @@
       (multiple-value-bind (lambda-form containing-env token) (nx-inline-expansion sym *nx-lexical-environment* global-only)
         (or (nx1-expand-inline-call lambda-form containing-env token args spread-p)
-            (multiple-value-bind (info afunc) (if (and sym (symbolp sym) (not global-only)) (nx-lexical-finfo sym))
+            (multiple-value-bind (info afunc) (if (and  (symbolp sym) (not global-only)) (nx-lexical-finfo sym))
               (when (eq 'macro (car info))
                 (nx-error "Can't call macro function ~s" sym))
