diff options
author | Ryan C. Thompson <rct@thompsonclan.org> | 2014-08-26 17:07:06 -0700 |
---|---|---|
committer | Ryan C. Thompson <rct@thompsonclan.org> | 2014-08-26 17:07:06 -0700 |
commit | 0fe83b9f0f1a29259a7c747a7232377af4ac46c5 (patch) | |
tree | 55513aa806975e4b8752020016211a9faa86d0e2 | |
parent | 688b3d6a451fe1a9b3fce4ef373d70693bd7986d (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.creole | 61 |
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. |