1005 lines
55 KiB
Org Mode
1005 lines
55 KiB
Org Mode
#+TITLE: Changelog
|
|
|
|
- [[#unreleased-develop][Unreleased (develop)]]
|
|
- [[#208-dec-09-2017][2.0.8 (Dec 09, 2017)]]
|
|
- [[#207-nov-08-2017][2.0.7 (Nov 08, 2017)]]
|
|
- [[#206-oct-05-2017][2.0.6 (Oct 05, 2017)]]
|
|
- [[#205-sep-03-2017][2.0.5 (Sep 03, 2017)]]
|
|
- [[#204-jul-14-2017][2.0.4 (Jul 14, 2017)]]
|
|
- [[#203-jun-11-2017][2.0.3 (Jun 11, 2017)]]
|
|
- [[#202-may-13-2017][2.0.2 (May 13, 2017)]]
|
|
- [[#201-apr-8-2017][2.0.1 (Apr 8, 2017)]]
|
|
- [[#200-jan-17-2017][2.0.0 (Jan 17, 2017)]]
|
|
|
|
* Unreleased (develop)
|
|
+ *Module changes:*
|
|
+ Add =private/default= to replace =private/hlissner=, which is a more generic
|
|
"starter" module for new users. My private module is now at
|
|
[[https://github.com/hlissner/doom-emacs-private][hlissner/doom-emacs-private]].
|
|
+ =general=
|
|
+ Fix "peculiar error" messages when running =bin/doom-doctor=, caused by
|
|
poorly thought out error handling (see [[https://github.com/hlissner/doom-emacs/issues/175][#175]]).
|
|
+ Fix ~doom/am-i-secure~ command.
|
|
+ Add unicode symbols to package management commands. Looks a little nicer <3.
|
|
+ Transform =recentf= entries into their absolute paths with symlinks resolved
|
|
(using ~file-truename~).
|
|
+ Local data and cache files are no longer host-namespaced. Originally, this
|
|
was meant to facilitate using the same config files (symlinked) across
|
|
different computers (e.g. via dropbox). Byte-compiled packages on one
|
|
computer would cause errors on another, so I abandoned this practice, making
|
|
~doom-host-dir~ unnecessary.
|
|
+ Fix an issue during live byte-compilation (with auto-compile-on-save-mode)
|
|
where ~gc-cons-threshold~ would get set to 304mb in the user's active
|
|
session, causing freezes and stuttering.
|
|
+ Improve error handling when byte compiling Doom. It now cleans up after
|
|
itself if something goes wrong, with improved error handling overall.
|
|
+ Fix =stringp= error thrown by ~doom-fetch~ in noninteractive sessions.
|
|
+ =core= Improve GPG integration by setting ~epa-file-encrypt-to~ to
|
|
~user-mail-address~, and ~epa-pinentry-mode~ to ~'loopback~ (so that Emacs
|
|
will prompt you for the passphrase in the minibuffer).
|
|
+ =core-packages= Fix ~doom-module-pairs~ returning pairs in arbitrary order,
|
|
causing load order errors. This is because the ~hash-table-values~ function
|
|
in Emacs 25 and under uses ~maphash~, which reverses the hash-table, while
|
|
newer versions use ~cl-loop~, which doesn't.
|
|
+ =core-packages= Fix ~doom//*~ not running from the correct
|
|
default-directory, causing errors.
|
|
+ =core-ui= Fix cryptic missing-font errors (also, they are warnings now).
|
|
+ =core-ui= Account for Emacs 26 line numbers when calculating
|
|
~visual-fill-column-width~.
|
|
+ =core-editor= the =KILL= argument for ~quit-window &optional KILL WINDOW~
|
|
has been flipped and now kills the window's buffer by default.
|
|
+ =core-projects= Add ~doom-project-find-file~ and ~doom-project-browse~ for
|
|
interactively fuzzy-finding and opening files in a directory/project.
|
|
+ Add ~doom/info~ command for collecting information about your system and
|
|
session and puts it in the clipboard. This is to make it easier for those
|
|
reporting bugs to easily include it.
|
|
+ Fix ibuffer windows not being handed off to popup system (see [[https://github.com/hlissner/doom-emacs/issues/309][#309]]).
|
|
+ =feature=
|
|
+ =file-templates=
|
|
+ Add a file template for fish shell scripts (thanks to [[https://github.com/amosbird][amosbird]]).
|
|
+ Fix some file templates not being inserted, like module README.org files.
|
|
+ =version-control= When evil-mode is available, start git commit message
|
|
buffers in insert mode (see [[https://github.com/hlissner/doom-emacs/issues/300][#300]]).
|
|
+ =jump= Always prompt for provider when no major-mode specific online jumper
|
|
is defined (for ~+jump/online~ and ~+jump/documentation~).
|
|
+ =ui=
|
|
+ =doom-dashboard=
|
|
+ Fix ~whitespace-mode~ and ~show-trailing-whitespace~ turning the dashboard
|
|
into a Christmas tree.
|
|
+ Add the ~+doom-dashboard-pwd-policy~ option, giving you control over how
|
|
~default-directory~ is set in the dashboard. By default this is set to
|
|
~'last-project~, meaning the dashboard's cwd will match the project of the
|
|
last buffer you killed.
|
|
+ =completion=
|
|
+ =ivy= Fix TAB only half-triggering auto-completion (see [[https://github.com/hlissner/doom-emacs/issues/303][#303]]).
|
|
+ =lang=
|
|
+ =cc=
|
|
+ Add =rtags= support for better code navigation. This replaces gxtag and
|
|
etag support. Also includes automatic management of the rdm daemon.
|
|
+ Improved support for JSON compilation databases. Irony-mode (and by
|
|
extension its flycheck and company plugins will now pick them up with more
|
|
consistency). This ensures all these tools run with the same compile
|
|
options as your project.
|
|
+ New ~+cc/reload-compile-db~ commands forcibly refreshes the compilation db
|
|
of your current project, updating irony and running rtags daemon, if any.
|
|
+ The ~+cc-include-paths~ and ~+cc-compiler-options~ options have been
|
|
renamed to ~+cc-default-include-paths~ and ~+cc-default-compiler-options~
|
|
for clarity.
|
|
+ Fix irony-mode complaining when it is enabled in non-C major-modes.
|
|
+ =org=
|
|
+ Change repo source for org-plus-contrib to emacsmirror.
|
|
+ Fix ~+org-dir~ being resolved too soon, robbing the user of the
|
|
opportunity to change it in their private module.
|
|
+ Fix ~invalid file location~ error when capturing to a TODO template.
|
|
+ Prevent =org-plus-contrib= from being installed on Emacs 26+, as 9.1.4 is
|
|
included with it.
|
|
+ Fix invalid function errors when drag'n'dropping files into org buffers
|
|
(see [[https://github.com/hlissner/doom-emacs/issues/307][#307]]).
|
|
+ =java= Fix Doom install meghanada server while byte compiling your Emacs
|
|
configuration.
|
|
|
|
* 2.0.8 (Dec 09, 2017)
|
|
+ *Module changes:*
|
|
+ New module: =lang/nix=, adds support for editing nix configuration files.
|
|
Contributed by [[https://github.com/ocharles][ocharles]].
|
|
+ The =org/*= modules have been moved to =lang/org= and sub-modules therein.
|
|
With the introduction of module flags in 2.0.5, it was unnecessary that
|
|
org-mode had its own category.
|
|
+ Any module can now have an =init.el=, which will be loaded before any other
|
|
modules are loaded.
|
|
+ =general=
|
|
+ Removed all core def-setting! definitions, because ~set!~ was intended for
|
|
cross-module configuration, where modules may or may not be enabled. This
|
|
consideration is unnecessary for Doom core configuration. The following
|
|
settings have been removed: ~:editorconfig~, ~:theme~, ~:font~,
|
|
~:variable-font~, ~:unicode-font~, ~:big-font~.
|
|
+ Address various byte-compiler warnings that crop up in Emacs 26+, including
|
|
obsolete (if|when)-let macro warnings.
|
|
+ Fix byte-compiler complaining that packages couldn't be found when that
|
|
package is unwanted (e.g. conditionally installed or disabled packages).
|
|
+ =private/{user-login-name}= is no longer a "magic" module that is
|
|
automatically loaded.
|
|
+ =core-packages= *BREAKING* Packages are no longer deferred by default. i.e.
|
|
~use-package-always-defer~ is now nil, as per the default.
|
|
+ =core-popup= Fix window-live-p error when using ~doom/other-popup~ (or its
|
|
alias, ~other-popup~).
|
|
+ =core-ui= Fix hl-line highlighting the rest of the window past end-of-file
|
|
in Emacs 26+. This is caused by a strange dynamic between hl-line and the
|
|
new line numbers feature.
|
|
+ =feature=
|
|
+ =version-control= Fix an issue with shackle not managing magit's popups
|
|
properly. This could cause the pointer to end up in the wrong places (e.g.
|
|
when you try to commit; the commit message and diff buffers pop up and the
|
|
pointer gets stuck in the diff window) (see [[https://github.com/hlissner/doom-emacs/issues/282][#282]]).
|
|
+ =completion=
|
|
+ =helm= Implement ~:agcwd~, ~:rg~, and ~:rgcwd~ commands for searching with
|
|
helm.
|
|
+ =ivy=
|
|
+ Add C-SPC binding for "previewing" the selected candidate. Useful for
|
|
previewing files in ~counsel-find-file~ or ~counsel-projectile-find-file~.
|
|
This keybinding is defined in =private/hlissner/+bindings.el=.
|
|
+ Disable "very magic" regular expressions in ivy. Specifically, parentheses
|
|
are now literal, and must be escaped to make them special. This is
|
|
consistent with evil-search regex.
|
|
+ Fix a bug where ~:rgcwd~ wasn't showing any results, due to an incorrect
|
|
option argument in the ripgrep command string.
|
|
+ =ui=
|
|
+ =doom-modeline= Remove the let-binds for ~all-the-icons-scale-factor~, so
|
|
that users can customize it themselves (see [[https://github.com/hlissner/doom-emacs/issues/278][#278]]).
|
|
+ =tools=
|
|
+ =password-store= Fix compatibility with Emacs 26.
|
|
+ =lang=
|
|
+ =clojure=
|
|
+ This module has been rewritten with improved Cider and clojurescript
|
|
support, as well as new refactoring commands. Thanks to [[https://github.com/teesloane][teesloane]]!
|
|
+ =crystal=
|
|
+ Add flycheck integration for the Crystal language, powered by
|
|
~flycheck-crystal~.
|
|
+ Use the ELPA source for ~crystal-mode~. The former QUELPA source
|
|
(dotmilk's fork) is no longer maintained.
|
|
+ =org=
|
|
+ Fix scenario where built-in (and incorrect) version of org-mode (8.x) was loaded
|
|
instead of 9.0+.
|
|
+ This module is incredibly opinionated. More opinionated than I'd like, but
|
|
org-mode is an ongoing effort. To address this, =lang/org= has been
|
|
reorganized. Variables are now set with ~defvar~ instead of ~setq~, which
|
|
makes them more accessible for configuring from private modules.
|
|
+ Use the ELPA source for ~ob-rust~. The former QUELPA source (zweifisch's
|
|
fork) is no longer maintained.
|
|
+ Fix an over-aggressive smartparens config for org-mode that would cause
|
|
certain markers and delimiters (like spaces or square brackets) being
|
|
repeated in places you didn't want them to be, like inside a checkbox.
|
|
|
|
* 2.0.7 (Nov 08, 2017)
|
|
+ *Module changes:*
|
|
+ *BREAKING* Split =lang/java= into two submodules: one for eclim, and another for
|
|
meghanada. You will need to update your =init.el= to enable one.
|
|
submodule is experimental, since I have few opportunities to test it.
|
|
+ *BREAKING* Ace-window is no longer part of Doom core. It has been moved to
|
|
=ui/window-select=, which offers two submodules for interactive window
|
|
selection/moving: ace-window and switch-window.
|
|
+ =general=
|
|
+ New command naming convention: ~doom//...~ -- denotes that this an
|
|
interactive command meant for:
|
|
+ Altering or maintaining your Emacs configuration itself.
|
|
+ And can be safely called through a batch session on the command line. E.g.
|
|
~emacs --batch -f doom//some-command~.
|
|
+ New macro for defining fuzzy-find menus (powered by whatever completion
|
|
engine you have active): ~def-menu!~.
|
|
+ Autoload files can now specify a predicate cookie to tell the
|
|
compiler/autoload reader whether or not to ignore that file. They look like
|
|
~;;;###if (featurep! :feature evil)~.
|
|
+ =core-keybinds= Add :g flag to ~map!~ for defining global keybinds along
|
|
with vim keybinds, so you don't have to repeat yourself, just for a global
|
|
binding.
|
|
+ =core-packages= Fix an issue where Doom's package management system wouldn't
|
|
know what to do with a package that was initially installed with one backend
|
|
(e.g. ELPA), and whose ~package!~ definition was later changed so that it
|
|
should be handled by another (e.g. QUELPA). This would cause "FAILED" error
|
|
messages while trying to install or update these packages (see [[https://github.com/hlissner/doom-emacs/issues/222][#222]]).
|
|
+ =feature=
|
|
+ =file-templates= Disable file templates for .dir-locals.el files.
|
|
+ =jump= New command ~+jump/online-select~, which is like ~+jump/online~, but
|
|
will always prompt for which provider to use.
|
|
+ =ui=
|
|
+ =doom= This module no longer sets a default font. This is left to the user
|
|
to set in their own private module. Use ~(set! :font "Font Name" :size N)~
|
|
to do so.
|
|
+ =lang=
|
|
+ =sh=
|
|
+ Improve how variables and subshells in double-quoted strings are
|
|
fontified.
|
|
+ Fix imenu not recognizing functions with dashes in their names.
|
|
+ =java=
|
|
+ Polished meghanada-mode integration.
|
|
+ New (and optional) +eclim submodule and module flag.
|
|
+ =rust=
|
|
+ Now checks the ~RUST_SRC_PATH~ environment variable before looking for
|
|
Rust's source in ~+rust-src-dir~.
|
|
+ Now looks for a ~racer~ binary in ~PATH~ before looking in
|
|
~+rust-src-dir~.
|
|
|
|
* 2.0.6 (Oct 05, 2017)
|
|
+ *Module changes:*
|
|
+ Add =lang/ledger=
|
|
+ Add =ui/vi-tilde-fringe= -- used to be in =core-ui=; indicates beyond-EOB,
|
|
using tildes in the fringe (inspired by vim).
|
|
+ Add =feature/services= -- used to be =tools/prodigy=. Adds a way of managing
|
|
external processes and services.
|
|
+ Add =tools/make= -- for running project Makefile commands from Emacs.
|
|
+ Add =tools/imenu= -- adds a sidebar for imenu (~imenu-list~), and a way of
|
|
jumping to imenu entries across all open buffers (~imenu-anywhere~).
|
|
+ Move =feature/hydra= into =core-keybinds=.
|
|
+ Rename =feature/debug= to =feature/debugger= (and disabled it by default; it
|
|
is currently unstable and needs some work).
|
|
+ Remove =org/org-notebook=. It was unused and too small to warrant its own
|
|
module. Useful tidbits were merged into =org/org=.
|
|
+ =general=
|
|
+ =Makefile=
|
|
+ Fix ~make update~ to work even if Doom is installed somewhere other than
|
|
~\~/.emacs.d~ (see [[https://github.com/hlissner/doom-emacs/issues/190][#190]]).
|
|
+ Removed colons from makefile task target names (like =compile:core=);
|
|
replaced them with dashses, e.g. =compile-core=. Colons broke compatibility
|
|
with certain versions of make.
|
|
+ =autoload=
|
|
+ New library: =menu.el= -- allows context-sensitive and customizable
|
|
fuzzy-searchable menus; this was written to replace long lists of
|
|
major-mode-local key bindings, like refactoring and code building
|
|
commands. This replaces =feature/eval='s build task system.
|
|
+ =editor.el= Fix old scratch buffer commands and renamed them:
|
|
~doom/open-scratch-buffer~ and ~doom/open-project-scratch-buffer~. The
|
|
former opens a temporary, transient scratch buffer, the latter opens a
|
|
permanent one tied to the current project, kept in
|
|
~doom-scratch-files-dir~.
|
|
+ =window.el= Changed ~doom-resize-window~ to accept two more arguments,
|
|
=WINDOW= and =FORCE-P=: ~doom-resize-window WINDOW NEW-SIZE &optional
|
|
HORIZONTAL FORCE-P~. If =FORCE-P= is non-nil, this function will resize a
|
|
window regardless of ~window-size-fixed~.
|
|
+ =core-keybinds= Add new =def-hydra!= alias macro for ~defhydra~ (for
|
|
consistency, and in case we want to wrap it later).
|
|
+ =core-projects= Redesign ~def-project-mode!~ for efficiency, and:
|
|
+ The =:init FORM= property is now =:on-load FORM=.
|
|
+ Three new properties: =:on-enter FORM=, =:on-exit FORM= and =:add-hooks
|
|
LIST=.
|
|
+ =core-popups=
|
|
+ Added two new popup properties:
|
|
+ ~:static~ If non-nil, treat this popup like a permanent window, making
|
|
it impervious to automatic closing and being tracked in popup history.
|
|
This is excellent for semi-permanent popups, like sidebars (think
|
|
Neotree or imenu-list).
|
|
+ ~:autofit~ If non-nil, this popup will resize to fit its buffer
|
|
contents. This only works with popups where the buffer content is
|
|
immediately available, and not for, say, buffers tied to async
|
|
processes.
|
|
+ ~doom-popup-buffer~ and ~doom-popup-file~ no longer take a variadic
|
|
argument. Their signature is now ~doom-popup-buffer buffer plist &optional
|
|
extend-p~ and ~doom-popup-file file plist &optional extend-p~, where
|
|
=EXTEND-P= will cause =PLIST= to extend from the base rule for that
|
|
buffer.
|
|
+ Rename ~doom-popup-prop~ to ~doom-popup-property~.
|
|
+ Add support for moving popup windows. See the ~doom/popup-move-*~
|
|
commands. There are used by ~+evil/window-move-*~, which provides
|
|
universal support for moving windows.
|
|
+ Add command: ~doom/popup-raise~, for promoting a popup into a regular
|
|
window.
|
|
+ Add helper macro: ~save-popup! BODY~ -- hides the popups before running
|
|
BODY.
|
|
+ Fix ~doom/popup-toggle~ and ~save-popups!~ killing popups with an
|
|
=:autokill= property.
|
|
+ =feature=
|
|
+ =hydra= Display a separator on the bottom of hydra windows for contrast.
|
|
+ =eval= Build-task management has been removed from =feature/eval= in favor
|
|
of ~def-menu!~.
|
|
+ =ui=
|
|
+ =doom-dashboard=
|
|
+ Fix /horizontal/ centering discrepancies caused by multiple visible
|
|
dashboards in windows/frames with different sizes (see [[https://github.com/hlissner/doom-emacs/issues/192][#192]]). Still
|
|
doesn't address vertical centering.
|
|
+ Fix dashboard's default-directory not changing to the last open project
|
|
when switched to.
|
|
+ =doom-modeline= Add a new style to ~+doom-modeline-buffer-file-name-style~:
|
|
~relative-from-project~, which displays on the buffer's path relative to
|
|
(and including) the project.
|
|
+ =hl-todo= Add face-based detection for commented regions, so hl-todo can
|
|
work in modes with no/poor syntax-table support.
|
|
+ =tools=
|
|
+ =neotree=
|
|
+ Fix neotree shrinking by 1 when vertical splits were closed.
|
|
+ Fix Neotree popup rule not taking ~neo-window-width~ and
|
|
~neo-window-position~ into account.
|
|
+ =term= Renamed commands for consistency (to ~+term/open~, ~+term/open-popup~
|
|
and ~+term/open-popup-in-project~).
|
|
+ =eshell= Renamed commands for consistency (to ~+eshell/open~,
|
|
~+eshell/open-popup~ and ~+eshell/open-workspace~).
|
|
+ =lang=
|
|
+ =ruby= Add rake support. See the ~rake~ command.
|
|
+ =web= Only install company-web if =:completion company= is enabled.
|
|
+ =javascript=
|
|
+ Add eslint_d and eslint_d-fix detection and support.
|
|
+ =./node_modules/.bin= is now added to ~exec-path~ in NPM project buffers.
|
|
+ =haskell= There is no longer a 'default' implementation for Haskell. The
|
|
=+intero= and/or =+dante= module flags must be specified in init.el.
|
|
+ =java= Meghanada is no longer the 'default' implementation for Java. The
|
|
=+meghanada= and/or =+eclim= module flags must be specified in init.el.
|
|
+ =org=
|
|
+ If a table is under point when ~+org/toggle-fold~ is invoked, the table is
|
|
realigned.
|
|
+ Fix the incorrect version of org being loaded (site, instead of ELPA) by
|
|
pushing it up further in the ~load-path~.
|
|
+ Fix ~+org/insert-item~ not jumping over sublists to append a new list item.
|
|
|
|
* 2.0.5 (Sep 03, 2017)
|
|
+ =doom=
|
|
+ Added new module: ~tools/rgb~, with tools for dealing with colors (thanks to
|
|
[[https://github.com/bandresen][bandresen]])
|
|
+ Added new module: ~tools/prodigy~, with tools for managing external services
|
|
(thanks to [[https://github.com/bandresen][bandresen]])
|
|
+ Added new module: ~feature/hydra~, offers an extra and customizable layer of
|
|
modal keybinds (thanks to [[https://github.com/bandresen][bandresen]])
|
|
+ Added two new core-lib helpers for macros: ~doom-enlist~ and ~doom-unquote~.
|
|
+ Switch to ~doom-fallback-buffer~ after using ~doom/kill-all-buffers~ (or
|
|
~:killall!~).
|
|
+ ~make doctor~ now does font detection and will complain when fonts are
|
|
missing.
|
|
+ When switching to a new project, a new workspace is spawned and a fuzzy
|
|
find-file prompt is opened. However, a buffer from the previous workspace
|
|
would linger on screen *and* the scratch buffer would CD to HOME, rather
|
|
than the project root. This is fixed now.
|
|
+ Added module flags to the ~doom!~ macro in init.el, and modified the
|
|
~featurep!~ macro so that it can be used to detect these flags from within
|
|
modules. It is up to modules how to interpret them. More information in
|
|
[[https://github.com/hlissner/.emacs.d/commit/0b7b8800a2478588bde408c92fcdfa0e43a5baf0][0b7b880]].
|
|
+ Fix projectile-find-file not respecting ~default-directory~ (caused by
|
|
changes upstream).
|
|
+ Rewrote, revised and expanded module documentation, and created a [[https://github.com/hlissner/.emacs.d/wiki][wiki]] with
|
|
more information.
|
|
+ Removed the =:L= flag from =map!= and replaced it with a =:local= property.
|
|
+ Added new function: ~doom|disable-vi-tilde-fringe~ for turning off
|
|
vi-tilde-fringe in select buffers.
|
|
+ Added support for relative line numbers (see ~doom-line-numbers-style~),
|
|
using nlinum-relative on Emacs <26, and display-line-numbers on Emacs 26+.
|
|
+ =feature=
|
|
+ =file-templates= Added a file template for:
|
|
+ *.org files
|
|
+ Module README.org files.
|
|
+ =jump=
|
|
+ Added documentation for ~:jump~ setting, describing the three properties
|
|
it supports (~:definition~, ~:references~ and ~:documentation~).
|
|
+ Rewrote ~+jump/online~ to:
|
|
+ Use the current selection, if active, or prompt for a query otherwise
|
|
(with the thing at point as the initial input).
|
|
+ Prompts for the provider (search engine) on first use, and reuses the
|
|
last provider on consecutive uses. If the universal argument is
|
|
supplied, force ~+jump/online~ to prompt for the provider anyway.
|
|
+ =workspaces= Fix interactive renaming of workspaces, as well as the ability
|
|
to save and load workspaces from files (see [[https://github.com/hlissner/doom-emacs/pull/200][#200]]).
|
|
+ =completion=
|
|
+ Added all-the-icons support to ~ivy-switch-buffer~ and
|
|
~+ivy/switch-workspace-buffer~. Enable this with ~(setq +ivy-buffer-icons
|
|
t)~.
|
|
+ =ui=
|
|
+ rainbow-mode is no longer activated on ~prog-mode-hook~.
|
|
+ =doom-modeline=
|
|
+ Modeline now uses shrink-path.el to shrink the buffer name in the case of
|
|
a small frame (thanks to [[https://github.com/bandresen][bandresen]]). [[https://github.com/hlissner/.emacs.d/pull/176][See #176]]
|
|
+ Fixed mode-line going blank in terminal Emacs (thanks to [[https://github.com/bandresen][bandresen]]).
|
|
+ =doom-dashboard= Fixed "Load last session" button on dashboard.
|
|
+ =tools=
|
|
+ =eshell= General improvements made to further integrate eshell with Doom
|
|
(thanks to [[https://github.com/bandresen][bandresen]]). [[https://github.com/hlissner/.emacs.d/pull/160][See #160]]
|
|
+ =pass= ~+pass-get-field~ now no-ops if used in a non-interactive session
|
|
(e.g. during testing or byte compilation).
|
|
+ =neotree= Add =r= and =d= bindings for renaming and deleting files,
|
|
respectively.
|
|
+ =lang=
|
|
+ =cc= The advise function ~c-lineup-arglist~ was missing, and has now been
|
|
reimplemented.
|
|
+ =haskell= With module flags implemented, Intero support is now available to
|
|
lang/haskell and is now the default. Dante support is still available with
|
|
the ~+dante~ flag.
|
|
+ =java= Now auto-installs meghanda-server on first use, and fixed
|
|
code-completion in java buffers.
|
|
+ =org=
|
|
+ Fixed vanilla C-j/C-k bindings overshadowing custom window navigation
|
|
bindings.
|
|
+ Added C-[hjkl] keybindings in insert mode for org table navigation.
|
|
+ Fixed ~+org/insert-item~ throwing =save-excursion: Wrong type argument:
|
|
listp, 1= error when used from BOL on the first sub-item in a list.
|
|
|
|
* 2.0.4 (Jul 14, 2017)
|
|
+ *Module changes:*
|
|
+ Added =tools/password-store= -- Emacs as a password manager, using [[https://www.passwordstore.org/][pass]] as a
|
|
backend (contributed by [[https://github.com/bandresen][brandresen]]).
|
|
+ Added =app/irc= -- Emacs as an IRC client, using circe (contributed by
|
|
[[https://github.com/bandresen][brandresen]]).
|
|
+ ~+pass/ivy~ for ivy integration, with edit/copy field/open url actions.
|
|
+ ~helm-pass~ for helm integration.
|
|
+ Added =lang/hy= -- support for [[http://hylang.org][hylang]], a combination of Lisp and Python
|
|
(thanks to [[https://github.com/bandresen][bandresen]]).
|
|
+ Added =lang/ocaml= -- support for [[https://ocaml.org/][OCAML]] (thanks to [[https://github.com/Ptival][Ptival]])
|
|
+ Added =lang/plantuml= -- drawing diagrams in plain text
|
|
+ Added =lang/perl= -- Perl6 support for Emacs
|
|
+ Added =ui/tabbar= -- add tabs to Doom via [[https://github.com/dholm/tabbar][tabbar]] (I don't recommend using
|
|
it)
|
|
+ Removed =lang/org=
|
|
+ Added =org= -- a new module category for org and org extensions
|
|
+ Removed =app/present= (replaced mostly with =org/org-present=)
|
|
+ =org/org-babel= -- executable code snippets in org-mode, with support for
|
|
a variety of languages.
|
|
+ =org/org-capture= -- a better org-capture, in or outside of Emacs.
|
|
+ =org/org-export= -- a centralized export system with more export backends.
|
|
+ =org/org-notebook= -- org-mode as a general notebook.
|
|
+ =org/org-present= -- org-mode for presentations.
|
|
+ Added =tools/impatient-mode= -- show off live buffers via HTTP.
|
|
+ =core=
|
|
+ New variable: ~doom-host-dir~, as a base path for ~doom-etc-dir~ and
|
|
~doom-cache-dir~.
|
|
+ New hooks: ~doom-init-hook~ and ~doom-post-init-hook~, which are run on
|
|
~emacs-startup-hook~. This is meant to simplify post-Emacs initialization
|
|
hooks (~after-init-hook~, ~emacs-startup-hook~ and ~window-setup-hook~) into
|
|
two unambiguous ones.
|
|
+ Fix =private/<user-login-name>/init.el= not being auto-loaded when the
|
|
user's private module is absent in the root init.el file.
|
|
+ Improve error handling across the board. Emacs should now report more
|
|
helpful errors. Catastrophic errors will be less likely to inhibit later
|
|
modules from being loaded.
|
|
+ Unit-tests have been moved to their respective modules (and =core/test/=).
|
|
+ Fix ~def-setting!~ to act more like ~defmacro~; don't aggressively evaluate
|
|
its arguments on expansion.
|
|
+ New function: ~doom-set-buffer-real BUFFER FLAG~ -- makes Doom consider
|
|
BUFFER real, no matter what.
|
|
+ Add INSTALLED-ONLY-P argument to ~doom-get-packages~ to filter packages that
|
|
aren't installed.
|
|
+ =core-ui=
|
|
+ Add quit confirmation when trying to close a frame that contains real
|
|
buffers.
|
|
+ Fix quit confirmations for clients connected to ~emacs --daemon~ with
|
|
~emacsclient~.
|
|
+ Brought back [[https://github.com/hlissner/emacs-nlinum-hl][nlinum-hl]], which offers some line number fixes for web-mode
|
|
and markdown-mode.
|
|
+ Don't report the buffer modified when injecting (or deleting) trailing
|
|
whitespace in ~doom|inject-trailing-whitespace~ and
|
|
~doom|init-highlight-indentation~.
|
|
+ [[https://github.com/domtronn/all-the-icons.el][all-the-icons]] now fails gracefully in the terminal.
|
|
+ New hook: ~doom-init-ui-hook~, run whenever the UI needs to be reloaded
|
|
(and once at startup). Theme and font loading is also attached to this
|
|
hook.
|
|
+ New variables for font and theme loading: ~doom-theme~, ~doom-font~,
|
|
~doom-variable-pitch-font~, and ~doom-unicode-font~.
|
|
+ New variables for customizing line numbers: ~doom-line-number-lpad~,
|
|
~doom-line-number-rpad~, and ~doom-line-number-pad-char~. These were added
|
|
to facilitate custom whitespace characters in line numbers, e.g. /u2002 (a
|
|
unicode character that looks like a space). Doing so fixes an issue where
|
|
~whitespace-mode~ with ~space-mark~ would replace all space characters
|
|
indiscriminately, even in line numbers.
|
|
+ Add hooks ~doom-pre-reload-theme-hook~ and ~doom-post-reload-theme-hook~
|
|
to ~doom/reload-theme~ command.
|
|
+ =core-popups=
|
|
+ Fix an issue where more specific popup rules were being overriden by more
|
|
general rules.
|
|
+ New command: ~doom/other-popup~ -- cycles between open popup windows and
|
|
the original buffer that you originated from. Discussed in [[https://github.com/hlissner/.emacs.d/issues/141][#141]].
|
|
+ =core-editor=
|
|
+ Change what files recentf will ignore: everything in ~doom-host-dir~ is
|
|
now ignored and anything else in ~doom-local-dir~ won't be.
|
|
+ New interactive command: ~doom/scratch-buffer~ (replaces
|
|
~+doom:scratch-buffer~ in =:ui doom=).
|
|
+ =core-packages=
|
|
+ Generalize ~doom-package-*-p~ functions into ~(doom-package-prop NAME
|
|
PROPERTY)~.
|
|
+ Fix quelpa temporary files (in ~quelpa-build-dir~) not being removed when
|
|
a quelpa package was uninstalled.
|
|
+ New hook: ~doom-reload-hook~ (sort of). This has been around for a while,
|
|
but now it is defined and documented. It runs when ~doom/reload-load-path~
|
|
is called (which gets called remotely if you run package management while
|
|
an Emacs session is active).
|
|
+ ~load!~ can now accept a string as its first argument (the path).
|
|
+ =feature=
|
|
+ =feature/evil=
|
|
+ Remove =goto-last-change=, which conflicts with =goto-chg=, which is a
|
|
dependency of evil (that does the exact same thing, but is what evil
|
|
uses).
|
|
+ =feature/jump=
|
|
+ Remove ~:xref-backend~ setting (replaced with ~:jump~).
|
|
+ Add ~:jump MAJOR-MODE &rest PLIST~ setting, which recognizes four
|
|
properties (that accept functions/commands):
|
|
+ ~:definition~: jumps to the definition of the symbol under point.
|
|
+ ~:references~: lists all references of the symbol at point and lets you
|
|
jump to them.
|
|
+ ~:documentation~: shows documentation for the symbol at point.
|
|
+ ~:xref-backend~: a function that serves as an xref backend; this
|
|
replaces ~:definition~ and ~:references~.
|
|
+ =feature/workspaces=
|
|
+ New function: ~+workspace-contains-buffer-p &optional BUFFER PERSP~ --
|
|
return non-nil if BUFFER (defaults to current buffer) is in PERSP
|
|
(defaults to current perspective).
|
|
+ Fix ~+workspace-p~ not detecting a perspective struct.
|
|
+ Fix ~+workspace-buffer-list~ not preserving buffer order (by recency).
|
|
+ =completion=
|
|
+ =completion/company=
|
|
+ Add ~company-dabbrev~ and ~company-ispell~ to the default Company
|
|
backends. This ensures you have some completion available in buffers
|
|
previously without any. This is especially useful for text-mode buffers.
|
|
Discussed in [[https://github.com/hlissner/.emacs.d/issues/134][#134]].
|
|
+ =ui=
|
|
+ =ui/doom=
|
|
+ Vastly improve daemon and terminal support for doom-themes by reloading
|
|
the theme when a new client is attached, or new terminal/daemon frame is
|
|
created. This prevents incorrect colors from bleeding across face class
|
|
barriers.
|
|
+ Removed evil command ~+doom:scratch-buffer~ (replaced with
|
|
~doom/scratch-buffer~ in =core-ui=).
|
|
+ Decoupled font and theme loading from this module. This has now been
|
|
delegated to =core-ui=. These variables no longer exist: ~+doom-theme~,
|
|
~+doom-font~, ~+doom-variable-pitch-font~, ~+doom-unicode-font~. Discussed
|
|
in [[https://github.com/hlissner/.emacs.d/issues/117][#117]].
|
|
+ =ui/doom-dashboard=
|
|
+ Fix dashboard not opening in emacsclient/daemon frames.
|
|
+ Add =gg= and =G= keybinds in dashboard for moving to the first and last
|
|
button (respectively).
|
|
+ =ui/doom-modeline=
|
|
+ Reorganize order of modeline segments, placing the vc branch last. This
|
|
minimizes the non-uniform spacing caused by all-the-icon icons.
|
|
+ Fix blank mode-line caused by a nil buffer-file-name (used in vcs
|
|
segment). For example, in org indirect buffers.
|
|
+ =tools=
|
|
+ =tools/neotree=
|
|
+ Fix neotree refusing to open when it was already open in another frame.
|
|
This is especially frustrating when neotree is open in a (likely buried)
|
|
terminal emacsclient session, and you're trying to open neotree in
|
|
another.
|
|
+ =lang=
|
|
+ =lang/cc=
|
|
+ Add code completion to glsl-mode (powered by [[https://github.com/Kaali/company-glsl][company-glsl]]).
|
|
+ =lang/markdown=
|
|
+ Source blocks are now fontified natively, with the fontification of their
|
|
native major-modes (see ~markdown-fontify-code-blocks-natively~).
|
|
+ =lang/sh=
|
|
+ Fix fontification of command substitutions in double-quoted strings to
|
|
help distinguish them from the rest of string literals.
|
|
+ =lang/web=
|
|
+ Fix HTML entity encoding/decoding functions.
|
|
+ =org=
|
|
+ =org/org=
|
|
+ Fix M-RET in plain lists not preserving indent level for new items.
|
|
+ Fix cursor jumping away when toggling folds or realigning org tables
|
|
(pressing TAB).
|
|
+ Minimized keybindings into the bare necessities; most custom bindings have
|
|
been moved to my private module.
|
|
+ =org/org-capture=
|
|
+ Start org-capture-mode in insert-mode (if evil is loaded).
|
|
|
|
* 2.0.3 (Jun 11, 2017)
|
|
+ *New modules*
|
|
+ =ui/unicode= -- fixes unicode font-rendering for a variety of languages,
|
|
using [[https://github.com/rolandwalker/unicode-fonts][unicode-fonts]].
|
|
+ =ui/evil-goggles= -- visual feedback for edit operations in evil-mode, using
|
|
[[https://github.com/edkolev/evil-goggles][evil-goggles]].
|
|
+ =ui/nav-flash= (extracted from =ui/doom=) -- flashes current line when
|
|
moving cursor considerable distrances, using [[https://github.com/rolandwalker/nav-flash][nav-flash]].
|
|
+ =tools/neotree= (extracted from =feature/evil=) -- a file explorer sidebar,
|
|
using [[https://github.com/jaypei/emacs-neotree/][neotree]].
|
|
+ =core=
|
|
+ New special file: =private/<user-login-name>/init.el= is now loaded before
|
|
modules (after core).
|
|
+ =:private <user-login-name>= is now automatically loaded by ~doom!~.
|
|
+ New help command: ~doom/describe-module~ -- for DOOM modules.
|
|
+ New help command: ~doom/describe-setting~ -- for possible ~set!~ targets.
|
|
+ Add =make doctor= to diagnose common issues with your setup & environment.
|
|
+ Removed ~def-bootstrap~ & ~doom-bootstrap~. It was a clumsy system. I'll
|
|
replace it with README.org files in each module, with working, tangle-able
|
|
source blocks.
|
|
+ =core-os=
|
|
+ Don't use GTK tooltips on Linux (ugly!).
|
|
+ =core-ui=
|
|
+ New plugin: [[https://github.com/syl20bnr/vi-tilde-fringe][vi-tilde-fringe]] -- subtle, vim-ish empty-line indicator.
|
|
+ New variable: ~doom-ui-mode-names~ (alist) -- for changing ~mode-name~ of
|
|
major-modes.
|
|
+ Fix left-over hl-line overlays when hl-line-mode is uncleanly killed (e.g.
|
|
when the major-mode is changed).
|
|
+ Fix disappearing line numbers in nlinum (thanks to [[https://github.com/gilbertw1][gilbertw1]]).
|
|
+ Move theme/font bootstrap to core-ui.
|
|
+ New hook: ~doom-init-ui-hook~
|
|
+ New global minor-mode ~doom-big-font-mode~ and variable ~doom-big-font~.
|
|
+ =core-keybinds=
|
|
+ New property for ~map!~: ~:textobj~ -- for binding to evil text objects
|
|
keymaps.
|
|
+ Fix ~:after~ & ~:map*~ properties in ~map!~ macro (wasn't working at all).
|
|
+ Change keybinding scheme; the leader key is now =SPC= and localleader =SPC
|
|
m=, inspired by spacemacs.
|
|
+ Enable which-key pops up for all keys.
|
|
+ =core-popups=
|
|
+ Properly persist ~popup~ window parameter between sessions.
|
|
+ Improve magit+shackle integration; ensures that links will be followed
|
|
within the popup they were opened.
|
|
+ Add ~doom-popup-no-fringe~ option (default = t). When non-nil, fringes
|
|
will be disabled in popup windows (in ~doom-popup-mode~).
|
|
+ =core-packages=
|
|
+ Fix failure to detect out-of-date QUELPA packages.
|
|
+ Fix ~custom-file~ (and custom settings) not being loaded.
|
|
+ Fix crash in ~doom-update-package~ caused by unreachable, new
|
|
dependencies.
|
|
+ Make ~doom-update-package~ atomic in case of failure.
|
|
+ Make ~doom-refresh-packages~ async.
|
|
+ Improve the security of package management (via ELPA) by a) forcing Emacs
|
|
to verify TLS connections and b) use HTTPS sources for MELPA and ELPA.
|
|
+ Make ~doom-get-outdated-packages~ asynchronous, producing a substantial
|
|
speed-up when updating packages from Quelpa sources.
|
|
+ =feature=
|
|
+ =feature/evil=
|
|
+ Add ~+evil:mc~ command [[https://github.com/gabesoft/evil-mc][evil-mc]].
|
|
+ Add ~+evil/mc-make-cursor-here~, with visual-block support for [[https://github.com/gabesoft/evil-mc][evil-mc]].
|
|
+ =d= (operator) now invokes ~wgrep-mark-deletion~ in wgrep buffers.
|
|
+ New code folding system that combines hideshow (built-in; for
|
|
indent/marker-based folds) and [[https://github.com/alexmurray/evil-vimish-fold][evil-vimish-fold]] (for arbitrary folds).
|
|
+ Fix [[https://github.com/redguardtoo/evil-matchit][evil-matchit]] in visual mode.
|
|
+ Fix [[https://github.com/hlissner/evil-multiedit][evil-multiedit]] M-d bindings.
|
|
+ Fix stringp error caused by unintialized state in hideshow.
|
|
+ Fix evil normal-mode keybindings in help-mode popups.
|
|
+ Change how ~+evil-esc-hook~ hooks are handled: they now short-circuit on
|
|
the first hook to return non-nil.
|
|
+ Remove ~+evil/matchit~ (thin wrapper around ~evilmi-jump-items~).
|
|
+ Remove [[https://github.com/jaypei/emacs-neotree/][neotree]] plugin (moved to =tools/neotree=).
|
|
+ =feature/jump=
|
|
+ Call ~recenter~ after using [[https://github.com/jacktasia/dumb-jump][dumb-jump]].
|
|
+ =feature/workspaces=
|
|
+ No longer saves session on quit if session was blank.
|
|
+ Fix persp-mode switching to main workspace if auto-resume is on.
|
|
+ Fix ~+workspace-get~ returning a non-nil "null perspective" on some
|
|
occasions where NAME doesn't exist. This is because ~persp-get-by-name~
|
|
returns the value of ~persp-not-persp~ to signify null instead of actual
|
|
nil.
|
|
+ Decouple workspace buffer-list functions from doom buffer library. Now,
|
|
the workspaces module will explicitly advise ~doom-buffer-list~.
|
|
+ ~+workspace-list~ now returns a list of perspective structs, rather than a
|
|
list of strings. ~+workspace-list-names~ was introduced for the latter.
|
|
+ =completion=
|
|
+ =completion/company=
|
|
+ Change ~:company-backends~ to accept a variadic list of backends to
|
|
prepend to ~company-backends~. Its signature is now ~(set!
|
|
:company-backends MODES &rest BACKENDS)~ ([[https://github.com/hlissner/.emacs.d/pull/125][#125]]).
|
|
+ =completion/ivy=
|
|
+ Flexible column width for ~+ivy/tasks~.
|
|
+ =ui=
|
|
+ =ui/doom=
|
|
+ New plugin: [[https://github.com/hlissner/emacs-solaire-mode][solaire-mode]] -- replaces ~doom-buffer-mode~; brightens source
|
|
windows and dims transient, temporary, or popup windows.
|
|
+ BREAKING CHANGE: Decoupled theme and font loading from ui/doom. This has
|
|
been moved to core-ui. The following variables have been renamed:
|
|
+ ~+doom-theme~ => ~doom-theme~
|
|
+ ~+doom-font~ => ~doom-font~
|
|
+ ~+doom-variable-pitch-font~ => ~doom-variable-pitch-font~
|
|
+ ~+doom-unicode-font~ => ~doom-unicode-font~
|
|
+ =ui/doom-modeline=
|
|
+ Reduce excess whitespace on right of flycheck segment.
|
|
+ Buffer-path and file-name segments now use different faces.
|
|
+ The vcs segment now uses a slightly darker color (in clean branches).
|
|
+ Fix blank mode-line when buffer-file-name is nil ([[https://github.com/hlissner/.emacs.d/pull/130][#130]])
|
|
+ =ui/nav-flash=
|
|
+ Fix over-aggressive nav-flash'ing on evil-multiedit or in eshell/term
|
|
buffers.
|
|
+ =tools=
|
|
+ =tools/gist=
|
|
+ Changed new gists to be private by default.
|
|
+ =lang=
|
|
+ =lang/haskell=
|
|
+ New plugin: [[https://github.com/iquiw/company-ghc][company-ghc]] -- code-completion support for haskell (requires
|
|
~ghc-mod~).
|
|
+ =lang/php=
|
|
+ New plugin: [[https://github.com/xcwen/ac-php][company-php]] -- code-completion support for php (requires a
|
|
TAGs file created with [[https://github.com/xcwen/phpctags][phpctags]]).
|
|
+ =lang/emacs-lisp=
|
|
+ Omit defuns inside macros from the imenu index.
|
|
+ Don't enable ~flycheck-mode~ in emacs.d files.
|
|
+ =lang/org=
|
|
+ Replace org-bullets source with more up-to-date fork.
|
|
+ =lang/scala=
|
|
+ Fix ~void-variable imenu-auto-rescan~ error caused by
|
|
~ensime--setup-imenu~ trying to use imenu variables before loading imenu.
|
|
+ =private/hlissner=
|
|
+ Add =gzz= binding (~+evil/mc-make-cursor-here~)
|
|
+ Add =:mc= ex command (~+evil:mc~)
|
|
+ Add =:lookup= ex command (~+jump:online~).
|
|
+ Add =:gblame= ex command (~magit-blame~).
|
|
+ Add =:grevert= ex command (~git-gutter:revert-hook~).
|
|
|
|
* 2.0.2 (May 13, 2017)
|
|
+ *New modules*
|
|
+ =tools/gist= -- allows you to manage and create gists, using [[https://github.com/defunkt/gist.el][gist.el]].
|
|
+ =tools/term= -- quickly spawn a terminal (in a popup or buffer) using
|
|
[[https://github.com/emacsorphanage/multi-term][multi-term]]
|
|
+ =app/twitter= -- Emacs as a twitter client, using [[https://github.com/hayamiz/twittering-mode][twittering-mode]]
|
|
+ =core=
|
|
+ Stop "buffer is read-only" messages while in minibuffer, when I accidentally
|
|
try to edit the prompt. It's correct behavior, but it consumes the
|
|
minibuffers, hiding what I'm typing.
|
|
+ Fix Emacs daemon compatibility with DOOM, which assumed a frame will always
|
|
be visible on startup, causing errors when Emacs is launched as a daemon.
|
|
+ Code-style change: use sharp-quote for functions. This makes the
|
|
byte-compiler output missing-function warnings when they can't be found,
|
|
which is helpful.
|
|
+ Stop projectile & git-gutter checks when in a TRAMP buffer; it causes
|
|
tremendous slowdowns, to the point of being unusable.
|
|
+ Add ~message!~ & ~format!~ macros for printing colored output either a) in a
|
|
popup buffer when in an interactive session or b) with ansi codes when in an
|
|
noninteractive session.
|
|
+ Changed ~doom/recompile~ to aggresively recompile =core/core.el= to fix
|
|
load-path inconsistencies when you've byte-compiled your config and run a
|
|
package management command.
|
|
+ =core-lib=
|
|
+ Add ~:append~ support to ~add-transient-hook!~ macro.
|
|
+ =core-popups=
|
|
+ Fix over-eager ESC binding killing all popups indiscriminantly
|
|
+ =core-ui=
|
|
+ Remove references to ~ace-maximize-window~ (obsolete)
|
|
+ Fix whitespace adjustment in ~highlight-indentation-current-column-mode~
|
|
+ =core-packages=
|
|
+ Package management now produces colored and detailed feedback.
|
|
+ =ui=
|
|
+ =ui/doom=
|
|
+ Git-gutter fringe bitmaps no longer appear truncated.
|
|
+ Fix lack of syntax highlighting in scratch buffer
|
|
+ Use comment face as default color for ~+doom-folded-face~
|
|
+ =ui/doom-modeline=
|
|
+ Fix modeline disappearing due to loss of state. ~doom--modeline-format~
|
|
was being killed when switching major modes.
|
|
+ =feature=
|
|
+ =feature/eval=
|
|
+ Fix ~:repl~ & ~+eval/repl-send-region~.
|
|
+ Fix ~+eval/region~ failing only on first invocation because
|
|
~+eval-runners~ wasn't populated until quickrun is loaded.
|
|
+ Add TAB auto-completion in comint-mode and REPL buffers
|
|
+ =feature/evil=
|
|
+ Fix ~:mv~ & ~:rm~.
|
|
+ Fix Neotree forgetting that it's a neotree window when switching
|
|
perspectives.
|
|
+ New plugin: [[https://github.com/gabesoft/evil-mc][evil-mc]] -- multiple cursors for evil-mode (thanks to
|
|
[[https://github.com/gilbertw1][gilbertw1]])
|
|
+ Achieve vim parity w/ file modifiers
|
|
(~+evil*ex-replace-special-filenames~)
|
|
+ =feature/version-control=
|
|
+ New plugin: [[https://github.com/pidu/git-timemachine][git-timemachine]] -- stepping through a file's git history.
|
|
+ New plugin: [[https://github.com/sshaw/git-link][git-link]] -- generates and opens links to "this file"'s remote
|
|
repo with your default browser.
|
|
+ Add ~:gbrowse~: find this file on github/gitlab/bitbucket in your browser.
|
|
+ Add ~:gissues~: open this project's issues page in your browser.
|
|
+ Fix ~+vcs/git-browse~ and ~+vcs/git-browse-issues~.
|
|
+ =feature/workspaces=
|
|
+ Add BANG modifier to ~:cleanup~ to span all workspaces.
|
|
+ Since persp-mode handles its "nil" perspective differently from others,
|
|
pretend that it doesn't exist and spawn a new "main" perspective.
|
|
+ =completion=
|
|
+ =completion/ivy=
|
|
+ Add ~+ivy-do-action!~ factory macro. Use it for in-ivy keybindings.
|
|
+ Add ripgrep file search support. Ripgrep doesn't support multiline
|
|
searches, but is faster. Use =ag= for multiline (or more PCRE-compliant)
|
|
searches.
|
|
+ Reverse ivy's built-in behavior of reversing escaping of parentheses when
|
|
using the_silver_searcher or ripgrep. If you want literal parentheses,
|
|
escape them explicitly.
|
|
+ Removed ~def-counsel-action!~
|
|
+ When a selection is used for ~:ag~, the selected text is now
|
|
regexp-escaped.
|
|
+ =tools=
|
|
+ =tools/tmux=
|
|
+ Fix and refactor library (general update).
|
|
+ =lang=
|
|
+ =lang/cc=
|
|
+ Integrate counsel-ivy into [[https://github.com/Sarcasm/irony-mode][irony-mode]]
|
|
+ =lang/javascript=
|
|
+ Improve electric indent support for ~js2-mode~ and ~rjsx-mode~
|
|
+ =lang/org=
|
|
+ Fix org-checkbox-statistics not respecting underlying faces
|
|
+ Disable ~show-paren-mode~ in org-mode due to conflicts with org-indent
|
|
which cause indentation flickering.
|
|
+ Bind ~M-z~ (~undo~), ~C-u~ (~delete-line~) and ~C-w~ (~delete-word~) in
|
|
~org-store-link~ and ~org-insert-link~ prompts.
|
|
+ Apply org-headline-done face to checked-checkbox lines, to match how DONE
|
|
headlines look. Also applies this to items whose subitems are all
|
|
complete.
|
|
+ Changed default fold behavior when loading an org-file to unfold first
|
|
level folds.
|
|
+ Add =bin/org-capture= shell script for invoking the org-capture frame from
|
|
outside Emacs.
|
|
+ Add babel support for: rust, restclient, sql, google translate, haskell
|
|
and go.
|
|
+ Add ~+org-pretty-mode~ for toggling "pretty" fontification. Prettified
|
|
entities or hidden regions can make editing difficult.
|
|
+ =lang/python=
|
|
+ Add ipython detection and REPL support
|
|
+ Simplify matchit key (%) in python. The default is to prioritize if-else
|
|
and other blocks over brackets. I found this frustrating.
|
|
+ =lang/web=
|
|
+ Fix ~+web-encode-entities~, ~+web-decode-entities~,
|
|
~+web/encode-entities-region~ and ~+web/decode-entities-region~.
|
|
+ =app=
|
|
+ =app/email=
|
|
+ Replace mbsync with offlineimap.
|
|
+ Add support for marking multiple emails when in visual-mode (evil) in a
|
|
~mu4e-headers-mode~ buffer.
|
|
+ Fix trash mark causing duplicates upstream.
|
|
+ Make refiling more compatible with archiving in gmail.
|
|
+ =private/hlissner=
|
|
+ Add keybinds for [[https://github.com/gabesoft/evil-mc][evil-mc]]: based around ~gz~ (like ~gzz~ to toggle cursor
|
|
freeze, and ~gzc~ to create a cursor "here").
|
|
+ Add keybinds for [[https://github.com/hlissner/evil-multiedit][evil-multiedit]]: based around ~M-d~ and ~M-D~.
|
|
+ Replace ~:find~ with ~:ag~, ~:agc[wd]~, ~:rg~ and ~:rgc[wd]~.
|
|
+ Fix ~:x~ ex command (open scratch buffer)
|
|
|
|
* 2.0.1 (Apr 8, 2017)
|
|
+ *New modules*
|
|
+ =feature/jump= -- extra code navigation tools, a jump-to-definition
|
|
implementation that just works ([[https://github.com/jacktasia/dumb-jump][dumb-jump]]), and tools for looking things up
|
|
online.
|
|
+ =app/rss= -- Emacs as an RSS reader, using [[https://github.com/skeeto/elfeed][elfeed]]
|
|
+ =core=
|
|
+ Fix ~doom-kill-process-buffers~ not killing process buffers.
|
|
+ Fix ~hippie-expand~ in ex mode/the minibuffer.
|
|
+ Remove unnecessary ~provide~'s in core autoloaded libraries.
|
|
+ Fix ~doom-buffers-in-mode~ not detecting buffers in major-modes derived from
|
|
the target mode.
|
|
+ Fix out-of-bounds error in ~doom/backward-delete-whitespace-to-column~.
|
|
+ Remove ~doom/append-semicolon~; use evil append mode instead.
|
|
+ Add module bootstrapping mechanism (for installing external dependencies);
|
|
see ~doom-bootstrap~, ~make bootstrap~ and ~def-bootstrap!~.
|
|
+ Use ~doom-local-dir~ for TRAMP's temp files.
|
|
+ New variable: ~doom-real-buffer-functions~ -- for customizing how
|
|
~doom-real-buffer-p~ determines what a "real" buffer is.
|
|
+ Add ~def-memoize!~ for defining memoized functions and ~doom-memoize~ for
|
|
memoizing existing ones.
|
|
+ =core-lib=
|
|
+ Fix ~remove-hook!~ macro not expanding correctly.
|
|
+ New macro: ~add-transient-hook!~; attach a hook to a hook or function that
|
|
will remove itself once it runs.
|
|
+ =core-packages=
|
|
+ Add ~doom/recompile~, for re-byte-compiling DOOM.
|
|
+ Add ~doom/compile-lite~ / ~make compile-lite~, which will only
|
|
byte-compile DOOM's core files, which is a lighter alternative to
|
|
~doom/compile~.
|
|
+ Fix duplicates packages appearing in package-management retrieval library.
|
|
+ =core-os=
|
|
+ Reducing how aggressive ~exec-path~ caching is. A =persistent-soft= /and/
|
|
byte-compilation cache is excessive. The latter is good (and flexible)
|
|
enough.
|
|
+ =core-popups=
|
|
+ Set default ~:align~ and ~:select~ shackle properties (of =8= and =below=).
|
|
+ =core-editor=
|
|
+ Advise ~delete-trailing-whitespace~ to not affect current line. If evil is
|
|
loaded, then it may affect the current line if we're *not* in insert mode.
|
|
+ =core-projects=
|
|
+ Recognize =package.json= as a project-root file (see
|
|
~projectile-project-root-files~).
|
|
+ Fix ~:files~ property in ~def-project-mode!~ not detecting project files.
|
|
+ =core-ui=
|
|
+ Replace [[https://github.com/DarthFennec/highlight-indent-guides][highlight-indent-guides-mode]] with [[https://github.com/antonj/Highlight-Indentation-for-Emacs/][highlight-indentation-mode]]; the
|
|
former won't display indent guides on blank lines, even with my whitespace
|
|
injection hook.
|
|
+ =feature=
|
|
+ =feature/eval=
|
|
+ Fix build tasks system; now tested and works.
|
|
+ Complete rewrite of the module.
|
|
+ =feature/evil=
|
|
+ Fix error in ~+evil:file-move~ if ~save-place-mode~ is disabled.
|
|
+ =feature/snippets=
|
|
+ Don't hijack TAB in other modes.
|
|
+ Enable ~yas-triggers-in-field~, which adds support for nested snippets.
|
|
+ Fix snippet aliases (~%alias~).
|
|
+ =feature/version-control=
|
|
+ Remove ~evil-magit~ and evil-ified bindings for magit in general. Instead,
|
|
just use emacs mode. If evil is needed, toggle it with =C-z=.
|
|
+ =feature/workspaces=
|
|
+ Fix ~+workspace/kill-session~ not actually killing the session.
|
|
+ Revert forcing persp-mode to stay quiet when it saves the session to file.
|
|
It just isn't important enough.
|
|
+ Create a new perspective when switching projects (integrates projectile
|
|
with persp-mode).
|
|
+ Create a new perspective for new frames.
|
|
+ =ui=
|
|
+ =ui/doom=
|
|
+ Improve ~doom-buffer-mode~ heuristics with ~doom-real-buffer-p~, so that
|
|
only truly real buffers are enlightened.
|
|
+ Replace plugin [[https://github.com/Malabarba/beacon][beacon]] with [[https://github.com/rolandwalker/nav-flash][nav-flash]] -- the former had a habit of causing
|
|
pauses and pushing my cursor. It also didn't look as nice.
|
|
+ =ui/doom-modeline=
|
|
+ Complete rewrite of the module for code readability and performance.
|
|
+ =ui/doom-dashboard=
|
|
+ Fix a ~max-specpdl-size~ error caused on MacOS, having to do with a
|
|
~kill-buffer-query-function~ hook being attached way too soon in the
|
|
startup process.
|
|
+ =lang=
|
|
+ =lang/cc=
|
|
+ Fix empty ~buffer-file-name~ in ~magic-mode-alist~ rule for obj-c.
|
|
+ Fix irony-mode initialization in cc modes.
|
|
+ =lang/emacs-lisp=
|
|
+ Add xref support for elisp.
|
|
+ =lang/go=
|
|
+ Add code-completion support with [[https://github.com/nsf/gocode][gocode and company-go]].
|
|
+ Add code navigation support with [[https://github.com/dominikh/go-mode.el/blob/master/go-guru.el][go-guru]] (built-in to go-mode).
|
|
+ Add REPL support with [[https://github.com/manute/gorepl-mode][gore and gorepl-mode]].
|
|
+ =lang/haskell=
|
|
+ New plugin: [[https://github.com/jyp/dante][dante]] -- offers xref and flycheck integration, as well as
|
|
code-navigation tools, like finding definitions, references, type info,
|
|
etc.
|
|
+ Fix errors on haskell-mode (caused by missing dependencies).
|
|
+ =lang/javascript=
|
|
+ New plugin: [[https://github.com/skeeto/skewer-mode][skewer-mode]] -- provides live JS/CSS/HTML evaluation in a
|
|
browser.
|
|
+ New plugin: [[https://github.com/yasuyk/web-beautify][web-beautify]] -- js reformatting.
|
|
+ New plugin: [[https://github.com/NicolasPetton/xref-js2][xref-js2]] -- xref integration for javascript.
|
|
+ New plugin: [[https://github.com/felipeochoa/rjsx-mode][rjsx-mode]] -- adds jsx support.
|
|
+ Fix ~doom/newline-and-indent~ in rjsx-mode
|
|
+ Remove electric =<= in rjsx-mode
|
|
+ Enable [[https://github.com/smihica/emmet-mode][emmet-mode]] in rjsx-mode
|
|
+ Fix empty ~buffer-file-name~ in ~magic-mode-alist~ rule for ~rjsx-mode~.
|
|
+ Force [[https://github.com/ternjs/tern][tern]] use projectile for project path detection and resolution.
|
|
+ Add gulpfile.js detection (~+javascript-gulp-mode~).
|
|
+ =lang/latex=
|
|
+ Improve integration between auctex, evil and ~reftex-toc-mode~: j/k motion
|
|
keys have been bound in reftex-toc-mode, the modeline is hidden, and
|
|
~reftex-toc-rescan~ is run automatically.
|
|
+ =lang/org=
|
|
+ Add =+notes= submodule, which makes it easy to access org-mode based notes
|
|
for the current major-mode or the current project. See
|
|
~+org/browse-notes-for-major-mode~ and ~+org/browse-notes-for-project~.
|
|
+ Ensure newer org-mode 9.0+ (downloaded from ELPA) is loaded instead of the
|
|
older, built-in version of org-mode (8.3).
|
|
+ Update ~+org/dwim-at-point~, ~+org/insert-item~ & ~+org/toggle-checkbox~
|
|
for org-mode 9.0
|
|
+ Fix shackle popup integration with org-export dispatch window.
|
|
+ =lang/ruby=
|
|
+ Add ={Pod,Puppet,Berks}file= detection for ~ruby-mode~.
|
|
+ =lang/web=
|
|
+ New plugin: [[https://github.com/yasuyk/web-beautify][web-beautify]] -- html/css reformatting
|
|
+ Remove ~+web-bower-mode~. I don't use it anymore; I prefer npm as my sole
|
|
package manager.
|
|
+ Improve ~+web-angularjs-mode~ detection by searching for angular 1 and 2
|
|
dependencies in package.json.
|
|
+ Add ~+web-react-mode~ and detect it by searching for reactjs dependencies
|
|
in package.json.
|
|
+ =app=
|
|
+ =app/rss=
|
|
+ Hide modeline in ~elfeed-search-mode~ buffer.
|
|
+ =app/present=
|
|
+ New plugin: [[https://github.com/yjwen/org-reveal/][ox-reveal]] -- export a presentation to html, js & css from
|
|
org-mode using [[http://lab.hakim.se/reveal-js/][reveal.js]].
|
|
+ New plugin: [[https://github.com/takaxp/org-tree-slide][org-tree-slides]] -- use ~org-mode~ directly for presentations.
|
|
+ Add ~+present/big-mode~; which will toggle large fonts, controlled by
|
|
~+present-big-font~.
|
|
+ New plugin: [[https://github.com/skeeto/impatient-mode][impatient-mode]] -- show off current buffer(s) over HTTP.
|
|
+ =app/email=
|
|
+ Add support for writing emails in org-mode, which renders to HTML on send.
|
|
+ Add support for sending email through SMTP on a secure port.
|
|
+ Add basic mu4e support.
|
|
+ =private/hlissner=
|
|
+ Fix TAB hijacking in magit.
|
|
|
|
* 2.0.0 (Jan 17, 2017)
|
|
+ *New modules*
|
|
+ =tools/upload= -- map local files to remotes, allowing you to
|
|
upload/download files between them.
|
|
+ =feature/jump= -- offers a system for navigating codebases that "just
|
|
works", powered by xref (new experimental Emacs reference API) & [[https://github.com/jacktasia/dumb-jump][dumb-jump]].
|
|
+ =feature/workspaces= -- offers grouped buffers/windows and persistent
|
|
sessions. Recently replaced [[https://github.com/pashinin/workgroups2][workgroups2]] with the much-faster [[https://github.com/Bad-ptr/persp-mode.el][persp-mode]].
|
|
+ =core=
|
|
+ Add .travis.yml and unit-tests.
|
|
+ Remove mplist library -- it was unused and poorly written.
|
|
+ =core-popups=
|
|
+ Replaced popwin with shackle; which is significantly lighter and more
|
|
stable.
|
|
+ =feature/spellcheck=
|
|
+ Add selection popup for correcting spelling mistakes highlighted by
|
|
flyspell.
|
|
+ =completion/ivy=
|
|
+ Add ~+ivy:todo~ for jumping to TODO/FIXME tags in your project.
|
|
+ =lang/org=
|
|
+ Make TAB do-what-I-mean (~+org/dwim-at-point~), which will either: follow a
|
|
link, realign/recalculate tables, toggle checkboxes, toggle TODO/DONE tags,
|
|
cycle archived subtrees, toggle latex preview fragments, execute babel
|
|
blocks, or refresh inline images -- depending on where the cursor is.
|
|
+ =lang/web=
|
|
+ Add ~+css/toggle-inline-or-block~ command; it will expand/contract
|
|
curly-braced blocks.
|
|
+ =private/hlissner=
|
|
+ Add ~:todo~ ex command (~+ivy:todo~)
|
|
|