[elpa] externals/org e47bcb0213: lisp/ox-latex.el: `org-latex-language-alist' improved

2022-08-06 Thread ELPA Syncer
branch: externals/org
commit e47bcb02133608e37bc4c532aec4d4723f8eeca8
Author: Juan Manuel Macias 
Commit: Ihor Radchenko 

lisp/ox-latex.el: `org-latex-language-alist' improved

* (org-latex-language-alist): Alist between language code and
corresponding properties, such as Babel/Polyglossia options and
language names.  Each element of the list consists of a cons cell,
where car is the language code and cdr is a property list.
* (org-latex-guess-babel-language): Modified to adapt the function to
the new structure of `org-latex-language-alist'.
* (org-latex-guess-polyglossia-language): Modified to adapt the function to
the new structure of `org-latex-language-alist'.
* (org-latex--format-spec): Modified to adapt the function to
the new structure of `org-latex-language-alist'.
---
 lisp/ox-latex.el | 291 +++
 1 file changed, 141 insertions(+), 150 deletions(-)

diff --git a/lisp/ox-latex.el b/lisp/ox-latex.el
index 3427a7ec60..548ca0d691 100644
--- a/lisp/ox-latex.el
+++ b/lisp/ox-latex.el
@@ -173,110 +173,108 @@
 ;;; Internal Variables
 
 (defconst org-latex-language-alist
-  ;; TODO: replace this list with a property list (the actual
-  ;; implementation is not very robust).
-  '(("am" "amharic" "*")
-("ar" "arabic")
-("ast" "asturian" "*")
-("bg" "bulgarian")
-("bn" "bengali" "*")
-("bo" "tibetan" "*")
-("br" "breton")
-("ca" "catalan")
-("cop" "coptic" "*")
-("cs" "czech")
-("cy" "welsh")
-("da" "danish")
-("de" "ngerman" "german" "german")
-("de-at" "naustrian" "german" "austrian")
-("dsb" "lsorbian" "*")
-("dv" "divehi" "*")
-("el" "greek")
-("el-polyton" "polutonikogreek" "greek" "polytonic")
-("en" "american" "english" "usmax")
-("en-au" "australian" "english" "australian")
-("en-gb" "british" "english" "uk")
-("en-nz" "newzealand" "english" "newzealand")
-("en-us" "american" "english" "usmax")
-("eo" "esperanto")
-("es" "spanish")
-("es-mx" "spanishmx" "spanish" "mexican")
-("et" "estonian")
-("eu" "basque")
-("fa" "farsi")
-("fi" "finnish")
-("fr" "french")
-("fr-ca" "canadien" "french" "canadian")
-("fur" "friulan")
-("ga" "irish")
-("gd" "scottish")
-("gl" "galician")
-("he" "hebrew")
-("hi" "hindi")
-("hr" "croatian")
-("hsb" "uppersorbian" "sorbian" "upper")
-("hu" "magyar")
-("hy" "armenian" "*")
-("ia" "interlingua")
-("id" "bahasai" "*")
-("is" "icelandic")
-("it" "italian")
-("kn" "kannada" "*")
-("la" "latin")
-("la-classic" "classiclatin" "latin" "classic")
-("la-medieval" "medievallatin" "latin" "medieval")
-("la-ecclesiastic" "ecclesiasticlatin" "latin" "ecclesiastic")
-("lo" "lao" "*")
-("lt" "lithuanian")
-("lv" "latvian")
-("ml" "malayalam" "*")
-("mr" "maranthi" "*")
-("nb" "norsk" "norwegian" "bokmal")
-("nl" "dutch")
-("nn" "nynorsk" "norwegian" "nynorsk")
-("no" "norsk")
-("oc" "occitan")
-("pl" "polish")
-("pms" "piedmontese")
-("pt" "portuges")
-("pt-br" "brazilian")
-("rm" "romansh" "*")
-("ro" "romanian")
-("ru" "russian")
-("sa" "sanskrit" "*")
-("sk" "slovak")
-("sl" "slovene")
-("sq" "albanian")
-("sr" "serbian")
-("sv" "swedish")
-("syr" "syriac" "*")
-("ta" "tamil" "*")
-("te" "telugu" "*")
-("th" "thai")
-("tk" "turkmen")
-("tr" "turkish")
-("uk" "ukrainian")
-("ur" "urdu" "*")
-("vi" "vietnamese"))
-  "Alist between language code and corresponding Babel/Polyglossia option.
-
-For the names of the languages, the Babel nomenclature is
-preferred to that of Polyglossia, in those cases where both
-coincide.
-
-The alist supports three types of members:
-
-- Members with two elements: CODE BABEL/POLYGLOSSIA OPTION.
-
-- Members with three elements: CODE BABEL/POLYGLOSSIA OPTION
-ASTERISK (the presence of the asterisk indicates that this
-language is not loaded in Babel using the old method of ldf
-files but using ini files.  If Babel is loaded in an Org
-document with these languages, the \"AUTO \" argument is just
-removed, to avoid compilation errors).
-
-- Members with four elements (for variants of languages): CODE
-BABEL-OPTION POLYGLOSSIA-OPTION POLYGLOSSIA-VARIANT")
+  '(("am" :babel-ini-only "amharic" :polyglossia "amharic" :lang-name 
"Amharic")
+("ar" :babel "arabic" :polyglossia "arabic" :lang-name "Arabic")
+("ast" :babel-ini-only "asturian" :polyglossia "asturian" :lang-name 
"Asturian")
+("bg"  :babel "bulgarian" :polyglossia "bulgarian" :lang-name "Bulgarian")
+("bn"  :babel-ini-only "bengali" :polyglossia "bengali" :lang-name 
"Bengali")
+("bo"  :babel-ini-only "tibetan" :polyglossia "tibetan" :lang-name 
"Tibetan")
+("br"  :babel "breton" :polyglossia "breton" :lang-name "Breton")
+("ca"  :babel "catalan" :poly

[nongnu] elpa/git-commit updated (ac7fae6a98 -> 8a0cc83eff)

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

  from  ac7fae6a98 Set coding system for remaining libraries that need it
   new  64cca91341 magit-push: Fix magit-push-implicitly--desc
   new  8a0cc83eff magit-push-implicitly--desc: Account for local upstream


Summary of changes:
 lisp/magit-push.el | 82 +++---
 1 file changed, 54 insertions(+), 28 deletions(-)



[nongnu] elpa/git-commit 64cca91341 1/2: magit-push: Fix magit-push-implicitly--desc

2022-08-06 Thread ELPA Syncer
branch: elpa/git-commit
commit 64cca91341f77c46dd3e6a1f694af36427b4ace7
Author: Allen Li 
Commit: Allen Li 

magit-push: Fix magit-push-implicitly--desc

The previous implementation was basically wrong because it didn't
handle push.default or resolve the remotes and refspecs separately
like git push actually does.
---
 lisp/magit-push.el | 80 +++---
 1 file changed, 52 insertions(+), 28 deletions(-)

diff --git a/lisp/magit-push.el b/lisp/magit-push.el
index bdf30946b1..900995df18 100644
--- a/lisp/magit-push.el
+++ b/lisp/magit-push.el
@@ -291,34 +291,58 @@ what this command will do.  To add it use something like:
   (magit-run-git-async "push" "-v" args))
 
 (defun magit-push-implicitly--desc ()
-  (let ((default (magit-get "push.default")))
-(or (and (equal default "nothing")
- (format "nothing (%s is %s)"
- (magit--propertize-face "push.default" 'bold)
- (magit--propertize-face default'bold)))
-(and-let* ((remote (or (magit-get-remote)
-   (magit-primary-remote)))
-   (refspec (magit-get "remote" remote "push")))
-  (format "%s using %s"
-  (magit--propertize-face remote 'magit-branch-remote)
-  (magit--propertize-face refspec 'bold)))
-(and-let* ((upstream (and (not (magit-get-push-branch))
-  (magit-get-upstream-branch
-  (format "%s aka %s"
-  (magit-branch-set-face upstream)
-  (magit--propertize-face "@{upstream}" 'bold)))
-(and-let* ((push-branch (magit-get-push-branch)))
-  (format "%s aka %s"
-  (magit-branch-set-face push-branch)
-  (magit--propertize-face "pushRemote" 'bold)))
-(and-let* ((push-branch (magit-get-@{push}-branch)))
-  (format "%s aka %s"
-  (magit-branch-set-face push-branch)
-  (magit--propertize-face "@{push}" 'bold)))
-(format "using %s (%s is %s)"
-(magit--propertize-face "git push" 'bold)
-(magit--propertize-face "push.default" 'bold)
-(magit--propertize-face default'bold)
+  ;; This implements the logic for git push as documented.
+  ;; First, we resolve a remote to use based on various remote and
+  ;; pushRemote options.
+  ;; Then, we resolve the refspec to use for the remote based on push
+  ;; and pushDefault options.
+  ;; Note that the remote and refspec to push are handled separately,
+  ;; so it doesn't make sense to talk about "pushing to upstream".
+  ;; Depending on the options, you could end up pushing to the
+  ;; "upstream" remote but not the "upstream" branch, and vice versa.
+  (let ((branch (magit-get-current-branch))
+(remote (or (magit-get-push-remote)
+(magit-get-remote)
+(let ((remotes (magit-list-remotes)))
+  (cond
+   ((and (magit-git-version>= "2.27")
+ (= (length remotes) 1))
+(car remotes))
+   ((member "origin" remotes) "origin"))
+(if (null remote)
+"nothing (no remote)"
+  (let ((refspec (magit-get "remote" remote "push")))
+(if refspec
+(format "to %s with refspecs %s"
+(magit--propertize-face remote 'bold)
+(magit--propertize-face refspec 'bold))
+  (pcase (or (magit-get "push.default") "simple")
+("nothing" "nothing (due to push.default)")
+((or "current" "simple")
+ (format "%s to %s"
+ (magit--propertize-face branch 'magit-branch-current)
+ (magit--propertize-face (format "%s/%s" remote branch)
+ 'magit-branch-remote)))
+((or "upstream" "tracking")
+ (let ((ref (magit-get "branch" branch "merge")))
+   (if ref
+   (format "%s to %s"
+   (magit--propertize-face branch 
'magit-branch-current)
+   (cond
+((string-prefix-p "refs/heads/" ref)
+ (magit--propertize-face
+  (format "%s/%s" remote
+  (substring ref (length "refs/heads/")))
+  'magit-branch-remote))
+((not (string-match "/" ref))
+ (magit--propertize-face (format "%s/%s" remote 
ref)
+ 'magit-branch-remote))
+(t (format "%s as %s"
+   (magit--propertize-face remote 'bold)
+   (magit--propertize-face ref '

[nongnu] elpa/git-commit 8a0cc83eff 2/2: magit-push-implicitly--desc: Account for local upstream

2022-08-06 Thread ELPA Syncer
branch: elpa/git-commit
commit 8a0cc83eff98489d3685b8585afdcebbb47c1393
Author: Kyle Meyer 
Commit: Kyle Meyer 

magit-push-implicitly--desc: Account for local upstream

The magit-push-implicitly--desc rewrite in the last commit doesn't
handle a local upstream such as

  branch.topic.remote=.
  branch.topic.merge=refs/heads/master

The problem is that it uses Git's fallback logic to determine the
remote when magit-get-remote returns nil, but magit-get-remote returns
nil when "branch.{branch}.remote" isn't set _or_ is set to ".".  For
the "." case, the description incorrectly reports that the push will
be to the fallback remote rather than the local repo.

Fix this issue by side stepping magit-get-remote and treating "." as
any other remote.  Showing "." as the remote seems accurate enough
given that the underlying push command will push to the local
repository, and it shows the "remote" as ".".

While touching this block of code, also pass the branch to
magit-get-push-remote so that it doesn't need to repeat the
magit-get-current-branch call itself.
---
 lisp/magit-push.el | 20 +++-
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/lisp/magit-push.el b/lisp/magit-push.el
index 900995df18..179d0f5fb4 100644
--- a/lisp/magit-push.el
+++ b/lisp/magit-push.el
@@ -300,15 +300,17 @@ what this command will do.  To add it use something like:
   ;; so it doesn't make sense to talk about "pushing to upstream".
   ;; Depending on the options, you could end up pushing to the
   ;; "upstream" remote but not the "upstream" branch, and vice versa.
-  (let ((branch (magit-get-current-branch))
-(remote (or (magit-get-push-remote)
-(magit-get-remote)
-(let ((remotes (magit-list-remotes)))
-  (cond
-   ((and (magit-git-version>= "2.27")
- (= (length remotes) 1))
-(car remotes))
-   ((member "origin" remotes) "origin"))
+  (let* ((branch (magit-get-current-branch))
+ (remote (or (magit-get-push-remote branch)
+ ;; Note: Avoid `magit-get-remote' because it
+ ;; filters out the local repo case (".").
+ (magit-get "branch" branch "remote")
+ (let ((remotes (magit-list-remotes)))
+   (cond
+((and (magit-git-version>= "2.27")
+  (= (length remotes) 1))
+ (car remotes))
+((member "origin" remotes) "origin"))
 (if (null remote)
 "nothing (no remote)"
   (let ((refspec (magit-get "remote" remote "push")))



[nongnu] elpa/magit updated (ac7fae6a98 -> 8a0cc83eff)

2022-08-06 Thread ELPA Syncer
elpasync pushed a change to branch elpa/magit.

  from  ac7fae6a98 Set coding system for remaining libraries that need it
  adds  64cca91341 magit-push: Fix magit-push-implicitly--desc
  adds  8a0cc83eff magit-push-implicitly--desc: Account for local upstream

No new revisions were added by this update.

Summary of changes:
 lisp/magit-push.el | 82 +++---
 1 file changed, 54 insertions(+), 28 deletions(-)



[nongnu] elpa/magit-section updated (ac7fae6a98 -> 8a0cc83eff)

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

  from  ac7fae6a98 Set coding system for remaining libraries that need it
  adds  64cca91341 magit-push: Fix magit-push-implicitly--desc
  adds  8a0cc83eff magit-push-implicitly--desc: Account for local upstream

No new revisions were added by this update.

Summary of changes:
 lisp/magit-push.el | 82 +++---
 1 file changed, 54 insertions(+), 28 deletions(-)



[elpa] externals/org a0b21e3f1c 1/2: * lisp/org.el (org-set-tags-command): Put local tags on top

2022-08-06 Thread ELPA Syncer
branch: externals/org
commit a0b21e3f1c131bc6ee6398e2d3dda20944d6b358
Author: Ihor Radchenko 
Commit: Ihor Radchenko 

* lisp/org.el (org-set-tags-command): Put local tags on top

See https://orgmode.org/list/7ab4f327-24d0-4ba5-bd20-b329d4cbb...@hoowl.se
---
 lisp/org.el | 16 +++-
 1 file changed, 11 insertions(+), 5 deletions(-)

diff --git a/lisp/org.el b/lisp/org.el
index 4b14bcbf00..602abf257e 100644
--- a/lisp/org.el
+++ b/lisp/org.el
@@ -11465,12 +11465,18 @@ in Lisp code use `org-set-tags' instead."
   (save-excursion
(org-back-to-heading)
(let* ((all-tags (org-get-tags))
+   (local-table (or org-current-tag-alist (org-get-buffer-tags)))
   (table (setq org-last-tags-completion-table
-   (org--tag-add-to-alist
-(and org-complete-tags-always-offer-all-agenda-tags
- (org-global-tags-completion-table
-  (org-agenda-files)))
-(or org-current-tag-alist (org-get-buffer-tags)
+(append
+ ;; Put local tags in front.
+ local-table
+ (cl-set-difference
+ (org--tag-add-to-alist
+  (and 
org-complete-tags-always-offer-all-agenda-tags
+   (org-global-tags-completion-table
+(org-agenda-files)))
+  local-table)
+  local-table
   (current-tags
(cl-remove-if (lambda (tag) (get-text-property 0 'inherited 
tag))
  all-tags))



[elpa] externals/org updated (e47bcb0213 -> 9cc60dee48)

2022-08-06 Thread ELPA Syncer
elpasync pushed a change to branch externals/org.

  from  e47bcb0213 lisp/ox-latex.el: `org-latex-language-alist' improved
   new  a0b21e3f1c * lisp/org.el (org-set-tags-command): Put local tags on 
top
   new  9cc60dee48 lisp/ob-plantuml.el: Insert results in buffer


Summary of changes:
 etc/ORG-NEWS|  7 +++
 lisp/ob-plantuml.el | 12 +---
 lisp/org.el | 16 +++-
 3 files changed, 27 insertions(+), 8 deletions(-)



[elpa] externals/org 9cc60dee48 2/2: lisp/ob-plantuml.el: Insert results in buffer

2022-08-06 Thread ELPA Syncer
branch: externals/org
commit 9cc60dee48851756dd95af46b37b7adc172952e2
Author: Joseph Turner 
Commit: Ihor Radchenko 

lisp/ob-plantuml.el: Insert results in buffer

When :results header arg is set to a value that doesn't include
"file", insert txt output in buffer below src block.

TINYCHANGE
---
 etc/ORG-NEWS|  7 +++
 lisp/ob-plantuml.el | 12 +---
 2 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS
index 700dd4a26c..947bf43754 100644
--- a/etc/ORG-NEWS
+++ b/etc/ORG-NEWS
@@ -343,6 +343,13 @@ files that are exported to Texinfo.
 
 =org-at-heading-p= now returns t by default on headings inside folds.
 Passing optional argument will produce the old behaviour.
+
+*** =org-babel-execute:plantuml= can output ASCII graphs in the buffer
+
+Previously, executing PlantUML src blocks always exported to a file.  Now, if
+:results is set to a value which does not include "file", no file will be
+exported and an ASCII graph will be inserted below the src block.
+
 ** Removed or renamed functions and variables
 *** =org-plantump-executable-args= is renamed and applies to jar as well
 
diff --git a/lisp/ob-plantuml.el b/lisp/ob-plantuml.el
index ebbcdf1668..a339d8485c 100644
--- a/lisp/ob-plantuml.el
+++ b/lisp/ob-plantuml.el
@@ -109,8 +109,11 @@ If BODY does not contain @startXXX ... @endXXX clauses, 
@startuml
 (defun org-babel-execute:plantuml (body params)
   "Execute a block of plantuml code with org-babel.
 This function is called by `org-babel-execute-src-block'."
-  (let* ((out-file (or (cdr (assq :file params))
-  (error "PlantUML requires a \":file\" header argument")))
+  (let* ((do-export (member "file" (cdr (assq :result-params params
+ (out-file (if do-export
+   (or (cdr (assq :file params))
+   (error "No :file provided but :results set to file. 
For plain text output, set :results to verbatim"))
+(org-babel-temp-file "plantuml-" ".txt")))
 (cmdline (cdr (assq :cmdline params)))
 (in-file (org-babel-temp-file "plantuml-"))
 (java (or (cdr (assq :java params)) ""))
@@ -155,7 +158,10 @@ This function is called by `org-babel-execute-src-block'."
 (if (and (string= (file-name-extension out-file) "svg")
  org-babel-plantuml-svg-text-to-path)
 (org-babel-eval (format "inkscape %s -T -l %s" out-file out-file) ""))
-nil)) ;; signal that output has already been written to file
+(unless do-export (with-temp-buffer
+(insert-file-contents out-file)
+(buffer-substring-no-properties
+ (point-min) (point-max))
 
 (defun org-babel-prep-session:plantuml (_session _params)
   "Return an error because plantuml does not support sessions."



[elpa] externals/pulsar updated (c337882fda -> 1135de8da4)

2022-08-06 Thread ELPA Syncer
elpasync pushed a change to branch externals/pulsar.

  from  c337882fda Implement convenience commands for colored pulsing
   new  1848ba0068 Relax test for last pulsar command
   new  1135de8da4 Tweak doc format of pulsar-recenter macro


Summary of changes:
 pulsar.el | 15 ---
 1 file changed, 4 insertions(+), 11 deletions(-)



[elpa] externals/pulsar 1135de8da4 2/2: Tweak doc format of pulsar-recenter macro

2022-08-06 Thread ELPA Syncer
branch: externals/pulsar
commit 1135de8da4c6d2b4f4b422c44474948193efb381
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Tweak doc format of pulsar-recenter macro
---
 pulsar.el | 13 +++--
 1 file changed, 3 insertions(+), 10 deletions(-)

diff --git a/pulsar.el b/pulsar.el
index defa2d1fec..e93fbc33ed 100644
--- a/pulsar.el
+++ b/pulsar.el
@@ -442,20 +442,13 @@ The symbol is NAME, DOC for the doc string, and ARG is 
passed to
 `recenter'."
   (declare (indent defun))
   `(defun ,name ()
- ,doc
+ ,(format "Reposition point at the %s of the window and pulse line." doc)
  (interactive)
  (recenter ,arg)
  (pulsar-pulse-line)))
 
-(pulsar-recenter
-  pulsar-recenter-top
-  "Reposition point at the top of the window and pulse line."
-  0)
-
-(pulsar-recenter
-  pulsar-recenter-middle
-  "Reposition point at the center of the window and pulse line."
-  nil)
+(pulsar-recenter pulsar-recenter-top "top" 0)
+(pulsar-recenter pulsar-recenter-middle "center" nil)
 
  Reveal contents of Org or Outline headings
 



[elpa] externals/pulsar 1848ba0068 1/2: Relax test for last pulsar command

2022-08-06 Thread ELPA Syncer
branch: externals/pulsar
commit 1848ba0068ff64db5bf05c2d6d34db04f864b7a3
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Relax test for last pulsar command

This matches commands that the user may define such as "my/pulsar-WORD",
whereas before it was limited to Pulsar's own prefix.

I understand that 'string-match-p' is more likely to return some false
positives, though I feel the likelihood is low.

See commit 2c2600c for the rationale of this condition.
---
 pulsar.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pulsar.el b/pulsar.el
index 69186936da..defa2d1fec 100644
--- a/pulsar.el
+++ b/pulsar.el
@@ -423,7 +423,7 @@ This is a buffer-local mode.  Also check 
`pulsar-global-mode'."
   ;; We don't want that.
   (when (and pulsar-pulse-on-window-change
  (or pulsar-mode pulsar-global-mode)
- (not (string-prefix-p "pulsar" (symbol-name last-command
+ (not (string-match-p "pulsar" (symbol-name last-command
 (pulsar-pulse-line)))
 
 (defun pulsar--post-command-pulse ()



[elpa] externals/transient eba78cb0b6 09/14: manual: Use more precise @dircategory

2022-08-06 Thread Jonas Bernoulli
branch: externals/transient
commit eba78cb0b6176b8b7a58eeaff6ebefc59ae2977d
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

manual: Use more precise @dircategory
---
 docs/transient.org  | 2 +-
 docs/transient.texi | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/docs/transient.org b/docs/transient.org
index 7ff257bc65..de2d8d4612 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -4,7 +4,7 @@
 #+email: jo...@bernoul.li
 #+date: 2018-{{{year}}}
 
-#+texinfo_dir_category: Emacs
+#+texinfo_dir_category: Emacs misc features
 #+texinfo_dir_title: Transient: (transient).
 #+texinfo_dir_desc: Transient Commands
 #+subtitle: for version 0.3.7-git
diff --git a/docs/transient.texi b/docs/transient.texi
index 2df8215c1d..730040da03 100644
--- a/docs/transient.texi
+++ b/docs/transient.texi
@@ -23,7 +23,7 @@ General Public License for more details.
 @end quotation
 @end copying
 
-@dircategory Emacs
+@dircategory Emacs misc features
 @direntry
 * Transient: (transient). Transient Commands.
 @end direntry



[elpa] externals/transient b49e79df00 04/14: manual: Use new "codevar" macro

2022-08-06 Thread Jonas Bernoulli
branch: externals/transient
commit b49e79df00d1ab4837def3fc354fa723b7ff6a18
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

manual: Use new "codevar" macro
---
 docs/.orgconfig | 1 +
 docs/transient.org  | 6 +++---
 docs/transient.texi | 6 +++---
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/docs/.orgconfig b/docs/.orgconfig
index acfbd0fdcf..92cfc92bae 100644
--- a/docs/.orgconfig
+++ b/docs/.orgconfig
@@ -9,5 +9,6 @@
 
 #+macro: var @@texinfo:@var{@@$1@@texinfo:}@@
 #+macro: kbdvar (eval (format "@@texinfo:@kbd{@@%s@@texinfo:}@@" (let 
(case-fold-search) (replace-regexp-in-string "<\\([a-zA-Z-]+\\)>" 
"@@texinfo:@var{@@\\1@@texinfo:}@@" (replace-regexp-in-string 
org-texinfo--quoted-keys-regexp "@@texinfo:@key{@@\\&@@texinfo:}@@" $1 t) t
+#+macro: codevar (eval (let (case-fold-search) (format 
"@@texinfo:@code{@@%s@@texinfo:}@@" (replace-regexp-in-string 
"\\([A-Z][A-Z-]+\\)" "@@texinfo:@var{@@\\&@@texinfo:}@@" $1 t
 
 #+language: en
diff --git a/docs/transient.org b/docs/transient.org
index d23b8e1d33..ff4e35aaf0 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -540,9 +540,9 @@ Also see [[* Common Suffix Commands]].
 
   This option specifies the action used to display the transient popup
   buffer.  The transient popup buffer is displayed in a window using
-  ~(display-buffer BUFFER transient-display-buffer-action)~.
+  {{{codevar((display-buffer BUFFER transient-display-buffer-action))}}}.
 
-  The value of this option has the form ~(FUNCTION . ALIST)~,
+  The value of this option has the form {{{codevar((FUNCTION . ALIST))}}},
   where {{{var(FUNCTION)}}} is a function or a list of functions.  Each such
   function should accept two arguments: a buffer to display and an
   alist of the same form as {{{var(ALIST)}}}.  See [[info:elisp#Choosing 
Window]],
@@ -771,7 +771,7 @@ The following functions share a few arguments:
 
 These functions operate on the information stored in the
 ~transient--layout~ property of the {{{var(PREFIX)}}} symbol.  Suffix entries 
in
-that tree are not objects but have the form ~(LEVEL CLASS PLIST)~, where
+that tree are not objects but have the form {{{codevar((LEVEL CLASS 
PLIST))}}}, where
 {{{var(PLIST)}}} should set at least ~:key~, ~:description~ and ~:command~.
 
 - Function: transient-insert-suffix prefix loc suffix &optional keep-other ::
diff --git a/docs/transient.texi b/docs/transient.texi
index 34589c92f6..2d06cefcf3 100644
--- a/docs/transient.texi
+++ b/docs/transient.texi
@@ -708,9 +708,9 @@ is non-@code{nil}, then the following features are 
available:
 @defopt transient-display-buffer-action
 This option specifies the action used to display the transient popup
 buffer.  The transient popup buffer is displayed in a window using
-@code{(display-buffer BUFFER transient-display-buffer-action)}.
+@code{(display-buffer @var{BUFFER} transient-display-buffer-action)}.
 
-The value of this option has the form @code{(FUNCTION . ALIST)},
+The value of this option has the form @code{(@var{FUNCTION} . @var{ALIST})},
 where @var{FUNCTION} is a function or a list of functions.  Each such
 function should accept two arguments: a buffer to display and an
 alist of the same form as @var{ALIST}.  See @ref{Choosing Window,,,elisp,},
@@ -939,7 +939,7 @@ at the definition of the transient prefix command.
 
 These functions operate on the information stored in the
 @code{transient--layout} property of the @var{PREFIX} symbol.  Suffix entries 
in
-that tree are not objects but have the form @code{(LEVEL CLASS PLIST)}, where
+that tree are not objects but have the form @code{(@var{LEVEL} @var{CLASS} 
@var{PLIST})}, where
 @var{PLIST} should set at least @code{:key}, @code{:description} and 
@code{:command}.
 
 @defun transient-insert-suffix prefix loc suffix &optional keep-other



[elpa] externals/transient 5d116c7122 02/14: manual: Use new "var" macro

2022-08-06 Thread Jonas Bernoulli
branch: externals/transient
commit 5d116c7122dca003cfdb4e72dceba3c3d968034a
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

manual: Use new "var" macro
---
 docs/.orgconfig |   2 +
 docs/transient.org  | 162 ++--
 docs/transient.texi | 162 ++--
 3 files changed, 164 insertions(+), 162 deletions(-)

diff --git a/docs/.orgconfig b/docs/.orgconfig
index 138fae42e2..df2c1b9b36 100644
--- a/docs/.orgconfig
+++ b/docs/.orgconfig
@@ -7,4 +7,6 @@
 #+macro: year (eval (format-time-string "%Y"))
 #+macro: version (eval (or (getenv "PACKAGE_REVDESC") (getenv 
"PACKAGE_VERSION") (ignore-errors (car (process-lines "git" "describe" 
"--exact"))) (ignore-errors (concat (car (process-lines "git" "describe" (if 
(getenv "AMEND") "HEAD~" "HEAD"))) "+1"
 
+#+macro: var @@texinfo:@var{@@$1@@texinfo:}@@
+
 #+language: en
diff --git a/docs/transient.org b/docs/transient.org
index 9055089a7c..441dda30ec 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -155,7 +155,7 @@ but also remembers the values of individual arguments 
independently.
 See [[*Using History]].
 
 After a transient prefix command is invoked, {{{kbd(C-h )}}} can be used 
to
-show the documentation for the infix or suffix command that {{{kbd()}}} is
+show the documentation for the infix or suffix command that {{{var(KEY)}}} is
 bound to (see [[*Getting Help for Suffix Commands]]) and infixes and
 suffixes can be removed from the transient using {{{kbd(C-x l )}}}.  
Infixes
 and suffixes that are disabled by default can be enabled the same way.
@@ -477,14 +477,14 @@ window, and the key bindings are the same as for 
~scroll-up-command~ and
 
 - Command: transient-scroll-up arg ::
 
-  This command scrolls text of transient popup window upward ARG
-  lines.  If ARG is ~nil~, then it scrolls near full screen.  This
+  This command scrolls text of transient popup window upward {{{var(ARG)}}}
+  lines.  If {{{var(ARG)}}} is ~nil~, then it scrolls near full screen.  This
   is a wrapper around ~scroll-up-command~ (which see).
 
 - Command: transient-scroll-down arg ::
 
-  This command scrolls text of transient popup window down ARG
-  lines.  If ARG is ~nil~, then it scrolls near full screen.  This
+  This command scrolls text of transient popup window down {{{var(ARG)}}}
+  lines.  If {{{var(ARG)}}} is ~nil~, then it scrolls near full screen.  This
   is a wrapper around ~scroll-down-command~ (which see).
 
 ** Configuration
@@ -543,9 +543,9 @@ Also see [[* Common Suffix Commands]].
   ~(display-buffer BUFFER transient-display-buffer-action)~.
 
   The value of this option has the form ~(FUNCTION . ALIST)~,
-  where FUNCTION is a function or a list of functions.  Each such
+  where {{{var(FUNCTION)}}} is a function or a list of functions.  Each such
   function should accept two arguments: a buffer to display and an
-  alist of the same form as ALIST.  See [[info:elisp#Choosing Window]],
+  alist of the same form as {{{var(ALIST)}}}.  See [[info:elisp#Choosing 
Window]],
   for details.
 
   The default is:
@@ -558,7 +558,7 @@ Also see [[* Common Suffix Commands]].
   #+END_SRC
 
   This displays the window at the bottom of the selected frame.
-  Another useful FUNCTION is ~display-buffer-below-selected~, which
+  Another useful {{{var(FUNCTION)}}} is ~display-buffer-below-selected~, which
   is what ~magit-popup~ used by default.  For more alternatives see
   [[info:elisp#Display Action Functions]] and [[info:elisp#Buffer Display
   Action Alists]].
@@ -744,24 +744,24 @@ transients can be further modified non-interactively.
 
 The following functions share a few arguments:
 
-- PREFIX is a transient prefix command, a symbol.
+- {{{var(PREFIX)}}} is a transient prefix command, a symbol.
 
-- SUFFIX is a transient infix or suffix specification in the same form
+- {{{var(SUFFIX)}}} is a transient infix or suffix specification in the same 
form
   as expected by ~transient-define-prefix~.  Note that an infix is a
   special kind of suffix.  Depending on context "suffixes" means
   "suffixes (including infixes)" or "non-infix suffixes".  Here it
   means the former.  See [[*Suffix Specifications]].
 
-  SUFFIX may also be a group in the same form as expected by
+  {{{var(SUFFIX)}}} may also be a group in the same form as expected by
   ~transient-define-prefix~.  See [[*Group Specifications]].
 
-- LOC is a command, a key vector, a key description (a string as
+- {{{var(LOC)}}} is a command, a key vector, a key description (a string as
   returned by ~key-description~), or a list specifying coordinates (the
   last element may also be a command or key).  For example ~(1 0 -1)~
   identifies the last suffix (~-1~) of the first subgroup (~0~) of the
   second group (~1~).
 
-  If LOC is a list of coordinates, then it can be used to identify a
+  If {{{var(LOC)}}} is a list of coordinates, then it can be used to identify a
   group, not just an individual 

[elpa] externals/transient updated (389d2bffff -> a5562cbc8d)

2022-08-06 Thread Jonas Bernoulli
tarsius pushed a change to branch externals/transient.

  from  389d2b Backport changes from Emacs
   new  2c7624e9e0 manual: Use "kbd" macro explicitly
   new  5d116c7122 manual: Use new "var" macro
   new  86b24ebd76 manual: Use new "kbdvar" macro
   new  b49e79df00 manual: Use new "codevar" macro
   new  bcd9fbe22e manual: Use new "dfn" macro
   new  3ff531ba13 manual: Use "verbatim" emphasis markers
   new  9cd69ef226 manual: Use double quotation marks (U+201C and U+201D)
   new  1be2b72980 manual: Use verbatim instead of code in diagram legends
   new  eba78cb0b6 manual: Use more precise @dircategory
   new  1b42da2a66 manual: Update copyright notice
   new  69584bf6b3 manual: Use @insertcopying
   new  2a47c3271b manual: Include GPLv3 in appendix
   new  47ebcee62f manual: Fix minor defects
   new  a5562cbc8d manual: Avoid texinfo complications


Summary of changes:
 docs/.orgconfig |   5 +
 docs/gpl.texi   | 717 
 docs/transient.org  | 419 +++---
 docs/transient.texi | 424 +++
 4 files changed, 1140 insertions(+), 425 deletions(-)
 create mode 100644 docs/gpl.texi



[elpa] externals/transient bcd9fbe22e 05/14: manual: Use new "dfn" macro

2022-08-06 Thread Jonas Bernoulli
branch: externals/transient
commit bcd9fbe22e87e607f5e1259bdc85c87f57a78ceb
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

manual: Use new "dfn" macro
---
 docs/.orgconfig | 1 +
 docs/transient.org  | 8 
 docs/transient.texi | 8 
 3 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/docs/.orgconfig b/docs/.orgconfig
index 92cfc92bae..ec583bb199 100644
--- a/docs/.orgconfig
+++ b/docs/.orgconfig
@@ -10,5 +10,6 @@
 #+macro: var @@texinfo:@var{@@$1@@texinfo:}@@
 #+macro: kbdvar (eval (format "@@texinfo:@kbd{@@%s@@texinfo:}@@" (let 
(case-fold-search) (replace-regexp-in-string "<\\([a-zA-Z-]+\\)>" 
"@@texinfo:@var{@@\\1@@texinfo:}@@" (replace-regexp-in-string 
org-texinfo--quoted-keys-regexp "@@texinfo:@key{@@\\&@@texinfo:}@@" $1 t) t
 #+macro: codevar (eval (let (case-fold-search) (format 
"@@texinfo:@code{@@%s@@texinfo:}@@" (replace-regexp-in-string 
"\\([A-Z][A-Z-]+\\)" "@@texinfo:@var{@@\\&@@texinfo:}@@" $1 t
+#+macro: dfn @@texinfo:@dfn{@@$1@@texinfo:}@@
 
 #+language: en
diff --git a/docs/transient.org b/docs/transient.org
index ff4e35aaf0..c28a675e2c 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -62,10 +62,10 @@ commands (a prefix and a suffix) we prefer to call it just a
 Transient keymaps are a feature provided by Emacs.  Transients as
 implemented by this package involve the use of transient keymaps.
 
-Emacs provides a feature that it calls "prefix commands".  When we
+Emacs provides a feature that it calls {{{dfn(prefix commands)}}}.  When we
 talk about "prefix commands" in this manual, then we mean our own kind
 of "prefix commands", unless specified otherwise.  To avoid ambiguity
-we sometimes use the terms "transient prefix command" for our kind and
+we sometimes use the terms {{{dfn(transient prefix command)}}} for our kind and
 "regular prefix command" for Emacs' kind.
 #+end_quote
 
@@ -409,11 +409,11 @@ Git for a decade, while others are just getting started 
now.
 #+cindex: levels
 For that reason a mechanism is needed that authors can use to classify a
 transient's infixes and suffixes along the essentials...everything
-spectrum.  We use the term "levels" to describe that mechanism.
+spectrum.  We use the term {{{dfn(levels)}}} to describe that mechanism.
 
 #+cindex: transient-level
 Each suffix command is placed on a level and each transient has a
-level (called transient-level), which controls which suffix commands
+level (called {{{dfn(transient-level)}}}), which controls which suffix commands
 are available.  Integers between 1 and 7 (inclusive) are valid levels.
 For suffixes, 0 is also valid; it means that the suffix is not
 displayed at any level.
diff --git a/docs/transient.texi b/docs/transient.texi
index 2d06cefcf3..01a15afabd 100644
--- a/docs/transient.texi
+++ b/docs/transient.texi
@@ -165,10 +165,10 @@ commands (a prefix and a suffix) we prefer to call it 
just a
 Transient keymaps are a feature provided by Emacs.  Transients as
 implemented by this package involve the use of transient keymaps.
 
-Emacs provides a feature that it calls "prefix commands".  When we
+Emacs provides a feature that it calls @dfn{prefix commands}.  When we
 talk about "prefix commands" in this manual, then we mean our own kind
 of "prefix commands", unless specified otherwise.  To avoid ambiguity
-we sometimes use the terms "transient prefix command" for our kind and
+we sometimes use the terms @dfn{transient prefix command} for our kind and
 "regular prefix command" for Emacs' kind.
 
 @end quotation
@@ -564,11 +564,11 @@ Git for a decade, while others are just getting started 
now.
 @cindex levels
 For that reason a mechanism is needed that authors can use to classify a
 transient's infixes and suffixes along the essentials@dots{}everything
-spectrum.  We use the term "levels" to describe that mechanism.
+spectrum.  We use the term @dfn{levels} to describe that mechanism.
 
 @cindex transient-level
 Each suffix command is placed on a level and each transient has a
-level (called transient-level), which controls which suffix commands
+level (called @dfn{transient-level}), which controls which suffix commands
 are available.  Integers between 1 and 7 (inclusive) are valid levels.
 For suffixes, 0 is also valid; it means that the suffix is not
 displayed at any level.



[elpa] externals/transient 2c7624e9e0 01/14: manual: Use "kbd" macro explicitly

2022-08-06 Thread Jonas Bernoulli
branch: externals/transient
commit 2c7624e9e092b7e55ad055ae623d1023530cd3b8
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

manual: Use "kbd" macro explicitly
---
 docs/transient.org  | 89 ++-
 docs/transient.texi | 92 +++--
 2 files changed, 92 insertions(+), 89 deletions(-)

diff --git a/docs/transient.org b/docs/transient.org
index 7d111bc4bf..9055089a7c 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -127,7 +127,7 @@ Transient can be used to implement simple "command 
dispatchers".  The
 main benefit then is that the user can see all the available commands
 in a popup buffer.  That is useful by itself because it frees the user
 from having to remember all the keys that are valid after a certain
-prefix key or command.  Magit's ~magit-dispatch~ (on ~C-x M-g~) command is
+prefix key or command.  Magit's ~magit-dispatch~ (on {{{kbd(C-x M-g)}}}) 
command is
 an example of using Transient to merely implement a command
 dispatcher.
 
@@ -154,10 +154,10 @@ arguments, and previously it was invoked using those 
other arguments"),
 but also remembers the values of individual arguments independently.
 See [[*Using History]].
 
-After a transient prefix command is invoked, ~C-h ~ can be used to
-show the documentation for the infix or suffix command that ~~ is
+After a transient prefix command is invoked, {{{kbd(C-h )}}} can be used 
to
+show the documentation for the infix or suffix command that {{{kbd()}}} is
 bound to (see [[*Getting Help for Suffix Commands]]) and infixes and
-suffixes can be removed from the transient using ~C-x l ~.  Infixes
+suffixes can be removed from the transient using {{{kbd(C-x l )}}}.  
Infixes
 and suffixes that are disabled by default can be enabled the same way.
 See [[*Enabling and Disabling Suffixes]].
 
@@ -195,25 +195,25 @@ value of some variable.
 #+cindex: resuming transients
 
 #+cindex: quit transient
-To quit the transient without invoking a suffix command press ~C-g~.
+To quit the transient without invoking a suffix command press {{{kbd(C-g)}}}.
 
 Key bindings in transient keymaps may be longer than a single event.
 After pressing a valid prefix key, all commands whose bindings do not
 begin with that prefix key are temporarily unavailable and grayed out.
-To abort the prefix key press ~C-g~ (which in this case only quits the
+To abort the prefix key press {{{kbd(C-g)}}} (which in this case only quits the
 prefix key, but not the complete transient).
 
 A transient prefix command can be bound as a suffix of another
 transient.  Invoking such a suffix replaces the current transient
 state with a new transient state, i.e., the available bindings change
 and the information displayed in the popup buffer is updated
-accordingly.  Pressing ~C-g~ while a nested transient is active only
+accordingly.  Pressing {{{kbd(C-g)}}} while a nested transient is active only
 quits the innermost transient, causing a return to the previous
 transient.
 
-~C-q~ or ~C-z~ on the other hand always exits all transients.  If you use
+{{{kbd(C-q)}}} or {{{kbd(C-z)}}} on the other hand always exits all 
transients.  If you use
 the latter, then you can later resume the stack of transients using
-~M-x transient-resume~.
+{{{kbd(M-x transient-resume)}}}.
 
 #+attr_texinfo: :compact t
 - Key: C-g (transient-quit-seq) ::
@@ -223,7 +223,7 @@ the latter, then you can later resume the stack of 
transients using
   or else the current transient.  When quitting the current transient,
   it returns to the previous transient, if any.
 
-Transient's predecessor bound ~q~ instead of ~C-g~ to the quit command.
+Transient's predecessor bound {{{kbd(q)}}} instead of {{{kbd(C-g)}}} to the 
quit command.
 To learn how to get that binding back see ~transient-bind-q-to-quit~'s
 doc string.
 
@@ -258,8 +258,8 @@ A few shared suffix commands are available in all 
transients.  These
 suffix commands are not shown in the popup buffer by default.
 
 This includes the aborting commands mentioned in the previous section,
-as well as some other commands that are all bound to ~C-x ~.  After
-~C-x~ is pressed, a section featuring all these common commands is
+as well as some other commands that are all bound to {{{kbd(C-x )}}}.  
After
+{{{kbd(C-x)}}} is pressed, a section featuring all these common commands is
 temporarily shown in the popup buffer.  After invoking one of them,
 the section disappears again.  Note however that one of these commands
 is described as "Show common permanently"; invoke that if you want the
@@ -269,7 +269,7 @@ common commands to always be shown for all transients.
 
   This command toggles whether the generic commands that are common to
   all transients are always displayed or only after typing the
-  incomplete prefix key sequence ~C-x~.  This only affects the current
+  incomplete prefix key sequence {{{kbd(C-x)}}}.  This only affects the current
   Emacs session.
 
 - User Option

[elpa] externals/transient 1b42da2a66 10/14: manual: Update copyright notice

2022-08-06 Thread Jonas Bernoulli
branch: externals/transient
commit 1b42da2a66c4ec0befe922ad306b6515d1b395a3
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

manual: Update copyright notice
---
 docs/transient.org  | 4 ++--
 docs/transient.texi | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/docs/transient.org b/docs/transient.org
index de2d8d4612..960160c7a0 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -35,7 +35,7 @@ but suffix commands can also be configured to not exit the 
transient.
 This manual is for Transient version 0.3.7-git.
 
 #+begin_quote
-Copyright (C) 2018-{{{year}}} Jonas Bernoulli 
+Copyright (C) 2018-{{{year}}} Free Software Foundation, Inc.
 
 You can redistribute this document and/or modify it under the terms
 of the GNU General Public License as published by the Free Software
@@ -2292,7 +2292,7 @@ necessary changes.  See its doc string for more 
information.
 :END:
 
 #+begin_quote
-Copyright (C) 2018-{{{year}}} Jonas Bernoulli 
+Copyright (C) 2018-{{{year}}} Free Software Foundation, Inc.
 
 You can redistribute this document and/or modify it under the terms
 of the GNU General Public License as published by the Free Software
diff --git a/docs/transient.texi b/docs/transient.texi
index 730040da03..ef75d983c4 100644
--- a/docs/transient.texi
+++ b/docs/transient.texi
@@ -8,7 +8,7 @@
 
 @copying
 @quotation
-Copyright (C) 2018-2022 Jonas Bernoulli 
+Copyright (C) 2018-2022 Free Software Foundation, Inc.
 
 You can redistribute this document and/or modify it under the terms
 of the GNU General Public License as published by the Free Software
@@ -68,7 +68,7 @@ but suffix commands can also be configured to not exit the 
transient.
 This manual is for Transient version 0.3.7-git.
 
 @quotation
-Copyright (C) 2018-2022 Jonas Bernoulli 
+Copyright (C) 2018-2022 Free Software Foundation, Inc.
 
 You can redistribute this document and/or modify it under the terms
 of the GNU General Public License as published by the Free Software



[elpa] externals/transient 86b24ebd76 03/14: manual: Use new "kbdvar" macro

2022-08-06 Thread Jonas Bernoulli
branch: externals/transient
commit 86b24ebd762fa0fdde8a39c443dcb19e56464882
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

manual: Use new "kbdvar" macro
---
 docs/.orgconfig | 1 +
 docs/transient.org  | 6 +++---
 docs/transient.texi | 6 +++---
 3 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/docs/.orgconfig b/docs/.orgconfig
index df2c1b9b36..acfbd0fdcf 100644
--- a/docs/.orgconfig
+++ b/docs/.orgconfig
@@ -8,5 +8,6 @@
 #+macro: version (eval (or (getenv "PACKAGE_REVDESC") (getenv 
"PACKAGE_VERSION") (ignore-errors (car (process-lines "git" "describe" 
"--exact"))) (ignore-errors (concat (car (process-lines "git" "describe" (if 
(getenv "AMEND") "HEAD~" "HEAD"))) "+1"
 
 #+macro: var @@texinfo:@var{@@$1@@texinfo:}@@
+#+macro: kbdvar (eval (format "@@texinfo:@kbd{@@%s@@texinfo:}@@" (let 
(case-fold-search) (replace-regexp-in-string "<\\([a-zA-Z-]+\\)>" 
"@@texinfo:@var{@@\\1@@texinfo:}@@" (replace-regexp-in-string 
org-texinfo--quoted-keys-regexp "@@texinfo:@key{@@\\&@@texinfo:}@@" $1 t) t
 
 #+language: en
diff --git a/docs/transient.org b/docs/transient.org
index 441dda30ec..d23b8e1d33 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -154,10 +154,10 @@ arguments, and previously it was invoked using those 
other arguments"),
 but also remembers the values of individual arguments independently.
 See [[*Using History]].
 
-After a transient prefix command is invoked, {{{kbd(C-h )}}} can be used 
to
+After a transient prefix command is invoked, {{{kbdvar(C-h )}}} can be 
used to
 show the documentation for the infix or suffix command that {{{var(KEY)}}} is
 bound to (see [[*Getting Help for Suffix Commands]]) and infixes and
-suffixes can be removed from the transient using {{{kbd(C-x l )}}}.  
Infixes
+suffixes can be removed from the transient using {{{kbdvar(C-x l )}}}. 
Infixes
 and suffixes that are disabled by default can be enabled the same way.
 See [[*Enabling and Disabling Suffixes]].
 
@@ -258,7 +258,7 @@ A few shared suffix commands are available in all 
transients.  These
 suffix commands are not shown in the popup buffer by default.
 
 This includes the aborting commands mentioned in the previous section,
-as well as some other commands that are all bound to {{{kbd(C-x )}}}.  
After
+as well as some other commands that are all bound to {{{kbdvar(C-x )}}}.  
After
 {{{kbd(C-x)}}} is pressed, a section featuring all these common commands is
 temporarily shown in the popup buffer.  After invoking one of them,
 the section disappears again.  Note however that one of these commands
diff --git a/docs/transient.texi b/docs/transient.texi
index 865b032c5e..34589c92f6 100644
--- a/docs/transient.texi
+++ b/docs/transient.texi
@@ -259,10 +259,10 @@ arguments, and previously it was invoked using those 
other arguments"),
 but also remembers the values of individual arguments independently.
 See @ref{Using History}.
 
-After a transient prefix command is invoked, @kbd{C-h } can be used to
+After a transient prefix command is invoked, @kbd{C-h @var{KEY}} can be used to
 show the documentation for the infix or suffix command that @var{KEY} is
 bound to (see @ref{Getting Help for Suffix Commands}) and infixes and
-suffixes can be removed from the transient using @kbd{C-x l }.  Infixes
+suffixes can be removed from the transient using @kbd{C-x l @var{KEY}}. Infixes
 and suffixes that are disabled by default can be enabled the same way.
 See @ref{Enabling and Disabling Suffixes}.
 
@@ -391,7 +391,7 @@ A few shared suffix commands are available in all 
transients.  These
 suffix commands are not shown in the popup buffer by default.
 
 This includes the aborting commands mentioned in the previous section,
-as well as some other commands that are all bound to @kbd{C-x }.  After
+as well as some other commands that are all bound to @kbd{C-x @var{KEY}}.  
After
 @kbd{C-x} is pressed, a section featuring all these common commands is
 temporarily shown in the popup buffer.  After invoking one of them,
 the section disappears again.  Note however that one of these commands



[elpa] externals/transient 47ebcee62f 13/14: manual: Fix minor defects

2022-08-06 Thread Jonas Bernoulli
branch: externals/transient
commit 47ebcee62fdf37f543377d21bd5d8d97a2c78f6b
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

manual: Fix minor defects
---
 docs/transient.org  | 28 ++--
 docs/transient.texi | 28 ++--
 2 files changed, 28 insertions(+), 28 deletions(-)

diff --git a/docs/transient.org b/docs/transient.org
index f4923237dd..cf7ce4cf91 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -250,9 +250,9 @@ This includes the aborting commands mentioned in the 
previous section,
 as well as some other commands that are all bound to {{{kbdvar(C-x )}}}.  
After
 {{{kbd(C-x)}}} is pressed, a section featuring all these common commands is
 temporarily shown in the popup buffer.  After invoking one of them,
-the section disappears again.  Note however that one of these commands
-is described as “Show common permanently”; invoke that if you want the
-common commands to always be shown for all transients.
+the section disappears again.  Note, however, that one of these
+commands is described as “Show common permanently”; invoke that if you
+want the common commands to always be shown for all transients.
 
 - Key: C-x t (transient-toggle-common) ::
 
@@ -266,7 +266,7 @@ common commands to always be shown for all transients.
   This option controls whether shared suffix commands are shown
   alongside the transient-specific infix and suffix commands.  By
   default, the shared commands are not shown to avoid overwhelming
-  the user with to. many options.
+  the user with too many options.
 
   While a transient is active, pressing {{{kbd(C-x)}}} always shows the common
   commands.  The value of this option can be changed for the current
@@ -623,7 +623,7 @@ Also see [[* Common Suffix Commands]].
 
   When this option is non-~nil~, the key binding for an infix argument
   is highlighted when only a long argument (e.g., ~--verbose~) is
-  specified but no shorthand (e.g ~-v~).  In the rare case that a
+  specified but no shorthand (e.g., ~-v~).  In the rare case that a
   shorthand is specified but the key binding does not match, then it
   is highlighted differently.
 
@@ -637,7 +637,7 @@ Also see [[* Common Suffix Commands]].
 - User Option: transient-substitute-key-function ::
 
   This function is used to modify key bindings.  If the value of this
-  option is nil (the default), then no substitution is performed.
+  option is ~nil~ (the default), then no substitution is performed.
 
   This function is called with one argument, the prefix object, and
   must return a key binding description, either the existing key
@@ -1060,7 +1060,7 @@ argument that is mandatory in all cases.
   (e.g., =--format==) then ~transient-option~ is used, otherwise
   ~transient-switch~.
 
-Finally, details can be specified using optional {{{var(KEYWORD-VALUE)}}} 
pairs.
+Finally, details can be specified using optional 
{{{var(KEYWORD)}}}-{{{var(VALUE)}}} pairs.
 Each keyword has to be a keyword symbol, either ~:class~ or a keyword
 argument supported by the constructor of that class.  See [[*Suffix
 Slots]].
@@ -1170,7 +1170,7 @@ function, which for infix arguments serves about the same 
purpose as
 
   For a switch a boolean is returned.  For an option the value is
   returned as a string, using the empty string for the empty value,
-  or nil if the option does not appear in {{{var(ARGS)}}}.
+  or ~nil~ if the option does not appear in {{{var(ARGS)}}}.
 
 - Function: transient-suffixes prefix ::
 
@@ -1342,7 +1342,7 @@ slot.
 :UNNUMBERED: notoc
 :END:
 
-The default for non-suffixes, i.e commands that are bound in other
+The default for non-suffixes, i.e., commands that are bound in other
 keymaps beside the transient keymap, is ~transient--do-warn~.  Silently
 ignoring the user-error is also an option, though probably not a good
 one.
@@ -1839,10 +1839,10 @@ They are defined here anyway to allow sharing certain 
methods.
 :END:
 
 - ~argument-format~ The display format.  Must contain ~%s~, one of the
-  ~choices~ is substituted for that.  e.g., ~--%s-order~.
+  ~choices~ is substituted for that.  E.g., ~--%s-order~.
 
 - ~argument-regexp~ The regexp used to match any one of the switches.
-  e.g., ~\\(--\\(topo\\|author-date\\|date\\)-order\\)~.
+  E.g., ~\\(--\\(topo\\|author-date\\|date\\)-order\\)~.
 
 ** Predicate Slots
 
@@ -1852,9 +1852,9 @@ Only one of these slots can be used at the same time.  It 
is undefined
 what happens if you use more than one.
 
 - ~if~ Enable if predicate returns non-~nil~.
-- ~if-not~ Enable if predicate returns nil.
-- ~if-non-~nil~~ Enable if variable's value is non-~nil~.
-- ~if-nil~ Enable if variable's value is nil.
+- ~if-not~ Enable if predicate returns ~nil~.
+- ~if-non-nil~ Enable if variable's value is non-~nil~.
+- ~if-nil~ Enable if variable's value is ~nil~.
 - ~if-mode~ Enable if major-mode matches value.
 - ~if-not-mode~ Enable if major-mode does not match value.
 - ~if-derived~ Enable if major-mode derives from val

[elpa] externals/transient 69584bf6b3 11/14: manual: Use @insertcopying

2022-08-06 Thread Jonas Bernoulli
branch: externals/transient
commit 69584bf6b3e11b70707fad0043a4697a70303e9b
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

manual: Use @insertcopying
---
 docs/transient.org  | 13 +
 docs/transient.texi | 15 +--
 2 files changed, 2 insertions(+), 26 deletions(-)

diff --git a/docs/transient.org b/docs/transient.org
index 960160c7a0..d53c05d00b 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -34,19 +34,8 @@ but suffix commands can also be configured to not exit the 
transient.
 #+texinfo: @noindent
 This manual is for Transient version 0.3.7-git.
 
-#+begin_quote
-Copyright (C) 2018-{{{year}}} Free Software Foundation, Inc.
-
-You can redistribute this document and/or modify it under the terms
-of the GNU General Public License as published by the Free Software
-Foundation, either version 3 of the License, or (at your option) any
-later version.
+#+texinfo: @insertcopying
 
-This document 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
-General Public License for more details.
-#+end_quote
 :END:
 * Introduction
 
diff --git a/docs/transient.texi b/docs/transient.texi
index ef75d983c4..e57017c0f4 100644
--- a/docs/transient.texi
+++ b/docs/transient.texi
@@ -67,20 +67,7 @@ but suffix commands can also be configured to not exit the 
transient.
 @noindent
 This manual is for Transient version 0.3.7-git.
 
-@quotation
-Copyright (C) 2018-2022 Free Software Foundation, Inc.
-
-You can redistribute this document and/or modify it under the terms
-of the GNU General Public License as published by the Free Software
-Foundation, either version 3 of the License, or (at your option) any
-later version.
-
-This document 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
-General Public License for more details.
-
-@end quotation
+@insertcopying
 @end ifnottex
 
 @menu



[elpa] externals/transient 1be2b72980 08/14: manual: Use verbatim instead of code in diagram legends

2022-08-06 Thread Jonas Bernoulli
branch: externals/transient
commit 1be2b7298045cae7e9987773fd848690b239337a
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

manual: Use verbatim instead of code in diagram legends
---
 docs/transient.org  | 12 ++--
 docs/transient.texi | 12 ++--
 2 files changed, 12 insertions(+), 12 deletions(-)

diff --git a/docs/transient.org b/docs/transient.org
index 1aa7e45a92..7ff257bc65 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -1886,10 +1886,10 @@ prefix arguments, they are also quite different and 
much more complex.
 
 The following diagrams illustrate some of the differences.
 
-- ~(c)~ represents a return to the command loop.
-- ~(+)~ represents the user's choice to press one key or another.
-- ~{WORD}~ are possible behaviors.
-- ~{NUMBER}~ is a footnote.
+- =(c)= represents a return to the command loop.
+- =(+)= represents the user's choice to press one key or another.
+- ={WORD}= are possible behaviors.
+- ={NUMBER}= is a footnote.
 
 *** Regular Prefix Commands
 :PROPERTIES:
@@ -2068,7 +2068,7 @@ and also takes external state into account.
 `--> {exit} --> (c)
 #+end_example
 
-- ~{1}~ Transients can be configured to be exited when a suffix command
+- ={1}= Transients can be configured to be exited when a suffix command
   is invoked.  The default is to do so for all suffixes except for
   those that are common to all transients and which are used to
   perform tasks such as providing help and saving the value of the
@@ -2076,7 +2076,7 @@ and also takes external state into account.
   specified for individual suffix commands and may even depend on
   state.
 
-- ~{2}~ Transients can be configured to allow the user to invoke
+- ={2}= Transients can be configured to allow the user to invoke
   non-suffix commands.  The default is to not allow that and instead
   warn the user.
 
diff --git a/docs/transient.texi b/docs/transient.texi
index 5e0e0f1847..2df8215c1d 100644
--- a/docs/transient.texi
+++ b/docs/transient.texi
@@ -2209,13 +2209,13 @@ The following diagrams illustrate some of the 
differences.
 
 @itemize
 @item
-@code{(c)} represents a return to the command loop.
+@samp{(c)} represents a return to the command loop.
 @item
-@code{(+)} represents the user's choice to press one key or another.
+@samp{(+)} represents the user's choice to press one key or another.
 @item
-@code{@{WORD@}} are possible behaviors.
+@samp{@{WORD@}} are possible behaviors.
 @item
-@code{@{NUMBER@}} is a footnote.
+@samp{@{NUMBER@}} is a footnote.
 @end itemize
 
 @anchor{Regular Prefix Commands}
@@ -2391,7 +2391,7 @@ and also takes external state into account.
 
 @itemize
 @item
-@code{@{1@}} Transients can be configured to be exited when a suffix command
+@samp{@{1@}} Transients can be configured to be exited when a suffix command
 is invoked.  The default is to do so for all suffixes except for
 those that are common to all transients and which are used to
 perform tasks such as providing help and saving the value of the
@@ -2400,7 +2400,7 @@ specified for individual suffix commands and may even 
depend on
 state.
 
 @item
-@code{@{2@}} Transients can be configured to allow the user to invoke
+@samp{@{2@}} Transients can be configured to allow the user to invoke
 non-suffix commands.  The default is to not allow that and instead
 warn the user.
 @end itemize



[elpa] externals/transient 3ff531ba13 06/14: manual: Use "verbatim" emphasis markers

2022-08-06 Thread Jonas Bernoulli
branch: externals/transient
commit 3ff531ba13619883e0aee0ab61db61a62b10cb1f
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

manual: Use "verbatim" emphasis markers
---
 docs/transient.org  | 6 +++---
 docs/transient.texi | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/docs/transient.org b/docs/transient.org
index c28a675e2c..34c24d7ba4 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -1067,8 +1067,8 @@ argument that is mandatory in all cases.
   used.
 
   Unless the class is specified explicitly, the appropriate class is
-  guessed based on the long argument.  If the argument ends with "=​"
-  (e.g., "--format=") then ~transient-option~ is used, otherwise
+  guessed based on the long argument.  If the argument ends with ===
+  (e.g., =--format==) then ~transient-option~ is used, otherwise
   ~transient-switch~.
 
 Finally, details can be specified using optional {{{var(KEYWORD-VALUE)}}} 
pairs.
@@ -1558,7 +1558,7 @@ object should not affect later invocations.
 - The ~transient-switches~ class can be used for a set of mutually
   exclusive command-line switches.
 
-- The ~transient-files~ class can be used for a "--" argument that
+- The ~transient-files~ class can be used for a =--= argument that
   indicates that all remaining arguments are files.
 
 - Classes used for infix commands that represent variables should
diff --git a/docs/transient.texi b/docs/transient.texi
index 01a15afabd..a821e7af79 100644
--- a/docs/transient.texi
+++ b/docs/transient.texi
@@ -1268,8 +1268,8 @@ Only the long argument is displayed in the popup buffer.  
See
 used.
 
 Unless the class is specified explicitly, the appropriate class is
-guessed based on the long argument.  If the argument ends with "=​"
-(e.g., "--format=") then @code{transient-option} is used, otherwise
+guessed based on the long argument.  If the argument ends with @samp{=}
+(e.g., @samp{--format=}) then @code{transient-option} is used, otherwise
 @code{transient-switch}.
 @end itemize
 
@@ -1807,7 +1807,7 @@ The @code{transient-switches} class can be used for a set 
of mutually
 exclusive command-line switches.
 
 @item
-The @code{transient-files} class can be used for a "--" argument that
+The @code{transient-files} class can be used for a @samp{--} argument that
 indicates that all remaining arguments are files.
 
 @item



[elpa] externals/transient 9cd69ef226 07/14: manual: Use double quotation marks (U+201C and U+201D)

2022-08-06 Thread Jonas Bernoulli
branch: externals/transient
commit 9cd69ef226b43cd4a86fa98f16b4e67711543af3
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

manual: Use double quotation marks (U+201C and U+201D)
---
 docs/transient.org  | 96 ++---
 docs/transient.texi | 96 ++---
 2 files changed, 96 insertions(+), 96 deletions(-)

diff --git a/docs/transient.org b/docs/transient.org
index 34c24d7ba4..1aa7e45a92 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -14,9 +14,9 @@
 Taking inspiration from prefix keys and prefix arguments, Transient
 implements a similar abstraction involving a prefix command, infix
 arguments and suffix commands.  We could call this abstraction a
-"transient command", but because it always involves at least two
+“transient command”, but because it always involves at least two
 commands (a prefix and a suffix) we prefer to call it just a
-"transient".
+“transient”.
 
 When the user calls a transient prefix command, a transient
 (temporary) keymap is activated, which binds the transient's infix
@@ -53,9 +53,9 @@ General Public License for more details.
 Taking inspiration from prefix keys and prefix arguments, Transient
 implements a similar abstraction involving a prefix command, infix
 arguments and suffix commands.  We could call this abstraction a
-"transient command", but because it always involves at least two
+“transient command”, but because it always involves at least two
 commands (a prefix and a suffix) we prefer to call it just a
-"transient".
+“transient”.
 
 #+cindex: transient prefix command
 #+begin_quote
@@ -63,10 +63,10 @@ Transient keymaps are a feature provided by Emacs.  
Transients as
 implemented by this package involve the use of transient keymaps.
 
 Emacs provides a feature that it calls {{{dfn(prefix commands)}}}.  When we
-talk about "prefix commands" in this manual, then we mean our own kind
-of "prefix commands", unless specified otherwise.  To avoid ambiguity
+talk about “prefix commands” in this manual, then we mean our own kind
+of “prefix commands”, unless specified otherwise.  To avoid ambiguity
 we sometimes use the terms {{{dfn(transient prefix command)}}} for our kind and
-"regular prefix command" for Emacs' kind.
+“regular prefix command” for Emacs' kind.
 #+end_quote
 
 When the user calls a transient prefix command, a transient
@@ -116,14 +116,14 @@ looks a bit like this:
 
 #+begin_quote
 This is a simplified version of ~magit-tag~.  Info manuals do not
-support images or colored text, so the above "screenshot" lacks some
+support images or colored text, so the above “screenshot” lacks some
 information; in practice you would be able to tell whether the
 arguments ~--force~ and ~--annotate~ are enabled or not based on their
 color.
 #+end_quote
 
 #+cindex: command dispatchers
-Transient can be used to implement simple "command dispatchers".  The
+Transient can be used to implement simple “command dispatchers”.  The
 main benefit then is that the user can see all the available commands
 in a popup buffer.  That is useful by itself because it frees the user
 from having to remember all the keys that are valid after a certain
@@ -149,8 +149,8 @@ from Lisp.
 Invoking a transient command with arguments is similar to invoking a
 command in a shell with command-line completion and history enabled.
 One benefit of the Transient interface is that it remembers history
-not only on a global level ("this command was invoked using these
-arguments, and previously it was invoked using those other arguments"),
+not only on a global level (“this command was invoked using these
+arguments, and previously it was invoked using those other arguments”),
 but also remembers the values of individual arguments independently.
 See [[*Using History]].
 
@@ -238,7 +238,7 @@ doc string.
   Like ~transient-quit-all~, this command quits an incomplete key
   sequence, if any, and all transients.  Additionally, it saves the
   stack of transients so that it can easily be resumed (which is
-  particularly useful if you quickly need to do "something else" and
+  particularly useful if you quickly need to do “something else” and
   the stack is deeper than a single transient, and/or you have already
   changed the values of some infix arguments).
 
@@ -262,7 +262,7 @@ as well as some other commands that are all bound to 
{{{kbdvar(C-x )}}}.  A
 {{{kbd(C-x)}}} is pressed, a section featuring all these common commands is
 temporarily shown in the popup buffer.  After invoking one of them,
 the section disappears again.  Note however that one of these commands
-is described as "Show common permanently"; invoke that if you want the
+is described as “Show common permanently”; invoke that if you want the
 common commands to always be shown for all transients.
 
 - Key: C-x t (transient-toggle-common) ::
@@ -420,7 +420,7 @@ displayed at any level.
 
 The levels of individual transients and/or their in

[elpa] externals/transient a5562cbc8d 14/14: manual: Avoid texinfo complications

2022-08-06 Thread Jonas Bernoulli
branch: externals/transient
commit a5562cbc8d01fa6684487b71cf520cf348d10047
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

manual: Avoid texinfo complications
---
 docs/transient.org  | 7 ---
 docs/transient.texi | 7 ---
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/docs/transient.org b/docs/transient.org
index cf7ce4cf91..a6e6c35481 100644
--- a/docs/transient.org
+++ b/docs/transient.org
@@ -1432,7 +1432,7 @@ beginning of the class specification, e.g., ~[:class 
transient-columns
   ~transient-group~ (and therefore all groups) as well as of
   ~transient-suffix~ (and therefore all suffix and infix commands).
 
-  This class exists because the elements (aka “children”) of certain
+  This class exists because the elements (or “children”) of certain
   groups can be other groups instead of suffix and infix commands.
 
 - The abstract ~transient-group~ class is the superclass of all other
@@ -2219,8 +2219,9 @@ while Magit-Popup used to bind {{{kbd(C-c C-c)}}} 
instead.  I have seen several
 users praise the latter binding (sic), so I did not change it
 willy-nilly.  The reason that I changed it is that using different
 prefix keys for different common commands, would have made the
-temporary display of the common commands even more confusing,
-i.e., after pressing {{{kbd(C-c)}}} all the {{{kbd(C-x ...)}}} bindings would 
be grayed out.
+temporary display of the common commands even more confusing, i.e.,
+after pressing {{{kbd(C-c)}}} all the bindings that begin with the 
{{{kbd(C-x)}}} prefix
+would be grayed out.
 
 Using a single prefix for common commands key means that all other
 potential prefix keys can be used for transient-specific commands
diff --git a/docs/transient.texi b/docs/transient.texi
index 183dd1f622..5ae15bb340 100644
--- a/docs/transient.texi
+++ b/docs/transient.texi
@@ -1664,7 +1664,7 @@ The abstract @code{transient-child} class is the base 
class of both
 @code{transient-group} (and therefore all groups) as well as of
 @code{transient-suffix} (and therefore all suffix and infix commands).
 
-This class exists because the elements (aka “children”) of certain
+This class exists because the elements (or “children”) of certain
 groups can be other groups instead of suffix and infix commands.
 
 @item
@@ -2545,8 +2545,9 @@ while Magit-Popup used to bind @kbd{C-c C-c} instead.  I 
have seen several
 users praise the latter binding (sic), so I did not change it
 willy-nilly.  The reason that I changed it is that using different
 prefix keys for different common commands, would have made the
-temporary display of the common commands even more confusing,
-i.e., after pressing @kbd{C-c} all the @kbd{C-x @dots{}} bindings would be 
grayed out.
+temporary display of the common commands even more confusing, i.e.,
+after pressing @kbd{C-c} all the bindings that begin with the @kbd{C-x} prefix
+would be grayed out.
 
 Using a single prefix for common commands key means that all other
 potential prefix keys can be used for transient-specific commands



[elpa] externals/transient 2a47c3271b 12/14: manual: Include GPLv3 in appendix

2022-08-06 Thread Jonas Bernoulli
branch: externals/transient
commit 2a47c3271b9d834c8d8037302445eba02a82d950
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

manual: Include GPLv3 in appendix
---
 docs/gpl.texi   | 717 
 docs/transient.org  |   6 +
 docs/transient.texi |   6 +
 3 files changed, 729 insertions(+)

diff --git a/docs/gpl.texi b/docs/gpl.texi
new file mode 100644
index 00..c007dc0696
--- /dev/null
+++ b/docs/gpl.texi
@@ -0,0 +1,717 @@
+@c The GNU General Public License.
+@center Version 3, 29 June 2007
+
+@c This file is intended to be included within another document,
+@c hence no sectioning command or @node.
+
+@display
+Copyright @copyright{} 2007 Free Software Foundation, Inc. 
@url{https://fsf.org/}
+
+Everyone is permitted to copy and distribute verbatim copies of this
+license document, but changing it is not allowed.
+@end display
+
+@heading Preamble
+
+The GNU General Public License is a free, copyleft license for
+software and other kinds of works.
+
+The licenses for most software and other practical works are designed
+to take away your freedom to share and change the works.  By contrast,
+the GNU General Public License is intended to guarantee your freedom
+to share and change all versions of a program---to make sure it remains
+free software for all its users.  We, the Free Software Foundation,
+use the GNU General Public License for most of our software; it
+applies also to any other work released this way by its authors.  You
+can apply it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+them if you wish), that you receive source code or can get it if you
+want it, that you can change the software or use pieces of it in new
+free programs, and that you know you can do these things.
+
+To protect your rights, we need to prevent others from denying you
+these rights or asking you to surrender the rights.  Therefore, you
+have certain responsibilities if you distribute copies of the
+software, or if you modify it: responsibilities to respect the freedom
+of others.
+
+For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must pass on to the recipients the same
+freedoms that you received.  You must make sure that they, too,
+receive or can get the source code.  And you must show them these
+terms so they know their rights.
+
+Developers that use the GNU GPL protect your rights with two steps:
+(1) assert copyright on the software, and (2) offer you this License
+giving you legal permission to copy, distribute and/or modify it.
+
+For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software.  For both users' and
+authors' sake, the GPL requires that modified versions be marked as
+changed, so that their problems will not be attributed erroneously to
+authors of previous versions.
+
+Some devices are designed to deny users access to install or run
+modified versions of the software inside them, although the
+manufacturer can do so.  This is fundamentally incompatible with the
+aim of protecting users' freedom to change the software.  The
+systematic pattern of such abuse occurs in the area of products for
+individuals to use, which is precisely where it is most unacceptable.
+Therefore, we have designed this version of the GPL to prohibit the
+practice for those products.  If such problems arise substantially in
+other domains, we stand ready to extend this provision to those
+domains in future versions of the GPL, as needed to protect the
+freedom of users.
+
+Finally, every program is threatened constantly by software patents.
+States should not allow patents to restrict development and use of
+software on general-purpose computers, but in those that do, we wish
+to avoid the special danger that patents applied to a free program
+could make it effectively proprietary.  To prevent this, the GPL
+assures that patents cannot be used to render the program non-free.
+
+The precise terms and conditions for copying, distribution and
+modification follow.
+
+@heading TERMS AND CONDITIONS
+
+@enumerate 0
+@item Definitions.
+
+``This License'' refers to version 3 of the GNU General Public License.
+
+``Copyright'' also means copyright-like laws that apply to other kinds
+of works, such as semiconductor masks.
+
+``The Program'' refers to any copyrightable work licensed under this
+License.  Each licensee is addressed as ``you''.  ``Licensees'' and
+``recipients'' may be individuals or organizations.
+
+To ``modify'' a work means to copy from or adapt all or part of the work
+in a fashion requiring copyright permission, other than the making of
+an exact copy.  The resulting work is called a ``modified version'' of
+the earlier work or a work ``based on'' the earlier work.
+

[elpa] externals/denote a2794d8484 1/2: Tweak denote-org-front-matter doc string

2022-08-06 Thread ELPA Syncer
branch: externals/denote
commit a2794d8484e1299dfafa711c79d2b165d2db8381
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Tweak denote-org-front-matter doc string
---
 denote.el | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/denote.el b/denote.el
index 4130cc2c98..b9bbc011fe 100644
--- a/denote.el
+++ b/denote.el
@@ -720,19 +720,19 @@ is specific to this variable: it expect a delimiter such 
as
 \n"
   "Org front matter value for `format'.
 The order of the arguments is TITLE, DATE, KEYWORDS, ID.  If you
-are an avdanced user who wants to edit this variable to affect
+are an advanced user who wants to edit this variable to affect
 how front matter is produced, consider using something like %2$s
 to control where Nth argument is placed.
 
-Make sure to
+Make sure to:
 
 1. Not use empty lines inside the front matter block.
 
 2. Insert at least one empty line after the front matter block
-and do not use any empty line before it.
+   and do not use any empty line before it.
 
-These help ensure consistency and might prove useful if we need
-to operate on the front matter as a whole.")
+These help with consistency and might prove useful if we ever
+need to operate on the front matter as a whole.")
 
 (defun denote--format-front-matter (title date keywords id &optional filetype)
   "Front matter for new notes.



[elpa] externals/denote updated (22ef6df7c4 -> 937f0023e4)

2022-08-06 Thread ELPA Syncer
elpasync pushed a change to branch externals/denote.

  from  22ef6df7c4 Disambiguate buffer-file-name to placate compiler
   new  a2794d8484 Tweak denote-org-front-matter doc string
   new  937f0023e4 Add node in manual to change front matter format


Summary of changes:
 README.org | 88 ++
 denote.el  | 10 +++
 2 files changed, 93 insertions(+), 5 deletions(-)



[elpa] externals/denote 937f0023e4 2/2: Add node in manual to change front matter format

2022-08-06 Thread ELPA Syncer
branch: externals/denote
commit 937f0023e4d87a1ec3882dae5cd8e1a51949d2b5
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Add node in manual to change front matter format
---
 README.org | 88 ++
 1 file changed, 88 insertions(+)

diff --git a/README.org b/README.org
index 6e6f3f4d34..3b98fdae4a 100644
--- a/README.org
+++ b/README.org
@@ -820,6 +820,94 @@ If the value is a string, ignore the above and use it 
instead.  The
 string must include format specifiers for the date.  These are described
 in the doc string of ~format-time-string~..
 
+** Change the front matter format
+:PROPERTIES:
+:CUSTOM_ID: h:7f918854-5ed4-4139-821f-8ee9ba06ad15
+:END:
+
+Per Denote's design principles, the code is hackable.  All front matter
+is stored in variables that are intended for public use.  We do not
+declare those as "user options" because (i) they expect the user to have
+some degree of knowledge in Emacs Lisp and (ii) implement custom code.
+
+[ NOTE for tinkerers: code intended for internal use includes double
+  hyphens in its symbol.  "Internal use" means that it can be changed
+  without warning and with no further reference in the change log.  Do
+  not use any of it without understanding the consequences. ]
+
+The variables which hold the front matter format are:
+
+#+vindex: denote-org-front-matter
+- ~denote-org-front-matter~
+
+#+vindex: denote-text-front-matter
+- ~denote-text-front-matter~
+
+#+vindex: denote-toml-front-matter
+- ~denote-toml-front-matter~
+
+#+vindex: denote-yaml-front-matter
+- ~denote-yaml-front-matter~
+
+These variables hold a string with specifiers that are used by the
+~format~ function.  The formatting operation passes four arguments (five
+in the case of ~denote-text-front-matter~ as noted in its doc string)
+which include the values of the given entries.  The doc string of
+~denote-org-front-matter~ describes the technicalities:
+
+#+begin_quote
+The order of the arguments is TITLE, DATE, KEYWORDS, ID.  If you are an
+advanced user who wants to edit this variable to affect how front matter
+is produced, consider using something like %2$s to control where Nth
+argument is placed.
+
+Make sure to:
+
+1. Not use empty lines inside the front matter block.
+
+2. Insert at least one empty line after the front matter block and do
+   not use any empty line before it.
+
+These help with consistency and might prove useful if we ever need to
+operate on the front matter as a whole.
+#+end_quote
+
+With those granted, below are some examples.  The approach is the same
+for all variables.
+
+#+begin_src emacs-lisp
+;; Change the order
+(setq denote-yaml-front-matter
+  "---
+title:  %1$S
+tags:   %3$s
+date:   %2$s
+identifier: %4$S
+---\n\n")
+
+;; Remove the date
+(setq denote-yaml-front-matter
+  "---
+title:  %1$S
+tags:   %3$s
+identifier: %4$S
+---\n\n")
+
+;; Remove the date and the identifier
+(setq denote-yaml-front-matter
+  "---
+title:  %1$S
+tags:   %3$s
+---\n\n")
+#+end_src
+
+Note that ~setq~ has a global effect: it affects the creation of all new
+notes.  Depending on the workflow, it may be preferrable to have a
+custom command which ~let~ binds the different format.  We shall not
+provide examples at this point as this is a more advanced feature and we
+are not yet sure what the user's needs are.  Please provide feedback and
+we shall act accordingly.
+
 * Linking notes
 :PROPERTIES:
 :CUSTOM_ID: h:fc913d54-26c8-4c41-be86-999839e8ad31



[nongnu] elpa/evil 3045e425e9: Clear `evil-this-register` when leaving visual state

2022-08-06 Thread ELPA Syncer
branch: elpa/evil
commit 3045e425e9209808788c1a7b7e00e0814ec6c81b
Author: Tom Dalziel 
Commit: Tom Dalziel <33435574+tomd...@users.noreply.github.com>

Clear `evil-this-register` when leaving visual state

Fixes #1645
---
 evil-states.el | 1 +
 evil-tests.el  | 7 ++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/evil-states.el b/evil-states.el
index 9615bf2cce..8e3f9c328b 100644
--- a/evil-states.el
+++ b/evil-states.el
@@ -420,6 +420,7 @@ If LATER is non-nil, exit after the current command."
   (setq deactivate-mark t)
 (when evil-visual-region-expanded
   (evil-visual-contract-region))
+(setq evil-this-register nil)
 (evil-change-to-previous-state)
 
 (defun evil-visual-tag (&optional selection)
diff --git a/evil-tests.el b/evil-tests.el
index fd73abad7e..2136a5a64e 100644
--- a/evil-tests.el
+++ b/evil-tests.el
@@ -3058,7 +3058,12 @@ word3[]"))
   ("yiw" "w" "R" "\C-r0")
   "alpha alpha[ ]charlie"
   ([backspace] [backspace] [backspace])
-  "alpha al[a]vo charlie")))
+  "alpha al[a]vo charlie"))
+  (ert-info ("Normal delete after visual delete doesn't clobber register")
+(evil-test-buffer
+  "[a]lpha bravo charlie delta"
+  ("vf \"xd" "dw" ";\"xp")
+  "charlie alpha delta")))
 
 (ert-deftest evil-test-last-insert-register ()
   "Test last insertion register."



[elpa] externals/denote c7d1d1b6fd: Tweak examples with front matter format

2022-08-06 Thread ELPA Syncer
branch: externals/denote
commit c7d1d1b6fdd3b6d8ab3cc3b31154cd4291c69fc3
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Tweak examples with front matter format

Better to use Org as it is the default.  Also added the sample with the
all capital entries.
---
 README.org | 43 ---
 1 file changed, 24 insertions(+), 19 deletions(-)

diff --git a/README.org b/README.org
index 3b98fdae4a..da04e2544b 100644
--- a/README.org
+++ b/README.org
@@ -876,29 +876,34 @@ With those granted, below are some examples.  The 
approach is the same
 for all variables.
 
 #+begin_src emacs-lisp
-;; Change the order
-(setq denote-yaml-front-matter
-  "---
-title:  %1$S
-tags:   %3$s
-date:   %2$s
-identifier: %4$S
\n\n")
+;; Like the default, but upcase the entries
+(setq denote-org-front-matter
+  "#+TITLE:  %s
+#+DATE:   %s
+#+FILETAGS:   %s
+#+IDENTIFIER: %s
+\n")
+
+;; Change the order (notice the %N$s notation)
+(setq denote-org-front-matter
+  "#+title:  %1$s
+#+filetags:   %3$s
+#+date:   %2$s
+#+identifier: %4$s
+\n")
 
 ;; Remove the date
-(setq denote-yaml-front-matter
-  "---
-title:  %1$S
-tags:   %3$s
-identifier: %4$S
\n\n")
+(setq denote-org-front-matter
+  "#+title:  %1$s
+#+filetags:   %3$s
+#+identifier: %4$s
+\n")
 
 ;; Remove the date and the identifier
-(setq denote-yaml-front-matter
-  "---
-title:  %1$S
-tags:   %3$s
\n\n")
+(setq denote-org-front-matter
+  "#+title:  %1$s
+#+filetags:   %3$s
+\n")
 #+end_src
 
 Note that ~setq~ has a global effect: it affects the creation of all new



[elpa] externals/denote 9efa59452b: Add denote-add-front-matter command

2022-08-06 Thread ELPA Syncer
branch: externals/denote
commit 9efa59452bfb956d20af7d95ea52d431893d9969
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Add denote-add-front-matter command

The idea for this command originates in the discussion in issue 74 over
at the GitHub mirror: .
The relevant point is this comment of mine:
.
---
 README.org | 31 +++
 denote.el  | 48 +---
 2 files changed, 76 insertions(+), 3 deletions(-)

diff --git a/README.org b/README.org
index da04e2544b..915100b619 100644
--- a/README.org
+++ b/README.org
@@ -913,6 +913,37 @@ provide examples at this point as this is a more advanced 
feature and we
 are not yet sure what the user's needs are.  Please provide feedback and
 we shall act accordingly.
 
+** Regenerate front matter
+:PROPERTIES:
+:CUSTOM_ID: h:54b48277-e0e5-4188-ad54-ef3db3b7e772
+:END:
+
+[ Part of {{{development-version}}} ]
+
+#+findex: denote-add-front-matter
+Sometimes the user needs to produce new front matter for an existing
+note.  Perhaps because they accidentally deleted a line and could not
+undo the operation.  The command ~denote-add-front-matter~ can be used
+for this very purpose.
+
+In interactive use, ~denote-add-front-matter~ must be invoked from a
+buffer that visits a Denote note.  It prompts for a title and then for
+keywords.  These are the standard prompts we already use for note
+creation, so the keywords' prompt allows minibuffer completion and the
+input of multiple entries, each separated by a comma 
([[#h:17896c8c-d97a-4faa-abf6-31df99746ca6][Points of entry]]).
+
+The newly created front matter is added to the top of the file.
+
+This command does not rename the file (e.g. to update the keywords).  To
+rename a file by reading its front matter as input, the user can rely on
+~denote-rename-file-using-front-matter~ 
([[#h:532e8e2a-9b7d-41c0-8f4b-3c5cbb7d4dca][Renaming files]]).
+
+Note that ~denote-add-front-matter~ is useful only for existing Denote
+notes.  If the user needs to convert a generic text file to a Denote
+note, they can use one of the command which first rename the file to
+make it comply with our file-naming scheme and then add the relevant
+front matter.
+
 * Linking notes
 :PROPERTIES:
 :CUSTOM_ID: h:fc913d54-26c8-4c41-be86-999839e8ad31
diff --git a/denote.el b/denote.el
index b9bbc011fe..36c75522b8 100644
--- a/denote.el
+++ b/denote.el
@@ -1124,9 +1124,13 @@ appropriate."
 
 (defun denote--edit-front-matter-p (file)
   "Test if FILE should be subject to front matter rewrite.
-This is relevant for `denote--rewrite-front-matter'.  We can edit
-the front matter if it contains a \"title\" line and a \"tags\"
-line (the exact syntax depending on the file type)."
+This is relevant for operations that insert or rewrite the front
+matter in a Denote note.
+
+For the purposes of this test, FILE is a Denote note when it (i)
+is a regular file, (ii) is writable, (iii) has a supported file
+type extension per `denote-file-type', and (iv) is stored in the
+variable `denote-directory'."
   (when-let ((ext (file-name-extension file)))
 (and (file-regular-p file)
  (file-writable-p file)
@@ -1440,6 +1444,44 @@ their respective front matter."
 (revert-buffer))
 (user-error "No marked files; aborting")))
 
+; Creation of front matter
+
+;;;###autoload
+(defun denote-add-front-matter (file title keywords)
+  "Insert front matter at the top of FILE.
+
+When called interactively, FILE is the return value of the
+function `buffer-file-name'.  FILE is checked to determine
+whether it is a note for Denote's purposes.
+
+TITLE is a string.  Interactively, it is the user input at the
+minibuffer prompt.
+
+KEYWORDS is a list of strings.  Interactively, it is the user
+input at the minibuffer prompt.  This one supports completion for
+multiple entries, each separated by the `crm-separator' (normally
+a comma).
+
+The purpose of this command is to help the user generate new
+front matter for an existing note (perhaps because the user
+deleted the previous one and could not undo the change).
+
+This command does not rename the file (e.g. to update the
+keywords).  To rename a file by reading its front matter as
+input, use `denote-rename-file-using-front-matter'.
+
+Note that this command is useful only for existing Denote notes.
+If the user needs to convert a generic text file to a Denote
+note, they can use one of the command which first rename the file
+to make it comply with our file-naming scheme and then add the
+relevant front matter."
+  (interactive
+   (list
+(buffer-file-name)
+(denote--title-prompt)
+(denote--keywords-prompt)))
+  (denote--add-front-matter file title keywords (denote--file-name-id file)))
+
  The Denote faces
 
 (defgroup denote-faces ()



[nongnu] elpa/dockerfile-mode 74ed3dfd15 1/2: feat(build): add option to specify --progress flag

2022-08-06 Thread ELPA Syncer
branch: elpa/dockerfile-mode
commit 74ed3dfd1584298a0ea9881115d33ba1808a4c3f
Author: Guilherme Thomazi Bonicontro 
Commit: Drew Csillag 

feat(build): add option to specify --progress flag

some terminals won't handle ANSI escape codes very well. By default, docker 
build uses "auto" for this flag but it is desirable in several cases to use 
"plain" as a value here.
---
 dockerfile-mode.el | 12 +---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/dockerfile-mode.el b/dockerfile-mode.el
index 52d04690ec..653e75cfd6 100644
--- a/dockerfile-mode.el
+++ b/dockerfile-mode.el
@@ -4,7 +4,7 @@
 ;; Package-Requires: ((emacs "24"))
 ;; Homepage: https://github.com/spotify/dockerfile-mode
 ;; URL: https://github.com/spotify/dockerfile-mode
-;; Version: 1.5
+;; Version: 1.7
 ;; Keywords: docker
 ;;
 ;; Licensed under the Apache License, Version 2.0 (the "License"); you may not
@@ -67,6 +67,11 @@ Each element of the list will be passed as a separate
   :type '(repeat string)
   :group 'dockerfile)
 
+(defcustom dockerfile-build-progress "auto"
+  "Type of --progress output (auto, plain, tty) of docker build."
+  :group 'dockerfile
+  :type 'string)
+
 (defcustom dockerfile-use-buildkit nil
   "Use Docker buildkit for building images?
 
@@ -199,13 +204,13 @@ This can be set in file or directory-local variables.")
 
 If prefix arg NO-CACHE is set, don't cache the image.
 The build string will be of the format:
-`sudo docker build --no-cache --tag IMAGE-NAME --build-args arg1.. -f filename 
directory`"
+`sudo docker build --no-cache --force-rm --pull --force-rm --tag IMAGE-NAME 
--build-args arg1.. -f filename directory`"
 
   (interactive (list (dockerfile-read-image-name) prefix-arg))
   (save-buffer)
 (compilation-start
 (format
-"%s%s%s build %s %s %s %s %s -f %s %s"
+"%s%s%s build %s %s %s %s %s --progress %s -f %s %s"
 (if dockerfile-use-buildkit "DOCKER_BUILDKIT=1 " "")
 (if dockerfile-use-sudo "sudo " "")
 dockerfile-mode-command
@@ -214,6 +219,7 @@ The build string will be of the format:
 (if dockerfile-build-pull "--pull " "")
 (dockerfile-tag-string image-name)
 (dockerfile-build-arg-string)
+dockerfile-build-progress
 (shell-quote-argument (dockerfile-standard-filename
   (or (file-remote-p (buffer-file-name) 
'localname)
   (buffer-file-name



[nongnu] elpa/dockerfile-mode c7e4e2541d 2/2: updating build string example

2022-08-06 Thread ELPA Syncer
branch: elpa/dockerfile-mode
commit c7e4e2541deb66d266f58c364e33a4a10cefbc2b
Author: Guilherme Thomazi Bonicontro 
Commit: Drew Csillag 

updating build string example
---
 dockerfile-mode.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dockerfile-mode.el b/dockerfile-mode.el
index 653e75cfd6..ebed192c05 100644
--- a/dockerfile-mode.el
+++ b/dockerfile-mode.el
@@ -204,7 +204,7 @@ This can be set in file or directory-local variables.")
 
 If prefix arg NO-CACHE is set, don't cache the image.
 The build string will be of the format:
-`sudo docker build --no-cache --force-rm --pull --force-rm --tag IMAGE-NAME 
--build-args arg1.. -f filename directory`"
+`sudo docker build --no-cache --force-rm --pull --force-rm --tag IMAGE-NAME 
--build-args arg1.. --progress PROGRESS_TYPE -f filename directory`"
 
   (interactive (list (dockerfile-read-image-name) prefix-arg))
   (save-buffer)



[nongnu] elpa/dockerfile-mode updated (b63a3d12b7 -> c7e4e2541d)

2022-08-06 Thread ELPA Syncer
elpasync pushed a change to branch elpa/dockerfile-mode.

  from  b63a3d12b7 Readme: document dockerfile-build-no-cache-buffer. 
Prevents #28.
   new  74ed3dfd15 feat(build): add option to specify --progress flag
   new  c7e4e2541d updating build string example


Summary of changes:
 dockerfile-mode.el | 12 +---
 1 file changed, 9 insertions(+), 3 deletions(-)



[elpa] externals/num3-mode cbb80d325f: Avoid mocking font-lock-append-text-property in tests

2022-08-06 Thread Michał Nazarewicz
branch: externals/num3-mode
commit cbb80d325f27efd9682ead553c3aff5663d4730b
Author: Michal Nazarewicz 
Commit: Michal Nazarewicz 

Avoid mocking font-lock-append-text-property in tests

* test.el (num3-mode-test): Rather than mocking functions that the
mode’s matcher is calling, scan text properties after it runs.  This
not only results in a shorter code but also removes the need for the
test to know how the function being tested operates.
---
 test.el | 30 --
 1 file changed, 12 insertions(+), 18 deletions(-)

diff --git a/test.el b/test.el
index 65f2f61b96..aa57df8ad0 100644
--- a/test.el
+++ b/test.el
@@ -31,24 +31,18 @@ caret (‘^’).  For example:
 
 (num3-mode-test \"6.2831853071\"
 \"6.^^^___^^^_\")"
-  (with-temp-buffer
-(insert text)
-(setq text (copy-sequence text))
-(goto-char (point-min))
-(cl-letf ((num3-group-size 3)
-  (num3-threshold 5)
-  ((symbol-function 'font-lock-append-text-property)
-   (lambda (lo hi prop face)
- (should (<= (point-min) lo hi (point-max)))
- (should (< lo hi))
- (should (eq 'face prop))
- (should (memq face '(num3-face-even num3-face-odd)))
- (let ((start (- lo (point-min)))
-   (char (if (eq face 'num3-face-even) ?^ ?_)))
-   (dotimes (offset (- hi lo))
- (aset text (+ start offset) char))
-  (num3--matcher (point-max
-  (should (equal want text)))
+  (let ((got (with-temp-buffer
+   (insert text)
+   (goto-char (point-min))
+   (let ((num3-group-size 3) (num3-threshold 5))
+ (num3--matcher (point-max)))
+   (buffer-string
+(dotimes (idx (length got))
+  (when-let ((face (get-text-property idx 'face got)))
+(aset got idx (cond ((equal face '(num3-face-even)) ?^)
+((equal face '(num3-face-odd )) ?_)
+(??)
+  (should (equal want got
 
 (ert-deftest num3-mode-decimal-integers ()
   ;; Won’t fontify unless at least five digits.



[elpa] externals/denote f3b09f95c2: Re-indent form

2022-08-06 Thread ELPA Syncer
branch: externals/denote
commit f3b09f95c25644294eac0943f83c24f443058bb8
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Re-indent form
---
 denote.el | 36 ++--
 1 file changed, 18 insertions(+), 18 deletions(-)

diff --git a/denote.el b/denote.el
index 36c75522b8..54ffb026ab 100644
--- a/denote.el
+++ b/denote.el
@@ -1175,24 +1175,24 @@ appropriate."
  (new-title title)
  (new-keywords (denote--format-front-matter-keywords
 keywords (denote--filetype-heuristics file
-  (with-current-buffer (find-file-noselect file)
-(when (y-or-n-p (format
- "Replace front matter?\n-%s\n+%s\n\n-%s\n+%s?"
- (propertize old-title 'face 'error)
- (propertize new-title 'face 'success)
- (propertize old-keywords 'face 'error)
- (propertize new-keywords 'face 'success)))
-  (save-excursion
-(save-restriction
-  (widen)
-  (goto-char (point-min))
-  (re-search-forward 
denote--retrieve-title-front-matter-key-regexp nil t 1)
-  (search-forward old-title nil t 1)
-  (replace-match (concat "\\1" new-title) t)
-  (goto-char (point-min))
-  (re-search-forward 
denote--retrieve-keywords-front-matter-key-regexp nil t 1)
-  (search-forward old-keywords nil t 1)
-  (replace-match (concat "\\1" new-keywords) t)))
+(with-current-buffer (find-file-noselect file)
+  (when (y-or-n-p (format
+   "Replace front matter?\n-%s\n+%s\n\n-%s\n+%s?"
+   (propertize old-title 'face 'error)
+   (propertize new-title 'face 'success)
+   (propertize old-keywords 'face 'error)
+   (propertize new-keywords 'face 'success)))
+(save-excursion
+  (save-restriction
+(widen)
+(goto-char (point-min))
+(re-search-forward denote--retrieve-title-front-matter-key-regexp 
nil t 1)
+(search-forward old-title nil t 1)
+(replace-match (concat "\\1" new-title) t)
+(goto-char (point-min))
+(re-search-forward 
denote--retrieve-keywords-front-matter-key-regexp nil t 1)
+(search-forward old-keywords nil t 1)
+(replace-match (concat "\\1" new-keywords) t)))
 
 (make-obsolete 'denote-dired-rename-expert nil "0.5.0")
 (make-obsolete 'denote-dired-post-rename-functions nil "0.4.0")



[nongnu] elpa/org-present 60d063f20a 05/12: Add org-present-toggle-one-big-page

2022-08-06 Thread ELPA Syncer
branch: elpa/org-present
commit 60d063f20afcca087bbbd67999e61827ebb2eac7
Author: Junyeong Jeong 
Commit: Junyeong Jeong 

Add org-present-toggle-one-big-page

This function shows all slides in a buffer. It may be useful
when users want to capture all presentation material by calling
`htmlize-buffer`.
---
 README.md  |  1 +
 org-present.el | 12 
 2 files changed, 13 insertions(+)

diff --git a/README.md b/README.md
index adf9d3e68a..d9fd800a83 100644
--- a/README.md
+++ b/README.md
@@ -55,6 +55,7 @@ Keys are:
 - C-c < and C-c > to jump to first/last slide
 - C-c C-r for buffer read-only
 - C-c C-w for buffer read/write
+- C-c C-1 for one big page showing all slides
 
 ## Beautification
 
diff --git a/org-present.el b/org-present.el
index 367a745100..7a9b283796 100644
--- a/org-present.el
+++ b/org-present.el
@@ -67,12 +67,14 @@
 (define-key org-present-mode-keymap (kbd "C-c C-w") 'org-present-read-write)
 (define-key org-present-mode-keymap (kbd "C-c <")   'org-present-beginning)
 (define-key org-present-mode-keymap (kbd "C-c >")   'org-present-end)
+(define-key org-present-mode-keymap (kbd "C-c C-1") 
'org-present-toggle-one-big-page)
 
 ;; how much to scale up font size
 (defvar org-present-text-scale 5)
 (defvar org-present-cursor-cache (or cursor-type nil)
   "Holds the user set value of cursor for `org-present-read-only'")
 (defvar org-present-overlays-list nil)
+(defvar org-present-one-big-page nil)
 
 (define-minor-mode org-present-mode
   "Minimalist presentation minor mode for org-mode."
@@ -237,6 +239,16 @@
   (run-hooks 'org-present-mode-hook)
   (org-present-run-after-navigate-functions))
 
+(defun org-present-toggle-one-big-page ()
+  "Toggle showing all pages in a buffer."
+  (interactive)
+  (if org-present-one-big-page
+  (progn
+(org-present-narrow)
+(setq-local org-present-one-big-page nil))
+(widen)
+(setq-local org-present-one-big-page t)))
+
 (defun org-present-quit ()
   "Quit the minor-mode."
   (interactive)



[nongnu] elpa/org-present 140a8c3a34 01/12: feat: Add a toggle for whether to hide stars in headings

2022-08-06 Thread ELPA Syncer
branch: elpa/org-present
commit 140a8c3a34fdd9bb91da0d1c2717e82d31475da8
Author: Keith Pinson 
Commit: Keith Pinson 

feat: Add a toggle for whether to hide stars in headings

Switch ' to #' in a couple of places to get more help from the compiler, 
per:
https://endlessparentheses.com/get-in-the-habit-of-using-sharp-quote.html
---
 org-present.el | 14 +-
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/org-present.el b/org-present.el
index 822c017dee..1188f84c24 100644
--- a/org-present.el
+++ b/org-present.el
@@ -167,6 +167,9 @@
  (regexp-opt '("title:" "author:" "date:" "email:"))
  string)))
 
+(defvar org-present-hide-stars-in-headings t
+  "Whether to hide the asterisk characters in headings while in presentation 
mode.")
+
 (defun org-present-add-overlays ()
   "Add overlays for this mode."
   (add-to-invisibility-spec '(org-present))
@@ -177,9 +180,10 @@
   (let ((end (if (org-present-show-option (match-string 2)) 2 0)))
 (org-present-add-overlay (match-beginning 1) (match-end end
 ;; hide stars in headings
-(goto-char (point-min))
-(while (re-search-forward "^\\(*+\\)" nil t)
-  (org-present-add-overlay (match-beginning 1) (match-end 1)))
+(if org-present-hide-stars-in-headings
+(progn (goto-char (point-min))
+   (while (re-search-forward "^\\(*+\\)" nil t)
+ (org-present-add-overlay (match-beginning 1) (match-end 1)
 ;; hide emphasis markers
 (goto-char (point-min))
 (while (re-search-forward org-emph-re nil t)
@@ -188,7 +192,7 @@
 
 (defun org-present-rm-overlays ()
   "Remove overlays for this mode."
-  (mapc 'delete-overlay org-present-overlays-list)
+  (mapc #'delete-overlay org-present-overlays-list)
   (remove-from-invisibility-spec '(org-present)))
 
 (defun org-present-read-only ()
@@ -197,7 +201,7 @@
   (setq buffer-read-only t)
   (setq org-present-cursor-cache cursor-type
 cursor-type nil)
-  (define-key org-present-mode-keymap (kbd "SPC") 'org-present-next))
+  (define-key org-present-mode-keymap (kbd "SPC") #'org-present-next))
 
 (defun org-present-read-write ()
   "Make buffer read-only."



[nongnu] elpa/org-present 7be98b2c03 02/12: doc(org-present-hide-stars-in-headings): advise on use and effects

2022-08-06 Thread ELPA Syncer
branch: elpa/org-present
commit 7be98b2c0376016adc8fe4981a3b4c690ea3d023
Author: Keith Pinson 
Commit: Keith Pinson 

doc(org-present-hide-stars-in-headings): advise on use and effects
---
 org-present.el | 6 +-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/org-present.el b/org-present.el
index 1188f84c24..4cdf12396d 100644
--- a/org-present.el
+++ b/org-present.el
@@ -168,7 +168,11 @@
  string)))
 
 (defvar org-present-hide-stars-in-headings t
-  "Whether to hide the asterisk characters in headings while in presentation 
mode.")
+  "Whether to hide the asterisk characters in headings while in presentation
+mode. If you turn this off (by setting it to nil) make sure to set
+`org-hide-emphasis-markers' non-nil, since currently `org-present''s algorithm
+for hiding emphasis markers has a bad interaction with bullets. This combo also
+makes tabs work in presentation mode as in the rest of Org mode.")
 
 (defun org-present-add-overlays ()
   "Add overlays for this mode."



[nongnu] elpa/org-present ef1f1c5da9 08/12: Merge pull request #27 from Kazark/org-present-startup-folded

2022-08-06 Thread ELPA Syncer
branch: elpa/org-present
commit ef1f1c5da987e098ccaa67e81a10789c746d254a
Merge: 868d7087ca 17412d085f
Author: Ric Lister 
Commit: GitHub 

Merge pull request #27 from Kazark/org-present-startup-folded

Add org-present-startup-folded a la org-startup-folded
---
 org-present.el | 19 ++-
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/org-present.el b/org-present.el
index 47b41dc9ed..363b4d074f 100644
--- a/org-present.el
+++ b/org-present.el
@@ -250,6 +250,12 @@
   (run-hooks 'org-present-mode-quit-hook)
   (setq org-present-mode nil))
 
+(defvar org-present-startup-folded nil
+  "Like `org-startup-folded', but for presentation mode. Also analogous to
+introduction of slide items by effects in other presentation programs: i.e., if
+you do not want to show the whole slide at first, but to unfurl it slowly, set
+this to non-nil.")
+
 (defvar org-present-after-navigate-functions nil
   "Abnormal hook run after org-present navigates to a new heading.")
 
@@ -261,11 +267,14 @@
(replace-regexp-in-string "[ \t\n]*\\'" "" string)))
 
 (defun org-present-run-after-navigate-functions ()
-  "Run org-present-after-navigate hook, passing the name of the presentation 
buffer and the current heading."
-  (let* ((title-text (thing-at-point 'line))
- (safe-title-text (replace-regexp-in-string "^[ \*]" "" title-text))
- (current-heading (org-present-trim-string safe-title-text)))
-(run-hook-with-args 'org-present-after-navigate-functions (buffer-name) 
current-heading)))
+  "Fold slide if `org-present-startup-folded' is non-nil.
+Run org-present-after-navigate hook, passing the name of the presentation 
buffer and the current heading."
+  (progn
+(if org-present-startup-folded (org-cycle))
+(let* ((title-text (thing-at-point 'line))
+   (safe-title-text (replace-regexp-in-string "^[ \*]" "" title-text))
+   (current-heading (org-present-trim-string safe-title-text)))
+  (run-hook-with-args 'org-present-after-navigate-functions (buffer-name) 
current-heading
 
 (provide 'org-present)
 ;;; org-present.el ends here



[nongnu] elpa/org-present dfcb71c199 10/12: Merge pull request #26 from Kazark/toggle-heading-stars

2022-08-06 Thread ELPA Syncer
branch: elpa/org-present
commit dfcb71c1999eab075d5fc468d8561b78f88d02c1
Merge: ef1f1c5da9 d506a63fc5
Author: Ric Lister 
Commit: GitHub 

Merge pull request #26 from Kazark/toggle-heading-stars

Add a toggle for whether to hide stars in headings
---
 org-present.el | 20 +++-
 1 file changed, 15 insertions(+), 5 deletions(-)

diff --git a/org-present.el b/org-present.el
index 363b4d074f..c0f69b7810 100644
--- a/org-present.el
+++ b/org-present.el
@@ -166,6 +166,13 @@
  (regexp-opt '("title:" "author:" "date:" "email:"))
  string)))
 
+(defvar org-present-hide-stars-in-headings t
+  "Whether to hide the asterisk characters in headings while in presentation
+mode. If you turn this off (by setting it to nil) make sure to set
+`org-hide-emphasis-markers' non-nil, since currently `org-present''s algorithm
+for hiding emphasis markers has a bad interaction with bullets. This combo also
+makes tabs work in presentation mode as in the rest of Org mode.")
+
 (defun org-present-add-overlays ()
   "Add overlays for this mode."
   (add-to-invisibility-spec '(org-present))
@@ -176,9 +183,10 @@
   (let ((end (if (org-present-show-option (match-string 2)) 2 0)))
 (org-present-add-overlay (match-beginning 1) (match-end end
 ;; hide stars in headings
-(goto-char (point-min))
-(while (re-search-forward "^\\(*+\\)" nil t)
-  (org-present-add-overlay (match-beginning 1) (match-end 1)))
+(if org-present-hide-stars-in-headings
+(progn (goto-char (point-min))
+   (while (re-search-forward "^\\(*+\\)" nil t)
+ (org-present-add-overlay (match-beginning 1) (match-end 1)
 ;; hide emphasis/verbatim markers if not already hidden by org
 (if org-hide-emphasis-markers nil
   ;; TODO https://github.com/rlister/org-present/issues/12
@@ -198,14 +206,16 @@
 
 (defun org-present-rm-overlays ()
   "Remove overlays for this mode."
-  (mapc 'delete-overlay org-present-overlays-list)
+  (mapc #'delete-overlay org-present-overlays-list)
   (remove-from-invisibility-spec '(org-present)))
 
 (defun org-present-read-only ()
   "Make buffer read-only."
   (interactive)
   (setq buffer-read-only t)
-  (define-key org-present-mode-keymap (kbd "SPC") 'org-present-next))
+  (setq org-present-cursor-cache cursor-type
+cursor-type nil)
+  (define-key org-present-mode-keymap (kbd "SPC") #'org-present-next))
 
 (defun org-present-read-write ()
   "Make buffer read-only."



[nongnu] elpa/org-present d506a63fc5 09/12: Merge branch 'master' into toggle-heading-stars

2022-08-06 Thread ELPA Syncer
branch: elpa/org-present
commit d506a63fc57c9344d415f30c5b5c1c7db6da6920
Merge: 7be98b2c03 ef1f1c5da9
Author: Ric Lister 
Commit: GitHub 

Merge branch 'master' into toggle-heading-stars
---
 .gitignore |  1 +
 README.md  |  7 ++
 org-present.el | 73 ++
 3 files changed, 56 insertions(+), 25 deletions(-)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00..c531d9867f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+*.elc
diff --git a/README.md b/README.md
index 22bb68da37..3090d78f9c 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,5 @@
 # org-present-mode
+[![NonGNU 
ELPA](https://elpa.nongnu.org/nongnu/org-present.svg)](https://elpa.nongnu.org/nongnu/org-present.html)
 
 This is meant to be an extremely minimalist presentation tool for
 Emacs [org-mode](http://orgmode.org/).  Simply layout your
@@ -53,6 +54,8 @@ Keys are:
 - C-c C-- for small text
 - C-c C-q for quit (which will return you back to vanilla org-mode)
 - C-c < and C-c > to jump to first/last slide
+- C-c C-r set slides read only
+- C-c C-w allow writing on slides
 
 ## Beautification
 
@@ -64,6 +67,10 @@ If you're on a Mac with an older emacs you might also want 
to look at the
 [fullscreen 
patch](http://cloud.github.com/downloads/typester/emacs/feature-fullscreen.patch).
 `toggle-frame-fullscreen` comes with emacs 24.
 
+## Customization
+
+David Wilson from System Crafters has made an excellent [blog 
post](https://systemcrafters.net/emacs-tips/presentations-with-org-present/) 
and [video](https://www.youtube.com/watch?v=SCPoF1PTZpI) about customization of 
`org-present`.
+
 ## Copyright
 
 Copyright © 2014 Richard Lister.
diff --git a/org-present.el b/org-present.el
index 4cdf12396d..c0f69b7810 100644
--- a/org-present.el
+++ b/org-present.el
@@ -3,25 +3,24 @@
 ;; Copyright (C) 2012 by Ric Lister
 ;;
 ;; Author: Ric Lister
+;; Version: 0.1
 ;; Package-Requires: ((org "7"))
 ;; URL: https://github.com/rlister/org-present
 ;;
 ;; This file is not part of GNU Emacs.
 ;;
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2 of the
-;; License, or any later version.
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; 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
-;; General Public License for more details.
+;; 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 General Public License for more details.
 ;;
 ;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; if not, write to the Free Software
-;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-;; 02111-1307, USA.
+;; along with this program.  If not, see .
 ;;
 ;;; Commentary:
 ;;
@@ -130,7 +129,7 @@
   "Jump to first slide of presentation."
   (interactive)
   (widen)
-  (beginning-of-buffer)
+  (goto-char (point-min))
   (org-present-narrow)
   (org-present-run-after-navigate-functions))
 
@@ -138,7 +137,7 @@
   "Jump to last slide of presentation."
   (interactive)
   (widen)
-  (end-of-buffer)
+  (goto-char (point-max))
   (org-present-top)
   (org-present-narrow)
   (org-present-run-after-navigate-functions))
@@ -188,11 +187,22 @@ makes tabs work in presentation mode as in the rest of 
Org mode.")
 (progn (goto-char (point-min))
(while (re-search-forward "^\\(*+\\)" nil t)
  (org-present-add-overlay (match-beginning 1) (match-end 1)
-;; hide emphasis markers
-(goto-char (point-min))
-(while (re-search-forward org-emph-re nil t)
-  (org-present-add-overlay (match-beginning 2) (1+ (match-beginning 2)))
-  (org-present-add-overlay (1- (match-end 2)) (match-end 2)
+;; hide emphasis/verbatim markers if not already hidden by org
+(if org-hide-emphasis-markers nil
+  ;; TODO https://github.com/rlister/org-present/issues/12
+  ;; It would be better to reuse org's own facility for this, if possible.
+  ;; However it is not obvious how to do this.
+  (progn
+;; hide emphasis markers
+(goto-char (point-min))
+(while (re-search-forward org-emph-re nil t)
+  (org-present-add-overlay (match-beginning 2) (1+ (match-beginning 
2)))
+  (org-present-add-overlay (1- (match-end 2)) (match-end 2)))
+;; hide verbatim markers
+(goto-char (

[nongnu] elpa/org-present 3c3588be82 04/12: Add and fix description of key bindings

2022-08-06 Thread ELPA Syncer
branch: elpa/org-present
commit 3c3588be82cb47ab56ca27dfd02184bbc086f2d1
Author: Junyeong Jeong 
Commit: Junyeong Jeong 

Add and fix description of key bindings
---
 README.md  | 2 ++
 org-present.el | 4 ++--
 2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/README.md b/README.md
index 22bb68da37..adf9d3e68a 100644
--- a/README.md
+++ b/README.md
@@ -53,6 +53,8 @@ Keys are:
 - C-c C-- for small text
 - C-c C-q for quit (which will return you back to vanilla org-mode)
 - C-c < and C-c > to jump to first/last slide
+- C-c C-r for buffer read-only
+- C-c C-w for buffer read/write
 
 ## Beautification
 
diff --git a/org-present.el b/org-present.el
index 74d12607c4..367a745100 100644
--- a/org-present.el
+++ b/org-present.el
@@ -211,7 +211,7 @@
   (define-key org-present-mode-keymap (kbd "SPC") 'org-present-next))
 
 (defun org-present-read-write ()
-  "Make buffer read-only."
+  "Make buffer read/write."
   (interactive)
   (setq buffer-read-only nil)
   (setq cursor-type org-present-cursor-cache)
@@ -229,7 +229,7 @@
 
 ;;;###autoload
 (defun org-present ()
-  "init."
+  "Start org presentation."
   (interactive)
   (setq org-present-mode t)
   (org-present-add-overlays)



[nongnu] elpa/org-present 98b7d94a0f 11/12: Merge branch 'master' into master

2022-08-06 Thread ELPA Syncer
branch: elpa/org-present
commit 98b7d94a0f27c929f5054287b0b47e475fe496f4
Merge: 60d063f20a dfcb71c199
Author: Ric Lister 
Commit: GitHub 

Merge branch 'master' into master
---
 .gitignore |  1 +
 README.md  |  5 +
 org-present.el | 70 +-
 3 files changed, 51 insertions(+), 25 deletions(-)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00..c531d9867f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+*.elc
diff --git a/README.md b/README.md
index d9fd800a83..e911cb7b10 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,5 @@
 # org-present-mode
+[![NonGNU 
ELPA](https://elpa.nongnu.org/nongnu/org-present.svg)](https://elpa.nongnu.org/nongnu/org-present.html)
 
 This is meant to be an extremely minimalist presentation tool for
 Emacs [org-mode](http://orgmode.org/).  Simply layout your
@@ -67,6 +68,10 @@ If you're on a Mac with an older emacs you might also want 
to look at the
 [fullscreen 
patch](http://cloud.github.com/downloads/typester/emacs/feature-fullscreen.patch).
 `toggle-frame-fullscreen` comes with emacs 24.
 
+## Customization
+
+David Wilson from System Crafters has made an excellent [blog 
post](https://systemcrafters.net/emacs-tips/presentations-with-org-present/) 
and [video](https://www.youtube.com/watch?v=SCPoF1PTZpI) about customization of 
`org-present`.
+
 ## Copyright
 
 Copyright © 2014 Richard Lister.
diff --git a/org-present.el b/org-present.el
index 7a9b283796..ae42bcbd37 100644
--- a/org-present.el
+++ b/org-present.el
@@ -3,25 +3,24 @@
 ;; Copyright (C) 2012 by Ric Lister
 ;;
 ;; Author: Ric Lister
+;; Version: 0.1
 ;; Package-Requires: ((org "7"))
 ;; URL: https://github.com/rlister/org-present
 ;;
 ;; This file is not part of GNU Emacs.
 ;;
-;; This program is free software; you can redistribute it and/or
-;; modify it under the terms of the GNU General Public License as
-;; published by the Free Software Foundation; either version 2 of the
-;; License, or any later version.
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; 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
-;; General Public License for more details.
+;; 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 General Public License for more details.
 ;;
 ;; You should have received a copy of the GNU General Public License
-;; along with GNU Emacs; if not, write to the Free Software
-;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-;; 02111-1307, USA.
+;; along with this program.  If not, see .
 ;;
 ;;; Commentary:
 ;;
@@ -132,7 +131,7 @@
   "Jump to first slide of presentation."
   (interactive)
   (widen)
-  (beginning-of-buffer)
+  (goto-char (point-min))
   (org-present-narrow)
   (org-present-run-after-navigate-functions))
 
@@ -140,7 +139,7 @@
   "Jump to last slide of presentation."
   (interactive)
   (widen)
-  (end-of-buffer)
+  (goto-char (point-max))
   (org-present-top)
   (org-present-narrow)
   (org-present-run-after-navigate-functions))
@@ -169,6 +168,13 @@
  (regexp-opt '("title:" "author:" "date:" "email:"))
  string)))
 
+(defvar org-present-hide-stars-in-headings t
+  "Whether to hide the asterisk characters in headings while in presentation
+mode. If you turn this off (by setting it to nil) make sure to set
+`org-hide-emphasis-markers' non-nil, since currently `org-present''s algorithm
+for hiding emphasis markers has a bad interaction with bullets. This combo also
+makes tabs work in presentation mode as in the rest of Org mode.")
+
 (defun org-present-add-overlays ()
   "Add overlays for this mode."
   (add-to-invisibility-spec '(org-present))
@@ -179,9 +185,10 @@
   (let ((end (if (org-present-show-option (match-string 2)) 2 0)))
 (org-present-add-overlay (match-beginning 1) (match-end end
 ;; hide stars in headings
-(goto-char (point-min))
-(while (re-search-forward "^\\(*+\\)" nil t)
-  (org-present-add-overlay (match-beginning 1) (match-end 1)))
+(if org-present-hide-stars-in-headings
+(progn (goto-char (point-min))
+   (while (re-search-forward "^\\(*+\\)" nil t)
+ (org-present-add-overlay (match-beginning 1) (match-end 1)
 ;; hide emphasis/verbatim markers if not already hidden by org
 (if org-hide-emphasis-markers nil
   ;; TODO https://github.com/rlister/org-present/issues/12
@@ -201,7 +208,7 @@
 
 (defun org-present-rm-overlays ()
   "Remove overlay

[nongnu] elpa/org-present 4ec04e1b77 12/12: Merge pull request #36 from rhdxmr/master

2022-08-06 Thread ELPA Syncer
branch: elpa/org-present
commit 4ec04e1b77dea76d7c30066ccf3200d2e0b7bee9
Merge: dfcb71c199 98b7d94a0f
Author: Ric Lister 
Commit: GitHub 

Merge pull request #36 from rhdxmr/master

Add org-presentation-toggle-one-big-page
---
 README.md  |  5 +++--
 org-present.el | 16 ++--
 2 files changed, 17 insertions(+), 4 deletions(-)

diff --git a/README.md b/README.md
index 3090d78f9c..e911cb7b10 100644
--- a/README.md
+++ b/README.md
@@ -54,8 +54,9 @@ Keys are:
 - C-c C-- for small text
 - C-c C-q for quit (which will return you back to vanilla org-mode)
 - C-c < and C-c > to jump to first/last slide
-- C-c C-r set slides read only
-- C-c C-w allow writing on slides
+- C-c C-r for buffer read-only
+- C-c C-w for buffer read/write
+- C-c C-1 for one big page showing all slides
 
 ## Beautification
 
diff --git a/org-present.el b/org-present.el
index c0f69b7810..ae42bcbd37 100644
--- a/org-present.el
+++ b/org-present.el
@@ -66,12 +66,14 @@
 (define-key org-present-mode-keymap (kbd "C-c C-w") 'org-present-read-write)
 (define-key org-present-mode-keymap (kbd "C-c <")   'org-present-beginning)
 (define-key org-present-mode-keymap (kbd "C-c >")   'org-present-end)
+(define-key org-present-mode-keymap (kbd "C-c C-1") 
'org-present-toggle-one-big-page)
 
 ;; how much to scale up font size
 (defvar org-present-text-scale 5)
 (defvar org-present-cursor-cache (or cursor-type nil)
   "Holds the user set value of cursor for `org-present-read-only'")
 (defvar org-present-overlays-list nil)
+(defvar org-present-one-big-page nil)
 
 (define-minor-mode org-present-mode
   "Minimalist presentation minor mode for org-mode."
@@ -218,7 +220,7 @@ makes tabs work in presentation mode as in the rest of Org 
mode.")
   (define-key org-present-mode-keymap (kbd "SPC") #'org-present-next))
 
 (defun org-present-read-write ()
-  "Make buffer read-only."
+  "Make buffer read/write."
   (interactive)
   (setq buffer-read-only nil)
   (define-key org-present-mode-keymap (kbd "SPC") 'self-insert-command))
@@ -240,7 +242,7 @@ makes tabs work in presentation mode as in the rest of Org 
mode.")
 
 ;;;###autoload
 (defun org-present ()
-  "init."
+  "Start org presentation."
   (interactive)
   (setq org-present-mode t)
   (org-present-add-overlays)
@@ -248,6 +250,16 @@ makes tabs work in presentation mode as in the rest of Org 
mode.")
   (org-present-narrow)
   (org-present-run-after-navigate-functions))
 
+(defun org-present-toggle-one-big-page ()
+  "Toggle showing all pages in a buffer."
+  (interactive)
+  (if org-present-one-big-page
+  (progn
+(org-present-narrow)
+(setq-local org-present-one-big-page nil))
+(widen)
+(setq-local org-present-one-big-page t)))
+
 (defun org-present-quit ()
   "Quit the minor-mode."
   (interactive)



[nongnu] elpa/org-present updated (c0f1f36b23 -> 4ec04e1b77)

2022-08-06 Thread ELPA Syncer
elpasync pushed a change to branch elpa/org-present.

  from  c0f1f36b23 Merge pull request #42 from skangas/nongnu-badge
   new  3c3588be82 Add and fix description of key bindings
   new  60d063f20a Add org-present-toggle-one-big-page
   new  140a8c3a34 feat: Add a toggle for whether to hide stars in headings
   new  7be98b2c03 doc(org-present-hide-stars-in-headings): advise on use 
and effects
   new  444f3b3b7e link to blog and video
   new  868d7087ca Merge pull request #44 from rlister/systemcrafters-link
   new  17412d085f feat(folds): add org-present-startup-folded a la 
org-startup-folded
   new  ef1f1c5da9 Merge pull request #27 from 
Kazark/org-present-startup-folded
   new  d506a63fc5 Merge branch 'master' into toggle-heading-stars
   new  dfcb71c199 Merge pull request #26 from Kazark/toggle-heading-stars
   new  98b7d94a0f Merge branch 'master' into master
   new  4ec04e1b77 Merge pull request #36 from rhdxmr/master


Summary of changes:
 README.md  |  9 +++--
 org-present.el | 55 +++
 2 files changed, 50 insertions(+), 14 deletions(-)



[nongnu] elpa/org-present 17412d085f 03/12: feat(folds): add org-present-startup-folded a la org-startup-folded

2022-08-06 Thread ELPA Syncer
branch: elpa/org-present
commit 17412d085f949730844248749f64c853a08099f0
Author: Keith Pinson 
Commit: Keith Pinson 

feat(folds): add org-present-startup-folded a la org-startup-folded

This change seems appropriate to have in base `org-present` rather than as a
hook, because it accords with both parts of `org-present`.

 1. It fits with the `org` part because it is equivalent to
 `org-startup-folded`, but for presentation mode.
 2. It fits with the `present` part because it is analogous to the 
introduction
 of slide items by effects in other presentation programs: i.e., if you do 
not
 want to show the whole slide at first, but to unfurl it slowly.

We could have driven this feature of the `org-startup-folded` variable 
itself,
but it's probably making too much of a assumption about users' preferences 
to do
that. I want to make sure that this kind of change is opt-in for those who 
want
it and doesn't disturb existing users by suddenly changing behavior on an 
update.
---
 org-present.el | 19 ++-
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/org-present.el b/org-present.el
index 74d12607c4..467875cbd9 100644
--- a/org-present.el
+++ b/org-present.el
@@ -249,6 +249,12 @@
   (run-hooks 'org-present-mode-quit-hook)
   (setq org-present-mode nil))
 
+(defvar org-present-startup-folded nil
+  "Like `org-startup-folded', but for presentation mode. Also analogous to
+introduction of slide items by effects in other presentation programs: i.e., if
+you do not want to show the whole slide at first, but to unfurl it slowly, set
+this to non-nil.")
+
 (defvar org-present-after-navigate-functions nil
   "Abnormal hook run after org-present navigates to a new heading.")
 
@@ -260,11 +266,14 @@
(replace-regexp-in-string "[ \t\n]*\\'" "" string)))
 
 (defun org-present-run-after-navigate-functions ()
-  "Run org-present-after-navigate hook, passing the name of the presentation 
buffer and the current heading."
-  (let* ((title-text (thing-at-point 'line))
- (safe-title-text (replace-regexp-in-string "^[ \*]" "" title-text))
- (current-heading (org-present-trim-string safe-title-text)))
-(run-hook-with-args 'org-present-after-navigate-functions (buffer-name) 
current-heading)))
+  "Fold slide if `org-present-startup-folded' is non-nil.
+Run org-present-after-navigate hook, passing the name of the presentation 
buffer and the current heading."
+  (progn
+(if org-present-startup-folded (org-cycle))
+(let* ((title-text (thing-at-point 'line))
+   (safe-title-text (replace-regexp-in-string "^[ \*]" "" title-text))
+   (current-heading (org-present-trim-string safe-title-text)))
+  (run-hook-with-args 'org-present-after-navigate-functions (buffer-name) 
current-heading
 
 (provide 'org-present)
 ;;; org-present.el ends here



[nongnu] elpa/org-present 444f3b3b7e 06/12: link to blog and video

2022-08-06 Thread ELPA Syncer
branch: elpa/org-present
commit 444f3b3b7ed083fef67b532dd1d8e1987d22f237
Author: Richard Lister 
Commit: Richard Lister 

link to blog and video
---
 README.md | 4 
 1 file changed, 4 insertions(+)

diff --git a/README.md b/README.md
index 0c3be87a34..3090d78f9c 100644
--- a/README.md
+++ b/README.md
@@ -67,6 +67,10 @@ If you're on a Mac with an older emacs you might also want 
to look at the
 [fullscreen 
patch](http://cloud.github.com/downloads/typester/emacs/feature-fullscreen.patch).
 `toggle-frame-fullscreen` comes with emacs 24.
 
+## Customization
+
+David Wilson from System Crafters has made an excellent [blog 
post](https://systemcrafters.net/emacs-tips/presentations-with-org-present/) 
and [video](https://www.youtube.com/watch?v=SCPoF1PTZpI) about customization of 
`org-present`.
+
 ## Copyright
 
 Copyright © 2014 Richard Lister.



[nongnu] elpa/org-present 868d7087ca 07/12: Merge pull request #44 from rlister/systemcrafters-link

2022-08-06 Thread ELPA Syncer
branch: elpa/org-present
commit 868d7087caa4e6af97938cd00c06212dd2fe1caa
Merge: c0f1f36b23 444f3b3b7e
Author: Ric Lister 
Commit: GitHub 

Merge pull request #44 from rlister/systemcrafters-link

Link to systemcrafters blog and video
---
 README.md | 4 
 1 file changed, 4 insertions(+)

diff --git a/README.md b/README.md
index 0c3be87a34..3090d78f9c 100644
--- a/README.md
+++ b/README.md
@@ -67,6 +67,10 @@ If you're on a Mac with an older emacs you might also want 
to look at the
 [fullscreen 
patch](http://cloud.github.com/downloads/typester/emacs/feature-fullscreen.patch).
 `toggle-frame-fullscreen` comes with emacs 24.
 
+## Customization
+
+David Wilson from System Crafters has made an excellent [blog 
post](https://systemcrafters.net/emacs-tips/presentations-with-org-present/) 
and [video](https://www.youtube.com/watch?v=SCPoF1PTZpI) about customization of 
`org-present`.
+
 ## Copyright
 
 Copyright © 2014 Richard Lister.



[elpa] externals/pulsar f2b1e64785 1/3: Add missing autoload cookie

2022-08-06 Thread ELPA Syncer
branch: externals/pulsar
commit f2b1e64785a5be4f13c87a6195ae0f5e09e43232
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Add missing autoload cookie
---
 pulsar.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pulsar.el b/pulsar.el
index e93fbc33ed..8fed0c1790 100644
--- a/pulsar.el
+++ b/pulsar.el
@@ -436,6 +436,7 @@ This is a buffer-local mode.  Also check 
`pulsar-global-mode'."
 
  Recentering commands
 
+;;;###autoload
 (defmacro pulsar-recenter (name doc arg)
   "Produce command to pulse and recenter.
 The symbol is NAME, DOC for the doc string, and ARG is passed to



[elpa] externals/pulsar 9f189d5946 3/3: Simplify sample configuration

2022-08-06 Thread ELPA Syncer
branch: externals/pulsar
commit 9f189d59462e528c9388b009b193a9f56c2021b9
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

Simplify sample configuration
---
 README.org | 36 +++-
 1 file changed, 3 insertions(+), 33 deletions(-)

diff --git a/README.org b/README.org
index b0c606522f..66e4b2e275 100644
--- a/README.org
+++ b/README.org
@@ -213,39 +213,9 @@ Remember to read the doc string of each of these variables.
 #+begin_src emacs-lisp
 (require 'pulsar)
 
-;; This is the default value.  Just to show how it is done.
-(setq pulsar-pulse-functions
-  '(recenter-top-bottom
-move-to-window-line-top-bottom
-reposition-window
-bookmark-jump
-other-window
-delete-window
-delete-other-windows
-forward-page
-backward-page
-scroll-up-command
-scroll-down-command
-windmove-right
-windmove-left
-windmove-up
-windmove-down
-windmove-swap-states-right
-windmove-swap-states-left
-windmove-swap-states-up
-windmove-swap-states-down
-tab-new
-tab-close
-tab-next
-org-next-visible-heading
-org-previous-visible-heading
-org-forward-heading-same-level
-org-backward-heading-same-level
-outline-backward-same-level
-outline-forward-same-level
-outline-next-visible-heading
-outline-previous-visible-heading
-outline-up-heading))
+;; Check the default value of `pulsar-pulse-functions'.  That is where
+;; you add more commands that should cause a pulse after they are
+;; invoked
 
 (setq pulsar-pulse t)
 (setq pulsar-delay 0.055)



[elpa] externals/pulsar updated (1135de8da4 -> 9f189d5946)

2022-08-06 Thread ELPA Syncer
elpasync pushed a change to branch externals/pulsar.

  from  1135de8da4 Tweak doc format of pulsar-recenter macro
   new  f2b1e64785 Add missing autoload cookie
   new  a35413a814 DEPRECATE pulsar-pulse-on-window-change
   new  9f189d5946 Simplify sample configuration


Summary of changes:
 README.org | 46 -
 pulsar.el  | 77 +-
 2 files changed, 25 insertions(+), 98 deletions(-)



[elpa] externals/pulsar a35413a814 2/3: DEPRECATE pulsar-pulse-on-window-change

2022-08-06 Thread ELPA Syncer
branch: externals/pulsar
commit a35413a814af6c13cab04962b1cfa2b7903e61c0
Author: Protesilaos Stavrou 
Commit: Protesilaos Stavrou 

DEPRECATE pulsar-pulse-on-window-change

It adds complexity to an otherwise simple code base.  I noticed this
with commits 1848ba0 and 2c2600c.  There may be more cases to consider,
which makes me think this feature is not worth having.

This change may also be related to what djl reports in issue 3 on the
GitHub mirror about not pulsing in the minibuffer:
.
---
 README.org | 40 +
 pulsar.el  | 76 +-
 2 files changed, 36 insertions(+), 80 deletions(-)

diff --git a/README.org b/README.org
index 417b7ba844..b0c606522f 100644
--- a/README.org
+++ b/README.org
@@ -75,11 +75,6 @@ in the user option ~pulsar-pulse-functions~ and the effect 
takes place
 when either ~pulsar-mode~ (buffer-local) or ~pulsar-global-mode~ is
 enabled.
 
-There is no need to add all functions that affect the active window to
-the ~pulsar-pulse-functions~.  Instead, keep the user option
-~pulsar-pulse-on-window-change~ in its default non-nil value.  It will
-pulse the current line whenever the active window changes.
-
 #+vindex: pulsar-delay
 #+vindex: pulsar-iterations
 #+vindex: pulsar-face
@@ -218,32 +213,30 @@ Remember to read the doc string of each of these 
variables.
 #+begin_src emacs-lisp
 (require 'pulsar)
 
+;; This is the default value.  Just to show how it is done.
 (setq pulsar-pulse-functions
-  ;; NOTE 2022-04-09: The commented out functions are from before
-  ;; the introduction of `pulsar-pulse-on-window-change'.  Try that
-  ;; instead.
   '(recenter-top-bottom
 move-to-window-line-top-bottom
 reposition-window
-;; bookmark-jump
-;; other-window
-;; delete-window
-;; delete-other-windows
+bookmark-jump
+other-window
+delete-window
+delete-other-windows
 forward-page
 backward-page
 scroll-up-command
 scroll-down-command
-;; windmove-right
-;; windmove-left
-;; windmove-up
-;; windmove-down
-;; windmove-swap-states-right
-;; windmove-swap-states-left
-;; windmove-swap-states-up
-;; windmove-swap-states-down
-;; tab-new
-;; tab-close
-;; tab-next
+windmove-right
+windmove-left
+windmove-up
+windmove-down
+windmove-swap-states-right
+windmove-swap-states-left
+windmove-swap-states-up
+windmove-swap-states-down
+tab-new
+tab-close
+tab-next
 org-next-visible-heading
 org-previous-visible-heading
 org-forward-heading-same-level
@@ -254,7 +247,6 @@ Remember to read the doc string of each of these variables.
 outline-previous-visible-heading
 outline-up-heading))
 
-(setq pulsar-pulse-on-window-change t)
 (setq pulsar-pulse t)
 (setq pulsar-delay 0.055)
 (setq pulsar-iterations 10)
diff --git a/pulsar.el b/pulsar.el
index 8fed0c1790..ed62b86768 100644
--- a/pulsar.el
+++ b/pulsar.el
@@ -33,11 +33,6 @@
 ;; takes place when either `pulsar-mode' (buffer-local) or
 ;; `pulsar-global-mode' is enabled.
 ;;
-;; There is no need to add all functions that affect the active window
-;; to the `pulsar-pulse-functions'.  Instead, keep the user option
-;; `pulsar-pulse-on-window-change' in its default non-nil value.  It
-;; will pulse the current line whenever the active window changes.
-;;
 ;; The overall duration of the highlight is determined by a combination
 ;; of `pulsar-delay' and `pulsar-iterations'.  The latter determines the
 ;; number of blinks in a pulse, while the former sets their delay in
@@ -77,30 +72,28 @@ Extension of `pulse.el'."
  User options
 
 (defcustom pulsar-pulse-functions
-  ;; NOTE 2022-04-09: The commented out functions are from before the
-  ;; introduction of `pulsar-pulse-on-window-change'.  Try that instead.
   '(recenter-top-bottom
 move-to-window-line-top-bottom
 reposition-window
-;; bookmark-jump
-;; other-window
-;; delete-window
-;; delete-other-windows
+bookmark-jump
+other-window
+delete-window
+delete-other-windows
 forward-page
 backward-page
 scroll-up-command
 scroll-down-command
-;; windmove-right
-;; windmove-left
-;; windmove-up
-;; windmove-down
-;; windmove-swap-states-right
-;; windmove-swap-states-left
-;; windmove-swap-states-up
-;; windmove-swap-states-down
-;; tab-new
-;; tab-close
-;; tab-next
+windmove-right
+windmove-left
+windmove-up
+windmove-down
+windmove-swap-states-right
+windmove-swap-states-left
+windmove-swap-states-up
+windmove-swap-states-down
+tab-new
+tab-close
+tab-next
 org-ne

[elpa] main ef23926b68: * elpa-packages (consult-recoll, minibuffer-header, perl-doc): New packages

2022-08-06 Thread Stefan Monnier via
branch: main
commit ef23926b68909d23f4ed179b281b2eaa80b6df37
Author: Stefan Monnier 
Commit: Stefan Monnier 

* elpa-packages (consult-recoll, minibuffer-header, perl-doc): New packages
---
 elpa-packages | 14 --
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/elpa-packages b/elpa-packages
index b37e8a56f8..c7b1200b56 100644
--- a/elpa-packages
+++ b/elpa-packages
@@ -150,6 +150,10 @@
   :doc "README.org"
   :ignored-files ("images")
   :auto-sync t)
+ ("consult-recoll" :url "https://codeberg.org/jao/consult-recoll";
+  :ignored-files ("license")
+  :readme "readme.org"
+  :auto-sync t)
  ;; FIXME: https://github.com/jacksonrayhamilton/context-coloring/issues/9
  ("context-coloring"   :url 
"https://github.com/jacksonrayhamilton/context-coloring.git";)
  ("corfu"  :url "https://github.com/minad/corfu";
@@ -447,6 +451,9 @@
  ("metar"  :url nil)
  ("midi-kbd"   :url nil)
  ("mines"  :url "https://github.com/calancha/Minesweeper";)
+ ("minibuffer-header"  :url "https://github.com/rougier/minibuffer-header";
+  :ignored-files ("LICENSE.txt")
+  :auto-sync t)
  ("minibuffer-line":url nil)
  ("minimap":url nil)
  ("mmm-mode"
@@ -505,11 +512,11 @@
  ("org-modern" :url "https://github.com/minad/org-modern";
   :doc "README.org"
   :auto-sync t)
+ ("org-notify" :url "https://github.com/p-m/org-notify";
+  :auto-sync t)
  ("org-real"   :url "https://gitlab.com/tygrdev/org-real";
   :auto-sync t
   :ignored-files ("LICENSE"))
- ("org-notify" :url "https://github.com/p-m/org-notify";
-  :auto-sync t)
  ("org-remark" :url "https://github.com/nobiot/org-remark";
   :readme "README.org"
   :doc "docs/org-remark.org"
@@ -535,6 +542,9 @@
   :auto-sync t)
  ("path-iterator"  :url nil)
  ("peg":url) ;Was in "https://github.com/ellerh/peg.el";
+ ("perl-doc"   :url "https://github.com/HaraldJoerg/emacs-perl-doc";
+  :ignored-files ("LICENSE")
+  :auto-sync t)
  ("persist" :url "https://gitlab.com/phillord/persist";
   :auto-sync t)
  ;; FIXME: Waiting for copyright paperwork.



[elpa] externals/transient 3b267425c0: transient--fit-window-to-buffer: Use correct package prefix

2022-08-06 Thread Jonas Bernoulli
branch: externals/transient
commit 3b267425c0fe93a518a703d814cff3cf6a304a97
Author: Jonas Bernoulli 
Commit: Jonas Bernoulli 

transient--fit-window-to-buffer: Use correct package prefix
---
 lisp/transient.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/lisp/transient.el b/lisp/transient.el
index e823d9ba5d..8dce4d638d 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -3250,9 +3250,9 @@ have a history of their own.")
 (goto-char (point-min))
 (when transient-enable-popup-navigation
   (transient--goto-button focus))
-(magit--fit-window-to-buffer transient--window)
+(transient--fit-window-to-buffer transient--window)
 
-(defun magit--fit-window-to-buffer (window)
+(defun transient--fit-window-to-buffer (window)
   (let ((window-resize-pixelwise t)
 (window-size-fixed nil))
 (if (eq (car (window-parameter window 'quit-restore)) 'other)



[elpa] externals/consult-recoll 47b47e8a47 38/50: asynchronous snippets parsing

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 47b47e8a4701575e8ecb447431f23b21c10d3229
Author: jao 
Commit: jao 

asynchronous snippets parsing
---
 consult-recoll.el | 64 ---
 1 file changed, 33 insertions(+), 31 deletions(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index 93b3eadc72..eec67cec4e 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -79,29 +79,21 @@ Set to nil to use the default 'title (path)' format."
   "Face used to display MIME type of candidates.")
 
 (defvar consult-recoll-history nil "History for `consult-recoll'.")
-(defvar consult-recoll--current "")
+(defvar consult-recoll--current nil)
 
 (defun consult-recoll--command (text)
   "Command used to perform queries for TEXT."
-  (setq consult-recoll--current text)
-  `("recollq" ,@consult-recoll-search-flags ,text))
+  `("recollq" "-A" "-p" "5" ,@consult-recoll-search-flags ,text))
 
 (defconst consult-recoll--line-rx "^\\(.*?\\)\t\\[\\(.*?\\)\\]\t\\[\\(.*\\)\\]"
   "Regular expression decomposing result lines returned by recollq")
 
-(defun consult-recoll--transformer (str)
-  "Decode STR, as returned by recollq."
-  (when (string-match consult-recoll--line-rx str)
-(let* ((mime (match-string 1 str))
-   (url (match-string 2 str))
-   (title (match-string 3 str))
-   (urln (if (string-prefix-p "file://" url) (substring url 7) url))
-   (cand (if consult-recoll-format-candidate
- (funcall consult-recoll-format-candidate title urln mime)
-   (format "%s (%s)"
-   (propertize title 'face 'consult-recoll-title-face)
-   (propertize urln 'face 'consult-recoll-url-face)
-  (propertize cand 'mime-type mime 'url urln 'title title
+(defun consult-recoll--format (title urln mime)
+  (if consult-recoll-format-candidate
+  (funcall consult-recoll-format-candidate title urln mime)
+(format "%s (%s)"
+(propertize title 'face 'consult-recoll-title-face)
+(propertize urln 'face 'consult-recoll-url-face
 
 (defsubst consult-recoll--candidate-title (candidate)
   (get-text-property 0 'title candidate))
@@ -112,6 +104,9 @@ Set to nil to use the default 'title (path)' format."
 (defun consult-recoll--candidate-url (candidate)
   (get-text-property 0 'url candidate))
 
+(defun consult-recoll--snippets (&optional candidate)
+  (get-text-property 0 'snippets (or candidate consult-recoll--current)))
+
 (defun consult-recoll--open (candidate)
   "Open file of corresponding completion CANDIDATE."
   (when candidate
@@ -122,6 +117,25 @@ Set to nil to use the default 'title (path)' format."
  nil 'string=)))
   (funcall opener url
 
+(defun consult-recoll--transformer (str)
+  "Decode STR, as returned by recollq."
+  (cond ((string-match consult-recoll--line-rx str)
+ (let* ((mime (match-string 1 str))
+(url (match-string 2 str))
+(title (match-string 3 str))
+(urln (if (string-prefix-p "file://" url) (substring url 7) 
url))
+(cand (consult-recoll--format title url mime))
+(cand (propertize cand 'mime-type mime 'url urln 'title 
title)))
+   (setq consult-recoll--current cand)
+   nil))
+((string= "/SNIPPETS" str) consult-recoll--current)
+((string= "SNIPPETS" str) nil)
+(consult-recoll--current
+ (let ((snippets (concat (consult-recoll--snippets) "\n" str)))
+   (setq consult-recoll--current
+ (propertize consult-recoll--current 'snippets snippets)))
+ nil)))
+
 (defvar consult-recoll--preview-buffer "*consult-recoll preview*")
 
 (defun consult-recoll--preview (action candidate)
@@ -131,28 +145,15 @@ Set to nil to use the default 'title (path)' format."
(delete-region (point-min) (point-max
 ((and (eq action 'preview) candidate)
  (when-let* ((url (consult-recoll--candidate-url candidate))
- (q (format "recollq -A -p 5 filename:%s AND %s"
-(replace-regexp-in-string "^.+://" "" url)
-consult-recoll--current))
  (buff (get-buffer consult-recoll--preview-buffer)))
(with-current-buffer buff
  (delete-region (point-min) (point-max))
- (insert (shell-command-to-string q))
- (goto-char (point-min))
- (when (re-search-forward (regexp-quote (format "[%s]" url)) nil t)
-   (delete-region (point-min) (point)))
- (unless (re-search-forward "^SNIPPETS$" nil t)
-   (goto-char (point-max)))
- (delete-region (point-min) (point))
  (when-let (title (consult-recoll--candidate-title candidate))
(insert (propertize title 'face 'consult-recoll-title-face) 
"\n"))
  (inse

[elpa] externals/consult-recoll 9038cfa422 11/50: Use stock consult-lookup--member

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 9038cfa4222f428e28bdafa0aeb57362104a873d
Author: jao 
Commit: jao 

Use stock consult-lookup--member
---
 consult-recoll.el | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index 2b014964eb..020f6bf519 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -106,8 +106,7 @@ If given, use INITIAL as the starting point of the query."
(consult--async-map #'consult-recoll--transformer))
  :prompt consult-recoll-prompt
  :require-match t
- :lookup (lambda (_ cs c)
-   (seq-find (lambda (x) (string= c x)) cs))
+ :lookup #'consult--lookup-member
  :initial (concat consult-async-default-split initial)
  :history 'consult-recoll-history
  :category 'recoll-result))



[elpa] externals/consult-recoll fe7a09b99d 13/50: new consult--async-command protocol

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit fe7a09b99d1497a30e11a2f86b6415adde00788a
Author: jao 
Commit: jao 

new consult--async-command protocol
---
 consult-recoll.el | 13 +++--
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index 90922589de..db95383197 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -4,8 +4,8 @@
 ;; Maintainer: Jose A Ortega Ruiz
 ;; Keywords: docs, convenience
 ;; License: GPL-3.0-or-later
-;; Version: 0.1
-;; Package-Requires: ((emacs "26.1") (consult "0.8"))
+;; Version: 0.2
+;; Package-Requires: ((emacs "26.1") (consult "0.9"))
 ;; Homepage: https://codeberg.org/jao/consult-recoll
 
 ;; Copyright (C) 2021  Jose A Ortega Ruiz
@@ -67,9 +67,9 @@ Set to nil to use the default 'title (path)' format."
 
 (defvar consult-recoll-history nil "History for `consult-recoll'.")
 
-(defvar consult-recoll--command
-  "recollq -a -F \"url title mtype\" ARG"
-  "Command used to perform queries.")
+(defun consult-recoll--command (text)
+  "Command used to perform queries for TEXT."
+  `("recollq" "-a" "-F" "url title mtype" ,text))
 
 (defun consult-recoll--transformer (str)
   "Decode STR, as returned by recollq."
@@ -101,7 +101,8 @@ Set to nil to use the default 'title (path)' format."
 (defun consult-recoll--search (&optional initial)
   "Perform an asynchronous recoll search via `consult--read'.
 If given, use INITIAL as the starting point of the query."
-  (consult--read (consult--async-command consult-recoll--command
+  (consult--read (consult--async-command
+ #'consult-recoll--command
(consult--async-filter #'identity)
(consult--async-map #'consult-recoll--transformer))
  :prompt consult-recoll-prompt



[elpa] externals/consult-recoll 889cd8daf2 26/50: readme: fragment for internal link

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 889cd8daf2ac7a513ec3bce8ebb5c5ee9e1d1f69
Author: jao 
Commit: jao 

readme: fragment for internal link
---
 readme.org | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/readme.org b/readme.org
index 4952deda38..b405ee9964 100644
--- a/readme.org
+++ b/readme.org
@@ -18,7 +18,7 @@ display its results, via 
[[https://github.com/minad/consult][consult]].
 any query and get its results dynamically displayed in the minibuffer,
 with "live" updates as the query changes.  Selecting any of the candidate
 results will open the associated file, using the functions in
-~consult-recoll-open-fns~ (see [[*Opening search results]] below).
+~consult-recoll-open-fns~ (see [[#opening-results][Opening search 
results]] below).
 
 By default, your input will be interpreted as a recoll query, in the
 recoll query language (so you can issue queries like "author:j...@foo.io"
@@ -37,6 +37,9 @@ display its results, via 
[[https://github.com/minad/consult][consult]].
 ~consult-recoll-format-candidate~.
 
 *** Opening search results
+:PROPERTIES:
+:CUSTOM_ID: opening-results
+:END:
 
 When a search result candidate is selected, it's MIME type is used to
 lookup a function to open its associated file in the customizable variable



[elpa] externals/consult-recoll 2e70eebee4 40/50: new feature: grouping search results by mime type

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 2e70eebee41065866cb3f024f2b86ef2caa6d831
Author: jao 
Commit: jao 

new feature: grouping search results by mime type
---
 consult-recoll.el | 12 +++-
 readme.org|  5 +
 2 files changed, 16 insertions(+), 1 deletion(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index 9f3c7a6107..e4cdcf9397 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -55,7 +55,7 @@
  (list string)))
 
 (defcustom consult-recoll-open-fn #'find-file
-  "Default function used to open candidate URL.
+  "Default function used to open candidate URLs.
 It receives a single argument, the full path to the file to open.
 See also `consult-recoll-open-fns'"
   :type 'function)
@@ -64,6 +64,10 @@ See also `consult-recoll-open-fns'"
   "Alist mapping mime types to functions to open a selected candidate."
   :type '(alist :key-type string :value-type function))
 
+(defcustom consult-recoll-group-by-mime t
+  "When set, list search results grouped by mime type."
+  :type 'boolean)
+
 (defcustom consult-recoll-format-candidate nil
   "A function taking title, path and mime type, and formatting them for 
display.
 Set to nil to use the default 'title (path)' format."
@@ -161,6 +165,10 @@ Set to nil to use the default 'title (path)' format."
  (when (get-buffer consult-recoll--preview-buffer)
(kill-buffer consult-recoll--preview-buffer)
 
+(defun consult-recoll--group (candidate transform)
+  "If TRANSFORM return candidate, othewise extract mime-type."
+  (if transform candidate (consult-recoll--candidate-mime candidate)))
+
 (defun consult-recoll--search (&optional initial)
   "Perform an asynchronous recoll search via `consult--read'.
 If given, use INITIAL as the starting point of the query."
@@ -174,6 +182,8 @@ If given, use INITIAL as the starting point of the query."
  :lookup #'consult--lookup-member
  :sort nil
  :state #'consult-recoll--preview
+ :group (and consult-recoll-group-by-mime
+ #'consult-recoll--group)
  :initial (consult--async-split-initial initial)
  :history '(:input consult-recoll-history)
  :category 'recoll-result))
diff --git a/readme.org b/readme.org
index 3337356664..d5d83adc44 100644
--- a/readme.org
+++ b/readme.org
@@ -98,6 +98,11 @@ display its results, via 
[[https://github.com/minad/consult][consult]].
   (setq consult-recoll-format-candidate #'jao-recoll-format)
 #+end_src
 
+*** Tip: disabling mime type groups
+By default, results are listed grouped by their mime type.  You can
+disable grouping by setting the customizable variable
+~consult-recoll-group-by-mime~ to ~nil~.
+
 ** Opening search results
 :PROPERTIES:
 :CUSTOM_ID: opening-results



[elpa] externals/consult-recoll 7b54edb8ac 12/50: removing deprecated consult-async-default-split

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 7b54edb8ac011015ccb43c9d6193e455b4405425
Author: jao 
Commit: jao 

removing deprecated consult-async-default-split
---
 consult-recoll.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index 020f6bf519..90922589de 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -5,7 +5,7 @@
 ;; Keywords: docs, convenience
 ;; License: GPL-3.0-or-later
 ;; Version: 0.1
-;; Package-Requires: ((emacs "26.1") (consult "0.5"))
+;; Package-Requires: ((emacs "26.1") (consult "0.8"))
 ;; Homepage: https://codeberg.org/jao/consult-recoll
 
 ;; Copyright (C) 2021  Jose A Ortega Ruiz
@@ -107,7 +107,7 @@ If given, use INITIAL as the starting point of the query."
  :prompt consult-recoll-prompt
  :require-match t
  :lookup #'consult--lookup-member
- :initial (concat consult-async-default-split initial)
+ :initial (consult--async-split-initial initial)
  :history 'consult-recoll-history
  :category 'recoll-result))
 



[elpa] externals/consult-recoll 8210ee3fef 10/50: redundant subr-x require to bypass issue #1

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 8210ee3fef72aecae116f680ebfc9c1a4569d629
Author: jao 
Commit: jao 

redundant subr-x require to bypass issue #1
---
 consult-recoll.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/consult-recoll.el b/consult-recoll.el
index 53d739f741..2b014964eb 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -33,6 +33,7 @@
 ;;; Code:
 
 (require 'seq)
+(require 'subr-x)
 (require 'consult)
 
 (defgroup consult-recoll nil



[elpa] externals/consult-recoll 0c2c8c12b9 14/50: new user option consult-recoll-search-flags

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 0c2c8c12b9c92f5763ab04d849b4780cbb8359d4
Author: jao 
Commit: jao 

new user option consult-recoll-search-flags
---
 consult-recoll.el | 19 +++
 1 file changed, 11 insertions(+), 8 deletions(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index db95383197..43857cd402 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -44,6 +44,12 @@
   "Prompt used by `consult-recoll'."
   :type 'string)
 
+(defcustom consult-recoll-search-flags '("-a")
+  "List of flags used to perform queries via recollq."
+  :type '(choice (const :tag "Query language" nil)
+ (const :tag "All terms" ("-a"))
+ (list string)))
+
 (defcustom consult-recoll-open-fn #'find-file
   "Default function used to open candidate URL.
 It receives a single argument, the full path to the file to open.
@@ -69,18 +75,15 @@ Set to nil to use the default 'title (path)' format."
 
 (defun consult-recoll--command (text)
   "Command used to perform queries for TEXT."
-  `("recollq" "-a" "-F" "url title mtype" ,text))
+  `("recollq" ,@consult-recoll-search-flags ,text))
 
 (defun consult-recoll--transformer (str)
   "Decode STR, as returned by recollq."
-  (unless (string-match-p "^\\(Recoll query:\\|[0-9]+ results\\| *$\\)" str)
-(let* ((cmps (split-string str " "))
-   (fields (seq-map #'base64-decode-string cmps))
-   (url (car fields))
-   (title (cadr fields))
-   (title (if (string= "" title) (file-name-base url) title))
+  (when (string-match "^\\([^[]+\\)\t\\[\\([^]]+\\)\\]\t\\[\\([^[]+\\)\\]" str)
+(let* ((mime (match-string 1 str))
+   (url (match-string 2 str))
+   (title (match-string 3 str))
(urln (if (string-prefix-p "file://" url) (substring url 7) url))
-   (mime (nth 2 fields))
(cand (if consult-recoll-format-candidate
  (funcall consult-recoll-format-candidate title urln mime)
(format "%s (%s)"



[elpa] externals/consult-recoll d96779ece2 01/50: Initial commit

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit d96779ece29fe499ad29e213797a6b81c7faf11b
Author: jao 
Commit: jao 

Initial commit
---
 .gitignore |  13 ++
 LICENSE| 625 +
 README.md  |   3 +
 3 files changed, 641 insertions(+)

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00..92112bec18
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,13 @@
+# ---> Elisp
+# Compiled
+*.elc
+
+# Packaging
+.cask
+
+# Backup files
+*~
+
+# Undo-tree save-files
+*.~undo-tree
+
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 00..e142a525bd
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,625 @@
+GNU GENERAL PUBLIC LICENSE
+
+Version 3, 29 June 2007
+
+Copyright © 2007 Free Software Foundation, Inc. 
+
+Everyone is permitted to copy and distribute verbatim copies of this license
+document, but changing it is not allowed.
+
+Preamble
+
+The GNU General Public License is a free, copyleft license for software and
+other kinds of works.
+
+The licenses for most software and other practical works are designed to take
+away your freedom to share and change the works. By contrast, the GNU General
+Public License is intended to guarantee your freedom to share and change all
+versions of a program--to make sure it remains free software for all its users.
+We, the Free Software Foundation, use the GNU General Public License for most
+of our software; it applies also to any other work released this way by its
+authors. You can apply it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. Our
+General Public Licenses are designed to make sure that you have the freedom
+to distribute copies of free software (and charge for them if you wish), that
+you receive source code or can get it if you want it, that you can change
+the software or use pieces of it in new free programs, and that you know you
+can do these things.
+
+To protect your rights, we need to prevent others from denying you these rights
+or asking you to surrender the rights. Therefore, you have certain 
responsibilities
+if you distribute copies of the software, or if you modify it: responsibilities
+to respect the freedom of others.
+
+For example, if you distribute copies of such a program, whether gratis or
+for a fee, you must pass on to the recipients the same freedoms that you 
received.
+You must make sure that they, too, receive or can get the source code. And
+you must show them these terms so they know their rights.
+
+Developers that use the GNU GPL protect your rights with two steps: (1) assert
+copyright on the software, and (2) offer you this License giving you legal
+permission to copy, distribute and/or modify it.
+
+For the developers' and authors' protection, the GPL clearly explains that
+there is no warranty for this free software. For both users' and authors'
+sake, the GPL requires that modified versions be marked as changed, so that
+their problems will not be attributed erroneously to authors of previous 
versions.
+
+Some devices are designed to deny users access to install or run modified
+versions of the software inside them, although the manufacturer can do so.
+This is fundamentally incompatible with the aim of protecting users' freedom
+to change the software. The systematic pattern of such abuse occurs in the
+area of products for individuals to use, which is precisely where it is most
+unacceptable. Therefore, we have designed this version of the GPL to prohibit
+the practice for those products. If such problems arise substantially in other
+domains, we stand ready to extend this provision to those domains in future
+versions of the GPL, as needed to protect the freedom of users.
+
+Finally, every program is threatened constantly by software patents. States
+should not allow patents to restrict development and use of software on 
general-purpose
+computers, but in those that do, we wish to avoid the special danger that
+patents applied to a free program could make it effectively proprietary. To
+prevent this, the GPL assures that patents cannot be used to render the program
+non-free.
+
+The precise terms and conditions for copying, distribution and modification
+follow.
+
+TERMS AND CONDITIONS
+
+   0. Definitions.
+
+   "This License" refers to version 3 of the GNU General Public License.
+
+"Copyright" also means copyright-like laws that apply to other kinds of works,
+such as semiconductor masks.
+
+"The Program" refers to any copyrightable work licensed under this License.
+Each licensee is addressed as "you". "Licensees" and "recipients" may be 
individuals
+or organizations.
+
+To "modify" a work means to copy from or adapt all or part of the work in
+a fashion requiring copyright permission, other than the making of an exact
+copy. The resulting work is called a "modified version" of the earlier work
+or a work "based on" the earlier work.
+
+A "covered work" means either the unmodified P

[elpa] externals/consult-recoll 00105e94a4 03/50: customization group

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 00105e94a4bda67a19ca2baa9d5329db3c198bbf
Author: jao 
Commit: jao 

customization group
---
 consult-recoll.el | 18 --
 1 file changed, 12 insertions(+), 6 deletions(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index 1a57abb130..62cf1bc60c 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -32,12 +32,14 @@
 
 (require 'consult)
 
-(defvar consult-recoll--command
-  "recollq -a -F \"url title\" ARG"
-  "Command used to perform queries.")
+(defgroup consult-recoll nil
+  "Options for consult recoll."
+  :group 'consult)
 
-(defvar consult-recoll--open-fn #'find-file
-  "Function used to open candidate URL.")
+(defcustom consult-recoll-open-fn #'find-file
+  "Function used to open candidate URL.
+It receives a single argument, the full path to the file to open."
+  :type 'function)
 
 (defface consult-recoll-url-face '((t :inherit default))
   "Face used to display URLs of candidates.")
@@ -47,6 +49,10 @@
 
 (defvar consult-recoll-history nil "History for `consult-recoll'.")
 
+(defvar consult-recoll--command
+  "recollq -a -F \"url title\" ARG"
+  "Command used to perform queries.")
+
 (defun consult-recoll--transformer (str)
   "Decode STR, as returned by recollq."
   (unless (string-match-p "^\\(Recoll query:\\|[0-9]+ results\\| *$\\)" str)
@@ -62,7 +68,7 @@
 (defun consult-recoll--open (candidate)
   "Open file of corresponding completion CANDIDATE."
   (when (string-match ".+ (\\(.+\\))$" (or candidate ""))
-(funcall consult-recoll--open-fn (match-string 1 candidate
+(funcall consult-recoll-open-fn (match-string 1 candidate
 
 (defun consult-recoll--search (&optional initial)
   "Perform an asynchronous recoll search via `consult--read'.



[elpa] externals/consult-recoll 370a31d1c4 09/50: MELPA review

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 370a31d1c4183e681830a0e6fd4cb5ca0e42757b
Author: jao 
Commit: jao 

MELPA review
---
 consult-recoll.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index e4cdc26143..53d739f741 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -27,7 +27,7 @@
 
 ;; A `consult-recoll' command to perform simple interactive queries
 ;; over your Recoll (https://www.lesbonscomptes.com/recoll/) index.
-;; See the corresponding custumization group for ways to tweak its
+;; See the corresponding customization group for ways to tweak its
 ;; behaviour to your needs.
 
 ;;; Code:
@@ -101,7 +101,7 @@ Set to nil to use the default 'title (path)' format."
   "Perform an asynchronous recoll search via `consult--read'.
 If given, use INITIAL as the starting point of the query."
   (consult--read (consult--async-command consult-recoll--command
-   (consult--async-filter (lambda (x) (not (null x
+   (consult--async-filter #'identity)
(consult--async-map #'consult-recoll--transformer))
  :prompt consult-recoll-prompt
  :require-match t



[elpa] externals/consult-recoll 2dd853c6c9 29/50: consult live previews showing recoll snippets

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 2dd853c6c950b8f57dfea3308165f5bb46c9f47c
Author: jao 
Commit: jao 

consult live previews showing recoll snippets
---
 consult-recoll.el | 64 +--
 readme.org| 61 
 2 files changed, 91 insertions(+), 34 deletions(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index ae4b860751..5b685659ea 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -25,8 +25,9 @@
 
 ;;; Commentary:
 
-;; A `consult-recoll' command to perform interactive queries over your Recoll
-;; (https://www.lesbonscomptes.com/recoll/) index using consult. Use
+;; A `consult-recoll' command to perform interactive queries (including life
+;; previews of documment snippets) over your Recoll
+;; (https://www.lesbonscomptes.com/recoll/) index, using consult. Use
 ;;
 ;; M-x consult-recoll
 ;;
@@ -68,16 +69,21 @@ See also `consult-recoll-open-fns'"
 Set to nil to use the default 'title (path)' format."
   :type '(choice (const nil) function))
 
-(defface consult-recoll-url-face '((t :inherit default))
+(defface consult-recoll-url-face '((t :inherit link))
   "Face used to display URLs of candidates.")
 
 (defface consult-recoll-title-face '((t :inherit italic))
   "Face used to display titles of candidates.")
 
+(defface consult-recoll-mime-face '((t :inherit font-lock-comment-face))
+  "Face used to display MIME type of candidates.")
+
 (defvar consult-recoll-history nil "History for `consult-recoll'.")
+(defvar consult-recoll--current "")
 
 (defun consult-recoll--command (text)
   "Command used to perform queries for TEXT."
+  (setq consult-recoll--current text)
   `("recollq" ,@consult-recoll-search-flags ,text))
 
 (defun consult-recoll--transformer (str)
@@ -92,18 +98,63 @@ Set to nil to use the default 'title (path)' format."
(format "%s (%s)"
(propertize title 'face 'consult-recoll-title-face)
(propertize urln 'face 'consult-recoll-url-face)
-  (propertize cand 'mime-type mime 'url urln
+  (propertize cand 'mime-type mime 'url urln 'title title
+
+(defsubst consult-recoll--candidate-title (candidate)
+  (get-text-property 0 'title candidate))
+
+(defsubst consult-recoll--candidate-mime (candidate)
+  (get-text-property 0 'mime-type candidate))
+
+(defun consult-recoll--candidate-url (candidate)
+  (get-text-property 0 'url candidate))
 
 (defun consult-recoll--open (candidate)
   "Open file of corresponding completion CANDIDATE."
   (when candidate
-(let ((url (get-text-property 0 'url candidate))
-  (opener (alist-get (get-text-property 0 'mime-type candidate)
+(let ((url (consult-recoll--candidate-url candidate))
+  (opener (alist-get (consult-recoll--candidate-mime candidate)
  consult-recoll-open-fns
  (or consult-recoll-open-fn #'find-file)
  nil 'string=)))
   (funcall opener url
 
+(defvar consult-recoll--preview-buffer "*consult-recoll preview*")
+
+(defun consult-recoll--preview (action candidate)
+  "Preview search result CANDIDATE when ACTION is 'preview."
+  (cond ((or (eq action 'setup) (null candidate))
+ (with-current-buffer (get-buffer-create 
consult-recoll--preview-buffer)
+   (delete-region (point-min) (point-max
+((and (eq action 'preview) candidate)
+ (when-let* ((url (consult-recoll--candidate-url candidate))
+ (q (format "recollq -A -p 5 filename:%s AND %s"
+(replace-regexp-in-string "^.+://" "" url)
+consult-recoll--current))
+ (buff (get-buffer consult-recoll--preview-buffer)))
+   (with-current-buffer buff
+ (delete-region (point-min) (point-max))
+ (insert (shell-command-to-string q))
+ (goto-char (point-min))
+ (when (re-search-forward (regexp-quote (format "[%s]" url)) nil t)
+   (delete-region (point-min) (point)))
+ (unless (re-search-forward "^SNIPPETS$" nil t)
+   (goto-char (point-max)))
+ (delete-region (point-min) (point))
+ (when-let (title (consult-recoll--candidate-title candidate))
+   (insert (propertize title 'face 'consult-recoll-title-face) 
"\n"))
+ (insert (propertize url 'face 'consult-recoll-url-face) "\n")
+ (insert (propertize (consult-recoll--candidate-mime candidate)
+ 'face 'consult-recoll-mime-face)
+ "\n")
+ (when (re-search-forward "^/SNIPPETS$" nil t)
+   (replace-match ""))
+ (delete-region (point) (point-max)))
+   (pop-to-buffer buff)))
+((eq action 'exit)
+ (when (get-buffer consult-recoll--preview-buffer)
+  

[elpa] externals/consult-recoll c68b79f130 05/50: customizable prompt

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit c68b79f1303d526f8f4717dbaa91112ecaca4ceb
Author: jao 
Commit: jao 

customizable prompt
---
 consult-recoll.el | 7 ++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index 70268d085d..e4cdc26143 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -32,12 +32,17 @@
 
 ;;; Code:
 
+(require 'seq)
 (require 'consult)
 
 (defgroup consult-recoll nil
   "Options for consult recoll."
   :group 'consult)
 
+(defcustom consult-recoll-prompt "Recoll search: "
+  "Prompt used by `consult-recoll'."
+  :type 'string)
+
 (defcustom consult-recoll-open-fn #'find-file
   "Default function used to open candidate URL.
 It receives a single argument, the full path to the file to open.
@@ -98,7 +103,7 @@ If given, use INITIAL as the starting point of the query."
   (consult--read (consult--async-command consult-recoll--command
(consult--async-filter (lambda (x) (not (null x
(consult--async-map #'consult-recoll--transformer))
- :prompt "Recoll search: "
+ :prompt consult-recoll-prompt
  :require-match t
  :lookup (lambda (_ cs c)
(seq-find (lambda (x) (string= c x)) cs))



[elpa] externals/consult-recoll 0105066d19 32/50: readme nits and screenshot

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 0105066d19b1fd1fc709c2156a2b9399dbf8bde1
Author: jao 
Commit: jao 

readme nits and screenshot
---
 consult-recoll.png | Bin 0 -> 85622 bytes
 readme.org |  12 +++-
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/consult-recoll.png b/consult-recoll.png
new file mode 100644
index 00..dc7f3da656
Binary files /dev/null and b/consult-recoll.png differ
diff --git a/readme.org b/readme.org
index 0e845f8018..7aa8d1d1d7 100644
--- a/readme.org
+++ b/readme.org
@@ -21,9 +21,11 @@ text in the found document actually matching the query.
 This package provides an emacs interface to perform recoll queries, and
 display its results, via [[https://github.com/minad/consult][consult]].
 
+[[./consult-recoll.png]]
+
 * Usage
 
-*** Searching
+** Searching
 
 The entry point of ~consult-recoll~ is the interactive command
 =consult-recoll=. Just invoke it (e.g., via =M-x consult-recoll=) to 
perform
@@ -38,7 +40,7 @@ display its results, via 
[[https://github.com/minad/consult][consult]].
 You can fine tune how queries are issued by customizing
 ~consult-recoll-search-flags~.
 
-* Tip: Two-level filtering
+*** Tip: Two-level filtering
 
   ~consult-recoll~ builds on the asychronous logic inside =consult.el=,
   so you can use consult's handy 
[[https://github.com/minad/consult#asynchronous-search][two-level filtering]], 
which allows
@@ -61,7 +63,7 @@ display its results, via 
[[https://github.com/minad/consult][consult]].
   offered.
 
 
-*** Displaying results
+** Displaying results
 
 For each matching result, ~consult-recoll~ retrieves its title, full file
 name and mime type, and shows, by default, a line with the first two in
@@ -71,12 +73,12 @@ display its results, via 
[[https://github.com/minad/consult][consult]].
 the MIME) as the value of the customizable variable
 ~consult-recoll-format-candidate~.
 
-~consult-recoll~ also uses consult's 
[[https://github.com/minad/consult#live-previews][live previews]] to show, for 
the each
+~consult-recoll~ also uses consult's 
[[https://github.com/minad/consult#live-previews][live previews]] to show, for 
each
 selected candidate hit, a buffer with further information, including
 snippets of the file (when provided by recoll).  The title, path and mime
 type of the document are also shown in previews.
 
-*** Opening search results
+** Opening search results
 :PROPERTIES:
 :CUSTOM_ID: opening-results
 :END:



[elpa] externals/consult-recoll d46470c64d 20/50: readme tweaks

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit d46470c64d3b24befa7dd439991a8aa547b18255
Author: jao 
Commit: jao 

readme tweaks
---
 readme.org | 25 +++--
 1 file changed, 15 insertions(+), 10 deletions(-)

diff --git a/readme.org b/readme.org
index 24f909901b..27da00ef91 100644
--- a/readme.org
+++ b/readme.org
@@ -10,17 +10,22 @@ path.
   - See also the associated customization group for ways to tweak the
 command's behaviour (e.g., how the selected candidate is visited).
 
-~consult-recoll~ builds on the asychronous logic inside =consult.el=, so
-you can use consult's handy 
[[https://github.com/minad/consult#asynchronous-search][two-level filtering]], 
which allows
-searching over the results of a query. For example, if you start
-typing
+* Tips
 
-#goedel's theorem
+*** Two-level filtering
 
-see a bunch of results, and want to narrow them to those lines
-matching, say, "hofstadter", you can type ~#~ (which stops further
-recoll queries) followed by the term you're interested in:
+~consult-recoll~ builds on the asychronous logic inside =consult.el=,
+so you can use consult's handy 
[[https://github.com/minad/consult#asynchronous-search][two-level filtering]], 
which allows
+searching over the results of a query. For example, if you start
+typing
 
-   #goedel's theorem#hofstadter
+  #goedel's theorem
 
-at which point only matches containing "hofstadter" will be offered.
+see a bunch of results, and want to narrow them to those lines
+matching, say, "hofstadter", you can type ~#~ (which stops further
+recoll queries) followed by the term you're interested in:
+
+  #goedel's theorem#hofstadter
+
+at which point only matches containing "hofstadter" will be
+offered.



[elpa] externals/consult-recoll 6ea952cd4c 36/50: back to the previous regexp, it's more precise in the common case

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 6ea952cd4cbbfb9276325adbf05d6e050d225d51
Author: jao 
Commit: jao 

back to the previous regexp, it's more precise in the common case
---
 consult-recoll.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index 93b3eadc72..9acbd1eecc 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -86,7 +86,7 @@ Set to nil to use the default 'title (path)' format."
   (setq consult-recoll--current text)
   `("recollq" ,@consult-recoll-search-flags ,text))
 
-(defconst consult-recoll--line-rx "^\\(.*?\\)\t\\[\\(.*?\\)\\]\t\\[\\(.*\\)\\]"
+(defconst consult-recoll--line-rx 
"^\\([^[]+\\)\t\\[\\([^]]+\\)\\]\t\\[\\([^[]+\\)\\]"
   "Regular expression decomposing result lines returned by recollq")
 
 (defun consult-recoll--transformer (str)



[elpa] externals/consult-recoll 1c48329d90 48/50: fix: show also results that have no snippets

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 1c48329d90f93ec9718b4a2a4775a9b16ed802ca
Author: jao 
Commit: jao 

fix: show also results that have no snippets
---
 consult-recoll.el | 12 +++-
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index c98971fd7c..b2bf0e0769 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -4,7 +4,7 @@
 ;; Maintainer: Jose A Ortega Ruiz
 ;; Keywords: docs, convenience
 ;; License: GPL-3.0-or-later
-;; Version: 0.6
+;; Version: 0.6.1
 ;; Package-Requires: ((emacs "26.1") (consult "0.18"))
 ;; Homepage: https://codeberg.org/jao/consult-recoll
 
@@ -129,7 +129,7 @@ Set to nil to use the default 'title (path)' format."
   (get-text-property 0 'index candidate))
 
 (defsubst consult-recoll--snippets (&optional candidate)
-  (get-text-property 0 'snippets (or candidate consult-recoll--current)))
+  (get-text-property 0 'snippets (or candidate consult-recoll--current "")))
 
 (defsubst consult-recoll--find-file (file &optional _page) (find-file file))
 
@@ -159,12 +159,14 @@ Set to nil to use the default 'title (path)' format."
   'url urln
   'title title
   'index idx)))
-   (setq consult-recoll--current cand)
-   nil))
+   (prog1 (and (not (consult-recoll--snippets)) 
consult-recoll--current)
+ (setq consult-recoll--current cand
 ((string= "/SNIPPETS" str)
  (and (not consult-recoll-inline-snippets) consult-recoll--current))
 ((string= "SNIPPETS" str)
- (and consult-recoll-inline-snippets consult-recoll--current))
+ (and consult-recoll-inline-snippets
+  (setq consult-recoll--current
+(propertize consult-recoll--current 'snippets t
 ((and consult-recoll-inline-snippets consult-recoll--current)
  (when-let* ((page (and (string-match "^\\([0-9]+\\) :" str)
 (match-string 1 str)))



[elpa] externals/consult-recoll 39251b54eb 43/50: screenshot: no-groups and inline

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 39251b54ebcdf30acfcdf6bf0bb89b78fee78958
Author: jao 
Commit: jao 

screenshot: no-groups and inline
---
 consult-recoll-inline.png  | Bin 0 -> 62416 bytes
 consult-recoll.png => consult-recoll-no-groups.png | Bin
 consult-recoll.png | Bin 85622 -> 45006 bytes
 readme.org |   7 ++-
 4 files changed, 6 insertions(+), 1 deletion(-)

diff --git a/consult-recoll-inline.png b/consult-recoll-inline.png
new file mode 100644
index 00..07c8efeec8
Binary files /dev/null and b/consult-recoll-inline.png differ
diff --git a/consult-recoll.png b/consult-recoll-no-groups.png
similarity index 100%
copy from consult-recoll.png
copy to consult-recoll-no-groups.png
diff --git a/consult-recoll.png b/consult-recoll.png
index dc7f3da656..e8a72a4f62 100644
Binary files a/consult-recoll.png and b/consult-recoll.png differ
diff --git a/readme.org b/readme.org
index 67c40ba561..22efdb01f2 100644
--- a/readme.org
+++ b/readme.org
@@ -21,6 +21,8 @@ text in the found document actually matching the query.
 This package provides an emacs interface to perform recoll queries, and
 display its results, via [[https://github.com/minad/consult][consult]].
 
+[[./consult-recoll.png]]
+
 * Usage
 
 ** Searching
@@ -103,12 +105,15 @@ display its results, via 
[[https://github.com/minad/consult][consult]].
 Instead of relying on a separate preview buffer to display snippets, you
 can set ~consult-recoll-inline-snippets~ to ~t~ to show them in the 
minibuffer,
 as individual candidates.
+
+[[./consult-recoll-inline.png]]
+
 *** Tip: disabling mime type groups
 By default, results are listed grouped by their mime type.  You can
 disable grouping by setting the customizable variable
 ~consult-recoll-group-by-mime~ to ~nil~.
 
-[[./consult-recoll.png]]
+[[./consult-recoll-no-groups.png]]
 
 ** Opening search results
:PROPERTIES:



[elpa] externals/consult-recoll 228306eeda 22/50: version bump

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 228306eeda8c57db45609ca068f60ee433367c17
Author: jao 
Commit: jao 

version bump
---
 consult-recoll.el | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index ac19cf63b9..ffb5932f23 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -4,11 +4,11 @@
 ;; Maintainer: Jose A Ortega Ruiz
 ;; Keywords: docs, convenience
 ;; License: GPL-3.0-or-later
-;; Version: 0.3
+;; Version: 0.4
 ;; Package-Requires: ((emacs "26.1") (consult "0.9"))
 ;; Homepage: https://codeberg.org/jao/consult-recoll
 
-;; Copyright (C) 2021  Jose A Ortega Ruiz
+;; Copyright (C) 2021, 2022  Jose A Ortega Ruiz
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by



[elpa] externals/consult-recoll eab09d7fe6 44/50: documentation nits (section levels)

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit eab09d7fe685ac3def86a7241a537d2f26a8d078
Author: jao 
Commit: jao 

documentation nits (section levels)
---
 readme.org | 23 ++-
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/readme.org b/readme.org
index 22efdb01f2..bad7703f54 100644
--- a/readme.org
+++ b/readme.org
@@ -15,17 +15,15 @@
 
 [[https://www.lesbonscomptes.com/recoll/][Recoll]] is a local search engine 
that knows how to index a wide variety of file
 formats, including PDFs, org and other text files and emails.  It also offers
-a sophisticated query language, and, for some document kinds, snippets of the
-text in the found document actually matching the query.
+a sophisticated query language, and, for some document kinds, snippets in the
+the found documents actually matching the query at hand.
 
 This package provides an emacs interface to perform recoll queries, and
 display its results, via [[https://github.com/minad/consult][consult]].
 
 [[./consult-recoll.png]]
 
-* Usage
-
-** Searching
+* Searching
 
 The entry point of ~consult-recoll~ is the interactive command
 =consult-recoll=. Just invoke it (e.g., via =M-x consult-recoll=) to 
perform
@@ -40,7 +38,7 @@ display its results, via 
[[https://github.com/minad/consult][consult]].
 You can fine tune how queries are issued by customizing
 ~consult-recoll-search-flags~.
 
-*** Tip: Two-level filtering
+** Tip: Two-level filtering
 
   ~consult-recoll~ builds on the asychronous logic inside =consult.el=,
   so you can use consult's handy 
[[https://github.com/minad/consult#asynchronous-search][two-level filtering]], 
which allows
@@ -62,8 +60,7 @@ display its results, via 
[[https://github.com/minad/consult][consult]].
   at which point only matches containing "hofstadter" will be
   offered.
 
-
-** Displaying results
+* Displaying results
 
For each matching result, ~consult-recoll~ retrieves its title, full file
name and mime type, and shows, by default, a line with the first two in the
@@ -81,7 +78,7 @@ display its results, via 
[[https://github.com/minad/consult][consult]].
See [[#opening-results][Opening search results]] below for ways of 
customizing how Emacs will
open selected results.
 
-*** Tip: formatting results list
+** Example: formatting results list
 As mentioned, one can use ~consult-recoll-format-candidate~ to customize 
how
 search results are shown in the minibufer.  For instance, i like to
 shorten paths removing common prefixes and to show MIME types, so i use
@@ -101,21 +98,21 @@ display its results, via 
[[https://github.com/minad/consult][consult]].
   (setq consult-recoll-format-candidate #'jao-recoll-format)
 #+end_src
 
-*** Tip: displaying snippets in results list
+** Tip: displaying snippets in results list
 Instead of relying on a separate preview buffer to display snippets, you
 can set ~consult-recoll-inline-snippets~ to ~t~ to show them in the 
minibuffer,
 as individual candidates.
 
 [[./consult-recoll-inline.png]]
 
-*** Tip: disabling mime type groups
+** Tip: disabling mime type groups
 By default, results are listed grouped by their mime type.  You can
 disable grouping by setting the customizable variable
 ~consult-recoll-group-by-mime~ to ~nil~.
 
 [[./consult-recoll-no-groups.png]]
 
-** Opening search results
+* Opening search results
:PROPERTIES:
:CUSTOM_ID: opening-results
:END:
@@ -130,7 +127,7 @@ display its results, via 
[[https://github.com/minad/consult][consult]].
number (or ~nil~ if it is not available, e.g., because the selected 
candidate
is the one showing the document data)
 
-*** Tip: PDF open with external viewer
+** Example: PDF open with external viewer
 
 For instance, if you want to use ~zathura~ to open PDF documents, you could
 define an elisp helper like:



[elpa] externals/consult-recoll 34e883562c 02/50: initial implementation

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 34e883562cfc689d96c35e4da7dda8c46aaa1227
Author: jao 
Commit: jao 

initial implementation
---
 README.md  |  3 --
 consult-recoll.el  | 86 ++
 LICENSE => license |  0
 readme.org |  7 +
 4 files changed, 93 insertions(+), 3 deletions(-)

diff --git a/README.md b/README.md
deleted file mode 100644
index baeefd4ade..00
--- a/README.md
+++ /dev/null
@@ -1,3 +0,0 @@
-# consult-recoll
-
-recoll queries in emacs using consult
\ No newline at end of file
diff --git a/consult-recoll.el b/consult-recoll.el
new file mode 100644
index 00..1a57abb130
--- /dev/null
+++ b/consult-recoll.el
@@ -0,0 +1,86 @@
+;;; consult-recoll.el --- Recoll searches using consult  -*- lexical-binding: 
t; -*-
+
+;; Author: Jose A Ortega Ruiz 
+;; Maintainer: Jose A Ortega Ruiz
+;; Keywords: docs, convenience
+;; License: GPL-3.0-or-later
+;; Version: 0.1
+;; Package-Requires: ((emacs "26.1") (consult "0.5"))
+;; Homepage: https://codeberg.org/jao/consult-recoll
+
+;; Copyright (C) 2021  Jose A Ortega Ruiz
+
+;; This program is free software; you can redistribute it and/or modify
+;; it under the terms of the GNU General Public License as published by
+;; 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 General Public License for more details.
+
+;; You should have received a copy of the GNU General Public License
+;; along with this program.  If not, see .
+
+;;; Commentary:
+
+;; A simple consult-recoll function to perform simple queries over
+;; your Recoll (https://www.lesbonscomptes.com/recoll/) index.
+
+;;; Code:
+
+(require 'consult)
+
+(defvar consult-recoll--command
+  "recollq -a -F \"url title\" ARG"
+  "Command used to perform queries.")
+
+(defvar consult-recoll--open-fn #'find-file
+  "Function used to open candidate URL.")
+
+(defface consult-recoll-url-face '((t :inherit default))
+  "Face used to display URLs of candidates.")
+
+(defface consult-recoll-title-face '((t :inherit italic))
+  "Face used to display titles of candidates.")
+
+(defvar consult-recoll-history nil "History for `consult-recoll'.")
+
+(defun consult-recoll--transformer (str)
+  "Decode STR, as returned by recollq."
+  (unless (string-match-p "^\\(Recoll query:\\|[0-9]+ results\\| *$\\)" str)
+(let* ((cmps (split-string str " " t))
+   (url+title (seq-map #'base64-decode-string cmps))
+   (url (car url+title))
+   (title (or (cadr url+title) (file-name-base url)))
+   (url (if (string-prefix-p "file://" url) (substring url 7) url)))
+  (format "%s (%s)"
+  (propertize title 'face 'consult-recoll-title-face)
+  (propertize url 'face 'consult-recoll-url-face)
+
+(defun consult-recoll--open (candidate)
+  "Open file of corresponding completion CANDIDATE."
+  (when (string-match ".+ (\\(.+\\))$" (or candidate ""))
+(funcall consult-recoll--open-fn (match-string 1 candidate
+
+(defun consult-recoll--search (&optional initial)
+  "Perform an asynchronous recoll search via `consult--read'.
+If given, use INITIAL as the starting point of the query."
+  (consult--read (consult--async-command consult-recoll--command
+   (consult--async-filter (lambda (x) (not (null x
+   (consult--async-map #'consult-recoll--transformer))
+ :prompt "Recoll search: "
+ :require-match t
+ :initial (concat consult-async-default-split initial)
+ :history 'consult-recoll-history
+ :category 'recoll-result))
+
+;;;###autoload
+(defun consult-recoll ()
+  "Consult recoll's local index."
+  (interactive)
+  (consult-recoll--open (consult-recoll--search)))
+
+(provide 'consult-recoll)
+;;; consult-recoll.el ends here
diff --git a/LICENSE b/license
similarity index 100%
rename from LICENSE
rename to license
diff --git a/readme.org b/readme.org
new file mode 100644
index 00..3b6a263f14
--- /dev/null
+++ b/readme.org
@@ -0,0 +1,7 @@
+#+title: consult-recoll
+
+[[(https://www.lesbonscomptes.com/recoll/][recoll]] queries in emacs using 
consult.
+
+This package requires a working recoll index, and ~recollq~ in your
+path.  =M-x consult-recoll= to perform a query on the index using
+consult.



[elpa] externals/consult-recoll 35b78fa3c1 08/50: readme: link to consult

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 35b78fa3c1361bde6a0c7b1dc244ab1122ba0432
Author: jao 
Commit: jao 

readme: link to consult
---
 readme.org | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/readme.org b/readme.org
index e05adc0b7f..91194be73f 100644
--- a/readme.org
+++ b/readme.org
@@ -1,6 +1,6 @@
 #+title: consult-recoll
 
-[[https://www.lesbonscomptes.com/recoll/][Recoll]] queries in emacs using 
consult.
+[[https://www.lesbonscomptes.com/recoll/][Recoll]] queries in emacs using 
[[https://github.com/minad/consult][consult]].
 
 This package requires a working recoll index, and ~recollq~ in your
 path.
@@ -8,4 +8,4 @@ path.
   - =M-x consult-recoll= to perform a query on the index using
 consult.
   - See also the associated customization group for ways to tweak the
-command's behaviours (e.g., how the selected candidate is visited).
+command's behaviour (e.g., how the selected candidate is visited).



[elpa] branch externals/consult-recoll created (now c57d3e7913)

2022-08-06 Thread ELPA Syncer
elpasync pushed a change to branch externals/consult-recoll.

at  c57d3e7913 FSF copyright transfer and .gitignore

This branch includes the following new commits:

   new  d96779ece2 Initial commit
   new  34e883562c initial implementation
   new  00105e94a4 customization group
   new  357654bedd customisable formatter and candidate openers
   new  c68b79f130 customizable prompt
   new  c8e0849308 readme tweaks
   new  aa5bdff7f8 typo
   new  35b78fa3c1 readme: link to consult
   new  370a31d1c4 MELPA review
   new  8210ee3fef redundant subr-x require to bypass issue #1
   new  9038cfa422 Use stock consult-lookup--member
   new  7b54edb8ac removing deprecated consult-async-default-split
   new  fe7a09b99d new consult--async-command protocol
   new  0c2c8c12b9 new user option consult-recoll-search-flags
   new  b0fa4831e0 fix: using recoll's candidate ordering rather than 
alphabetical
   new  1b21fa157b version bump
   new  0ba5ae1b53 fix for consult-recoll's input history
   new  42dea1d40f consult-recoll: prefix argument to ask for initial input
   new  6ef792703b Note on two-phased queries (fixes #2)
   new  d46470c64d readme tweaks
   new  c824a2fea2 fix for C-u consult-recoll
   new  228306eeda version bump
   new  3399c32322 readme
   new  d550a76ffb a bit more structure
   new  91ff9793b5 readme improvements
   new  889cd8daf2 readme: fragment for internal link
   new  85a527af31 wee commentary tweaks
   new  ba3fcb8bae readme: melpa badges
   new  2dd853c6c9 consult live previews showing recoll snippets
   new  d80ad99e4d readme: typo
   new  57f2a5552f Version bump
   new  0105066d19 readme nits and screenshot
   new  d9bb5e191e docstring nit
   new  f32c281756 readme: example of a result formatter
   new  204a936c5b fix: a better regexp for decomposing recollq results
   new  6ea952cd4c back to the previous regexp, it's more precise in the 
common case
   new  89457fe055 Revert "back to the previous regexp, it's more precise 
in the common case"
   new  47b47e8a47 asynchronous snippets parsing
   new  8ba4d4b9b8 hide cursor in non-selected preview windows
   new  2e70eebee4 new feature: grouping search results by mime type
   new  3070550d0f index metadata for search results
   new  8e45c4d3df new feature: inline snippets
   new  39251b54eb screenshot: no-groups and inline
   new  eab09d7fe6 documentation nits (section levels)
   new  a2ee98e057 version bump
   new  47f6c618a2 readme: thanks section
   new  9ce929510f fix: reset index and current for every new search term
   new  1c48329d90 fix: show also results that have no snippets
   new  72fc38d27a readme: recommendation for a vertical completions UI
   new  c57d3e7913 FSF copyright transfer and .gitignore




[elpa] externals/consult-recoll d80ad99e4d 30/50: readme: typo

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit d80ad99e4df0ab47829148ab701d014d67ae
Author: jao 
Commit: jao 

readme: typo
---
 readme.org | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/readme.org b/readme.org
index 05fd48d67c..0e845f8018 100644
--- a/readme.org
+++ b/readme.org
@@ -81,7 +81,7 @@ display its results, via 
[[https://github.com/minad/consult][consult]].
 :CUSTOM_ID: opening-results
 :END:
 
-When a search result candidate is selected, it's MIME type is used to
-lookup a function to open its associated file in the customizable variable
+When a search result candidate is selected, its MIME type is used to
+look up a function to open its associated file in the customizable variable
 ~consult-recoll-open-fns~.  If no entry is found, consult-recoll uses the
 value of ~consult-open-fn~ as a default.



[elpa] externals/consult-recoll c8e0849308 06/50: readme tweaks

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit c8e0849308c857d0b470d5cb9d63778ceff45eee
Author: jao 
Commit: jao 

readme tweaks
---
 readme.org | 8 ++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/readme.org b/readme.org
index 3b6a263f14..77238ecfd0 100644
--- a/readme.org
+++ b/readme.org
@@ -3,5 +3,9 @@
 [[(https://www.lesbonscomptes.com/recoll/][recoll]] queries in emacs using 
consult.
 
 This package requires a working recoll index, and ~recollq~ in your
-path.  =M-x consult-recoll= to perform a query on the index using
-consult.
+path.
+
+  - =M-x consult-recoll= to perform a query on the index using
+consult.
+  - See also the associated customization group for ways to tweak the
+command's behaviours (e.g., how the selected candidate is visited).



[elpa] externals/consult-recoll 47f6c618a2 46/50: readme: thanks section

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 47f6c618a2f8c3fd5ef284f6f9fcc61d1cc2e764
Author: jao 
Commit: jao 

readme: thanks section
---
 readme.org | 5 +
 1 file changed, 5 insertions(+)

diff --git a/readme.org b/readme.org
index bad7703f54..d65942e6dd 100644
--- a/readme.org
+++ b/readme.org
@@ -143,3 +143,8 @@ display its results, via 
[[https://github.com/minad/consult][consult]].
   (add-to-list 'consult-recoll-open-fns
'("application/pdf" . open-pdf/zathura))
 #+end_src
+
+* Thanks
+
+  Thanks to [[https://codeberg.org/rougier][Nicholas P. Rougier]] for useful 
discussions and suggestions,
+  including actual fixes.



[elpa] externals/consult-recoll f32c281756 34/50: readme: example of a result formatter

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit f32c281756d60732663815d01e083c1721a1bdeb
Author: jao 
Commit: jao 

readme: example of a result formatter
---
 readme.org | 20 
 1 file changed, 20 insertions(+)

diff --git a/readme.org b/readme.org
index 7aa8d1d1d7..3337356664 100644
--- a/readme.org
+++ b/readme.org
@@ -78,6 +78,26 @@ display its results, via 
[[https://github.com/minad/consult][consult]].
 snippets of the file (when provided by recoll).  The title, path and mime
 type of the document are also shown in previews.
 
+*** Tip: formatting results list
+As mentioned, one can use ~consult-recoll-format-candidate~ to customize 
how
+search results are shown in the minibufer.  For instance, i like to
+shorten paths removing common prefixes and to show MIME types, so i use
+a formatter similar to this one:
+#+begin_src emacs-lisp
+  (defun jao-recoll-format (title url mime-type)
+;; remove from url the common prefixes /home/jao/{org/doc,doc,...}
+(let* ((u (replace-regexp-in-string "/home/jao/" "" url))
+   (u (replace-regexp-in-string
+   "\\(doc\\|org/doc\\|.emacs.d/gnus/Mail\\|var/mail\\)/" "" 
u)))
+  (format "%s (%s, %s)"
+  (propertize title 'face 'consult-recoll-title-face)
+  (propertize u 'face 'consult-recoll-url-face)
+  (propertize mime-type 'face 'consult-recoll-mime-face
+
+
+  (setq consult-recoll-format-candidate #'jao-recoll-format)
+#+end_src
+
 ** Opening search results
 :PROPERTIES:
 :CUSTOM_ID: opening-results



[elpa] externals/consult-recoll 3070550d0f 41/50: index metadata for search results

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 3070550d0fed3efc30121e1d3ac5394a319eafe1
Author: jao 
Commit: jao 

index metadata for search results
---
 consult-recoll.el | 16 +---
 1 file changed, 13 insertions(+), 3 deletions(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index e4cdcf9397..d885ac83e4 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -84,6 +84,7 @@ Set to nil to use the default 'title (path)' format."
 
 (defvar consult-recoll-history nil "History for `consult-recoll'.")
 (defvar consult-recoll--current nil)
+(defvar consult-recoll--index 0)
 
 (defun consult-recoll--command (text)
   "Command used to perform queries for TEXT."
@@ -105,10 +106,13 @@ Set to nil to use the default 'title (path)' format."
 (defsubst consult-recoll--candidate-mime (candidate)
   (get-text-property 0 'mime-type candidate))
 
-(defun consult-recoll--candidate-url (candidate)
+(defsubst consult-recoll--candidate-url (candidate)
   (get-text-property 0 'url candidate))
 
-(defun consult-recoll--snippets (&optional candidate)
+(defsubst consult-recoll--candidate-index (candidate)
+  (get-text-property 0 'index candidate))
+
+(defsubst consult-recoll--snippets (&optional candidate)
   (get-text-property 0 'snippets (or candidate consult-recoll--current)))
 
 (defun consult-recoll--open (candidate)
@@ -128,8 +132,13 @@ Set to nil to use the default 'title (path)' format."
 (url (match-string 2 str))
 (title (match-string 3 str))
 (urln (if (string-prefix-p "file://" url) (substring url 7) 
url))
+(idx (setq consult-recoll--index (1+ consult-recoll--index)))
 (cand (consult-recoll--format title url mime))
-(cand (propertize cand 'mime-type mime 'url urln 'title 
title)))
+(cand (propertize cand
+  'mime-type mime
+  'url urln
+  'title title
+  'index idx)))
(setq consult-recoll--current cand)
nil))
 ((string= "/SNIPPETS" str) consult-recoll--current)
@@ -173,6 +182,7 @@ Set to nil to use the default 'title (path)' format."
   "Perform an asynchronous recoll search via `consult--read'.
 If given, use INITIAL as the starting point of the query."
   (setq consult-recoll--current nil)
+  (setq consult-recoll--index 0)
   (consult--read (consult--async-command
  #'consult-recoll--command
(consult--async-filter #'identity)



[elpa] externals/consult-recoll b0fa4831e0 15/50: fix: using recoll's candidate ordering rather than alphabetical

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit b0fa4831e047ed16a2a1460a53041f425dedd172
Author: jao 
Commit: jao 

fix: using recoll's candidate ordering rather than alphabetical
---
 consult-recoll.el | 1 +
 1 file changed, 1 insertion(+)

diff --git a/consult-recoll.el b/consult-recoll.el
index 43857cd402..fe2e890d39 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -111,6 +111,7 @@ If given, use INITIAL as the starting point of the query."
  :prompt consult-recoll-prompt
  :require-match t
  :lookup #'consult--lookup-member
+ :sort nil
  :initial (consult--async-split-initial initial)
  :history 'consult-recoll-history
  :category 'recoll-result))



[elpa] externals/consult-recoll aa5bdff7f8 07/50: typo

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit aa5bdff7f82df472d6937eb1def1c5ea47086743
Author: jao 
Commit: jao 

typo
---
 readme.org | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/readme.org b/readme.org
index 77238ecfd0..e05adc0b7f 100644
--- a/readme.org
+++ b/readme.org
@@ -1,6 +1,6 @@
 #+title: consult-recoll
 
-[[(https://www.lesbonscomptes.com/recoll/][recoll]] queries in emacs using 
consult.
+[[https://www.lesbonscomptes.com/recoll/][Recoll]] queries in emacs using 
consult.
 
 This package requires a working recoll index, and ~recollq~ in your
 path.



[elpa] externals/consult-recoll 204a936c5b 35/50: fix: a better regexp for decomposing recollq results

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 204a936c5b29334a3b40042ff5047f5790a7c136
Author: jao 
Commit: jao 

fix: a better regexp for decomposing recollq results

cf. discussion in issue #3
---
 consult-recoll.el | 5 -
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index aba5b1ac49..93b3eadc72 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -86,9 +86,12 @@ Set to nil to use the default 'title (path)' format."
   (setq consult-recoll--current text)
   `("recollq" ,@consult-recoll-search-flags ,text))
 
+(defconst consult-recoll--line-rx "^\\(.*?\\)\t\\[\\(.*?\\)\\]\t\\[\\(.*\\)\\]"
+  "Regular expression decomposing result lines returned by recollq")
+
 (defun consult-recoll--transformer (str)
   "Decode STR, as returned by recollq."
-  (when (string-match "^\\([^[]+\\)\t\\[\\([^]]+\\)\\]\t\\[\\([^[]+\\)\\]" str)
+  (when (string-match consult-recoll--line-rx str)
 (let* ((mime (match-string 1 str))
(url (match-string 2 str))
(title (match-string 3 str))



[elpa] externals/consult-recoll 8ba4d4b9b8 39/50: hide cursor in non-selected preview windows

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 8ba4d4b9b898016f765e6f18ac294166ff7796e6
Author: jao 
Commit: jao 

hide cursor in non-selected preview windows
---
 consult-recoll.el | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index eec67cec4e..9f3c7a6107 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -142,6 +142,7 @@ Set to nil to use the default 'title (path)' format."
   "Preview search result CANDIDATE when ACTION is \\='preview."
   (cond ((or (eq action 'setup) (null candidate))
  (with-current-buffer (get-buffer-create 
consult-recoll--preview-buffer)
+   (setq-local cursor-in-non-selected-windows nil)
(delete-region (point-min) (point-max
 ((and (eq action 'preview) candidate)
  (when-let* ((url (consult-recoll--candidate-url candidate))
@@ -153,7 +154,8 @@ Set to nil to use the default 'title (path)' format."
  (insert (propertize url 'face 'consult-recoll-url-face) "\n")
  (insert (propertize (consult-recoll--candidate-mime candidate)
  'face 'consult-recoll-mime-face))
- (when-let (s (consult-recoll--snippets candidate)) (insert "\n" 
s)))
+ (when-let (s (consult-recoll--snippets candidate)) (insert "\n" 
s))
+ (goto-char (point-min)))
(pop-to-buffer buff)))
 ((eq action 'exit)
  (when (get-buffer consult-recoll--preview-buffer)



[elpa] externals/consult-recoll 357654bedd 04/50: customisable formatter and candidate openers

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 357654beddf3de0e13ebb41eb3a59c7c0890dfd1
Author: jao 
Commit: jao 

customisable formatter and candidate openers
---
 consult-recoll.el | 56 +++
 1 file changed, 40 insertions(+), 16 deletions(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index 62cf1bc60c..70268d085d 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -1,4 +1,4 @@
-;;; consult-recoll.el --- Recoll searches using consult  -*- lexical-binding: 
t; -*-
+;;; consult-recoll.el --- Recoll queries using consult  -*- lexical-binding: 
t; -*-
 
 ;; Author: Jose A Ortega Ruiz 
 ;; Maintainer: Jose A Ortega Ruiz
@@ -25,8 +25,10 @@
 
 ;;; Commentary:
 
-;; A simple consult-recoll function to perform simple queries over
-;; your Recoll (https://www.lesbonscomptes.com/recoll/) index.
+;; A `consult-recoll' command to perform simple interactive queries
+;; over your Recoll (https://www.lesbonscomptes.com/recoll/) index.
+;; See the corresponding custumization group for ways to tweak its
+;; behaviour to your needs.
 
 ;;; Code:
 
@@ -37,10 +39,20 @@
   :group 'consult)
 
 (defcustom consult-recoll-open-fn #'find-file
-  "Function used to open candidate URL.
-It receives a single argument, the full path to the file to open."
+  "Default function used to open candidate URL.
+It receives a single argument, the full path to the file to open.
+See also `consult-recoll-open-fns'"
   :type 'function)
 
+(defcustom consult-recoll-open-fns ()
+  "Alist mapping mime types to functions to open a selected candidate."
+  :type '(alist :key-type string :value-type function))
+
+(defcustom consult-recoll-format-candidate nil
+  "A function taking title, path and mime type, and formatting them for 
display.
+Set to nil to use the default 'title (path)' format."
+  :type '(choice (const nil) function))
+
 (defface consult-recoll-url-face '((t :inherit default))
   "Face used to display URLs of candidates.")
 
@@ -50,25 +62,35 @@ It receives a single argument, the full path to the file to 
open."
 (defvar consult-recoll-history nil "History for `consult-recoll'.")
 
 (defvar consult-recoll--command
-  "recollq -a -F \"url title\" ARG"
+  "recollq -a -F \"url title mtype\" ARG"
   "Command used to perform queries.")
 
 (defun consult-recoll--transformer (str)
   "Decode STR, as returned by recollq."
   (unless (string-match-p "^\\(Recoll query:\\|[0-9]+ results\\| *$\\)" str)
-(let* ((cmps (split-string str " " t))
-   (url+title (seq-map #'base64-decode-string cmps))
-   (url (car url+title))
-   (title (or (cadr url+title) (file-name-base url)))
-   (url (if (string-prefix-p "file://" url) (substring url 7) url)))
-  (format "%s (%s)"
-  (propertize title 'face 'consult-recoll-title-face)
-  (propertize url 'face 'consult-recoll-url-face)
+(let* ((cmps (split-string str " "))
+   (fields (seq-map #'base64-decode-string cmps))
+   (url (car fields))
+   (title (cadr fields))
+   (title (if (string= "" title) (file-name-base url) title))
+   (urln (if (string-prefix-p "file://" url) (substring url 7) url))
+   (mime (nth 2 fields))
+   (cand (if consult-recoll-format-candidate
+ (funcall consult-recoll-format-candidate title urln mime)
+   (format "%s (%s)"
+   (propertize title 'face 'consult-recoll-title-face)
+   (propertize urln 'face 'consult-recoll-url-face)
+  (propertize cand 'mime-type mime 'url urln
 
 (defun consult-recoll--open (candidate)
   "Open file of corresponding completion CANDIDATE."
-  (when (string-match ".+ (\\(.+\\))$" (or candidate ""))
-(funcall consult-recoll-open-fn (match-string 1 candidate
+  (when candidate
+(let ((url (get-text-property 0 'url candidate))
+  (opener (alist-get (get-text-property 0 'mime-type candidate)
+ consult-recoll-open-fns
+ (or consult-recoll-open-fn #'find-file)
+ nil 'string=)))
+  (funcall opener url
 
 (defun consult-recoll--search (&optional initial)
   "Perform an asynchronous recoll search via `consult--read'.
@@ -78,6 +100,8 @@ If given, use INITIAL as the starting point of the query."
(consult--async-map #'consult-recoll--transformer))
  :prompt "Recoll search: "
  :require-match t
+ :lookup (lambda (_ cs c)
+   (seq-find (lambda (x) (string= c x)) cs))
  :initial (concat consult-async-default-split initial)
  :history 'consult-recoll-history
  :category 'recoll-result))



[elpa] externals/consult-recoll d9bb5e191e 33/50: docstring nit

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit d9bb5e191e4cab2a42acfc7d032ee01095d67259
Author: jao 
Commit: jao 

docstring nit
---
 consult-recoll.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index eb7ce29d16..aba5b1ac49 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -122,7 +122,7 @@ Set to nil to use the default 'title (path)' format."
 (defvar consult-recoll--preview-buffer "*consult-recoll preview*")
 
 (defun consult-recoll--preview (action candidate)
-  "Preview search result CANDIDATE when ACTION is 'preview."
+  "Preview search result CANDIDATE when ACTION is \\='preview."
   (cond ((or (eq action 'setup) (null candidate))
  (with-current-buffer (get-buffer-create 
consult-recoll--preview-buffer)
(delete-region (point-min) (point-max



[elpa] externals/consult-recoll 1b21fa157b 16/50: version bump

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 1b21fa157ba40fcfeecd0a10c5c82ecfb87aee53
Author: jao 
Commit: jao 

version bump
---
 consult-recoll.el | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index fe2e890d39..873cb3dca1 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -4,7 +4,7 @@
 ;; Maintainer: Jose A Ortega Ruiz
 ;; Keywords: docs, convenience
 ;; License: GPL-3.0-or-later
-;; Version: 0.2
+;; Version: 0.3
 ;; Package-Requires: ((emacs "26.1") (consult "0.9"))
 ;; Homepage: https://codeberg.org/jao/consult-recoll
 



[elpa] externals/consult-recoll 6ef792703b 19/50: Note on two-phased queries (fixes #2)

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 6ef792703b3a82f8565a1c6f9acf05c34b1ab7ec
Author: jao 
Commit: jao 

Note on two-phased queries (fixes #2)
---
 readme.org | 15 +++
 1 file changed, 15 insertions(+)

diff --git a/readme.org b/readme.org
index 91194be73f..24f909901b 100644
--- a/readme.org
+++ b/readme.org
@@ -9,3 +9,18 @@ path.
 consult.
   - See also the associated customization group for ways to tweak the
 command's behaviour (e.g., how the selected candidate is visited).
+
+~consult-recoll~ builds on the asychronous logic inside =consult.el=, so
+you can use consult's handy 
[[https://github.com/minad/consult#asynchronous-search][two-level filtering]], 
which allows
+searching over the results of a query. For example, if you start
+typing
+
+#goedel's theorem
+
+see a bunch of results, and want to narrow them to those lines
+matching, say, "hofstadter", you can type ~#~ (which stops further
+recoll queries) followed by the term you're interested in:
+
+   #goedel's theorem#hofstadter
+
+at which point only matches containing "hofstadter" will be offered.



[elpa] externals/consult-recoll 8e45c4d3df 42/50: new feature: inline snippets

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 8e45c4d3df0b5bd291d91e045354437cc0b9a74e
Author: jao 
Commit: jao 

new feature: inline snippets
---
 consult-recoll.el | 51 +--
 readme.org| 71 +++
 2 files changed, 88 insertions(+), 34 deletions(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index d885ac83e4..50ba2e5a82 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -54,16 +54,25 @@
  (const :tag "All terms" ("-a"))
  (list string)))
 
-(defcustom consult-recoll-open-fn #'find-file
+(defcustom consult-recoll-open-fn nil
   "Default function used to open candidate URLs.
-It receives a single argument, the full path to the file to open.
-See also `consult-recoll-open-fns'"
-  :type 'function)
+It receives the full path to the file to open and (if
+`consult-recoll-inline-snippets' is set, a page number for the
+snippet at hand. If set to nil, find-file is used.  See also
+`consult-recoll-open-fns'"
+  :type '(choice (const nil) function))
 
 (defcustom consult-recoll-open-fns ()
-  "Alist mapping mime types to functions to open a selected candidate."
+  "Alist mapping mime types to functions to open a selected candidate.
+If you are setting `consult-list-snippets' to t, these functions
+will be called with two arguments (a file path and a page
+number), otherwise just with one."
   :type '(alist :key-type string :value-type function))
 
+(defcustom consult-recoll-inline-snippets nil
+  "Show snippets as completion candidates in the minibuffer."
+  :type 'boolean)
+
 (defcustom consult-recoll-group-by-mime t
   "When set, list search results grouped by mime type."
   :type 'boolean)
@@ -109,21 +118,28 @@ Set to nil to use the default 'title (path)' format."
 (defsubst consult-recoll--candidate-url (candidate)
   (get-text-property 0 'url candidate))
 
+(defsubst consult-recoll--candidate-page (candidate)
+  (get-text-property 0 'page candidate))
+
 (defsubst consult-recoll--candidate-index (candidate)
   (get-text-property 0 'index candidate))
 
 (defsubst consult-recoll--snippets (&optional candidate)
   (get-text-property 0 'snippets (or candidate consult-recoll--current)))
 
+(defsubst consult-recoll--find-file (file &optional _page) (find-file file))
+
 (defun consult-recoll--open (candidate)
   "Open file of corresponding completion CANDIDATE."
   (when candidate
 (let ((url (consult-recoll--candidate-url candidate))
-  (opener (alist-get (consult-recoll--candidate-mime candidate)
- consult-recoll-open-fns
- (or consult-recoll-open-fn #'find-file)
- nil 'string=)))
-  (funcall opener url
+  (open (alist-get (consult-recoll--candidate-mime candidate)
+   consult-recoll-open-fns
+   (or consult-recoll-open-fn 
'consult-recoll--find-file)
+   nil 'string=)))
+  (if consult-recoll-inline-snippets
+  (funcall open url (consult-recoll--candidate-page candidate))
+(funcall open url)
 
 (defun consult-recoll--transformer (str)
   "Decode STR, as returned by recollq."
@@ -141,8 +157,16 @@ Set to nil to use the default 'title (path)' format."
   'index idx)))
(setq consult-recoll--current cand)
nil))
-((string= "/SNIPPETS" str) consult-recoll--current)
-((string= "SNIPPETS" str) nil)
+((string= "/SNIPPETS" str)
+ (and (not consult-recoll-inline-snippets) consult-recoll--current))
+((string= "SNIPPETS" str)
+ (and consult-recoll-inline-snippets consult-recoll--current))
+((and consult-recoll-inline-snippets consult-recoll--current)
+ (when-let* ((page (and (string-match "^\\([0-9]+\\) :" str)
+(match-string 1 str)))
+ (pageno (and page (string-to-number page)))
+ (props (text-properties-at 0 consult-recoll--current)))
+   (apply #'propertize (concat "" str) 'page pageno props)))
 (consult-recoll--current
  (let ((snippets (concat (consult-recoll--snippets) "\n" str)))
(setq consult-recoll--current
@@ -191,7 +215,8 @@ If given, use INITIAL as the starting point of the query."
  :require-match t
  :lookup #'consult--lookup-member
  :sort nil
- :state #'consult-recoll--preview
+ :state (and (not consult-recoll-inline-snippets)
+ #'consult-recoll--preview)
  :group (and consult-recoll-group-by-mime
  #'consult-recoll--group)
  :initial (consult--async-split-initial initial)
diff --git a/readme.org b/readme.org
index d5d83adc44..67c40ba561 100644
--- a/readme.org
+++ b/readme.org
@@ -

[elpa] externals/consult-recoll ba3fcb8bae 28/50: readme: melpa badges

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit ba3fcb8baedd0e99979059abf935f29400a15f1d
Author: jao 
Commit: jao 

readme: melpa badges
---
 readme.org | 11 +++
 1 file changed, 11 insertions(+)

diff --git a/readme.org b/readme.org
index b405ee9964..51c113808d 100644
--- a/readme.org
+++ b/readme.org
@@ -1,5 +1,16 @@
 #+title: Recoll queries in emacs using consult
 
+#+begin_export html
+
+https://melpa.org/#/consult-recoll";>
+  https://melpa.org/packages/consult-recoll-badge.svg"/>
+
+https://stable.melpa.org/#/consult-recoll";>
+  https://stable.melpa.org/packages/consult-recoll-badge.svg"/>
+
+
+#+end_export
+
 * About
 
 [[https://www.lesbonscomptes.com/recoll/][Recoll]] is a local search engine 
that knows how to index a wide variety of file



[elpa] externals/consult-recoll a2ee98e057 45/50: version bump

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit a2ee98e0577cae0314b433ffacfc8b9f2ab023d7
Author: jao 
Commit: jao 

version bump
---
 consult-recoll.el | 10 ++
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index 50ba2e5a82..d3920a0288 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -4,7 +4,7 @@
 ;; Maintainer: Jose A Ortega Ruiz
 ;; Keywords: docs, convenience
 ;; License: GPL-3.0-or-later
-;; Version: 0.5
+;; Version: 0.6
 ;; Package-Requires: ((emacs "26.1") (consult "0.18"))
 ;; Homepage: https://codeberg.org/jao/consult-recoll
 
@@ -27,12 +27,14 @@
 
 ;; A `consult-recoll' command to perform interactive queries (including life
 ;; previews of documment snippets) over your Recoll
-;; (https://www.lesbonscomptes.com/recoll/) index, using consult. Use
+;; (https://www.lesbonscomptes.com/recoll/) index, using consult.
+;;
+;; Use
 ;;
 ;; M-x consult-recoll
 ;;
-;; to get started, and the corresponding customization group for ways to tweak
-;; its behaviour to your needs.
+;; to get started, and check the corresponding customization group for ways to
+;; tweak its behaviour to your needs.
 
 ;;; Code:
 



[elpa] externals/consult-recoll c824a2fea2 21/50: fix for C-u consult-recoll

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit c824a2fea2ae0674a139dbe908bb39b99cb558e5
Author: jao 
Commit: jao 

fix for C-u consult-recoll
---
 consult-recoll.el | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/consult-recoll.el b/consult-recoll.el
index eb8ac5e3a5..ac19cf63b9 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -121,7 +121,8 @@ If given, use INITIAL as the starting point of the query."
   "Consult recoll's local index.
 With prefix argument ASK, the user is prompted for an initial query string."
   (interactive "P")
-  (let ((initial (when ask (read-string "Initial query: "
+  (let ((initial (when ask
+   (if (stringp ask) ask (read-string "Initial query: ")
 (consult-recoll--open (consult-recoll--search initial
 
 (provide 'consult-recoll)



[elpa] externals/minibuffer-header 9762290b67 6/6: Added support for multiline header

2022-08-06 Thread ELPA Syncer
branch: externals/minibuffer-header
commit 9762290b673456d49e137cde8eb0247ecb99f511
Author: Nicolas P. Rougier 
Commit: Nicolas P. Rougier 

Added support for multiline header
---
 minibuffer-header.el | 14 --
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/minibuffer-header.el b/minibuffer-header.el
index d525f74eb7..b511878710 100644
--- a/minibuffer-header.el
+++ b/minibuffer-header.el
@@ -71,10 +71,10 @@
 
   (concat 
(propertize (format " #%d Minibuffer" (minibuffer-depth))
-   'face '(bold minibuffer-header-face))
-   (propertize
-(format " (%s)" this-command)
-   'face 'minibuffer-header-face)))
+   'face '(bold minibuffer-header-face))
+   (propertize (format " (%s)" this-command)
+   'face 'minibuffer-header-face)
+   ))
 
 
 (defun minibuffer-header--setup ()
@@ -89,6 +89,7 @@
 (goto-char (point-min))
 (let* ((inhibit-read-only t)
(left (minibuffer-header-format))
+   (left (split-string left "\n"))
(right " ")
   (prompt-beg (point-min))
   (prompt-end (or (next-property-change (+ 1 (point-min)))
@@ -99,7 +100,7 @@
 
   (goto-char (point-min))
   (insert (propertize
-   (concat (propertize left)
+   (concat (propertize (car left))
(propertize " "
'message-beg t
'face 'minibuffer-header-face
@@ -108,7 +109,8 @@
'face 'minibuffer-header-message-face)
(propertize "\n"
'face 'minibuffer-header-face
-   'message-end t))
+   'message-end t)
+   (mapconcat #'identity (cdr left) ""))
'cursor-intangible t
'read-only t
'field t



[elpa] externals/consult-recoll c57d3e7913 50/50: FSF copyright transfer and .gitignore

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit c57d3e791349619a62242b7a7faff77cb64e114b
Author: Stefan Monnier 
Commit: jao 

FSF copyright transfer and .gitignore
---
 .gitignore| 4 
 consult-recoll.el | 2 +-
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/.gitignore b/.gitignore
index 92112bec18..4f429d9ab4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -11,3 +11,7 @@
 # Undo-tree save-files
 *.~undo-tree
 
+
+# ELPA-generated files
+/consult-recoll-autoloads.el
+/consult-recoll-pkg.el
diff --git a/consult-recoll.el b/consult-recoll.el
index b2bf0e0769..507a3cb3d6 100644
--- a/consult-recoll.el
+++ b/consult-recoll.el
@@ -8,7 +8,7 @@
 ;; Package-Requires: ((emacs "26.1") (consult "0.18"))
 ;; Homepage: https://codeberg.org/jao/consult-recoll
 
-;; Copyright (C) 2021, 2022  Jose A Ortega Ruiz
+;; Copyright (C) 2021-2022  Free Software Foundation, Inc.
 
 ;; This program is free software; you can redistribute it and/or modify
 ;; it under the terms of the GNU General Public License as published by



[elpa] externals/consult-recoll 3399c32322 23/50: readme

2022-08-06 Thread ELPA Syncer
branch: externals/consult-recoll
commit 3399c3232231d21d15e574e297dec3634bb4d452
Author: jao 
Commit: jao 

readme
---
 readme.org | 27 +--
 1 file changed, 13 insertions(+), 14 deletions(-)

diff --git a/readme.org b/readme.org
index 27da00ef91..2bc3d744b9 100644
--- a/readme.org
+++ b/readme.org
@@ -10,22 +10,21 @@ path.
   - See also the associated customization group for ways to tweak the
 command's behaviour (e.g., how the selected candidate is visited).
 
-* Tips
+*** Tips
+* Two-level filtering
 
-*** Two-level filtering
+  ~consult-recoll~ builds on the asychronous logic inside =consult.el=,
+  so you can use consult's handy 
[[https://github.com/minad/consult#asynchronous-search][two-level filtering]], 
which allows
+  searching over the results of a query. For example, if you start
+  typing
 
-~consult-recoll~ builds on the asychronous logic inside =consult.el=,
-so you can use consult's handy 
[[https://github.com/minad/consult#asynchronous-search][two-level filtering]], 
which allows
-searching over the results of a query. For example, if you start
-typing
+#goedel's theorem
 
-  #goedel's theorem
+  see a bunch of results, and want to narrow them to those lines
+  matching, say, "hofstadter", you can type ~#~ (which stops further
+  recoll queries) followed by the term you're interested in:
 
-see a bunch of results, and want to narrow them to those lines
-matching, say, "hofstadter", you can type ~#~ (which stops further
-recoll queries) followed by the term you're interested in:
+#goedel's theorem#hofstadter
 
-  #goedel's theorem#hofstadter
-
-at which point only matches containing "hofstadter" will be
-offered.
+  at which point only matches containing "hofstadter" will be
+  offered.



  1   2   >