[elpa] externals/ef-themes 949d87ef9f 2/2: Update ef-cherie contrast table per commit 174c0f4

2022-11-21 Thread ELPA Syncer
branch: externals/ef-themes
commit 949d87ef9f704d9640c007002aab4386a8e4c075
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Update ef-cherie contrast table per commit 174c0f4
---
 contrast-ratios.org | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/contrast-ratios.org b/contrast-ratios.org
index 789f924905..a6c4636d52 100644
--- a/contrast-ratios.org
+++ b/contrast-ratios.org
@@ -187,7 +187,7 @@ C1 and C2 are color values written in hexadecimal RGB."
 | green-warmer   | #80b25f |7.74 |6.41 |5.47 |7.33 |
 | green-cooler   | #60bf88 |8.52 |7.06 |6.02 |8.07 |
 | green-faint| #61a06c |6.19 |5.12 |4.37 |5.86 |
-| yellow | #d59c6f |8.07 |6.69 |5.70 |7.64 |
+| yellow | #e5b76f |   10.38 |8.60 |7.33 |9.83 |
 | yellow-warmer  | #ea9955 |8.41 |6.97 |5.94 |7.97 |
 | yellow-cooler  | #f59280 |8.52 |7.06 |6.02 |8.07 |
 | yellow-faint   | #bf9f8f |7.85 |6.50 |5.54 |7.43 |



[elpa] externals/ef-themes updated (f7e85a4812 -> 949d87ef9f)

2022-11-21 Thread ELPA Syncer
elpasync pushed a change to branch externals/ef-themes.

  from  f7e85a4812 Expand deftheme with appropriate data
   new  174c0f4194 ef-cherie: refine yellow hue
   new  949d87ef9f Update ef-cherie contrast table per commit 174c0f4


Summary of changes:
 contrast-ratios.org | 2 +-
 ef-cherie-theme.el  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)



[nongnu] elpa/crux f258bef9bb 3/6: Fix `sudo` not found error in OpenBSD and Alpine Linux (#93)

2022-11-21 Thread ELPA Syncer
branch: elpa/crux
commit f258bef9bb09d93087b910868d3af3277f223205
Author: Kasim 
Commit: GitHub 

Fix `sudo` not found error in OpenBSD and Alpine Linux (#93)

This comes handy for OpenBSD or Alpine linux users where doas is the
replacement of sudo.
---
 CHANGELOG.md | 2 +-
 crux.el  | 8 ++--
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 518ed8a3c4..2d98ae2d78 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -30,5 +30,5 @@
 
 * Fixed extra line issue when duplicating region.
 * Various small fixes that we were too lazy to document properly.
-
+* Fixed `sudo` not found in OpenBSD and Alpine Linux
 ## 0.3.0 (2016-05-31)
diff --git a/crux.el b/crux.el
index f39cc581fc..526b611b02 100644
--- a/crux.el
+++ b/crux.el
@@ -554,7 +554,9 @@ See `file-attributes' for more info."
 (remote-host (file-remote-p default-directory 'host))
 (remote-localname (file-remote-p filename 'localname)))
 (find-alternate-file (format "/%s:root@%s:%s"
- (or remote-method "sudo")
+ (or remote-method (if (executable-find "doas")
+  "doas"
+"sudo"))
  (or remote-host "localhost")
  (or remote-localname filename)
 
@@ -571,7 +573,9 @@ buffer is not visiting a file."
 (remote-host (file-remote-p default-directory 'host))
 (remote-localname (file-remote-p default-directory 'localname)))
 (find-file (format "/%s:root@%s:%s"
-   (or remote-method "sudo")
+   (or remote-method (if (executable-find "doas")
+  "doas"
+"sudo"))
(or remote-host "localhost")
(or remote-localname
(read-file-name "Find file (as root): ")



[elpa] externals/ef-themes 174c0f4194 1/2: ef-cherie: refine yellow hue

2022-11-21 Thread ELPA Syncer
branch: externals/ef-themes
commit 174c0f4194b43c6f08e1eb78bcc4790ed7becc96
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

ef-cherie: refine yellow hue

This helps strings stand out when placed beside functions.
---
 ef-cherie-theme.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ef-cherie-theme.el b/ef-cherie-theme.el
index def64cb00d..5f875fadb9 100644
--- a/ef-cherie-theme.el
+++ b/ef-cherie-theme.el
@@ -64,7 +64,7 @@
   (green-warmer"#80b25f")
   (green-cooler"#60bf88")
   (green-faint "#61a06c")
-  (yellow  "#d59c6f")
+  (yellow  "#e5b76f")
   (yellow-warmer   "#ea9955")
   (yellow-cooler   "#f59280")
   (yellow-faint"#bf9f8f")



[nongnu] elpa/crux bc859e4d6a 1/6: Add crux-with-region-or-sexp-or-line

2022-11-21 Thread ELPA Syncer
branch: elpa/crux
commit bc859e4d6a99efbf39f333239606baab9fb25bc1
Author: David Morgan 
Commit: Bozhidar Batsov 

Add crux-with-region-or-sexp-or-line
---
 CHANGELOG.md |  2 ++
 README.md|  9 +
 crux.el  | 10 ++
 3 files changed, 21 insertions(+)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 18199dc872..ae9b99d136 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,8 @@
 
 ## master (unreleased)
 
+* [#94](https://github.com/bbatsov/crux/pull/94): Add 
`crux-with-region-or-sexp-or-line`.
+
 ## 0.4.0 (2021-08-10)
 
 ### New features
diff --git a/README.md b/README.md
index c496744a2a..a05dd44080 100644
--- a/README.md
+++ b/README.md
@@ -136,6 +136,15 @@ alternately act on the current line if the mark is not 
active:
 (crux-with-region-or-line comment-or-uncomment-region)
 ```
 
+ `(crux-with-region-or-sexp-or-line)` 
+
+Similarly, `crux-with-region-or-sexp-or-line` makes a command that acts on the 
active region, or else
+the current list (or string), or finally the current line:
+
+```el
+(crux-with-region-or-sexp-or-line kill-region)
+```
+
  `(crux-with-region-or-point-to-eol)` 
 
 Sometimes you might want to act on the point until the end of the
diff --git a/crux.el b/crux.el
index 1d70a83ba4..f6f8420306 100644
--- a/crux.el
+++ b/crux.el
@@ -797,6 +797,16 @@ and the entire buffer (in the absense of a region)."
   (list (region-beginning) (region-end))
 (list (line-beginning-position) (line-beginning-position 2))
 
+(defmacro crux-with-region-or-sexp-or-line (func)
+  "When called with no active region, call FUNC on current sexp/string, or 
line."
+  `(defadvice ,func (before with-region-or-sexp-or-line activate compile)
+ (interactive
+  (cond
+   (mark-active (list (region-beginning) (region-end)))
+   ((in-string-p) (flatten-list (bounds-of-thing-at-point 'string)))
+   ((thing-at-point 'list) (flatten-list (bounds-of-thing-at-point 'list)))
+   (t (list (line-beginning-position) (line-beginning-position 2)))
+
 (defmacro crux-with-region-or-point-to-eol (func)
   "When called with no active region, call FUNC from the point to the end of 
line."
   `(defadvice ,func (before with-region-or-point-to-eol activate compile)



[nongnu] elpa/crux updated (6bfd212a7f -> b70649b91c)

2022-11-21 Thread ELPA Syncer
elpasync pushed a change to branch elpa/crux.

  from  6bfd212a7f Update my e-mail
   new  bc859e4d6a Add crux-with-region-or-sexp-or-line
   new  6ee63c7c2b Use `derived-mode-p` for functions to also work for 
derived modes (#92)
   new  f258bef9bb Fix `sudo` not found error in OpenBSD and Alpine Linux 
(#93)
   new  6ef681d853 Ensure `vc-rename-file` gets the local file paths (#91)
   new  2c7143de47 More robust `crux-rename-file-and-buffer`.
   new  b70649b91c Tweak the changelog


Summary of changes:
 CHANGELOG.md | 10 +-
 README.md|  9 +
 crux.el  | 47 +++
 3 files changed, 53 insertions(+), 13 deletions(-)



[nongnu] elpa/crux 6ef681d853 4/6: Ensure `vc-rename-file` gets the local file paths (#91)

2022-11-21 Thread ELPA Syncer
branch: elpa/crux
commit 6ef681d853a2847472aae7095a74703310e391f8
Author: Riccardo Murri 
Commit: GitHub 

Ensure `vc-rename-file` gets the local file paths (#91)
---
 crux.el | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/crux.el b/crux.el
index 526b611b02..e7aa8aaf1f 100644
--- a/crux.el
+++ b/crux.el
@@ -420,7 +420,11 @@ there's a region, all lines that region covers will be 
duplicated."
  (containing-dir (file-name-directory new-name)))
 (make-directory containing-dir t)
 (cond
- ((vc-backend filename) (vc-rename-file filename new-name))
+ ((vc-backend filename)
+  ;; vc-rename-file seems not able to cope with remote filenames?
+  (let ((vc-filename (if (tramp-tramp-file-p filename) 
(tramp-file-local-name filename) filename))
+(vc-new-name (if (tramp-tramp-file-p new-name) 
(tramp-file-local-name filename) new-name)))
+(vc-rename-file vc-filename vc-new-name)))
  (t
   (rename-file filename new-name t)
   (set-visited-file-name new-name t t)))



[nongnu] elpa/crux 2c7143de47 5/6: More robust `crux-rename-file-and-buffer`.

2022-11-21 Thread ELPA Syncer
branch: elpa/crux
commit 2c7143de477a804fa694600d01bfb196977087d1
Author: Jimmy Yuen Ho Wong 
Commit: Bozhidar Batsov 

More robust `crux-rename-file-and-buffer`.

* Offer to save file first if modified or new unsaved buffer.
* Message user if new file name is the same.
---
 CHANGELOG.md |  1 +
 crux.el  | 15 ++-
 2 files changed, 11 insertions(+), 5 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 2d98ae2d78..47ee8efe67 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,7 @@
 # Changelog
 
 ## master (unreleased)
+* More robust `crux-rename-file-and-buffer`.
 
 * [#94](https://github.com/bbatsov/crux/pull/94): Add 
`crux-with-region-or-sexp-or-line`.
 
diff --git a/crux.el b/crux.el
index e7aa8aaf1f..deb45d9f93 100644
--- a/crux.el
+++ b/crux.el
@@ -37,6 +37,7 @@
 (require 'thingatpt)
 (require 'seq)
 (require 'tramp)
+(require 'subr-x)
 
 (declare-function dired-get-file-for-visit "dired")
 (declare-function org-element-property "org-element")
@@ -413,11 +414,15 @@ there's a region, all lines that region covers will be 
duplicated."
 (defun crux-rename-file-and-buffer ()
   "Rename current buffer and if the buffer is visiting a file, rename it too."
   (interactive)
-  (let ((filename (buffer-file-name)))
-(if (not (and filename (file-exists-p filename)))
-(rename-buffer (read-from-minibuffer "New name: " (buffer-name)))
-  (let* ((new-name (read-file-name "New name: " (file-name-directory 
filename)))
- (containing-dir (file-name-directory new-name)))
+  (when-let* ((filename (buffer-file-name))
+  (new-name (or (read-file-name "New name: " (file-name-directory 
filename) nil 'confirm)))
+  (containing-dir (file-name-directory new-name)))
+(when (or (buffer-modified-p) (not (file-exists-p filename)))
+  (if (y-or-n-p "Can't move file before saving. Would you like to save it 
now?")
+  (save-buffer)))
+(if (get-file-buffer new-name)
+(message "Already editing new file name")
+  (progn
 (make-directory containing-dir t)
 (cond
  ((vc-backend filename)



[nongnu] elpa/crux b70649b91c 6/6: Tweak the changelog

2022-11-21 Thread ELPA Syncer
branch: elpa/crux
commit b70649b91c951fe0b2a3e13b0df084ebc20a7936
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Tweak the changelog
---
 CHANGELOG.md | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 47ee8efe67..4cd9771f18 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,15 +1,19 @@
 # Changelog
 
 ## master (unreleased)
-* More robust `crux-rename-file-and-buffer`.
 
 * [#94](https://github.com/bbatsov/crux/pull/94): Add 
`crux-with-region-or-sexp-or-line`.
+* [#92](https://github.com/bbatsov/crux/pull/92): Consider derived modes when 
checking for major mode (`dired`, `org-mode`, `eshell`).
+
+### Bugs fixed
+
+* More robust `crux-rename-file-and-buffer`.
+* Fix `sudo` not found error in OpenBSD and Alpine Linux (they use `doas`).
 
 ## 0.4.0 (2021-08-10)
 
 ### New features
 
-* [#92](https://github.com/bbatsov/crux/pull/92): Consider derived modes when 
checking for major mode (dired, org-mode, eshell)
 * [#65](https://github.com/bbatsov/crux/pull/65): Add a configuration option 
to move using visual lines in `crux-move-to-mode-line-start`.
 * [#72](https://github.com/bbatsov/crux/pull/72): Add 
`crux-kill-buffer-truename`. Kills path of file visited by current buffer.
 * [#78](https://github.com/bbatsov/crux/pull/78): Add 
`crux-recentf-find-directory`. Open recently visited directory.



[nongnu] elpa/crux 6ee63c7c2b 2/6: Use `derived-mode-p` for functions to also work for derived modes (#92)

2022-11-21 Thread ELPA Syncer
branch: elpa/crux
commit 6ee63c7c2b64a8ecf5bba48c2d62b14a87bb76da
Author: Michael Eliachevitch 
Commit: GitHub 

Use `derived-mode-p` for functions to also work for derived modes (#92)

In my case I recently started using `dirvish', which is an enhanced 
dired-mode,
and I was surprised that `crux-open-with' didn't work, but I fixed it by 
using
`derived-mode-p'.

Then, I searched for other occurances of `major-mode' and also replaced

(equal major-mode ')

by

(derived-mode-p ')

I'm still not sure whether I should also do that in
`crux-cleanup-buffer-or-region', where in checking the membership in
`crux-untabify-sensitive-modes' and `crux-indent-sensitive-modes', derived 
modes
are not considered. So far I didn't touch that, since those variables are
customizable anyway.
---
 CHANGELOG.md | 1 +
 crux.el  | 8 
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/CHANGELOG.md b/CHANGELOG.md
index ae9b99d136..518ed8a3c4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -8,6 +8,7 @@
 
 ### New features
 
+* [#92](https://github.com/bbatsov/crux/pull/92): Consider derived modes when 
checking for major mode (dired, org-mode, eshell)
 * [#65](https://github.com/bbatsov/crux/pull/65): Add a configuration option 
to move using visual lines in `crux-move-to-mode-line-start`.
 * [#72](https://github.com/bbatsov/crux/pull/72): Add 
`crux-kill-buffer-truename`. Kills path of file visited by current buffer.
 * [#78](https://github.com/bbatsov/crux/pull/78): Add 
`crux-recentf-find-directory`. Open recently visited directory.
diff --git a/crux.el b/crux.el
index f6f8420306..f39cc581fc 100644
--- a/crux.el
+++ b/crux.el
@@ -167,7 +167,7 @@ When in dired mode, open file under the cursor.
 With a prefix ARG always prompt for command to use."
   (interactive "P")
   (let* ((current-file-name
-  (if (eq major-mode 'dired-mode)
+  (if (derived-mode-p 'dired-mode)
   (dired-get-file-for-visit)
 buffer-file-name))
  (open (pcase system-type
@@ -224,7 +224,7 @@ If the process in that buffer died, ask to restart."
  (apply crux-shell-func (list 
crux-shell-buffer-name)))
(format "*%s*" crux-shell-buffer-name))
   (when (and (null (get-buffer-process (current-buffer)))
- (not (eq major-mode 'eshell-mode)) ; eshell has no process
+ (not (derived-mode-p 'eshell-mode)) ; eshell has no process
  (y-or-n-p "The process has died.  Do you want to restart it? "))
 (kill-buffer-and-window)
 (crux-visit-shell-buffer)))
@@ -494,7 +494,7 @@ When invoke with C-u, the newly created file will be 
visited.
 (defun crux-view-url ()
   "Open a new buffer containing the contents of URL."
   (interactive)
-  (let* ((default (if (eq major-mode 'org-mode)
+  (let* ((default (if (derived-mode-p 'org-mode)
   (org-element-property :raw-link (org-element-context))
 (thing-at-point-url-at-point)))
  (url (read-from-minibuffer "URL: " default)))
@@ -589,7 +589,7 @@ buffer is not visiting a file."
 Meant to be used as `find-file-hook'.
 See also `crux-reopen-as-root-mode'."
   (unless (or (tramp-tramp-file-p buffer-file-name)
-  (equal major-mode 'dired-mode)
+  (derived-mode-p 'dired-mode)
   (not (file-exists-p (file-name-directory buffer-file-name)))
   (file-writable-p buffer-file-name)
   (crux-file-owned-by-user-p buffer-file-name))



[nongnu] elpa/crux f8789f67a9: Tweak a couple of messages

2022-11-21 Thread ELPA Syncer
branch: elpa/crux
commit f8789f67a9d2e1eb31a0e4531aec9bb6d6ec1282
Author: Bozhidar Batsov 
Commit: Bozhidar Batsov 

Tweak a couple of messages
---
 crux.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/crux.el b/crux.el
index deb45d9f93..bc5c741a6e 100644
--- a/crux.el
+++ b/crux.el
@@ -417,11 +417,12 @@ there's a region, all lines that region covers will be 
duplicated."
   (when-let* ((filename (buffer-file-name))
   (new-name (or (read-file-name "New name: " (file-name-directory 
filename) nil 'confirm)))
   (containing-dir (file-name-directory new-name)))
+;; make sure the current buffer is saved and backed by some file
 (when (or (buffer-modified-p) (not (file-exists-p filename)))
-  (if (y-or-n-p "Can't move file before saving. Would you like to save it 
now?")
+  (if (y-or-n-p "Can't move file before saving it.  Would you like to save 
it now?")
   (save-buffer)))
 (if (get-file-buffer new-name)
-(message "Already editing new file name")
+(message "There already exists a buffer named %s" new-name)
   (progn
 (make-directory containing-dir t)
 (cond



[elpa] externals/org f78dfea63d: Remove 'org-speed-commands-user' warning

2022-11-21 Thread ELPA Syncer
branch: externals/org
commit f78dfea63d439967cbab283cbf8ae593f75fada1
Author: Stefan Kangas 
Commit: Ihor Radchenko 

Remove 'org-speed-commands-user' warning

* lisp/org-keys.el (org-speed-command-help): Remove
'org-speed-commands-user' warning.
---
 lisp/org-keys.el | 4 
 1 file changed, 4 deletions(-)

diff --git a/lisp/org-keys.el b/lisp/org-keys.el
index 79e34cbd10..95f64a3f9e 100644
--- a/lisp/org-keys.el
+++ b/lisp/org-keys.el
@@ -808,10 +808,6 @@ command."
   (interactive)
   (unless org-use-speed-commands
 (user-error "Speed commands are not activated, customize 
`org-use-speed-commands'"))
-  ;; FIXME: remove this warning for 9.6
-  (when (boundp 'org-speed-commands-user)
-(message "`org-speed-command-user' is obsolete, please use 
`org-speed-commands'")
-(sit-for 3))
   (with-output-to-temp-buffer "*Help*"
 (princ "Speed commands\n==\n")
 (mapc #'org-print-speed-command



[elpa] externals/ess 5c980b58a1 1/3: ESSR Version 1.7

2022-11-21 Thread ELPA Syncer
branch: externals/ess
commit 5c980b58a1a9683668928e49d4dc2da477fcb72e
Author: Martin Maechler 
Commit: Martin Maechler 

ESSR Version 1.7
---
 etc/ESSR.rds | Bin 15018 -> 15185 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/etc/ESSR.rds b/etc/ESSR.rds
index 9f3a09ac1b..675af48ec5 100644
Binary files a/etc/ESSR.rds and b/etc/ESSR.rds differ



[elpa] externals/ess updated (7ec23bf341 -> d04583e1d8)

2022-11-21 Thread ELPA Syncer
elpasync pushed a change to branch externals/ess.

  from  7ec23bf341 Simplify `string-match-p`
   new  5c980b58a1 ESSR Version 1.7
   new  a1d177cb87 ESSR Version 1.8
   new  d04583e1d8 .ess.help -- so warnPartialMatchArgs does *not* warn here


Summary of changes:
 etc/ESSR.rds| Bin 15018 -> 15185 bytes
 etc/ESSR/R/.basic.R |   9 ++---
 etc/ESSR/R/.load.R  |   2 +-
 lisp/ess.el |   4 ++--
 4 files changed, 9 insertions(+), 6 deletions(-)



[elpa] externals/detached 68acc5429a 5/7: Update session actions for shell/eshell

2022-11-21 Thread ELPA Syncer
branch: externals/detached
commit 68acc5429a70c8c0455431af52ce73aeadff63c9
Author: Niklas Eklund 
Commit: Niklas Eklund 

Update session actions for shell/eshell
---
 detached-eshell.el | 2 +-
 detached-shell.el  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/detached-eshell.el b/detached-eshell.el
index d03c4fc532..ceb4e765e6 100644
--- a/detached-eshell.el
+++ b/detached-eshell.el
@@ -36,7 +36,7 @@
 (defcustom detached-eshell-session-action
   '(:attach detached-shell-command-attach-session
:view detached-view-dwim
-   :run detached-shell-command)
+   :run detached-start-shell-command-session)
   "Actions for a session created with `detached-eshell'."
   :group 'detached
   :type 'plist)
diff --git a/detached-shell.el b/detached-shell.el
index fed8d691e1..05d3c57a8d 100644
--- a/detached-shell.el
+++ b/detached-shell.el
@@ -32,7 +32,7 @@
 (defcustom detached-shell-session-action
   '(:attach detached-shell-command-attach-session
 :view detached-view-dwim
-:run detached-shell-command)
+:run detached-start-shell-command-session)
   "Actions for a session created with `detached-shell'."
   :group 'detached
   :type 'plist)



[elpa] externals/detached 7c572dba30 1/7: Begin to enable delayed start of sessions

2022-11-21 Thread ELPA Syncer
branch: externals/detached
commit 7c572dba3048b7e5cda512478d09420f72fbb549
Author: Niklas Eklund 
Commit: Niklas Eklund 

Begin to enable delayed start of sessions
---
 detached.el | 13 ++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/detached.el b/detached.el
index e4ef56ae17..d0b57c9eff 100644
--- a/detached.el
+++ b/detached.el
@@ -752,6 +752,7 @@ active session.  For sessions created with 
`detached-compile' or
 :metadata (detached-metadata)
 :state 'unknown
 :initialized-emacsen `(,(emacs-pid)
+ (detached--db-insert-entry session)
  session)))
 
 (defun detached--start-session-process (session start-command)
@@ -1874,9 +1875,15 @@ session and trigger a state transition."
   (detached--session-state-transition-update session 'approximate)
 (detached--db-update-entry session)
 (detached--watch-session-directory (detached-session-directory 
session)))
-(if (detached--session-missing-p session)
-(detached--db-remove-entry session)
-  (detached--db-update-entry session
+
+;; TODO(Niklas Eklund, 20221118): I should remove the autoremoval
+;; code of the codebase, it prevents us from being able to create
+;; a session without starting it.
+
+;; (if (detached--session-missing-p session)
+;; (detached--db-remove-entry session)
+;;   (detached--db-update-entry session))
+))
 
 (defun detached--uninitialized-sessions ()
   "Return a list of uninitialized sessions."



[elpa] externals/detached 7ed4551774 6/7: Fix detach in shell/eshell

2022-11-21 Thread ELPA Syncer
branch: externals/detached
commit 7ed4551774493a56761b2ef4e4963f5f1e003120
Author: Niklas Eklund 
Commit: Niklas Eklund 

Fix detach in shell/eshell
---
 detached-eshell.el | 4 +++-
 detached.el| 8 +---
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/detached-eshell.el b/detached-eshell.el
index ceb4e765e6..2c078f8736 100644
--- a/detached-eshell.el
+++ b/detached-eshell.el
@@ -103,7 +103,9 @@
 
 (cl-defmethod detached--detach-session ((_mode (derived-mode eshell-mode)))
   "Detach from session when MODE is `eshell-mode'."
-  (when-let ((active-session (detached-session-active-p 
detached-buffer-session))
+  (when-let ((active-session (detached-session-active-p
+  (alist-get (detached-session-id 
detached-buffer-session)
+ detached--sessions)))
  (dtach-process (detached-eshell--get-dtach-process)))
 (setq detached-buffer-session nil)
 (process-send-string dtach-process
diff --git a/detached.el b/detached.el
index cc80f5e382..773c59443e 100644
--- a/detached.el
+++ b/detached.el
@@ -1462,10 +1462,12 @@ Optionally make the path LOCAL to host."
 
 (defun detached--detach-from-comint-process ()
   "Detach from the underlying `comint' process."
-  (when-let ((active-session (detached-session-active-p 
detached-buffer-session))
+  (when-let ((active-session (detached-session-active-p
+  (alist-get (detached-session-id 
detached-buffer-session)
+ detached--sessions)))
  (dtach-process (get-buffer-process (current-buffer
-(setq detached-buffer-session nil)
-(comint-simple-send dtach-process detached--dtach-detach-character)))
+(comint-simple-send dtach-process detached--dtach-detach-character)
+(setq detached-buffer-session nil)))
 
 (defun detached--quit-session-buffer ()
   "Quit session buffer."



[elpa] externals/ess d04583e1d8 3/3: .ess.help -- so warnPartialMatchArgs does *not* warn here

2022-11-21 Thread ELPA Syncer
branch: externals/ess
commit d04583e1d87f01a57b4180f1124cc69720547740
Author: Martin Maechler 
Commit: Martin Maechler 

.ess.help -- so warnPartialMatchArgs does *not* warn here
---
 etc/ESSR/R/.basic.R | 9 ++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/etc/ESSR/R/.basic.R b/etc/ESSR/R/.basic.R
index bae7026165..e645c930ed 100644
--- a/etc/ESSR/R/.basic.R
+++ b/etc/ESSR/R/.basic.R
@@ -32,15 +32,18 @@
 ##   utils:::print.help_files_with_topic (used internally when there's
 ##   more than one a package) uses the quoted call
 ##   MM: don't understand; more specifically?
-.ess.help <- function(...) {
+..help <- function(...) {
 do.call(get("help", envir = .GlobalEnv), list(...))
 }
 
 if (.ess.Rversion > "2.10") {
 ## Abbreviating help_type to avoid underscore
-.ess.help(..., help = help.type)
+if(!is.null(getOption("warnPartialMatchArgs"))) {
+op <- options(warnPartialMatchArgs = FALSE); on.exit(options(op))
+}
+..help(..., help = help.type)
 } else {
-.ess.help(..., htmlhelp = help.type == "html")
+..help(..., htmlhelp = help.type == "html")
 }
 }
 



[elpa] externals/detached b59d39f68e 4/7: Add validation of dtach executable

2022-11-21 Thread ELPA Syncer
branch: externals/detached
commit b59d39f68e9dc9e52ce462cd6d2d43a7fd914af7
Author: Niklas Eklund 
Commit: Niklas Eklund 

Add validation of dtach executable
---
 detached.el | 141 +---
 1 file changed, 77 insertions(+), 64 deletions(-)

diff --git a/detached.el b/detached.el
index 3ff3ad0e0b..cc80f5e382 100644
--- a/detached.el
+++ b/detached.el
@@ -576,7 +576,8 @@ Optionally TOGGLE-SESSION-MODE."
   "Attach to SESSION."
   (interactive
(list (detached-session-in-context)))
-  (when session
+  (when (and session
+ (detached--valid-dtach-executable-p session))
 (let ((initialized-session (detached--get-initialized-session session)))
   (if (detached-session-inactive-p initialized-session)
   (detached-open-session initialized-session)
@@ -943,13 +944,14 @@ This function uses the `notifications' library."
 
 (defun detached-start-session (session)
   "Start SESSION."
-  (if (eq 'detached (detached--session-initial-mode session))
-  (detached--start-session-process session
-   (detached-session-start-command
-session
-:type 'string))
-(detached-with-session session
-  (funcall (detached-session-run-function session) session
+  (when (detached--valid-dtach-executable-p session)
+(if (eq 'detached (detached--session-initial-mode session))
+(detached--start-session-process session
+ (detached-session-start-command
+  session
+  :type 'string))
+  (detached-with-session session
+(funcall (detached-session-run-function session) session)
 
 (defun detached-register-session (session)
   "Register the existence of SESSION and start monitoring it."
@@ -962,66 +964,68 @@ This function uses the `notifications' library."
 
 (cl-defun detached-session-start-command (session &key type)
   "Return command to start SESSION with specified TYPE."
-  (detached-register-session session)
-  (detached-connection-local-variables
-   (let* ((socket (detached--session-file session 'socket t))
-  (detached-session-mode (detached--session-initial-mode session))
-  (log (detached--session-file session 'log t))
-  (dtach-arg (if (eq 'detached (detached--session-initial-mode 
session))
- "-n"
-   "-c"))
-  (dtach-command-fun (lambda (session)
-   (let ((detached-session-mode 
(detached--session-initial-mode session)))
- `(,detached-dtach-program
-   ,dtach-arg
-   ,socket
-   "-z"
-   ,detached-shell-program
-   "-c"
-   ,(if (eq type 'string)
-(shell-quote-argument 
(detached--detached-command session))
-  (detached--detached-command session))
-  (command
-   (if (eq 'detached (detached--session-initial-mode session))
-   (funcall dtach-command-fun session)
- (if (not (detached-session-degraded-p session))
+  (when (detached--valid-dtach-executable-p session)
+(detached-register-session session)
+(detached-connection-local-variables
+ (let* ((socket (detached--session-file session 'socket t))
+(detached-session-mode (detached--session-initial-mode session))
+(log (detached--session-file session 'log t))
+(dtach-arg (if (eq 'detached (detached--session-initial-mode 
session))
+   "-n"
+ "-c"))
+(dtach-command-fun (lambda (session)
+ (let ((detached-session-mode 
(detached--session-initial-mode session)))
+   `(,detached-dtach-program
+ ,dtach-arg
+ ,socket
+ "-z"
+ ,detached-shell-program
+ "-c"
+ ,(if (eq type 'string)
+  (shell-quote-argument 
(detached--detached-command session))
+(detached--detached-command 
session))
+(command
+ (if (eq 'detached (detached--session-initial-mode session))
  (funcall dtach-command-fun session)
-   (detached--start-session-process session
-(string-join
- (funcall dtach-command-fun 
session) 

[elpa] externals/detached 0c7586847f 7/7: Add kill command to detached-session-map

2022-11-21 Thread ELPA Syncer
branch: externals/detached
commit 0c7586847fc7bff2a815a31a65a88162d1377a21
Author: Niklas Eklund 
Commit: Niklas Eklund 

Add kill command to detached-session-map
---
 detached.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/detached.el b/detached.el
index 773c59443e..c6364b2960 100644
--- a/detached.el
+++ b/detached.el
@@ -232,6 +232,7 @@ If set to a non nil value the latest entry to
 (define-key map "a" #'detached-edit-session-annotation)
 (define-key map "d" #'detached-detach-session)
 (define-key map "e" #'detached-edit-and-run-session)
+(define-key map "k" #'detached-kill-session)
 (define-key map "r" #'detached-rerun-session)
 (define-key map "w" #'detached-copy-session-command)
 (define-key map "W" #'detached-copy-session-output)
@@ -628,7 +629,7 @@ Optionally TOGGLE-SESSION-MODE."
 
 Optionally DELETE the session if prefix-argument is provided."
   (interactive
-   (list (detached-completing-read (detached-get-sessions))
+   (list (detached-session-in-context)
  current-prefix-arg))
   (when (detached-valid-session session)
 (when-let* ((default-directory (detached-session-directory session))



[elpa] externals/detached 441c21f5da 3/7: Remove validator function

2022-11-21 Thread ELPA Syncer
branch: externals/detached
commit 441c21f5dabe749794937264e4aeb91c8af36771
Author: Niklas Eklund 
Commit: Niklas Eklund 

Remove validator function

We validate by listening to events in the session directory. The only
thing it wouldn't catch is if dtach path is wrong. But that is a rare
case and maybe we can have a check for dtach executable instead.
---
 detached.el | 26 --
 1 file changed, 4 insertions(+), 22 deletions(-)

diff --git a/detached.el b/detached.el
index b54edbb86c..3ff3ad0e0b 100644
--- a/detached.el
+++ b/detached.el
@@ -740,7 +740,7 @@ active session.  For sessions created with 
`detached-compile' or
 :working-directory 
(detached--get-working-directory)
 :degraded (detached-degraded-command-p 
command)
 :initial-mode detached-session-mode
-:time `(:start ,(time-to-seconds 
(current-time)) :end 0.0 :duration 0.0 :offset 0.0)
+:time `(:start 0.0 :end 0.0 :duration 0.0 
:offset 0.0)
 :status '(unknown . 0)
 :annotation detached-session-annotation
 :local detached-local-session
@@ -953,7 +953,9 @@ This function uses the `notifications' library."
 
 (defun detached-register-session (session)
   "Register the existence of SESSION and start monitoring it."
-  (detached--create-session-validator session)
+  (setf (detached--session-time session) `(:start ,(time-to-seconds 
(current-time)) :end 0.0 :duration 0.0 :offset 0.0))
+  (setf (detached--session-state session) 'started)
+  (detached--db-update-entry session)
   (detached--watch-session-directory (detached-session-directory session)))
 
 ; Public session functions
@@ -1369,26 +1371,6 @@ This function uses the `notifications' library."
   "Return the session associated with ITEM."
   (cdr (assoc item detached--session-candidates)))
 
-(defun detached--create-session-validator (session)
-  "Create a function to validate SESSION.
-
-It can take some time for a dtach socket to be created.  Therefore all
-sessions are created with state unknown.  This function creates a
-function to verify that a session was created correctly.  If the
-session is missing its deleted from the database."
-  (let ((session-id (detached-session-id session)))
-(push session-id detached--unvalidated-session-ids)
-(run-with-timer detached-dtach-socket-creation-delay
-nil
-(lambda ()
-  (when (member session-id 
detached--unvalidated-session-ids)
-(setq detached--unvalidated-session-ids (delete 
session-id detached--unvalidated-session-ids))
-(let ((session (detached--db-get-session session-id)))
-  (if (detached--session-missing-p session)
-  (detached--db-remove-entry session)
-(setf (detached--session-state session) 'active)
-(detached--db-update-entry session
-
 (defun detached--session-file (session file &optional local)
   "Return the full path to SESSION's FILE.
 



[elpa] externals/ess a1d177cb87 2/3: ESSR Version 1.8

2022-11-21 Thread ELPA Syncer
branch: externals/ess
commit a1d177cb87bf96e34f58cd59854ddfb2a2957b39
Author: Martin Maechler 
Commit: Martin Maechler 

ESSR Version 1.8
---
 etc/ESSR.rds   | Bin 15185 -> 15185 bytes
 etc/ESSR/R/.load.R |   2 +-
 lisp/ess.el|   4 ++--
 3 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/etc/ESSR.rds b/etc/ESSR.rds
index 675af48ec5..65f6586c9b 100644
Binary files a/etc/ESSR.rds and b/etc/ESSR.rds differ
diff --git a/etc/ESSR/R/.load.R b/etc/ESSR/R/.load.R
index 4c19bbf84d..2bc6715d77 100644
--- a/etc/ESSR/R/.load.R
+++ b/etc/ESSR/R/.load.R
@@ -35,7 +35,7 @@
 assign(".ess.Rversion", Rver, envir = ESSR)
 
 ## updated by make !!
-VERSION <- "1.7"
+VERSION <- "1.8"
 assign(".ess.ESSRversion", VERSION, envir = ESSR)
 
 ESSR
diff --git a/lisp/ess.el b/lisp/ess.el
index 06644849db..7eb725aeec 100644
--- a/lisp/ess.el
+++ b/lisp/ess.el
@@ -1,6 +1,6 @@
 ;;; ess.el --- Emacs Speaks Statistics  -*- lexical-binding: t; -*-
 
-;; Copyright (C) 1997-2020 Free Software Foundation, Inc.
+;; Copyright (C) 1997-2022 Free Software Foundation, Inc.
 
 ;; Author: David Smith 
 ;; A.J. Rossini 
@@ -20,7 +20,7 @@
 ;; Version: 18.10.3snapshot
 ;; URL: https://ess.r-project.org/
 ;; Package-Requires: ((emacs "25.1"))
-;; ESSR-Version: 1.7
+;; ESSR-Version: 1.8
 
 ;; This file is part of GNU Emacs.
 



[elpa] externals/detached updated (8c7a2e1129 -> 0c7586847f)

2022-11-21 Thread ELPA Syncer
elpasync pushed a change to branch externals/detached.

  from  8c7a2e1129 Update when a session is registered
   new  7c572dba30 Begin to enable delayed start of sessions
   new  ea76c7d660 Make sure update is used for session validation
   new  441c21f5da Remove validator function
   new  b59d39f68e Add validation of dtach executable
   new  68acc5429a Update session actions for shell/eshell
   new  7ed4551774 Fix detach in shell/eshell
   new  0c7586847f Add kill command to detached-session-map


Summary of changes:
 detached-eshell.el|   6 +-
 detached-shell.el |   2 +-
 detached.el   | 213 --
 test/detached-test.el |   1 -
 4 files changed, 105 insertions(+), 117 deletions(-)



[elpa] externals/detached ea76c7d660 2/7: Make sure update is used for session validation

2022-11-21 Thread ELPA Syncer
branch: externals/detached
commit ea76c7d6609aee2f305258395c1fa809edd28e53
Author: Niklas Eklund 
Commit: Niklas Eklund 

Make sure update is used for session validation
---
 detached.el   | 64 ++-
 test/detached-test.el |  1 -
 2 files changed, 23 insertions(+), 42 deletions(-)

diff --git a/detached.el b/detached.el
index d0b57c9eff..b54edbb86c 100644
--- a/detached.el
+++ b/detached.el
@@ -347,8 +347,8 @@ This version is encoded as [package-version].[revision].")
 (defvar detached--hashed-sessions nil
   "Hashed sessions.")
 
-(defvar detached--unvalidated-sessions nil
-  "List of unvalidated sessions.")
+(defvar detached--unvalidated-session-ids nil
+  "A list of unvalidated session ids.")
 
 (defvar detached--current-emacsen nil
   "List of current detached Emacsen.")
@@ -1184,8 +1184,8 @@ This function uses the `notifications' library."
 (defun detached-session-validated-p (session)
   "Return t if SESSION has been validated."
   (not
-   (alist-get (detached-session-id session)
-  detached--unvalidated-sessions)))
+   (member (detached-session-id session)
+   detached--unvalidated-session-ids)))
 
 (defun detached-session-failed-p (session)
   "Return t if SESSION failed."
@@ -1376,19 +1376,18 @@ It can take some time for a dtach socket to be created. 
 Therefore all
 sessions are created with state unknown.  This function creates a
 function to verify that a session was created correctly.  If the
 session is missing its deleted from the database."
-  (setf (alist-get (detached--session-id session) 
detached--unvalidated-sessions)
-session)
-  (run-with-timer detached-dtach-socket-creation-delay
-  nil
-  (lambda ()
-(when (alist-get (detached-session-id session)
- detached--unvalidated-sessions)
-  (setq detached--unvalidated-sessions
-(assq-delete-all (detached-session-id session)
- detached--unvalidated-sessions))
-  (unless (detached--session-missing-p session)
-(setf (detached--session-state session) 'active)
-(detached--db-insert-entry session))
+  (let ((session-id (detached-session-id session)))
+(push session-id detached--unvalidated-session-ids)
+(run-with-timer detached-dtach-socket-creation-delay
+nil
+(lambda ()
+  (when (member session-id 
detached--unvalidated-session-ids)
+(setq detached--unvalidated-session-ids (delete 
session-id detached--unvalidated-session-ids))
+(let ((session (detached--db-get-session session-id)))
+  (if (detached--session-missing-p session)
+  (detached--db-remove-entry session)
+(setf (detached--session-state session) 'active)
+(detached--db-update-entry session
 
 (defun detached--session-file (session file &optional local)
   "Return the full path to SESSION's FILE.
@@ -1816,16 +1815,13 @@ session and trigger a state transition."
(string= "socket" (file-name-extension file)))
 
   (when-let* ((id (intern (file-name-base file)))
-  (session
-   (or (alist-get id detached--unvalidated-sessions)
-   (detached--db-get-session id)))
+  (session (detached--db-get-session id))
   (session-directory (detached-session-directory session))
   (is-primary
(detached--primary-detached-emacs-p session)))
 
 ;; Remove from unvalidated sessions
-(setq detached--unvalidated-sessions
-  (assq-delete-all id detached--unvalidated-sessions))
+(setq detached--unvalidated-session-ids (delete id 
detached--unvalidated-session-ids))
 
 ;; Update session
 (detached--session-state-transition-update session)
@@ -1847,17 +1843,12 @@ session and trigger a state transition."
 (when (and (eq action 'created)
(string= "log" (file-name-extension file)))
   (when-let* ((id (intern (file-name-base file)))
-  (session
-   (or (alist-get id detached--unvalidated-sessions)
-   (detached--db-get-session id)))
+  (session (detached--db-get-session id))
   (session-directory (detached-session-directory session))
-  (is-primary
-   (detached--primary-detached-emacs-p session)))
-(setq detached--unvalidated-sessions
-  (assq-delete-all (detached-session-id session)
-   detached--unvalidated-sessions))
+  (is-primary (detached--primary-detached-emacs-

[nongnu] elpa/helm 67056a93d7 2/2: Check first for boolean which is faster

2022-11-21 Thread ELPA Syncer
branch: elpa/helm
commit 67056a93d7a1f8ee6395bf6d8489821fa3f7d976
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Check first for boolean which is faster
---
 helm-multi-match.el | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/helm-multi-match.el b/helm-multi-match.el
index 173df2ab91..594709b2e2 100644
--- a/helm-multi-match.el
+++ b/helm-multi-match.el
@@ -224,8 +224,8 @@ the same cons cell against CANDIDATE.
 I.e. (identity (string-match \"foo\" \"foo bar\")) => t."
   (let ((pat (helm-mm-3-get-patterns pattern)))
 (cl-loop for (predicate . regexp) in pat
- for re = (if (and (not (helm-mm-regexp-p regexp))
-   helm-mm--match-on-diacritics)
+ for re = (if (and helm-mm--match-on-diacritics
+   (not (helm-mm-regexp-p regexp)))
   (char-fold-to-regexp regexp)
 regexp)
  always (funcall predicate
@@ -247,8 +247,8 @@ i.e (identity (re-search-forward \"foo\" (point-at-eol) t)) 
=> t."
   pattern)
with regex = (cdar pat)
with regex1 = (if (and regex
-  (not (helm-mm-regexp-p regex))
-  helm-mm--match-on-diacritics)
+  helm-mm--match-on-diacritics
+  (not (helm-mm-regexp-p regex)))
  (char-fold-to-regexp regex)
regex)
when (eq (caar pat) 'not) return
@@ -261,8 +261,8 @@ i.e (identity (re-search-forward \"foo\" (point-at-eol) t)) 
=> t."
for bol = (point-at-bol)
for eol = (point-at-eol)
if (cl-loop for (pred . str) in (cdr pat)
-   for regexp = (if (and (not (helm-mm-regexp-p str))
- helm-mm--match-on-diacritics)
+   for regexp = (if (and helm-mm--match-on-diacritics
+ (not (helm-mm-regexp-p str)))
 (char-fold-to-regexp str)
   str)
always



[nongnu] elpa/helm updated (8de5444df2 -> 67056a93d7)

2022-11-21 Thread ELPA Syncer
elpasync pushed a change to branch elpa/helm.

  from  8de5444df2 New hooks that run after opening a file externally
   new  788e90a4d0 Handle affixation in CR with helm* styles
   new  67056a93d7 Check first for boolean which is faster


Summary of changes:
 helm-mode.el| 10 ++
 helm-multi-match.el | 12 ++--
 2 files changed, 12 insertions(+), 10 deletions(-)



[nongnu] elpa/helm 788e90a4d0 1/2: Handle affixation in CR with helm* styles

2022-11-21 Thread ELPA Syncer
branch: elpa/helm
commit 788e90a4d0cf555d001ce88ab5b8431e60642f1a
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Handle affixation in CR with helm* styles
---
 helm-mode.el | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/helm-mode.el b/helm-mode.el
index a78bf18c10..2b6c62f662 100644
--- a/helm-mode.el
+++ b/helm-mode.el
@@ -500,10 +500,12 @@ If COLLECTION is an `obarray', a TEST should be needed. 
See `obarray'."
   "Default filter candidate function for `helm-comp-read'."
   (let ((must-match (helm-get-attr 'must-match source))
 (annotation (plist-get completion-extra-properties
-   :annotation-function)))
-;; Annotation is already handled in completion-in-region and in
-;; helm-completing-read-default-2 when emacs style is in use.
-(cl-loop for c in (if (and annotation
+   :annotation-function))
+(affixation (plist-get completion-extra-properties
+   :affixation-function)))
+;; Annotation and affixation are already handled in completion-in-region 
and
+;; in helm-completing-read-default-2 when emacs style is in use.
+(cl-loop for c in (if (and (or annotation affixation)
(not helm--completing-region)
(memq helm-completion-style '(helm helm-fuzzy)))
   (helm-completion-in-region--initial-filter



[nongnu] elpa/helm-core updated (8de5444df2 -> 67056a93d7)

2022-11-21 Thread ELPA Syncer
elpasync pushed a change to branch elpa/helm-core.

  from  8de5444df2 New hooks that run after opening a file externally
  adds  788e90a4d0 Handle affixation in CR with helm* styles
  adds  67056a93d7 Check first for boolean which is faster

No new revisions were added by this update.

Summary of changes:
 helm-mode.el| 10 ++
 helm-multi-match.el | 12 ++--
 2 files changed, 12 insertions(+), 10 deletions(-)



[elpa] externals/ess updated (d04583e1d8 -> 66c0767230)

2022-11-21 Thread ELPA Syncer
elpasync pushed a change to branch externals/ess.

  from  d04583e1d8 .ess.help -- so warnPartialMatchArgs does *not* warn here
   new  03d0d2eebc ESSR Version 1.8
   new  ecd21ef2f6 ESSR Version 1.8
   new  39ffc022c1 rc.options(dots=FALSE) + cosmetics
   new  66c0767230 fix typo


Summary of changes:
 etc/ESSR.rds| Bin 15185 -> 15250 bytes
 etc/ESSR/R/.basic.R |   2 +-
 etc/ESSR/R/completion.R |  29 -
 3 files changed, 17 insertions(+), 14 deletions(-)



[elpa] externals/ess 39ffc022c1 3/4: rc.options(dots=FALSE) + cosmetics

2022-11-21 Thread ELPA Syncer
branch: externals/ess
commit 39ffc022c1bf8f095ceceac7e35baea58c7d6cf8
Author: Martin Maechler 
Commit: Martin Maechler 

rc.options(dots=FALSE) + cosmetics
---
 etc/ESSR/R/completion.R | 29 -
 1 file changed, 16 insertions(+), 13 deletions(-)

diff --git a/etc/ESSR/R/completion.R b/etc/ESSR/R/completion.R
index 2288436ac1..50017df081 100644
--- a/etc/ESSR/R/completion.R
+++ b/etc/ESSR/R/completion.R
@@ -9,7 +9,7 @@ if(!exists("local"))
 local <- function(expr, envir = environment()) { invisible(eval(expr, 
envir=envir)) }
 
 ##' Robust version of
-##'utils:::.addFunctionInfo(c = c("recursive", "use.names"))
+##'utils:::.addFunctionInfo(c = c("recursive", "use.names")) #  needed 
only for R <= 3.y.z
 local({
 U <- asNamespace("utils"); fn <- ".addFunctionInfo"
 EX <- exists(fn, envir=U)
@@ -30,6 +30,7 @@ local({
 else x
 }
 
+## not needed for completion;   called from  (ess-r-xref--srcref *) in  
../../../lisp/ess-r-xref.el
 .ess_srcref <- function(name, pkg) {
 if (!is.null(pkg) && requireNamespace(pkg)) {
 env <- asNamespace(pkg)
@@ -39,19 +40,17 @@ local({
 fn <- .ess_eval(name, env)
 if (is.null(fn)) {
 objs <- utils::getAnywhere(name)$objs
-for (o in objs) {
-if (is.function(o)) {
-fn <- o
-break;
-}
+for (fn in objs) {
+if(is.function(fn))
+break
 }
 }
 out <- "()\n"
 if (is.function(fn) && !is.null(utils::getSrcref(fn))) {
 file <- utils::getSrcFilename(fn, full.names = TRUE)
 if (file != "") {
-line <- .ess_nonull(utils::getSrcLocation(fn, "line"), 1)
-col <- .ess_nonull(utils::getSrcLocation(fn, "column"), 1)
+line <- .ess_nonull(utils::getSrcLocation(fn, "line"  ), 1)
+col  <- .ess_nonull(utils::getSrcLocation(fn, "column"), 1)
 out <- sprintf("(\"%s\" %d %d)\n", file, line, col - 1)
 }
 }
@@ -112,7 +111,11 @@ local({
 .ess_get_completions <- function(string, end, suffix = " = ") {
 oldopts <- utils::rc.options(funarg.suffix = suffix)
 on.exit(utils::rc.options(oldopts))
-if(.ess.Rversion > '2.14.1'){
+sett <- utils::rc.settings
+oldDots <- sett()[["dots"]]
+on.exit(sett(dots=oldDots), add=TRUE)
+sett(dots = FALSE)
+if(.ess.Rversion > '2.14.1') {
 comp <- compiler::enableJIT(0)
 op <- options(error=NULL)
 on.exit({ options(op); compiler::enableJIT(comp)}, add = TRUE)
@@ -125,7 +128,7 @@ local({
   utils:::.retrieveCompletions())
 }
 
-.ess_arg_help <- function(arg, func){
+.ess_arg_help <- function(arg, func) {
 op <- options(error=NULL)
 on.exit(options(op))
 fguess <-
@@ -151,9 +154,9 @@ local({
 }
 }
 funcs <- c(fguess, tryCatch(methods(fguess),
-warning=function(w) {NULL},
-error=function(e) {NULL}))
-if(length(funcs) > 1 && length(pos <- grep('default', funcs))){
+warning= function(w) NULL,
+error  = function(e) NULL))
+if(length(funcs) > 1 && length(pos <- grep('default', funcs))) {
 funcs <- c(funcs[[pos[[1, funcs[-pos[[1]]])
 }
 i <- 1; found <- FALSE



[elpa] externals/ess 66c0767230 4/4: fix typo

2022-11-21 Thread ELPA Syncer
branch: externals/ess
commit 66c07672308b30c1379af3510b5a6af793d5e8fa
Author: Martin Maechler 
Commit: Martin Maechler 

fix typo
---
 etc/ESSR/R/.basic.R | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/etc/ESSR/R/.basic.R b/etc/ESSR/R/.basic.R
index e645c930ed..6eaca404e0 100644
--- a/etc/ESSR/R/.basic.R
+++ b/etc/ESSR/R/.basic.R
@@ -1,6 +1,6 @@
  Essential functionality needed by ESS
 
-## Should work on *all* vesions of R.
+## Should work on *all* versions of R.
 ## Do not use _ in names, nor :: , nor 1L etc, as they
 ## cannot be parsed in old R versions
 



[elpa] externals/ess 03d0d2eebc 1/4: ESSR Version 1.8

2022-11-21 Thread ELPA Syncer
branch: externals/ess
commit 03d0d2eebc9924354c4e2db126426dc9978ff6cf
Author: Martin Maechler 
Commit: Martin Maechler 

ESSR Version 1.8
---
 etc/ESSR.rds | Bin 15185 -> 13599 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/etc/ESSR.rds b/etc/ESSR.rds
index 65f6586c9b..f0b3e67aab 100644
Binary files a/etc/ESSR.rds and b/etc/ESSR.rds differ



[elpa] externals/ess ecd21ef2f6 2/4: ESSR Version 1.8

2022-11-21 Thread ELPA Syncer
branch: externals/ess
commit ecd21ef2f64cf03790ba557a2fd8ca551c0544aa
Author: Martin Maechler 
Commit: Martin Maechler 

ESSR Version 1.8
---
 etc/ESSR.rds | Bin 13599 -> 15250 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)

diff --git a/etc/ESSR.rds b/etc/ESSR.rds
index f0b3e67aab..b4c4839f88 100644
Binary files a/etc/ESSR.rds and b/etc/ESSR.rds differ



[nongnu] elpa/sweeprolog updated (f3e34cd23f -> 560ba07e92)

2022-11-21 Thread ELPA Syncer
elpasync pushed a change to branch elpa/sweeprolog.

  from  f3e34cd23f Announce recent changes in NEWS.org and bump version to 
0.8.10
   new  3c2a4d0477 Support defining DCG non-terminals in 
sweeprolog-insert-term-dwim
   new  560ba07e92 Bump to version 0.8.11


Summary of changes:
 .gitignore  |  2 ++
 NEWS.org| 34 ++-
 sweep.pl|  3 ++
 sweeprolog-tests.el | 95 +++--
 sweeprolog.el   | 55 +++
 5 files changed, 166 insertions(+), 23 deletions(-)



[nongnu] elpa/sweeprolog 3c2a4d0477 1/2: Support defining DCG non-terminals in sweeprolog-insert-term-dwim

2022-11-21 Thread ELPA Syncer
branch: elpa/sweeprolog
commit 3c2a4d04775c8040b05dd0e1ec6e65abb16fd932
Author: Eshel Yaron 
Commit: Eshel Yaron 

Support defining DCG non-terminals in sweeprolog-insert-term-dwim

* sweep.pl (sweep_color_normalized_/4): expose DCG term "kind" to
Elisp.
* sweeprolog.el (sweeprolog-new-predicate-location-function): change
expected function signature.
(sweeprolog-default-new-predicate-location)
(sweeprolog-new-predicate-location-above-current): update arguments.
(sweeprolog-maybe-define-predicate): support defining DCGs.
---
 .gitignore  |  2 ++
 NEWS.org| 34 +++-
 sweep.pl|  3 ++
 sweeprolog-tests.el | 92 +++--
 sweeprolog.el   | 53 +++---
 5 files changed, 162 insertions(+), 22 deletions(-)

diff --git a/.gitignore b/.gitignore
index ee9db441d1..dd499e604d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -16,3 +16,5 @@
 /#sweep.pl#
 /sweeprolog-tests.elc
 /sweeprolog.elc
+/.dir-locals.el
+/NEWS.md
diff --git a/NEWS.org b/NEWS.org
index 8bc9bff191..cae8769da7 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -11,17 +11,35 @@ SWI-Prolog in Emacs.
 For further details, please consult the manual:
 .
 
+* Version 0.8.11 on 2022-11-21
+
+** ~sweeprolog-new-predicate-location-function~ signature changed
+
+The function specified by ~sweeprolog-new-predicate-location-function~
+should now take three arguments, namely the functor, arity and neck of
+the new predicate, instead of taking only the predicate indicator as a
+sole argument.
+
+** ~sweeprolog-insert-term-dwim~ now supports defining undefined DCG 
non-terminals
+
+Defining a previously undefined predicate with
+~sweeprolog-insert-term-dwim~ now analyzes the context of the undefined
+predicate invocation to determine if it is expected to be a DCG
+non-terminal, in which case an appropriate non-terminal definition is
+inserted instead of a regular predicate.
+
 * Version 0.8.10 on 2022-11-21
 
 ** ~sweeprolog-top-level-signal-current~ now calls ~trace/0~ by default
 
-Calling ~sweeprolog-top-level-signal-current~ (e.g. with ~C-c C-c~) now
-signals the top-level thread with the goal specified by the user
-option ~sweeprolog-top-level-signal-default-goal~, instead of prompting
-for a goal.  By default this user option is set to ~"trace"~, causing
-the top-level thread to enter trace mode.  To have
-~sweeprolog-top-level-signal-current~ prompt for a different goal on
-invocation, call it with a prefix argument, i.e. ~C-u C-c C-c~.
+Calling ~sweeprolog-top-level-signal-current~ (~C-c C-c~ in
+~sweeprolog-top-level~ buffers) now signals the top-level thread with
+the goal specified by the user option
+~sweeprolog-top-level-signal-default-goal~, instead of prompting for a
+goal.  By default this user option is set to ~"trace"~, causing the
+top-level thread to enter trace mode.  To have
+~sweeprolog-top-level-signal-current~ prompt for a different goal
+instead, call it with a prefix argument, i.e. ~C-u C-c C-c~.
 
 ** Fixes
 
@@ -32,7 +50,7 @@ invocation, call it with a prefix argument, i.e. ~C-u C-c 
C-c~.
 
 * Version 0.8.9 on 2022-11-19
 
-** Predicate completions now use holes for arguments
+** Predicate completions now uses holes for arguments
 
 When completing a predicate with ~completion-at-point~ (~C-M-i~) and
 choosing a predicate that takes arguments, holes are inserted is place
diff --git a/sweep.pl b/sweep.pl
index 84f6dbc9b0..1342485706 100644
--- a/sweep.pl
+++ b/sweep.pl
@@ -481,6 +481,9 @@ sweep_color_normalized_(Offset, syntax_error, 
[Message0,Start0-End0|_], ["syntax
 sweep_color_normalized_(_, comment, [Kind0|_], ["comment"|Kind]) :-
 !,
 atom_string(Kind0, Kind).
+sweep_color_normalized_(_, dcg, [Kind0|_], ["dcg"|Kind]) :-
+!,
+atom_string(Kind0, Kind).
 sweep_color_normalized_(_, qq_content, [Type0|_], ["qq_content"|Type]) :-
 !,
 atom_string(Type0, Type).
diff --git a/sweeprolog-tests.el b/sweeprolog-tests.el
index 4fa1a4f87e..0a0f723073 100644
--- a/sweeprolog-tests.el
+++ b/sweeprolog-tests.el
@@ -434,6 +434,92 @@ foo :- bar.
 foo :- Body.
 "
 
+(ert-deftest dwim-define-nested-phrase- ()
+  "Tests complex undefined predicate scenario"
+  (let ((temp (make-temp-file "sweeprolog-test"
+  nil
+  "pl"
+  "
+foo --> {baz, phrase(bar, Baz)}.
+"
+  )))
+(find-file-literally temp)
+(sweeprolog-mode)
+(goto-char (point-max))
+(backward-word 2)
+(sweeprolog-insert-term-dwim)
+(call-interactively #'kill-region)
+(insert "foo")
+(should (string= (buffer-string)
+ "
+foo --> {baz, phrase(bar, Baz)}.
+
+bar --> foo.
+"
+ 
+
+(ert-deftest dwim-define-phrase-non-terminal ()
+  "Tests defining an undefined DCG non-terminal from a clause."
+  (let ((temp (make-temp-

[nongnu] elpa/sweeprolog 560ba07e92 2/2: Bump to version 0.8.11

2022-11-21 Thread ELPA Syncer
branch: elpa/sweeprolog
commit 560ba07e9220aab5f56091ee028da3aa3b4ee5b7
Author: Eshel Yaron 
Commit: Eshel Yaron 

Bump to version 0.8.11
---
 sweeprolog-tests.el | 3 +++
 sweeprolog.el   | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/sweeprolog-tests.el b/sweeprolog-tests.el
index 0a0f723073..ed79c425f3 100644
--- a/sweeprolog-tests.el
+++ b/sweeprolog-tests.el
@@ -2,6 +2,9 @@
 
 (require 'sweeprolog)
 
+(remove-hook 'flymake-diagnostic-functions
+ #'flymake-proc-legacy-flymake)
+
 (defconst sweeprolog-tests-greeting
   "Hello from Elisp from Prolog from Elisp from Prolog from Elisp!")
 
diff --git a/sweeprolog.el b/sweeprolog.el
index 0dce7857aa..cb6e9e229c 100644
--- a/sweeprolog.el
+++ b/sweeprolog.el
@@ -6,7 +6,7 @@
 ;; Maintainer: Eshel Yaron <~eshel/d...@lists.sr.ht>
 ;; Keywords: prolog languages extensions
 ;; URL: https://git.sr.ht/~eshel/sweep
-;; Package-Version: 0.8.10
+;; Package-Version: 0.8.11
 ;; Package-Requires: ((emacs "28.1"))
 
 ;; This file is NOT part of GNU Emacs.



[nongnu] elpa/sweeprolog ec8ef75bc2: Use new prolog_interrupt/0 to interrupt top-level threads

2022-11-21 Thread ELPA Syncer
branch: elpa/sweeprolog
commit ec8ef75bc2183336e05b083337801745c4ac9546
Author: Eshel Yaron 
Commit: Eshel Yaron 

Use new prolog_interrupt/0 to interrupt top-level threads

* sweeprolog.el (sweeprolog-top-level-signal-default-goal): change
default value to...
* sweep.pl (sweep_interrupt/0): new predicate, backwards compatibility
wrapper for prolog_interrupt/0.
---
 README.org| 9 -
 sweep.pl  | 9 -
 sweeprolog.el | 4 ++--
 3 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/README.org b/README.org
index 41c48128cc..25e0fabf9f 100644
--- a/README.org
+++ b/README.org
@@ -1248,11 +1248,10 @@ In ~sweeprolog-top-level-mode~ buffers, the command
 ~sweeprolog-top-level-signal-current~ is available for signaling the
 current top-level.  It is bound by default to ~C-c C-c~.  Normally, this
 command signals the goal specified by the user option
-~sweeprolog-top-level-signal-default-goal~, which is set by default to
-~trace~, causing the top-level thread to enter trace mode (see 
[[https://www.swi-prolog.org/pldoc/man?section=trace-summary-trace-mode][Trace
-Mode in the SWI-Prolog manual]]).  When called with a prefix argument
-(~C-u C-c C-c~), ~sweeprolog-top-level-signal-current~ instead prompts for
-a goal similarly to ~sweeprolog-top-level-signal~.
+~sweeprolog-top-level-signal-default-goal~, which is set by default to a
+predicate that interrupts the top-level thread returns control of the
+top-level to the user.  When ~sweeprolog-top-level-signal-current~ is
+called with a prefix argument (~C-u C-c C-c~), it prompts for the goal.
 
 It is also possible to signal top-levels from the =sweep= Top-level Menu
 buffer with the command ~sweeprolog-top-level-menu-signal~ with point at
diff --git a/sweep.pl b/sweep.pl
index 1342485706..61b69f939f 100644
--- a/sweep.pl
+++ b/sweep.pl
@@ -66,7 +66,8 @@
 sweep_atom_collection/2,
 sweep_context_callable/2,
 sweep_predicate_completion_candidates/2,
-sweep_exportable_predicates/2
+sweep_exportable_predicates/2,
+sweep_interrupt/0
   ]).
 
 :- use_module(library(pldoc)).
@@ -828,3 +829,9 @@ sweep_exportable_predicates(Path0, Preds) :-
 term_string(D1, D)
 ),
 Preds).
+
+:- if(current_predicate(prolog_interrupt/0)).
+sweep_interrupt :- prolog_interrupt.
+:- else.
+sweep_interrupt :- trace.
+:- endif.
diff --git a/sweeprolog.el b/sweeprolog.el
index cb6e9e229c..fb22520eeb 100644
--- a/sweeprolog.el
+++ b/sweeprolog.el
@@ -332,9 +332,9 @@ non-terminals)."
  (function :tag "Custom Function"))
   :group 'sweeprolog)
 
-(defcustom sweeprolog-top-level-signal-default-goal "trace"
+(defcustom sweeprolog-top-level-signal-default-goal "sweep_interrupt"
   "Prolog goal used by default for signaling top-level threads."
-  :package-version '((sweeprolog "0.8.10"))
+  :package-version '((sweeprolog "0.8.12"))
   :type 'string
   :group 'sweeprolog-top-level)
 



[elpa] externals/consult 3478f4d2cd: README: Add links to auxillary Consult packages

2022-11-21 Thread ELPA Syncer
branch: externals/consult
commit 3478f4d2cdc548796c467b7e78b133567496186f
Author: Daniel Mendler 
Commit: Daniel Mendler 

README: Add links to auxillary Consult packages
---
 README.org | 4 
 1 file changed, 4 insertions(+)

diff --git a/README.org b/README.org
index 290139f138..ed524ce3fb 100644
--- a/README.org
+++ b/README.org
@@ -1025,6 +1025,8 @@ on your preferences and requirements.
 - [[https://github.com/mohkale/consult-eglot][consult-eglot]]: Integration 
with Eglot (LSP client).
 - [[https://github.com/minad/consult-flycheck][consult-flycheck]]: Additional 
Flycheck integration.
 - [[https://gitlab.com/OlMon/consult-flyspell][consult-flyspell]]: Additional 
Flyspell integration.
+- [[https://github.com/ghosty141/consult-git-log-grep][consult-git-log-grep]]: 
Consult interface to git log.
+- 
[[https://github.com/Nyoho/consult-hatena-bookmark][consult-hatena-bookmark]]: 
Access Hatena bookmarks.
 - [[https://github.com/rcj/consult-ls-git][consult-ls-git]]: List files from 
git via Consult.
 - [[https://github.com/gagbo/consult-lsp][consult-lsp]]: Integration with 
Lsp-mode (LSP client).
 - [[https://codeberg.org/jao/consult-notmuch][consult-notmuch]]: Access the 
[[https://notmuchmail.org/][Notmuch]] email system using Consult.
@@ -1192,6 +1194,8 @@ Authors of supplementary =consult-*= packages:
 - [[https://github.com/rcj][Robin Joy]] 
([[https://github.com/rcj/consult-ls-git][consult-ls-git]])
 - [[https://codeberg.org/ravi][Ravi R Kiran]] 
[[https://codeberg.org/ravi/consult-dash][(consult-dash]])
 - [[https://github.com/mclearc][Colin McLear]] 
([[https://github.com/mclear-tools/consult-notes][consult-notes]])
+- [[https://github.com/Nyoho][Yukinori Kitadai]] 
([[https://github.com/Nyoho/consult-hatena-bookmark][consult-hatena-bookmark]])
+- [[https://github.com/ghosty141][ghosty141]] 
([[https://github.com/ghosty141/consult-git-log-grep][consult-git-log-grep]])
 
 #+html: 

[elpa] elpa-admin cb3f9cb97c: * elpa-admin.el: Notify upon tarball build failure

2022-11-21 Thread Stefan Monnier via
branch: elpa-admin
commit cb3f9cb97c1d9a9620c431a53b0fe81543f2d8ef
Author: Stefan Monnier 
Commit: Stefan Monnier 

* elpa-admin.el: Notify upon tarball build failure

(elpaa--notification-email-bcc): New var.
(elpaa-read-config): Make it work with any other elpaa-- var.
(elpaa--make-one-tarball): Send an email notification to the maintainer
in case of failure.
(elpaa--send-email, elpaa--maintainers): New functions, extracted from
`elpaa--release-email`.
(elpaa--release-email): Use them.
Try and improve the announcement message.
---
 elpa-admin.el | 164 +++---
 1 file changed, 112 insertions(+), 52 deletions(-)

diff --git a/elpa-admin.el b/elpa-admin.el
index e2c5957d1e..f3145bf56d 100644
--- a/elpa-admin.el
+++ b/elpa-admin.el
@@ -52,6 +52,7 @@
 (defvar elpaa--email-to nil) ;;"gnu-emacs-sour...@gnu.org"
 (defvar elpaa--email-from nil) ;;"ELPA update "
 (defvar elpaa--email-reply-to nil)
+(defvar elpaa--notification-email-bcc "elpas...@gnu.org")
 
 (defvar elpaa--sandbox-extra-ro-dirs nil)
 
@@ -114,7 +115,9 @@ See variable `org-export-options-alist'.")
   ('sandboxelpaa--sandbox)
   ('sandbox-extra-ro-dirs  elpaa--sandbox-extra-ro-dirs)
   ('doc-dir elpaa--doc-subdirectory)
-  ('debug  elpaa--debug))
+  ('debug  elpaa--debug)
+  ((guard (boundp (intern (format "elpaa--%s" var
+   (symbol-value (intern (format "elpaa--%s" var)
 val
 
 (when (file-readable-p "elpa-config") (elpaa-read-config "elpa-config"))
@@ -624,17 +627,45 @@ auxiliary files unless TARBALL-ONLY is non-nil ."
 (message (if res " Built new package %s!"
" Build of package %s FAILED!!")
  tarball)
-(let ((logfile (expand-file-name (format "%s-build-failure.log"
- (car pkg-spec))
- (file-name-directory tarball
+(let* ((pkg-name (car pkg-spec))
+   (logfile (expand-file-name (format "%s-build-failure.log"
+  pkg-name)
+  (file-name-directory tarball
   (if res
   (delete-file logfile)
-;; FIXME: Add a link from .html to this log.
+;; FIXME: Add a link from .html to this log?
 ;; Maybe also send an email notification to the maintainer
 ;; if the file is new or is different (longer?) than before.
-(let ((msg (with-current-buffer (marker-buffer msg-start)
+(let ((prev-size
+   (or (file-attribute-size (file-attributes logfile)) 0))
+  (msg (with-current-buffer (marker-buffer msg-start)
  (buffer-substring msg-start (point-max)
-  (write-region msg nil logfile nil 'silent
+  (write-region msg nil logfile nil 'silent)
+  (when (and elpaa--email-to
+ (> (or (file-attribute-size (file-attributes 
logfile)) 0)
+prev-size))
+(let ((maintainers (elpaa--maintainers
+(elpaa--metadata dir pkg-spec
+  (unless (equal maintainers "")
+(elpaa--send-email
+ `((From. ,elpaa--email-from)
+   (To  . ,maintainers)
+   (Bcc. ,elpaa--notification-email-bcc)
+   (Subject . ,(format "[%s ELPA] Tarball build failure 
for %s"
+   elpaa--name pkg-name)))
+ ;; FIXME: Compute the actual URL.  We currently can't
+ ;; do that for the devel site (sadly, the most important
+ ;; case) because we don't know its URL.
+ (format
+  "The build scripts failed to build the tarball
+for version %s of the package %s.
+You can consult the latest error output in the file
+\"%s-build-failure.log\" in the corresponding ELPA archive web site.
+
+This current error output was the following:\n\n%s"
+  (or (car-safe metadata-or-version) metadata-or-version)
+  pkg-name pkg-name msg
+
 
 (defun elpaa--make-one-tarball-1 ( tarball dir pkg-spec metadata-or-version
  &optional revision-function tarball-only)
@@ -2194,62 +2225,91 @@ If WITH-CORE is non-nil, it means we manage :core 
packages as well."
 (if (equal (downcase name) name)
 (capitalize name) name)))
 
+(defun elpaa--send-email (headers body)
+  (with-temp-buffer
+(message-mode)
+(declare-function message-setup "message"
+

[elpa] elpa-admin 48645e2926: * elpa-admin.el (elpaa--publish-package-specs): Fix false positives

2022-11-21 Thread Stefan Monnier via
branch: elpa-admin
commit 48645e2926dc37c3beb07aca05346cbd2741dc51
Author: Stefan Monnier 
Commit: Stefan Monnier 

* elpa-admin.el (elpaa--publish-package-specs): Fix false positives

(elpaa--supported-keywords): Add `:rolling-release`.
(elpaa--publish-package-spec): Rename from `elpaa--publishes-package-spec`.
(elpaa-batch-make-all-packages): Move call to
`elpaa--publish-package-specs` to an earlier spot, before
`elpaa--make-one-package` gets a chance to add internal elements to it.
---
 elpa-admin.el | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/elpa-admin.el b/elpa-admin.el
index f3145bf56d..e353c0a913 100644
--- a/elpa-admin.el
+++ b/elpa-admin.el
@@ -873,10 +873,10 @@ SPECS is the list of package specifications."
 (defconst elpaa--supported-keywords
   '(:url :core :auto-sync :ignored-files :release-branch :release
 :readme :news :doc :renames :version-map :make :shell-command
-:branch :lisp-dir :main-file :merge :excludes)
+:branch :lisp-dir :main-file :merge :excludes :rolling-release)
   "List of keywords that can appear in a spec.")
 
-(defun elpaa--publishes-package-spec (spec)
+(defun elpaa--publish-package-spec (spec)
   (let ((extra-keys
  (seq-difference (map-keys (cdr spec)) elpaa--supported-keywords)))
 (when extra-keys
@@ -914,7 +914,7 @@ SPECS is the list of package specifications."
 ;; {nongnu,elpa}.git.  The file is intended to be used by
 ;; package-vc.el.
 (prin1
- (list (delq nil (mapcar #'elpaa--publishes-package-spec specs))
+ (list (delq nil (mapcar #'elpaa--publish-package-spec specs))
:version 1 :default-vc 'Git)
  (current-buffer))
 (write-region nil nil
@@ -927,11 +927,11 @@ SPECS is the list of package specifications."
   (let ((specs (elpaa--get-specs)))
 (elpaa--scrub-archive-contents elpaa--release-subdir specs)
 (elpaa--scrub-archive-contents elpaa--devel-subdir specs)
+(elpaa--publish-package-specs specs)
 (dolist (spec specs)
   (condition-case err
   (elpaa--make-one-package spec)
-(error (message "Build error for %s: %S" (car spec) err
-(elpaa--publish-package-specs specs)))
+(error (message "Build error for %s: %S" (car spec) err))
 
 (defun elpaa-batch-make-one-package (&rest _)
   "Build the new tarballs (if needed) for one particular package."



[elpa] externals/cape 8962e15381: Version 0.11

2022-11-21 Thread ELPA Syncer
branch: externals/cape
commit 8962e15381682544b268afd032661101692a3cd2
Author: Daniel Mendler 
Commit: Daniel Mendler 

Version 0.11
---
 cape.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/cape.el b/cape.el
index f3bd0da5de..deb96061a3 100644
--- a/cape.el
+++ b/cape.el
@@ -5,7 +5,7 @@
 ;; Author: Daniel Mendler 
 ;; Maintainer: Daniel Mendler 
 ;; Created: 2021
-;; Version: 0.10
+;; Version: 0.11
 ;; Package-Requires: ((emacs "27.1"))
 ;; Homepage: https://github.com/minad/cape
 



[elpa] externals/corfu 9e854d2a97 1/6: corfu-popupinfo: Do not setup keymap if completion-in-region-mode disabled

2022-11-21 Thread ELPA Syncer
branch: externals/corfu
commit 9e854d2a979445b11d6454d440bb886ebfd8ff0a
Author: Daniel Mendler 
Commit: Daniel Mendler 

corfu-popupinfo: Do not setup keymap if completion-in-region-mode disabled

Fix #254
---
 extensions/corfu-popupinfo.el | 47 ++-
 1 file changed, 24 insertions(+), 23 deletions(-)

diff --git a/extensions/corfu-popupinfo.el b/extensions/corfu-popupinfo.el
index 3890f45dd6..6e5aa33761 100644
--- a/extensions/corfu-popupinfo.el
+++ b/extensions/corfu-popupinfo.el
@@ -434,29 +434,30 @@ not be displayed until this command is called again, even 
if
 
 (defun corfu-popupinfo--exhibit (&rest _)
   "Update the info popup automatically."
-  (add-to-list 'minor-mode-overriding-map-alist
-   `(,#'corfu-popupinfo-mode . ,corfu-popupinfo-map))
-  (if (and (>= corfu--index 0) (corfu-popupinfo--visible-p corfu--frame))
-  (when-let* ((delay (if (consp corfu-popupinfo-delay)
- (funcall (if (corfu-popupinfo--visible-p) #'cdr 
#'car)
-  corfu-popupinfo-delay)
-   corfu-popupinfo-delay))
-  (corfu-popupinfo--toggle))
-(when corfu-popupinfo--timer
-  (cancel-timer corfu-popupinfo--timer)
-  (setq corfu-popupinfo--timer nil))
-(let ((candidate (nth corfu--index corfu--candidates)))
-  (if (or (eq delay t) (<= delay 0)
-  (equal candidate corfu-popupinfo--candidate))
-  (corfu-popupinfo--show candidate)
-(cond
- (corfu-popupinfo-hide
-  (corfu-popupinfo--hide))
- (corfu-popupinfo--candidate
-  (corfu-popupinfo--show corfu-popupinfo--candidate)))
-(setq corfu-popupinfo--timer
-  (run-at-time delay nil #'corfu-popupinfo--show candidate)
-(corfu-popupinfo--hide)))
+  (when completion-in-region-mode
+(setf (alist-get #'corfu-popupinfo-mode minor-mode-overriding-map-alist)
+  corfu-popupinfo-map)
+(if (and (>= corfu--index 0) (corfu-popupinfo--visible-p corfu--frame))
+(when-let* ((delay (if (consp corfu-popupinfo-delay)
+   (funcall (if (corfu-popupinfo--visible-p) #'cdr 
#'car)
+corfu-popupinfo-delay)
+ corfu-popupinfo-delay))
+(corfu-popupinfo--toggle))
+  (when corfu-popupinfo--timer
+(cancel-timer corfu-popupinfo--timer)
+(setq corfu-popupinfo--timer nil))
+  (let ((candidate (nth corfu--index corfu--candidates)))
+(if (or (eq delay t) (<= delay 0)
+(equal candidate corfu-popupinfo--candidate))
+(corfu-popupinfo--show candidate)
+  (cond
+   (corfu-popupinfo-hide
+(corfu-popupinfo--hide))
+   (corfu-popupinfo--candidate
+(corfu-popupinfo--show corfu-popupinfo--candidate)))
+  (setq corfu-popupinfo--timer
+(run-at-time delay nil #'corfu-popupinfo--show 
candidate)
+  (corfu-popupinfo--hide
 
 (defun corfu-popupinfo--teardown ()
   "Teardown the info popup state."



[elpa] externals/corfu 076073dd3d 3/6: Version 0.32

2022-11-21 Thread ELPA Syncer
branch: externals/corfu
commit 076073dd3d17f66cfd398cad4125cf6703b42a46
Author: Daniel Mendler 
Commit: Daniel Mendler 

Version 0.32
---
 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 1886b89f9b..7afe16b992 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -2,7 +2,7 @@
 #+author: Daniel Mendler
 #+language: en
 
-* Development
+* Version 0.32 (2022-11-21)
 
 - =corfu-popupinfo=: Bugfixes
 
diff --git a/corfu.el b/corfu.el
index aa0485445b..083340d414 100644
--- a/corfu.el
+++ b/corfu.el
@@ -5,7 +5,7 @@
 ;; Author: Daniel Mendler 
 ;; Maintainer: Daniel Mendler 
 ;; Created: 2021
-;; Version: 0.31
+;; Version: 0.32
 ;; Package-Requires: ((emacs "27.1"))
 ;; Homepage: https://github.com/minad/corfu
 
diff --git a/extensions/corfu-echo.el b/extensions/corfu-echo.el
index 824d9cb3a4..21637b75e7 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.31"))
+;; Package-Requires: ((emacs "27.1") (corfu "0.32"))
 ;; 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 70d8957bcd..b64ae8c71d 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.31"))
+;; Package-Requires: ((emacs "27.1") (corfu "0.32"))
 ;; 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 0e06df101d..a5ace17b5a 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.31"))
+;; Package-Requires: ((emacs "27.1") (corfu "0.32"))
 ;; 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 5d74f88d04..8fb019ba69 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.31"))
+;; Package-Requires: ((emacs "27.1") (corfu "0.32"))
 ;; 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 6e5aa33761..6dcece1e38 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.31"))
+;; Package-Requires: ((emacs "27.1") (corfu "0.32"))
 ;; 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 cdbe3175ab..687f61c624 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.31"))
+;; Package-Requires: ((emacs "27.1") (corfu "0.32"))
 ;; Homepage: https://github.com/minad/corfu
 
 ;; This file is part of GNU Emacs.



[elpa] externals/corfu c75ed960f4 6/6: Version 0.33

2022-11-21 Thread ELPA Syncer
branch: externals/corfu
commit c75ed960f4c6c835abf574247406c244dbe62916
Author: Daniel Mendler 
Commit: Daniel Mendler 

Version 0.33
---
 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 7afe16b992..afbbcfbb41 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -2,7 +2,7 @@
 #+author: Daniel Mendler
 #+language: en
 
-* Version 0.32 (2022-11-21)
+* Version 0.33 (2022-11-21)
 
 - =corfu-popupinfo=: Bugfixes
 
diff --git a/corfu.el b/corfu.el
index 083340d414..9813da8473 100644
--- a/corfu.el
+++ b/corfu.el
@@ -5,7 +5,7 @@
 ;; Author: Daniel Mendler 
 ;; Maintainer: Daniel Mendler 
 ;; Created: 2021
-;; Version: 0.32
+;; Version: 0.33
 ;; Package-Requires: ((emacs "27.1"))
 ;; Homepage: https://github.com/minad/corfu
 
diff --git a/extensions/corfu-echo.el b/extensions/corfu-echo.el
index 4613e0bcae..75ef652241 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.32"))
+;; Package-Requires: ((emacs "27.1") (corfu "0.33"))
 ;; 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 b64ae8c71d..b865596d2c 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.32"))
+;; Package-Requires: ((emacs "27.1") (corfu "0.33"))
 ;; 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 a5ace17b5a..21322525bb 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.32"))
+;; Package-Requires: ((emacs "27.1") (corfu "0.33"))
 ;; 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 8fb019ba69..e62bf3642b 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.32"))
+;; Package-Requires: ((emacs "27.1") (corfu "0.33"))
 ;; 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 9a282fed4b..7bf2090e48 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.32"))
+;; Package-Requires: ((emacs "27.1") (corfu "0.33"))
 ;; 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 687f61c624..91df9f081e 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.32"))
+;; Package-Requires: ((emacs "27.1") (corfu "0.33"))
 ;; Homepage: https://github.com/minad/corfu
 
 ;; This file is part of GNU Emacs.



[elpa] externals/corfu f8bed9212e 4/6: corfu-popupinfo: Fix timer handling

2022-11-21 Thread ELPA Syncer
branch: externals/corfu
commit f8bed9212eb79bbcdade7ab3104702a3a118cfe2
Author: Daniel Mendler 
Commit: Daniel Mendler 

corfu-popupinfo: Fix timer handling
---
 extensions/corfu-echo.el  |  2 +-
 extensions/corfu-popupinfo.el | 11 ++-
 2 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/extensions/corfu-echo.el b/extensions/corfu-echo.el
index 21637b75e7..4613e0bcae 100644
--- a/extensions/corfu-echo.el
+++ b/extensions/corfu-echo.el
@@ -39,7 +39,7 @@
   "Face used for echo area messages."
   :group 'corfu-faces)
 
-(defcustom corfu-echo-delay '(1.0 . 0.5)
+(defcustom corfu-echo-delay '(2.0 . 1.0)
   "Show documentation string in the echo area after that number of seconds.
 Set to t for an instant message. The value can be a pair of two
 floats to specify initial and subsequent delay."
diff --git a/extensions/corfu-popupinfo.el b/extensions/corfu-popupinfo.el
index 6dcece1e38..0fff73f82e 100644
--- a/extensions/corfu-popupinfo.el
+++ b/extensions/corfu-popupinfo.el
@@ -54,7 +54,7 @@
   "Face used for the info popup."
   :group 'corfu-faces)
 
-(defcustom corfu-popupinfo-delay '(1.0 . 0.5)
+(defcustom corfu-popupinfo-delay '(2.0 . 1.0)
   "Automatically update info popup after that number of seconds.
 
 Set to t for an instant update. The value can be a pair of two
@@ -362,6 +362,7 @@ the candidate popup, its value is 'bottom, 'top, 'right or 
'left."
 (corfu--make-frame corfu-popupinfo--frame
area-x area-y area-w area-h
" *corfu-popupinfo*")
+corfu-popupinfo--toggle t
 corfu-popupinfo--direction area-d
 corfu-popupinfo--candidate candidate
 corfu-popupinfo--coordinates new-coords)
@@ -437,15 +438,15 @@ not be displayed until this command is called again, even 
if
   (when completion-in-region-mode
 (setf (alist-get #'corfu-popupinfo-mode minor-mode-overriding-map-alist)
   corfu-popupinfo-map)
+(when corfu-popupinfo--timer
+  (cancel-timer corfu-popupinfo--timer)
+  (setq corfu-popupinfo--timer nil))
 (if (and (>= corfu--index 0) (corfu-popupinfo--visible-p corfu--frame))
 (when-let* ((delay (if (consp corfu-popupinfo-delay)
-   (funcall (if (corfu-popupinfo--visible-p) #'cdr 
#'car)
+   (funcall (if (eq corfu-popupinfo--toggle 'init) 
#'car #'cdr)
 corfu-popupinfo-delay)
  corfu-popupinfo-delay))
 (corfu-popupinfo--toggle))
-  (when corfu-popupinfo--timer
-(cancel-timer corfu-popupinfo--timer)
-(setq corfu-popupinfo--timer nil))
   (let ((candidate (nth corfu--index corfu--candidates)))
 (if (or (eq delay t) (<= delay 0)
 (equal candidate corfu-popupinfo--candidate))



[elpa] externals/corfu c02381dd4c 5/6: corfu-popupinfo: Remove call to corfu--popup-support-p

2022-11-21 Thread ELPA Syncer
branch: externals/corfu
commit c02381dd4c4b9c9c334da1e729d35d3e84454302
Author: Daniel Mendler 
Commit: Daniel Mendler 

corfu-popupinfo: Remove call to corfu--popup-support-p
---
 extensions/corfu-popupinfo.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/extensions/corfu-popupinfo.el b/extensions/corfu-popupinfo.el
index 0fff73f82e..9a282fed4b 100644
--- a/extensions/corfu-popupinfo.el
+++ b/extensions/corfu-popupinfo.el
@@ -326,7 +326,7 @@ the candidate popup, its value is 'bottom, 'top, 'right or 
'left."
   (when corfu-popupinfo--timer
 (cancel-timer corfu-popupinfo--timer)
 (setq corfu-popupinfo--timer nil))
-  (when (and (corfu--popup-support-p) (corfu-popupinfo--visible-p 
corfu--frame))
+  (when (and (corfu-popupinfo--visible-p corfu--frame))
 (let* ((doc-changed
 (not (and (corfu-popupinfo--visible-p)
   (equal candidate corfu-popupinfo--candidate



[elpa] externals/corfu updated (4bd40f82f1 -> c75ed960f4)

2022-11-21 Thread ELPA Syncer
elpasync pushed a change to branch externals/corfu.

  from  4bd40f82f1 corfu-popupinfo: Work around yet another Emacs quirk
   new  9e854d2a97 corfu-popupinfo: Do not setup keymap if 
completion-in-region-mode disabled
   new  9388007a5d Update changelog
   new  076073dd3d Version 0.32
   new  f8bed9212e corfu-popupinfo: Fix timer handling
   new  c02381dd4c corfu-popupinfo: Remove call to corfu--popup-support-p
   new  c75ed960f4 Version 0.33


Summary of changes:
 CHANGELOG.org |  4 
 corfu.el  |  2 +-
 extensions/corfu-echo.el  |  4 ++--
 extensions/corfu-history.el   |  2 +-
 extensions/corfu-indexed.el   |  2 +-
 extensions/corfu-info.el  |  2 +-
 extensions/corfu-popupinfo.el | 54 ++-
 extensions/corfu-quick.el |  2 +-
 8 files changed, 39 insertions(+), 33 deletions(-)



[elpa] externals/corfu 9388007a5d 2/6: Update changelog

2022-11-21 Thread ELPA Syncer
branch: externals/corfu
commit 9388007a5d60cb921b0f90fc46c9816f01b91f90
Author: Daniel Mendler 
Commit: Daniel Mendler 

Update changelog
---
 CHANGELOG.org | 4 
 1 file changed, 4 insertions(+)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 0e5d70d3d8..1886b89f9b 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -2,6 +2,10 @@
 #+author: Daniel Mendler
 #+language: en
 
+* Development
+
+- =corfu-popupinfo=: Bugfixes
+
 * Version 0.31 (2022-11-20)
 
 - =corfu-echo=, =corfu-quick=: Bugfixes for interaction issue.



[elpa] elpa-admin 41a130da5f: * elpa-admin.el (elpaa--send-email): Remove let-over debugging code

2022-11-21 Thread Stefan Monnier via
branch: elpa-admin
commit 41a130da5f11e6f0c805ea5bf64102a8aa03ea1e
Author: Stefan Monnier 
Commit: Stefan Monnier 

* elpa-admin.el (elpaa--send-email): Remove let-over debugging code
---
 elpa-admin.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/elpa-admin.el b/elpa-admin.el
index e353c0a913..b9a1c832fc 100644
--- a/elpa-admin.el
+++ b/elpa-admin.el
@@ -2234,7 +2234,7 @@ If WITH-CORE is non-nil, it means we manage :core 
packages as well."
 (declare-function message-send "message" (&optional arg))
 (message-setup headers)
 (insert body)
-(pop-to-buffer (current-buffer)) (debug t)
+;; (pop-to-buffer (current-buffer)) (debug t)
 (message-send)
 ))
 



[nongnu] elpa/xah-fly-keys 094095d608 2/2: xah-repeat-key now default to m

2022-11-21 Thread ELPA Syncer
branch: elpa/xah-fly-keys
commit 094095d6084d6a640c33dd1f503e00b81da481ab
Author: Xah Lee 
Commit: Xah Lee 

xah-repeat-key now default to m
---
 xah-fly-keys.el | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/xah-fly-keys.el b/xah-fly-keys.el
index 6dbd48e1f2..74034049ad 100644
--- a/xah-fly-keys.el
+++ b/xah-fly-keys.el
@@ -4,7 +4,7 @@
 
 ;; Author: Xah Lee ( http://xahlee.info/ )
 ;; Maintainer: Xah Lee 
-;; Version: 22.1.20221103090854
+;; Version: 22.2.20221121172301
 ;; Created: 10 Sep 2013
 ;; Package-Requires: ((emacs "24.1"))
 ;; Keywords: convenience, emulations, vim, ergoemacs
@@ -176,8 +176,8 @@
   :type 'boolean)
 
 (when (not (boundp 'xah-repeat-key))
-  (defvar xah-repeat-key nil "A key that some xah command use as a key to 
repeat the command, pressed right after command call. Value should be the same 
format that `kbd' returns. e.g. (kbd \"DEL\")")
-  (if xah-repeat-key nil (setq xah-repeat-key (kbd "DEL"
+  (defvar xah-repeat-key nil "A key that some xah command use as a key to 
repeat the command, pressed right after command call. Value should be the same 
format that `kbd' returns. e.g. (kbd \"m\")")
+  (if xah-repeat-key nil (setq xah-repeat-key (kbd "m"
 
 (defun xah-get-bounds-of-block ()
   "Return the boundary (START . END) of current block.
@@ -1233,7 +1233,7 @@ Version: 2021-07-05 2021-08-13 2022-03-12 2022-05-16"
 (defun xah-reformat-to-sentence-lines ()
   "Reformat current block or selection into multiple lines by ending period.
 Move cursor to the beginning of next text block.
-After this command is called, press `xah-repeat-key' to repeat it (default to 
DEL (backspace)).
+After this command is called, press `xah-repeat-key' to repeat it.
 
 URL `http://xahlee.info/emacs/emacs/elisp_reformat_to_sentence_lines.html'
 Version: 2020-12-02 2022-03-22"
@@ -1549,7 +1549,7 @@ Version: 2016-10-04 2019-11-24 2022-05-16"
 
 (defun xah-cycle-hyphen-lowline-space (&optional Begin End)
   "Cycle hyphen/lowline/space chars in selection or inside quote/bracket or 
line, in that order.
-After this command is called, press `xah-repeat-key' to repeat it (default to 
DEL (backspace)).
+After this command is called, press `xah-repeat-key' to repeat it.
 The region to work on is by this order:
  1. if there is a selection, use that.
  2. If cursor is string quote or any type of bracket, and is within current 
line, work on that region.



[nongnu] elpa/xah-fly-keys updated (644dc9a4e2 -> 094095d608)

2022-11-21 Thread ELPA Syncer
elpasync pushed a change to branch elpa/xah-fly-keys.

  from  644dc9a4e2 Internal implementation change. New function 
xah-fly-define-keys. This is called by xah-fly-keys-set-layout. Basically, 
command mode keys and leader keys are set by this function. It was several code 
blocks calling xah-fly--define-keys. Now they all moved into this new function, 
so that xah-fly-keys-set-layout no longer has to reload whole file. It now just 
call the new function.
   new  f357d610a9 * xah-insert-unicode, added useful chars. * qwerty key 
(space l e) now does toggle-frame-fullscreen instead of toggle-frame-maximized. 
Because in MS Windows, accidently doing both is annoying to get out, and 
fullscreen often has a toggle key in browsers and other apps, but max/min 
windows don't. so fullscreen is more likely used. So emacs does that too. In 
Mac, there's no fullscreen but max window, and emacs does only that.
   new  094095d608 xah-repeat-key now default to m


Summary of changes:
 xah-fly-keys.el | 59 -
 1 file changed, 46 insertions(+), 13 deletions(-)



[nongnu] elpa/xah-fly-keys f357d610a9 1/2: * xah-insert-unicode, added useful chars.

2022-11-21 Thread ELPA Syncer
branch: elpa/xah-fly-keys
commit f357d610a95d556325338e9ca39b4b37bc27717e
Author: Xah Lee 
Commit: Xah Lee 

* xah-insert-unicode, added useful chars.
* qwerty key (space l e) now does toggle-frame-fullscreen instead of 
toggle-frame-maximized. Because in MS Windows, accidently doing both is 
annoying to get out, and fullscreen often has a toggle key in browsers and 
other apps, but max/min windows don't. so fullscreen is more likely used. So 
emacs does that too. In Mac, there's no fullscreen but max window, and emacs 
does only that.
---
 xah-fly-keys.el | 51 ++-
 1 file changed, 42 insertions(+), 9 deletions(-)

diff --git a/xah-fly-keys.el b/xah-fly-keys.el
index eb87fa7fd3..6dbd48e1f2 100644
--- a/xah-fly-keys.el
+++ b/xah-fly-keys.el
@@ -4,7 +4,7 @@
 
 ;; Author: Xah Lee ( http://xahlee.info/ )
 ;; Maintainer: Xah Lee 
-;; Version: 22.0.20221031102959
+;; Version: 22.1.20221103090854
 ;; Created: 10 Sep 2013
 ;; Package-Requires: ((emacs "24.1"))
 ;; Keywords: convenience, emulations, vim, ergoemacs
@@ -1940,21 +1940,54 @@ Version: 2013-06-12 2019-03-07"
 
 (defvar xah-unicode-list
   '(
+;;
+("smile beaming ๐Ÿ˜Š")
+("tears of joy ๐Ÿ˜‚")
+("hug ๐Ÿค—")
+("heart eyes ๐Ÿ˜")
+("heart face ๐Ÿฅฐ")
+
+("angry ๐Ÿ˜ ")
+("vomit ๐Ÿคฎ")
+
+("thumb up ๐Ÿ‘")
+("thumb down ๐Ÿ‘Ž")
+
+("checkmark โœ…")
+("new ๐Ÿ†•")
+("star glowing ๐ŸŒŸ")
+("star โญ")
+("sparkles โœจ")
+("rocket ๐Ÿš€")
+
+("sun ๐ŸŒž")
+("red heart โค")
+
+("clown ๐Ÿคก")
+
+("large circle โญ•")
+("cross โŒ")
+
+("red triangle ๐Ÿ”บ")
+("diamond ๐Ÿ’ ")
+("square โฌ›")
+
 ("bullet โ€ข")
-("right arrow โ†’")
-("white diamong โ—‡")
-("black diamond โ—†")
+("diamond โ—†")
 ("...ellipsis โ€ฆ")
 ("nbsp ย ")
 ("chinese comma ใ€")
 ("-emdash โ€”")
 ("fullwidth ampersand ๏ผ†")
-("down arrow โ†“")
 ("left arrow โ†")
+("right arrow โ†’")
 ("up arrow โ†‘")
-("thumb up ๐Ÿ‘"))
+("down arrow โ†“")
+;;
+)
+
   "A list of strings used by `xah-insert-unicode'.
-each item is a string.
+Each item is a string.
 The first part of string before last space, is used as name of a unicode char, 
the last part before last space, is the unicode Unicode character to insert. 
(can be more than 1 char).")
 
 (defun xah-insert-unicode ()
@@ -3183,7 +3216,7 @@ Version 2022-10-31"
;; dvorak n. commands here are โ€œharmlessโ€, they don't modify text etc. 
they turn on modes, change display, prompt, start shell, etc.
("n SPC" . whitespace-mode)
("n ," . abbrev-mode)
-   ("n ." . toggle-frame-maximized)
+   ("n ." . toggle-frame-fullscreen)
("n 1" . set-input-method)
("n 2" . global-hl-line-mode)
("n 4" . global-display-line-numbers-mode)
@@ -3257,7 +3290,6 @@ Version 2022-10-31"
("t 4" . xah-paste-from-register-1)
("t 7" . xah-append-to-register-1)
("t 8" . xah-clear-register-1)
-   ("t b" . xah-reformat-to-sentence-lines)
("t c" . goto-char)
("t d" . mark-defun)
("t e" . list-matching-lines)
@@ -3275,6 +3307,7 @@ Version 2022-10-31"
("t t" . repeat)
("t u" . delete-matching-lines)
("t w" . xah-next-window-or-frame)
+   ("t x" . xah-reformat-to-sentence-lines)
("t y" . delete-duplicate-lines)
 
("u" . switch-to-buffer)



[elpa] externals/org f995425d06: org-table-convert-region: Update docstring

2022-11-21 Thread ELPA Syncer
branch: externals/org
commit f995425d06e6a9a6a7033e5609df5163ffe6f5d2
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-table-convert-region: Update docstring

* lisp/org-table.el (org-table-convert-region): Mention when an error
can be thrown in the docstring.
---
 lisp/org-table.el | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lisp/org-table.el b/lisp/org-table.el
index a65abf850e..fda955c1d0 100644
--- a/lisp/org-table.el
+++ b/lisp/org-table.el
@@ -859,7 +859,11 @@ SIZE is a string Columns x Rows like for example \"3x2\"."
   "Convert region to a table.
 
 The region goes from BEG0 to END0, but these borders will be moved
-slightly, to make sure a beginning of line in the first line is included.
+slightly, to make sure a beginning of line in the first line is
+included.
+
+Throw an error when the region has more than
+`org-table-convert-region-max-lines' lines.
 
 SEPARATOR specifies the field separator in the lines.  It can have the
 following values:



[elpa] elpa-admin b22dd221b0: elpa-admin: Add code to check dependencies

2022-11-21 Thread Stefan Monnier via
branch: elpa-admin
commit b22dd221b02926c27752d851d29a17f31205da05
Author: Stefan Monnier 
Commit: Stefan Monnier 

elpa-admin: Add code to check dependencies

* elpa-admin.el (elpaa--dependencies-archive-contents): New var.
(elpaa-batch-check): Rename from `elpaa-batch-copyright-check`.
(elpaa--dependencies-archive-contents, elpaa--check-dependencies):
New functions.
(elpaa--make-one-tarball-1, elpaa-batch-check): Call them.
(elpaa--html-quote): Use `url-insert-entities-in-string`.
(elpaa--release-email): Fix thinko.

* GNUmakefile (check/%): Adjust to new function name.
---
 GNUmakefile   |  2 +-
 elpa-admin.el | 79 +--
 2 files changed, 67 insertions(+), 14 deletions(-)

diff --git a/GNUmakefile b/GNUmakefile
index affba15e36..884f9982d2 100644
--- a/GNUmakefile
+++ b/GNUmakefile
@@ -14,7 +14,7 @@ all: all-in-place
 check-all: check/-
 check/%:
$(EMACS) -l $(CURDIR)/admin/elpa-admin.el   \
--f elpaa-batch-copyright-check $*
+-f elpaa-batch-check $*
 
 .PHONY: build/% build-all %.tar
 build/%:
diff --git a/elpa-admin.el b/elpa-admin.el
index b9a1c832fc..a33168dfa1 100644
--- a/elpa-admin.el
+++ b/elpa-admin.el
@@ -54,6 +54,9 @@
 (defvar elpaa--email-reply-to nil)
 (defvar elpaa--notification-email-bcc "elpas...@gnu.org")
 
+(defvar elpaa--dependencies-archive-contents nil
+  "List of `archive-contents' files.")
+
 (defvar elpaa--sandbox-extra-ro-dirs nil)
 
 (defvar elpaa--sandbox
@@ -534,6 +537,50 @@ returns.  Return the selected revision."
   kept
 kept))
 
+(defun elpaa--dependencies-archive-contents ()
+  (let ((ac nil))
+(dolist (file elpaa--dependencies-archive-contents)
+  (let ((form (elpaa--form-from-file-contents file)))
+(if ac
+(nconc ac (cdr form))
+  (setq ac form
+ac))
+
+(defun elpaa--check-dependencies (metadata &optional ac)
+  ;; We have various sources of data we could use here to find which
+  ;; packages are available and at which version:
+  ;;
+  ;; - `archive-contents'.
+  ;; - `pkg-specs'.
+  ;; - main files's headers (requires `pkg-specs').
+  ;;
+  ;; For use by the package maintainers (who would likely only have
+  ;; a partial clone of the repositories), we can at best count on
+  ;; `pkg-specs' and that only for the current repository.  So we
+  ;; should probably support fetching&updating a local copy of the
+  ;; official (Non)GNU(-devel) ELPA's `archive-contents'.
+  ;;
+  ;; For use on elpa.gnu.org, we already have a local copy of
+  ;; `archive-contents'.
+  (when elpaa--dependencies-archive-contents
+(let ((reqs (nth 3 metadata)))
+  (elpaa--message "Checking dependencies: %S" reqs)
+  (pcase-dolist (`(,pkg ,vers) reqs)
+(if (assq pkg package--builtin-versions)
+;; Don't bother checking versions for builtin packages, since
+;; the package can legitimately depend on versions more recent than
+;; the currently running Emacs.
+nil
+  (unless ac (setq ac (elpaa--dependencies-archive-contents)))
+  (let* ((ac-data (assq pkg ac))
+ (pkg-vers (if ac-data (aref (cdr ac-data) 0
+(cond
+ ((and pkg-vers (version-list-<= vers pkg-vers)) nil)
+ ((not ac-data)
+  (error "Unknown required package: %S" pkg))
+ (t (error "Unavailable version %S for package %S"
+   (package-version-join vers) pkg)
+
 (defun elpaa--prune-old-tarballs (tarball oldtarballs destdir &optional minage)
   ;; Make sure we don't count ourselves among the "old" tarballs.
   (let ((self (rassoc (file-name-nondirectory tarball) oldtarballs)))
@@ -708,6 +755,7 @@ This current error output was the following:\n\n%s"
(cl-pushnew (list (file-name-as-directory ldir) "") renames
:test #'equal))
  (elpaa--copyright-check pkg-spec)
+ (elpaa--check-dependencies metadata)
  (let ((process-environment (elpaa--makeenv vers revision)))
;; Run `make' before building the Info file, so that the `make'
;; rule can be used to build the Info/Texinfo file.
@@ -1652,9 +1700,7 @@ arbitrary code."
   "...\n...\n"))
 
 
-(defun elpaa--html-quote (txt)
-  (replace-regexp-in-string "<" "<"
-(replace-regexp-in-string "&" "&" txt)))
+(defalias 'elpaa--html-quote #'url-insert-entities-in-string)
 
 (defun elpaa--insert-repolinks (pkg-spec url)
   (when url
@@ -2204,9 +2250,10 @@ If WITH-CORE is non-nil, it means we manage :core 
packages as well."
 filtered "\n"))
 (error "Abort")
 
-(defun elpaa-batch-copyright-check (&rest _)
+(defun elpaa-batch-check (&rest _)
   (let ((specs (elpaa--get-specs))
-(pkgs command-line-args-left))
+(pkgs command-line-args-left)
+ 

[elpa] externals/denote 6bb6da0882 1/6: feat: project.el integration & backlinks refactoring with xref

2022-11-21 Thread ELPA Syncer
branch: externals/denote
commit 6bb6da088211324cdd1ad35396c2988ccb2eccb7
Author: Noboru Ota 
Commit: Protesilaos Stavrou 

feat: project.el integration & backlinks refactoring with xref

The main intent of the patch is as follows:

- To simplify the implementations of functions related to backlinks that
  rely on the Xref library

- To add minimal implementations to integrate Denote with project.el

  This is necessary for simplification of Xref/backlinks mentioned
  above.

  It has given an opportunity to refactor 'denote-file-prompt' to let
  you search notes under all sub-directories of 'denote-directory'.  The
  original 'read-file-name' could only search within only single
  'denote-directory'.

  This enhances the following commands: 'denote-open-or-create',
  'denote-link', 'denote-link-or-create', and 'denote-link-ol-complete'.

  The project.el integration also lets users set something like this
  below in their configuration.  This way, they can generically use
  project.el facilities for Denote such as 'project-find-file' and
  'project-find-regexp' without a version management tool (e.g. Git)

  (add-hook 'project-find-functions #'denote-project-find)

Following is more detail of changes for each function:

* denote.el

(denote-file-prompt): Refactored

- To use the same completion function as 'project-find-file' does.

- The main benefit is that it can let you search notes under all
  sub-directories of 'denote-directory'.  The original 'read-file-name'
  could only search within only single 'denote-directory'

- Note the impact on commands that use 'denote-file-prompt';
  i.e. 'denote-open-or-create', 'denote-link', 'denote-link-or-create',
  and 'denote-link-ol-complete'

- One minor annoyance may be that the prompt now requires a confirmation
  if the user enters text that does not match any of the candidate and
  tries to exit

- 'denote--title-history' is directly updated from the minibuffer
  completion function.  This eliminates the need for
  'denote--push-extracted-title-to-history'.  The original used
  'file-name-history' as the intermediate storage of titles, which are
  not really file names, thus resulted in polluting the history for file
  names

(denote--retrieve-xrefs): Removed

- No longer used. It was only used by 'denote--retrieve-process-grep',
  which has now been removed.

(denote--retrieve-files-in-xrefs): Refactored

- To take IDENTIFIER as the argument.  No change to the returned
  values. This is for this function to be compatible with the removal of
  'denote--retrieve-xrefs'.  Retrieving files do not need to use the
  intermediate xref-alist, which is a duplicate of work.  This change
  lets this function directly retrieve file name (group) from xrefs (not
  xref-alist) with using Xref public methods

(denote--retrieve-process-grep): Removed

- No longer used. It was only used by 'denote-link--prepare-backlinks'
  to retrieve xref-alist for the purpose of creating the backlinks
  buffer.  Creation of the backlinks buffer has now been refactored to
  get closer to the built-in Xref.  See 'denote-link-find-backlink' and
  'denote-link--prepare-backlinks'

(denote--push-extracted-title-to-history): Removed

- No longer used. See commit message fro 'denote-file-prompt' above

(denote-open-or-create): Refactored

- To not use 'denote--push-extracted-title-to-history', which has been
  removed

(denote-link-find-backlink): Refactored

- To not use 'denote--retrieve-xrefs', which has been removed

(denote-link-or-create): Refactored

- To not use 'denote--push-extracted-title-to-history', which has been
  removed

(denote-backlinks-mode): Refactored

- To locally set 'denote-project-find'. This is be compatible with the
  new project.el integration.  The change is necessary for the backlinks
  buffer to correctly revert by identifying the denote project root

(denote-link--prepare-backlinks): Refactored

- To set the correct revert function with using the new way

(denote-link-backlinks): Refactored

- To use 'xref--show-xrefs' to create and show backlinks buffer.  The
  double-hyphen in the name 'xref--show-xrefs' suggests it is a private
  function; however, in the current development branch of Xref, there is
  a new public function 'xref-show-xrefs'.  It is a wrapper function
  with the same arguments used in this patch, thus we are further
  aligning Denote with the direction of Xref development

(project-root): (project-files): (denote-project-find): Added

- These are Denote specific implementations of gen

[elpa] externals/denote 0665a1e367 6/6: Merge branch 'xref-refinement-project-integration'

2022-11-21 Thread ELPA Syncer
branch: externals/denote
commit 0665a1e367bfd16991b928617ce27b20bdd0d607
Merge: 22829d8541 0a94f3e3c3
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Merge branch 'xref-refinement-project-integration'
---
 denote-org-dblock.el |   3 +-
 denote.el| 216 ---
 2 files changed, 139 insertions(+), 80 deletions(-)

diff --git a/denote-org-dblock.el b/denote-org-dblock.el
index 9b1714f9b1..111fbb7c6a 100644
--- a/denote-org-dblock.el
+++ b/denote-org-dblock.el
@@ -139,8 +139,7 @@ Used by `org-dblock-update' with PARAMS provided by the 
dynamic block."
 Used by `org-dblock-update' with PARAMS provided by the dynamic block."
   (when-let* ((file (buffer-file-name))
   (id (denote-retrieve-filename-identifier file))
-  (files (denote--retrieve-files-in-xrefs
-  (denote--retrieve-process-grep id
+  (files (delete file (denote--retrieve-files-in-xrefs id)
 (insert (denote-link--prepare-links files file nil))
 (join-line))) ;; remove trailing empty line
 
diff --git a/denote.el b/denote.el
index a6c26fe7d1..e24a1db9bf 100644
--- a/denote.el
+++ b/denote.el
@@ -661,7 +661,8 @@ value, as explained in its doc string."
 ((when-let ((regexp denote-excluded-directories-regexp))
(not (string-match-p regexp f
 ((file-readable-p f))
-(t)))
+(t)))
+ :follow-symlinks
 
 (defun denote-directory-text-only-files ()
   "Return list of text files in variable `denote-directory'.
@@ -696,7 +697,11 @@ whatever matches `denote-excluded-directories-regexp'."
   "Return absolute path of ID string in `denote-directory-files'."
   (seq-find
(lambda (f)
- (string-prefix-p id (file-name-nondirectory f)))
+ (and (string-prefix-p id (file-name-nondirectory f))
+  ;; The directory can contain exported html and other
+  ;; derivative files that have the same name sans extetion as
+  ;; the note.
+  (denote-file-is-note-p f)))
(denote-directory-files)))
 
 (define-obsolete-function-alias
@@ -719,10 +724,13 @@ whatever matches `denote-excluded-directories-regexp'."
 (defun denote-file-prompt (&optional initial-text)
   "Prompt for file with identifier in variable `denote-directory'.
 With optional INITIAL-TEXT, use it to prepopulate the minibuffer."
-  (read-file-name "Select note: " (denote-directory) nil nil initial-text
-  (lambda (f)
-(or (denote-file-has-identifier-p f)
-(denote-file-directory-p f)
+  (let* ((project-find-functions #'denote-project-find)
+ (project (project-current nil (denote-directory)))
+ (dirs (list (project-root project)))
+ (all-files (project-files project dirs))
+ (completion-ignore-case read-file-name-completion-ignore-case))
+(funcall project-read-file-name-function
+ "Select note: " all-files nil 'denote--title-history 
initial-text)))
 
 (define-obsolete-function-alias
   'denote--retrieve-read-file-prompt
@@ -1245,50 +1253,16 @@ Run `denote-desluggify' on title if the extraction is 
sucessful."
   title
 (denote-retrieve-filename-title file)))
 
-(defun denote--retrieve-xrefs (identifier &optional file)
-  "Return xrefs of IDENTIFIER in variable `denote-directory'.
-The xrefs are returned as an alist of the form:
-
-((GROUP . (XREF ...)) ...)
-
-GROUP is an absolute file name as retrieved by Xref facility.
-
-When FILE is present, remove its GROUP from the alist."
-  (let ((alist
- (xref--alistify
-  (xref-matches-in-files identifier (denote-directory-text-only-files))
-  (lambda (x)
-(xref-location-group (xref-item-location x))
-(if file (assoc-delete-all file alist) alist)))
-
-(defun denote--retrieve-files-in-xrefs (xref-alist)
-  "Return sorted, deduplicated file names from XREF-ALIST."
+(defun denote--retrieve-files-in-xrefs (identifier)
+  "Return sorted, deduplicated file names from IDENTIFIER."
   (sort
-   (delete-dups (mapcar #'car xref-alist))
+   (delete-dups
+(mapcar #'xref-location-group
+(mapcar #'xref-match-item-location
+(xref-matches-in-files identifier
+   
(denote-directory-text-only-files)
#'string-lessp))
 
-(defun denote--retrieve-process-grep (identifier)
-  "Process lines matching IDENTIFIER and return list of xref-alist.
-
-The alist is of the form ((GROUP . (XREF ...)) ...).
-
-The alist excludes GROUP for the file that current buffer is
-visiting so that only its backlinks are colleced.
-
-In addition, GROUP is a transformed to filename relative to
-variable `denote-directory', which is the string displayed in the
-backlinks' buffer."
-  ;;; This `mapcar' form is doing what function `xref--analyze' would
-  ;;; do.  `xref--analyze' can be flexibly configured but is not used
-  ;;; directly he

[elpa] externals/denote 22829d8541 5/6: Remove reference to non-existing function

2022-11-21 Thread ELPA Syncer
branch: externals/denote
commit 22829d8541c86ba2d88e0dc1f10fbaa8cc08099d
Author: Elias Storms 
Commit: Protesilaos Stavrou 

Remove reference to non-existing function

There is no function denote-link-add-backlinks. Remove references to
it.
---
 README.org   | 4 ++--
 denote-org-dblock.el | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/README.org b/README.org
index e74606992f..49c4a3d3aa 100644
--- a/README.org
+++ b/README.org
@@ -1672,8 +1672,8 @@ and populates the block's contents accordingly.
 
 Denote leverages Org dynamic blocks to streamline the inclusion of (i)
 links to notes whose name matches a given search query (like
-~denote-link-add-links~) and (ii) backlinks to the current note (like
-~denote-link-add-backlinks~).
+~denote-link-add-links~) and (ii) backlinks to the current note (similar to
+~denote-link-find-backlink~).
 
 These two types of blocks are named =denote-links= and =denote-backlinks=
 respectively.  The latter does not accept any parameters, while the
diff --git a/denote-org-dblock.el b/denote-org-dblock.el
index ce1026ab65..9b1714f9b1 100644
--- a/denote-org-dblock.el
+++ b/denote-org-dblock.el
@@ -29,7 +29,7 @@
 ;; This file provides a specialized Org-mode extension to Denote: it
 ;; introduces Org Dynamic blocks that collect links to Denote notes
 ;; based on a provided regexp.  In short, this automates
-;; 'denote-link-add-links' and 'denote-link-add-backlinks'.
+;; 'denote-link-add-links'.
 ;;
 ;; For more information, read the commented code below or refer to the
 ;; Denote manual



[elpa] externals/denote 0a94f3e3c3 4/6: feat: xref-backend facility to enable xref integration

2022-11-21 Thread ELPA Syncer
branch: externals/denote
commit 0a94f3e3c3e0369daa49cca91b75d307d5921974
Author: Noboru Ota 
Commit: Protesilaos Stavrou 

feat: xref-backend facility to enable xref integration

Add xref-backend facility for Denote.

To enable this feature, `xref-backend-functions' like this.

(add-hook 'xref-backend-functions #'denote--xref-backend)

This lets users use the standard Xref commands such as
'xref-find-definitions' ("M-." by default) 'xref-find-references' ("M-?"
by default) on an identifier in the body of text.  To use this, in a
note in a directory, move your point to an identifier like this and
simply invoke one of these commands.  'find-definition' should take you
to the note that identifier points to.  'find-references' by default
should open up a completion in minibuffer with a list of identifiers and
the one at point should already be selected as the default.  Simply
press RET to open a Xref buffer with all references of the identifier.

You can tell xref-references not to prompt by adding the following:

(add-to-list 'xref-prompt-for-identifier #'xref-find-references
:append)

Note that you do not need (1) to use any markup to explicitly indicate
the text string at point is a link or (2) to select a range of text.
---
 denote.el | 52 
 1 file changed, 52 insertions(+)

diff --git a/denote.el b/denote.el
index 4ed7e24e69..e24a1db9bf 100644
--- a/denote.el
+++ b/denote.el
@@ -3189,5 +3189,57 @@ defined in `project'."
   (string-prefix-p root dir)) ; or its subdirectory
   (cons 'denote root
 
+ Xref integration
+;;   Set `xref-backend-functions' like this.
+;; (add-hook 'xref-backend-functions #'denote--xref-backend)
+;;
+;;   You can tell xref-references not to prompt by adding the following:
+;; (add-to-list 'xref-prompt-for-identifier #'xref-find-references
+;; :append)
+
+(defun denote--xref-backend ()
+  "Return denote if `default-directory' is in denote directory."
+  (when (denote--dir-in-denote-directory-p default-directory)
+'denote))
+
+(cl-defmethod xref-backend-identifier-at-point ((_backend (eql 'denote)))
+  "Return the \"thing\" at point.
+The same logic as `elisp-mode'.  The \"thing\" is assumed to be a
+Denote identifier, but can be any word.  The method checks this
+and errors and if the word at point is not a Denote identifer."
+  (let ((bounds (bounds-of-thing-at-point 'word)))
+(and bounds
+ (let ((id (buffer-substring-no-properties
+(car bounds) (cdr bounds
+   (if (string-match-p denote-id-regexp id)
+   ;; Use a property to transport the location of the identifier.
+   (propertize id 'pos (car bounds))
+ (user-error "%s is not a Denote identifier" id))
+
+(cl-defmethod xref-backend-definitions ((_backend (eql 'denote)) identifier)
+  "Return xref for the note IDENTIFIER points to."
+  (let ((file (denote-get-path-by-id identifier)))
+(when file
+  (if (file-equal-p file (buffer-file-name (current-buffer)))
+  (user-error "Identifier points to the current buffer")
+;; Without the message, Xref will report that the ID does not
+;; exist, which is incorrect in this case.
+(list (xref-make nil (xref-make-file-location file 0 0)))
+
+(cl-defgeneric xref-backend-references ((_backend (eql 'denote)) identifier)
+  "Return list of xrefs where IDENTIFIER is referenced.
+This include the definition itself."
+  (xref-matches-in-files identifier (denote-directory-text-only-files)))
+
+(cl-defmethod xref-backend-identifier-completion-table ((_backend
+ (eql 'denote)))
+  "Return list of Denote identifers as completion table."
+
+  (let* ((project-find-functions #'denote-project-find)
+ (project (project-current nil (denote-directory)))
+ (dirs (list (project-root project)))
+ (all-files (project-files project dirs)))
+(mapcar #'denote-retrieve-filename-identifier all-files)))
+
 (provide 'denote)
 ;;; denote.el ends here



[elpa] externals/denote updated (69824125b9 -> 0665a1e367)

2022-11-21 Thread ELPA Syncer
elpasync pushed a change to branch externals/denote.

  from  69824125b9 Use consistent style for references to publications
   new  22829d8541 Remove reference to non-existing function
   new  6bb6da0882 feat: project.el integration & backlinks refactoring 
with xref
   new  3e074afb4b feat: follow-symlinks
   new  93971de099 fix: denote-get-path-by-id to send only denote notes file
   new  0a94f3e3c3 feat: xref-backend facility to enable xref integration
   new  0665a1e367 Merge branch 'xref-refinement-project-integration'


Summary of changes:
 README.org   |   4 +-
 denote-org-dblock.el |   5 +-
 denote.el| 216 ---
 3 files changed, 142 insertions(+), 83 deletions(-)



[elpa] externals/denote 93971de099 3/6: fix: denote-get-path-by-id to send only denote notes file

2022-11-21 Thread ELPA Syncer
branch: externals/denote
commit 93971de099246f3fcb76f85c9f95eab4326fdca3
Author: Noboru Ota 
Commit: Protesilaos Stavrou 

fix: denote-get-path-by-id to send only denote notes file

Currently this function returns any file that starts with the identifier
passed into it.  There are cases where contain derivative files that
have the same name sans extetion as the note (e.g. exported HTML file
for the note, etc.).  Now the patch changes the function to check
against these cases and returns only denote notes file.
---
 denote.el | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/denote.el b/denote.el
index 9f9e2932b5..4ed7e24e69 100644
--- a/denote.el
+++ b/denote.el
@@ -697,7 +697,11 @@ whatever matches `denote-excluded-directories-regexp'."
   "Return absolute path of ID string in `denote-directory-files'."
   (seq-find
(lambda (f)
- (string-prefix-p id (file-name-nondirectory f)))
+ (and (string-prefix-p id (file-name-nondirectory f))
+  ;; The directory can contain exported html and other
+  ;; derivative files that have the same name sans extetion as
+  ;; the note.
+  (denote-file-is-note-p f)))
(denote-directory-files)))
 
 (define-obsolete-function-alias



[elpa] externals/org updated (f995425d06 -> 07eced3639)

2022-11-21 Thread ELPA Syncer
elpasync pushed a change to branch externals/org.

  from  f995425d06 org-table-convert-region: Update docstring
   new  b57674a847 org-manual: Document `org-babel-pre-tangle-hook' and 
`org-babel-tangle-body-hook'
   new  07eced3639 org-make-parameter-alist: Change the argument name


Summary of changes:
 doc/org-manual.org | 14 +-
 lisp/org-macs.el   | 17 -
 2 files changed, 21 insertions(+), 10 deletions(-)



[elpa] externals/org 07eced3639 2/2: org-make-parameter-alist: Change the argument name

2022-11-21 Thread ELPA Syncer
branch: externals/org
commit 07eced3639f483b7bc0351aaee66715da80354df
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-make-parameter-alist: Change the argument name

* lisp/org-macs.el (org-make-parameter-alist): Change the argument
name to conventional PLIST, as the FIXME suggests.
---
 lisp/org-macs.el | 17 -
 1 file changed, 8 insertions(+), 9 deletions(-)

diff --git a/lisp/org-macs.el b/lisp/org-macs.el
index 541413a64a..9188999007 100644
--- a/lisp/org-macs.el
+++ b/lisp/org-macs.el
@@ -1324,15 +1324,14 @@ that will be added to PLIST.  Returns the string that 
was modified."
0 (length string) (if props (append plist props) plist) string)
   string)
 
-(defun org-make-parameter-alist (flat)
-  ;; FIXME: "flat" is called a "plist"!
-  "Return alist based on FLAT.
-FLAT is a list with alternating symbol names and values.  The
-returned alist is a list of lists with the symbol name in car and
-the value in cadr."
-  (when flat
-(cons (list (car flat) (cadr flat))
- (org-make-parameter-alist (cddr flat)
+(defun org-make-parameter-alist (plist)
+  "Return alist based on PLIST.
+PLIST is a property list with alternating symbol names and values.
+The returned alist is a list of lists with the symbol name in `car'
+and the value in `cadr'."
+  (when plist
+(cons (list (car plist) (cadr plist))
+ (org-make-parameter-alist (cddr plist)
 
 (defsubst org-get-at-bol (property)
   "Get text property PROPERTY at the beginning of line."



[elpa] externals/org b57674a847 1/2: org-manual: Document `org-babel-pre-tangle-hook' and `org-babel-tangle-body-hook'

2022-11-21 Thread ELPA Syncer
branch: externals/org
commit b57674a84779bbcf3bd4bd2ace8d16906ef7051c
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-manual: Document `org-babel-pre-tangle-hook' and 
`org-babel-tangle-body-hook'

* doc/org-manual.org (Tangle hooks): Document the missing hooks.
---
 doc/org-manual.org | 14 +-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/doc/org-manual.org b/doc/org-manual.org
index 4f877d3715..70d1c01a30 100644
--- a/doc/org-manual.org
+++ b/doc/org-manual.org
@@ -18816,7 +18816,19 @@ expanded anyway.
 :UNNUMBERED: notoc
 :END:
 
-# FIXME missing pre-tangle and tangle-body hooks
+- ~org-babel-pre-tangle-hook~ ::
+
+  #+vindex: org-babel-pre-tangle-hook
+  This hook is run before the tangle process begins.  The active
+  buffer is buffer to be tangled.
+
+- ~org-babel-tangle-body-hook~ ::
+  
+  #+vindex: org-babel-tangle-body-hook
+  This hook is run from a temporary buffer containing expanded code of
+  every tangled code block.  The hook can modify the expanded code as
+  needed.  The contents of the current buffer will be used as actual
+  code block expansion.
 
 - ~org-babel-post-tangle-hook~ ::
 



[elpa] externals/denote 3e074afb4b 2/6: feat: follow-symlinks

2022-11-21 Thread ELPA Syncer
branch: externals/denote
commit 3e074afb4b96822c9f792f34970f84ae4b251a12
Author: Noboru Ota 
Commit: Protesilaos Stavrou 

feat: follow-symlinks

Currently, the "do-or-create" functions do not show files under a
subdirectory that is symlinked to another directory outside
'denote-directory'.  This patch enable Denote to recognize files in
symlinked directories and thus lets users more flexible directory
arrangements.
---
 denote.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/denote.el b/denote.el
index b472d207d7..9f9e2932b5 100644
--- a/denote.el
+++ b/denote.el
@@ -661,7 +661,8 @@ value, as explained in its doc string."
 ((when-let ((regexp denote-excluded-directories-regexp))
(not (string-match-p regexp f
 ((file-readable-p f))
-(t)))
+(t)))
+ :follow-symlinks
 
 (defun denote-directory-text-only-files ()
   "Return list of text files in variable `denote-directory'.



[elpa] externals/ef-themes 2b4b7102cc: Recalibrate bg-err and/or bg-info in some themes

2022-11-21 Thread ELPA Syncer
branch: externals/ef-themes
commit 2b4b7102ccbbbd29bdbd5e0d6ccd2736d06fb400
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Recalibrate bg-err and/or bg-info in some themes

These are some minor tweaks that improve the visuals of certain
elements.  Overall, the effect is barely noticeable, unless one
compares samples side-by-side.
---
 ef-autumn-theme.el| 4 ++--
 ef-bio-theme.el   | 4 ++--
 ef-cherie-theme.el| 4 ++--
 ef-dark-theme.el  | 4 ++--
 ef-day-theme.el   | 2 +-
 ef-deuteranopia-dark-theme.el | 2 +-
 ef-duo-dark-theme.el  | 4 ++--
 ef-night-theme.el | 2 +-
 ef-trio-dark-theme.el | 4 ++--
 ef-tritanopia-dark-theme.el   | 2 +-
 ef-winter-theme.el| 2 +-
 11 files changed, 17 insertions(+), 17 deletions(-)

diff --git a/ef-autumn-theme.el b/ef-autumn-theme.el
index 6c006014b5..498f21f251 100644
--- a/ef-autumn-theme.el
+++ b/ef-autumn-theme.el
@@ -132,9 +132,9 @@
   (bg-hl-line"#302a3a")
   (bg-region "#3f1020")
   (bg-paren  "#2f6c4a")
-  (bg-err"#361400") ; check with err
+  (bg-err"#391400") ; check with err
   (bg-warning"#332800") ; check with warning
-  (bg-info   "#152800") ; check with info
+  (bg-info   "#152a00") ; check with info
 
   (border"#58514f")
   (cursor"#ffaa33")
diff --git a/ef-bio-theme.el b/ef-bio-theme.el
index 9824946bdd..fbe2868cb6 100644
--- a/ef-bio-theme.el
+++ b/ef-bio-theme.el
@@ -132,9 +132,9 @@
   (bg-hl-line"#00331f")
   (bg-region "#3a3027")
   (bg-paren  "#664950")
-  (bg-err"#361400") ; check with err
+  (bg-err"#381400") ; check with err
   (bg-warning"#332800") ; check with warning
-  (bg-info   "#132b00") ; check with info
+  (bg-info   "#132f00") ; check with info
 
   (border"#525959")
   (cursor"#35f038")
diff --git a/ef-cherie-theme.el b/ef-cherie-theme.el
index 5f875fadb9..798c10ccd2 100644
--- a/ef-cherie-theme.el
+++ b/ef-cherie-theme.el
@@ -132,9 +132,9 @@
   (bg-hl-line"#401f33")
   (bg-region "#232f3f")
   (bg-paren  "#3f5f75")
-  (bg-err"#370f12") ; check with err
+  (bg-err"#3c0f12") ; check with err
   (bg-warning"#352905") ; check with warning
-  (bg-info   "#1c2b00") ; check with info
+  (bg-info   "#1a2e00") ; check with info
 
   (border"#695960")
   (cursor"#ff5aaf")
diff --git a/ef-dark-theme.el b/ef-dark-theme.el
index 9646f53ed2..4644b3c205 100644
--- a/ef-dark-theme.el
+++ b/ef-dark-theme.el
@@ -132,9 +132,9 @@
   (bg-hl-line"#002435")
   (bg-region "#2a234a")
   (bg-paren  "#20577a")
-  (bg-err"#330d09") ; check with err
+  (bg-err"#360d09") ; check with err
   (bg-warning"#332600") ; check with warning
-  (bg-info   "#002212") ; check with info
+  (bg-info   "#002c12") ; check with info
 
   (border"#4f4f5f")
   (cursor"#ff76ff")
diff --git a/ef-day-theme.el b/ef-day-theme.el
index 962ee85e7e..265baea368 100644
--- a/ef-day-theme.el
+++ b/ef-day-theme.el
@@ -132,7 +132,7 @@
   (bg-hl-line"#f9e2b2")
   (bg-region "#f0d2df")
   (bg-paren  "#8fcfdf")
-  (bg-err"#ffddee") ; check with err
+  (bg-err"#ffdde5") ; check with err
   (bg-warning"#ffe0aa") ; check with warning
   (bg-info   "#ddf5cc") ; check with info
 
diff --git a/ef-deuteranopia-dark-theme.el b/ef-deuteranopia-dark-theme.el
index 30a7381435..66373674e5 100644
--- a/ef-deuteranopia-dark-theme.el
+++ b/ef-deuteranopia-dark-theme.el
@@ -137,7 +137,7 @@
   (bg-paren  "#0f4f9a")
   (bg-err"#342d09") ; check with err
   (bg-warning"#292900") ; check with warning
-  (bg-info   "#00204f") ; check with info
+  (bg-info   "#002252") ; check with info
 
   (border"#555a64")
   (cursor"#00")
diff --git a/ef-duo-dark-theme.el b/ef-duo-dark-theme.el
index b610486605..0f742cae0c 100644
--- a/ef-duo-dark-theme.el
+++ b/ef-duo-dark-theme.el
@@ -135,9 +135,9 @@
   (bg-hl-line"#301a4f")
   (bg-region "#042a50")
   (bg-paren  "#2f608e")
-  (bg-err"#330d09") ; check with err
+  (bg-err"#360d09") ; check with err
   (bg-warning"#332600") ; check with warning
-  (bg-info   "#002212") ; check with info
+  (bg-info   "#002d12") ; check with info
 
   (border"#545f6f")
   (cursor"#ef6f11")
diff --git a/ef-night-theme.el b/ef-night-theme.el
index 12e68cb561..27b784dc8c 100644
--- a/ef-night-theme.el
+++ b/ef-night-theme.el
@@ -134,7 +134,7 @@
   (bg-paren  "#664950")
   (bg-err"#331419") ; check with err
   (bg-warning"#332613") ; check with wa

[elpa] externals/ef-themes bd324d1b88: Make the 'match' face use a coloured background

2022-11-21 Thread ELPA Syncer
branch: externals/ef-themes
commit bd324d1b88301776a0092fb296d6665f5280f1a4
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Make the 'match' face use a coloured background

This makes it easier to stand out.  The choice of colour is consistent
with the backgrounds used by Isearch for the current and other
matches: they do not clash.
---
 ef-themes.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ef-themes.el b/ef-themes.el
index 8370bf542c..765c8f8ef7 100644
--- a/ef-themes.el
+++ b/ef-themes.el
@@ -1287,7 +1287,7 @@ Helper function for `ef-themes-preview-colors'."
 `(isearch-group-1 ((,c :background ,bg-green :foreground ,fg-intense)))
 `(isearch-group-2 ((,c :background ,bg-magenta :foreground ,fg-intense)))
 `(lazy-highlight ((,c :background ,bg-blue :foreground ,fg-intense)))
-`(match ((,c :background ,bg-alt :foreground ,fg-intense)))
+`(match ((,c :background ,bg-warning)))
 `(query-replace ((,c :background ,bg-red :foreground ,fg-intense)))
  keycast
 `(keycast-command ((,c :inherit bold)))



[elpa] externals/corfu 9007b978d4 1/3: corfu-popupinfo: No top/bottom direction distinction

2022-11-21 Thread ELPA Syncer
branch: externals/corfu
commit 9007b978d4892ac09bd54e4aa2502d921077b308
Author: Daniel Mendler 
Commit: Daniel Mendler 

corfu-popupinfo: No top/bottom direction distinction

It suffices to remember the vertical direction,
since top or bottom is fixed by the popup position
relative to the cursor.
---
 extensions/corfu-popupinfo.el | 20 +---
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/extensions/corfu-popupinfo.el b/extensions/corfu-popupinfo.el
index 7bf2090e48..ebe1897536 100644
--- a/extensions/corfu-popupinfo.el
+++ b/extensions/corfu-popupinfo.el
@@ -257,9 +257,7 @@ relative to the candidate popup, its value can be 'right or 
'left."
 
 The WIDTH and HEIGHT of the info popup are in pixels.
 
-The calculated area is in the form (X Y WIDTH HEIGHT DIR).
-DIR indicates the vertical position direction of the info popup
-relative to the candidate popup, its value can be 'bottom or 'top."
+The calculated area is in the form (X Y WIDTH HEIGHT 'vertical)."
   (pcase-let* ((border (alist-get 'child-frame-border-width 
corfu--frame-parameters))
(lh (default-line-height))
(`(,_pfx ,_pfy ,pfw ,pfh)
@@ -281,35 +279,35 @@ relative to the candidate popup, its value can be 'bottom 
or 'top."
 (progn
   (setq height (min h-remaining-bottom height)
 height (min height (* (floor (/ height lh)) lh)))
-  (list cfx y-on-bottom w-avail height 'bottom))
+  (list cfx y-on-bottom w-avail height 'vertical))
   (setq height (min h-remaining-top height)
 height (min height (* (floor (/ height lh)) lh)))
   (list cfx
 (max 0 (- cfy height border))
-w-avail height 'top
+w-avail height 'vertical
 
 (defun corfu-popupinfo--display-area (dir width height)
   "Calculate the display area for the info popup.
 
 If DIR is non-nil, the display area in the corresponding
-direction is calculated first, its value can be 'bottom,
-'top,'right or 'left.
+direction is calculated first, its value can be 'vertical, 'right
+or 'left.
 
 The pixel size of the info popup can be specified by WIDTH and HEIGHT.
 
 The calculated area is in the form (X Y WIDTH HEIGHT DIR).
 DIR indicates the position direction of the info popup relative to
-the candidate popup, its value is 'bottom, 'top, 'right or 'left."
+the candidate popup, its value is 'vertical, 'right or 'left."
   (unless (and width height)
 (let ((size (corfu-popupinfo--size)))
   (setq width (car size)
 height (cdr size
-  ;; TODO Direction handling is incomplete. Fix not only horizontal/vertical,
-  ;; but left/right/bottom/top.
   (cond
((memq dir '(right left))
+;; TODO Direction handling is incomplete. Fix not only horizontal,
+;; but also left or right.
 (corfu-popupinfo--display-area-horizontal width height))
-   ((memq dir '(bottom top))
+   ((eq dir 'vertical)
 (corfu-popupinfo--display-area-vertical width height))
(t
 (pcase-let* (((and h-a `(,_h-x ,_h-y ,h-w ,h-h ,_h-d))



[elpa] externals/corfu updated (c75ed960f4 -> b9727c5ed7)

2022-11-21 Thread ELPA Syncer
elpasync pushed a change to branch externals/corfu.

  from  c75ed960f4 Version 0.33
   new  9007b978d4 corfu-popupinfo: No top/bottom direction distinction
   new  20af7bc5f4 corfu-popupinfo: Add corfu-popupinfo-direction variable
   new  b9727c5ed7 corfu-popupinfo: Minor cleanup


Summary of changes:
 extensions/corfu-popupinfo.el | 88 ++-
 1 file changed, 54 insertions(+), 34 deletions(-)



[elpa] externals/corfu b9727c5ed7 3/3: corfu-popupinfo: Minor cleanup

2022-11-21 Thread ELPA Syncer
branch: externals/corfu
commit b9727c5ed7301b0e48c566e6f711db1e35e626f8
Author: Daniel Mendler 
Commit: Daniel Mendler 

corfu-popupinfo: Minor cleanup
---
 extensions/corfu-popupinfo.el | 34 ++
 1 file changed, 18 insertions(+), 16 deletions(-)

diff --git a/extensions/corfu-popupinfo.el b/extensions/corfu-popupinfo.el
index af784ed2bc..beca9e90b8 100644
--- a/extensions/corfu-popupinfo.el
+++ b/extensions/corfu-popupinfo.el
@@ -146,13 +146,13 @@ The coordinates list has the form (LEFT TOP RIGHT BOTTOM) 
where
 all values are in pixels relative to the origin. See
 `frame-edges' for details.")
 
-(defvar-local corfu-popupinfo--direction nil
-  "Position direction of the info popup relative to the candidate popup.")
+(defvar-local corfu-popupinfo--lock-dir nil
+  "Locked position direction of the info popup.")
 
 (defconst corfu-popupinfo--state-vars
   '(corfu-popupinfo--candidate
 corfu-popupinfo--coordinates
-corfu-popupinfo--direction
+corfu-popupinfo--lock-dir
 corfu-popupinfo--toggle
 corfu-popupinfo--function)
   "Buffer-local state variables used by corfu-popupinfo.")
@@ -219,17 +219,19 @@ all values are in pixels relative to the origin. See
  (margin (* cw (+ (alist-get 'left-margin-width 
corfu-popupinfo--buffer-parameters)
   (alist-get 'right-margin-width 
corfu-popupinfo--buffer-parameters
  (max-height (* (default-line-height) corfu-popupinfo-max-height))
- (max-width (+ margin (* cw corfu-popupinfo-max-width
-(if corfu-popupinfo-resize
-(with-current-buffer " *corfu-popupinfo*"
-  (cl-letf* (((window-dedicated-p) nil)
- ((window-buffer) (current-buffer))
- (size (window-text-pixel-size
-nil (point-min) (point-max)
-max-width max-height)))
-(cons (min (+ margin (car size)) max-width)
-  (min (cdr size) max-height
-  (cons max-width max-height
+ (max-width (* cw corfu-popupinfo-max-width)))
+(or (when corfu-popupinfo-resize
+  (with-current-buffer " *corfu-popupinfo*"
+(cl-letf* (((window-dedicated-p) nil)
+   ((window-buffer) (current-buffer))
+   (size (window-text-pixel-size
+  nil (point-min) (point-max)
+  max-width max-height)))
+  ;; Check that width is not exceeded. Otherwise use full height,
+  ;; since lines will get wrapped.
+  (when (<= (car size) max-width)
+(cons (+ margin (car size)) (min (cdr size) max-height))
+(cons (+ margin max-width) max-height
 
 (defun corfu-popupinfo--frame-geometry (frame)
   "Return position and size geometric attributes of FRAME.
@@ -370,7 +372,7 @@ the candidate popup, its value is 'vertical, 'right or 
'left."
 (pcase-let* ((border (alist-get 'child-frame-border-width 
corfu--frame-parameters))
  (`(,area-x ,area-y ,area-w ,area-h ,area-d)
   (corfu-popupinfo--display-area
-   corfu-popupinfo--direction
+   corfu-popupinfo--lock-dir
(and (not doc-changed)
 (- (frame-pixel-width corfu-popupinfo--frame) 
border border))
(and (not doc-changed)
@@ -381,7 +383,7 @@ the candidate popup, its value is 'vertical, 'right or 
'left."
area-x area-y area-w area-h
" *corfu-popupinfo*")
 corfu-popupinfo--toggle t
-corfu-popupinfo--direction area-d
+corfu-popupinfo--lock-dir area-d
 corfu-popupinfo--candidate candidate
 corfu-popupinfo--coordinates new-coords)
   ;; HACK: Force margin update. For some reason, the call to



[elpa] externals/corfu 20af7bc5f4 2/3: corfu-popupinfo: Add corfu-popupinfo-direction variable

2022-11-21 Thread ELPA Syncer
branch: externals/corfu
commit 20af7bc5f41379718fc7b61f21cc9642db0f39ba
Author: Daniel Mendler 
Commit: Daniel Mendler 

corfu-popupinfo: Add corfu-popupinfo-direction variable

Allow to customize direction of the popup (See #255).
---
 extensions/corfu-popupinfo.el | 34 +++---
 1 file changed, 27 insertions(+), 7 deletions(-)

diff --git a/extensions/corfu-popupinfo.el b/extensions/corfu-popupinfo.el
index ebe1897536..af784ed2bc 100644
--- a/extensions/corfu-popupinfo.el
+++ b/extensions/corfu-popupinfo.el
@@ -93,6 +93,18 @@ popup can be requested manually via `corfu-popupinfo-toggle',
   :type 'boolean
   :group 'corfu)
 
+;; TODO Not yet fully supported.
+(defcustom corfu-popupinfo-direction 'horizontal
+  "Preferred direction for the popup."
+  :type '(choice (const horizontal)
+ (const vertical)
+ ;; TODO always-* are unsupported
+ (const always-horizontal)
+ (const always-vertical)
+ (const always-left)
+ (const always-right))
+  :group 'corfu)
+
 (defvar corfu-popupinfo-map
   (let ((map (make-sparse-keymap)))
 (define-key map "\M-d" #'corfu-popupinfo-documentation)
@@ -278,10 +290,12 @@ The calculated area is in the form (X Y WIDTH HEIGHT 
'vertical)."
 (if cf-on-cursor-bottom
 (progn
   (setq height (min h-remaining-bottom height)
-height (min height (* (floor (/ height lh)) lh)))
+;;height (min height (* (floor (/ height lh)) lh))
+)
   (list cfx y-on-bottom w-avail height 'vertical))
   (setq height (min h-remaining-top height)
-height (min height (* (floor (/ height lh)) lh)))
+;;height (min height (* (floor (/ height lh)) lh))
+)
   (list cfx
 (max 0 (- cfy height border))
 w-avail height 'vertical
@@ -303,7 +317,7 @@ the candidate popup, its value is 'vertical, 'right or 
'left."
   (setq width (car size)
 height (cdr size
   (cond
-   ((memq dir '(right left))
+   ((or (eq dir 'right) (eq dir 'left))
 ;; TODO Direction handling is incomplete. Fix not only horizontal,
 ;; but also left or right.
 (corfu-popupinfo--display-area-horizontal width height))
@@ -314,10 +328,16 @@ the candidate popup, its value is 'vertical, 'right or 
'left."
   (corfu-popupinfo--display-area-horizontal width height))
  ((and v-a `(,_v-x ,_v-y ,v-w ,v-h ,_v-d))
   (corfu-popupinfo--display-area-vertical width height)))
-  (if (and (or (< h-h height) (< h-w width))
-   (or (>= (* v-w v-h) (* h-w h-h))
-   (and (>= v-h height) (>= v-w width
-  v-a h-a)
+  (pcase corfu-popupinfo-direction
+;; TODO Add proper support for corfu-popupinfo-direction 'always-left,
+;; 'always-right.
+('always-left   h-a)
+('always-right  h-a)
+('always-horizontal h-a)
+('always-vertical   v-a)
+((and 'horizontal (guard (>= h-h height)) (guard (>= h-w width))) h-a)
+((and 'vertical   (guard (>= v-h height)) (guard (>= v-w width))) v-a)
+(_ (if (>= (* v-w v-h) (* h-w h-h)) v-a h-a)))
 
 (defun corfu-popupinfo--show (candidate)
   "Show the info popup for CANDIDATE."



[elpa] externals/denote ce8e661325: fix: cl-defgeneric -> cl-defmethod

2022-11-21 Thread ELPA Syncer
branch: externals/denote
commit ce8e6613257664a650e4cba86f9ee4e401876653
Author: Noboru Ota 
Commit: Protesilaos Stavrou 

fix: cl-defgeneric -> cl-defmethod

We are implementing a denote-specific implementation of the method.  Do
not override the generic one.
---
 denote.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/denote.el b/denote.el
index e24a1db9bf..3aad15fb1e 100644
--- a/denote.el
+++ b/denote.el
@@ -3226,7 +3226,7 @@ and errors and if the word at point is not a Denote 
identifer."
 ;; exist, which is incorrect in this case.
 (list (xref-make nil (xref-make-file-location file 0 0)))
 
-(cl-defgeneric xref-backend-references ((_backend (eql 'denote)) identifier)
+(cl-defmethod xref-backend-references ((_backend (eql 'denote)) identifier)
   "Return list of xrefs where IDENTIFIER is referenced.
 This include the definition itself."
   (xref-matches-in-files identifier (denote-directory-text-only-files)))