[nongnu] elpa/cider updated (1367b25eb3 -> dea866c0d8)
elpasync pushed a change to branch elpa/cider. from 1367b25eb3 PR feedback new c61c558323 Fix `sesman-restart` regression issue with SIGHUP handling in server new c58eebe15c repeat integrationt tests on failure, update sesman test comments new dea866c0d8 Refine shadow-cljs documentation (#3360) Summary of changes: .github/workflows/test.yml | 5 +++- CHANGELOG.md | 1 + .../ROOT/pages/basics/middleware_setup.adoc| 2 +- doc/modules/ROOT/pages/cljs/figwheel.adoc | 4 +-- doc/modules/ROOT/pages/cljs/other_repls.adoc | 2 +- doc/modules/ROOT/pages/cljs/overview.adoc | 6 +++-- doc/modules/ROOT/pages/cljs/shadow-cljs.adoc | 23 ++-- doc/modules/ROOT/pages/cljs/up_and_running.adoc| 2 +- nrepl-client.el| 11 +--- test/cider-tests.el| 31 ++ test/nrepl-server-mock.el | 16 +-- 11 files changed, 81 insertions(+), 22 deletions(-)
[nongnu] elpa/cider dea866c0d8 3/3: Refine shadow-cljs documentation (#3360)
branch: elpa/cider commit dea866c0d8911bf1b13c11d727aba30b7e0a9831 Author: vemv Commit: GitHub Refine shadow-cljs documentation (#3360) --- .../ROOT/pages/basics/middleware_setup.adoc| 2 +- doc/modules/ROOT/pages/cljs/figwheel.adoc | 4 ++-- doc/modules/ROOT/pages/cljs/other_repls.adoc | 2 +- doc/modules/ROOT/pages/cljs/overview.adoc | 6 -- doc/modules/ROOT/pages/cljs/shadow-cljs.adoc | 23 ++ doc/modules/ROOT/pages/cljs/up_and_running.adoc| 2 +- 6 files changed, 24 insertions(+), 15 deletions(-) diff --git a/doc/modules/ROOT/pages/basics/middleware_setup.adoc b/doc/modules/ROOT/pages/basics/middleware_setup.adoc index df9e54b9f2..da2fe9aec7 100644 --- a/doc/modules/ROOT/pages/basics/middleware_setup.adoc +++ b/doc/modules/ROOT/pages/basics/middleware_setup.adoc @@ -89,7 +89,7 @@ run `cider-connect` or `cider-connect-cljs`. :cider-cljs {:extra-deps {org.clojure/clojurescript {:mvn/version "1.10.339"} cider/cider-nrepl {:mvn/version "0.22.4"} -cider/piggieback {:mvn/version "0.5.1"}} +cider/piggieback {:mvn/version "0.5.3"}} :main-opts ["-m" "nrepl.cmdline" "--middleware" "[cider.nrepl/cider-middleware,cider.piggieback/wrap-cljs-repl]"]} diff --git a/doc/modules/ROOT/pages/cljs/figwheel.adoc b/doc/modules/ROOT/pages/cljs/figwheel.adoc index ba56459a8c..46050a8983 100644 --- a/doc/modules/ROOT/pages/cljs/figwheel.adoc +++ b/doc/modules/ROOT/pages/cljs/figwheel.adoc @@ -25,7 +25,7 @@ You'll also have to configure Piggieback manually if you're planning to use + [source,clojure] -[cider/piggieback "0.5.1"] +[cider/piggieback "0.5.3"] + . Add this to your dev `:repl-options` (not needed for `cider-jack-in-cljs`): @@ -123,7 +123,7 @@ in the root of your Leiningen project definition. + [source,clojure] -[cider/piggieback "0.5.1"] ; not needed for cider-jack-in-cljs +[cider/piggieback "0.5.3"] ; not needed for cider-jack-in-cljs [figwheel-sidecar "0.5.19"] ; use here whatever the current version of figwheel is + diff --git a/doc/modules/ROOT/pages/cljs/other_repls.adoc b/doc/modules/ROOT/pages/cljs/other_repls.adoc index 43ae210312..010a922f47 100644 --- a/doc/modules/ROOT/pages/cljs/other_repls.adoc +++ b/doc/modules/ROOT/pages/cljs/other_repls.adoc @@ -61,7 +61,7 @@ Internally, it's powered by Weasel. Let's go over the steps required to use it. [adzerk/boot-cljs-repl "X.Y.Z" :scope "test"] [pandeiro/boot-http "X.Y.Z" :scope "test"] [weasel "0.7.1" :scope "test"] -[cider/piggieback "0.5.1" :scope "test"] ; not needed for cider-jack-in-cljs +[cider/piggieback "0.5.3" :scope "test"] ; not needed for cider-jack-in-cljs + and this at the end of `build.boot`: diff --git a/doc/modules/ROOT/pages/cljs/overview.adoc b/doc/modules/ROOT/pages/cljs/overview.adoc index a81cc29096..19a4be7557 100644 --- a/doc/modules/ROOT/pages/cljs/overview.adoc +++ b/doc/modules/ROOT/pages/cljs/overview.adoc @@ -17,7 +17,7 @@ and how to setup the most popular ClojureScript REPLs. == nREPL and ClojureScript nREPL doesn't natively support ClojureScript evaluation, that why an additional -middleware is needed. CIDER relies on the popular Piggieback middleware for its +middleware is needed. For most REPLs (with the notable exceptions of `shadow-cljs`, `nbb`), CIDER relies on the popular Piggieback middleware for its ClojureScript support. Piggieback works in the following manner: @@ -32,7 +32,9 @@ On the bright side - this also means that you can host side by side Clojure and REPLs in a single nREPL connection! This opens up all sorts of interesting possibilities that we'll discuss later on. -== Differences with the Standard ClojureScript REPL +NOTE: `shadow-cljs`'s REPL is implemented in a very similar fashion, but its mechanism is provided by its own nREPL middleware - not Piggieback. + +== Piggieback differences with the Standard ClojureScript REPL While the Piggieback-powered ClojureScript REPLs behave more or less the same as the standard ClojureScript REPL, there are few subtle diff --git a/doc/modules/ROOT/pages/cljs/shadow-cljs.adoc b/doc/modules/ROOT/pages/cljs/shadow-cljs.adoc index 4e487fb87b..64bf7b214d 100644 --- a/doc/modules/ROOT/pages/cljs/shadow-cljs.adoc +++ b/doc/modules/ROOT/pages/cljs/shadow-cljs.adoc @@ -54,15 +54,26 @@ Alternatively you can start the server manually with something like: [source,sh] -$ npx shadow-cljs server +$ shadow-cljs watch app And connect to it with `cider-connect`. +...For that to work, `shadow-cljs.edn` contents like the following are assumed: + +```clj + :dependencies [[cider/cider-nrepl "0.31.0"] ;; mandatory (unless it's inherited from deps.edn or otherwise present in the classpath of shadow-cljs's JVM process) +[refactor-nrepl/refactor-nr
[nongnu] elpa/cider c61c558323 1/3: Fix `sesman-restart` regression issue with SIGHUP handling in server
branch: elpa/cider commit c61c5583236b1e0ae95a3e01cb73d86499845311 Author: ikappaki Commit: Bozhidar Batsov Fix `sesman-restart` regression issue with SIGHUP handling in server --- CHANGELOG.md | 1 + nrepl-client.el | 11 +++ test/cider-tests.el | 30 ++ test/nrepl-server-mock.el | 16 ++-- 4 files changed, 52 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 936d8c97b4..141ed0545c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ - [#3341](https://github.com/clojure-emacs/cider/issues/3341): Escape clojure-cli args on MS-Windows on non powershell invocations. - [#3353](https://github.com/clojure-emacs/cider/issues/3353): Fix regression which caused new connections to prompt for reusing dead REPLs. - [#3355](https://github.com/clojure-emacs/cider/pull/3355): Fix `cider-mode` disabling itself after a disconnect when `cider-auto-mode` is set to nil. +- [#3362](https://github.com/clojure-emacs/cider/issues/3362): Fix `sesman-restart` regression issue. ### Changes diff --git a/nrepl-client.el b/nrepl-client.el index a3d2672b74..beb9b32dbc 100644 --- a/nrepl-client.el +++ b/nrepl-client.el @@ -1191,8 +1191,9 @@ up." (declare-function cider--close-connection "cider-connection") (defun nrepl-server-sentinel (process event) "Handle nREPL server PROCESS EVENT. -On a fatal EVENT, attempt to close any open client connections, and signal -an `error' if the nREPL PROCESS exited because it couldn't start up." +If the nREPL PROCESS failed to initiate and encountered a fatal EVENT +signal, raise an 'error'. Additionally, if the EVENT signal is SIGHUP, +close any existing client connections." ;; only interested on fatal signals. (when (not (process-live-p process)) (emacs-bug-46284/when-27.1-windows-nt @@ -1212,8 +1213,10 @@ an `error' if the nREPL PROCESS exited because it couldn't start up." (eq (buffer-local-value 'nrepl-server-buffer b) server-buffer)) (buffer-list - ;; close any known open client connections - (mapc #'cider--close-connection clients) + + ;; see https://github.com/clojure-emacs/cider/pull/ + (when (string-match-p "^hangup" event) +(mapc #'cider--close-connection clients)) (if (process-get process :cider--nrepl-server-ready) (progn diff --git a/test/cider-tests.el b/test/cider-tests.el index e023d27634..3b1425365e 100644 --- a/test/cider-tests.el +++ b/test/cider-tests.el @@ -668,6 +668,36 @@ ;; kill server (delete-process (get-buffer-process client-buffer +(describe "sesman" + (it "can restart session" +(with-temp-buffer + (let* ((server-process (nrepl-start-mock-server-process)) + (server-buffer (process-buffer server-process))) +;; wait for the connection to be established +(nrepl-tests-poll-until (local-variable-p 'nrepl-endpoint server-buffer) 5) +(let ((client-buffer (cider-connect-sibling-clj + `(:repl-buffer ,(current-buffer)) + server-buffer)) + (endpoint-bef) + (endpoint-aft)) + (expect (buffer-local-value 'cider-repl-type client-buffer) + :to-equal 'clj) + + (with-current-buffer (cider-current-repl) +(setq endpoint-bef nrepl-endpoint)) + + (sesman-restart) + ;; wait until a new server is brought up, i.e. the port has + ;; changed. It will throw if it doesn't. + (nrepl-tests-poll-until (when-let ((repl (cider-current-repl))) +(with-current-buffer repl + (setq endpoint-aft nrepl-endpoint) + ;; (message ":endpoints %S %S" endpoint-bef endpoint-aft) + (not (= (plist-get endpoint-bef :port) (plist-get endpoint-aft :port) + 5) + ;; kill server + (delete-process (get-buffer-process client-buffer))) + (provide 'cider-tests) ;;; cider-tests.el ends here diff --git a/test/nrepl-server-mock.el b/test/nrepl-server-mock.el index 77a7313668..54643c0837 100644 --- a/test/nrepl-server-mock.el +++ b/test/nrepl-server-mock.el @@ -31,15 +31,17 @@ (require 'nrepl-client) (require 'nrepl-tests-utils "test/utils/nrepl-tests-utils") (require 'queue) +(require 'cl) (defun nrepl-server-mock-filter (proc output) "Handle the nREPL message found in OUTPUT sent by the client PROC. Minimal implementation, just enough for fulfilling clients' testing requirements." - (mock/log! ":mock.filter/output %s :msg %s" proc output) + ;; (mock/log! ":mock.filter/output %s :msg %s" proc output) (condition-case error-details (let* ((msg (queu
[nongnu] elpa/cider c58eebe15c 2/3: repeat integrationt tests on failure, update sesman test comments
branch: elpa/cider commit c58eebe15c74db5e4c3fd9a88750032c1eb2d074 Author: ikappaki Commit: Bozhidar Batsov repeat integrationt tests on failure, update sesman test comments --- .github/workflows/test.yml | 5 - test/cider-tests.el| 5 +++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 8fd31cd774..0e51ec25c2 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -78,4 +78,7 @@ jobs: - name: Test integration run: | -eldev -p -dtTC test --test-type integration +# The tests occasionally fail on macos&win in what is seems to +# be GH connectivity runner issues. We attempt to address this +# problem by rerunning the tests more than once. +eldev -p -dtTC test --test-type integration || eldev -p -dtTC test --test-type integration diff --git a/test/cider-tests.el b/test/cider-tests.el index 3b1425365e..8729331de2 100644 --- a/test/cider-tests.el +++ b/test/cider-tests.el @@ -687,8 +687,9 @@ (setq endpoint-bef nrepl-endpoint)) (sesman-restart) - ;; wait until a new server is brought up, i.e. the port has - ;; changed. It will throw if it doesn't. + ;; wait until a new server is brought up by continuously checking that + ;; the port has changed. If it remains the same, an exception is + ;; thrown, causing the test to fail. (nrepl-tests-poll-until (when-let ((repl (cider-current-repl))) (with-current-buffer repl (setq endpoint-aft nrepl-endpoint)
[elpa] externals/ssh-deploy 95fb076c9b 2/2: Updated version and modified data for 3.1.16
branch: externals/ssh-deploy commit 95fb076c9b657c5f1bfad3ee5bf1f8691c50d428 Author: Christian Johansson Commit: Christian Johansson Updated version and modified data for 3.1.16 --- ssh-deploy.el | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ssh-deploy.el b/ssh-deploy.el index d74741d4aa..917d7f1504 100644 --- a/ssh-deploy.el +++ b/ssh-deploy.el @@ -5,8 +5,8 @@ ;; Author: Christian Johansson ;; Maintainer: Christian Johansson ;; Created: 5 Jul 2016 -;; Modified: 1 Jul 2023 -;; Version: 3.1.15 +;; Modified: 2 Jul 2023 +;; Version: 3.1.16 ;; Keywords: tools, convenience ;; URL: https://github.com/cjohansson/emacs-ssh-deploy
[elpa] externals/ssh-deploy 575ab39905 1/2: Decreased doc-string length
branch: externals/ssh-deploy commit 575ab39905fa5d2773f3ccb8dbfd84f28555cb4e Author: Christian Johansson Commit: Christian Johansson Decreased doc-string length --- ssh-deploy.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ssh-deploy.el b/ssh-deploy.el index a9c0e2eb91..d74741d4aa 100644 --- a/ssh-deploy.el +++ b/ssh-deploy.el @@ -174,7 +174,7 @@ (put 'ssh-deploy-on-explicit-save 'safe-local-variable 'integerp) (defcustom ssh-deploy-run-script-on-explicit-save 0 - "Boolean variable if deploy script should be executed on explicit save, 0 by default." + "Boolean variable if script should be executed on save, 0 by default." :type 'integer) (put 'ssh-deploy-run-script-on-explicit-save 'permanent-local t) (put 'ssh-deploy-run-script-on-explicit-save 'safe-local-variable 'integerp)
[elpa] externals/ssh-deploy updated (5496715b52 -> 95fb076c9b)
cjohansson pushed a change to branch externals/ssh-deploy. from 5496715b52 Updated version and modified date for 3.1.15 new 575ab39905 Decreased doc-string length new 95fb076c9b Updated version and modified data for 3.1.16 Summary of changes: ssh-deploy.el | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
[elpa] externals/cape c8e3a75f2b: Version 0.16
branch: externals/cape commit c8e3a75f2b1096fbb09c9f4b3f60ab1fdcfee13b Author: Daniel Mendler Commit: Daniel Mendler Version 0.16 --- CHANGELOG.org | 2 +- cape.el | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.org b/CHANGELOG.org index c911a17ed6..c09b2f056e 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -2,7 +2,7 @@ #+author: Daniel Mendler #+language: en -* Development +* Version 0.16 (2023-07-02) - =cape-dabbrev=: Respect =dabbrev-abbrev-char-regexp= and =dabbrev-abbrev-skip-leading-regexp=. diff --git a/cape.el b/cape.el index 8cb83c8546..3923a5e027 100644 --- a/cape.el +++ b/cape.el @@ -5,7 +5,7 @@ ;; Author: Daniel Mendler ;; Maintainer: Daniel Mendler ;; Created: 2021 -;; Version: 0.15 +;; Version: 0.16 ;; Package-Requires: ((emacs "27.1") (compat "29.1.4.0")) ;; Homepage: https://github.com/minad/cape ;; Keywords: abbrev, convenience, matching, completion, wp
[elpa] externals/consult fe49dedd71: Version 0.35
branch: externals/consult commit fe49dedd71802ff97be7b89f1ec4bd61b98c2b13 Author: Daniel Mendler Commit: Daniel Mendler Version 0.35 --- CHANGELOG.org | 2 +- consult.el| 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.org b/CHANGELOG.org index 8c590e1bb4..368b9683d7 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -2,7 +2,7 @@ #+author: Daniel Mendler #+language: en -* Development +* Version 0.35 (2023-07-02) - Bugfixes. - =consult--read= now accepts programmable completion tables as argument, e.g., diff --git a/consult.el b/consult.el index 4c9f306a65..37cfc570bd 100644 --- a/consult.el +++ b/consult.el @@ -5,7 +5,7 @@ ;; Author: Daniel Mendler and Consult contributors ;; Maintainer: Daniel Mendler ;; Created: 2020 -;; Version: 0.34 +;; Version: 0.35 ;; Package-Requires: ((emacs "27.1") (compat "29.1.4.1")) ;; Homepage: https://github.com/minad/consult ;; Keywords: matching, files, completion
[elpa] externals/corfu 664ef966f3 2/2: Version 0.37
branch: externals/corfu commit 664ef966f3668f3b5c30a8c5db429ae38ca00c61 Author: Daniel Mendler Commit: Daniel Mendler Version 0.37 --- CHANGELOG.org | 2 +- corfu.el | 2 +- extensions/corfu-echo.el | 2 +- extensions/corfu-history.el | 2 +- extensions/corfu-indexed.el | 2 +- extensions/corfu-info.el | 2 +- extensions/corfu-popupinfo.el | 2 +- extensions/corfu-quick.el | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/CHANGELOG.org b/CHANGELOG.org index a648794730..f5341d38f4 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -2,7 +2,7 @@ #+author: Daniel Mendler #+language: en -* Development +* Version 0.37 (2023-07-02) - Bugfixes. - Improve child frame display code, =corfu--popup-show= takes a =posn= argument. diff --git a/corfu.el b/corfu.el index 67a157f9d5..e3b9c66a79 100644 --- a/corfu.el +++ b/corfu.el @@ -5,7 +5,7 @@ ;; Author: Daniel Mendler ;; Maintainer: Daniel Mendler ;; Created: 2021 -;; Version: 0.36 +;; Version: 0.37 ;; Package-Requires: ((emacs "27.1") (compat "29.1.4.0")) ;; Homepage: https://github.com/minad/corfu ;; Keywords: abbrev, convenience, matching, completion, wp diff --git a/extensions/corfu-echo.el b/extensions/corfu-echo.el index 4427ae2ad6..74cadb59f3 100644 --- a/extensions/corfu-echo.el +++ b/extensions/corfu-echo.el @@ -6,7 +6,7 @@ ;; Maintainer: Daniel Mendler ;; Created: 2022 ;; Version: 0.1 -;; Package-Requires: ((emacs "27.1") (corfu "0.36")) +;; Package-Requires: ((emacs "27.1") (corfu "0.37")) ;; Homepage: https://github.com/minad/corfu ;; This file is part of GNU Emacs. diff --git a/extensions/corfu-history.el b/extensions/corfu-history.el index c924b33b0b..13330ef905 100644 --- a/extensions/corfu-history.el +++ b/extensions/corfu-history.el @@ -6,7 +6,7 @@ ;; Maintainer: Daniel Mendler ;; Created: 2022 ;; Version: 0.1 -;; Package-Requires: ((emacs "27.1") (corfu "0.36")) +;; Package-Requires: ((emacs "27.1") (corfu "0.37")) ;; Homepage: https://github.com/minad/corfu ;; This file is part of GNU Emacs. diff --git a/extensions/corfu-indexed.el b/extensions/corfu-indexed.el index 3a2b2629bb..e624a650b5 100644 --- a/extensions/corfu-indexed.el +++ b/extensions/corfu-indexed.el @@ -6,7 +6,7 @@ ;; Maintainer: Daniel Mendler ;; Created: 2022 ;; Version: 0.1 -;; Package-Requires: ((emacs "27.1") (corfu "0.36")) +;; Package-Requires: ((emacs "27.1") (corfu "0.37")) ;; Homepage: https://github.com/minad/corfu ;; This file is part of GNU Emacs. diff --git a/extensions/corfu-info.el b/extensions/corfu-info.el index 89d660e6ed..3e2bef8b31 100644 --- a/extensions/corfu-info.el +++ b/extensions/corfu-info.el @@ -6,7 +6,7 @@ ;; Maintainer: Daniel Mendler ;; Created: 2022 ;; Version: 0.1 -;; Package-Requires: ((emacs "27.1") (corfu "0.36")) +;; Package-Requires: ((emacs "27.1") (corfu "0.37")) ;; Homepage: https://github.com/minad/corfu ;; This file is part of GNU Emacs. diff --git a/extensions/corfu-popupinfo.el b/extensions/corfu-popupinfo.el index 53f79d8915..04e1a3be20 100644 --- a/extensions/corfu-popupinfo.el +++ b/extensions/corfu-popupinfo.el @@ -6,7 +6,7 @@ ;; Maintainer: Daniel Mendler ;; Created: 2022 ;; Version: 0.1 -;; Package-Requires: ((emacs "27.1") (corfu "0.36")) +;; Package-Requires: ((emacs "27.1") (corfu "0.37")) ;; Homepage: https://github.com/minad/corfu ;; This file is part of GNU Emacs. diff --git a/extensions/corfu-quick.el b/extensions/corfu-quick.el index 3ee6f0ac7f..40ecdd7a56 100644 --- a/extensions/corfu-quick.el +++ b/extensions/corfu-quick.el @@ -6,7 +6,7 @@ ;; Maintainer: Daniel Mendler ;; Created: 2022 ;; Version: 0.1 -;; Package-Requires: ((emacs "27.1") (corfu "0.36")) +;; Package-Requires: ((emacs "27.1") (corfu "0.37")) ;; Homepage: https://github.com/minad/corfu ;; This file is part of GNU Emacs.
[elpa] externals/corfu updated (9ec9f08428 -> 664ef966f3)
elpasync pushed a change to branch externals/corfu. from 9ec9f08428 Use correct format of corfu-popupinfo face remapping alist (Fix #342) new d4892282d3 Update changelog new 664ef966f3 Version 0.37 Summary of changes: CHANGELOG.org | 4 +++- corfu.el | 2 +- extensions/corfu-echo.el | 2 +- extensions/corfu-history.el | 2 +- extensions/corfu-indexed.el | 2 +- extensions/corfu-info.el | 2 +- extensions/corfu-popupinfo.el | 2 +- extensions/corfu-quick.el | 2 +- 8 files changed, 10 insertions(+), 8 deletions(-)
[elpa] externals/corfu d4892282d3 1/2: Update changelog
branch: externals/corfu commit d4892282d34c73d74fac92880b5ca40e8c3c8cb5 Author: Daniel Mendler Commit: Daniel Mendler Update changelog --- CHANGELOG.org | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.org b/CHANGELOG.org index 7f1ba79c50..a648794730 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -4,6 +4,8 @@ * Development +- Bugfixes. +- Improve child frame display code, =corfu--popup-show= takes a =posn= argument. - Ensure that the popup font matches the font of the parent frame. - Close popup when window selection changes. - Remove =corfu-history-length=. Instead set the =history-length= property of
[elpa] externals/hyperbole updated (92437c6c68 -> ac6e50e3ec)
elpasync pushed a change to branch externals/hyperbole. from 92437c6c68 Preload `kotl-autoloads` (#355) new 841535cf50 Remove some byte compilation warnings (#354) new a609d7cdca Remove redundant :group args and obsolete * in defcustom docstrings (#353) new ac6e50e3ec Align header fields consistently (#356) Summary of changes: ChangeLog | 16 hactypes.el | 10 +- hbdata.el | 12 ++-- hbut.el | 10 +- hpath.el | 4 ++-- hui.el| 4 ++-- hyperbole.el | 18 +- hyrolo.el | 50 -- kotl/kview.el | 4 ++-- 9 files changed, 67 insertions(+), 61 deletions(-)
[elpa] externals/hyperbole ac6e50e3ec 3/3: Align header fields consistently (#356)
branch: externals/hyperbole commit ac6e50e3ecf98017999d43808ac8cab50d84278f Author: Mats Lidell Commit: GitHub Align header fields consistently (#356) --- ChangeLog| 1 + hyperbole.el | 18 +- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index ae3afb2a65..d1f7eecebb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -14,6 +14,7 @@ * hyperbole.el: Preload `kotl-autoloads`. Submitted by Stefan Monnier. Thanks Stefan. +Align header fields consistently with other files. 2023-06-29 Mats Lidell diff --git a/hyperbole.el b/hyperbole.el index 1dcc9a57f5..7cdb137436 100644 --- a/hyperbole.el +++ b/hyperbole.el @@ -4,16 +4,16 @@ ;; ;; Copyright (C) 1992-2023 Free Software Foundation, Inc. -;; Author: Bob Weiner -;; Maintainer: Bob Weiner , Mats Lidell -;; Created: 06-Oct-92 at 11:52:51 -;; Last-Mod: 1-Jul-23 at 10:33:45 by Mats Lidell -;; Released: 03-Dec-22 -;; Version: 8.0.1pre -;; Keywords: comm, convenience, files, frames, hypermedia, languages, mail, matching, mouse, multimedia, outlines, tools, wp -;; Package: hyperbole +;; Author: Bob Weiner +;; Maintainer: Bob Weiner , Mats Lidell +;; Created: 06-Oct-92 at 11:52:51 +;; Last-Mod: 1-Jul-23 at 23:42:43 by Mats Lidell +;; Released: 03-Dec-22 +;; Version: 8.0.1pre +;; Keywords: comm, convenience, files, frames, hypermedia, languages, mail, matching, mouse, multimedia, outlines, tools, wp +;; Package: hyperbole ;; Package-Requires: ((emacs "27.0")) -;; URL: http://www.gnu.org/software/hyperbole +;; URL: http://www.gnu.org/software/hyperbole ;; See the "HY-COPY" file for license information.
[elpa] externals/jinx 9a10a621c5: Version 0.9
branch: externals/jinx commit 9a10a621c505c65acfb640263e29ad546f68 Author: Daniel Mendler Commit: Daniel Mendler Version 0.9 --- CHANGELOG.org | 2 +- jinx.el | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.org b/CHANGELOG.org index e3d7714551..3eb4bd425b 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -2,7 +2,7 @@ #+author: Daniel Mendler #+language: en -* Development +* Version 0.9 (2023-07-02) - đŞ Make sure that Emojis are not marked as misspelled đ§đźââď¸. - Rename =jinx-correct-next/previous= to =jinx-next/previous=. The commands can be diff --git a/jinx.el b/jinx.el index a87e9486d3..4604975a75 100644 --- a/jinx.el +++ b/jinx.el @@ -5,7 +5,7 @@ ;; Author: Daniel Mendler ;; Maintainer: Daniel Mendler ;; Created: 2023 -;; Version: 0.8 +;; Version: 0.9 ;; Package-Requires: ((emacs "27.1") (compat "29.1.4.0")) ;; Homepage: https://github.com/minad/jinx ;; Keywords: convenience, wp
[elpa] externals/hyperbole a609d7cdca 2/3: Remove redundant :group args and obsolete * in defcustom docstrings (#353)
branch: externals/hyperbole commit a609d7cdca802b6d01345910637e59ca62c46082 Author: Mats Lidell Commit: GitHub Remove redundant :group args and obsolete * in defcustom docstrings (#353) * Remove redundant :group args and obsolete * in defcustom docstrings Contribution from Stefan Monnier. Thanks Stefan. --- ChangeLog | 3 +++ hyrolo.el | 50 -- 2 files changed, 23 insertions(+), 30 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2e0a3499c4..ae3afb2a65 100644 --- a/ChangeLog +++ b/ChangeLog @@ -17,6 +17,9 @@ 2023-06-29 Mats Lidell +* hyrolo.el: Remove redundant `:group` args. Remove obsolete `*` in +`defcustom` docstrings. Contribution from Stefan Monnier. Thanks Stefan. + * hbut.el (defib): Remove redundant indent property. Change by Stefan Monnier. diff --git a/hyrolo.el b/hyrolo.el index 211e270278..191a748a72 100644 --- a/hyrolo.el +++ b/hyrolo.el @@ -71,11 +71,10 @@ :group 'hyperbole) (defcustom hyrolo-date-format "%m/%d/%Y" - "*Format of date string used in Rolo automatic date stamps. + "Format of date string used in Rolo automatic date stamps. Default is American style. See documentation of the function `format-time-string' for format options." - :type 'string - :group 'hyperbole-rolo) + :type 'string) (defvar hyrolo-display-format-function (lambda (entry) @@ -84,37 +83,32 @@ Default is American style. See documentation of the function The argument is a rolo entry string.") (defcustom hyrolo-email-format "%s\t\t<%s>" - "*Format string to use when adding an entry with e-mail addr from a mail msg. + "Format string to use when adding an entry with e-mail addr from a mail msg. It must contain a %s indicating where to put the entry name and a second %s indicating where to put the e-mail address." - :type 'string - :group 'hyperbole-rolo) + :type 'string) (defvar hyrolo-entry-name-regexp "[-_a-zA-Z0-9@.]+\\( ?, ?[-_a-zA-Z0-9@.]+\\)?" "*Regexp matching a hyrolo entry name after matching to `hyrolo-entry-regexp'.") (defcustom hyrolo-file-suffix-regexp "\\.\\(kotl\\|md\\|org\\|otl\\)$" "File suffix regexp used to select files to search with HyRolo." - :type 'string - :group 'hyperbole-rolo) + :type 'string) (defcustom hyrolo-find-file-function #'find-file - "*Function to interactively display a `hyrolo-file-list' file for editing. + "Function to interactively display a `hyrolo-file-list' file for editing. Use the `hyrolo-edit' function instead to edit a new or existing entry." - :type 'function - :group 'hyperbole-rolo) + :type 'function) (defcustom hyrolo-find-file-noselect-function #'find-file-noselect - "*Function used by HyRolo to read `hyrolo-file-list' files into Emacs." - :type 'function - :group 'hyperbole-rolo) + "Function used by HyRolo to read `hyrolo-file-list' files into Emacs." + :type 'function) (defcustom hyrolo-google-contacts-flag t - "*Non-nil means search Google Contacts on each hyrolo query. + "Non-nil means search Google Contacts on each hyrolo query. The google-contact package must be loaded and a gpg encryption executable must be found as well (for Oauth security)." - :type 'boolean - :group 'hyperbole-rolo) + :type 'boolean) (defvar hyrolo-next-match-function #'hyrolo-next-regexp-match "Value is the function to find next match within a HyRolo file. @@ -185,34 +179,30 @@ A hyrolo-file consists of: hyrolo-hdr-regexp; (2) one or more rolo entries which each begin with hyrolo-entry-regexp and may be nested." - :group 'hyperbole-rolo :type '(repeat file)) (defcustom hyrolo-highlight-face 'match - "*Face used to highlight rolo search matches." + "Face used to highlight rolo search matches." :type 'face - :initialize #'custom-initialize-default - :group 'hyperbole-rolo) + :initialize #'custom-initialize-default) (defcustom hyrolo-kill-buffers-after-use nil - "*Non-nil means kill rolo file buffers after searching them for entries. + "Non-nil means kill rolo file buffers after searching them for entries. Only unmodified buffers are killed." - :type 'boolean - :group 'hyperbole-rolo) + :type 'boolean) (defcustom hyrolo-save-buffers-after-use t - "*Non-nil means save rolo file after an entry is killed." - :type 'boolean - :group 'hyperbole-rolo) + "Non-nil means save rolo file after an entry is killed." + :type 'boolean) ;; Insert or update the entry date each time an entry is added or edited. (add-hook 'hyrolo-add-hook #'hyrolo-set-date) (add-hook 'hyrolo-edit-hook #'hyrolo-set-date) -(defvar hyrolo-yank-reformat-function nil - "*A function of two arguments, START and END, invoked after a hyrolo-yank. +(defvar hyrolo-yank-reformat-function #'ignore + "*A function of two arguments, START and END, invoked after a `hyrolo-yank'. It should reformat the region given by the arguments to some preferred style. -Default value is nil, meaning no reformmating is
[elpa] externals/hyperbole 841535cf50 1/3: Remove some byte compilation warnings (#354)
branch: externals/hyperbole commit 841535cf507221278085a598a263328461d926ba Author: Mats Lidell Commit: GitHub Remove some byte compilation warnings (#354) * Remove some byte compilation warnings * hui.el: hpath.el: hbut.el: hbdata.el: Fix single quotes in docstrings. * kotl/kview.el (kcell-view:to-label-end): Add missing point to error message. * hactypes.el (require): Load hsys-org for org-fold-show-context. (link-to-org-id-marker): Use org-fold-show-context. (link-to-org-id): Silence byte compile warnings when org-roam not loaded. * Update after review comments --- ChangeLog | 12 hactypes.el | 10 +- hbdata.el | 12 ++-- hbut.el | 10 +- hpath.el | 4 ++-- hui.el| 4 ++-- kotl/kview.el | 4 ++-- 7 files changed, 34 insertions(+), 22 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6303b89bcc..2e0a3499c4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,17 @@ 2023-07-01 Mats Lidell +* hui.el: + hpath.el: + hbut.el: + hbdata.el: Fix single quotes in docstrings. + +* kotl/kview.el (kcell-view:to-label-end): Add missing point to error +message. + +* hactypes.el (require): Load hsys-org for org-fold-show-context. +(link-to-org-id-marker): Use org-fold-show-context. +(org-roam-id-find): declare-function. + * hyperbole.el: Preload `kotl-autoloads`. Submitted by Stefan Monnier. Thanks Stefan. diff --git a/hactypes.el b/hactypes.el index bf7744d347..981af765a9 100644 --- a/hactypes.el +++ b/hactypes.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date:23-Sep-91 at 20:34:36 -;; Last-Mod: 25-Jun-23 at 13:48:01 by Bob Weiner +;; Last-Mod: 1-Jul-23 at 23:06:38 by Mats Lidell ;; ;; SPDX-License-Identifier: GPL-3.0-or-later ;; @@ -18,7 +18,7 @@ ;;; Other required Elisp libraries ;;; -(eval-and-compile (mapc #'require '(bookmark hvar hsettings comint hbut hpath hargs hmail man))) +(eval-and-compile (mapc #'require '(bookmark hvar hsettings comint hbut hpath hargs hmail man hsys-org))) ;;; ;;; Public declarations @@ -27,6 +27,7 @@ (declare-function kotl-mode:goto-cell "kotl-mode") (declare-function kotl-mode:beginning-of-buffer "kotl-mode") (declare-function rmail:msg-to-p "hrmail") +(declare-function org-roam-id-find "âext:org-roam-id") ;;; ;;; Standard Hyperbole action types @@ -503,7 +504,7 @@ available. Filename may be given without the .info suffix." (hypb:error "(link-to-Info-node): Invalid Info node: `%s'" string))) (defact link-to-ibut (name-key &optional but-src point) - "Perform implicit button action specified by NAME-KEY, optional BUT-SRC and POINT. + "Activate implicit button given by NAME-KEY, optional BUT-SRC and POINT. NAME-KEY must be a normalized key for an ibut <[name]>. BUT-SRC defaults to the current buffer's file or if there is no attached file, then to its buffer name. POINT defaults to the @@ -612,7 +613,7 @@ See doc of `ibtypes::org-id' for usage." (org-mark-ring-push) (hact #'link-to-buffer-tmp (marker-buffer marker) marker) (move-marker marker nil) -(org-show-context)) +(org-fold-show-context)) (defact link-to-regexp-match (regexp n source &optional buffer-p) "Find REGEXP's Nth occurrence in SOURCE and display location at window top. @@ -739,4 +740,3 @@ Optional SECTIONS-START limits toc entries to those after that point." (provide 'hactypes) ;;; hactypes.el ends here - diff --git a/hbdata.el b/hbdata.el index 757bd7ece8..432e31b938 100644 --- a/hbdata.el +++ b/hbdata.el @@ -3,7 +3,7 @@ ;; Author: Bob Weiner ;; ;; Orig-Date: 2-Apr-91 -;; Last-Mod: 13-Jun-23 at 01:27:25 by Bob Weiner +;; Last-Mod: 30-Jun-23 at 22:36:04 by Mats Lidell ;; ;; SPDX-License-Identifier: GPL-3.0-or-later ;; @@ -288,9 +288,9 @@ class `hbdata' to operate on the entry." "Given NAME-KEY, return next ibutton instance number string for current buffer. If there is no existing ibutton with NAME-KEY, return t. -With NAME-KEY nil or NAME-KEY 'name' and no existing in-buffer ibutton +With NAME-KEY nil or NAME-KEY `name' and no existing in-buffer ibutton with that name, return t. -With NAME-KEY 'name' and highest in-buffer ibutton 'name:3', +With NAME-KEY `name' and highest in-buffer ibutton `name:3', return ':4'." (if (null name-key) t @@ -305,8 +305,8 @@ Instance number is returned as an integer. Return 1 if NAME-KEY exists in the buffer but no other instances do; nil if no instance. With no match, return nil. -With only 'name' found, return 1. -With 'name' and 'name:2' found, return 2." +With only `name' found, return 1. +With `name' and `name:2' found, return 2." (let
[elpa] externals/marginalia 8cffd7dcdb: Version 1.3
branch: externals/marginalia commit 8cffd7dcdb411f8796258183a4224653d407ae3f Author: Daniel Mendler Commit: Daniel Mendler Version 1.3 --- CHANGELOG.org | 2 +- marginalia.el | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.org b/CHANGELOG.org index 31b388321d..3d160c26e5 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -2,7 +2,7 @@ #+author: Omar AntolĂn Camarena, Daniel Mendler #+language: en -* Development +* Version 1.3 (2023-07-02) - =marginalia-classify-by-prompt=: Use case-insensitive matching. - =marginalia-annotate-symbol=: Additional symbol classes. Use =M= for module diff --git a/marginalia.el b/marginalia.el index 1494844f34..cd41cdf463 100644 --- a/marginalia.el +++ b/marginalia.el @@ -5,7 +5,7 @@ ;; Author: Omar AntolĂn Camarena , Daniel Mendler ;; Maintainer: Omar AntolĂn Camarena , Daniel Mendler ;; Created: 2020 -;; Version: 1.2 +;; Version: 1.3 ;; Package-Requires: ((emacs "27.1") (compat "29.1.4.0")) ;; Homepage: https://github.com/minad/marginalia ;; Keywords: docs, help, matching, completion
[elpa] externals/org-modern 63372bda43: Version 0.10
branch: externals/org-modern commit 63372bda43a9d0dd9940c1ec3c53f752b642ac41 Author: Daniel Mendler Commit: Daniel Mendler Version 0.10 --- CHANGELOG.org | 3 ++- org-modern.el | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.org b/CHANGELOG.org index 487a621ab3..dcb0f01384 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -2,8 +2,9 @@ #+author: Daniel Mendler #+language: en -* Development +* Version 0.10 (2023-07-02) +- Bugfixes. - Fix star prettification if =org-indent-mode= is enabled. - Prettify =filetags=. diff --git a/org-modern.el b/org-modern.el index 8832603822..0416a6e644 100644 --- a/org-modern.el +++ b/org-modern.el @@ -5,7 +5,7 @@ ;; Author: Daniel Mendler ;; Maintainer: Daniel Mendler ;; Created: 2022 -;; Version: 0.9 +;; Version: 0.10 ;; Package-Requires: ((emacs "27.1") (compat "29.1.4.0")) ;; Homepage: https://github.com/minad/org-modern ;; Keywords: outlines, hypermedia, wp
[elpa] externals/osm b2481ef66d: Version 0.13
branch: externals/osm commit b2481ef66d4443402bfbac66cbbfe51a52152407 Author: Daniel Mendler Commit: Daniel Mendler Version 0.13 --- CHANGELOG.org | 2 +- osm.el| 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.org b/CHANGELOG.org index 9880062d0f..8f20ceeccc 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -2,7 +2,7 @@ #+author: Daniel Mendler #+language: en -* Development +* Version 0.13 (2023-07-02) - Provide =osm-prefix-map=. - =osm-server-list=: Add support for an api-key placeholder =%k= in the server =:url=. diff --git a/osm.el b/osm.el index 33652243fb..a09e50c52f 100644 --- a/osm.el +++ b/osm.el @@ -5,7 +5,7 @@ ;; Author: Daniel Mendler ;; Maintainer: Daniel Mendler ;; Created: 2022 -;; Version: 0.12 +;; Version: 0.13 ;; Package-Requires: ((emacs "27.1") (compat "29.1.4.0")) ;; Homepage: https://github.com/minad/osm ;; Keywords: network, multimedia, hypermedia, mouse
[elpa] externals/tempel fd46702a84: Version 0.8
branch: externals/tempel commit fd46702a849b23c9d9b39cb7810a6d727655d9d0 Author: Daniel Mendler Commit: Daniel Mendler Version 0.8 --- CHANGELOG.org | 2 +- tempel.el | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.org b/CHANGELOG.org index 7a51a1ea3f..b26890bafa 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -2,7 +2,7 @@ #+author: Daniel Mendler #+language: en -* Development +* Version 0.8 (2023-07-02) - Ensure that modification hooks are never inhibited during field modification, which is needed for lsp-mode in order to keep the server synchronized. diff --git a/tempel.el b/tempel.el index c6f867ea0d..8dd23a64c9 100644 --- a/tempel.el +++ b/tempel.el @@ -5,7 +5,7 @@ ;; Author: Daniel Mendler ;; Maintainer: Daniel Mendler ;; Created: 2022 -;; Version: 0.7 +;; Version: 0.8 ;; Package-Requires: ((emacs "27.1") (compat "29.1.4.0")) ;; Homepage: https://github.com/minad/tempel ;; Keywords: abbrev, languages, tools, wp
[elpa] externals/vertico 0a8994adeb 1/3: Update changelog
branch: externals/vertico commit 0a8994adeb8dccde3d3e7e56d999dd787e2f494d Author: Daniel Mendler Commit: Daniel Mendler Update changelog --- CHANGELOG.org | 6 ++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.org b/CHANGELOG.org index 3b966102f6..20f9a1542b 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -2,6 +2,12 @@ #+author: Daniel Mendler #+language: en +* Development + +- =vertico-grid-annotate=: Fix width computation. +- =vertico--display-string=: Fix display issue with =consult-line= and =org-modern=. +- Set =scroll-margin=0= in the minibuffer. + * Version 1.3 (2023-04-25) - =vertico-grid-annotate= and =vertico-flat-annotate=: New customization variables
[elpa] externals/vertico updated (d3cb3d10e0 -> 30d8782356)
elpasync pushed a change to branch externals/vertico. from d3cb3d10e0 Remove unused customization option new 0a8994adeb Update changelog new 438f9a47f8 Version 1.4 new 30d8782356 vertico-directory-enter: Exit with input if prefix argument is given Summary of changes: CHANGELOG.org | 11 +++ extensions/vertico-buffer.el | 2 +- extensions/vertico-directory.el | 14 -- extensions/vertico-flat.el| 2 +- extensions/vertico-grid.el| 2 +- extensions/vertico-indexed.el | 2 +- extensions/vertico-mouse.el | 2 +- extensions/vertico-multiform.el | 2 +- extensions/vertico-quick.el | 2 +- extensions/vertico-repeat.el | 2 +- extensions/vertico-reverse.el | 2 +- extensions/vertico-unobtrusive.el | 2 +- vertico.el| 2 +- 13 files changed, 30 insertions(+), 17 deletions(-)
[elpa] externals/vertico 30d8782356 3/3: vertico-directory-enter: Exit with input if prefix argument is given
branch: externals/vertico commit 30d8782356b126719346b6f8d3c5a196db15424a Author: Daniel Mendler Commit: Daniel Mendler vertico-directory-enter: Exit with input if prefix argument is given --- CHANGELOG.org | 5 + extensions/vertico-directory.el | 12 +++- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.org b/CHANGELOG.org index 2855a00144..cc8db48b6b 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -2,6 +2,11 @@ #+author: Daniel Mendler #+language: en +* Development + +- =vertico-directory-enter=: Exit with input if prefix argument is given. Mirrors + the behavior of =vertico-exit=. + * Version 1.4 (2023-07-02) - =vertico-grid-annotate=: Fix width computation. diff --git a/extensions/vertico-directory.el b/extensions/vertico-directory.el index 544f76dc21..79f9a75206 100644 --- a/extensions/vertico-directory.el +++ b/extensions/vertico-directory.el @@ -42,10 +42,12 @@ (eval-when-compile (require 'subr-x)) ;;;###autoload -(defun vertico-directory-enter () - "Enter directory or exit completion with current candidate." - (interactive) - (if-let (((>= vertico--index 0)) +(defun vertico-directory-enter (&optional arg) + "Enter directory or exit completion with current candidate. +Exit with current input if prefix ARG is given." + (interactive "P") + (if-let (((not arg)) + ((>= vertico--index 0)) ((eq 'file (vertico--metadata-get 'category))) ;; Check vertico--base for stepwise file path completion ((not (equal vertico--base ""))) @@ -62,7 +64,7 @@ (setq cand (replace-regexp-in-string "/[^/|:]+/\\.\\./\\'" "/" cand))) (delete-minibuffer-contents) (insert cand)) -(vertico-exit))) +(vertico-exit arg))) ;;;###autoload (defun vertico-directory-up (&optional n)
[elpa] externals/vertico 438f9a47f8 2/3: Version 1.4
branch: externals/vertico commit 438f9a47f8adc0c1d3de056c190d4edba3d4ad35 Author: Daniel Mendler Commit: Daniel Mendler Version 1.4 --- CHANGELOG.org | 2 +- extensions/vertico-buffer.el | 2 +- extensions/vertico-directory.el | 2 +- extensions/vertico-flat.el| 2 +- extensions/vertico-grid.el| 2 +- extensions/vertico-indexed.el | 2 +- extensions/vertico-mouse.el | 2 +- extensions/vertico-multiform.el | 2 +- extensions/vertico-quick.el | 2 +- extensions/vertico-repeat.el | 2 +- extensions/vertico-reverse.el | 2 +- extensions/vertico-unobtrusive.el | 2 +- vertico.el| 2 +- 13 files changed, 13 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.org b/CHANGELOG.org index 20f9a1542b..2855a00144 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -2,7 +2,7 @@ #+author: Daniel Mendler #+language: en -* Development +* Version 1.4 (2023-07-02) - =vertico-grid-annotate=: Fix width computation. - =vertico--display-string=: Fix display issue with =consult-line= and =org-modern=. diff --git a/extensions/vertico-buffer.el b/extensions/vertico-buffer.el index e5c29ebb06..b9dcfe4ea2 100644 --- a/extensions/vertico-buffer.el +++ b/extensions/vertico-buffer.el @@ -6,7 +6,7 @@ ;; Maintainer: Daniel Mendler ;; Created: 2021 ;; Version: 0.1 -;; Package-Requires: ((emacs "27.1") (vertico "1.3")) +;; Package-Requires: ((emacs "27.1") (vertico "1.4")) ;; Homepage: https://github.com/minad/vertico ;; This file is part of GNU Emacs. diff --git a/extensions/vertico-directory.el b/extensions/vertico-directory.el index ee98bdbad7..544f76dc21 100644 --- a/extensions/vertico-directory.el +++ b/extensions/vertico-directory.el @@ -6,7 +6,7 @@ ;; Maintainer: Daniel Mendler ;; Created: 2021 ;; Version: 0.1 -;; Package-Requires: ((emacs "27.1") (vertico "1.3")) +;; Package-Requires: ((emacs "27.1") (vertico "1.4")) ;; Homepage: https://github.com/minad/vertico ;; This file is part of GNU Emacs. diff --git a/extensions/vertico-flat.el b/extensions/vertico-flat.el index e4a41312a5..0666e1064a 100644 --- a/extensions/vertico-flat.el +++ b/extensions/vertico-flat.el @@ -6,7 +6,7 @@ ;; Maintainer: Daniel Mendler ;; Created: 2021 ;; Version: 0.1 -;; Package-Requires: ((emacs "27.1") (vertico "1.3")) +;; Package-Requires: ((emacs "27.1") (vertico "1.4")) ;; Homepage: https://github.com/minad/vertico ;; This file is part of GNU Emacs. diff --git a/extensions/vertico-grid.el b/extensions/vertico-grid.el index e3654da437..ef299571b3 100644 --- a/extensions/vertico-grid.el +++ b/extensions/vertico-grid.el @@ -6,7 +6,7 @@ ;; Maintainer: Daniel Mendler ;; Created: 2021 ;; Version: 0.1 -;; Package-Requires: ((emacs "27.1") (vertico "1.3")) +;; Package-Requires: ((emacs "27.1") (vertico "1.4")) ;; Homepage: https://github.com/minad/vertico ;; This file is part of GNU Emacs. diff --git a/extensions/vertico-indexed.el b/extensions/vertico-indexed.el index 268562c336..6c8f0d73bb 100644 --- a/extensions/vertico-indexed.el +++ b/extensions/vertico-indexed.el @@ -6,7 +6,7 @@ ;; Maintainer: Daniel Mendler ;; Created: 2021 ;; Version: 0.1 -;; Package-Requires: ((emacs "27.1") (vertico "1.3")) +;; Package-Requires: ((emacs "27.1") (vertico "1.4")) ;; Homepage: https://github.com/minad/vertico ;; This file is part of GNU Emacs. diff --git a/extensions/vertico-mouse.el b/extensions/vertico-mouse.el index 25c53b8ae6..94c5739b8b 100644 --- a/extensions/vertico-mouse.el +++ b/extensions/vertico-mouse.el @@ -6,7 +6,7 @@ ;; Maintainer: Daniel Mendler ;; Created: 2021 ;; Version: 0.1 -;; Package-Requires: ((emacs "27.1") (vertico "1.3")) +;; Package-Requires: ((emacs "27.1") (vertico "1.4")) ;; Homepage: https://github.com/minad/vertico ;; This file is part of GNU Emacs. diff --git a/extensions/vertico-multiform.el b/extensions/vertico-multiform.el index 4953e7c136..6b06ae4ab4 100644 --- a/extensions/vertico-multiform.el +++ b/extensions/vertico-multiform.el @@ -6,7 +6,7 @@ ;; Maintainer: Daniel Mendler ;; Created: 2021 ;; Version: 0.1 -;; Package-Requires: ((emacs "27.1") (vertico "1.3")) +;; Package-Requires: ((emacs "27.1") (vertico "1.4")) ;; Homepage: https://github.com/minad/vertico ;; This file is part of GNU Emacs. diff --git a/extensions/vertico-quick.el b/extensions/vertico-quick.el index 930ef2d958..442d9e15e1 100644 --- a/extensions/vertico-quick.el +++ b/extensions/vertico-quick.el @@ -6,7 +6,7 @@ ;; Maintainer: Daniel Mendler ;; Created: 2021 ;; Version: 0.1 -;; Package-Requires: ((emacs "27.1") (vertico "1.3")) +;; Package-Requires: ((emacs "27.1") (vertico "1.4")) ;; Homepage: https://github.com/minad/vertico ;; This file is part of GNU Emacs. diff --git a/extensions/vertico-repeat.el b/extensions/vertico-repeat.el index f342ea467a..2317ef8e4f 100644 --- a/extensions/vertico-repeat.el +++ b/extensions/vertico-repeat.el @@ -6,7 +6,7 @@ ;; Maintainer: Daniel Mendler ;; Cre
[nongnu] elpa/evil updated (4d0088dc66 -> 2a0f8d8a83)
elpasync pushed a change to branch elpa/evil. from 4d0088dc66 Small cleanups new d2770cac1e Store command properties as symbol property new 2a0f8d8a83 Remove evil-repeat-start-hook Summary of changes: evil-commands.el | 2 +- evil-common.el | 340 +++ evil-core.el | 43 +++ evil-ex.el | 13 +-- evil-macros.el | 76 ++--- evil-repeat.el | 71 ++-- evil-states.el | 25 ++-- evil-tests.el| 9 +- evil-vars.el | 16 +-- 9 files changed, 246 insertions(+), 349 deletions(-)
[nongnu] elpa/evil 2a0f8d8a83 2/2: Remove evil-repeat-start-hook
branch: elpa/evil commit 2a0f8d8a83a57311c62e0597ace6992aa5992f12 Author: Axel Forsman Commit: Axel Forsman Remove evil-repeat-start-hook 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. --- evil-macros.el | 2 +- evil-repeat.el | 68 +- evil-states.el | 25 +++-- evil-tests.el | 9 evil-vars.el | 13 ++- 5 files changed, 49 insertions(+), 68 deletions(-) diff --git a/evil-macros.el b/evil-macros.el index 9e7d2f34c4..ebc188e0c4 100644 --- a/evil-macros.el +++ b/evil-macros.el @@ -58,7 +58,7 @@ The return value is a list (BEG END TYPE)." (evil-this-type (or type (evil-get-command-property motion :type 'exclusive (condition-case err - (let ((repeat-type (evil-repeat-type motion t))) + (let ((repeat-type (evil--repeat-type motion))) (when (functionp repeat-type) (funcall repeat-type 'pre)) (unless (with-local-quit (setq range (call-interactively motion)) diff --git a/evil-repeat.el b/evil-repeat.el index edc6db1e44..b9141fb5b4 100644 --- a/evil-repeat.el +++ b/evil-repeat.el @@ -122,12 +122,6 @@ (require 'evil-states) -(declare-function evil-visual-state-p "evil-visual") -(declare-function evil-visual-range "evil-visual") -(declare-function evil-visual-char "evil-visual") -(declare-function evil-visual-line "evil-visual") -(declare-function evil-visual-block "evil-visual") - (defmacro evil-without-repeat (&rest body) (declare (indent defun) (debug t)) @@ -173,8 +167,7 @@ Update `evil-repeat-ring' with the accumulated changes in `evil-repeat-info' and clear variables." (unwind-protect (when (evil-repeat-recording-p) -(setq evil-repeat-info - (evil-normalize-repeat-info evil-repeat-info)) +(setq evil-repeat-info (evil-normalize-repeat-info evil-repeat-info)) (when (and evil-repeat-info evil-repeat-ring) (ring-insert evil-repeat-ring evil-repeat-info))) (evil-repeat-reset nil))) @@ -224,43 +217,51 @@ buffer is known and different from the current buffer." (not (minibufferp)) (not (eq (current-buffer) evil-repeat-buffer +(defvar evil-repeat-types + '((t . evil-repeat-keystrokes) +(change . evil-repeat-changes) +(motion . evil-repeat-motion) +(insert-at-point . evil-repeat-insert-at-point) +(ignore . nil)) + "Alist of defined repeat-types.") + +(defun evil--repeat-type (command) + "Return the :repeat property of COMMAND." + (when (functionp command) ; ignore keyboard macros +(let* ((type (evil-get-command-property command :repeat t)) + (repeat-type (assq type evil-repeat-types))) + (if repeat-type (cdr repeat-type) type + (defun evil-repeat-type (command &optional default) "Return the :repeat property of COMMAND. If COMMAND doesn't have this property, return DEFAULT." + (declare (obsolete evil--repeat-type "1.15.0")) (when (functionp command) ; ignore keyboard macros (let* ((type (evil-get-command-property command :repeat default)) (repeat-type (assq type evil-repeat-types))) (if repeat-type (cdr repeat-type) type (defun evil-repeat-force-abort-p (repeat-type) - "Return non-nil iff the current command should abort the recording of repeat information." - (or (evil-repeat-different-buffer-p) ; ... buffer changed - (eq repeat-type 'abort); ... explicitely forced - (eq evil-recording-repeat 'abort) ; ... already aborted - (evil-emacs-state-p) ; ... in Emacs state - (and (evil-mouse-events-p (this-command-keys)) ; ... mouse events + "Return non-nil if the current command should abort the recording of repeat info." + (or (evil-repeat-different-buffer-p) ; ... buffer changed + (eq repeat-type 'abort) ; ... explicitely forced + (eq evil-recording-repeat 'abort) ; ... already aborted + (evil-emacs-state-p) ; ... in Emacs state + (and (evil-mouse-events-p ; ... mouse events +(this-command-keys-vector)) (eq repeat-type nil)) - (minibufferp))); ... minibuffer activated + (minibufferp))) ; ... minibuffer activated (defun evil-repeat-record (info) - "Add INFO to the end of `evil-repeat-info'." + "Append INFO to `evil-repeat-info'." (when (evil-repeat-recording-p) (setq evil-repeat-info (nconc evil-repeat-info (list info) -;; called from `evil-normal-state-exit-hook' -(defun evil-repeat-start-hook () - "Record a new repeat when exiting Normal state. -Does not record in Emacs
[nongnu] elpa/evil d2770cac1e 1/2: Store command properties as symbol property
branch: elpa/evil commit d2770cac1e3b3c59172adc7dc6f575a0e871310f Author: Axel Forsman Commit: Axel Forsman Store command properties as symbol property Also replace a few calls to evil-filter-list that destructively modified user-provided lists with cl-remove-if. --- evil-commands.el | 2 +- evil-common.el | 340 +++ evil-core.el | 43 +++ evil-ex.el | 13 +-- evil-macros.el | 74 +--- evil-repeat.el | 3 +- evil-vars.el | 3 - 7 files changed, 197 insertions(+), 281 deletions(-) diff --git a/evil-commands.el b/evil-commands.el index 68e9663e4b..e654487c1f 100644 --- a/evil-commands.el +++ b/evil-commands.el @@ -1524,7 +1524,7 @@ Save in REGISTER or in the kill-ring with YANK-HANDLER." (or (= beg end) (/= (char-before end) ?\n)) (/= beg (point-min)) - (= (char-before beg) ?\n)) + (= (char-before beg) ?\n)) (delete-region (1- beg) end)) (t (delete-region beg end))) (when (and (eq type 'line) diff --git a/evil-common.el b/evil-common.el index 49a5456d9c..e1ce7df4d9 100644 --- a/evil-common.el +++ b/evil-common.el @@ -76,47 +76,21 @@ the buffer-local value of HOOK is modified." ;;; List functions -(defmacro evil--add-to-alist (list-var &rest elements) - "Add the assocation of KEY and VAL to the value of LIST-VAR. +(defmacro evil--add-to-alist (alist &rest elements) + "Add the association of KEY and VAL to the value of ALIST. If the list already contains an entry for KEY, update that entry; -otherwise add at the end of the list. +otherwise prepend it to the list. -\(fn LIST-VAR KEY VAL &rest ELEMENTS)" - (when (eq (car-safe list-var) 'quote) -(setq list-var (cadr list-var))) +\(fn ALIST [KEY VAL]...)" `(progn - ,@(if (version< emacs-version "26") - ;; TODO: Remove this path when support for Emacs 25 is dropped - (cl-loop for (key val) on elements by #'cddr -collect `(let* ((key ,key) -(val ,val) -(cell (assoc key ,list-var))) - (if cell - (setcdr cell val) - (push (cons key val) ,list-var - (cl-loop for (key val) on elements by #'cddr - collect `(setf (alist-get ,key ,list-var nil nil #'equal) ,val))) - ,list-var)) - -(defun evil-add-to-alist (list-var key val &rest elements) - "Add the assocation of KEY and VAL to the value of LIST-VAR. -If the list already contains an entry for KEY, update that entry; -otherwise add at the end of the list." - (let ((tail (symbol-value list-var))) -(while (and tail (not (equal (car-safe (car-safe tail)) key))) - (setq tail (cdr tail))) -(if tail -(setcar tail (cons key val)) - (set list-var (append (symbol-value list-var) -(list (cons key val) -(if elements -(with-no-warnings - (apply #'evil-add-to-alist list-var elements)) - (symbol-value list-var - -(make-obsolete 'evil-add-to-alist - "use `evil--add-to-alist' instead. You may need to recompile code with evil macros." - "1.13.1") + ,@(cl-loop +for (key val) on elements by #'cddr collect +(if (< emacs-major-version 26) +(macroexp-let2* nil ((k key) (p `(assoc ,k ,alist))) + `(if ,p (setcdr ,p ,val) + (push (cons ,k ,val) ,alist))) + `(setf (alist-get ,key ,alist nil nil #'equal) ,val))) + ,alist)) ;; custom version of `delete-if' (defun evil-filter-list (predicate list &optional pointer) @@ -153,6 +127,7 @@ in the list." (defun evil-member-recursive-if (predicate tree) "Find the first item satisfying PREDICATE in TREE." + (declare (obsolete nil "1.15.0")) (cond ((funcall predicate tree) tree) @@ -308,30 +283,22 @@ last, sorting in between." [&optional ("interactive" [&rest form])] def-body))) (let ((interactive '(interactive)) -arg args doc doc-form key keys) +args doc doc-form keys) ;; collect arguments -(when (listp (car-safe body)) +(when (listp (car body)) (setq args (pop body))) ;; collect docstring -(when (> (length body) 1) - (if (eq (car-safe (car-safe body)) 'format) - (setq doc-form (pop body)) -(when (stringp (car-safe body)) - (setq doc (pop body) +(cond ((stringp (car body)) (setq doc (pop body))) + ((eq (car-safe (car body)) #'format) (setq doc-form (pop body ;; collect keywords -(setq keys (plist-put keys :repeat t)) -(while (keywordp (car-safe body)) - (setq key (pop body) -arg (pop body)) - (unless nil ; TODO: add keyword check -(setq keys (plist-put keys key arg
[nongnu] elpa/helm updated (87059794e9 -> 179e6c30aa)
elpasync pushed a change to branch elpa/helm. from 87059794e9 Ensure [+] is used and documented everywhere new 2eb150766a Get rid of the icon FCT in HFF new 179e6c30aa Forget to remove the icon FCT in read-file-name Summary of changes: helm-files.el | 165 +- helm-mode.el | 5 +- 2 files changed, 83 insertions(+), 87 deletions(-)
[nongnu] elpa/helm 179e6c30aa 2/2: Forget to remove the icon FCT in read-file-name
branch: elpa/helm commit 179e6c30aad85d9b5059ab2290532ca45f821a8a Author: Thierry Volpiatto Commit: Thierry Volpiatto Forget to remove the icon FCT in read-file-name --- helm-mode.el | 5 + 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/helm-mode.el b/helm-mode.el index 7d2858a838..b6ca7a76b6 100644 --- a/helm-mode.el +++ b/helm-mode.el @@ -1541,10 +1541,7 @@ Keys description: :match-on-real t :filtered-candidate-transformer (delq nil `(helm-ff-fct helm-ff-maybe-show-thumbnails - helm-ff-sort-candidates - ,(and helm-ff-icon-mode - (featurep 'all-the-icons) - 'helm-ff-icons-transformer))) + helm-ff-sort-candidates)) :persistent-action-if persistent-action-if :persistent-help persistent-help :volatile t
[nongnu] elpa/helm-core updated (87059794e9 -> 179e6c30aa)
elpasync pushed a change to branch elpa/helm-core. from 87059794e9 Ensure [+] is used and documented everywhere adds 2eb150766a Get rid of the icon FCT in HFF adds 179e6c30aa Forget to remove the icon FCT in read-file-name No new revisions were added by this update. Summary of changes: helm-files.el | 165 +- helm-mode.el | 5 +- 2 files changed, 83 insertions(+), 87 deletions(-)
[nongnu] elpa/helm 2eb150766a 1/2: Get rid of the icon FCT in HFF
branch: elpa/helm commit 2eb150766aad6dac6ac418dd3ad4f9335347eb4e Author: Thierry Volpiatto Commit: Thierry Volpiatto Get rid of the icon FCT in HFF It is faster, the behavior of helm-ff-prefix-filename is now more clear, no need to rebuild source when toggling helm-ff-icon-mode. Icons are now added from helm-ff-prefix-filename. --- helm-files.el | 165 +- 1 file changed, 82 insertions(+), 83 deletions(-) diff --git a/helm-files.el b/helm-files.el index 4a58b89d00..3cff97ef66 100644 --- a/helm-files.el +++ b/helm-files.el @@ -3936,22 +3936,24 @@ in `helm-find-files-persistent-action-if'." "Run open file externally without quitting helm." 'open-file-externally 'helm-ff-persistent-open-file-externally) -(defun helm-ff-prefix-filename (fname &optional file-or-symlinkp new-file) - "Add display property to FNAME. -Display property presents a string maybe prefixed with [+] or [@]. -If FILE-OR-SYMLINKP is non-nil this means we assume FNAME is an -existing filename or valid symlink and there is no need to test -it. -NEW-FILE when non-nil means FNAME is a non existing file and -return FNAME with display property prefixed with [+]." +(defun helm-ff-prefix-filename (disp fname &optional new-file) + "Return DISP maybe prefixed with a string or an icon. + +Arg FNAME is the real filename whereas DISP is the display part of candidate. + +Icons are used when `helm-ff-icon-mode' is enabled. + +When NEW-FILE is non nil, returns a string prefixed with +[+] or [@] or a special icon, otherwise DISP is +returned prefixed with its icon or unchanged." (let (prefix-new prefix-url) -(cond (file-or-symlinkp fname) - ((or (string-match helm-ff-url-regexp fname) - (and helm--url-regexp -(string-match helm--url-regexp fname))) +(cond ((and new-file +(or (string-match helm-ff-url-regexp disp) +(and helm--url-regexp + (string-match helm--url-regexp disp (setq prefix-url (if helm-ff-icon-mode - (helm-acase (match-string 1 fname) + (helm-acase (match-string 1 disp) ("mailto:"; (all-the-icons-octicon "mail")) (t (all-the-icons-octicon "link-external"))) @@ -3959,18 +3961,19 @@ return FNAME with display property prefixed with [+]." " " 'display (propertize "[@]" 'face 'helm-ff-prefix (add-text-properties 0 1 '(helm-url t) prefix-url) - (concat prefix-url " " fname)) + (concat prefix-url " " disp)) (new-file (setq prefix-new (if helm-ff-icon-mode - (if (string-match "/\\'" fname) + (if (string-match "/\\'" disp) (all-the-icons-material "create_new_folder") (all-the-icons-material "note_add")) (propertize " " 'display (propertize "[+]" 'face 'helm-ff-prefix (add-text-properties 0 1 '(helm-new-file t) prefix-new) - (concat prefix-new " " fname) + (concat prefix-new " " disp)) + (t (concat (helm-ff-get-icon disp fname) disp) (defun helm-ff-score-candidate-for-pattern (real disp pattern) (cond ((member real '("." "..")) 90) @@ -4085,17 +4088,26 @@ If SKIP-BORING-CHECK is non nil don't filter boring files." (helm-file-on-mounted-network-p helm-pattern))) (helm-acond (;; Dot directories . and .. dot - (cons (propertize file 'face 'helm-ff-dotted-directory) file)) + (cons (helm-ff-prefix-filename + (propertize file 'face 'helm-ff-dotted-directory) + file) + file)) ;; Directories. ((get-text-property 1 'helm-ff-dir file) - (cons (propertize disp 'face 'helm-ff-directory) file)) + (cons (helm-ff-prefix-filename + (propertize disp 'face 'helm-ff-directory) + file) + file)) ;; Backup files. (backup - (cons (propertize disp 'face 'helm-ff-backup-file) file)) + (cons (helm-ff-prefix-filename + (propertize disp 'face 'helm-ff-backup-file) + file) + file)) ;; Executable files. ((get-text-property 1 'helm-ff-exe file) (add-face-text-property 0 len 'helm-ff-executable t disp) -
[elpa] externals/jinx 6541afe26f: jinx-exclude-regexps: Ignore hyphens used as bullet points (Fix #87)
branch: externals/jinx commit 6541afe26fd1ce3f981052c2592d63bdfe54878d Author: Daniel Mendler Commit: Daniel Mendler jinx-exclude-regexps: Ignore hyphens used as bullet points (Fix #87) --- jinx.el | 1 + 1 file changed, 1 insertion(+) diff --git a/jinx.el b/jinx.el index 4604975a75..4c493be18c 100644 --- a/jinx.el +++ b/jinx.el @@ -148,6 +148,7 @@ checking." (defcustom jinx-exclude-regexps '((emacs-lisp-mode "Package-Requires:.*$") (t "[A-Z]+\\>" ;; Uppercase words + "-\\>" ;; Hyphens used as bullet points "\\w*?[0-9]\\w*\\>" ;; Words with numbers, hex codes "[a-z]+://\\S-+";; URI "?" ;; Email
[nongnu] elpa/geiser-stklos 364d922b39 3/4: Implement logging (STklos side only)
branch: elpa/geiser-stklos commit 364d922b392589d0e9915273bd1c7d9947e9e9e9 Author: Jeronimo Pellegrini Commit: Jeronimo Pellegrini Implement logging (STklos side only) geiser-stklos-log-file can now be used to customize the name of the log file used for the STklos process. The Emacs side is still missing. --- geiser-stklos.el | 19 +++ geiser.stk | 15 --- 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/geiser-stklos.el b/geiser-stklos.el index 5f8566f2d8..bc21528ac8 100644 --- a/geiser-stklos.el +++ b/geiser-stklos.el @@ -130,8 +130,10 @@ option." (geiser-custom--defcustom geiser-stklos-log-file "" "Name of the file where the STklos part of the system will log its -actions. FOR GEISER-STKLOS DEVELOPMENT ONLY -- currently there is no -effect for the common user." +actions. Note that forms are sent from emacs to STklos, and then +from STklos back to Emacs. This is the file where *only* the +STklos process will show the forms it receives, and the answer it +gives back to Emacs. Leave empty for no logging." :type 'string :group 'geiser-stklos) @@ -362,11 +364,20 @@ Argument BINARY is a string containing the binary name." "Hook for startup. The argument is ignored." (let ((geiser-log-verbose-p t)) (compilation-setup t) + +;; If the user wants to log the forms that STklos receives, and the +;; answer it gives back, we send to STklos the form +;; +;; (geiser:eval "GEISER" (geiser:set-log-file FILENAME)) +;; +;; besides (newline), which we always send. +;; This is *only* the STklos part of logging. The STklos process will +;; log the forms received and sent back. (let ((c (if (zerop (length geiser-stklos-log-file)) "(newline)" - (concat "(begin (geiser:eval \"GEISER\" geiser:set-log-file " + (concat "(begin (geiser:eval \"GEISER\" (geiser:set-log-file \"" geiser-stklos-log-file - ") (newline))" + "\")) (newline))" (geiser-eval--send/wait c (defconst geiser-stklos-builtin-keywords diff --git a/geiser.stk b/geiser.stk index 84b6add19f..863b8639cc 100644 --- a/geiser.stk +++ b/geiser.stk @@ -32,10 +32,16 @@ (when (string? name) (set! geiser-log-file (open-output-file name +;; The variable geiser-log-file may be a port, but it may also +;; be #f when no logging is going on, so this wrapper is used to +;; flush it. +(define (flush-when-port p) + (when (output-port? p) (flush-output-port p))) + (define (geiser-format port . rest) (when (output-port? port) (apply format (cons port rest)) -(flush-output-port port))) +(flush-when-port port))) ;; executes thunk, with all its output (standar and error) redirected ;; to a string. @@ -88,7 +94,8 @@ `((result ,@result) (output . ,output (write out-form) - (geiser-format geiser-log-file "call-with-result response: ~s~%" out-form)) + (geiser-format geiser-log-file "call-with-result response: ~s~%" out-form) + (flush-when-port geiser-log-file)) (newline))) @@ -112,7 +119,8 @@ (define (geiser:eval module-name form . rest) (geiser-format geiser-log-file "_~%") (geiser-format geiser-log-file "geiser:eval form: ~s~%" form) - + (flush-when-port geiser-log-file) + ;; All calls start at toplevel (let ((module (or (and (symbol? module-name ) (find-module module-name)) @@ -124,6 +132,7 @@ (lambda () (eval form module) (let ((ret (call-with-result thunk))) (geiser-format geiser-log-file "geiser:eval return: ~s~%" ret) +(flush-when-port geiser-log-file) ret
[nongnu] elpa/geiser-stklos updated (6ae96bfb96 -> 0e5dc47f07)
elpasync pushed a change to branch elpa/geiser-stklos. from 6ae96bfb96 Fix STklos not autloading new c108d2a921 Break docstrings at 80 characters new d3caaf3e8e Add symbols to the highlited list new 364d922b39 Implement logging (STklos side only) new 0e5dc47f07 Add comment about logging being supported Summary of changes: geiser-stklos.el | 45 ++--- geiser.stk | 15 --- 2 files changed, 50 insertions(+), 10 deletions(-)
[nongnu] elpa/geiser-stklos 0e5dc47f07 4/4: Add comment about logging being supported
branch: elpa/geiser-stklos commit 0e5dc47f079d0652381441aee4e84d3c48da96f2 Author: Jeronimo Pellegrini Commit: Jeronimo Pellegrini Add comment about logging being supported --- geiser-stklos.el | 1 + 1 file changed, 1 insertion(+) diff --git a/geiser-stklos.el b/geiser-stklos.el index bc21528ac8..359eac7685 100644 --- a/geiser-stklos.el +++ b/geiser-stklos.el @@ -43,6 +43,7 @@ ;; * autodoc (signature of procedures and values of symbols are displayed in the minibuffer ;; when the mouse hovers over their names) ;; * symbol documentation (docstrings for procedures, and values of variables) +;; * logging (STklos side only) ;; ;; Unsupported Geiser features ;; âââ
[nongnu] elpa/geiser-stklos c108d2a921 1/4: Break docstrings at 80 characters
branch: elpa/geiser-stklos commit c108d2a921fe61c544d15314e68564e4ddac27b1 Author: Jeronimo Pellegrini Commit: Jeronimo Pellegrini Break docstrings at 80 characters --- geiser-stklos.el | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/geiser-stklos.el b/geiser-stklos.el index 6839f3fff7..2e8914fdfd 100644 --- a/geiser-stklos.el +++ b/geiser-stklos.el @@ -213,7 +213,8 @@ Optional argument ARGS are the arguments to the procedure." (defconst geiser-stklos--module-re "(define-\\(module\\|library\\) +\\([^) ]+\\)" - "Regular expression used to try to guess which module the current file is associated to.") + "Regular expression used to try to guess which module the current +file is associated to.") (defun geiser-stklos--find-close-par (&optional start-point) @@ -384,7 +385,8 @@ Argument BINARY is a string containing the binary name." "These are symbols that we want to be highlighted in STklos code.") (defun geiser-stklos--keywords () - "The symbols that are to be highlighted as keywords, besides the standard Scheme ones." + "The symbols that are to be highlighted as keywords, besides the +standard Scheme ones." (append (geiser-syntax--simple-keywords geiser-stklos-extra-keywords) (geiser-syntax--simple-keywords geiser-stklos-builtin-keywords)))
[nongnu] elpa/geiser-stklos d3caaf3e8e 2/4: Add symbols to the highlited list
branch: elpa/geiser-stklos commit d3caaf3e8e9ca7789554f6579c08970af69a6c38 Author: Jeronimo Pellegrini Commit: Jeronimo Pellegrini Add symbols to the highlited list --- geiser-stklos.el | 19 ++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/geiser-stklos.el b/geiser-stklos.el index 2e8914fdfd..5f8566f2d8 100644 --- a/geiser-stklos.el +++ b/geiser-stklos.el @@ -378,9 +378,26 @@ Argument BINARY is a string containing the binary name." "define-struct" "dotimes" "fluid-let" +"include-file" "macro-expand" +"match-case" "repeat" +"require-extension" +"require-feature" +"require-for-syntax" +"require-library" "tagbody" +"until" +"when-compile" +"when-load-and-compile" +"with-error-to-file" +"with-error-to-port" +"with-input-from-port" +"with-input-from-string" +"with-mutex" +"with-output-to-port" +"with-output-to-string" +"while" "with-handler" ) "These are symbols that we want to be highlighted in STklos code.") @@ -416,7 +433,7 @@ standard Scheme ones." (unsupported'(callers callees)); doesn't seem to make any difference? ) -;; STklos files are .stk, and we may wat to open .scm files with STklos also: +;; STklos files are .stk, and we may want to open .scm files with STklos also: ;; (geiser-implementation-extension 'stklos "scm") (geiser-implementation-extension 'stklos "stk")
[nongnu] branch scratch/evil deleted (was d3b7b6f5d4)
monnier pushed a change to branch scratch/evil. was d3b7b6f5d4 Various code cleanups This change permanently discards the following revisions: discards d3b7b6f5d4 Various code cleanups
[nongnu] scratch/evil d366673c77 3/8: Prefer #' to quote function names
branch: scratch/evil commit d366673c773d5482ce6b83c6d46aaf75058c73d3 Author: Stefan Monnier Commit: Stefan Monnier Prefer #' to quote function names --- evil-commands.el| 16 +-- evil-common.el | 10 +++ evil-core.el| 8 +++--- evil-ex.el | 2 +- evil-integration.el | 2 +- evil-keybindings.el | 2 +- evil-search.el | 4 +-- evil-tests.el | 58 evil-vars.el| 77 + 9 files changed, 93 insertions(+), 86 deletions(-) diff --git a/evil-commands.el b/evil-commands.el index abac1aea57..0b28ceac34 100644 --- a/evil-commands.el +++ b/evil-commands.el @@ -3263,7 +3263,7 @@ not interfere with another." (if (null list) (user-error "Enable one of the following modes for folding to work: %s" - (mapconcat 'symbol-name (mapcar 'caar evil-fold-list) ", ")) + (mapconcat #'symbol-name (mapcar #'caar evil-fold-list) ", ")) (let* ((modes (caar list))) (if (evil--mode-p modes) (let* ((actions (cdar list)) @@ -5175,9 +5175,9 @@ if the previous state was Emacs state." "No insert-state repeat info is recorded after executing in normal state. Restore the disabled repeat hooks on insert-state exit." (evil-repeat-stop) - (add-hook 'pre-command-hook 'evil-repeat-pre-hook) - (add-hook 'post-command-hook 'evil-repeat-post-hook) - (remove-hook 'evil-insert-state-exit-hook 'evil--restore-repeat-hooks)) + (add-hook 'pre-command-hook #'evil-repeat-pre-hook) + (add-hook 'post-command-hook #'evil-repeat-post-hook) + (remove-hook 'evil-insert-state-exit-hook #'evil--restore-repeat-hooks)) (defvar evil--execute-normal-return-state nil "The state to return to after executing in normal state.") @@ -5216,9 +5216,9 @@ Restore the disabled repeat hooks on insert-state exit." (unless (memq evil-state '(replace insert)) (evil-change-state ',evil-state)) (when (eq 'insert evil-state) - (remove-hook 'pre-command-hook 'evil-repeat-pre-hook) - (remove-hook 'post-command-hook 'evil-repeat-post-hook) - (add-hook 'evil-insert-state-exit-hook 'evil--restore-repeat-hooks)) + (remove-hook 'pre-command-hook #'evil-repeat-pre-hook) + (remove-hook 'post-command-hook #'evil-repeat-post-hook) + (add-hook 'evil-insert-state-exit-hook #'evil--restore-repeat-hooks)) (setq evil-execute-normal-keys nil)) 'post-command-hook) (setq evil-insert-count nil @@ -5231,7 +5231,7 @@ Restore the disabled repeat hooks on insert-state exit." (defun evil-stop-execute-in-emacs-state () (when (and (not (eq this-command #'evil-execute-in-emacs-state)) (not (minibufferp))) -(remove-hook 'post-command-hook 'evil-stop-execute-in-emacs-state) +(remove-hook 'post-command-hook #'evil-stop-execute-in-emacs-state) (when (buffer-live-p evil-execute-in-emacs-state-buffer) (with-current-buffer evil-execute-in-emacs-state-buffer (if (and (eq evil-previous-state 'visual) diff --git a/evil-common.el b/evil-common.el index 3e4ce01519..1311ae366d 100644 --- a/evil-common.el +++ b/evil-common.el @@ -345,11 +345,11 @@ last, sorting in between." ,(when (and command doc-form) `(put ',command 'function-documentation ,doc-form)) ;; set command properties for symbol or lambda function - (let ((func ',(if (and (null command) body) - `(lambda ,args -,interactive -,@body) - command))) + (let ((func #',(if (and (null command) body) + `(lambda ,args + ,interactive + ,@body) +command))) (apply #'evil-set-command-properties func ',keys) func diff --git a/evil-core.el b/evil-core.el index 546288e14c..8f7eba9002 100644 --- a/evil-core.el +++ b/evil-core.el @@ -126,12 +126,12 @@ (evil-initialize-state) (add-hook 'input-method-activate-hook #'evil-activate-input-method t t) (add-hook 'input-method-deactivate-hook #'evil-deactivate-input-method t t) -(add-hook 'activate-mark-hook 'evil-visual-activate-hook nil t) +(add-hook 'activate-mark-hook #'evil-visual-activate-hook nil t) ;; FIXME: Add these hooks buffer-locally -(add-hook 'pre-command-hook 'evil-repeat-pre-hook) -(add-hook 'post-command-hook 'evil-repeat-post-hook)) +(add-hook 'pre-command-hook #'evil-repeat-pre-hook) +(add-hook 'post-command-hook #'evil-repeat-post-hook)) (evil-refresh-mode-line) -(remove-hook 'activate-mark-hook 'evil-visual-activate-hook t) +(remove-hook 'activate-mark-hook #'evil-visual-activate-hook t) (remove-hook 'input-method-activate-hook #'evil-activate-input-method t) (remove-h
[nongnu] branch scratch/evil created (now be5584efb1)
monnier pushed a change to branch scratch/evil. at be5584efb1 Misc minor changes This branch includes the following new commits: new 141f483adb evil-pkg.el: Remove file new 335ff20ebf Better follow conventions for use of ' in docstrings new d366673c77 Prefer #' to quote function names new 79ef3ad9f5 (evil-with-delay): New macro, extracted from `evil-delay` new d7999e33f3 Use lexical-binding everywhere new 40a326753a Remove redundant `:group` args new c0a6878a8f Replace uses of `defadvice` with `advice-add` new be5584efb1 Misc minor changes
[nongnu] scratch/evil be5584efb1 8/8: Misc minor changes
branch: scratch/evil commit be5584efb1b1af7729627c30d8449893ea04f494 Author: Stefan Monnier Commit: Stefan Monnier Misc minor changes * evil-command-window.el (evil-command-window-draw-prefix): Mark `ignored` as, well, ignored. * README.md: Mention that `undo-fu` is also in NonGNU ELPA. * evil-core (evil-get-auxiliary-keymap): Simplify `vconcat` to `vector`. (evil-auxiliary-keymap-p): Unhide arg by moving it to its own line. * evil-macros.el (evil-define-interactive-code): Move shared `setq func` out of `cond`. Move the insertion of quote around `func` to the `cond` so the `quote` is not incorrectly added around lambda forms. --- README.md | 2 +- evil-command-window.el | 2 +- evil-core.el | 5 +++-- evil-macros.el | 18 +- 4 files changed, 14 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 198b18317c..6473ba66f2 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ file. * The [undo-tree](https://gitlab.com/tsc25/undo-tree) package (available via GNU ELPA) * The [undo-fu](https://gitlab.com/ideasman42/emacs-undo-fu) package -(available via MELPA) +(available via MELPA and NonGNU ELPA) * For the motions `g;` `g,` and for the last-change-register `.`, Evil requires the [goto-chg.el](https://github.com/emacs-evil/goto-chg) diff --git a/evil-command-window.el b/evil-command-window.el index 21299a2dc0..566ee3a79e 100644 --- a/evil-command-window.el +++ b/evil-command-window.el @@ -164,7 +164,7 @@ function to execute." (push result evil-search-backward-history))) (evil-search result forward evil-regexp-search -(defun evil-command-window-draw-prefix (&rest ignored) +(defun evil-command-window-draw-prefix (&rest _ignored) "Display `evil-command-window-cmd-key' as a prefix to the current line. Parameters passed in through IGNORED are ignored." (let ((prefix (propertize evil-command-window-cmd-key diff --git a/evil-core.el b/evil-core.el index 4e50b1878f..ddab7de5c4 100644 --- a/evil-core.el +++ b/evil-core.el @@ -845,7 +845,7 @@ IGNORE-PARENT are non-nil then a new auxiliary keymap is created even if the parent of MAP has one already." (when state -(let* ((key (vconcat (list (intern (format "%s-state" state) +(let* ((key (vector (intern (format "%s-state" state (parent-aux (when (and ignore-parent (keymap-parent map)) (lookup-key (keymap-parent map) key))) @@ -884,7 +884,8 @@ does not already exist." "Whether MAP is an auxiliary keymap." (and (keymapp map) (string-match-p "Auxiliary keymap" - (or (keymap-prompt map) "")) t)) + (or (keymap-prompt map) "")) + t)) (defun evil-minor-mode-keymap-p (map) "Whether MAP is a minor-mode keymap." diff --git a/evil-macros.el b/evil-macros.el index a164fe6981..458a2119e2 100644 --- a/evil-macros.el +++ b/evil-macros.el @@ -763,19 +763,19 @@ via KEY-VALUE pairs. BODY should evaluate to a list of values. (while (keywordp (car-safe body)) (setq properties (append properties (list (pop body) (pop body) -(cond - (args - (setq func `(lambda ,args +(setq func (cond +(args + `(lambda ,args ,@(when doc `(,doc)) -,@body))) - ((> (length body) 1) - (setq func `(progn ,@body))) - (t - (setq func (car body +,@body)) +((> (length body) 1) + `'(progn ,@body)) +(t + `',(car body `(eval-and-compile (let* ((code ,code) (entry (assoc code evil-interactive-alist)) - (value (cons ',func ',properties))) + (value (cons ,func ',properties))) (if entry (setcdr entry value) (push (cons code value) evil-interactive-alist))
[nongnu] scratch/evil c0a6878a8f 7/8: Replace uses of `defadvice` with `advice-add`
branch: scratch/evil commit c0a6878a8f4727d223d5ca1ceba69f119a51d864 Author: Stefan Monnier Commit: Stefan Monnier Replace uses of `defadvice` with `advice-add` This either requires a dependency on the `nadvice` package, or bumping the minimum Emacs version to 24.4. I went with the `nadvice` package, but maybe bumping up to 24.4 would be better. * evil.el: Require `nadvice`. * evil-core.el (evil--advice-list): New var. (evil-mode): Use it instead of `ad-dis/enable`. (evil--advice-add): New function. (set-window-buffer, select-window, toggle-input-method, use-global-map): * evil-search.el (isearch-message-prefix, isearch-delete-char) (isearch-lazy-highlight-search): * evil-integration.el (keyboard-quit, wdired-change-to-dired-mode) (show-paren-function, quail-show-key, describe-char, ace-jump-done): Use `evail--advice-add` insyead of `defadvice`. (preceding-sexp, pp-last-sexp): Remove old code for when `advice-add` is not available. * evil-repeat.el (evil--read-key-sequence-advice): Adapt to use in `advice-add`. (read-key-sequence, read-key-sequence-vector): Use `evail--advice-add`. * evil-keybindings.el (elp-results): Use `evil--advice-add` and move outside of `eval-after-load`. --- evil-core.el| 43 +-- evil-integration.el | 85 +++-- evil-keybindings.el | 6 ++-- evil-repeat.el | 8 ++--- evil-search.el | 18 +++- evil.el | 2 +- 6 files changed, 80 insertions(+), 82 deletions(-) diff --git a/evil-core.el b/evil-core.el index 5db6326952..4e50b1878f 100644 --- a/evil-core.el +++ b/evil-core.el @@ -168,6 +168,14 @@ To enable Evil globally, do (evil-mode)." (defalias 'evil--fundamental-mode #'fundamental-mode) +(defvar evil--advice-list nil) + +(defun evil--advice-add (&rest args) + "Like `advice-add' but only records them for later use. +The pieces of advice are activated/deactivated by `evil-mode'." + (when evil-mode (apply #'advice-add args)) + (push args evil--advice-list)) + ;;;###autoload (autoload 'evil-mode "evil" nil t) (define-globalized-minor-mode evil-mode evil-local-mode evil-initialize @@ -181,13 +189,13 @@ To enable Evil globally, do (evil-mode)." (and (eval-when-compile (version< emacs-version "26.1")) (eq (default-value 'major-mode) 'fundamental-mode) (setq-default major-mode 'evil--fundamental-mode)) -(ad-enable-regexp "^evil") -(ad-activate-regexp "^evil") +(pcase-dolist (advice evil--advice-list) + (apply #'advice-add advice)) (evil-esc-mode 1)) (when (eq (default-value 'major-mode) 'evil--fundamental-mode) (setq-default major-mode 'fundamental-mode)) -(ad-disable-regexp "^evil") -(ad-update-regexp "^evil") +(pcase-dolist (`(,funname ,_where ,adfun) evil--advice-list) + (advice-remove funname adfun)) (evil-esc-mode -1))) (defun evil-change-state (state &optional message) @@ -338,18 +346,21 @@ then this function does nothing." ;; run. This is appropriate since many buffers are used for throwaway ;; purposes. Passing the buffer to `set-window-buffer' indicates ;; otherwise, though, so advise this function to initialize Evil. -(defadvice set-window-buffer (before evil) +(evil--advice-add 'set-window-buffer :before #'evil--swb-initialize) +(defun evil--swb-initialize (_window buffer &rest _) "Initialize Evil in the displayed buffer." (when evil-mode -(when (get-buffer (ad-get-arg 1)) - (with-current-buffer (ad-get-arg 1) +(when (get-buffer buffer) + (with-current-buffer buffer (unless evil-local-mode (save-match-data (evil-initialize))) ;; Refresh cursor color. ;; Cursor color can only be set for each frame but not for each buffer. +;; FIXME: Shouldn't this belong in `evil-(local-)mode'? (add-hook 'window-configuration-change-hook #'evil-refresh-cursor) -(defadvice select-window (after evil activate) +(evil--advice-add 'select-window :after #'evil--sw-refresh-cursor) +(defun evil--sw-refresh-cursor (&rest _) (evil-refresh-cursor)) (defun evil-generate-mode-line-tag (&optional state) @@ -432,16 +443,17 @@ This allows input methods to be used in normal-state." (add-hook 'input-method-activate-hook #'evil-activate-input-method nil t) (add-hook 'input-method-deactivate-hook #'evil-deactivate-input-method nil t))) -(defadvice toggle-input-method (around evil) +(evil--advice-add 'toggle-input-method :around #'evil--refresh-inpput-method) +(defun evil--refresh-inpput-method (orig-fun &rest args) "Refresh `evil-input-method'." (cond ((not evil-local-mode) -ad-do-it) +(apply orig-fun args)) ((evil-state-property evil-state :input-method) -ad-do-it) +(apply orig-fun args)) (t (let ((current-input-method evil-input-method)) - ad-do-i
[nongnu] scratch/evil 335ff20ebf 2/8: Better follow conventions for use of ' in docstrings
branch: scratch/evil commit 335ff20ebf53491a904325df02e864a396f6d31d Author: Stefan Monnier Commit: Stefan Monnier Better follow conventions for use of ' in docstrings This fixes some incorrect uses and eliminates some warnings but many warnings remain about it. --- evil-commands.el | 9 - evil-common.el | 30 +++--- evil-core.el | 42 +- evil-ex.el | 14 +++--- evil-macros.el | 2 +- evil-repeat.el | 3 ++- evil-search.el | 22 +++--- evil-vars.el | 6 +++--- 8 files changed, 64 insertions(+), 64 deletions(-) diff --git a/evil-commands.el b/evil-commands.el index 68e9663e4b..abac1aea57 100644 --- a/evil-commands.el +++ b/evil-commands.el @@ -307,8 +307,7 @@ If called after a change operator, i.e. cw or cW, then both behave like ce or cE. If point is at the end of the buffer and cannot be moved signal -'end-of-buffer is raised. -" +`end-of-buffer' is raised." :type exclusive (let ((thing (if bigword 'evil-WORD 'evil-word)) (orig (point)) @@ -591,7 +590,7 @@ and jump to the corresponding one." (evil-next-flyspell-error (- (or count 1 (evil-define-motion evil-previous-open-paren (count) - "Go to [count] previous unmatched '('." + "Go to [count] previous unmatched \"(\"." :type exclusive (evil-up-paren ?\( ?\) (- (or count 1 @@ -3079,7 +3078,7 @@ Calls `evil-complete-previous-line-func'." (defun evil-repeat-search (flag) "Called to record a search command. -FLAG is either 'pre or 'post if the function is called before resp. +FLAG is either `pre' or `post' if the function is called before resp. after executing the command." (cond ((and (evil-operator-state-p) (eq flag 'pre)) @@ -3890,7 +3889,7 @@ Change to `%s'? " (defun evil-repeat-ex-search (flag) "Called to record a search command. -FLAG is either 'pre or 'post if the function is called before +FLAG is either `pre' or `post' if the function is called before resp. after executing the command." (cond ((and (evil-operator-state-p) (eq flag 'pre)) diff --git a/evil-common.el b/evil-common.el index 49a5456d9c..3e4ce01519 100644 --- a/evil-common.el +++ b/evil-common.el @@ -123,7 +123,7 @@ otherwise add at the end of the list." "Delete by side-effect all items satisfying PREDICATE in LIST. Stop when reaching POINTER. If the first item satisfies PREDICATE, there is no way to remove it by side-effect; therefore, write -\(setq foo (evil-filter-list 'predicate foo)) to be sure of +\(setq foo (evil-filter-list #\\='predicate foo)) to be sure of changing the value of `foo'." (let ((tail list) elt head) (while (and tail (not (eq tail pointer))) @@ -1086,9 +1086,9 @@ immediately quits. (defun evil-signal-at-bob-or-eob (&optional count) "Signal error if `point' is at boundaries. -If `point' is at bob and COUNT is negative this function signal -`beginning-of-buffer'. If `point' is at eob and COUNT is positive -this function singal `end-of-buffer'. This function should be used +If `point' is at bob and COUNT is negative this function signals +`beginning-of-buffer'. If `point' is at eob and COUNT is positive +this function signals `end-of-buffer'. This function should be used in motions. COUNT defaults to 1." (setq count (or count 1)) (cond @@ -2745,7 +2745,7 @@ list of command properties as passed to `evil-define-command'." (defun evil-set-type (object type) "Set the type of OBJECT to TYPE. -For example, (evil-set-type 'next-line 'line) +For example, (evil-set-type \\='next-line \\='line) will make `line' the type of the `next-line' command." (cond ((overlayp object) @@ -3087,10 +3087,10 @@ linewise, otherwise it is character wise." OP and CL are pairs of buffer positions for the opening and closing delimiter of a range. SELECTION-TYPE is the desired type of selection. It is a symbol that determines which parts of the -block are selected. If it is 'inclusive or t the returned range -is \(cons (car OP) (cdr CL)). If it is 'exclusive or nil the +block are selected. If it is `inclusive' or t the returned range +is \(cons (car OP) (cdr CL)). If it is `exclusive' or nil the returned range is (cons (cdr OP) (car CL)). If it is -'exclusive-line the returned range will skip whitespace at the +`exclusive-line' the returned range will skip whitespace at the end of the line of OP and at the beginning of the line of CL." (cond ((memq selection-type '(inclusive t)) (cons (car op) (cdr cl))) @@ -3124,9 +3124,9 @@ delimited object must be given by THING-up function (see `evil-up-block'). SELECTION-TYPE is symbol that determines which parts of the block -are selected. If it is 'inclusive or t OPEN and CLOSE are -included in the range. If it is 'exclusive or nil the delimiters -are not contained. If it is 'exclusive-line the delimiters are +are selected. If it is `inclusive' or t OPEN and CLOSE are +included in t
[nongnu] scratch/evil 141f483adb 1/8: evil-pkg.el: Remove file
branch: scratch/evil commit 141f483adb9c5d63353e7de2357c54b81b0f3f15 Author: Stefan Monnier Commit: Stefan Monnier evil-pkg.el: Remove file This file is auto-generated from headers in `evil.el` anyway. * evil.el: Synchronize metadata with what was in `evil-pkg.el`. --- evil-pkg.el | 7 --- evil.el | 2 +- 2 files changed, 1 insertion(+), 8 deletions(-) diff --git a/evil-pkg.el b/evil-pkg.el deleted file mode 100644 index 0ab78cb335..00 --- a/evil-pkg.el +++ /dev/null @@ -1,7 +0,0 @@ -(define-package - "evil" - "1.15.0" - "Extensible Vi layer for Emacs." - '((emacs "24.1") -(goto-chg "1.6") -(cl-lib "0.5"))) diff --git a/evil.el b/evil.el index dc13a828c0..00e7d7ce9c 100644 --- a/evil.el +++ b/evil.el @@ -1,4 +1,4 @@ -;;; evil.el --- extensible vi layer +;;; evil.el --- Extensible Vi layer for Emacs ;; The following list of authors was kept up to date until the beginning of ;; 2017, when evil moved under new maintainers. For authors since then, please
[nongnu] scratch/evil 40a326753a 6/8: Remove redundant `:group` args
branch: scratch/evil commit 40a326753abc1a41196d571d9d4b2d3b01d2ff8b Author: Stefan Monnier Commit: Stefan Monnier Remove redundant `:group` args In the absence of `:group`, `defcustom` and `defface` default to the group that was last defined in the same file. * evil-digraphs.el (evil-digraphs-table-user): * evil-jumps.el: Remove redundant `:group` args. --- evil-digraphs.el | 3 +-- evil-jumps.el| 15 +-- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/evil-digraphs.el b/evil-digraphs.el index 7344bd9d00..180a57626b 100644 --- a/evil-digraphs.el +++ b/evil-digraphs.el @@ -42,8 +42,7 @@ where the digraph is a list of two characters. See also `evil-digraphs-table'." :type '(alist :key-type (list character character) :value-type character) - :require 'evil-digraphs - :group 'evil-digraphs) + :require 'evil-digraphs) (defconst evil-digraphs-table '(((?N ?U) . ?\x00) diff --git a/evil-jumps.el b/evil-jumps.el index 93bf4cbcb6..2fadb8b205 100644 --- a/evil-jumps.el +++ b/evil-jumps.el @@ -38,28 +38,23 @@ (defcustom evil-jumps-cross-buffers t "When non-nil, the jump commands can cross borders between buffers. Otherwise the jump commands act only within the current buffer." - :type 'boolean - :group 'evil-jumps) + :type 'boolean) (defcustom evil-jumps-max-length 100 "The maximum number of jumps to keep track of." - :type 'integer - :group 'evil-jumps) + :type 'integer) (defcustom evil-jumps-pre-jump-hook nil "Hooks to run just before jumping to a location in the jump list." - :type 'hook - :group 'evil-jumps) + :type 'hook) (defcustom evil-jumps-post-jump-hook nil "Hooks to run just after jumping to a location in the jump list." - :type 'hook - :group 'evil-jumps) + :type 'hook) (defcustom evil-jumps-ignored-file-patterns '("COMMIT_EDITMSG$" "TAGS$") "List of regexps to exclude file path from inclusion in the jump list." - :type '(repeat string) - :group 'evil-jumps) + :type '(repeat string)) ;;
[nongnu] scratch/evil d7999e33f3 5/8: Use lexical-binding everywhere
branch: scratch/evil commit d7999e33f3d4a2368111819d2983a203d0f3aa9a Author: Stefan Monnier Commit: Stefan Monnier Use lexical-binding everywhere 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-ex.el (evil-ex-execute, evil-ex-update, evil-ex-repeat): * evil-types.el (""): * evil-common.el (evil--eval-expr): * evil-commands.el (evil-ex-global): Tell `eval` to use the lexbind dialect of ELisp. --- evil-commands.el | 2 +- evil-common.el | 2 +- evil-ex.el | 11 evil-tests.el| 83 +--- evil-types.el| 2 +- evil.el | 2 +- 6 files changed, 53 insertions(+), 49 deletions(-) diff --git a/evil-commands.el b/evil-commands.el index 347ba5c939..2dd09b47d2 100644 --- a/evil-commands.el +++ b/evil-commands.el @@ -4334,7 +4334,7 @@ Use `evil-flush-lines' if INVERT is nil, or `evil-keep-lines' if not." (setq evil--ex-global-active-p t) (dolist (marker markers) (goto-char marker) - (eval command-form))) + (eval command-form t))) (progn (setq evil--ex-global-active-p nil) ;; ensure that all markers are deleted afterwards, diff --git a/evil-common.el b/evil-common.el index 969d5432a8..a09065c99c 100644 --- a/evil-common.el +++ b/evil-common.el @@ -1949,7 +1949,7 @@ If INPUT starts with a number, +, -, or . use `calc-eval' instead." (result (if calcable-p (let ((calc-multiplication-has-precedence nil)) (calc-eval input)) - (eval (car (read-from-string input)) + (eval (car (read-from-string input)) t (cond ((stringp result) result) ((or (numberp result) (symbolp result)) diff --git a/evil-ex.el b/evil-ex.el index 5e498e0b4b..979fceed80 100644 --- a/evil-ex.el +++ b/evil-ex.el @@ -396,7 +396,7 @@ is appended to the line." (evil-ex-update nil nil nil result) ;; execute command (unless (zerop (length result)) -(eval (or evil-ex-expression (user-error "Ex: syntax error") +(eval (or evil-ex-expression (user-error "Ex: syntax error")) t))) (defun evil-ex-delete-backward-char () "Close the minibuffer if it is empty. @@ -477,9 +477,9 @@ in case of incomplete or unknown commands." (with-current-buffer evil-ex-current-buffer (setq expr (evil-ex-parse string)) (when (eq (car expr) #'evil-ex-call-command) - (setq count (eval (nth 1 expr)) -cmd (eval (nth 2 expr)) -arg (eval (nth 3 expr)) + (setq count (eval (nth 1 expr) t) +cmd (eval (nth 2 expr) t) +arg (eval (nth 3 expr) t) range (cond ((evil-range-p count) count) ((numberp count) (evil-ex-range count count))) @@ -845,7 +845,8 @@ This function interprets special file names like # and %." (unless (eq binding #'evil-ex-repeat) (setq hist nil) (eval (or evil-ex-expression -(user-error "Ex: syntax error")) +(user-error "Ex: syntax error")) +t (defun evil-ex-call-command (range command argument) "Execute the given command COMMAND." diff --git a/evil-tests.el b/evil-tests.el index d9311a59d9..455f7470c3 100644 --- a/evil-tests.el +++ b/evil-tests.el @@ -1,4 +1,4 @@ -;; evil-tests.el --- unit tests for Evil -*- coding: utf-8 -*- +;; evil-tests.el --- unit tests for Evil -*- coding: utf-8; lexical-binding: t; -*- ;; Author: Vegard Ăye ;; Maintainer: Vegard Ăye @@ -200,13 +200,12 @@ with `M-x evil-tests-run'")) (defun evil-test-change-state (state) "Change state to STATE and check keymaps" - (let (mode keymap local-mode local-keymap tag) -(evil-change-state state) -(setq mode (evil-state-property state :mode) - keymap (evil-state-property state :keymap t) - local-mode (evil-state-property state :local) - local-keymap (evil-state-property state :local-keymap
[nongnu] scratch/evil 79ef3ad9f5 4/8: (evil-with-delay): New macro, extracted from `evil-delay`
branch: scratch/evil commit 79ef3ad9f5e9f8024477929ebd0a023069ae893c Author: Stefan Monnier Commit: Stefan Monnier (evil-with-delay): New macro, extracted from `evil-delay` Save some kitten by using a macro instead of using `eval`. This also exposes more code to the compiler, so should result in more efficient code and potentially better compiler warnings. * evil-common.el (evil-unquote): Delete unused function. (evil--with-delay): New function, extracted from `evil-delay`. (evil-with-delay): New macro, extracted from `evil-delay`. (evil-delay): Redefine using `evil-with-delay` and declare obsolete. * evil-states.el (evil-visual-activate-hook): * evil-core.el (evil-define-key): * evil-commands.el (evil-execute-in-normal-state): Use `evil-with-delay`. --- evil-commands.el | 68 +--- evil-common.el | 48 ++- evil-core.el | 24 +++- evil-states.el | 21 + 4 files changed, 86 insertions(+), 75 deletions(-) diff --git a/evil-commands.el b/evil-commands.el index 0b28ceac34..347ba5c939 100644 --- a/evil-commands.el +++ b/evil-commands.el @@ -5188,39 +5188,41 @@ Restore the disabled repeat hooks on insert-state exit." (defun evil-execute-in-normal-state () "Execute the next command in Normal state." (interactive) - (evil-delay '(not (memq this-command - '(nil -evil-execute-in-normal-state -evil-replace-state -evil-use-register -digit-argument -negative-argument -universal-argument -universal-argument-minus -universal-argument-more -universal-argument-other-key))) - `(with-current-buffer ,(current-buffer) - ;; If cursor was after EOL before CTRL-O and is now at EOL, - ;; put it after EOL. - (and (or (when evil--execute-normal-eol-pos -(= (1+ (point)) (save-excursion - (goto-char evil--execute-normal-eol-pos) - (set-marker evil--execute-normal-eol-pos nil) - (line-end-position - (and (eq (or goal-column temporary-goal-column) most-positive-fixnum) - (memq this-command '(next-line previous-line - (not (eolp)) - (not (memq this-command - '(evil-insert evil-beginning-of-line evil-first-non-blank))) - (forward-char)) - (unless (memq evil-state '(replace insert)) - (evil-change-state ',evil-state)) - (when (eq 'insert evil-state) - (remove-hook 'pre-command-hook #'evil-repeat-pre-hook) - (remove-hook 'post-command-hook #'evil-repeat-post-hook) - (add-hook 'evil-insert-state-exit-hook #'evil--restore-repeat-hooks)) - (setq evil-execute-normal-keys nil)) -'post-command-hook) + (let ((buf (current-buffer)) +(estate evil-state)) +(evil-with-delay (not (memq this-command +'(nil + evil-execute-in-normal-state + evil-replace-state + evil-use-register + digit-argument + negative-argument + universal-argument + universal-argument-minus + universal-argument-more + universal-argument-other-key))) +post-command-hook + (with-current-buffer buf +;; If cursor was after EOL before CTRL-O and is now at EOL, +;; put it after EOL. +(and (or (when evil--execute-normal-eol-pos + (= (1+ (point)) (save-excursion + (goto-char evil--execute-normal-eol-pos) + (set-marker evil--execute-normal-eol-pos nil) + (line-end-position + (and (eq (or goal-column temporary-goal-column) most-positive-fixnum) + (memq this-command '(next-line previous-line + (not (eolp)) + (not (memq this-command +'(evil-insert evil-beginning-of-line evil-first-non-blank))) + (forward-char)) +(unless (memq evil-state '(replace insert)) + (evil-change-state estate)) +(when (eq 'insert evil-state) + (remove-hook 'pre-command-hook #'evil-repeat-pre-hook) + (remove-hook 'post-command-hook #'evil-repeat-post-hook) + (add-hook '
[elpa] externals/company 4bcef32d7f 1/2: Fix byte-compiler warning
branch: externals/company commit 4bcef32d7f0b69a6f02627707f7599ab9340c012 Author: YugaEgo Commit: YugaEgo Fix byte-compiler warning --- test/frontends-tests.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/frontends-tests.el b/test/frontends-tests.el index a824dbd903..718d4d361a 100644 --- a/test/frontends-tests.el +++ b/test/frontends-tests.el @@ -486,7 +486,7 @@ "-*-foobar zz" (ert-deftest company-modify-line-with-invisible-prop () - (let ((str "-*-foobar") + (let ((str (copy-sequence "-*-foobar")) (buffer-invisibility-spec '((outline . t) t))) (put-text-property 1 2 'invisible 'foo str) (should (equal
[elpa] externals/company b2df4b680a 2/2: Merge pull request #1391 from yugaego/fix-compilation
branch: externals/company commit b2df4b680aacc4534d60b79c871d0e4c37137d41 Merge: 23f44eba28 4bcef32d7f Author: Dmitry Gutov Commit: GitHub Merge pull request #1391 from yugaego/fix-compilation Fix byte-compiler warning --- test/frontends-tests.el | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/frontends-tests.el b/test/frontends-tests.el index a824dbd903..718d4d361a 100644 --- a/test/frontends-tests.el +++ b/test/frontends-tests.el @@ -486,7 +486,7 @@ "-*-foobar zz" (ert-deftest company-modify-line-with-invisible-prop () - (let ((str "-*-foobar") + (let ((str (copy-sequence "-*-foobar")) (buffer-invisibility-spec '((outline . t) t))) (put-text-property 1 2 'invisible 'foo str) (should (equal
[nongnu] branch scratch/evil deleted (was be5584efb1)
monnier pushed a change to branch scratch/evil. was be5584efb1 Misc minor changes This change permanently discards the following revisions: discards be5584efb1 Misc minor changes discards c0a6878a8f Replace uses of `defadvice` with `advice-add` discards 40a326753a Remove redundant `:group` args discards d7999e33f3 Use lexical-binding everywhere discards 79ef3ad9f5 (evil-with-delay): New macro, extracted from `evil-delay` discards d366673c77 Prefer #' to quote function names discards 335ff20ebf Better follow conventions for use of ' in docstrings discards 141f483adb evil-pkg.el: Remove file
[nongnu] scratch/evil 0a03b8d2ad 6/8: Remove redundant `:group` args
branch: scratch/evil commit 0a03b8d2ad65ea0f9c422d635474b4290b78b284 Author: Stefan Monnier Commit: Stefan Monnier Remove redundant `:group` args In the absence of `:group`, `defcustom` and `defface` default to the group that was last defined in the same file. * evil-digraphs.el (evil-digraphs-table-user): * evil-jumps.el: Remove redundant `:group` args. --- evil-digraphs.el | 3 +-- evil-jumps.el| 15 +-- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/evil-digraphs.el b/evil-digraphs.el index 7344bd9d00..180a57626b 100644 --- a/evil-digraphs.el +++ b/evil-digraphs.el @@ -42,8 +42,7 @@ where the digraph is a list of two characters. See also `evil-digraphs-table'." :type '(alist :key-type (list character character) :value-type character) - :require 'evil-digraphs - :group 'evil-digraphs) + :require 'evil-digraphs) (defconst evil-digraphs-table '(((?N ?U) . ?\x00) diff --git a/evil-jumps.el b/evil-jumps.el index 93bf4cbcb6..2fadb8b205 100644 --- a/evil-jumps.el +++ b/evil-jumps.el @@ -38,28 +38,23 @@ (defcustom evil-jumps-cross-buffers t "When non-nil, the jump commands can cross borders between buffers. Otherwise the jump commands act only within the current buffer." - :type 'boolean - :group 'evil-jumps) + :type 'boolean) (defcustom evil-jumps-max-length 100 "The maximum number of jumps to keep track of." - :type 'integer - :group 'evil-jumps) + :type 'integer) (defcustom evil-jumps-pre-jump-hook nil "Hooks to run just before jumping to a location in the jump list." - :type 'hook - :group 'evil-jumps) + :type 'hook) (defcustom evil-jumps-post-jump-hook nil "Hooks to run just after jumping to a location in the jump list." - :type 'hook - :group 'evil-jumps) + :type 'hook) (defcustom evil-jumps-ignored-file-patterns '("COMMIT_EDITMSG$" "TAGS$") "List of regexps to exclude file path from inclusion in the jump list." - :type '(repeat string) - :group 'evil-jumps) + :type '(repeat string)) ;;
[nongnu] scratch/evil 9456d95bef 3/8: Prefer #' to quote function names
branch: scratch/evil commit 9456d95befc25b13370522bfcc4131b597b005b4 Author: Stefan Monnier Commit: Stefan Monnier Prefer #' to quote function names --- evil-commands.el| 16 +- evil-common.el | 10 +++ evil-core.el| 8 ++--- evil-ex.el | 2 +- evil-integration.el | 2 +- evil-keybindings.el | 2 +- evil-search.el | 4 +-- evil-tests.el | 58 ++-- evil-vars.el| 85 + 9 files changed, 97 insertions(+), 90 deletions(-) diff --git a/evil-commands.el b/evil-commands.el index abac1aea57..0b28ceac34 100644 --- a/evil-commands.el +++ b/evil-commands.el @@ -3263,7 +3263,7 @@ not interfere with another." (if (null list) (user-error "Enable one of the following modes for folding to work: %s" - (mapconcat 'symbol-name (mapcar 'caar evil-fold-list) ", ")) + (mapconcat #'symbol-name (mapcar #'caar evil-fold-list) ", ")) (let* ((modes (caar list))) (if (evil--mode-p modes) (let* ((actions (cdar list)) @@ -5175,9 +5175,9 @@ if the previous state was Emacs state." "No insert-state repeat info is recorded after executing in normal state. Restore the disabled repeat hooks on insert-state exit." (evil-repeat-stop) - (add-hook 'pre-command-hook 'evil-repeat-pre-hook) - (add-hook 'post-command-hook 'evil-repeat-post-hook) - (remove-hook 'evil-insert-state-exit-hook 'evil--restore-repeat-hooks)) + (add-hook 'pre-command-hook #'evil-repeat-pre-hook) + (add-hook 'post-command-hook #'evil-repeat-post-hook) + (remove-hook 'evil-insert-state-exit-hook #'evil--restore-repeat-hooks)) (defvar evil--execute-normal-return-state nil "The state to return to after executing in normal state.") @@ -5216,9 +5216,9 @@ Restore the disabled repeat hooks on insert-state exit." (unless (memq evil-state '(replace insert)) (evil-change-state ',evil-state)) (when (eq 'insert evil-state) - (remove-hook 'pre-command-hook 'evil-repeat-pre-hook) - (remove-hook 'post-command-hook 'evil-repeat-post-hook) - (add-hook 'evil-insert-state-exit-hook 'evil--restore-repeat-hooks)) + (remove-hook 'pre-command-hook #'evil-repeat-pre-hook) + (remove-hook 'post-command-hook #'evil-repeat-post-hook) + (add-hook 'evil-insert-state-exit-hook #'evil--restore-repeat-hooks)) (setq evil-execute-normal-keys nil)) 'post-command-hook) (setq evil-insert-count nil @@ -5231,7 +5231,7 @@ Restore the disabled repeat hooks on insert-state exit." (defun evil-stop-execute-in-emacs-state () (when (and (not (eq this-command #'evil-execute-in-emacs-state)) (not (minibufferp))) -(remove-hook 'post-command-hook 'evil-stop-execute-in-emacs-state) +(remove-hook 'post-command-hook #'evil-stop-execute-in-emacs-state) (when (buffer-live-p evil-execute-in-emacs-state-buffer) (with-current-buffer evil-execute-in-emacs-state-buffer (if (and (eq evil-previous-state 'visual) diff --git a/evil-common.el b/evil-common.el index 3e4ce01519..1311ae366d 100644 --- a/evil-common.el +++ b/evil-common.el @@ -345,11 +345,11 @@ last, sorting in between." ,(when (and command doc-form) `(put ',command 'function-documentation ,doc-form)) ;; set command properties for symbol or lambda function - (let ((func ',(if (and (null command) body) - `(lambda ,args -,interactive -,@body) - command))) + (let ((func #',(if (and (null command) body) + `(lambda ,args + ,interactive + ,@body) +command))) (apply #'evil-set-command-properties func ',keys) func diff --git a/evil-core.el b/evil-core.el index 546288e14c..8f7eba9002 100644 --- a/evil-core.el +++ b/evil-core.el @@ -126,12 +126,12 @@ (evil-initialize-state) (add-hook 'input-method-activate-hook #'evil-activate-input-method t t) (add-hook 'input-method-deactivate-hook #'evil-deactivate-input-method t t) -(add-hook 'activate-mark-hook 'evil-visual-activate-hook nil t) +(add-hook 'activate-mark-hook #'evil-visual-activate-hook nil t) ;; FIXME: Add these hooks buffer-locally -(add-hook 'pre-command-hook 'evil-repeat-pre-hook) -(add-hook 'post-command-hook 'evil-repeat-post-hook)) +(add-hook 'pre-command-hook #'evil-repeat-pre-hook) +(add-hook 'post-command-hook #'evil-repeat-post-hook)) (evil-refresh-mode-line) -(remove-hook 'activate-mark-hook 'evil-visual-activate-hook t) +(remove-hook 'activate-mark-hook #'evil-visual-activate-hook t) (remove-hook 'input-method-activate-hook #'evil-activate-input-method t) (remove-hook 'i
[nongnu] scratch/evil 49ba6e6fc5 5/8: Use lexical-binding everywhere
branch: scratch/evil commit 49ba6e6fc5b9fb545b32fe48ae23f0179c57e75f Author: Stefan Monnier Commit: Stefan Monnier Use lexical-binding everywhere 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-ex.el (evil-ex-execute, evil-ex-update, evil-ex-repeat): * evil-types.el (""): * evil-common.el (evil--eval-expr): * evil-commands.el (evil-ex-global): Tell `eval` to use the lexbind dialect of ELisp. --- evil-commands.el | 2 +- evil-common.el | 2 +- evil-ex.el | 11 evil-tests.el| 83 +--- evil-types.el| 2 +- evil.el | 2 +- 6 files changed, 53 insertions(+), 49 deletions(-) diff --git a/evil-commands.el b/evil-commands.el index 347ba5c939..2dd09b47d2 100644 --- a/evil-commands.el +++ b/evil-commands.el @@ -4334,7 +4334,7 @@ Use `evil-flush-lines' if INVERT is nil, or `evil-keep-lines' if not." (setq evil--ex-global-active-p t) (dolist (marker markers) (goto-char marker) - (eval command-form))) + (eval command-form t))) (progn (setq evil--ex-global-active-p nil) ;; ensure that all markers are deleted afterwards, diff --git a/evil-common.el b/evil-common.el index 1613196ad2..81d7a00070 100644 --- a/evil-common.el +++ b/evil-common.el @@ -1951,7 +1951,7 @@ If INPUT starts with a number, +, -, or . use `calc-eval' instead." (result (if calcable-p (let ((calc-multiplication-has-precedence nil)) (calc-eval input)) - (eval (car (read-from-string input)) + (eval (car (read-from-string input)) t (cond ((stringp result) result) ((or (numberp result) (symbolp result)) diff --git a/evil-ex.el b/evil-ex.el index 1a26a053c7..052fd995bf 100644 --- a/evil-ex.el +++ b/evil-ex.el @@ -396,7 +396,7 @@ is appended to the line." (evil-ex-update nil nil nil result) ;; execute command (unless (zerop (length result)) -(eval (or evil-ex-expression (user-error "Ex: syntax error") +(eval (or evil-ex-expression (user-error "Ex: syntax error")) t))) (defun evil-ex-delete-backward-char () "Close the minibuffer if it is empty. @@ -477,9 +477,9 @@ in case of incomplete or unknown commands." (with-current-buffer evil-ex-current-buffer (setq expr (evil-ex-parse string)) (when (eq (car expr) #'evil-ex-call-command) - (setq count (eval (nth 1 expr)) -cmd (eval (nth 2 expr)) -arg (eval (nth 3 expr)) + (setq count (eval (nth 1 expr) t) +cmd (eval (nth 2 expr) t) +arg (eval (nth 3 expr) t) range (cond ((evil-range-p count) count) ((numberp count) (evil-ex-range count count))) @@ -845,7 +845,8 @@ This function interprets special file names like # and %." (unless (eq binding #'evil-ex-repeat) (setq hist nil) (eval (or evil-ex-expression -(user-error "Ex: syntax error")) +(user-error "Ex: syntax error")) +t (defun evil-ex-call-command (range command argument) "Execute the given command COMMAND." diff --git a/evil-tests.el b/evil-tests.el index d9311a59d9..455f7470c3 100644 --- a/evil-tests.el +++ b/evil-tests.el @@ -1,4 +1,4 @@ -;; evil-tests.el --- unit tests for Evil -*- coding: utf-8 -*- +;; evil-tests.el --- unit tests for Evil -*- coding: utf-8; lexical-binding: t; -*- ;; Author: Vegard Ăye ;; Maintainer: Vegard Ăye @@ -200,13 +200,12 @@ with `M-x evil-tests-run'")) (defun evil-test-change-state (state) "Change state to STATE and check keymaps" - (let (mode keymap local-mode local-keymap tag) -(evil-change-state state) -(setq mode (evil-state-property state :mode) - keymap (evil-state-property state :keymap t) - local-mode (evil-state-property state :local) - local-keymap (evil-state-property state :local-keymap
[nongnu] scratch/evil a3657caba8 7/8: Replace uses of `defadvice` with `advice-add`
branch: scratch/evil commit a3657caba8515c2b0e732ec994659ea8e05c3f14 Author: Stefan Monnier Commit: Stefan Monnier Replace uses of `defadvice` with `advice-add` This either requires a dependency on the `nadvice` package, or bumping the minimum Emacs version to 24.4. I went with the `nadvice` package, but maybe bumping up to 24.4 would be better. * evil.el: Require `nadvice`. * evil-core.el (evil--advice-list): New var. (evil-mode): Use it instead of `ad-dis/enable`. (evil--advice-add): New function. (set-window-buffer, select-window, toggle-input-method, use-global-map): * evil-search.el (isearch-message-prefix, isearch-delete-char) (isearch-lazy-highlight-search): * evil-integration.el (keyboard-quit, wdired-change-to-dired-mode) (show-paren-function, quail-show-key, describe-char, ace-jump-done): Use `evail--advice-add` insyead of `defadvice`. (preceding-sexp, pp-last-sexp): Remove old code for when `advice-add` is not available. * evil-repeat.el (evil--read-key-sequence-advice): Adapt to use in `advice-add`. (read-key-sequence, read-key-sequence-vector): Use `evail--advice-add`. * evil-keybindings.el (elp-results): Use `evil--advice-add` and move outside of `eval-after-load`. --- evil-core.el| 43 +-- evil-integration.el | 85 +++-- evil-keybindings.el | 6 ++-- evil-repeat.el | 8 ++--- evil-search.el | 18 +++- evil.el | 2 +- 6 files changed, 80 insertions(+), 82 deletions(-) diff --git a/evil-core.el b/evil-core.el index 5db6326952..f53d84c5d4 100644 --- a/evil-core.el +++ b/evil-core.el @@ -168,6 +168,8 @@ To enable Evil globally, do (evil-mode)." (defalias 'evil--fundamental-mode #'fundamental-mode) +(defvar evil--advice-list nil) + ;;;###autoload (autoload 'evil-mode "evil" nil t) (define-globalized-minor-mode evil-mode evil-local-mode evil-initialize @@ -181,15 +183,21 @@ To enable Evil globally, do (evil-mode)." (and (eval-when-compile (version< emacs-version "26.1")) (eq (default-value 'major-mode) 'fundamental-mode) (setq-default major-mode 'evil--fundamental-mode)) -(ad-enable-regexp "^evil") -(ad-activate-regexp "^evil") +(pcase-dolist (advice evil--advice-list) + (apply #'advice-add advice)) (evil-esc-mode 1)) (when (eq (default-value 'major-mode) 'evil--fundamental-mode) (setq-default major-mode 'fundamental-mode)) -(ad-disable-regexp "^evil") -(ad-update-regexp "^evil") +(pcase-dolist (`(,funname ,_where ,adfun) evil--advice-list) + (advice-remove funname adfun)) (evil-esc-mode -1))) +(defun evil--advice-add (&rest args) + "Like `advice-add' but only records them for later use. +The pieces of advice are activated/deactivated by `evil-mode'." + (when evil-mode (apply #'advice-add args)) + (push args evil--advice-list)) + (defun evil-change-state (state &optional message) "Change the state to STATE. If STATE is nil, disable all states." @@ -338,18 +346,21 @@ then this function does nothing." ;; run. This is appropriate since many buffers are used for throwaway ;; purposes. Passing the buffer to `set-window-buffer' indicates ;; otherwise, though, so advise this function to initialize Evil. -(defadvice set-window-buffer (before evil) +(evil--advice-add 'set-window-buffer :before #'evil--swb-initialize) +(defun evil--swb-initialize (_window buffer &rest _) "Initialize Evil in the displayed buffer." (when evil-mode -(when (get-buffer (ad-get-arg 1)) - (with-current-buffer (ad-get-arg 1) +(when (get-buffer buffer) + (with-current-buffer buffer (unless evil-local-mode (save-match-data (evil-initialize))) ;; Refresh cursor color. ;; Cursor color can only be set for each frame but not for each buffer. +;; FIXME: Shouldn't this belong in `evil-(local-)mode'? (add-hook 'window-configuration-change-hook #'evil-refresh-cursor) -(defadvice select-window (after evil activate) +(evil--advice-add 'select-window :after #'evil--sw-refresh-cursor) +(defun evil--sw-refresh-cursor (&rest _) (evil-refresh-cursor)) (defun evil-generate-mode-line-tag (&optional state) @@ -432,16 +443,17 @@ This allows input methods to be used in normal-state." (add-hook 'input-method-activate-hook #'evil-activate-input-method nil t) (add-hook 'input-method-deactivate-hook #'evil-deactivate-input-method nil t))) -(defadvice toggle-input-method (around evil) +(evil--advice-add 'toggle-input-method :around #'evil--refresh-inpput-method) +(defun evil--refresh-inpput-method (orig-fun &rest args) "Refresh `evil-input-method'." (cond ((not evil-local-mode) -ad-do-it) +(apply orig-fun args)) ((evil-state-property evil-state :input-method) -ad-do-it) +(apply orig-fun args)) (
[nongnu] branch scratch/evil created (now 30e812bb6c)
monnier pushed a change to branch scratch/evil. at 30e812bb6c Misc minor changes This branch includes the following new commits: new f77b9d3723 evil-pkg.el: Remove file new 891af30ef2 Better follow conventions for use of ' in docstrings new 9456d95bef Prefer #' to quote function names new b9298c600f (evil-with-delay): New macro, extracted from `evil-delay` new 49ba6e6fc5 Use lexical-binding everywhere new 0a03b8d2ad Remove redundant `:group` args new a3657caba8 Replace uses of `defadvice` with `advice-add` new 30e812bb6c Misc minor changes
[nongnu] scratch/evil 891af30ef2 2/8: Better follow conventions for use of ' in docstrings
branch: scratch/evil commit 891af30ef2668d7e5bcdb4f9b46eb1ba7d4581a3 Author: Stefan Monnier Commit: Stefan Monnier Better follow conventions for use of ' in docstrings Also try and make the docstring fit within 80 columns. This fixes some incorrect uses and eliminates some warnings. --- evil-commands.el | 9 - evil-common.el | 30 +++--- evil-core.el | 42 +- evil-ex.el | 22 +++--- evil-macros.el | 2 +- evil-repeat.el | 6 -- evil-search.el | 22 +++--- evil-vars.el | 6 +++--- 8 files changed, 70 insertions(+), 69 deletions(-) diff --git a/evil-commands.el b/evil-commands.el index 68e9663e4b..abac1aea57 100644 --- a/evil-commands.el +++ b/evil-commands.el @@ -307,8 +307,7 @@ If called after a change operator, i.e. cw or cW, then both behave like ce or cE. If point is at the end of the buffer and cannot be moved signal -'end-of-buffer is raised. -" +`end-of-buffer' is raised." :type exclusive (let ((thing (if bigword 'evil-WORD 'evil-word)) (orig (point)) @@ -591,7 +590,7 @@ and jump to the corresponding one." (evil-next-flyspell-error (- (or count 1 (evil-define-motion evil-previous-open-paren (count) - "Go to [count] previous unmatched '('." + "Go to [count] previous unmatched \"(\"." :type exclusive (evil-up-paren ?\( ?\) (- (or count 1 @@ -3079,7 +3078,7 @@ Calls `evil-complete-previous-line-func'." (defun evil-repeat-search (flag) "Called to record a search command. -FLAG is either 'pre or 'post if the function is called before resp. +FLAG is either `pre' or `post' if the function is called before resp. after executing the command." (cond ((and (evil-operator-state-p) (eq flag 'pre)) @@ -3890,7 +3889,7 @@ Change to `%s'? " (defun evil-repeat-ex-search (flag) "Called to record a search command. -FLAG is either 'pre or 'post if the function is called before +FLAG is either `pre' or `post' if the function is called before resp. after executing the command." (cond ((and (evil-operator-state-p) (eq flag 'pre)) diff --git a/evil-common.el b/evil-common.el index 49a5456d9c..3e4ce01519 100644 --- a/evil-common.el +++ b/evil-common.el @@ -123,7 +123,7 @@ otherwise add at the end of the list." "Delete by side-effect all items satisfying PREDICATE in LIST. Stop when reaching POINTER. If the first item satisfies PREDICATE, there is no way to remove it by side-effect; therefore, write -\(setq foo (evil-filter-list 'predicate foo)) to be sure of +\(setq foo (evil-filter-list #\\='predicate foo)) to be sure of changing the value of `foo'." (let ((tail list) elt head) (while (and tail (not (eq tail pointer))) @@ -1086,9 +1086,9 @@ immediately quits. (defun evil-signal-at-bob-or-eob (&optional count) "Signal error if `point' is at boundaries. -If `point' is at bob and COUNT is negative this function signal -`beginning-of-buffer'. If `point' is at eob and COUNT is positive -this function singal `end-of-buffer'. This function should be used +If `point' is at bob and COUNT is negative this function signals +`beginning-of-buffer'. If `point' is at eob and COUNT is positive +this function signals `end-of-buffer'. This function should be used in motions. COUNT defaults to 1." (setq count (or count 1)) (cond @@ -2745,7 +2745,7 @@ list of command properties as passed to `evil-define-command'." (defun evil-set-type (object type) "Set the type of OBJECT to TYPE. -For example, (evil-set-type 'next-line 'line) +For example, (evil-set-type \\='next-line \\='line) will make `line' the type of the `next-line' command." (cond ((overlayp object) @@ -3087,10 +3087,10 @@ linewise, otherwise it is character wise." OP and CL are pairs of buffer positions for the opening and closing delimiter of a range. SELECTION-TYPE is the desired type of selection. It is a symbol that determines which parts of the -block are selected. If it is 'inclusive or t the returned range -is \(cons (car OP) (cdr CL)). If it is 'exclusive or nil the +block are selected. If it is `inclusive' or t the returned range +is \(cons (car OP) (cdr CL)). If it is `exclusive' or nil the returned range is (cons (cdr OP) (car CL)). If it is -'exclusive-line the returned range will skip whitespace at the +`exclusive-line' the returned range will skip whitespace at the end of the line of OP and at the beginning of the line of CL." (cond ((memq selection-type '(inclusive t)) (cons (car op) (cdr cl))) @@ -3124,9 +3124,9 @@ delimited object must be given by THING-up function (see `evil-up-block'). SELECTION-TYPE is symbol that determines which parts of the block -are selected. If it is 'inclusive or t OPEN and CLOSE are -included in the range. If it is 'exclusive or nil the delimiters -are not contained. If it is 'exclusive-line the delimiters are +are selected. If it is `inclusive' or t O
[nongnu] scratch/evil b9298c600f 4/8: (evil-with-delay): New macro, extracted from `evil-delay`
branch: scratch/evil commit b9298c600fc0d0e08fac8db3fa7ca2e0f2eb72d6 Author: Stefan Monnier Commit: Stefan Monnier (evil-with-delay): New macro, extracted from `evil-delay` Save some kitten by using a macro instead of using `eval`. This also exposes more code to the compiler, so should result in more efficient code and potentially better compiler warnings. * evil-common.el (evil-unquote): Delete unused function. (evil--with-delay): New function, extracted from `evil-delay`. (evil-with-delay): New macro, extracted from `evil-delay`. (evil-delay): Redefine using `evil-with-delay` and declare obsolete. * evil-states.el (evil-visual-activate-hook): * evil-core.el (evil-define-key): * evil-commands.el (evil-execute-in-normal-state): Use `evil-with-delay`. --- evil-commands.el | 68 +--- evil-common.el | 50 - evil-core.el | 24 +++- evil-states.el | 21 + 4 files changed, 88 insertions(+), 75 deletions(-) diff --git a/evil-commands.el b/evil-commands.el index 0b28ceac34..347ba5c939 100644 --- a/evil-commands.el +++ b/evil-commands.el @@ -5188,39 +5188,41 @@ Restore the disabled repeat hooks on insert-state exit." (defun evil-execute-in-normal-state () "Execute the next command in Normal state." (interactive) - (evil-delay '(not (memq this-command - '(nil -evil-execute-in-normal-state -evil-replace-state -evil-use-register -digit-argument -negative-argument -universal-argument -universal-argument-minus -universal-argument-more -universal-argument-other-key))) - `(with-current-buffer ,(current-buffer) - ;; If cursor was after EOL before CTRL-O and is now at EOL, - ;; put it after EOL. - (and (or (when evil--execute-normal-eol-pos -(= (1+ (point)) (save-excursion - (goto-char evil--execute-normal-eol-pos) - (set-marker evil--execute-normal-eol-pos nil) - (line-end-position - (and (eq (or goal-column temporary-goal-column) most-positive-fixnum) - (memq this-command '(next-line previous-line - (not (eolp)) - (not (memq this-command - '(evil-insert evil-beginning-of-line evil-first-non-blank))) - (forward-char)) - (unless (memq evil-state '(replace insert)) - (evil-change-state ',evil-state)) - (when (eq 'insert evil-state) - (remove-hook 'pre-command-hook #'evil-repeat-pre-hook) - (remove-hook 'post-command-hook #'evil-repeat-post-hook) - (add-hook 'evil-insert-state-exit-hook #'evil--restore-repeat-hooks)) - (setq evil-execute-normal-keys nil)) -'post-command-hook) + (let ((buf (current-buffer)) +(estate evil-state)) +(evil-with-delay (not (memq this-command +'(nil + evil-execute-in-normal-state + evil-replace-state + evil-use-register + digit-argument + negative-argument + universal-argument + universal-argument-minus + universal-argument-more + universal-argument-other-key))) +post-command-hook + (with-current-buffer buf +;; If cursor was after EOL before CTRL-O and is now at EOL, +;; put it after EOL. +(and (or (when evil--execute-normal-eol-pos + (= (1+ (point)) (save-excursion + (goto-char evil--execute-normal-eol-pos) + (set-marker evil--execute-normal-eol-pos nil) + (line-end-position + (and (eq (or goal-column temporary-goal-column) most-positive-fixnum) + (memq this-command '(next-line previous-line + (not (eolp)) + (not (memq this-command +'(evil-insert evil-beginning-of-line evil-first-non-blank))) + (forward-char)) +(unless (memq evil-state '(replace insert)) + (evil-change-state estate)) +(when (eq 'insert evil-state) + (remove-hook 'pre-command-hook #'evil-repeat-pre-hook) + (remove-hook 'post-command-hook #'evil-repeat-post-hook) + (add-hook
[nongnu] scratch/evil f77b9d3723 1/8: evil-pkg.el: Remove file
branch: scratch/evil commit f77b9d372369b99488855acad8822a90ef24490a Author: Stefan Monnier Commit: Stefan Monnier evil-pkg.el: Remove file This file is auto-generated from headers in `evil.el` anyway. * evil.el: Synchronize metadata with what was in `evil-pkg.el`. * .gitignore: Add `evil-pkg.el`. --- .gitignore | 3 ++- evil-pkg.el | 7 --- evil.el | 2 +- 3 files changed, 3 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index a9b6f32c53..34991abef5 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,8 @@ *.pg *.tp .depend -evil-autoloads.el +/evil-autoloads.el +/evil-pkg.el test-results.txt typescript diff --git a/evil-pkg.el b/evil-pkg.el deleted file mode 100644 index 0ab78cb335..00 --- a/evil-pkg.el +++ /dev/null @@ -1,7 +0,0 @@ -(define-package - "evil" - "1.15.0" - "Extensible Vi layer for Emacs." - '((emacs "24.1") -(goto-chg "1.6") -(cl-lib "0.5"))) diff --git a/evil.el b/evil.el index dc13a828c0..00e7d7ce9c 100644 --- a/evil.el +++ b/evil.el @@ -1,4 +1,4 @@ -;;; evil.el --- extensible vi layer +;;; evil.el --- Extensible Vi layer for Emacs ;; The following list of authors was kept up to date until the beginning of ;; 2017, when evil moved under new maintainers. For authors since then, please
[nongnu] scratch/evil 30e812bb6c 8/8: Misc minor changes
branch: scratch/evil commit 30e812bb6c2841cdf728f6735a90e638d5522dad Author: Stefan Monnier Commit: Stefan Monnier Misc minor changes * evil-command-window.el (evil-command-window-draw-prefix): Mark `ignored` as, well, ignored. * README.md: Mention that `undo-fu` is also in NonGNU ELPA. * evil-core (evil-get-auxiliary-keymap): Simplify `vconcat` to `vector`. (evil-auxiliary-keymap-p): Unhide arg by moving it to its own line. * evil-macros.el (evil-define-interactive-code): Move shared `setq func` out of `cond`. 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 few FIXMEs. --- README.md | 2 +- evil-command-window.el | 2 +- evil-core.el | 5 +++-- evil-macros.el | 18 +- evil-tests.el | 5 + 5 files changed, 19 insertions(+), 13 deletions(-) diff --git a/README.md b/README.md index 198b18317c..6473ba66f2 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ file. * The [undo-tree](https://gitlab.com/tsc25/undo-tree) package (available via GNU ELPA) * The [undo-fu](https://gitlab.com/ideasman42/emacs-undo-fu) package -(available via MELPA) +(available via MELPA and NonGNU ELPA) * For the motions `g;` `g,` and for the last-change-register `.`, Evil requires the [goto-chg.el](https://github.com/emacs-evil/goto-chg) diff --git a/evil-command-window.el b/evil-command-window.el index 21299a2dc0..566ee3a79e 100644 --- a/evil-command-window.el +++ b/evil-command-window.el @@ -164,7 +164,7 @@ function to execute." (push result evil-search-backward-history))) (evil-search result forward evil-regexp-search -(defun evil-command-window-draw-prefix (&rest ignored) +(defun evil-command-window-draw-prefix (&rest _ignored) "Display `evil-command-window-cmd-key' as a prefix to the current line. Parameters passed in through IGNORED are ignored." (let ((prefix (propertize evil-command-window-cmd-key diff --git a/evil-core.el b/evil-core.el index f53d84c5d4..02e50e8652 100644 --- a/evil-core.el +++ b/evil-core.el @@ -845,7 +845,7 @@ IGNORE-PARENT are non-nil then a new auxiliary keymap is created even if the parent of MAP has one already." (when state -(let* ((key (vconcat (list (intern (format "%s-state" state) +(let* ((key (vector (intern (format "%s-state" state (parent-aux (when (and ignore-parent (keymap-parent map)) (lookup-key (keymap-parent map) key))) @@ -884,7 +884,8 @@ does not already exist." "Whether MAP is an auxiliary keymap." (and (keymapp map) (string-match-p "Auxiliary keymap" - (or (keymap-prompt map) "")) t)) + (or (keymap-prompt map) "")) + t)) (defun evil-minor-mode-keymap-p (map) "Whether MAP is a minor-mode keymap." diff --git a/evil-macros.el b/evil-macros.el index a164fe6981..458a2119e2 100644 --- a/evil-macros.el +++ b/evil-macros.el @@ -763,19 +763,19 @@ via KEY-VALUE pairs. BODY should evaluate to a list of values. (while (keywordp (car-safe body)) (setq properties (append properties (list (pop body) (pop body) -(cond - (args - (setq func `(lambda ,args +(setq func (cond +(args + `(lambda ,args ,@(when doc `(,doc)) -,@body))) - ((> (length body) 1) - (setq func `(progn ,@body))) - (t - (setq func (car body +,@body)) +((> (length body) 1) + `'(progn ,@body)) +(t + `',(car body `(eval-and-compile (let* ((code ,code) (entry (assoc code evil-interactive-alist)) - (value (cons ',func ',properties))) + (value (cons ,func ',properties))) (if entry (setcdr entry value) (push (cons code value) evil-interactive-alist)) diff --git a/evil-tests.el b/evil-tests.el index 455f7470c3..378619fd53 100644 --- a/evil-tests.el +++ b/evil-tests.el @@ -61,6 +61,7 @@ ;; ;; This file is NOT part of Evil itself. +;; FIXME: Merely loading an ELisp file should not change Emacs's config! (setq load-prefer-newer t) (require 'cl-lib) @@ -8971,6 +8972,10 @@ parameter set." (ert-deftest evil-test-parser () "Test `evil-parser'" (cl-flet ((parse + ;; FIXME: `evil-parser' is defined in `evil-ex' which is known to + ;; loaded at this point (thanks to (require 'evil)), but that file + ;; defines `evil-parser' only inside an `eval-when-compile', + ;; So this will misbehave if `evil-ex' has been compiled! (evil-parser '((number "[0-9]+" #'string-to-number) (plus "\\+" #'intern)