Commit Graph

3977 Commits

Author SHA1 Message Date
3195b84fd2 Evaluate package! properties & error on :fetcher
- No longer translates :fetcher to :host. Update your package!
  declaration people!
- Now evaluates the values for properties (except for :recipe IF it is a
  list whose CAR passes keywordp -- for backwards compatibility).
- Throws error if an invalid property is used for a package!'s :recipe
2019-11-17 16:48:25 -05:00
a66872fe25 Focus on ripgrep; remove ag, git-grep & grep support
We're focusing on ripgrep so we can iterate on search functionality in
Doom quicker. There is nothing the other search backends can do that
ripgrep can't. It is now a hard dependency for Doom.
2019-11-17 01:19:59 -05:00
7a7b89ded1 Init packages from init.el in noninteractive sessions
This allows users to load init.el for their batch scripts, rather than
some monstrosity involving loading core/core.el and doom-initialize.
2019-11-17 01:17:34 -05:00
d474223a99 cli/upgrade: don't use removed -f switch 2019-11-16 21:04:08 -05:00
c363791da0 Made -f the default for 'doom refresh' #2065
-f is necessary when there are changes to your system that Doom needs to
pick up when running 'doom refresh'. It won't do anything if your doom
dotfiles haven't visibly changed, which won't be the case if you are
installing, say, mu4e or vterm, through your system package manager.

What was initially a time-saving mechanic has become a trap for
beginners, so I've made -f its default behavior and its previous
behavior opt-in with the -n / --if-necessary switches.
2019-11-16 20:55:08 -05:00
b9e5059e3f Ensure only one window after doom/kill-all-buffers 2019-11-15 22:17:30 -05:00
9108f4780e Clean up & refactor tests 2019-11-15 02:14:42 -05:00
3d4a51b4a9 Merge pull request #2006 from RBckmnn/FixSudoEdit
Fix doom/sudo-{find,this}-file on remote files
2019-11-15 01:34:00 -05:00
287cc94cba Fix doom-load-autoloads-file tests on macos
Since /var is symlinked to /private/var on macos, the tests -- which do
a simple string comparison between two paths -- won't correctly
determine the two paths are the same file.
2019-11-15 00:56:58 -05:00
12fcd3857d Avoid superfluous buffers when sudo-editing
When invoking 'doom/sudo-this-file', do not
keep the old buffer around, since it is most
likely no longer needed.
2019-11-14 20:48:21 +01:00
6599388f00 Fix infinite loop on invalid answer to straight prompts 2019-11-14 02:37:24 -05:00
82c0fb6fc7 cli/doctor: ensure modules are fully loaded 2019-11-12 15:24:02 -05:00
c297d091bd Fix void-function doom-initialize-packages on 'doom upgrade' 2019-11-10 23:43:05 -05:00
8d112fdca8 Prevent void-variable errors on 'doom upgrade'
If Doom is up-to-date, certain Doom package state doesn't get
initialized for the 'doom update' that occurs directly after, causing
these errors.
2019-11-10 20:15:25 -05:00
4ceb09c219 cli/upgrade: don't double-update packages
And don't initialize too much of Doom before updating it.
2019-11-10 16:44:53 -05:00
829e1762b1 cli/doctor: fix vestigial variable references 2019-11-10 04:56:55 -05:00
dd1dd6901f doom-directory-size: error if path doesn't exist 2019-11-10 04:29:53 -05:00
e252ee61e7 cli/doctor: fix HOME project root detection 2019-11-10 01:39:30 -05:00
962459e8ba cli/doctor: fix cache filesize checks
Closes #2041
2019-11-10 01:35:21 -05:00
17b874dedd Refactor doom-file-size
Change it throw an error if the file doesn't exist.
2019-11-10 01:32:58 -05:00
6c31968a46 cli/doctor: fix font checks 2019-11-09 20:32:48 -05:00
5c3f7d648d cli/doctor: fix void-variable font-dest error
...when a font is missing.
2019-11-09 20:28:40 -05:00
2158b7bdeb Fix dir! & file! tests 2019-11-09 20:25:55 -05:00
967e32c084 Ignore doom-debug-mode in quiet! tests 2019-11-09 17:28:39 -05:00
31f1873aaa Fix tests 2019-11-09 17:03:47 -05:00
b3b0af8a35 Complain if autoload libs fail to load 2019-11-09 17:00:33 -05:00
a55b5a4514 Fix void-function doom-sh error in 'doom upgrade' #2034 2019-11-09 11:06:06 -05:00
cc1bbe0b7e core-cli: add doom-cli constructor 2019-11-09 02:23:58 -05:00
135e7ffc89 Load seq in core-cli 2019-11-08 17:48:16 -05:00
3896b994b5 Remove double-negative filesize from 'doom purge' 2019-11-08 17:30:21 -05:00
5c459e75f8 Fix 'doom refresh' not seeing -f/--force 2019-11-08 16:57:25 -05:00
4ce153519c Refactor out map.el dependency
Since map-put appears to be deprecated on Emacs 27
2019-11-08 16:57:19 -05:00
d20d664f84 Update 'doom install' to reflect recent changes #2033 2019-11-08 16:39:48 -05:00
35152fda67 Fix 'doom env -c'
Throwing "I don't understand 'doom env -c'" errors
2019-11-08 16:20:43 -05:00
ee2c1e384c Fix void-variable doom-module-dirs error from 'doom clean' 2019-11-08 16:19:29 -05:00
d099fac2b9 Fix core & core-lib tests 2019-11-08 16:02:07 -05:00
d683effd23 Recognize single-character envvars in doom-load-envvars-file
And preserve insertion order for process-environment's new value.
2019-11-08 16:02:06 -05:00
d78d584fdf Demote autoload errors to warnings 2019-11-08 16:02:06 -05:00
9ef6ccb7cd Refactor doom-run-all-startup-hooks-h 2019-11-08 16:02:06 -05:00
44d5e097c9 shell-command-to-string -> doom-call-process #1887
Minor optimization to remove a layer of indirection when starting
processes.
2019-11-08 16:02:06 -05:00
873fc5c0db Rewrite core-cli
Highlights:
- 'doom purge' now purges builds, elpa packages, and repos by default.
  Regrafting repos is now opt-in with the -g/--regraft switches.
  Negation flags have been added for elpa/repos: -e/--no-elpa and
  -r/--no-repos.
- Removed 'doom rebuild' (it is now just 'doom build' or 'doom b').
- Removed 'doom build's -f flag, this is now the default. Added the -r
  flag instead, which only builds packages that need rebuilding.
- 'doom update' now updates packages synchronously, but produces more
  informative output about the updating process.
- Straight can now prompt in batch mode, which resolves a lot of issues
  with 'doom update' (and 'doom upgrade') freezing indefinitely or
  throwing repo branch errors.
- 'bin/doom's switches are now positional. Switches aimed at `bin/doom`
  must precede any subcommands. e.g.
    Do: 'doom -yd upgrade'
    Don't do: 'doom upgrade -yd'
- Moved 'doom doctor' from bin/doom-doctor to core/cli/doctor, and
  integrated core/doctor.el into it, as to avoid naming conflicts
  between it and Emacs doctor.
- The defcli! macro now has a special syntax for declaring flags, their
  arguments and descriptions.

Addresses #1981, #1925, #1816, #1721, #1322
2019-11-08 16:02:06 -05:00
99cd52e70f 💥 Drop Emacs 25.x support
Emacs 26.1 is Doom's new minimum supported version

Closes #2026
2019-11-08 16:02:06 -05:00
8db3b7dca7 Always load package autoloads file & demote errors
Indirectly addresses #2010
2019-11-04 17:21:56 -05:00
2bf74158fd Minor refactors across the board 2019-11-04 03:37:54 -05:00
633fd7c95f Exclude *.org files from doom/help-packages{,-config} 2019-11-03 15:43:18 -05:00
2519d12ae3 Don't trigger so-long in noninteractive sessions 2019-11-03 13:06:44 -05:00
7a810d53a0 Consider current buffer's file when sudo-editing
If doom/sudo-find-file is invoked with a file that is equal
to the current buffer's file, kill that buffer since it is probably
not needed anymore.
2019-11-03 14:25:10 +01:00
cae8c3f145 Refresh package.el first time package-install is used 2019-11-02 21:55:40 -04:00
68e56025bc Fixed sudo edit on remote files
The previous implementation failed, if the
remote user was given only implicitly.
2019-11-03 02:22:52 +01:00
9fbfc44f73 Fix doom-create-missing-directories-h
Hanging variable reference caused a void-variable error.
2019-11-02 14:01:19 -04:00