doomemacs/lisp
Henrik Lissner 050624d475
fix(lib): nested interpolation & order of args for fn! macro
This fixes a couple bugs with this macro:

- Nested %-refs (in nested fn!'s) were interpolated as arguments of the
  outer-most fn!. E.g. (fn! (fn! %2)) would expand to:

  Before this fix:

    (lambda (_%1 %2)
      (lambda (_%1 %2)
        %2))

  After this fix:

    (lambda ()
      (lambda (_%1 %2)
        %2))

- Unused arguments were not only listed in the wrong order, they were
  off-by-one. E.g.

    (fn! %3 %5) expands to (lambda (_%4 _%3 %3 _%1 %5) %3 %5)

  This never caused any actual issues, but it was unexpected.

I've also moved the lookup table to `fn!`, and removed unnecessary
entries from it.
2022-08-15 22:12:45 +02:00
..
cli refactor: deprecate doom-private-dir for doom-user-dir 2022-08-14 20:43:35 +02:00
lib refactor(docs): move doom-docs-dir to lib/docs.el 2022-08-14 20:43:36 +02:00
doom-cli-lib.el refactor(cli): set __DOOMCONTEXT at runtime 2022-08-10 14:10:08 +02:00
doom-cli.el refactor: deprecate doom-etc-dir for doom-data-dir 2022-08-14 20:43:35 +02:00
doom-editor.el refactor: deprecate doom-etc-dir for doom-data-dir 2022-08-14 20:43:35 +02:00
doom-keybinds.el refactor: deprecate featurep! for modulep! 2022-08-14 20:43:35 +02:00
doom-lib.el fix(lib): nested interpolation & order of args for fn! macro 2022-08-15 22:12:45 +02:00
doom-modules.el refactor: deprecate doom-private-dir for doom-user-dir 2022-08-14 20:43:35 +02:00
doom-packages.el refactor: deprecate doom-private-dir for doom-user-dir 2022-08-14 20:43:35 +02:00
doom-projects.el fix: use --strip-cwd-prefix only if fd >=8.3.0 2022-08-08 18:23:46 +02:00
doom-start.el feat!(cli): load project .doomrc instead of ci.el 2022-08-07 19:43:28 +02:00
doom-ui.el refactor: deprecate doom-private-dir for doom-user-dir 2022-08-14 20:43:35 +02:00
doom.el fix: void-function file-name-concat on Emacs 27 2022-08-14 20:44:47 +02:00
packages.el refactor!: restructure Doom core 2022-07-30 22:41:13 +02:00