miyamuko/xl-alexandria — Issue #3: named-lambda で名前が設定されない
Author: miyamuko
Created: 2012-03-02 03:57:23+00:00
State: open
Labels: defect

### 問題点

alexandria:named-lambda で名前が設定されない。

```lisp
user> (alexandria:named-lambda foo (a b) (+ a b))
#
```

### 原因

オリジナルの alexandria の named-lambda の実装は labels に展開して #' するものだが、
xyzzy だとこれでは名前が設定されないみたい。

```lisp
user> (labels ((foo (a b)
(+ a b)))
#'foo)
#
```

clisp だとこうなる。

```lisp
[1]> (labels ((foo (a b)
(+ a b)))
#'foo)
#
[2]> (lambda (a b) (+ a b))
#
```

### 修正内容

xyzzy では `si:*set-function-name` で名前を設定するようにする。

```lisp
(let ((r (lambda (a b) (+ a b))))
(si:*set-function-name r 'foo)
r)
#
```