* Add lexical binding cookies
* multiple-cursors-core.el: Pacify lexical-binding frenzy in master
* multiple-cursors-core.el: when saving mc/list-file, prepend a
lexical binding flag to avoid emacs master from screaming. When
inserting strings, use `\\n' instead of (newline).
Fix the byte compilation warnings:
In mc--read-char:
multiple-cursors-core.el:347:2: Warning: reference to free variable ‘multiple-cursors-mode’
In mc--read-quoted-char:
multiple-cursors-core.el:348:2: Warning: reference to free variable ‘multiple-cursors-mode’
In mc--register-read-with-preview:
multiple-cursors-core.el:349:2: Warning: reference to free variable ‘multiple-cursors-mode’
In mc--read-char-from-minibuffer:
multiple-cursors-core.el:350:2: Warning: reference to free variable ‘multiple-cursors-mode’
In toplevel form:
mc-mark-more.el:95:2: Warning: defvar `mc/enclose-search-term' docstring has wrong usage of unescaped single quotes (use \= or different quoting)
In mc/mark-more-like-this-extended:
mc-mark-more.el:501:2: Warning: docstring has wrong usage of unescaped single quotes (use \= or different quoting)
mc-mark-more.el:522:22: Warning: reference to free variable ‘mc/mark-more-like-this-extended-keymap’
In end of data:
mc-mark-more.el:724:27: Warning: the function ‘sgml-skip-tag-forward’ is not known to be defined.
mc-mark-more.el:673:8: Warning: the function ‘sgml-get-context’ is not known to be defined.
In end of data:
mc-hide-unmatched-lines-mode.el:110:1: Warning: the function ‘sgml-skip-tag-forward’ is not known to be defined.
mc-hide-unmatched-lines-mode.el:110:1: Warning: the function ‘sgml-get-context’ is not known to be defined.
In end of data:
multiple-cursors-core.el:567:43: Warning: the function ‘sgml-skip-tag-forward’ is not known to be defined.
multiple-cursors-core.el:535:25: Warning: the function ‘sgml-get-context’ is not known to be defined.
In end of data:
mc-cycle-cursors.el:124:1: Warning: the function ‘sgml-skip-tag-forward’ is not known to be defined.
mc-cycle-cursors.el:124:1: Warning: the function ‘sgml-get-context’ is not known to be defined.
This change fixes commands that read-chars multiple times. Previously, two
stage commands like embrace-change would read the same char twice immediately
and avy-goto-char-timer would never stop reading input as a cached value was
always provided during the timer. Instead, the read-char prompt is included in
the cache key so that multiple different calls are cached separately and
accessible by the fake cursors.
When the 'cursor-type' for the buffer is specified by the frame, this
was not detected by the current logic as 'cursor-type' will be set to
't' and thus not explicitly match 'bar'. This update checks to see if
'cursor-type' is specified by the frame and will pull the parameter
from the frame if it is, prior to subsequent checks.
Add register-read-with-preview and read-char-from-minibuffer to cover
insert-register and zap-to-char, respectively.
Also add mc--reset-read-variables to for mc--reset-read-prompts to use
dynamically so these can be further extended via the macro.
* Use GitHub Actions in place of Travis, and test more Emacs versions
* Run tests in Actions via `script` to fake a TTY
* Add newer emacs versions to CI matrix
Hi,
multiple-cursors has recently been added to [NonGNU ELPA](https://elpa.nongnu.org/), allowing Emacs 28+ users to install it without any additional configuration.
This patch mentions NonGNU in the README, so that users know that it can be installed by default.
Otherwise, the only thing worth noting is that NonGNU ELPA distributes stable versions by default, and these are identified by commits that modify the version tag in the package header. I'm not sure if new versions are to be expected, but in case there is an update, please remember to update the version tag too.
Previously the list file was loaded immediately upon loading
`multiple-cursors-core`. This doesn't work well with modern autoloading
emacs configurations, where customisation is mostly done in
`eval-after-load` hooks; the default file location is loaded, *then*
the value of `mc/list-file` is changed, and everyone is confused.