[elpa] externals/expand-region 9e3f86c02c: Release 1.0.0

2023-10-20 Thread ELPA Syncer
branch: externals/expand-region
commit 9e3f86c02c5e2ab6f0d95da8a34045b54f6166d1
Author: Magnar Sveen 
Commit: Magnar Sveen 

Release 1.0.0
---
 expand-region.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/expand-region.el b/expand-region.el
index fb42828989..ebaaca2967 100644
--- a/expand-region.el
+++ b/expand-region.el
@@ -5,7 +5,7 @@
 ;; Author: Magnar Sveen 
 ;; Keywords: marking region
 ;; URL: https://github.com/magnars/expand-region.el
-;; Version: 0.11.0
+;; Version: 1.0.0
 ;; Package-Requires: ((emacs "24.4"))
 
 ;; This program is free software; you can redistribute it and/or modify



[nongnu] elpa/org-contrib 6e208c87bf: * lisp/org-eldoc.el: Do not autoload adding `org-mode-hook'

2023-10-20 Thread ELPA Syncer
branch: elpa/org-contrib
commit 6e208c87bf6ede9251c9c5733b81b004b1e44966
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

* lisp/org-eldoc.el: Do not autoload adding `org-mode-hook'

(org-mode-hook): Remove autoload cookie that forces loading
`org-eldoc' simply when org-contrib is installed (possibly for the
purposes of using a completely different package).

Reported-by: Vladimir Nikishkin 
Link: https://list.orgmode.org/orgmode/871qdq54ol@laptop.lockywolf.net/
---
 lisp/org-eldoc.el | 1 -
 1 file changed, 1 deletion(-)

diff --git a/lisp/org-eldoc.el b/lisp/org-eldoc.el
index 1665546baf..5882fd5828 100644
--- a/lisp/org-eldoc.el
+++ b/lisp/org-eldoc.el
@@ -204,7 +204,6 @@ Return nil when not on src line."
   (add-function :before-until (local 'eldoc-documentation-function)
#'org-eldoc-documentation-function)
 
-;;;###autoload
 (add-hook 'org-mode-hook #'org-eldoc-load)
 
 (provide 'org-eldoc)



[elpa] externals/denote updated (1c772c4430 -> 53ab1d36f6)

2023-10-20 Thread ELPA Syncer
elpasync pushed a change to branch externals/denote.

  from  1c772c4430 Make denote-rewrite-front-matter accept optional 
NO-CONFIRM
   new  eadbac8a91 Add WORK-IN-PROGRESS code to rename multiple files
   new  53ab1d36f6 Add denote--rename-file-subr; refine denote-rename-file


Summary of changes:
 README.org |  85 +++-
 denote.el  | 144 -
 2 files changed, 140 insertions(+), 89 deletions(-)



[elpa] externals/denote eadbac8a91 1/2: Add WORK-IN-PROGRESS code to rename multiple files

2023-10-20 Thread ELPA Syncer
branch: externals/denote
commit eadbac8a9107307abc1eea8273b785de98e6c12e
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Add WORK-IN-PROGRESS code to rename multiple files
---
 denote.el | 40 
 1 file changed, 40 insertions(+)

diff --git a/denote.el b/denote.el
index 3ac88ed0b9..d8d3e3f422 100644
--- a/denote.el
+++ b/denote.el
@@ -2266,6 +2266,34 @@ Throw error is FILE is not regular, else return FILE."
  (propertize (file-name-nondirectory old-name) 'face 'error)
  (propertize (file-name-nondirectory new-name) 'face 'success)
 
+;; NOTE 2023-10-20: This is work-in-progress.  I am committing it
+;; because I need to switch off the computer.  I shall continue later.
+;; DO NOT WORK ON THIS OR USE IT ANYWHERE YET.
+;;
+;; (defun denote-rename-file-1 (file title keywords date signature &optional 
no-confirm)
+;;   "Subroutine for `denote-rename-file', `denote-dired-rename-files'.
+;; The FILE, TITLE, KEYWORDS, DATE, and SIGNATURE are all provided
+;; by the aforementioned commands.  Check `denote' for their
+;; respective type.  If optional NO-CONFIRM is non-nil, do not ask
+;; for confirmation while renaming files, otherwise do it while
+;; displaying the relevant changes."
+;;   (let* ((dir (file-name-directory file))
+;;  (id (or (denote-retrieve-filename-identifier file :no-error)
+;;  (denote-create-unique-file-identifier file date)))
+;;  (signature (or signature (denote-retrieve-filename-signature 
file)))
+;;  (extension (denote-get-file-extension file))
+;;  (file-type (denote-filetype-heuristics file))
+;;  (new-name (denote-format-file-name
+;; dir id keywords (denote-sluggify title 'title) 
extension signature))
+;;  (max-mini-window-height 0.33)) ; allow minibuffer to be resized
+;; (when (or no-confirm (denote-rename-file-prompt file new-name))
+;;   (denote-rename-file-and-buffer file new-name)
+;;   (denote-update-dired-buffers)
+;;   (when (denote-file-is-writable-and-supported-p new-name)
+;; (if (denote--edit-front-matter-p new-name file-type)
+;; (denote-rewrite-front-matter new-name title keywords file-type 
no-confirm)
+;;   (denote--add-front-matter new-name title keywords id 
file-type))
+
 ;;;###autoload
 (defun denote-rename-file (file title keywords &optional date)
   "Rename file and update existing front matter if appropriate.
@@ -2367,6 +2395,18 @@ files)."
  'denote-dired-rename-marked-files-with-keywords
  "2.1.0")
 
+;; NOTE 2023-10-20: See the comment above `denote-rename-file-1'
+;;
+;; (defun denote-dired-rename-files ()
+;;   "Call `denote-rename-file' over the Dired marked files.
+;; Rename each file in sequence, making all the relevant prompts.
+;;
+;; Unlike `denote-rename-file', do not prompt for confirmation of
+;; the changes made to the file.  Perform them outright."
+;;   (declare (interactive-only t))
+;;   (interactive)
+;;   )
+
 ;;;###autoload
 (defun denote-dired-rename-marked-files-with-keywords ()
   "Rename marked files in Dired to a Denote file name by appending keywords.



[elpa] externals/denote 53ab1d36f6 2/2: Add denote--rename-file-subr; refine denote-rename-file

2023-10-20 Thread ELPA Syncer
branch: externals/denote
commit 53ab1d36f6001f5874d928bd68d22f71acc9f039
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Add denote--rename-file-subr; refine denote-rename-file

The new subroutine function paves the way for a new command that can
perform 'denote-rename-file' over a list of files.

As for 'denote-rename-file', the prompts now use text that better
described what they do. For example, instead of "File title: " the
user reads something like "Rename '/home/prot/Documents/test.txt' with
title: ". Same idea for the keywords prompt.
---
 README.org |  85 
 denote.el  | 160 -
 2 files changed, 128 insertions(+), 117 deletions(-)

diff --git a/README.org b/README.org
index fb275244d6..531a969ac7 100644
--- a/README.org
+++ b/README.org
@@ -1056,68 +1056,73 @@ line or switching between then with commands like 
~switch-to-buffer~.
 The ~denote-rename-file~ command renames a file and updates existing
 front matter if appropriate.
 
-If in Dired, the =FILE= to be renamed is the one at point, else the
-command prompts with minibuffer completion for a target file.
+If in Dired, consider =FILE= to be the one at point, else prompt with
+minibuffer completion for one. When called from Lisp, =FILE= is a
+filesystem path represented as a string.
 
 If =FILE= has a Denote-compliant identifier, retain it while updating
-the =TITLE= and =KEYWORDS= fields of the file name.  Else create an
-identifier based on the following conditions:
+the TITLE and =KEYWORDS= fields of the file name.
 
-- If =FILE= does not have an identifier and optional =DATE= is non-nil
-  (such as with a prefix argument), invoke the function
-  ~denote-prompt-for-date-return-id~.  It prompts for a date and uses
-  it to derive the identifier.
+Else create an identifier based on the following conditions:
 
-- If =FILE= does not have an identifier and optional =DATE= is nil
-  (this is the case without a prefix argument), use the file
-  attributes to determine the last modified date and format it as an
-  identifier.
+1. If optional =ASK-DATE= is non-nil (such as with a prefix argument),
+   prompt for a date and use it to derive the identifier.
 
-- As a fallback, derive an identifier from the current time.
+2. If optional =ASK-DATE= is nil (this is the case without a prefix
+   argument), use the file attributes to determine the last modified
+   date and format it as an identifier.
 
-- If the resulting identifier is not unique among the files in the
-  variable `denote-directory', increment it such that it becomes
-  unique.
+3. As a fallback, derive an identifier from the current time.
 
-The default =TITLE= is retrieved from a line starting with a title field
-in the file's contents, depending on the given file type 
([[#h:13218826-56a5-482a-9b91-5b6de4f14261][Front matter]]).
-Else, the file name is used as a default value at the minibuffer prompt.
+4. If the resulting identifier is not unique among the files in the
+   variable ~denote-directory~, increment it such that it becomes
+   unique.
 
-As a final step after the =FILE=, =TITLE=, and =KEYWORDS= prompts, ask
-for confirmation, showing the difference between old and new file names.
-For example:
+Use =TITLE= to construct the new name of =FILE=. In interactive use,
+retrieve the default =TITLE= value from a line starting with a title
+field in the file's contents, depending on the given file type 
([[#h:13218826-56a5-482a-9b91-5b6de4f14261][Front
+matter]]). Else, use the file name as a default value at the
+minibuffer prompt. When called from Lisp, =TITLE= is a string.
+
+As a final step after the =FILE=, =TITLE=, and =KEYWORDS= are
+collected, ask for confirmation, showing the difference between old
+and new file names. For example:
 
 #+begin_example
 Rename sample.txt to 20220612T052900--my-sample-title__testing.txt? (y or n)
 #+end_example
 
-The file type extension (e.g. =.txt=) is read from the underlying file
-and is preserved through the renaming process.  Files that have no
-extension are simply left without one.
+Read the file type extension (like =.txt=) from the underlying file
+and preserve it through the renaming process. Files that have no
+extension are left without one.
 
-Renaming only occurs relative to the current directory.  Files are not
+Renaming only occurs relative to the current directory. Files are not
 moved between directories.
 
 If the =FILE= has Denote-style front matter for the =TITLE= and
-=KEYWORDS=, this command asks to rewrite their values in order to
-reflect the new input (this step always requires confirmation and the
-underlying buffer is not saved, so consider invoking
-~diff-buffer-with-file~ to double-check the effect).  The rewrite of the
-=FILE= and =KEYWORDS= in the front matter should not affect the rest of
-the block.
+=KEYWORDS=, ask to rewrite their values in order to reflect the new
+input (t

[elpa] externals/org aef5cf5e0b 1/3: * lisp/ol.el (org-link-descriptive): Provide :set function

2023-10-20 Thread ELPA Syncer
branch: externals/org
commit aef5cf5e0bfe9cc525616c3d15a940f71ec7919b
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

* lisp/ol.el (org-link-descriptive): Provide :set function

(org-link--set-link-display): New internal function used to apply
`org-link-descriptive' value across open Org buffers.
---
 lisp/ol.el | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/lisp/ol.el b/lisp/ol.el
index ddac344c63..51854af7fb 100644
--- a/lisp/ol.el
+++ b/lisp/ol.el
@@ -197,6 +197,16 @@ link.
   :type '(alist :tag "Link display parameters"
:value-type plist))
 
+(defun org-link--set-link-display (_ value)
+  "Set `org-link-descriptive' to VALUE.
+Also, ensure that links are updated in current buffer.
+
+This function is intended to be used as a :set function."
+  (setq org-link-descriptive value)
+  (dolist (buf (org-buffer-list))
+(with-current-buffer buf
+  (org-link-descriptive-ensure
+
 (defcustom org-link-descriptive t
   "Non-nil means Org displays descriptive links.
 
@@ -208,6 +218,7 @@ literally.
 You can interactively set the value of this variable by calling
 `org-toggle-link-display' or from the \"Org > Hyperlinks\" menu."
   :group 'org-link
+  :set #'org-link--set-link-display
   :type 'boolean
   :safe #'booleanp)
 



[elpa] externals/org updated (46a52a5708 -> 595a32d532)

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

  from  46a52a5708 * lisp/ob-sqlite.el: Document all the function arguments
   new  aef5cf5e0b * lisp/ol.el (org-link-descriptive): Provide :set 
function
   new  0e9485c90b * lisp/ol.el (org-link--set-link-display): Fix compiler 
warning
   new  595a32d532 * lisp/ol.el: Document some of the function arguments


Summary of changes:
 lisp/ol.el | 19 +++
 1 file changed, 15 insertions(+), 4 deletions(-)



[elpa] externals/org 0e9485c90b 2/3: * lisp/ol.el (org-link--set-link-display): Fix compiler warning

2023-10-20 Thread ELPA Syncer
branch: externals/org
commit 0e9485c90b729fd7fff9ab1fd4a52424c3fdd86b
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

* lisp/ol.el (org-link--set-link-display): Fix compiler warning
---
 lisp/ol.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/lisp/ol.el b/lisp/ol.el
index 51854af7fb..20d89b9f71 100644
--- a/lisp/ol.el
+++ b/lisp/ol.el
@@ -197,12 +197,12 @@ link.
   :type '(alist :tag "Link display parameters"
:value-type plist))
 
-(defun org-link--set-link-display (_ value)
-  "Set `org-link-descriptive' to VALUE.
+(defun org-link--set-link-display (symbol value)
+  "Set `org-link-descriptive' (SYMBOL) to VALUE.
 Also, ensure that links are updated in current buffer.
 
 This function is intended to be used as a :set function."
-  (setq org-link-descriptive value)
+  (set symbol value)
   (dolist (buf (org-buffer-list))
 (with-current-buffer buf
   (org-link-descriptive-ensure



[elpa] externals/org 595a32d532 3/3: * lisp/ol.el: Document some of the function arguments

2023-10-20 Thread ELPA Syncer
branch: externals/org
commit 595a32d5326b60bfc21457c0a6eaa8134e5e93f4
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

* lisp/ol.el: Document some of the function arguments

(org-link-store-props):
(org-link-add-props):
(org-link-open-from-string):
---
 lisp/ol.el | 8 
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/lisp/ol.el b/lisp/ol.el
index 20d89b9f71..a0de877406 100644
--- a/lisp/ol.el
+++ b/lisp/ol.el
@@ -940,7 +940,7 @@ according to FMT (default from 
`org-link-email-description-format')."
 (org-replace-escapes fmt table)))
 
 (defun org-link-store-props (&rest plist)
-  "Store link properties.
+  "Store link properties PLIST.
 The properties are pre-processed by extracting names, addresses
 and dates."
   (let ((x (plist-get plist :from)))
@@ -972,7 +972,7 @@ and dates."
   (setq org-store-link-plist plist))
 
 (defun org-link-add-props (&rest plist)
-  "Add these properties to the link property list."
+  "Add these properties to the link property list PLIST."
   (let (key value)
 (while plist
   (setq key (pop plist) value (pop plist))
@@ -1151,8 +1151,8 @@ for internal and \"file\" links, or stored as a parameter 
in
 
 (defun org-link-open-from-string (s &optional arg)
   "Open a link in the string S, as if it was in Org mode.
-Optional argument is passed to `org-open-file' when S is
-a \"file\" link."
+Optional argument ARG is passed to `org-open-file' when S is a
+\"file\" link."
   (interactive "sLink: \nP")
   (pcase (with-temp-buffer
   (let ((org-inhibit-startup nil))



[nongnu] elpa/org-contrib 3753de2172: * lisp/org-checklist.el (org-make-checklist-export): Fix compiler warnings

2023-10-20 Thread ELPA Syncer
branch: elpa/org-contrib
commit 3753de2172ae97e248896c12c0d92d41852e9d6a
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

* lisp/org-checklist.el (org-make-checklist-export): Fix compiler warnings

Convert `if' with no "else" clause into `when'.  Convert `cl-case'
that does not match some conditions into `pcase'.  Fix `print' called
as a function while intended as variable (in the previous let-binding).
---
 lisp/org-checklist.el | 80 +--
 1 file changed, 40 insertions(+), 40 deletions(-)

diff --git a/lisp/org-checklist.el b/lisp/org-checklist.el
index 26b78cf825..bb68c3d475 100644
--- a/lisp/org-checklist.el
+++ b/lisp/org-checklist.el
@@ -88,46 +88,46 @@
   "Produce a checklist containing all unchecked items from a list
 of checkbox items"
   (interactive "*")
-  (if (org-entry-get (point) "LIST_EXPORT_BASENAME")
-  (let* ((export-file (concat (org-entry-get (point) 
"LIST_EXPORT_BASENAME" nil)
- "-" (format-time-string
-  org-checklist-export-time-format)
- ".org"))
-(print (cl-case (org-entry-get (point) "PRINT_EXPORT" nil)
- (("" "nil" nil) nil)
- (nil (y-or-n-p "Print list? "))
- (t t)))
-exported-lines
-(title "Checklist export"))
-   (save-restriction
- (save-excursion
-   (org-narrow-to-subtree)
-   (org-update-checkbox-count-maybe)
-   (org-show-subtree)
-   (goto-char (point-min))
-   (when (looking-at org-complex-heading-regexp)
- (setq title (match-string 4)))
-   (goto-char (point-min))
-   (let ((end (point-max)))
- (while (< (point) end)
-   (when (and (org-at-item-checkbox-p)
-  (or (string= (match-string 0) "[ ]")
-  (string= (match-string 0) "[-]")))
- (add-to-list 'exported-lines (thing-at-point 'line) t))
-   (beginning-of-line 2)))
-   (set-buffer (get-buffer-create export-file))
-   (org-insert-heading)
-   (insert (or title export-file) "\n")
-   (dolist (entry exported-lines) (insert entry))
-   (org-update-checkbox-count-maybe)
-   (write-file export-file)
-   (if (print)
-   (progn (funcall org-checklist-export-function
-   org-checklist-export-params)
-  (let* ((current-a2ps-switches a2ps-switches)
- (a2ps-switches (append current-a2ps-switches
-
org-checklist-a2ps-params)))
-(a2ps-buffer)
+  (when (org-entry-get (point) "LIST_EXPORT_BASENAME")
+(let* ((export-file (concat (org-entry-get (point) "LIST_EXPORT_BASENAME" 
nil)
+   "-" (format-time-string
+org-checklist-export-time-format)
+   ".org"))
+  (print (pcase (org-entry-get (point) "PRINT_EXPORT" nil)
+   (`(or "" "nil" nil) nil)
+   (`nil (y-or-n-p "Print list? "))
+   (_ t)))
+  exported-lines
+  (title "Checklist export"))
+  (save-restriction
+   (save-excursion
+ (org-narrow-to-subtree)
+ (org-update-checkbox-count-maybe)
+ (org-show-subtree)
+ (goto-char (point-min))
+ (when (looking-at org-complex-heading-regexp)
+   (setq title (match-string 4)))
+ (goto-char (point-min))
+ (let ((end (point-max)))
+   (while (< (point) end)
+ (when (and (org-at-item-checkbox-p)
+(or (string= (match-string 0) "[ ]")
+(string= (match-string 0) "[-]")))
+   (add-to-list 'exported-lines (thing-at-point 'line) t))
+ (beginning-of-line 2)))
+ (set-buffer (get-buffer-create export-file))
+ (org-insert-heading)
+ (insert (or title export-file) "\n")
+ (dolist (entry exported-lines) (insert entry))
+ (org-update-checkbox-count-maybe)
+ (write-file export-file)
+ (when print
+   (funcall org-checklist-export-function
+org-checklist-export-params)
+   (let* ((current-a2ps-switches a2ps-switches)
+  (a2ps-switches (append current-a2ps-switches
+ org-checklist-a2ps-params)))
+ (a2ps-buffer
 
 (defun org-checklist ()
   (when (member org-state org-done-keywords) ;; org-state dynamically bound in 
org.el/org-todo



[elpa] externals/debbugs 08bf0ce84f: Some Debbugs fixes

2023-10-20 Thread Michael Albinus
branch: externals/debbugs
commit 08bf0ce84f2d51a8fa8030b55c4dfbd55e27037e
Author: Michael Albinus 
Commit: Michael Albinus 

Some Debbugs fixes

* debbugs-gnu.el (debbugs-gnu-package-tabulated-list-print): Fix docstring.
Fix narrowing.
(debbugs-gnu-display-status): Bind `pp-default-function'.  Add
timestamp as help-echo for some attributes.
(debbugs-gnu-control-message-keywords)
(debbugs-gnu-make-control-message): Add "archive".

* debbugs-ug.texi (Control Messages): Add "archive".
---
 debbugs-gnu.el  | 22 +-
 debbugs-ug.texi |  5 +++--
 2 files changed, 20 insertions(+), 7 deletions(-)

diff --git a/debbugs-gnu.el b/debbugs-gnu.el
index cd549e364d..39f7fe1eba 100644
--- a/debbugs-gnu.el
+++ b/debbugs-gnu.el
@@ -707,7 +707,7 @@ depend on PHRASE being a string, or nil.  See Info node
 (debbugs-gnu debbugs-gnu-applicable-severities packages)))
 
 (defun debbugs-gnu-package-tabulated-list-print ()
-  "Print the tabulated list for `tramp-gnu-package'."
+  "Print the tabulated list for `debbugs-gnu-package'."
   (let ((inhibit-read-only t)
(entries tabulated-list-entries)
(packages
@@ -729,7 +729,7 @@ depend on PHRASE being a string, or nil.  See Info node
x))
 entries)))
(when tabulated-list-entries
- (narrow-to-region (point-min) (point-max))
+ (narrow-to-region (point-min) (point-min))
  (tabulated-list-print nil 'update)
  (goto-char (point-min))
  (insert
@@ -1566,7 +1566,8 @@ interesting to you."
 debbugs-gnu-local-filter
 (debbugs-gnu-current-status)))
   (switch-to-buffer "*Bug Status*")
-  (let ((inhibit-read-only t))
+  (let ((inhibit-read-only t)
+(pp-default-function 'pp-29))
 (erase-buffer)
 (when query
   (insert ";; Query\n")
@@ -1579,6 +1580,16 @@ interesting to you."
 (when status
   (insert ";; Status\n")
   (pp status (current-buffer)))
+(goto-char (point-min))
+(while
+(re-search-forward
+ (rx "("
+ (| "cache_time" "last_modified" "fixed_date" "date" 
"log_modified")
+ " . " (group (1+ (any "." digit))) ")")
+ nil t)
+  (put-text-property
+   (match-beginning 1) (match-end 1)
+   'help-echo (current-time-string (read (match-string 1)
 (goto-char (point-min)))
   (set-buffer-modified-p nil)
   (special-mode))
@@ -1859,7 +1870,7 @@ returned by `debbugs-gnu-bugs'."
   '("serious" "important" "normal" "minor" "wishlist"
 "done" "donenotabug" "donewontfix" "doneunreproducible"
 "invalid" ; done+notabug+wontfix
-"unarchive" "unmerge" "reopen" "close"
+"archive" "unarchive" "unmerge" "reopen" "close"
 "merge" "forcemerge"
 "block" "unblock"
 "owner" "noowner"
@@ -2021,7 +2032,8 @@ removed instead."
 (insert
  (save-excursion ; Point can change while prompting!
(cond
-((member message '("unarchive" "unmerge" "noowner" "notforwarded"))
+((member
+  message '("archive" "unarchive" "unmerge" "noowner" "notforwarded"))
  (format "%s %d\n" message bugid))
 ((equal message "reopen")
  (format "reopen %d\ntags %d - fixed patch\n" bugid bugid))
diff --git a/debbugs-ug.texi b/debbugs-ug.texi
index d78fa624e8..5b7c682a9c 100644
--- a/debbugs-ug.texi
+++ b/debbugs-ug.texi
@@ -746,8 +746,9 @@ The new bug title is read interactively.
 @itemx wishlist
 "severity 12345 serious|important|normal|minor|wishlist"
 
-@item unarchive
-"unarchive 12345"
+@item archive
+@itemx unarchive
+"archive|unarchive 12345"
 
 @item unmerge
 "unmerge 12345"



[elpa] externals/denote dca802b720 09/10: Clarify that denote-dired-rename-files empty signature is ignored; use default value

2023-10-20 Thread ELPA Syncer
branch: externals/denote
commit dca802b720ba652bf2a7e3ffadb4ba578f88de9c
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Clarify that denote-dired-rename-files empty signature is ignored; use 
default value
---
 denote.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/denote.el b/denote.el
index 1c6dcda596..730870e753 100644
--- a/denote.el
+++ b/denote.el
@@ -2434,7 +2434,8 @@ the changes made to the file: perform them outright."
  (keywords (denote-keywords-prompt
 (format "Rename `%s' with keywords" 
file-in-prompt)))
  (signature (denote-signature-prompt
-(format "Rename `%s' with signature" 
file-in-prompt
+ (denote-retrieve-filename-signature file)
+ (format "Rename `%s' with signature (empty to 
ignore)" file-in-prompt
 (denote--rename-file-subr file id title keywords signature 
used-ids :no-confirm)
 (when used-ids (puthash id t used-ids
 (denote-update-dired-buffers))



[elpa] externals/denote 1bfc6c157c 08/10: Make denote-signature-prompt accept optional DEFAULT-SIGNATURE

2023-10-20 Thread ELPA Syncer
branch: externals/denote
commit 1bfc6c157ce527f0ccc6e8247e9d0f9693fde98a
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Make denote-signature-prompt accept optional DEFAULT-SIGNATURE
---
 README.org | 7 ---
 denote.el  | 9 +
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/README.org b/README.org
index ab093236b3..872876a1e1 100644
--- a/README.org
+++ b/README.org
@@ -3833,9 +3833,10 @@ might change them without further notice.
 
 #+findex: denote-signature-prompt
 + Function ~denote-signature-prompt~ :: Prompt for signature string.
-  With optional =PROMPT-TEXT= use it in the minibuffer instead of the
-  default prompt. [ The =PROMPT-TEXT= is added as part of
-  {{{development-version}}}. ]
+  With optional =DEFAULT-SIGNATURE= use it as the default minibuffer
+  value. With optional =PROMPT-TEXT= use it in the minibuffer instead
+  of the default prompt. [ The =DEFAULT-SIGNATURE= and =PROMPT-TEXT=
+  arguments are added as part of {{{development-version}}}. ]
 
 #+findex: denote-file-prompt
 + Function ~denote-file-prompt~ :: Prompt for file with identifier in
diff --git a/denote.el b/denote.el
index d08abc5d40..1c6dcda596 100644
--- a/denote.el
+++ b/denote.el
@@ -1848,13 +1848,14 @@ packages such as `marginalia' and `embark')."
 (defvar denote--signature-history nil
   "Minibuffer history of `denote-signature-prompt'.")
 
-(defun denote-signature-prompt (&optional prompt-text)
+(defun denote-signature-prompt (&optional default-signature prompt-text)
   "Prompt for signature string.
-With optional PROMPT-TEXT use it in the minibuffer instead of the
-default prompt."
+With optional DEFAULT-SIGNATURE use it as the default minibuffer
+value.  With optional PROMPT-TEXT use it in the minibuffer
+instead of the default prompt."
   (read-string
(format-prompt (or prompt-text "Provide signature") nil)
-   nil 'denote--signature-history))
+   nil 'denote--signature-history default-signature))
 
 ; Convenience commands as `denote' variants
 



[elpa] externals/denote updated (53ab1d36f6 -> c6f4f87796)

2023-10-20 Thread ELPA Syncer
elpasync pushed a change to branch externals/denote.

  from  53ab1d36f6 Add denote--rename-file-subr; refine denote-rename-file
   new  baaa113bd7 Make denote--rename-file-subr read an IDENTIFIER argument
   new  dc9397a70a Use 'denote-update-dired-buffers' instead of 
'revert-buffer'
   new  15411ac1ca Add denote-dired-rename-files command
   new  c3c567ee90 Use better name for subroutines
   new  b6710c590c Make denote--rename-file-subr derive default value, if 
needed
   new  1eeda41cf7 Make denote-dired-rename-marked-files-with-keywords use 
denote--rename-file-subr
   new  620c05a557 Remove needless TODO
   new  1bfc6c157c Make denote-signature-prompt accept optional 
DEFAULT-SIGNATURE
   new  dca802b720 Clarify that denote-dired-rename-files empty signature 
is ignored; use default value
   new  c6f4f87796 Make denote-rename-file prompt for a signature


Summary of changes:
 README.org | 154 +
 denote.el  | 131 
 2 files changed, 175 insertions(+), 110 deletions(-)



[elpa] externals/denote 620c05a557 07/10: Remove needless TODO

2023-10-20 Thread ELPA Syncer
branch: externals/denote
commit 620c05a55782fd1f0d0c00c6c8aa4924dec35354
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Remove needless TODO
---
 denote.el | 2 --
 1 file changed, 2 deletions(-)

diff --git a/denote.el b/denote.el
index a7d2dc8185..d08abc5d40 100644
--- a/denote.el
+++ b/denote.el
@@ -2434,8 +2434,6 @@ the changes made to the file: perform them outright."
 (format "Rename `%s' with keywords" 
file-in-prompt)))
  (signature (denote-signature-prompt
 (format "Rename `%s' with signature" 
file-in-prompt
-;; TODO 2023-10-20: We can rework `denote-rename-file' to
-;; ultimately use it here.  We can then simplify this.
 (denote--rename-file-subr file id title keywords signature 
used-ids :no-confirm)
 (when used-ids (puthash id t used-ids
 (denote-update-dired-buffers))



[elpa] externals/denote dc9397a70a 02/10: Use 'denote-update-dired-buffers' instead of 'revert-buffer'

2023-10-20 Thread ELPA Syncer
branch: externals/denote
commit dc9397a70ab5afe7bdfd2625f79f69d2325b2b4d
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Use 'denote-update-dired-buffers' instead of 'revert-buffer'
---
 denote.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/denote.el b/denote.el
index d9f657625b..b85429f78c 100644
--- a/denote.el
+++ b/denote.el
@@ -2473,7 +2473,7 @@ Specifically, do the following:
 (denote--add-front-matter new-name title keywords id 
file-type)))
 (when used-ids
   (puthash id t used-ids
-(revert-buffer))
+(denote-update-dired-buffers))
 (user-error "No marked files; aborting")))
 
 ;;;###autoload



[elpa] externals/denote c3c567ee90 04/10: Use better name for subroutines

2023-10-20 Thread ELPA Syncer
branch: externals/denote
commit c3c567ee902ae6f79f27a290e78776382abe7543
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Use better name for subroutines
---
 denote.el | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/denote.el b/denote.el
index db06a398a0..9c3ec72e44 100644
--- a/denote.el
+++ b/denote.el
@@ -1393,7 +1393,7 @@ Run `denote-desluggify' on title if the extraction is 
sucessful."
   (denote-desluggify title)
 (file-name-base file)))
 
-(defun denote--file-with-temp-buffer-1 (file)
+(defun denote--file-with-temp-buffer-subr (file)
   "Return path to FILE or its buffer together with the appropriate function.
 Subroutine of `denote--file-with-temp-buffer'."
   (when file
@@ -1415,7 +1415,7 @@ Subroutine of `denote--file-with-temp-buffer'."
 (defmacro denote--file-with-temp-buffer (file &rest body)
   "If FILE exists, insert its contents in a temp buffer and call BODY."
   (declare (indent 1))
-  `(when-let ((file-and-function (denote--file-with-temp-buffer-1 ,file)))
+  `(when-let ((file-and-function (denote--file-with-temp-buffer-subr ,file)))
  (with-temp-buffer
(funcall (car file-and-function) (cdr file-and-function))
(goto-char (point-min))
@@ -3106,7 +3106,7 @@ Like `denote-find-link', but select backlink to follow."
   (or (denote-link-return-backlinks)
   (user-error "No backlinks found")))
 
-(defun denote--link-after-creating-1 (command description-fn &optional id-only)
+(defun denote--link-after-creating-subr (command description-fn &optional 
id-only)
   "Subroutine for `denote-link-after-creating' and the like.
 COMMAND is the symbol of a file-creating command to call, such as
 `denote' or `denote-signature'.
@@ -3148,7 +3148,7 @@ We thus have to save the buffer in order to (i) establish 
valid
 links, and (ii) retrieve whatever front matter from the target
 file."
   (interactive "P")
-  (denote--link-after-creating-1 #'denote #'denote--link-get-description 
id-only))
+  (denote--link-after-creating-subr #'denote #'denote--link-get-description 
id-only))
 
 ;;;###autoload
 (defun denote-link-after-creating-with-command (command &optional id-only)
@@ -3162,7 +3162,7 @@ Optional ID-ONLY has the same meaning as in the command
(list
 (denote-command-prompt)
 current-prefix-arg))
-  (denote--link-after-creating-1
+  (denote--link-after-creating-subr
command
(if (eq command 'denote-signature)
#'denote--link-get-description-with-signature



[elpa] externals/denote baaa113bd7 01/10: Make denote--rename-file-subr read an IDENTIFIER argument

2023-10-20 Thread ELPA Syncer
branch: externals/denote
commit baaa113bd75b2e3733ce226fb1abaacdf0c4f0d1
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Make denote--rename-file-subr read an IDENTIFIER argument
---
 denote.el | 12 +---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/denote.el b/denote.el
index 8fa29cf426..d9f657625b 100644
--- a/denote.el
+++ b/denote.el
@@ -2271,11 +2271,16 @@ Throw error is FILE is not regular, else return FILE."
 (defvar denote-rename-max-mini-window-height 0.33
   "How much to enlarge `max-mini-window-height' for renaming operations.")
 
-(defun denote--rename-file-subr (file title keywords signature &optional 
ask-date no-confirm)
+(defun denote--rename-file-subr (file identifier title keywords signature 
&optional ask-date no-confirm)
   "Subroutine for `denote-rename-file' and `denote-dired-rename-files'.
 
 - FILE is the target of the rename operation.
 
+- IDENTIFIER is a string unique to the file representing the
+  current date and time.  If IDENTIFIER is nil, derive a unique
+  one (with either `denote-retrieve-filename-identifier' or
+  `denote-create-unique-file-identifier');
+
 - TITLE is a string that is sluggified to form the new name's
   title component;
 
@@ -2296,7 +2301,8 @@ If optional NO-CONFIRM is non-nil, do not ask for 
confirmation
 while renaming files, otherwise do it while displaying the
 relevant changes."
   (let* ((dir (file-name-directory file))
- (id (or (denote-retrieve-filename-identifier file :no-error)
+ (id (or identifier
+ (denote-retrieve-filename-identifier file :no-error)
  (denote-create-unique-file-identifier file ask-date)))
  (signature (or signature (denote-retrieve-filename-signature file)))
  (extension (denote-get-file-extension file))
@@ -2394,7 +2400,7 @@ place."
   (denote-keywords-prompt
(format "Rename `%s' with keywords" file-in-prompt))
   current-prefix-arg)))
-  (denote--rename-file-subr file title keywords nil ask-date))
+  (denote--rename-file-subr file nil title keywords nil ask-date))
 
 (make-obsolete
  'denote-dired-rename-marked-files



[elpa] externals/denote b6710c590c 05/10: Make denote--rename-file-subr derive default value, if needed

2023-10-20 Thread ELPA Syncer
branch: externals/denote
commit b6710c590c3d2d5e6d6668df642a5dba93502f65
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Make denote--rename-file-subr derive default value, if needed
---
 denote.el | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/denote.el b/denote.el
index 9c3ec72e44..19ebb3c9ee 100644
--- a/denote.el
+++ b/denote.el
@@ -2308,9 +2308,11 @@ relevant changes."
  (id (or identifier
  (denote-retrieve-filename-identifier file :no-error)
  (denote-create-unique-file-identifier file ask-date)))
- (signature (or signature (denote-retrieve-filename-signature file)))
  (extension (denote-get-file-extension file))
  (file-type (denote-filetype-heuristics file))
+ (title (or title (denote--retrieve-title-or-filename file file-type)))
+ (keywords (or keywords (denote-retrieve-keywords-value file 
file-type)))
+ (signature (or signature (denote-retrieve-filename-signature file)))
  (new-name (denote-format-file-name dir id keywords (denote-sluggify 
title 'title) extension signature))
  (max-mini-window-height denote-rename-max-mini-window-height)) ; 
allow minibuffer to be resized
 (when (or no-confirm (denote-rename-file-prompt file new-name))



[elpa] externals/denote 15411ac1ca 03/10: Add denote-dired-rename-files command

2023-10-20 Thread ELPA Syncer
branch: externals/denote
commit 15411ac1ca5213cd4b99b25c27f8c827e7daf487
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Add denote-dired-rename-files command
---
 README.org | 133 -
 denote.el  |  58 ---
 2 files changed, 121 insertions(+), 70 deletions(-)

diff --git a/README.org b/README.org
index 531a969ac7..ab093236b3 100644
--- a/README.org
+++ b/README.org
@@ -1054,7 +1054,8 @@ line or switching between then with commands like 
~switch-to-buffer~.
 
 #+findex: denote-rename-file
 The ~denote-rename-file~ command renames a file and updates existing
-front matter if appropriate.
+front matter if appropriate. It is possible to do the same with
+multiple files ([[#h:1b6b2c78-42f0-45b8-9ef0-6de21a8b2cde][Rename multiple 
files interactively]]).
 
 If in Dired, consider =FILE= to be the one at point, else prompt with
 minibuffer completion for one. When called from Lisp, =FILE= is a
@@ -1080,9 +1081,9 @@ Else create an identifier based on the following 
conditions:
 
 Use =TITLE= to construct the new name of =FILE=. In interactive use,
 retrieve the default =TITLE= value from a line starting with a title
-field in the file's contents, depending on the given file type 
([[#h:13218826-56a5-482a-9b91-5b6de4f14261][Front
-matter]]). Else, use the file name as a default value at the
-minibuffer prompt. When called from Lisp, =TITLE= is a string.
+field in the file's contents, depending on the given file type 
([[#h:13218826-56a5-482a-9b91-5b6de4f14261][Front matter]]).
+Else, use the file name as a default value at the minibuffer prompt.
+When called from Lisp, =TITLE= is a string.
 
 As a final step after the =FILE=, =TITLE=, and =KEYWORDS= are
 collected, ask for confirmation, showing the difference between old
@@ -1124,52 +1125,6 @@ non-note files (e.g. PDF) that can benefit from Denote's 
file-naming
 scheme. The latter is a convenience we provide, since we already have
 all the requisite mechanisms in place.
 
-** Rename multiple files at once
-:PROPERTIES:
-:CUSTOM_ID: h:1b6b2c78-42f0-45b8-9ef0-6de21a8b2cde
-:END:
-
-*** Rename by writing only keywords
-:PROPERTIES:
-:CUSTOM_ID: h:f365ff7e-2140-4e14-a92f-666ae97382a4
-:END:
-
-[ The command ~denote-dired-rename-marked-files~ is now called
-  ~denote-dired-rename-marked-files-with-keywords~ to better describe
-  what it actually does. To rename multiple Dired marked files while
-  being asked about each file's specifics, use the command
-  ~denote-dired-rename-files~. This change is done as part of
-  {{{development-version}}}. ]
-
-#+findex: denote-dired-rename-marked-files-with-keywords
-The ~denote-dired-rename-marked-files-with-keywords~ command renames
-marked files in Dired to conform with our file-naming scheme. It does
-so by writing keywords to them. Specifically, it does the following:
-
-- retains the file's existing name and makes it the =TITLE= field, per
-  Denote's file-naming scheme;
-
-- sluggifies the =TITLE= and adjusts its letter casing, according to
-  our conventions ([[*Contol the letter casing of file names][Contol the 
letter casing of file names]]);
-
-- prepends an identifier to the =TITLE=, if one is missing;
-
-- preserves the file's extension, if any;
-
-- prompts once for =KEYWORDS= and applies the user's input to the
-  corresponding field in the file name, rewriting any keywords that
-  may exist;
-
-- adds or rewrites existing front matter to the underlying file, if it
-  is recognized as a Denote note (per the ~denote-file-type~ user
-  option), such that it includes the new keywords.
-
-[ Note that the affected buffers are not saved. Users can thus check
-  them to confirm that the new front matter does not cause any
-  problems (e.g. with the ~diff-buffer-with-file~ command). Multiple
-  buffers can be saved in one go with ~save-some-buffers~ (read its
-  doc string). ]
-
 ** Rename a single file based on its front matter
 :PROPERTIES:
 :CUSTOM_ID: h:3ab08ff4-81fa-4d24-99cb-79f97c13a373
@@ -1229,6 +1184,70 @@ edited in the front matter: Denote considers the file 
name to be the
 source of truth in this case, to avoid potential breakage with typos and
 the like.
 
+** Rename multiple files interactively
+:PROPERTIES:
+:CUSTOM_ID: h:1b6b2c78-42f0-45b8-9ef0-6de21a8b2cde
+:END:
+
+[ Part of {{{development-version}}}. ]
+
+#+findex: denote-dired-rename-files
+The command ~denote-dired-rename-files~ renames the files that are
+marked in a Dired buffer. Its behaviour is similar to the
+~denote-rename-file~ in that it prompts for a title, keywords, and
+signature ([[#h:7cc9e000-806a-48da-945c-711bbc7426b0][Rename a single file]]). 
It does so over each marked file,
+renaming one after the other.
+
+Unlike ~denote-rename-file~, the command ~denote-dired-rename-files~
+does not ask to confirm the changes made to the files: it performs
+them outright. This is done to make it easier to rename multiple files
+without having to confirm

[elpa] externals/denote 1eeda41cf7 06/10: Make denote-dired-rename-marked-files-with-keywords use denote--rename-file-subr

2023-10-20 Thread ELPA Syncer
branch: externals/denote
commit 1eeda41cf73511725babd3519335e49ee146352a
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Make denote-dired-rename-marked-files-with-keywords use 
denote--rename-file-subr
---
 denote.el | 29 +
 1 file changed, 9 insertions(+), 20 deletions(-)

diff --git a/denote.el b/denote.el
index 19ebb3c9ee..a7d2dc8185 100644
--- a/denote.el
+++ b/denote.el
@@ -2479,27 +2479,16 @@ Specifically, do the following:
   (interactive nil dired-mode)
   (if-let ((marks (dired-get-marked-files)))
   (let ((keywords (denote-keywords-prompt "Rename marked files by writing 
these keywords"))
-(used-ids)) ; We only set it below if necessary (ie if some files 
lack an identifier).
-(setq used-ids (when (seq-some
-  (lambda (m) (not 
(denote-retrieve-filename-identifier m :no-error)))
-  marks)
- (denote--get-all-used-ids)))
+(used-ids (when (seq-some
+ (lambda (m)
+   (not (denote-retrieve-filename-identifier m 
:no-error)))
+ marks)
+(denote--get-all-used-ids
 (dolist (file marks)
-  (let* ((dir (file-name-directory file))
- (id (or (denote-retrieve-filename-identifier file :no-error)
- (denote-create-unique-file-identifier file nil 
used-ids)))
- (signature (denote-retrieve-filename-signature file))
- (file-type (denote-filetype-heuristics file))
- (title (denote--retrieve-title-or-filename file file-type))
- (extension (denote-get-file-extension file))
- (new-name (denote-format-file-name dir id keywords 
(denote-sluggify title 'title) extension signature)))
-(denote-rename-file-and-buffer file new-name)
-(when (denote-file-is-writable-and-supported-p new-name)
-  (if (denote--edit-front-matter-p new-name file-type)
-  (denote-rewrite-keywords new-name keywords file-type)
-(denote--add-front-matter new-name title keywords id 
file-type)))
-(when used-ids
-  (puthash id t used-ids
+  (let ((id (or (denote-retrieve-filename-identifier file :no-error)
+(denote-create-unique-file-identifier file nil 
used-ids
+(denote--rename-file-subr file nil nil keywords nil nil 
:no-confirm)
+(when used-ids (puthash id t used-ids
 (denote-update-dired-buffers))
 (user-error "No marked files; aborting")))
 



[elpa] externals/denote c6f4f87796 10/10: Make denote-rename-file prompt for a signature

2023-10-20 Thread ELPA Syncer
branch: externals/denote
commit c6f4f8779663c3dad59bee86fe1f95799b4fc95b
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Make denote-rename-file prompt for a signature

This is part of a long series of changes I have been making to
refactor/expand/refine the renaming commands.

The need to somehow rename with a signature was mentioned by Suhail
Singh on the mailing list:

.
---
 README.org | 20 ++--
 denote.el  | 18 +-
 2 files changed, 27 insertions(+), 11 deletions(-)

diff --git a/README.org b/README.org
index 872876a1e1..f7b5447b8d 100644
--- a/README.org
+++ b/README.org
@@ -1052,6 +1052,9 @@ line or switching between then with commands like 
~switch-to-buffer~.
 :CUSTOM_ID: h:7cc9e000-806a-48da-945c-711bbc7426b0
 :END:
 
+[ Refactored as part of {{{development-version}}} to prompt for a
+  signature (plus other refinements under the hood). ]
+
 #+findex: denote-rename-file
 The ~denote-rename-file~ command renames a file and updates existing
 front matter if appropriate. It is possible to do the same with
@@ -1085,9 +1088,14 @@ field in the file's contents, depending on the given 
file type ([[#h:13218826-56
 Else, use the file name as a default value at the minibuffer prompt.
 When called from Lisp, =TITLE= is a string.
 
-As a final step after the =FILE=, =TITLE=, and =KEYWORDS= are
-collected, ask for confirmation, showing the difference between old
-and new file names. For example:
+Add =SIGNATURE= to the file, using an existing one as the default
+value at the minibuffer prompt. When called from Lisp, =SIGNATURE= is
+a string. If the =SIGNATURE= is empty or ~nil~, it is not included in
+the new file name.
+
+As a final step after the =FILE=, =TITLE=, =KEYWORDS=, and =SIGNATURE=
+are collected, ask for confirmation, showing the difference between
+old and new file names. For example:
 
 #+begin_example
 Rename sample.txt to 20220612T052900--my-sample-title__testing.txt? (y or n)
@@ -4734,9 +4742,9 @@ Denote is meant to be a collective effort.  Every bit of 
help matters.
   Jean-Charles Bagneris, Jens Östlund, Jeremy Friesen, Jonathan Sahar,
   Johan Bolmsjö, Juanjo Presa, Kai von Fintel, Kaushal Modi, M. Hadi
   Timachi, Mark Olson, Mirko Hernandez, Niall Dooley, Paul van Gelder,
-  Peter Prevos, Shreyas Ragavan, Stefan Thesing, Summer Emacs, Sven
-  Seebeck, Taoufik, TJ Stankus, Viktor Haag, Wade Mealing, Yi Liu,
-  Ypot, atanasj, doolio, drcxd, hpgisler, pRot0ta1p, rbenit68,
+  Peter Prevos, Suhail Singh, Shreyas Ragavan, Stefan Thesing, Summer
+  Emacs, Sven Seebeck, Taoufik, TJ Stankus, Viktor Haag, Wade Mealing,
+  Yi Liu, Ypot, atanasj, doolio, drcxd, hpgisler, pRot0ta1p, rbenit68,
   relict007, sienic, sundar bp.
 
 Special thanks to Peter Povinec who helped refine the file-naming
diff --git a/denote.el b/denote.el
index 730870e753..85d3c0ec21 100644
--- a/denote.el
+++ b/denote.el
@@ -2325,7 +2325,7 @@ relevant changes."
   (denote--add-front-matter new-name title keywords id file-type))
 
 ;;;###autoload
-(defun denote-rename-file (file title keywords &optional ask-date)
+(defun denote-rename-file (file title keywords signature &optional ask-date)
   "Rename file and update existing front matter if appropriate.
 
 If in Dired, consider FILE to be the one at point, else prompt
@@ -2358,9 +2358,14 @@ type (e.g. #+title for Org).  Else, use the file name as 
a
 default value at the minibuffer prompt.  When called from Lisp,
 TITLE is a string.
 
-As a final step after the FILE, TITLE, and KEYWORDS are
-collected, ask for confirmation, showing the difference between
-old and new file names.
+Add SIGNATURE to the file, using an existing one as the default
+value at the minibuffer prompt.  When called from Lisp, SIGNATURE
+is a string.  If the SIGNATURE is empty or nil, it is not
+included in the new file name.
+
+As a final step after the FILE, TITLE, KEYWORDS, and SIGNATURE
+are collected, ask for confirmation, showing the difference
+between old and new file names.
 
 Read the file type extension (like .txt) from the underlying file
 and preserve it through the renaming process.  Files that have no
@@ -2406,8 +2411,11 @@ place."
(format "Rename `%s' with title" file-in-prompt))
   (denote-keywords-prompt
(format "Rename `%s' with keywords" file-in-prompt))
+  (denote-signature-prompt
+   (denote-retrieve-filename-signature file)
+   (format "Rename `%s' with signature (empty to ignore)" file-in-prompt))
   current-prefix-arg)))
-  (denote--rename-file-subr file nil title keywords nil ask-date))
+  (denote--rename-file-subr file nil title keywords signature ask-date))
 
 ;;;###autoload
 (defun denote-dired-rename-files ()



[elpa] externals/org 7ceefaf2d5: * lisp/ob-plantuml.el: Support tikz output

2023-10-20 Thread ELPA Syncer
branch: externals/org
commit 7ceefaf2d5c729cb63b33bca8bb465353fd106a3
Author: Nan JunJie 
Commit: Ihor Radchenko 

* lisp/ob-plantuml.el: Support tikz output

(org-babel-execute:plantuml): Generate tikz code without preamble when
requested :file has .tikz extension.
* etc/ORG-NEWS (=ob-plantuml.el=: Support tikz file format output):
Document the change.

TINYCHANGE
---
 etc/ORG-NEWS| 14 ++
 lisp/ob-plantuml.el |  1 +
 2 files changed, 15 insertions(+)

diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS
index 78b75b5787..9854880160 100644
--- a/etc/ORG-NEWS
+++ b/etc/ORG-NEWS
@@ -479,6 +479,20 @@ Currently implemented options are:
   iCalendar programs support this usage.
 
 ** New features
+*** =ob-plantuml.el=: Support tikz file format output
+
+=ob-plantuml.el= now output =tikz= :file format via
+=-tlatex:nopreamble= option.  So that the output tikz file can be an
+input into the exported latex correctly.
+
+For example, exporting the following to LaTeX
+
+#+begin_src plantuml :file test.tikz :exports results
+Bob -> Alice : Hello World!
+#+end_src
+
+will include the generated =.tikz= into the exported LaTeX source.
+
 *** =UNNUMBERED= property inheritance is now honored by ~org-num-mode~
 
 When ~org-num-skip-unnumbered~ is non-nil, ~org-num-mode~ now honors
diff --git a/lisp/ob-plantuml.el b/lisp/ob-plantuml.el
index 3202c6e415..b5cc9322ed 100644
--- a/lisp/ob-plantuml.el
+++ b/lisp/ob-plantuml.el
@@ -143,6 +143,7 @@ This function is called by `org-babel-execute-src-block'."
("eps" '("-teps"))
("pdf" '("-tpdf"))
("tex" '("-tlatex"))
+("tikz" '("-tlatex:nopreamble"))
("vdx" '("-tvdx"))
("xmi" '("-txmi"))
("scxml" '("-tscxml"))



[nongnu] elpa/smartparens 9b02ee1ffb 10/12: Merge pull request #1028 from wentasah/improve-sp-pair-doc

2023-10-20 Thread ELPA Syncer
branch: elpa/smartparens
commit 9b02ee1ffb278cd0dc19c71d6213abf662ce6109
Merge: 17c2e65db5 456118978e
Author: Matus Goljer 
Commit: GitHub 

Merge pull request #1028 from wentasah/improve-sp-pair-doc

Clarify sp-pair documentation
---
 smartparens.el | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/smartparens.el b/smartparens.el
index c7c8a333ca..5a8f2097a5 100644
--- a/smartparens.el
+++ b/smartparens.el
@@ -2295,7 +2295,10 @@ is wrapped instead.  This is useful with selection 
functions in
wrap
bind
insert)
-  "Add a pair definition.
+  "Add, remove or update a pair definition.
+
+The pair definition is removed if ACTIONS is :rem, added if it
+does not exist, and updated otherwise.
 
 OPEN is the opening delimiter.  Every pair is uniquely determined
 by this string.



[nongnu] elpa/smartparens 4e3ca735aa 02/12: Support `ruby-ts-mode`

2023-10-20 Thread ELPA Syncer
branch: elpa/smartparens
commit 4e3ca735aadc570a5b4b456519000d6048785bf4
Author: Daniel Ma 
Commit: GitHub 

Support `ruby-ts-mode`

As of Emacs 29, `ruby-mode` and `ruby-ts-mode` are derived from 
`ruby-base-mode`. Have smartparens define behavior from the base mode to work 
with both
---
 smartparens-ruby.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/smartparens-ruby.el b/smartparens-ruby.el
index 237eea9022..31c7d80877 100644
--- a/smartparens-ruby.el
+++ b/smartparens-ruby.el
@@ -293,12 +293,12 @@ MS, ME, MB."
 (sp-ruby-method-p "end"
 
 (add-to-list 'sp-navigate-skip-match
- '((ruby-mode enh-ruby-mode motion-mode) . sp--ruby-skip-match))
+ '((ruby-base-mode enh-ruby-mode motion-mode) . 
sp--ruby-skip-match))
 
-(dolist (mode '(ruby-mode motion-mode))
+(dolist (mode '(ruby-base-mode motion-mode))
   (add-to-list 'sp-sexp-suffix `(,mode syntax "")))
 
-(sp-with-modes '(ruby-mode enh-ruby-mode motion-mode)
+(sp-with-modes '(ruby-base-mode enh-ruby-mode motion-mode)
   (sp-local-pair "do" "end"
  :when '(("SPC" "RET" ""))
  :unless '(sp-ruby-in-string-or-word-p sp-in-comment-p)



[nongnu] elpa/smartparens 3afd9af104 08/12: Merge pull request #1167 from ROCKTAKEY/add-delete-sexp

2023-10-20 Thread ELPA Syncer
branch: elpa/smartparens
commit 3afd9af104c8e003e8354ae825e9ed525b9dd26f
Merge: ba7818a77b 448529363a
Author: Matus Goljer 
Commit: GitHub 

Merge pull request #1167 from ROCKTAKEY/add-delete-sexp

Add commands named `sp-(backward-)?delete-sexp`
---
 smartparens.el | 34 ++
 1 file changed, 34 insertions(+)

diff --git a/smartparens.el b/smartparens.el
index bf99f5f724..c7c8a333ca 100644
--- a/smartparens.el
+++ b/smartparens.el
@@ -6619,6 +6619,23 @@ Note: prefix argument is shown after the example in
 (when (= 0 sp-successive-kill-preserve-whitespace)
   (kill-append sp-last-kill-whitespace nil)
 
+(defun sp-delete-sexp (&optional arg)
+  "Delete the balanced expression following point.
+
+This is exactly like calling `sp-kill-sexp'
+except deleted sexp does not go to the clipboard or kill ring.
+
+With ARG being positive number N, repeat that many times.
+
+With ARG being Negative number -N, repeat that many times in
+backward direction.
+
+See also `sp-kill-sexp' examples."
+  (interactive "*p")
+  (let* ((kill-ring nil)
+ (select-enable-clipboard nil))
+(sp-kill-sexp arg)))
+
 (defun sp--cleanup-after-kill ()
   (unless (save-match-data (looking-back "^[\t\s]+" (1- 
(line-beginning-position
 (let ((bdel (save-excursion
@@ -6673,6 +6690,23 @@ Examples:
   (interactive "*P")
   (sp-kill-sexp (sp--negate-argument arg) dont-kill))
 
+(defun sp-backward-delete-sexp (&optional arg)
+  "Delete the balanced expression preceding point.
+
+This is exactly like calling `sp-backword-kill-sexp'
+except deleted sexp does not go to the clipboard or kill ring.
+
+With ARG being positive number N, repeat that many times.
+
+With ARG being Negative number -N, repeat that many times in
+forward direction.
+
+See also `sp-backward-kill-sexp' examples."
+  (interactive "*p")
+  (let* ((kill-ring nil)
+ (select-enable-clipboard nil))
+(sp-backward-kill-sexp arg)))
+
 (defun sp-copy-sexp (&optional arg)
   "Copy the following ARG expressions to the kill-ring.
 



[nongnu] elpa/smartparens dd22a3e6c5 11/12: Merge pull request #1169 from ROCKTAKEY/fix-kill-ring-bug-on-deletion

2023-10-20 Thread ELPA Syncer
branch: elpa/smartparens
commit dd22a3e6c5219a0905fc306fb16210cc36fd8a5b
Merge: 9b02ee1ffb 273f730764
Author: Matus Goljer 
Commit: GitHub 

Merge pull request #1169 from ROCKTAKEY/fix-kill-ring-bug-on-deletion

`kill-ring` should not be `let-bind`ed to `kill-ring` itself on 
`sp(-backward)?-delete-symbol`
---
 smartparens.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/smartparens.el b/smartparens.el
index 5a8f2097a5..707289836d 100644
--- a/smartparens.el
+++ b/smartparens.el
@@ -9122,7 +9122,7 @@ backward direction.
 
 See `sp-forward-symbol' for what constitutes a symbol."
   (interactive "*p")
-  (let* ((kill-ring kill-ring)
+  (let* ((kill-ring nil)
  (select-enable-clipboard nil))
 (sp-kill-symbol arg word)))
 
@@ -9199,7 +9199,7 @@ forward direction.
 
 See `sp-backward-symbol' for what constitutes a symbol."
   (interactive "*p")
-  (let* ((kill-ring kill-ring)
+  (let* ((kill-ring nil)
  (select-enable-clipboard nil))
 (sp-backward-kill-symbol arg word)))
 



[nongnu] elpa/smartparens 17c2e65db5 09/12: Merge pull request #1162 from danielma/patch-1

2023-10-20 Thread ELPA Syncer
branch: elpa/smartparens
commit 17c2e65db5156152526f142392f39312e118c760
Merge: 3afd9af104 7ccf5c7efe
Author: Matus Goljer 
Commit: GitHub 

Merge pull request #1162 from danielma/patch-1

Support `ruby-ts-mode`
---
 smartparens-ruby.el | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/smartparens-ruby.el b/smartparens-ruby.el
index 237eea9022..65ba9efeb9 100644
--- a/smartparens-ruby.el
+++ b/smartparens-ruby.el
@@ -293,12 +293,12 @@ MS, ME, MB."
 (sp-ruby-method-p "end"
 
 (add-to-list 'sp-navigate-skip-match
- '((ruby-mode enh-ruby-mode motion-mode) . sp--ruby-skip-match))
+ '((ruby-mode ruby-ts-mode enh-ruby-mode motion-mode) . 
sp--ruby-skip-match))
 
-(dolist (mode '(ruby-mode motion-mode))
+(dolist (mode '(ruby-mode ruby-ts-mode motion-mode))
   (add-to-list 'sp-sexp-suffix `(,mode syntax "")))
 
-(sp-with-modes '(ruby-mode enh-ruby-mode motion-mode)
+(sp-with-modes '(ruby-base-mode enh-ruby-mode motion-mode)
   (sp-local-pair "do" "end"
  :when '(("SPC" "RET" ""))
  :unless '(sp-ruby-in-string-or-word-p sp-in-comment-p)



[nongnu] elpa/smartparens 448529363a 04/12: Add commands named `sp-(backward-)?-delete-sexp`

2023-10-20 Thread ELPA Syncer
branch: elpa/smartparens
commit 448529363abc1c57eab775bea7a4c0180a303ef5
Author: ROCKTAKEY 
Commit: ROCKTAKEY 

Add commands named `sp-(backward-)?-delete-sexp`
---
 smartparens.el | 34 ++
 1 file changed, 34 insertions(+)

diff --git a/smartparens.el b/smartparens.el
index bf99f5f724..c7c8a333ca 100644
--- a/smartparens.el
+++ b/smartparens.el
@@ -6619,6 +6619,23 @@ Note: prefix argument is shown after the example in
 (when (= 0 sp-successive-kill-preserve-whitespace)
   (kill-append sp-last-kill-whitespace nil)
 
+(defun sp-delete-sexp (&optional arg)
+  "Delete the balanced expression following point.
+
+This is exactly like calling `sp-kill-sexp'
+except deleted sexp does not go to the clipboard or kill ring.
+
+With ARG being positive number N, repeat that many times.
+
+With ARG being Negative number -N, repeat that many times in
+backward direction.
+
+See also `sp-kill-sexp' examples."
+  (interactive "*p")
+  (let* ((kill-ring nil)
+ (select-enable-clipboard nil))
+(sp-kill-sexp arg)))
+
 (defun sp--cleanup-after-kill ()
   (unless (save-match-data (looking-back "^[\t\s]+" (1- 
(line-beginning-position
 (let ((bdel (save-excursion
@@ -6673,6 +6690,23 @@ Examples:
   (interactive "*P")
   (sp-kill-sexp (sp--negate-argument arg) dont-kill))
 
+(defun sp-backward-delete-sexp (&optional arg)
+  "Delete the balanced expression preceding point.
+
+This is exactly like calling `sp-backword-kill-sexp'
+except deleted sexp does not go to the clipboard or kill ring.
+
+With ARG being positive number N, repeat that many times.
+
+With ARG being Negative number -N, repeat that many times in
+forward direction.
+
+See also `sp-backward-kill-sexp' examples."
+  (interactive "*p")
+  (let* ((kill-ring nil)
+ (select-enable-clipboard nil))
+(sp-backward-kill-sexp arg)))
+
 (defun sp-copy-sexp (&optional arg)
   "Copy the following ARG expressions to the kill-ring.
 



[nongnu] elpa/smartparens 456118978e 01/12: Clarify sp-pair documentation

2023-10-20 Thread ELPA Syncer
branch: elpa/smartparens
commit 456118978edd0b08863a4a54b1dab30a0d96da56
Author: Michal Sojka 
Commit: Michal Sojka 

Clarify sp-pair documentation

The sp-pair function does not only add, but also remove or update pair
definitions. Make it immediately clear at the top of the
documentation. Later parts of the documentation refer to updating of
the definition and without mentioning that sp-pair can also update,
the documentation is confusing.
---
 smartparens.el | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/smartparens.el b/smartparens.el
index c9745cd429..5d0997ca43 100644
--- a/smartparens.el
+++ b/smartparens.el
@@ -2289,7 +2289,10 @@ is wrapped instead.  This is useful with selection 
functions in
wrap
bind
insert)
-  "Add a pair definition.
+  "Add, remove or update a pair definition.
+
+The pair definition is removed if ACTIONS is :rem, added if it
+does not exist, and updated otherwise.
 
 OPEN is the opening delimiter.  Every pair is uniquely determined
 by this string.



[nongnu] elpa/smartparens 273f730764 05/12: `kill-ring` should be `let-bind`ed to nil

2023-10-20 Thread ELPA Syncer
branch: elpa/smartparens
commit 273f730764159202b2666d78caf21b5a7ff8f39e
Author: ROCKTAKEY 
Commit: ROCKTAKEY 

`kill-ring` should be `let-bind`ed to nil
---
 smartparens.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/smartparens.el b/smartparens.el
index bf99f5f724..92f88cbd40 100644
--- a/smartparens.el
+++ b/smartparens.el
@@ -9085,7 +9085,7 @@ backward direction.
 
 See `sp-forward-symbol' for what constitutes a symbol."
   (interactive "*p")
-  (let* ((kill-ring kill-ring)
+  (let* ((kill-ring nil)
  (select-enable-clipboard nil))
 (sp-kill-symbol arg word)))
 
@@ -9162,7 +9162,7 @@ forward direction.
 
 See `sp-backward-symbol' for what constitutes a symbol."
   (interactive "*p")
-  (let* ((kill-ring kill-ring)
+  (let* ((kill-ring nil)
  (select-enable-clipboard nil))
 (sp-backward-kill-symbol arg word)))
 



[nongnu] elpa/smartparens ba7818a77b 07/12: Merge pull request #1171 from lerouxrgd/master

2023-10-20 Thread ELPA Syncer
branch: elpa/smartparens
commit ba7818a77bed01c3a6cb1938125b456d61574aee
Merge: 79a338db11 bbfec47ac2
Author: Matus Goljer 
Commit: GitHub 

Merge pull request #1171 from lerouxrgd/master

Add support for rust-ts-mode
---
 smartparens-config.el | 1 +
 smartparens-rust.el   | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/smartparens-config.el b/smartparens-config.el
index 7bfcfe08a3..1b0d285883 100644
--- a/smartparens-config.el
+++ b/smartparens-config.el
@@ -139,6 +139,7 @@ ID, ACTION, CONTEXT."
 (eval-after-load 'rst  '(require 'smartparens-rst))
 (eval-after-load 'ruby-mode'(require 'smartparens-ruby))
 (eval-after-load 'rust-mode'(require 'smartparens-rust))
+(eval-after-load 'rust-ts-mode '(require 'smartparens-rust))
 (eval-after-load 'rustic   '(require 'smartparens-rust))
 (eval-after-load 'scala-mode   '(require 'smartparens-scala))
 (eval-after-load 'swift-mode   '(require 'smartparens-swift))
diff --git a/smartparens-rust.el b/smartparens-rust.el
index 42996d8438..f505861019 100644
--- a/smartparens-rust.el
+++ b/smartparens-rust.el
@@ -45,6 +45,7 @@
 (require 'smartparens)
 
 (declare-function rust-mode "rust-mode")
+(declare-function rust-ts-mode "rust-ts-mode")
 (declare-function rustic-mode "rustic-mode")
 
 (defun sp-in-rust-lifetime-context (&rest _args)
@@ -124,7 +125,7 @@ ARGS."
((eq action 'navigate)
 (and (not on-comparison) (not on-fn-return-type) (not 
on-match-branch
 
-(sp-with-modes '(rust-mode rustic-mode)
+(sp-with-modes '(rust-mode rust-ts-mode rustic-mode)
   (sp-local-pair "'" "'"
  :unless '(sp-in-comment-p sp-in-string-quotes-p 
sp-in-rust-lifetime-context)
  :post-handlers'(:rem sp-escape-quotes-after-insert))
@@ -135,6 +136,7 @@ ARGS."
 ;; Rust has no sexp suffices.  This fixes slurping
 ;; (|foo).bar -> (foo.bar)
 (add-to-list 'sp-sexp-suffix (list #'rust-mode 'regexp ""))
+(add-to-list 'sp-sexp-suffix (list #'rust-ts-mode 'regexp ""))
 (add-to-list 'sp-sexp-suffix (list #'rustic-mode 'regexp ""))
 
 (provide 'smartparens-rust)



[nongnu] elpa/smartparens 7ccf5c7efe 03/12: PR Feedback: inheritance does not work in a couple places

2023-10-20 Thread ELPA Syncer
branch: elpa/smartparens
commit 7ccf5c7efe423c3ee56b24e0c6743fc690598f67
Author: Daniel Ma 
Commit: GitHub 

PR Feedback: inheritance does not work in a couple places
---
 smartparens-ruby.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/smartparens-ruby.el b/smartparens-ruby.el
index 31c7d80877..65ba9efeb9 100644
--- a/smartparens-ruby.el
+++ b/smartparens-ruby.el
@@ -293,9 +293,9 @@ MS, ME, MB."
 (sp-ruby-method-p "end"
 
 (add-to-list 'sp-navigate-skip-match
- '((ruby-base-mode enh-ruby-mode motion-mode) . 
sp--ruby-skip-match))
+ '((ruby-mode ruby-ts-mode enh-ruby-mode motion-mode) . 
sp--ruby-skip-match))
 
-(dolist (mode '(ruby-base-mode motion-mode))
+(dolist (mode '(ruby-mode ruby-ts-mode motion-mode))
   (add-to-list 'sp-sexp-suffix `(,mode syntax "")))
 
 (sp-with-modes '(ruby-base-mode enh-ruby-mode motion-mode)



[nongnu] elpa/smartparens bbfec47ac2 06/12: Add support for rust-ts-mode

2023-10-20 Thread ELPA Syncer
branch: elpa/smartparens
commit bbfec47ac29ae93d9bbfe4e1fd1aa0c9e35e8397
Author: Romain Leroux 
Commit: Romain Leroux 

Add support for rust-ts-mode
---
 smartparens-config.el | 1 +
 smartparens-rust.el   | 4 +++-
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/smartparens-config.el b/smartparens-config.el
index 7bfcfe08a3..1b0d285883 100644
--- a/smartparens-config.el
+++ b/smartparens-config.el
@@ -139,6 +139,7 @@ ID, ACTION, CONTEXT."
 (eval-after-load 'rst  '(require 'smartparens-rst))
 (eval-after-load 'ruby-mode'(require 'smartparens-ruby))
 (eval-after-load 'rust-mode'(require 'smartparens-rust))
+(eval-after-load 'rust-ts-mode '(require 'smartparens-rust))
 (eval-after-load 'rustic   '(require 'smartparens-rust))
 (eval-after-load 'scala-mode   '(require 'smartparens-scala))
 (eval-after-load 'swift-mode   '(require 'smartparens-swift))
diff --git a/smartparens-rust.el b/smartparens-rust.el
index 42996d8438..f505861019 100644
--- a/smartparens-rust.el
+++ b/smartparens-rust.el
@@ -45,6 +45,7 @@
 (require 'smartparens)
 
 (declare-function rust-mode "rust-mode")
+(declare-function rust-ts-mode "rust-ts-mode")
 (declare-function rustic-mode "rustic-mode")
 
 (defun sp-in-rust-lifetime-context (&rest _args)
@@ -124,7 +125,7 @@ ARGS."
((eq action 'navigate)
 (and (not on-comparison) (not on-fn-return-type) (not 
on-match-branch
 
-(sp-with-modes '(rust-mode rustic-mode)
+(sp-with-modes '(rust-mode rust-ts-mode rustic-mode)
   (sp-local-pair "'" "'"
  :unless '(sp-in-comment-p sp-in-string-quotes-p 
sp-in-rust-lifetime-context)
  :post-handlers'(:rem sp-escape-quotes-after-insert))
@@ -135,6 +136,7 @@ ARGS."
 ;; Rust has no sexp suffices.  This fixes slurping
 ;; (|foo).bar -> (foo.bar)
 (add-to-list 'sp-sexp-suffix (list #'rust-mode 'regexp ""))
+(add-to-list 'sp-sexp-suffix (list #'rust-ts-mode 'regexp ""))
 (add-to-list 'sp-sexp-suffix (list #'rustic-mode 'regexp ""))
 
 (provide 'smartparens-rust)



[nongnu] elpa/smartparens updated (79a338db11 -> 708f2d6a01)

2023-10-20 Thread ELPA Syncer
elpasync pushed a change to branch elpa/smartparens.

  from  79a338db11 feat(org): disable pairing of single quote in lisp org 
source blocks
   new  bbfec47ac2 Add support for rust-ts-mode
   new  ba7818a77b Merge pull request #1171 from lerouxrgd/master
   new  448529363a Add commands named `sp-(backward-)?-delete-sexp`
   new  3afd9af104 Merge pull request #1167 from ROCKTAKEY/add-delete-sexp
   new  4e3ca735aa Support `ruby-ts-mode`
   new  7ccf5c7efe PR Feedback: inheritance does not work in a couple places
   new  17c2e65db5 Merge pull request #1162 from danielma/patch-1
   new  456118978e Clarify sp-pair documentation
   new  9b02ee1ffb Merge pull request #1028 from 
wentasah/improve-sp-pair-doc
   new  273f730764 `kill-ring` should be `let-bind`ed to nil
   new  dd22a3e6c5 Merge pull request #1169 from 
ROCKTAKEY/fix-kill-ring-bug-on-deletion
   new  708f2d6a01 fix(kill-ring): prevent `kill-ring-yank-pointer` changes 
when deleting


Summary of changes:
 smartparens-config.el |  1 +
 smartparens-ruby.el   |  6 +++---
 smartparens-rust.el   |  4 +++-
 smartparens.el| 57 ++-
 4 files changed, 59 insertions(+), 9 deletions(-)



[nongnu] elpa/smartparens 708f2d6a01 12/12: fix(kill-ring): prevent `kill-ring-yank-pointer` changes when deleting

2023-10-20 Thread ELPA Syncer
branch: elpa/smartparens
commit 708f2d6a0152dd890a3b2992cb2348e0f0ff44fd
Author: Matus Goljer 
Commit: Matus Goljer 

fix(kill-ring): prevent `kill-ring-yank-pointer` changes when deleting

See comments in #1169
---
 smartparens.el | 26 ++
 1 file changed, 18 insertions(+), 8 deletions(-)

diff --git a/smartparens.el b/smartparens.el
index 707289836d..d3661116a2 100644
--- a/smartparens.el
+++ b/smartparens.el
@@ -6622,6 +6622,20 @@ Note: prefix argument is shown after the example in
 (when (= 0 sp-successive-kill-preserve-whitespace)
   (kill-append sp-last-kill-whitespace nil)
 
+(defmacro sp-save-kill-ring (&rest forms)
+  "Run FORMS while preserving `kill-ring'.
+
+Any changes to `kill-ring' inside this macro will be reversed
+after exiting.
+
+The changes are usually done by functions suck as `kill-region',
+`copy-region-as-kill', `kill-append' and similar."
+  (declare (indent 0))
+  `(let* ((kill-ring nil)
+  (kill-ring-yank-pointer nil)
+  (select-enable-clipboard nil))
+ ,@forms))
+
 (defun sp-delete-sexp (&optional arg)
   "Delete the balanced expression following point.
 
@@ -6635,8 +6649,7 @@ backward direction.
 
 See also `sp-kill-sexp' examples."
   (interactive "*p")
-  (let* ((kill-ring nil)
- (select-enable-clipboard nil))
+  (sp-save-kill-ring
 (sp-kill-sexp arg)))
 
 (defun sp--cleanup-after-kill ()
@@ -6706,8 +6719,7 @@ forward direction.
 
 See also `sp-backward-kill-sexp' examples."
   (interactive "*p")
-  (let* ((kill-ring nil)
- (select-enable-clipboard nil))
+  (sp-save-kill-ring
 (sp-backward-kill-sexp arg)))
 
 (defun sp-copy-sexp (&optional arg)
@@ -9122,8 +9134,7 @@ backward direction.
 
 See `sp-forward-symbol' for what constitutes a symbol."
   (interactive "*p")
-  (let* ((kill-ring nil)
- (select-enable-clipboard nil))
+  (sp-save-kill-ring
 (sp-kill-symbol arg word)))
 
 (defun sp-delete-word (&optional arg)
@@ -9199,8 +9210,7 @@ forward direction.
 
 See `sp-backward-symbol' for what constitutes a symbol."
   (interactive "*p")
-  (let* ((kill-ring nil)
- (select-enable-clipboard nil))
+  (sp-save-kill-ring
 (sp-backward-kill-symbol arg word)))
 
 (defun sp-backward-delete-word (&optional arg)



[elpa] externals/consult 8f22fbce8d: Fix custom type

2023-10-20 Thread ELPA Syncer
branch: externals/consult
commit 8f22fbce8d645b9ed45c9ca62c4151644f338a22
Author: Daniel Mendler 
Commit: GitHub 

Fix custom type
---
 consult.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/consult.el b/consult.el
index a8a1faecfe..6b22c1c7f8 100644
--- a/consult.el
+++ b/consult.el
@@ -90,7 +90,7 @@ MAY-PROMPT is non-nil, the function may ask the prompt the 
user
 for a project directory.  The root directory is used by
 `consult-buffer' and `consult-grep'."
   :type '(choice
-  (const :tag "Default project function" 
#'consult--default-project-function)
+  (const :tag "Default project function" 
consult--default-project-function)
   (function :tag "Custom function")
   (const :tag "No project integration" nil)))
 



[elpa] externals/isearch-mb 8bc0d3fb7d: Fix issue with isearch--describe-regexp-mode returning nil (#26)

2023-10-20 Thread ELPA Syncer
branch: externals/isearch-mb
commit 8bc0d3fb7df5ffaaf787e0a1e7f5513067463e13
Author: Will Dey 
Commit: GitHub 

Fix issue with isearch--describe-regexp-mode returning nil (#26)

Copyright-paperwork-exempt: yes
---
 isearch-mb.el | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/isearch-mb.el b/isearch-mb.el
index 1cecfe2826..c4e54ae24d 100644
--- a/isearch-mb.el
+++ b/isearch-mb.el
@@ -163,8 +163,9 @@
(concat count ;; Count is padded so that it only grows.
(make-string (max 0 (- len (length count))) ?\ )
(capitalize
-(isearch--describe-regexp-mode
- isearch-regexp-function)))
+(or (isearch--describe-regexp-mode
+ isearch-regexp-function)
+"")))
 
 (defun isearch-mb--add-defaults ()
   "Add default search strings to future history."



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

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

  from  dec1eb089e ; * sweep.texi: Fix typo
   new  d70195ede3 Set Prolog flag 'tty_control' to 'true' when using pty
   new  d99bdfe43a Emit highlighted messages in the top-level
   new  9ff10e259a Expand Top-level documentation
   new  aeeed84c7f Announce recent changes in NEWS.org and bump version to 
0.25.5


Summary of changes:
 NEWS.org  | 18 ++
 sweep.pl  | 13 -
 sweep.texi| 56 +++-
 sweeprolog.el | 11 +++
 4 files changed, 72 insertions(+), 26 deletions(-)



[nongnu] elpa/sweeprolog d70195ede3 1/4: Set Prolog flag 'tty_control' to 'true' when using pty

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

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

When 'sweeprolog-top-level-use-pty' is non-nil, let the Prolog
top-level thread know that it controls the tty.  This affects some
aspects of the top-level interaction, namely in the presence of choice
points.  A significant benefit is that Prolog ensures that the tty
does not echo input, so we can stop setting 'comint-process-echoes'
which had the adverse effect of blocking Emacs when output stalls on
non-echoing terminals.

* sweep.pl (sweep_top_level_client/3): Become
'sweep_top_level_client/4'.  New argument says whether the top-level
controls the tty.
(sweep_top_level_pty_client/1,sweep_top_level_server_loop_/2): Adjust.
* sweeprolog.el (sweeprolog-top-level-buffer): Stop setting
'comint-process-echoes'.
(sweeprolog-top-level--post-self-insert-function): When using a tty,
send single character responses directly and assume that the top-level
echoes them back.
---
 sweep.pl  | 10 +-
 sweeprolog.el |  9 ++---
 2 files changed, 11 insertions(+), 8 deletions(-)

diff --git a/sweep.pl b/sweep.pl
index 62151512a2..220c187dc8 100644
--- a/sweep.pl
+++ b/sweep.pl
@@ -781,7 +781,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)).
+sweep_top_level_client(InStream, OutStream, ip(127, 0, 0, 1), true).
 
 sweep_top_level_server(_, Port) :-
 tcp_socket(ServerSocket),
@@ -808,17 +808,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), T),
+sweep_create_thread(sweep_top_level_client(InStream, OutStream, Peer, 
false), 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)) :-
+sweep_top_level_client(InStream, OutStream, ip(127, 0, 0, 1), TC) :-
 !,
 set_prolog_IO(InStream, OutStream, OutStream),
 set_stream(InStream, tty(true)),
-set_prolog_flag(tty_control, false),
+set_prolog_flag(tty_control, TC),
 current_prolog_flag(encoding, Enc),
 set_stream(user_input, encoding(Enc)),
 set_stream(user_output, encoding(Enc)),
@@ -832,7 +832,7 @@ sweep_top_level_client(InStream, OutStream, ip(127,0,0,1)) 
:-
  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 a90baeb2b1..68e66a352c 100644
--- a/sweeprolog.el
+++ b/sweeprolog.el
@@ -3241,7 +3241,6 @@ 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
@@ -3251,7 +3250,6 @@ 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
@@ -3335,7 +,12 @@ appropriate buffer."
   (- pend pstart
  (not (string= "|: "   prompt))
  (not (string= "|" prompt)))
-(comint-send-input)
+(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
 
 (defun sweeprolog-signal-thread (tid goal)
   (sweeprolog--query-once "sweep" "sweep_thread_signal"



[nongnu] elpa/sweeprolog 9ff10e259a 3/4: Expand Top-level documentation

2023-10-20 Thread ELPA Syncer
branch: elpa/sweeprolog
commit 9ff10e259a75cc40744efe9f7e45bf54dfefeddf
Author: Eshel Yaron 
Commit: Eshel Yaron 

Expand Top-level documentation

* sweep.texi (Top-level Interaction): New section, replaces...
(Top-level Completion): Remove.
(The Prolog Top-level): Update menu and document ANSI
escape sequence handling.
---
 sweep.texi | 52 +---
 1 file changed, 37 insertions(+), 15 deletions(-)

diff --git a/sweep.texi b/sweep.texi
index bbc69cdbab..af11152e89 100644
--- a/sweep.texi
+++ b/sweep.texi
@@ -143,11 +143,11 @@ Setting Breakpoints
 
 The Prolog Top-level
 
-* Multiple Top-levels::  Creating and handling multiple Prolog 
top-level buffers
+* Top-level Interaction::The basics of working with a top-level
+* Multiple Top-levels::  Creating and handling multiple top-level 
buffers
 * Top-level Menu::   A special buffer for operating on active 
top-levels
-* Top-level Signaling::  Commands for interrupting running Prolog 
top-levels
+* Top-level Signaling::  Commands for interrupting running top-levels
 * Top-level History::Accessing previous queries posted to the 
Prolog top-level
-* Top-level Completion:: Commands for completing partiat Prolog 
predicate names
 * Follow Messages::  Minor mode for visiting source locations in 
printed messages
 * Send to Top-level::Commands for sending goals to the be executed 
in the Top-level
 
@@ -2840,16 +2840,47 @@ host with untrusted users, so you should be careful 
about using
 @code{sweeprolog-top-level} with @code{sweeprolog-top-level-use-pty}
 set to @code{nil} on shared machines.
 
+@cindex ANSI escape sequences
+@cindex escape sequences, ANSI
+When Emacs connects to a top-level via a pty, the top-level uses
+@dfn{ANSI escape sequences} to add colored output and other features.
+Emacs interprets these escape sequences by default and turns them into
+text properties for the top-level output.  If you want Emacs to filter
+out ANSI escape sequences and disable output coloring, set the user
+option @code{ansi-color-for-comint-mode} to the symbol @code{filter}.
+
 @menu
-* Multiple Top-levels::  Creating and handling multiple Prolog 
top-level buffers
+* Top-level Interaction::The basics of working with a top-level
+* Multiple Top-levels::  Creating and handling multiple top-level 
buffers
 * Top-level Menu::   A special buffer for operating on active 
top-levels
-* Top-level Signaling::  Commands for interrupting running Prolog 
top-levels
+* Top-level Signaling::  Commands for interrupting running top-levels
 * Top-level History::Accessing previous queries posted to the 
Prolog top-level
-* Top-level Completion:: Commands for completing partiat Prolog 
predicate names
 * Follow Messages::  Minor mode for visiting source locations in 
printed messages
 * Send to Top-level::Commands for sending goals to the be executed 
in the Top-level
 @end menu
 
+@node Top-level Interaction
+@section Interacting with the Top-level
+
+When you start a new top-level, it prompts you to enter a Prolog query
+by displaying the @dfn{query prompt}, which is usually @samp{?- }.
+You post your query by typing it at the prompt, and pressing
+@kbd{@key{RET}} (@code{comint-send-input}) to send it.  If the query
+succeeds with a choicepoint, the top-level lets you to perform one of
+several actions by typing a single character, such as @kbd{;} to get
+the next answer.  Sweep Top-level mode detects that the top-level
+expects a single character input, and sends the character you type to
+the top-level immediately.  After the top-level is done with answering
+your query, it prompts you again to post a new one.
+
+@cindex top-level completion
+@cindex completion, in the top-level
+The Sweep top-level provides input completion at the query prompt,
+which works similarly to the in-buffer completion you get in Sweep
+Prolog mode buffers (@pxref{Code Completion}).  Namely, to complete a
+partial predicate name or other input in the top-level prompt, type
+@kbd{C-M-i} (or @kbd{M-@key{TAB}}).
+
 @node Multiple Top-levels
 @section Multiple Top-levels
 
@@ -3012,15 +3043,6 @@ it entirely to disable persistent history for top-levels 
that are not
 associated with any project.  By default, this option is set to
 @code{nil} which says not to keep persistent top-level history.
 
-@node Top-level Completion
-@section Completion in the Top-level
-
-Sweep Top-level mode can complete the input you enter at the prompt,
-similarly to the in-buffer code completion you get in Sweep Prolog
-mode buffers (@pxref{Code Completion}).  To complete a partial
-predicate name or other input in the top-level prompt, type
-@kbd{C-M-i} (or @kbd{M-@key{TAB}}).
-
 @node Follow Messages
 @section Following Error Messages
 



[nongnu] elpa/sweeprolog d99bdfe43a 2/4: Emit highlighted messages in the top-level

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

Emit highlighted messages in the top-level

* sweep.pl: Ensure 'library(ansi_term)' gets loaded.
(sweep_top_level_client/4): Set the flag 'verbose' to 'normal' in
order to enable informational messages, and set 'color_term' to 'true'
to enable highlighting when using a pty.
---
 sweep.pl | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sweep.pl b/sweep.pl
index 220c187dc8..a83816fd17 100644
--- a/sweep.pl
+++ b/sweep.pl
@@ -103,6 +103,7 @@
 
 :- use_module(library(pldoc)).
 :- use_module(library(listing)).
+:- use_module(library(ansi_term)).
 :- use_module(library(prolog_source)).
 :- use_module(library(prolog_colour)).
 :- use_module(library(pldoc/doc_process)).
@@ -819,6 +820,8 @@ sweep_top_level_client(InStream, OutStream, ip(127, 0, 0, 
1), TC) :-
 set_prolog_IO(InStream, OutStream, OutStream),
 set_stream(InStream, tty(true)),
 set_prolog_flag(tty_control, TC),
+set_prolog_flag(verbose, normal),
+set_prolog_flag(color_term, true),
 current_prolog_flag(encoding, Enc),
 set_stream(user_input, encoding(Enc)),
 set_stream(user_output, encoding(Enc)),



[nongnu] elpa/sweeprolog aeeed84c7f 4/4: Announce recent changes in NEWS.org and bump version to 0.25.5

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

Announce recent changes in NEWS.org and bump version to 0.25.5
---
 NEWS.org  | 18 ++
 sweep.texi|  4 ++--
 sweeprolog.el |  2 +-
 3 files changed, 21 insertions(+), 3 deletions(-)

diff --git a/NEWS.org b/NEWS.org
index f077cc8531..6ebe35b71b 100644
--- a/NEWS.org
+++ b/NEWS.org
@@ -11,6 +11,24 @@ SWI-Prolog in Emacs.
 For further details, please consult the manual:
 [[https://eshelyaron.com/sweep.html][https://eshelyaron.com/sweep.html]].
 
+* Version 0.25.5 on 2023-10-20
+
+** Improved predicate completion candidate sorting
+
+Sweep now sorts predicate completion candidates more intelligently,
+placing predicates with a shorter functor ahead in the candidate list.
+
+** The top-level now uses ANSI escape sequences for output coloring
+
+For Sweep top-levels that use a pty (the default on Unix systems), the
+top-level output now includes ANSI escape sequences that Emacs
+automatically translates to text properties (colors, etc.).  To have
+Emacs filter out these escape sequences without applying the
+corresponding text properties, set ~ansi-color-for-comint-mode~ to the
+symbol ~filter~.
+
+** Minor documentation improvements and bug fixes
+
 * Version 0.25.4 on 2023-10-08
 
 ** Fix recent issue with ~sweeprolog-extract-region-to-predicate~
diff --git a/sweep.texi b/sweep.texi
index af11152e89..481f0cb5a8 100644
--- a/sweep.texi
+++ b/sweep.texi
@@ -11,7 +11,7 @@
 @c %**end of header
 
 @copying
-This manual is for Sweep (version 0.25.4), an Emacs package providing
+This manual is for Sweep (version 0.25.5), an Emacs package providing
 an embedded SWI-Prolog runtime inside of Emacs along with an advanced
 SWI-Prolog development environment.
 
@@ -42,7 +42,7 @@ Invariant Sections, no Front-Cover Texts, and no Back-Cover 
Texts.
 @node Top
 @top Sweep: SWI-Prolog Embedded in Emacs
 
-This manual is for Sweep (version 0.25.4), an Emacs package providing
+This manual is for Sweep (version 0.25.5), an Emacs package providing
 an embedded SWI-Prolog runtime inside of Emacs along with an advanced
 SWI-Prolog development environment.
 
diff --git a/sweeprolog.el b/sweeprolog.el
index 68e66a352c..c057d5e4c9 100644
--- a/sweeprolog.el
+++ b/sweeprolog.el
@@ -6,7 +6,7 @@
 ;; Maintainer: Eshel Yaron <~eshel/d...@lists.sr.ht>
 ;; Keywords: prolog languages extensions
 ;; URL: https://git.sr.ht/~eshel/sweep
-;; Package-Version: 0.25.4
+;; Package-Version: 0.25.5
 ;; Package-Requires: ((emacs "27.1") (compat "29.1.4.2"))
 
 ;; This file is NOT part of GNU Emacs.



[nongnu] main e5adab3409: * elpa-packages (hyperdrive): Update ':doc' property.

2023-10-20 Thread Stefan Kangas
branch: main
commit e5adab3409abfa69ecbaeb07bb88d48f78e03d3f
Author: Joseph Turner 
Commit: Stefan Kangas 

* elpa-packages (hyperdrive): Update ':doc' property.
---
 elpa-packages | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/elpa-packages b/elpa-packages
index da7efbf6b6..0f722f7fd5 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -362,7 +362,7 @@
 
  (hyperdrive   :url "https://git.sr.ht/~ushin/hyperdrive.el";
   :readme "README.md"
-  :doc "doc/hyperdrive-manual.org")
+  :doc "doc/hyperdrive.org")
 
  (idle-highlight-mode  :url 
"https://codeberg.org/ideasman42/emacs-idle-highlight-mode";
   :ignored-files (".elisp-autofmt"))



[nongnu] elpa/hyperdrive 6b1e063aa4 4/7: Meta: Add fill-column rule to .dir-locals.el

2023-10-20 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 6b1e063aa4049c724bd75b67ca0a99f624e4d428
Author: Joseph Turner 
Commit: Joseph Turner 

Meta: Add fill-column rule to .dir-locals.el
---
 .dir-locals.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/.dir-locals.el b/.dir-locals.el
index daf8a568ac..073902f087 100644
--- a/.dir-locals.el
+++ b/.dir-locals.el
@@ -1,4 +1,5 @@
 ;;; Directory Local Variables-*- no-byte-compile: t -*-
 ;;; For more information see (info "(emacs) Directory Variables")
 
-((nil . ((ispell-buffer-session-localwords . ("dir" "hypercore" "hyperdrive" 
"hyperdrives" "hyperdrive's" "args" "systemd" "minibuffer" "petname" "petnames" 
"org" "plist" "plists" "alist" "alists" "existsp" "ETag" "streamable" "DNSLink" 
"ewoc" "struct" "ENTRY's" "localhost" "imenu" "mtime" "accessor" "http" 
"prepended" "prepend" "hostname" "whitespace" "namespace" "filesystem" 
"hostnames" "subdirectories" "unsets")
+((nil . ((ispell-buffer-session-localwords . ("dir" "hypercore" "hyperdrive" 
"hyperdrives" "hyperdrive's" "args" "systemd" "minibuffer" "petname" "petnames" 
"org" "plist" "plists" "alist" "alists" "existsp" "ETag" "streamable" "DNSLink" 
"ewoc" "struct" "ENTRY's" "localhost" "imenu" "mtime" "accessor" "http" 
"prepended" "prepend" "hostname" "whitespace" "namespace" "filesystem" 
"hostnames" "subdirectories" "unsets"
+ (emacs-lisp-mode . ((fill-column . 80



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

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

  from  027fbd0a7a Meta: (CONTRIBUTING.org) Document git hooks
   new  d06643cd3e Docs: Add note
   new  ae08015be9 Add: Markdown link support
   new  bb17eacd04 Change: Rename previous/next-version commands
   new  6b1e063aa4 Meta: Add fill-column rule to .dir-locals.el
   new  f72babea20 Meta: Update CHANGELOG
   new  9898e9a3a6 Chore: Rebuild .texi
   new  dbf3d5063f Docs: Document Markdown relative links


Summary of changes:
 .dir-locals.el|   3 +-
 CHANGELOG.org |   2 +
 DEV.org   |  18 +-
 doc/hyperdrive.org|  12 +++-
 doc/hyperdrive.texi   |  15 -
 hyperdrive-menu.el|   4 +-
 hyperdrive.el |  40 +++--
 tests/test-hyperdrive-markdown.el | 115 ++
 8 files changed, 194 insertions(+), 15 deletions(-)
 create mode 100644 tests/test-hyperdrive-markdown.el



[nongnu] elpa/hyperdrive bb17eacd04 3/7: Change: Rename previous/next-version commands

2023-10-20 Thread ELPA Syncer
branch: elpa/hyperdrive
commit bb17eacd0417e0fcc23f264585c05c093cf7beb2
Author: Adam Porter 
Commit: Adam Porter 

Change: Rename previous/next-version commands
---
 DEV.org| 4 ++--
 doc/hyperdrive.org | 6 +++---
 hyperdrive-menu.el | 4 ++--
 hyperdrive.el  | 8 
 4 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/DEV.org b/DEV.org
index 692d4d6c04..9b2ee312f3 100644
--- a/DEV.org
+++ b/DEV.org
@@ -100,10 +100,10 @@
 
 + Time machine :: Allowing the user to "go back in time" (and forward) and 
view various versions of entries.
 
-  + ~hyperdrive-previous-version~ :: Show the previous version of the file.
+  + ~hyperdrive-open-previous-version~ :: Show the previous version of the 
file.
 + [ ] If the current version of the file is the earliest, show a 
useful error.
 
-  + ~hyperdrive-next-version~ :: Show the next version of the file.
+  + ~hyperdrive-open-next-version~ :: Show the next version of the file.
 + *NOTE*: The hyper-gateway API doesn't seem to currently offer a way 
to retrieve the /next/ version of an entry, given an entry at a version.  
Iterating backward from the latest version would be impractical.
 
 + [ ] If that version is also the current version, it should act as if 
the user requested the file without specifying a version.  See 
[[https://github.com/RangerMauve/hypercore-fetch/issues/72]].
diff --git a/doc/hyperdrive.org b/doc/hyperdrive.org
index 2561d61435..d2e4ab7653 100644
--- a/doc/hyperdrive.org
+++ b/doc/hyperdrive.org
@@ -368,13 +368,13 @@ current buffer.  This command has a keybinding in the 
[[*Directory view][directo
 the hyperdrive.*
 
 ** View the hyperdrive version history
-#+findex: hyperdrive-previous-version
-#+findex: hyperdrive-next-version
+#+findex: hyperdrive-open-previous-version
+#+findex: hyperdrive-open-next-version
 #+findex: hyperdrive-open-at-version
 
 Hyperdrives are versioned (see [[*Versioning]]).  To open the
 previous/next version of a hyperdrive file or directory, run
-~hyperdrive-previous-version~ or ~hyperdrive-next-version~.
+~hyperdrive-open-previous-version~ or ~hyperdrive-open-next-version~.
 ~hyperdrive-open-at-version~ lets you specify a version number; leaving
 the version blank opens the current file or directory at its
 hyperdrive's latest version.
diff --git a/hyperdrive-menu.el b/hyperdrive-menu.el
index 9fe9e75b73..c97a6f394b 100644
--- a/hyperdrive-menu.el
+++ b/hyperdrive-menu.el
@@ -83,7 +83,7 @@
"latest"))
'face 'transient-value))
  "Version"))
-("V p" "Previous" hyperdrive-previous-version
+("V p" "Previous" hyperdrive-open-previous-version
  :inapt-if-not (lambda ()
  (hyperdrive-entry-previous (oref transient--prefix scope) 
:cache-only t))
  ;; :transient t
@@ -97,7 +97,7 @@
(concat ": " (propertize (number-to-string 
version)
 'face 
'transient-value)
   "Previous")))
-("V n" "Next" hyperdrive-next-version
+("V n" "Next" hyperdrive-open-next-version
  :inapt-if-not (lambda  ()
  (let ((entry (oref transient--prefix scope)))
(and (hyperdrive-entry-version entry)
diff --git a/hyperdrive.el b/hyperdrive.el
index d8da2b4d6c..5ec1b76645 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -548,7 +548,7 @@ it to `hyperdrive-open'."
   "j"   #'hyperdrive-up
   "C-j" #'hyperdrive-up)
 
-(defun hyperdrive-previous-version (entry)
+(defun hyperdrive-open-previous-version (entry)
   "Open previous version of ENTRY."
   (declare (modes hyperdrive-mode))
   (interactive (list hyperdrive-current-entry))
@@ -559,7 +559,7 @@ it to `hyperdrive-open'."
 (1- (or (hyperdrive-entry-version entry)
 (hyperdrive-latest-version 
(hyperdrive-entry-hyperdrive entry)))
 
-(defun hyperdrive-next-version (entry)
+(defun hyperdrive-open-next-version (entry)
   "Open next version of ENTRY."
   (declare (modes hyperdrive-mode))
   (interactive (list hyperdrive-current-entry))
@@ -1151,7 +1151,7 @@ The return value of this function is the retrieval 
buffer."
  "latest"))
   ["Previous Version" (lambda ()
 (interactive)
-(call-interactively #'hyperdrive-previous-version))
+(call-interactively 
#'hyperdrive-open-previous-version))
:active (hyperdrive-entry-previous hyperdrive-current-entry :cache-only 
t)
:label (concat "Previous Version"
   (pcase-exhaustive (hyperdrive-entry-previous 
hyperdrive-current-entry :cache-only t)
@@ -1162,7 +1162,7 @@ The return value of this function is the retrieval 
buffer."
:help "Open previous version"]
 

[nongnu] elpa/hyperdrive d06643cd3e 1/7: Docs: Add note

2023-10-20 Thread ELPA Syncer
branch: elpa/hyperdrive
commit d06643cd3e3006c1d0ac46efb617c2a3d4ba5352
Author: Adam Porter 
Commit: Adam Porter 

Docs: Add note
---
 DEV.org | 14 ++
 1 file changed, 14 insertions(+)

diff --git a/DEV.org b/DEV.org
index 0cb92a168d..692d4d6c04 100644
--- a/DEV.org
+++ b/DEV.org
@@ -392,3 +392,17 @@ Assuming the ~CUSTOM_ID~ is ~heading-a~:
 
 + 
 
+* Markdown links
+
+** Angle-bracketed links (i.e. ~~)
+
+~markdown-follow-link-at-point~ does not allow the user to follow links in 
angle brackets, so we don't support them.
+
+** Path encoding
+
+Depending on the resolution of 
[[https://github.com/jrblevin/markdown-mode/issues/805][Should filename links 
be URI-decoded? · Issue #805 · jrblevin/markdown-mode · GitHub]], we may want 
to URL-decode paths.  For now, we won't.
+
+** Targets
+
+Targets are not currently implemented.
+



[nongnu] elpa/hyperdrive 9898e9a3a6 6/7: Chore: Rebuild .texi

2023-10-20 Thread ELPA Syncer
branch: elpa/hyperdrive
commit 9898e9a3a603e8aee74af77158d1e6258edc9344
Author: Joseph Turner 
Commit: Joseph Turner 

Chore: Rebuild .texi
---
 doc/hyperdrive.texi | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/doc/hyperdrive.texi b/doc/hyperdrive.texi
index 79cc75ff4f..0a652646f1 100644
--- a/doc/hyperdrive.texi
+++ b/doc/hyperdrive.texi
@@ -633,13 +633,13 @@ the hyperdrive.}
 @node View the hyperdrive version history
 @section View the hyperdrive version history
 
-@findex hyperdrive-previous-version
-@findex hyperdrive-next-version
+@findex hyperdrive-open-previous-version
+@findex hyperdrive-open-next-version
 @findex hyperdrive-open-at-version
 
 Hyperdrives are versioned (see @ref{Versioning}).  To open the
 previous/next version of a hyperdrive file or directory, run
-@code{hyperdrive-previous-version} or @code{hyperdrive-next-version}.
+@code{hyperdrive-open-previous-version} or @code{hyperdrive-open-next-version}.
 @code{hyperdrive-open-at-version} lets you specify a version number; leaving
 the version blank opens the current file or directory at its
 hyperdrive's latest version.



[nongnu] elpa/hyperdrive dbf3d5063f 7/7: Docs: Document Markdown relative links

2023-10-20 Thread ELPA Syncer
branch: elpa/hyperdrive
commit dbf3d5063f7a6c95ac27dff23eb4456ce9a270b5
Author: Joseph Turner 
Commit: Joseph Turner 

Docs: Document Markdown relative links
---
 doc/hyperdrive.org  | 6 ++
 doc/hyperdrive.texi | 9 +
 2 files changed, 15 insertions(+)

diff --git a/doc/hyperdrive.org b/doc/hyperdrive.org
index d2e4ab7653..7a6c9dde40 100644
--- a/doc/hyperdrive.org
+++ b/doc/hyperdrive.org
@@ -358,6 +358,12 @@ in org-mode), then typing ~hyper:~ and ~RET~.  To change 
how
 ~org-insert-link~ inserts links to files within the same hyperdrive,
 adjust ~hyperdrive-org-link-full-url~ and ~org-link-file-path-type~.
 
+*** Markdown links
+
+Relative links are supported; within ~hyper://PUBLIC-KEY/foo.md~, the
+links ~[bar]()~, ~[bar](<./bar.md>)~, and ~[bar]()~ will
+all point to ~hyper://PUBLIC-KEY/bar.md~.
+
 ** Delete a hyperdrive file
 #+findex: hyperdrive-delete
 
diff --git a/doc/hyperdrive.texi b/doc/hyperdrive.texi
index 0a652646f1..219e93a9d4 100644
--- a/doc/hyperdrive.texi
+++ b/doc/hyperdrive.texi
@@ -106,6 +106,7 @@ Open a hyperdrive
 Link to a hyperdrive
 
 * Org mode links::
+* Markdown links::
 
 View the hyperdrive version history
 
@@ -594,6 +595,7 @@ file or directory.
 
 @menu
 * Org mode links::
+* Markdown links::
 @end menu
 
 @node Org mode links
@@ -619,6 +621,13 @@ in org-mode), then typing @code{hyper:} and @code{RET}.  
To change how
 @code{org-insert-link} inserts links to files within the same hyperdrive,
 adjust @code{hyperdrive-org-link-full-url} and @code{org-link-file-path-type}.
 
+@node Markdown links
+@subsection Markdown links
+
+Relative links are supported; within @code{hyper://PUBLIC-KEY/foo.md}, the
+links @code{[bar]()}, @code{[bar](<./bar.md>)}, and 
@code{[bar]()} will
+all point to @code{hyper://PUBLIC-KEY/bar.md}.
+
 @node Delete a hyperdrive file
 @section Delete a hyperdrive file
 



[nongnu] elpa/hyperdrive f72babea20 5/7: Meta: Update CHANGELOG

2023-10-20 Thread ELPA Syncer
branch: elpa/hyperdrive
commit f72babea20cf3157e20b0cfe9c61c17e8febf639
Author: Joseph Turner 
Commit: Joseph Turner 

Meta: Update CHANGELOG
---
 CHANGELOG.org | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/CHANGELOG.org b/CHANGELOG.org
index 9158b9519b..bb8c71b54a 100644
--- a/CHANGELOG.org
+++ b/CHANGELOG.org
@@ -9,6 +9,8 @@ This project adheres to 
[[https://semver.org/spec/v2.0.0.html][Semantic Versioni
 
 - ~hyperdrive-open-at-version~: Open the current file or directory at a
   specific version.
+- Support following relative filename links in hyperdrive
+  ~markdown-mode~ buffers
 
 ** Changed
 



[nongnu] elpa/hyperdrive ae08015be9 2/7: Add: Markdown link support

2023-10-20 Thread ELPA Syncer
branch: elpa/hyperdrive
commit ae08015be95d50c518369eeac6af236fd2914b4c
Author: Adam Porter 
Commit: Adam Porter 

Add: Markdown link support
---
 hyperdrive.el |  32 +++
 tests/test-hyperdrive-markdown.el | 115 ++
 2 files changed, 147 insertions(+)

diff --git a/hyperdrive.el b/hyperdrive.el
index 9c10baacf8..d8da2b4d6c 100644
--- a/hyperdrive.el
+++ b/hyperdrive.el
@@ -1223,6 +1223,38 @@ The return value of this function is the retrieval 
buffer."
   (interactive)
   (info "(hyperdrive) Top"))
 
+; Markdown link support
+
+(defun hyperdrive--markdown-follow-link (url)
+  "Follow URL.
+For use in `markdown-follow-link-functions'."
+  (pcase (url-type (url-generic-parse-url url))
+((and `nil (guard (and hyperdrive-mode hyperdrive-current-entry)))
+ (hyperdrive-open (hyperdrive--markdown-url-entry url))
+ t)
+(_ nil)))
+
+(defun hyperdrive--markdown-url-entry (url)
+  "Return hyperdrive entry for URL in `markdown-mode' buffer.
+Intended for relative (i.e. non-full) URLs."
+  (pcase-let (((cl-struct url filename) (url-generic-parse-url url))
+  ((cl-struct hyperdrive-entry hyperdrive path)
+   hyperdrive-current-entry))
+;; NOTE: Depending on the resolution of
+;; , we may
+;; want to URL-decode paths.  For now, we won't.
+(hyperdrive-entry-create
+ :hyperdrive hyperdrive
+ :path (expand-file-name filename (file-name-directory path))
+ ;; FIXME: Target.
+ ;; :etc `((target . ,FOO))
+ )))
+
+;;;###autoload
+(with-eval-after-load 'markdown-mode
+  (when (boundp 'markdown-follow-link-functions)
+(cl-pushnew #'hyperdrive--markdown-follow-link 
markdown-follow-link-functions)))
+
  Footer
 
 (provide 'hyperdrive)
diff --git a/tests/test-hyperdrive-markdown.el 
b/tests/test-hyperdrive-markdown.el
new file mode 100644
index 00..58eb08b575
--- /dev/null
+++ b/tests/test-hyperdrive-markdown.el
@@ -0,0 +1,115 @@
+;;; test-hyperdrive-markdown.el --- Test Hyperdrive.el's integration with 
markdown-mode  -*- lexical-binding: t; -*-
+
+;; Copyright (C) 2023 Joseph Turner 
+
+;; Author: Joseph Turner
+;; Author: Adam Porter 
+;; Maintainer: Joseph Turner 
+
+;; This program is free software; you can redistribute it and/or
+;; modify it under the terms of the GNU Affero General Public License
+;; as published by the Free Software Foundation; either version 3 of
+;; the License, or (at your option) any later version.
+
+;; This program is distributed in the hope that it will be useful, but
+;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+;; Affero General Public License for more details.
+
+;; You should have received a copy of the GNU Affero General Public
+;; License along with this program. If not, see
+;; .
+
+;;; Commentary:
+
+;; This file tests Hyperdrive.el's `markdown-mode' link functionality.
+
+;;; Code:
+
+ Requirements
+
+(require 'cl-lib)
+(require 'ert)
+(require 'pcase)
+
+(require 'hyperdrive)
+(require 'markdown-mode)
+
+ Tests
+
+ Parse relative/absolute link into entry tests
+
+;; Neither full "hyper://"-prefixed URLs, nor links which are only search
+;; options, are handled by `hyperdrive--org-link-entry-at-point'.
+
+(defmacro hyperdrive-test-markdown-parse-link-deftest (name current-entry link 
parsed-entry)
+  (declare (indent defun))
+  (let ((test-name (intern (format "hyperdrive-test-markdown-parse-link/%s" 
name
+`(ert-deftest ,test-name ()
+   (let ((hyperdrive-current-entry ,current-entry))
+ (with-temp-buffer
+   ;; FIXME: Use persistent buffer for performance.
+   (markdown-mode)
+   (erase-buffer)
+   (insert ,link)
+   (goto-char (point-min))
+   (should
+(hyperdrive-entry-equal-p ,parsed-entry
+  (hyperdrive--markdown-url-entry 
(markdown-link-url)
+
+(hyperdrive-test-markdown-parse-link-deftest absolute/without-search-option
+  (hyperdrive-entry-create
+   :hyperdrive (hyperdrive-create :public-key "deadbeef")
+   :path "/foo/bar quux.md")
+  "[link]()"
+  (hyperdrive-entry-create
+   :hyperdrive (hyperdrive-create :public-key "deadbeef")
+   :path "/foo/bar quux.md"))
+
+(hyperdrive-test-markdown-parse-link-deftest parent/without-search-option
+  (hyperdrive-entry-create
+   :hyperdrive (hyperdrive-create :public-key "deadbeef")
+   :path "/foo/bar quux.md")
+  "[link](<../foo/bar quux.md>)"
+  (hyperdrive-entry-create
+   :hyperdrive (hyperdrive-create :public-key "deadbeef")
+   :path "/foo/bar quux.md"))
+
+(hyperdrive-test-markdown-parse-link-deftest sibling/without-search-option
+  (hyperdrive-entry-create
+   :hyperdrive (hyperdrive-create :public-key "deadbeef")
+   :path "/foo/bar quux.md")
+  "[link](<./bar quux.md>)"
+

[elpa] externals/realgud e7b622cd89 1/2: Fix error in realgud-expand-format introduced in `d21f338`

2023-10-20 Thread ELPA Syncer
branch: externals/realgud
commit e7b622cd8947cdf0178e7a347fdded506d27ba7d
Author: yangyingchao 
Commit: yangyingchao 

Fix error in realgud-expand-format introduced in `d21f338`

`src-file-name-raw` could be `nil`, resulting in an error when calling 
`file-remote-p` and causing
this function to break.
---
 realgud/common/send.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/realgud/common/send.el b/realgud/common/send.el
index a5363a0725..7d6327f064 100644
--- a/realgud/common/send.el
+++ b/realgud/common/send.el
@@ -150,7 +150,8 @@ taken from current buffer, or OPT-BUFFER if non-nil.  Some
   (let* ((buffer (or opt-buffer (current-buffer)))
 (srcbuf (realgud-get-srcbuf buffer))
 (src-file-name-raw (and srcbuf (buffer-file-name srcbuf)))
- (src-file-name (if (file-remote-p src-file-name-raw) (file-remote-p 
src-file-name-raw 'localname) src-file-name-raw))
+ (src-file-name (and src-file-name-raw
+ (if (file-remote-p src-file-name-raw) 
(file-remote-p src-file-name-raw 'localname) src-file-name-raw)))
 result)
 (while (and fmt-str
(let ((case-fold-search nil))



[elpa] externals/realgud 445340ebc5 2/2: Merge pull request #318 from yangyingchao/master

2023-10-20 Thread ELPA Syncer
branch: externals/realgud
commit 445340ebc5819eeedd73695c9182349349c90b6a
Merge: f90a15d1de e7b622cd89
Author: R. Bernstein 
Commit: GitHub 

Merge pull request #318 from yangyingchao/master

Fix error in realgud-expand-format introduced in `d21f338`
---
 realgud/common/send.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/realgud/common/send.el b/realgud/common/send.el
index a5363a0725..7d6327f064 100644
--- a/realgud/common/send.el
+++ b/realgud/common/send.el
@@ -150,7 +150,8 @@ taken from current buffer, or OPT-BUFFER if non-nil.  Some
   (let* ((buffer (or opt-buffer (current-buffer)))
 (srcbuf (realgud-get-srcbuf buffer))
 (src-file-name-raw (and srcbuf (buffer-file-name srcbuf)))
- (src-file-name (if (file-remote-p src-file-name-raw) (file-remote-p 
src-file-name-raw 'localname) src-file-name-raw))
+ (src-file-name (and src-file-name-raw
+ (if (file-remote-p src-file-name-raw) 
(file-remote-p src-file-name-raw 'localname) src-file-name-raw)))
 result)
 (while (and fmt-str
(let ((case-fold-search nil))