]> code.delx.au - gnu-emacs-elpa/blob - packages/names/Todo.org
Merge commit '0cda39255827f283e7578cd469ae42daad9556a2' from js2-mode
[gnu-emacs-elpa] / packages / names / Todo.org
1 * Bugs
2 ** DONE Outside macros that depend on your macro will throw errors
3 CLOSED: [2014-11-09 Sun 18:10]
4 This happens because we have to wrap everything in a progn, which the
5 compiler/interpreter expands then evaluates. So the outside macro is
6 expanded before YOUR macro has been evaluated (and thus defined).
7
8 Example:
9 #+begin_src emacs-lisp
10 (require 'cl-lib)
11
12 (defspace name-
13 (defmacro cas (string)
14 (declare (debug t))
15 `(cdr (assoc-string ,string '(("a" . 1) ("b" . 0)))))
16
17 (defun incf ()
18 "Increment the count of packages in STATUS."
19 (cl-incf (cas "a")))
20 )
21 #+end_src
22
23 Not sure how to fix, given it's limited by our use of progn, which I
24 don't think we can get around.
25 * Not sure how to do:
26 ** DONE Make eval-defun work inside namespaces.
27 CLOSED: [2014-11-09 Sun 18:10]
28 ** TODO Special treatment for defstruct.
29 Right now it's simply being handled as a macro
30 * Just do it
31 ** TODO Add a :use keyword to defspace.
32 ** TODO Namespace symbols in doc strings.
33 Should include =`symbol'=, =\\<symbol>= and =\\{symbol}=.
34 ** TODO Namespace the [[https://www.gnu.org/software/emacs/manual/html_node/cl/Argument-Lists.html][initform]] of cl arglists.
35 ** DONE Don't call edebug if debug-spec is t or 0.
36 CLOSED: [2014-07-17 Thu 19:14]
37 ** TODO Describe keywords in an info manual, and refer to it instead of the website.
38 * Not sure whether should be done: