Commit Graph

4574 Commits

Author SHA1 Message Date
0769b47cc8 Fix 'doom purge' not purging straight builds 2020-09-19 14:43:53 -04:00
ce9162647d cli/env: blacklist SHLVL & comment default blacklist 2020-09-10 18:03:32 -04:00
ae3a2fa8c2 doom-info: use &nopath prefix for 404'd modules
The alternative is a stringp error.
2020-09-02 14:23:11 -04:00
c55391d4ac Merge pull request #3876 from flatwhatson/no-native-compile
Allow :no-native-compile in package recipes
2020-09-01 06:59:33 -04:00
bb74d2716f Allow :no-native-compile in package recipes 2020-09-01 20:48:42 +10:00
3935d431fc tab-always-indent = nil
Seems like a more sensible default to reindent the line if cursor is at
BOL or in indentation, then insert literal indentation (tab or space *
tab-width) otherwise.
2020-09-01 01:41:39 -04:00
60ba42ca4a Fix #3873: use thing-at-point for nox & elpy 2020-08-31 23:11:33 -04:00
406c651059 Increase search depth for doom/help-search-headings 2020-08-31 14:53:42 -04:00
8f64a0eb31 Fix #3871: void-function doom-autoload-error
Due to calling an error as if it were a function.
2020-08-31 00:01:34 -04:00
2337f14563 bin/doom: enable-dir-local-variables = nil
So user .dir-locals.el doesn't interfere with our package manager.
2020-08-28 23:34:12 -04:00
5de08af8da bin/doom: improve error output
Show different message for straight errors (but log backtrace to
doom.error.log either way).
2020-08-28 04:34:56 -04:00
15779e7a16 Filter directories when rebuilding straight repos
Prevents auto-generated files like .DS_Store on macOS from causing an
error.
2020-08-27 23:22:24 +08:00
098f10306d Fix CLI error not including straight output 2020-08-27 03:11:46 -04:00
2bd921e15d Merge pull request #3850 from thiagokokada/cleanup-help-el
core: Cleanup core/autoload/help.el
2020-08-27 01:15:51 -04:00
a6dc9bf7e5 core-cli: minor refactors 2020-08-27 01:10:08 -04:00
518c97a2ac Rename {if,when}! -> eval-{if,when}!
To better represent its purpose, as extensions to Emacs' eval-when*
API (for control flow at compile time).
2020-08-27 01:10:08 -04:00
0111e26373 core: Cleanup core/autoload/help.el
Removing references after e24b8cd1d1.
2020-08-26 21:27:25 -03:00
b3006ecabb ui/modeline: update buffer id when renaming files
And revert 247ce145b, since I wasn't aware
after-set-visited-file-name-hook existed.
2020-08-26 19:54:05 -04:00
247ce145b4 Revert buffer after renaming file 2020-08-26 19:52:06 -04:00
e00560caf8 Fix #3827 (part 2): inverted file cookies
Turns out some autodefs weren't being noop'ed when their file's cookie
returns nil. This was the secondary cause of #3827.
2020-08-26 19:51:46 -04:00
e459842a9b Escape newlines in backtrace frames
And quote strings
2020-08-26 16:02:55 -04:00
c7588bacdf cli/upgrade: don't reload if Doom's up-to-date 2020-08-26 15:11:47 -04:00
63a03848a3 Fix literate tangling on 'doom sync'
Relevant to #3746
2020-08-25 06:01:35 -04:00
c0500df5fb bin/doom: move debugger config to core-cli
And remove unnecessary path expansion.
2020-08-25 05:08:22 -04:00
a986621a5f Revert 70148bb
Fixes #3829
Relevant to #3691
2020-08-25 01:57:00 -04:00
6e22a15e43 Fix 'doom help'
doom-cli-internal-p was accidentally removed in e632871a1, and the
psuedo CLI command :main was renamed to :doom.
2020-08-24 23:36:11 -04:00
0dfee56e35 Fix string type error on 'doom upgrade' 2020-08-24 23:22:57 -04:00
5c6189fb4e Simplify doom/version output
Only really needs to output Doom's version and build info.
2020-08-24 23:00:32 -04:00
e632871a11 core-cli: backport more refactors from rewrite
Still a long way to go, but this introduces a few niceties for
debugging CLI failures:

+ The (extended) output of the last bin/doom command is now logged to
  ~/.emacs.d/.local/doom.log
+ If an error occurs, short backtraces are displayed whether or not you
  have debug mode on. The full backtrace is written to
  ~/.emacs.d/.local/doom.error.log.
+ bin/doom now aborts with a warning if:
  - The script itself or its parent directory is a symlink. It's fine if
    ~/.emacs.d is symlinked though.
  - Running bin/doom as root when your DOOMDIR isn't in /root/.
  - If you're sporting Emacs 26.1 (now handled in the elisp side rather
    than the /bin/sh shebang preamble).
+ If a 'doom sync' was aborted prematurely, you'll be warned that Doom
  was left in an inconsistent state and that you must run `doom sync`
  again.

May address #3746
2020-08-24 23:00:32 -04:00
7e362e8fbd Redesign doom/info
+ Replace "daemonp" and "windowsys" fields with "traits" field, which
  can now indicate the presence of: Chemacs, exec-path-from-shell,
  symlinked EMACSDIR/DOOMDIR, a running server, the daemon and an envvar
  file.
+ Now replaces $USER in absolute paths with literal "$USER".
+ Reordered fields from most to least general (system -> emacs -> doom)
+ Show "&user" next to modules that are private modules (defined in
  ~/.doom.d/modules/)
2020-08-24 22:27:40 -04:00
1884828d22 Add :shadow parameter to package!
For to make replacing built-in packages easier.
2020-08-24 22:27:40 -04:00
801cfd63d4 Don't recenter window after better-jumper jump
On C-o or C-i; this can be more disorienting than helpful.
2020-08-21 15:49:39 -04:00
4e82ee4397 Refactor doom-debug-mode
+ Add explain-pause-mode
+ Now reloads itself if doom-debug-variables is changed or when one of
  its variables becomes available.
+ doom-debug-variables now supports a cons cell entry where its CAR is
  the name of the variable and CDR is the value it should be set to when
  doom-debug-mode is active.
2020-08-21 01:26:24 -04:00
70148bbfc8 Inhibit local-vars hooks when reverting
Possibly addresses #3691
2020-08-21 00:03:01 -04:00
995b45285c core: revise & clarify comments 2020-08-20 03:35:29 -04:00
c74f8170b6 Remove mac-specific packages from core
Now that they're in :os macos
2020-08-20 03:33:35 -04:00
dddfd9a7b1 Fix #3787: only inhibit some hooks for org-src ops
Inhibiting all MAJOR-MODE-hook functions (to fix #3660) would mean
inhibiting some useful functionality, like indentation or syntax
highlighting modes. We only want to inhibit expensive hooks. Since Doom
adds these to MAJOR-MODE-local-vars-hook by convention, we can
selectively inhibit those instead.
2020-08-20 02:30:06 -04:00
f4ec42ae5c Move :tools macos to :os macos 2020-08-20 02:14:32 -04:00
7081d833f6 Move :ui pretty-code to :ui ligatures
Includes a major refactor of the module.
2020-08-20 02:14:32 -04:00
cf2663ab7b Bump *
bbatsov/projectile@bbcf781 -> bbatsov/projectile@46d2010
domtronn/all-the-icons.el@ed8e44d -> domtronn/all-the-icons.el@8c02280
emacsmirror/straight@fc077dd -> emacsmirror/straight@0c7c757
justbur/emacs-which-key@3642c11 -> justbur/emacs-which-key@e48e190
jwiegley/use-package@7d92536 -> jwiegley/use-package@4fb1f9a
purcell/ns-auto-titlebar@1efc30d -> purcell/ns-auto-titlebar@60273e7

+ :app
  - :app calendar
    kidd/org-gcal.el@7445058 -> kidd/org-gcal.el@2cad2d8
  - :app irc
    jorgenschaefer/circe@e5bf5f8 -> jorgenschaefer/circe@89aac22
  - :app rss
    skeeto/elfeed@d0405e6 -> skeeto/elfeed@8fb09ad
  - :app twitter
    abo-abo/avy@509471b -> abo-abo/avy@bbf1e73
+ :completion
  - :completion company
    company-mode/company-mode@5eb7d86 -> company-mode/company-mode@54f60ef
    sebastiencs/company-box@889d723 -> sebastiencs/company-box@20384f0
  - :completion helm
    emacs-helm/helm@5d224cb -> emacs-helm/helm@e9a1e53
    tumashu/posframe@922e4d2 -> tumashu/posframe@7b92a54
  - :completion ivy
    abo-abo/swiper@c6b60d3 -> abo-abo/swiper@9bb6841
    raxod502/prescient.el@b11d79b -> raxod502/prescient.el@cc289ba
    snyball/ivy-posframe@4474956 -> snyball/ivy-posframe@82a63ae
+ :checkers
  - :checkers syntax
    alexmurray/flycheck-posframe@2b3e94c -> alexmurray/flycheck-posframe@c928b5b
+ :editor
  - :editor evil
    emacs-evil/evil@2bc6ca3 -> emacs-evil/evil@1e7aa5b
    emacs-evil/evil-collection@3e62b6b -> emacs-evil/evil-collection@c136589
  - :editor fold
    seregaxvm/vimish-fold@6368523 -> seregaxvm/vimish-fold@9d12e39
  - :editor god
    emacsorphanage/god-mode@1eb6ef3 -> emacsorphanage/god-mode@ad2e674
  - :editor lispy
    abo-abo/lispy@cdaa9c7 -> abo-abo/lispy@0a9dcfd
    noctuid/lispyville@25a7012 -> noctuid/lispyville@0f13f26
  - :editor objed
    clemera/objed@e89d8da -> clemera/objed@dea5a64
  - :editor snippets
    joaotavora/yasnippet@5b1217a -> joaotavora/yasnippet@5cbdbf0
    hlissner/doom-snippets@21b7c8d -> hlissner/doom-snippets@60c57d6
  - :editor word-wrap
    emacs-straight/adaptive-wrap@1810c0e -> emacs-straight/adaptive-wrap@319db64
+ :emacs
  - :emacs dired
    purcell/diredfl@83567d0 -> purcell/diredfl@cd052df
  - :emacs ibuffer
    purcell/ibuffer-projectile@504b0ed -> purcell/ibuffer-projectile@ecbe482
    purcell/ibuffer-vc@1249c1e -> purcell/ibuffer-vc@5fa6aea
  - :emacs undo
    emacs-straight/undo-tree@5b6df03 -> emacs-straight/undo-tree@7523823
    ideasman42/emacs-undo-fu@46de023 -> ideasman42/emacs-undo-fu@c0806c1
  - :emacs vc
    magit/magit@d459e52 -> magit/magit@321214c
    pidu/git-timemachine@391eb61 -> pidu/git-timemachine@8d67575
+ :email
  + :email notmuch
    https://git.notmuchmail.org/git/notmuch@ad9c2e9 -> https://git.notmuchmail.org/git/notmuch@8776faf
    org-mime/org-mime@9f84446 -> org-mime/org-mime@9bb6351
  + :email wanderlust
    wanderlust/semi@57a948c -> wanderlust/semi@10897f0
+ :input
  - :input japanese
    skk-dev/ddskk@fe7f82b -> skk-dev/ddskk@275a831
+ :lang
  - :lang agda
    agda/agda@8eb0d01 -> agda/agda@36738c1
  - :lang cc
    Andersbakken/rtags@080cb0e -> Andersbakken/rtags@b57b360
    MaskRay/emacs-ccls@44f1fb3 -> Sarcasm/irony-mode@5f75fc0
    emacsmirror/cmake-mode@bfe85bc -> emacsmirror/cmake-mode@e58c411
  - :lang common-lisp
    joaotavora/sly@becf7b7 -> joaotavora/sly@155cb06
  - :lang coq
    ProofGeneral/PG@0f0bb2c -> ProofGeneral/PG@03e427a
    cpitclaudel/company-coq@7ec8058 -> cpitclaudel/company-coq@b096cb5
  - :lang dart
    emacs-lsp/lsp-dart@a06fc74 -> emacs-lsp/lsp-dart@437c548
  - :lang elixir
    elixir-editors/emacs-elixir@02a3922 -> elixir-editors/emacs-elixir@01b3324
  - :lang elm
    jcollard/elm-mode@7782be0 -> jcollard/elm-mode@363da4b
  - :lang emacs-lisp
    clojure-emacs/cider@9e117c2 -> clojure-emacs/cider@a89b694
    clojure-emacs/clojure-mode@da9f1ec -> clojure-emacs/clojure-mode@84ed16c
    jorgenschaefer/emacs-buttercup@e71a40f -> jorgenschaefer/emacs-buttercup@0e5eae0
    xuchunyang/elisp-demos@4cd55a3 -> xuchunyang/elisp-demos@8c97481
  - :lang erlang
    erlang/otp@3065fbf -> erlang/otp@d9bc785
  - :lang ess
    emacs-ess/ESS@3c2fb63 -> emacs-ess/ESS@1baf8bf
  - :lang fuel
    factor/factor@497d649 -> factor/factor@3fdb032
  - :lang fsharp
    fsharp/emacs-fsharp-mode@8c86e38 -> fsharp/emacs-fsharp-mode@3e41fe1
  - :lang fstar
    FStarLang/fstar-mode.el@aaaf256 -> FStarLang/fstar-mode.el@bd28cb8
  - :lang haskell
    jyp/dante@7411904 -> jyp/dante@c516bc9
  - :lang hy
    hylang/hy-mode@e2d5fec -> hylang/hy-mode@55e84ca
  - :lang idris
    idris-hackers/idris-mode@acc8835 -> idris-hackers/idris-mode@b77eadd
  - :lang java
    mopemope/meghanada-emacs@e119c7b -> mopemope/meghanada-emacs@1e41f7f
  - :lang javascript
    ananthakumaran/tide@13e7af7 -> ananthakumaran/tide@f0b6dac
    emacs-typescript/typescript.el@0fc7297 -> emacs-typescript/typescript.el@42a60e5
    mooz/js2-mode@5049e54 -> mooz/js2-mode@40aab27
  - :lang julia
    JuliaEditorSupport/julia-emacs@1c122f1 -> JuliaEditorSupport/julia-emacs@b5f5983
    tpapp/julia-repl@5fa04de -> tpapp/julia-repl@d073acb
  - :lang kotlin
    Emacs-Kotlin-Mode-Maintainers/kotlin-mode@ab61099 -> Emacs-Kotlin-Mode-Maintainers/kotlin-mode@8e6dd57
  - :lang latex
    emacs-straight/adaptive-wrap@1810c0e -> emacs-straight/adaptive-wrap@319db64
    emacs-straight/auctex@6abf890 -> emacs-straight/auctex@59e251c
    iyefrat/evil-tex@bb01576 -> iyefrat/evil-tex@06234c9
  - :lang lean
    leanprover/lean-mode@65b55b1 -> leanprover/lean-mode@6b43776
  - :lang ledger
    ledger/ledger-mode@7d78645 -> ledger/ledger-mode@805507f
  - :lang markdown
    Fanael/edit-indirect@935ded3 -> Fanael/edit-indirect@bdc8f54
    jrblevin/markdown-mode@fa9fa20 -> jrblevin/markdown-mode@ef2cb4d
    seagle0128/grip-mode@52768a0 -> seagle0128/grip-mode@281ada2
  - :lang nix
    NixOS/nix-mode@a00b3f7 -> NixOS/nix-mode@0cf1ea1
  - :lang ocaml
    ocaml-ppx/ocamlformat@27a49cc -> ocaml-ppx/ocamlformat@cd0eaa8
    ocaml/dune@66cfb3a -> ocaml/dune@daea74e
  - :lang org
    abo-abo/org-download@768716b -> abo-abo/org-download@67b3c74
    bastibe/org-journal@a6378dc -> bastibe/org-journal@a2728e2
    dzop/emacs-jupyter@785edbb -> dzop/emacs-jupyter@360cae2
    emacs-straight/org-mode@a1e5bee -> emacs-straight/org-mode@220f2b0
    hniksic/emacs-htmlize@86f22f2 -> hniksic/emacs-htmlize@4920510
    integral-dw/org-superstar-mode@1748185 -> integral-dw/org-superstar-mode@94f35c2
    oer/org-re-reveal@c548e23 -> oer/org-re-reveal@7fe39d5
    org-roam/company-org-roam@5d7ccd9 -> org-roam/company-org-roam@1132663
    org-roam/org-roam@0aa0a7c -> org-roam/org-roam@c33867e
  - :lang php
    emacs-php/php-mode@4345dfd -> emacs-php/php-mode@f4c7c69
    jwiegley/emacs-async@86aef2c -> jwiegley/emacs-async@36a1015
  - :lang plantuml
    skuro/plantuml-mode@ea45a13 -> skuro/plantuml-mode@5889166
  - :lang python
    cython/cython@0208bf2 -> cython/cython@fcfd16c
    emacs-lsp/lsp-pyright@3cf2e8f -> emacs-lsp/lsp-pyright@9603dda
    emacs-lsp/lsp-python-ms@7a502e6 -> emacs-lsp/lsp-python-ms@a884a9a
    necaris/conda.el@9d02130 -> necaris/conda.el@9f7eea1
    wbolster/emacs-python-pytest@6a3b4e5 -> wbolster/emacs-python-pytest@fc056fa
  - :lang racket
    greghendershott/racket-mode@29afd25 -> greghendershott/racket-mode@c55fd70
  - :lang rest
    pashky/restclient.el@e8ca809 -> pashky/restclient.el@ac8aad6
  - :lang ruby
    nonsequitur/inf-ruby@f3c927c -> nonsequitur/inf-ruby@9f0f79f
  - :lang rust
    brotzeit/rustic@0ec0688 -> brotzeit/rustic@75b9920
  - :lang scala
    emacs-lsp/lsp-metals@3d4d4b7 -> emacs-lsp/lsp-metals@039aa72
    hvesalai/emacs-sbt-mode@633a315 -> hvesalai/emacs-sbt-mode@4358ed8
    hvesalai/emacs-scala-mode@46bb948 -> hvesalai/emacs-scala-mode@1d08e88
  - :lang scheme
    flatwhatson/flycheck-guile@f37b614 -> flatwhatson/flycheck-guile@2940f16
    jaor/geiser@0c86289 -> jaor/geiser@adc5c4a
  - :lang solidity
    ethereum/emacs-solidity@022b315 -> ethereum/emacs-solidity@d166a86
  - :lang swift
    emacs-lsp/lsp-sourcekit@04d75b6 -> emacs-lsp/lsp-sourcekit@130f7a8
    swift-emacs/swift-mode@2ab9ea1 -> swift-emacs/swift-mode@d266fbd
  - :lang web
    fxbois/web-mode@a2badd0 -> fxbois/web-mode@60ffd87
  - :lang yaml
    yoshiki/yaml-mode@cecf4b1 -> yoshiki/yaml-mode@68fecb5
+ :term
  - :term term
    manateelazycat/multi-term@7307ddd -> manateelazycat/multi-term@017c77c
+ :tools
  - :tools ansible
    yoshiki/yaml-mode@34648f2 -> yoshiki/yaml-mode@68fecb5
  - :tools debugger
    emacs-lsp/dap-mode@85a6163 -> emacs-lsp/dap-mode@4b18543
    realgud/realgud@5b0ed08 -> realgud/realgud@332d136
    tumashu/posframe@6d604a7 -> tumashu/posframe@7b92a54
  - :tools docker
    Silex/docker.el@d6233bd -> Silex/docker.el@3773112
  - :tools editorconfig
    editorconfig/editorconfig-emacs@9a73ff7 -> editorconfig/editorconfig-emacs@9bc1343
  - :tools ein
    millejoh/emacs-ipython-notebook@ccbed30 -> millejoh/emacs-ipython-notebook@99a4718
  - :tools lookup
    jacktasia/dumb-jump@b815731 -> jacktasia/dumb-jump@0d74b2f
  - :tools lsp
    emacs-lsp/helm-lsp@5c960e7 -> emacs-lsp/helm-lsp@4263c96
    emacs-lsp/lsp-mode@edb8119 -> emacs-lsp/lsp-mode@4145a70
    emacs-lsp/lsp-ui@1f3e970 -> emacs-lsp/lsp-ui@c39ae37
    joaotavora/eglot@fb6b17e -> joaotavora/eglot@5f873d2
  - :tools magit
    magit/forge@2c48746 -> magit/forge@feee7e2
    magit/magit@798aff5 -> magit/magit@321214c
  - :tools pass
    zx2c4/password-store@07b169e -> zx2c4/password-store@06f4999
  - :tools rgb
    emacs-straight/rainbow-mode@f780ddb -> emacs-straight/rainbow-mode@fdff98b
+ :ui
  - :ui doom
    hlissner/emacs-doom-themes@8a5538e -> hlissner/emacs-doom-themes@24023de
  - :ui fill-column
    laishulu/hl-fill-column@43cb3c3 -> laishulu/hl-fill-column@5782a91
  - :ui hl-todo
    tarsius/hl-todo@3bba459 -> tarsius/hl-todo@0598b98
  - :ui hydra
    abo-abo/hydra@87873d7 -> abo-abo/hydra@112e689
  - :ui indent-guides
    DarthFennec/highlight-indent-guides@1b12c7b -> DarthFennec/highlight-indent-guides@a4f7714
  - :ui modeline
    seagle0128/doom-modeline@881e099 -> seagle0128/doom-modeline@ffbaaee
  - :ui tabs
    ema2159/centaur-tabs@9114ef4 -> ema2159/centaur-tabs@7e0332b
  - :ui treemacs
    Alexander-Miller/treemacs@644e940 -> Alexander-Miller/treemacs@027e03b
  - :ui window-select
    abo-abo/ace-window@7003c88 -> abo-abo/ace-window@c7cb315
2020-08-19 16:18:11 -04:00
b4431dcd49 Fix #3746 (part 3): use correct PATH separator on Windows
An IS-WINDOWS check would be too naive, because cygwin and git-bash use
: as the path separator, while powershell and cmd.exe use ;
2020-08-19 15:00:25 -04:00
8402f8aecc Fix #3781 (part 2): error reading from stdin
Possibly addresses #3746
2020-08-19 13:57:24 -04:00
9b991fc29f Fix #3781: revert 55b87b3a9 2020-08-19 12:10:14 -04:00
4bc70a8537 ns-right-option-modifier = none
So the right option key can still be used to insert symbols on macOS.
2020-08-18 20:32:34 -04:00
394a18096e Disable comp-deferred-compilation in early-init.el 2020-08-18 20:32:34 -04:00
b2120e21eb bin/doom: fix heredoc delimiter in postscript 2020-08-18 19:02:17 -04:00
9f45561825 bin/doom: inhibit POSIX errors during postscript
Some doom commands will generate a temporary script at
~/.emacs.d/.local/.doom.sh so that it can run an arbitrary shell command
after the current invocation of bin/doom ends. Very useful for, say,
restarting the currently running doom command after a destructive
operation, like updating Doom's source code, tangling your literate
config, or for launching arbitrary programs, like a new instance of
Emacs. This is necessary because elisp lacks an execv implementation.

However, for some folks, .doom.sh wasn't executing at all. This meant:

1. Some `doom upgrade`s would upgrade Doom itself but never move on to
   the second step of the process: updating its packages.
2. Literate config users could tangle their configs on `doom sync`, but
   the actual syncing process would never happen (#3746).
3. `doom run` would do nothing.

I hadn't realized /bin/sh runs bash in POSIX mode (at least, on systems
where /bin/sh = bash, like nixOS or macOS). In POSIX mode the script
will abort the if a builtin command (like export) returns a non-zero
exit code. Since .doom.sh is basically a bunch of exports followed by an
arbitrary command, and there are some environment variables
that can trigger validation errors (like UID triggering a "read-only
variable" error), we have a problem.

Hopefully addresses #3746
2020-08-18 18:59:50 -04:00
f3740d4766 Fix private package declaration order issues
The user's private packages.el is read first, to ensure disabled
packages are recorded as soon as possible, however, this means private
packages are recorded early into `doom-packages`, and so are built
first (and thus, before org-mode, which is later registered by the
lang/org module).

This compilation order can cause lots of issues with org packages
loading the older, built-in version of org included with Emacs, instead
of the newer org-mode.

May address #3172
2020-08-18 17:23:28 -04:00
58af4aef56 Fix #3772 (again): void-variable comp-eln-load-path 2020-08-18 02:51:53 -04:00
3d622101cb Fix #3772: void-variable doom-reloading-p
This wasn't necessary in the first place. doom/reload doesn't re-read
Doom's core.
2020-08-18 02:44:03 -04:00