aboutsummaryrefslogtreecommitdiff
path: root/evil-types.el
AgeCommit message (Collapse)Author
2024-05-26Allow count after C-w for window commandsTom Dalziel
Fixes #1902
2024-04-30Small cleanupsAxel Forsman
2024-02-22evil-types.el: fix deprecation warning for Evil's internal variableKonstantin Kharlamov
This deprecation warning is targeted towards users' configuration. Having it warn about the variable being processed inside Evil is pointless, because of course it is processed in the mode, the mode have to handle it. So suppress it by wrapping into `(with-no-warnings)`. Fixes: evil-types.el:96:22: Error: ‘evil-want-visual-char-semi-exclusive’ is an obsolete variable (as of 1.15.0); Semi-exclusivity prevents selecting text + 1st char of next line, without having to introduce new niche functionality.
2023-08-27Do not silence unused evil-define-command argumentAxel Forsman
2023-08-20Use lexical-binding everywhereStefan Monnier
Most of the code already used lexical-binding, but there were still a few of remnant of use of the old dynbound dialect. * evil-tests.el: Activate `lexical-binding`. (evil-test-change-state): Initialize the local vars immediately rather than as a separate step. Remove unused vars `keymap` and `local-keymap`. (evil-test-auxiliary-maps): Rename local var to `evil--map` and declare it dynbound since we need `evil-define-key` to have access to it. (evil-test-exclusive-type): Remove unused var `third`. (evil-test-text-object): Mark unused var `type`. (evil-with-both-search-modules): Move before first use. (evil-test-properties): Rename local var to `evil--alist` and declare it dynbound since we need `evil-put-property` to have access to it. * evil.el: Activate `lexical-binding`. * evil-types.el ("<addr>"): * evil-common.el (evil--eval-expr): * evil-commands.el (evil-ex-global): Tell `eval` to use the lexbind dialect of ELisp.
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-07Use lexical-binding everywhereStefan Monnier
Most of the code already used lexical-binding, but there were still a few of remnant of use of the old dynbound dialect. * evil-tests.el: Activate `lexical-binding`. (evil-test-change-state): Initialize the local vars immediately rather than as a separate step. Remove unused vars `keymap` and `local-keymap`. (evil-test-auxiliary-maps): Rename local var to `evil--map` and declare it dynbound since we need `evil-define-key` to have access to it. (evil-test-exclusive-type): Remove unused var `third`. (evil-test-text-object): Mark unused var `type`. (evil-with-both-search-modules): Move before first use. (evil-test-properties): Rename local var to `evil--alist` and declare it dynbound since we need `evil-put-property` to have access to it. * evil.el: Activate `lexical-binding`. * evil-types.el ("<addr>"): * evil-common.el (evil--eval-expr): * evil-commands.el (evil-ex-global): Tell `eval` to use the lexbind dialect of ELisp.
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-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 str-conversions in evil-visual-block-cornerAxel Forsman
2022-09-29doc: follow the Emacs Lisp Style Guidedalu
2022-04-30Add `evil-v$-excludes-newline`Tom Dalziel
Deprecate `evil-want-visual-char-semi-exclusive`. Fixes #897
2022-04-25Bump version to 1.15.0Tom Dalziel
2021-10-04Add evil-start-of-line, evil-ensure-column, and use them (#1524)Tom Dalziel
2021-06-28Fix 1482 addr wraparound (#1483)Tom Dalziel
* Add wraparound to `evil-ex-re-fwd` + `evil-ex-re-bwd` Fixes a bug noted in #1482 * Tests for 1482
2021-02-28Fix evil-goto-char and add `go` keybindingTom Dalziel
2020-03-04Bump version to 1.14.01.14.0Eivind 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-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-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-01-04Bump version to 1.2.141.2.14Eivind Fonn
2017-10-02update version to 1.2.131.2.13Eivind Fonn
2017-05-31Add support for passing REGISTER and COUNT to :yankEvgeni Kolev
2017-05-07Don't validate REGISTER with regex. Fix error message for negative COUNTsEvgeni Kolev
2017-04-29Add support for passing REGISTER and COUNT to :deleteEvgeni Kolev
2016-04-05update version to 1.2.121.2.12Frank Fischer
2016-03-07update version to 1.2.111.2.11Frank Fischer
2016-01-18update version to 1.2.101.2.10Frank Fischer
2016-01-11update version to 1.2.91.2.9Frank Fischer
2015-11-09update version to 1.2.81.2.8Frank Fischer
2015-11-02update version to 1.2.71.2.7Frank Fischer
2015-10-26update version to 1.2.61.2.6Frank Fischer
2015-09-28update version to 1.2.51.2.5Frank Fischer
2015-09-13update version to 1.2.41.2.4Frank Fischer
2015-08-16update version to 1.2.31.2.3Frank Fischer
2015-08-09update version to 1.2.21.2.2Frank Fischer
2015-07-04update version to 1.2.11.2.1Frank Fischer
2015-07-04update version to 1.2.01.2.0Frank Fischer
2015-05-11update version to 1.1.61.1.6Frank Fischer
2015-05-10update version to 1.1.51.1.5Frank Fischer
2015-05-03update version to 1.1.41.1.4Frank Fischer
2015-04-26update version to 1.1.3Frank Fischer
2015-04-20update version to 1.1.2Frank Fischer
2015-04-11update version to 1.1.11.1.1Frank Fischer