[elpa] externals/org updated (1494445116 -> 154ef34107)

2023-10-22 Thread ELPA Syncer
elpasync pushed a change to branch externals/org.

  from  1494445116 Fix obsolete `sleep-for' usage
   new  693a3c558f org-icalendar-entry: Fix when the value is a list of 
keywords
   new  154ef34107 * lisp/ol-eww.el (org-eww-extend-eww-keymap): Add 
docstring


Summary of changes:
 lisp/ol-eww.el   |  1 +
 lisp/ox-icalendar.el | 16 ++--
 2 files changed, 11 insertions(+), 6 deletions(-)



[elpa] externals/org 693a3c558f 1/2: org-icalendar-entry: Fix when the value is a list of keywords

2023-10-22 Thread ELPA Syncer
branch: externals/org
commit 693a3c558f92c8c42ab9ac9ef8fb4501ae88b7d4
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

org-icalendar-entry: Fix when the value is a list of keywords

* lisp/ox-icalendar.el (org-icalendar-entry): Add condition when the
value of :icalendar-include-todo is a list of keywords.
(org-icalendar-include-todo): Document that the value can be a list of
keywords, as per :type spec.

Reported-by: Björn Bidar 
Link: https://list.orgmode.org/orgmode/87ttqjirrv.fsf@/
---
 lisp/ox-icalendar.el | 16 ++--
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/lisp/ox-icalendar.el b/lisp/ox-icalendar.el
index 20efad243a..be9ac31694 100644
--- a/lisp/ox-icalendar.el
+++ b/lisp/ox-icalendar.el
@@ -222,7 +222,8 @@ Valid values are:
 nil  don't include any task.
 tinclude tasks that are not in DONE state.
 `unblocked'  include all TODO items that are not blocked.
-`all'include both done and not done items."
+`all'include both done and not done items.
+\\(\"TODO\" ...)   include specific TODO keywords."
   :group 'org-export-icalendar
   :type '(choice
  (const :tag "None" nil)
@@ -727,13 +728,16 @@ inlinetask within the section."
  ;; so, call `org-icalendar--vtodo' to transcode it into
  ;; a "VTODO" component.
  (when (and todo-type
-(cl-case (plist-get info :icalendar-include-todo)
-  (all t)
-  (unblocked
+(pcase (plist-get info :icalendar-include-todo)
+  (`all t)
+  (`unblocked
(and (eq type 'headline)
 (not (org-icalendar-blocked-headline-p
-  entry info
-  ((t) (eq todo-type 'todo
+entry info
+   ;; unfinished
+  (`t (eq todo-type 'todo))
+   ((and (pred listp) kwd-list)
+(member (org-element-property :todo-keyword entry) 
kwd-list
(org-icalendar--vtodo entry uid summary loc desc cat tz class))
  ;; Diary-sexp: Collect every diary-sexp element within ENTRY
  ;; and its title, and transcode them.  If ENTRY is



[elpa] externals/org 154ef34107 2/2: * lisp/ol-eww.el (org-eww-extend-eww-keymap): Add docstring

2023-10-22 Thread ELPA Syncer
branch: externals/org
commit 154ef34107feb63f88f754637ee2f85cae77bf2c
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

* lisp/ol-eww.el (org-eww-extend-eww-keymap): Add docstring
---
 lisp/ol-eww.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lisp/ol-eww.el b/lisp/ol-eww.el
index ee970b6aaa..29d814d761 100644
--- a/lisp/ol-eww.el
+++ b/lisp/ol-eww.el
@@ -162,6 +162,7 @@ keep the structure of the Org file."
 ;; Additional keys for eww-mode
 
 (defun org-eww-extend-eww-keymap ()
+  "Add ol-eww bindings to `eww-mode-map'."
   (define-key eww-mode-map "\C-c\C-x\M-w" 'org-eww-copy-for-org-mode)
   (define-key eww-mode-map "\C-c\C-x\C-w" 'org-eww-copy-for-org-mode))
 



[nongnu] elpa/org-contrib 2dfffe1774: * lisp/ob-csharp.el: Switch to lexical binding

2023-10-22 Thread ELPA Syncer
branch: elpa/org-contrib
commit 2dfffe177407fc9c720169befd1bd0e20c951910
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

* lisp/ob-csharp.el: Switch to lexical binding

(org-babel-execute:csharp): Fix let-binding used for side effect.
(org-babel-prep-session:csharp): Declare function arguments as unused.
---
 lisp/ob-csharp.el | 15 ---
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/lisp/ob-csharp.el b/lisp/ob-csharp.el
index dc25f97682..627f0294f3 100644
--- a/lisp/ob-csharp.el
+++ b/lisp/ob-csharp.el
@@ -1,4 +1,4 @@
-;;; ob-csharp.el --- org-babel functions for csharp evaluation
+;;; ob-csharp.el --- org-babel functions for csharp evaluation  -*- 
lexical-binding: t; -*-
 
 ;; Copyright (C) 2011-2021 Free Software Foundation, Inc.
 
@@ -55,11 +55,12 @@ parameters may be used, like mcs -warnaserror+"
 (cmpflag (or (cdr (assq :cmpflag params)) ""))
 (cmdline (or (cdr (assq :cmdline params)) ""))
 (src-file (org-babel-temp-file "csharp-src-" ".cs"))
-(exe-file (concat (file-name-sans-extension src-file)  ".exe"))
-(compile
- (progn (with-temp-file  src-file (insert full-body))
-(org-babel-eval
- (concat org-babel-csharp-compiler " " cmpflag " "  src-file) 
""
+(exe-file (concat (file-name-sans-extension src-file)  ".exe")))
+;; compile
+(with-temp-file  src-file (insert full-body))
+(org-babel-eval
+ (concat org-babel-csharp-compiler " " cmpflag " "  src-file) "")
+;; execute
 (let ((results (org-babel-eval (concat org-babel-csharp-command " " 
cmdline " " exe-file) "")))
   (org-babel-reassemble-table
(org-babel-result-cond (cdr (assq :result-params params))
@@ -72,7 +73,7 @@ parameters may be used, like mcs -warnaserror+"
(org-babel-pick-name
 (cdr (assq :rowname-names params)) (cdr (assq :rownames params)))
 
-(defun org-babel-prep-session:csharp (session params)
+(defun org-babel-prep-session:csharp (_session _params)
   "Return an error because csharp does not support sessions."
   (error "Sessions are not supported for CSharp"))
 



[nongnu] elpa/org-journal cb24a8af77 1/2: Fix bug that hid previous date entries.

2023-10-22 Thread ELPA Syncer
branch: elpa/org-journal
commit cb24a8af7715b44231762eae1be55b2ef6b6b20f
Author: Kizi Fumoli 
Commit: Kizi Fumoli 

Fix bug that hid previous date entries.

This commit resolves a bug that occurred in the "monthly" journal file
setup. When in a file containing previous date's entries, running
'org-journal-new-entry would hide any entry not in the current date,
regardless of the value of 'org-journal-hide-entries-p.
---
 org-journal.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/org-journal.el b/org-journal.el
index 4d771ab59e..8b51a36e5e 100644
--- a/org-journal.el
+++ b/org-journal.el
@@ -1381,7 +1381,7 @@ from oldest to newest."
   (progn
 (org-up-heading-safe)
 (org-back-to-heading)
-(outline-hide-other)
+(if org-journal-hide-entries-p (outline-hide-other))
 (outline-show-subtree))
 (outline-show-all)))
 



[nongnu] elpa/org-journal a306f76ee2 2/2: Merge pull request #419 from kizifumoli/hide-entries-fix

2023-10-22 Thread ELPA Syncer
branch: elpa/org-journal
commit a306f76ee2b0292946a20530bd9114aefc85a263
Merge: ac0832f02a cb24a8af77
Author: Bastian Bechtold 
Commit: GitHub 

Merge pull request #419 from kizifumoli/hide-entries-fix

Fix bug that hid previous date entries.
---
 org-journal.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/org-journal.el b/org-journal.el
index 4d771ab59e..8b51a36e5e 100644
--- a/org-journal.el
+++ b/org-journal.el
@@ -1381,7 +1381,7 @@ from oldest to newest."
   (progn
 (org-up-heading-safe)
 (org-back-to-heading)
-(outline-hide-other)
+(if org-journal-hide-entries-p (outline-hide-other))
 (outline-show-subtree))
 (outline-show-all)))
 



[elpa] externals/cape bee13e568d: Add cape-capf-inside-faces (Fix #96)

2023-10-22 Thread ELPA Syncer
branch: externals/cape
commit bee13e568d42ffec9010fbf795e8f942973da174
Author: Daniel Mendler 
Commit: Daniel Mendler 

Add cape-capf-inside-faces (Fix #96)
---
 CHANGELOG.org |  1 +
 README.org|  1 +
 cape.el   | 12 
 3 files changed, 14 insertions(+)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 033c4f9278..40de742171 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -7,6 +7,7 @@
 - =cape-emoji=: New Capf available on Emacs 29 and newer.
 - =cape-wrap-debug=, =cape-capf-debug=: New Capf transformers to add debug 
messages
   to a Capf.
+- =cape-capf-inside-faces=, =cape-wrap-inside-faces=: New transformer
 - Rename =cape-super-capf= to =cape-capf-super=. Add =cape-wrap-super= for 
consistency
   with other Capf combinators.
 - Rename =cape-symbol= to =cape-elisp-symbol=.
diff --git a/README.org b/README.org
index b26f9bc4db..4f60e4acaf 100644
--- a/README.org
+++ b/README.org
@@ -265,6 +265,7 @@ the Capf transformers with =defalias= to a function symbol.
 - ~cape-wrap-prefix-length~, ~cape-capf-prefix-length~: Enforce a minimal 
prefix length.
 - ~cape-wrap-super~, ~cape-capf-super~: Merge multiple Capfs into a Super-Capf.
 - ~cape-wrap-inside-comment~, ~cape-capf-inside-comment~: Ensure that Capf 
triggers only inside comment.
+- ~cape-wrap-inside-faces~, ~cape-capf-inside-faces~: Ensure that Capf 
triggers only inside text with certain faces.
 - ~cape-wrap-inside-string~, ~cape-capf-inside-string~: Ensure that Capf 
triggers only inside a string literal.
 
 In the following we show a few example configurations, which have come up on 
the
diff --git a/cape.el b/cape.el
index e666bd88eb..fa4b43f53c 100644
--- a/cape.el
+++ b/cape.el
@@ -1060,6 +1060,16 @@ If the prefix is long enough, enforce auto completion."
  :company-prefix-length t
  ,@plist)
 
+;;;###autoload
+(defun cape-wrap-inside-faces (capf &rest faces)
+  "Call CAPF only if inside FACES.
+This function can be used as an advice around an existing Capf."
+  (when-let ((fs (get-text-property (point) 'face))
+ ((if (listp fs)
+  (cl-loop for f in fs thereis (memq f faces))
+(memq fs faces
+(funcall capf)))
+
 ;;;###autoload
 (defun cape-wrap-inside-comment (capf)
   "Call CAPF only if inside comment.
@@ -1117,6 +1127,8 @@ This function can be used as an advice around an existing 
Capf."
 (cape--capf-wrapper debug)
 ;;;###autoload (autoload 'cape-capf-inside-comment "cape")
 (cape--capf-wrapper inside-comment)
+;;;###autoload (autoload 'cape-capf-inside-faces "cape")
+(cape--capf-wrapper inside-faces)
 ;;;###autoload (autoload 'cape-capf-inside-string "cape")
 (cape--capf-wrapper inside-string)
 ;;;###autoload (autoload 'cape-capf-super "cape")



[elpa] externals/hyperbole 2166ac8953 2/2: hui:link-possible-types - fix to not default when on dirs or files (#397)

2023-10-22 Thread ELPA Syncer
branch: externals/hyperbole
commit 2166ac89530ca854a5debe1c96330a9eb289a0b5
Author: Robert Weiner 
Commit: GitHub 

hui:link-possible-types - fix to not default when on dirs or files (#397)

* hui:link-possible-types - fix to not default when on dirs or files

* Autosave global button file after any edits.
---
 ChangeLog |  9 +
 HY-NEWS   |  7 +--
 hbut.el   |  7 ++-
 hui.el| 30 --
 4 files changed, 36 insertions(+), 17 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index b8eccd33e3..d6dffb6269 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2023-10-22  Bob Weiner  
+
+* hbut.el (gbut:save-buffer): Add function to use after global button file is
+edited.
+* hui.el (hui:gbut-delete, hui:gbut-rename, hui:gbut-link-directly): Save
+global button file after create/edit.
+ (hui:link-possible-types): Fix missing `no-default' arg when testing
+if on a directory or file name.
+
 2023-10-21  Bob Weiner  
 
 * hibtypes.el (markdown-follow-inline-link-p): Fix to process anchored
diff --git a/HY-NEWS b/HY-NEWS
index 3d18ed39a7..5b32778999 100644
--- a/HY-NEWS
+++ b/HY-NEWS
@@ -85,15 +85,16 @@
 
 ** EXPLICIT BUTTONS  (See "(hyperbole)Explicit Buttons").
 
-  *** Ebut/Link Menu Item - Inserts a named ebutton that links to point in
+  *** Ebut/Link Menu Item: Inserts a named ebutton that links to point in
   another window.  See "(hyperbole)menu item, Ebut/Link".
 
 
 ** GLOBAL BUTTONS  (See "(hyperbole)Global Buttons").
 
-  *** Gbut/Link Menu Item - A single name creates a new global link button
+  *** Gbut/Link Menu Item: A single name creates a new global link button
   to point.  See "(hyperbole)menu item, Gbut/Link".
 
+  *** Auto Save: Automatically save the global button file after any edit.
 
 ** HYCONTROL  (See "(hyperbole)HyControl").
 
@@ -461,6 +462,8 @@
   on such a string, use the 'default-directory' or 'buffer-file-name'.
   Previously just returned nil in such circumstances.
 
+  *** (gbut:save-buffer): Added to save global button file after edits.
+
 
 ** ORG MODE INTEGRATION (See "(hyperbole)Smart Key - Org Mode").
 
diff --git a/hbut.el b/hbut.el
index 21da7be4b7..68ede303c4 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:  4-Oct-23 at 20:00:02 by Mats Lidell
+;; Last-Mod: 22-Oct-23 at 08:42:11 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -807,6 +807,11 @@ to two lines."
   (when (equal buffer-file-name (gbut:file))
 (hbut:label-p as-label start-delim end-delim pos-flag two-lines-flag)))
 
+(defungbut:save-buffer ()
+  "Save global button file after an edit."
+  (with-current-buffer (find-file-noselect (gbut:file))
+(save-buffer)))
+
 (defungbut:to (lbl-key)
   "Find the global button with LBL-KEY (a label or label key).
 Find it within the visible portion of the global button file.
diff --git a/hui.el b/hui.el
index 92a5b59d7a..6219628ea5 100644
--- a/hui.el
+++ b/hui.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:19-Sep-91 at 21:42:03
-;; Last-Mod:  4-Oct-23 at 20:07:50 by Mats Lidell
+;; Last-Mod: 22-Oct-23 at 08:46:02 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -574,10 +574,10 @@ details."
 
 (defun hui:gbut-delete (but-key)
   "Delete global Hyperbole button given by BUT-KEY.
- Return t if button is deleted, nil if user chooses not to delete or 
signal
- an error otherwise.  If called interactively, prompt user whether to 
delete
- and derive BUT-KEY from the button that point is within.
- Signal an error if point is not within a button."
+Return t if button is deleted, nil if user chooses not to delete or signal
+an error otherwise.  If called interactively, prompt user whether to delete
+and derive BUT-KEY from the button that point is within.
+Signal an error if point is not within a button."
   (interactive (list (save-excursion
   (hui:buf-writable-err
(find-file-noselect (gbut:file)) "gbut-delete")
@@ -585,13 +585,14 @@ details."
(hargs:read-match "Global button to delete: "
  (mapcar #'list (gbut:label-list))
  nil t nil 'gbut)
-  (hui:hbut-delete but-key (gbut:file)))
+  (prog1 (hui:hbut-delete but-key (gbut:file))
+(gbut:save-buffer)))
 
 (defun hui:gbut-edit (lbl-key)
   "Edit a global Hyperbole button given by LBL-KEY.
- The button may be explicit or a labeled implicit button.
- When called interactively, save the global button buffer after the
- modification   Signal an error when no such button is found."
+The button may be explicit or a labeled implicit button.
+When called interactively, save the global button buffer after the
+modification.  Signal an error when no s

[elpa] externals/hyperbole a29b355168 1/2: Fix smart-tag not finding some vars and markdown link handling (#396)

2023-10-22 Thread ELPA Syncer
branch: externals/hyperbole
commit a29b3551680e9b6dccdca5ea0def95c0f9f8c0d1
Author: Robert Weiner 
Commit: GitHub 

Fix smart-tag not finding some vars and markdown link handling (#396)

* Fixes for direct link creation, path handling and org-id buttons

* Bug fixes and link directly finalization for next major release

* Updates to generated doc files

* Remove leading blank lines inserted by viewer function

* Temp remove use of org-mode in FAST-DEMO and Hypb file display

The above makes all test cases run properly.

For windows-grid, make BLANK buffers have an initial space in the
name so is hidden in buffer lists.

* Fix smart-tag not finding some vars and markdown link handling
---
 ChangeLog | 13 +
 README|  4 
 README.md | 14 +-
 hibtypes.el   | 36 
 hmouse-tag.el | 45 +
 5 files changed, 55 insertions(+), 57 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 062e97c95d..b8eccd33e3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+2023-10-21  Bob Weiner  
+
+* hibtypes.el (markdown-follow-inline-link-p): Fix to process anchored
+path links rather than dropping through to another ibtype since that
+would trigger an error since point would have been moved in order to
+leave it on the path and not the name part of a markdown link.  Remove
+need to move point by calling 'markdown-link-url'.
+
+* hmouse-tag.el (smart-lisp-find-tag): Fix that some tags were not found by
+xref because this function turned on xref-etags-mode in Elisp files
+rather than using its elisp backend.  Remove that code.
+(tags-fix): Remove optional load of this very old file.
+
 2023-10-09  Mats Lidell  
 
 * test/kotl-mode-tests.el (kotl-mode-kill-contents)
diff --git a/README b/README
index fd66ca1801..10f2eda1f8 100644
--- a/README
+++ b/README
@@ -107,6 +107,10 @@ distribution site is: 
https://www.gnu.org/software/hyperbole.  If any term in
 here is new or unfamiliar to you, you can look it up in the Hyperbole Manual
 Glossary.
 
+Unlock the power of GNU Hyperbole to make your information work for you.
+One system. One language.  One manual.  One solution.  Learn Hyperbole and
+start moving further, faster.
+
 ===
 * Files
 ===
diff --git a/README.md b/README.md
index 57fac24ed7..2a3d77946c 100644
--- a/README.md
+++ b/README.md
@@ -100,16 +100,16 @@ In short, Hyperbole lets you:
   reference from any other node;
 
4. Manage all your contacts or record-based, unstructured nodes quickly
- with hierarchical categories; each entry can have embedded
- hyperbuttons of any type.  Or create an archive of documents with
- hierarchical entries and use the same search mechanism to quickly find
- any matching entry;
+  with hierarchical categories; each entry can have embedded
+  hyperbuttons of any type.  Or create an archive of documents with
+  hierarchical entries and use the same search mechanism to quickly find
+  any matching entry;
 
5. Use single keys to easily manage your Emacs windows or frames and
   quickly retrieve saved window and frame configurations;
 
6. Search for things in your current buffers, in a directory tree or
- across major web search engines with the touch of a few keys.
+  across major web search engines with the touch of a few keys.
 
 The common thread in all these features is making retrieval,
 management and display of information fast and easy.  That is
@@ -138,6 +138,10 @@ term in here is new or unfamiliar to you, you can look it 
up in the
 Hyperbole is available for [download and installation](#installation)
 through the GNU Emacs package manager.
 
+Unlock the power of GNU Hyperbole to make your information work for you.
+One system.  One language.  One manual.  One solution.  Learn Hyperbole and
+start moving further, faster.
+
 ## Mailing Lists
 
- **hyperbole-us...@gnu.org** - User list for GNU Hyperbole
diff --git a/hibtypes.el b/hibtypes.el
index 05e8706658..18d0332319 100644
--- a/hibtypes.el
+++ b/hibtypes.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date:19-Sep-91 at 20:45:31
-;; Last-Mod:  3-Oct-23 at 17:21:27 by Mats Lidell
+;; Last-Mod: 21-Oct-23 at 19:50:25 by Bob Weiner
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -51,6 +51,7 @@
 (declare-function markdown-footnote-marker-positions "ext:markdown")
 (declare-function markdown-footnote-return "ext:markdown")
 (declare-function markdown-link-p "ext:markdown")
+(declare-function markdown-link-url "ext:markdown")
 (declare-function markdown-reference-goto-definition "ext:markdown")
 (declare-function markdown-re

[elpa] externals/hyperbole updated (cc887f9930 -> 2166ac8953)

2023-10-22 Thread ELPA Syncer
elpasync pushed a change to branch externals/hyperbole.

  from  cc887f9930 Add koutline tests (#359)
   new  a29b355168 Fix smart-tag not finding some vars and markdown link 
handling (#396)
   new  2166ac8953 hui:link-possible-types - fix to not default when on 
dirs or files (#397)


Summary of changes:
 ChangeLog | 22 ++
 HY-NEWS   |  7 +--
 README|  4 
 README.md | 14 +-
 hbut.el   |  7 ++-
 hibtypes.el   | 36 
 hmouse-tag.el | 45 +
 hui.el| 30 --
 8 files changed, 91 insertions(+), 74 deletions(-)



[nongnu] elpa/helm 83b603627b 1/4: Use the SOURCE argument in helm--quit-and-find-file-default-file

2023-10-22 Thread ELPA Syncer
branch: elpa/helm
commit 83b603627b099c6eed4a50a0d080293a63fff860
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Use the SOURCE argument in helm--quit-and-find-file-default-file

to avoid a helm-get-current-source repetition.
---
 helm-utils.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/helm-utils.el b/helm-utils.el
index 9f1238d971..2c64d303bb 100644
--- a/helm-utils.el
+++ b/helm-utils.el
@@ -596,7 +596,7 @@ from its directory."
 (put 'helm-quit-and-find-file 'helm-only t)
 
 (defun helm--quit-and-find-file-default-file (source)
-  (let ((target-fn (helm-get-attr 'find-file-target)))
+  (let ((target-fn (helm-get-attr 'find-file-target source)))
 ;; target-fn function may return nil, in this case fallback to default.
 (helm-aif (and target-fn (funcall target-fn source))
 it



[nongnu] elpa/helm a4380caef3 4/4: Change default settings of some user vars

2023-10-22 Thread ELPA Syncer
branch: elpa/helm
commit a4380caef3a9e4b1e8d11458852ab67ba9b4cf58
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Change default settings of some user vars
---
 helm-core.el | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/helm-core.el b/helm-core.el
index 859c539db0..5d51102c41 100644
--- a/helm-core.el
+++ b/helm-core.el
@@ -792,7 +792,7 @@ handle this."
   :group 'helm
   :type 'boolean)
 
-(defcustom helm-always-two-windows nil
+(defcustom helm-always-two-windows t
   "When non-nil Helm uses two windows in this frame.
 
 I.e. `helm-buffer' in one window and `helm-current-buffer'
@@ -894,7 +894,7 @@ save or remove source name in this variable."
   :group 'helm
   :type 'boolean)
 
-(defcustom helm-allow-mouse nil
+(defcustom helm-allow-mouse t
   "Allow mouse usage during the Helm session when non-nil.
 
 Note that this also allows moving out of minibuffer when clicking
@@ -903,7 +903,7 @@ by clicking back in `helm-buffer' or minibuffer."
   :group 'helm
   :type 'boolean)
 
-(defcustom helm-move-to-line-cycle-in-source nil
+(defcustom helm-move-to-line-cycle-in-source t
   "Cycle to the beginning or end of the list after reaching the bottom or top.
 This applies when using `helm-next/previous-line'."
   :group 'helm
@@ -1016,7 +1016,7 @@ Only async sources than use a sentinel calling
   :type 'integer
   :group 'helm)
 
-(defcustom helm-show-action-window-other-window nil
+(defcustom helm-show-action-window-other-window 'left
   "Show action buffer beside `helm-buffer' when non-nil.
 
 If nil don't split and replace helm-buffer by the action buffer



[nongnu] elpa/helm 607cbfabc6 3/4: New var to handle quit-and-find-file-fn when

2023-10-22 Thread ELPA Syncer
branch: elpa/helm
commit 607cbfabc62a48d61c465bdfe9fc08839c0a4490
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

New var to handle quit-and-find-file-fn when

these can't be added in source (helm-generic sources).
---
 helm-buffers.el | 1 +
 helm-mode.el| 5 +
 helm-utils.el   | 4 +++-
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/helm-buffers.el b/helm-buffers.el
index 0b6c90e5b6..fd040850ef 100644
--- a/helm-buffers.el
+++ b/helm-buffers.el
@@ -1110,6 +1110,7 @@ Can be used by any source that list buffers."
   (cl-assert (not helm-buffers-in-project-p)
  nil "You are already browsing this project"))
 
+;;;###autoload
 (defun helm-buffers-quit-and-find-file-fn (source)
   (let* ((sel   (get-buffer (helm-get-selection nil nil source)))
  (bname (and (bufferp sel) (buffer-name sel
diff --git a/helm-mode.el b/helm-mode.el
index a68272f2fd..6a8ecfe975 100644
--- a/helm-mode.el
+++ b/helm-mode.el
@@ -255,6 +255,11 @@ This is mainly needed to prevent \"*Completions*\" buffers 
to popup.")
 Not guaranteed to work with Emacs < 27."
   :type 'boolean
   :group 'helm-mode)
+
+(defvar helm-mode-find-file-target-alist
+  '(("switch-to-buffer" . helm-buffers-quit-and-find-file-fn))
+  "An alist composed of (SOURCE_NAME . FUNCTION) elements.
+Where FUNCTION is a function suitable for `helm-quit-and-find-file'.")
 
 (defface helm-mode-prefix
   `((t ,@(and (>= emacs-major-version 27) '(:extend t))
diff --git a/helm-utils.el b/helm-utils.el
index 2c64d303bb..3fc02544ff 100644
--- a/helm-utils.el
+++ b/helm-utils.el
@@ -596,7 +596,9 @@ from its directory."
 (put 'helm-quit-and-find-file 'helm-only t)
 
 (defun helm--quit-and-find-file-default-file (source)
-  (let ((target-fn (helm-get-attr 'find-file-target source)))
+  (let ((target-fn (or (helm-get-attr 'find-file-target source)
+   (assoc-default (helm-get-attr 'name source)
+  helm-mode-find-file-target-alist
 ;; target-fn function may return nil, in this case fallback to default.
 (helm-aif (and target-fn (funcall target-fn source))
 it



[nongnu] elpa/helm updated (372167f13f -> a4380caef3)

2023-10-22 Thread ELPA Syncer
elpasync pushed a change to branch elpa/helm.

  from  372167f13f Inline `kmacro--to-vector' from E29 to fix compatibility 
of
   new  83b603627b Use the SOURCE argument in 
helm--quit-and-find-file-default-file
   new  9d1ea966c3 Support a buffer-name as selection in 
helm-buffers-quit-and-find-file-fn
   new  607cbfabc6 New var to handle quit-and-find-file-fn when
   new  a4380caef3 Change default settings of some user vars


Summary of changes:
 helm-buffers.el | 15 +++
 helm-core.el|  8 
 helm-mode.el|  5 +
 helm-utils.el   |  4 +++-
 4 files changed, 19 insertions(+), 13 deletions(-)



[nongnu] elpa/helm 9d1ea966c3 2/4: Support a buffer-name as selection in helm-buffers-quit-and-find-file-fn

2023-10-22 Thread ELPA Syncer
branch: elpa/helm
commit 9d1ea966c3c2a74e647d52ac0fb168958f87c178
Author: Thierry Volpiatto 
Commit: Thierry Volpiatto 

Support a buffer-name as selection in helm-buffers-quit-and-find-file-fn
---
 helm-buffers.el | 14 ++
 1 file changed, 6 insertions(+), 8 deletions(-)

diff --git a/helm-buffers.el b/helm-buffers.el
index 5f1dee3973..0b6c90e5b6 100644
--- a/helm-buffers.el
+++ b/helm-buffers.el
@@ -,18 +,16 @@ Can be used by any source that list buffers."
  nil "You are already browsing this project"))
 
 (defun helm-buffers-quit-and-find-file-fn (source)
-  (let* ((sel (helm-get-selection nil nil source))
- (buf (helm-aand (bufferp sel)
- (get-buffer sel)
- (buffer-name it
-(when buf
+  (let* ((sel   (get-buffer (helm-get-selection nil nil source)))
+ (bname (and (bufferp sel) (buffer-name sel
+(when bname
   (or (buffer-file-name sel)
-  (car (rassoc buf dired-buffers))
-  (and (with-current-buffer buf
+  (car (rassoc bname dired-buffers))
+  (and (with-current-buffer bname
  (eq major-mode 'org-agenda-mode))
org-directory
(expand-file-name org-directory))
-  (with-current-buffer buf
+  (with-current-buffer bname
 (expand-file-name default-directory))
 
 ;;; Candidate Transformers



[nongnu] elpa/hyperdrive 0ecc62eb8c 07/10: Change: (hyperdrive-menu) Use :if-mode and :if-not-mode

2023-10-22 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 0ecc62eb8c129ce341e36c62f4afc76f3767c1ae
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Change: (hyperdrive-menu) Use :if-mode and :if-not-mode
---
 hyperdrive-menu.el | 18 ++
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/hyperdrive-menu.el b/hyperdrive-menu.el
index 760c2293e5..2bd437e88f 100644
--- a/hyperdrive-menu.el
+++ b/hyperdrive-menu.el
@@ -137,8 +137,7 @@
  :inapt-if-not (lambda ()
  (hyperdrive-parent (hyperdrive-menu--entry
 ("s" "Sort" hyperdrive-dir-sort
- :if (lambda ()
-   (eq major-mode 'hyperdrive-dir-mode))
+ :if-mode hyperdrive-dir-mode
  :transient t)
 ("j" "Jump" imenu)
 ;; TODO: Combine previous and next commands on the same line?
@@ -147,29 +146,24 @@
   (interactive)
   (hyperdrive-ewoc-previous)
   (hyperdrive-menu (hyperdrive-menu--entry)))
- :if (lambda ()
-   (eq major-mode 'hyperdrive-dir-mode))
+ :if-mode hyperdrive-dir-mode
  :transient t)
 ("n" "Next" (lambda ()
   (interactive)
   (hyperdrive-ewoc-next)
   (hyperdrive-menu (hyperdrive-menu--entry)))
- :if (lambda ()
-   (eq major-mode 'hyperdrive-dir-mode))
+ :if-mode hyperdrive-dir-mode
  :transient t)
 ("w" "Copy URL" hyperdrive-copy-url
- :if (lambda ()
-   (not (eq major-mode 'hyperdrive-dir-mode
+ :if-not-mode hyperdrive-dir-mode)
 ("D" "Delete" hyperdrive-delete
- :if (lambda ()
-   (not (eq major-mode 'hyperdrive-dir-mode)))
+ :if-not-mode hyperdrive-dir-mode
  :inapt-if (lambda ()
  (pcase-let (((cl-struct hyperdrive-entry hyperdrive version)
   (hyperdrive-menu--entry)))
(or version (not (hyperdrive-writablep hyperdrive))
 ("d" "Download" hyperdrive-download
- :if (lambda ()
-   (not (eq major-mode 'hyperdrive-dir-mode]
+ :if-not-mode hyperdrive-dir-mode)]
;; TODO: Consider adding a defcustom to hide the "Selected" and
;; "Current" groups when in a directory buffer.
[;; Selected



[nongnu] elpa/helm-core updated (372167f13f -> a4380caef3)

2023-10-22 Thread ELPA Syncer
elpasync pushed a change to branch elpa/helm-core.

  from  372167f13f Inline `kmacro--to-vector' from E29 to fix compatibility 
of
  adds  83b603627b Use the SOURCE argument in 
helm--quit-and-find-file-default-file
  adds  9d1ea966c3 Support a buffer-name as selection in 
helm-buffers-quit-and-find-file-fn
  adds  607cbfabc6 New var to handle quit-and-find-file-fn when
  adds  a4380caef3 Change default settings of some user vars

No new revisions were added by this update.

Summary of changes:
 helm-buffers.el | 15 +++
 helm-core.el|  8 
 helm-mode.el|  5 +
 helm-utils.el   |  4 +++-
 4 files changed, 19 insertions(+), 13 deletions(-)



[nongnu] elpa/hyperdrive c3d2d1e2ed 03/10: Fix: (hyperdrive-time-greater-p) Don't return t if equal

2023-10-22 Thread ELPA Syncer
branch: elpa/hyperdrive
commit c3d2d1e2eda033867902612c34073e45975fe61c
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Fix: (hyperdrive-time-greater-p) Don't return t if equal
---
 hyperdrive-lib.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/hyperdrive-lib.el b/hyperdrive-lib.el
index c4e4ee1eba..ec1b8a828e 100644
--- a/hyperdrive-lib.el
+++ b/hyperdrive-lib.el
@@ -1424,7 +1424,8 @@ When PATH is nil or blank, return \"/\"."
 
 (defun hyperdrive-time-greater-p (a b)
   "Return non-nil if time value A is greater than B."
-  (not (time-less-p a b)))
+  (not (or (time-equal-p a b)
+   (time-less-p a b
 
 (defun hyperdrive--clean-buffer (&optional buffer)
   "Remove all local variables, overlays, and text properties in BUFFER.



[nongnu] elpa/hyperdrive 6050e4f60c 01/10: Docs: Add a comma

2023-10-22 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 6050e4f60c1e6f74b58db42870fe977f54d3f225
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Docs: Add a comma
---
 hyperdrive.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hyperdrive.el b/hyperdrive.el
index 5ec1b76645..645a0655f9 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -28,7 +28,7 @@
 
 ;; Hyperdrive is a P2P, real-time, local-first, versioned filesystem
 ;; designed for easy peer-to-peer file sharing.  hyperdrive.el is an
-;; independent project built by https://ushin.org which provides an
+;; independent project built by https://ushin.org, which provides an
 ;; Emacs interface for managing hyperdrives.
 
  Installation:



[nongnu] elpa/hyperdrive updated (dbf3d5063f -> fcb5512706)

2023-10-22 Thread ELPA Syncer
elpasync pushed a change to branch elpa/hyperdrive.

  from  dbf3d5063f Docs: Document Markdown relative links
   new  6050e4f60c Docs: Add a comma
   new  cf3fec65f6 Fix: Fix code section outline level
   new  c3d2d1e2ed Fix: (hyperdrive-time-greater-p) Don't return t if equal
   new  a7603ced15 Fix: (hyperdrive-menu) Fix indentation
   new  55d2b61510 Fix: (hyperdrive-menu) Fix a fixme
   new  2f5ff56f5a Change: (hyperdrive-menu--entry) New convenience function
   new  0ecc62eb8c Change: (hyperdrive-menu) Use :if-mode and :if-not-mode
   new  3b54e0b34c Fix: (hyperdrive-mirror) Require match when reading 
named function
   new  6d23e595b5 Add/Change: (-mirror-read-prediate) New function
   new  fcb5512706 Change: (-mirror-read-prediate) Cosmetics


Summary of changes:
 hyperdrive-lib.el|   3 +-
 hyperdrive-menu.el   | 249 +--
 hyperdrive-mirror.el |  37 
 hyperdrive.el|   4 +-
 4 files changed, 145 insertions(+), 148 deletions(-)



[nongnu] elpa/hyperdrive 3b54e0b34c 08/10: Fix: (hyperdrive-mirror) Require match when reading named function

2023-10-22 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 3b54e0b34c313a099be7d6f301cdcdec70908b5d
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Fix: (hyperdrive-mirror) Require match when reading named function

Also use `obarray' instead of collecting choices manually.
---
 hyperdrive-mirror.el | 7 +--
 1 file changed, 1 insertion(+), 6 deletions(-)

diff --git a/hyperdrive-mirror.el b/hyperdrive-mirror.el
index 7b7da89489..9146edd90b 100644
--- a/hyperdrive-mirror.el
+++ b/hyperdrive-mirror.el
@@ -124,12 +124,7 @@ predicate and set NO-CONFIRM to t."
(read--expression 
"Lambda: " "(lambda (filename) )")))
 ("Named function" .
  (lambda ()
-   (completing-read "Named function: "
-(let ((functions))
-  (mapatoms (lambda 
(atom)
-  (when 
(functionp atom)
-(push 
atom functions
-  functions))
+   (completing-read "Named function: " 
obarray #'functionp t)
  (choice (completing-read "Predicate type: " 
collection))
  (result (funcall (alist-get choice collection 
nil nil #'equal
 result)



[nongnu] elpa/hyperdrive 6d23e595b5 09/10: Add/Change: (-mirror-read-prediate) New function

2023-10-22 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 6d23e595b5d58e5c71d0098127b2ead4e89eda7f
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Add/Change: (-mirror-read-prediate) New function

Created from existing code, previously in `hyperdrive-mirror'.
---
 hyperdrive-mirror.el | 33 ++---
 1 file changed, 18 insertions(+), 15 deletions(-)

diff --git a/hyperdrive-mirror.el b/hyperdrive-mirror.el
index 9146edd90b..5ce73f5a31 100644
--- a/hyperdrive-mirror.el
+++ b/hyperdrive-mirror.el
@@ -113,21 +113,7 @@ predicate and set NO-CONFIRM to t."
:target-dir (hyperdrive-read-path :hyperdrive hyperdrive :prompt 
"Target directory in «%s»" :default "/")
:no-confirm (equal '(16) current-prefix-arg)
:predicate (if current-prefix-arg
-  (let* ((collection
-  '(("Mirror all files" . (lambda ()
-#'always))
-("`rx' form" . (lambda ()
- (eval (read--expression 
"`rx' form: " "(rx )"
-("Regexp string" . (lambda ()
- (read-regexp "Regular 
expression: ")))
-("Lambda function" . (lambda ()
-   (read--expression 
"Lambda: " "(lambda (filename) )")))
-("Named function" .
- (lambda ()
-   (completing-read "Named function: " 
obarray #'functionp t)
- (choice (completing-read "Predicate type: " 
collection))
- (result (funcall (alist-get choice collection 
nil nil #'equal
-result)
+  (hyperdrive-mirror-read-predicate)
 #'always
   (cl-callf expand-file-name source)
   (setf target-dir (hyperdrive--format-path target-dir :directoryp t))
@@ -205,6 +191,23 @@ predicate and set NO-CONFIRM to t."
  (hyperdrive-entry-url entry) 
plz-error
 (pop-to-buffer (current-buffer
 
+(defun hyperdrive-mirror-read-predicate ()
+  "Read a function for filtering source files for mirroring."
+  (let* ((collection
+  '(("Mirror all files" .
+ (lambda () #'always))
+("`rx' form" .
+ (lambda () (eval (read--expression "`rx' form: " "(rx )"
+("Regexp string" .
+ (lambda () (read-regexp "Regular expression: ")))
+("Lambda function" .
+ (lambda () (read--expression "Lambda: " "(lambda (filename) )")))
+("Named function"   .
+ (lambda () (completing-read "Named function: " obarray 
#'functionp t)
+ (choice (completing-read "Predicate type: " collection))
+ (result (funcall (alist-get choice collection nil nil #'equal
+result))
+
 (defun hyperdrive-mirror-do-upload ()
   "Upload files in current \"*hyperdrive-mirror*\" buffer."
   (declare (modes hyperdrive-mirror-mode))



[nongnu] elpa/hyperdrive 55d2b61510 05/10: Fix: (hyperdrive-menu) Fix a fixme

2023-10-22 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 55d2b61510d5e35f8246cdebdebf43756dab95f7
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Fix: (hyperdrive-menu) Fix a fixme

And yes, this seems to be an issue in Transient.
---
 hyperdrive-menu.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hyperdrive-menu.el b/hyperdrive-menu.el
index 98c9ccc90b..3ef4c3b551 100644
--- a/hyperdrive-menu.el
+++ b/hyperdrive-menu.el
@@ -206,7 +206,7 @@
(string= "../" (alist-get 'display-name
  (hyperdrive-entry-etc 
selected-entry)))
 ("w" "Copy URL" hyperdrive-dir-copy-url)
-;; FIXME: The sequence "? ? RET" says "Unbound suffix" instead of showing 
the help for that command.  Might be an issue in Transient.
+;; FIXME: The sequence "? RET" says "Unbound suffix" instead of showing 
the help for that command.  Might be an issue in Transient.
 ("RET" "Open" hyperdrive-dir-find-file)
 ("v" "View" hyperdrive-dir-view-file
  :inapt-if (lambda ()



[nongnu] elpa/hyperdrive 2f5ff56f5a 06/10: Change: (hyperdrive-menu--entry) New convenience function

2023-10-22 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 2f5ff56f5a6c46465bb1e2cea15a51b6270c924f
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Change: (hyperdrive-menu--entry) New convenience function

This doesn't have to be a macro as suggested in the todo item, which
this addresses.

However, the order matters in which we try `transient--prefix'
and `transient-current-prefix', and use the first that is non-nil.
`transient-current-prefix' may be another prefix from which we invoke
the current prefix, so `transient--prefix' has to take precedence.
---
 hyperdrive-menu.el | 89 --
 1 file changed, 46 insertions(+), 43 deletions(-)

diff --git a/hyperdrive-menu.el b/hyperdrive-menu.el
index 3ef4c3b551..760c2293e5 100644
--- a/hyperdrive-menu.el
+++ b/hyperdrive-menu.el
@@ -53,8 +53,6 @@
 ;; hyperdrive-current-entry))
 ;;  ,@body
 
-;; TODO: Add macro that expands `entry' into (oref transient--prefix scope)
-;; or (oref transient-current-prefix scope) as appropriate.
 ;;;###autoload (autoload 'hyperdrive-menu "hyperdrive-menu" nil t)
 (transient-define-prefix hyperdrive-menu (entry)
   "Show the hyperdrive transient menu."
@@ -62,7 +60,7 @@
   [["Hyperdrive"
 :description
 (lambda ()
-  (if-let* ((entry (oref transient--prefix scope))
+  (if-let* ((entry (hyperdrive-menu--entry))
 (hyperdrive (hyperdrive-entry-hyperdrive entry)))
   (concat (propertize "Hyperdrive: " 'face 'transient-heading)
   (hyperdrive--format-host hyperdrive :with-label t))
@@ -72,11 +70,11 @@
 ("L" "Open Link" hyperdrive-open-url)]
["Version"
 :if (lambda ()
-  (and (oref transient--prefix scope)
+  (and (hyperdrive-menu--entry)
;; TODO: Remove this check and add useful history transient UI.
(not (eq 'hyperdrive-history-mode major-mode
 :description (lambda ()
-   (if-let ((entry (oref transient--prefix scope)))
+   (if-let ((entry (hyperdrive-menu--entry)))
(concat (propertize "Version: "
'face 'transient-heading)
(propertize (format "%s"
@@ -86,10 +84,10 @@
  "Version"))
 ("V p" "Previous" hyperdrive-open-previous-version
  :inapt-if-not (lambda ()
- (hyperdrive-entry-previous (oref transient--prefix scope) 
:cache-only t))
+ (hyperdrive-entry-previous (hyperdrive-menu--entry) 
:cache-only t))
  ;; :transient t
  :description (lambda ()
-(if-let ((entry (oref transient--prefix scope)))
+(if-let ((entry (hyperdrive-menu--entry)))
 (concat "Previous"
 (pcase-exhaustive (hyperdrive-entry-previous 
entry :cache-only t)
   ('unknown (concat ": " (propertize "?" 'face 
'transient-value)))
@@ -100,12 +98,12 @@
   "Previous")))
 ("V n" "Next" hyperdrive-open-next-version
  :inapt-if-not (lambda  ()
- (let ((entry (oref transient--prefix scope)))
+ (let ((entry (hyperdrive-menu--entry)))
(and (hyperdrive-entry-version entry)
 (hyperdrive-entry-p (hyperdrive-entry-next 
entry)
  :description (lambda ()
 (concat "Next"
-(when-let* ((entry (oref transient--prefix scope))
+(when-let* ((entry (hyperdrive-menu--entry))
 (next-entry (hyperdrive-entry-next 
entry))
 ;; Don't add ": latest" if we're 
already at the latest
 ;; version or if the next version is 
`unknown'.
@@ -119,15 +117,15 @@
 ("V a" "At..." hyperdrive-open-at-version)
 ("V h" "History" hyperdrive-history
  :inapt-if (lambda ()
- (hyperdrive--entry-directory-p (oref transient--prefix 
scope]]
+ (hyperdrive--entry-directory-p (hyperdrive-menu--entry]]
   [:if (lambda ()
- (and (oref transient--prefix scope)
+ (and (hyperdrive-menu--entry)
   ;; TODO: Remove this check and add useful history transient UI.
   (not (eq 'hyperdrive-history-mode major-mode
[;; Current
 :description
 (lambda ()
-  (let ((entry (oref transient--prefix scope)))
+  (let ((entry (hyperdrive-menu--entry)))
 (concat (propertize "Current: " 'face 'transient-heading)
 (propertize (hyperdrive--format-path (hyperdrive-entry-path 
entry))
 'face 'transient-value
@@ -135,9 +133,9 @@
 ("^" "Up to parent"
  (lambda ()
(interactive)
-   (hyperdrive-up (oref transient-

[nongnu] elpa/hyperdrive cf3fec65f6 02/10: Fix: Fix code section outline level

2023-10-22 Thread ELPA Syncer
branch: elpa/hyperdrive
commit cf3fec65f6fab162f9ef0f8bb057e9ee5490422f
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Fix: Fix code section outline level
---
 hyperdrive.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hyperdrive.el b/hyperdrive.el
index 645a0655f9..f66942f38a 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -710,7 +710,7 @@ Universal prefix argument \\[universal-argument] forces
 (hyperdrive-upload-file file entry :queue queue :then #'ignore)))
 (plz-run queue)))
 
-;;; Info lookup
+ Info lookup
 
 (declare-function info-lookup-maybe-add-help "info-look")
 



[nongnu] elpa/hyperdrive a7603ced15 04/10: Fix: (hyperdrive-menu) Fix indentation

2023-10-22 Thread ELPA Syncer
branch: elpa/hyperdrive
commit a7603ced15bd21adaa8b4a7407aa8c5228f2dae3
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Fix: (hyperdrive-menu) Fix indentation

Also, when a lambda expression spans multiple lines, don't begin
the body on the same line as the lambda symbol, because that may
be displayed as just lambda, which leads to inconsistencies since
some of us do that, while others do not.
---
 hyperdrive-menu.el | 186 +++--
 1 file changed, 94 insertions(+), 92 deletions(-)

diff --git a/hyperdrive-menu.el b/hyperdrive-menu.el
index c97a6f394b..98c9ccc90b 100644
--- a/hyperdrive-menu.el
+++ b/hyperdrive-menu.el
@@ -71,9 +71,10 @@
 ("N" "New drive" hyperdrive-new)
 ("L" "Open Link" hyperdrive-open-url)]
["Version"
-:if (lambda () (and (oref transient--prefix scope)
-;; TODO: Remove this check and add useful history 
transient UI.
-(not (eq 'hyperdrive-history-mode major-mode
+:if (lambda ()
+  (and (oref transient--prefix scope)
+   ;; TODO: Remove this check and add useful history transient UI.
+   (not (eq 'hyperdrive-history-mode major-mode
 :description (lambda ()
(if-let ((entry (oref transient--prefix scope)))
(concat (propertize "Version: "
@@ -119,97 +120,98 @@
 ("V h" "History" hyperdrive-history
  :inapt-if (lambda ()
  (hyperdrive--entry-directory-p (oref transient--prefix 
scope]]
-  [ :if (lambda () (and (oref transient--prefix scope)
-;; TODO: Remove this check and add useful history 
transient UI.
-(not (eq 'hyperdrive-history-mode major-mode
-[ ;; Current
- :description
+  [:if (lambda ()
+ (and (oref transient--prefix scope)
+  ;; TODO: Remove this check and add useful history transient UI.
+  (not (eq 'hyperdrive-history-mode major-mode
+   [;; Current
+:description
+(lambda ()
+  (let ((entry (oref transient--prefix scope)))
+(concat (propertize "Current: " 'face 'transient-heading)
+(propertize (hyperdrive--format-path (hyperdrive-entry-path 
entry))
+'face 'transient-value
+("g" "Refresh" revert-buffer)
+("^" "Up to parent"
  (lambda ()
-   (let ((entry (oref transient--prefix scope)))
- (concat (propertize "Current: " 'face 'transient-heading)
- (propertize (hyperdrive--format-path (hyperdrive-entry-path 
entry))
- 'face 'transient-value
- ("g" "Refresh" revert-buffer)
- ("^" "Up to parent"
-  (lambda ()
-(interactive)
-(hyperdrive-up (oref transient-current-prefix scope)))
-  :inapt-if-not (lambda ()
-  (hyperdrive-parent (oref transient--prefix scope
- ("s" "Sort" hyperdrive-dir-sort
-  :if (lambda ()
-(eq major-mode 'hyperdrive-dir-mode))
-  :transient t)
- ("j" "Jump" imenu)
- ;; TODO: Combine previous and next commands on the same line?
- ;; TODO: See "predicate refreshing" 
.
- ("p" "Previous" (lambda ()
-   (interactive)
-   (hyperdrive-ewoc-previous)
-   (hyperdrive-menu (oref transient--prefix scope)))
-  :if (lambda ()
-(eq major-mode 'hyperdrive-dir-mode))
-  :transient t)
- ("n" "Next" (lambda ()
-   (interactive)
-   (hyperdrive-ewoc-next)
-   (hyperdrive-menu (oref transient--prefix scope)))
-  :if (lambda ()
-(eq major-mode 'hyperdrive-dir-mode))
-  :transient t)
- ("w" "Copy URL" hyperdrive-copy-url
-  :if (lambda ()
-(not (eq major-mode 'hyperdrive-dir-mode
- ("D" "Delete" hyperdrive-delete
-  :if (lambda ()
-(not (eq major-mode 'hyperdrive-dir-mode)))
-  :inapt-if (lambda ()
-  (pcase-let (((cl-struct hyperdrive-entry hyperdrive version)
-   (oref transient--prefix scope)))
-(or version (not (hyperdrive-writablep hyperdrive))
- ("d" "Download" hyperdrive-download
-  :if (lambda ()
-(not (eq major-mode 'hyperdrive-dir-mode]
-;; TODO: Consider adding a defcustom to hide the "Selected" and
-;; "Current" groups when in a directory buffer.
-[ ;; Selected
+   (interactive)
+   (hyperdrive-up (oref transient-current-prefix scope)))
+ :inapt-if-not (lambda ()
+ (hyperdrive-parent (oref transient--prefix scope
+("s" "Sort" hyperdrive-dir-sort
  :if (lambda ()
-   (and (oref transient--prefix scope)
-(eq major-mode 'hyperdrive-dir-mode)
-(hyperdrive-dir--entry-at-poi

[nongnu] elpa/hyperdrive fcb5512706 10/10: Change: (-mirror-read-prediate) Cosmetics

2023-10-22 Thread ELPA Syncer
branch: elpa/hyperdrive
commit fcb5512706eeeadbce64d9ed912aa559a4373d71
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

Change: (-mirror-read-prediate) Cosmetics
---
 hyperdrive-mirror.el | 7 +++
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/hyperdrive-mirror.el b/hyperdrive-mirror.el
index 5ce73f5a31..6843ce9fba 100644
--- a/hyperdrive-mirror.el
+++ b/hyperdrive-mirror.el
@@ -193,7 +193,7 @@ predicate and set NO-CONFIRM to t."
 
 (defun hyperdrive-mirror-read-predicate ()
   "Read a function for filtering source files for mirroring."
-  (let* ((collection
+  (let* ((readers
   '(("Mirror all files" .
  (lambda () #'always))
 ("`rx' form" .
@@ -204,9 +204,8 @@ predicate and set NO-CONFIRM to t."
  (lambda () (read--expression "Lambda: " "(lambda (filename) )")))
 ("Named function"   .
  (lambda () (completing-read "Named function: " obarray 
#'functionp t)
- (choice (completing-read "Predicate type: " collection))
- (result (funcall (alist-get choice collection nil nil #'equal
-result))
+ (reader (completing-read "Predicate type: " readers)))
+(funcall (alist-get reader readers nil nil #'equal
 
 (defun hyperdrive-mirror-do-upload ()
   "Upload files in current \"*hyperdrive-mirror*\" buffer."



[nongnu] elpa/sweeprolog updated (aeeed84c7f -> 5ddb7e85ba)

2023-10-22 Thread ELPA Syncer
elpasync pushed a change to branch elpa/sweeprolog.

  from  aeeed84c7f Announce recent changes in NEWS.org and bump version to 
0.25.5
   new  248bfa20f6 Revert "Set Prolog flag 'tty_control' to 'true' when 
using pty"
   new  5ddb7e85ba Stop pty echo with 'stty' instead of 
'comint-process-echoes'


Summary of changes:
 sweep.pl  | 10 +-
 sweeprolog.el | 17 -
 2 files changed, 13 insertions(+), 14 deletions(-)



[nongnu] elpa/sweeprolog 248bfa20f6 1/2: Revert "Set Prolog flag 'tty_control' to 'true' when using pty"

2023-10-22 Thread ELPA Syncer
branch: elpa/sweeprolog
commit 248bfa20f695c0fede3bb3554077e0464e265cbe
Author: Eshel Yaron 
Commit: Eshel Yaron 

Revert "Set Prolog flag 'tty_control' to 'true' when using pty"

This reverts commit d70195ede30df33098f58cc6ba5fd19c26495055.
---
 sweep.pl  | 10 +-
 sweeprolog.el |  9 +++--
 2 files changed, 8 insertions(+), 11 deletions(-)

diff --git a/sweep.pl b/sweep.pl
index a83816fd17..6e0feec2b0 100644
--- a/sweep.pl
+++ b/sweep.pl
@@ -782,7 +782,7 @@ sweep_top_level_start_pty(Name, Id) :-
 sweep_top_level_pty_client(Name) :-
 open(Name, read, InStream, [eof_action(reset)]),
 open(Name, write, OutStream),
-sweep_top_level_client(InStream, OutStream, ip(127, 0, 0, 1), true).
+sweep_top_level_client(InStream, OutStream, ip(127,0,0,1)).
 
 sweep_top_level_server(_, Port) :-
 tcp_socket(ServerSocket),
@@ -809,17 +809,17 @@ sweep_top_level_server_loop_(accept(From), ServerSocket) 
:-
 tcp_open_socket(Slave, InStream, OutStream),
 set_stream(InStream, close_on_abort(false)),
 set_stream(OutStream, close_on_abort(false)),
-sweep_create_thread(sweep_top_level_client(InStream, OutStream, Peer, 
false), T),
+sweep_create_thread(sweep_top_level_client(InStream, OutStream, Peer), T),
 thread_property(T, id(Id)),
 thread_send_message(From, client(Id)),
 sweep_top_level_server_loop(ServerSocket).
 sweep_top_level_server_loop_(_, _).
 
-sweep_top_level_client(InStream, OutStream, ip(127, 0, 0, 1), TC) :-
+sweep_top_level_client(InStream, OutStream, ip(127,0,0,1)) :-
 !,
 set_prolog_IO(InStream, OutStream, OutStream),
 set_stream(InStream, tty(true)),
-set_prolog_flag(tty_control, TC),
+set_prolog_flag(tty_control, false),
 set_prolog_flag(verbose, normal),
 set_prolog_flag(color_term, true),
 current_prolog_flag(encoding, Enc),
@@ -835,7 +835,7 @@ sweep_top_level_client(InStream, OutStream, ip(127, 0, 0, 
1), TC) :-
  close(OutStream, [force(true)])
)),
 prolog.
-sweep_top_level_client(InStream, OutStream, _, _) :-
+sweep_top_level_client(InStream, OutStream, _) :-
 close(InStream),
 close(OutStream).
 
diff --git a/sweeprolog.el b/sweeprolog.el
index c057d5e4c9..b0fd0e07cf 100644
--- a/sweeprolog.el
+++ b/sweeprolog.el
@@ -3241,6 +3241,7 @@ top-level."
   (if sweeprolog-top-level-use-pty
   (progn
 (make-comint-in-buffer "sweeprolog-top-level" buf nil)
+(setq-local comint-process-echoes t)
 (process-send-eof (get-buffer-process buf))
 (sweeprolog--query-once "sweep" "sweep_top_level_start_pty"
 (process-tty-name 
(get-buffer-process buf
@@ -3250,6 +3251,7 @@ top-level."
buf
(cons "localhost"
  sweeprolog-prolog-server-port))
+(setq-local comint-process-echoes nil)
 (sweeprolog--query-once "sweep" 
"sweep_accept_top_level_client" nil)))
 (let ((proc (get-buffer-process buf)))
   (set-process-filter proc
@@ -,12 +3335,7 @@ appropriate buffer."
   (- pend pstart
  (not (string= "|: "   prompt))
  (not (string= "|" prompt)))
-(let ((proc (get-buffer-process (current-buffer
-  (if (eq (process-type proc) 'network)
-  (comint-send-input)
-(delete-char -1)
-(process-send-string (get-buffer-process (current-buffer))
- (char-to-string last-command-event
+(comint-send-input)
 
 (defun sweeprolog-signal-thread (tid goal)
   (sweeprolog--query-once "sweep" "sweep_thread_signal"



[nongnu] elpa/sweeprolog 5ddb7e85ba 2/2: Stop pty echo with 'stty' instead of 'comint-process-echoes'

2023-10-22 Thread ELPA Syncer
branch: elpa/sweeprolog
commit 5ddb7e85bae6229d6b2a6ba8fd50dd72120c6ad1
Author: Eshel Yaron 
Commit: Eshel Yaron 

Stop pty echo with 'stty' instead of 'comint-process-echoes'

* sweeprolog.el (sweeprolog-top-level-buffer): Call 'stty PTY -echo'
on GNU/Linux systems.
---
 sweeprolog.el | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/sweeprolog.el b/sweeprolog.el
index b0fd0e07cf..0e6c682d91 100644
--- a/sweeprolog.el
+++ b/sweeprolog.el
@@ -3241,17 +3241,19 @@ top-level."
   (if sweeprolog-top-level-use-pty
   (progn
 (make-comint-in-buffer "sweeprolog-top-level" buf nil)
-(setq-local comint-process-echoes t)
-(process-send-eof (get-buffer-process buf))
-(sweeprolog--query-once "sweep" "sweep_top_level_start_pty"
-(process-tty-name 
(get-buffer-process buf
+(let* ((proc (get-buffer-process buf))
+   (tty (process-tty-name proc)))
+  (when (eq system-type 'gnu/linux)
+;; make sure the pty does not echo input
+(call-process "stty" nil nil nil "-F" tty "-echo"))
+  (process-send-eof proc)
+  (sweeprolog--query-once "sweep" 
"sweep_top_level_start_pty" tty)))
 (unless sweeprolog-prolog-server-port
   (sweeprolog-start-prolog-server))
 (make-comint-in-buffer "sweeprolog-top-level"
buf
(cons "localhost"
  sweeprolog-prolog-server-port))
-(setq-local comint-process-echoes nil)
 (sweeprolog--query-once "sweep" 
"sweep_accept_top_level_client" nil)))
 (let ((proc (get-buffer-process buf)))
   (set-process-filter proc



[elpa] main 5ed3890bb5: elpa-packages (auto-overlays): Upstream is dead

2023-10-22 Thread Stefan Monnier via
branch: main
commit 5ed3890bb5cfebbec01848a51f79f0d24468d8dd
Author: Stefan Monnier 
Commit: Stefan Monnier 

elpa-packages (auto-overlays): Upstream is dead
---
 elpa-packages | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/elpa-packages b/elpa-packages
index 4689cad46d..97174cc591 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -71,8 +71,7 @@
  (aumix-mode   :url nil)
  (auto-correct :url nil)
  (auto-header   :url "https://git.sr.ht/~pkal/auto-header";)
- (auto-overlays:url 
"http://www.dr-qubit.org/git/predictive.git";
-  :manual-sync t ;; The upstream doesn't exist any more!
+ (auto-overlays:url nil 
;"http://www.dr-qubit.org/git/predictive.git";
   :doc "docs/auto-overlay-manual.texinfo")
  (autocrypt :url "https://git.sr.ht/~pkal/autocrypt";)
  (avy  :url "https://github.com/abo-abo/avy";



[elpa] externals/hyperbole 370941ddb4: Verify number of global ibuts and ebuts (#394)

2023-10-22 Thread ELPA Syncer
branch: externals/hyperbole
commit 370941ddb42dff7685b28629d7d2e65ca585159b
Author: Mats Lidell 
Commit: GitHub 

Verify number of global ibuts and ebuts (#394)
---
 ChangeLog | 22 +
 hbdata.el | 95 +--
 hbut.el   |  4 +--
 test/hui-tests.el | 62 +++-
 4 files changed, 142 insertions(+), 41 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index d6dffb6269..60790f4bdd 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,25 @@
+2023-10-22  Mats Lidell  
+
+* test/hui-tests.el (hui-gbut-number-of-gebuts-from-mail-mode): Remove
+expected to fail.
+
+* hbut.el (gbut:ebut-key-list): Use hbdata:to-entry-in-file for global
+button file data.
+
+* hbdata.el (hbdata:is-but-data-stored-in-buffer)
+(hbdata:to-entry-in-buffer, hbdata:to-entry-in-file): Refactor into
+three methods to separate out button data stored in a file.
+(hbdata:to-entry-buf): Use new methods.
+
+2023-10-11  Mats Lidell  
+
+* test/hui-tests.el (hui-gbut-number-of-gbuts-with-no-buttons)
+(hui-gbut-number-of-gibuts-when-one-button)
+(hui-gbut-number-of-gebuts-when-one-button)
+(hui-gbut-number-of-gibuts-from-mail-mode)
+(hui-gbut-number-of-gebuts-from-mail-mode): Verify number of global
+ibuts and ebuts.
+
 2023-10-22  Bob Weiner  
 
 * hbut.el (gbut:save-buffer): Add function to use after global button file is
diff --git a/hbdata.el b/hbdata.el
index f723c07f0e..884ba82579 100644
--- a/hbdata.el
+++ b/hbdata.el
@@ -3,7 +3,7 @@
 ;; Author:   Bob Weiner
 ;;
 ;; Orig-Date: 2-Apr-91
-;; Last-Mod:  3-Oct-23 at 22:48:03 by Mats Lidell
+;; Last-Mod: 22-Oct-23 at 14:42:47 by Mats Lidell
 ;;
 ;; SPDX-License-Identifier: GPL-3.0-or-later
 ;;
@@ -443,7 +443,31 @@ Return value of evaluation when a matching entry is found 
or nil."
  (when end-func (funcall end-func)
 rtn))
 
-(defun hbdata:to-entry-buf (key-src &optional directory create)
+(defun hbdata:is-but-data-stored-in-buffer (key-src)
+  "True if we store but-data in the buffer rather than in a file."
+  ;; Drafts of mail messages now have a buffer-file-name since they
+  ;; are temporarily saved to a file until sent.  But but-data still
+  ;; should be stored in the mail buffer itself, so check explicitly
+  ;; whether is a mail composition buffer in such cases.
+  (or (hmail:mode-is-p)
+  (and (get-buffer key-src)
+   (set-buffer key-src)
+  (not buffer-file-name
+
+(defun hbdata:to-entry-in-buffer (create)
+  "Move point to end of line in but data in current buffer.
+Note: Button buffer has no file attached.  With optional CREATE,
+if no such line exists, insert a new entry at the beginning of
+the hbdata (which is created if necessary).  Return t."
+  (if (hmail:hbdata-to-p) ;; Might change the buffer
+  (setq buffer-read-only nil)
+(when create
+  (setq buffer-read-only nil)
+  (insert "\n" hmail:hbdata-sep "\n")))
+  (backward-char 1)
+  t)
+
+(defun hbdata:to-entry-in-file (key-src &optional directory create)
   "Move point to end of line in but data buffer matching KEY-SRC.
 Use hbdata file in KEY-SRC's directory, or optional DIRECTORY or if nil, use
 `default-directory'.
@@ -452,44 +476,39 @@ beginning of the hbdata file (which is created if 
necessary).
 Return non-nil if KEY-SRC is found or created, else nil."
   (let (rtn
ln-dir)
-;; Drafts of mail messages now have a buffer-file-name since they
-;; are temporarily saved to a file until sent.  But but-data still
-;; should be stored in the mail buffer itself, so check explicitly
-;; whether is a mail composition buffer in such cases.
-(if (or (hmail:mode-is-p)
-   (and (get-buffer key-src)
-(set-buffer key-src)
-(not buffer-file-name)))
-   ;; Button buffer has no file attached
-   (progn (if (hmail:hbdata-to-p) ;; Might change the buffer
-  (setq buffer-read-only nil)
-(when create
-  (setq buffer-read-only nil)
-  (insert "\n" hmail:hbdata-sep "\n")))
-  (backward-char 1)
-  (setq rtn t))
-  (setq directory (or (file-name-directory key-src) directory))
-  (let ((ln-file) (link-p key-src))
-   (while (setq link-p (file-symlink-p link-p))
- (setq ln-file link-p))
-   (if ln-file
-   (setq ln-dir (file-name-directory ln-file)
- key-src (file-name-nondirectory ln-file))
- (setq key-src (file-name-nondirectory key-src
-  (when (or (hbdata:to-hbdata-buffer directory create)
-   (and ln-dir (hbdata:to-hbdata-buffer ln-dir nil)
-(setq create nil
-  directory ln-dir)))
-   (goto-char 1)
-   (cond ((search-forward (concat "\^L\n\"" key-src "\"")
-  nil t)
-  (setq rtn t))
- (create

[nongnu] elpa/sweeprolog updated (5ddb7e85ba -> 5dd4650ba3)

2023-10-22 Thread ELPA Syncer
elpasync pushed a change to branch elpa/sweeprolog.

  from  5ddb7e85ba Stop pty echo with 'stty' instead of 
'comint-process-echoes'
   new  f30540376c ADDED: in-buffer completions for source file specs
   new  5dd4650ba3 ADDED: in-buffer completions for predicate options


Summary of changes:
 sweep.pl| 123 +++-
 sweep.texi  |   9 +++
 sweeprolog-tests.el |  62 ++--
 sweeprolog.el   | 159 +++-
 4 files changed, 321 insertions(+), 32 deletions(-)



[nongnu] elpa/sweeprolog f30540376c 1/2: ADDED: in-buffer completions for source file specs

2023-10-22 Thread ELPA Syncer
branch: elpa/sweeprolog
commit f30540376cd2d81cfa01f0eb890ff53f8de2d6b7
Author: Eshel Yaron 
Commit: Eshel Yaron 

ADDED: in-buffer completions for source file specs

* sweep.pl (sweep_alias_source_file_name_collection/2)
(sweep_alias_source_file_name/4)
(sweep_source_file_name_collection/2)
(sweep_source_file_name/3)
(sweep_path_alias_collection/2)
(sweep_matching_path_alias/3): New predicates.
(sweep_context_callable_/3): Simplify, and recognize predicate
arguments that should be source file specifications.

* sweeprolog.el (sweeprolog-source-functor-completion-candidates)
(sweeprolog-alias-source-completion-candidates)
(sweeprolog-source-completion-candidates): New functions, used in...
(sweeprolog--atom-or-functor-completion-at-point): ...here.
(sweeprolog-electric-layout-post-self-insert-function)
(sweeprolog-context-menu-for-region)
(sweeprolog-maybe-extract-region-to-predicate): Adapt.

* sweep.texi (Code Completion): Document file spec completion.
* sweeprolog-tests.el: Test it.
---
 sweep.pl| 81 +++--
 sweep.texi  |  5 
 sweeprolog-tests.el | 30 +---
 sweeprolog.el   | 68 +++-
 4 files changed, 152 insertions(+), 32 deletions(-)

diff --git a/sweep.pl b/sweep.pl
index 6e0feec2b0..6e21b16bbc 100644
--- a/sweep.pl
+++ b/sweep.pl
@@ -98,7 +98,10 @@
 sweep_cleanup_threads/2,
 sweep_kill_thread/2,
 sweep_list_threads/2,
-sweep_extract_goal/2
+sweep_extract_goal/2,
+sweep_path_alias_collection/2,
+sweep_source_file_name_collection/2,
+sweep_alias_source_file_name_collection/2
   ]).
 
 :- use_module(library(pldoc)).
@@ -957,6 +960,41 @@ sweep_compound_functors_collection([Arity,Bef,Aft], Fs) :-
 setof(F, sweep_matching_functor(Bef, Aft, F/Arity), Fs0),
 maplist(term_string, Fs0, Fs).
 
+sweep_alias_source_file_name_collection([Bef,Aft,Alias], As) :-
+setof(A, sweep_alias_source_file_name(Bef, Aft, Alias, A), As).
+
+sweep_alias_source_file_name(Bef, Aft, Alias, L) :-
+atom_string(F, Alias),
+A =.. [F,'.'],
+absolute_file_name(A, Dir, [file_type(directory), solutions(all)]),
+directory_member(Dir, M, [extensions([pl]), recursive(true)]),
+atom_concat(Dir, '/', Prefix),
+atom_concat(Prefix, R, M),
+file_name_extension(S, pl, R),
+atom_string(S, L),
+sweep_matching_atom(Bef, Aft, L).
+
+sweep_source_file_name_collection([Bef|Aft], As) :-
+setof(A, sweep_source_file_name(Bef, Aft, A), As).
+
+sweep_source_file_name(Bef, Aft, L) :-
+file_search_path(A0, _),
+term_string(A0, S),
+sweep_matching_atom(Bef, Aft, S),
+A =.. [A0,'.'],
+absolute_file_name(A, Dir, [file_type(directory), solutions(all)]),
+directory_member(Dir, F, [extensions([pl]), recursive(true)]),
+sweep_file_path_in_library(F, L).
+
+sweep_path_alias_collection([Bef|Aft], As) :-
+setof(A, sweep_matching_path_alias(Bef, Aft, A), As0),
+maplist(term_string, As0, As).
+
+sweep_matching_path_alias(Bef, Aft, A) :-
+file_search_path(A, _),
+term_string(A, S),
+sweep_matching_atom(Bef, Aft, S).
+
 sweep_matching_atom([], Aft, Atom) :-
 !,
 sweep_matching_atom_(Aft, 0, Atom).
@@ -1017,7 +1055,7 @@ sweep_context_callable([H|T], R) :-
 ->  R0 = 2
 ;   R0 = 0
 ),
-sweep_context_callable_(T, R0, 0, R).
+sweep_context_callable_(T, R0, R).
 sweep_context_callable([_|T], R) :-
 sweep_context_callable(T, R).
 
@@ -1027,26 +1065,32 @@ op_is_neck(F) :-
 ;   current_op(1200, _, F)
 ).
 
-sweep_context_callable_([], R0, R1, R) :- R is R0 + R1, !.
-sweep_context_callable_([[":"|2]], R0, R1, R) :- R is R0 + R1, !.
-sweep_context_callable_([["("|_]|T], R0, R1, R) :-
+sweep_context_callable_([], R, R) :- !.
+sweep_context_callable_([[":"|2]], R, R) :- !.
+sweep_context_callable_([["("|_]|T], R0, R) :-
 !,
-sweep_context_callable_(T, R0, R1, R).
-sweep_context_callable_([["{"|_]|T], 2, R1, R) :-
+sweep_context_callable_(T, R0, R).
+sweep_context_callable_([["{"|_]|T], 2, R) :-
 !,
-sweep_context_callable_(T, 0, R1, R).
-sweep_context_callable_([H|T], R0, _, R) :-
+sweep_context_callable_(T, 0, R).
+sweep_context_callable_([H|T], R0, R) :-
 H = [F0|N],
 atom_string(F, F0),
-sweep_context_callable_arg(F, N, R1),
-sweep_context_callable_(T, R0, R1, R).
+sweep_context_callable_arg(F, N, R0, R1),
+sweep_context_callable_(T, R1, R).
 
-sweep_context_callable_arg((-->), _, 2) :- !.
-sweep_context_callable_arg(^, _, 0) :- !.
-sweep_context_callable_arg(Neck, _, 0) :-
+sweep_context_callable_arg((-->), _, _, 2) :- !.
+sweep_context_callable_arg(^, _, _, 0) :- !.
+sweep_context_callable_arg(Neck, _, _, 0) :-
 op_is_neck(Neck),
 !.
-sweep_context_callable_arg(F, N, R) :-
+sw

[nongnu] elpa/sweeprolog 5dd4650ba3 2/2: ADDED: in-buffer completions for predicate options

2023-10-22 Thread ELPA Syncer
branch: elpa/sweeprolog
commit 5dd4650ba36517754782ae1bc9871ccfb4546d92
Author: Eshel Yaron 
Commit: Eshel Yaron 

ADDED: in-buffer completions for predicate options

* sweep.pl (sweep_option_functors_collection/2)
(sweep_options_collection/2)
(sweep_option_arguments_collection/2): New predicates.
(sweep_context_callable_arg/4): Recognize predicate options.

* sweeprolog.el (sweeprolog-option-functor-completion-candidates)
(sweeprolog-option-completion-candidates)
(sweeprolog-option-arg-completion-candidates): New functions, used in...
(sweeprolog--atom-or-functor-completion-at-point): ...here.

* sweep.texi (Code Completion): Document predicate options completion.
* sweeprolog-tests.el: Test it.
---
 sweep.pl| 44 +-
 sweep.texi  |  4 +++
 sweeprolog-tests.el | 38 --
 sweeprolog.el   | 91 +
 4 files changed, 173 insertions(+), 4 deletions(-)

diff --git a/sweep.pl b/sweep.pl
index 6e21b16bbc..05f36cfb51 100644
--- a/sweep.pl
+++ b/sweep.pl
@@ -101,7 +101,10 @@
 sweep_extract_goal/2,
 sweep_path_alias_collection/2,
 sweep_source_file_name_collection/2,
-sweep_alias_source_file_name_collection/2
+sweep_alias_source_file_name_collection/2,
+sweep_option_functors_collection/2,
+sweep_options_collection/2,
+sweep_option_arguments_collection/2
   ]).
 
 :- use_module(library(pldoc)).
@@ -960,6 +963,35 @@ sweep_compound_functors_collection([Arity,Bef,Aft], Fs) :-
 setof(F, sweep_matching_functor(Bef, Aft, F/Arity), Fs0),
 maplist(term_string, Fs0, Fs).
 
+sweep_option_functors_collection([Bef,Aft,Pred0,Ari,Arg], Fs) :-
+atom_string(Pred, Pred0),
+current_predicate_options(Pred/Ari, Arg, Options),
+maplist([T,F]>>(T =.. [F|_]), Options, Fs0),
+maplist(term_string, Fs0, Fs1),
+include(sweep_matching_atom(Bef, Aft), Fs1, Fs).
+
+sweep_options_collection([Bef,Aft,Pred0,Ari,Arg], Fs) :-
+atom_string(Pred, Pred0),
+current_predicate_options(Pred/Ari, Arg, Options),
+maplist([T,F]>>(T =.. [F|_]), Options, Fs0),
+maplist(term_string, Fs0, Fs1),
+include(sweep_matching_atom(Bef, Aft), Fs1, Fs2),
+maplist([L,R]>>sweep_format_term([L,1,999], R), Fs2, Fs).
+
+sweep_option_arguments_collection([Bef,Aft,Pred0,Ari,Arg,Opt0], Fs) :-
+atom_string(Pred, Pred0),
+atom_string(Opt1, Opt0),
+Opt =.. [Opt1,Type],
+current_predicate_options(Pred/Ari, Arg, Options),
+member(Opt, Options),
+sweep_option_arguments_collection_(Type, Bef, Aft, Fs).
+
+sweep_option_arguments_collection_(boolean, Bef, Aft, Fs) :-
+sweep_option_arguments_collection_(oneof([true,false]), Bef, Aft, Fs).
+sweep_option_arguments_collection_(oneof(Alts0), Bef, Aft, Alts) :-
+maplist(atom_string, Alts0, Alts1),
+include(sweep_matching_atom(Bef, Aft), Alts1, Alts).
+
 sweep_alias_source_file_name_collection([Bef,Aft,Alias], As) :-
 setof(A, sweep_alias_source_file_name(Bef, Aft, Alias, A), As).
 
@@ -1073,6 +1105,9 @@ sweep_context_callable_([["("|_]|T], R0, R) :-
 sweep_context_callable_([["{"|_]|T], 2, R) :-
 !,
 sweep_context_callable_(T, 0, R).
+sweep_context_callable_([["["|_]|T], ["options", F, N], R) :-
+!,
+sweep_context_callable_(T, ["option", F, N], R).
 sweep_context_callable_([H|T], R0, R) :-
 H = [F0|N],
 atom_string(F, F0),
@@ -1084,6 +1119,13 @@ sweep_context_callable_arg(^, _, _, 0) :- !.
 sweep_context_callable_arg(Neck, _, _, 0) :-
 op_is_neck(Neck),
 !.
+sweep_context_callable_arg(F0, N, 0, ["options", F, N]) :-
+current_option_arg(F0/N, N),
+!,
+atom_string(F0, F).
+sweep_context_callable_arg(F0, 1, ["option", P, N], ["option", P, N, F]) :-
+!,
+atom_string(F0, F).
 sweep_context_callable_arg(F, N, 0, "source") :-
 source_arg(F,N),
 !.
diff --git a/sweep.texi b/sweep.texi
index 6b29f9149c..cdd2c78d86 100644
--- a/sweep.texi
+++ b/sweep.texi
@@ -2115,6 +2115,10 @@ If point is at a callable position, 
@code{completion-at-point}
 suggests matching predicate calls as completion candidates.  If the
 predicate you choose takes arguments, Sweep inserts holes in their
 places, and moves point to the first argument (@pxref{Holes}).
+@item Predicate option completion
+If point is inside a predicates options list,
+@code{completion-at-point} suggests matching options or option values
+for the appropriate predicate.
 @item Source file completion
 If point is at a position where a source file specification should
 appear (such as the argument of @code{use_module/1}),
diff --git a/sweeprolog-tests.el b/sweeprolog-tests.el
index ec5abae40d..83782b74f5 100644
--- a/sweeprolog-tests.el
+++ b/sweeprolog-tests.el
@@ -464,22 +464,54 @@ baz(Baz) :- bar(Baz).
 "
)))
 
+(sweeprolog-deftest cap-option-functor ()
+  "Completion a

[nongnu] elpa/git-commit fbb32ee30f: magit-insert-am-sequence: Account for already applied patches

2023-10-22 Thread ELPA Syncer
branch: elpa/git-commit
commit fbb32ee30fbfbf9dc081187aab9931cfcf55f5d5
Author: Kyle Meyer 
Commit: Kyle Meyer 

magit-insert-am-sequence: Account for already applied patches

magit-insert-am-sequence inserts a section for all patches in
$GIT_DIR/rebase-apply/ and then displays ORIG_HEAD through HEAD via
magit-sequence-insert-sequence.  If the 'git am' call fails to apply a
patch, this leads to repeated sections for successfully applied
patches because Git leaves the patch files around after successfully
applying a patch.

Avoid the repeated sections by explicitly inserting a section only for
$GIT_DIR/rebase-apply/ patches that have not been applied, leaving the
rest to the magit-sequence-insert-sequence call.

Closes #5024.
---
 docs/RelNotes/4.0.0.org |  4 
 lisp/magit-sequence.el  | 27 +--
 2 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/docs/RelNotes/4.0.0.org b/docs/RelNotes/4.0.0.org
index 3ba3e65032..2af6261f64 100644
--- a/docs/RelNotes/4.0.0.org
+++ b/docs/RelNotes/4.0.0.org
@@ -223,6 +223,10 @@ f9ae2a6306 #4620 magit-blame--make-highlight-overlay: Add 
only to intended line
   mode change and point is on the file or the mode change section.
   #4623
 
+- If applying a patch series with ~git am~ failed, the status buffer
+  incorrectly repeated already applied patches in the list of
+  remaining patches.  #5024
+
 10b5407131 magit-diff-highlight-list: Ensure delayed highlighting takes place
 b32521d543 magit-ediff-read-files: Handle renames in one-file logs
 94aca04dc8 magit-module-section: Use correct keymap
diff --git a/lisp/magit-sequence.el b/lisp/magit-sequence.el
index 2b210a5716..5a8b66b4d3 100644
--- a/lisp/magit-sequence.el
+++ b/lisp/magit-sequence.el
@@ -914,24 +914,31 @@ If no such sequence is in progress, do nothing."
   (when (magit-am-in-progress-p)
 (magit-insert-section (rebase-sequence)
   (magit-insert-heading "Applying patches")
-  (let ((patches (nreverse (magit-rebase-patches)))
-patch commit)
-(while patches
+  (let* ((patches (nreverse (magit-rebase-patches)))
+ (dir (expand-file-name "rebase-apply" (magit-gitdir)))
+ (i (string-to-number
+ (magit-file-line (expand-file-name "last" dir
+ (cur (string-to-number
+   (magit-file-line (expand-file-name "next" dir
+ patch commit)
+(while (and patches (>= i cur))
   (setq patch (pop patches))
   (setq commit (magit-commit-p
 (cadr (split-string (magit-file-line patch)
-  (cond ((and commit patches)
+  (cond ((and commit (= i cur))
  (magit-sequence-insert-commit
-  "pick" commit 'magit-sequence-pick))
-(patches
+  "stop" commit 'magit-sequence-stop))
+((= i cur)
  (magit-sequence-insert-am-patch
-  "pick" patch 'magit-sequence-pick))
+  "stop" patch 'magit-sequence-stop))
 (commit
- (magit-sequence-insert-sequence commit "ORIG_HEAD"))
+ (magit-sequence-insert-commit
+  "pick" commit 'magit-sequence-pick))
 (t
  (magit-sequence-insert-am-patch
-  "stop" patch 'magit-sequence-stop)
- (magit-sequence-insert-sequence nil "ORIG_HEAD")
+  "pick" patch 'magit-sequence-pick)))
+  (cl-decf i)))
+  (magit-sequence-insert-sequence nil "ORIG_HEAD")
   (insert ?\n
 
 (defun magit-sequence-insert-am-patch (type patch face)



[nongnu] elpa/magit updated (dd14e0c3c6 -> fbb32ee30f)

2023-10-22 Thread ELPA Syncer
elpasync pushed a change to branch elpa/magit.

  from  dd14e0c3c6 git-commit: Ignore leading comment when inserting headers
  adds  fbb32ee30f magit-insert-am-sequence: Account for already applied 
patches

No new revisions were added by this update.

Summary of changes:
 docs/RelNotes/4.0.0.org |  4 
 lisp/magit-sequence.el  | 27 +--
 2 files changed, 21 insertions(+), 10 deletions(-)



[nongnu] elpa/magit-section updated (dd14e0c3c6 -> fbb32ee30f)

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

  from  dd14e0c3c6 git-commit: Ignore leading comment when inserting headers
  adds  fbb32ee30f magit-insert-am-sequence: Account for already applied 
patches

No new revisions were added by this update.

Summary of changes:
 docs/RelNotes/4.0.0.org |  4 
 lisp/magit-sequence.el  | 27 +--
 2 files changed, 21 insertions(+), 10 deletions(-)



[elpa] externals/bbdb 641ff1f309 4/4: Increase version number to 3.2.2d.

2023-10-22 Thread Roland Winkler
branch: externals/bbdb
commit 641ff1f309e65ac8bd9794bd5f72cfc9ffc297a4
Author: Roland Winkler 
Commit: Roland Winkler 

Increase version number to 3.2.2d.
---
 README | 6 +++---
 lisp/bbdb-anniv.el | 4 ++--
 lisp/bbdb-mua.el   | 2 +-
 lisp/bbdb.el   | 4 ++--
 4 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/README b/README
index eb3c95b1d0..50509da7c8 100644
--- a/README
+++ b/README
@@ -1,4 +1,4 @@
-Copyright (C) 2010-2022 Free Software Foundation, Inc.
+Copyright (C) 2010-2023 Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 BBDB is the Insidious Big Brother Database for GNU Emacs.
@@ -15,7 +15,7 @@ M-x package-install RET bbdb RET
 BBDB is also available at
 http://savannah.nongnu.org/projects/bbdb/
 To check it out, use
-git clone git://git.savannah.nongnu.org/bbdb.git
+git clone https://git.savannah.nongnu.org/git/bbdb.git
 
 Questions, comments, suggestions, and bug reports may be directed to
 the BBDB mailing list at bbdb-u...@nongnu.org.
@@ -229,7 +229,7 @@ do not modify the records directly.  The recommended 
sequence of calls is
 
 ==
 
-Copyright (C) 2010-2022 Free Software Foundation, Inc.
+Copyright (C) 2010-2023 Free Software Foundation, Inc.
 
 This file is part of the Insidious Big Brother Database (aka BBDB),
 
diff --git a/lisp/bbdb-anniv.el b/lisp/bbdb-anniv.el
index 99f8521658..d67c195060 100644
--- a/lisp/bbdb-anniv.el
+++ b/lisp/bbdb-anniv.el
@@ -1,6 +1,6 @@
 ;;; bbdb-anniv.el --- get anniversaries from BBDB -*- lexical-binding: t -*-
 
-;; Copyright (C) 2011-2022  Free Software Foundation, Inc.
+;; Copyright (C) 2011-2023  Free Software Foundation, Inc.
 
 ;; This file is part of the Insidious Big Brother Database (aka BBDB),
 
@@ -77,7 +77,7 @@ as format string."
 This obeys `calendar-date-style' via `diary-date-forms'.
 To enable this feature, put the following into your .emacs:
 
- \(add-hook 'diary-list-entries-hook 'bbdb-anniv-diary-entries)"
+ (add-hook \\='diary-list-entries-hook \\='bbdb-anniv-diary-entries)"
   ;; Loop over NUMBER dates starting from ORGINAL-DATE.
   (let* ((num-date (1- (calendar-absolute-from-gregorian original-date)))
  (end-date (+ num-date number)))
diff --git a/lisp/bbdb-mua.el b/lisp/bbdb-mua.el
index da9d56a499..9e148dfa9f 100644
--- a/lisp/bbdb-mua.el
+++ b/lisp/bbdb-mua.el
@@ -1,6 +1,6 @@
 ;;; bbdb-mua.el --- various MUA functionality for BBDB -*- lexical-binding: t 
-*-
 
-;; Copyright (C) 2010-2022  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2023  Free Software Foundation, Inc.
 
 ;; This file is part of the Insidious Big Brother Database (aka BBDB),
 
diff --git a/lisp/bbdb.el b/lisp/bbdb.el
index a29306f156..8ad557efc4 100644
--- a/lisp/bbdb.el
+++ b/lisp/bbdb.el
@@ -1,9 +1,9 @@
 ;;; bbdb.el --- Big Brother DataBase -*- lexical-binding: t -*-
 
-;; Copyright (C) 2010-2022  Free Software Foundation, Inc.
+;; Copyright (C) 2010-2023  Free Software Foundation, Inc.
 
 ;; Maintainer: Roland Winkler 
-;; Version: 3.2.2b
+;; Version: 3.2.2d
 ;; Package-Requires: ((emacs "24") (cl-lib "0.5"))
 
 ;; This file is part of the Insidious Big Brother Database (aka BBDB),



[elpa] externals/bbdb 799fd0d2f2 2/4: Silence the compiler.

2023-10-22 Thread Roland Winkler
branch: externals/bbdb
commit 799fd0d2f207ec42de8b3726babc291c475cd466
Author: Roland Winkler 
Commit: Roland Winkler 

Silence the compiler.
---
 lisp/bbdb.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/lisp/bbdb.el b/lisp/bbdb.el
index e18c54b76c..99316926f4 100644
--- a/lisp/bbdb.el
+++ b/lisp/bbdb.el
@@ -909,7 +909,8 @@ The strings HEADER belong to CLASS.
 The most important HEADERs should appear first.
 If `bbdb-message-all-addresses' is nil, use only the first matching header."
   :group 'bbdb-mua
-  :type 'list)
+  :type '(repeat (cons (symbol :tag "Class")
+   (repeat (string :tag "Header")
 
 (defcustom bbdb-message-all-addresses nil
   "If t `bbdb-update-records' returns all mail addresses of a message.
@@ -4043,7 +4044,7 @@ FIELD-LIST is the list of actually displayed FIELDS."
 `(xfields ,xfield)))
 ;; delete the trailing "; "
 (if (looking-back "; " nil)
-(backward-delete-char 2))
+(delete-char -2))
 (insert "\n")))
 
 (defun bbdb-display-record-multi-line (record layout field-list)



[elpa] externals/bbdb ee316b4e6a 1/4: Improve snarfing vCards.

2023-10-22 Thread Roland Winkler
branch: externals/bbdb
commit ee316b4e6a33c83555a6d4181a05c0442861fcac
Author: Roland Winkler 
Commit: Roland Winkler 

Improve snarfing vCards.
---
 lisp/bbdb-snarf.el | 72 --
 1 file changed, 59 insertions(+), 13 deletions(-)

diff --git a/lisp/bbdb-snarf.el b/lisp/bbdb-snarf.el
index f67cd31483..83d2317dff 100644
--- a/lisp/bbdb-snarf.el
+++ b/lisp/bbdb-snarf.el
@@ -47,6 +47,7 @@
 ;;; Code:
 
 (require 'bbdb-com)
+(require 'qp)
 
 (defcustom bbdb-snarf-rule-alist
   '((us bbdb-snarf-surrounding-space
@@ -199,6 +200,20 @@ The first subexpression becomes the URL."
   :group 'bbdb-utilities-vcard
   :type 'symbol)
 
+(defcustom bbdb-snarf-vcard-adr-type-re
+  (concat "\\`" (regexp-opt '("work" "home")) "\\'")
+  "Regexp matching the default types for vCard property ADR."
+  :group 'bbdb-utilities-vcard
+  :type 'regexp)
+
+(defcustom bbdb-snarf-vcard-tel-type-re
+  (concat "\\`" (regexp-opt '("work" "home" "text" "voice"
+  "fax" "cell" "video" "pager" "textphone"))
+  "\\'")
+  "Regexp matching the default types for vCard property TEL."
+  :group 'bbdb-utilities-vcard
+  :type 'regexp)
+
 (defcustom bbdb-snarf-ignore-mail-re
   (regexp-opt '("noreply" "no-reply" "donotreply" "do-not-reply" "notify"))
   "`bbdb-snarf-sanity-check' ignores mail addresses matching this regexp."
@@ -442,7 +457,9 @@ The return value is a list with elements (VALUE (PAR . VAL) 
(PAR . VAL) ...)
 for each instance of PROPERTY in the vCard.  String VALUE is the value
 of the instance of  PROPERTY.  With separator SEP non-nil, VALUE is a list
 of split values of the instance of PROPERTY.  PAR is a parameter of the
-instance of PROPERTY with value VAL.  If PROPERTY is not found return nil.
+instance of PROPERTY with value VAL.  PAR may be nil if VAL is a parameter
+value that has no parameter key associated with it.
+If PROPERTY is not found return nil.
 Delete all instances of PROPERTY from the snarfing buffer."
   ;; Possible extensions of this code that are not yet implemented:
   ;; - Property value escaping (RFC 6350, Sec. 3.4)
@@ -475,16 +492,27 @@ Delete all instances of PROPERTY from the snarfing 
buffer."
 (goto-char (match-end 0))
 (let ((par (match-string 1)))
   ;; We try to split the property parameters into pairs PAR=VAL.
-  ;; If this fails, we include the dangling VAL with PAR being nil.
+  ;; If this fails, we include the dangling VAL with PAR being nil,
+  ;; e.g., "work" instead of "TYPE=work".
   ;; Certain parameter values may be comma-separated lists.
   ;; Fixme: Use custom var `bbdb-vcard-parameter-sep-alist'
   ;; with elements (PAR . SEP).
-  (if (string-match "\\`\\([^=]+\\)=\\([^=]+\\)\\'" par)
-  (push (cons (match-string 1 par) (match-string 2 par))
-par-list)
-(push (cons nil par) par-list
+  (push (if (string-match "\\`\\([^=]+\\)=\\([^=]+\\)\\'" par)
+(cons (match-string 1 par) (match-string 2 par))
+  (cons nil par))
+par-list)))
   (let ((value (buffer-substring-no-properties
-(1+ (point)) (point-max
+(1+ (point)) (point-max)))
+(encoding (cdr (bbdb-snarf-assoc
+"encoding" "\\`quoted-printable\\'"
+par-list
+(when encoding
+  (if (bbdb-string= encoding "quoted-printable")
+  ;; RFC6350 requires utf-8.
+  (setq value (decode-coding-string
+   (quoted-printable-decode-string value)
+   'utf-8))
+(user-error "Vcard encoding %s undefined" encoding)))
 ;; Again, this ignores the possiblity that `;' and `:'
 ;; may appear in property values inside quoted strings.
 (push (cons (if sep (split-string value sep) value)
@@ -502,6 +530,20 @@ Delete all instances of PROPERTY from the snarfing buffer."
   (if (zerop n) 100 n
   (< (num p1) (num p2)))
 
+(defun bbdb-snarf-assoc (key regexp alist)
+  "Return the first association in ALIST with key KEY or value matching REGEXP.
+In the latter case, the key of the association must be nil.  Case is ignored."
+  (let ((case-fold-search t)
+done)
+(while alist
+  (if (or (bbdb-string= key (caar alist))
+  (and (not (caar alist))
+   (string-match regexp (cdar alist
+  (setq done (car alist)
+alist nil)
+(setq alist (cdr alist
+done))
+
 (defun bbdb-snarf-vcard-name (record)
   "Snarf vCard properties N and/or FN => BBDB name and aka."
   ;; We give the structured N property precedence over the un

[elpa] externals/bbdb updated (92d8f1eaa3 -> 641ff1f309)

2023-10-22 Thread Roland Winkler
winkler pushed a change to branch externals/bbdb.

  from  92d8f1eaa3 Silence the compiler
   new  ee316b4e6a Improve snarfing vCards.
   new  799fd0d2f2 Silence the compiler.
   new  f69bf82b80 Support for notmuch mua
   new  641ff1f309 Increase version number to 3.2.2d.


Summary of changes:
 README   | 17 -
 lisp/bbdb-anniv.el   |  4 +--
 lisp/bbdb-mua.el | 19 +++---
 lisp/bbdb-notmuch.el | 54 +++
 lisp/bbdb-snarf.el   | 72 ++--
 lisp/bbdb.el | 16 +++-
 6 files changed, 150 insertions(+), 32 deletions(-)
 create mode 100644 lisp/bbdb-notmuch.el



[elpa] externals/bbdb f69bf82b80 3/4: Support for notmuch mua

2023-10-22 Thread Roland Winkler
branch: externals/bbdb
commit f69bf82b80f142f9de44ce2e2b6858081752caaf
Author: jao 
Commit: Roland Winkler 

Support for notmuch mua
---
 README   | 11 +++
 lisp/bbdb-mua.el | 17 ++---
 lisp/bbdb-notmuch.el | 54 
 lisp/bbdb.el |  7 +--
 4 files changed, 80 insertions(+), 9 deletions(-)

diff --git a/README b/README
index 233ed4f3bf..eb3c95b1d0 100644
--- a/README
+++ b/README
@@ -4,8 +4,8 @@ See the end of the file for license conditions.
 BBDB is the Insidious Big Brother Database for GNU Emacs.
 It provides an address book for email and snail mail addresses,
 phone numbers and the like.  It can be linked with various Emacs mail
-clients (Message and Mail mode, Rmail, Gnus, MH-E, Mu4e, VM, and 
-Wanderlust).  BBDB is fully customizable.
+clients (Message and Mail mode, Rmail, Gnus, MH-E, Mu4e, VM, Notmuch,
+and Wanderlust).  BBDB is fully customizable.
 
 BBDB is available at
 http://elpa.gnu.org/packages/bbdb.html
@@ -56,6 +56,9 @@ To compile and install BBDB from Savannah with `make'
`--with-wl-dir=DIR' specifies the path where Wanderlust can be found.
  Without this option the resulting BBDB build does not support WL.
 
+   `--with-notmuch-dir=DIR' specifies the path where Notmuch can be found.
+ Without this option the resulting BBDB build does not support Notmuch.
+
`--with-lispdir=DIR' specifies where to install the lisp files.
 
Use `configure --help' to see all available options.
@@ -129,8 +132,8 @@ BBDB interface with mail user agents (MUAs)
 ===
 
 BBDB can interface with various mail user agents (MUAs).
-These include Rmail, Gnus, VM, MH-E, Mu4e, Wanderlust, Message and Mail mode.
-This lets you
+These include Rmail, Gnus, VM, MH-E, Mu4e, Notmuch, Wanderlust, Message
+and Mail mode.  This lets you
 
  - display the BBDB records for the sender and/or recipients of a
message you are viewing
diff --git a/lisp/bbdb-mua.el b/lisp/bbdb-mua.el
index df0366a722..da9d56a499 100644
--- a/lisp/bbdb-mua.el
+++ b/lisp/bbdb-mua.el
@@ -65,6 +65,8 @@
 
   (autoload 'bbdb/wl-header "bbdb-wl")
 
+  (autoload 'bbdb/notmuch-header "bbdb-notmuch")
+
   (autoload 'message-field-value "message")
   (autoload 'mail-decode-encoded-word-string "mail-parse"))
 
@@ -74,6 +76,7 @@
 (rmail rmail-mode rmail-summary-mode)
 (mh mhe-mode mhe-summary-mode mh-folder-mode)
 (mu4e mu4e-view-mode)  ; Tackle `mu4e-headers-mode' later
+(notmuch notmuch-show-mode notmuch-tree-mode)
 (wl wl-summary-mode wl-draft-mode mime-view-mode)
 (message message-mode mu4e-compose-mode notmuch-message-mode)
 (mail mail-mode))
@@ -88,6 +91,7 @@ Return values include
   vmViewmail
   mhEmacs interface to the MH mail system (aka MH-E)
   mu4e  Mu4e
+  notmuch   Notmuch
   wlWanderlust
   message   Mail and News composition mode that goes with Gnus
   mail  Emacs Mail Mode."
@@ -138,6 +142,7 @@ MIME encoded headers are decoded.  Return nil if HEADER 
does not exist."
(rmail-get-header header)))
 ((eq mua 'mh) (bbdb/mh-header header))
 ((eq mua 'mu4e) (message-field-value header))
+((eq mua 'notmuch) (bbdb/notmuch-header header))
 ((eq mua 'wl) (bbdb/wl-header header))
 ((memq mua '(message mail)) (message-field-value header))
 (t (error "BBDB/%s: header function undefined" mua)
@@ -638,11 +643,16 @@ If SORT is non-nil, sort records according to 
`bbdb-record-lessp'."
   gnus-article-buffer))
 (bbdb-update-records (bbdb-get-address-components header-class)
  action sort))
+   ;; notmuch
+   ((eq mua 'notmuch)
+(bbdb-update-records (bbdb-get-address-components header-class)
+ action sort))
+
;; Wanderlust
((eq mua 'wl)
 (bbdb-update-records (bbdb-get-address-components header-class)
  action sort))
-  ;; Message and Mail
+   ;; Message and Mail
((memq mua '(message mail))
 (bbdb-update-records (bbdb-get-address-components header-class)
  action sort))
@@ -659,10 +669,11 @@ If SORT is non-nil, sort records according to 
`bbdb-record-lessp'."
 (save-current-buffer
   (gnus-summary-select-article) ; sets buffer `gnus-summary-buffer'
   ,@body))
-   ((memq mua '(mail message rmail mh vm mu4e wl))
+   ((memq mua '(mail message rmail mh vm mu4e notmuch wl))
 (cond ((eq mua 'vm) (vm-follow-summary-cursor))
   ((eq mua 'mh) (mh-show)))
-;; rmail, mail, message, mu4e and wl do not require any wrapper
+;; rmail, mail, message, mu4e, notmuch and wl do not require
+;; any wrapper