summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyan C. Thompson <rct@thompsonclan.org>2014-08-26 17:07:06 -0700
committerRyan C. Thompson <rct@thompsonclan.org>2014-08-26 17:07:06 -0700
commit0fe83b9f0f1a29259a7c747a7232377af4ac46c5 (patch)
tree55513aa806975e4b8752020016211a9faa86d0e2
parent688b3d6a451fe1a9b3fce4ef373d70693bd7986d (diff)
Remove cl-style arglists from TODO section
Since noflet now supports cl-style argument lists, we can cross this off the list.
-rw-r--r--README.creole61
1 files changed, 0 insertions, 61 deletions
diff --git a/README.creole b/README.creole
index 5a1f9d7..6819511 100644
--- a/README.creole
+++ b/README.creole
@@ -57,64 +57,3 @@ surely better ways to do it than this but it illustrates the point.
Because we include a good indenting function we also include a lexical
{{{flet}}}. It's just a wrapper for {{{cl-flet}}}.
-
-=== todo ===
-
-It would be nice to have a noflet that could work with Emacs/CL style
-arg lists, like {{{defun*}}}.
-
-This would allow something like:
-
-{{{
-(noflet* ((get-buffer (name &key regex)
- (if name
- (funcall this-fn name)
- (regex-find-buffer-function regex))))
- ...)
-}}}
-
-Doing this looks easy enough to implement with the
-{{{cl--transform-lambda}}} function:
-
-{{{
-(cl--transform-lambda
- '((fp &key blah) ; the arglist
- "My function" ; the doc string
- (setq blah :1)) ; the function body
- 'nic-func) ; the name of the function you're assigning
-}}}
-
-this returns something like this:
-
-{{{
-(nil (fp &rest --cl-rest--) "My function
-
-(fn FP &key BLAH)"
-(let*
- ((blah
- (car
- (cdr
- (memq ':blah --cl-rest--)))))
- (let
- ((--cl-keys-- --cl-rest--))
- (while --cl-keys--
- (cond
- ((memq
- (car --cl-keys--)
- '(:blah :allow-other-keys))
- (setq --cl-keys--
- (cdr
- (cdr --cl-keys--))))
- ((car
- (cdr
- (memq ':allow-other-keys --cl-rest--)))
- (setq --cl-keys-- nil))
- (t
- (error "Keyword argument %s not one of (:blah)"
- (car --cl-keys--))))))
- (cl-block nic-func
- (setq blah :1))))
-}}}
-
-And obviously you can take the CDR of this and use it as a lambda form
-or some such.