aboutsummaryrefslogtreecommitdiff
path: root/evil-macros.el
AgeCommit message (Collapse)Author
2024-09-15Miscellaneous minor changesStefan Monnier
* evil-common.el (evil-with-delay): Add comment for last change. * evil-macros.el (font-lock-add-keywords): Use the font-lock faces rather than their obsolete variables. * evil-ex.el (evil-ex-define-argument-type): Make sure the function arguments can be compiled. (evil-ex-init-shell-argument-completion): Don't let-bind `completion-at-point-functions` because hooks aren't just variables.
2024-04-30Small cleanupsAxel Forsman
2023-08-27Do not silence unused evil-define-command argumentAxel Forsman
2023-08-20Misc minor changesStefan Monnier
* README.md: Mention that `undo-fu` is also in NonGNU ELPA and update its repository URL. * evil.el: Update the undo-fu repository URL. * evil-macros.el (evil-define-interactive-code): Move the insertion of quote around `func` to the `cond` so the `quote` is not incorrectly added around lambda forms. * evil-tests.el: Add a FIXME. * evil-commands.el (evil-save-side-windows): Silence spurious warning.
2023-08-13Urgent revert of recent commits while evil is brokenTom Dalziel
Some of these commits can be almost immediately restored, once the time is found to do so. Revert "Fix evil-with-delay with dynamic binding" This reverts commit 1e9b2434264529fe0dd964b68fe89236a4abeac3. Revert "Some cleanups" This reverts commit 0cbd61f2de104fab16602d0418605cd0513b16f3. Revert "Misc minor changes" This reverts commit b291039b0c6ffc3b2f3c9f02b8ad2f0041127b12. Revert "Merge evil-with-delay condition and body lambdas" This reverts commit 1b56ffcc102b4c5f8b015e760b5f9cf5932622af. Revert "(evil-with-delay): New macro, extracted from `evil-delay`" This reverts commit 3d7faadf30016a8c20699a5fb1b5731b8a49dcd2. Revert "Make evil-search-wrap-ring-bell work with evil-search" This reverts commit 5e72cf5b6d57b785ea229236bb5c4638db2c9a05. Revert "Stop the '</'> and '[/'] marks from intertwining" This reverts commit 26db9441a13ebedb2481d7ada4c3b5e60ec22795. Revert "Remove redundant `:group` args" This reverts commit 6e30037fdc6a275d78d6b82d89bd8e47bcf4d4e3. Revert "Avoid eval in evil-test-buffer" This reverts commit 27d81ad406d2d3e07591b927357d2354ef5b5c65. Revert "Use lexical-binding everywhere" This reverts commit 44c7f301468c264a781be4ee8ae879fe1b457e60.
2023-08-12Misc minor changesStefan Monnier
* README.md: Mention that `undo-fu` is also in NonGNU ELPA and update its repository URL. * evil.el: Update the undo-fu repository URL. * evil-macros.el (evil-define-interactive-code): Move the insertion of quote around `func` to the `cond` so the `quote` is not incorrectly added around lambda forms. * evil-tests.el: Add a FIXME. * evil-commands.el (evil-save-side-windows): Silence spurious warning.
2023-08-06Support recursive editing in ExAxel Forsman
This is a proper fix for #569 instead of commit ab0f6a546e6c703cd8d3c0d7c1035196b0455c45, which simply aborted the Ex command line upon it being unfocused. Apart from disallowing recursive editing, that also made debugging Ex errors impossible. The core issue was that evil-ex-current-buffer had a dual purpose: (I) While in the minibuffer, it stored the original buffer the Ex command would eventually act on, and was used for special registers and some argument handlers; and (II) While executing an Ex command it was non-nil, which signified that commands should use the variables evil-ex-range, evil-ex-bang and evil-ex-argument set by evil-ex-call-command, instead of, say, prompting for a motion. However, during recursive editing due to (I) evil-ex-current-buffer was dynamically let-bound, triggering the special behavior in (II), meaning all operators always worked on the evil-line motion, i.a. Fix this by, for (I), only setting evil-ex-current-buffer buffer-locally in the Ex minibuffer, renaming it to evil-ex-original-buffer (similar to minibuffer--original-buffer), and for (II) instead introducing evil-called-from-ex-p which is set to t solely during evil-ex-call-command. Closes #1415, by only making use of the return value of minibuffer-selected-window where required.
2023-07-12Avoid marker for match-end in :substituteAxel Forsman
2023-07-09Autoload evil-digraphAxel Forsman
2023-07-02Remove evil-repeat-start-hookAxel Forsman
It was a no-op since (evil-repeat-type this-command t) does not returns t, and otherwise the call to evil-repeat-start would overwrite changes done by (funcall repeat-type 'pre) in evil-repeat-pre-hook.
2023-07-02Store command properties as symbol propertyAxel Forsman
Also replace a few calls to evil-filter-list that destructively modified user-provided lists with cl-remove-if.
2023-01-20Make sure to restore state after executing motionAxel Forsman
This fixes a regression caused by commit 29a5d464e973b66abae20e6c4b402a366547c7a5. Resolves #1756
2023-01-15Re-add return-type evil-operator-range argumentAxel Forsman
It was removed by commit 29a5d464e973b66abae20e6c4b402a366547c7a5, however this broke the evil-surround package.
2023-01-14Use original state for populating shortcut mapAxel Forsman
Changing to Operator-pending state before executing (evil-extract-count (this-command-keys)) can give the wrong result since the actual binding used to invoke the operator may not be present in the new state. Resolves #1073
2023-01-09Error at boundaries with h/l even if point movedAxel Forsman
This matches the behavior of Vim in how repeated macros are aborted.
2022-12-29Remove some unnecessary evil-normalize-position:sAxel Forsman
All Emacs functions that take positions as arguments such as goto-char already do the normalization performed by evil-normalize-position. The only case where it would be necessary is when a marker that may be mutated is stored. Therefore it would probably be a good idea to replace evil-normalize-position with conditional marker-position altogether.
2022-10-30Update ] and [ markers when doing operatorTom Dalziel
2022-04-25Bump version to 1.15.0Tom Dalziel
2022-04-13Ex yank doesn't move pointTom Dalziel
In visual state, it restores point to beginning of visual range Fixes #1593
2021-10-04Add evil-start-of-line, evil-ensure-column, and use them (#1524)Tom Dalziel
2020-03-04Bump version to 1.14.01.14.0Eivind Fonn
2020-02-03Clean up compilation warnings from lexical bindingEivind Fonn
2020-01-29Re-enable lexical bindingEivind Fonn
This reverts commit e9391ae769bee189ef6144b8861b117d5c948a80, and removes spurious debug messages.
2020-01-28Revert "Enable lexical binding"Eivind Fonn
This reverts commit c6086a7b0b44963071096e3ed7545f617de88915.
2020-01-28Enable lexical bindingEivind Fonn
2019-12-31Docs: fix use of \\[...] to display key sequencesEivind Fonn
2019-12-19Improve some docstringsEivind Fonn
2019-12-18Bump version to 1.13.0Eivind Fonn
Version 1.2.15 was accidentally tagged as 1.12.15, and released as such by MELPA Stable, so now I guess we have to run with it.
2019-12-11Bump version to 1.3.0-snapshotEivind Fonn
2019-12-11Bump version to 1.2.151.2.15Eivind Fonn
2019-11-19Declare documentation stringsAlexander Shukaev
2019-11-19Make more commands support visual-line-modeJustin Burkett
when evil-respect-visual-line-mode is non-nil, including evil-change-line, evil-delete-line, and evil-yank-line. Most of the work is done through the motions evil-line-or-visual-line and evil-end-of-line-or-visual-line. These motions use visual lines when visual-line-mode and evil-respect-visual-line-mode are non-nil, and revert back to standard lines otherwise. Visual selection via visual lines in the sense of visual-line-mode is supported by adding a new screen-line type (named to avoid confusion with visual state).
2019-11-05Remove force argument from evil-adjust-cursorJustin Burkett
The conditions checked in the body of the function are sufficient to guarantee that the cursor should move back so there is no need to check the variable evil-move-cursor-back, which is what the force argument allows for.
2019-11-05Unwed evil-move-beyond-eol and evil-move-cursor-backJustin Burkett
The docstring of evil-cursor-back only mentions that it applies to moving the cursor back when exiting insert state, but in many cases it was tied to also moving the cursor when reaching the end of the line. We have evil-move-beyond-eol to control that behavior, and there doesn't seem to be a good reason that the two must be tied together. Fixes #1178
2019-01-04Bump version to 1.2.141.2.14Eivind Fonn
2018-09-11Add option to enable Evil in minibuffer(s)Alexander Shukaev
2017-10-02update version to 1.2.131.2.13Eivind Fonn
2017-02-15Remove support for Emacs < 24Eivind Fonn
2016-04-05Merge stableFrank Fischer
2016-04-05update version to 1.2.121.2.12Frank Fischer
2016-03-28Block objects of exclusive-line type may return linewise selection (fix #645)Frank Fischer
* if the selection contains whole lines only return linewise range * `evil-text-object-make-linewise` return unmodified range if it has already line type
2016-03-07Merge with stableFrank Fischer
2016-03-07update version to 1.2.111.2.11Frank Fischer
2016-02-27Do not re-expand range returned by text-objectsFrank Fischer
The range returned by text-objects must be taken literally for operators. This allows to operator on ranges that cannot correspond to visual selections, e.g. `cib` works correctly on empty parentheses.
2016-01-18Merge stableFrank Fischer
2016-01-18update version to 1.2.101.2.10Frank Fischer
2016-01-16Merge stableFrank Fischer
2016-01-11update version to 1.2.91.2.9Frank Fischer
2016-01-07Fix handling of range expansion in `evil-text-object-make-linewise` (re #607)Frank Fischer
2016-01-07Handle forced linewise non-visual text-objects (re #607)Frank Fischer