[elpa] externals/hyperbole 538434e882 1/2: Clean up test containers and volumes (#585)

2024-09-08 Thread ELPA Syncer
branch: externals/hyperbole
commit 538434e882798dc76c914ce01ae7f5070d628385
Author: Mats Lidell 
Commit: GitHub 

Clean up test containers and volumes (#585)
---
 ChangeLog | 5 +
 Makefile  | 6 +++---
 2 files changed, 8 insertions(+), 3 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 9a4c5c60c8..75ff4808a6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2024-09-07  Mats Lidell  
+
+* Makefile (docker, docker-run): Use "--rm" option so the short lived
+container and its volumes are removed on exit.
+
 2024-09-01  Bob Weiner  
 
 * man/dir (File): Narrow width to better fit with out Info entries.
diff --git a/Makefile b/Makefile
index 2dcac9dcfb..1a1dbf9943 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,7 @@
 # Author:   Bob Weiner
 #
 # Orig-Date:15-Jun-94 at 03:42:38
-# Last-Mod: 24-Aug-24 at 10:41:04 by Mats Lidell
+# Last-Mod:  7-Sep-24 at 16:29:00 by Mats Lidell
 #
 # Copyright (C) 1994-2023  Free Software Foundation, Inc.
 # See the file HY-COPY for license information.
@@ -609,10 +609,10 @@ DOCKER_VERSION = master-ci
 endif
 
 docker: docker-update
-   docker run -v $$(pwd):/hypb -v /tmp:/hypb-tmp -it 
silex/emacs:${DOCKER_VERSION} bash -c "cp -a /hypb /hyperbole && make -C 
hyperbole ${DOCKER_TARGETS}"
+   docker run -v $$(pwd):/hypb -v /tmp:/hypb-tmp -it --rm 
silex/emacs:${DOCKER_VERSION} bash -c "cp -a /hypb /hyperbole && make -C 
hyperbole ${DOCKER_TARGETS}"
 
 docker-run: docker-update
-   docker run -v $$(pwd):/hypb -v /tmp:/hypb-tmp -it 
silex/emacs:${DOCKER_VERSION}
+   docker run -v $$(pwd):/hypb -v /tmp:/hypb-tmp -it --rm 
silex/emacs:${DOCKER_VERSION}
 
 # Update the docker image for the specified version of Emacs
 docker-update:



[elpa] externals/hyperbole updated (64294de59f -> 25ad337b6b)

2024-09-08 Thread ELPA Syncer
elpasync pushed a change to branch externals/hyperbole.

  from  64294de59f Merge pull request #584 from rswgnu/rsw
   new  538434e882 Clean up test containers and volumes (#585)
   new  25ad337b6b Add hyp-manual test (#586)


Summary of changes:
 ChangeLog  |  9 +
 Makefile   |  6 +++---
 test/hibtypes-tests.el | 16 +++-
 3 files changed, 27 insertions(+), 4 deletions(-)



[elpa] externals/hyperbole 25ad337b6b 2/2: Add hyp-manual test (#586)

2024-09-08 Thread ELPA Syncer
branch: externals/hyperbole
commit 25ad337b6be9ebe59ec0925a4ab0095ad7743dc2
Author: Mats Lidell 
Commit: GitHub 

Add hyp-manual test (#586)
---
 ChangeLog  |  4 
 test/hibtypes-tests.el | 16 +++-
 2 files changed, 19 insertions(+), 1 deletion(-)

diff --git a/ChangeLog b/ChangeLog
index 75ff4808a6..10f437052d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2024-09-08  Mats Lidell  
+
+* test/hibtypes-tests.el (ibtypes::hyp-manual-test): Add test.
+
 2024-09-07  Mats Lidell  
 
 * Makefile (docker, docker-run): Use "--rm" option so the short lived
diff --git a/test/hibtypes-tests.el b/test/hibtypes-tests.el
index acac882990..3998c5bd73 100644
--- a/test/hibtypes-tests.el
+++ b/test/hibtypes-tests.el
@@ -3,7 +3,7 @@
 ;; Author:   Mats Lidell 
 ;;
 ;; Orig-Date:20-Feb-21 at 23:45:00
-;; Last-Mod: 10-Aug-24 at 23:27:05 by Mats Lidell
+;; Last-Mod:  8-Sep-24 at 00:48:52 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -190,6 +190,20 @@
 (buffer-live-p visited-buf))
(kill-buffer visited-buf)
 
+;; hyp-manual
+(ert-deftest ibtypes::hyp-manual-test ()
+  "Verify ibut for Hyperbole manual file path."
+  (with-temp-buffer
+(insert "\"hyperbole.html#Smart Keys\"")
+(goto-char 2)
+(mocklet (((actypes::www-url (concat "file://" (expand-file-name 
"hyperbole.html" (hpath:expand "${hyperb:dir}/man/")) "#Smart-Keys")) => t))
+  (ibtypes::hyp-manual)))
+  (with-temp-buffer
+(insert "\"hyperbole.texi#Smart Keys\"")
+(goto-char 2)
+(mocklet (((actypes::link-to-file (concat (expand-file-name 
"hyperbole.texi" (hpath:expand "${hyperb:dir}/man/")) "#Smart Keys")) => t))
+  (ibtypes::hyp-manual
+
 ;; markdown
 ; Can't find out how to use the markdown-internal-link ibtypes!?
 



[elpa] externals/phpinspect db0924aaaa: Add avl-tree benchmark for comparison to splay-tree (+ add random-access pass)

2024-09-08 Thread ELPA Syncer
branch: externals/phpinspect
commit db0924c3165e5df014c8fde329dc7cf77e02
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Add avl-tree benchmark for comparison to splay-tree (+ add random-access 
pass)
---
 benchmarks/splay-tree.el | 124 +++
 1 file changed, 124 insertions(+)

diff --git a/benchmarks/splay-tree.el b/benchmarks/splay-tree.el
index ef350f8267..5d8afbf15e 100644
--- a/benchmarks/splay-tree.el
+++ b/benchmarks/splay-tree.el
@@ -25,6 +25,22 @@
 
 (require 'phpinspect-splayt)
 
+(defun swap (LIST el1 el2)
+  "in LIST swap indices EL1 and EL2 in place"
+  (let ((tmp (elt LIST el1)))
+(setf (elt LIST el1) (elt LIST el2))
+(setf (elt LIST el2) tmp)))
+
+(defun shuffle (LIST)
+  "Shuffle the elements in LIST.
+shuffling is done in place."
+  (cl-loop for i in (reverse (number-sequence 1 (1- (length LIST
+do (let ((j (random (+ i 1
+ (swap LIST i j)))
+  LIST)
+
+(defconst phpi-randomized-access (shuffle (number-sequence 0 1)))
+
 (let ((tree (phpinspect-make-splayt))
   result)
   (message "Splay tree 1 insertions:")
@@ -48,6 +64,28 @@
   (message "Elapsed time: %f (%f in %d GC's)"
(car result) (caddr result) (cadr result))
 
+  (message "Splay tree 1 randomized lookups:")
+  (garbage-collect)
+  (setq result
+(benchmark-run 1
+  (dolist (i phpi-randomized-access)
+(phpinspect-splayt-find tree i
+
+  (message "Elapsed time: %f (%f in %d GC's)"
+   (car result) (caddr result) (cadr result))
+
+  (message "Splay tree 1 repeated (constant number 5) lookups:")
+  (garbage-collect)
+  (setq result
+(benchmark-run 1
+  (dotimes (_i 1)
+(phpinspect-splayt-find tree 5
+
+  (message "Elapsed time: %f (%f in %d GC's)"
+   (car result) (caddr result) (cadr result))
+
+
+
   (message "Splay tree 1 items traversal:")
   (garbage-collect)
   (setq result
@@ -101,3 +139,89 @@
 
   (message "Elapsed time: %f (%f in %d GC's)"
(car result) (caddr result) (cadr result)))
+
+
+(require 'avl-tree)
+(let ((avl-tree (avl-tree-create #'car-less-than-car))
+  result)
+  (message "AVL tree 1 insertions:")
+  (garbage-collect)
+
+  (setq result
+(benchmark-run 1
+  (dotimes (i 1)
+(avl-tree-enter avl-tree (cons i 'value)
+
+  (message "Elapsed time: %f (%f in %d GC's)"
+   (car result) (caddr result) (cadr result))
+
+  (message "AVL tree 1 lookups:")
+  (garbage-collect)
+  (setq result
+(benchmark-run 1
+  (dotimes (i 1)
+(avl-tree-member avl-tree (cons i nil)
+
+  (message "Elapsed time: %f (%f in %d GC's)"
+   (car result) (caddr result) (cadr result))
+
+  (message "AVL tree 1 randomized lookups:")
+  (garbage-collect)
+  (setq result
+(benchmark-run 1
+  (dolist (i phpi-randomized-access)
+(avl-tree-member avl-tree (cons i nil)
+
+  (message "Elapsed time: %f (%f in %d GC's)"
+   (car result) (caddr result) (cadr result))
+
+  (message "AVL tree 1 repeated (constant number 5) lookups:")
+  (garbage-collect)
+  (setq result
+(benchmark-run 1
+  (dotimes (_i 1)
+(avl-tree-member avl-tree (cons 5 nil)
+
+  (message "Elapsed time: %f (%f in %d GC's)"
+   (car result) (caddr result) (cadr result))
+
+  (message "AVL tree 1 items LR traversal:")
+  (garbage-collect)
+  (setq result
+(benchmark-run 1
+  (iter-do (i (avl-tree-iter avl-tree))
+(ignore i
+
+  (message "Elapsed time: %f (%f in %d GC's)"
+   (car result) (caddr result) (cadr result)))
+
+;; Results (ran at [2024-09-08 12:38])
+
+;; Splay tree 1 insertions:
+;; Elapsed time: 0.006082 (0.00 in 0 GC’s)
+;; Splay tree 1 lookups:
+;; Elapsed time: 0.003710 (0.00 in 0 GC’s)
+;; Splay tree 1 randomized lookups:
+;; Elapsed time: 0.021548 (0.00 in 0 GC’s)
+;; Splay tree 1 repeated (constant number 5) lookups:
+;; Elapsed time: 0.000574 (0.00 in 0 GC’s)
+;; Splay tree 1 items traversal:
+;; Elapsed time: 0.170038 (0.108029 in 3 GC’s)
+;; Splay tree 1 items LR traversal:
+;; Elapsed time: 0.000919 (0.00 in 0 GC’s)
+;; Hashtable 1 insertions:
+;; Elapsed time: 0.000757 (0.00 in 0 GC’s)
+;; Hashtable 1 lookups:
+;; Elapsed time: 0.000253 (0.00 in 0 GC’s)
+;; Hashtable 1 iterations:
+;; Elapsed time: 0.000137 (0.00 in 0 GC’s)
+;; AVL tree 1 insertions:
+;; Elapsed time: 0.010190 (0.00 in 0 GC’s)
+;; AVL tree 1 lookups:
+;; Elapsed time: 0.003857 (0.00 in 0 GC’s)
+;; AVL tree 1 randomized lookups:
+;; Elapsed time: 0.004604 (0.00 in 0 GC’s)
+;; AVL tree 1 repeated (constant number 5) lookups:
+;; Elapsed time: 0.003011 (0.00 in 0 GC’s)
+;; AVL tree 1 items LR traversal:
+;; Elapsed time: 0.005048 (0.00 in 0 GC’s)



[elpa] externals/taxy-magit-section 2f65ddb250 1/4: Meta: v0.14.1-pre

2024-09-08 Thread ELPA Syncer
branch: externals/taxy-magit-section
commit 2f65ddb250723d18d60f7b3000a6a1624c4f48f0
Author: Adam Porter 
Commit: Adam Porter 

Meta: v0.14.1-pre
---
 README.org| 4 
 taxy-magit-section.el | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/README.org b/README.org
index 980e0a1007..24416d7bce 100644
--- a/README.org
+++ b/README.org
@@ -32,6 +32,10 @@ This library renders 
[[https://github.com/alphapapa/taxy.el][Taxy]] structs with
 :TOC:  :depth 0
 :END:
 
+** 0.14.1-pre
+
+Nothing new yet.
+
 ** 0.14
 
 *Fixes*
diff --git a/taxy-magit-section.el b/taxy-magit-section.el
index 8792f0b392..59944d8081 100644
--- a/taxy-magit-section.el
+++ b/taxy-magit-section.el
@@ -5,7 +5,7 @@
 ;; Author: Adam Porter 
 ;; Maintainer: Adam Porter 
 ;; URL: https://github.com/alphapapa/taxy.el
-;; Version: 0.14
+;; Version: 0.14.1-pre
 ;; Package-Requires: ((emacs "26.3") (magit-section "3.2.1") (taxy "0.10"))
 ;; Keywords: lisp
 



[elpa] externals/taxy-magit-section 0dc1c2a4af 2/4: Fix: (taxy-magit-section-define-column-definer) Don't pass ellipsis

2024-09-08 Thread ELPA Syncer
branch: externals/taxy-magit-section
commit 0dc1c2a4af2957248e15d99d1868fc9eeea6d844
Author: Adam Porter 
Commit: Adam Porter 

Fix: (taxy-magit-section-define-column-definer) Don't pass ellipsis

Don't pass string as ELLIPSIS argument to TRUNCATE-STRING-TO-WIDTH;
instead pass t, which defaults to value of variable
TRUNCATE-STRING-ELLIPSIS.

The width of the string passed before, the U+2026 HORIZONTAL ELLIPSIS
character, varies by font, and fonts which display it with a width
different than that of a single space cause misalignment of columns.

Now users may specify the ellipsis string according to their needs.
---
 README.org| 3 ++-
 taxy-magit-section.el | 9 +++--
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/README.org b/README.org
index 24416d7bce..c11baaf67e 100644
--- a/README.org
+++ b/README.org
@@ -34,7 +34,8 @@ This library renders 
[[https://github.com/alphapapa/taxy.el][Taxy]] structs with
 
 ** 0.14.1-pre
 
-Nothing new yet.
+*Fixes*
++ Don't pass string as ~ELLIPSIS~ argument to ~truncate-string-to-width~; pass 
t, which defaults to value of variable ~truncate-string-ellipsis~.  (The width 
of the string passed before, the U+2026 HORIZONTAL ELLIPSIS character, varies 
by font, and fonts which display it with a width different than that of a 
single space cause misalignment of columns.  Now users may specify the ellipsis 
string according to their needs.)
 
 ** 0.14
 
diff --git a/taxy-magit-section.el b/taxy-magit-section.el
index 59944d8081..8fd7fcfb85 100644
--- a/taxy-magit-section.el
+++ b/taxy-magit-section.el
@@ -322,8 +322,13 @@ PLIST may be a plist setting the following options:
 ;; calculates widths, I don't see much 
alternative.  It would
 ;; be nice if it returned nil when no change was 
made.
 (let ((old-string string)
-  (new-string (truncate-string-to-width
-   string ,max-width-variable nil 
nil "…")))
+  ;; NOTE: We do not specify an ELLIPSIS 
argument to
+  ;; `truncate-string-to-width', because some 
fonts display
+  ;; e.g. U+2026 "HORIZONTAL ELLIPSIS" with a 
width greater
+  ;; than that of the space character, which 
breaks
+  ;; alignment.  The ellipsis used can be 
controlled with
+  ;; the variable `truncate-string-ellipsis', 
which see.
+  (new-string (truncate-string-to-width string 
,max-width-variable nil nil t)))
   (unless (equal old-string new-string)
 ;; String was elided: add help-echo.
 (put-text-property 0 (length new-string) 
'help-echo old-string new-string)



[elpa] externals/taxy-magit-section 72e9f381f9 4/4: Release: v0.14.1

2024-09-08 Thread ELPA Syncer
branch: externals/taxy-magit-section
commit 72e9f381f9bdfe114f86b646ce4c6b2bd40c9be5
Author: Adam Porter 
Commit: Adam Porter 

Release: v0.14.1
---
 README.org  |  2 +-
 taxy-magit-section.el   |  2 +-
 taxy-magit-section.info | 42 +-
 3 files changed, 23 insertions(+), 23 deletions(-)

diff --git a/README.org b/README.org
index 1be669256b..bf6008ccd1 100644
--- a/README.org
+++ b/README.org
@@ -32,7 +32,7 @@ This library renders 
[[https://github.com/alphapapa/taxy.el][Taxy]] structs with
 :TOC:  :depth 0
 :END:
 
-** 0.14.1-pre
+** 0.14.1
 
 *Fixes*
 + Don't pass string as ~ELLIPSIS~ argument to ~truncate-string-to-width~; pass 
t, which defaults to value of variable ~truncate-string-ellipsis~.  (The width 
of the string passed before, the U+2026 HORIZONTAL ELLIPSIS character, varies 
by font, and fonts which display it with a width different than that of a 
single space cause misalignment of columns.  Now users may specify the ellipsis 
string according to their needs.)
diff --git a/taxy-magit-section.el b/taxy-magit-section.el
index 33aaeddb79..a1a3ef9e7d 100644
--- a/taxy-magit-section.el
+++ b/taxy-magit-section.el
@@ -5,7 +5,7 @@
 ;; Author: Adam Porter 
 ;; Maintainer: Adam Porter 
 ;; URL: https://github.com/alphapapa/taxy.el
-;; Version: 0.14.1-pre
+;; Version: 0.14.1
 ;; Package-Requires: ((emacs "26.3") (magit-section "3.2.1") (taxy "0.10"))
 ;; Keywords: lisp
 
diff --git a/taxy-magit-section.info b/taxy-magit-section.info
index a41ed324ff..8016301f1c 100644
--- a/taxy-magit-section.info
+++ b/taxy-magit-section.info
@@ -29,7 +29,7 @@ structs with magit-section 
(https://melpa.org/#/magit-section).
 
 Changelog
 
-* 0.14.1-pre: 0141-pre.
+* 0.14.1: 0141.
 * 0.14: 014.
 * 0.13: 013.
 * 0.12.2: 0122.
@@ -60,7 +60,7 @@ File: README.info,  Node: Changelog,  Next: Development,  
Prev: Installation,  U
 
 * Menu:
 
-* 0.14.1-pre: 0141-pre.
+* 0.14.1: 0141.
 * 0.14: 014.
 * 0.13: 013.
 * 0.12.2: 0122.
@@ -72,10 +72,10 @@ File: README.info,  Node: Changelog,  Next: Development,  
Prev: Installation,  U
 * 0.9: 09.
 
 
-File: README.info,  Node: 0141-pre,  Next: 014,  Up: Changelog
+File: README.info,  Node: 0141,  Next: 014,  Up: Changelog
 
-2.1 0.14.1-pre
-==
+2.1 0.14.1
+==
 
 *Fixes*
• Don’t pass string as ‘ELLIPSIS’ argument to
@@ -94,7 +94,7 @@ File: README.info,  Node: 0141-pre,  Next: 014,  Up: Changelog
  width, rather than just signaling an error.)
 
 
-File: README.info,  Node: 014,  Next: 013,  Prev: 0141-pre,  Up: Changelog
+File: README.info,  Node: 014,  Next: 013,  Prev: 0141,  Up: Changelog
 
 2.2 0.14
 
@@ -215,21 +215,21 @@ GPLv3
 
 Tag Table:
 Node: Top221
-Node: Installation850
-Node: Changelog1204
-Node: 0141-pre1475
-Node: 0142529
-Node: 0132738
-Node: 01223209
-Node: 01213341
-Node: 0123474
-Node: 0113611
-Node: 0103812
-Node: 0913967
-Node: 094359
-Node: Development4551
-Node: Credits4778
-Node: License4968
+Node: Installation842
+Node: Changelog1196
+Node: 01411459
+Node: 0142501
+Node: 0132706
+Node: 01223177
+Node: 01213309
+Node: 0123442
+Node: 0113579
+Node: 0103780
+Node: 0913935
+Node: 094327
+Node: Development4519
+Node: Credits4746
+Node: License4936
 
 End Tag Table
 



[elpa] externals/taxy-magit-section updated (c4d8c1c539 -> 72e9f381f9)

2024-09-08 Thread ELPA Syncer
elpasync pushed a change to branch externals/taxy-magit-section.

  from  c4d8c1c539 Release: v0.14
   new  2f65ddb250 Meta: v0.14.1-pre
   new  0dc1c2a4af Fix: (taxy-magit-section-define-column-definer) Don't 
pass ellipsis
   new  9e76b7fd59 Fix: (-format-items) Calculating image widths if on a 
text frame
   new  72e9f381f9 Release: v0.14.1


Summary of changes:
 README.org  |  6 
 taxy-magit-section.el   | 22 +++
 taxy-magit-section.info | 75 -
 3 files changed, 73 insertions(+), 30 deletions(-)



[elpa] externals/taxy-magit-section 9e76b7fd59 3/4: Fix: (-format-items) Calculating image widths if on a text frame

2024-09-08 Thread ELPA Syncer
branch: externals/taxy-magit-section
commit 9e76b7fd59ba1ae096f520fb782adfed0077b21f
Author: Adam Porter 
Commit: Adam Porter 

Fix: (-format-items) Calculating image widths if on a text frame

Try to find a graphical frame when calculating image widths for column
widths (or signal an error if none are available, rather than leaving
IMAGE-SIZE to signal an error).

For example, if both graphical and text frames are available, and a
column's values contain an image, and the buffer is being redisplayed
on a text frame, try to use a graphical frame for calculating the
image width, rather than just signaling an error.

If only text frames are available, images should not be present in
strings to begin with, so we don't try to handle that case.
---
 README.org  |  1 +
 taxy-magit-section.el   | 11 ++--
 taxy-magit-section.info | 75 -
 3 files changed, 60 insertions(+), 27 deletions(-)

diff --git a/README.org b/README.org
index c11baaf67e..1be669256b 100644
--- a/README.org
+++ b/README.org
@@ -36,6 +36,7 @@ This library renders 
[[https://github.com/alphapapa/taxy.el][Taxy]] structs with
 
 *Fixes*
 + Don't pass string as ~ELLIPSIS~ argument to ~truncate-string-to-width~; pass 
t, which defaults to value of variable ~truncate-string-ellipsis~.  (The width 
of the string passed before, the U+2026 HORIZONTAL ELLIPSIS character, varies 
by font, and fonts which display it with a width different than that of a 
single space cause misalignment of columns.  Now users may specify the ellipsis 
string according to their needs.)
++ Try to find a graphical frame when calculating image widths for column 
widths (or signal an error if none are available, rather than leaving 
~image-size~ to signal an error).  (For example, if both graphical and text 
frames are available, and a column's values contain an image, and the buffer is 
being redisplayed on a text frame, try to use a graphical frame for calculating 
the image width, rather than just signaling an error.)
 
 ** 0.14
 
diff --git a/taxy-magit-section.el b/taxy-magit-section.el
index 8fd7fcfb85..33aaeddb79 100644
--- a/taxy-magit-section.el
+++ b/taxy-magit-section.el
@@ -382,7 +382,7 @@ and values are the column width.  Each string is formatted
 according to `columns' and takes into account the width of all
 the items' values for each column."
   (let ((table (make-hash-table))
-column-aligns column-sizes image-p)
+column-aligns column-sizes image-p window-system-frame)
 (cl-labels ((string-width* (string)
   (if-let (pos (text-property-not-all 0 (length string)
   'display nil string))
@@ -399,7 +399,14 @@ the items' values for each column."
  ;; TODO: Do we need to specify the frame?  What if the
  ;; buffer isn't currently displayed?
  (setf image-p t)
- (floor (car (image-size spec
+ (floor (car (image-size
+  spec nil
+  (or window-system-frame
+  (setf window-system-frame
+(cl-loop for frame in 
(frame-list)
+ when (member (framep 
frame) '(x w32 ns pgtk))
+ return frame))
+  (error 
"taxy-magit-section-format-items: No graphical frame to calculate image 
size"))
 (_
  ;; No image: just use `string-width'.
  (setf image-p nil)
diff --git a/taxy-magit-section.info b/taxy-magit-section.info
index 4f7098f5b0..a41ed324ff 100644
--- a/taxy-magit-section.info
+++ b/taxy-magit-section.info
@@ -29,6 +29,7 @@ structs with magit-section 
(https://melpa.org/#/magit-section).
 
 Changelog
 
+* 0.14.1-pre: 0141-pre.
 * 0.14: 014.
 * 0.13: 013.
 * 0.12.2: 0122.
@@ -59,6 +60,7 @@ File: README.info,  Node: Changelog,  Next: Development,  
Prev: Installation,  U
 
 * Menu:
 
+* 0.14.1-pre: 0141-pre.
 * 0.14: 014.
 * 0.13: 013.
 * 0.12.2: 0122.
@@ -70,9 +72,31 @@ File: README.info,  Node: Changelog,  Next: Development,  
Prev: Installation,  U
 * 0.9: 09.
 
 
-File: README.info,  Node: 014,  Next: 013,  Up: Changelog
+File: README.info,  Node: 0141-pre,  Next: 014,  Up: Changelog
 
-2.1 0.14
+2.1 0.14.1-pre
+==
+
+*Fixes*
+   • Don’t pass string as ‘ELLIPSIS’ argument to
+ ‘truncate-string-to-width’; pass t, which defaults to value of
+ variable ‘truncate-string-ellipsis’.  (The width of the string
+ passed before, the U+2026 HORIZONTAL ELLIPSIS character, varies by
+ font, and fonts which display it with a width different than that
+ of a si

[nongnu] elpa/helm updated (23f72fb284 -> dc3c2a91f7)

2024-09-08 Thread ELPA Syncer
elpasync pushed a change to branch elpa/helm.

  from  23f72fb284 Use adaptive sort in insert bookmark location
   new  8c81a1d3c3 Update docstring
   new  63c1a86dd3 Add docstring
   new  dc3c2a91f7 Prevent force switching to separate tabs with a single 
prefarg


Summary of changes:
 helm-utils.el | 10 --
 1 file changed, 8 insertions(+), 2 deletions(-)



[nongnu] elpa/helm 8c81a1d3c3 1/3: Update docstring

2024-09-08 Thread ELPA Syncer
branch: elpa/helm
commit 8c81a1d3c3413d1a84e509b2b117cd889b441c9e
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Update docstring
---
 helm-utils.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/helm-utils.el b/helm-utils.el
index b6370b8633..18528b3b95 100644
--- a/helm-utils.el
+++ b/helm-utils.el
@@ -353,7 +353,8 @@ If a prefix arg is given split windows vertically."
 (defun helm-buffers-switch-buffers-in-tab-1 (buffers)
   "Display BUFFERS in a new tab.
 If only one buffer in BUFFERS, try to switch to it in its
-tab if some, otherwise, display it in a new tab."
+tab if some, otherwise, display it in a new tab.
+When a prefix arg is given, display each buffer of BUFFERS in new tabs."
   (when (fboundp 'switch-to-buffer-other-tab)
 (if (cdr buffers)
 (if helm-current-prefix-arg



[nongnu] elpa/helm 63c1a86dd3 2/3: Add docstring

2024-09-08 Thread ELPA Syncer
branch: elpa/helm
commit 63c1a86dd330bd62c8a98ba0eb8cf8371b1818c3
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Add docstring
---
 helm-utils.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/helm-utils.el b/helm-utils.el
index 18528b3b95..af18644005 100644
--- a/helm-utils.el
+++ b/helm-utils.el
@@ -318,6 +318,7 @@ If a prefix arg is given split windows vertically."
 (declare-function tab-bar-tab-name-all "tab-bar.el")
 
 (defun helm-buffers-maybe-switch-to-buffer-in-tab (buffer fallback-fn)
+  "Switch to BUFFER in its tab if possible, otherwise call FALLBACK-FN."
   (let* (;; Normally `helm-buffers-maybe-switch-to-tab' custom set function
  ;; bounded `tab-bar-tab-name-function' to `tab-bar-tab-name-all'
  ;; but in case user bounded this with setq ensure it works



[nongnu] elpa/helm-core updated (23f72fb284 -> dc3c2a91f7)

2024-09-08 Thread ELPA Syncer
elpasync pushed a change to branch elpa/helm-core.

  from  23f72fb284 Use adaptive sort in insert bookmark location
  adds  8c81a1d3c3 Update docstring
  adds  63c1a86dd3 Add docstring
  adds  dc3c2a91f7 Prevent force switching to separate tabs with a single 
prefarg

No new revisions were added by this update.

Summary of changes:
 helm-utils.el | 10 --
 1 file changed, 8 insertions(+), 2 deletions(-)



[nongnu] elpa/helm dc3c2a91f7 3/3: Prevent force switching to separate tabs with a single prefarg

2024-09-08 Thread ELPA Syncer
branch: elpa/helm
commit dc3c2a91f7aebc1d72ef7955d669857838d5d148
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Prevent force switching to separate tabs with a single prefarg

Do to that we need now two prefix args (16) otherwise we can't use the
single prefix arg to switch in tab with a vertical display.
---
 helm-utils.el | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/helm-utils.el b/helm-utils.el
index af18644005..acd049fc4b 100644
--- a/helm-utils.el
+++ b/helm-utils.el
@@ -355,10 +355,14 @@ If a prefix arg is given split windows vertically."
   "Display BUFFERS in a new tab.
 If only one buffer in BUFFERS, try to switch to it in its
 tab if some, otherwise, display it in a new tab.
-When a prefix arg is given, display each buffer of BUFFERS in new tabs."
+When a double prefix arg is given (C-u C-u), display each buffer of BUFFERS in
+new tabs. When a single buffer is given, a single prefix arg will force
+displaying buffer in a new tab even if it is already present in a tab.
+When there is more than one buffer in BUFFERS a single prefix arg display the
+buffers vertically according to `helm-window-show-buffers-function'."
   (when (fboundp 'switch-to-buffer-other-tab)
 (if (cdr buffers)
-(if helm-current-prefix-arg
+(if (equal helm-current-prefix-arg '(16))
 (cl-loop for b in buffers
  do (switch-to-buffer-other-tab b))
   (switch-to-buffer-other-tab (car buffers))



[elpa] externals/js2-mode a8b1a5cf51 1/2: fix parsing export { foo as "bar" }

2024-09-08 Thread ELPA Syncer
branch: externals/js2-mode
commit a8b1a5cf51a82066918ff8f02d8098e678d7d083
Author: Mihai Bazon 
Commit: Mihai Bazon 

fix parsing export { foo as "bar" }
---
 js2-mode.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/js2-mode.el b/js2-mode.el
index ec1b64e156..ea07d8b0e4 100644
--- a/js2-mode.el
+++ b/js2-mode.el
@@ -8984,7 +8984,8 @@ consumes no tokens."
 (let ((name
(or
 (and (js2-match-token js2-DEFAULT) "default")
-(and (js2-match-token js2-NAME) 
(js2-current-token-string)
+(and (js2-match-token js2-NAME) (js2-current-token-string))
+(and (js2-match-token js2-STRING) 
(js2-current-token-string)
   (if name
   (let ((node (make-js2-export-binding-node
:pos beg



[elpa] externals/js2-mode 62d6cb169e 2/2: Merge pull request #604 from mishoo/export-as-string

2024-09-08 Thread ELPA Syncer
branch: externals/js2-mode
commit 62d6cb169ed4cb6d7ae3ddbd8da9c995fed0ab32
Merge: 9b90d31ed9 a8b1a5cf51
Author: Dmitry Gutov 
Commit: GitHub 

Merge pull request #604 from mishoo/export-as-string

fix parsing export { foo as "bar" }
---
 js2-mode.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/js2-mode.el b/js2-mode.el
index ec1b64e156..ea07d8b0e4 100644
--- a/js2-mode.el
+++ b/js2-mode.el
@@ -8984,7 +8984,8 @@ consumes no tokens."
 (let ((name
(or
 (and (js2-match-token js2-DEFAULT) "default")
-(and (js2-match-token js2-NAME) 
(js2-current-token-string)
+(and (js2-match-token js2-NAME) (js2-current-token-string))
+(and (js2-match-token js2-STRING) 
(js2-current-token-string)
   (if name
   (let ((node (make-js2-export-binding-node
:pos beg



[elpa] externals/phpinspect abb2c17de8: Ad intervalled repeated lookups to benchmark

2024-09-08 Thread ELPA Syncer
branch: externals/phpinspect
commit abb2c17de8286e7371e4270a1d5cb08ca7ff18fa
Author: Hugo Thunnissen 
Commit: Hugo Thunnissen 

Ad intervalled repeated lookups to benchmark
---
 benchmarks/splay-tree.el | 58 +++-
 1 file changed, 43 insertions(+), 15 deletions(-)

diff --git a/benchmarks/splay-tree.el b/benchmarks/splay-tree.el
index 5d8afbf15e..d2ca0d2a63 100644
--- a/benchmarks/splay-tree.el
+++ b/benchmarks/splay-tree.el
@@ -39,7 +39,8 @@ shuffling is done in place."
  (swap LIST i j)))
   LIST)
 
-(defconst phpi-randomized-access (shuffle (number-sequence 0 1)))
+(defconst phpi-randomized-access (shuffle (number-sequence 1 1)))
+(defconst phpi-interval-access (number-sequence 1 1 50))
 
 (let ((tree (phpinspect-make-splayt))
   result)
@@ -84,8 +85,18 @@ shuffling is done in place."
   (message "Elapsed time: %f (%f in %d GC's)"
(car result) (caddr result) (cadr result))
 
+  (message "Splay tree repeated lookups (repeat x10, interval 50):")
+  (garbage-collect)
+  (setq result
+(benchmark-run 1
+  (dolist (i phpi-interval-access)
+(dotimes (_i 10)
+  (phpinspect-splayt-find tree i)
 
 
+  (message "Elapsed time: %f (%f in %d GC's)"
+   (car result) (caddr result) (cadr result))
+
   (message "Splay tree 1 items traversal:")
   (garbage-collect)
   (setq result
@@ -182,6 +193,17 @@ shuffling is done in place."
   (dotimes (_i 1)
 (avl-tree-member avl-tree (cons 5 nil)
 
+(message "Elapsed time: %f (%f in %d GC's)"
+   (car result) (caddr result) (cadr result))
+
+  (message "AVL tree repeated lookups (repeat x10, interval 50):")
+  (garbage-collect)
+  (setq result
+(benchmark-run 1
+  (dolist (i phpi-interval-access)
+(dotimes (_i 10)
+  (avl-tree-member avl-tree (cons i nil))
+
   (message "Elapsed time: %f (%f in %d GC's)"
(car result) (caddr result) (cadr result))
 
@@ -198,30 +220,36 @@ shuffling is done in place."
 ;; Results (ran at [2024-09-08 12:38])
 
 ;; Splay tree 1 insertions:
-;; Elapsed time: 0.006082 (0.00 in 0 GC’s)
+;; Elapsed time: 0.006073 (0.00 in 0 GC’s)
 ;; Splay tree 1 lookups:
-;; Elapsed time: 0.003710 (0.00 in 0 GC’s)
+;; Elapsed time: 0.003990 (0.00 in 0 GC’s)
 ;; Splay tree 1 randomized lookups:
-;; Elapsed time: 0.021548 (0.00 in 0 GC’s)
+;; Elapsed time: 0.021418 (0.00 in 0 GC’s)
 ;; Splay tree 1 repeated (constant number 5) lookups:
-;; Elapsed time: 0.000574 (0.00 in 0 GC’s)
+;; Elapsed time: 0.000526 (0.00 in 0 GC’s)
+;; Splay tree repeated lookups (repeat x10, interval 50):
+;; Elapsed time: 0.000445 (0.00 in 0 GC’s)
 ;; Splay tree 1 items traversal:
-;; Elapsed time: 0.170038 (0.108029 in 3 GC’s)
+;; Elapsed time: 0.005147 (0.00 in 0 GC’s)
 ;; Splay tree 1 items LR traversal:
-;; Elapsed time: 0.000919 (0.00 in 0 GC’s)
+;; Elapsed time: 0.000764 (0.00 in 0 GC’s)
+
 ;; Hashtable 1 insertions:
-;; Elapsed time: 0.000757 (0.00 in 0 GC’s)
+;; Elapsed time: 0.000457 (0.00 in 0 GC’s)
 ;; Hashtable 1 lookups:
-;; Elapsed time: 0.000253 (0.00 in 0 GC’s)
+;; Elapsed time: 0.000250 (0.00 in 0 GC’s)
 ;; Hashtable 1 iterations:
-;; Elapsed time: 0.000137 (0.00 in 0 GC’s)
+;; Elapsed time: 0.000135 (0.00 in 0 GC’s)
+
 ;; AVL tree 1 insertions:
-;; Elapsed time: 0.010190 (0.00 in 0 GC’s)
+;; Elapsed time: 0.009241 (0.00 in 0 GC’s)
 ;; AVL tree 1 lookups:
-;; Elapsed time: 0.003857 (0.00 in 0 GC’s)
+;; Elapsed time: 0.003807 (0.00 in 0 GC’s)
 ;; AVL tree 1 randomized lookups:
-;; Elapsed time: 0.004604 (0.00 in 0 GC’s)
+;; Elapsed time: 0.004335 (0.00 in 0 GC’s)
 ;; AVL tree 1 repeated (constant number 5) lookups:
-;; Elapsed time: 0.003011 (0.00 in 0 GC’s)
+;; Elapsed time: 0.003099 (0.00 in 0 GC’s)
+;; AVL tree repeated lookups (repeat x10, interval 50):
+;; Elapsed time: 0.000650 (0.00 in 0 GC’s)
 ;; AVL tree 1 items LR traversal:
-;; Elapsed time: 0.005048 (0.00 in 0 GC’s)
+;; Elapsed time: 0.004814 (0.00 in 0 GC’s)



[nongnu] elpa/racket-mode 9e0cd5db1b 2/2: racket-describe: Surface "On this page" links via imenu

2024-09-08 Thread ELPA Syncer
branch: elpa/racket-mode
commit 9e0cd5db1b903d7f061a2f9dca7117cef3294c7d
Author: Greg Hendershott 
Commit: Greg Hendershott 

racket-describe: Surface "On this page" links via imenu
---
 racket-company-doc.el | 57 ++--
 racket-describe.el| 72 ++---
 racket-scribble.el| 81 ++-
 3 files changed, 138 insertions(+), 72 deletions(-)

diff --git a/racket-company-doc.el b/racket-company-doc.el
index 9df697deb2..cd5444ef46 100644
--- a/racket-company-doc.el
+++ b/racket-company-doc.el
@@ -8,6 +8,7 @@
 
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 
+(require 'cl-macs)
 (require 'seq)
 (require 'shr)
 (require 'racket-back-end)
@@ -34,11 +35,8 @@
   (with-temp-message (format "Getting and formatting documentation %s %s ..."
  path anchor)
 (let* ((tramp-verbose 2);avoid excessive messages
-   (dom   (racket--html-file->dom path))
-   (body  (racket--scribble-body dom))
-   (elems (racket--company-elements-for-anchor body anchor))
-   (dom   `(div () ,@elems))
-   (dom   (racket--walk-dom dom)))
+   (dom (racket--scribble-path->shr-dom path))
+   (dom (racket--company-elements-for-anchor dom anchor)))
   (ignore tramp-verbose)
   (save-excursion
 (let ((shr-use-fonts nil)
@@ -48,29 +46,32 @@
   (while (re-search-forward (string racket--scribble-temp-nbsp) nil t)
 (replace-match " " t t)
 
-(defun racket--company-elements-for-anchor (xs anchor)
-  "Return the subset of XS dom elements pertaining to ANCHOR."
-  (while (and xs (not (racket--anchored-element (car xs) anchor)))
-(setq xs (cdr xs)))
-  (and xs
-   (let ((result nil))
- (push (car xs) result)
- (setq xs (cdr xs))
- (while (and xs (not (or (racket--heading-element (car xs))
- (racket--anchored-element (car xs)
-   (push (car xs) result)
-   (setq xs (cdr xs)))
- (reverse result
-
-(defun racket--heading-element (x)
-  (and (listp x)
-   (memq (car x) '(h1 h2 h3 h4 h5 h6
-
-(defun racket--anchored-element (x &optional name)
-  (pcase x
-(`(a ((name . ,a)) . ,_) (or (not name) (equal name a)))
-(`(,_tag ,_as . ,es) (seq-some (lambda (v) (racket--anchored-element v 
name))
-   es
+(defun racket--company-elements-for-anchor (dom anchor)
+  "Return the subset of DOM elements pertaining to ANCHOR."
+  (cl-labels
+  ((heading-p (x)
+ (memq (dom-tag x) '(h1 h2 h3 h4 h5 h6)))
+   (anchor-p (x name)
+ (if (and (eq 'racket-anchor (dom-tag x))
+  (or (not name) (equal name (dom-attr x 'name
+ t
+   (seq-some (lambda (v) (anchor-p v name))
+ (dom-non-text-children x)
+;; Consider immediate children of the "main" div.
+(let ((result nil)
+  (xs (dom-children (car (dom-by-class dom "main\\'")
+  ;; Discard elements before the one containing a matching anchor.
+  (while (and xs (not (anchor-p (car xs) anchor)))
+(setq xs (cdr xs)))
+  ;; Accumulate result up to another anchor or a heading.
+  (when xs
+(push (car xs) result)
+(setq xs (cdr xs))
+(while (and xs (not (or (heading-p (car xs))
+(anchor-p (car xs) nil
+  (push (car xs) result)
+  (setq xs (cdr xs
+  (racket--walk-dom `(div () ,@(reverse result))
 
 (provide 'racket-company-doc)
 
diff --git a/racket-describe.el b/racket-describe.el
index 0500597ea3..df2369e13b 100644
--- a/racket-describe.el
+++ b/racket-describe.el
@@ -151,7 +151,8 @@ anchor. If numberp, move to that position."
  (racket-ext-link   . ,#'racket-render-tag-racket-ext-link)
  (racket-anchor . ,#'racket-render-tag-racket-anchor)
  (racket-nav. ,#'racket-render-tag-racket-nav
-  (shr-insert-document dom))
+  (shr-insert-document
+   (racket--describe-handle-toc-nodes dom)))
 ;; See doc string for `racket--scribble-temp-nbsp'.
 (goto-char (point-min))
 (while (re-search-forward (string racket--scribble-temp-nbsp) nil t)
@@ -177,19 +178,62 @@ text. We want point left where `racket-search-describe' 
can use
 ((numberp goto)
  goto)
 ((stringp goto)
- (or (let ((i nil)) ;silence byte-compiler warning...
-   i;...on all versions of emacs
-   (cl-loop for i being the intervals
-if (equal (get-text-property (car i) 'racket-anchor)
-  goto)
-return (cl-loop for j from (car i) to (point-max)
-if (not (get-text-property j 
'racket-anchor))
-return j)))
+ (or (racket--describe-an

[nongnu] elpa/racket-mode updated (dba66c4536 -> 9e0cd5db1b)

2024-09-08 Thread ELPA Syncer
elpasync pushed a change to branch elpa/racket-mode.

  from  dba66c4536 Avoid nil function error with racket-package-refresh
   new  b26b3a3fcf racket-scribble: Show lozenge instead of finger/magnify 
images
   new  9e0cd5db1b racket-describe: Surface "On this page" links via imenu


Summary of changes:
 racket-company-doc.el | 57 +-
 racket-describe.el| 72 +--
 racket-scribble.el| 85 +--
 3 files changed, 140 insertions(+), 74 deletions(-)



[nongnu] elpa/racket-mode b26b3a3fcf 1/2: racket-scribble: Show lozenge instead of finger/magnify images

2024-09-08 Thread ELPA Syncer
branch: elpa/racket-mode
commit b26b3a3fcf4fbec7901b3bae578344688acaeeba
Author: Greg Hendershott 
Commit: Greg Hendershott 

racket-scribble: Show lozenge instead of finger/magnify images
---
 racket-scribble.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/racket-scribble.el b/racket-scribble.el
index 5bce1a6b34..782d8a37db 100644
--- a/racket-scribble.el
+++ b/racket-scribble.el
@@ -258,9 +258,9 @@ In some cases we resort to returning custom elements for
 (`(p ((class . "RForeground")) . ,xs)
  `(div () ,@(mapcar #'racket--walk-dom xs)))
 
-;; Images in refpara blocks; remove
+;; Images in refpara blocks
 (`(img ((src . ,(or "finger.png" "magnify.png")) . ,_))
- `(span))
+ `(span () (strong () ,(racket--html-char-entity-symbol->string 'loz
 
 ;; Images generally: Convert src to data: uri scheme. "inline".
 ;; (Otherwise shr would try to `url-queue-retrieve' these.)



[nongnu] elpa/helm-core updated (dc3c2a91f7 -> 886a729991)

2024-09-08 Thread ELPA Syncer
elpasync pushed a change to branch elpa/helm-core.

  from  dc3c2a91f7 Prevent force switching to separate tabs with a single 
prefarg
  adds  886a729991 Update NEWS

No new revisions were added by this update.

Summary of changes:
 NEWS.org | 17 +
 1 file changed, 17 insertions(+)



[nongnu] elpa/helm 886a729991: Update NEWS

2024-09-08 Thread ELPA Syncer
branch: elpa/helm
commit 886a72999187efb5719ddcc7d24a03615a1211aa
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Update NEWS
---
 NEWS.org | 17 +
 1 file changed, 17 insertions(+)

diff --git a/NEWS.org b/NEWS.org
index 59383198bf..de794a288a 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -1,6 +1,23 @@
 #+STARTUP:showall
 
 * NEWS
+** Version 4.0.1-pre
+*** Enhance usage of tab-bar-mode from Helm
+Previously we were displaying each marked candidate in a tab, now all
+marked candidates go in same tab.
+Helm-find-files is now using the same functions as helm-buffers to
+display its candidates in tab.
+helm-imenu-all when jumping to a candidate jump to it in its tab if
+possible.
+*** Access to helm-find-files bookmarks from helm-read-file-name
+That's mean that when copying/renaming etc... you can use bookmarks as
+target.
+*** Fix a bug in query replace in file names
+It is now possible to match counter ("\#") inside the replacement
+string and not only before or after as before.
+*** Fix a bug with dummy sources in file related sources
+It is now possible to mark wildcard candidates from unrelated
+directories.
 ** Version 4.0
 *** Enhance helm-finder
 Now helm-finder fetchs keywords from all packages, not only built-in



[nongnu] elpa/vm updated (d76fcc9048 -> ea1b741392)

2024-09-08 Thread ELPA Syncer
elpasync pushed a change to branch elpa/vm.

  from  d76fcc9048 Merge branch 'main' into 'main'
   new  9714751c98 distclean should not remove configure
   new  a269ad685f Merge branch 'main' into 'main'
   new  33b51e6a8c Use Emacs's facilities for base64/qp/uu
   new  8616e77b85 distclean should not remove configure
   new  9a208a321e remove MIME encode/decode programs from texinfo 
documentation
   new  e8835dbbbc remove no longer used Makefile
   new  ea1b741392 Merge branch 'remove-qp-uu' into 'main'


Summary of changes:
 Makefile.in |   4 +-
 configure.ac|   2 +-
 info/vm.texinfo |  25 +--
 lisp/vm-folder.el   |   8 +-
 lisp/vm-mime.el | 211 +++-
 lisp/vm-summary.el  |  12 +--
 lisp/vm-vars.el |  90 +-
 src/Makefile.in |  43 ---
 src/base64-decode.c |  77 ---
 src/base64-encode.c |  76 ---
 src/qp-decode.c | 104 --
 src/qp-encode.c |  83 -
 12 files changed, 39 insertions(+), 696 deletions(-)
 delete mode 100644 src/Makefile.in
 delete mode 100644 src/base64-decode.c
 delete mode 100644 src/base64-encode.c
 delete mode 100644 src/qp-decode.c
 delete mode 100644 src/qp-encode.c



[nongnu] elpa/vm 33b51e6a8c 1/7: Use Emacs's facilities for base64/qp/uu

2024-09-08 Thread ELPA Syncer
branch: elpa/vm
commit 33b51e6a8ce73788a2add527648fc8e569d8d22f
Author: Stefan Monnier 
Commit: Stefan Monnier 

Use Emacs's facilities for base64/qp/uu

Emacs provides encoding/decoding for base64, quoted-printable, and uudecode
since at least Emacs-22, so just use those.

* lisp/vm-summary.el (vm-summary-sprintf, vm-tokenized-summary-insert):
* lisp/vm-folder.el (vm-stuff-message-data, vm-stuff-folder-data):
Don't bind `vm-mime-*-encoder-program` any more.  We're always using
the internal code now.
(vm-stuff-folder-data): Simplify with de Morgan.

* lisp/vm-mime.el (vm-mime-qp-decode-region): Make it an obsolete alias
of `quoted-printable-decode-region`.  Change all callers.
(vm-mime-qp-encode-region): Use `quoted-printable-encode-region`.
(vm-mime-uuencode-decode-region): Use `uudecode-decode-region`.

* lisp/vm-vars.el (vm-mime-base64-decoder-program)
(vm-mime-base64-decoder-switches, vm-mime-base64-encoder-program)
(vm-mime-base64-encoder-switches, vm-mime-qp-decoder-program)
(vm-mime-qp-decoder-switches, vm-mime-qp-encoder-program)
(vm-mime-qp-encoder-switches): Delete vars, not used any more.
(vm-mime-uuencode-decoder-program, vm-mime-uuencode-decoder-switches):
Make them variable aliases of the corresponding config vars in
`uudecode.el`.

* src/base64-decode.c, src/base64-encode.c, src/qp-decode.c,
src/qp-encode.c: Remove, not used any more.
---
 lisp/vm-folder.el   |   8 +-
 lisp/vm-mime.el | 211 +++-
 lisp/vm-summary.el  |  12 +--
 lisp/vm-vars.el |  90 +-
 src/base64-decode.c |  77 ---
 src/base64-encode.c |  76 ---
 src/qp-decode.c | 104 --
 src/qp-encode.c |  83 -
 8 files changed, 35 insertions(+), 626 deletions(-)

diff --git a/lisp/vm-folder.el b/lisp/vm-folder.el
index a85e40e76f..43bf63b9ef 100644
--- a/lisp/vm-folder.el
+++ b/lisp/vm-folder.el
@@ -2128,8 +2128,6 @@ FOR-OTHER-FOLDER indicates .  USR 
2010-03-06"
 (save-restriction
  (widen)
  (let ((old-buffer-modified-p (buffer-modified-p))
-  (vm-mime-qp-encoder-program nil) ; use internal code
-  (vm-mime-base64-encoder-program nil) ; for speed
   (case-fold-search t)
   (buffer-read-only nil)
   ;; don't truncate the printing of large Lisp objects
@@ -2240,8 +2238,6 @@ pending input.   So, presumably this is non-interactive.  
USR 2012-12-22"
   (save-restriction
(widen)
(let ((old-buffer-modified-p (buffer-modified-p))
-(vm-mime-qp-encoder-program nil) ; use internal code
-(vm-mime-base64-encoder-program nil) ; for speed
 (case-fold-search t)
 (buffer-read-only nil)
 ;; don't truncate the printing of large Lisp objects
@@ -2254,8 +2250,8 @@ pending input.   So, presumably this is non-interactive.  
USR 2012-12-22"
 (buffer-file-name nil))
 (unwind-protect
 (while (and mp 
-(or (not abort-if-input-pending)
-(not (input-pending-p
+(not (and abort-if-input-pending
+  (input-pending-p
   (vm-stuff-message-data-internal (car mp))
   (setq n (1+ n))
   (setq p-last p
diff --git a/lisp/vm-mime.el b/lisp/vm-mime.el
index 1ad6dec07f..9204693303 100644
--- a/lisp/vm-mime.el
+++ b/lisp/vm-mime.el
@@ -425,7 +425,7 @@ freshly parsing the message contents."
   (interactive "r")
   (let ((buffer-read-only nil))
 (subst-char-in-region start end ?_ (string-to-char " ") t)
-(vm-mime-qp-decode-region start end)))
+(quoted-printable-decode-region start end)))
 
 (fset 'vm-mime-B-decode-region 'vm-mime-base64-decode-region)
 
@@ -563,7 +563,7 @@ out includes base-64, quoted-printable, uuencode and CRLF 
conversion."
   (vm-mime-base64-decode-region start end crlf))
  ((string-match "^quoted-printable$"
 (vm-mm-layout-encoding layout))
-  (vm-mime-qp-decode-region start end))
+  (quoted-printable-decode-region start end))
  ((string-match "^x-uue$\\|^x-uuencode$"
 (vm-mm-layout-encoding layout))
   (vm-mime-uuencode-decode-region start end crlf)
@@ -607,180 +607,31 @@ out includes base-64, quoted-printable, uuencode and 
CRLF conversion."
   (vm-inform 7 "Encoding base64... done"))
   (- end start
 
-;; FIXME: Use `quoted-printable-decode-region'!
-(defun vm-mime-qp-decode-region (start end)
-  (and (> (- end start) 1)
-   (vm-emit-mime-decoding-message "Decoding quoted-printable..."))
-  (let ((work-buffer nil)
-   (buf (current-buffer))
-   (case-fold-search nil)
-   (hex-digit-alist '((?0 .  0)  (?1 .  1)  (?2 .  2)  (?3 .  3)
-  

[nongnu] elpa/vm e8835dbbbc 6/7: remove no longer used Makefile

2024-09-08 Thread ELPA Syncer
branch: elpa/vm
commit e8835dbbbc574569bab0715a3f160bef34772b79
Author: Mark Diekhans 
Commit: Mark Diekhans 

remove no longer used Makefile
---
 Makefile.in |  2 +-
 configure.ac|  2 +-
 src/Makefile.in | 43 ---
 3 files changed, 2 insertions(+), 45 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index ac8d7a2542..04861e0c90 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -15,7 +15,7 @@ srcdir = @srcdir@
 datarootdir = @datarootdir@
 docdir = @docdir@
 
-SUBDIRS = lisp info src pixmaps
+SUBDIRS = lisp info pixmaps
 
 # the list of source (documentation) files
 SOURCES = NEWS
diff --git a/configure.ac b/configure.ac
index 1d5955ddfd..1afbfed296 100644
--- a/configure.ac
+++ b/configure.ac
@@ -244,7 +244,7 @@ AC_INIT([VM],[8.3.x],[viewmail-i...@nongnu.org])
 AC_COPYRIGHT([Copyright (C) 2009-2010 VM Development Team 
])
 
 AC_CONFIG_SRCDIR([configure.ac])
-AC_CONFIG_FILES([Makefile lisp/Makefile info/Makefile src/Makefile 
pixmaps/Makefile vm-load.el])
+AC_CONFIG_FILES([Makefile lisp/Makefile info/Makefile pixmaps/Makefile 
vm-load.el])
 
 # Common system utilities checking:
 AC_PROG_MAKE_SET
diff --git a/src/Makefile.in b/src/Makefile.in
deleted file mode 100644
index 6a6b3971a0..00
--- a/src/Makefile.in
+++ /dev/null
@@ -1,43 +0,0 @@
-@SET_MAKE@
-
-##
-# no csh please
-SHELL = /bin/sh
-
-SOURCES = $(wildcard *.c)
-
-OBJECTS = $(SOURCES:.c=.o)
-
-##
-# location of required programms
-MKDIR = @MKDIR@
-RM   = @RM@
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-srcdir = @srcdir@
-bindir = @bindir@
-
-##
-all: $(SOURCES:.c=)
-
-install:
-   @mkdir -p -m 0755 "$(DESTDIR)$(bindir)"; \
-   for i in $(SOURCES:.c=) ; do   \
- echo "Installing $$i in $(DESTDIR)$(bindir)" ;   \
-  $(INSTALL_PROGRAM) $$i "$(DESTDIR)$(bindir)" ;   \
-done ;
-   @echo VM helper binaries successfully installed\!
-
-##
-Makefile: @srcdir@/Makefile.in
-   cd ..; ./config.status
-
-##
-clean:
-   -$(RM) -f $(SOURCES:.c=)
-
-distclean: clean
-   -$(RM) -f Makefile



[nongnu] elpa/vm 9714751c98 2/7: distclean should not remove configure

2024-09-08 Thread ELPA Syncer
branch: elpa/vm
commit 9714751c9846ce1cdcf0cb69816236ac5dd052c1
Author: Mark Diekhans 
Commit: Mark Diekhans 

distclean should not remove configure
---
 Makefile.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile.in b/Makefile.in
index ef88c8ac66..ac8d7a2542 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -60,7 +60,7 @@ clean:
 
 distclean:
@for i in $(SUBDIRS) ; do ($(MAKE) -C $$i distclean) || exit 1; done
-   -$(RM) -f Makefile vm-load.el configure config.status config.log
+   -$(RM) -f Makefile vm-load.el config.status config.log
-$(RM) -rf autom4te.cache
 
 push:



[nongnu] elpa/vm 9a208a321e 5/7: remove MIME encode/decode programs from texinfo documentation

2024-09-08 Thread ELPA Syncer
branch: elpa/vm
commit 9a208a321e3ccf6d4f9ce153451fe919ad177e16
Author: Mark Diekhans 
Commit: Mark Diekhans 

remove MIME encode/decode programs from texinfo documentation
---
 info/vm.texinfo | 25 +
 1 file changed, 1 insertion(+), 24 deletions(-)

diff --git a/info/vm.texinfo b/info/vm.texinfo
index af3288f473..63434896a8 100644
--- a/info/vm.texinfo
+++ b/info/vm.texinfo
@@ -1979,16 +1979,6 @@ can be turned off by setting the variable 
@code{vm-display-using-mime} to
 @code{nil} and VM will then display @acronym{MIME} messages as plain text
 messages.
 
-@vindex vm-mime-base64-decoder-program
-@vindex vm-mime-base64-encoder-program
-@vindex vm-mime-base64-decoder-switches
-@vindex vm-mime-base64-encoder-switches
-@vindex vm-mime-qp-decoder-program
-@vindex vm-mime-qp-decoder-switches
-@vindex vm-mime-qp-encoder-program
-@vindex vm-mime-qp-encoder-switches
-@vindex vm-mime-uuencode-decoder-program
-@vindex vm-mime-uuencode-decoder-switches
 At its most basic level, @acronym{MIME} is a set of transfer encodings used
 to ensure error free transport, and a set of content types.  VM understands
 the two standard @acronym{MIME} transport encodings, @dfn{Quoted-Printable}
@@ -1996,20 +1986,7 @@ and @dfn{BASE64}, and will decode messages that use them 
as necessary.  VM
 will also try to recognize and decode messages using the UNIX @dfn{uuencode}
 encoding system.  While this is not an official @acronym{MIME} transfer
 encoding and never will be, enough old mailers still use it that it is
-worthwhile to attempt to decode it.  VM has Emacs-Lisp based
-Quoted-Printable and BASE64 encoders and decoders, but you can have VM use
-external programs to perform these tasks and the process will almost
-certainly be faster.  The variables @code{vm-mime-qp-decoder-program},
-@code{vm-mime-qp-decoder-switches}, @code{vm-mime-qp-encoder-program},
-@code{vm-mime-qp-encoder-switches}, @code{vm-mime-base64-decoder-switches},
-@code{vm-mime-base64-encoder-switches},
-@code{vm-mime-base64-decoder-program},
-@code{vm-mime-base64-encoder-program}, tell VM which programs to use and
-what command line switches to pass to them.  There are C programs included
-in the VM distribution to handle BASE64 and Quoted-Printable.  VM does not
-have a built-in ``uuencode'' decoder, so
-@code{vm-mime-uuencode-decoder-program} must be set non-@code{nil} for VM to
-decode uuencoded @acronym{MIME} objects.
+worthwhile to attempt to decode it.
 
 @menu
 * Viewing @acronym{MIME}::Decoding @acronym{MIME} for viewing



[nongnu] elpa/vm 8616e77b85 4/7: distclean should not remove configure

2024-09-08 Thread ELPA Syncer
branch: elpa/vm
commit 8616e77b854f2a9cc69460c95dc0bf5ffc645828
Author: Mark Diekhans 
Commit: Mark Diekhans 

distclean should not remove configure
---
 Makefile.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile.in b/Makefile.in
index ef88c8ac66..ac8d7a2542 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -60,7 +60,7 @@ clean:
 
 distclean:
@for i in $(SUBDIRS) ; do ($(MAKE) -C $$i distclean) || exit 1; done
-   -$(RM) -f Makefile vm-load.el configure config.status config.log
+   -$(RM) -f Makefile vm-load.el config.status config.log
-$(RM) -rf autom4te.cache
 
 push:



[nongnu] elpa/vm ea1b741392 7/7: Merge branch 'remove-qp-uu' into 'main'

2024-09-08 Thread ELPA Syncer
branch: elpa/vm
commit ea1b741392452d01ec8f9cfae34c9d0c85c3e1fd
Merge: a269ad685f e8835dbbbc
Author: Mark Diekhans 
Commit: Mark Diekhans 

Merge branch 'remove-qp-uu' into 'main'

Use Emacs's facilities for base64/qp/uu

See merge request emacs-vm/vm!24
---
 Makefile.in |   2 +-
 configure.ac|   2 +-
 info/vm.texinfo |  25 +--
 lisp/vm-folder.el   |   8 +-
 lisp/vm-mime.el | 211 +++-
 lisp/vm-summary.el  |  12 +--
 lisp/vm-vars.el |  90 +-
 src/Makefile.in |  43 ---
 src/base64-decode.c |  77 ---
 src/base64-encode.c |  76 ---
 src/qp-decode.c | 104 --
 src/qp-encode.c |  83 -
 12 files changed, 38 insertions(+), 695 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index ac8d7a2542..04861e0c90 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -15,7 +15,7 @@ srcdir = @srcdir@
 datarootdir = @datarootdir@
 docdir = @docdir@
 
-SUBDIRS = lisp info src pixmaps
+SUBDIRS = lisp info pixmaps
 
 # the list of source (documentation) files
 SOURCES = NEWS
diff --git a/configure.ac b/configure.ac
index 1d5955ddfd..1afbfed296 100644
--- a/configure.ac
+++ b/configure.ac
@@ -244,7 +244,7 @@ AC_INIT([VM],[8.3.x],[viewmail-i...@nongnu.org])
 AC_COPYRIGHT([Copyright (C) 2009-2010 VM Development Team 
])
 
 AC_CONFIG_SRCDIR([configure.ac])
-AC_CONFIG_FILES([Makefile lisp/Makefile info/Makefile src/Makefile 
pixmaps/Makefile vm-load.el])
+AC_CONFIG_FILES([Makefile lisp/Makefile info/Makefile pixmaps/Makefile 
vm-load.el])
 
 # Common system utilities checking:
 AC_PROG_MAKE_SET
diff --git a/info/vm.texinfo b/info/vm.texinfo
index af3288f473..63434896a8 100644
--- a/info/vm.texinfo
+++ b/info/vm.texinfo
@@ -1979,16 +1979,6 @@ can be turned off by setting the variable 
@code{vm-display-using-mime} to
 @code{nil} and VM will then display @acronym{MIME} messages as plain text
 messages.
 
-@vindex vm-mime-base64-decoder-program
-@vindex vm-mime-base64-encoder-program
-@vindex vm-mime-base64-decoder-switches
-@vindex vm-mime-base64-encoder-switches
-@vindex vm-mime-qp-decoder-program
-@vindex vm-mime-qp-decoder-switches
-@vindex vm-mime-qp-encoder-program
-@vindex vm-mime-qp-encoder-switches
-@vindex vm-mime-uuencode-decoder-program
-@vindex vm-mime-uuencode-decoder-switches
 At its most basic level, @acronym{MIME} is a set of transfer encodings used
 to ensure error free transport, and a set of content types.  VM understands
 the two standard @acronym{MIME} transport encodings, @dfn{Quoted-Printable}
@@ -1996,20 +1986,7 @@ and @dfn{BASE64}, and will decode messages that use them 
as necessary.  VM
 will also try to recognize and decode messages using the UNIX @dfn{uuencode}
 encoding system.  While this is not an official @acronym{MIME} transfer
 encoding and never will be, enough old mailers still use it that it is
-worthwhile to attempt to decode it.  VM has Emacs-Lisp based
-Quoted-Printable and BASE64 encoders and decoders, but you can have VM use
-external programs to perform these tasks and the process will almost
-certainly be faster.  The variables @code{vm-mime-qp-decoder-program},
-@code{vm-mime-qp-decoder-switches}, @code{vm-mime-qp-encoder-program},
-@code{vm-mime-qp-encoder-switches}, @code{vm-mime-base64-decoder-switches},
-@code{vm-mime-base64-encoder-switches},
-@code{vm-mime-base64-decoder-program},
-@code{vm-mime-base64-encoder-program}, tell VM which programs to use and
-what command line switches to pass to them.  There are C programs included
-in the VM distribution to handle BASE64 and Quoted-Printable.  VM does not
-have a built-in ``uuencode'' decoder, so
-@code{vm-mime-uuencode-decoder-program} must be set non-@code{nil} for VM to
-decode uuencoded @acronym{MIME} objects.
+worthwhile to attempt to decode it.
 
 @menu
 * Viewing @acronym{MIME}::Decoding @acronym{MIME} for viewing
diff --git a/lisp/vm-folder.el b/lisp/vm-folder.el
index a85e40e76f..43bf63b9ef 100644
--- a/lisp/vm-folder.el
+++ b/lisp/vm-folder.el
@@ -2128,8 +2128,6 @@ FOR-OTHER-FOLDER indicates .  USR 
2010-03-06"
 (save-restriction
  (widen)
  (let ((old-buffer-modified-p (buffer-modified-p))
-  (vm-mime-qp-encoder-program nil) ; use internal code
-  (vm-mime-base64-encoder-program nil) ; for speed
   (case-fold-search t)
   (buffer-read-only nil)
   ;; don't truncate the printing of large Lisp objects
@@ -2240,8 +2238,6 @@ pending input.   So, presumably this is non-interactive.  
USR 2012-12-22"
   (save-restriction
(widen)
(let ((old-buffer-modified-p (buffer-modified-p))
-(vm-mime-qp-encoder-program nil) ; use internal code
-(vm-mime-base64-encoder-program nil) ; for speed
 (case-fold-search t)
 (buffer-read-only nil)
 ;; don't truncate the printing of large Lisp objects

[nongnu] elpa/vm a269ad685f 3/7: Merge branch 'main' into 'main'

2024-09-08 Thread ELPA Syncer
branch: elpa/vm
commit a269ad685f5c60a76b5c254d9c7a4ae01ff49e5d
Merge: d76fcc9048 9714751c98
Author: Mark Diekhans 
Commit: Mark Diekhans 

Merge branch 'main' into 'main'

distclean should not remove configure

See merge request emacs-vm/vm!25
---
 Makefile.in | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile.in b/Makefile.in
index ef88c8ac66..ac8d7a2542 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -60,7 +60,7 @@ clean:
 
 distclean:
@for i in $(SUBDIRS) ; do ($(MAKE) -C $$i distclean) || exit 1; done
-   -$(RM) -f Makefile vm-load.el configure config.status config.log
+   -$(RM) -f Makefile vm-load.el config.status config.log
-$(RM) -rf autom4te.cache
 
 push:



[elpa] externals/jinx updated (cd827ee199 -> d8beafb9b4)

2024-09-08 Thread ELPA Syncer
elpasync pushed a change to branch externals/jinx.

  from  cd827ee199 README wording
   new  ca15c1c460 Require Emacs 28.1
   new  d8beafb9b4 Update changelog


Summary of changes:
 CHANGELOG.org  |   4 +
 emacs-module.h | 444 -
 jinx.el|  34 ++---
 3 files changed, 326 insertions(+), 156 deletions(-)



[elpa] externals/jinx d8beafb9b4 2/2: Update changelog

2024-09-08 Thread ELPA Syncer
branch: externals/jinx
commit d8beafb9b4832dbcc6db5a9c219d11a0a5b59e0c
Author: Daniel Mendler 
Commit: Daniel Mendler 

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

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 7da81a5e23..28b42de9a2 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -2,6 +2,10 @@
 #+author: Daniel Mendler
 #+language: en
 
+* Development
+
+- Require Emacs 28.1.
+
 * Version 1.10 (2024-07-23)
 
 - Bump Compat dependency to Compat 30.



[elpa] externals/jinx ca15c1c460 1/2: Require Emacs 28.1

2024-09-08 Thread ELPA Syncer
branch: externals/jinx
commit ca15c1c460927a49da4477a6ebaabb77d756f8ba
Author: Daniel Mendler 
Commit: Daniel Mendler 

Require Emacs 28.1
---
 emacs-module.h | 444 -
 jinx.el|  34 ++---
 2 files changed, 322 insertions(+), 156 deletions(-)

diff --git a/emacs-module.h b/emacs-module.h
index 0eb7ee0d81..1185c06f45 100644
--- a/emacs-module.h
+++ b/emacs-module.h
@@ -1,6 +1,6 @@
 /* emacs-module.h - GNU Emacs module API.
 
-Copyright (C) 2015-2020 Free Software Foundation, Inc.
+Copyright (C) 2015-2021 Free Software Foundation, Inc.
 
 This file is part of GNU Emacs.
 
@@ -34,7 +34,7 @@ information how to write modules and use this header file.
 #include 
 #endif
 
-#define EMACS_MAJOR_VERSION 27
+#define EMACS_MAJOR_VERSION 28
 
 #if defined __cplusplus && __cplusplus >= 201103L
 # define EMACS_NOEXCEPT noexcept
@@ -42,10 +42,22 @@ information how to write modules and use this header file.
 # define EMACS_NOEXCEPT
 #endif
 
-#ifdef __has_attribute
-#if __has_attribute(__nonnull__)
-# define EMACS_ATTRIBUTE_NONNULL(...) __attribute__((__nonnull__(__VA_ARGS__)))
+#if defined __cplusplus && __cplusplus >= 201703L
+# define EMACS_NOEXCEPT_TYPEDEF noexcept
+#else
+# define EMACS_NOEXCEPT_TYPEDEF
 #endif
+
+#if 3 < __GNUC__ + (3 <= __GNUC_MINOR__)
+# define EMACS_ATTRIBUTE_NONNULL(...) \
+   __attribute__ ((__nonnull__ (__VA_ARGS__)))
+#elif (defined __has_attribute \
+   && (!defined __clang_minor__ \
+  || 3 < __clang_major__ + (5 <= __clang_minor__)))
+# if __has_attribute (__nonnull__)
+#  define EMACS_ATTRIBUTE_NONNULL(...) \
+__attribute__ ((__nonnull__ (__VA_ARGS__)))
+# endif
 #endif
 #ifndef EMACS_ATTRIBUTE_NONNULL
 # define EMACS_ATTRIBUTE_NONNULL(...)
@@ -56,7 +68,7 @@ extern "C" {
 #endif
 
 /* Current environment.  */
-typedef struct emacs_env_27 emacs_env;
+typedef struct emacs_env_28 emacs_env;
 
 /* Opaque pointer representing an Emacs Lisp value.
BEWARE: Do not assume NULL is a valid value!  */
@@ -74,10 +86,25 @@ struct emacs_runtime
   struct emacs_runtime_private *private_members;
 
   /* Return an environment pointer.  */
-  emacs_env *(*get_environment) (struct emacs_runtime *ert)
-EMACS_ATTRIBUTE_NONNULL(1);
+  emacs_env *(*get_environment) (struct emacs_runtime *runtime)
+EMACS_ATTRIBUTE_NONNULL (1);
 };
 
+/* Type aliases for function pointer types used in the module API.
+   Note that we don't use these aliases directly in the API to be able
+   to mark the function arguments as 'noexcept' before C++20.
+   However, users can use them if they want.  */
+
+/* Function prototype for the module Lisp functions.  These must not
+   throw C++ exceptions.  */
+typedef emacs_value (*emacs_function) (emacs_env *env, ptrdiff_t nargs,
+   emacs_value *args,
+   void *data)
+  EMACS_NOEXCEPT_TYPEDEF EMACS_ATTRIBUTE_NONNULL (1);
+
+/* Function prototype for module user-pointer and function finalizers.
+   These must not throw C++ exceptions.  */
+typedef void (*emacs_finalizer) (void *data) EMACS_NOEXCEPT_TYPEDEF;
 
 /* Possible Emacs function call outcomes.  */
 enum emacs_funcall_exit
@@ -120,12 +147,10 @@ struct emacs_env_25
 
   /* Memory management.  */
 
-  emacs_value (*make_global_ref) (emacs_env *env,
- emacs_value any_reference)
+  emacs_value (*make_global_ref) (emacs_env *env, emacs_value value)
 EMACS_ATTRIBUTE_NONNULL(1);
 
-  void (*free_global_ref) (emacs_env *env,
-  emacs_value global_reference)
+  void (*free_global_ref) (emacs_env *env, emacs_value global_value)
 EMACS_ATTRIBUTE_NONNULL(1);
 
   /* Non-local exit handling.  */
@@ -137,19 +162,15 @@ struct emacs_env_25
 EMACS_ATTRIBUTE_NONNULL(1);
 
   enum emacs_funcall_exit (*non_local_exit_get)
-(emacs_env *env,
- emacs_value *non_local_exit_symbol_out,
- emacs_value *non_local_exit_data_out)
+(emacs_env *env, emacs_value *symbol, emacs_value *data)
 EMACS_ATTRIBUTE_NONNULL(1, 2, 3);
 
   void (*non_local_exit_signal) (emacs_env *env,
-emacs_value non_local_exit_symbol,
-emacs_value non_local_exit_data)
+emacs_value symbol, emacs_value data)
 EMACS_ATTRIBUTE_NONNULL(1);
 
   void (*non_local_exit_throw) (emacs_env *env,
-   emacs_value tag,
-   emacs_value value)
+   emacs_value tag, emacs_value value)
 EMACS_ATTRIBUTE_NONNULL(1);
 
   /* Function registration.  */
@@ -157,71 +178,69 @@ struct emacs_env_25
   emacs_value (*make_function) (emacs_env *env,
ptrdiff_t min_arity,
ptrdiff_t max_arity,
-   emacs_value (*function) (emacs_env *env,
-ptrdif

[elpa] externals/osm 741a2803db 1/2: Require Emacs 28.1

2024-09-08 Thread ELPA Syncer
branch: externals/osm
commit 741a2803db248a89a2675563e1ff0796ac22d110
Author: Daniel Mendler 
Commit: Daniel Mendler 

Require Emacs 28.1
---
 README.org |  2 +-
 osm.el | 79 +-
 2 files changed, 33 insertions(+), 48 deletions(-)

diff --git a/README.org b/README.org
index b3630dfc7e..9040734ef4 100644
--- a/README.org
+++ b/README.org
@@ -41,7 +41,7 @@ for locations by name and to open and display GPX tracks.
 * Configuration
 
 The package is available on GNU ELPA and can be installed with 
=package-install=.
-Note that Osm.el requires Emacs 27 and depends on the external =curl= program.
+Note that Osm.el requires Emacs 28 and depends on the external =curl= program.
 Emacs must be built with =libxml=, =libjansson=, =librsvg=, =libjpeg= and 
=libpng=
 support. The following is an example configuration which relies on 
=use-package=.
 Please take a look at the [[https://github.com/minad/osm/wiki][wiki]] for 
additional configuration.
diff --git a/osm.el b/osm.el
index fb4041e7f8..4e2e5af2db 100644
--- a/osm.el
+++ b/osm.el
@@ -6,7 +6,7 @@
 ;; Maintainer: Daniel Mendler 
 ;; Created: 2022
 ;; Version: 1.4
-;; Package-Requires: ((emacs "27.1") (compat "30"))
+;; Package-Requires: ((emacs "28.1") (compat "30"))
 ;; Homepage: https://github.com/minad/osm
 ;; Keywords: network, multimedia, hypermedia, mouse
 
@@ -37,7 +37,7 @@
 ;; distances, search for locations by name and to open and display GPX
 ;; tracks.
 
-;; osm.el requires Emacs 27 and depends on the external `curl' program.
+;; osm.el requires Emacs 28 and depends on the external `curl' program.
 ;; Emacs must be built with libxml, libjansson, librsvg, libjpeg and
 ;; libpng support.
 
@@ -631,6 +631,7 @@ Local per buffer since the overlays depend on the zoom 
level.")
 
 (defun osm-mouse-drag (event)
   "Handle drag EVENT."
+  (declare (completion ignore))
   (interactive "@e")
   (pcase-let* ((`(,sx . ,sy) (posn-x-y (event-start event)))
(win (selected-window))
@@ -665,7 +666,7 @@ Local per buffer since the overlays depend on the zoom 
level.")
 
 (defun osm-center ()
   "Center to location of selected pin."
-  (interactive)
+  (interactive nil osm-mode)
   (osm--barf-unless-osm)
   (pcase osm--pin
 (`(,lat ,lon ,_id ,name)
@@ -684,6 +685,7 @@ Local per buffer since the overlays depend on the zoom 
level.")
 
 (defun osm-mouse-track (event)
   "Set track pin at location of the click EVENT."
+  (declare (completion ignore))
   (interactive "@e")
   (pcase osm--pin
 ((and (guard (not osm--track)) `(,lat ,lon ,_id ,_name))
@@ -735,12 +737,14 @@ Local per buffer since the overlays depend on the zoom 
level.")
 
 (defun osm-mouse-pin (event)
   "Create location pin at the click EVENT."
+  (declare (completion ignore))
   (interactive "@e")
   (osm--set-pin-event event)
   (osm--update))
 
 (defun osm-mouse-select (event)
   "Select pin at position of click EVENT."
+  (declare (completion ignore))
   (interactive "@e")
   (pcase (osm--pin-at event)
 (`(,lat ,lon ,id ,name)
@@ -750,7 +754,7 @@ Local per buffer since the overlays depend on the zoom 
level.")
 
 (defun osm-zoom-in (&optional n)
   "Zoom N times into the map."
-  (interactive "p")
+  (interactive "p" osm-mode)
   (osm--barf-unless-osm)
   (setq osm--zoom (max (osm--server-property :min-zoom)
(min (osm--server-property :max-zoom)
@@ -759,7 +763,7 @@ Local per buffer since the overlays depend on the zoom 
level.")
 
 (defun osm-zoom-out (&optional n)
   "Zoom N times out of the map."
-  (interactive "p")
+  (interactive "p" osm-mode)
   (osm-zoom-in (- (or n 1
 
 (defun osm--move (dx dy)
@@ -769,47 +773,47 @@ Local per buffer since the overlays depend on the zoom 
level.")
 osm--lat (osm--y-to-lat (+ (osm--y) dy) osm--zoom)))
 
 (defun osm-right (&optional n)
-  "Move N small stepz to the right."
-  (interactive "p")
+  "Move N small steps to the right."
+  (interactive "p" osm-mode)
   (osm--move (* (or n 1) osm-small-step) 0)
   (osm--update))
 
 (defun osm-down (&optional n)
-  "Move N small stepz down."
-  (interactive "p")
+  "Move N small steps down."
+  (interactive "p" osm-mode)
   (osm--move 0 (* (or n 1) osm-small-step))
   (osm--update))
 
 (defun osm-up (&optional n)
-  "Move N small stepz up."
-  (interactive "p")
+  "Move N small steps up."
+  (interactive "p" osm-mode)
   (osm-down (- (or n 1
 
 (defun osm-left (&optional n)
-  "Move N small stepz to the left."
-  (interactive "p")
+  "Move N small steps to the left."
+  (interactive "p" osm-mode)
   (osm-right (- (or n 1
 
 (defun osm-right-right (&optional n)
-  "Move N large stepz to the right."
-  (interactive "p")
+  "Move N large steps to the right."
+  (interactive "p" osm-mode)
   (osm--move (* (or n 1) osm-large-step) 0)
   (osm--update))
 
 (defun osm-down-down (&optional n)
-  "Move N large stepz down."
-  (interactive "p")
+  "Move N large steps down."
+  (interactive "p" osm-mode)

[elpa] externals/osm updated (25eede7272 -> cab3f28045)

2024-09-08 Thread ELPA Syncer
elpasync pushed a change to branch externals/osm.

  from  25eede7272 Version 1.4
   new  741a2803db Require Emacs 28.1
   new  cab3f28045 Update changelog


Summary of changes:
 CHANGELOG.org |  4 +++
 README.org|  2 +-
 osm.el| 79 ---
 3 files changed, 37 insertions(+), 48 deletions(-)



[elpa] externals/osm cab3f28045 2/2: Update changelog

2024-09-08 Thread ELPA Syncer
branch: externals/osm
commit cab3f280457ee8094caaa134cdf7f13f073987c8
Author: Daniel Mendler 
Commit: Daniel Mendler 

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

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 1aa6f125e4..498ee8a0da 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -2,6 +2,10 @@
 #+author: Daniel Mendler
 #+language: en
 
+* Development
+
+- Require Emacs 28.1.
+
 * Version 1.4 (2024-07-24)
 
 - Bump Compat dependency to Compat 30.



[elpa] externals/tempel 650e8129a5 1/2: Require Emacs 28.1

2024-09-08 Thread ELPA Syncer
branch: externals/tempel
commit 650e8129a570fbc827d43ad60f25299179041102
Author: Daniel Mendler 
Commit: Daniel Mendler 

Require Emacs 28.1
---
 README.org |  2 +-
 tempel.el  | 26 ++
 2 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/README.org b/README.org
index 93d8072254..0342a05573 100644
--- a/README.org
+++ b/README.org
@@ -14,7 +14,7 @@
 #+html: https://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Temple_of_Hephaestus_%28Southwest%29%2C_Athens_-_20070711b.jpg/1920px-Temple_of_Hephaestus_%28Southwest%29%2C_Athens_-_20070711b.jpg";
 align="right" width="30%">
 
 Tempel is a tiny template package for Emacs, which uses the syntax of the Emacs
-Tempo library. Tempo is an ancient temple of the church of Emacs. It is 27 
years
+Tempo library. Tempo is an ancient temple of the church of Emacs. It is 30 
years
 old, but still in good shape since it successfully resisted change over the
 decades. However it may look a bit dusty here and there. Therefore we present
 Tempel, a new implementation of Tempo with inline expansion and integration 
with
diff --git a/tempel.el b/tempel.el
index 32ac6e245b..9491986c07 100644
--- a/tempel.el
+++ b/tempel.el
@@ -6,7 +6,7 @@
 ;; Maintainer: Daniel Mendler 
 ;; Created: 2022
 ;; Version: 1.2
-;; Package-Requires: ((emacs "27.1") (compat "30"))
+;; Package-Requires: ((emacs "28.1") (compat "30"))
 ;; Homepage: https://github.com/minad/tempel
 ;; Keywords: abbrev, languages, tools, text
 
@@ -76,11 +76,11 @@ trigger completion."
 
 (defcustom tempel-insert-annotation 40
   "Annotation width for `tempel-insert'."
-  :type '(choice (const nil natnum)))
+  :type '(choice (const nil) natnum))
 
 (defcustom tempel-complete-annotation 20
   "Annotation width for `tempel-complete'."
-  :type '(choice (const nil natnum)))
+  :type '(choice (const nil) natnum))
 
 (defcustom tempel-user-elements nil
   "List of user element handler functions.
@@ -537,14 +537,20 @@ This is meant to be a source in 
`tempel-template-sources'."
((and (< dir 0) (< stop pt))
 (setq next (max (or next -1) stop)
 
+(defun tempel--active-p (_sym buffer)
+  "Return non-nil if Tempel is active in BUFFER."
+  (buffer-local-value 'tempel--active buffer))
+
 (defun tempel-beginning ()
   "Move to beginning of the template."
+  (declare (completion tempel--active-p))
   (interactive)
   (when-let ((pos (tempel--beginning)))
 (if (= pos (point)) (tempel-done) (goto-char pos
 
 (defun tempel-end ()
   "Move to end of the template."
+  (declare (completion tempel--active-p))
   (interactive)
   (when-let ((pos (tempel--end)))
 (if (= pos (point)) (tempel-done) (goto-char pos
@@ -560,6 +566,7 @@ This is meant to be a source in `tempel-template-sources'."
 
 (defun tempel-kill ()
   "Kill the field contents."
+  (declare (completion tempel--active-p))
   (interactive)
   (if-let ((ov (tempel--field-at-point)))
   (kill-region (overlay-start ov) (overlay-end ov))
@@ -567,6 +574,7 @@ This is meant to be a source in `tempel-template-sources'."
 
 (defun tempel-next (arg)
   "Move ARG fields forward and quit at the end."
+  (declare (completion tempel--active-p))
   (interactive "p")
   (cl-loop for i below (abs arg) do
(if-let ((next (tempel--find arg)))
@@ -580,6 +588,7 @@ This is meant to be a source in `tempel-template-sources'."
 
 (defun tempel-previous (arg)
   "Move ARG fields backward and quit at the beginning."
+  (declare (completion tempel--active-p))
   (interactive "p")
   (tempel-next (- arg)))
 
@@ -595,6 +604,7 @@ This is meant to be a source in `tempel-template-sources'."
 
 (defun tempel-abort ()
   "Abort template insertion."
+  (declare (completion tempel--active-p))
   (interactive)
   ;; TODO abort only the topmost template?
   (while-let ((st (car tempel--active)))
@@ -615,6 +625,7 @@ This is meant to be a source in `tempel-template-sources'."
 
 (defun tempel-done ()
   "Template completion is done."
+  (declare (completion tempel--active-p))
   (interactive)
   ;; TODO disable only the topmost template?
   (while tempel--active (tempel--done)))
@@ -799,14 +810,5 @@ If called interactively, select a template with 
`completing-read'."
   (unless (or noninteractive (eq (aref (buffer-name) 0) ?\s))
 (tempel-abbrev-mode 1)))
 
-;; Emacs 28: Do not show Tempel commands in M-X
-(dolist (sym (list #'tempel-next #'tempel-previous #'tempel-beginning
-   #'tempel-end #'tempel-kill #'tempel-done #'tempel-abort))
-  (put sym 'completion-predicate #'tempel--command-p))
-
-(defun tempel--command-p (_sym buffer)
-  "Return non-nil if Tempel is active in BUFFER."
-  (buffer-local-value 'tempel--active buffer))
-
 (provide 'tempel)
 ;;; tempel.el ends here



[elpa] externals/tempel updated (317c0e41d5 -> 276d29c7b7)

2024-09-08 Thread ELPA Syncer
elpasync pushed a change to branch externals/tempel.

  from  317c0e41d5 Version 1.2
   new  650e8129a5 Require Emacs 28.1
   new  276d29c7b7 Update changelog


Summary of changes:
 CHANGELOG.org |  4 
 README.org|  2 +-
 tempel.el | 26 ++
 3 files changed, 19 insertions(+), 13 deletions(-)



[elpa] externals/tempel 276d29c7b7 2/2: Update changelog

2024-09-08 Thread ELPA Syncer
branch: externals/tempel
commit 276d29c7b77537c0d949c98f7943c49c3ff4b0f4
Author: Daniel Mendler 
Commit: Daniel Mendler 

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

diff --git a/CHANGELOG.org b/CHANGELOG.org
index bf8581981f..7edd3a7fcb 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -2,6 +2,10 @@
 #+author: Daniel Mendler
 #+language: en
 
+* Development
+
+- Require Emacs 28.1.
+
 * Version 1.2 (2024-07-24)
 
 - Bugfixes.



[nongnu] elpa/beancount 452621fa1f: Fix the output expected from Fava on startup

2024-09-08 Thread ELPA Syncer
branch: elpa/beancount
commit 452621fa1f918d8a105e09d3bd82b2deb45b7146
Author: Dave Churchill 
Commit: Martin Blais 

Fix the output expected from Fava on startup

Fava outputs "Starting Fava on ..." instead of "Running Fava on ..."
since [this commit][1].

Also, if the Fava process was already running, `beancount-fava` would
just kill it. Now it will kill it and try to start a new one.

[1]: 
https://github.com/beancount/fava/commit/8bb3994af39d682e891e2576c6bf6ddfc074b28d
---
 beancount.el | 24 
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/beancount.el b/beancount.el
index 969e6cc8a3..c267708aa2 100644
--- a/beancount.el
+++ b/beancount.el
@@ -1262,21 +1262,21 @@ Essentially a much simplified version of `next-line'."
 (defun beancount-fava ()
   "Start (and open) or stop the fava server."
   (interactive)
-  (if beancount--fava-process
-  (progn
-(delete-process beancount--fava-process)
-(setq beancount--fava-process nil)
-(message "Fava process killed"))
-(setq beancount--fava-process
-  (start-process "fava" (get-buffer-create "*fava*") "fava"
- (if (eq 'beancount-mode major-mode) (buffer-file-name)
-   (read-file-name "File to load: "
-(set-process-filter beancount--fava-process #'beancount--fava-filter)
-(message "Fava process started")))
+  (when beancount--fava-process
+(delete-process beancount--fava-process)
+(setq beancount--fava-process nil)
+(message "Fava process killed"))
+  (setq beancount--fava-process
+(start-process "fava" (get-buffer-create "*fava*") "fava"
+   (if (eq 'beancount-mode major-mode) (buffer-file-name)
+ (read-file-name "File to load: "
+  (set-process-filter beancount--fava-process #'beancount--fava-filter)
+  (message "Fava process started"))
 
 (defun beancount--fava-filter (_process output)
   "Open fava url as soon as the address is announced."
-  (if-let ((url (string-match "Running Fava on \\(http://.+:[0-9]+\\)\n" 
output)))
+  (with-current-buffer "*fava*" (insert output))
+  (if-let ((url (string-match "Starting Fava on \\(http://.+:[0-9]+\\)\n" 
output)))
   (browse-url (match-string 1 output
 
 ;;; Xref backend



[nongnu] elpa/vm d9e3fe029d 1/2: documentation changes to reflect gitlab reboot

2024-09-08 Thread ELPA Syncer
branch: elpa/vm
commit d9e3fe029dc393d4c6c76efaa886791366cdd162
Author: Mark Diekhans 
Commit: Mark Diekhans 

documentation changes to reflect gitlab reboot
---
 HISTORY.md |  7 ---
 NEWS   | 22 +++---
 2 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/HISTORY.md b/HISTORY.md
index 6b70cf9336..dadeeb1f59 100644
--- a/HISTORY.md
+++ b/HISTORY.md
@@ -3,9 +3,7 @@
 VM was written by Kyle Jones! Hail Kyle! The last release from Kyle
 was 7.19.
 
-Later versions of VM have been maintained by the user community. For a
-long time VM was hosted in Bazaar on
-[Launchpad](https://launchpad.net/vm).
+Later versions of VM is maintained by the user community.
 
 Since July 2024 the most recent updates are made in the Git repository
 at [Gitlab](https://gitlab.com/emacs-vm/vm) where code and issues have
@@ -19,6 +17,9 @@ not limited to
 - Arik Mitschang
 - Ulrich Müller
 - Mark Diekhans
+- Göran Uddeborg
+- John Stoffel
+- Stefan Monnier
 
 ## Unmaintained web pages
 
diff --git a/NEWS b/NEWS
index 4b7dbe74ac..f6915ba6f2 100644
--- a/NEWS
+++ b/NEWS
@@ -7,23 +7,23 @@ IMPORTANT
 Status
 
   VM is currently being maintained by a 'VM development team' consisting of
-  Uday S Reddy, Ulrich Müller, Tim Cross and Arik Mitschang.  More
-  volunteers to help with the maintenance are quite welcome.
+  Göran Uddeborg, John Stoffel, Mark Diekhans, Stefan Monnier, Ulrich Müller 
 
-  Project home page:   http://www.nongnu.org/viewmail
+  More volunteers to help with the maintenance are quite welcome.
+
+  Project repository:  https://gitlab.com/emacs-vm/vm/
+  Project home page:   http://www.nongnu.org/viewmail/
 
   Mailing list:viewmail-i...@nongnu.org
 
-  Bug reports: viewmail-b...@nongnu.org
+  Bug reports (direct):https://gitlab.com/emacs-vm/vm/-/issues/
+   
+  Bug reports (email): viewmail-b...@nongnu.org
(Please use `M-x vm-submit-bug-report' within VM)
 
-  News group:  gmane.emacs.viewmail on news.gmane.org  
-   (avoid gnu.emacs.vm.info)
-  
-  Please DO NOT use the Usenet newsgroup gnu.emacs.vm.info because it has an
-  unreliable mail link to the mailing list.  You can however browse the
-  archives of the newsgroup at Google Groups.
-  
+VM 8.3.0 
+  CHANGES
+
 VM 8.2.0b1
 
   CHANGES



[nongnu] elpa/vm 36053c892f 2/2: Merge branch 'main' into 'main'

2024-09-08 Thread ELPA Syncer
branch: elpa/vm
commit 36053c892fc0a29ed3eaeaa2ea15257c578d79ab
Merge: ea1b741392 d9e3fe029d
Author: Mark Diekhans 
Commit: Mark Diekhans 

Merge branch 'main' into 'main'

documentation changes to reflect gitlab reboot

See merge request emacs-vm/vm!26
---
 HISTORY.md |  7 ---
 NEWS   | 22 +++---
 2 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/HISTORY.md b/HISTORY.md
index 6b70cf9336..dadeeb1f59 100644
--- a/HISTORY.md
+++ b/HISTORY.md
@@ -3,9 +3,7 @@
 VM was written by Kyle Jones! Hail Kyle! The last release from Kyle
 was 7.19.
 
-Later versions of VM have been maintained by the user community. For a
-long time VM was hosted in Bazaar on
-[Launchpad](https://launchpad.net/vm).
+Later versions of VM is maintained by the user community.
 
 Since July 2024 the most recent updates are made in the Git repository
 at [Gitlab](https://gitlab.com/emacs-vm/vm) where code and issues have
@@ -19,6 +17,9 @@ not limited to
 - Arik Mitschang
 - Ulrich Müller
 - Mark Diekhans
+- Göran Uddeborg
+- John Stoffel
+- Stefan Monnier
 
 ## Unmaintained web pages
 
diff --git a/NEWS b/NEWS
index 4b7dbe74ac..f6915ba6f2 100644
--- a/NEWS
+++ b/NEWS
@@ -7,23 +7,23 @@ IMPORTANT
 Status
 
   VM is currently being maintained by a 'VM development team' consisting of
-  Uday S Reddy, Ulrich Müller, Tim Cross and Arik Mitschang.  More
-  volunteers to help with the maintenance are quite welcome.
+  Göran Uddeborg, John Stoffel, Mark Diekhans, Stefan Monnier, Ulrich Müller 
 
-  Project home page:   http://www.nongnu.org/viewmail
+  More volunteers to help with the maintenance are quite welcome.
+
+  Project repository:  https://gitlab.com/emacs-vm/vm/
+  Project home page:   http://www.nongnu.org/viewmail/
 
   Mailing list:viewmail-i...@nongnu.org
 
-  Bug reports: viewmail-b...@nongnu.org
+  Bug reports (direct):https://gitlab.com/emacs-vm/vm/-/issues/
+   
+  Bug reports (email): viewmail-b...@nongnu.org
(Please use `M-x vm-submit-bug-report' within VM)
 
-  News group:  gmane.emacs.viewmail on news.gmane.org  
-   (avoid gnu.emacs.vm.info)
-  
-  Please DO NOT use the Usenet newsgroup gnu.emacs.vm.info because it has an
-  unreliable mail link to the mailing list.  You can however browse the
-  archives of the newsgroup at Google Groups.
-  
+VM 8.3.0 
+  CHANGES
+
 VM 8.2.0b1
 
   CHANGES