* Bugs ** DONE Outside macros that depend on your macro will throw errors CLOSED: [2014-11-09 Sun 18:10] This happens because we have to wrap everything in a progn, which the compiler/interpreter expands then evaluates. So the outside macro is expanded before YOUR macro has been evaluated (and thus defined). Example: #+begin_src emacs-lisp (require 'cl-lib) (defspace name- (defmacro cas (string) (declare (debug t)) `(cdr (assoc-string ,string '(("a" . 1) ("b" . 0))))) (defun incf () "Increment the count of packages in STATUS." (cl-incf (cas "a"))) ) #+end_src Not sure how to fix, given it's limited by our use of progn, which I don't think we can get around. * Not sure how to do: ** DONE Make eval-defun work inside namespaces. CLOSED: [2014-11-09 Sun 18:10] ** TODO Special treatment for defstruct. Right now it's simply being handled as a macro * Just do it ** TODO Add a :use keyword to defspace. ** TODO Namespace symbols in doc strings. Should include =`symbol'=, =\\= and =\\{symbol}=. ** TODO Namespace the [[https://www.gnu.org/software/emacs/manual/html_node/cl/Argument-Lists.html][initform]] of cl arglists. ** DONE Don't call edebug if debug-spec is t or 0. CLOSED: [2014-07-17 Thu 19:14] ** TODO Describe keywords in an info manual, and refer to it instead of the website. * Not sure whether should be done: