embark-target-buffer-at-point: New target finder for buffers at point in Ibuffer or Buffer-menu.embark-context-menu: Bew function which can be added tocontext-menu-functions. The mouse context menu is activated viacontext-menu-mode.
- The
embark-consultpackage contains a new exporter forconsult-locationtargets (produced by severalconsultcommands such asconsult-line), which exports to a grep mode buffer. Users wishing to use the new grep mode exporter can use the following configuration:(setf (alist-get 'consult-location embark-exporters-alist) #'embark-consult-export-location-grep)
The main reason for adding the new exporter is that users of the
wgreppackage will be able to make use of a feature thatwgrephas and the built-inoccur-edit-modelacks: when editing search results you can add new lines to a result location. There are also some disadvantages of grep mode compared to occur mode (which is why the previously existing occur mode exporter continues to be the default): (1)wgrepis a third party package whileoccur-edit-modeis built-in; (2) occur mode buffers can list lines in any kind of buffer, but grep mode andwgrepare meant for lines of files exclusively.
- You can now use around action hooks with multitarget actions (that you couldn’t previously was an oversight).
- Users of the
embark-consultpackage can now use consult async search commands such asconsult-grepas multitarget actions (throughembark-act-all) to search a list of files. For example, you can useconsult-findto search among file names and once you have the relevant files in the minibuffer, you can useembark-act-allto search for some text in those files. When acting on buffers consult async search commands will search the associated file if there is one, or else thedefault-directoryof the buffer. embark-bindingsand similar commands now show definition of keyboard macros.embark-orgnow recognizes Org links in non-org buffers.- Now pressing RET in an
embark-collecton a selection made by usingembark-selectin a normal buffer will take you to the location each target was collected from. - Some functions renamed for greater consistency (these functions are
unlikely to be referred to in user’s configuration):
embark-target-completion-at-point→embark-target-completion-list-candidateembark-target-top-minibuffer-completion→embark-target-top-minibuffer-candidateembark-completions-buffer-candidates→embark-completion-list-candidates
- Added a mode line indicator showing the number of selected targets in the current buffer (contributed by @minad, thanks!)
- Now
embark-selectcan also be called as a top-level command, from outsideembark-act. When called that way, it will select the first target at point. embark-orgnow has support for acting on references to org headings in other buffers, by jumping to the heading first and then running the action. One source of references to org headings in other buffers are agenda views: each agenda item is such a reference. But this feature also supports some great third party commands which produce references to org headings, such asorg-ql-findfrom theorg-qlpackage orconsult-org-headingfromconsult.- Renamed
embark-isearchtoembark-isearch-forwardand addedembark-isearch-backward. embark-becomenow removes any invisible text from the minibuffer input on the grounds that users probably expect the target command to receive exactly the input they can see.- The meaning of the prefix argument in
embark-bindingshas flipped: now by default global key bindings are excluded and you can useC-uto include them. - If any candidate in an embark-collect buffer contains a newline,
then candidates will be separated by horizontal lines. This is handy
for the kill-ring, which you can browse by calling
embark-collectfromyank-pop.
Now users can select several targets to make an ad hoc collection. The
commands embark-act-all, embark-export and embark-collect will act on
the selection if it is non-empty. To select or deselect a target use
the embark-select action (bound to SPC in embark-general-map). If you
have some targets selected, then using embark-select through
embark-act-all will deselect them.
Before this change the Embark Collect buffers had their own implementation of selections which has been removed. This is how to translate the old bindings to the new feature (which is available in all buffers, not just Embark Collect buffers!):
| Task | Old binding | New binding |
|---|---|---|
| Mark a candidate | m | a SPC |
| Unmark a candidate | u | a SPC |
| Unmark all | U | A SPC |
| Mark all [1] | t | A SPC |
| Toggle all marks | t | not available |
[1] Marking all candidates (with either the old t or the new A SPC)
requires that there are no marked candidates to begin with.
In order to make room for the binding of embark-select to
SPC, some other key bindings were moved:
markinembark-general-mapwas moved toC-SPC.outline-mark-subtreeinembark-heading-mapwas moved toC-SPC.whitespace-cleanup-regioninembark-region-mapwas moved toF.
- Finally started this changelog on 2023-04-20. Known issues with the changelog: it started very late, the first entry is not very informative.