From a4db8410b2873c75b3a083025b5adeeeeef6b25e Mon Sep 17 00:00:00 2001 From: jjgarcia Date: Tue, 10 May 2005 16:13:02 +0000 Subject: [PATCH] Fixed a typo in the detection of tail recursive functions --- src/CHANGELOG | 2 ++ src/cmp/cmpexit.lsp | 1 + 2 files changed, 3 insertions(+) diff --git a/src/CHANGELOG b/src/CHANGELOG index 55d0bce4e..5cea7968f 100644 --- a/src/CHANGELOG +++ b/src/CHANGELOG @@ -60,6 +60,8 @@ ECL 0.9f - Values of MOST-POSTIVE-LONG-FLOAT, and similar constants, are now taken from the float.h header, instead of referencing the lisp variables themselves. + - A typo made the check for proper tail recursion always succeed. + * Foreign function interface (FFI): - ext:c-uint-max and ext:c-ulong-max did not have the right bignum value. diff --git a/src/cmp/cmpexit.lsp b/src/cmp/cmpexit.lsp index fa24e8c2f..40a373b99 100644 --- a/src/cmp/cmpexit.lsp +++ b/src/cmp/cmpexit.lsp @@ -178,6 +178,7 @@ *tail-recursion-info* (eq fun (first *tail-recursion-info*)) (last-call-p) + (tail-recursion-possible) (inline-possible (fun-name fun)) (= (length args) (length (rest *tail-recursion-info*)))) (let* ((*destination* 'TRASH)