Commit Graph

3506 Commits

Author SHA1 Message Date
c795a988e6 Conform many modules to new conventions 2019-07-23 12:30:47 +02:00
7ac155f68d Fix company help replacing the current buffer
Instead of displaying in a popup.
2019-07-23 02:04:44 +02:00
7ebc9045f2 Fix reference to renamed variable targets 2019-07-23 01:27:20 +02:00
d59405b282 Minor comment revision & refactors 2019-07-23 00:30:45 +02:00
d7ed52f3c7 Add ui/hydra module
And conforms all existing hydras to the naming convention for
interactive commands, e.g.

  +vc-gutter-hydra -> +vc/gutter-hydra
2019-07-22 23:51:12 +02:00
388267d256 Add --force/-f support to doom refresh 2019-07-22 23:22:55 +02:00
6200f5d876 Move file functions in core-lib to autoload/files 2019-07-22 23:22:55 +02:00
be2ade62d2 Add polyfill for Emacs 26+ alist-get 2019-07-22 23:22:54 +02:00
0eb200c49f Refactor package! macro 2019-07-22 23:22:54 +02:00
93f7520c79 Refactor Doom core init process (again)
- Eager-load all core autoloaded libraries if autoloads file isn't
  present.
- Renames functions to be more descriptive of their true purpose:
  - doom-initialize-autoloads -> doom-load-autoloads-file
  - doom-load-env-vars -> doom-load-envvars-file
- Use doom-module-p instead of featurep! for backend use (the latter is
  mainly syntax sugar for module use, and evaluates at compile/expansion
  time, which may cause hash-table-p errors early in the startup
  process).
- Reorder plist library to prevent load order race condition with the
  functions using the macros that haven't been defined yet.
2019-07-22 23:22:54 +02:00
23d111132a Update core-packages.el comments 2019-07-22 23:22:54 +02:00
afebdb35da Refactor autodef generator 2019-07-22 23:22:54 +02:00
a301330603 Fix doom update #1584
It would no-op if you responded "y" to the 'update them?' prompt, and
proceed if you responded "n".

Doom must be in its rebellious phase.

Also relevant: #1585
2019-07-22 23:22:38 +02:00
22404f1ec5 Fix "nil is not any command *I* know"
What good is sass if it isn't right?
2019-07-22 22:34:08 +02:00
781783fe85 Refactor doom-module-from-path
Now returns (:core) or (:private) for files in doom-core-dir and
doom-private-dir, respectively, and will otherwise return the module for
the current file if called with no arguments.

Also fixes the case where it would disregard arguments and return
whatever the current value of doom--current-module.
2019-07-22 22:34:08 +02:00
457b542795 Fix void-variable next error
And change TARGETS to PACKAGE, which is a more descriptive name.

Mentioned in #374
2019-07-22 18:57:17 +02:00
d8dbb90931 Add core plist library 2019-07-22 18:04:50 +02:00
0c678ee762 Refactor after! macro
The trouble with with-eval-after-load is it arranges for the body to be
byte-compiled, whereas eval-after-load does not. I won't go into how
they do that here, but it causes us some trouble:

Macro calls in with-eval-after-load are eagerly (immediately) expanded
at startup, whether or not the package or macro is available and
regardless of its execution path.

This sucks for Doom because, when expanded, autoloaded macros will be
loaded, along with whatever baggage they've got with them, and this
happens long before they're actually used. We also can't guarantee those
macros are available at startup, which will cause void-function errors
when the interpreter later treats them like an ordinary function call.

So, the simple fix is to pass a quoted body form to eval-after-load
instead of the closure that with-eval-after-load will wrap it in. This
means the body won't get byte-compiled if we compile our config, but in
exchange, macros stay lazy-loaded until they're finally needed!
Wonderful.
2019-07-22 14:49:25 +02:00
4c70cfd102 Fix hash-table-p errors loading projectile
I was reading from a file without making sure it exists!
2019-07-22 06:28:32 +02:00
ffdb726ed8 Exclude gh.el from autoloads
See sigma/gh.el#95
2019-07-22 06:06:58 +02:00
6f878a38bd Fix incorrect path to init.example.el 2019-07-22 04:48:44 +02:00
1c4215c187 Fix 'command not found' errors for hidden commands 2019-07-22 04:46:14 +02:00
e9e6786dd3 Fix file-missing cli/quickstart error 2019-07-22 04:22:42 +02:00
879ab3b2f3 Replace incorrect usage of doom-dir with doom-path 2019-07-22 04:20:52 +02:00
76bb892a0c Move cli/quickstart -> cli/install 2019-07-22 04:16:47 +02:00
d2fa1a3dd1 Load seq in core-cli 2019-07-22 04:15:45 +02:00
ea65f82e4d Fix void doom-package-list error on first install 2019-07-22 03:48:29 +02:00
b465500a27 Improve smartparens config and comments 2019-07-22 02:38:20 +02:00
82bcc2a68f Disable straight+use-package integration
They won't be loaded together, and shouldn't be used anyway, what with
Doom's package management system.
2019-07-22 02:37:48 +02:00
d980920c97 cli/packages: fix rebuild ignoring argument 2019-07-22 02:37:48 +02:00
a7ce48c2df bin/doom: add -l/--local/DOOMLOCALDIR
Will come in handy for the new testing framework.
2019-07-22 02:37:48 +02:00
ff7fe6af9f cli/doctor: fix stringp error if fd isn't installed 2019-07-22 02:37:47 +02:00
060ede0e2e General, minor reformatting across the board
And an offering of blood to our great lord Byte Compiler-sama.
2019-07-22 02:37:45 +02:00
71ba4789ca Fix hash-table-p errors on reloading pkg autoloads
Because doom-modules wasn't set in doom-module-path's scope.
2019-07-22 02:37:44 +02:00
c7ce21af70 Fix prefix arg for doom/switch-to-scratch-buffer
Also use clearer name for prefix arg var in
doom/open-project-scratch-buffer.
2019-07-22 02:30:41 +02:00
832b7e9294 Remove witout-project-cache!, rename project-file-exists-p
To doom-project-file-exists-p, which is now a function.
2019-07-22 02:30:41 +02:00
47216117cc Stop reloading theme on every new frame
It was slow and unnecessary (doom-themes and solaire-mode support
terminal colors already).
2019-07-22 02:30:41 +02:00
a0593cc097 Refactor font loading
Init extra fonts within doom-init-fonts-h. This was moved because I used
to believe that set-fontset-font (according to its documentation) could
only change the frame-local fontset. It turns out that the exception
when you pass t for its first argument, which targets the default (i.e.
global) fontset.
2019-07-22 02:30:40 +02:00
5005721039 lang/emacs-lisp: make company-elisp use helpful
Instead of describe-*
2019-07-22 02:30:40 +02:00
be789caa04 Add elisp demos for Doom API in helpful buffer 2019-07-22 02:30:40 +02:00
b90dede1ab 💥 Replace package.el/quelpa with straight #374
There are a few kinks to iron out, but for the most part it's done. Doom
Emacs, powered by straight. Goodbye gnutls and elpa/quelpa issues.

This update doesn't come with rollback or lockfile support yet, but I
will eventually include one with Doom, and packages will be (by default,
anyway) updated in sync with Doom.

Relevant threads: #1577 #1566 #1473
2019-07-22 02:30:40 +02:00
492f2dea1e core-lib: add nconcq! macro 2019-07-22 02:30:40 +02:00
e8ecf65cf9 core-lib: add pushmany! macro, refactor pushnew! 2019-07-22 02:30:40 +02:00
0a84d2f0a9 core-lib: add auto-minor-mode, revise def-project-mode!
- Adds the auto-minor-mode package to replace our in-house
  implementation.
- Merges associate! into the def-project-mode! macro because associate!
  on its own is less useful than auto-minor-mode-alist,
  auto-minor-mode-magic-alist or hooks.
- Changes the semantics of :modes and :add-hooks properties of
  def-project-mode!. Its arguments are evaluated as is; lists will need
  to be quoted.

squash! core-lib: remove associate! macro
2019-07-22 02:30:39 +02:00
3404899ec3 core-lib: add doom-partial & doom-rpartial functions 2019-07-22 02:30:39 +02:00
ee10b3b0d9 core-lib: add doom-{glob,path,dir}, replace {file,dir}!
- file! replaces FILE!
- dir! replaces DIR!
- doom-{glob,path,dir} have the power to construct paths out of the
  segment pieces provided to it.
- Move doom-files-in to core-lib and refactor to use the above.
2019-07-22 02:30:39 +02:00
602e2f31c7 core-lib: refactor pushnew! macro
Do a little more work at expand-time.
2019-07-22 02:30:39 +02:00
3306eaa17c core-lib: refactor defer-until!, add-transient-hook!
Now uses an interned hook name (that could be removed, unlike the
uninterned symbol make-symbol creates).

Also, for consistency: fun -> fn

No fun allowed!
2019-07-22 02:30:39 +02:00
b742bf086f core-lib: add prependq! and appendq! macros 2019-07-22 02:30:39 +02:00
0f98b5b3c2 core-lib: use projectile cache in file-exists-p!
If available.
2019-07-22 02:30:39 +02:00