cl-cont breaks cl:documentation

0 views
Skip to first unread message

Bart Botta

unread,
Oct 2, 2009, 8:52:14 AM10/2/09
to weblocks
cl-cont adds an :around method to cl:documentation for doc-type eql
'function that call FDEFINITION on the passed symbol, which is an
error if the symbol isn't FBOUND. This breaks the slime inspector,
which calls that method on every symbol.

following patch adds a check to that method and the (setf
documentation) method.

-3b
--------------------------
Fri Oct 2 07:32:06 CDT 2009 000...@gmail.com
* don't call FDEFINITION on non-FBOUND symbols

New patches:

[don't call FDEFINITION on non-FBOUND symbols
000...@gmail.com**20091002123206
Ignore-this: dc7c08bf065c56e3d40eda93e0f0a3cf
] {
hunk ./src/special-transformers.lisp 208
(setf (documentation (f/cc-function obj) doc-type) value))

(defmethod documentation :around ((obj symbol) (doc-type (eql
'function)))
- (let ((fn (fdefinition obj)))
+ (let ((fn (when (fboundp obj) (fdefinition obj))))
(if (typep fn 'funcallable/cc)
(documentation (f/cc-function fn) doc-type)
(call-next-method))))
hunk ./src/special-transformers.lisp 214

(defmethod (setf documentation) :around (value (obj symbol) (doc-type
(eql 'function)))
- (let ((fn (fdefinition obj)))
+ (let ((fn (when (fboundp obj) (fdefinition obj))))
(if (typep fn 'funcallable/cc)
(setf (documentation (f/cc-function fn) doc-type) value)
(call-next-method))))
}

Context:

[Deprecated CHANGELOG.
Leslie P. Polzer <pol...@gnu.org>**20090728084616
Ignore-this: 92d88eacd331eedff4743abd8d298c73
]
[Support ASDF:TEST-OP.
Leslie P. Polzer <pol...@gnu.org>**20090727164614
Ignore-this: 2cab030afaa2cde43df4074b31704a16
]
[Updated ASD.
Leslie P. Polzer <pol...@gnu.org>**20090727164338
Ignore-this: 5d8f60f2ee3e146df08ed3dbed75bb46
]
[Function documentation support.
Leslie P. Polzer <pol...@gnu.org>**20090727163117
Ignore-this: 879c08423dd682d73369a621df98552c
]
[Make FUNCALL/CC and APPLY/CC macros. Fix inline declamation for
FDESIGNATOR-TO-FUNCTION/CC. Patch by John Fremlin.
Leslie P. Polzer <pol...@gnu.org>**20090727101318
Ignore-this: dec4504036aa0ecabcf316a0ecc3d11
]
[Updating version/changelog
coff...@gmail.com**20081203011754]
[Receive multiple values from called non-CPS functions
Stephen Compall <scom...@nocandysw.com>**20081126144756]
[Remove XFAIL on clozure-broken-typep, as Clozure is now fixed
Stephen Compall <scom...@nocandysw.com>**20081126144323]
[Updating changelog for 0.3.6
coff...@gmail.com**20081106174502]
[Disable inlining for FUNCALL/CC on SBCL.
Leslie P. Polzer <pol...@gnu.org>**20081106092055]
[TAG 0.3.5
coff...@gmail.com**20081005231001]
[Releasing version 0.3.5
coff...@gmail.com**20081005230940]
[Mod changelog
coff...@gmail.com**20081005214117]
[work around Clozure TYPEP bug; document said bug in an XFAIL
Stephen Compall <scom...@nocandysw.com>**20080905071050]
[Release 0.3.4
coff...@gmail.com**20071230065949]
[Fixing issue with passing defun/cc symbols to funcall/cc and apply/cc
coff...@gmail.com**20071230065907]
[Adding without-call/cc macro to match the transformer
coff...@gmail.com**20071230065654]
[Fixing a typo
coff...@gmail.com**20071230062032]
[0.3.3. Release
coff...@gmail.com**20071226223339]
[Fixing (list (values)) test case
coff...@gmail.com**20071226223318]
[Special handling for lispworks internal-the
coff...@gmail.com**20071226222651]
[Turning off compiler optimizations on CMUCL for defun/cc
coff...@gmail.com**20071207052352]
[Specialist handling for LIST on ACL
coff...@gmail.com**20071205233155]
[Changing apply/cc to accept multiple arguments
coff...@gmail.com**20071205204808]
[Adding support for tagbody/go
coff...@gmail.com**20071116035905]
[Adding support for without-call/cc
coff...@gmail.com**20071116035730]
[Listing additionally supported constructs
coff...@gmail.com**20071116034424]
[Adding ignore declarations for ENV where necessary, updating version
coff...@gmail.com**20071112235131]
[Adding OpenMCL environment test case
coff...@gmail.com**20071112231334]
[Fixing environment/macro clashes for flet/labels
coff...@gmail.com**20071112080046]
[Fixing environment passing for defun/cc
coff...@gmail.com**20071112075828]
[Passing environment to all transformers explicitly
coff...@gmail.com**20071112055813]
[Hiding an allegro specific expression from other implementations
coff...@gmail.com**20071110225723]
[Modifying dependencies to use symbols instead of strings
coff...@gmail.com**20071107222536]
[Restructuring for asdf-install friendliness
coff...@gmail.com**20071107201606]
[Adding support for lambda/cc and nested with-call/cc
coff...@gmail.com**20071106194631]
[Adding support for declarations in defun
coff...@gmail.com**20071105223026]
[Fixing k-expr in defun/cc
coff...@gmail.com**20071104054233]
[Adding transformations for explicit funcall and apply
coff...@gmail.com**20071103221927]
[Adding support for defun and defun/cc
coff...@gmail.com**20071103205014]
[Adding basic support for unwind-protect
coff...@gmail.com**20071103194501]
[adding progv info to docs
coff...@gmail.com**20071103194224]
[Additional information in docs
coff...@gmail.com**20071103194058]
[ACL MOP fix
coff...@gmail.com**20071103191720]
[Removing broken support for catch/throw
coff...@gmail.com**20071103182225]
[Adding an ignorable that prevents warnings on throw
coff...@gmail.com**20071103055438]
[Fixing a multiple values issue (exposed by lispworks)
coff...@gmail.com**20071103054406]
[Fixing an incorrect test case
coff...@gmail.com**20071103051057]
[Adding support for CMUCL
coff...@gmail.com**20071102230021]
[Very basic progv support
coff...@gmail.com**20071102170503]
[Adding eval-when support
coff...@gmail.com**20071102165746]
[Adding support for load-time-value
coff...@gmail.com**20071102162724]
[Adding support for multiple-value-prog1 (and improving code)
coff...@gmail.com**20071102053047]
[Adding support for values, values-list, and multiple-value-call
coff...@gmail.com**20071102043330]
[Adding ignorable declarations to catch/throw hash
coff...@gmail.com**20071102000125]
[Supporting catch and throw
coff...@gmail.com**20071101232550]
[Adding support for declarations
coff...@gmail.com**20071031184235]
[Initial checkin
coff...@gmail.com**20071031174706]
Patch bundle hash:
459c4c534c5ccbb7d96203cfd4fdb728e8bbf4ac

Leslie P. Polzer

unread,
Oct 2, 2009, 10:48:33 AM10/2/09
to webl...@googlegroups.com

Bart Botta wrote:
>
> cl-cont adds an :around method to cl:documentation for doc-type eql
> 'function that call FDEFINITION on the passed symbol, which is an
> error if the symbol isn't FBOUND. This breaks the slime inspector,
> which calls that method on every symbol.
>
> following patch adds a check to that method and the (setf
> documentation) method.

Thank you! Please send this as an attachment, I'm not sure where
to snip.

Leslie

Bart Botta

unread,
Oct 2, 2009, 11:06:17 AM10/2/09
to weblocks
as an attachment this time...

--
3b

cl-cont.patch

Leslie P. Polzer

unread,
Oct 2, 2009, 11:42:27 AM10/2/09
to webl...@googlegroups.com

Bart Botta wrote:
> as an attachment this time...

Thanks, applied and pushed. Please include a test case with
your patch in the future, though.

Leslie

Reply all
Reply to author
Forward
0 new messages