[elpa] externals/org 99b65bb212 2/4: org-babel-map-inline-src-blocks: Avoid using `save-match-data'

2023-08-27 Thread ELPA Syncer
branch: externals/org
commit 99b65bb2127d739f30b144bbca0b0e409bae222d
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-babel-map-inline-src-blocks: Avoid using `save-match-data'

* lisp/ob-core.el (org-babel-map-inline-src-blocks): Drop
`save-match-data' as it may be costly.
---
 lisp/ob-core.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lisp/ob-core.el b/lisp/ob-core.el
index 0aacc7d5ef..dd82aa790f 100644
--- a/lisp/ob-core.el
+++ b/lisp/ob-core.el
@@ -1309,9 +1309,9 @@ buffer."
 (setq ,to-be-removed (current-buffer))
 (goto-char (point-min))
 (while (re-search-forward "src_\\S-" nil t)
-  (let ((,datum (save-match-data (org-element-context
+  (let ((,datum (org-element-context)))
 (when (org-element-type-p ,datum 'inline-src-block)
-  (goto-char (match-beginning 0))
+  (goto-char (org-element-begin ,datum))
   (let ((,end (copy-marker (org-element-end ,datum
 ,@body
 (goto-char ,end)



[elpa] externals/org 9f12a1b9e4 4/4: org-babel-map-executables: Avoid using `save-match-data'

2023-08-27 Thread ELPA Syncer
branch: externals/org
commit 9f12a1b9e496d1fcf506a92d07aebc82632b7b78
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-babel-map-executables: Avoid using `save-match-data'

* lisp/ob-core.el (org-babel-map-executables): Drop
`save-match-data' as it may be costly.
---
 lisp/ob-core.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lisp/ob-core.el b/lisp/ob-core.el
index 44dcf60ae7..8ba8948229 100644
--- a/lisp/ob-core.el
+++ b/lisp/ob-core.el
@@ -1367,11 +1367,12 @@ buffer."
 (goto-char (point-min))
 (while (re-search-forward
 "\\(call\\|src\\)_\\|^[ \t]*#\\+\\(BEGIN_SRC\\|CALL:\\)" nil t)
-  (let ((,datum (save-match-data (org-element-context
+  (let ((,datum (org-element-context)))
 (when (org-element-type-p
 ,datum
 '(babel-call inline-babel-call inline-src-block src-block))
-  (goto-char (match-beginning 0))
+  (goto-char (or (org-element-post-affiliated ,datum)
+  (org-element-begin ,datum)))
   (let ((,end (copy-marker (org-element-end ,datum
 ,@body
 (goto-char ,end)



[elpa] externals-release/org 21171d1366: * testing/lisp/test-org.el (test-org/insert-heading): Fix test

2023-08-27 Thread ELPA Syncer
branch: externals-release/org
commit 21171d13664d13fdbf051e6996eb6889c2a1f528
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

* testing/lisp/test-org.el (test-org/insert-heading): Fix test

The test itself is wrong - `org-insert-heading' was correctly obeying
blank before the entry at point when inserting a new heading.
---
 testing/lisp/test-org.el | 6 ++
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/testing/lisp/test-org.el b/testing/lisp/test-org.el
index 0a3583fd7c..66c3bbdadd 100644
--- a/testing/lisp/test-org.el
+++ b/testing/lisp/test-org.el
@@ -1868,14 +1868,12 @@ CLOCK: [2022-09-17 sam. 11:00]--[2022-09-17 sam. 11:46] 
=>  0:46"
   (buffer-string
   (should
(equal
-"
-* 1
+"* 1
 ** 1.1
 ** 1.2
 * 
 * 2"
-(org-test-with-temp-text "
-* 1
+(org-test-with-temp-text "* 1
 ** 1.1
 ** 1.2
 * 2"



[elpa] externals/org b22ebf8c78 1/4: Merge branch 'bugfix'

2023-08-27 Thread ELPA Syncer
branch: externals/org
commit b22ebf8c78fa938dba3a119050dacf7fad719ed8
Merge: 1dcde9889b 21171d1366
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

Merge branch 'bugfix'



[elpa] externals/org 05064052ad 3/4: org-babel-map-call-lines: Avoid using `save-match-data'

2023-08-27 Thread ELPA Syncer
branch: externals/org
commit 05064052ad0dfec93536dfcc17b460a9b2570e34
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-babel-map-call-lines: Avoid using `save-match-data'

* lisp/ob-core.el (org-babel-map-call-lines): Drop
`save-match-data' as it may be costly.
---
 lisp/ob-core.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lisp/ob-core.el b/lisp/ob-core.el
index dd82aa790f..44dcf60ae7 100644
--- a/lisp/ob-core.el
+++ b/lisp/ob-core.el
@@ -1337,9 +1337,10 @@ buffer."
 (setq ,to-be-removed (current-buffer))
 (goto-char (point-min))
 (while (re-search-forward "call_\\S-\\|^[ \t]*#\\+CALL:" nil t)
-  (let ((,datum (save-match-data (org-element-context
+  (let ((,datum (org-element-context)))
 (when (org-element-type-p ,datum '(babel-call inline-babel-call))
-  (goto-char (match-beginning 0))
+  (goto-char (or (org-element-post-affiliated datum)
+  (org-element-begin datum)))
   (let ((,end (copy-marker (org-element-end ,datum
 ,@body
 (goto-char ,end)



[elpa] externals/org updated (1dcde9889b -> 9f12a1b9e4)

2023-08-27 Thread ELPA Syncer
elpasync pushed a change to branch externals/org.

  from  1dcde9889b Merge branch 'bugfix'
   new  21171d1366 * testing/lisp/test-org.el (test-org/insert-heading): 
Fix test
   new  b22ebf8c78 Merge branch 'bugfix'
   new  99b65bb212 org-babel-map-inline-src-blocks: Avoid using 
`save-match-data'
   new  05064052ad org-babel-map-call-lines: Avoid using `save-match-data'
   new  9f12a1b9e4 org-babel-map-executables: Avoid using `save-match-data'


Summary of changes:
 lisp/ob-core.el | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)



[nongnu] elpa/with-editor 10ecb9e75c: Use emacsclient-program-name if that is bound

2023-08-27 Thread ELPA Syncer
branch: elpa/with-editor
commit 10ecb9e75c5944d4b4a08e063f00736aa6345bfb
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Use emacsclient-program-name if that is bound

This should make it possible to use `with-editor' on Android.

For Remacs continue to hardcode "remacsclient" because it has not
been updated since this variable was introduced and is unlikely to
be updated any time soon.
---
 lisp/with-editor.el | 7 ---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/lisp/with-editor.el b/lisp/with-editor.el
index e0f78ddd9a..853e60860a 100644
--- a/lisp/with-editor.el
+++ b/lisp/with-editor.el
@@ -117,9 +117,10 @@ please see 
https://github.com/magit/magit/wiki/Emacsclient.";
   (let* ((version-lst (cl-subseq (split-string emacs-version "\\.") 0 depth))
  (version-reg (concat "^" (mapconcat #'identity version-lst "\\."
 (or (locate-file
- (if (equal (downcase invocation-name) "remacs")
- "remacsclient"
-   "emacsclient")
+ (cond ((equal (downcase invocation-name) "remacs")
+"remacsclient")
+   ((bound-and-true-p emacsclient-program-name))
+   ("emacsclient"))
  path
  (cl-mapcan
   (lambda (v) (cl-mapcar (lambda (e) (concat v e)) exec-suffixes))



[elpa] externals/do-at-point 32a256c124: Add a highlight action

2023-08-27 Thread ELPA Syncer
branch: externals/do-at-point
commit 32a256c124c7eb68e2ec654aca7a2dae36c81a06
Author: Philip Kaludercic 
Commit: Philip Kaludercic 

Add a highlight action
---
 do-at-point.el | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/do-at-point.el b/do-at-point.el
index b34935f47d..909bdc139a 100644
--- a/do-at-point.el
+++ b/do-at-point.el
@@ -99,7 +99,14 @@ of this variable.")
   (shell-command-on-region beg end cmd nil t
  (?! "Shell command" ,(if (fboundp 'shell-command+)
   #'shell-command+
-(lambda (cmd) (shell-command cmd)
+(lambda (cmd) (shell-command cmd
+ (?h "Highlight" ,(eval-when-compile
+(require 'hi-lock)
+(lambda (str)
+  (let ((hi-lock-auto-select-face t))
+(highlight-regexp
+ (regexp-quote str)
+ (hi-lock-read-face-name)))
 (email
  (?m "Compose message" ,(lambda (to) (compose-mail to
 (existing-filename



[elpa] externals/org f02b4c8b4d 2/2: org-refile-get-targets: Improve malformed target handling

2023-08-27 Thread ELPA Syncer
branch: externals/org
commit f02b4c8b4d1dd4305bddfeebddaf8c545b63482d
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-refile-get-targets: Improve malformed target handling

* lisp/org-refile.el (org-refile-get-targets): Throw better errors
when `org-refile-targets' value is malformed.  Allow common mistake
with not using a cons cell in the target description.
---
 lisp/org-refile.el | 45 +++--
 1 file changed, 27 insertions(+), 18 deletions(-)

diff --git a/lisp/org-refile.el b/lisp/org-refile.el
index f96182c00a..248b3f8ef3 100644
--- a/lisp/org-refile.el
+++ b/lisp/org-refile.el
@@ -273,8 +273,10 @@ converted to a headline before refiling."
(entries (or org-refile-targets '((nil . (:level . 1)
targets tgs files desc descre)
 (message "Getting targets...")
+(cl-assert (listp entries) t "`org-refile-targets' must be a list of 
targets")
 (with-current-buffer (or default-buffer (current-buffer))
   (dolist (entry entries)
+(cl-assert (consp entry) t "Refile target must be a cons cell (FILES . 
SPECIFICATION)")
(setq files (car entry) desc (cdr entry))
(cond
 ((null files) (setq files (list (current-buffer
@@ -285,26 +287,33 @@ converted to a headline before refiling."
 ((and (symbolp files) (boundp files))
  (setq files (symbol-value files
(when (stringp files) (setq files (list files)))
-   (cond
-((eq (car desc) :tag)
- (setq descre (concat "^\\*+[ \t]+.*?:" (regexp-quote (cdr desc)) 
":")))
-((eq (car desc) :todo)
- (setq descre (concat "^\\*+[ \t]+" (regexp-quote (cdr desc)) "[ 
\t]")))
-((eq (car desc) :regexp)
- (setq descre (cdr desc)))
-((eq (car desc) :level)
- (setq descre (concat "^\\*\\{" (number-to-string
- (if org-odd-levels-only
- (1- (* 2 (cdr desc)))
-   (cdr desc)))
-  "\\}[ \t]")))
-((eq (car desc) :maxlevel)
- (setq descre (concat "^\\*\\{1," (number-to-string
+;; Allow commonly used (FILE :maxlevel N) and similar values.
+(when (and (listp (cdr desc)) (null (cddr desc)))
+  (setq desc (cons (car desc) (cadr desc
+(condition-case err
+   (cond
+((eq (car desc) :tag)
+ (setq descre (concat "^\\*+[ \t]+.*?:" (regexp-quote (cdr desc)) 
":")))
+((eq (car desc) :todo)
+ (setq descre (concat "^\\*+[ \t]+" (regexp-quote (cdr desc)) "[ 
\t]")))
+((eq (car desc) :regexp)
+ (setq descre (cdr desc)))
+((eq (car desc) :level)
+ (setq descre (concat "^\\*\\{" (number-to-string
(if org-odd-levels-only
-   (1- (* 2 (cdr desc)))
+   (1- (* 2 (cdr desc)))
  (cdr desc)))
-  "\\}[ \t]")))
-(t (error "Bad refiling target description %s" desc)))
+  "\\}[ \t]")))
+((eq (car desc) :maxlevel)
+ (setq descre (concat "^\\*\\{1," (number-to-string
+ (if org-odd-levels-only
+ (1- (* 2 (cdr desc)))
+   (cdr desc)))
+  "\\}[ \t]")))
+(t (error "Bad refiling target description %s" desc)))
+  (error
+   (error "Error parsing refiling target description: %s"
+  (error-message-string err
(dolist (f files)
  (with-current-buffer (if (bufferp f) f (org-get-agenda-file-buffer f))
 (unless (derived-mode-p 'org-mode)



[elpa] externals/org updated (9f12a1b9e4 -> f02b4c8b4d)

2023-08-27 Thread ELPA Syncer
elpasync pushed a change to branch externals/org.

  from  9f12a1b9e4 org-babel-map-executables: Avoid using `save-match-data'
   new  320c29c021 * lisp/ob-core.el (org-babel-remove-inline-result): 
Document DATUM argument
   new  f02b4c8b4d org-refile-get-targets: Improve malformed target handling


Summary of changes:
 lisp/ob-core.el|  2 +-
 lisp/org-refile.el | 45 +++--
 2 files changed, 28 insertions(+), 19 deletions(-)



[elpa] externals/org 320c29c021 1/2: * lisp/ob-core.el (org-babel-remove-inline-result): Document DATUM argument

2023-08-27 Thread ELPA Syncer
branch: externals/org
commit 320c29c021f479bc1a64f5693db4d50c7d025fc2
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

* lisp/ob-core.el (org-babel-remove-inline-result): Document DATUM argument
---
 lisp/ob-core.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/ob-core.el b/lisp/ob-core.el
index 8ba8948229..b6241c40d4 100644
--- a/lisp/ob-core.el
+++ b/lisp/ob-core.el
@@ -2716,7 +2716,7 @@ INFO may provide the values of these header arguments (in 
the
   (progn (forward-line) (org-babel-result-end
 
 (defun org-babel-remove-inline-result (&optional datum)
-  "Remove the result of the current inline-src-block or babel call.
+  "Remove the result of DATUM or the current inline-src-block or babel call.
 The result must be wrapped in a `results' macro to be removed.
 Leading white space is trimmed."
   (interactive)



[nongnu] elpa/camera 65dcda9d3f 1/3: Fix 'camera--update-frame'

2023-08-27 Thread ELPA Syncer
branch: elpa/camera
commit 65dcda9d3f9725a07e7778e443c8775718131b8f
Author: Akib Azmain Turja 
Commit: Akib Azmain Turja 

Fix 'camera--update-frame'
---
 camera.el | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/camera.el b/camera.el
index c897a3c7b4..7330a8c33e 100644
--- a/camera.el
+++ b/camera.el
@@ -92,15 +92,17 @@ Don't do anything if current buffer is not BUFFER."
(size (camera--get-text-area-size))
(image (funcall camera-capture-frame-function size)))
   (erase-buffer)
-  (insert-image image "[frame]")
+  (when image
+(insert-image image "[frame]"))
   (setq camera--current-frame image))
 (when camera--update-frame-timer
   (cancel-timer camera--update-frame-timer))
 (setq camera--update-frame-timer
-  (run-with-idle-timer (+ (time-to-seconds (current-idle-time))
-  (/ (float camera-framerate)))
-   nil #'camera--update-frame
-   (current-buffer)
+  (run-with-idle-timer
+   (+ (time-to-seconds (or (current-idle-time) 0))
+  (/ (float camera-framerate)))
+   nil #'camera--update-frame
+   (current-buffer)
 
 (defun camera--pre-command ()
   "Cancel timer to update frame shown on buffer."



[nongnu] elpa/camera updated (99ced5db8d -> b8aa62a8cb)

2023-08-27 Thread ELPA Syncer
elpasync pushed a change to branch elpa/camera.

  from  99ced5db8d Bump version to 0.2
   new  65dcda9d3f Fix 'camera--update-frame'
   new  63c41548d7 Rewrite ffmpeg part to fix flickering
   new  b8aa62a8cb Bump version to 0.3


Summary of changes:
 camera.el | 103 +-
 1 file changed, 75 insertions(+), 28 deletions(-)



[nongnu] elpa/camera 63c41548d7 2/3: Rewrite ffmpeg part to fix flickering

2023-08-27 Thread ELPA Syncer
branch: elpa/camera
commit 63c41548d77f271b14b8333e4f91cfdf786f1ce8
Author: Akib Azmain Turja 
Commit: Akib Azmain Turja 

Rewrite ffmpeg part to fix flickering
---
 camera.el | 89 +++
 1 file changed, 67 insertions(+), 22 deletions(-)

diff --git a/camera.el b/camera.el
index 7330a8c33e..d5a20ffe50 100644
--- a/camera.el
+++ b/camera.el
@@ -158,32 +158,77 @@ Don't do anything if current buffer is not BUFFER."
 (display-buffer (current-buffer))
 (camera--update-frame (current-buffer
 
+(defvar camera--ffmpeg-process nil
+  "The ffmpeg process.")
+
+(defvar camera--ffmpeg-image-file nil
+  "The image file where the frames are being saved.")
+
+(defvar camera--ffmpeg-frame-size nil
+  "Size of frames being captured by the current ffmpeg process.")
+
+(defun camera--ffmpeg-cleanup ()
+  "Cleanup before killing buffer."
+  (when camera--ffmpeg-process
+(when (process-live-p camera--ffmpeg-process)
+  (kill-process camera--ffmpeg-process)
+  (while (process-live-p camera--ffmpeg-process)
+(sit-for 0.05)))
+(when (process-buffer camera--ffmpeg-process)
+  (kill-buffer (process-buffer camera--ffmpeg-process
+  (when (and camera--ffmpeg-image-file
+ (file-exists-p camera--ffmpeg-image-file))
+(delete-file camera--ffmpeg-image-file)))
+
 (defun camera-capture-frame-ffmpeg (size)
   "Capture a frame from the camera with `ffmpeg'.
 
 Return an image of the frame.  Try to make the size of the frame SIZE."
-  (let ((temp-file (make-temp-file "emacs-camera-ffmpeg-" nil ".jpeg")))
-(unwind-protect
-;; TODO: Refractor.
-(with-temp-buffer
-
-  ;; `ffmpeg' complains when file exists.
-  (when (file-exists-p temp-file)
-(delete-file temp-file))
-  (let ((process (start-file-process
-  "camera-ffmpeg" (current-buffer)
-  "ffmpeg" "-f" "video4linux2" "-s"
-  (format "%ix%i" (car size) (cdr size))
-  "-i" camera-ffmpeg-video-device "-frames" "1"
-  temp-file)))
-(while (process-live-p process)
-  (sleep-for 0.05)))
-  (erase-buffer)
-  (set-buffer-multibyte nil)
-  (insert-file-contents-literally temp-file)
-  (create-image (buffer-string) 'jpeg t))
-  (when (file-exists-p temp-file)
-(delete-file temp-file)
+  (when (and camera--ffmpeg-process
+ (not (process-live-p camera--ffmpeg-process)))
+(message "ffmpeg process exited with status %i, retrying..."
+ (process-exit-status camera--ffmpeg-process)))
+  (unless (and (equal camera--ffmpeg-frame-size size)
+   camera--ffmpeg-image-file
+   camera--ffmpeg-process
+   (process-live-p camera--ffmpeg-process))
+(when camera--ffmpeg-process
+  (when (process-live-p camera--ffmpeg-process)
+(kill-process camera--ffmpeg-process)
+(while (process-live-p camera--ffmpeg-process)
+  (sit-for 0.05)))
+  (when (process-buffer camera--ffmpeg-process)
+(kill-buffer (process-buffer camera--ffmpeg-process
+(when (and camera--ffmpeg-image-file
+   (file-exists-p camera--ffmpeg-image-file))
+  (delete-file camera--ffmpeg-image-file))
+(setq-local camera--ffmpeg-image-file
+(make-temp-file "emacs-camera-ffmpeg-" nil ".jpeg"))
+(when (and camera--ffmpeg-image-file
+   (file-exists-p camera--ffmpeg-image-file))
+  (delete-file camera--ffmpeg-image-file))
+(setq-local camera--ffmpeg-frame-size size)
+(setq-local camera--ffmpeg-process
+(start-file-process
+ "camera-ffmpeg"
+ (generate-new-buffer " *camera-ffmpeg*" t)
+ "ffmpeg" "-f" "video4linux2" "-s"
+ (format "%ix%i" (car camera--ffmpeg-frame-size)
+ (cdr camera--ffmpeg-frame-size))
+ "-i" camera-ffmpeg-video-device
+ "-fpsmax" (number-to-string camera-framerate)
+ "-update" "true" camera--ffmpeg-image-file))
+(while (and (process-live-p camera--ffmpeg-process)
+(not (file-exists-p camera--ffmpeg-image-file)))
+  (sleep-for 0.05))
+(add-hook 'kill-buffer-hook #'camera--ffmpeg-cleanup nil t))
+  (when (file-exists-p camera--ffmpeg-image-file)
+(let ((img-file camera--ffmpeg-image-file))
+  (with-temp-buffer
+(erase-buffer)
+(set-buffer-multibyte nil)
+(insert-file-contents-literally img-file)
+(create-image (buffer-string) 'jpeg t)
 
 (provide 'camera)
 ;;; camera.el ends here



[nongnu] elpa/camera b8aa62a8cb 3/3: Bump version to 0.3

2023-08-27 Thread ELPA Syncer
branch: elpa/camera
commit b8aa62a8cb20006fe8545f88327cf15a1e9c03d7
Author: Akib Azmain Turja 
Commit: Akib Azmain Turja 

Bump version to 0.3
---
 camera.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/camera.el b/camera.el
index d5a20ffe50..39ccc66f2a 100644
--- a/camera.el
+++ b/camera.el
@@ -4,7 +4,7 @@
 
 ;; Author: Akib Azmain Turja 
 ;; Created: 2022-07-16
-;; Version: 0.2
+;; Version: 0.3
 ;; Package-Requires: ((emacs "25.1"))
 ;; Keywords: comm
 ;; Homepage: https://codeberg.org/akib/emacs-camera



[nongnu] elpa/evil a09fdca0b3 3/4: Reselect minibuffer when quitting command-line win

2023-08-27 Thread ELPA Syncer
branch: elpa/evil
commit a09fdca0b35ef4289cf55d7b0ffadf4cf3a5c9fc
Author: Axel Forsman 
Commit: Axel Forsman 

Reselect minibuffer when quitting command-line win

Pressing C-f while editing an Ex command to open the command-line
window and later quitting that window used to not reselect the Ex
command line, but instead just continue the recursive edit in some
previous window. This was specially confusing before commit
02004bce6884619e687654d333b75c90f8fc27d0, as the evil-ex-abort hack
did not trigger, leaving you in a bad state with
evil-ex-current-buffer set to t.

This commit fixes that by setting the delete-window window parameter
on the command-line window to a function that switches back to the
minibuffer after deleting the window, which closes #1379.

This commit also replaces the split-window call with a display-buffer
invocation, to always spawn the window at the bottom of the frame, but
also allow the user to override this behavior.
---
 evil-command-window.el | 210 +
 evil-tests.el  |  74 -
 evil-vars.el   |  10 +--
 3 files changed, 124 insertions(+), 170 deletions(-)

diff --git a/evil-command-window.el b/evil-command-window.el
index c364e41868..dd148822db 100644
--- a/evil-command-window.el
+++ b/evil-command-window.el
@@ -1,4 +1,4 @@
-;;; evil-command-window.el --- Evil command line window implementation -*- 
lexical-binding: t -*-
+;;; evil-command-window.el --- Evil command-line window  -*- lexical-binding: 
t -*-
 ;; Author: Emanuel Evans 
 ;; Maintainer: Vegard Øye 
 
@@ -26,162 +26,170 @@
 
 ;;; Commentary:
 
-;; This provides an implementation of the vim command line window for
-;; editing and repeating past ex commands and searches.
+;; This provides an implementation of the Vim command-line window for
+;; editing and repeating past Ex commands and searches.
 
 ;;; Code:
 
 (require 'evil-vars)
 (require 'evil-common)
-(require 'evil-search)
 (require 'evil-ex)
+(require 'evil-search)
 
 (defvar evil-search-module)
 
 (defvar evil-command-window-current-buffer nil
-  "The buffer from which the command line window was called.")
+  "The buffer from which the command-line window was called.")
+
+(defvar evil-command-window-execute-fn nil
+  "The command to execute when exiting the command-line window.")
+
+(defvar evil--command-window-prompt nil
+  "The key for the command that opened the command-line window (:, /, or ?).")
 
 (define-derived-mode evil-command-window-mode fundamental-mode "Evil-cmd"
-  "Major mode for the Evil command line window."
-  (auto-fill-mode 0)
-  (add-hook 'after-change-functions #'evil-command-window-draw-prefix nil t))
-
-(defun evil-command-window (history cmd-key execute-fn)
-  "Open a command line window for HISTORY with CMD-KEY and EXECUTE-FN.
-HISTORY should be a list of commands.  CMD-KEY should be the string of
-the key whose history is being shown (one of \":\", \"/\" or \"?\").
-EXECUTE-FN should be a function of one argument to execute on the
-result that the user selects."
-  (when (eq major-mode 'evil-command-window-mode)
-(user-error "Cannot recursively open command line window"))
-  (dolist (win (window-list))
-(when (equal (buffer-name (window-buffer win)) "*Command Line*")
-  (kill-buffer (window-buffer win))
-  (delete-window win)))
-  (split-window nil
-(unless (zerop evil-command-window-height)
-  evil-command-window-height)
-'above)
-  (setq evil-command-window-current-buffer (current-buffer))
-  (ignore-errors (kill-buffer "*Command Line*"))
-  (switch-to-buffer "*Command Line*")
-  (setq-local evil-command-window-execute-fn execute-fn)
-  (setq-local evil-command-window-cmd-key cmd-key)
-  (evil-command-window-mode)
-  (evil-command-window-insert-commands history))
+  "Major mode for the Evil command-line window."
+  (add-hook 'after-change-functions #'evil--command-window-draw-prefix nil t)
+  (auto-fill-mode 0))
+
+(defun evil-command-window (history prompt execute-fn)
+  "Open a command-line window for HISTORY with PROMPT and EXECUTE-FN.
+HISTORY should be a list of commands.  PROMPT should be the
+command-line prompt (one of \":\", \"/\" or \"?\").  EXECUTE-FN should
+be a unary function to execute on the result that the user selects."
+  (when (derived-mode-p 'evil-command-window-mode)
+(user-error "Command-line window is already open"))
+  (let ((previous-buffer (current-buffer))
+(buffer (get-buffer-create "*Command Line*")))
+(with-current-buffer buffer
+  (erase-buffer)
+  (evil-command-window-mode)
+  (setq-local evil-command-window-current-buffer previous-buffer)
+  (setq-local evil-command-window-execute-fn execute-fn)
+  (setq-local evil--command-window-prompt prompt)
+  (evil--command-window-insert-commands history))
+
+(let* ((action
+`((display-buffer-reuse-wi

[nongnu] elpa/evil updated (a667d8857f -> 657af37c55)

2023-08-27 Thread ELPA Syncer
elpasync pushed a change to branch elpa/evil.

  from  a667d8857f Fix Vim URL in docs (#1825)
   new  2d8918e827 Do not silence unused evil-define-command argument
   new  a8663a22b6 Add evil-command-line-map
   new  a09fdca0b3 Reselect minibuffer when quitting command-line win
   new  657af37c55 Support command-line window for any minibuffer arg


Summary of changes:
 evil-command-window.el | 228 +
 evil-commands.el   |  78 -
 evil-common.el |   1 -
 evil-ex.el |   7 +-
 evil-integration.el|  10 +--
 evil-macros.el |  27 +++---
 evil-maps.el   |  75 +++-
 evil-tests.el  |  78 -
 evil-types.el  |   2 +-
 evil-vars.el   |  93 ++--
 10 files changed, 271 insertions(+), 328 deletions(-)



[nongnu] elpa/evil a8663a22b6 2/4: Add evil-command-line-map

2023-08-27 Thread ELPA Syncer
branch: elpa/evil
commit a8663a22b6f65513d9f1f610ed19941b14161490
Author: Axel Forsman 
Commit: Axel Forsman 

Add evil-command-line-map

There was a lot of duplication between evil-ex-completion-map and
evil-ex-search-keymap, which meant that any rebinds had to be done
twice. This commit fixes that by introducing evil-command-line-map as
a common ancestor of the two keymaps.

Also renames evil-ex-map to evil-ex-shortcut-map to avoid confusion,
as its purpose is more niche than evil-ex-completion-map which
functions the same as any other keymap passed to read-from-minibuffer.
---
 evil-ex.el   |  7 +++--
 evil-maps.el | 72 +++-
 evil-vars.el | 83 
 3 files changed, 79 insertions(+), 83 deletions(-)

diff --git a/evil-ex.el b/evil-ex.el
index f91c1a1447..246aa0d760 100644
--- a/evil-ex.el
+++ b/evil-ex.el
@@ -32,7 +32,7 @@
 ;; `evil-ex-define-cmd', which creates a binding from a string
 ;; to an interactive function.  It is also possible to define key
 ;; sequences which execute a command immediately when entered:
-;; such shortcuts go in `evil-ex-map'.
+;; such shortcuts go in `evil-ex-shortcut-map'.
 
 ;; To provide buffer and filename completion, as well as interactive
 ;; feedback, Ex defines the concept of an argument handler, specified
@@ -415,8 +415,7 @@ actions during Ex state."
 (defun evil-ex-teardown ()
   "Deinitialize Ex minibuffer.
 Clean up everything set up by `evil-ex-setup'."
-  (let ((runner (evil-ex-argument-handler-runner
- evil--ex-argument-handler)))
+  (let ((runner (evil-ex-argument-handler-runner evil--ex-argument-handler)))
 (when runner (funcall runner 'stop
 (put 'evil-ex-teardown 'permanent-local-hook t)
 
@@ -431,7 +430,7 @@ hook. If BEG is non-nil (which is the case when called from
 `after-change-functions'), then an error description is shown
 in case of incomplete or unknown commands."
   (when (and beg (eq this-command #'self-insert-command))
-(let ((cmd (lookup-key evil-ex-map (minibuffer-contents-no-properties
+(let ((cmd (lookup-key evil-ex-shortcut-map 
(minibuffer-contents-no-properties
   (when (commandp cmd)
 (setq evil--ex-expression `(call-interactively #',cmd))
 (exit-minibuffer
diff --git a/evil-maps.el b/evil-maps.el
index fbf5af1695..b24cee615a 100644
--- a/evil-maps.el
+++ b/evil-maps.el
@@ -591,51 +591,43 @@ included in `evil-insert-state-bindings' by default."
   (evil-ex-define-cmd "tabn[ext]" 'tab-bar-switch-to-next-tab)
   (evil-ex-define-cmd "tabp[revious]" 'tab-bar-switch-to-prev-tab))
 
+;; Command-line editing
+(define-key evil-command-line-map "\d" #'evil-ex-delete-backward-char)
+(define-key evil-command-line-map "\t" #'completion-at-point)
+(define-key evil-command-line-map [tab] #'completion-at-point)
+(define-key evil-command-line-map "\C-a" #'completion-at-point)
+(define-key evil-command-line-map "\C-b" #'move-beginning-of-line)
+(define-key evil-command-line-map "\C-c" #'abort-recursive-edit)
+(define-key evil-command-line-map "\C-d" #'completion-at-point)
+(define-key evil-command-line-map "\C-g" #'abort-minibuffers)
+(define-key evil-command-line-map "\C-k" 'evil-insert-digraph)
+(define-key evil-command-line-map "\C-l" #'completion-at-point)
+(define-key evil-command-line-map "\C-n" #'next-history-element)
+(define-key evil-command-line-map "\C-p" #'previous-history-element)
+(define-key evil-command-line-map "\C-r" 'evil-paste-from-register)
+(define-key evil-command-line-map "\C-u" 'evil-delete-whole-line)
+(define-key evil-command-line-map "\C-v" #'quoted-insert)
+(when evil-want-C-w-delete
+  (define-key evil-command-line-map "\C-w" #'backward-kill-word))
+(define-key evil-command-line-map [escape] #'abort-recursive-edit)
+(define-key evil-command-line-map [S-left] #'backward-word)
+(define-key evil-command-line-map [S-right] #'forward-word)
+(define-key evil-command-line-map [up] #'previous-complete-history-element)
+(define-key evil-command-line-map [down] #'next-complete-history-element)
+(define-key evil-command-line-map [prior] #'previous-history-element)
+(define-key evil-command-line-map [next] #'next-history-element)
+(define-key evil-command-line-map [return] #'exit-minibuffer)
+(define-key evil-command-line-map (kbd "RET") #'exit-minibuffer)
+
 ;; search command line
-(define-key evil-ex-search-keymap "\d" #'evil-ex-delete-backward-char)
-(define-key evil-ex-search-keymap "\C-b" 'move-beginning-of-line)
-(define-key evil-ex-search-keymap "\C-c" 'abort-recursive-edit)
-(define-key evil-ex-search-keymap "\C-g" 'abort-recursive-edit)
-(define-key evil-ex-search-keymap "\C-k" 'evil-insert-digraph)
+(set-keymap-parent evil-ex-search-keymap evil-command-line-map)
 (define-key evil-ex-search-keymap "\C-f" 'evil-ex-search-command-window)
-(define-key evil-ex-search-keymap "\C-r" 'evil-paste-from-register)
-(define-key evil-e

[nongnu] elpa/evil 657af37c55 4/4: Support command-line window for any minibuffer arg

2023-08-27 Thread ELPA Syncer
branch: elpa/evil
commit 657af37c5570caab487e9e73d7b95696437e664d
Author: Axel Forsman 
Commit: Axel Forsman 

Support command-line window for any minibuffer arg

Introspection of the current minibuffer argument history and prompt is
possible, hence there is no need for the specialized
evil-ex-command-window and evil-ex-search-command-window functions.
---
 evil-command-window.el | 50 +++---
 evil-maps.el   |  3 +--
 2 files changed, 24 insertions(+), 29 deletions(-)

diff --git a/evil-command-window.el b/evil-command-window.el
index dd148822db..ef22be0235 100644
--- a/evil-command-window.el
+++ b/evil-command-window.el
@@ -56,9 +56,16 @@
   "Open a command-line window for HISTORY with PROMPT and EXECUTE-FN.
 HISTORY should be a list of commands.  PROMPT should be the
 command-line prompt (one of \":\", \"/\" or \"?\").  EXECUTE-FN should
-be a unary function to execute on the result that the user selects."
+be a unary function to execute on the result that the user selects.
+
+If called interactively, edit this minibuffer argument."
+  (interactive
+   (list (cons (minibuffer-contents) (minibuffer-history-value))
+ (or (minibuffer-prompt) (user-error "Minibuffer is inactive"))
+ #'evil--command-window-minibuffer-execute))
   (when (derived-mode-p 'evil-command-window-mode)
 (user-error "Command-line window is already open"))
+  (when (evil-ex-p) (evil-ex-teardown))
   (let ((previous-buffer (current-buffer))
 (buffer (get-buffer-create "*Command Line*")))
 (with-current-buffer buffer
@@ -116,33 +123,28 @@ function to execute."
   (when window (select-window window)))
 (with-current-buffer original-buffer (funcall execute-fn result
 
-(defun evil-command-window-ex (&optional current-command execute-fn)
+(defun evil--command-window-minibuffer-execute (result)
+  "Terminate this minibuffer argument with RESULT."
+  (delete-minibuffer-contents)
+  (insert result)
+  (exit-minibuffer))
+
+(defun evil-command-window-ex (&optional current-command)
   "Open a command-line window for editing and executing Ex commands.
 If CURRENT-COMMAND is present, it will be inserted under the cursor as
-the current command to be edited.  If EXECUTE-FN is given, it will be
-used as the function to execute instead of
-`evil-command-window-ex-execute', the default."
+the current command to be edited."
   (interactive)
   (evil-command-window (cons (or current-command "") evil-ex-history)
":"
-   (or execute-fn #'evil-command-window-ex-execute)))
+   #'evil-command-window-ex-execute))
 
-(defun evil-ex-command-window ()
-  "Start command window with Ex history and current minibuffer content."
-  (interactive)
-  (evil-ex-teardown)
-  (let ((execute-fn (apply-partially #'evil-ex-command-window-execute
- (current-window-configuration
-(evil-command-window-ex (minibuffer-contents) execute-fn)))
+(define-obsolete-function-alias
+  'evil-ex-command-window #'evil-command-window "1.15.0"
+  "Start command window with Ex history and current minibuffer content.")
 
-(defun evil-ex-search-command-window ()
-  "Start command window with search history and current minibuffer content."
-  (interactive)
-  (let ((execute-fn (apply-partially #'evil-ex-command-window-execute
- (current-window-configuration
-(evil-command-window (cons (minibuffer-contents) evil-ex-search-history)
- (evil-search-prompt (eq evil-ex-search-direction 
'forward))
- execute-fn)))
+(define-obsolete-function-alias
+  'evil-ex-search-command-window #'evil-command-window "1.15.0"
+  "Start command window with search history and current minibuffer content.")
 
 (defun evil-command-window-ex-execute (result)
   "Execute RESULT as an Ex command."
@@ -151,12 +153,6 @@ used as the function to execute instead of
   (push result evil-ex-history))
 (evil-ex-execute result)))
 
-(defun evil-ex-command-window-execute (config result)
-  (set-window-configuration config)
-  (delete-minibuffer-contents)
-  (insert result)
-  (exit-minibuffer))
-
 (defun evil--command-window-search (forward)
   "Open a command-line window for searches."
   (evil-command-window
diff --git a/evil-maps.el b/evil-maps.el
index b24cee615a..f263a63ee4 100644
--- a/evil-maps.el
+++ b/evil-maps.el
@@ -599,6 +599,7 @@ included in `evil-insert-state-bindings' by default."
 (define-key evil-command-line-map "\C-b" #'move-beginning-of-line)
 (define-key evil-command-line-map "\C-c" #'abort-recursive-edit)
 (define-key evil-command-line-map "\C-d" #'completion-at-point)
+(define-key evil-command-line-map "\C-f" 'evil-command-window)
 (define-key evil-command-line-map "\C-g" #'abort-minibuffers)
 (define-key evil-command-line-map "\C-k" 'evil-insert-digraph)
 (define-key evil-command-line-map "\C-l" #

[nongnu] elpa/git-commit updated (cb41d8a4bb -> 7d4092f00b)

2023-08-27 Thread ELPA Syncer
elpasync pushed a change to branch elpa/git-commit.

  from  cb41d8a4bb Revert "magit-stash-{apply,pop}: Fix case when there are 
staged changes"
   new  02144f9bc2 magit-confirm: Add prompt-suffix argument
   new  9699c70e1e magit-confirm-files: Add prompt-suffix and noabort 
arguments
   new  37a3e5b390 magit-confirm-files: Quote file name
   new  7d4092f00b Apply stash even if "git stash apply" cannot do it


Summary of changes:
 docs/magit.org  | 56 +++--
 docs/magit.texi | 57 --
 lisp/magit-base.el  | 18 +++---
 lisp/magit-stash.el | 72 -
 4 files changed, 173 insertions(+), 30 deletions(-)



[nongnu] elpa/git-commit 02144f9bc2 1/4: magit-confirm: Add prompt-suffix argument

2023-08-27 Thread ELPA Syncer
branch: elpa/git-commit
commit 02144f9bc2a484bccb4a89953a0f4264fe2d3ae4
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

magit-confirm: Add prompt-suffix argument
---
 lisp/magit-base.el | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/lisp/magit-base.el b/lisp/magit-base.el
index 32a3cf4f33..c039c36177 100644
--- a/lisp/magit-base.el
+++ b/lisp/magit-base.el
@@ -777,12 +777,14 @@ ACTION is a member of option `magit-slow-confirm'."
discard reverse stage-all-changes unstage-all-changes)))
 
 (cl-defun magit-confirm ( action &optional prompt prompt-n noabort
-  (items nil sitems))
+  (items nil sitems) prompt-suffix)
   (declare (indent defun))
   (setq prompt-n (format (concat (or prompt-n prompt) "? ") (length items)))
   (setq prompt   (format (concat (or prompt (magit-confirm-make-prompt action))
  "? ")
  (car items)))
+  (when prompt-suffix
+(setq prompt (concat prompt prompt-suffix)))
   (or (cond ((and (not (eq action t))
   (or (eq magit-no-confirm t)
   (memq action magit-no-confirm)



[nongnu] elpa/evil 2d8918e827 1/4: Do not silence unused evil-define-command argument

2023-08-27 Thread ELPA Syncer
branch: elpa/evil
commit 2d8918e827b970623cf1ab5ef073412c33196d04
Author: Axel Forsman 
Commit: Axel Forsman 

Do not silence unused evil-define-command argument
---
 evil-commands.el| 78 ++---
 evil-common.el  |  1 -
 evil-integration.el | 10 +++
 evil-macros.el  | 27 +--
 evil-tests.el   |  4 +--
 evil-types.el   |  2 +-
 6 files changed, 60 insertions(+), 62 deletions(-)

diff --git a/evil-commands.el b/evil-commands.el
index 7dfc1e0ae8..3d625a791e 100644
--- a/evil-commands.el
+++ b/evil-commands.el
@@ -654,7 +654,7 @@ to the beginning of buffer if the end is reached."
 (evil--next-mark nil))
   (evil-first-non-blank))
 
-(evil-define-command evil-set-col-0-mark (beg end mark)
+(evil-define-command evil-set-col-0-mark (_beg end mark)
   "Set MARK at column 0 of line of END.
 Default is cursor line."
   (interactive "")
@@ -813,7 +813,7 @@ To go the other way, press \
 [evil-jump-backward]."
   (evil--jump-forward count))
 
-(evil-define-motion evil-jump-backward-swap (count)
+(evil-define-motion evil-jump-backward-swap (_count)
   "Go to the previous position in jump list.
 The current position is placed in the jump list."
   (let ((pnt (point)))
@@ -1236,124 +1236,124 @@ the left edge."
 ;; in the buffer, and thus exact movement to object boundaries is
 ;; required.)
 
-(evil-define-text-object evil-a-word (count &optional beg end type)
+(evil-define-text-object evil-a-word (count &optional beg end _type)
   "Select a word."
   (evil-select-a-restricted-object 'evil-word beg end type count))
 
-(evil-define-text-object evil-inner-word (count &optional beg end type)
+(evil-define-text-object evil-inner-word (count &optional beg end _type)
   "Select inner word."
   (evil-select-inner-restricted-object 'evil-word beg end type count))
 
-(evil-define-text-object evil-a-WORD (count &optional beg end type)
+(evil-define-text-object evil-a-WORD (count &optional beg end _type)
   "Select a WORD."
   (evil-select-a-restricted-object 'evil-WORD beg end type count))
 
-(evil-define-text-object evil-inner-WORD (count &optional beg end type)
+(evil-define-text-object evil-inner-WORD (count &optional beg end _type)
   "Select inner WORD."
   (evil-select-inner-restricted-object 'evil-WORD beg end type count))
 
-(evil-define-text-object evil-a-symbol (count &optional beg end type)
+(evil-define-text-object evil-a-symbol (count &optional beg end _type)
   "Select a symbol."
   (evil-select-an-object 'evil-symbol beg end type count))
 
-(evil-define-text-object evil-inner-symbol (count &optional beg end type)
+(evil-define-text-object evil-inner-symbol (count &optional beg end _type)
   "Select inner symbol."
   (evil-select-inner-object 'evil-symbol beg end type count))
 
-(evil-define-text-object evil-a-sentence (count &optional beg end type)
+(evil-define-text-object evil-a-sentence (count &optional beg end _type)
   "Select a sentence."
   (evil-select-an-object 'evil-sentence beg end type count))
 
-(evil-define-text-object evil-inner-sentence (count &optional beg end type)
+(evil-define-text-object evil-inner-sentence (count &optional beg end _type)
   "Select inner sentence."
   (evil-select-inner-object 'evil-sentence beg end type count))
 
-(evil-define-text-object evil-a-paragraph (count &optional beg end type)
+(evil-define-text-object evil-a-paragraph (count &optional beg end _type)
   "Select a paragraph."
   :type line
   (evil-select-an-object 'evil-paragraph beg end type count t))
 
-(evil-define-text-object evil-inner-paragraph (count &optional beg end type)
+(evil-define-text-object evil-inner-paragraph (count &optional beg end _type)
   "Select inner paragraph."
   :type line
   (evil-select-inner-object 'evil-paragraph beg end type count t))
 
-(evil-define-text-object evil-a-paren (count &optional beg end type)
+(evil-define-text-object evil-a-paren (count &optional beg end _type)
   "Select a parenthesis."
   :extend-selection nil
   (evil-select-paren ?\( ?\) beg end type count t))
 
-(evil-define-text-object evil-inner-paren (count &optional beg end type)
+(evil-define-text-object evil-inner-paren (count &optional beg end _type)
   "Select inner parenthesis."
   :extend-selection nil
   (evil-select-paren ?\( ?\) beg end type count))
 
-(evil-define-text-object evil-a-bracket (count &optional beg end type)
+(evil-define-text-object evil-a-bracket (count &optional beg end _type)
   "Select a square bracket."
   :extend-selection nil
   (evil-select-paren ?\[ ?\] beg end type count t))
 
-(evil-define-text-object evil-inner-bracket (count &optional beg end type)
+(evil-define-text-object evil-inner-bracket (count &optional beg end _type)
   "Select inner square bracket."
   :extend-selection nil
   (evil-select-paren ?\[ ?\] beg end type count))
 
-(evil-define-text-object evil-a-curly (count &optional beg end type)
+(evil-define-text-object evil-a-curly (count &optional beg end _type)
   "Select

[nongnu] elpa/git-commit 37a3e5b390 3/4: magit-confirm-files: Quote file name

2023-08-27 Thread ELPA Syncer
branch: elpa/git-commit
commit 37a3e5b3906645689609ac888b1f3ba5c0811d8b
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

magit-confirm-files: Quote file name
---
 lisp/magit-base.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lisp/magit-base.el b/lisp/magit-base.el
index 546bd4ef63..8aad2fb3af 100644
--- a/lisp/magit-base.el
+++ b/lisp/magit-base.el
@@ -812,7 +812,7 @@ ACTION is a member of option `magit-slow-confirm'."
 (unless prompt
   (setq prompt (magit-confirm-make-prompt action)))
 (magit-confirm action
-  (concat prompt " %s")
+  (concat prompt " %S")
   (concat prompt " %d files")
   noabort files prompt-suffix)))
 



[nongnu] elpa/git-commit 9699c70e1e 2/4: magit-confirm-files: Add prompt-suffix and noabort arguments

2023-08-27 Thread ELPA Syncer
branch: elpa/git-commit
commit 9699c70e1e40d042391cf9ef93ca405ad6929228
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

magit-confirm-files: Add prompt-suffix and noabort arguments
---
 lisp/magit-base.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lisp/magit-base.el b/lisp/magit-base.el
index c039c36177..546bd4ef63 100644
--- a/lisp/magit-base.el
+++ b/lisp/magit-base.el
@@ -807,14 +807,14 @@ ACTION is a member of option `magit-slow-confirm'."
   items)))
   (if noabort nil (user-error "Abort"
 
-(defun magit-confirm-files (action files &optional prompt)
+(defun magit-confirm-files (action files &optional prompt prompt-suffix 
noabort)
   (when files
 (unless prompt
   (setq prompt (magit-confirm-make-prompt action)))
 (magit-confirm action
   (concat prompt " %s")
   (concat prompt " %d files")
-  nil files)))
+  noabort files prompt-suffix)))
 
 (defun magit-confirm-make-prompt (action)
   (let ((prompt (symbol-name action)))



[nongnu] elpa/git-commit 7d4092f00b 4/4: Apply stash even if "git stash apply" cannot do it

2023-08-27 Thread ELPA Syncer
branch: elpa/git-commit
commit 7d4092f00bab34d46c4e07d6d6c55658e413b3b6
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Apply stash even if "git stash apply" cannot do it
---
 docs/magit.org  | 56 +++--
 docs/magit.texi | 57 --
 lisp/magit-base.el  |  8 ++
 lisp/magit-stash.el | 72 -
 4 files changed, 167 insertions(+), 26 deletions(-)

diff --git a/docs/magit.org b/docs/magit.org
index c2aa7328cc..e16223ca2f 100644
--- a/docs/magit.org
+++ b/docs/magit.org
@@ -1525,6 +1525,13 @@ telling Magit to ask fewer questions.
 
   - Various:
 
+- ~stash-apply-3way~  When a stash cannot be applied using
+  ~git stash apply~, then Magit uses ~git apply~ instead.
+  If doing so is safe, then it uses ~--3way~, when it is not
+  because doing so requires that some files are first staged,
+  then by default it prompts the user whether to use ~--3way~
+  or ~--reject~.  Add this symbol to always use ~--3way~.
+
 - ~kill-process~ There seldom is a reason to kill a process.
 
   - Global settings:
@@ -6396,16 +6403,51 @@ Also see [[man:git-stash]]
 
 - Key: z a (magit-stash-apply) ::
 
-  Apply a stash to the working tree.  Try to preserve the stash index.
-  If that fails because there are staged changes, apply without
-  preserving the stash index.
+  Apply a stash to the working tree.
+
+  First try ~git stash apply --index~, which tries to preserve
+  the index stored in the stash, if any.  This may fail because
+  applying the stash could result in conflicts and those have to
+  be stored in the index, making it impossible to also store the
+  stash's index there as well.
+
+  If the above failed, then try ~git stash apply~.  This fails
+  (with or without ~--index~) if there are any uncommitted
+  changes to files that are also modified in the stash.
+
+  If both of the above failed, then apply using ~git apply~.
+  If there are no conflicting files, use ~--3way~.  If there are
+  conflicting files, then using ~--3way~ requires that those
+  files are staged first, which may be undesirable, so prompt
+  the user whether to use ~--3way~ or ~--reject~.
+
+  Customize ~magit-no-confirm~ if you want to always use ~--3way~,
+  without being prompted.
 
 - Key: z p (magit-stash-pop) ::
 
-  Apply a stash to the working tree and remove it from stash list.
-  Try to preserve the stash index.  If that fails because there are
-  staged changes, apply without preserving the stash index and forgo
-  removing the stash.
+  Apply a stash to the working tree.  On complete success (if the
+  stash can be applied without any conflicts, and while preserving
+  the stash's index) then remove the stash from stash list.
+
+  First try ~git stash pop --index~, which tries to preserve
+  the index stored in the stash, if any.  This may fail because
+  applying the stash could result in conflicts and those have to
+  be stored in the index, making it impossible to also store the
+  stash's index there as well.
+
+  If the above failed, then try ~git stash apply~.  This fails
+  (with or without ~--index~) if there are any uncommitted
+  changes to files that are also modified in the stash.
+
+  If both of the above failed, then apply using ~git apply~.
+  If there are no conflicting files, use ~--3way~.  If there are
+  conflicting files, then using ~--3way~ requires that those
+  files are staged first, which may be undesirable, so prompt
+  the user whether to use ~--3way~ or ~--reject~.
+
+  Customize ~magit-no-confirm~ if you want to always use ~--3way~,
+  without being prompted.
 
 - Key: z k (magit-stash-drop) ::
 
diff --git a/docs/magit.texi b/docs/magit.texi
index 543e615f9a..4fcf527fc5 100644
--- a/docs/magit.texi
+++ b/docs/magit.texi
@@ -2021,6 +2021,14 @@ set @code{magit-published-branches} to @code{nil}.
 Various:
 
 @itemize
+@item
+@code{stash-apply-3way}  When a stash cannot be applied using
+@code{git stash apply}, then Magit uses @code{git apply} instead.
+If doing so is safe, then it uses @code{--3way}, when it is not
+because doing so requires that some files are first staged,
+then by default it prompts the user whether to use @code{--3way}
+or @code{--reject}.  Add this symbol to always use @code{--3way}.
+
 @item
 @code{kill-process} There seldom is a reason to kill a process.
 @end itemize
@@ -7889,17 +7897,52 @@ prefix arguments are equivalent to @code{--all}-.
 @item @kbd{z a} (@code{magit-stash-apply})
 @kindex z a
 @findex magit-stash-apply
-Apply a stash to the working tree.  Try to preserve the stash index.
-If that fails because there are staged changes, apply without
-preserving the stash index.
+Apply a stash to the working tree.
+
+First try @code{git stash apply --index}, which tries to preserve
+the index stored in the stash, if any.  This may fail because
+applying the stash could result in conflicts and those have to
+be stored in

[nongnu] elpa/magit updated (cb41d8a4bb -> 7d4092f00b)

2023-08-27 Thread ELPA Syncer
elpasync pushed a change to branch elpa/magit.

  from  cb41d8a4bb Revert "magit-stash-{apply,pop}: Fix case when there are 
staged changes"
  adds  02144f9bc2 magit-confirm: Add prompt-suffix argument
  adds  9699c70e1e magit-confirm-files: Add prompt-suffix and noabort 
arguments
  adds  37a3e5b390 magit-confirm-files: Quote file name
  adds  7d4092f00b Apply stash even if "git stash apply" cannot do it

No new revisions were added by this update.

Summary of changes:
 docs/magit.org  | 56 +++--
 docs/magit.texi | 57 --
 lisp/magit-base.el  | 18 +++---
 lisp/magit-stash.el | 72 -
 4 files changed, 173 insertions(+), 30 deletions(-)



[nongnu] elpa/magit-section updated (cb41d8a4bb -> 7d4092f00b)

2023-08-27 Thread ELPA Syncer
elpasync pushed a change to branch elpa/magit-section.

  from  cb41d8a4bb Revert "magit-stash-{apply,pop}: Fix case when there are 
staged changes"
  adds  02144f9bc2 magit-confirm: Add prompt-suffix argument
  adds  9699c70e1e magit-confirm-files: Add prompt-suffix and noabort 
arguments
  adds  37a3e5b390 magit-confirm-files: Quote file name
  adds  7d4092f00b Apply stash even if "git stash apply" cannot do it

No new revisions were added by this update.

Summary of changes:
 docs/magit.org  | 56 +++--
 docs/magit.texi | 57 --
 lisp/magit-base.el  | 18 +++---
 lisp/magit-stash.el | 72 -
 4 files changed, 173 insertions(+), 30 deletions(-)



[nongnu] elpa/cider 09a426ac67: Don't pass a nil callback when calling `cider/get-state` (#3439)

2023-08-27 Thread ELPA Syncer
branch: elpa/cider
commit 09a426ac673fd53fd814d18b277e1c50984b2a7e
Author: vemv 
Commit: GitHub 

Don't pass a nil callback when calling `cider/get-state` (#3439)
---
 cider-repl.el   | 6 +-
 nrepl-client.el | 2 +-
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/cider-repl.el b/cider-repl.el
index 6728538645..bdbef1684d 100644
--- a/cider-repl.el
+++ b/cider-repl.el
@@ -990,7 +990,11 @@ nREPL ops, it may be convenient to prevent inserting a 
prompt.")
   "Invokes `cider/get-state' when it's possible to do so."
   (when-let ((conn (cider-current-repl 'cljs)))
 (when (nrepl-op-supported-p "cider/get-state" conn)
-  (nrepl-send-request '("op" "cider/get-state") nil conn
+  (nrepl-send-request '("op" "cider/get-state")
+  (lambda (_response)
+;; No action is necessary: this request results in 
`cider-repl--state-handler` being called.
+)
+  conn
 
 (defun cider--maybe-get-state-for-shadow-cljs (buffer &optional err)
   "Refresh the changed namespaces metadata given BUFFER and ERR (stderr 
string).
diff --git a/nrepl-client.el b/nrepl-client.el
index cd0f3ee373..1649da6f68 100644
--- a/nrepl-client.el
+++ b/nrepl-client.el
@@ -480,7 +480,7 @@ older requests with \"done\" status."
 (gethash id nrepl-completed-requests
   (if callback
   (funcall callback response)
-(error "[nREPL] No response handler with id %s found" id)
+(error "[nREPL] No response handler with id %s found for %s" id 
(buffer-name))
 
 (defun nrepl-client-sentinel (process message)
   "Handle sentinel events from PROCESS.



[nongnu] main 673ca5b983: * elpa-packages (spacemacs-theme): `spacemacs-common.el` was removed

2023-08-27 Thread Stefan Monnier via
branch: main
commit 673ca5b98342b36198e3b8e1c8e578411518f952
Author: Stefan Monnier 
Commit: Stefan Monnier 

* elpa-packages (spacemacs-theme): `spacemacs-common.el` was removed
---
 elpa-packages | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/elpa-packages b/elpa-packages
index 6ea205760d..550765b7a0 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -662,7 +662,7 @@
  "Cask" "Makefile"))
 
  (spacemacs-theme  :url "https://github.com/nashamri/spacemacs-theme.git";
-  :main-file "spacemacs-common.el"
+  ;; :main-file "spacemacs-common.el"
   :readme "README.md"
   :ignored-files ("LICENSE" "img"))
 



[elpa] externals/ement updated (2435d03c03 -> f2b5831c4c)

2023-08-27 Thread ELPA Syncer
elpasync pushed a change to branch externals/ement.

  from  2435d03c03 Fix: (ement-room--format-m.file) Don't assume size is 
present
   new  fbf40d66ed Add/Change: Use separate history lists for reading from 
minibuffer
   new  f2b5831c4c Add/Change: History lists for user IDs in ement-connect


Summary of changes:
 README.org|  1 +
 ement-room.el | 38 +-
 ement.el  |  9 ++---
 3 files changed, 32 insertions(+), 16 deletions(-)



[elpa] externals/ement fbf40d66ed 1/2: Add/Change: Use separate history lists for reading from minibuffer

2023-08-27 Thread ELPA Syncer
branch: externals/ement
commit fbf40d66edc2a8f09a2793d9cbc89cf07e792c86
Author: Adam Porter 
Commit: Adam Porter 

Add/Change: Use separate history lists for reading from minibuffer
---
 README.org|  1 +
 ement-room.el | 38 +-
 2 files changed, 26 insertions(+), 13 deletions(-)

diff --git a/README.org b/README.org
index 7aade4ed76..5e6a5f62b0 100644
--- a/README.org
+++ b/README.org
@@ -297,6 +297,7 @@ Ement.el doesn't support encrypted rooms natively, but it 
can be used transparen
 *Additions*
 
 + Face ~ement-room-quote~, applied to quoted parts of replies.
++ Commands that read a string from the minibuffer in ~ement-room~ buffers use 
separate history list variables.
 
 *Fixes*
 
diff --git a/ement-room.el b/ement-room.el
index 3c41405163..56db775a93 100644
--- a/ement-room.el
+++ b/ement-room.el
@@ -206,6 +206,13 @@ In that case, sender names are aligned to the margin 
edge.")
   (optional "?" (group (1+ anything
   "Regexp matching \"matrix.to\" URLs.")
 
+(defvar ement-room-message-history nil
+  "History list of messages entered with `ement-room' commands.
+Does not include filenames, emotes, etc.")
+
+(defvar ement-room-emote-history nil
+  "History list of emotes entered with `ement-room' commands.")
+
 ;; Variables from other files.
 (defvar ement-sessions)
 (defvar ement-syncs)
@@ -1221,8 +1228,9 @@ otherwise use current room."
  (ement-room-with-typing
(let* ((file (read-file-name (format "Send file (%s): " 
(ement-room-display-name ement-room))
 nil nil 'confirm))
-  (body (ement-room-read-string (format "Message body (%s): " 
(ement-room-display-name ement-room))
-(file-name-nondirectory file) nil 
nil 'inherit-input-method)))
+  (body (ement-room-read-string
+ (format "Message body (%s): " (ement-room-display-name 
ement-room))
+ (file-name-nondirectory file) 'file-name-history nil 
'inherit-input-method)))
  (list file body ement-room ement-session)
   ;; NOTE: The typing notification won't be quite right, because it'll be 
canceled while waiting
   ;; for the file to upload.  It would be awkward to handle that, so this will 
do for now.
@@ -1261,8 +1269,9 @@ otherwise use current room."
  (ement-room-with-typing
(let* ((file (read-file-name (format "Send image file (%s): " 
(ement-room-display-name ement-room))
 nil nil 'confirm))
-  (body (ement-room-read-string (format "Message body (%s): " 
(ement-room-display-name ement-room))
-(file-name-nondirectory file) nil 
nil 'inherit-input-method)))
+  (body (ement-room-read-string
+ (format "Message body (%s): " (ement-room-display-name 
ement-room))
+ (file-name-nondirectory file) 'file-name-history nil 
'inherit-input-method)))
  (list file body ement-room ement-session)
   (ement-room-send-file file body room session :msgtype "m.image"))
 
@@ -1558,8 +1567,8 @@ the content (e.g. see `ement-room-send-org-filter')."
(ement-with-room-and-session
  (let* ((prompt (format "Send message (%s): " (ement-room-display-name 
ement-room)))
 (body (ement-room-with-typing
-(ement-room-read-string prompt nil nil nil
-'inherit-input-method
+(ement-room-read-string prompt nil 
'ement-room-message-history
+nil 'inherit-input-method
(list ement-room ement-session :body body
   (ement-send-message room session :body body :formatted-body formatted-body
 :replying-to-event replying-to-event :filter ement-room-send-message-filter
@@ -1590,8 +1599,8 @@ the content (e.g. see `ement-room-send-org-filter')."
(ement-with-room-and-session
  (let* ((prompt (format "Send emote (%s): " (ement-room-display-name 
ement-room)))
 (body (ement-room-with-typing
-(ement-room-read-string prompt nil nil nil
-'inherit-input-method
+(ement-room-read-string prompt nil 
'ement-room-emote-history
+nil 'inherit-input-method
(list ement-room ement-session :body body
   (cl-assert (not (string-empty-p body)))
   (pcase-let* (((cl-struct ement-room (id room-id) (local (map buffer))) room)
@@ -1664,8 +1673,8 @@ The message must be one sent by the local user."
(ement-room-with-typing
  (let* ((prompt (format "Edit message (%s): "
 (ement-room-display-name 
ement-room)))
-(body (ement-room-read-string prompt body nil nil
- 

[elpa] externals/ement f2b5831c4c 2/2: Add/Change: History lists for user IDs in ement-connect

2023-08-27 Thread ELPA Syncer
branch: externals/ement
commit f2b5831c4c6ab77a7078b0327194a856900314ae
Author: Adam Porter 
Commit: Adam Porter 

Add/Change: History lists for user IDs in ement-connect

Fixes #122.
---
 README.org | 2 +-
 ement.el   | 9 ++---
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/README.org b/README.org
index 5e6a5f62b0..bc4d651230 100644
--- a/README.org
+++ b/README.org
@@ -297,7 +297,7 @@ Ement.el doesn't support encrypted rooms natively, but it 
can be used transparen
 *Additions*
 
 + Face ~ement-room-quote~, applied to quoted parts of replies.
-+ Commands that read a string from the minibuffer in ~ement-room~ buffers use 
separate history list variables.
++ Commands that read a string from the minibuffer in ~ement-room~ buffers and 
~ement-connect~ user ID prompts use separate history list variables.
 
 *Fixes*
 
diff --git a/ement.el b/ement.el
index 4ac4af4492..e4349cb386 100644
--- a/ement.el
+++ b/ement.el
@@ -106,6 +106,9 @@ by users; ones who do so should know what they're doing.")
 (defvar ement-read-receipt-idle-timer nil
   "Idle timer used to update read receipts.")
 
+(defvar ement-connect-user-id-history nil
+  "History list of user IDs entered into `ement-connect'.")
+
 ;; From other files.
 (defvar ement-room-avatar-max-width)
 (defvar ement-room-avatar-max-height)
@@ -210,7 +213,7 @@ the port, e.g.
   \"http://localhost:8080\"";
   (interactive (if current-prefix-arg
;; Force new session.
-   (list :user-id (read-string "User ID: "))
+   (list :user-id (read-string "User ID: " nil 
'ement-connect-user-id-history))
  ;; Use known session.
  (unless ement-sessions
;; Read sessions from disk.
@@ -219,7 +222,7 @@ the port, e.g.
  (error (display-warning 'ement (format "Unable to read 
session data from disk (%s).  Prompting to log in again."
 
(error-message-string err))
  (cl-case (length ement-sessions)
-   (0 (list :user-id (read-string "User ID: ")))
+   (0 (list :user-id (read-string "User ID: " nil 
'ement-connect-user-id-history)))
(1 (list :session (cdar ement-sessions)))
(otherwise (list :session (ement-complete-session))
   (let (sso-server-process)
@@ -332,7 +335,7 @@ Ement: SSO login accepted; session token received.  
Connecting to Matrix server.
 ;; Start password login flow.  Prompt for user ID and password
 ;; if not given (i.e. if not called interactively.)
 (unless user-id
-  (setf user-id (read-string "User ID: ")))
+  (setf user-id (read-string "User ID: " nil 
'ement-connect-user-id-history)))
 (setf session (new-session))
 (when (ement-api session "login" :then #'flows-callback)
   (message "Ement: Checking server's login flows..."))



[nongnu] elpa/d-mode 0c8c9e3a5e 2/2: Merge pull request #117 from dylangleason/dylangleason/emacs-29-fix-cc-engine-forward-decl-or-cast-1-signature

2023-08-27 Thread ELPA Syncer
branch: elpa/d-mode
commit 0c8c9e3a5ebb7bfd55bea138a8ad4390abf6b383
Merge: 024aca97d0 9443ceae65
Author: Vladimir Panteleev 
Commit: GitHub 

Merge pull request #117 from 
dylangleason/dylangleason/emacs-29-fix-cc-engine-forward-decl-or-cast-1-signature

fix: add `d-forward-decl-or-cast-1` function optional param
---
 d-mode.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/d-mode.el b/d-mode.el
index e7ae9b17f7..8969d99623 100644
--- a/d-mode.el
+++ b/d-mode.el
@@ -531,7 +531,7 @@ Evaluate OLD-FORM if the Emacs version is older than 
MIN-VERSION,
 
 ;
 
-(defun d-forward-decl-or-cast-1 (preceding-token-end context last-cast-end)
+(defun d-forward-decl-or-cast-1 (preceding-token-end context last-cast-end 
&optional inside-macro)
   "D version of `c-forward-decl-or-cast-1'." ;; checkdoc-params: 
(preceding-token-end context last-cast-end)
   ;; (message "(d-forward-decl-or-cast-1 %S %S %S) @ %S" preceding-token-end 
context last-cast-end (point))
 



[nongnu] elpa/d-mode 9443ceae65 1/2: fix: add `d-forward-decl-or-cast-1` function optional param

2023-08-27 Thread ELPA Syncer
branch: elpa/d-mode
commit 9443ceae65ba59e5fda2b8c6b3a1607edd75f41e
Author: Dylan Gleason 
Commit: Dylan Gleason 

fix: add `d-forward-decl-or-cast-1` function optional param

Fix broken (as of Emacs 29) call to `d-forward-decl-or-cast-1` advice
function due to apparent change in `c-forward-decl-or-cast-1` function
definition specifying an optional `inside-macro` param. See
'cc-engine.el'. More work may be needed to support the optional
parameter but for now just get font locking working again.
---
 d-mode.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/d-mode.el b/d-mode.el
index e7ae9b17f7..8969d99623 100644
--- a/d-mode.el
+++ b/d-mode.el
@@ -531,7 +531,7 @@ Evaluate OLD-FORM if the Emacs version is older than 
MIN-VERSION,
 
 ;
 
-(defun d-forward-decl-or-cast-1 (preceding-token-end context last-cast-end)
+(defun d-forward-decl-or-cast-1 (preceding-token-end context last-cast-end 
&optional inside-macro)
   "D version of `c-forward-decl-or-cast-1'." ;; checkdoc-params: 
(preceding-token-end context last-cast-end)
   ;; (message "(d-forward-decl-or-cast-1 %S %S %S) @ %S" preceding-token-end 
context last-cast-end (point))
 



[nongnu] branch scratch/mastodon created (now 5640de5f2e)

2023-08-27 Thread Stefan Monnier via
monnier pushed a change to branch scratch/mastodon.

at  5640de5f2e Misc minor cosmetic changes

This branch includes the following new commits:

   new  b3563c416b Authentication via OAuth2
   new  e91facdb64 Add optional headers to POST method
   new  54263c5384 Restructure under lisp directory
   new  1457f9f5cd Add follow scope
   new  96f4b3627b Refactor authorization
   new  d5e3ff37a9 Fix void-function error
   new  b3faec5e80 Add WIP triage function on toot send
   new  cce134294d Update DOCSTRINGs
   new  787e432ca3 Move entry functions to mastodon.el
   new  e3ef670c2c Create README.md
   new  2f7193a320 Ignore compiled and packaging files
   new  50f0729dba Fix #1 by adding scope to auth token request
   new  0ea0ae09ff Change Mastodon link to the repo
   new  c19745033c Add spacemacs badge
   new  bf6f3632e8 Move badge beneath summary
   new  5cf1dd9c2f Fix #8 flycheck issues
   new  dc66e44c0f Close #7 with repo URL
   new  76476584ab Add versioning
   new  3b318408c2 Make headers more conventional
   new  2d79c9c5cf Add tests for mastodon-toot.el functions
   new  d21fdb8b65 Close #13 - Add roadmap section to README
   new  9831a8fdae Add mastodon-auth--registration-success test
   new  f091a811d0 Add mastodon-auth--register-client-app test
   new  88e7f432c0 Add mastodon--register-and-return-client-app test
   new  82cf1d7faa Remove progn and return register-client-app funcall
   new  24e038facf Add store-client-id-and-secret test
   new  59390fba8c Add mastodon--client-app tests
   new  40a54819cf Abstract success lambda to its own function and test
   new  5252359383 Add mastodon--get-access-token test
   new  e20f074de9 Add tests for `mastodon--access-token'
   new  2433e72f27 Use `read-passwd'
   new  b719e9054f Fix return value bug
   new  993dfce9bd Refactor mastodon--register-and-return-client-app
   new  0c80780a32 Add `mastodon-auth--client' function
   new  b503c07c84 Fixes #19 Change README.md to README.org
   new  523bf47c32 Add GET function
   new  f42d5e2666 Use synchronous calls for simpler JSON parsing
   new  cb8502f9ee Retrieve home timeline with `mastodon' function
   new  626c6f8607 Update README.org
   new  da84326539 Do some cleanup
   new  48fcd12d9d Add major mode
   new  5db9b77f53 Fix mastodon function
   new  02000bab44 Update README with keybindings
   new  f731da950c Update version to 0.2.1
   new  cb985db2f3 Fixes #29 - Provide context menu for discover mode
   new  d1aa39c22b Provide context menu from `with-eval-after-load' block
   new  fe32d70577 Add `j' and `k' bindings to move to previous/next toot
   new  fc90522bf2 Update README.org
   new  43c1e81cd4 Add function to update current timeline
   new  90e1ba9bfc Update DOCSTRINGs
   new  8d9e401fbf Update to v0.2.2
   new  355daed5ab Rewrite timeline display internals and fix #36
   new  77f514a48d Fix #38 by using pre-existing faces
   new  e58de9ad62 Reimplement update post-rewrite
   new  f75f4b4ac0 Do not use fringe face
   new  e09f5861e2 Update to v0.3.0
   new  9c2d623099 Fix #43 with LICENSE file
   new  b10430e7d4 Add boost feature to timelines
   new  35a896aaf7 Rename mastodon-toot--property and move to tl feature
   new  27d152d85d Show boosted state with (B) marker in byline
   new  bf556946eb Update README.org
   new  1e5ef7931b Update README.org
   new  d619ea51ef Display favourited status in byline
   new  3b781f850c Favourite toots from timelines
   new  6375aa4646 Add keybinding and update README
   new  b2f927617e Add and use mastodon-tl--field function
   new  9d9da60576 Add reply functionality
   new  1c403fb2e1 Add reply keybinding and update README
   new  f8f4aff331 Add thread functionality to timelines
   new  31c141d371 Add keybinding for `mastodon-tl--thread' and update 
README
   new  8d116aeb7e Fix load issue
   new  9a741181ce Update to v0.4.0
   new  ebf22afa9a Update roadmap
   new  232c621682 Better feedback on boost/favourite
   new  20f5b32b17 Fix #25 with const variable
   new  7f9fae9eca Render html with shr instead of html2text
   new  9a705f3884 Update to v0.4.1
   new  df6320f517 Close #11 with new callbacks
   new  fa9b989e53 Cleanup mastodon-toot feature
   new  013c83f4f1 Update README.org
   new  e26e85c6c3 Update README.org
   new  a2ac4793be Fix 32 decode utf-8 for content, name and handle
   new  b7d9589a33 fix 32 added instructions in readme to enable emojies
   new  5339f928c9 Update README.org
   new  c68d4554fe Bump to v0.4.2
   new  e9dd14192f Add mastodon-client feature
   new  949912d793 Use Cask to run tests in TravisCI
   new  950a71a7e8 Rewrite mastodon-auth
   new  993fbec64e Clean up tests and

[elpa] externals/embark dfd1b6f4cc: New Related Packages section of the manual

2023-08-27 Thread ELPA Syncer
branch: externals/embark
commit dfd1b6f4cc5858c34d92fd9a447c888cca29f002
Author: Omar Antolín 
Commit: Omar Antolín 

New Related Packages section of the manual
---
 README.org  | 21 -
 embark.texi | 58 +++---
 2 files changed, 63 insertions(+), 16 deletions(-)

diff --git a/README.org b/README.org
index 27e77a561e..5752b43a6f 100644
--- a/README.org
+++ b/README.org
@@ -275,7 +275,6 @@ The selection functionality is supported in every buffer:
   together, you can select each one, insert them all somewhere and
   finally delete all of them (from their original locations).
   
-
 *** =embark-live= a live-updating variant of =embark-collect=
 
 Finally, there is also an =embark-live= variant of the =embark-collect=
@@ -1105,6 +1104,26 @@ Embark and Consult. Some examples are:
   the location if it matches a unique imenu entry, otherwise it will
   leave the minibuffer open so you can navigate among the matches.
 
+* Related Packages
+
+There are several packages that offer functionality similar
+to Embark's. 
+
+- Acting on minibuffer completion candidates :: The popular Ivy and
+  Helm packages have support for acting on the completion candidates
+  of commands written using their APIs, and there is an extensive
+  ecosystem of packages meant for Helm and for Ivy (the Ivy ones
+  usually have "counsel" in the name) providing commands and
+  appropriate actions.
+- Acting on things at point :: The built-in =context-menu-mode= provides
+  a mouse-driven context-sensitive configurable menu. The =do-at-point=
+  package by Phil Kaluderic (available on GNU ELPA), on the other hand
+  is keyboard-driven.
+- Collecting completion candidates into a buffer :: The Ivy package
+  has the command =ivy-occur= which is similar to =embark-collect=. As
+  with Ivy actions, =ivy-occur= only works for commands written using
+  the Ivy API.
+  
 * Resources
 
 If you want to learn more about how others have used Embark here are
diff --git a/embark.texi b/embark.texi
index 7c2891b526..a6d69e0ed8 100644
--- a/embark.texi
+++ b/embark.texi
@@ -30,6 +30,7 @@
 * Advanced configuration::
 * How does Embark call the actions?::
 * Embark, Marginalia and Consult: Embark Marginalia and Consult. 
+* Related Packages::
 * Resources::
 * Contributions::
 * Acknowledgments::
@@ -279,10 +280,11 @@ candidates, for you to peruse and run actions on at your 
leisure.
 The candidates are displayed as a list showing additional annotations.
 
 The Embark Collect buffer is somewhat ``dired-like'': you can select
-and deselect candidates through the @samp{embark-select} action (bound to
-@samp{SPC}). In an Embark Collect buffer @samp{embark-act} is bound to 
@samp{a} and
-@samp{embark-act-all} is bound to @samp{A}; @samp{embark-act-all} will act on 
all
-currently marked candidates if there any, and will act on all
+and deselect candidates through @samp{embark-select} (available as an
+action in @samp{embark-act}, bound to @samp{SPC}; but you could also give it a
+global key binding). In an Embark Collect buffer @samp{embark-act} is bound
+to @samp{a} and @samp{embark-act-all} is bound to @samp{A}; 
@samp{embark-act-all} will act on
+all currently marked candidates if there any, and will act on all
 candidates if none are marked. In particular, this means that @samp{a SPC}
 will toggle whether the candidate at point is selected, and @samp{A SPC}
 will select all candidates if none are selected, or deselect all
@@ -341,14 +343,16 @@ or in a dired buffer they work on all marked files (or 
all files if
 none are marked). Embark also has a notion of @emph{selection}, where you can
 accumulate an ad hoc list of targets for these commands to work on.
 
-The selection is controlled by using the @samp{embark-select} action (which
-must be run as an action through @samp{embark-act}), bound to @samp{SPC} in
-@samp{embark-general-map} so that it is always available. Calling this action
-on a target toggles its membership in the current buffer's Embark
-selection; that is, it adds it to selection if not selected and
-removes it from the selection if it was selected. Whenever the
-selection for a buffer is non-empty, the commands @samp{embark-act-all},
-@samp{embark-export} and @samp{embark-collect} will act on the selection.
+The selection is controlled by using the @samp{embark-select} action, bound
+to @samp{SPC} in @samp{embark-general-map} so that it is always available (you 
can
+also give @samp{embark-select} a global key binding if you wish; when called
+directly, not as an action for @samp{embark-act}, it will select the first
+target at point). Calling this action on a target toggles its
+membership in the current buffer's Embark selection; that is, it adds
+it to selection if not selected and removes it from the selection if
+it was selected. Whenever the selection for a buffer is non-empty, the
+commands @samp{embark-act-all}, @samp{embark-export} and @samp{embark-collect} 
w

[elpa] externals/embark-consult updated (4215d79df5 -> dfd1b6f4cc)

2023-08-27 Thread ELPA Syncer
elpasync pushed a change to branch externals/embark-consult.

  from  4215d79df5 embark-eval-replace: with prefix, don't quote strings
  adds  dfd1b6f4cc New Related Packages section of the manual

No new revisions were added by this update.

Summary of changes:
 README.org  | 21 -
 embark.texi | 58 +++---
 2 files changed, 63 insertions(+), 16 deletions(-)