[elpa] externals/tmr 181272e182 2/2: tmr: produce user-error when tmr--timers is nil

2022-05-16 Thread ELPA Syncer
branch: externals/tmr
commit 181272e182598e8330f47a90c6313d34da244609
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

tmr: produce user-error when tmr--timers is nil
---
 tmr.el | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/tmr.el b/tmr.el
index f0a296f250..ccb9edf5af 100644
--- a/tmr.el
+++ b/tmr.el
@@ -235,6 +235,8 @@ If optional DESCRIPTION is provided use it to format the
 completion candidates."
   (let ((timers (if active (tmr--active-timers) tmr--timers)))
 (cond
+ ((null timers)
+  (user-error "No timers available"))
  ((= (length timers) 1)
   (car timers))
  ((> (length timers) 1)



[elpa] externals/hyperbole 40611fa03b: Fix som complex path, key series and windows grid resolutions

2022-05-16 Thread ELPA Syncer
branch: externals/hyperbole
commit 40611fa03b9d4bf54f2ce9e874249e9cf1e539cb
Author: Bob Weiner 
Commit: Bob Weiner 

Fix som complex path, key series and windows grid resolutions
---
 ChangeLog| 28 
 FAST-DEMO|  4 ++--
 hbut.el  | 13 +++--
 hib-kbd.el   | 10 ++
 hpath.el | 35 ++-
 hui-select.el| 10 +-
 hycontrol.el |  8 +---
 hyrolo.el|  6 +++---
 test/hmouse-drv-tests.el | 12 
 test/hpath-tests.el  | 10 +++---
 10 files changed, 97 insertions(+), 39 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index ecaa36966b..0e8d30ffb2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,31 @@
+2022-05-16  Bob Weiner  
+
+* FAST-DEMO: Change from /usr/bin/bash to /bin/bash.
+
+* hycontrol.el (hycontrol-windows-grid-by-file-pattern): Fix improper relative 
path
+resolution when called interactively; force use of full paths.
+
+2022-05-15  Bob Weiner  
+
+* hycontrol.el (hycontrol-windows-grid-by-file-pattern): Fix interactive 
pattern
+to prompt for a string, not a file.
+
+* hpath.el (hpath:resolve): Add to resolve path variables without doing a path 
expand.
+   (hpath:find, hpath:call): Resolve but never expand paths with 
modifier char
+[-!&] as first char since these might need to be searched in 
exec-directory, not
+the current path.
+ test/hpath-tests.el 
(hpath:load-modifier-with-plain-file-loads-file-from-load-path):
+ test/hmouse-drv-tests.el 
(hbut-load-modifier-with-plain-file-loads-file-from-load-path):
+Update to handle non-expansion of relative Lisp library files.
+
+* hui-select.el (hui-select-initialize):
+  hib-kbd.el (kbd-key): Fix close bracket syntax to match open (was close).
+
+* hbut.el (ebut:label-p): Fix handling when point is on final RET and
+have nested lists as in here with braces:
+{ M-x shell RET M-> (pushd ${hyperb:dir}) RET }
+by adding a (forward-list) call in the first 'while' construct.
+
 2022-05-14  Bob Weiner  
 
 * hsys-org.el (hsys-org-todo-occur): Add.
diff --git a/FAST-DEMO b/FAST-DEMO
index b30c0e524a..1fa2d5b38c 100644
--- a/FAST-DEMO
+++ b/FAST-DEMO
@@ -176,9 +176,9 @@
 with bash.  If you are using another shell you can for this part switch
 to bash,
 
-{ M-x set-variable RET shell-file-name RET "/usr/bin/bash" RET }
+{ M-x set-variable RET shell-file-name RET C-u M-! which SPC bash RET RET }
 
-   Set the name of the inferior shell to /usr/bin/bash. If you do this
+   Set the name of the inferior shell to /bin/bash. If you do this
don't forget to reset it to your preferred shell when you are ready
with the demo.
 
diff --git a/hbut.el b/hbut.el
index a475fb5848..849870d2db 100644
--- a/hbut.el
+++ b/hbut.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:18-Sep-91 at 02:57:09
-;; Last-Mod: 24-Apr-22 at 11:01:49 by Bob Weiner
+;; Last-Mod: 15-May-22 at 23:07:36 by Bob Weiner
 ;;
 ;; Copyright (C) 1991-2022  Free Software Foundation, Inc.
 ;; See the "HY-COPY" file for license information.
@@ -232,7 +232,16 @@ to two lines."
(re-search-forward (concat quoted start-regexp) 
npoint t))
  (setq start t))
start)
- (< (point) opoint)
+ ;; Handle expressions like:
+ ;; { M-x shell RET M-> (pushd ${hyperb:dir}) RET }
+ (save-excursion
+   (when (eq ?\( (char-syntax (preceding-char)))
+ (condition-case ()
+ (progn
+   (forward-char -1)
+   (forward-list))
+   (error nil)))
+   (< (point) opoint))
  (re-search-forward (concat "[^\\{]" end-regexp) opoint t))
(setq start nil))
   (when start
diff --git a/hib-kbd.el b/hib-kbd.el
index 5da56e163e..7fe9a3dd97 100644
--- a/hib-kbd.el
+++ b/hib-kbd.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:22-Nov-91 at 01:37:57
-;; Last-Mod: 24-Apr-22 at 17:34:04 by Bob Weiner
+;; Last-Mod: 15-May-22 at 22:26:22 by Bob Weiner
 ;;
 ;; Copyright (C) 1991-2021  Free Software Foundation, Inc.
 ;; See the "HY-COPY" file for license information.
@@ -97,13 +97,15 @@ Any key sequence within the series must be a string of one 
of the following:
 (let ((open-brace-syntax (hypb:get-raw-syntax-descriptor ?\{))
  (close-brace-syntax (hypb:get-raw-syntax-descriptor ?\})))
   (unwind-protect
- (progn (modify-syntax-entry ?\{ "(\}" (syntax-table))
-(modify-syntax-entry ?\} ")\}" (syntax-table))
+ (progn (modify-syntax-entry ?\{ "(}" (syntax-table))
+(modify-syntax-entry ?\} "){" (syntax-table))
 ;; Handle long series, e.g. eval

[elpa] externals/tmr be7bc7c183 1/2: tmr: show original input of TIMER for tmr-clone

2022-05-16 Thread ELPA Syncer
branch: externals/tmr
commit be7bc7c183381ef59b3e1506d66648c08302f907
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

tmr: show original input of TIMER for tmr-clone
---
 tmr.el | 31 +++
 1 file changed, 27 insertions(+), 4 deletions(-)

diff --git a/tmr.el b/tmr.el
index 0a3b10c3c5..f0a296f250 100644
--- a/tmr.el
+++ b/tmr.el
@@ -137,6 +137,22 @@ optional `tmr--timer-description'."
 (propertize "Ended" 'face 'error)
 end)))
 
+(defun tmr--long-description-for-clonable-timer (timer)
+  "Return a human-readable description for clonable TIMER.
+This is like `tmr--long-description' with the inclusion of the
+original input for TIMER's duration."
+  (let ((start (tmr--format-creation-date timer))
+(end (tmr--format-end-date timer))
+(description (tmr--timer-description timer))
+(input (tmr--timer-input timer)))
+(format "TMR start at %s; end at %s%s (input was '%s')"
+(propertize start 'face 'success)
+(propertize end 'face 'error)
+(if description
+(format " [%s]" (propertize description 'face 'bold))
+  "")
+(propertize input 'face 'warning
+
 (defun tmr--format-creation-date (timer)
   "Return a string representing when TIMER was created."
   (tmr--format-time (tmr--timer-creation-date timer)))
@@ -206,20 +222,24 @@ With optional NO-HOOKS refrain from calling
 (unless no-hooks
   (run-hook-with-args 'tmr-timer-cancelled-functions timer
 
-(defun tmr--read-timer (&optional active)
+(defun tmr--read-timer (&optional active description)
   "Let the user choose a timer among all timers.
 Return the selected timer.  If there is a single timer, use that.
 If there are multiple timers, prompt for one with completion.  If
 there are no timers, return nil.
 
 If optional ACTIVE is non-nil, limit the list of timers to those
-that are still running."
+that are still running.
+
+If optional DESCRIPTION is provided use it to format the
+completion candidates."
   (let ((timers (if active (tmr--active-timers) tmr--timers)))
 (cond
  ((= (length timers) 1)
   (car timers))
  ((> (length timers) 1)
-  (let* ((timer-descriptions (mapcar #'tmr--long-description timers))
+  (let* ((formatter (or description #'tmr--long-description))
+ (timer-descriptions (mapcar formatter timers))
  (selection (completing-read "Timer: " timer-descriptions nil t)))
 (cl-find selection timers :test #'string= :key 
#'tmr--long-description))
 
@@ -329,7 +349,10 @@ confirmation about the duration and the description.  The
 description is asked only if TIMER had one.
 
 Without a PROMPT, clone TIMER outright."
-  (interactive (list (tmr--read-timer) current-prefix-arg))
+  (interactive
+   (list
+(tmr--read-timer nil #'tmr--long-description-for-clonable-timer)
+current-prefix-arg))
   (let ((description (tmr--timer-description timer)))
 (cond
  (prompt



[elpa] externals/tmr updated (40369abd53 -> 181272e182)

2022-05-16 Thread ELPA Syncer
elpasync pushed a change to branch externals/tmr.

  from  40369abd53 Fix typo in the manual
   new  be7bc7c183 tmr: show original input of TIMER for tmr-clone
   new  181272e182 tmr: produce user-error when tmr--timers is nil


Summary of changes:
 tmr.el | 33 +
 1 file changed, 29 insertions(+), 4 deletions(-)



[elpa] externals/tmr 5596e86aba: tmr: write arguments of declared functions

2022-05-16 Thread ELPA Syncer
branch: externals/tmr
commit 5596e86aba71d376f36ff4d341305b62f3da5ee4
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

tmr: write arguments of declared functions
---
 tmr.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tmr.el b/tmr.el
index ccb9edf5af..d016fccd25 100644
--- a/tmr.el
+++ b/tmr.el
@@ -57,8 +57,8 @@ Each function must accept a timer as argument."
   :type 'hook
   :options '(tmr-print-message-for-created-timer))
 
-(declare-function tmr-sound-play "ext:tmr-sound.el")
-(declare-function tmr-notification-notify "ext:tmr-notification.el")
+(declare-function tmr-sound-play "ext:tmr-sound.el" (&optional timer))
+(declare-function tmr-notification-notify "ext:tmr-notification.el" (title 
message))
 
 (defcustom tmr-timer-completed-functions
   (list #'tmr-print-message-for-completed-timer



[elpa] externals/sql-beeline b7ffff9404: Set comint-process-echoes to t

2022-05-16 Thread Filipp Gunbin
branch: externals/sql-beeline
commit b79404d93f569e3c2bc59db1be6e848c894f
Author: Filipp Gunbin 
Commit: Filipp Gunbin 

Set comint-process-echoes to t
---
 sql-beeline.el | 13 ++---
 1 file changed, 10 insertions(+), 3 deletions(-)

diff --git a/sql-beeline.el b/sql-beeline.el
index 4b6fbf9fe1..90dbba08a3 100644
--- a/sql-beeline.el
+++ b/sql-beeline.el
@@ -4,8 +4,8 @@
 
 ;; Author: Filipp Gunbin 
 ;; Maintainer: Filipp Gunbin 
-;; Version: 0.1
-;; Keywords: sql, hive, beeline, hiveserver2
+;; Version: 0.2
+;; Keywords: sql, hive, beeline, hiveserver2, impala
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by
@@ -69,7 +69,14 @@
 ;; every few milliseconds - we don't want it because it
 ;; just makes garbage.
 (comint-terminfo-terminal ""))
-(sql-comint product params buf-name)))
+(sql-comint product params buf-name)
+(add-hook 'sql-login-hook #'sql-beeline--setup-interactive-mode)))
+
+(defun sql-beeline--setup-interactive-mode ()
+  (remove-hook 'sql-login-hook #'sql-beeline--setup-interactive-mode)
+
+  (setq comint-process-echoes t))
+
 
 ;;;###autoload
 (defun sql-beeline (&optional buffer)



[elpa] externals/dash 65d27bb71d 2/2: Merge pull request #396 from magnars/blc/keys

2022-05-16 Thread ELPA Syncer
branch: externals/dash
commit 65d27bb71df896f49c75901fb24f934ac4457508
Merge: 7fd71338dc c860155810
Author: Matus Goljer 
Commit: GitHub 

Merge pull request #396 from magnars/blc/keys
---
 dash.el | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/dash.el b/dash.el
index 26e1f8b46f..927f9626de 100644
--- a/dash.el
+++ b/dash.el
@@ -2214,7 +2214,9 @@ matchers based on the type of the expression.
 Key-value stores are disambiguated by placing a token &plist,
 &alist or &hash as a first item in the MATCH-FORM."
   (cond
-   ((symbolp match-form)
+   ((and (symbolp match-form)
+ ;; Don't bind things like &keys as if they were vars (#395).
+ (not (functionp (dash--get-expand-function match-form
 (dash--match-symbol match-form source))
((consp match-form)
 (cond



[elpa] externals/dash c860155810 1/2: Symbols with destructuring expansions are not vars

2022-05-16 Thread ELPA Syncer
branch: externals/dash
commit c860155810791e08036de9898463680314253de8
Author: Basil L. Contovounesios 
Commit: Basil L. Contovounesios 

Symbols with destructuring expansions are not vars

* dash.el (dash--match): Don't bind symbols with expansion functions
as if they were variables.

Fixes #395.
---
 dash.el | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/dash.el b/dash.el
index 26e1f8b46f..927f9626de 100644
--- a/dash.el
+++ b/dash.el
@@ -2214,7 +2214,9 @@ matchers based on the type of the expression.
 Key-value stores are disambiguated by placing a token &plist,
 &alist or &hash as a first item in the MATCH-FORM."
   (cond
-   ((symbolp match-form)
+   ((and (symbolp match-form)
+ ;; Don't bind things like &keys as if they were vars (#395).
+ (not (functionp (dash--get-expand-function match-form
 (dash--match-symbol match-form source))
((consp match-form)
 (cond



[nongnu] elpa/git-commit d035386e96 6/9: magit-ediff-buffers: Support merge jobs

2022-05-16 Thread ELPA Syncer
branch: elpa/git-commit
commit d035386e960e0f3967096855d2a4e390cf2c8511
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

magit-ediff-buffers: Support merge jobs
---
 lisp/magit-ediff.el | 39 +++
 1 file changed, 35 insertions(+), 4 deletions(-)

diff --git a/lisp/magit-ediff.el b/lisp/magit-ediff.el
index 8fb98c4082..a3bf6c477b 100644
--- a/lisp/magit-ediff.el
+++ b/lisp/magit-ediff.el
@@ -123,7 +123,23 @@ recommend you do not further complicate that by enabling 
this.")
 ("r" "Show range"magit-ediff-compare)
 ("z" "Show stash"magit-ediff-show-stash)]])
 
-(defmacro magit-ediff-buffers (a b &optional c setup quit)
+(defmacro magit-ediff-buffers (a b &optional c setup quit file)
+  "Run Ediff on two or three buffers.
+This is a wrapper around `ediff-buffers-internal'.
+
+A, B and C have the form (GET-BUFFER CREATE-BUFFER).  It
+GET-BUFFER returns a non-nil, then that buffer is used and
+it is not killed when exiting Ediff.  Otherwise CREATE-BUFFER
+must return a buffer and that is killed when exiting Ediff.
+
+If non-nil, SETUP must be a function.  It is called without
+arguments after Ediff is done setting up buffers.
+
+If non-nil, QUIT must be a function.  It is added to
+`ediff-quit-hook' and is called without arguments.
+
+If FILE is non-nil, then perform a merge.  The merge result
+is put in FILE."
   (let (get make kill (char ?A))
 (dolist (spec (list a b c))
   (if (not spec)
@@ -145,8 +161,12 @@ recommend you do not further complicate that by enabling 
this.")
  ,m)
   make)
 (push `(unless ,b
- (ediff-kill-buffer-carefully
-  ,(intern (format "ediff-buffer-%c" char
+ ;; For merge jobs Ediff switches buffer names around.
+ ;; See (if ediff-merge-job ...) in `ediff-setup'.
+ (let ((var ,(if (and file (= char ?C))
+ 'ediff-ancestor-buffer
+   (intern (format "ediff-buffer-%c" char)
+   (ediff-kill-buffer-carefully var)))
   kill))
   (cl-incf char
 (setq get  (nreverse get))
@@ -154,18 +174,29 @@ recommend you do not further complicate that by enabling 
this.")
 (setq kill (nreverse kill))
 `(magit-with-toplevel
(let ((conf (current-window-configuration))
+ (file ,file)
  ,@get)
  (ediff-buffers-internal
   ,@make
   (list ,@(and setup (list setup))
 (lambda ()
+  ;; We do not want to kill buffers that existed before
+  ;; Ediff was invoked, so we cannot use Ediff's default
+  ;; quit functions.  Ediff splits quitting across two
+  ;; hooks for merge jobs but we only ever use one.
+  (setq-local ediff-quit-merge-hook nil)
   (setq-local ediff-quit-hook
   (list ,@(and quit (list quit))
 (lambda ()
   ,@kill
   (let ((magit-ediff-previous-winconf 
conf))
 (run-hooks 
'magit-ediff-quit-hook)))
-  ,(if c 'ediff-buffers3 'ediff-buffers))
+  (pcase (list ,(and c t) (and file t))
+('(nil nil) 'ediff-buffers)
+('(nil t)   'ediff-merge-buffers)
+('(t   nil) 'ediff-buffers3)
+('(t   t)   'ediff-merge-buffers-with-ancestor))
+  file)
 
 ;;;###autoload
 (defun magit-ediff-resolve-rest (file)



[nongnu] elpa/git-commit ce45c43f9d 2/9: magit-ediff-resolve: Move definition

2022-05-16 Thread ELPA Syncer
branch: elpa/git-commit
commit ce45c43f9d1eacbca43012c1dc9ffdb3c0560b3b
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

magit-ediff-resolve: Move definition
---
 lisp/magit-ediff.el | 62 ++---
 1 file changed, 31 insertions(+), 31 deletions(-)

diff --git a/lisp/magit-ediff.el b/lisp/magit-ediff.el
index 057c17480b..c3efdbb984 100644
--- a/lisp/magit-ediff.el
+++ b/lisp/magit-ediff.el
@@ -123,37 +123,6 @@ recommend you do not further complicate that by enabling 
this.")
 ("r" "Show range"magit-ediff-compare)
 ("z" "Show stash"magit-ediff-show-stash)]])
 
-;;;###autoload
-(defun magit-ediff-resolve (file)
-  "Resolve outstanding conflicts in FILE using Ediff.
-FILE has to be relative to the top directory of the repository.
-
-In the rare event that you want to manually resolve all
-conflicts, including those already resolved by Git, use
-`ediff-merge-revisions-with-ancestor'."
-  (interactive (list (magit-read-unmerged-file)))
-  (magit-with-toplevel
-(with-current-buffer (find-file-noselect file)
-  (smerge-ediff)
-  (setq-local
-   ediff-quit-hook
-   (lambda ()
- (let ((bufC ediff-buffer-C)
-   (bufS smerge-ediff-buf))
-   (with-current-buffer bufS
- (when (yes-or-no-p (format "Conflict resolution finished; save 
%s? "
-buffer-file-name))
-   (erase-buffer)
-   (insert-buffer-substring bufC)
-   (save-buffer
- (when (buffer-live-p ediff-buffer-A) (kill-buffer ediff-buffer-A))
- (when (buffer-live-p ediff-buffer-B) (kill-buffer ediff-buffer-B))
- (when (buffer-live-p ediff-buffer-C) (kill-buffer ediff-buffer-C))
- (when (buffer-live-p ediff-ancestor-buffer)
-   (kill-buffer ediff-ancestor-buffer))
- (let ((magit-ediff-previous-winconf smerge-ediff-windows))
-   (run-hooks 'magit-ediff-quit-hook)))
-
 (defmacro magit-ediff-buffers (quit &rest spec)
   (declare (indent 1))
   (let ((fn (if (length= spec 3) 'ediff-buffers3 'ediff-buffers))
@@ -193,6 +162,37 @@ conflicts, including those already resolved by Git, use
  (run-hooks 'magit-ediff-quit-hook)))
   ',fn)
 
+;;;###autoload
+(defun magit-ediff-resolve (file)
+  "Resolve outstanding conflicts in FILE using Ediff.
+FILE has to be relative to the top directory of the repository.
+
+In the rare event that you want to manually resolve all
+conflicts, including those already resolved by Git, use
+`ediff-merge-revisions-with-ancestor'."
+  (interactive (list (magit-read-unmerged-file)))
+  (magit-with-toplevel
+(with-current-buffer (find-file-noselect file)
+  (smerge-ediff)
+  (setq-local
+   ediff-quit-hook
+   (lambda ()
+ (let ((bufC ediff-buffer-C)
+   (bufS smerge-ediff-buf))
+   (with-current-buffer bufS
+ (when (yes-or-no-p (format "Conflict resolution finished; save 
%s? "
+buffer-file-name))
+   (erase-buffer)
+   (insert-buffer-substring bufC)
+   (save-buffer
+ (when (buffer-live-p ediff-buffer-A) (kill-buffer ediff-buffer-A))
+ (when (buffer-live-p ediff-buffer-B) (kill-buffer ediff-buffer-B))
+ (when (buffer-live-p ediff-buffer-C) (kill-buffer ediff-buffer-C))
+ (when (buffer-live-p ediff-ancestor-buffer)
+   (kill-buffer ediff-ancestor-buffer))
+ (let ((magit-ediff-previous-winconf smerge-ediff-windows))
+   (run-hooks 'magit-ediff-quit-hook)))
+
 ;;;###autoload
 (defun magit-ediff-stage (file)
   "Stage and unstage changes to FILE using Ediff.



[nongnu] elpa/git-commit 6fc4bacdee 8/9: magit-ediff-resolve-{all, rest}: Use file at point

2022-05-16 Thread ELPA Syncer
branch: elpa/git-commit
commit 6fc4bacdeea07485ba279c57da5d64eb784b879e
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

magit-ediff-resolve-{all,rest}: Use file at point
---
 docs/magit.org  | 10 ++
 docs/magit.texi | 10 ++
 lisp/magit-base.el  |  2 ++
 lisp/magit-ediff.el | 12 ++--
 4 files changed, 24 insertions(+), 10 deletions(-)

diff --git a/docs/magit.org b/docs/magit.org
index d649f7ffe8..715703839d 100644
--- a/docs/magit.org
+++ b/docs/magit.org
@@ -3498,8 +3498,9 @@ information on how to use Ediff itself, see info:ediff.
 
 - Key: E m (magit-ediff-resolve-rest) ::
 
-  This command allows you to resolve outstanding conflicts in a file
-  using Ediff, defaulting to the file at point.
+  This command allows you to resolve outstanding conflicts in the file
+  at point using Ediff.  If there is no file at point or if it doesn't
+  have any unmerged changes, then this command prompts for a file.
 
   Provided that the value of ~merge.conflictstyle~ is ~diff3~, you can
   view the file's merge-base revision using ~/~ in the Ediff control
@@ -3512,8 +3513,9 @@ information on how to use Ediff itself, see info:ediff.
 
 - Key: E m (magit-ediff-resolve-all) ::
 
-  This command allows you to resolve all conflicts in FILE using
-  Ediff, defaulting to the file at point.
+  This command allows you to resolve all conflicts in the file at
+  point using Ediff.  If there is no file at point or if it doesn't
+  have any unmerged changes, then this command prompts for a file.
 
   Provided that the value of ~merge.conflictstyle~ is ~diff3~, you can
   view the file's merge-base revision using ~/~ in the Ediff control
diff --git a/docs/magit.texi b/docs/magit.texi
index ea7d1873a2..6823540237 100644
--- a/docs/magit.texi
+++ b/docs/magit.texi
@@ -4368,8 +4368,9 @@ common ancestor of both revisions (i.e., use a "@dots{}"  
range).
 @item @kbd{E m} (@code{magit-ediff-resolve-rest})
 @kindex E m
 @findex magit-ediff-resolve-rest
-This command allows you to resolve outstanding conflicts in a file
-using Ediff, defaulting to the file at point.
+This command allows you to resolve outstanding conflicts in the file
+at point using Ediff.  If there is no file at point or if it doesn't
+have any unmerged changes, then this command prompts for a file.
 
 Provided that the value of @code{merge.conflictstyle} is @code{diff3}, you can
 view the file's merge-base revision using @code{/} in the Ediff control
@@ -4383,8 +4384,9 @@ to not contain the actual versions from the respective 
blobs.
 @item @kbd{E m} (@code{magit-ediff-resolve-all})
 @kindex E m
 @findex magit-ediff-resolve-all
-This command allows you to resolve all conflicts in FILE using
-Ediff, defaulting to the file at point.
+This command allows you to resolve all conflicts in the file at
+point using Ediff.  If there is no file at point or if it doesn't
+have any unmerged changes, then this command prompts for a file.
 
 Provided that the value of @code{merge.conflictstyle} is @code{diff3}, you can
 view the file's merge-base revision using @code{/} in the Ediff control
diff --git a/lisp/magit-base.el b/lisp/magit-base.el
index 536b3a6566..4dbfbfefc6 100644
--- a/lisp/magit-base.el
+++ b/lisp/magit-base.el
@@ -83,6 +83,8 @@ alphabetical order, depending on your version of Ivy."
 
 (defcustom magit-dwim-selection
   '((magit-stash-applynil t)
+(magit-ediff-resolve-all  nil t)
+(magit-ediff-resolve-rest nil t)
 (magit-stash-branch   nil t)
 (magit-stash-branch-here  nil t)
 (magit-stash-format-patch nil t)
diff --git a/lisp/magit-ediff.el b/lisp/magit-ediff.el
index 54f6d2ffdf..7672327603 100644
--- a/lisp/magit-ediff.el
+++ b/lisp/magit-ediff.el
@@ -201,7 +201,11 @@ is put in FILE."
 
 ;;;###autoload
 (defun magit-ediff-resolve-all (file)
-  "Resolve all conflicts in FILE using Ediff.
+  "Resolve all conflicts in the FILE at point using Ediff.
+
+If there is no file at point or if it doesn't have any unmerged
+changes, then prompt for a file.
+
 See info node `(magit) Ediffing' for more information about this
 and alternative commands."
   (interactive (list (magit-read-unmerged-file)))
@@ -268,7 +272,11 @@ and alternative commands."
 
 ;;;###autoload
 (defun magit-ediff-resolve-rest (file)
-  "Resolve outstanding conflicts in FILE using Ediff.
+  "Resolve outstanding conflicts in the FILE at point using Ediff.
+
+If there is no file at point or if it doesn't have any unmerged
+changes, then prompt for a file.
+
 See info node `(magit) Ediffing' for more information about this
 and alternative commands."
   (interactive (list (magit-read-unmerged-file)))



[nongnu] elpa/magit updated (421105ef4f -> 5a7519fd3d)

2022-05-16 Thread ELPA Syncer
elpasync pushed a change to branch elpa/magit.

  from  421105ef4f magit-section-goto-successor(hunk): Make fourth argument 
optional
  adds  efb09e8d57 magit-renamed-files: Minor tweaks
  adds  ce45c43f9d magit-ediff-resolve: Move definition
  adds  1e2b473f20 magit-ediff-resolve: Rename to magit-ediff-resolve-rest
  adds  e2e90f7b0c magit-ediff-buffers: Cosmetics and new comments
  adds  db2e9546f8 magit-ediff-buffers: Change argument order
  adds  d035386e96 magit-ediff-buffers: Support merge jobs
  adds  46685b1c76 magit-ediff-resolve-all: New command
  adds  6fc4bacdee magit-ediff-resolve-{all,rest}: Use file at point
  adds  5a7519fd3d magit-ediff-dwim-resolve-function: New option

No new revisions were added by this update.

Summary of changes:
 docs/magit.org   |  86 ---
 docs/magit.texi  |  92 
 lisp/magit-base.el   |   2 +
 lisp/magit-ediff.el  | 300 +++
 lisp/magit-extras.el |   3 +-
 lisp/magit-git.el|  17 ++-
 6 files changed, 322 insertions(+), 178 deletions(-)



[nongnu] elpa/magit-section updated (421105ef4f -> 5a7519fd3d)

2022-05-16 Thread ELPA Syncer
elpasync pushed a change to branch elpa/magit-section.

  from  421105ef4f magit-section-goto-successor(hunk): Make fourth argument 
optional
  adds  efb09e8d57 magit-renamed-files: Minor tweaks
  adds  ce45c43f9d magit-ediff-resolve: Move definition
  adds  1e2b473f20 magit-ediff-resolve: Rename to magit-ediff-resolve-rest
  adds  e2e90f7b0c magit-ediff-buffers: Cosmetics and new comments
  adds  db2e9546f8 magit-ediff-buffers: Change argument order
  adds  d035386e96 magit-ediff-buffers: Support merge jobs
  adds  46685b1c76 magit-ediff-resolve-all: New command
  adds  6fc4bacdee magit-ediff-resolve-{all,rest}: Use file at point
  adds  5a7519fd3d magit-ediff-dwim-resolve-function: New option

No new revisions were added by this update.

Summary of changes:
 docs/magit.org   |  86 ---
 docs/magit.texi  |  92 
 lisp/magit-base.el   |   2 +
 lisp/magit-ediff.el  | 300 +++
 lisp/magit-extras.el |   3 +-
 lisp/magit-git.el|  17 ++-
 6 files changed, 322 insertions(+), 178 deletions(-)



[nongnu] elpa/git-commit 46685b1c76 7/9: magit-ediff-resolve-all: New command

2022-05-16 Thread ELPA Syncer
branch: elpa/git-commit
commit 46685b1c76d06792594dcf91e9972369e61abf95
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

magit-ediff-resolve-all: New command
---
 docs/magit.org   | 74 ++---
 docs/magit.texi  | 78 
 lisp/magit-ediff.el  | 84 +++-
 lisp/magit-extras.el |  3 +-
 lisp/magit-git.el|  8 +
 5 files changed, 161 insertions(+), 86 deletions(-)

diff --git a/docs/magit.org b/docs/magit.org
index 8f7b9bb44e..d649f7ffe8 100644
--- a/docs/magit.org
+++ b/docs/magit.org
@@ -3498,16 +3498,48 @@ information on how to use Ediff itself, see info:ediff.
 
 - Key: E m (magit-ediff-resolve-rest) ::
 
-  Resolve outstanding conflicts in a file using Ediff, defaulting to
-  the file at point.
+  This command allows you to resolve outstanding conflicts in a file
+  using Ediff, defaulting to the file at point.
 
   Provided that the value of ~merge.conflictstyle~ is ~diff3~, you can
   view the file's merge-base revision using ~/~ in the Ediff control
   buffer.
 
-  In the rare event that you want to manually resolve all conflicts,
-  including those already resolved by Git, use
-  ~ediff-merge-revisions-with-ancestor~.
+  The A, B and Ancestor buffers are constructed from the conflict
+  markers in the worktree file.  Because you and/or Git may have
+  already resolved some conflicts, that means that these buffers
+  to not contain the actual versions from the respective blobs.
+
+- Key: E m (magit-ediff-resolve-all) ::
+
+  This command allows you to resolve all conflicts in FILE using
+  Ediff, defaulting to the file at point.
+
+  Provided that the value of ~merge.conflictstyle~ is ~diff3~, you can
+  view the file's merge-base revision using ~/~ in the Ediff control
+  buffer.
+
+  First the file in the worktree is moved aside, appending the suffix
+  =.ORIG=, so that you could later go back to that version.  Then it is
+  reconstructed from the two sides of the conflict and the merge-base,
+  if available.
+
+  It would be nice if the worktree file were just used as-is, but
+  Ediff does not support that.  This means that all conflicts, that
+  Git has already resolved, are restored.  On the other hand Ediff
+  also tries to resolve conflicts, and in many cases Ediff and Git
+  should produce similar results.
+
+  However if you have already resolved some conflicts manually, then
+  those changes are discarded (though you can recover them from the
+  backup file).  In such cases ~magit-ediff-resolve-rest~ might be more
+  suitable.
+
+  The advantage that this command has over ~magit-ediff-resolve-rest~
+  is that the A, B and Ancestor buffers correspond to blobs from the
+  respective commits, allowing you to inspect a side in context and
+  to use Magit commands in these buffers to do so.  Blame and log
+  commands are particularly useful here.
 
 - Key: E t (magit-git-mergetool) ::
 
@@ -8807,38 +8839,6 @@ also affects the diffs displayed inside Magit.
 
 Please see [[*Branching]] and http://emacsair.me/2016/01/18/magit-2.4
 
-*** Can Magit be used as ~ediff-version-control-package~?
-
-No, it cannot.  For that to work the functions ~ediff-magit-internal~
-and ~ediff-magit-merge-internal~ would have to be implemented, and they
-are not.  These two functions are only used by the three commands
-~ediff-revision~, ~ediff-merge-revisions-with-ancestor~, and
-~ediff-merge-revisions~.
-
-These commands only delegate the task of populating buffers with
-certain revisions to the "internal" functions.  The equally important
-task of determining which revisions are to be compared/merged is not
-delegated.  Instead this is done without any support whatsoever from
-the version control package/system - meaning that the user has to
-enter the revisions explicitly.  Instead of implementing
-~ediff-magit-internal~ we provide ~magit-ediff-compare~, which handles
-both tasks like it is 2005.
-
-The other commands ~ediff-merge-revisions~ and
-~ediff-merge-revisions-with-ancestor~ are normally not what you want
-when using a modern version control system like Git.  Instead of
-letting the user resolve only those conflicts which Git could not
-resolve on its own, they throw away all work done by Git and then
-expect the user to manually merge all conflicts, including those that
-had already been resolved.  That made sense back in the days when
-version control systems couldn't merge (or so I have been told), but
-not anymore.  Once in a blue moon you might actually want to see all
-conflicts, in which case you *can* use these commands, which then use
-~ediff-vc-merge-internal~.  So we don't actually have to implement
-~ediff-magit-merge-internal~.  Instead we provide the more useful
-command ~magit-ediff-resolve~ which only shows yet-to-be resolved
-conflicts.
-
 *** Should I disable VC?
 
 If you don't use VC (the built-in version control interface) then
diff --git a

[nongnu] elpa/git-commit 1e2b473f20 3/9: magit-ediff-resolve: Rename to magit-ediff-resolve-rest

2022-05-16 Thread ELPA Syncer
branch: elpa/git-commit
commit 1e2b473f202f4c0689de4feaf52c35c069707cf0
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

magit-ediff-resolve: Rename to magit-ediff-resolve-rest
---
 docs/magit.org  | 4 ++--
 docs/magit.texi | 6 +++---
 lisp/magit-ediff.el | 8 
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/docs/magit.org b/docs/magit.org
index 3c659f7f3e..8f7b9bb44e 100644
--- a/docs/magit.org
+++ b/docs/magit.org
@@ -3496,7 +3496,7 @@ information on how to use Ediff itself, see info:ediff.
   revisions, choose a revision to view changes along, starting at the
   common ancestor of both revisions (i.e., use a "..."  range).
 
-- Key: E m (magit-ediff-resolve) ::
+- Key: E m (magit-ediff-resolve-rest) ::
 
   Resolve outstanding conflicts in a file using Ediff, defaulting to
   the file at point.
@@ -3512,7 +3512,7 @@ information on how to use Ediff itself, see info:ediff.
 - Key: E t (magit-git-mergetool) ::
 
   This command does not actually use Ediff.  While it serves the same
-  purpose as =magit-ediff-resolve=, it uses =git mergetool --gui= to
+  purpose as =magit-ediff-resolve-rest=, it uses =git mergetool --gui= to
   resolve conflicts.
 
   With a prefix argument this acts as a transient prefix command,
diff --git a/docs/magit.texi b/docs/magit.texi
index ba584e61da..d36993b70c 100644
--- a/docs/magit.texi
+++ b/docs/magit.texi
@@ -4366,9 +4366,9 @@ line of the region.  With a prefix argument, instead of 
diffing the
 revisions, choose a revision to view changes along, starting at the
 common ancestor of both revisions (i.e., use a "@dots{}"  range).
 
-@item @kbd{E m} (@code{magit-ediff-resolve})
+@item @kbd{E m} (@code{magit-ediff-resolve-rest})
 @kindex E m
-@findex magit-ediff-resolve
+@findex magit-ediff-resolve-rest
 Resolve outstanding conflicts in a file using Ediff, defaulting to
 the file at point.
 
@@ -4384,7 +4384,7 @@ including those already resolved by Git, use
 @kindex E t
 @findex magit-git-mergetool
 This command does not actually use Ediff.  While it serves the same
-purpose as @samp{magit-ediff-resolve}, it uses @samp{git mergetool --gui} to
+purpose as @samp{magit-ediff-resolve-rest}, it uses @samp{git mergetool --gui} 
to
 resolve conflicts.
 
 With a prefix argument this acts as a transient prefix command,
diff --git a/lisp/magit-ediff.el b/lisp/magit-ediff.el
index c3efdbb984..10396355b2 100644
--- a/lisp/magit-ediff.el
+++ b/lisp/magit-ediff.el
@@ -114,7 +114,7 @@ recommend you do not further complicate that by enabling 
this.")
   ["Ediff"
[("E" "Dwim"  magit-ediff-dwim)
 ("s" "Stage" magit-ediff-stage)
-("m" "Resolve"   magit-ediff-resolve)
+("m" "Resolve"   magit-ediff-resolve-rest)
 ("t" "Resolve using mergetool" magit-git-mergetool)]
[("u" "Show unstaged" magit-ediff-show-unstaged)
 ("i" "Show staged"   magit-ediff-show-staged)
@@ -163,7 +163,7 @@ recommend you do not further complicate that by enabling 
this.")
   ',fn)
 
 ;;;###autoload
-(defun magit-ediff-resolve (file)
+(defun magit-ediff-resolve-rest (file)
   "Resolve outstanding conflicts in FILE using Ediff.
 FILE has to be relative to the top directory of the repository.
 
@@ -317,7 +317,7 @@ mind at all, then it asks the user for a command to run."
  ((and (guard (not magit-ediff-dwim-show-on-hunks))
(or 'unstaged 'staged))
   (setq command (if (magit-anything-unmerged-p)
-#'magit-ediff-resolve
+#'magit-ediff-resolve-rest
   #'magit-ediff-stage)))
  ('unstaged (setq command #'magit-ediff-show-unstaged))
  ('staged (setq command #'magit-ediff-show-staged))
@@ -353,7 +353,7 @@ mind at all, then it asks the user for a command to run."
  (?c "[c]ommit"  #'magit-ediff-show-commit)
  (?r "[r]ange"   #'magit-ediff-compare)
  (?s "[s]tage"   #'magit-ediff-stage)
- (?v "resol[v]e" #'magit-ediff-resolve
+ (?v "resol[v]e" #'magit-ediff-resolve-rest
  ((eq command #'magit-ediff-compare)
   (apply #'magit-ediff-compare revA revB
  (magit-ediff-read-files revA revB file)))



[nongnu] elpa/git-commit 5a7519fd3d 9/9: magit-ediff-dwim-resolve-function: New option

2022-05-16 Thread ELPA Syncer
branch: elpa/git-commit
commit 5a7519fd3d56522b1c6a1601a12ae0f4717c26a7
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

magit-ediff-dwim-resolve-function: New option
---
 docs/magit.org  |  6 ++
 docs/magit.texi |  6 ++
 lisp/magit-ediff.el | 10 +-
 3 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/docs/magit.org b/docs/magit.org
index 715703839d..062ebe82c8 100644
--- a/docs/magit.org
+++ b/docs/magit.org
@@ -3577,6 +3577,12 @@ information on how to use Ediff itself, see info:ediff.
 
   Show changes to a file introduced by a stash using Ediff.
 
+- User Option: magit-ediff-dwim-resolve-function ::
+
+  This option controls which function ~magit-ediff-dwim~ uses to resolve
+  conflicts.  One of ~magit-ediff-resolve-rest~, ~magit-ediff-resolve-all~
+  or ~magit-git-mergetool~; which are all discussed above.
+
 - User Option: magit-ediff-dwim-show-on-hunks ::
 
   This option controls what command ~magit-ediff-dwim~ calls when
diff --git a/docs/magit.texi b/docs/magit.texi
index 6823540237..f383df6553 100644
--- a/docs/magit.texi
+++ b/docs/magit.texi
@@ -4456,6 +4456,12 @@ Show changes to a file introduced by a commit using 
Ediff.
 Show changes to a file introduced by a stash using Ediff.
 @end table
 
+@defopt magit-ediff-dwim-resolve-function
+This option controls which function @code{magit-ediff-dwim} uses to resolve
+conflicts.  One of @code{magit-ediff-resolve-rest}, 
@code{magit-ediff-resolve-all}
+or @code{magit-git-mergetool}; which are all discussed above.
+@end defopt
+
 @defopt magit-ediff-dwim-show-on-hunks
 This option controls what command @code{magit-ediff-dwim} calls when
 point is on uncommitted hunks.  When nil, always run
diff --git a/lisp/magit-ediff.el b/lisp/magit-ediff.el
index 7672327603..ac9129d4b4 100644
--- a/lisp/magit-ediff.el
+++ b/lisp/magit-ediff.el
@@ -56,6 +56,14 @@ invoked using Magit."
   :options '(magit-ediff-cleanup-auxiliary-buffers
  magit-ediff-restore-previous-winconf))
 
+(defcustom magit-ediff-dwim-resolve-function #'magit-ediff-resolve-rest
+  "The function `magit-ediff-dwim' uses to resolve conflicts."
+  :package-version '(magit . "3.4.0")
+  :group 'magit-ediff
+  :type '(choice (const magit-ediff-resolve-rest)
+ (const magit-ediff-resolve-all)
+ (const magit-git-mergetool)))
+
 (defcustom magit-ediff-dwim-show-on-hunks nil
   "Whether `magit-ediff-dwim' runs show variants on hunks.
 If non-nil, `magit-ediff-show-staged' or
@@ -427,7 +435,7 @@ mind at all, then it asks the user for a command to run."
  ((and (guard (not magit-ediff-dwim-show-on-hunks))
(or 'unstaged 'staged))
   (setq command (if (magit-anything-unmerged-p)
-#'magit-ediff-resolve-rest
+magit-ediff-dwim-resolve-function
   #'magit-ediff-stage)))
  ('unstaged (setq command #'magit-ediff-show-unstaged))
  ('staged (setq command #'magit-ediff-show-staged))



[nongnu] elpa/git-commit updated (421105ef4f -> 5a7519fd3d)

2022-05-16 Thread ELPA Syncer
elpasync pushed a change to branch elpa/git-commit.

  from  421105ef4f magit-section-goto-successor(hunk): Make fourth argument 
optional
   new  efb09e8d57 magit-renamed-files: Minor tweaks
   new  ce45c43f9d magit-ediff-resolve: Move definition
   new  1e2b473f20 magit-ediff-resolve: Rename to magit-ediff-resolve-rest
   new  e2e90f7b0c magit-ediff-buffers: Cosmetics and new comments
   new  db2e9546f8 magit-ediff-buffers: Change argument order
   new  d035386e96 magit-ediff-buffers: Support merge jobs
   new  46685b1c76 magit-ediff-resolve-all: New command
   new  6fc4bacdee magit-ediff-resolve-{all,rest}: Use file at point
   new  5a7519fd3d magit-ediff-dwim-resolve-function: New option


Summary of changes:
 docs/magit.org   |  86 ---
 docs/magit.texi  |  92 
 lisp/magit-base.el   |   2 +
 lisp/magit-ediff.el  | 300 +++
 lisp/magit-extras.el |   3 +-
 lisp/magit-git.el|  17 ++-
 6 files changed, 322 insertions(+), 178 deletions(-)



[nongnu] elpa/git-commit efb09e8d57 1/9: magit-renamed-files: Minor tweaks

2022-05-16 Thread ELPA Syncer
branch: elpa/git-commit
commit efb09e8d57818894b29d87eecfb09cdab2342b4a
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

magit-renamed-files: Minor tweaks

- Assign names to components of each partition.

- Use "diff --name-status" instead of "diff-tree -r" because
  that prints less status information, all of which is discarded.
  anyway.  Cannot use "--name-only" because then only one of the
  names is printed.

- Don't use "-M" ("--find-renames") because that just doubles down
  on the default, which cannot be overwritten using configuration
  anyway.

- Use `seq-partition' instead of `-partition', and `mapcar' (along
  with `pcase-lambda') instead of `--map'.
---
 lisp/magit-git.el | 9 +
 1 file changed, 5 insertions(+), 4 deletions(-)

diff --git a/lisp/magit-git.el b/lisp/magit-git.el
index bd1fee84d3..5cb4b5e02c 100644
--- a/lisp/magit-git.el
+++ b/lisp/magit-git.el
@@ -1102,10 +1102,11 @@ range.  Otherwise, it can be any revision or range 
accepted by
 (magit-git-items "diff" "-z" "--name-only" rev-or-range other-rev)))
 
 (defun magit-renamed-files (revA revB)
-  (--map (cons (nth 1 it) (nth 2 it))
- (-partition 3 (magit-git-items
-"diff-tree" "-r" "--diff-filter=R" "-z" "-M"
-revA revB
+  (mapcar (pcase-lambda (`(,_status ,fileA ,fileB))
+(cons fileA fileB))
+  (seq-partition (magit-git-items "diff" "-z" "--name-status"
+  "--diff-filter=R" revA revB)
+ 3)))
 
 (defun magit-file-status (&rest args)
   (magit--with-temp-process-buffer



[nongnu] elpa/git-commit db2e9546f8 5/9: magit-ediff-buffers: Change argument order

2022-05-16 Thread ELPA Syncer
branch: elpa/git-commit
commit db2e9546f88d607189c58bf884ae075565305ade
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

magit-ediff-buffers: Change argument order
---
 lisp/magit-ediff.el | 140 ++--
 1 file changed, 70 insertions(+), 70 deletions(-)

diff --git a/lisp/magit-ediff.el b/lisp/magit-ediff.el
index f5f045250d..8fb98c4082 100644
--- a/lisp/magit-ediff.el
+++ b/lisp/magit-ediff.el
@@ -123,47 +123,49 @@ recommend you do not further complicate that by enabling 
this.")
 ("r" "Show range"magit-ediff-compare)
 ("z" "Show stash"magit-ediff-show-stash)]])
 
-(defmacro magit-ediff-buffers (quit &rest spec)
-  (declare (indent 1))
-  (let ((fn (if (length= spec 3) 'ediff-buffers3 'ediff-buffers))
-(char ?A)
-get make kill)
-(pcase-dolist (`(,g ,m) spec)
-  (let ((b (intern (format "buf%c" char
-(push `(,b ,g) get)
-;; This is an unfortunate complication that I have added for
-;; the benefit of one user.  Pretend we used this instead:
-;; (push `(or ,b ,m) make)
-(push `(if ,b
-   (if magit-ediff-use-indirect-buffers
-   (prog1
-   (make-indirect-buffer
-,b (generate-new-buffer-name (buffer-name ,b)) t)
- (setq ,b nil))
- ,b)
- ,m)
-  make)
-(push `(unless ,b
- (ediff-kill-buffer-carefully
-  ,(intern (format "ediff-buffer-%c" char
-  kill))
-  (cl-incf char))
+(defmacro magit-ediff-buffers (a b &optional c setup quit)
+  (let (get make kill (char ?A))
+(dolist (spec (list a b c))
+  (if (not spec)
+  (push nil make)
+(pcase-let ((`(,g ,m) spec))
+  (let ((b (intern (format "buf%c" char
+(push `(,b ,g) get)
+;; This is an unfortunate complication that I have added for
+;; the benefit of one user.  Pretend we used this instead:
+;; (push `(or ,b ,m) make)
+(push `(if ,b
+   (if magit-ediff-use-indirect-buffers
+   (prog1 (make-indirect-buffer
+   ,b
+   (generate-new-buffer-name (buffer-name ,b))
+   t)
+ (setq ,b nil))
+ ,b)
+ ,m)
+  make)
+(push `(unless ,b
+ (ediff-kill-buffer-carefully
+  ,(intern (format "ediff-buffer-%c" char
+  kill))
+  (cl-incf char
 (setq get  (nreverse get))
 (setq make (nreverse make))
 (setq kill (nreverse kill))
 `(magit-with-toplevel
(let ((conf (current-window-configuration))
  ,@get)
- (,fn
+ (ediff-buffers-internal
   ,@make
-  (list (lambda ()
+  (list ,@(and setup (list setup))
+(lambda ()
   (setq-local ediff-quit-hook
   (list ,@(and quit (list quit))
 (lambda ()
   ,@kill
   (let ((magit-ediff-previous-winconf 
conf))
 (run-hooks 
'magit-ediff-quit-hook)))
-  ',fn)
+  ,(if c 'ediff-buffers3 'ediff-buffers))
 
 ;;;###autoload
 (defun magit-ediff-resolve-rest (file)
@@ -218,21 +220,22 @@ FILE has to be relative to the top directory of the 
repository."
(bufB* (magit-find-file-index-noselect file t)))
   (setf (buffer-local-value 'buffer-read-only bufB*) nil)
   (magit-ediff-buffers
-  (lambda ()
-(when (buffer-live-p ediff-buffer-B)
-  (when lockB
-(setf (buffer-local-value 'buffer-read-only bufB) t))
-  (when (buffer-modified-p ediff-buffer-B)
-(with-current-buffer ediff-buffer-B
-  (magit-update-index
-(when (and (buffer-live-p ediff-buffer-C)
-   (buffer-modified-p ediff-buffer-C))
-  (with-current-buffer ediff-buffer-C
-(when (y-or-n-p (format "Save file %s? " buffer-file-name))
-  (save-buffer)
-(bufA bufA*)
-(bufB bufB*)
-(bufC bufC*)
+   (bufA bufA*)
+   (bufB bufB*)
+   (bufC bufC*)
+   nil
+   (lambda ()
+ (when (buffer-live-p ediff-buffer-B)
+   (when lockB
+ (setf (buffer-local-value 'buffer-read-only bufB) t))
+   (when (buffer-modified-p ediff-buffer-B)
+ (with-current-buffer ediff-buffer-B
+   (magit-update-index
+ (when (and (buffer-live-p ediff-buffer-C)
+(buffer-mo

[nongnu] elpa/git-commit e2e90f7b0c 4/9: magit-ediff-buffers: Cosmetics and new comments

2022-05-16 Thread ELPA Syncer
branch: elpa/git-commit
commit e2e90f7b0cddc4e3fda0ff561e626f698563f73a
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

magit-ediff-buffers: Cosmetics and new comments
---
 lisp/magit-ediff.el | 23 +--
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/lisp/magit-ediff.el b/lisp/magit-ediff.el
index 10396355b2..f5f045250d 100644
--- a/lisp/magit-ediff.el
+++ b/lisp/magit-ediff.el
@@ -126,11 +126,14 @@ recommend you do not further complicate that by enabling 
this.")
 (defmacro magit-ediff-buffers (quit &rest spec)
   (declare (indent 1))
   (let ((fn (if (length= spec 3) 'ediff-buffers3 'ediff-buffers))
-(char ?@)
+(char ?A)
 get make kill)
 (pcase-dolist (`(,g ,m) spec)
-  (let ((b (intern (format "buf%c" (cl-incf char)
+  (let ((b (intern (format "buf%c" char
 (push `(,b ,g) get)
+;; This is an unfortunate complication that I have added for
+;; the benefit of one user.  Pretend we used this instead:
+;; (push `(or ,b ,m) make)
 (push `(if ,b
(if magit-ediff-use-indirect-buffers
(prog1
@@ -143,7 +146,8 @@ recommend you do not further complicate that by enabling 
this.")
 (push `(unless ,b
  (ediff-kill-buffer-carefully
   ,(intern (format "ediff-buffer-%c" char
-  kill)))
+  kill))
+  (cl-incf char))
 (setq get  (nreverse get))
 (setq make (nreverse make))
 (setq kill (nreverse kill))
@@ -153,13 +157,12 @@ recommend you do not further complicate that by enabling 
this.")
  (,fn
   ,@make
   (list (lambda ()
-  (setq-local
-   ediff-quit-hook
-   (list ,@(and quit (list quit))
- (lambda ()
-   ,@kill
-   (let ((magit-ediff-previous-winconf conf))
- (run-hooks 'magit-ediff-quit-hook)))
+  (setq-local ediff-quit-hook
+  (list ,@(and quit (list quit))
+(lambda ()
+  ,@kill
+  (let ((magit-ediff-previous-winconf 
conf))
+(run-hooks 
'magit-ediff-quit-hook)))
   ',fn)
 
 ;;;###autoload



[elpa] externals/dash 759682332a: Byte-compile tests

2022-05-16 Thread ELPA Syncer
branch: externals/dash
commit 759682332a0ebd737802d9fa0a80ceedf05088b6
Author: Basil L. Contovounesios 
Commit: Basil L. Contovounesios 

Byte-compile tests

* Makefile (els): Add dev/examples.el so that it's byte-compiled.
(check): Prefer dev/examples.elc over dev/examples.el.
($(docs)): Remove redundant dependency.
(dev/dash-defs.elc, dev/examples.elc): Manually list dependencies.

* dash.el: Add pure and side-effect-free to defun-declarations-alist
as no-ops when needed, to avoid warnings in Emacsen that lack them.

(--reductions): Pacify uninitialized lexvar warnings in recent
Emacsen (issue #377).

(--splice, -splice): Reimplement the function in terms of the macro
for efficiency and to avoid unused lexvar warnings.  Expand
docstrings.

(--map-first, --map-last, --splice-list, --update-at, --split-when)
(--annotate, --find-indices, --find-index, --find-last-index)
(--sort, --max-by, --min-by, --fix, --unfold, --tree-mapreduce-from)
(--tree-mapreduce, --tree-map, --tree-reduce-from, --tree-reduce)
(--tree-map-nodes, --tree-seq): Pacify unused lexvar warnings.

(-value-to-list, -tree-mapreduce-from, -tree-mapreduce, -tree-map)
(-tree-reduce-from, -tree-reduce, -tree-map-nodes, -tree-seq):
Simplify slightly.

* dev/dash-defs.el: Load ert for the benefit of generated tests.
(dash--example-to-test): Remove eval needed in old Emacsen; call it
on a case-by-case basis instead.
(defexamples): Ensure ert-deftest bodies are nonempty.
(dash--describe, dash--lisp-to-md): Move defvar declarations to
top-level or else old Emacsen will complain.

* dev/examples.el: Work around https://bugs.gnu.org/14883 by
enabling byte-compile-delete-errors as needed.
(dash-expand:&hash-or-plist): Wrap in eval-when-compile.
(-splice): Extend tests.
(-map-when, -flatten-n, -list, -some-->, -when-let, -let, -let*)
(-lambda, -setq): Pacify or work around byte-compiler warnings or
errors.

* README.md:
* dash.texi: Regenerate docs.
---
 Makefile |  11 ++--
 README.md|  23 ---
 dash.el  | 185 +--
 dash.texi|  27 
 dev/dash-defs.el |  20 +++---
 dev/examples.el  | 137 
 6 files changed, 261 insertions(+), 142 deletions(-)

diff --git a/Makefile b/Makefile
index b5e82c7d34..2bdde18f93 100644
--- a/Makefile
+++ b/Makefile
@@ -19,7 +19,7 @@
 
 EMACS ?= emacs
 batch := $(EMACS) -Q -batch -L .
-els := dash.el dev/dash-defs.el
+els := dash.el dev/dash-defs.el dev/examples.el
 elcs := $(addsuffix c,$(els))
 docs := README.md dash.texi
 tmpls := readme-template.md dash-template.texi $(wildcard doc/*.texi)
@@ -42,7 +42,7 @@ force-docs: maintainer-clean docs
 check: ERT_SELECTOR ?= t
 check: run := '(ert-run-tests-batch-and-exit (quote $(ERT_SELECTOR)))'
 check: lisp
-   EMACS_TEST_VERBOSE=1 $(batch) -l dev/examples.el -eval $(run)
+   EMACS_TEST_VERBOSE=1 $(batch) -l dev/examples -eval $(run)
 .PHONY: check
 
 all: lisp docs check
@@ -68,5 +68,8 @@ maintainer-clean: clean
 %.elc: %.el
$(batch) -eval $(WERROR) -f batch-byte-compile $<
 
-$(docs) &: dev/examples.el $(elcs) $(tmpls)
-   $(batch) -l $< -f dash-make-docs
+$(docs) &: $(elcs) $(tmpls)
+   $(batch) -l dev/examples -f dash-make-docs
+
+dev/dash-defs.elc: dash.elc
+dev/examples.elc: dash.elc dev/dash-defs.elc
diff --git a/README.md b/README.md
index bfb20ea3f9..0611975608 100644
--- a/README.md
+++ b/README.md
@@ -477,20 +477,25 @@ element of `list` paired with the unmodified element of 
`list`.
 
  -splice `(pred fun list)`
 
-Splice lists generated by `fun` in place of elements matching `pred` in `list`.
+Splice lists generated by `fun` in place of items satisfying `pred` in `list`.
 
-`fun` takes the element matching `pred` as input.
+Call `pred` on each element of `list`.  Whenever the result of `pred`
+is `nil`, leave that `it` as-is.  Otherwise, call `fun` on the same
+`it` that satisfied `pred`.  The result should be a (possibly
+empty) list of items to splice in place of `it` in `list`.
 
-This function can be used as replacement for `,@` in case you
-need to splice several lists at marked positions (for example
-with keywords).
+This can be useful as an alternative to the `,@` construct in a
+``' structure, in case you need to splice several lists at
+marked positions (for example with keywords).
 
-See also: [`-splice-list`](#-splice-list-pred-new-list-list), 
[`-insert-at`](#-insert-at-n-x-list)
+This function's anaphoric counterpart is `--splice`.
+
+See also: [`-splice-list`](#-splice-list-pred-new-list-list), 
[`-insert-at`](#-insert-at-n-x-list).
 
 ```el
-(-splice 'even? (lambda (x) (list x x)) '(1 2 3 4)) ;; => (1 2 2 3 4 4)
-(--splice 't (list it it) '(1 2 3 4)) ;; => (1 1 2 2 3 3 4 4)
-(--splice (equal it :magic) '((list of) (magical) (co

[nongnu] elpa/xah-fly-keys updated (e4db51a90d -> 9e4d32ad02)

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

  from  e4db51a90d if in emacs 28, xah-open-file-fast is now just alias to 
bookmark-jump, because fido-vertical-mode made xah-open-file-fast unnecessary
   new  2f079562d1 Xah-reformat-lines now first change to short lines. 
Also, default to to 66 not 70. xah-upcase-sentence now move cursor to next 
paragraph.
   new  33820f392e make some command error message print the command name.
   new  c6f59da2c9 minor refactor emacs version checking code. thanks to 
Stefan Monnier
   new  9e4d32ad02 removed xah-open-file-fast and associated code. in emacs 
28, use bookmark-jump and turn on fido-vertical-mode


Summary of changes:
 xah-fly-keys.el | 123 +++-
 1 file changed, 51 insertions(+), 72 deletions(-)



[nongnu] elpa/xah-fly-keys c6f59da2c9 3/4: minor refactor emacs version checking code. thanks to Stefan Monnier

2022-05-16 Thread ELPA Syncer
branch: elpa/xah-fly-keys
commit c6f59da2c91027061275972a62a82f841f16d7f8
Author: Xah Lee 
Commit: Xah Lee 

minor refactor emacs version checking code. thanks to Stefan Monnier
---
 xah-fly-keys.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/xah-fly-keys.el b/xah-fly-keys.el
index 829c31b186..64fe9f7465 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: 17.8.20220516181442
+;; Version: 17.8.20220516182155
 ;; Created: 10 Sep 2013
 ;; Package-Requires: ((emacs "24.1"))
 ;; Keywords: convenience, emulations, vim, ergoemacs
@@ -2302,7 +2302,7 @@ Version: 2019-02-26 2022-04-07"
   (let (($xBookmark (completing-read "Open bookmark:" (mapcar (lambda ($x) 
(car $x)) bookmark-alist
 (find-file (bookmark-get-filename $xBookmark
 
-(if (version< emacs-version "28.1")
+(if (<= emacs-major-version 28)
 nil
   (defalias 'xah-open-file-fast 'bookmark-jump))
 
@@ -4325,7 +4325,7 @@ minor modes loaded later may override bindings in this 
map.")
("t" . xref-find-definitions)
("n" . xref-pop-marker-stack)))
 
-(when (version< emacs-version "28.1")
+(when (<= emacs-major-version 28)
   (defalias 'execute-extended-command-for-buffer 'execute-extended-command))
 
 (xah-fly--define-keys



[nongnu] elpa/xah-fly-keys 9e4d32ad02 4/4: removed xah-open-file-fast and associated code. in emacs 28, use bookmark-jump and turn on fido-vertical-mode

2022-05-16 Thread ELPA Syncer
branch: elpa/xah-fly-keys
commit 9e4d32ad028649786557858366acf1cd9793d338
Author: Xah Lee 
Commit: Xah Lee 

removed xah-open-file-fast and associated code. in emacs 28, use 
bookmark-jump and turn on fido-vertical-mode
---
 xah-fly-keys.el | 26 ++
 1 file changed, 2 insertions(+), 24 deletions(-)

diff --git a/xah-fly-keys.el b/xah-fly-keys.el
index 64fe9f7465..307e3b00a2 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: 17.8.20220516182155
+;; Version: 17.9.20220516184525
 ;; Created: 10 Sep 2013
 ;; Package-Requires: ((emacs "24.1"))
 ;; Keywords: convenience, emulations, vim, ergoemacs
@@ -2284,28 +2284,6 @@ Version: 2016-06-19"
 (mapc (lambda ($f) (insert (cdr $f) "\n"))
   xah-recently-closed-buffers)))
 
-(declare-function bookmark-maybe-load-default-file "bookmark" ())
-(defvar bookmark-alist)
-(declare-function bookmark-get-filename "bookmark" (bookmark-name-or-record))
-
-(defun xah-open-file-fast ()
-  "Prompt to open a file from bookmark `bookmark-bmenu-list'.
-This command is similar to `bookmark-jump'.
-
-Note: this command is obsolete in emacs 28.1. Use `bookmark-jump' instead and 
turn on `fido-vertical-mode'. The purpose of `xah-open-file-fast' was using ido 
interface for flex matching. Now it's no longer needed.
-
-URL `http://xahlee.info/emacs/emacs/emacs_hotkey_open_file_fast.html'
-Version: 2019-02-26 2022-04-07"
-  (interactive)
-  (require 'bookmark)
-  (bookmark-maybe-load-default-file)
-  (let (($xBookmark (completing-read "Open bookmark:" (mapcar (lambda ($x) 
(car $x)) bookmark-alist
-(find-file (bookmark-get-filename $xBookmark
-
-(if (<= emacs-major-version 28)
-nil
-  (defalias 'xah-open-file-fast 'bookmark-jump))
-
 (defvar xah-open-file-at-cursor-pre-hook nil "Hook for 
`xah-open-file-at-cursor'. Functions in the hook will be called in order, each 
given the path as arg. The first return non-nil, its value is given to 
`xah-open-file-at-cursor' as input. This is useful for transforming certain url 
into file path (your website url), so instead of opening in browser, it opens 
in emacs as file.")
 
 (defun xah-open-file-at-cursor ()
@@ -4038,7 +4016,7 @@ minor modes loaded later may override bindings in this 
map.")
("o" . xah-show-in-desktop)
("p" . xah-open-last-closed)
("q" . nil)
-   ("r" . xah-open-file-fast)
+   ("r" . bookmark-jump)
("s" . write-file)
("t" . nil)
("u" . xah-open-file-at-cursor)



[nongnu] elpa/xah-fly-keys 33820f392e 2/4: make some command error message print the command name.

2022-05-16 Thread ELPA Syncer
branch: elpa/xah-fly-keys
commit 33820f392e185b123d3913aefafebb1d26787c8c
Author: Xah Lee 
Commit: Xah Lee 

make some command error message print the command name.
---
 xah-fly-keys.el | 22 +++---
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/xah-fly-keys.el b/xah-fly-keys.el
index b8f12ccbeb..829c31b186 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: 17.8.20220516180308
+;; Version: 17.8.20220516181442
 ;; Created: 10 Sep 2013
 ;; Package-Requires: ((emacs "24.1"))
 ;; Keywords: convenience, emulations, vim, ergoemacs
@@ -1503,7 +1503,7 @@ Version: 2017-01-11"
 If not in `dired', do nothing.
 
 URL 
`http://xahlee.info/emacs/emacs/elisp_dired_rename_space_to_underscore.html'
-Version: 2016-10-04 2020-03-03"
+Version: 2016-10-04 2020-03-03 2022-05-16"
   (interactive)
   (require 'dired-aux)
   (if (eq major-mode 'dired-mode)
@@ -1515,14 +1515,14 @@ Version: 2016-10-04 2020-03-03"
 ;; (dired-next-line 1)
 (revert-buffer)
 )
-(user-error "Not in dired")))
+(user-error "%s: Not in dired" real-this-command)))
 
 (defun xah-dired-rename-space-to-hyphen ()
   "In dired, rename current or marked files by replacing space to hyphen -.
 If not in `dired', do nothing.
 
 URL 
`http://xahlee.info/emacs/emacs/elisp_dired_rename_space_to_underscore.html'
-Version: 2016-10-04 2019-11-24"
+Version: 2016-10-04 2019-11-24 2022-05-16"
   (interactive)
   (require 'dired-aux)
   (if (eq major-mode 'dired-mode)
@@ -1532,7 +1532,7 @@ Version: 2016-10-04 2019-11-24"
   (dired-rename-file x (replace-regexp-in-string " " "-" x) 
nil)))
   (dired-get-marked-files ))
 (revert-buffer))
-(user-error "Not in dired")))
+(user-error "%s: Not in dired" real-this-command)))
 
 (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.
@@ -2010,7 +2010,7 @@ when there is no selection,
 when there is a selection, the selection extension behavior is still 
experimental. But when cursor is on a any type of bracket (parenthesis, quote), 
it extends selection to outer bracket.
 
 URL `http://xahlee.info/emacs/emacs/modernization_mark-word.html'
-Version: 2020-02-04"
+Version: 2020-02-04 2022-05-16"
   (interactive)
   (if (region-active-p)
   (progn
@@ -2054,7 +2054,7 @@ Version: 2020-02-04"
 ;; (message "multiple lines but end is not eol. make 
it so" )
 (goto-char $re)
 (end-of-line)
- (t (error "logic error 42946" ))
+ (t (error "%s: logic error 42946" real-this-command ))
((and (> (point) (line-beginning-position)) (<= (point) 
(line-end-position)))
 (progn
   ;; (message "less than 1 line" )
@@ -2460,7 +2460,7 @@ File suffix is used to determine which program to run, 
set in the variable `xah-
 If the file is modified or not saved, save it automatically before run.
 
 URL `http://xahlee.info/emacs/emacs/elisp_run_current_file.html'
-Version: 2020-09-24 2021-01-21 2021-10-27 2022-02-12"
+Version: 2020-09-24 2021-01-21 2021-10-27 2022-02-12 2022-05-16"
   (interactive)
   (setenv "NO_COLOR" "1")
   (let (($outBuffer "*xah-run output*")
@@ -2488,7 +2488,7 @@ Version: 2020-09-24 2021-01-21 2021-10-27 2022-02-12"
 (progn
   (message "Running")
   (shell-command $cmdStr $outBuffer))
-  (error "Unknown file extension: %s" $fExt
+  (error "%s: Unknown file extension: %s" real-this-command $fExt
  ((string-equal $fExt "java")
   (progn
 (shell-command (format "javac %s" $fname) $outBuffer)
@@ -2498,7 +2498,7 @@ Version: 2020-09-24 2021-01-21 2021-10-27 2022-02-12"
 (progn
   (message "Running 「%s」" $cmdStr)
   (shell-command $cmdStr $outBuffer))
-  (error "Unknown file extension: %s" $fExt
+  (error "%s: Unknown file extension: %s" real-this-command $fExt
 (run-hooks 'xah-run-current-file-after-hook))
   (setenv "NO_COLOR"))
 
@@ -2570,7 +2570,7 @@ Version: 2018-06-06 2020-12-18"
   (copy-file $x $backupName t)))
   (dired-get-marked-files))
 (revert-buffer))
-(user-error "buffer not file nor dired")
+(user-error "%s: buffer not file nor dired" real-this-command)
 
 (defun xah-make-backup-and-save ()
   "Backup of current file and save, or backup dired marked files.



[nongnu] elpa/xah-fly-keys 2f079562d1 1/4: Xah-reformat-lines now first change to short lines. Also, default to to 66 not 70. xah-upcase-sentence now move cursor to next paragraph.

2022-05-16 Thread ELPA Syncer
branch: elpa/xah-fly-keys
commit 2f079562d1b7275f4e5dad30799a38d8d8c84d02
Author: Xah Lee 
Commit: Xah Lee 

Xah-reformat-lines now first change to short lines. Also, default to to 66 
not 70. xah-upcase-sentence now move cursor to next paragraph.
---
 xah-fly-keys.el | 77 +
 1 file changed, 39 insertions(+), 38 deletions(-)

diff --git a/xah-fly-keys.el b/xah-fly-keys.el
index d18f1c59d0..b8f12ccbeb 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: 17.7.20220429090059
+;; Version: 17.8.20220516180308
 ;; Created: 10 Sep 2013
 ;; Package-Requires: ((emacs "24.1"))
 ;; Keywords: convenience, emulations, vim, ergoemacs
@@ -894,38 +894,39 @@ Version: 2015-12-22"
   "Upcase first letters of sentences of current block or selection.
 
 URL `http://xahlee.info/emacs/emacs/emacs_upcase_sentence.html'
-Version: 2020-12-08 2020-12-24 2021-08-13"
+Version: 2020-12-08 2020-12-24 2021-08-13 2022-05-16"
   (interactive)
   (let ($p1 $p2)
 (let (($bds (xah-get-bounds-of-block-or-region))) (setq $p1 (car $bds) $p2 
(cdr $bds)))
-(save-excursion
-  (save-restriction
-(narrow-to-region $p1 $p2)
-(let ((case-fold-search nil))
-  ;; after period or question mark or exclamation
-  (goto-char (point-min))
-  (while (re-search-forward "\\(\\.\\|\\?\\|!\\)[ \n]+ *\\([a-z]\\)" 
nil 1)
-(upcase-region (match-beginning 2) (match-end 2))
-(overlay-put (make-overlay (match-beginning 2) (match-end 2)) 
'face 'highlight))
-  ;; after a blank line, after a bullet, or beginning of buffer
+(save-restriction
+  (narrow-to-region $p1 $p2)
+  (let ((case-fold-search nil))
+;; after period or question mark or exclamation
+(goto-char (point-min))
+(while (re-search-forward "\\(\\.\\|\\?\\|!\\)[ \n]+ *\\([a-z]\\)" nil 
1)
+  (upcase-region (match-beginning 2) (match-end 2))
+  (overlay-put (make-overlay (match-beginning 2) (match-end 2)) 'face 
'highlight))
+;; after a blank line, after a bullet, or beginning of buffer
+(goto-char (point-min))
+(while (re-search-forward "\\(\\`\\|• \\|\n\n\\)\\([a-z]\\)" nil 1)
+  (upcase-region (match-beginning 2) (match-end 2))
+  (overlay-put (make-overlay (match-beginning 2) (match-end 2)) 'face 
'highlight))
+;; for HTML. first letter after tag
+(when
+(or
+ (eq major-mode 'xah-html-mode)
+ (eq major-mode 'html-mode)
+ (eq major-mode 'sgml-mode)
+ (eq major-mode 'nxml-mode)
+ (eq major-mode 'xml-mode)
+ (eq major-mode 'mhtml-mode))
   (goto-char (point-min))
-  (while (re-search-forward "\\(\\`\\|• \\|\n\n\\)\\([a-z]\\)" nil 1)
+  (while
+  (re-search-forward "\\([ \n]?\\|[ \n]?\\|[ 
\n]?\\|[ \n]?\\|[ \n]?\\|[ \n]?\\|[ 
\n]?\\)\\([a-z]\\)" nil 1)
 (upcase-region (match-beginning 2) (match-end 2))
-(overlay-put (make-overlay (match-beginning 2) (match-end 2)) 
'face 'highlight))
-  ;; for HTML. first letter after tag
-  (when
-  (or
-   (eq major-mode 'xah-html-mode)
-   (eq major-mode 'html-mode)
-   (eq major-mode 'sgml-mode)
-   (eq major-mode 'nxml-mode)
-   (eq major-mode 'xml-mode)
-   (eq major-mode 'mhtml-mode))
-(goto-char (point-min))
-(while
-(re-search-forward "\\([ \n]?\\|[ \n]?\\|[ 
\n]?\\|[ \n]?\\|[ \n]?\\|[ \n]?\\|[ 
\n]?\\)\\([a-z]\\)" nil 1)
-  (upcase-region (match-beginning 2) (match-end 2))
-  (overlay-put (make-overlay (match-beginning 2) (match-end 2)) 
'face 'highlight
+(overlay-put (make-overlay (match-beginning 2) (match-end 2)) 
'face 'highlight
+  (goto-char (point-max)))
+(skip-chars-forward " \n\t")))
 
 (defun xah-title-case-region-or-line (&optional Begin End)
   "Title case text between nearest brackets, or current line or selection.
@@ -1194,21 +1195,21 @@ Version: 2018-12-16 2021-07-06 2021-08-12"
 (replace-match "\n" )))
 
 (defun xah-reformat-lines (&optional Width)
-  "Reformat current block or selection into 1 long line or short lines.
-When called for the first time, change to one long line. Second call change it 
to short lines. Repeated call toggles.
+  "Reformat current block or selection into short lines or 1 long line.
+When called for the first time, change to short lines. Second call change it 
to one long line. Repeated call toggles.
 If `universal-argument' is called first, ask user to type max length of line. 
By default, it is 70.
 
-Note: this command is different from emacs `fill-region' and related commands.
-This command, never adds or delete chars. It only e

[elpa] externals/tmr 4a8e0b2566: tmr: Fix tmr--read-timer

2022-05-16 Thread ELPA Syncer
branch: externals/tmr
commit 4a8e0b2566b97cc947c80309fe575d21c02d36b2
Author: Damien Cassou 
Commit: Protesilaos Stavrou 

tmr: Fix tmr--read-timer

The key should be the same as the formatter for cl-find to find the
timer from its printed description.
---
 tmr.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tmr.el b/tmr.el
index d016fccd25..5a54438146 100644
--- a/tmr.el
+++ b/tmr.el
@@ -243,7 +243,7 @@ completion candidates."
   (let* ((formatter (or description #'tmr--long-description))
  (timer-descriptions (mapcar formatter timers))
  (selection (completing-read "Timer: " timer-descriptions nil t)))
-(cl-find selection timers :test #'string= :key 
#'tmr--long-description))
+(cl-find selection timers :test #'string= :key formatter))
 
 (defun tmr-print-message-for-created-timer (timer)
   "Show a `message' informing the user that TIMER was created."



[elpa] externals/org 2778972509: org-fold--reveal-outline-maybe: Prevent wrong-side-of-point error

2022-05-16 Thread ELPA Syncer
branch: externals/org
commit 27789725093f483c2d123b4e90776ea1f67f3b61
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-fold--reveal-outline-maybe: Prevent wrong-side-of-point error

* lisp/org-fold.el (org-fold--reveal-outline-maybe): Fix scenario when
point is moved beyond REGION.
---
 lisp/org-fold.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lisp/org-fold.el b/lisp/org-fold.el
index 43ebe7acca..c5542b92eb 100644
--- a/lisp/org-fold.el
+++ b/lisp/org-fold.el
@@ -958,8 +958,9 @@ This function is intended to be used as :fragile property of
  ;; Never hide level 1 headlines
  (save-excursion
(goto-char (line-end-position))
-   (when (re-search-forward (rx bol "* ") (cdr region) t)
- (org-fold-region (match-beginning 0) (line-end-position) nil 
'headline)))
+   (unless (>= (point) (cdr region))
+ (when (re-search-forward (rx bol "* ") (cdr region) t)
+   (org-fold-region (match-beginning 0) (line-end-position) nil 
'headline
  ;; Check the validity of headline
  (unless (let ((case-fold-search t))
   (looking-at (rx-to-string



[elpa] externals/tmr de1fe89370: Makefile: use latest makel version

2022-05-16 Thread ELPA Syncer
branch: externals/tmr
commit de1fe89370fb66a1d623f125036806983bcf0cae
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Makefile: use latest makel version
---
 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 2ab12aa2a1..b4ed44e0fd 100644
--- a/Makefile
+++ b/Makefile
@@ -14,7 +14,7 @@ makel.mk:
curl \
--fail --silent --show-error --insecure --location \
--retry 9 --retry-delay 9 \
-   -O 
https://gitlab.petton.fr/DamienCassou/makel/raw/v0.7.1/makel.mk; \
+   -O 
https://gitlab.petton.fr/DamienCassou/makel/raw/v0.8.0/makel.mk; \
fi
 
 # Include makel.mk if present