[nongnu] elpa/cider 7bcdabca29 1/4: Support nbb as native cljs repl

2022-12-15 Thread ELPA Syncer
branch: elpa/cider
commit 7bcdabca29eabb50418469495573c3ba49e76990
Author: ikappaki 
Commit: Bozhidar Batsov 

Support nbb as native cljs repl

If no repl init form is given, logic assumes it is repl is cljs from
the start.
---
 cider.el| 123 
 test/cider-tests.el |  43 ++
 test/utils/nrepl-tests-utils.el |  17 ++
 3 files changed, 146 insertions(+), 37 deletions(-)

diff --git a/cider.el b/cider.el
index dc44e1cfca..f944f8bcf9 100644
--- a/cider.el
+++ b/cider.el
@@ -230,6 +230,27 @@ By default we favor the project-specific shadow-cljs over 
the system-wide."
   :safe #'stringp
   :package-version '(cider . "1.2.0"))
 
+(defcustom cider-nbb-command
+  "nbb"
+  "The command used to execute nbb."
+  :type 'string
+  :safe #'stringp
+  :package-version '(cider . "1.2.0"))
+
+(defcustom cider-nbb-global-options
+  nil
+  "Command line options used to execute nbb."
+  :type 'string
+  :safe #'stringp
+  :package-version '(cider . "1.2.0"))
+
+(defcustom cider-nbb-parameters
+  "nrepl-server"
+  "Params passed to nbb to start an nREPL server via `cider-jack-in'."
+  :type 'string
+  :safe #'stringp
+  :package-version '(cider . "1.2.0"))
+
 (defcustom cider-jack-in-default (if (executable-find "clojure") 'clojure-cli 
'lein)
   "The default tool to use when doing `cider-jack-in' outside a project.
 This value will only be consulted when no identifying file types, i.e.
@@ -243,7 +264,8 @@ to Leiningen."
  (const clojure-cli)
  (const shadow-cljs)
  (const gradle)
- (const babashka))
+ (const babashka)
+ (const nbb))
   :safe #'symbolp
   :package-version '(cider . "0.9.0"))
 
@@ -262,6 +284,7 @@ command when there is no ambiguity."
  (const shadow-cljs)
  (const gradle)
  (const babashka)
+ (const nbb)
  (const :tag "Always ask" nil))
   :safe #'symbolp
   :package-version '(cider . "0.13.0"))
@@ -337,6 +360,7 @@ Sub-match 1 must be the project path.")
 ('babashkacider-babashka-command)
 ('shadow-cljs cider-shadow-cljs-command)
 ('gradle  cider-gradle-command)
+('nbb cider-nbb-command)
 (_(user-error "Unsupported project type `%S'" project-type
 
 (defun cider-jack-in-resolve-command (project-type)
@@ -357,6 +381,7 @@ Throws an error if PROJECT-TYPE is unknown."
 ;; relative path like "./gradlew" use locate file instead of checking
 ;; the exec-path
 ('gradle (cider--resolve-project-command cider-gradle-command))
+('nbb (cider--resolve-command cider-nbb-command))
 (_ (user-error "Unsupported project type `%S'" project-type
 
 (defun cider-jack-in-global-options (project-type)
@@ -368,6 +393,7 @@ Throws an error if PROJECT-TYPE is unknown."
 ('babashkacider-babashka-global-options)
 ('shadow-cljs cider-shadow-cljs-global-options)
 ('gradle  cider-gradle-global-options)
+('nbb cider-nbb-global-options)
 (_(user-error "Unsupported project type `%S'" project-type
 
 (defun cider-jack-in-params (project-type)
@@ -383,6 +409,7 @@ Throws an error if PROJECT-TYPE is unknown."
 ('babashkacider-babashka-parameters)
 ('shadow-cljs cider-shadow-cljs-parameters)
 ('gradle  cider-gradle-parameters)
+('nbb cider-nbb-parameters)
 (_(user-error "Unsupported project type `%S'" project-type
 
 
@@ -766,6 +793,10 @@ dependencies."
   (cider-add-clojure-dependencies-maybe
cider-jack-in-dependencies)
   (cider-jack-in-normalized-nrepl-middlewares)))
+('nbb (concat
+   global-opts
+   (unless (seq-empty-p global-opts) " ")
+   params))
 (_ (error "Unsupported project type `%S'" project-type
 
 
@@ -993,21 +1024,26 @@ The supplied string will be wrapped in a do form if 
needed."
 (def config (edn/read-string (slurp (io/file \"build.edn\"
 (apply cider.piggieback/cljs-repl (krell.repl/repl-env) (mapcat identity 
config))"
cider-check-krell-requirements)
+;; native cljs repl, no form required.
+(nbb)
 (custom cider-custom-cljs-repl-init-form nil))
   "A list of supported ClojureScript REPLs.
 
-For each one we have its name, the form we need to evaluate in a Clojure
-REPL to start the ClojureScript REPL and functions to verify their 
requirements.
+For each one we have its name, and then, if the repl is not a native
+ClojureScript REPL, the form we need to evaluate in a Clojure REPL to
+switch to the ClojureScript REPL and functions to verify their
+requirements.
 
-The form should be either a string or a function producing a string.")
+The form, if any, should be either a string or a function producing a
+string.")
 
-(defun cider-register-cljs-repl-type (type init-form  

[nongnu] elpa/cider 0f3410781f 2/4: bump pack version, update doc

2022-12-15 Thread ELPA Syncer
branch: elpa/cider
commit 0f3410781f2b994d3e1385b468f73b4e3d161660
Author: ikappaki 
Commit: Bozhidar Batsov 

bump pack version, update doc

Also
- Add changelog entry
- Small tests improvements (no functional changes).
- Fixes unreleated codespell issue in master with `ai` logos.
---
 CHANGELOG.md   |  1 +
 cider.el   |  6 +--
 doc/modules/ROOT/nav.adoc  |  1 +
 doc/modules/ROOT/pages/platforms/nbb.adoc  | 13 ++
 doc/modules/ROOT/pages/platforms/overview.adoc |  1 +
 test/cider-tests.el| 56 --
 6 files changed, 54 insertions(+), 24 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9c761d94b6..2a4fe659b7 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,7 @@
 ### New features
 
 - [#3278](https://github.com/clojure-emacs/cider/pull/3278) Introduce 
integration tests, which also fix a long standing issue with orphaned process 
on MS-Windows by contracting `taskkill`, if available, to properly kill the 
nREPL server process tree.
+- [#3061](https://github.com/clojure-emacs/cider/issues/3061): Add support for 
nbb.
 - [#3249](https://github.com/clojure-emacs/cider/pull/3249): Add support for 
Clojure Spec 2.
 - [#3247](https://github.com/clojure-emacs/cider/pull/3247): Add the 
`cider-stacktrace-analyze-at-point` and `cider-stacktrace-analyze-in-region` 
commands to view printed exceptions in the stacktrace inspector.
 
diff --git a/cider.el b/cider.el
index f944f8bcf9..c0cc2fc695 100644
--- a/cider.el
+++ b/cider.el
@@ -235,21 +235,21 @@ By default we favor the project-specific shadow-cljs over 
the system-wide."
   "The command used to execute nbb."
   :type 'string
   :safe #'stringp
-  :package-version '(cider . "1.2.0"))
+  :package-version '(cider . "1.3.0"))
 
 (defcustom cider-nbb-global-options
   nil
   "Command line options used to execute nbb."
   :type 'string
   :safe #'stringp
-  :package-version '(cider . "1.2.0"))
+  :package-version '(cider . "1.3.0"))
 
 (defcustom cider-nbb-parameters
   "nrepl-server"
   "Params passed to nbb to start an nREPL server via `cider-jack-in'."
   :type 'string
   :safe #'stringp
-  :package-version '(cider . "1.2.0"))
+  :package-version '(cider . "1.3.0"))
 
 (defcustom cider-jack-in-default (if (executable-find "clojure") 'clojure-cli 
'lein)
   "The default tool to use when doing `cider-jack-in' outside a project.
diff --git a/doc/modules/ROOT/nav.adoc b/doc/modules/ROOT/nav.adoc
index 599eb069a1..63802644db 100644
--- a/doc/modules/ROOT/nav.adoc
+++ b/doc/modules/ROOT/nav.adoc
@@ -13,6 +13,7 @@
 * Alternative Platforms
 ** xref:platforms/overview.adoc[Overview]
 ** xref:platforms/babashka.adoc[Babashka]
+** xref:platforms/nbb.adoc[Nbb]
 ** xref:platforms/scittle_and_friends.adoc[Scittle and Friends]
 * Using CIDER
 ** xref:usage/interactive_programming.adoc[Interactive Programming]
diff --git a/doc/modules/ROOT/pages/platforms/nbb.adoc 
b/doc/modules/ROOT/pages/platforms/nbb.adoc
new file mode 100644
index 00..4a21fd26ee
--- /dev/null
+++ b/doc/modules/ROOT/pages/platforms/nbb.adoc
@@ -0,0 +1,13 @@
+= https://github.com/babashka/nbb[nbb]
+
+Nbb's main goal is to make it easy to get started with ad hoc CLJS scripting 
on Node.js.
+
+It is highly compatible with ClojureScript, so it works with CIDER out of the 
box.
+
+You can either jack in to an nbb project with `M-x clojure-jack-in-cljs`.
+
+or start its bundled nREPL server:
+
+  $ nbb nrepl-server
+
+and connect to it afterwards using `M-x cider-connect-cljs`.
diff --git a/doc/modules/ROOT/pages/platforms/overview.adoc 
b/doc/modules/ROOT/pages/platforms/overview.adoc
index d0d94bc1f1..aafd0ae22f 100644
--- a/doc/modules/ROOT/pages/platforms/overview.adoc
+++ b/doc/modules/ROOT/pages/platforms/overview.adoc
@@ -28,6 +28,7 @@ Right now CIDER the supports to some extent the following:
 * Babashka
 * ClojureCLR (via Arcadia's nREPL server)
 * Lumo (via https://github.com/djblue/nrepl-cljs)
+* Nbb
 
 All of them are derived from Clojure, so supporting them didn't really require 
much work.
 
diff --git a/test/cider-tests.el b/test/cider-tests.el
index c9693ad584..052c09f128 100644
--- a/test/cider-tests.el
+++ b/test/cider-tests.el
@@ -580,46 +580,60 @@
 :to-equal (shell-quote-argument "/bin/command"
 
 (describe "cider-connect-sibling-cljs"
-  :var (-cider-cljs-repl-types bu-cider-shadow-default-options)
+  ;; restore:
+  ;; - `cider-cljs-repl-types` changed by `cider-register-cljs-repl-type`.
+  :var (-cider-cljs-repl-types)
   (before-all
-   (setq -cider-cljs-repl-types cider-cljs-repl-types
- -cider-shadow-default-options cider-shadow-default-options))
+   (setq -cider-cljs-repl-types cider-cljs-repl-types))
   (after-each
-   (setq cider-cljs-repl-types -cider-cljs-repl-types
- cider-shadow-default-options -cider-shadow-default-options))
+   (setq cider-cljs-repl-types 

[nongnu] elpa/cider 7571f4dbc3 4/4: Add nbb integration tests, pick up pending-cljs changes

2022-12-15 Thread ELPA Syncer
branch: elpa/cider
commit 7571f4dbc3ca1304091e6ef3d669068175df8bf8
Author: ikappaki 
Commit: Bozhidar Batsov 

Add nbb integration tests, pick up pending-cljs changes
---
 .github/workflows/test.yml|  1 +
 cider.el  | 18 ++-
 test/cider-tests.el   | 12 +--
 test/integration/integration-tests.el | 59 +++
 4 files changed, 80 insertions(+), 10 deletions(-)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 91fd0cd6bc..fb8701862b 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -67,6 +67,7 @@ jobs:
   with:
 node-version: 16
 - run: npm install shadow-cljs@2.20.13 -g
+- run: npm install nbb@1.1.152 -g
 
 - name: Test integration
   run: |
diff --git a/cider.el b/cider.el
index 1c0f53178b..e7283bc697 100644
--- a/cider.el
+++ b/cider.el
@@ -12,7 +12,7 @@
 ;; Maintainer: Bozhidar Batsov 
 ;; URL: http://www.github.com/clojure-emacs/cider
 ;; Version: 1.6.0-snapshot
-;; Package-Requires: ((emacs "26") (clojure-mode "5.15.1") (parseedn "1.0.6") 
(queue "0.2") (spinner "1.7") (seq "2.22") (sesman "0.3.2"))
+;; Package-Requires: ((emacs "26") (clojure-mode "5.16.0") (parseedn "1.0.6") 
(queue "0.2") (spinner "1.7") (seq "2.22") (sesman "0.3.2"))
 ;; Keywords: languages, clojure, cider
 
 ;; This program is free software: you can redistribute it and/or modify
@@ -1296,7 +1296,7 @@ server buffer, in which case a new session for that 
server is created."
(cider--update-cljs-type)
(cider--update-cljs-init-function)
(plist-put :session-name ses-name)
-   (plist-put :cider-repl-cljs-upgrade-pending t)
+   (plist-put :repl-type 'cljs)
 
 ;;;###autoload
 (defun cider-connect-clj ( params)
@@ -1330,7 +1330,7 @@ parameters regardless of their supplied or default 
values."
  (cider--update-cljs-type)
  (cider--update-cljs-init-function)
  (plist-put :session-name nil)
- (plist-put :cider-repl-cljs-upgrade-pending t
+ (plist-put :repl-type 'cljs
 
 ;;;###autoload
 (defun cider-connect-clj (params  soft-cljs-start)
@@ -1506,8 +1506,9 @@ non-nil, don't start if ClojureScript requirements are 
not met."
 
 The updated params are:
 
-:cljs-type 'cljs if it is a cljs REPL, or 'pending-cljs when the init form
-is required to be sent to the REPL to switch over to cljs.
+:cider-repl-cljs-upgrade-pending nil if it is a cljs REPL, or t
+when the init form is required to be sent to the REPL to switch
+over to cljs.
 
 :repl-init-form The form that can switch the REPL over to cljs.
 
@@ -1517,9 +1518,11 @@ is required to be sent to the REPL to switch over to 
cljs.
 (let* ((cljs-type (plist-get params :cljs-repl-type))
(repl-init-form (cider-cljs-repl-form cljs-type)))
   (if (null repl-init-form)
-  (plist-put params :repl-type 'cljs)
+  (plist-put params :cider-repl-cljs-upgrade-pending nil)
+
 (thread-first
   params
+  (plist-put :cider-repl-cljs-upgrade-pending t)
   (plist-put :repl-init-function
  (lambda ()
(cider--check-cljs cljs-type)
@@ -1533,8 +1536,7 @@ is required to be sent to the REPL to switch over to cljs.
(when (and (buffer-live-p nrepl-server-buffer)
   cider-offer-to-open-cljs-app-in-browser)
  (cider--offer-to-open-app-in-browser 
nrepl-server-buffer
-  (plist-put :repl-init-form repl-init-form)
-  (plist-put :repl-type 'pending-cljs))
+  (plist-put :repl-init-form repl-init-form))
 
 (defun cider--check-existing-session (params)
   "Ask for confirmation if a session with similar PARAMS already exists.
diff --git a/test/cider-tests.el b/test/cider-tests.el
index 052c09f128..ecb6cabbc4 100644
--- a/test/cider-tests.el
+++ b/test/cider-tests.el
@@ -597,6 +597,8 @@
 ;; native cljs REPL
 (expect (buffer-local-value 'cider-repl-type client-buffer)
 :to-equal 'cljs)
+(expect (buffer-local-value 'cider-repl-cljs-upgrade-pending 
client-buffer)
+:to-equal nil)
 (expect (buffer-local-value 'cider-repl-init-function 
client-buffer)
 :to-be nil)
 (delete-process (get-buffer-process client-buffer
@@ -608,7 +610,9 @@
  '(:cljs-repl-type shadow) server-buffer)))
 ;; starts as clj REPL and requires a form to switch over to cljs
 (expect (buffer-local-value 'cider-repl-type client-buffer)
-:to-equal 'pending-cljs)
+:to-equal 'cljs)
+(expect (buffer-local-value 'cider-repl-cljs-upgrade-pending 
client-buffer)
+:to-equal t)
 (expect (buffer-local-value 'cider-repl-init-function 
client-buffer)
   

[nongnu] elpa/cider updated (5631d60295 -> 7571f4dbc3)

2022-12-15 Thread ELPA Syncer
elpasync pushed a change to branch elpa/cider.

  from  5631d60295 Reify cider-cljs-pending separate from repl-type (#3291)
   new  7bcdabca29 Support nbb as native cljs repl
   new  0f3410781f bump pack version, update doc
   new  396285cec8 Change nbb project identifier to nbb.edn
   new  7571f4dbc3 Add nbb integration tests, pick up pending-cljs changes


Summary of changes:
 .github/workflows/test.yml |   1 +
 CHANGELOG.md   |   1 +
 cider.el   | 131 +
 doc/modules/ROOT/nav.adoc  |   1 +
 doc/modules/ROOT/pages/platforms/nbb.adoc  |  13 +++
 doc/modules/ROOT/pages/platforms/overview.adoc |   1 +
 test/cider-tests.el|  65 
 test/integration/integration-tests.el  |  59 +++
 test/utils/nrepl-tests-utils.el|  17 
 9 files changed, 249 insertions(+), 40 deletions(-)
 create mode 100644 doc/modules/ROOT/pages/platforms/nbb.adoc



[nongnu] elpa/cider 396285cec8 3/4: Change nbb project identifier to nbb.edn

2022-12-15 Thread ELPA Syncer
branch: elpa/cider
commit 396285cec866d5139c22c5ecc9a6b9311ed7474f
Author: ikappaki 
Commit: Bozhidar Batsov 

Change nbb project identifier to nbb.edn
---
 cider.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cider.el b/cider.el
index c0cc2fc695..1c0f53178b 100644
--- a/cider.el
+++ b/cider.el
@@ -1715,7 +1715,7 @@ PROJECT-DIR defaults to current project."
 (shadow-cljs . "shadow-cljs.edn")
 (gradle  . "build.gradle")
 (gradle  . "build.gradle.kts")
-(nbb . "package.json"
+(nbb . "nbb.edn"
 (delq nil
   (mapcar (lambda (candidate)
 (when (file-exists-p (cdr candidate))



[elpa] externals/denote 909f9f0e74 3/3: Use the tilde were appropriate in the manual

2022-12-15 Thread ELPA Syncer
branch: externals/denote
commit 909f9f0e74c4fe792b0891fbb1dbb17130bddd6c
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Use the tilde were appropriate in the manual
---
 README.org | 17 +
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/README.org b/README.org
index b86aa01b5b..c66fd54220 100644
--- a/README.org
+++ b/README.org
@@ -2210,13 +2210,13 @@ mechanisms (e.g. with the help of the ~vertico~ and 
~embark~ packages)
 to manage bibliographic notes and access those notes with ease.  The
 package's documentation covers the details: 
.
 
-** Use the consult-notes package
+** Use the ~consult-notes~ package
 :PROPERTIES:
 :CUSTOM_ID: h:8907f4bc-992a-45bc-a60e-267ed1ce9c2d
 :END:
 
-If you are already using =consult= (which is a brilliant package), you
-will probably like its =consult-notes= extension.  It uses the familiar
+If you are already using ~consult~ (which is a brilliant package), you
+will probably like its ~consult-notes~ extension.  It uses the familiar
 mechanisms of Consult to filter searches via a prefix key.  For example:
 
 #+begin_src emacs-lisp
@@ -2230,12 +2230,13 @@ directories.  If you type =n= and space, it narrows the 
list to just the
 notes, while =b= does the same for books.
 
 To search all your notes with grep (or ripgrep if installed -- see
-=consult-notes-use-rg= variable) use the command
-=consult-notes-search-in-all-notes=. This will employ grep/ripgrep for 
searching
-terms in all the directories set in =consult-notes-sources=.
+~consult-notes-use-rg~ variable) use the command
+~consult-notes-search-in-all-notes~. This will employ grep/ripgrep for
+searching terms in all the directories set in ~consult-notes-sources~.
 
-Note that =consult-notes= is in its early stages of development.  Expect
-improvements in the near future (written on 2022-06-22 16:48 +0300).
+Note that ~consult-notes~ is in its early stages of development.
+Expect improvements in the near future (written on 2022-06-22 16:48
++0300).
 
 ** Treat your notes as a project
 :PROPERTIES:



[elpa] externals/denote e8ec8b8eb4 1/3: Make minor format tweaks to 'denote-modules'

2022-12-15 Thread ELPA Syncer
branch: externals/denote
commit e8ec8b8eb4465f7f4bf4eba7964fa0b86dc482bf
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Make minor format tweaks to 'denote-modules'
---
 denote.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/denote.el b/denote.el
index f133d9cdd2..69e2ca54b6 100644
--- a/denote.el
+++ b/denote.el
@@ -3353,7 +3353,7 @@ module enables integration with another Emacs built-in 
feature.
 See `denote-modules-available' for the modules currently
 available.  Set this user option as a list of NAME; for example:
 
-\(project xref ffap\)
+(project xref ffap)
 
 When customized in Customize UI, it presents a set of checkboxes,
 each box checked adds NAME of the module to the list.
@@ -3367,8 +3367,8 @@ or set it in your configuration."
   :set #'denote-modules-set
   :package-version '(denote . "1.2.0")
   :type
-  '(set (const :tag "Project integration" project)
-(const :tag "Xref integration  " xref)
+  '(set (const :tag "Project integration" project)
+(const :tag "Xref integration " xref)
 (const :tag "Integration with find-file-at-point `ffap'" ffap)))
 
  project.el integration



[elpa] externals/denote updated (9b91ddf735 -> 909f9f0e74)

2022-12-15 Thread ELPA Syncer
elpasync pushed a change to branch externals/denote.

  from  9b91ddf735 Add user option denote-excluded-keywords-regexp
   new  e8ec8b8eb4 Make minor format tweaks to 'denote-modules'
   new  03bebf58fe Mention citar-denote in the manual
   new  909f9f0e74 Use the tilde were appropriate in the manual


Summary of changes:
 README.org | 34 ++
 denote.el  |  6 +++---
 2 files changed, 29 insertions(+), 11 deletions(-)



[elpa] externals/denote 03bebf58fe 2/3: Mention citar-denote in the manual

2022-12-15 Thread ELPA Syncer
branch: externals/denote
commit 03bebf58fe7cb4ad174b9a7d044bc6336b81df86
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Mention citar-denote in the manual

Thanks to Peter Prevos for developing this package and for mentioning
it on the Denote mailing list:
.
---
 README.org | 17 +
 1 file changed, 17 insertions(+)

diff --git a/README.org b/README.org
index 5bee4eaa2c..b86aa01b5b 100644
--- a/README.org
+++ b/README.org
@@ -2193,6 +2193,23 @@ Each of those types can be narrowed to with a prefix 
key.  The package
 =consult-dir= is an extension to =consult= which provides useful extras
 for working with directories, including bookmarks.
 
+** Use the ~citar-denote~ package for bibliography notes
+:PROPERTIES:
+:CUSTOM_ID: h:226d66e4-b7de-4617-87e2-a7f2d6f007dd
+:END:
+
+Peter Prevos has produced the ~citar-denote~ package which makes it
+possible to write notes on BibTeX entries with the help of the ~citar~
+package.  These notes have the citation's unique key associated with
+them in the file's front matter.  They also get a configurable keyword
+in their file name, making it easy to find them in Dired and/or
+retrieve them with the various Denote methods.
+
+With ~citar-denote~, the user leverages standard minibuffer completion
+mechanisms (e.g. with the help of the ~vertico~ and ~embark~ packages)
+to manage bibliographic notes and access those notes with ease.  The
+package's documentation covers the details: 
.
+
 ** Use the consult-notes package
 :PROPERTIES:
 :CUSTOM_ID: h:8907f4bc-992a-45bc-a60e-267ed1ce9c2d



[elpa] externals/eev ed28714e64: Now `find-epackages' supports pointing to a package.

2022-12-15 Thread ELPA Syncer
branch: externals/eev
commit ed28714e64378002221935f47dc3b2466534e15d
Author: Eduardo Ochs 
Commit: Eduardo Ochs 

Now `find-epackages' supports pointing to a package.
---
 ChangeLog | 21 
 VERSION   |  4 ++--
 eev-blinks.el | 63 ---
 eev-elinks.el |  4 ++--
 eev-hlinks.el | 15 --
 5 files changed, 98 insertions(+), 9 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index f050ccbe38..037a65f3ba 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,24 @@
+2022-12-16  Eduardo Ochs  
+
+   * eev-blinks.el (find-epackages): renamed to `find-epackages0'.
+   (find-epackages): new function.
+   (ee-goto-position-package, ee-packages-nline-for)
+   (ee-packages-nlines-for, ee-packages-nlines-and-names): new
+   functions.
+
+   * eev-elinks.el (ee-find-epackage-links0): use the new
+   `find-epackages', that has the same name as the old one but
+   different arguments.
+
+   * eev-hlinks.el (ee-packages-package-here): new function.
+   (ee-find-epackages-links): use `ee-packages-package-here' and the
+   new `find-epackages'.
+
+2022-12-15  Eduardo Ochs  
+
+   * eev-blinks.el (ee-struct-to-triples, find-estructt): new
+   functions.
+
 2022-12-14  Eduardo Ochs  
 
* eev-hlinks.el (ee-underlinewsp-re): new function.
diff --git a/VERSION b/VERSION
index 4e7ed8a438..98ee25a4f9 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-Fri Dec 16 02:32:21 GMT 2022
-Thu Dec 15 23:32:21 -03 2022
+Fri Dec 16 04:57:38 GMT 2022
+Fri Dec 16 01:57:38 -03 2022
diff --git a/eev-blinks.el b/eev-blinks.el
index 9e71a84713..53f7826831 100644
--- a/eev-blinks.el
+++ b/eev-blinks.el
@@ -21,7 +21,7 @@
 ;;
 ;; Author: Eduardo Ochs 
 ;; Maintainer: Eduardo Ochs 
-;; Version:20221215
+;; Version:20221216
 ;; Keywords:   e-scripts
 ;;
 ;; Latest version: <http://angg.twu.net/eev-current/eev-blinks.el>
@@ -48,6 +48,7 @@
 ;; «.find-fline»   (to "find-fline")
 ;; «.find-wottb»   (to "find-wottb")
 ;; «.find-dbsw»(to "find-dbsw")
+;; «.find-epackages»   (to "find-epackages")
 ;; «.find-efaces»  (to "find-efaces")
 ;; «.find-eregionpp»   (to "find-eregionpp")
 ;; «.find-eoverlayspp» (to "find-eoverlayspp")
@@ -375,8 +376,10 @@ then go to the position specified by POS-SPEC-LIST.\n
 ;; Tests: (find-epackages nil "\n  0x0 ")
 ;;(find-epackages t   "\n  0x0 ")
 ;;
-(defun find-epackages ( no-fetch  pos-spec-list)
-  "Hyperlink to the output of `list-packages'."
+(defun find-epackages0 ( no-fetch  pos-spec-list)
+  "Hyperlink to the output of `list-packages'.
+This is similar to `find-epackages', but it is much simpler and
+far less convenient. The suffix `0' means \"low-level\"."
   (interactive "P")
   (apply 'find-wottb-call '(list-packages no-fetch)
 "*Packages*" pos-spec-list))
@@ -428,6 +431,60 @@ change soon."
 
 
 
+;;;   __ _   _ _ 
+;;;  / _(_)_ __   __| |   ___ _ __   __ _  ___| |  _  __ _  ___  ___ 
+;;; | |_| | '_ \ / _` |_ / _ \ '_ \ / _` |/ __| |/ / _` |/ _` |/ _ \/ __|
+;;; |  _| | | | | (_| |_|  __/ |_) | (_| | (__|   < (_| | (_| |  __/\__ \
+;;; |_| |_|_| |_|\__,_|  \___| .__/ \__,_|\___|_|\_\__,_|\__, |\___||___/
+;;;  |_| |___/   
+;;
+;; «find-epackages»  (to ".find-epackages")
+;; Tests: (find-epackages)
+;;(find-epackages 'eev)
+
+(defun find-epackages ( pos-spec-list)
+  "Hyperlink to the output of `list-packages'.
+This is similar to `find-epackages0', but uses these three hacks:
+  1. if a buffer called \"*Packages*\" exists, just switch to it,
+  2. if it doesn't exist, create it with (list-packages 'no-fetch),
+  3. use `ee-goto-position-package' instead of `ee-goto-position'."
+  (interactive "P")
+  (if (get-buffer "*Packages*")
+  (find-ebuffer "*Packages*")
+(find-wottb-call
+ '(list-packages 'no-fetch)
+ "*Packages*"))
+  (apply 'ee-goto-position-package pos-spec-list))
+
+(defun ee-goto-position-package ( pkgsymbol  rest)
+  "Like `ee-goto-position', but treats PKGSYMBOL as a package name.
+This is an internal function used by `find-epackages'."
+  (if (and pkgsymbol (symbolp pkgsymbol))
+  (let ((nline (ee-packages-nline-for pkgsymbol)))
+   (if (not nline) (error "Package not found"))
+   (apply 'ee-goto-position nline rest))
+(apply 'ee-goto-position pkgsymbol rest)))
+
+(defun ee-packages-nline-for (pkgsymbol  nns)
+  "This is an internal function that only works in the *Packages* buffer."
+  (car (reverse (ee

[elpa] externals/posframe 030a63bc8d: v1.3.1

2022-12-15 Thread ELPA Syncer
branch: externals/posframe
commit 030a63bc8d8023386998ea9a1ee0eb041330a80d
Author: Feng Shu 
Commit: Feng Shu 

v1.3.1
---
 posframe.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/posframe.el b/posframe.el
index da06ae0861..5ba6211357 100644
--- a/posframe.el
+++ b/posframe.el
@@ -5,7 +5,7 @@
 ;; Author: Feng Shu 
 ;; Maintainer: Feng Shu 
 ;; URL: https://github.com/tumashu/posframe
-;; Version: 1.3.0
+;; Version: 1.3.1
 ;; Keywords: convenience, tooltip
 ;; Package-Requires: ((emacs "26.1"))
 



[elpa] externals/eev 0711fcfcdf: Added `ee-struct-to-triples' and `find-estructt'.

2022-12-15 Thread ELPA Syncer
branch: externals/eev
commit 0711fcfcdf269651902004c33d80d6ccd8de21ad
Author: Eduardo Ochs 
Commit: Eduardo Ochs 

Added `ee-struct-to-triples' and `find-estructt'.
---
 VERSION   |  4 ++--
 eev-blinks.el | 21 -
 2 files changed, 22 insertions(+), 3 deletions(-)

diff --git a/VERSION b/VERSION
index dddc014036..4e7ed8a438 100644
--- a/VERSION
+++ b/VERSION
@@ -1,2 +1,2 @@
-Wed Dec 14 13:22:55 GMT 2022
-Wed Dec 14 10:22:55 -03 2022
+Fri Dec 16 02:32:21 GMT 2022
+Thu Dec 15 23:32:21 -03 2022
diff --git a/eev-blinks.el b/eev-blinks.el
index 7dc01568dc..9e71a84713 100644
--- a/eev-blinks.el
+++ b/eev-blinks.el
@@ -21,7 +21,7 @@
 ;;
 ;; Author: Eduardo Ochs 
 ;; Maintainer: Eduardo Ochs 
-;; Version:20221028
+;; Version:20221215
 ;; Keywords:   e-scripts
 ;;
 ;; Latest version: <http://angg.twu.net/eev-current/eev-blinks.el>
@@ -941,6 +941,25 @@ fieldname value\", like this:
   (apply 'find-estring (ee-struct-to-string stro) pos-spec-list))
 
 
+;; Added in 2022dec15.
+;; TODO: refactor and write better docstrings!
+;;
+(defun ee-struct-to-triples (stro)
+  "Like `ee-struct-to-string', but returns a list of triples."
+  (let* ((ns (number-sequence 0 (length stro)))
+(fieldnames (ee-struct-slot-names+ stro))
+(triples (cl-mapcar
+  (lambda (n name o) (list n name o))
+  ns fieldnames stro)))
+triples))
+
+(defun find-estructt (stro  pos-spec-list)
+  "Like `find-estructt', but pretty-prints a list of triples."
+  (apply 'find-epp (ee-struct-to-triples stro) pos-spec-list))
+
+
+
+
 
 
 



[elpa] externals/nhexl-mode 70d3c54585: * nhexl-mode.el (nhexl-nibble-copy-hex): New var

2022-12-15 Thread Stefan Monnier via
branch: externals/nhexl-mode
commit 70d3c545857f59e892fba9dbefdca4fa25b9af9a
Author: Stefan Monnier 
Commit: Stefan Monnier 

* nhexl-mode.el (nhexl-nibble-copy-hex): New var

(nhexl-nibble-edit-mode): Obey it.
(nhexl--convert-to-hex): New function.
---
 nhexl-mode.el | 31 +++
 1 file changed, 27 insertions(+), 4 deletions(-)

diff --git a/nhexl-mode.el b/nhexl-mode.el
index 241372abdf..2ade8d7a0e 100644
--- a/nhexl-mode.el
+++ b/nhexl-mode.el
@@ -68,6 +68,12 @@
 ;; - Always reload the file with find-file-literally instead
 ;;   of editing the multibyte representation?
 
+;;; News:
+
+;; Since v1.5:
+;; - New var `nhexl-nibble-copy-hex' to allow kill operations to copy
+;;   the hex form when in nibble mode.
+
 ;;; Code:
 
 (eval-when-compile (require 'cl-lib))
@@ -136,9 +142,14 @@ Groups are separated by spaces."
 
 ;; FIXME: Region highlighting in this minor mode should highlight the hex area
 ;;   rather than only the ascii area!
-;; FIXME: Kill in this minor mode should work on the hex representation
+;; FIXME: Yank in this minor mode should work on the hex representation
 ;;   of the buffer's content (and should obey overwrite-mode)!
 
+(defcustom nhexl-nibble-copy-hex nil;Probably more annoying than anything!
+  "if non-nil, copy/kill text's hexadecimal representation.
+Only takes effect when in `nhexl-nibble-edit-mode'."
+  :type 'boolean)
+
 (defvar nhexl-nibble-edit-mode-map
   (let ((map (make-sparse-keymap)))
 (define-key map [remap self-insert-command] #'nhexl-nibble-self-insert)
@@ -155,9 +166,17 @@ Groups are separated by spaces."
 (define-minor-mode nhexl-nibble-edit-mode
   "Minor mode to edit the hex nibbles in `nhexl-mode'."
   :global nil
-  (if nhexl-nibble-edit-mode
-  (setq-local cursor-type 'hbar)
-(kill-local-variable 'cursor-type))
+  (cond
+   (nhexl-nibble-edit-mode
+(add-function :filter-return (local 'filter-buffer-substring-function)
+  #'nhexl--convert-to-hex)
+(setq-local nhexl-isearch-hex-bytes t)
+(setq-local cursor-type 'hbar))
+   (t
+(remove-function (local 'filter-buffer-substring-function)
+ #'nhexl--convert-to-hex)
+(kill-local-variable 'cursor-type)
+(kill-local-variable 'nhexl-isearch-hex-bytes)))
   (nhexl--refresh-cursor))
 
 (defvar-local nhexl--nibbles nil
@@ -242,6 +261,10 @@ and TICKS is the `buffer-chars-modified-tick' for which 
this was valid.")
   (backward-char 1)
   (nhexl--nibble-set (1+ nib)
 
+(defun nhexl--convert-to-hex (string)
+  (when nhexl-nibble-edit-mode
+(mapconcat (lambda (c) (format "%02x" c)) string "")))
+
  No insertion/deletion minor mode
 
 ;; FIXME: To make it work more generally, we should hook into



[elpa] externals/gnat-compiler 5b0d334fd9 2/2: * ELPA.make (EMACS_EXE): Delete harfbuzz workaround

2022-12-15 Thread Stephen Leake
branch: externals/gnat-compiler
commit 5b0d334fd9c4d30b2e5ab478610facf7efc807e4
Author: Stephen Leake 
Commit: Stephen Leake 

* ELPA.make (EMACS_EXE): Delete harfbuzz workaround
---
 ELPA.make | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/ELPA.make b/ELPA.make
index a9377cdb18..157c9a0371 100644
--- a/ELPA.make
+++ b/ELPA.make
@@ -12,8 +12,7 @@ EMACS_EXE ?= "/Applications/Emacs.app/Contents/MacOS/Emacs"
 
 else
 # windows
-# specify uniscribe to workaround weird Windows harfbuzz bug
-EMACS_EXE ?= emacs -xrm Emacs.fontBackend:uniscribe
+EMACS_EXE ?= emacs
 WISI ?= c:/Projects/elpa/packages/wisi
 
 endif



[elpa] externals/gnat-compiler 319951218d 1/2: * ELPA.make: Delete WISI; not useful

2022-12-15 Thread Stephen Leake
branch: externals/gnat-compiler
commit 319951218de9d4a9611ef96319f0c9446c2828b6
Author: Stephen Leake 
Commit: Stephen Leake 

* ELPA.make: Delete WISI; not useful
---
 ELPA.make | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/ELPA.make b/ELPA.make
index b0953e309f..a9377cdb18 100644
--- a/ELPA.make
+++ b/ELPA.make
@@ -6,11 +6,9 @@ all : byte-compile autoloads
 
 ifeq ($(shell uname),Linux)
 EMACS_EXE ?= emacs
-WISI ?= /Projects/org.emacs.wisi
 
 else ifeq ($(shell uname),Darwin)
 EMACS_EXE ?= "/Applications/Emacs.app/Contents/MacOS/Emacs"
-WISI ?= /Projects/org.emacs.wisi
 
 else
 # windows
@@ -22,7 +20,6 @@ endif
 
 BYTE_COMPILE := "(progn (setq byte-compile-error-on-warn 
t)(batch-byte-compile))"
 byte-compile : byte-compile-clean
-   $(MAKE) -C $(WISI)/build byte-compile autoloads
$(EMACS_EXE) -Q -batch -L . -L $(WISI) --eval $(BYTE_COMPILE) *.el
 
 byte-compile-clean :



[elpa] externals/wisi 6eb5e05ae6: * .gitignore: Ignore autoloads.el

2022-12-15 Thread Stephen Leake
branch: externals/wisi
commit 6eb5e05ae66cbb0e9b0ab484938d0a23a0be4f6b
Author: Stephen Leake 
Commit: Stephen Leake 

* .gitignore: Ignore autoloads.el

* ELPA.make: New file.
---
 .gitignore |  1 +
 ELPA.make  | 31 +++
 2 files changed, 32 insertions(+)

diff --git a/.gitignore b/.gitignore
index 12798c6e35..cd54022dbd 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,3 +5,4 @@ obj/
 wisi.gpr
 wisitoken-user_guide.info
 wisitoken-bnf-generate.exe
+autoloads.el
diff --git a/ELPA.make b/ELPA.make
new file mode 100644
index 00..27829eef96
--- /dev/null
+++ b/ELPA.make
@@ -0,0 +1,31 @@
+# For compiling in elpa
+
+.PHONY : all force
+
+all : byte-compile autoloads
+
+ifeq ($(shell uname),Linux)
+EMACS_EXE ?= emacs
+
+else ifeq ($(shell uname),Darwin)
+EMACS_EXE ?= "/Applications/Emacs.app/Contents/MacOS/Emacs"
+
+else
+# windows
+# specify uniscribe to workaround weird Windows harfbuzz bug
+EMACS_EXE ?= emacs -xrm Emacs.fontBackend:uniscribe
+
+endif
+
+BYTE_COMPILE := "(progn (setq byte-compile-error-on-warn 
t)(batch-byte-compile))"
+byte-compile : byte-compile-clean
+   $(EMACS_EXE) -Q -batch -L . --eval $(BYTE_COMPILE) *.el
+
+byte-compile-clean :
+   rm -f *.elc
+
+autoloads : force
+   $(EMACS_EXE) -Q -batch --eval "(progn (setq generated-autoload-file 
(expand-file-name \"autoloads.el\"))(update-directory-autoloads \".\"))"
+
+
+# end of file



[elpa] externals/gpr-query dbbf1ab955: * Alire.make: Match prj.el rename.

2022-12-15 Thread Stephen Leake
branch: externals/gpr-query
commit dbbf1ab95560344d5a1a0bd881f4f84c2bcdcd61
Author: Stephen Leake 
Commit: Stephen Leake 

* Alire.make: Match prj.el rename.

* gpr-query.prj (casing): Delete; file not present.
---
 Alire.make| 2 +-
 gpr-query.prj | 1 -
 2 files changed, 1 insertion(+), 2 deletions(-)

diff --git a/Alire.make b/Alire.make
index a52a8e8602..dfe494e602 100644
--- a/Alire.make
+++ b/Alire.make
@@ -6,5 +6,5 @@ install : bin/gpr_query$(EXE_EXT)
gprinstall -f -p -P emacs_gpr_query.gpr --prefix=~/.local 
--install-name=gpr_query
 
 # Local Variables:
-# eval: (load-file "prj-eglot.el")
+# eval: (load-file "prj.el")
 # End:
diff --git a/gpr-query.prj b/gpr-query.prj
index d651ebeb6c..14d094a99a 100644
--- a/gpr-query.prj
+++ b/gpr-query.prj
@@ -1,2 +1 @@
 gpr_file=emacs_gpr_query.gpr
-casing=gpr-query.casing



[elpa] externals/gnat-compiler updated (b9a35edb56 -> 5b0d334fd9)

2022-12-15 Thread Stephen Leake
stephen_leake pushed a change to branch externals/gnat-compiler.

  from  b9a35edb56 ; Fix typos
   new  319951218d * ELPA.make: Delete WISI; not useful
   new  5b0d334fd9 * ELPA.make (EMACS_EXE): Delete harfbuzz workaround


Summary of changes:
 ELPA.make | 6 +-
 1 file changed, 1 insertion(+), 5 deletions(-)



[nongnu] elpa/symbol-overlay 1071d4ac87 3/6: Minor improvement.

2022-12-15 Thread ELPA Syncer
branch: elpa/symbol-overlay
commit 1071d4ac87a520c357cfb357cbc852d1965d5100
Author: ksqsf 
Commit: ksqsf 

Minor improvement.
---
 symbol-overlay.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/symbol-overlay.el b/symbol-overlay.el
index faad64b7d9..ff14ee5006 100644
--- a/symbol-overlay.el
+++ b/symbol-overlay.el
@@ -245,7 +245,7 @@ If EXCLUDE is non-nil, get all overlays excluding those 
belong to SYMBOL."
  (let ((value (overlay-get ov 'symbol))
(end (overlay-end ov)))
(and value
-(if (< dir 0) (< end (point)) t)
+(or (> dir 0) (< end (point)))
 (or (not symbol)
 (if (string= value symbol) (not exclude)
   (and exclude (not (string= value ""



[nongnu] elpa/symbol-overlay 7cef46c6c9 4/6: Add basic CI with byte compilation and package-lint check

2022-12-15 Thread ELPA Syncer
branch: elpa/symbol-overlay
commit 7cef46c6c9787d634599fc305d58114c4fb66779
Author: Steve Purcell 
Commit: Steve Purcell 

Add basic CI with byte compilation and package-lint check
---
 .github/workflows/test.yml | 33 +
 Makefile   | 28 
 2 files changed, 61 insertions(+)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
new file mode 100644
index 00..e95f8b7444
--- /dev/null
+++ b/.github/workflows/test.yml
@@ -0,0 +1,33 @@
+name: CI
+
+on:
+  pull_request:
+  push:
+paths-ignore:
+- '**.md'
+
+jobs:
+  build:
+runs-on: ubuntu-latest
+strategy:
+  matrix:
+emacs_version:
+  - 24.3
+  - 24.5
+  - 25.1
+  - 25.3
+  - 26.1
+  - 26.3
+  - 27.1
+  - 27.2
+  - 28.1
+  - 28.2
+  - snapshot
+steps:
+- uses: purcell/setup-emacs@master
+  with:
+version: ${{ matrix.emacs_version }}
+
+- uses: actions/checkout@v2
+- name: Run tests
+  run: make
diff --git a/Makefile b/Makefile
new file mode 100644
index 00..9bb1cd306f
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,28 @@
+EMACS ?= emacs
+
+# A space-separated list of required package names
+NEEDED_PACKAGES = package-lint seq
+
+INIT_PACKAGES="(progn \
+  (require 'package) \
+  (push '(\"melpa\" . \"https://melpa.org/packages/\;) package-archives) \
+  (package-initialize) \
+  (dolist (pkg '(${NEEDED_PACKAGES})) \
+(unless (package-installed-p pkg) \
+  (unless (assoc pkg package-archive-contents) \
+(package-refresh-contents)) \
+  (package-install pkg))) \
+  )"
+
+all: compile package-lint clean-elc
+
+package-lint:
+   ${EMACS} -Q --eval ${INIT_PACKAGES} -batch -f 
package-lint-batch-and-exit symbol-overlay.el
+
+compile: clean-elc
+   ${EMACS} -Q --eval ${INIT_PACKAGES} -L . -batch -f batch-byte-compile 
*.el
+
+clean-elc:
+   rm -f f.elc
+
+.PHONY:all compile clean-elc package-lint



[nongnu] elpa/symbol-overlay 5274b7ee77 2/6: Fix and optimize symbol-overlay-get-list.

2022-12-15 Thread ELPA Syncer
branch: elpa/symbol-overlay
commit 5274b7ee77653eefdfc192962b34857e4fbc514e
Author: ksqsf 
Commit: ksqsf 

Fix and optimize symbol-overlay-get-list.
---
 symbol-overlay.el | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/symbol-overlay.el b/symbol-overlay.el
index 747cb0d3fe..faad64b7d9 100644
--- a/symbol-overlay.el
+++ b/symbol-overlay.el
@@ -236,16 +236,16 @@ You can re-bind the commands to any keys you prefer.")
 If SYMBOL is non-nil, get the overlays that belong to it.
 DIR is an integer.
 If EXCLUDE is non-nil, get all overlays excluding those belong to SYMBOL."
-  (let ((overlays (overlays-in (point-min) (point-max
-(if (= dir 0)
-overlays
+  (if (= dir 0)
+  (overlays-in (point-min) (point-max))
+(let ((overlays (cond ((< dir 0) (overlays-in (point-min) (point)))
+  ((> dir 0) (overlays-in (point) (point-max))
   (seq-filter
(lambda (ov)
  (let ((value (overlay-get ov 'symbol))
-   (start (overlay-start ov)))
+   (end (overlay-end ov)))
(and value
-(if (> dir 0) (<= (point) start)
-  (> (point) start))
+(if (< dir 0) (< end (point)) t)
 (or (not symbol)
 (if (string= value symbol) (not exclude)
   (and exclude (not (string= value ""



[nongnu] elpa/symbol-overlay updated (c439b73a5f -> f18493673d)

2022-12-15 Thread ELPA Syncer
elpasync pushed a change to branch elpa/symbol-overlay.

  from  c439b73a5f Merge pull request #78 from 
mattbeshara/single-active-timer
   new  7cef46c6c9 Add basic CI with byte compilation and package-lint check
   new  dc9f5f1d44 Merge pull request #87 from wolray/add-github-actions-ci
   new  11749c31f4 Update for Emacs 29
   new  5274b7ee77 Fix and optimize symbol-overlay-get-list.
   new  1071d4ac87 Minor improvement.
   new  f18493673d Merge pull request #86 from ksqsf/master


Summary of changes:
 .github/workflows/test.yml | 33 +
 Makefile   | 28 
 symbol-overlay.el  | 25 ++---
 3 files changed, 75 insertions(+), 11 deletions(-)
 create mode 100644 .github/workflows/test.yml
 create mode 100644 Makefile



[nongnu] elpa/symbol-overlay dc9f5f1d44 5/6: Merge pull request #87 from wolray/add-github-actions-ci

2022-12-15 Thread ELPA Syncer
branch: elpa/symbol-overlay
commit dc9f5f1d4446b5d3af026c3960464aa808504fd5
Merge: c439b73a5f 7cef46c6c9
Author: Steve Purcell 
Commit: GitHub 

Merge pull request #87 from wolray/add-github-actions-ci

Add basic CI with byte compilation and package-lint check
---
 .github/workflows/test.yml | 33 +
 Makefile   | 28 
 2 files changed, 61 insertions(+)

diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
new file mode 100644
index 00..e95f8b7444
--- /dev/null
+++ b/.github/workflows/test.yml
@@ -0,0 +1,33 @@
+name: CI
+
+on:
+  pull_request:
+  push:
+paths-ignore:
+- '**.md'
+
+jobs:
+  build:
+runs-on: ubuntu-latest
+strategy:
+  matrix:
+emacs_version:
+  - 24.3
+  - 24.5
+  - 25.1
+  - 25.3
+  - 26.1
+  - 26.3
+  - 27.1
+  - 27.2
+  - 28.1
+  - 28.2
+  - snapshot
+steps:
+- uses: purcell/setup-emacs@master
+  with:
+version: ${{ matrix.emacs_version }}
+
+- uses: actions/checkout@v2
+- name: Run tests
+  run: make
diff --git a/Makefile b/Makefile
new file mode 100644
index 00..9bb1cd306f
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,28 @@
+EMACS ?= emacs
+
+# A space-separated list of required package names
+NEEDED_PACKAGES = package-lint seq
+
+INIT_PACKAGES="(progn \
+  (require 'package) \
+  (push '(\"melpa\" . \"https://melpa.org/packages/\;) package-archives) \
+  (package-initialize) \
+  (dolist (pkg '(${NEEDED_PACKAGES})) \
+(unless (package-installed-p pkg) \
+  (unless (assoc pkg package-archive-contents) \
+(package-refresh-contents)) \
+  (package-install pkg))) \
+  )"
+
+all: compile package-lint clean-elc
+
+package-lint:
+   ${EMACS} -Q --eval ${INIT_PACKAGES} -batch -f 
package-lint-batch-and-exit symbol-overlay.el
+
+compile: clean-elc
+   ${EMACS} -Q --eval ${INIT_PACKAGES} -L . -batch -f batch-byte-compile 
*.el
+
+clean-elc:
+   rm -f f.elc
+
+.PHONY:all compile clean-elc package-lint



[nongnu] elpa/symbol-overlay 11749c31f4 1/6: Update for Emacs 29

2022-12-15 Thread ELPA Syncer
branch: elpa/symbol-overlay
commit 11749c31f4553034edd437815a485c460595cc66
Author: ksqsf 
Commit: ksqsf 

Update for Emacs 29

Rewrite symbol-overlay-get-list to use 'overlays-in' instead of
'overlay-recenter' and 'overlay-lists', which are deprecated.
---
 symbol-overlay.el | 25 ++---
 1 file changed, 14 insertions(+), 11 deletions(-)

diff --git a/symbol-overlay.el b/symbol-overlay.el
index c20f59355d..747cb0d3fe 100644
--- a/symbol-overlay.el
+++ b/symbol-overlay.el
@@ -236,17 +236,20 @@ You can re-bind the commands to any keys you prefer.")
 If SYMBOL is non-nil, get the overlays that belong to it.
 DIR is an integer.
 If EXCLUDE is non-nil, get all overlays excluding those belong to SYMBOL."
-  (let ((lists (progn (overlay-recenter (point)) (overlay-lists)))
-(func (if (> dir 0) 'cdr (if (< dir 0) 'car nil
-(seq-filter
- (lambda (ov)
-   (let ((value (overlay-get ov 'symbol)))
- (and value
-  (or (not symbol)
-  (if (string= value symbol) (not exclude)
-(and exclude (not (string= value ""
- (if func (funcall func lists)
-   (append (car lists) (cdr lists))
+  (let ((overlays (overlays-in (point-min) (point-max
+(if (= dir 0)
+overlays
+  (seq-filter
+   (lambda (ov)
+ (let ((value (overlay-get ov 'symbol))
+   (start (overlay-start ov)))
+   (and value
+(if (> dir 0) (<= (point) start)
+  (> (point) start))
+(or (not symbol)
+(if (string= value symbol) (not exclude)
+  (and exclude (not (string= value ""
+   overlays
 
 (defun symbol-overlay-get-symbol ( noerror)
   "Get the symbol at point.



[nongnu] elpa/symbol-overlay f18493673d 6/6: Merge pull request #86 from ksqsf/master

2022-12-15 Thread ELPA Syncer
branch: elpa/symbol-overlay
commit f18493673d1c9870f6b44e2dbdbe8b0b739d1526
Merge: dc9f5f1d44 1071d4ac87
Author: Steve Purcell 
Commit: GitHub 

Merge pull request #86 from ksqsf/master

Update for Emacs 29
---
 symbol-overlay.el | 25 ++---
 1 file changed, 14 insertions(+), 11 deletions(-)

diff --git a/symbol-overlay.el b/symbol-overlay.el
index c20f59355d..ff14ee5006 100644
--- a/symbol-overlay.el
+++ b/symbol-overlay.el
@@ -236,17 +236,20 @@ You can re-bind the commands to any keys you prefer.")
 If SYMBOL is non-nil, get the overlays that belong to it.
 DIR is an integer.
 If EXCLUDE is non-nil, get all overlays excluding those belong to SYMBOL."
-  (let ((lists (progn (overlay-recenter (point)) (overlay-lists)))
-(func (if (> dir 0) 'cdr (if (< dir 0) 'car nil
-(seq-filter
- (lambda (ov)
-   (let ((value (overlay-get ov 'symbol)))
- (and value
-  (or (not symbol)
-  (if (string= value symbol) (not exclude)
-(and exclude (not (string= value ""
- (if func (funcall func lists)
-   (append (car lists) (cdr lists))
+  (if (= dir 0)
+  (overlays-in (point-min) (point-max))
+(let ((overlays (cond ((< dir 0) (overlays-in (point-min) (point)))
+  ((> dir 0) (overlays-in (point) (point-max))
+  (seq-filter
+   (lambda (ov)
+ (let ((value (overlay-get ov 'symbol))
+   (end (overlay-end ov)))
+   (and value
+(or (> dir 0) (< end (point)))
+(or (not symbol)
+(if (string= value symbol) (not exclude)
+  (and exclude (not (string= value ""
+   overlays
 
 (defun symbol-overlay-get-symbol ( noerror)
   "Get the symbol at point.



[nongnu] elpa/eat 61695d9671 7/7: Decrease regexp usage while parsing output

2022-12-15 Thread ELPA Syncer
branch: elpa/eat
commit 61695d9671368cf216587a28ee2ea9d90ccf4b1a
Author: Akib Azmain Turja 
Commit: Akib Azmain Turja 

Decrease regexp usage while parsing output

* eat.el (eat--t-handle-output): Don't use regular expressions
while parsing plain text and CSI sequences.  Remove useless
code from VT300-specific charset set sequence parser.
---
 eat.el | 379 +++--
 1 file changed, 207 insertions(+), 172 deletions(-)

diff --git a/eat.el b/eat.el
index dbeb80f4d7..996e966dd9 100644
--- a/eat.el
+++ b/eat.el
@@ -2609,27 +2609,20 @@ DATA is the selection data encoded in base64."
 (defun eat--t-handle-output (output)
   "Parse and evaluate OUTPUT."
   (let ((index 0))
-(while (< index (length output))
+(while (/= index (length output))
   (pcase-exhaustive (eat--t-term-parser-state eat--t-term)
 ('nil
- ;; Regular expression to find the end of plain text.
- (let ((match (string-match
-   (1value (rx (or ?\0 ?\a ?\b ?\t ?\n ?\v
-   ?\f ?\r ?\C-n ?\C-o ?\e
-   #x7f)))
-   output index)))
-   (if (not match)
-   ;; The regex didn't match, so everything left to handle
-   ;; is just plain text.
-   (progn
- (eat--t-write output index)
- (setq index (length output)))
- (when (/= match index)
-   ;; The regex matched, and the position is after the
-   ;; current position.  Process the plain text between
-   ;; them and advance to the control sequence.
-   (eat--t-write output index match)
-   (setq index match))
+ (let ((ins-beg index))
+   (while (and (/= index (length output))
+   (not (memq (aref output index)
+  '( ?\0 ?\a ?\b ?\t ?\n ?\v ?\f ?\r
+ ;; TODO: Why #x7f?
+ ?\C-n ?\C-o ?\e #x7f
+ (cl-incf index))
+   (when (/= ins-beg index)
+ ;; Insert.
+ (eat--t-write output ins-beg index))
+   (when (/= index (length output))
  ;; Dispatch control sequence.
  (cl-incf index)
  (pcase-exhaustive (aref output (1- index))
@@ -2719,7 +2712,7 @@ DATA is the selection data encoded in base64."
  ;; ESC [, or CSI.
  (?\[
   (1value (setf (eat--t-term-parser-state eat--t-term)
-'(read-csi ""
+'(read-csi-format
  ;; ESC ], or OSC.
  (?\]
   (1value (setf (eat--t-term-parser-state eat--t-term)
@@ -2741,151 +2734,196 @@ DATA is the selection data encoded in base64."
  ;; ESC o.
  (?o
   (eat--t-change-charset 'g3)
-(`(read-csi ,buf)
- (let ((match (string-match (rx (any (#x40 . #x7e)))
-output index)))
-   (if (not match)
-   (progn
- (setf (eat--t-term-parser-state eat--t-term)
-   `(read-csi ,(concat buf (substring output
-  index
- (setq index (length output)))
- (setf (eat--t-term-parser-state eat--t-term) nil)
- (pcase
- (let ((str (concat buf (substring output index
-   match)))
-   (format nil)
-   (intermediate-bytes ""))
-   (save-match-data
- (when (string-match
-(rx (zero-or-more (any (?\s . ?/)))
-string-end)
-str)
-   (setq str (substring
-  str 0 (match-beginning 0))
- intermediate-bytes
- (match-string 0 str
-   (when (and (not (string-empty-p str))
-  (= (aref str 0) ??))
- (setq format ?? str (substring str 1)))
-   (when (and (not (string-empty-p str))
-  (= (aref str 0) ?>))
- (setq format ?> str (substring str 1)))
-   (when (and (not (string-empty-p str))
-  (= (aref str 0) ?=))
- (setq format ?= str (substring str 1)))
-   (setq index (match-end 0))
-   (list
-(concat intermediate-bytes
-(match-string 0 output))
-format
-(cond
- ((string-empty-p str) '((nil)))
- 

[nongnu] elpa/eat 559c9c362c 4/7: Refactor 'eat--eshell-adjust-make-process-args'

2022-12-15 Thread ELPA Syncer
branch: elpa/eat
commit 559c9c362c43b942f1907b5548f9f1645e82
Author: Akib Azmain Turja 
Commit: Akib Azmain Turja 

Refactor 'eat--eshell-adjust-make-process-args'

* eat.el (eat--eshell-adjust-make-process-args): Move the
'add-hook' out of 'unwind-protect'.
---
 eat.el | 83 +-
 1 file changed, 41 insertions(+), 42 deletions(-)

diff --git a/eat.el b/eat.el
index 673d8bdb10..831b85ab29 100644
--- a/eat.el
+++ b/eat.el
@@ -5543,49 +5543,48 @@ Disable terminal emulation?")))
   (set-process-filter proc #'eat--eshell-filter)
   (set-process-sentinel proc #'eat--eshell-sentinel)
   (eat--eshell-setup-proc-and-term proc
+  (add-hook 'eshell-exec-hook hook 99)
   (unwind-protect
-  (progn
-(add-hook 'eshell-exec-hook hook 99)
-(cond
- ;; Emacs 29 and above.
- ((>= emacs-major-version 29)
-  (cl-letf*
-  ((make-process (symbol-function #'make-process))
-   ((symbol-function #'make-process)
-(lambda ( plist)
-  ;; Make sure we don't attack wrong process.
-  (if (not (equal
-(plist-get plist :command)
-(cons (file-local-name
-   (expand-file-name command))
-  args)))
-  (apply make-process plist)
-(setf (plist-get plist :command)
-  `("/usr/bin/env" "sh" "-c"
-,(format "stty -nl echo rows %d \
-columns %d sane 2>%s ; if [ $1 = .. ]; then shift; fi; exec \"$@\""
- (floor (window-screen-lines))
- (window-max-chars-per-line)
- null-device)
-".." ,@(plist-get plist :command)))
-(apply make-process plist)
-(funcall fn command args)))
- ;; Emacs 28.
- (t
-  (cl-letf*
-  ((start-file-process
-(symbol-function #'start-file-process))
-   ((symbol-function #'start-file-process)
-(lambda (name buffer  command)
-  (apply start-file-process name buffer
- "/usr/bin/env" "sh" "-c"
- (format "stty -nl echo rows %d columns \
-%d sane 2>%s ; if [ $1 = .. ]; then shift; fi; exec \"$@\""
- (floor (window-screen-lines))
- (window-max-chars-per-line)
- null-device)
- ".." command
-(funcall fn command args)
+  (cond
+   ;; Emacs 29 and above.
+   ((>= emacs-major-version 29)
+(cl-letf*
+((make-process (symbol-function #'make-process))
+ ((symbol-function #'make-process)
+  (lambda ( plist)
+;; Make sure we don't attack wrong process.
+(if (not (equal
+  (plist-get plist :command)
+  (cons (file-local-name
+ (expand-file-name command))
+args)))
+(apply make-process plist)
+  (setf (plist-get plist :command)
+`("/usr/bin/env" "sh" "-c"
+  ,(format "stty -nl echo rows %d columns\
+ %d sane 2>%s ; if [ $1 = .. ]; then shift; fi; exec \"$@\""
+   (floor (window-screen-lines))
+   (window-max-chars-per-line)
+   null-device)
+  ".." ,@(plist-get plist :command)))
+  (apply make-process plist)
+  (funcall fn command args)))
+   ;; Emacs 28.
+   (t
+(cl-letf*
+((start-file-process
+  (symbol-function #'start-file-process))
+ ((symbol-function #'start-file-process)
+  (lambda (name buffer  command)
+(apply start-file-process name buffer
+   "/usr/bin/env" "sh" "-c"
+   (format "stty -nl echo rows %d columns %d \
+sane 2>%s ; if [ $1 = .. ]; then shift; fi; exec \"$@\""
+   (floor (window-screen-lines))
+   (window-max-chars-per-line)
+   null-device)
+   ".." command
+  

[nongnu] elpa/eat 35df1bc2a4 2/7: Refactor 'eat--eshell-adjust-make-process-args'

2022-12-15 Thread ELPA Syncer
branch: elpa/eat
commit 35df1bc2a4ce2d36701f812eea9432406fd12b5b
Author: Akib Azmain Turja 
Commit: Akib Azmain Turja 

Refactor 'eat--eshell-adjust-make-process-args'

* eat.el (eat--eshell-adjust-make-process-args): Avoid
unnecessary function overrides.  Overriding functions with
'cl-letf*' is not well documented, and self-overriding a
function (override a function with its own definition) may not
a nop.
---
 eat.el | 95 +-
 1 file changed, 48 insertions(+), 47 deletions(-)

diff --git a/eat.el b/eat.el
index 8063979e24..3b636edf2b 100644
--- a/eat.el
+++ b/eat.el
@@ -5527,53 +5527,54 @@ Disable terminal emulation?")))
  ((and (pred functionp) function)
   (apply function command args)
   (funcall fn command args)
-(cl-letf*
-(;; For Emacs 29 and above.
- (make-process (symbol-function #'make-process))
- ((symbol-function #'make-process)
-  (if (< emacs-major-version 29)
-  make-process
-(lambda ( plist)
-  ;; Make sure we don't attack wrong process.
-  (if (not (equal (plist-get plist :command)
-  (cons (file-local-name
- (expand-file-name command))
-args)))
-  (apply make-process plist)
-(setf (plist-get plist :command)
-  `("/usr/bin/env" "sh" "-c"
-,(format "stty -nl echo rows %d columns %d \
-sane 2>%s ; if [ $1 = .. ]; then shift; fi; exec \"$@\""
- (floor (window-screen-lines))
- (window-max-chars-per-line)
- null-device)
-".." ,@(plist-get plist :command)))
-(apply make-process plist)
- ;; For Emacs 28.
- (start-file-process (symbol-function #'start-file-process))
- ((symbol-function #'start-file-process)
-  (if (< emacs-major-version 29)
-  (lambda (name buffer  command)
-(apply start-file-process name buffer
-   `("/usr/bin/env" "sh" "-c"
- ,(format "stty -nl echo rows %d columns %d \
-sane 2>%s ; if [ $1 = .. ]; then shift; fi; exec \"$@\""
-  (floor (window-screen-lines))
-  (window-max-chars-per-line)
-  null-device)
- ".." ,@command)))
-;; Don't override on Emacs 28.
-start-file-process)))
-  (let ((hook
- (lambda (proc)
-   (set-process-filter proc #'eat--eshell-filter)
-   (set-process-sentinel proc #'eat--eshell-sentinel)
-   (eat--eshell-setup-proc-and-term proc
-(unwind-protect
-(progn
-  (add-hook 'eshell-exec-hook hook 99)
-  (funcall fn command args))
-  (remove-hook 'eshell-exec-hook hook))
+(let ((hook (lambda (proc)
+  (set-process-filter proc #'eat--eshell-filter)
+  (set-process-sentinel proc #'eat--eshell-sentinel)
+  (eat--eshell-setup-proc-and-term proc
+  (unwind-protect
+  (progn
+(add-hook 'eshell-exec-hook hook 99)
+(cond
+ ;; Emacs 29 and above.
+ ((>= emacs-major-version 29)
+  (cl-letf*
+  ((make-process (symbol-function #'make-process))
+   ((symbol-function #'make-process)
+(lambda ( plist)
+  ;; Make sure we don't attack wrong process.
+  (if (not (equal
+(plist-get plist :command)
+(cons (file-local-name
+   (expand-file-name command))
+  args)))
+  (apply make-process plist)
+(setf (plist-get plist :command)
+  `("/usr/bin/env" "sh" "-c"
+,(format "stty -nl echo rows %d \
+columns %d sane 2>%s ; if [ $1 = .. ]; then shift; fi; exec \"$@\""
+ (floor (window-screen-lines))
+ (window-max-chars-per-line)
+ null-device)
+".." ,@(plist-get plist :command)))
+(apply make-process plist)
+(funcall fn command args)))
+ ;; Emacs 28.
+ (t
+  (cl-letf*
+  ((start-file-process
+(symbol-function #'start-file-process))
+   ((symbol-function #'start-file-process)
+   

[nongnu] elpa/eat e597bcfbb2 5/7: Don't use '.*-char-property-.*' functions

2022-12-15 Thread ELPA Syncer
branch: elpa/eat
commit e597bcfbb27477a4e98dc96ada2e91bce397a1e6
Author: Akib Azmain Turja 
Commit: Akib Azmain Turja 

Don't use '.*-char-property-.*' functions

* eat.el (eat--t-move-before-to-safe): Use
'previous-single-property-change' instead of
'(previous-single-char-property-change'.
* eat.el (eat--t-join-long-line): Use 'get-text-property'
instead of 'get-char-property'.  Handle properly the case where
'next-single-property-change' returns nil.
* eat.el (eat--t-fix-partial-multi-col-char): Handle properly
the case where 'next-single-property-change' returns nil.
---
 eat.el | 17 ++---
 1 file changed, 10 insertions(+), 7 deletions(-)

diff --git a/eat.el b/eat.el
index 831b85ab29..042d15e9e8 100644
--- a/eat.el
+++ b/eat.el
@@ -684,10 +684,11 @@ Assume all characters occupy a single column."
 For example: \"*foo\\nbar\\nbaz\" is converted to \"foo*bar\\nbaz\",
 where `*' indicates point."
   ;; Are we already at the end a part of a long line?
-  (unless (get-char-property (point) 'eat--t-wrap-line)
+  (unless (get-text-property (point) 'eat--t-wrap-line)
 ;; Find the next end of a part of a long line.
-(goto-char (next-single-property-change
-(point) 'eat--t-wrap-line nil limit)))
+(goto-char (or (next-single-property-change
+(point) 'eat--t-wrap-line nil limit)
+   limit (point-max
   ;; Remove the newline.
   (when (< (point) (or limit (point-max)))
 (1value (cl-assert (1value (= (1value (char-after)) ?\n
@@ -1185,8 +1186,9 @@ character or its the internal invisible spaces."
(get-text-property (1- (point)) 'eat--t-invisible-space))
   (let ((start-pos (point)))
 ;; Move to the safe position.
-(goto-char (previous-single-char-property-change
-(point) 'eat--t-invisible-space))
+(goto-char (or (previous-single-property-change
+(point) 'eat--t-invisible-space)
+   (point-min)))
 (cl-assert
  (1value (or (bobp)
  (null (get-text-property
@@ -1214,8 +1216,9 @@ character or its the internal invisible spaces."
 (if (get-text-property (point) 'eat--t-invisible-space)
 (let ((start-pos (point))
   (count nil))
-  (goto-char (next-single-property-change
-  (point) 'eat--t-invisible-space))
+  (goto-char (or (next-single-property-change
+  (point) 'eat--t-invisible-space)
+ (point-max)))
   (setq count (- (1+ (point)) start-pos))
   ;; Make sure we really overwrote the character
   ;; partially.



[nongnu] elpa/eat updated (8fce5fe928 -> 61695d9671)

2022-12-15 Thread ELPA Syncer
elpasync pushed a change to branch elpa/eat.

  from  8fce5fe928 ; Release version 0.2.3
   new  fc195410e4 Ask if 'stty' is unavailable in Eshell
   new  35df1bc2a4 Refactor 'eat--eshell-adjust-make-process-args'
   new  162ec61f3d Remove invisible spaces when killing text
   new  559c9c362c Refactor 'eat--eshell-adjust-make-process-args'
   new  e597bcfbb2 Don't use '.*-char-property-.*' functions
   new  f912425fb4 Fix handling non-interactive processes in Eshell
   new  61695d9671 Decrease regexp usage while parsing output


Summary of changes:
 eat.el | 526 +
 1 file changed, 303 insertions(+), 223 deletions(-)



[nongnu] elpa/eat 162ec61f3d 3/7: Remove invisible spaces when killing text

2022-12-15 Thread ELPA Syncer
branch: elpa/eat
commit 162ec61f3d3b27578bae22bf3f0a14a104481879
Author: Akib Azmain Turja 
Commit: Akib Azmain Turja 

Remove invisible spaces when killing text

* eat.el (eat-term-filter-string): Remove invisible spaces
preceding multi-column width characters.
* eat.el (eat--t-join-long-line)
(eat--t-fix-partial-multi-col-char): Use
'next-single-property-change' instead of
'next-single-char-property-change'.
---
 eat.el | 16 ++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/eat.el b/eat.el
index 3b636edf2b..673d8bdb10 100644
--- a/eat.el
+++ b/eat.el
@@ -686,7 +686,7 @@ where `*' indicates point."
   ;; Are we already at the end a part of a long line?
   (unless (get-char-property (point) 'eat--t-wrap-line)
 ;; Find the next end of a part of a long line.
-(goto-char (next-single-char-property-change
+(goto-char (next-single-property-change
 (point) 'eat--t-wrap-line nil limit)))
   ;; Remove the newline.
   (when (< (point) (or limit (point-max)))
@@ -1214,7 +1214,7 @@ character or its the internal invisible spaces."
 (if (get-text-property (point) 'eat--t-invisible-space)
 (let ((start-pos (point))
   (count nil))
-  (goto-char (next-single-char-property-change
+  (goto-char (next-single-property-change
   (point) 'eat--t-invisible-space))
   (setq count (- (1+ (point)) start-pos))
   ;; Make sure we really overwrote the character
@@ -4054,9 +4054,21 @@ return \"eat-color\", otherwise return \"eat-mono\"."
   "Filter Eat's special text properties from STRING."
   (with-temp-buffer
 (insert string)
+;; Join long lines.
 (goto-char (point-min))
 (while (not (eobp))
   (eat--t-join-long-line))
+;; Remove the invisible spaces used with multi-column characters.
+(goto-char (point-min))
+(while (not (eobp))
+  (let ((invisible-p (get-text-property
+  (point) 'eat--t-invisible-space))
+(next-change (or (next-single-property-change
+  (point) 'eat--t-invisible-space)
+ (point-max
+(when invisible-p
+  (delete-region (point) next-change))
+(goto-char next-change)))
 (buffer-string)))
 
 



[nongnu] elpa/eat fc195410e4 1/7: Ask if 'stty' is unavailable in Eshell

2022-12-15 Thread ELPA Syncer
branch: elpa/eat
commit fc195410e4de095cabaaa7a0b9bad32c536e4b06
Author: Akib Azmain Turja 
Commit: Akib Azmain Turja 

Ask if 'stty' is unavailable in Eshell

* eat.el (eat-eshell-fallback-if-stty-not-available): New user
option.
* eat.el (eat--eshell-adjust-make-process-args): If 'stty' is
not available, use 'eat-eshell-fallback-if-stty-not-available'
to determine whether to continue terminal emulation or not.
---
 eat.el | 29 -
 1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/eat.el b/eat.el
index ffa25017ae..8063979e24 100644
--- a/eat.el
+++ b/eat.el
@@ -140,6 +140,23 @@ This is left disabled for security reasons."
   :group 'eat-ui
   :group 'eat-eshell)
 
+(defcustom eat-eshell-fallback-if-stty-not-available 'ask
+  "What to do if `stty' is unavailable.
+
+`stty' is a dependency to setup terminal.  If `stty' is unavailable,
+Eat won't be able to setup terminal, so any input won't be visible.
+
+The value should be any of the following:
+
+nil   Do nothing.
+t Fallback to plain Eshell if `stty' is not available.
+`ask'   Ask what to do.
+FUNCTION  Call FUNCTION with the command and arguments (using
+`apply') and fallback to plain Eshell if it returns
+nil."
+  :type 'boolean
+  :group 'eat-eshell)
+
 (defcustom eat-enable-directory-tracking t
   "Non-nil means do directory tracking.
 
@@ -5489,6 +5506,7 @@ PROGRAM can be a shell command."
 (eat--eshell-cleanup
   (eshell-sentinel process message))
 
+(declare-function eshell-search-path "esh-ext" (name))
 (defvar eshell-current-subjob-p) ; In `esh-proc'.
 
 ;; HACK: This is a dirty hack, it can break easily.
@@ -5498,7 +5516,16 @@ PROGRAM can be a shell command."
 Call FN with COMMAND and ARGS, and whenever `make-process' is called,
 modify its argument to change the filter, the sentinel and invoke
 `stty' from the new process."
-  (if eshell-current-subjob-p
+  (if (or eshell-current-subjob-p
+  (and (not (eshell-search-path "stty"))
+   (pcase eat-eshell-fallback-if-stty-not-available
+ ('nil nil)
+ ('t t)
+ ('ask (not (y-or-n-p "The program stty can't be \
+found, input won't be shown if terminal emulation is enabled.  \
+Disable terminal emulation?")))
+ ((and (pred functionp) function)
+  (apply function command args)
   (funcall fn command args)
 (cl-letf*
 (;; For Emacs 29 and above.



[nongnu] elpa/eat f912425fb4 6/7: Fix handling non-interactive processes in Eshell

2022-12-15 Thread ELPA Syncer
branch: elpa/eat
commit f912425fb4738f7d562c5b1371672f3f964aee69
Author: Akib Azmain Turja 
Commit: Akib Azmain Turja 

Fix handling non-interactive processes in Eshell

* eat.el (eat--eshell-adjust-make-process-args): Check whether
the process going to be run will be interactive process.
* eat.el: Declare function 'eshell-interactive-output-p'.a
---
 eat.el | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/eat.el b/eat.el
index 042d15e9e8..dbeb80f4d7 100644
--- a/eat.el
+++ b/eat.el
@@ -5522,6 +5522,8 @@ PROGRAM can be a shell command."
   (eshell-sentinel process message))
 
 (declare-function eshell-search-path "esh-ext" (name))
+(declare-function eshell-interactive-output-p "esh-io"
+  ( index handles))
 (defvar eshell-current-subjob-p) ; In `esh-proc'.
 
 ;; HACK: This is a dirty hack, it can break easily.
@@ -5532,6 +5534,7 @@ Call FN with COMMAND and ARGS, and whenever 
`make-process' is called,
 modify its argument to change the filter, the sentinel and invoke
 `stty' from the new process."
   (if (or eshell-current-subjob-p
+  (not (eshell-interactive-output-p))
   (and (not (eshell-search-path "stty"))
(pcase eat-eshell-fallback-if-stty-not-available
  ('nil nil)



[nongnu] elpa/cider 5631d60295: Reify cider-cljs-pending separate from repl-type (#3291)

2022-12-15 Thread ELPA Syncer
branch: elpa/cider
commit 5631d60295a623cbb161c76b70dac1305b1c0987
Author: Benjamin <38900087+benjamin-a...@users.noreply.github.com>
Commit: GitHub 

Reify cider-cljs-pending separate from repl-type (#3291)

This pull request addresses #3287 by separating the concept of a repl type 
from the concept of pending cljs upgrade status. The pending variable is now 
set when the repl is initialized, and it is set to nil when we are sure that we 
have a cljs repl in cider-repl--state-handler.
---
 CHANGELOG.md|  1 +
 cider-connection.el | 22 --
 cider-repl.el   |  2 ++
 cider.el|  6 --
 4 files changed, 23 insertions(+), 8 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index aeff6ca039..9c761d94b6 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -11,6 +11,7 @@
 ### Changes
 
 - Bump the injected nREPL version to 1.0.
+- [#3291](https://github.com/clojure-emacs/cider/pull/3291): **Remove** the 
`'cljs-pending` `repl-type`. It is replaced by 
`cider-repl-cljs-upgrade-pending`.
 
 ### Bugs fixed
 
diff --git a/cider-connection.el b/cider-connection.el
index c4f7a4d914..147199cbc3 100644
--- a/cider-connection.el
+++ b/cider-connection.el
@@ -315,11 +315,11 @@ See `cider-connection-capabilities'."
  (_ '()))
(when
(or
-(member cider-repl-type '(cljs pending-cljs))
+(eq cider-repl-type 'cljs)
 ;; This check is currently basically for nbb.
 ;; See `cider-sync-tooling-eval', but it is defined on a 
higher layer
 (nrepl-dict-get
- (nrepl-sync-request:eval "cljs.core/demunge" (current-buffer) 
(cider-current-ns) 'tooling)
+ (nrepl-sync-request:eval "cljs.core/demunge" (current-buffer) 
nil 'tooling)
  "value"))
  '(cljs))
 
@@ -762,10 +762,17 @@ Session name can be customized with 
`cider-session-name-template'."
 (defvar-local cider-repl-type nil
   "The type of this REPL buffer, usually either clj or cljs.")
 
+(defvar-local cider-repl-cljs-upgrade-pending nil
+  "Is the cljs repl currently pending?")
+
 (defun cider-repl-type (repl-buffer)
   "Get REPL-BUFFER's type."
   (buffer-local-value 'cider-repl-type repl-buffer))
 
+(defun cider-cljs-pending-p (repl-buffer)
+  "Returns non nil when REPL-BUFFER is currently a pending cljs repl."
+  (buffer-local-value 'cider-repl-cljs-upgrade-pending repl-buffer))
+
 (defun cider-repl-type-for-buffer ( buffer)
   "Return the matching connection type (clj or cljs) for BUFFER.
 BUFFER defaults to the `current-buffer'.  In cljc buffers return
@@ -812,13 +819,13 @@ PARAMS is a plist as received by `cider-repl-create'."
 (let* ((proj-dir (plist-get params :project-dir))
(host (plist-get params :host))
(port (plist-get params :port))
-   (cljsp (member (plist-get params :repl-type) '(cljs pending-cljs)))
+   (cljsp (member (plist-get params :repl-type) '(cljs)))
(scored-repls
 (delq nil
   (mapcar (lambda (b)
 (let ((bparams (cider--gather-connect-params nil 
b)))
   (when (eq cljsp (member (plist-get bparams 
:repl-type)
-  '(cljs pending-cljs)))
+  '(cljs)))
 (cons (buffer-name b)
   (+
(if (equal proj-dir (plist-get bparams 
:project-dir)) 8 0)
@@ -866,8 +873,9 @@ function with the repl buffer set as current."
 mode-name nil
 cider-session-name ses-name
 nrepl-project-dir (plist-get params :project-dir)
-;; REPLs start with clj and then "upgrade" to a different type
+;; Cljs repls are pending until they are upgraded. See 
cider-repl--state-handler
 cider-repl-type (plist-get params :repl-type)
+cider-repl-cljs-upgrade-pending (plist-get params 
:cider-repl-cljs-upgrade-pending)
 ;; ran at the end of cider--connected-handler
 cider-repl-init-function (plist-get params :repl-init-function)
 cider-launch-params params)
@@ -985,7 +993,9 @@ throw an error if no linked session exists."
  (sesman-ensure-session 'CIDER)
(sesman-current-session 'CIDER)))
 (or (seq-filter (lambda (b)
-  (cider--match-repl-type type b))
+  (unless
+  (cider-cljs-pending-p b)
+(cider--match-repl-type type b)))
 repls)
 (when ensure
   (cider--no-repls-user-error type)
diff --git a/cider-repl.el b/cider-repl.el
index 80f47ec046..1ab3898cc3 100644
--- a/cider-repl.el
+++ b/cider-repl.el
@@ -224,6 +224,8 @@ This 

[elpa] externals/ef-themes f90b063e09: Mention 'forge' as implicitly supported (inherits from Magit)

2022-12-15 Thread ELPA Syncer
branch: externals/ef-themes
commit f90b063e097c0337a8c9da66d33184f7c98dc6b4
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Mention 'forge' as implicitly supported (inherits from Magit)
---
 README.org | 1 +
 1 file changed, 1 insertion(+)

diff --git a/README.org b/README.org
index 7185995d80..30d770984d 100644
--- a/README.org
+++ b/README.org
@@ -1163,6 +1163,7 @@ themes already cover:
 
 - apropos
 - dim-autoload
+- forge
 - hl-todo
 - icomplete
 - ido



[elpa] externals/corfu a33502392f: corfu-popupinfo: Fix completion predicate

2022-12-15 Thread ELPA Syncer
branch: externals/corfu
commit a33502392fd86e603acc7fc79a678944f65c12bd
Author: Daniel Mendler 
Commit: Daniel Mendler 

corfu-popupinfo: Fix completion predicate
---
 extensions/corfu-popupinfo.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/extensions/corfu-popupinfo.el b/extensions/corfu-popupinfo.el
index 038253f4a4..82b2555a97 100644
--- a/extensions/corfu-popupinfo.el
+++ b/extensions/corfu-popupinfo.el
@@ -517,8 +517,9 @@ not be displayed until this command is called again, even if
 (advice-remove #'corfu--teardown #'corfu-popupinfo--teardown
 
 ;; Emacs 28: Do not show Corfu commands with M-X
-(dolist (sym '(corfu-popupinfo-scroll-down corfu-popupinfo-scroll-down
+(dolist (sym '(corfu-popupinfo-scroll-down corfu-popupinfo-scroll-up
corfu-popupinfo-documentation corfu-popupinfo-location
+   corfu-popupinfo-beginning corfu-popupinfo-end
corfu-popupinfo-toggle))
   (put sym 'completion-predicate #'ignore))