Commit Graph

7777 Commits

Author SHA1 Message Date
270b381ce0 lang/ruby: fix reference to +python-version-cache 2018-10-01 12:28:58 -04:00
868a0ab9b9 emacs/eshell: fix wrong-type-arg: stringp errors
Fix old usage of projectile API.
2018-10-01 12:06:08 -04:00
e85aaabed9 Rewrite bin/doom quickstart
Now creates a packages.el file as well, with some commented examples,
and includes comment headers for config.el and packages.el.
2018-09-30 22:49:23 -04:00
aaa21698e9 ui/pretty-code: don't error on non-existent symbol
Users may want to customize the symbol list entirely, rather than modify
in place.
2018-09-30 16:19:17 -04:00
05160a6526 lang/org: default org-agenda-files to org-directory 2018-09-30 15:14:01 -04:00
2637544022 bin/doom: refactor no-args error message
Dumping usage to stdout just drowns out the problem: they forgot a
command!
2018-09-30 00:55:39 -04:00
6c5512896a ui/doom-modeline: fix stringp errors
Caused by old uses of doom-project-root. See 53fe7a1 for details.
2018-09-29 21:58:09 -04:00
fd19698927 doom|hack-local-variables => MODE-local-vars-hook
Uses a less destructive method (the same that Spacemacs uses) than the
one introduced in 13cee68, by introducing MODE-local-vars-hook hooks,
which run after local vars have been initialized.

The old method was to call `hack-local-variables` *before* mode hooks
run, however, this causes variables set by modes to have higher
precedence than local vars, which is unacceptable.

Also moved intero-mode & dante-mode to haskell-mode-local-vars-hook
2018-09-29 15:01:35 -04:00
b674aef31b tools/editorconfig: add binary check to doctor.el 2018-09-28 23:52:22 -04:00
e7fc1d3290 Fix wrong-type-arg: stringp, nocache errors
Fix old usage of doom-project-name and doom-project-root.
2018-09-28 23:49:18 -04:00
cae5009925 cl-remove-if -> cl-delete-if
Minor optimization for doom-load-packages-incrementally (cl-delete-if
deletes in-place).
2018-09-28 22:50:39 -04:00
f994fb07bf bin/doom: make invalid command a user-error
It shouldn't invoke error handlers.
2018-09-28 22:29:42 -04:00
a91df46aa8 bin/doom: revert debug-on-error = t
It's too destructive. Will sometimes crash the script with no error
output.
2018-09-28 21:59:06 -04:00
2908112dc4 Update doom-project-root test 2018-09-28 21:25:32 -04:00
ad3024ae9d Merge pull request #916 from seanfarley/smf/minor-fixes
magit: only implement leader key logic when doom-leader-key is non-nil
2018-09-28 21:16:17 -04:00
ccb04c43da ui/popup: refactor default rules
The vslots don't have to be so far from 0. Also makes compilation popups
bigger.
2018-09-28 21:13:52 -04:00
d9fb1c5ca6 ui/modeline: add support for indirect buffers
Indirect buffer support is still dodgy and needs work (some segments
don't update at all).
2018-09-28 21:13:28 -04:00
13cee6870e hack-local-variables before mode hooks
The default behavior is to read file+directory-local variables after the
major mode and its hooks have run. I think this is backwards. What if we
want to use these local variables to customize the things running in
hooks?

This does mean hack-local-variables will run at least twice when the
mode changes, but this is an acceptable compromise.
2018-09-28 21:13:28 -04:00
05d759fa8b doom/window-{enlargen,zoom}: assoc -> assq
A minor optimization. assq is significantly faster than assoc (not that
it matters for this incredibly insignificant use-case, but yay for
premature optimization!)
2018-09-28 21:13:28 -04:00
461fc8e312 Refactor doom-big-font-mode
Complain if doom-font or doom-big-font aren't set.
2018-09-28 21:13:27 -04:00
6da307d30e Refactor font initialization
+ Add doom-serif-font variable
+ Update docstrings of all doom-*font variables to mention that they all
  support font-specs, font objects, XFT strings and XLFD strings.
+ Set doom-font if the user hasn't, ensuring that other functions know
  what the current, default font is set to (fixes doom-big-font-mode not
  switching back to normal when disabled).
2018-09-28 21:13:27 -04:00
1785adb068 projectile-require-project-root = t
Now that projectile-project-root has changed not throw errors (depending
on projectile-require-project-root), it is safe to change this, in case
you use other projectile commands that do require a project.
2018-09-28 21:13:27 -04:00
53fe7a1f04 Refactor Project API to reflect changes upstream
projectile-project-root no longer returns `default-directory` if not in
a project (it returns nil). As such, doom-project-* functions (and their
uses) have been refactored.

+ doom-project-p & doom-project-root are aliases for
  projectile-project-p & projectile-project-root.
+ doom-project-{p,root,name,expand} now has a DIR argument (for
  consistency, since projectile-project-name and
  projectile-project-expand do not).
+ The nocache parameter is no longer necessary, as projectile's caching
  behavior is now more sane.
+ Removed some projectile advice/hacks that are no longer necessary.
+ Updated unit tests
2018-09-28 21:13:27 -04:00
3961ba1662 Fix command-log-mode not disabling on toggle
clm/toggle-command-log-buffer enables global-command-log-mode, but
doesn't disable it on second invocation, so we use
global-command-log-mode instead.
2018-09-28 21:13:27 -04:00
ddaf1e5b67 Fix wrong-type-arg error on menu-bar-open
Due to malformed menu-bar-lines frame property. Same for tool-bar-lines
as well.
2018-09-28 21:13:27 -04:00
b43888901f lang/cc: add rotate patterns for c++-mode
These can be used by pressing ! in normal mode, over rotatable regions
of text.
2018-09-28 21:13:27 -04:00
523c2a114b lang/web (tests): Remove empty before-each block 2018-09-28 21:13:27 -04:00
15991b5639 Refactor quiet! to be less destructive
It's possible for the debugger to be invoked from inside code wrapped in
a (quiet! ...) call. The debugger pauses Emacs in a broken state where
the functions locally rebound by quiet! (e.g. message, load-file,
write-region, etc) are never returned to their original definitions.

This attempts to reduce that probabilityby changing how quiet! silences
code. Rather than silencing them completely, they will be logged
to *Messages* but not displayed in the echo area.

Also, quiet! is now used less, where it isn't strictly needed (or where
inhibit-message is sufficient).
2018-09-28 21:13:27 -04:00
8a8b5c6089 Refactor bin/doom & doom-dispatch
Done to make bin/doom produce better debugger output (and more readily).
A lot of bin/doom errors aren't recurring, so it's better to produce the
full error report ASAP.
2018-09-28 21:13:27 -04:00
4ea4754162 Add commands for using bin/doom from inside Emacs
This is experimental. I'd eventually like users to be able to management
Doom from inside Emacs, if they desire. This may be the only way to have
a decent user experience on Windows, for that matter.

Also adds a popup rule for it.
2018-09-28 21:13:27 -04:00
078e3028a6 Minor, general comment revision 2018-09-28 21:02:59 -04:00
8efc5828ea magit: only implement leader key logic when doom-leader-key is non-nil 2018-09-28 16:58:26 -07:00
29ad900c1f lang/css: refactor +css/toggle-inline-or-block
Replaces instances of replace-regexp (interactive-only functions),
removing the need for with-no-warnings and quiet!.

Improves regexp responsible for compacting whitespace in between
properties, which reduces compaction of whitespace in string arguments.
2018-09-27 22:44:07 -04:00
4bdd6002a4 Restore projectile-project-root's old behavior
For now...
2018-09-27 21:55:19 -04:00
d5f8ecdfce ui/treemacs: fix leader key in treemacs
This is an ugly hack and I should be ashamed.

Shame.

Shame.

Shame.

But alas, it shall do until general.el is in.

Fixes #860
2018-09-27 18:16:21 -04:00
01dde97776 lang/org: tweak org-todo-keywords{,-faces} 2018-09-26 20:44:54 -04:00
c7032cf8b0 lang/web: fully remove nil autopair group
This removes the nil autopair group, rather than just setting it to nil.
No functional different, it's [slightly] more performant.
2018-09-26 20:38:47 -04:00
431ea613b0 lang/python: set PIPENV_MAX_DEPTH in eval handler
Instead of changing the cwd, which chould have other reprecussions for
the code about to be executed.
2018-09-26 20:38:02 -04:00
da55ee2af2 lang/python: fix pipenv support for +python/repl 2018-09-26 20:37:35 -04:00
4a9a2c00d9 Remove smex-completion-read reference
Doom no longer uses smex.
2018-09-26 12:29:55 -04:00
68699c3d5b lang/python: make repl/eval handlers respect pipenv 2018-09-26 12:28:32 -04:00
fcd1e913c5 tools/magit: update vc on +magit/quit
Instead of magit-post-refresh-hook, which fires much more frequently.
Updating vc across all buffers is expensive, so let's only do it when we
quit magit.

Warning: this may make quitting magit expensive when you have many
buffers open. Still searching for a better solution.
2018-09-26 12:10:00 -04:00
d9a179d071 feature/evil: refactor neotree-make-executor fix
The autoload is necessary in case neotree was installed in another
session.
2018-09-26 10:46:43 -04:00
eb9fa90adf editor/parinfer: fix void-function evil-define-key errors
Parinfer uses `evil-define-key' without loading evil. This means that if
evil is installed *after* parinfer, parinfer will throw up void-function
errors, because evil-define-key (a macro) wasn't expanded at
compile-time.

So we make extra sure evil is installed before parinfer (or at least,
make sure evil-define-key is autoloaded at install time, in case evil
was installed in another session).
2018-09-26 10:45:05 -04:00
4e0a4e1b51 lang/{ruby,python}: Fix advice arguments errors 2018-09-26 09:57:10 -04:00
784dcf45f6 Merge pull request #911 from UndeadKernel/fix-pdf-modeline
tools/pdf: recognize modeline and doom-modeline
2018-09-26 09:23:34 -04:00
239c183b70 tools/pdf: recognize modeline and doom-modeline 2018-09-26 12:55:22 +02:00
9afc61e57e Refactor & optimize doom! + module API 2018-09-25 23:52:20 -04:00
aa930256b8 Update doom/reload-project for changes upstream
In projectile.
2018-09-25 23:36:54 -04:00
2a84836c11 +emacs-lisp-eval: emit backtrace on error
Running +eval/region (gr) and +eval/buffer (gR) will use
+emacs-lisp-eval (in emacs-lisp-mode buffers). This change will force it
to emit a backtrace in case of an error.
2018-09-25 23:26:08 -04:00